karmi-markout 0.1.3 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. data/README.rdoc +18 -3
  2. data/VERSION.yml +1 -1
  3. data/lib/markout/formatters/html/templates/common/code.css +1 -1
  4. data/lib/markout/formatters/html/templates/default/content.rhtml +1 -0
  5. data/lib/markout/formatters/html/templates/default/screen.css +15 -3
  6. data/lib/markout/revision.rb +13 -2
  7. metadata +13 -65
  8. data/test/fixtures/empty.txt +0 -0
  9. data/test/fixtures/empty_repository__dot__git/COMMIT_EDITMSG +0 -12
  10. data/test/fixtures/empty_repository__dot__git/HEAD +0 -1
  11. data/test/fixtures/empty_repository__dot__git/config +0 -6
  12. data/test/fixtures/empty_repository__dot__git/description +0 -1
  13. data/test/fixtures/empty_repository__dot__git/hooks/applypatch-msg.sample +0 -15
  14. data/test/fixtures/empty_repository__dot__git/hooks/commit-msg.sample +0 -24
  15. data/test/fixtures/empty_repository__dot__git/hooks/post-commit.sample +0 -8
  16. data/test/fixtures/empty_repository__dot__git/hooks/post-receive.sample +0 -15
  17. data/test/fixtures/empty_repository__dot__git/hooks/post-update.sample +0 -8
  18. data/test/fixtures/empty_repository__dot__git/hooks/pre-applypatch.sample +0 -14
  19. data/test/fixtures/empty_repository__dot__git/hooks/pre-commit.sample +0 -18
  20. data/test/fixtures/empty_repository__dot__git/hooks/pre-rebase.sample +0 -169
  21. data/test/fixtures/empty_repository__dot__git/hooks/prepare-commit-msg.sample +0 -36
  22. data/test/fixtures/empty_repository__dot__git/hooks/update.sample +0 -107
  23. data/test/fixtures/empty_repository__dot__git/index +0 -0
  24. data/test/fixtures/empty_repository__dot__git/info/exclude +0 -6
  25. data/test/fixtures/empty_repository__dot__git/logs/HEAD +0 -1
  26. data/test/fixtures/empty_repository__dot__git/logs/refs/heads/master +0 -1
  27. data/test/fixtures/empty_repository__dot__git/objects/25/877ea00eb8d2de7a31cf7c4c4c16f0390d48fd +0 -0
  28. data/test/fixtures/empty_repository__dot__git/objects/a0/b6af2541dce8f646276ec7340695c34c7578aa +0 -0
  29. data/test/fixtures/empty_repository__dot__git/objects/ec/9e2a7b50ee2dfd5e6f8b5224fb3d7a98a79558 +0 -0
  30. data/test/fixtures/empty_repository__dot__git/refs/heads/master +0 -1
  31. data/test/fixtures/markdown.html +0 -839
  32. data/test/fixtures/markdown.txt +0 -235
  33. data/test/fixtures/mt_textformat_menu.png +0 -0
