annotate open-web-challenges.js @ 11:5cab1925bcda

changed slide down to fade in.
author Atul Varma <varmaa@toolness.com>
date Mon, 30 Mar 2009 23:35:23 -0700
parents 0caf4ac71ba8
children d1f83e9c0791
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
1 var OWC = {
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
2 _makeHintButton: function makeHintButton(hints) {
7
5b049b310795 Made hint button hit area smaller.
Atul Varma <varmaa@toolness.com>
parents: 4
diff changeset
3 var hintButtonContainer = $('<div class="hint-button"></div>');
5b049b310795 Made hint button hit area smaller.
Atul Varma <varmaa@toolness.com>
parents: 4
diff changeset
4 var hintButton = $('<span></span>');
0
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
5 hintButton.text($('#msg-show-first-hint').text());
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
6 hintButton.click(
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
7 function() {
1
fa2194344c43 Converted some double quotes to single quotes.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
8 hints.find('p:hidden:first').fadeIn();
fa2194344c43 Converted some double quotes to single quotes.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
9 if (hints.find('p:hidden').length)
0
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
10 $(this).text($('#msg-show-another-hint').text());
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
11 else
3
9b9d095c5d2c Changed some CSS styles, other cosmetic issues.
Atul Varma <varmaa@toolness.com>
parents: 2
diff changeset
12 $(this).text($('#msg-no-more-hints').text());
0
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
13 });
7
5b049b310795 Made hint button hit area smaller.
Atul Varma <varmaa@toolness.com>
parents: 4
diff changeset
14 hintButtonContainer.append(hintButton);
5b049b310795 Made hint button hit area smaller.
Atul Varma <varmaa@toolness.com>
parents: 4
diff changeset
15 return hintButtonContainer;
0
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
16 },
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
17
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
18 load: function load(id) {
1
fa2194344c43 Converted some double quotes to single quotes.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
19 var challenge = $('#challenge-' + id);
fa2194344c43 Converted some double quotes to single quotes.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
20 var content = challenge.find('.content').clone();
fa2194344c43 Converted some double quotes to single quotes.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
21 var current = $('#current-challenge');
0
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
22 current.empty();
4
24152e820405 Added a title header.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
23
24152e820405 Added a title header.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
24 var headerText = $('#msg-header').text().replace('{id}', id);
24152e820405 Added a title header.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
25 current.append($('<h1></h1>').text(headerText));
24152e820405 Added a title header.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
26 document.title = headerText;
24152e820405 Added a title header.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
27
0
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
28 current.append(content);
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
29
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
30 var hints = $('<div class="hints"></div>');
1
fa2194344c43 Converted some double quotes to single quotes.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
31 hints.append(challenge.find('.hints').clone());
fa2194344c43 Converted some double quotes to single quotes.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
32 hints.find('p').hide();
0
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
33 current.append(this._makeHintButton(hints));
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
34 current.append(hints);
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
35
1
fa2194344c43 Converted some double quotes to single quotes.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
36 var validatorCode = challenge.find('.validator').text();
0
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
37
1
fa2194344c43 Converted some double quotes to single quotes.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
38 var validate = eval('(' + validatorCode + ')');
0
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
39
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
40 function maybeDisplaySuccess() {
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
41 if (validate(current)) {
9
0caf4ac71ba8 Made success message easier to read.
Atul Varma <varmaa@toolness.com>
parents: 7
diff changeset
42 var success = $('<div id="success"></div>');
0
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
43 success.text($('#msg-success').text());
9
0caf4ac71ba8 Made success message easier to read.
Atul Varma <varmaa@toolness.com>
parents: 7
diff changeset
44 success.wrapInner('<h1></h1>');
0
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
45 success.hide();
9
0caf4ac71ba8 Made success message easier to read.
Atul Varma <varmaa@toolness.com>
parents: 7
diff changeset
46 current.children().addClass('completed');
0
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
47 current.append(success);
11
5cab1925bcda changed slide down to fade in.
Atul Varma <varmaa@toolness.com>
parents: 9
diff changeset
48 success.fadeIn('slow');
0
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
49 window.clearInterval(intervalId);
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
50 }
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
51 }
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
52 var intervalId = window.setInterval(maybeDisplaySuccess, 100);
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
53
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
54 current.fadeIn();
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
55 }
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
56 };
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
57
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
58 $(window).ready(
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
59 function() {
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
60 OWC.load(1);
4845b395874c Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
61 });