showoff-alexch 0.7.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. data/LICENSE +20 -0
  2. data/README.rdoc +558 -0
  3. data/Rakefile +27 -0
  4. data/bin/showoff +197 -0
  5. data/lib/commandline_parser.rb +67 -0
  6. data/lib/showoff.rb +510 -0
  7. data/lib/showoff_utils.rb +344 -0
  8. data/public/css/960.css +653 -0
  9. data/public/css/fg.menu.css +114 -0
  10. data/public/css/onepage.css +60 -0
  11. data/public/css/pdf.css +12 -0
  12. data/public/css/presenter.css +76 -0
  13. data/public/css/reset.css +53 -0
  14. data/public/css/sh_style.css +66 -0
  15. data/public/css/showoff.css +399 -0
  16. data/public/css/spinner_bar.gif +0 -0
  17. data/public/css/theme/images/ui-bg_diagonals-small_100_f0efea_40x40.png +0 -0
  18. data/public/css/theme/images/ui-bg_flat_35_f0f0f0_40x100.png +0 -0
  19. data/public/css/theme/images/ui-bg_glass_55_fcf0ba_1x400.png +0 -0
  20. data/public/css/theme/images/ui-bg_glow-ball_25_2e2e28_600x600.png +0 -0
  21. data/public/css/theme/images/ui-bg_highlight-soft_100_f0efea_1x100.png +0 -0
  22. data/public/css/theme/images/ui-bg_highlight-soft_25_327E04_1x100.png +0 -0
  23. data/public/css/theme/images/ui-bg_highlight-soft_25_5A9D1A_1x100.png +0 -0
  24. data/public/css/theme/images/ui-bg_highlight-soft_95_ffedad_1x100.png +0 -0
  25. data/public/css/theme/images/ui-bg_inset-soft_22_3b3b35_1x100.png +0 -0
  26. data/public/css/theme/images/ui-icons_808080_256x240.png +0 -0
  27. data/public/css/theme/images/ui-icons_8DC262_256x240.png +0 -0
  28. data/public/css/theme/images/ui-icons_cd0a0a_256x240.png +0 -0
  29. data/public/css/theme/images/ui-icons_e7e6e4_256x240.png +0 -0
  30. data/public/css/theme/images/ui-icons_eeeeee_256x240.png +0 -0
  31. data/public/css/theme/images/ui-icons_ffffff_256x240.png +0 -0
  32. data/public/css/theme/ui.accordion.css +9 -0
  33. data/public/css/theme/ui.all.css +2 -0
  34. data/public/css/theme/ui.base.css +9 -0
  35. data/public/css/theme/ui.core.css +37 -0
  36. data/public/css/theme/ui.datepicker.css +62 -0
  37. data/public/css/theme/ui.dialog.css +13 -0
  38. data/public/css/theme/ui.progressbar.css +4 -0
  39. data/public/css/theme/ui.resizable.css +13 -0
  40. data/public/css/theme/ui.slider.css +17 -0
  41. data/public/css/theme/ui.tabs.css +9 -0
  42. data/public/css/theme/ui.theme.css +245 -0
  43. data/public/favicon.ico +0 -0
  44. data/public/js/coffee-script.js +8 -0
  45. data/public/js/core.js +79 -0
  46. data/public/js/fg.menu.js +645 -0
  47. data/public/js/jTypeWriter.js +26 -0
  48. data/public/js/jquery-1.4.2.min.js +154 -0
  49. data/public/js/jquery-print.js +109 -0
  50. data/public/js/jquery.batchImageLoad.js +56 -0
  51. data/public/js/jquery.cookie.js +96 -0
  52. data/public/js/jquery.cycle.all.js +1284 -0
  53. data/public/js/jquery.doubletap-0.1.js +105 -0
  54. data/public/js/jquery.uuid.js +24 -0
  55. data/public/js/jquery.ws-0.3pre.js +201 -0
  56. data/public/js/onepage.js +5 -0
  57. data/public/js/presenter.js +193 -0
  58. data/public/js/sh_lang/sh_bison.min.js +1 -0
  59. data/public/js/sh_lang/sh_c.min.js +1 -0
  60. data/public/js/sh_lang/sh_caml.min.js +1 -0
  61. data/public/js/sh_lang/sh_changelog.min.js +1 -0
  62. data/public/js/sh_lang/sh_coffeescript.min.js +1 -0
  63. data/public/js/sh_lang/sh_cpp.min.js +1 -0
  64. data/public/js/sh_lang/sh_csharp.min.js +1 -0
  65. data/public/js/sh_lang/sh_css.min.js +1 -0
  66. data/public/js/sh_lang/sh_cucumber.min.js +2 -0
  67. data/public/js/sh_lang/sh_desktop.min.js +1 -0
  68. data/public/js/sh_lang/sh_diff.min.js +1 -0
  69. data/public/js/sh_lang/sh_erlang.min.js +1 -0
  70. data/public/js/sh_lang/sh_flex.min.js +1 -0
  71. data/public/js/sh_lang/sh_glsl.min.js +1 -0
  72. data/public/js/sh_lang/sh_haxe.min.js +1 -0
  73. data/public/js/sh_lang/sh_html.min.js +1 -0
  74. data/public/js/sh_lang/sh_java.min.js +1 -0
  75. data/public/js/sh_lang/sh_javascript.min.js +1 -0
  76. data/public/js/sh_lang/sh_javascript_dom.min.js +1 -0
  77. data/public/js/sh_lang/sh_latex.min.js +1 -0
  78. data/public/js/sh_lang/sh_ldap.min.js +1 -0
  79. data/public/js/sh_lang/sh_log.min.js +1 -0
  80. data/public/js/sh_lang/sh_lsm.min.js +1 -0
  81. data/public/js/sh_lang/sh_m4.min.js +1 -0
  82. data/public/js/sh_lang/sh_makefile.min.js +1 -0
  83. data/public/js/sh_lang/sh_oracle.min.js +1 -0
  84. data/public/js/sh_lang/sh_pascal.min.js +1 -0
  85. data/public/js/sh_lang/sh_perl.min.js +1 -0
  86. data/public/js/sh_lang/sh_php.min.js +1 -0
  87. data/public/js/sh_lang/sh_prolog.min.js +1 -0
  88. data/public/js/sh_lang/sh_properties.min.js +1 -0
  89. data/public/js/sh_lang/sh_python.min.js +1 -0
  90. data/public/js/sh_lang/sh_ruby.min.js +1 -0
  91. data/public/js/sh_lang/sh_scala.min.js +1 -0
  92. data/public/js/sh_lang/sh_sh.min.js +1 -0
  93. data/public/js/sh_lang/sh_slang.min.js +1 -0
  94. data/public/js/sh_lang/sh_sml.min.js +1 -0
  95. data/public/js/sh_lang/sh_spec.min.js +1 -0
  96. data/public/js/sh_lang/sh_sql.min.js +1 -0
  97. data/public/js/sh_lang/sh_tcl.min.js +1 -0
  98. data/public/js/sh_lang/sh_xml.min.js +1 -0
  99. data/public/js/sh_lang/sh_xorg.min.js +1 -0
  100. data/public/js/sh_main.min.js +4 -0
  101. data/public/js/showoff.js +643 -0
  102. data/public/js/showoffcore.js +13 -0
  103. data/views/header.erb +40 -0
  104. data/views/index.erb +46 -0
  105. data/views/onepage.erb +34 -0
  106. data/views/presenter.erb +70 -0
  107. metadata +245 -0