@@ -1,36 +0,0 @@
1
- #!/bin/sh
2
- #
3
- # An example hook script to prepare the commit log message.
4
- # Called by git-commit with the name of the file that has the
5
- # commit message, followed by the description of the commit
6
- # message's source. The hook's purpose is to edit the commit
7
- # message file. If the hook fails with a non-zero status,
8
- # the commit is aborted.
9
- #
10
- # To enable this hook, rename this file to "prepare-commit-msg".
11
-
12
- # This hook includes three examples. The first comments out the
13
- # "Conflicts:" part of a merge commit.
14
- #
15
- # The second includes the output of "git diff --name-status -r"
16
- # into the message, just before the "git status" output. It is
17
- # commented because it doesn't cope with --amend or with squashed
18
- # commits.
19
- #
20
- # The third example adds a Signed-off-by line to the message, that can
21
- # still be edited. This is rarely a good idea.
22
-
23
- case "$2,$3" in
24
- merge,)
25
- perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;;
26
-
27
- # ,|template,)
28
- # perl -i.bak -pe '
29
- # print "\n" . `git diff --cached --name-status -r`
30
- # if /^#/ && $first++ == 0' "$1" ;;
31
-
32
- *) ;;
33
- esac
34
-
35
- # SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
36
- # grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
@@ -1,107 +0,0 @@
1
- #!/bin/sh
2
- #
3
- # An example hook script to blocks unannotated tags from entering.
4
- # Called by git-receive-pack with arguments: refname sha1-old sha1-new
5
- #
6
- # To enable this hook, rename this file to "update".
7
- #
8
- # Config
9
- # ------
10
- # hooks.allowunannotated
11
- # This boolean sets whether unannotated tags will be allowed into the
12
- # repository. By default they won't be.
13
- # hooks.allowdeletetag
14
- # This boolean sets whether deleting tags will be allowed in the
15
- # repository. By default they won't be.
16
- # hooks.allowdeletebranch
17
- # This boolean sets whether deleting branches will be allowed in the
18
- # repository. By default they won't be.
19
- #
20
-
21
- # --- Command line
22
- refname="$1"
23
- oldrev="$2"
24
- newrev="$3"
25
-
26
- # --- Safety check
27
- if [ -z "$GIT_DIR" ]; then
28
- echo "Don't run this script from the command line." >&2
29
- echo " (if you want, you could supply GIT_DIR then run" >&2
30
- echo " $0 <ref> <oldrev> <newrev>)" >&2
31
- exit 1
32
- fi
33
-
34
- if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
35
- echo "Usage: $0 <ref> <oldrev> <newrev>" >&2
36
- exit 1
37
- fi
38
-
39
- # --- Config
40
- allowunannotated=$(git config --bool hooks.allowunannotated)
41
- allowdeletebranch=$(git config --bool hooks.allowdeletebranch)
42
- allowdeletetag=$(git config --bool hooks.allowdeletetag)
43
-
44
- # check for no description
45
- projectdesc=$(sed -e '1q' "$GIT_DIR/description")
46
- if [ -z "$projectdesc" -o "$projectdesc" = "Unnamed repository; edit this file to name it for gitweb." ]; then
47
- echo "*** Project description file hasn't been set" >&2
48
- exit 1
49
- fi
50
-
51
- # --- Check types
52
- # if $newrev is 0000...0000, it's a commit to delete a ref.
53
- if [ "$newrev" = "0000000000000000000000000000000000000000" ]; then
54
- newrev_type=delete
55
- else
56
- newrev_type=$(git-cat-file -t $newrev)
57
- fi
58
-
59
- case "$refname","$newrev_type" in
60
- refs/tags/*,commit)
61
- # un-annotated tag
62
- short_refname=${refname##refs/tags/}
63
- if [ "$allowunannotated" != "true" ]; then
64
- echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2
65
- echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2
66
- exit 1
67
- fi
68
- ;;
69
- refs/tags/*,delete)
70
- # delete tag
71
- if [ "$allowdeletetag" != "true" ]; then
72
- echo "*** Deleting a tag is not allowed in this repository" >&2
73
- exit 1
74
- fi
75
- ;;
76
- refs/tags/*,tag)
77
- # annotated tag
78
- ;;
79
- refs/heads/*,commit)
80
- # branch
81
- ;;
82
- refs/heads/*,delete)
83
- # delete branch
84
- if [ "$allowdeletebranch" != "true" ]; then
85
- echo "*** Deleting a branch is not allowed in this repository" >&2
86
- exit 1
87
- fi
88
- ;;
89
- refs/remotes/*,commit)
90
- # tracking branch
91
- ;;
92
- refs/remotes/*,delete)
93
- # delete tracking branch
94
- if [ "$allowdeletebranch" != "true" ]; then
95
- echo "*** Deleting a tracking branch is not allowed in this repository" >&2
96
- exit 1
97
- fi
98
- ;;
99
- *)
100
- # Anything else (is there anything else?)
101
- echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2
102
- exit 1
103
- ;;
104
- esac
105
-
106
- # --- Finished
107
- exit 0
@@ -1,6 +0,0 @@
1
- # git-ls-files --others --exclude-from=.git/info/exclude
2
- # Lines that start with '#' are comments.
3
- # For a project mostly in C, the following would be a good set of
4
- # exclude patterns (uncomment them if you want to use them):
5
- # *.[oa]
6
- # *~
@@ -1 +0,0 @@
1
- 0000000000000000000000000000000000000000 a0b6af2541dce8f646276ec7340695c34c7578aa Karel Minarik <karmi@karmi.cz> 1238762119 +0200 commit (initial): Initial commit to empty repository
@@ -1 +0,0 @@
1
- 0000000000000000000000000000000000000000 a0b6af2541dce8f646276ec7340695c34c7578aa Karel Minarik <karmi@karmi.cz> 1238762119 +0200 commit (initial): Initial commit to empty repository
@@ -1 +0,0 @@
1
- a0b6af2541dce8f646276ec7340695c34c7578aa
@@ -1,839 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
-
4
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
- <head>
6
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
7
-
8
- <title>Markdown</title>
9
-
10
- <style type="text/css" media="screen">/*
11
- = COLORS =
12
-
13
- Steel blue #d8dde3
14
- Black blue #172533
15
- Dark grey #525c66
16
- Ash grey #dfe2e5
17
- Live blue #1177DD
18
- Pale green face #b9cbdd
19
-
20
- */
21
-
22
- body {
23
- color: #222;
24
- background: #fafafa;
25
- font-family: Helvetica, sans-serif;
26
- font-size: 85%;
27
- line-height: 155%;
28
- margin: 0;
29
- /* padding: 0 5em;*/
30
- }
31
-
32
- .cleaner
33
- { clear: both; height: 0; line-height: 0; width: 0; border: 0; font-size: 1px; }
34
-
35
- #container {
36
- margin: 0 5em;
37
- }
38
-
39
- #history_header {
40
- color: #525c66;
41
- padding: 0.6em 5em 0em 1em;
42
- text-align: right;
43
- }
44
- #history_header p {
45
- padding: 0; margin: 0;
46
- }
47
-
48
- #history_header a {
49
- color: #525c66;
50
- }
51
- #history_header .new_revisions {
52
- color: #ff3d00;
53
- }
54
-
55
- #content {
56
- color: #172533;
57
- font-size: 1.1em;
58
- padding-bottom: 4em;
59
- margin: 7px auto;
60
- margin-bottom: 4em;
61
- border-top: 4px solid #172533;
62
- border-bottom: 4px solid #b9cbdd;
63
- }
64
-
65
- h1, h2, h3, h4, h5, h6 {
66
- color: #222;
67
- }
68
- h1, h2 {
69
- color: #172533;
70
- font-weight: normal;
71
- }
72
- h1 a, h2 a { color: #172533; }
73
-
74
- h1 {
75
- font-size: 2.25em;
76
- letter-spacing: -1px;
77
- margin: 1em 0 0.5em 0;
78
- }
79
-
80
- h2 {
81
- font-size: 1.5em;
82
- letter-spacing: -1px;
83
- padding: 1.15em 0 0 0;
84
- margin: 1.25em 0 0.25em 0;
85
- border-top: 4px solid #d8dde3;
86
- }
87
-
88
- h3 {
89
- color: #172533;
90
- font-size: 1.1em;
91
- font-weight:bold;
92
- margin: 1.8em 0 0.25em 0;
93
- letter-spacing:-1px;
94
- }
95
-
96
- h3 a {
97
- text-decoration:underline;
98
- }
99
-
100
- p {
101
- margin: 0 0 0.8em 0;
102
- }
103
-
104
- a {
105
- color: #172533;
106
- text-decoration:underline;
107
- }
108
- a:hover {
109
- color: #1177DD;
110
- text-decoration:underline;
111
- }
112
- a img {
113
- border:none;
114
- }
115
-
116
- code, pre, textarea, tt {
117
- font-family: "Monaco", "lucida console", "bitstream vera sans mono", monospace;
118
- font-size: 100%;
119
- }
120
- pre {
121
- color: #172533;
122
- background: #f5f9fc;
123
- font-size: 100%;
124
- line-height: 155%;
125
- border: 4px solid #dfe2e5;
126
- padding: 0.5em;
127
- white-space: pre-wrap; white-space: -moz-pre-wrap !important;
128
- }
129
-
130
- hr { display: none; }
131
-
132
- #history {
133
- margin-bottom: 2em;
134
- }
135
-
136
- #history h2,
137
- #history h3,
138
- #history h4 {
139
- border: none;
140
- }
141
-
142
- #history h2 {
143
- padding-bottom: 0.2em;
144
- padding-left: 0.5em;
145
- margin: 0;
146
- border-bottom: 2px solid #dfe2e5;
147
- }
148
-
149
- #history code {
150
- font-size: 80%;
151
- }
152
-
153
- #history .revision {
154
- border-bottom: 1px solid #dfe2e5;
155
- padding: 0.5em 0 0.5em 0;
156
- }
157
- #history .revision:hover,
158
- #history .revision.expanded {
159
- background-color: #dfe2e5;
160
- }
161
-
162
- #history .revision h4 {
163
- margin: 0;
164
- padding: 0 0 0 0.7em;
165
- }
166
- #history .revision.expanded h4 {
167
- }
168
-
169
- #history .revision .detail {
170
- margin: 0 4px 0 4px;
171
- padding: 0;
172
- }
173
-
174
- #history .revision pre {
175
- background: none;
176
- line-height: 120%;
177
- border: none;
178
- margin: 0;
179
- padding: 0 1em 0 1em;
180
- }
181
-
182
- #history .revision code {
183
- margin: 0;
184
- padding: 0;
185
- }
186
- </style>
187
- <style type="text/css" media="print">body
188
- { color: #000;
189
- background: #fff;
190
- font-size: 85%;
191
- font-family: Helvetica, sans-serif;
192
- margin: 0.5cm; }
193
-
194
- a
195
- { color: #000;
196
- text-decoration: underline; }
197
-
198
- a img
199
- { border: none; }
200
-
201
- h2 {
202
- font-size: 1.5em;
203
- letter-spacing: -0.05em;
204
- padding: 1.15em 0 0 0;
205
- margin: 1.25em 0 0.25em 0;
206
- border-top: 1mm solid #999;
207
- }
208
-
209
- h3 {
210
- font-size: 1.1em;
211
- font-weight:bold;
212
- margin: 1.8em 0 0.25em 0;
213
- letter-spacing: -0.05em;
214
- }
215
-
216
- pre {
217
- border: 1pt solid #ccc;
218
- padding: 0.5em;
219
- white-space: pre-wrap; white-space: -moz-pre-wrap !important;
220
- }
221
- </style>
222
-
223
- <script type="text/javascript">/* Unobtrustive Code Highlighter By Dan Webb 11/2005
224
- Version: 0.4
225
-
226
- Usage:
227
- Add a script tag for this script and any stylesets you need to use
228
- to the page in question, add correct class names to CODE elements,
229
- define CSS styles for elements. That's it!
230
-
231
- Known to work on:
232
- IE 5.5+ PC
233
- Firefox/Mozilla PC/Mac
234
- Opera 7.23 + PC
235
- Safari 2
236
-
237
- Known to degrade gracefully on:
238
- IE5.0 PC
239
-
240
- Note: IE5.0 fails due to the use of lookahead in some stylesets. To avoid script errors
241
- in older browsers use expressions that use lookahead in string format when defining stylesets.
242
-
243
- This script is inspired by star-light by entirely cunning Dean Edwards
244
- http://dean.edwards.name/star-light/.
245
- */
246
-
247
- // replace callback support for safari.
248
- if ("a".replace(/a/, function() {return "b"}) != "b") (function(){
249
- var default_replace = String.prototype.replace;
250
- String.prototype.replace = function(search,replace){
251
- // replace is not function
252
- if(typeof replace != "function"){
253
- return default_replace.apply(this,arguments)
254
- }
255
- var str = "" + this;
256
- var callback = replace;
257
- // search string is not RegExp
258
- if(!(search instanceof RegExp)){
259
- var idx = str.indexOf(search);
260
- return (
261
- idx == -1 ? str :
262
- default_replace.apply(str,[search,callback(search, idx, str)])
263
- )
264
- }
265
- var reg = search;
266
- var result = [];
267
- var lastidx = reg.lastIndex;
268
- var re;
269
- while((re = reg.exec(str)) != null){
270
- var idx = re.index;
271
- var args = re.concat(idx, str);
272
- result.push(
273
- str.slice(lastidx,idx),
274
- callback.apply(null,args).toString()
275
- );
276
- if(!reg.global){
277
- lastidx += RegExp.lastMatch.length;
278
- break
279
- }else{
280
- lastidx = reg.lastIndex;
281
- }
282
- }
283
- result.push(str.slice(lastidx));
284
- return result.join("")
285
- }
286
- })();
287
-
288
- var CodeHighlighter = { styleSets : new Array };
289
-
290
- CodeHighlighter.addStyle = function(name, rules) {
291
- // using push test to disallow older browsers from adding styleSets
292
- if ([].push) this.styleSets.push({
293
- name : name,
294
- rules : rules,
295
- ignoreCase : arguments[2] || false
296
- })
297
-
298
- function setEvent() {
299
- // set highlighter to run on load (use LowPro if present)
300
- if (typeof Event != 'undefined' && typeof Event.onReady == 'function')
301
- return Event.onReady(CodeHighlighter.init.bind(CodeHighlighter));
302
-
303
- var old = window.onload;
304
-
305
- if (typeof window.onload != 'function') {
306
- window.onload = function() { CodeHighlighter.init() };
307
- } else {
308
- window.onload = function() {
309
- old();
310
- CodeHighlighter.init();
311
- }
312
- }
313
- }
314
-
315
- // only set the event when the first style is added
316
- if (this.styleSets.length==1) setEvent();
317
- }
318
-
319
- CodeHighlighter.init = function() {
320
- if (!document.getElementsByTagName) return;
321
- if ("a".replace(/a/, function() {return "b"}) != "b") return; // throw out Safari versions that don't support replace function
322
- // throw out older browsers
323
-
324
- var codeEls = document.getElementsByTagName("CODE");
325
- // collect array of all pre elements
326
- codeEls.filter = function(f) {
327
- var a = new Array;
328
- for (var i = 0; i < this.length; i++) if (f(this[i])) a[a.length] = this[i];
329
- return a;
330
- }
331
-
332
- var rules = new Array;
333
- rules.toString = function() {
334
- // joins regexes into one big parallel regex
335
- var exps = new Array;
336
- for (var i = 0; i < this.length; i++) exps.push(this[i].exp);
337
- return exps.join("|");
338
- }
339
-
340
- function addRule(className, rule) {
341
- // add a replace rule
342
- var exp = (typeof rule.exp != "string")?String(rule.exp).substr(1, String(rule.exp).length-2):rule.exp;
343
- // converts regex rules to strings and chops of the slashes
344
- rules.push({
345
- className : className,
346
- exp : "(" + exp + ")",
347
- length : (exp.match(/(^|[^\\])\([^?]/g) || "").length + 1, // number of subexps in rule
348
- replacement : rule.replacement || null
349
- });
350
- }
351
-
352
- function parse(text, ignoreCase) {
353
- // main text parsing and replacement
354
- return text.replace(new RegExp(rules, (ignoreCase)?"gi":"g"), function() {
355
- var i = 0, j = 1, rule;
356
- while (rule = rules[i++]) {
357
- if (arguments[j]) {
358
- // if no custom replacement defined do the simple replacement
359
- if (!rule.replacement) return "<span class=\"" + rule.className + "\">" + arguments[0] + "</span>";
360
- else {
361
- // replace $0 with the className then do normal replaces
362
- var str = rule.replacement.replace("$0", rule.className);
363
- for (var k = 1; k <= rule.length - 1; k++) str = str.replace("$" + k, arguments[j + k]);
364
- return str;
365
- }
366
- } else j+= rule.length;
367
- }
368
- });
369
- }
370
-
371
- function highlightCode(styleSet) {
372
- // clear rules array
373
- var parsed, clsRx = new RegExp("(\\s|^)" + styleSet.name + "(\\s|$)");
374
- rules.length = 0;
375
-
376
- // get stylable elements by filtering out all code elements without the correct className
377
- var stylableEls = codeEls.filter(function(item) { return clsRx.test(item.className) });
378
-
379
- // add style rules to parser
380
- for (var className in styleSet.rules) addRule(className, styleSet.rules[className]);
381
-
382
-
383
- // replace for all elements
384
- for (var i = 0; i < stylableEls.length; i++) {
385
- // EVIL hack to fix IE whitespace badness if it's inside a <pre>
386
- if (/MSIE/.test(navigator.appVersion) && stylableEls[i].parentNode.nodeName == 'PRE') {
387
- stylableEls[i] = stylableEls[i].parentNode;
388
-
389
- parsed = stylableEls[i].innerHTML.replace(/(<code[^>]*>)([^<]*)<\/code>/i, function() {
390
- return arguments[1] + parse(arguments[2], styleSet.ignoreCase) + "</code>"
391
- });
392
- parsed = parsed.replace(/\n( *)/g, function() {
393
- var spaces = "";
394
- for (var i = 0; i < arguments[1].length; i++) spaces+= "&nbsp;";
395
- return "\n" + spaces;
396
- });
397
- parsed = parsed.replace(/\t/g, "&nbsp;&nbsp;&nbsp;&nbsp;");
398
- parsed = parsed.replace(/\n(<\/\w+>)?/g, "<br />$1").replace(/<br \/>[\n\r\s]*<br \/>/g, "<p><br></p>");
399
-
400
- } else parsed = parse(stylableEls[i].innerHTML, styleSet.ignoreCase);
401
-
402
- stylableEls[i].innerHTML = parsed;
403
- }
404
- }
405
-
406
- // run highlighter on all stylesets
407
- for (var i=0; i < this.styleSets.length; i++) {
408
- highlightCode(this.styleSets[i]);
409
- }
410
- }</script><script type="text/javascript">CodeHighlighter.addStyle("diff",{
411
- ins : {
412
- exp : /\+[^\n]*/
413
- },
414
- del : {
415
- exp : /\-[^\n]*/
416
- }
417
- });</script><style type="text/css" media="screen">.diff ins,
418
- .diff .ins {
419
- color: green;
420
- }
421
-
422
- .diff del,
423
- .diff .del {
424
- color: red;
425
- }</style>
426
- <script type="text/javascript">/*
427
- * jQuery JavaScript Library v1.3.2
428
- * http://jquery.com/
429
- *
430
- * Copyright (c) 2009 John Resig
431
- * Dual licensed under the MIT and GPL licenses.
432
- * http://docs.jquery.com/License
433
- *
434
- * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
435
- * Revision: 6246
436
- */
437
- (function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
438
- /*
439
- * Sizzle CSS Selector Engine - v0.9.3
440
- * Copyright 2009, The Dojo Foundation
441
- * Released under the MIT, BSD, and GPL Licenses.
442
- * More information: http://sizzlejs.com/
443
- */
444
- (function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML=' <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();</script>
445
- <script type="text/javascript">// application.js
446
-
447
- if ("undefined" == typeof console) var console = { log : function(what) {} }
448
-
449
- // * Add initialize() handler
450
- $(document).ready( function() { try {Application.initialize()} catch(e) { alert('Error when initializing application! \n' + e); } });
451
-
452
-
453
- Application = {
454
-
455
- initialize: function(options) {
456
-
457
- this.options = options;
458
-
459
- Application.History.initialize();
460
-
461
- // # Debug
462
- // console.log(this);
463
- },
464
-
465
- // --------- History ----------------------------------------------------------------
466
- History : {
467
- initialize : function() {
468
- $('#history .revision').removeClass('expanded').find('.detail').hide();
469
- this.__expand_revision_from_location_hash();
470
- this.__add_handlers();
471
- },
472
- __add_handlers : function() {
473
- $('#history .revision').click( function() { Application.History.Revision.toggle_details($(this)); } )
474
- },
475
- __expand_revision_from_location_hash : function() {
476
- if (window.location.hash && window.location.hash != '') {
477
- var result = window.location.hash.match(/#revision_[a-z0-9]+/);
478
- if (result) { this.Revision.__show_details(result[0]); }
479
- }
480
- },
481
-
482
- Revision : {
483
- active : null,
484
- toggle_details : function(element) {
485
- var o = $(element);
486
- if ( 'undefined' == typeof o ) { return false; }
487
- if ( this.active && o.attr('id') == this.active.attr('id')) { Application.History.Revision.__update_location(); }
488
- if ( o.hasClass("expanded") ) {
489
- this.__hide_details(o);
490
- } else {
491
- this.__show_details(o);
492
- }
493
- },
494
- __hide_details : function(element) {
495
- var o = $(element);
496
- if ( 'undefined' == typeof o ) { return false; }
497
- o.removeClass('expanded').find('.detail').hide();
498
- },
499
- __show_details : function(element) {
500
- var o = $(element);
501
- if ( 'undefined' == typeof o ) { return false; }
502
- this.__hide_details(this.active);
503
- o.addClass('expanded').find('.detail').toggle('normal', function() { Application.History.Revision.__update_location(o) } );
504
- this.active = o;
505
- },
506
- __update_location : function(element) {
507
- if (element) {
508
- window.location.hash = "#" + $(element).attr('id');
509
- } else {
510
- window.location.hash = '#history';
511
- }
512
- }
513
- }
514
- }
515
-
516
- };</script>
517
-
518
- </head>
519
-
520
- <body>
521
-
522
-
523
-
524
- <div id="container">
525
-
526
- <div id="content">
527
- <h1>Markdown</h1>
528
-
529
- <h2>Download</h2>
530
-
531
- <p><a href="http://daringfireball.net/projects/downloads/Markdown_1.0.1.zip">Markdown 1.0.1</a> (18 KB) -- 17 Dec 2004</p>
532
-
533
- <h2>Introduction</h2>
534
-
535
- <p>Markdown is a text-to-HTML conversion tool for web writers. Markdown
536
- allows you to write using an easy-to-read, easy-to-write plain text
537
- format, then convert it to structurally valid XHTML (or HTML).</p>
538
-
539
- <p>Thus, "Markdown" is two things: (1) a plain text formatting syntax;
540
- and (2) a software tool, written in Perl, that converts the plain text
541
- formatting to HTML. See the <a href="/projects/markdown/syntax">Syntax</a> page for details pertaining to
542
- Markdown's formatting syntax. You can try it out, right now, using the
543
- online <a href="/projects/markdown/dingus">Dingus</a>.</p>
544
-
545
- <p>The overriding design goal for Markdown's formatting syntax is to make
546
- it as readable as possible. The idea is that a Markdown-formatted
547
- document should be publishable as-is, as plain text, without looking
548
- like it's been marked up with tags or formatting instructions. While
549
- Markdown's syntax has been influenced by several existing text-to-HTML
550
- filters, the single biggest source of inspiration for Markdown's
551
- syntax is the format of plain text email.</p>
552
-
553
- <p>The best way to get a feel for Markdown's formatting syntax is simply
554
- to look at a Markdown-formatted document. For example, you can view
555
- the Markdown source for the article text on this page here:
556
- <a href="http://daringfireball.net/projects/markdown/index.text">http://daringfireball.net/projects/markdown/index.text</a></p>
557
-
558
- <p>(You can use this '.text' suffix trick to view the Markdown source for
559
- the content of each of the pages in this section, e.g. the
560
- <a href="/projects/markdown/syntax.text">Syntax</a> and <a href="/projects/markdown/license.text">License</a> pages.)</p>
561
-
562
- <p>Markdown is free software, available under a BSD-style open source
563
- license. See the <a href="/projects/markdown/license">License</a> page for more information.</p>
564
-
565
- <h2>Discussion List <a id="discussion-list" /></h2>
566
-
567
- <p>I've set up a public <a href="http://six.pairlist.net/mailman/listinfo/markdown-discuss">mailing list for discussion about Markdown</a>.
568
- Any topic related to Markdown -- both its formatting syntax and
569
- its software -- is fair game for discussion. Anyone who is interested
570
- is welcome to join.</p>
571
-
572
- <p>It's my hope that the mailing list will lead to good ideas for future
573
- improvements to Markdown.</p>
574
-
575
- <h2>Installation and Requirements <a id="install" /></h2>
576
-
577
- <p>Markdown requires Perl 5.6.0 or later. Welcome to the 21st Century.
578
- Markdown also requires the standard Perl library module <a href="http://search.cpan.org/dist/Digest-MD5/MD5.pm">Digest::MD5</a>, which is probably already installed on your server.</p>
579
-
580
- <h3>Movable Type </h3>
581
-
582
- <p>Markdown works with Movable Type version 2.6 or later (including
583
- Movable Type 3.0).</p>
584
-
585
- <ol>
586
- <li><p>Copy the "Markdown.pl" file into your Movable Type "plugins"
587
- directory. The "plugins" directory should be in the same directory
588
- as "mt.cgi"; if the "plugins" directory doesn't already exist, use
589
- your FTP program to create it. Your installation should look like
590
- this:</p>
591
-
592
- <pre><code>(mt home)/plugins/Markdown.pl
593
- </code></pre></li>
594
- <li><p>Once installed, Markdown will appear as an option in Movable Type's
595
- Text Formatting pop-up menu. This is selectable on a per-post basis:</p>
596
-
597
- <p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAToAAACYCAMAAABDP9U/AAAABGdBTUEAANbY
598
- 1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAw
599
- UExURf////n5+fT09PHx8e3t7eXl5d3d3dTU1MfHx7i4uKampoyMjHZ2dmBg
600
- YElJSQUFBTRdP7YAABJHSURBVHja7F2JYqsgEPTgPv//b9/Mgkbz2jRtTHok
601
- 5BABEcbZBXTBob7cF91Qx2Hj5ubUy33oAN3wgu4F3fdC93JXuxd0L+i+Hzrz
602
- cte6F3Qv6F7QvaB7QfdyL+he0L2ge0F3nfPe4d9au/p/i/ug5Jegc3Dv5uvC
603
- dTD4nIJxKeNjbcTffat7XmIbL53QxSWZD/6zJb8Anc1w8awkqRcNWSVErvtm
604
- 690dkANKwQLkZEw6z/Bo5HiSbYneLtWKTlpRSufYfFjyS9Aljzx5MXqelnDa
605
- XkQv16zvW3OKWtMuheJhSB0TfP7OtIsp+821t+23K9HGb11uHhbNdWyuLvlF
606
- 1vkOX+alC9iQt3IZXcdJ9pMkaF4UFD9J2+QlxfUi8hJvq3YHl32MRopge2FT
607
- zMIeKaNNISYAllkK3+i0EAGFhly21FeV/APokCm+NmSc29pgud+zi/S55J31
608
- OGWSpP06t7Qd23bCBcx4V+g8y7nSrZUouiBeVsKmFDzqpT0BDDakjdy6tKS+
609
- ruQXBVZ0HbOHxvA5hkapFonLl7vAeiqKfqndKW3Po7OvX8xwV2UHSnmRFSlG
610
- Jx+9vRI2i/hEkEuCusA2BBG51OGqkl9kHeqvkW/TGDgXLt1GoQm5cB4U1uIq
611
- rpplSbu/dtH1yoX7IWfZGvYLil/bOHp7JQSWgGuLhphBrjHBEVGRq5b6upJ/
612
- 0Ex0RQAS+6b4AJNQPDqRUiuCIF5GQZdg1yGtSQt0oWuOduK76rqQOwKtGK1E
613
- QsBeCYEOkmqa7pFit2YCDEhx1yZ/WPIPdF0XdhSD/1EaACt6ITcVALUqzURr
614
- G8Buqmbf0raD5cLa3rb7nO7YKZZKAjfTisESuS4HrRKNUb6VPaalMVt0k16k
615
- 5qqSXzWaYBba2Cb7dtfAa+my9BDId49eU5mUw7aDeud+XXdrMd7oLp389r3o
616
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- TLXGV+1rtqla+Gy1tnpjEVQchnf62k8KOxdjOpR1pWboAjXXmoHiuGxRtRMg
624
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- PEhg51Mz8YbIKYxbiwM79NIxXnWUWkM4pG5DC0CnQWM3n2L6L9Ke1/YcTnLf
650
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- mmfVWIdfkmazcpYdWGnbdGMt8ww8GaaV3Nrr/RrxJCuTZzldITEg1wDobI1u
659
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- +SMYuUHHM2daCMUGLaDp6UJL0w4Q6FLbSGFzPxaE3e0/+LO8RGq7su4R0K3Y
697
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
705
- " alt="Screenshot of Movable Type 'Text Formatting' Menu" />
706
-
707
- <p>Markdown translates your posts to HTML when you publish; the posts
708
- themselves are stored in your MT database in Markdown format.</p></li>
709
- <li><p>If you also install SmartyPants 1.5 (or later), Markdown will
710
- offer a second text formatting option: "Markdown With
711
- SmartyPants". This option is the same as the regular "Markdown"
712
- formatter, except that it automatically uses SmartyPants to create
713
- typographically correct curly quotes, em-dashes, and ellipses. See
714
- the <a href="http://daringfireball.net/projects/smartypants/">SmartyPants web page</a> for more information.</p></li>
715
- <li><p>To make Markdown (or "Markdown With SmartyPants") your default
716
- text formatting option for new posts, go to Weblog Config:
717
- Preferences.</p></li>
718
- </ol>
719
-
720
-
721
- <p>Note that by default, Markdown produces XHTML output. To configure
722
- Markdown to produce HTML 4 output, see "Configuration", below.</p>
723
-
724
- <h3>Blosxom </h3>
725
-
726
- <p>Markdown works with Blosxom version 2.0 or later.</p>
727
-
728
- <ol>
729
- <li><p>Rename the "Markdown.pl" plug-in to "Markdown" (case is
730
- important). Movable Type requires plug-ins to have a ".pl"
731
- extension; Blosxom forbids it.</p></li>
732
- <li><p>Copy the "Markdown" plug-in file to your Blosxom plug-ins folder.
733
- If you're not sure where your Blosxom plug-ins folder is, see the
734
- Blosxom documentation for information.</p></li>
735
- <li><p>That's it. The entries in your weblog will now automatically be
736
- processed by Markdown.</p></li>
737
- <li><p>If you'd like to apply Markdown formatting only to certain
738
- posts, rather than all of them, Markdown can optionally be used in
739
- conjunction with Blosxom's <a href="http://www.blosxom.com/plugins/meta/meta.htm">Meta</a> plug-in. First, install the
740
- Meta plug-in. Next, open the Markdown plug-in file in a text
741
- editor, and set the configuration variable <code>$g_blosxom_use_meta</code>
742
- to 1. Then, simply include a "<code>meta-markup: Markdown</code>" header line
743
- at the top of each post you compose using Markdown.</p></li>
744
- </ol>
745
-
746
-
747
- <h3>BBEdit </h3>
748
-
749
- <p>Markdown works with BBEdit 6.1 or later on Mac OS X. It also works
750
- with BBEdit 5.1 or later and MacPerl 5.6.1 on Mac OS 8.6 or later. If
751
- you're running Mac OS X 10.2 (Jaguar), you may need to install the
752
- Perl module <a href="http://search.cpan.org/dist/Digest-MD5/MD5.pm">Digest::MD5</a> from CPAN; Digest::MD5 comes
753
- pre-installed on Mac OS X 10.3 (Panther).</p>
754
-
755
- <ol>
756
- <li><p>Copy the "Markdown.pl" file to appropriate filters folder in your
757
- "BBEdit Support" folder. On Mac OS X, this should be:</p>
758
-
759
- <pre><code>BBEdit Support/Unix Support/Unix Filters/
760
- </code></pre>
761
-
762
- <p>See the BBEdit documentation for more details on the location of
763
- these folders.</p>
764
-
765
- <p>You can rename "Markdown.pl" to whatever you wish.</p></li>
766
- <li><p>That's it. To use Markdown, select some text in a BBEdit document,
767
- then choose Markdown from the Filters sub-menu in the "#!" menu, or
768
- the Filters floating palette</p></li>
769
- </ol>
770
-
771
-
772
- <h2>Configuration <a id="configuration"></a></h2>
773
-
774
- <p>By default, Markdown produces XHTML output for tags with empty elements.
775
- E.g.:</p>
776
-
777
- <pre><code>&lt;br /&gt;
778
- </code></pre>
779
-
780
- <p>Markdown can be configured to produce HTML-style tags; e.g.:</p>
781
-
782
- <pre><code>&lt;br&gt;
783
- </code></pre>
784
-
785
- <h3>Movable Type </h3>
786
-
787
- <p>You need to use a special <code>MTMarkdownOptions</code> container tag in each
788
- Movable Type template where you want HTML 4-style output:</p>
789
-
790
- <pre><code>&lt;MTMarkdownOptions output='html4'&gt;
791
- ... put your entry content here ...
792
- &lt;/MTMarkdownOptions&gt;
793
- </code></pre>
794
-
795
- <p>The easiest way to use MTMarkdownOptions is probably to put the
796
- opening tag right after your <code>&lt;body&gt;</code> tag, and the closing tag right
797
- before <code>&lt;/body&gt;</code>.</p>
798
-
799
- <p>To suppress Markdown processing in a particular template, i.e. to
800
- publish the raw Markdown-formatted text without translation into
801
- (X)HTML, set the <code>output</code> attribute to 'raw':</p>
802
-
803
- <pre><code>&lt;MTMarkdownOptions output='raw'&gt;
804
- ... put your entry content here ...
805
- &lt;/MTMarkdownOptions&gt;
806
- </code></pre>
807
-
808
- <h3>Command-Line </h3>
809
-
810
- <p>Use the <code>--html4tags</code> command-line switch to produce HTML output from a
811
- Unix-style command line. E.g.:</p>
812
-
813
- <pre><code>% perl Markdown.pl --html4tags foo.text
814
- </code></pre>
815
-
816
- <p>Type <code>perldoc Markdown.pl</code>, or read the POD documentation within the
817
- Markdown.pl source code for more information.</p>
818
-
819
- <h2>Acknowledgements <a id="acknowledgements" /></h2>
820
-
821
- <p><a href="http://www.aaronsw.com/">Aaron Swartz</a> deserves a tremendous amount of credit for helping to
822
- design Markdown's formatting syntax. Markdown is <em>much</em> better thanks
823
- to Aaron's ideas, feedback, and testing. Also, Aaron's <a href="http://www.aaronsw.com/2002/html2text/">html2text</a>
824
- is a very handy (and free) utility for turning HTML into
825
- Markdown-formatted plain text.</p>
826
-
827
- <p><a href="http://bumppo.net/">Nathaniel Irons</a>, <a href="http://hivelogic.com/">Dan Benjamin</a>, <a href="http://waferbaby.com/">Daniel Bogan</a>, and <a href="http://pressedpants.com/">Jason Perkins</a>
828
- also deserve thanks for their feedback.</p>
829
-
830
- <p><a href="http://www.michelf.com/projects/php-markdown/">Michel Fortin</a> has ported Markdown to PHP; it's a splendid port, and highly recommended for anyone looking for a PHP implementation of Markdown.</p>
831
-
832
- </div><!-- /#content -->
833
-
834
-
835
-
836
- </div><!-- /container -->
837
-
838
- </body>
839
- </html>