1/* 2 * jQuery JavaScript Library v1.3.2 3 * http://jquery.com/ 4 * 5 * Copyright (c) 2009 John Resig 6 * Dual licensed under the MIT and GPL licenses. 7 * http://docs.jquery.com/License 8 * 9 * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) 10 * Revision: 6246 11 */ 12(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})}
12,css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})}
12,remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?
120:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];
12if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); 13/* 14 * Sizzle CSS Selector Engine - v0.9.3 15 * Copyright 2009, The Dojo Foundation 16 * Released under the MIT, BSD, and GPL Licenses. 17 * More information: http://sizzlejs.com/ 18 */ 19(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*
19)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}
19if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCo
19de clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}
19o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML=' <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();
19if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["o
19pacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;
19if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.
19clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();; 20 21/** 22 * Override jQuery.fn.init to guard against XSS attacks. 23 * 24 * See http://bugs.jquery.com/ticket/9521 25 */ 26(function () { 27 var jquery_init = jQuery.fn.init; 28 jQuery.fn.init = function (selector, context, rootjQuery) { 29 // If the string contains a "#" before a "<", treat it as invali
29d HTML. 30 if (selector && typeof selector === 'string') { 31 var hash_position = selector.indexOf('#'); 32 if (hash_position >= 0) { 33 var bracket_position = selector.indexOf('<'); 34 if (bracket_position > hash_position) { 35 throw 'Syntax error, unrecognized expression: ' + selector; 36 } 37 } 38 } 39 return jquery_init.call(this, selector, context, rootjQuery); 40 }; 41 jQuery.fn.init.prototype = jquery_init.prototype; 42})(); 43 44var Drupal = Drupal || { 'settings': {}, 'behaviors': {}, 'themes': {}, 'locale': {} }; 45 46/** 47 * Set the variable that indicates if JavaScript behaviors should be applied 48 */ 49Drupal.jsEnabled = document.getElementsByTagName && document.createElement && document.createTextNode && document.documentElement && document.getElementById; 50 51/** 52 * Attach all registered behaviors to a page element. 53 * 54 * Behaviors are event-triggered actions that attach to page elements, enhancing 55 * default non-Javascript UIs. Behaviors are registered in the Drupal.behaviors 56 * object as follows: 57 * @code 58 * Drupal.behaviors.behaviorName = function () { 59 * ... 60 * }; 61 * @endcode 62 * 63 * Drupal.attachBehaviors is added below to the jQuery ready event and so 64 * runs on initial page load. Developers implementing AHAH/AJAX in their 65 * solutions should also call this function after new page content has been 66 * loaded, feeding in an element to be processed, in order to attach all 67 * behaviors to the new content. 68 * 69 * Behaviors should use a class in the form behaviorName-processed to ensure 70 * the behavior is attached only once to a given element. (Doing so enables 71 * the reprocessing of given elements, which may be needed on occasion despite 72 * the ability to limit behavior attachment to a particular element.) 73 * 74 * @param context 75 * An element to attach behaviors to. If none is given, the document element 76 * is used. 77 */ 78Drupal.attachBehaviors = function(context) { 79 context = context || document; 80 if (Drupal.jsEnabled) { 81 // Execute all of them. 82 jQuery.each(Drupal.behaviors, function() { 83 this(context); 84 }); 85 } 86}; 87 88/** 89 * Encode special characters in a plain-text string for display as HTML. 90 */ 91Drupal.checkPlain = function(str) { 92 str = String(str); 93 var replace = { '&': '&', '"': '"', '<': '<', '>': '>' }; 94 for (var character in replace) { 95 var regex = new RegExp(character, 'g'); 96 str = str.replace(regex, replace[character]); 97 } 98 return str; 99}; 100 101/** 102 * Translate strings to the page language or a given language. 103 * 104 * See the documentation of the server-side t() function for further details. 105 * 106 * @param str 107 * A string containing the English string to translate. 108 * @param args 109 * An object of replacements pairs to make after translation. Incidences 110 * of any key in this array are replaced with the corresponding value. 111 * Based on the first character of the key, the value is escaped and/or themed: 112 * - !variable: inserted as is 113 * - @variable: escape plain text to HTML (Drupal.checkPlain) 114 * - %variable: escape text and theme as a placeholder for user-submitted 115 * content (checkPlain + Drupal.theme('placeholder')) 116 * @return 117 * The translated string. 118 */ 119Drupal.t = function(str, args) { 120 // Fetch the localized version of the string. 121 if (Drupal.locale.strings && Drupal.locale.strings[str]) { 122 str = Drupal.locale.strings[str]; 123 } 124 125 if (args) { 126 // Transform arguments before inserting them 127 for (var key in args) { 128 switch (key.charAt(0)) { 129 // Escaped only 130 case '@': 131 args[key] = Drupal.checkPlain(args[key]); 132 break; 133 // Pass-through 134 case '!': 135 break; 136 // Escaped and placeholder 137 case '%': 138 default: 139 args[key] = Drupal.theme('placeholder', args[key]); 140 break; 141 } 142 str = str.replace(key, args[key]); 143 } 144 } 145 return str; 146}; 147 148/** 149 * Format a string containing a count of items. 150 * 151 * This function ensures that the string is pluralized correctly. Since Drupal.t() is 152 * called by this function, make sure not to pass already-localized strings to it. 153 * 154 * See the documentation of the server-side format_plural() function for further details. 155 * 156 * @param count 157 * The item count to display. 158 * @param singular 159 * The string for the singular case. Please make sure it is clear this is 160 * singular, to ease translation (e.g. use "1 new comment" instead of "1 new"). 161 * Do not use @count in the singular string. 162 * @param plural 163 * The string for the plural case. Please make sure it is clear this is plural, 164 * to ease translation. Use @count in place of the item count, as in "@count 165 * new comments". 166 * @param args 167 * An object of replacements pairs to make after translation. Incidences 168 * of any key in this array are replaced with the corresponding value. 169 * Based on the first character of the key, the value is escaped and/or themed: 170 * - !variable: inserted as is 171 * - @variable: escape plain text to HTML (Drupal.checkPlain) 172 * - %variable: escape text and theme as a placeholder for user-submitted 173 * content (checkPlain + Drupal.theme('placeholder')) 174 * Note that you do not need to include @count in this array.
175 * This replacement is done automatically for the plural case. 176 * @return 177 * A translated string. 178 */ 179Drupal.formatPlural = function(count, singular, plural, args) { 180 var args = args || {}; 181 args['@count'] = count; 182 // Determine the index of the plural form. 183 var index = Drupal.locale.pluralFormula ? Drupal.locale.pluralFormula(args['@count']) : ((args['@count'] == 1) ? 0 : 1); 184 185 if (index == 0) { 186 return Drupal.t(singular, args); 187 } 188 else if (index == 1) { 189 return Drupal.t(plural, args); 190 } 191 else { 192 args['@count['+ index +']'] = args['@count']; 193 delete args['@count']; 194 return Drupal.t(plural.replace('@count', '@count['+ index +']'), args); 195 } 196}; 197 198/** 199 * Generate the themed representation of a Drupal object. 200 * 201 * All requests for themed output must go through this function. It examines 202 * the request and routes it to the appropriate theme function. If the current 203 * theme does not provide an override function, the generic theme function is 204 * called. 205 * 206 * For example, to retrieve the HTML that is output by theme_placeholder(text), 207 * call Drupal.theme('placeholder', text). 208 * 209 * @param func 210 * The name of the theme function to call. 211 * @param ... 212 * Additional arguments to pass along to the theme function. 213 * @return 214 * Any data the theme function returns. This could be a plain HTML string, 215 * but also a complex object. 216 */ 217Drupal.theme = function(func) { 218 for (var i = 1, args = []; i < arguments.length; i++) { 219 args.push(arguments[i]); 220 } 221 222 return (Drupal.theme[func] || Drupal.theme.prototype[func]).apply(this, args); 223}; 224 225/** 226 * Parse a JSON response. 227 * 228 * The result is either the JSON object, or an object with 'status' 0 and 'data' an error message. 229 */ 230Drupal.parseJson = function (data) { 231 if ((data.substring(0, 1) != '{') && (data.substring(0, 1) != '[')) { 232 return { status: 0, data: data.length ? data : Drupal.t('Unspecified error') }; 233 } 234 return eval('(' + data + ');'); 235}; 236 237/** 238 * Freeze the current body height (as minimum height). Used to prevent 239 * unnecessary upwards scrolling when doing DOM manipulations. 240 */ 241Drupal.freezeHeight = function () { 242 Drupal.unfreezeHeight(); 243 var div = document.createElement('div'); 244 $(div).css({ 245 position: 'absolute', 246 top: '0px', 247 left: '0px', 248 width: '1px', 249 height: $('body').css('height') 250 }).attr('id', 'freeze-height'); 251 $('body').append(div); 252}; 253 254/** 255 * Unfreeze the body height 256 */ 257Drupal.unfreezeHeight = function () { 258 $('#freeze-height').remove(); 259}; 260 261/** 262 * Wrapper around encodeURIComponent() which avoids Apache quirks (equivalent of 263 * drupal_urlencode() in PHP). This function should only be used on paths, not 264 * on query string arguments. 265 */ 266Drupal.encodeURIComponent = function (item, uri) { 267 uri = uri || location.href; 268 item = encodeURIComponent(item).replace(/%2F/g, '/'); 269 return (uri.indexOf('?q=') != -1) ? item : item.replace(/%26/g, '%2526').replace(/%23/g, '%2523').replace(/\/\//g, '/%252F'); 270}; 271 272/** 273 * Get the text selection in a textarea. 274 */ 275Drupal.getSelection = function (element) { 276 if (typeof(element.selectionStart) != 'number' && document.selection) { 277 // The current selection 278 var range1 = document.selection.createRange(); 279 var range2 = range1.duplicate(); 280 // Select all text. 281 range2.moveToElementText(element); 282 // Now move 'dummy' end point to end point of original range. 283 range2.setEndPoint('EndToEnd', range1); 284 // Now we can calculate start and end points. 285 var start = range2.text.length - range1.text.length; 286 var end = start + range1.text.length; 287 return { 'start': start, 'end': end }; 288 } 289 return { 'start': element.selectionStart, 'end': element.selectionEnd }; 290}; 291 292/** 293 * Build an error message from ahah response. 294 */ 295Drupal.ahahError = function(xmlhttp, uri) { 296 if (xmlhttp.status == 200) { 297 if (jQuery.trim($(xmlhttp.responseText).text())) { 298 var message = Drupal.t("An error occurred. \n@uri\n@text", {'@uri': uri, '@text': xmlhttp.responseText }); 299 } 300 else { 301 var message = Drupal.t("An error occurred. \n@uri\n(no information available).", {'@uri': uri, '@text': xmlhttp.responseText }); 302 } 303 } 304 else { 305 var message = Drupal.t("An HTTP error @status occurred. \n@uri", {'@uri': uri, '@status': xmlhttp.status }); 306 } 307 return message; 308} 309 310// Global Killswitch on the <html> element 311if (Drupal.jsEnabled) { 312 // Global Killswitch on the <html> element 313 $(document.documentElement).addClass('js'); 314 // 'js enabled' cookie 315 document.cookie = 'has_js=1; path=/'; 316 // Attach all behaviors. 317 $(document).ready(function() { 318 Drupal.attachBehaviors(this); 319 }); 320} 321 322/** 323 * The default themes. 324 */ 325Drupal.theme.prototype = { 326 327 /** 328 * Formats text for emphasized display in a placeholder inside a sentence. 329 * 330 * @param str 331 * The text to format (plain-text). 332 * @return 333 * The formatted text (html). 334 */ 335 placeholder: function(str) { 336 return '<em>' + Drupal.checkPlain(str) + '</em>'; 337 } 338}; 339; 340Drupal.locale = { 'pluralFormula': function($n) { return Number((((($n%10)==1)&&(($n%100)!=11))?(0):((((($n%10)>=2)&&(($n%10)<=4))&&((($n%100)<10)||(($n%100)>=20)))?(1):2))); }, 'strings': { "Select all rows in this table": "ÐÑмеÑиÑÑ Ð²Ñе ÑÑÑоки ÑаблиÑÑ", "Deselect all rows in this table": "СнÑÑÑ Ð¾ÑмеÑÐºÑ Ñо вÑÐµÑ ÐºÐ¾Ð»Ð¾Ð½Ð¾Ðº ÑаблиÑÑ", "Join
340summary": "ÐбÑединиÑÑ Ð°Ð½Ð¾Ð½Ñ", "Split summary at cursor": "ÐÑделиÑÑ Ð°Ð½Ð¾Ð½Ñ Ð¾Ñ Ð¾Ñновного маÑеÑиала", "Unspecified error": "ÐеопÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð°Ñ Ð¾Ñибка", "An HTTP error @status occurred. \n@uri": "ÐÑоизоÑла HTTP оÑибка @status. \\n@uri", "Changes made in this table will not be saved until the form is submitted.": "СделаннÑе в ÑпиÑке Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ðµ вÑÑÑпÑÑ Ð² ÑилÑ, пока Ð²Ñ Ð½Ðµ ÑÐ¾Ñ ÑаниÑе Ð¸Ñ .", "Drag to re-order": "ÐеÑемеÑÑиÑе Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð¾ÑÑдка", "An error occurred. \n@uri\n@text": "Ðозникла оÑибка. \\n@uri\\n@text", "An error occurred. \n@uri\n(no information available).": "Ðозникла оÑибка. \r\n@uri\r\n(Ð½ÐµÑ Ð´Ð¾ÑÑÑпной инÑоÑмаÑии).", "Your server has been successfully tested to support this feature.": "ÐÐ°Ñ ÑеÑÐ²ÐµÑ Ð±Ñл ÑÑпеÑно пÑоÑеÑÑиÑован и Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑ ÑÑÑ ÑÑнкÑиÑ", "Your system configuration does not currently support this feature. The \x3ca href=\"http://drupal.org/node/15365\"\x3ehandbook page on Clean URLs\x3c/a\x3e has additional troubleshooting information.": "ÐонÑигÑÑаÑÐ¸Ñ Ð²Ð°Ñей ÑиÑÑÐµÐ¼Ñ Ð½Ð° даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð½Ðµ поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑÑой ÑÑнкÑии. ÐополниÑелÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð´Ð¾ÑÑÑпна на \x3ca href=\"http://drupal.org/node/15365\"\x3eÑÑÑаниÑÑ Ð´Ð¾ÐºÑменÑаÑии о Clean URLs\x3c/a\x3e.", "Testing clean URLs...": "ТеÑÑиÑование ÑиÑÑÑÑ URL-ов...", "Upload": "ÐагÑÑзиÑÑ", "Only files with the following extensions are allowed: %files-allowed.": "ÐÑикÑеплÑÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко ÑÐ°Ð¹Ð»Ñ Ñ ÑаÑÑиÑениÑми: %files-allowed.", "The changes to these blocks will not be saved until the \x3cem\x3eSave blocks\x3c/em\x3e button is clicked.": "ÐзменениÑ, ÑделаннÑе в Ð±Ð»Ð¾ÐºÐ°Ñ Ð½Ðµ вÑÑÑпÑÑ Ð² ÑÐ¸Ð»Ñ Ð¿Ð¾ÐºÐ° Ð²Ñ Ð½Ðµ нажмеÑе ÐºÐ½Ð¾Ð¿ÐºÑ \x3cem\x3eÐ¡Ð¾Ñ ÑаниÑÑ Ð±Ð»Ð¾ÐºÐ¸\x3c/em\x3e.", "Close": "ÐакÑÑÑÑ", "Inserting image into FCKeditor is allowed only in WYSIWYG mode": "ÐÑÑавка изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð² FCKeditor ÑазÑеÑена лиÑÑ Ð² Ñежиме WYSIWYG", "Removed": "Удалено", "Add image": "ÐобавиÑÑ Ð¸Ð·Ð¾Ð±Ñажение", "Click here to add images": "ÐажмиÑе, ÑÑÐ¾Ð±Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ Ð¸Ð·Ð¾Ð±ÑажениÑ", "%dirname is not a valid directory name. It should contain only alphanumeric characters, hyphen and underscore.": "%dirname - ÑÑо невеÑное Ð¸Ð¼Ñ Ð´Ð»Ñ Ð¿Ð°Ð¿ÐºÐ¸. Ðно должно ÑодеÑжаÑÑ ÑолÑко бÑквÑ, ÑиÑÑÑ, деÑиÑÑ Ð¸Ð»Ð¸ нижние подÑеÑкиваниÑ.", "Subdirectory %dir already exists.": "Ðодпапка %dir Ñже ÑÑÑеÑÑвÑеÑ.", "Subdirectory %dir does not exist.": "Ðапка %dir не ÑÑÑеÑÑвÑеÑ.", "You are not alllowed to create more than %num directories.": "Ðам запÑеÑено ÑоздаваÑÑ Ð¿Ð°Ð¿Ð¾Ðº болÑÑе %num.", "Manage directories": "УпÑавление папками", "Are you sure want to delete this subdirectory with all directories and files in it?": "ÐÑ ÑоÑно Ñ Ð¾ÑиÑе ÑдалиÑÑ ÑÑÑ Ð¿Ð¾Ð´Ð¿Ð°Ð¿ÐºÑ Ñо вÑем ÑодеÑжимÑм?", "Directory %dir is loaded.": "Ðапка %dir загÑÑжена.", "Directory %dir is empty.": "Ðапка %dir пÑÑÑаÑ.", "File browsing is disabled in directory %dir.": "ÐÑоÑмоÑÑ Ñайлов запÑеÑен Ð´Ð»Ñ Ð¿Ð°Ð¿ÐºÐ¸ %dir.", "Do you want to refresh the current directory?": "ÐÑ Ñ Ð¾ÑиÑе обновиÑÑ ÑекÑÑÑÑ Ð¿Ð°Ð¿ÐºÑ?", "Uploading %filename...": "ÐагÑÑзка %filename...", "Delete selected files?": "УдалиÑÑ Ð²ÑбÑаннÑе ÑайлÑ?", "Please select a thumbnail.": "ÐожалÑйÑÑа вÑбеÑиÑе пÑевÑÑ.", "Please select a single file.": "ÐожалÑйÑÑа, вÑбеÑиÑе Ñайл.", "You must select at least %num files.": "ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð²ÑбÑаÑÑ Ñ Ð¾ÑÑ Ð±Ñ %num Ñайлов.", "Resize": "ÐзмениÑÑ ÑазмеÑÑ", "unlimited": "нелимиÑиÑовано", "Please select a file.": "ÐожалÑйÑÑа вÑбеÑиÑе Ñайл.", "Send to @app": "ÐÑпÑавиÑÑ Ð´Ð»Ñ @app", "Create thumbnails": "СоздаÑÑ Ð¿ÑевÑÑ", "You are not allowed to operate on more than %num files.": "Ðам не ÑазÑеÑено ÑпÑавлÑÑÑ Ð±Ð¾Ð»ÑÑе Ñем Ñ %num Ñайлами.", "Please specify dimensions within the allowed range that is from 1x1 to @dimensions.": "ÐожалÑйÑÑа ÑкажиÑе ÑÐ°Ð·Ð¼ÐµÑ Ð²Ð½ÑÑÑи ÑазÑеÑÑнного диапозона Ð¾Ñ 1x1 до @dimensions.", "%filename is not an image.": "%filename не изобÑажение.", "Directory": "ÐаÑалог", "An error occurred at @path.": "ÐÑоизоÑла оÑибка в @path.", "The selected file %filename cannot be uploaded. Only files with the following extensions are allowed: %extensions.": "ÐÑбÑаннÑй Ñайл %filename не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð·Ð°Ð³ÑÑжен. Ðозможно загÑÑзка Ñайлов ÑолÑко Ñо ÑледÑÑÑими ÑаÑÑиÑениÑми: %extensions.", "Log messages": "СообÑÐµÐ½Ð¸Ñ Ð² лог", "You can not perform this operation.": "ÐÑ Ð½Ðµ можеÑе вÑполниÑÑ ÑÑÑ Ð¾Ð¿ÐµÑаÑиÑ.", "Insert file": "ÐÑÑавиÑÑ Ñайл", "jQuery UI Tabs: Mismatching fragment identifier.": "jQuery UI Tabs: Ðе ÑÐ¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑÐ¾Ñ ÑÑагменÑа.", "jQuery UI Tabs: Not enough arguments to add tab.": "jQuery UI Tabs: ÐедоÑÑаÑоÑно аÑгÑменÑов Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ¸.", "Internal server error. Please see server or PHP logs for error information.": "ÐнÑÑÑеннÑÑ ÑеÑвеÑÐ½Ð°Ñ Ð¾Ñибка. ÐожалÑйÑÑа, поÑмоÑÑиÑе лог оÑибок ÑеÑвеÑа или PHP.", "An error occurred at @path.\n\nError Description: @error": "ÐÑибка пÑоизоÑла в @path.\r\n\r\nÐпиÑание оÑибки: @error" } };; 341/** 342 * Modified Star Rating - jQuery plugin 343 * 344 * Copyright (c) 2006 Wil Stuckey 345 * 346 * Original source available: http://sandbox.wilstuckey.com/jquery-ratings/ 347 * Extensively modified by Lullabot: http://www.lullabot.com 348 * 349 * Dual licensed under the MIT and GPL licenses: 350 * http://www.opensource.org/licenses/mit-license.php 351 * http://www.gnu.org/licenses/gpl.html 352 */ 353 354/** 355 * Create a degradeable star rating interface out of a simple form structure.
356 * Returns a modified jQuery object containing the new interface. 357 * 358 * @example jQuery('form.rating').fivestar(); 359 * @cat plugin 360 * @type jQuery 361 * 362 */ 363(function($){ // Create local scope. 364 /** 365 * Takes the form element, builds the rating interface and attaches the proper events. 366 * @param {Object} $obj 367 */ 368 var buildRating = function($obj){ 369 var $widget = buildInterface($obj), 370 $stars = $('.star', $widget), 371 $cancel = $('.cancel', $widget), 372 $summary = $('.fivestar-summary', $obj), 373 feedbackTimerId = 0, 374 summaryText = $summary.html(), 375 summaryHover = $obj.is('.fivestar-labels-hover'), 376 currentValue = $("select", $obj).val(), 377 cancelTitle = $('label', $obj).html(), 378 voteTitle = cancelTitle != Drupal.settings.fivestar.titleAverage ? cancelTitle : Drupal.settings.fivestar.titleUser, 379 voteChanged = false; 380 381 // Record star display. 382 if ($obj.is('.fivestar-user-stars')) { 383 var starDisplay = 'user'; 384 } 385 else if ($obj.is('.fivestar-average-stars')) { 386 var starDisplay = 'average'; 387 currentValue = $("input[name=vote_average]", $obj).val(); 388 } 389 else if ($obj.is('.fivestar-combo-stars')) { 390 var starDisplay = 'combo'; 391 } 392 else { 393 var starDisplay = 'none'; 394 } 395 396 // Smart is intentionally separate, so the average will be set if necessary. 397 if ($obj.is('.fivestar-smart-stars')) { 398 var starDisplay = 'smart'; 399 } 400 401 // Record text display. 402 if ($summary.size()) { 403 var textDisplay = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, '$1').replace(/-/g, '_'); 404 } 405 else { 406 var textDisplay = 'none'; 407 } 408 409 // Add hover and focus events. 410 $stars 411 .mouseover(function(){ 412 event.drain(); 413 event.fill(this); 414 }) 415 .mouseout(function(){ 416 event.drain(); 417 event.reset(); 418 }); 419 $stars.children() 420 .focus(function(){ 421 event.drain(); 422 event.fill(this.parentNode) 423 }) 424 .blur(function(){ 425 event.drain(); 426 event.reset(); 427 }).end(); 428 429 // Cancel button events. 430 $cancel 431 .mouseover(function(){ 432 event.drain(); 433 $(this).addClass('on') 434 }) 435 .mouseout(function(){ 436 event.reset(); 437 $(this).removeClass('on') 438 }); 439 $cancel.children() 440 .focus(function(){ 441 event.drain(); 442 $(this.parentNode).addClass('on') 443 }) 444 .blur(function(){ 445 event.reset(); 446 $(this.parentNode).removeClass('on') 447 }).end(); 448 449 // Click events. 450 $cancel.click(function(){ 451 currentValue = 0; 452 event.reset(); 453 voteChanged = false; 454 // Inform a user that his vote is being processed 455 if ($("input.fivestar-path", $obj).size() && $summary.is('.fivestar-feedback-enabled')) { 456 setFeedbackText(Drupal.settings.fivestar.feedbackDeletingVote); 457 } 458 // Save the currentValue in a hidden field. 459 $("select", $obj).val(0); 460 // Update the title. 461 cancelTitle = starDisplay != 'smart' ? cancelTitle : Drupal.settings.fivestar.titleAverage; 462 $('label', $obj).html(cancelTitle); 463 // Update the smart classes on the widget if needed. 464 if ($obj.is('.fivestar-smart-text')) { 465 $obj.removeClass('fivestar-user-text').addClass('fivestar-average-text'); 466 $summary[0].className = $summary[0].className.replace(/-user/, '-average'); 467 textDisplay = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, '$1').replace(/-/g, '_'); 468 } 469 if ($obj.is('.fivestar-smart-stars')) { 470 $obj.removeClass('fivestar-user-stars').addClass('fivestar-average-stars'); 471 } 472 // Submit the form if needed. 473 $("input.fivestar-path", $obj).each(function() { 474 var token = $("input.fivestar-token", $obj).val(); 475 $.ajax({ 476 type: 'GET', 477 data: { token: token }, 478 dataType: 'xml', 479 url: this.value + '/' + 0, 480 success: voteHook 481 }); 482 }); 483 return false;
484 }); 485 $stars.click(function(){ 486 currentValue = $('select option', $obj).get($stars.index(this) + $cancel.size() + 1).value; 487 // Save the currentValue to the hidden select field. 488 $("select", $obj).val(currentValue); 489 // Update the display of the stars. 490 voteChanged = true; 491 event.reset(); 492 // Inform a user that his vote is being processed. 493 if ($("input.fivestar-path", $obj).size() && $summary.is('.fivestar-feedback-enabled')) { 494 setFeedbackText(Drupal.settings.fivestar.feedbackSavingVote); 495 } 496 // Update the smart classes on the widget if needed. 497 if ($obj.is('.fivestar-smart-text')) { 498 $obj.removeClass('fivestar-average-text').addClass('fivestar-user-text'); 499 $summary[0].className = $summary[0].className.replace(/-average/, '-user'); 500 textDisplay = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, '$1').replace(/-/g, '_'); 501 } 502 if ($obj.is('.fivestar-smart-stars')) { 503 $obj.removeClass('fivestar-average-stars').addClass('fivestar-user-stars'); 504 } 505 // Submit the form if needed. 506 $("input.fivestar-path", $obj).each(function () { 507 var token = $("input.fivestar-token", $obj).val(); 508 $.ajax({ 509 type: 'GET', 510 data: { token: token }, 511 dataType: 'xml', 512 url: this.value + '/' + currentValue, 513 success: voteHook 514 }); 515 }); 516 return false; 517 }); 518 519 var event = { 520 fill: function(el){ 521 // Fill to the current mouse position. 522 var index = $stars.index(el) + 1; 523 $stars 524 .children('a').css('width', '100%').end() 525 .filter(':lt(' + index + ')').addClass('hover').end(); 526 // Update the description text and label. 527 if (summaryHover && !feedbackTimerId) { 528 var summary = $("select option", $obj)[index + $cancel.size()].text; 529 var value = $("select option", $obj)[index + $cancel.size()].value; 530 $summary.html(summary != index + 1 ? summary : ' '); 531 $('label', $obj).html(voteTitle); 532 } 533 }, 534 drain: function() { 535 // Drain all the stars. 536 $stars 537 .filter('.on').removeClass('on').end() 538 .filter('.hover').removeClass('hover').end(); 539 // Update the description text. 540 if (summaryHover && !feedbackTimerId) { 541 var cancelText = $("select option", $obj)[1].text; 542 $summary.html(($cancel.size() && cancelText != 0) ? cancelText : ' '); 543 if (!voteChanged) { 544 $('label', $obj).html(cancelTitle); 545 } 546 } 547 }, 548 reset: function(){ 549 // Reset the stars to the default index. 550 var starValue = currentValue/100 * $stars.size(); 551 var percent = (starValue - Math.floor(starValue)) * 100; 552 $stars.filter(':lt(' + Math.floor(starValue) + ')').addClass('on').end(); 553 if (percent > 0) { 554 $stars.eq(Math.floor(starValue)).addClass('on').children('a').css('width', percent + "%").end().end(); 555 } 556 // Restore the summary text and original title. 557 if (summaryHover && !feedbackTimerId) { 558 $summary.html(summaryText ? summaryText : ' '); 559 } 560 if (voteChanged) { 561 $('label', $obj).html(voteTitle); 562 } 563 else { 564 $('label', $obj).html(cancelTitle); 565 } 566 } 567 }; 568 569 var setFeedbackText = function(text) { 570 // Kill previous timer if it isn't finished yet so that the text we 571 // are about to set will not get cleared too early. 572 feedbackTimerId = 1; 573 $summary.html(text); 574 }; 575 576 /** 577 * Checks for the presence of a javascript hook 'fivestarResult' to be 578 * called upon completion of a AJAX vote request. 579 */ 580 var voteHook = function(data) { 581 var returnObj = { 582 result: { 583 count: $("result > count", data).text(), 584 average: $("result > average", data).text(), 585 summary: { 586 average: $("summary average", data).text(), 587 average_count: $("summary average_count", data).text(), 588 user: $("summary user", data).text(), 589 user_count: $("summary user_count", data).text(), 590 combo: $("summary combo", data).text(), 591 count: $("summary count", data).text() 592 } 593 }, 594 vote: { 595 id: $("vote id", data).text(), 596 tag: $("vote tag", data).text(), 597 type: $("vote type", data).text(), 598 value: $("vote value", data).text() 599 }, 600 display: { 601 stars: starDisplay, 602 text: textDisplay 603 } 604 }; 605 // Check for a custom callback. 606 if (window.fivestarResult) { 607 fivestarResult(returnObj); 608 } 609 // Use the default. 610 else { 611 fivestarDefaultResult(returnObj); 612 } 613 // Update the summary text. 614 summaryText = returnObj.result.summary[returnObj.display.text]; 615 if ($(returnObj.result.summary.average).is('.fivestar-feedback-enabled')) { 616 // Inform user that his/her vote has been processed. 617 if (returnObj.vote.value != 0) { // check if vote has been saved or deleted 618 setFeedbackText(Drupal.settings.fivestar.feedbackVoteSaved); 619 } 620 else { 621 setFeedbackText(Drupal.settings.fivestar.feedbackVoteDeleted); 622 } 623 // Setup a timer to clear the feedback text after 3 seconds. 624 feedbackTimerId = setTimeout(function() { clearTimeout(feedbackTimerId); feedbackTimerId = 0; $summary.html(returnObj.result.summary[returnObj.display.text]); }, 2000); 625 } 626 // Update the current star currentValue to the previous average. 627 if (returnObj.vote.value == 0 && (starDisplay == 'average' || starDisplay == 'smart')) { 628 currentValue = returnObj.result.average; 629 event.reset(); 630 } 631 }; 632 633 event.reset(); 634 return $widget; 635 }; 636 637 /**
638 * Accepts jQuery object containing a single fivestar widget. 639 * Returns the proper div structure for the star interface. 640 * 641 * @return jQuery 642 * @param {Object} $widget 643 * 644 */ 645 var buildInterface = function($widget){ 646 var $container = $('<div class="fivestar-widget clear-block"></div>'); 647 var $options = $("select option", $widget); 648 var size = $('option', $widget).size() - 1; 649 var cancel = 1; 650 for (var i = 1, option; option = $options[i]; i++){ 651 if (option.value == "0") { 652 cancel = 0; 653 $div = $('<div class="cancel"><a href="#0" title="' + option.text + '">' + option.text + '</a></div>'); 654 } 655 else { 656 var zebra = (i + cancel - 1) % 2 == 0 ? 'even' : 'odd'; 657 var count = i + cancel - 1; 658 var first = count == 1 ? ' star-first' : ''; 659 var last = count == size + cancel - 1 ? ' star-last' : ''; 660 $div = $('<div class="star star-' + count + ' star-' + zebra + first + last + '"><a href="#' + option.value + '" title="' + option.text + '">' + option.text + '</a></div>'); 661 } 662 $container.append($div[0]); 663 } 664 $container.addClass('fivestar-widget-' + (size + cancel - 1)); 665 // Attach the new widget and hide the existing widget. 666 $('select', $widget).after($container).css('display', 'none'); 667 return $container; 668 }; 669 670 /** 671 * Standard handler to update the average rating when a user changes their 672 * vote. This behavior can be overridden by implementing a fivestarResult 673 * function in your own module or theme. 674 * @param object voteResult 675 * Object containing the following properties from the vote result: 676 * voteResult.result.count The current number of votes for this item. 677 * voteResult.result.average The current average of all votes for this item. 678 * voteResult.result.summary.average The textual description of the average. 679 * voteResult.result.summary.user The textual description of the user's current vote. 680 * voteResult.vote.id The id of the item the vote was placed on (such as the nid) 681 * voteResult.vote.type The type of the item the vote was placed on (such as 'node') 682 * voteResult.vote.tag The multi-axis tag the vote was placed on (such as 'vote') 683 * voteResult.vote.average The average of the new vote saved 684 * voteResult.display.stars The type of star display we're using. Either 'average', 'user', or 'combo'. 685 * voteResult.display.text The type of text display we're using. Either 'average', 'user', or 'combo'. 686 */ 687 function fivestarDefaultResult(voteResult) { 688 // Update the summary text. 689 $('div.fivestar-summary-'+voteResult.vote.tag+'-'+voteResult.vote.id).html(voteResult.result.summary[voteResult.display.text]); 690 // If this is a combo display, update the average star display. 691 if (voteResult.display.stars == 'combo') { 692 $('div.fivestar-form-'+voteResult.vote.id).each(function() { 693 // Update stars. 694 var $stars = $('.fivestar-widget-static .star span', this); 695 var average = voteResult.result.average/100 * $stars.size(); 696 var index = Math.floor(average); 697 $stars.removeClass('on').addClass('off').css('width', 'auto'); 698 $stars.filter(':lt(' + (index + 1) + ')').removeClass('off').addClass('on'); 699 $stars.eq(index).css('width', ((average - index) * 100) + "%"); 700 // Update summary. 701 var $summary = $('.fivestar-static-form-item .fivestar-summary', this); 702 if ($summary.size()) { 703 var textDisplay = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, '$1').replace(/-/g, '_'); 704 $summary.html(voteResult.result.summary[textDisplay]); 705 } 706 }); 707 } 708 }; 709 710 /** 711 * Set up the plugin 712 */ 713 $.fn.fivestar = function() { 714 var stack = []; 715 this.each(function() { 716 var ret = buildRating($(this)); 717 stack.push(ret); 718 }); 719 return stack; 720 }; 721 722 // Fix ie6 background flicker problem. 723 if ($.browser.msie == true) { 724 try {
725 document.execCommand('BackgroundImageCache', false, true); 726 } catch(err) {} 727 } 728 729 Drupal.behaviors.fivestar = function(context) { 730 $('div.fivestar-form-item:not(.fivestar-processed)', context).addClass('fivestar-processed').fivestar(); 731 $('input.fivestar-submit', context).css('display', 'none'); 732 } 733 734})(jQuery);; 735 736/** 737 * Toggle the visibility of a fieldset using smooth animations 738 */ 739Drupal.toggleFieldset = function(fieldset) { 740 if ($(fieldset).is('.collapsed')) { 741 // Action div containers are processed separately because of a IE bug 742 // that alters the default submit button behavior. 743 var content = $('> div:not(.action)', fieldset); 744 $(fieldset).removeClass('collapsed'); 745 content.hide(); 746 content.slideDown( { 747 duration: 'fast', 748 easing: 'linear', 749 complete: function() { 750 Drupal.collapseScrollIntoView(this.parentNode); 751 this.parentNode.animating = false; 752 $('div.action', fieldset).show(); 753 }, 754 step: function() { 755 // Scroll the fieldset into view 756 Drupal.collapseScrollIntoView(this.parentNode); 757 } 758 }); 759 } 760 else { 761 $('div.action', fieldset).hide(); 762 var content = $('> div:not(.action)', fieldset).slideUp('fast', function() { 763 $(this.parentNode).addClass('collapsed'); 764 this.parentNode.animating = false; 765 }); 766 } 767}; 768 769/** 770 * Scroll a given fieldset into view as much as possible. 771 */ 772Drupal.collapseScrollIntoView = function (node) { 773 var h = self.innerHeight || document.documentElement.clientHeight || $('body')[0].clientHeight || 0; 774 var offset = self.pageYOffset || document.documentElement.scrollTop || $('body')[0].scrollTop || 0; 775 var posY = $(node).offset().top; 776 var fudge = 55; 777 if (posY + node.offsetHeight + fudge > h + offset) { 778 if (node.offsetHeight > h) { 779 window.scrollTo(0, posY); 780 } else { 781 window.scrollTo(0, posY + node.offsetHeight - h + fudge); 782 } 783 } 784}; 785 786Drupal.behaviors.collapse = function (context) { 787 $('fieldset.collapsible > legend:not(.collapse-processed)', context).each(function() { 788 var fieldset = $(this.parentNode); 789 // Expand if there are errors inside 790 if ($('input.error, textarea.error, select.error', fieldset).size() > 0) { 791 fieldset.removeClass('collapsed'); 792 } 793 794 // Turn the legend into a clickable link and wrap the contents of the fieldset 795 // in a div for easier animation 796 var text = this.innerHTML; 797 $(this).empty().append($('<a href="#">
797'+ text +'</a>').click(function() { 798 var fieldset = $(this).parents('fieldset:first')[0]; 799 // Don't animate multiple times 800 if (!fieldset.animating) { 801 fieldset.animating = true; 802 Drupal.toggleFieldset(fieldset); 803 } 804 return false; 805 })) 806 .after($('<div class="fieldset-wrapper"></div>') 807 .append(fieldset.children(':not(legend):not(.action)'))) 808 .addClass('collapse-processed'); 809 }); 810}; 811; 812/* begin Page */ 813var artEventHelper = { 814 'bind' : function (obj, evt, fn) { 815 if (obj.addEventListener) 816 obj.addEventListener(evt, fn, false); 817 else if (obj.attachEvent) 818 obj.attachEvent('on' + evt, fn); 819 else 820 obj['on' + evt] = fn; 821 } 822}; 823 824var artLoadEvent = (function() { 825 var userAgent = navigator.userAgent.toLowerCase(); 826 var browser = { 827 version: (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1], 828 safari: /webkit/.test(userAgent), 829 opera: /opera/.test(userAgent), 830 msie: /msie/.test(userAgent) && !/opera/.test(userAgent), 831 mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent) 832 }; 833 834 var list = []; 835 836 var done = false; 837 var ready = function () { 838 if (done) return; 839 done = true; 840 for (var i = 0; i < list.length; i++) 841 list[i](); 842 }; 843 844 if (document.addEventListener && !browser.opera) 845 document.addEventListener('DOMContentLoaded', ready, false); 846 847 if (browser.msie && window == top) { 848 (function () { 849 try { 850 document.documentElement.doScroll('left'); 851 } catch (e) { 852 setTimeout(arguments.callee, 10); 853 return; 854 } 855 ready(); 856 })(); 857 } 858 859 if (browser.opera) { 860 document.addEventListener('DOMContentLoaded', function () { 861 for (var i = 0; i < document.styleSheets.length; i++) { 862 if (document.styleSheets[i].disabled) { 863 setTimeout(arguments.callee, 10); 864 return; 865 } 866 } 867 ready(); 868 }, false); 869 } 870 871 if (browser.safari) { 872 var numStyles; 873 (function(){ 874 if (document.readyState != 'loaded' && document.readyState != 'complete') { 875 setTimeout(arguments.callee, 10); 876 return; 877 } 878 if ('undefined' == typeof numStyles) { 879 numStyles = document.getElementsByTagName('style').length; 880 var links = document.getElementsByTagName('link'); 881 for (var i = 0; i < links.length; i++) { 882 numStyles += (links[i].getAttribute('rel') == 'stylesheet') ? 1 : 0; 883 } 884 if (document.styleSheets.length != numStyles) { 885 setTimeout(arguments.callee, 0); 886 return; 887 } 888 } 889 ready(); 890 })(); 891 } 892 893 artEventHelper.bind(window, 'load', ready); 894 895 return ({ 896 add: function(f) { 897 list.push(f); 898 } 899 }) 900})(); 901 902(function () { 903 // fix ie blinking 904 var m = document.uniqueID && document.compatMode && !window.XMLHttpRequest && document.execCommand; 905 try{ if(!!m) { m("BackgroundImageCache", false, true); } } 906 catch(oh){}; 907})(); 908 909function xGetElementsByClassName(clsName, parentEle, tagName) { 910 var elements = null; 911 var found = []; 912 var slash = String.fromCharCode(92); 913 var re = new RegExp(slash + "b" + clsName + slash + "b"); 914 if (!parentEle) parentEle = document; 915 if (!tagName) tagName = '*'; 916 elements = parentEle.getElementsByTagName(tagName); 917 if (elements) { 918 for (var i = 0; i < elements.length; ++i) { 919 if (elements[i].className.search(re) != -1) { 920 found[found.length] = elements[i]; 921 } 922 } 923 } 924 return found; 925} 926 927var styleUrlCached = null; 928function GetStyleUrl() { 929 if (null == styleUrlCached) { 930 var ns; 931 styleUrlCached = ''; 932 ns = document.getElementsByTagName('link'); 933 for (var i = 0; i < ns.length; i++) { 934 var l = ns[i]; 935 if (l.href && /style\.css(\?.*)?$/.test(l.href)){ 936 return styleUrlCached = l.href.replace(/style\.css(\?.*)?$/,''); 937 } 938 } 939 940 ns = document.getElementsByTagName('style'); 941 for (var i = 0; i < ns.length; i++) { 942 var matches = new RegExp('import\\s+"([^"]+\\/)style\\.css"').exec(ns[i].innerHTML); 943 if (null != matches && matches.length > 0) 944 return styleUrlCached = matches[1]; 945 } 946 } 947 return styleUrlCached; 948} 949 950 951function artButtonSetupJsHover(btn) 952{ 953 artEventHelper.bind(btn, 'mouseover', function() { 954 var spans = btn.getElementsByTagName("span"); 955 if (spans.length > 0) 956 spans[0].className += " hover"; 957 }); 958 artEventHelper.bind(btn, 'mouseout', function() { 959 var spans = btn.getElementsByTagName("span"); 960 if (spans.length > 0) 961 spans[0].className = spans[0].className.replace(/hover/, ""); 962 }); 963} 964 965function artButtonsSetupJsHover() { 966 var elements = xGetElementsByClassName("btn", document, "span"); 967 for (var i = 0; i < elements.length; i++) { 968 if (!elements[i].tagName) continue; 969 artButtonSetupJsHover(elements[i].parentNode); 970 } 971} 972artLoadEvent.add(artButtonsSetupJsHover); 973 974/* end Page */ 975 976/* begin Menu */ 977function Insert_Separators() 978{ 979 var menus = xGetElementsByClassName("artmenu", document); 980 for (var i = 0; i < menus.length; i++) { 981 var menu = menus[i];
982 var childs = menu.childNodes; 983 var listItems = []; 984 for (var j = 0; j < childs.length; j++){ 985 var el = childs[j]; 986 if (String(el.tagName).toLowerCase() == "li")listItems.push(el); 987 } 988 for (var j = 0; j < listItems.length - 1; j++){ 989 var span = document.createElement('span'); 990 span.className = 'separator'; 991 var li = document.createElement('li'); 992 li.appendChild(span); 993 listItems[j].parentNode.insertBefore(li, listItems[j].nextSibling); 994 } 995 } 996} 997artLoadEvent.add(Insert_Separators); 998 999function Menu_IE6Setup() { 1000 var isIE6 = navigator.userAgent.toLowerCase().indexOf("msie") != -1 1001 && navigator.userAgent.toLowerCase().indexOf("msie 7") == -1; 1002 if (!isIE6) return; 1003 var aTmp2, i, j, oLI, aUL, aA; 1004 var aTmp = xGetElementsByClassName("artmenu", document, "ul"); 1005 for (i=0;i<aTmp.length;i++) { 1006 aTmp2 = aTmp[i].getElementsByTagName("li"); 1007 for (j=0;j<aTmp2.length;j++) { 1008 oLI = aTmp2[j]; 1009 aUL = oLI.getElementsByTagName("ul"); 1010 if (aUL && aUL.length) { 1011 oLI.UL = aUL[0]; 1012 aA = oLI.getElementsByTagName("a"); 1013 if (aA && aA.length) 1014 oLI.A = aA[0]; 1015 oLI.onmouseenter = function() { 1016 this.className += " artmenuhover"; 1017 this.UL.className += " artmenuhoverUL"; 1018 if (this.A) this.A.className += " artmenuhoverA"; 1019 }; 1020 oLI.onmouseleave = function() { 1021 this.className = this.className.replace(/menuhover/,""); 1022 this.UL.className = this.UL.className.replace(/menuhoverUL/,""); 1023 if (this.A) this.A.className = this.A.className.replace(/menuhoverA/,""); 1024 }; 1025 } 1026 } 1027 } 1028} 1029artLoadEvent.add(Menu_IE6Setup); 1030/* end Menu */ 1031 1032;
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.