@@ -0,0 +1,26 @@
1
+ // jTypeWriter, JQuery plugin
2
+ // v 1.1
3
+ // Licensed under GPL licenses.
4
+ // Copyright (C) 2008 Nikos "DuMmWiaM" Kontis, info@dummwiam.com
5
+ // http://www.DuMmWiaM.com/jTypeWriter
6
+ // ----------------------------------------------------------------------------
7
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ // of this software and associated documentation files (the "Software"), to deal
9
+ // in the Software without restriction, including without limitation the rights
10
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ // copies of the Software, and to permit persons to whom the Software is
12
+ // furnished to do so, subject to the following conditions:
13
+ //
14
+ // The above copyright notice and this permission notice shall be included in
15
+ // all copies or substantial portions of the Software.
16
+ //
17
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ // THE SOFTWARE.
24
+ // ----------------------------------------------------------------------------
25
+
26
+ eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(7($){$.u.v=7(b){5 c,8,w,r,x,A;5 d=$.W({},$.u.v.H,b);5 e=d.I*J;5 f=d.K.X();5 g=d.L;5 h=d.M;5 j=d.9;5 k=d.N;5 l=d.O;5 m=(f=="Y")?" ":".";5 n=P Q();5 o=0;y(i=0;i<q.p;i++){4(j){$(q[i]).9(j)}4(f=="s")n.R({3:$(q[i]),6:$(q[i]).9()});t n.R({3:$(q[i]),6:$(q[i]).9().Z(m)});4(!g)o=n[i].6.p>o?n[i].6.p:o;t o+=n[i].6.p;$(q[i]).9("")}B();7 B(){c=e/o;8=0;w=r=0;x=(!g)?C(S,c):C(T,c)};7 S(){8++;y(i=0;i<n.p;i++){5 a=n[i];4(a.6.p>=8){4(f=="s"){a.3.9(a.6.U(0,8))}t{a.3.z(a.6[8-1]);4(8<o){a.3.z(m)}}}}4(8>=o){D()}};7 T(){$3=n[w];4(f=="s"){$3.3.9($3.6.U(0,++r))}t{$3.3.z($3.6[r++]);4(r<$3.6.p)$3.3.z(m)}4(r>=$3.6.p){w++;r=0}8++;4(8>=o){D()}};7 D(){E(x);4(f!="s"){}4(k){4(l)A=C(V,l*J);t F()}h()};7 F(){y(i=0;i<n.p;i++){n[i].3.9("")}B()};7 V(){F();E(A)};7 G(){E(x);y(i=0;i<n.p;i++){n[i].3.9(n[i].6)}};q.G=G;10 q};$.u.v.H={I:2,K:"s",L:11,M:7(){},9:"",N:12,O:0};$.u.v.13={14:P Q()}})(15);',62,68,'|||obj|if|var|initialText|function|nIntervalCounter|text||||||||||||||||length|this|nSequentialCounterInternal|letter|else|fn|jTypeWriter|nSequentialCounter|nInterval|for|append|nLoopInterval|init|setInterval|circleEnd|clearInterval|newLoop|endEffect|defaults|duration|1000|type|sequential|onComplete|loop|loopDelay|new|Array|push|typerSimultaneous|typerSequential|substr|loopInterval|extend|toLowerCase|word|split|return|true|false|variables|aObjects|jQuery'.split('|'),0,{}))
@@ -0,0 +1,154 @@
1
+ /*!
2
+ * jQuery JavaScript Library v1.4.2
3
+ * http://jquery.com/
4
+ *
5
+ * Copyright 2010, John Resig
6
+ * Dual licensed under the MIT or GPL Version 2 licenses.
7
+ * http://jquery.org/license
8
+ *
9
+ * Includes Sizzle.js
10
+ * http://sizzlejs.com/
11
+ * Copyright 2010, The Dojo Foundation
12
+ * Released under the MIT, BSD, and GPL Licenses.
13
+ *
14
+ * Date: Sat Feb 13 22:33:48 2010 -0500
15
+ */
16
+ (function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
17
+ e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
18
+ j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
19
+ "&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
20
+ true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
21
+ Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
22
+ (d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
23
+ a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
24
+ "find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
25
+ function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
26
+ c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
27
+ L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
28
+ "isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
29
+ a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
30
+ d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
31
+ a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
32
+ !c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
33
+ true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
34
+ var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
35
+ parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
36
+ false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
37
+ s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
38
+ applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
39
+ else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
40
+ a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
41
+ w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
42
+ cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",
43
+ i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
44
+ " ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=
45
+ this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
46
+ e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
47
+ c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
48
+ a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
49
+ function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
50
+ k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
51
+ C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
52
+ null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=
53
+ e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
54
+ f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
55
+ if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
56
+ fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
57
+ d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
58
+ "events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=
59
+ a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,
60
+ isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=
61
+ {setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
62
+ if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
63
+ e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
64
+ "_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
65
+ d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&
66
+ !a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},
67
+ toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,
68
+ u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),
69
+ function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];
70
+ if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
71
+ e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
72
+ t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
73
+ g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];
74
+ for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
75
+ 1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
76
+ 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\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},
77
+ relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=
78
+ l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];
79
+ h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},
80
+ CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
81
+ g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},
82
+ text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},
83
+ setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
84
+ h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=
85
+ m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
86
+ "="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
87
+ h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||
88
+ !h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=
89
+ h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
90
+ q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";
91
+ if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
92
+ (function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
93
+ function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,
94
+ gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;
95
+ c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=
96
+ {},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a===
97
+ "string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",
98
+ d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?
99
+ a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===
100
+ 1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?
101
+ a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
102
+ c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
103
+ wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
104
+ prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
105
+ this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
106
+ return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
107
+ ""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&
108
+ this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||
109
+ u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===
110
+ 1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
111
+ return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
112
+ ""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
113
+ c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
114
+ c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
115
+ function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=
116
+ Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
117
+ "border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
118
+ a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
119
+ a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
120
+ "string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},
121
+ serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
122
+ function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,
123
+ global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&
124
+ e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?
125
+ "&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
126
+ false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
127
+ false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
128
+ c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
129
+ d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
130
+ g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
131
+ 1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===
132
+ "json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
133
+ if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");
134
+ this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],
135
+ "olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},
136
+ animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
137
+ j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);
138
+ this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===
139
+ "number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||
140
+ c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;
141
+ this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=
142
+ this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,
143
+ e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||
144
+ c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?
145
+ function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=
146
+ this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
147
+ k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
148
+ f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<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>";
149
+ a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);
150
+ c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
151
+ d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
152
+ f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
153
+ "pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
154
+ e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);
@@ -0,0 +1,109 @@
1
+ (function($) {
2
+
3
+ function print_array(obj, opts) {
4
+ var result = [];
5
+ for (var i = 0; i < Math.min(opts.max_array, obj.length); i++)
6
+ result.push($.print(obj[i], $.extend({}, opts, { max_array: 3, max_string: 40 })));
7
+
8
+ if (obj.length > opts.max_array)
9
+ result.push((obj.length - opts.max_array) + ' more...');
10
+ if (result.length == 0) return "[]"
11
+ return "[ " + result.join(", ") + " ]";
12
+ }
13
+
14
+ function print_element(obj) {
15
+ if (obj.nodeType == 1) {
16
+ var result = [];
17
+ var properties = [ 'className', 'id' ];
18
+ var extra = {
19
+ 'input': ['type', 'name', 'value'],
20
+ 'a': ['href', 'target'],
21
+ 'form': ['method', 'action'],
22
+ 'script': ['src'],
23
+ 'link': ['href'],
24
+ 'img': ['src']
25
+ };
26
+
27
+ $.each(properties.concat(extra[obj.tagName.toLowerCase()] || []), function(){
28
+ if (obj[this])
29
+ result.push(' ' + this.replace('className', 'class') + "=" + $.print(obj[this]))
30
+ });
31
+ return "<" + obj.tagName.toLowerCase()
32
+ + result.join('') + ">";
33
+ }
34
+ }
35
+
36
+ function print_object(obj, opts) {
37
+ var seen = opts.seen || [ obj ];
38
+
39
+ var result = [], key, value;
40
+ for (var k in obj) {
41
+ if (obj.hasOwnProperty(k) && $.inArray(obj[k], seen) < 0) {
42
+ seen.push(obj[k]);
43
+ value = $.print(obj[k], $.extend({}, opts, { max_array: 6, max_string: 40, seen: seen }));
44
+ } else
45
+ value = "...";
46
+ result.push(k + ": " + value);
47
+ }
48
+ if (result.length == 0) return "{}";
49
+ return "{ " + result.join(", ") + " }";
50
+ }
51
+
52
+ function print_string(value, opts) {
53
+ var character_substitutions = {
54
+ '\b': '\\b',
55
+ '\t': '\\t',
56
+ '\n': '\\n',
57
+ '\f': '\\f',
58
+ '\r': '\\r',
59
+ '"' : '\\"',
60
+ '\\': '\\\\'
61
+ };
62
+ var r = /["\\\x00-\x1f\x7f-\x9f]/g;
63
+
64
+ var str = r.test(value)
65
+ ? value.replace(r, function (a) {
66
+ var c = character_substitutions[a];
67
+ if (c) return c;
68
+ c = a.charCodeAt();
69
+ return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16);
70
+ })
71
+ : value ;
72
+ if (str.length > opts.max_string)
73
+ return str.slice(0, opts.max_string + 1) + '..."';
74
+ else
75
+ return str;
76
+ }
77
+
78
+ $.print = function(obj, options) {
79
+ var opts = $.extend({}, { max_array: 10, max_string: 100 }, options);
80
+
81
+ if (typeof obj == 'undefined')
82
+ return "undefined";
83
+ else if (typeof obj == 'boolean')
84
+ return obj.toString();
85
+ else if (typeof obj == 'number')
86
+ return obj.toString();
87
+ else if (!obj)
88
+ return "null";
89
+ else if (typeof obj == 'string')
90
+ return print_string(obj, opts);
91
+ else if (obj instanceof RegExp)
92
+ return obj.toString();
93
+ else if (obj instanceof Array || obj.callee || obj.item)
94
+ return print_array(obj, opts);
95
+ else if (typeof obj == 'function' || obj instanceof Function)
96
+ return obj.toString().match(/^([^)]*\))/)[1];
97
+ else if (obj.nodeType)
98
+ return print_element(obj);
99
+ else if (obj instanceof jQuery)
100
+ return "$(" + $.print(obj.get()) + ")";
101
+ else if (obj instanceof Error)
102
+ return print_object(obj, $.extend({}, options, { max_string: 200 }));
103
+ else if (obj instanceof Object)
104
+ return print_object(obj, opts);
105
+ else
106
+ return obj.toString().replace(/\n\s*/g, '');
107
+ }
108
+
109
+ })(jQuery);
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Plugin which is applied on a list of img objects and calls
3
+ * the specified callback function, only when all of them are loaded (or errored).
4
+ * @author: H. Yankov (hristo.yankov at gmail dot com)
5
+ * @version: 1.0.0 (Feb/22/2010)
6
+ * http://yankov.us
7
+ */
8
+
9
+ (function($) {
10
+ $.fn.batchImageLoad = function(options) {
11
+ var images = $(this);
12
+ var originalTotalImagesCount = images.size();
13
+ var totalImagesCount = originalTotalImagesCount;
14
+ var elementsLoaded = 0;
15
+
16
+ // Init
17
+ $.fn.batchImageLoad.defaults = {
18
+ loadingCompleteCallback: null,
19
+ imageLoadedCallback: null
20
+ }
21
+ var opts = $.extend({}, $.fn.batchImageLoad.defaults, options);
22
+
23
+ // Start
24
+ images.each(function() {
25
+ // The image has already been loaded (cached)
26
+ if ($(this)[0].complete) {
27
+ totalImagesCount--;
28
+ if (opts.imageLoadedCallback) opts.imageLoadedCallback(elementsLoaded, originalTotalImagesCount);
29
+ // The image is loading, so attach the listener
30
+ } else {
31
+ $(this).load(function() {
32
+ elementsLoaded++;
33
+
34
+ if (opts.imageLoadedCallback) opts.imageLoadedCallback(elementsLoaded, originalTotalImagesCount);
35
+
36
+ // An image has been loaded
37
+ if (elementsLoaded >= totalImagesCount)
38
+ if (opts.loadingCompleteCallback) opts.loadingCompleteCallback();
39
+ });
40
+ $(this).error(function() {
41
+ elementsLoaded++;
42
+
43
+ if (opts.imageLoadedCallback) opts.imageLoadedCallback(elementsLoaded, originalTotalImagesCount);
44
+
45
+ // The image has errored
46
+ if (elementsLoaded >= totalImagesCount)
47
+ if (opts.loadingCompleteCallback) opts.loadingCompleteCallback();
48
+ });
49
+ }
50
+ });
51
+
52
+ // There are no unloaded images
53
+ if (totalImagesCount <= 0)
54
+ if (opts.loadingCompleteCallback) opts.loadingCompleteCallback();
55
+ };
56
+ })(jQuery);
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Cookie plugin
3
+ *
4
+ * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
5
+ * Dual licensed under the MIT and GPL licenses:
6
+ * http://www.opensource.org/licenses/mit-license.php
7
+ * http://www.gnu.org/licenses/gpl.html
8
+ *
9
+ */
10
+
11
+ /**
12
+ * Create a cookie with the given name and value and other optional parameters.
13
+ *
14
+ * @example $.cookie('the_cookie', 'the_value');
15
+ * @desc Set the value of a cookie.
16
+ * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
17
+ * @desc Create a cookie with all available options.
18
+ * @example $.cookie('the_cookie', 'the_value');
19
+ * @desc Create a session cookie.
20
+ * @example $.cookie('the_cookie', null);
21
+ * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
22
+ * used when the cookie was set.
23
+ *
24
+ * @param String name The name of the cookie.
25
+ * @param String value The value of the cookie.
26
+ * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
27
+ * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
28
+ * If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
29
+ * If set to null or omitted, the cookie will be a session cookie and will not be retained
30
+ * when the the browser exits.
31
+ * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
32
+ * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
33
+ * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
34
+ * require a secure protocol (like HTTPS).
35
+ * @type undefined
36
+ *
37
+ * @name $.cookie
38
+ * @cat Plugins/Cookie
39
+ * @author Klaus Hartl/klaus.hartl@stilbuero.de
40
+ */
41
+
42
+ /**
43
+ * Get the value of a cookie with the given name.
44
+ *
45
+ * @example $.cookie('the_cookie');
46
+ * @desc Get the value of a cookie.
47
+ *
48
+ * @param String name The name of the cookie.
49
+ * @return The value of the cookie.
50
+ * @type String
51
+ *
52
+ * @name $.cookie
53
+ * @cat Plugins/Cookie
54
+ * @author Klaus Hartl/klaus.hartl@stilbuero.de
55
+ */
56
+ jQuery.cookie = function(name, value, options) {
57
+ if (typeof value != 'undefined') { // name and value given, set cookie
58
+ options = options || {};
59
+ if (value === null) {
60
+ value = '';
61
+ options.expires = -1;
62
+ }
63
+ var expires = '';
64
+ if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
65
+ var date;
66
+ if (typeof options.expires == 'number') {
67
+ date = new Date();
68
+ date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
69
+ } else {
70
+ date = options.expires;
71
+ }
72
+ expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
73
+ }
74
+ // CAUTION: Needed to parenthesize options.path and options.domain
75
+ // in the following expressions, otherwise they evaluate to undefined
76
+ // in the packed version for some reason...
77
+ var path = options.path ? '; path=' + (options.path) : '';
78
+ var domain = options.domain ? '; domain=' + (options.domain) : '';
79
+ var secure = options.secure ? '; secure' : '';
80
+ document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
81
+ } else { // only name given, get cookie
82
+ var cookieValue = null;
83
+ if (document.cookie && document.cookie != '') {
84
+ var cookies = document.cookie.split(';');
85
+ for (var i = 0; i < cookies.length; i++) {
86
+ var cookie = jQuery.trim(cookies[i]);
87
+ // Does this cookie string begin with the name we want?
88
+ if (cookie.substring(0, name.length + 1) == (name + '=')) {
89
+ cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
90
+ break;
91
+ }
92
+ }
93
+ }
94
+ return cookieValue;
95
+ }
96
+ };
@@ -0,0 +1,1284 @@
1
+ /*!
2
+ * jQuery Cycle Plugin (with Transition Definitions)
3
+ * Examples and documentation at: http://jquery.malsup.com/cycle/
4
+ * Copyright (c) 2007-2010 M. Alsup
5
+ * Version: 2.80 (05-MAR-2010)
6
+ * Dual licensed under the MIT and GPL licenses:
7
+ * http://www.opensource.org/licenses/mit-license.php
8
+ * http://www.gnu.org/licenses/gpl.html
9
+ * Requires: jQuery v1.2.6 or later
10
+ */
11
+ ;(function($) {
12
+
13
+ var ver = '2.80';
14
+
15
+ // if $.support is not defined (pre jQuery 1.3) add what I need
16
+ if ($.support == undefined) {
17
+ $.support = {
18
+ opacity: !($.browser.msie)
19
+ };
20
+ }
21
+
22
+ function debug(s) {
23
+ if ($.fn.cycle.debug)
24
+ log(s);
25
+ }
26
+ function log() {
27
+ if (window.console && window.console.log)
28
+ window.console.log('[cycle] ' + Array.prototype.join.call(arguments,' '));
29
+ };
30
+
31
+ // the options arg can be...
32
+ // a number - indicates an immediate transition should occur to the given slide index
33
+ // a string - 'pause', 'resume', 'toggle', 'next', 'prev', 'stop', 'destroy' or the name of a transition effect (ie, 'fade', 'zoom', etc)
34
+ // an object - properties to control the slideshow
35
+ //
36
+ // the arg2 arg can be...
37
+ // the name of an fx (only used in conjunction with a numeric value for 'options')
38
+ // the value true (only used in first arg == 'resume') and indicates
39
+ // that the resume should occur immediately (not wait for next timeout)
40
+
41
+ $.fn.cycle = function(options, arg2) {
42
+ var o = { s: this.selector, c: this.context };
43
+
44
+ // in 1.3+ we can fix mistakes with the ready state
45
+ if (this.length === 0 && options != 'stop') {
46
+ if (!$.isReady && o.s) {
47
+ log('DOM not ready, queuing slideshow');
48
+ $(function() {
49
+ $(o.s,o.c).cycle(options,arg2);
50
+ });
51
+ return this;
52
+ }
53
+ // is your DOM ready? http://docs.jquery.com/Tutorials:Introducing_$(document).ready()
54
+ log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)'));
55
+ return this;
56
+ }
57
+
58
+ // iterate the matched nodeset
59
+ return this.each(function() {
60
+ var opts = handleArguments(this, options, arg2);
61
+ if (opts === false)
62
+ return;
63
+
64
+ opts.updateActivePagerLink = opts.updateActivePagerLink || $.fn.cycle.updateActivePagerLink;
65
+
66
+ // stop existing slideshow for this container (if there is one)
67
+ if (this.cycleTimeout)
68
+ clearTimeout(this.cycleTimeout);
69
+ this.cycleTimeout = this.cyclePause = 0;
70
+
71
+ var $cont = $(this);
72
+ var $slides = opts.slideExpr ? $(opts.slideExpr, this) : $cont.children();
73
+ var els = $slides.get();
74
+ if (els.length < 2) {
75
+ log('terminating; too few slides: ' + els.length);
76
+ return;
77
+ }
78
+
79
+ var opts2 = buildOptions($cont, $slides, els, opts, o);
80
+ if (opts2 === false)
81
+ return;
82
+
83
+ var startTime = opts2.continuous ? 10 : getTimeout(opts2.currSlide, opts2.nextSlide, opts2, !opts2.rev);
84
+
85
+ // if it's an auto slideshow, kick it off
86
+ if (startTime) {
87
+ startTime += (opts2.delay || 0);
88
+ if (startTime < 10)
89
+ startTime = 10;
90
+ debug('first timeout: ' + startTime);
91
+ this.cycleTimeout = setTimeout(function(){go(els,opts2,0,!opts2.rev)}, startTime);
92
+ }
93
+ });
94
+ };
95
+
96
+ // process the args that were passed to the plugin fn
97
+ function handleArguments(cont, options, arg2) {
98
+ if (cont.cycleStop == undefined)
99
+ cont.cycleStop = 0;
100
+ if (options === undefined || options === null)
101
+ options = {};
102
+ if (options.constructor == String) {
103
+ switch(options) {
104
+ case 'destroy':
105
+ case 'stop':
106
+ var opts = $(cont).data('cycle.opts');
107
+ if (!opts)
108
+ return false;
109
+ cont.cycleStop++; // callbacks look for change
110
+ if (cont.cycleTimeout)
111
+ clearTimeout(cont.cycleTimeout);
112
+ cont.cycleTimeout = 0;
113
+ $(cont).removeData('cycle.opts');
114
+ if (options == 'destroy')
115
+ destroy(opts);
116
+ return false;
117
+ case 'toggle':
118
+ cont.cyclePause = (cont.cyclePause === 1) ? 0 : 1;
119
+ return false;
120
+ case 'pause':
121
+ cont.cyclePause = 1;
122
+ return false;
123
+ case 'resume':
124
+ cont.cyclePause = 0;
125
+ if (arg2 === true) { // resume now!
126
+ options = $(cont).data('cycle.opts');
127
+ if (!options) {
128
+ log('options not found, can not resume');
129
+ return false;
130
+ }
131
+ if (cont.cycleTimeout) {
132
+ clearTimeout(cont.cycleTimeout);
133
+ cont.cycleTimeout = 0;
134
+ }
135
+ go(options.elements, options, 1, 1);
136
+ }
137
+ return false;
138
+ case 'prev':
139
+ case 'next':
140
+ var opts = $(cont).data('cycle.opts');
141
+ if (!opts) {
142
+ log('options not found, "prev/next" ignored');
143
+ return false;
144
+ }
145
+ $.fn.cycle[options](opts);
146
+ return false;
147
+ default:
148
+ options = { fx: options };
149
+ };
150
+ return options;
151
+ }
152
+ else if (options.constructor == Number) {
153
+ // go to the requested slide
154
+ var num = options;
155
+ options = $(cont).data('cycle.opts');
156
+ if (!options) {
157
+ log('options not found, can not advance slide');
158
+ return false;
159
+ }
160
+ if (num < 0 || num >= options.elements.length) {
161
+ log('invalid slide index: ' + num);
162
+ return false;
163
+ }
164
+ options.nextSlide = num;
165
+ if (cont.cycleTimeout) {
166
+ clearTimeout(cont.cycleTimeout);
167
+ cont.cycleTimeout = 0;
168
+ }
169
+ if (typeof arg2 == 'string')
170
+ options.oneTimeFx = arg2;
171
+ go(options.elements, options, 1, num >= options.currSlide);
172
+ return false;
173
+ }
174
+ return options;
175
+ };
176
+
177
+ function removeFilter(el, opts) {
178
+ if (!$.support.opacity && opts.cleartype && el.style.filter) {
179
+ try { el.style.removeAttribute('filter'); }
180
+ catch(smother) {} // handle old opera versions
181
+ }
182
+ };
183
+
184
+ // unbind event handlers
185
+ function destroy(opts) {
186
+ if (opts.next)
187
+ $(opts.next).unbind(opts.prevNextEvent);
188
+ if (opts.prev)
189
+ $(opts.prev).unbind(opts.prevNextEvent);
190
+
191
+ if (opts.pager || opts.pagerAnchorBuilder)
192
+ $.each(opts.pagerAnchors || [], function() {
193
+ this.unbind().remove();
194
+ });
195
+ opts.pagerAnchors = null;
196
+ if (opts.destroy) // callback
197
+ opts.destroy(opts);
198
+ };
199
+
200
+ // one-time initialization
201
+ function buildOptions($cont, $slides, els, options, o) {
202
+ // support metadata plugin (v1.0 and v2.0)
203
+ var opts = $.extend({}, $.fn.cycle.defaults, options || {}, $.metadata ? $cont.metadata() : $.meta ? $cont.data() : {});
204
+ if (opts.autostop)
205
+ opts.countdown = opts.autostopCount || els.length;
206
+
207
+ var cont = $cont[0];
208
+ $cont.data('cycle.opts', opts);
209
+ opts.$cont = $cont;
210
+ opts.stopCount = cont.cycleStop;
211
+ opts.elements = els;
212
+ opts.before = opts.before ? [opts.before] : [];
213
+ opts.after = opts.after ? [opts.after] : [];
214
+ opts.after.unshift(function(){ opts.busy=0; });
215
+
216
+ // push some after callbacks
217
+ if (!$.support.opacity && opts.cleartype)
218
+ opts.after.push(function() { removeFilter(this, opts); });
219
+ if (opts.continuous)
220
+ opts.after.push(function() { go(els,opts,0,!opts.rev); });
221
+
222
+ saveOriginalOpts(opts);
223
+
224
+ // clearType corrections
225
+ if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
226
+ clearTypeFix($slides);
227
+
228
+ // container requires non-static position so that slides can be position within
229
+ if ($cont.css('position') == 'static')
230
+ $cont.css('position', 'relative');
231
+ if (opts.width)
232
+ $cont.width(opts.width);
233
+ if (opts.height && opts.height != 'auto')
234
+ $cont.height(opts.height);
235
+
236
+ if (opts.startingSlide)
237
+ opts.startingSlide = parseInt(opts.startingSlide);
238
+
239
+ // if random, mix up the slide array
240
+ if (opts.random) {
241
+ opts.randomMap = [];
242
+ for (var i = 0; i < els.length; i++)
243
+ opts.randomMap.push(i);
244
+ opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;});
245
+ opts.randomIndex = 1;
246
+ opts.startingSlide = opts.randomMap[1];
247
+ }
248
+ else if (opts.startingSlide >= els.length)
249
+ opts.startingSlide = 0; // catch bogus input
250
+ opts.currSlide = opts.startingSlide || 0;
251
+ var first = opts.startingSlide;
252
+
253
+ // set position and zIndex on all the slides
254
+ $slides.css({position: 'absolute', top:0, left:0}).hide().each(function(i) {
255
+ var z = first ? i >= first ? els.length - (i-first) : first-i : els.length-i;
256
+ $(this).css('z-index', z)
257
+ });
258
+
259
+ // make sure first slide is visible
260
+ $(els[first]).css('opacity',1).show(); // opacity bit needed to handle restart use case
261
+ removeFilter(els[first], opts);
262
+
263
+ // stretch slides
264
+ if (opts.fit && opts.width)
265
+ $slides.width(opts.width);
266
+ if (opts.fit && opts.height && opts.height != 'auto')
267
+ $slides.height(opts.height);
268
+
269
+ // stretch container
270
+ var reshape = opts.containerResize && !$cont.innerHeight();
271
+ if (reshape) { // do this only if container has no size http://tinyurl.com/da2oa9
272
+ var maxw = 0, maxh = 0;
273
+ for(var j=0; j < els.length; j++) {
274
+ var $e = $(els[j]), e = $e[0], w = $e.outerWidth(), h = $e.outerHeight();
275
+ if (!w) w = e.offsetWidth || e.width || $e.attr('width')
276
+ if (!h) h = e.offsetHeight || e.height || $e.attr('height');
277
+ maxw = w > maxw ? w : maxw;
278
+ maxh = h > maxh ? h : maxh;
279
+ }
280
+ if (maxw > 0 && maxh > 0)
281
+ $cont.css({width:maxw+'px',height:maxh+'px'});
282
+ }
283
+
284
+ if (opts.pause)
285
+ $cont.hover(function(){this.cyclePause++;},function(){this.cyclePause--;});
286
+
287
+ if (supportMultiTransitions(opts) === false)
288
+ return false;
289
+
290
+ // apparently a lot of people use image slideshows without height/width attributes on the images.
291
+ // Cycle 2.50+ requires the sizing info for every slide; this block tries to deal with that.
292
+ var requeue = false;
293
+ options.requeueAttempts = options.requeueAttempts || 0;
294
+ $slides.each(function() {
295
+ // try to get height/width of each slide
296
+ var $el = $(this);
297
+ this.cycleH = (opts.fit && opts.height) ? opts.height : ($el.height() || this.offsetHeight || this.height || $el.attr('height') || 0);
298
+ this.cycleW = (opts.fit && opts.width) ? opts.width : ($el.width() || this.offsetWidth || this.width || $el.attr('width') || 0);
299
+
300
+ if ( $el.is('img') ) {
301
+ // sigh.. sniffing, hacking, shrugging... this crappy hack tries to account for what browsers do when
302
+ // an image is being downloaded and the markup did not include sizing info (height/width attributes);
303
+ // there seems to be some "default" sizes used in this situation
304
+ var loadingIE = ($.browser.msie && this.cycleW == 28 && this.cycleH == 30 && !this.complete);
305
+ var loadingFF = ($.browser.mozilla && this.cycleW == 34 && this.cycleH == 19 && !this.complete);
306
+ var loadingOp = ($.browser.opera && ((this.cycleW == 42 && this.cycleH == 19) || (this.cycleW == 37 && this.cycleH == 17)) && !this.complete);
307
+ var loadingOther = (this.cycleH == 0 && this.cycleW == 0 && !this.complete);
308
+ // don't requeue for images that are still loading but have a valid size
309
+ if (loadingIE || loadingFF || loadingOp || loadingOther) {
310
+ if (o.s && opts.requeueOnImageNotLoaded && ++options.requeueAttempts < 100) { // track retry count so we don't loop forever
311
+ log(options.requeueAttempts,' - img slide not loaded, requeuing slideshow: ', this.src, this.cycleW, this.cycleH);
312
+ setTimeout(function() {$(o.s,o.c).cycle(options)}, opts.requeueTimeout);
313
+ requeue = true;
314
+ return false; // break each loop
315
+ }
316
+ else {
317
+ log('could not determine size of image: '+this.src, this.cycleW, this.cycleH);
318
+ }
319
+ }
320
+ }
321
+ return true;
322
+ });
323
+
324
+ if (requeue)
325
+ return false;
326
+
327
+ opts.cssBefore = opts.cssBefore || {};
328
+ opts.animIn = opts.animIn || {};
329
+ opts.animOut = opts.animOut || {};
330
+
331
+ $slides.not(':eq('+first+')').css(opts.cssBefore);
332
+ if (opts.cssFirst)
333
+ $($slides[first]).css(opts.cssFirst);
334
+
335
+ if (opts.timeout) {
336
+ opts.timeout = parseInt(opts.timeout);
337
+ // ensure that timeout and speed settings are sane
338
+ if (opts.speed.constructor == String)
339
+ opts.speed = $.fx.speeds[opts.speed] || parseInt(opts.speed);
340
+ if (!opts.sync)
341
+ opts.speed = opts.speed / 2;
342
+ while((opts.timeout - opts.speed) < 250) // sanitize timeout
343
+ opts.timeout += opts.speed;
344
+ }
345
+ if (opts.easing)
346
+ opts.easeIn = opts.easeOut = opts.easing;
347
+ if (!opts.speedIn)
348
+ opts.speedIn = opts.speed;
349
+ if (!opts.speedOut)
350
+ opts.speedOut = opts.speed;
351
+
352
+ opts.slideCount = els.length;
353
+ opts.currSlide = opts.lastSlide = first;
354
+ if (opts.random) {
355
+ if (++opts.randomIndex == els.length)
356
+ opts.randomIndex = 0;
357
+ opts.nextSlide = opts.randomMap[opts.randomIndex];
358
+ }
359
+ else
360
+ opts.nextSlide = opts.startingSlide >= (els.length-1) ? 0 : opts.startingSlide+1;
361
+
362
+ // run transition init fn
363
+ if (!opts.multiFx) {
364
+ var init = $.fn.cycle.transitions[opts.fx];
365
+ if ($.isFunction(init))
366
+ init($cont, $slides, opts);
367
+ else if (opts.fx != 'custom' && !opts.multiFx) {
368
+ log('unknown transition: ' + opts.fx,'; slideshow terminating');
369
+ return false;
370
+ }
371
+ }
372
+
373
+ // fire artificial events
374
+ var e0 = $slides[first];
375
+ if (opts.before.length)
376
+ opts.before[0].apply(e0, [e0, e0, opts, true]);
377
+ if (opts.after.length > 1)
378
+ opts.after[1].apply(e0, [e0, e0, opts, true]);
379
+
380
+ if (opts.next)
381
+ $(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?-1:1)});
382
+ if (opts.prev)
383
+ $(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?1:-1)});
384
+ if (opts.pager || opts.pagerAnchorBuilder)
385
+ buildPager(els,opts);
386
+
387
+ exposeAddSlide(opts, els);
388
+
389
+ return opts;
390
+ };
391
+
392
+ // save off original opts so we can restore after clearing state
393
+ function saveOriginalOpts(opts) {
394
+ opts.original = { before: [], after: [] };
395
+ opts.original.cssBefore = $.extend({}, opts.cssBefore);
396
+ opts.original.cssAfter = $.extend({}, opts.cssAfter);
397
+ opts.original.animIn = $.extend({}, opts.animIn);
398
+ opts.original.animOut = $.extend({}, opts.animOut);
399
+ $.each(opts.before, function() { opts.original.before.push(this); });
400
+ $.each(opts.after, function() { opts.original.after.push(this); });
401
+ };
402
+
403
+ function supportMultiTransitions(opts) {
404
+ var i, tx, txs = $.fn.cycle.transitions;
405
+ // look for multiple effects
406
+ if (opts.fx.indexOf(',') > 0) {
407
+ opts.multiFx = true;
408
+ opts.fxs = opts.fx.replace(/\s*/g,'').split(',');
409
+ // discard any bogus effect names
410
+ for (i=0; i < opts.fxs.length; i++) {
411
+ var fx = opts.fxs[i];
412
+ tx = txs[fx];
413
+ if (!tx || !txs.hasOwnProperty(fx) || !$.isFunction(tx)) {
414
+ log('discarding unknown transition: ',fx);
415
+ opts.fxs.splice(i,1);
416
+ i--;
417
+ }
418
+ }
419
+ // if we have an empty list then we threw everything away!
420
+ if (!opts.fxs.length) {
421
+ log('No valid transitions named; slideshow terminating.');
422
+ return false;
423
+ }
424
+ }
425
+ else if (opts.fx == 'all') { // auto-gen the list of transitions
426
+ opts.multiFx = true;
427
+ opts.fxs = [];
428
+ for (p in txs) {
429
+ tx = txs[p];
430
+ if (txs.hasOwnProperty(p) && $.isFunction(tx))
431
+ opts.fxs.push(p);
432
+ }
433
+ }
434
+ if (opts.multiFx && opts.randomizeEffects) {
435
+ // munge the fxs array to make effect selection random
436
+ var r1 = Math.floor(Math.random() * 20) + 30;
437
+ for (i = 0; i < r1; i++) {
438
+ var r2 = Math.floor(Math.random() * opts.fxs.length);
439
+ opts.fxs.push(opts.fxs.splice(r2,1)[0]);
440
+ }
441
+ debug('randomized fx sequence: ',opts.fxs);
442
+ }
443
+ return true;
444
+ };
445
+
446
+ // provide a mechanism for adding slides after the slideshow has started
447
+ function exposeAddSlide(opts, els) {
448
+ opts.addSlide = function(newSlide, prepend) {
449
+ var $s = $(newSlide), s = $s[0];
450
+ if (!opts.autostopCount)
451
+ opts.countdown++;
452
+ els[prepend?'unshift':'push'](s);
453
+ if (opts.els)
454
+ opts.els[prepend?'unshift':'push'](s); // shuffle needs this
455
+ opts.slideCount = els.length;
456
+
457
+ $s.css('position','absolute');
458
+ $s[prepend?'prependTo':'appendTo'](opts.$cont);
459
+
460
+ if (prepend) {
461
+ opts.currSlide++;
462
+ opts.nextSlide++;
463
+ }
464
+
465
+ if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
466
+ clearTypeFix($s);
467
+
468
+ if (opts.fit && opts.width)
469
+ $s.width(opts.width);
470
+ if (opts.fit && opts.height && opts.height != 'auto')
471
+ $slides.height(opts.height);
472
+ s.cycleH = (opts.fit && opts.height) ? opts.height : $s.height();
473
+ s.cycleW = (opts.fit && opts.width) ? opts.width : $s.width();
474
+
475
+ $s.css(opts.cssBefore);
476
+
477
+ if (opts.pager || opts.pagerAnchorBuilder)
478
+ $.fn.cycle.createPagerAnchor(els.length-1, s, $(opts.pager), els, opts);
479
+
480
+ if ($.isFunction(opts.onAddSlide))
481
+ opts.onAddSlide($s);
482
+ else
483
+ $s.hide(); // default behavior
484
+ };
485
+ }
486
+
487
+ // reset internal state; we do this on every pass in order to support multiple effects
488
+ $.fn.cycle.resetState = function(opts, fx) {
489
+ fx = fx || opts.fx;
490
+ opts.before = []; opts.after = [];
491
+ opts.cssBefore = $.extend({}, opts.original.cssBefore);
492
+ opts.cssAfter = $.extend({}, opts.original.cssAfter);
493
+ opts.animIn = $.extend({}, opts.original.animIn);
494
+ opts.animOut = $.extend({}, opts.original.animOut);
495
+ opts.fxFn = null;
496
+ $.each(opts.original.before, function() { opts.before.push(this); });
497
+ $.each(opts.original.after, function() { opts.after.push(this); });
498
+
499
+ // re-init
500
+ var init = $.fn.cycle.transitions[fx];
501
+ if ($.isFunction(init))
502
+ init(opts.$cont, $(opts.elements), opts);
503
+ };
504
+
505
+ // this is the main engine fn, it handles the timeouts, callbacks and slide index mgmt
506
+ function go(els, opts, manual, fwd) {
507
+ // opts.busy is true if we're in the middle of an animation
508
+ if (manual && opts.busy && opts.manualTrump) {
509
+ // let manual transitions requests trump active ones
510
+ $(els).stop(true,true);
511
+ opts.busy = false;
512
+ }
513
+ // don't begin another timeout-based transition if there is one active
514
+ if (opts.busy)
515
+ return;
516
+
517
+ var p = opts.$cont[0], curr = els[opts.currSlide], next = els[opts.nextSlide];
518
+
519
+ // stop cycling if we have an outstanding stop request
520
+ if (p.cycleStop != opts.stopCount || p.cycleTimeout === 0 && !manual)
521
+ return;
522
+
523
+ // check to see if we should stop cycling based on autostop options
524
+ if (!manual && !p.cyclePause &&
525
+ ((opts.autostop && (--opts.countdown <= 0)) ||
526
+ (opts.nowrap && !opts.random && opts.nextSlide < opts.currSlide))) {
527
+ if (opts.end)
528
+ opts.end(opts);
529
+ return;
530
+ }
531
+
532
+ // if slideshow is paused, only transition on a manual trigger
533
+ if ((manual || !p.cyclePause) && (opts.nextSlide != opts.currSlide)) {
534
+ var fx = opts.fx;
535
+ // keep trying to get the slide size if we don't have it yet
536
+ curr.cycleH = curr.cycleH || $(curr).height();
537
+ curr.cycleW = curr.cycleW || $(curr).width();
538
+ next.cycleH = next.cycleH || $(next).height();
539
+ next.cycleW = next.cycleW || $(next).width();
540
+
541
+ // support multiple transition types
542
+ if (opts.multiFx) {
543
+ if (opts.lastFx == undefined || ++opts.lastFx >= opts.fxs.length)
544
+ opts.lastFx = 0;
545
+ fx = opts.fxs[opts.lastFx];
546
+ opts.currFx = fx;
547
+ }
548
+
549
+ // one-time fx overrides apply to: $('div').cycle(3,'zoom');
550
+ if (opts.oneTimeFx) {
551
+ fx = opts.oneTimeFx;
552
+ opts.oneTimeFx = null;
553
+ }
554
+
555
+ $.fn.cycle.resetState(opts, fx);
556
+
557
+ // run the before callbacks
558
+ if (opts.before.length)
559
+ $.each(opts.before, function(i,o) {
560
+ if (p.cycleStop != opts.stopCount) return;
561
+ o.apply(next, [curr, next, opts, fwd]);
562
+ });
563
+
564
+ // stage the after callacks
565
+ var after = function() {
566
+ $.each(opts.after, function(i,o) {
567
+ if (p.cycleStop != opts.stopCount) return;
568
+ o.apply(next, [curr, next, opts, fwd]);
569
+ });
570
+ };
571
+
572
+ // get ready to perform the transition
573
+ opts.busy = 1;
574
+ if (opts.fxFn) // fx function provided?
575
+ opts.fxFn(curr, next, opts, after, fwd);
576
+ else if ($.isFunction($.fn.cycle[opts.fx])) // fx plugin ?
577
+ $.fn.cycle[opts.fx](curr, next, opts, after);
578
+ else
579
+ $.fn.cycle.custom(curr, next, opts, after, manual && opts.fastOnEvent);
580
+
581
+ // calculate the next slide
582
+ opts.lastSlide = opts.currSlide;
583
+ if (opts.random) {
584
+ opts.currSlide = opts.nextSlide;
585
+ if (++opts.randomIndex == els.length)
586
+ opts.randomIndex = 0;
587
+ opts.nextSlide = opts.randomMap[opts.randomIndex];
588
+ }
589
+ else { // sequence
590
+ var roll = (opts.nextSlide + 1) == els.length;
591
+ opts.nextSlide = roll ? 0 : opts.nextSlide+1;
592
+ opts.currSlide = roll ? els.length-1 : opts.nextSlide-1;
593
+ }
594
+
595
+ if (opts.pager)
596
+ opts.updateActivePagerLink(opts.pager, opts.currSlide, opts.activePagerClass);
597
+ }
598
+
599
+ // stage the next transition
600
+ var ms = 0;
601
+ if (opts.timeout && !opts.continuous)
602
+ ms = getTimeout(curr, next, opts, fwd);
603
+ else if (opts.continuous && p.cyclePause) // continuous shows work off an after callback, not this timer logic
604
+ ms = 10;
605
+ if (ms > 0)
606
+ p.cycleTimeout = setTimeout(function(){ go(els, opts, 0, !opts.rev) }, ms);
607
+ };
608
+
609
+ // invoked after transition
610
+ $.fn.cycle.updateActivePagerLink = function(pager, currSlide, clsName) {
611
+ $(pager).each(function() {
612
+ $(this).find('a').removeClass(clsName).filter('a:eq('+currSlide+')').addClass(clsName);
613
+ });
614
+ };
615
+
616
+ // calculate timeout value for current transition
617
+ function getTimeout(curr, next, opts, fwd) {
618
+ if (opts.timeoutFn) {
619
+ // call user provided calc fn
620
+ var t = opts.timeoutFn(curr,next,opts,fwd);
621
+ while ((t - opts.speed) < 250) // sanitize timeout
622
+ t += opts.speed;
623
+ debug('calculated timeout: ' + t + '; speed: ' + opts.speed);
624
+ if (t !== false)
625
+ return t;
626
+ }
627
+ return opts.timeout;
628
+ };
629
+
630
+ // expose next/prev function, caller must pass in state
631
+ $.fn.cycle.next = function(opts) { advance(opts, opts.rev?-1:1); };
632
+ $.fn.cycle.prev = function(opts) { advance(opts, opts.rev?1:-1);};
633
+
634
+ // advance slide forward or back
635
+ function advance(opts, val) {
636
+ var els = opts.elements;
637
+ var p = opts.$cont[0], timeout = p.cycleTimeout;
638
+ if (timeout) {
639
+ clearTimeout(timeout);
640
+ p.cycleTimeout = 0;
641
+ }
642
+ if (opts.random && val < 0) {
643
+ // move back to the previously display slide
644
+ opts.randomIndex--;
645
+ if (--opts.randomIndex == -2)
646
+ opts.randomIndex = els.length-2;
647
+ else if (opts.randomIndex == -1)
648
+ opts.randomIndex = els.length-1;
649
+ opts.nextSlide = opts.randomMap[opts.randomIndex];
650
+ }
651
+ else if (opts.random) {
652
+ opts.nextSlide = opts.randomMap[opts.randomIndex];
653
+ }
654
+ else {
655
+ opts.nextSlide = opts.currSlide + val;
656
+ if (opts.nextSlide < 0) {
657
+ if (opts.nowrap) return false;
658
+ opts.nextSlide = els.length - 1;
659
+ }
660
+ else if (opts.nextSlide >= els.length) {
661
+ if (opts.nowrap) return false;
662
+ opts.nextSlide = 0;
663
+ }
664
+ }
665
+
666
+ if ($.isFunction(opts.prevNextClick))
667
+ opts.prevNextClick(val > 0, opts.nextSlide, els[opts.nextSlide]);
668
+ go(els, opts, 1, val>=0);
669
+ return false;
670
+ };
671
+
672
+ function buildPager(els, opts) {
673
+ var $p = $(opts.pager);
674
+ $.each(els, function(i,o) {
675
+ $.fn.cycle.createPagerAnchor(i,o,$p,els,opts);
676
+ });
677
+ opts.updateActivePagerLink(opts.pager, opts.startingSlide, opts.activePagerClass);
678
+ };
679
+
680
+ $.fn.cycle.createPagerAnchor = function(i, el, $p, els, opts) {
681
+ var a;
682
+ if ($.isFunction(opts.pagerAnchorBuilder))
683
+ a = opts.pagerAnchorBuilder(i,el);
684
+ else
685
+ a = '<a href="#">'+(i+1)+'</a>';
686
+
687
+ if (!a)
688
+ return;
689
+ var $a = $(a);
690
+ // don't reparent if anchor is in the dom
691
+ if ($a.parents('body').length === 0) {
692
+ var arr = [];
693
+ if ($p.length > 1) {
694
+ $p.each(function() {
695
+ var $clone = $a.clone(true);
696
+ $(this).append($clone);
697
+ arr.push($clone[0]);
698
+ });
699
+ $a = $(arr);
700
+ }
701
+ else {
702
+ $a.appendTo($p);
703
+ }
704
+ }
705
+
706
+ opts.pagerAnchors = opts.pagerAnchors || [];
707
+ opts.pagerAnchors.push($a);
708
+ $a.bind(opts.pagerEvent, function(e) {
709
+ e.preventDefault();
710
+ opts.nextSlide = i;
711
+ var p = opts.$cont[0], timeout = p.cycleTimeout;
712
+ if (timeout) {
713
+ clearTimeout(timeout);
714
+ p.cycleTimeout = 0;
715
+ }
716
+ if ($.isFunction(opts.pagerClick))
717
+ opts.pagerClick(opts.nextSlide, els[opts.nextSlide]);
718
+ go(els,opts,1,opts.currSlide < i); // trigger the trans
719
+ // return false;
720
+ });
721
+
722
+ if ( ! /^click/.test(opts.pagerEvent) && !opts.allowPagerClickBubble)
723
+ $a.bind('click.cycle', function(){return false;}); // supress click
724
+
725
+ if (opts.pauseOnPagerHover)
726
+ $a.hover(function() { opts.$cont[0].cyclePause++; }, function() { opts.$cont[0].cyclePause--; } );
727
+ };
728
+
729
+ // helper fn to calculate the number of slides between the current and the next
730
+ $.fn.cycle.hopsFromLast = function(opts, fwd) {
731
+ var hops, l = opts.lastSlide, c = opts.currSlide;
732
+ if (fwd)
733
+ hops = c > l ? c - l : opts.slideCount - l;
734
+ else
735
+ hops = c < l ? l - c : l + opts.slideCount - c;
736
+ return hops;
737
+ };
738
+
739
+ // fix clearType problems in ie6 by setting an explicit bg color
740
+ // (otherwise text slides look horrible during a fade transition)
741
+ function clearTypeFix($slides) {
742
+ function hex(s) {
743
+ s = parseInt(s).toString(16);
744
+ return s.length < 2 ? '0'+s : s;
745
+ };
746
+ function getBg(e) {
747
+ for ( ; e && e.nodeName.toLowerCase() != 'html'; e = e.parentNode) {
748
+ var v = $.css(e,'background-color');
749
+ if (v.indexOf('rgb') >= 0 ) {
750
+ var rgb = v.match(/\d+/g);
751
+ return '#'+ hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]);
752
+ }
753
+ if (v && v != 'transparent')
754
+ return v;
755
+ }
756
+ return '#ffffff';
757
+ };
758
+ $slides.each(function() { $(this).css('background-color', getBg(this)); });
759
+ };
760
+
761
+ // reset common props before the next transition
762
+ $.fn.cycle.commonReset = function(curr,next,opts,w,h,rev) {
763
+ $(opts.elements).not(curr).hide();
764
+ opts.cssBefore.opacity = 1;
765
+ opts.cssBefore.display = 'block';
766
+ if (w !== false && next.cycleW > 0)
767
+ opts.cssBefore.width = next.cycleW;
768
+ if (h !== false && next.cycleH > 0)
769
+ opts.cssBefore.height = next.cycleH;
770
+ opts.cssAfter = opts.cssAfter || {};
771
+ opts.cssAfter.display = 'none';
772
+ $(curr).css('zIndex',opts.slideCount + (rev === true ? 1 : 0));
773
+ $(next).css('zIndex',opts.slideCount + (rev === true ? 0 : 1));
774
+ };
775
+
776
+ // the actual fn for effecting a transition
777
+ $.fn.cycle.custom = function(curr, next, opts, cb, speedOverride) {
778
+ var $l = $(curr), $n = $(next);
779
+ var speedIn = opts.speedIn, speedOut = opts.speedOut, easeIn = opts.easeIn, easeOut = opts.easeOut;
780
+ $n.css(opts.cssBefore);
781
+ if (speedOverride) {
782
+ if (typeof speedOverride == 'number')
783
+ speedIn = speedOut = speedOverride;
784
+ else
785
+ speedIn = speedOut = 1;
786
+ easeIn = easeOut = null;
787
+ }
788
+ var fn = function() {$n.animate(opts.animIn, speedIn, easeIn, cb)};
789
+ $l.animate(opts.animOut, speedOut, easeOut, function() {
790
+ if (opts.cssAfter) $l.css(opts.cssAfter);
791
+ if (!opts.sync) fn();
792
+ });
793
+ if (opts.sync) fn();
794
+ };
795
+
796
+ // transition definitions - only fade is defined here, transition pack defines the rest
797
+ $.fn.cycle.transitions = {
798
+ fade: function($cont, $slides, opts) {
799
+ $slides.not(':eq('+opts.currSlide+')').css('opacity',0);
800
+ opts.before.push(function(curr,next,opts) {
801
+ $.fn.cycle.commonReset(curr,next,opts);
802
+ opts.cssBefore.opacity = 0;
803
+ });
804
+ opts.animIn = { opacity: 1 };
805
+ opts.animOut = { opacity: 0 };
806
+ opts.cssBefore = { top: 0, left: 0 };
807
+ }
808
+ };
809
+
810
+ $.fn.cycle.ver = function() { return ver; };
811
+
812
+ // override these globally if you like (they are all optional)
813
+ $.fn.cycle.defaults = {
814
+ fx: 'fade', // name of transition effect (or comma separated names, ex: fade,scrollUp,shuffle)
815
+ timeout: 4000, // milliseconds between slide transitions (0 to disable auto advance)
816
+ timeoutFn: null, // callback for determining per-slide timeout value: function(currSlideElement, nextSlideElement, options, forwardFlag)
817
+ continuous: 0, // true to start next transition immediately after current one completes
818
+ speed: 1000, // speed of the transition (any valid fx speed value)
819
+ speedIn: null, // speed of the 'in' transition
820
+ speedOut: null, // speed of the 'out' transition
821
+ next: null, // selector for element to use as click trigger for next slide
822
+ prev: null, // selector for element to use as click trigger for previous slide
823
+ prevNextClick: null, // callback fn for prev/next clicks: function(isNext, zeroBasedSlideIndex, slideElement)
824
+ prevNextEvent:'click.cycle',// event which drives the manual transition to the previous or next slide
825
+ pager: null, // selector for element to use as pager container
826
+ pagerClick: null, // callback fn for pager clicks: function(zeroBasedSlideIndex, slideElement)
827
+ pagerEvent: 'click.cycle', // name of event which drives the pager navigation
828
+ allowPagerClickBubble: false, // allows or prevents click event on pager anchors from bubbling
829
+ pagerAnchorBuilder: null, // callback fn for building anchor links: function(index, DOMelement)
830
+ before: null, // transition callback (scope set to element to be shown): function(currSlideElement, nextSlideElement, options, forwardFlag)
831
+ after: null, // transition callback (scope set to element that was shown): function(currSlideElement, nextSlideElement, options, forwardFlag)
832
+ end: null, // callback invoked when the slideshow terminates (use with autostop or nowrap options): function(options)
833
+ easing: null, // easing method for both in and out transitions
834
+ easeIn: null, // easing for "in" transition
835
+ easeOut: null, // easing for "out" transition
836
+ shuffle: null, // coords for shuffle animation, ex: { top:15, left: 200 }
837
+ animIn: null, // properties that define how the slide animates in
838
+ animOut: null, // properties that define how the slide animates out
839
+ cssBefore: null, // properties that define the initial state of the slide before transitioning in
840
+ cssAfter: null, // properties that defined the state of the slide after transitioning out
841
+ fxFn: null, // function used to control the transition: function(currSlideElement, nextSlideElement, options, afterCalback, forwardFlag)
842
+ height: 'auto', // container height
843
+ startingSlide: 0, // zero-based index of the first slide to be displayed
844
+ sync: 1, // true if in/out transitions should occur simultaneously
845
+ random: 0, // true for random, false for sequence (not applicable to shuffle fx)
846
+ fit: 0, // force slides to fit container
847
+ containerResize: 1, // resize container to fit largest slide
848
+ pause: 0, // true to enable "pause on hover"
849
+ pauseOnPagerHover: 0, // true to pause when hovering over pager link
850
+ autostop: 0, // true to end slideshow after X transitions (where X == slide count)
851
+ autostopCount: 0, // number of transitions (optionally used with autostop to define X)
852
+ delay: 0, // additional delay (in ms) for first transition (hint: can be negative)
853
+ slideExpr: null, // expression for selecting slides (if something other than all children is required)
854
+ cleartype: !$.support.opacity, // true if clearType corrections should be applied (for IE)
855
+ cleartypeNoBg: false, // set to true to disable extra cleartype fixing (leave false to force background color setting on slides)
856
+ nowrap: 0, // true to prevent slideshow from wrapping
857
+ fastOnEvent: 0, // force fast transitions when triggered manually (via pager or prev/next); value == time in ms
858
+ randomizeEffects: 1, // valid when multiple effects are used; true to make the effect sequence random
859
+ rev: 0, // causes animations to transition in reverse
860
+ manualTrump: true, // causes manual transition to stop an active transition instead of being ignored
861
+ requeueOnImageNotLoaded: true, // requeue the slideshow if any image slides are not yet loaded
862
+ requeueTimeout: 250, // ms delay for requeue
863
+ activePagerClass: 'activeSlide', // class name used for the active pager link
864
+ updateActivePagerLink: null // callback fn invoked to update the active pager link (adds/removes activePagerClass style)
865
+ };
866
+
867
+ })(jQuery);
868
+
869
+
870
+ /*!
871
+ * jQuery Cycle Plugin Transition Definitions
872
+ * This script is a plugin for the jQuery Cycle Plugin
873
+ * Examples and documentation at: http://malsup.com/jquery/cycle/
874
+ * Copyright (c) 2007-2008 M. Alsup
875
+ * Version: 2.72
876
+ * Dual licensed under the MIT and GPL licenses:
877
+ * http://www.opensource.org/licenses/mit-license.php
878
+ * http://www.gnu.org/licenses/gpl.html
879
+ */
880
+ (function($) {
881
+
882
+ //
883
+ // These functions define one-time slide initialization for the named
884
+ // transitions. To save file size feel free to remove any of these that you
885
+ // don't need.
886
+ //
887
+ $.fn.cycle.transitions.none = function($cont, $slides, opts) {
888
+ opts.fxFn = function(curr,next,opts,after){
889
+ opts.cssBefore = { top: 0, left: 0 };
890
+ $.fn.cycle.commonReset(curr,next,opts);
891
+ $(next).css(opts.cssBefore);
892
+ $(next).show();
893
+ $(curr).hide();
894
+ if (opts.cssAfter) $(curr).css(opts.cssAfter);
895
+ after();
896
+ };
897
+ }
898
+
899
+ // scrollUp/Down/Left/Right
900
+ $.fn.cycle.transitions.scrollUp = function($cont, $slides, opts) {
901
+ $cont.css('overflow','hidden');
902
+ opts.before.push($.fn.cycle.commonReset);
903
+ var h = $cont.height();
904
+ opts.cssBefore ={ top: h, left: 0 };
905
+ opts.cssFirst = { top: 0 };
906
+ opts.animIn = { top: 0 };
907
+ opts.animOut = { top: -h };
908
+ };
909
+ $.fn.cycle.transitions.scrollDown = function($cont, $slides, opts) {
910
+ $cont.css('overflow','hidden');
911
+ opts.before.push($.fn.cycle.commonReset);
912
+ var h = $cont.height();
913
+ opts.cssFirst = { top: 0 };
914
+ opts.cssBefore= { top: -h, left: 0 };
915
+ opts.animIn = { top: 0 };
916
+ opts.animOut = { top: h };
917
+ };
918
+ $.fn.cycle.transitions.scrollLeft = function($cont, $slides, opts) {
919
+ $cont.css('overflow','hidden');
920
+ opts.before.push($.fn.cycle.commonReset);
921
+ var w = $cont.width();
922
+ opts.cssFirst = { left: 0 };
923
+ opts.cssBefore= { left: w, top: 0 };
924
+ opts.animIn = { left: 0 };
925
+ opts.animOut = { left: 0-w };
926
+ };
927
+ $.fn.cycle.transitions.scrollRight = function($cont, $slides, opts) {
928
+ $cont.css('overflow','hidden');
929
+ opts.before.push($.fn.cycle.commonReset);
930
+ var w = $cont.width();
931
+ opts.cssFirst = { left: 0 };
932
+ opts.cssBefore= { left: -w, top: 0 };
933
+ opts.animIn = { left: 0 };
934
+ opts.animOut = { left: w };
935
+ };
936
+ $.fn.cycle.transitions.scrollHorz = function($cont, $slides, opts) {
937
+ $cont.css('overflow','hidden').width();
938
+ opts.before.push(function(curr, next, opts, fwd) {
939
+ $.fn.cycle.commonReset(curr,next,opts);
940
+ opts.cssBefore.left = fwd ? (next.cycleW-1) : (1-next.cycleW);
941
+ opts.animOut.left = fwd ? -curr.cycleW : curr.cycleW;
942
+ });
943
+ opts.cssFirst = { left: 0 };
944
+ opts.cssBefore= { top: 0 };
945
+ opts.animIn = { left: 0 };
946
+ opts.animOut = { top: 0 };
947
+ };
948
+ $.fn.cycle.transitions.scrollVert = function($cont, $slides, opts) {
949
+ $cont.css('overflow','hidden');
950
+ opts.before.push(function(curr, next, opts, fwd) {
951
+ $.fn.cycle.commonReset(curr,next,opts);
952
+ opts.cssBefore.top = fwd ? (1-next.cycleH) : (next.cycleH-1);
953
+ opts.animOut.top = fwd ? curr.cycleH : -curr.cycleH;
954
+ });
955
+ opts.cssFirst = { top: 0 };
956
+ opts.cssBefore= { left: 0 };
957
+ opts.animIn = { top: 0 };
958
+ opts.animOut = { left: 0 };
959
+ };
960
+
961
+ // slideX/slideY
962
+ $.fn.cycle.transitions.slideX = function($cont, $slides, opts) {
963
+ opts.before.push(function(curr, next, opts) {
964
+ $(opts.elements).not(curr).hide();
965
+ $.fn.cycle.commonReset(curr,next,opts,false,true);
966
+ opts.animIn.width = next.cycleW;
967
+ });
968
+ opts.cssBefore = { left: 0, top: 0, width: 0 };
969
+ opts.animIn = { width: 'show' };
970
+ opts.animOut = { width: 0 };
971
+ };
972
+ $.fn.cycle.transitions.slideY = function($cont, $slides, opts) {
973
+ opts.before.push(function(curr, next, opts) {
974
+ $(opts.elements).not(curr).hide();
975
+ $.fn.cycle.commonReset(curr,next,opts,true,false);
976
+ opts.animIn.height = next.cycleH;
977
+ });
978
+ opts.cssBefore = { left: 0, top: 0, height: 0 };
979
+ opts.animIn = { height: 'show' };
980
+ opts.animOut = { height: 0 };
981
+ };
982
+
983
+ // shuffle
984
+ $.fn.cycle.transitions.shuffle = function($cont, $slides, opts) {
985
+ var i, w = $cont.css('overflow', 'visible').width();
986
+ $slides.css({left: 0, top: 0});
987
+ opts.before.push(function(curr,next,opts) {
988
+ $.fn.cycle.commonReset(curr,next,opts,true,true,true);
989
+ });
990
+ // only adjust speed once!
991
+ if (!opts.speedAdjusted) {
992
+ opts.speed = opts.speed / 2; // shuffle has 2 transitions
993
+ opts.speedAdjusted = true;
994
+ }
995
+ opts.random = 0;
996
+ opts.shuffle = opts.shuffle || {left:-w, top:15};
997
+ opts.els = [];
998
+ for (i=0; i < $slides.length; i++)
999
+ opts.els.push($slides[i]);
1000
+
1001
+ for (i=0; i < opts.currSlide; i++)
1002
+ opts.els.push(opts.els.shift());
1003
+
1004
+ // custom transition fn (hat tip to Benjamin Sterling for this bit of sweetness!)
1005
+ opts.fxFn = function(curr, next, opts, cb, fwd) {
1006
+ var $el = fwd ? $(curr) : $(next);
1007
+ $(next).css(opts.cssBefore);
1008
+ var count = opts.slideCount;
1009
+ $el.animate(opts.shuffle, opts.speedIn, opts.easeIn, function() {
1010
+ var hops = $.fn.cycle.hopsFromLast(opts, fwd);
1011
+ for (var k=0; k < hops; k++)
1012
+ fwd ? opts.els.push(opts.els.shift()) : opts.els.unshift(opts.els.pop());
1013
+ if (fwd) {
1014
+ for (var i=0, len=opts.els.length; i < len; i++)
1015
+ $(opts.els[i]).css('z-index', len-i+count);
1016
+ }
1017
+ else {
1018
+ var z = $(curr).css('z-index');
1019
+ $el.css('z-index', parseInt(z)+1+count);
1020
+ }
1021
+ $el.animate({left:0, top:0}, opts.speedOut, opts.easeOut, function() {
1022
+ $(fwd ? this : curr).hide();
1023
+ if (cb) cb();
1024
+ });
1025
+ });
1026
+ };
1027
+ opts.cssBefore = { display: 'block', opacity: 1, top: 0, left: 0 };
1028
+ };
1029
+
1030
+ // turnUp/Down/Left/Right
1031
+ $.fn.cycle.transitions.turnUp = function($cont, $slides, opts) {
1032
+ opts.before.push(function(curr, next, opts) {
1033
+ $.fn.cycle.commonReset(curr,next,opts,true,false);
1034
+ opts.cssBefore.top = next.cycleH;
1035
+ opts.animIn.height = next.cycleH;
1036
+ });
1037
+ opts.cssFirst = { top: 0 };
1038
+ opts.cssBefore = { left: 0, height: 0 };
1039
+ opts.animIn = { top: 0 };
1040
+ opts.animOut = { height: 0 };
1041
+ };
1042
+ $.fn.cycle.transitions.turnDown = function($cont, $slides, opts) {
1043
+ opts.before.push(function(curr, next, opts) {
1044
+ $.fn.cycle.commonReset(curr,next,opts,true,false);
1045
+ opts.animIn.height = next.cycleH;
1046
+ opts.animOut.top = curr.cycleH;
1047
+ });
1048
+ opts.cssFirst = { top: 0 };
1049
+ opts.cssBefore = { left: 0, top: 0, height: 0 };
1050
+ opts.animOut = { height: 0 };
1051
+ };
1052
+ $.fn.cycle.transitions.turnLeft = function($cont, $slides, opts) {
1053
+ opts.before.push(function(curr, next, opts) {
1054
+ $.fn.cycle.commonReset(curr,next,opts,false,true);
1055
+ opts.cssBefore.left = next.cycleW;
1056
+ opts.animIn.width = next.cycleW;
1057
+ });
1058
+ opts.cssBefore = { top: 0, width: 0 };
1059
+ opts.animIn = { left: 0 };
1060
+ opts.animOut = { width: 0 };
1061
+ };
1062
+ $.fn.cycle.transitions.turnRight = function($cont, $slides, opts) {
1063
+ opts.before.push(function(curr, next, opts) {
1064
+ $.fn.cycle.commonReset(curr,next,opts,false,true);
1065
+ opts.animIn.width = next.cycleW;
1066
+ opts.animOut.left = curr.cycleW;
1067
+ });
1068
+ opts.cssBefore = { top: 0, left: 0, width: 0 };
1069
+ opts.animIn = { left: 0 };
1070
+ opts.animOut = { width: 0 };
1071
+ };
1072
+
1073
+ // zoom
1074
+ $.fn.cycle.transitions.zoom = function($cont, $slides, opts) {
1075
+ opts.before.push(function(curr, next, opts) {
1076
+ $.fn.cycle.commonReset(curr,next,opts,false,false,true);
1077
+ opts.cssBefore.top = next.cycleH/2;
1078
+ opts.cssBefore.left = next.cycleW/2;
1079
+ opts.animIn = { top: 0, left: 0, width: next.cycleW, height: next.cycleH };
1080
+ opts.animOut = { width: 0, height: 0, top: curr.cycleH/2, left: curr.cycleW/2 };
1081
+ });
1082
+ opts.cssFirst = { top:0, left: 0 };
1083
+ opts.cssBefore = { width: 0, height: 0 };
1084
+ };
1085
+
1086
+ // fadeZoom
1087
+ $.fn.cycle.transitions.fadeZoom = function($cont, $slides, opts) {
1088
+ opts.before.push(function(curr, next, opts) {
1089
+ $.fn.cycle.commonReset(curr,next,opts,false,false);
1090
+ opts.cssBefore.left = next.cycleW/2;
1091
+ opts.cssBefore.top = next.cycleH/2;
1092
+ opts.animIn = { top: 0, left: 0, width: next.cycleW, height: next.cycleH };
1093
+ });
1094
+ opts.cssBefore = { width: 0, height: 0 };
1095
+ opts.animOut = { opacity: 0 };
1096
+ };
1097
+
1098
+ // blindX
1099
+ $.fn.cycle.transitions.blindX = function($cont, $slides, opts) {
1100
+ var w = $cont.css('overflow','hidden').width();
1101
+ opts.before.push(function(curr, next, opts) {
1102
+ $.fn.cycle.commonReset(curr,next,opts);
1103
+ opts.animIn.width = next.cycleW;
1104
+ opts.animOut.left = curr.cycleW;
1105
+ });
1106
+ opts.cssBefore = { left: w, top: 0 };
1107
+ opts.animIn = { left: 0 };
1108
+ opts.animOut = { left: w };
1109
+ };
1110
+ // blindY
1111
+ $.fn.cycle.transitions.blindY = function($cont, $slides, opts) {
1112
+ var h = $cont.css('overflow','hidden').height();
1113
+ opts.before.push(function(curr, next, opts) {
1114
+ $.fn.cycle.commonReset(curr,next,opts);
1115
+ opts.animIn.height = next.cycleH;
1116
+ opts.animOut.top = curr.cycleH;
1117
+ });
1118
+ opts.cssBefore = { top: h, left: 0 };
1119
+ opts.animIn = { top: 0 };
1120
+ opts.animOut = { top: h };
1121
+ };
1122
+ // blindZ
1123
+ $.fn.cycle.transitions.blindZ = function($cont, $slides, opts) {
1124
+ var h = $cont.css('overflow','hidden').height();
1125
+ var w = $cont.width();
1126
+ opts.before.push(function(curr, next, opts) {
1127
+ $.fn.cycle.commonReset(curr,next,opts);
1128
+ opts.animIn.height = next.cycleH;
1129
+ opts.animOut.top = curr.cycleH;
1130
+ });
1131
+ opts.cssBefore = { top: h, left: w };
1132
+ opts.animIn = { top: 0, left: 0 };
1133
+ opts.animOut = { top: h, left: w };
1134
+ };
1135
+
1136
+ // growX - grow horizontally from centered 0 width
1137
+ $.fn.cycle.transitions.growX = function($cont, $slides, opts) {
1138
+ opts.before.push(function(curr, next, opts) {
1139
+ $.fn.cycle.commonReset(curr,next,opts,false,true);
1140
+ opts.cssBefore.left = this.cycleW/2;
1141
+ opts.animIn = { left: 0, width: this.cycleW };
1142
+ opts.animOut = { left: 0 };
1143
+ });
1144
+ opts.cssBefore = { width: 0, top: 0 };
1145
+ };
1146
+ // growY - grow vertically from centered 0 height
1147
+ $.fn.cycle.transitions.growY = function($cont, $slides, opts) {
1148
+ opts.before.push(function(curr, next, opts) {
1149
+ $.fn.cycle.commonReset(curr,next,opts,true,false);
1150
+ opts.cssBefore.top = this.cycleH/2;
1151
+ opts.animIn = { top: 0, height: this.cycleH };
1152
+ opts.animOut = { top: 0 };
1153
+ });
1154
+ opts.cssBefore = { height: 0, left: 0 };
1155
+ };
1156
+
1157
+ // curtainX - squeeze in both edges horizontally
1158
+ $.fn.cycle.transitions.curtainX = function($cont, $slides, opts) {
1159
+ opts.before.push(function(curr, next, opts) {
1160
+ $.fn.cycle.commonReset(curr,next,opts,false,true,true);
1161
+ opts.cssBefore.left = next.cycleW/2;
1162
+ opts.animIn = { left: 0, width: this.cycleW };
1163
+ opts.animOut = { left: curr.cycleW/2, width: 0 };
1164
+ });
1165
+ opts.cssBefore = { top: 0, width: 0 };
1166
+ };
1167
+ // curtainY - squeeze in both edges vertically
1168
+ $.fn.cycle.transitions.curtainY = function($cont, $slides, opts) {
1169
+ opts.before.push(function(curr, next, opts) {
1170
+ $.fn.cycle.commonReset(curr,next,opts,true,false,true);
1171
+ opts.cssBefore.top = next.cycleH/2;
1172
+ opts.animIn = { top: 0, height: next.cycleH };
1173
+ opts.animOut = { top: curr.cycleH/2, height: 0 };
1174
+ });
1175
+ opts.cssBefore = { left: 0, height: 0 };
1176
+ };
1177
+
1178
+ // cover - curr slide covered by next slide
1179
+ $.fn.cycle.transitions.cover = function($cont, $slides, opts) {
1180
+ var d = opts.direction || 'left';
1181
+ var w = $cont.css('overflow','hidden').width();
1182
+ var h = $cont.height();
1183
+ opts.before.push(function(curr, next, opts) {
1184
+ $.fn.cycle.commonReset(curr,next,opts);
1185
+ if (d == 'right')
1186
+ opts.cssBefore.left = -w;
1187
+ else if (d == 'up')
1188
+ opts.cssBefore.top = h;
1189
+ else if (d == 'down')
1190
+ opts.cssBefore.top = -h;
1191
+ else
1192
+ opts.cssBefore.left = w;
1193
+ });
1194
+ opts.animIn = { left: 0, top: 0};
1195
+ opts.animOut = { opacity: 1 };
1196
+ opts.cssBefore = { top: 0, left: 0 };
1197
+ };
1198
+
1199
+ // uncover - curr slide moves off next slide
1200
+ $.fn.cycle.transitions.uncover = function($cont, $slides, opts) {
1201
+ var d = opts.direction || 'left';
1202
+ var w = $cont.css('overflow','hidden').width();
1203
+ var h = $cont.height();
1204
+ opts.before.push(function(curr, next, opts) {
1205
+ $.fn.cycle.commonReset(curr,next,opts,true,true,true);
1206
+ if (d == 'right')
1207
+ opts.animOut.left = w;
1208
+ else if (d == 'up')
1209
+ opts.animOut.top = -h;
1210
+ else if (d == 'down')
1211
+ opts.animOut.top = h;
1212
+ else
1213
+ opts.animOut.left = -w;
1214
+ });
1215
+ opts.animIn = { left: 0, top: 0 };
1216
+ opts.animOut = { opacity: 1 };
1217
+ opts.cssBefore = { top: 0, left: 0 };
1218
+ };
1219
+
1220
+ // toss - move top slide and fade away
1221
+ $.fn.cycle.transitions.toss = function($cont, $slides, opts) {
1222
+ var w = $cont.css('overflow','visible').width();
1223
+ var h = $cont.height();
1224
+ opts.before.push(function(curr, next, opts) {
1225
+ $.fn.cycle.commonReset(curr,next,opts,true,true,true);
1226
+ // provide default toss settings if animOut not provided
1227
+ if (!opts.animOut.left && !opts.animOut.top)
1228
+ opts.animOut = { left: w*2, top: -h/2, opacity: 0 };
1229
+ else
1230
+ opts.animOut.opacity = 0;
1231
+ });
1232
+ opts.cssBefore = { left: 0, top: 0 };
1233
+ opts.animIn = { left: 0 };
1234
+ };
1235
+
1236
+ // wipe - clip animation
1237
+ $.fn.cycle.transitions.wipe = function($cont, $slides, opts) {
1238
+ var w = $cont.css('overflow','hidden').width();
1239
+ var h = $cont.height();
1240
+ opts.cssBefore = opts.cssBefore || {};
1241
+ var clip;
1242
+ if (opts.clip) {
1243
+ if (/l2r/.test(opts.clip))
1244
+ clip = 'rect(0px 0px '+h+'px 0px)';
1245
+ else if (/r2l/.test(opts.clip))
1246
+ clip = 'rect(0px '+w+'px '+h+'px '+w+'px)';
1247
+ else if (/t2b/.test(opts.clip))
1248
+ clip = 'rect(0px '+w+'px 0px 0px)';
1249
+ else if (/b2t/.test(opts.clip))
1250
+ clip = 'rect('+h+'px '+w+'px '+h+'px 0px)';
1251
+ else if (/zoom/.test(opts.clip)) {
1252
+ var top = parseInt(h/2);
1253
+ var left = parseInt(w/2);
1254
+ clip = 'rect('+top+'px '+left+'px '+top+'px '+left+'px)';
1255
+ }
1256
+ }
1257
+
1258
+ opts.cssBefore.clip = opts.cssBefore.clip || clip || 'rect(0px 0px 0px 0px)';
1259
+
1260
+ var d = opts.cssBefore.clip.match(/(\d+)/g);
1261
+ var t = parseInt(d[0]), r = parseInt(d[1]), b = parseInt(d[2]), l = parseInt(d[3]);
1262
+
1263
+ opts.before.push(function(curr, next, opts) {
1264
+ if (curr == next) return;
1265
+ var $curr = $(curr), $next = $(next);
1266
+ $.fn.cycle.commonReset(curr,next,opts,true,true,false);
1267
+ opts.cssAfter.display = 'block';
1268
+
1269
+ var step = 1, count = parseInt((opts.speedIn / 13)) - 1;
1270
+ (function f() {
1271
+ var tt = t ? t - parseInt(step * (t/count)) : 0;
1272
+ var ll = l ? l - parseInt(step * (l/count)) : 0;
1273
+ var bb = b < h ? b + parseInt(step * ((h-b)/count || 1)) : h;
1274
+ var rr = r < w ? r + parseInt(step * ((w-r)/count || 1)) : w;
1275
+ $next.css({ clip: 'rect('+tt+'px '+rr+'px '+bb+'px '+ll+'px)' });
1276
+ (step++ <= count) ? setTimeout(f, 13) : $curr.css('display', 'none');
1277
+ })();
1278
+ });
1279
+ opts.cssBefore = { display: 'block', opacity: 1, top: 0, left: 0 };
1280
+ opts.animIn = { left: 0 };
1281
+ opts.animOut = { left: 0 };
1282
+ };
1283
+
1284
+ })(jQuery);