/*
 * jQuery JavaScript Library v1.3.2
 * http://jquery.com/
 *
 * Copyright (c) 2009 John Resig
 * Dual licensed under the MIT and GPL licenses.
 * http://docs.jquery.com/License
 *
 * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
 * Revision: 6246
 */
(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
/*
 * Sizzle CSS Selector Engine - v0.9.3
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();

	
	/**
	 * jQuery BASE64 functions
	 * 
	 * 	<code>
	 * 		Encodes the given data with base64. 
	 * 		String $.base64Encode ( String str )
	 *		<br />
	 * 		Decodes a base64 encoded data.
	 * 		String $.base64Decode ( String str )
	 * 	</code>
	 * 
	 * Encodes and Decodes the given data in base64.
	 * This encoding is designed to make binary data survive transport through transport layers that are not 8-bit clean, such as mail bodies.
	 * Base64-encoded data takes about 33% more space than the original data. 
	 * This javascript code is used to encode / decode data using base64 (this encoding is designed to make binary data survive transport through transport layers that are not 8-bit clean). Script is fully compatible with UTF-8 encoding. You can use base64 encoded data as simple encryption mechanism.
	 * If you plan using UTF-8 encoding in your project don't forget to set the page encoding to UTF-8 (Content-Type meta tag). 
	 * This function orginally get from the WebToolkit and rewrite for using as the jQuery plugin.
	 * 
	 * Example
	 * 	Code
	 * 		<code>
	 * 			$.base64Encode("I'm Persian."); 
	 * 		</code>
	 * 	Result
	 * 		<code>
	 * 			"SSdtIFBlcnNpYW4u"
	 * 		</code>
	 * 	Code
	 * 		<code>
	 * 			$.base64Decode("SSdtIFBlcnNpYW4u");
	 * 		</code>
	 * 	Result
	 * 		<code>
	 * 			"I'm Persian."
	 * 		</code>
	 * 
	 * @alias Muhammad Hussein Fattahizadeh < muhammad [AT] semnanweb [DOT] com >
	 * @link http://www.semnanweb.com/jquery-plugin/base64.html
	 * @see http://www.webtoolkit.info/
	 * @license http://www.gnu.org/licenses/gpl.html [GNU General Public License]
	 * @param {jQuery} {base64Encode:function(input))
	 * @param {jQuery} {base64Decode:function(input))
	 * @return string
	 */
	
	(function($){
		
		var keyString = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
		
		var uTF8Encode = function(string) {
			string = string.replace(/\x0d\x0a/g, "\x0a");
			var output = "";
			for (var n = 0; n < string.length; n++) {
				var c = string.charCodeAt(n);
				if (c < 128) {
					output += String.fromCharCode(c);
				} else if ((c > 127) && (c < 2048)) {
					output += String.fromCharCode((c >> 6) | 192);
					output += String.fromCharCode((c & 63) | 128);
				} else {
					output += String.fromCharCode((c >> 12) | 224);
					output += String.fromCharCode(((c >> 6) & 63) | 128);
					output += String.fromCharCode((c & 63) | 128);
				}
			}
			return output;
		};
		
		var uTF8Decode = function(input) {
			var string = "";
			var i = 0;
			var c = c1 = c2 = 0;
			while ( i < input.length ) {
				c = input.charCodeAt(i);
				if (c < 128) {
					string += String.fromCharCode(c);
					i++;
				} else if ((c > 191) && (c < 224)) {
					c2 = input.charCodeAt(i+1);
					string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
					i += 2;
				} else {
					c2 = input.charCodeAt(i+1);
					c3 = input.charCodeAt(i+2);
					string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
					i += 3;
				}
			}
			return string;
		}
		
		$.extend({
			base64Encode: function(input) {
				var output = "";
				var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
				var i = 0;
				input = uTF8Encode(input);
				while (i < input.length) {
					chr1 = input.charCodeAt(i++);
					chr2 = input.charCodeAt(i++);
					chr3 = input.charCodeAt(i++);
					enc1 = chr1 >> 2;
					enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
					enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
					enc4 = chr3 & 63;
					if (isNaN(chr2)) {
						enc3 = enc4 = 64;
					} else if (isNaN(chr3)) {
						enc4 = 64;
					}
					output = output + keyString.charAt(enc1) + keyString.charAt(enc2) + keyString.charAt(enc3) + keyString.charAt(enc4);
				}
				return output;
			},
			base64Decode: function(input) {
				var output = "";
				var chr1, chr2, chr3;
				var enc1, enc2, enc3, enc4;
				var i = 0;
				input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
				while (i < input.length) {
					enc1 = keyString.indexOf(input.charAt(i++));
					enc2 = keyString.indexOf(input.charAt(i++));
					enc3 = keyString.indexOf(input.charAt(i++));
					enc4 = keyString.indexOf(input.charAt(i++));
					chr1 = (enc1 << 2) | (enc2 >> 4);
					chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
					chr3 = ((enc3 & 3) << 6) | enc4;
					output = output + String.fromCharCode(chr1);
					if (enc3 != 64) {
						output = output + String.fromCharCode(chr2);
					}
					if (enc4 != 64) {
						output = output + String.fromCharCode(chr3);
					}
				}
				output = uTF8Decode(output);
				return output;
			}
		});
	})(jQuery);

 /// dummy for IE8.0 analytics error
var pageTracker = new Object;
pageTracker._trackPageview = function() {}
pageTracker._trackEvent = function() {}


//////////////////////////
/// OLD DEMOTIVATOR.JS
//////////////////////////

function del(id, komunikat){
	if (confirm("Czy na pewno chcesz NA ZAWSZE usunąć ten demotywator? Tej operacji NIE DA się cofnąć!")){
		//location.href = "/demotivator/delete/"+id;
		$.get("/demotivator/delete/"+id, {}, function(data) {
			res = data.split(",");
			if (res[1] == "delete_user"){
				$("#demot"+res[0]).fadeOut();
				alert("Usunięto demotywator!");
			}else if (res[1] == "delete_admin"){
				$("#demot"+res[0]).fadeOut();
			}else if (res[1] == "not_allowed"){
				alert("Nie masz uprawnień, by to zrobić!");
			}else if (res[1] == "wrong_id"){
				alert("Nie ma takiego demotywatora!");
			}
		});
		return false;
	}
}



$(document).ready(function() {
    if ($('#colorpicker').length > 0)
	    $('#colorpicker').farbtastic(
			function(color){ 
				$('#colorexample').css('background-color',color);
				$('#color').val(color);
			});
  });

$(document).ready(function() {
	var nimg = $("#demotivatorImage IMG").attr("bigurl");
	var simg = $("#demotivatorImage IMG").attr("src");
	$("#showbig").click( function(){
		$("#demotivatorImage").replaceWith("<img src="+nimg+">");
		$(this).fadeOut();
		return false;
	}) 
	$("#demotivatorImage").click( function(){
		$(this).replaceWith("<img src="+nimg+">");
		//$(this).fadeOut();
		return false;
	}) 
})


function mod_status(id,status) {
	$.get("/demotivator/setstatus/"+id+"/"+status, {}, function(data,status) {
		if (data == 'already_moved'){
			alert('Ktoś nadał juz temu obrazkowi status '+status+'. Spróbuj zacząć moderować inną stronę.');
		}else if (data == 'noaccess'){
			alert('Nie masz uprawnień do wykonania tej akcji! Być może zostałeś wylogowany.');
		}else{
			var blinkCount = 2*2;// two blinks, 4*2 for four blinks
			do {
				$("#mod_"+data)['fade'+(blinkCount%2==0?'Out':'In')]('slow');
			} while (--blinkCount);
		}
	});
}
/* archiwizowanie z powodem */
function show_reason_archive_widget(id, obj){
	//pokazuje na miejscu danej ikonki widgecik z opcją wpisania powodu archiwizacji
	var o = $('#reason_archive_box');
	var obj = $(obj);
	if ($("#reason_archive_box:visible").length > 0){
		var justHide = true;
	}else{
		o.fadeOut(0);
		$("#reason_archive .demotivator_id").val(id);
		$("#reason_archive .reason").val('');
		$("#reason_archive .reason_ready").val(0);
        o.css("left", obj.position().left - 20);
        o.css("top", obj.position().top - 20);
        o.fadeIn("slow");
	}
}

function reason_archive(){
	$('#demot'+$("#reason_archive .demotivator_id").val()).removeClass('hide');
	$("span.buttons_"+$("#reason_archive .demotivator_id").val()+" input").removeAttr('disabled');
	$.post("/demotivator/setstatus/"+$("#reason_archive .demotivator_id").val()+'/archiwum', { reason: $("#reason_archive .reason").val(), reason_ready: $("#reason_archive .reason_ready").val()}, function(data) {
		if (data == "already_moved"){
			alert('Ktoś już zarchiwizował ten demotywator - spróbuj zacząć moderowanie innej strony');
			$('#reason_archive_box').fadeOut();
		}else if (data == "noaccess"){
			alert('Nie masz uprawnień, żeby to zrobić - być może zostałeś wylogowany lub ten demotywator jest na głównej');
		}else if (data == "error"){
			alert('wystapił jakis błąd - spróbuj jeszcze raz');
		}else{
			$('#demot'+$("#reason_archive .demotivator_id").val()).addClass('hide');
			$('#'+$("#reason_archive .demotivator_id").val()+' .b_archiwump').attr('disabled', 'disabled');
			$('#reason_archive_box').fadeOut();
		}
	});
}
/* sugestia - np. bana */
function suggest(type,id){
	$('#demot'+id).addClass('hide');
	var comm = prompt('Jeśli chcesz, możesz podać dodatkowe informacje. Jeśli nie - kliknij tylko ok','');
	if (comm == null){
		$('#demot'+id).removeClass('hide');
		return false;
	}
	$.post('/mod_tools/suggest/'+type+'/'+id , { comment: comm}, function(data) {
		if (data == 'success'){
			$('#demot'+id).fadeOut();
		}else{
			if (data == 'wrong_type'){
				data = 'Niepoprawny typ sugestii';
			}else if (data == 'no_id'){
				data = 'Nie podałeś id';
			}else if (data == 'doesnt_exist'){
				data = 'Wybrany obrazek nie istnieje - być może został już usunięty przez administratora lub autora'
			}else if (data == 'not_allowed'){
				data = 'Nie masz uprawnień do wykonania tej akcji. Być może zostałeś wylogowany.'
			}
			alert('Wystąpił jakiś błąd! - '+data);
		}
		$('#demot'+id).removeClass('hide');
	});
}
//sekcje specjalne - moderowanie

function section_status(id,status) {
	$.get("/section_moderator/setstatus/"+id+"/"+status, {}, function(data) {
		if (data == 'noaccess'){
			alert('Nie masz uprawnień do tej akcji - być może zostałeś wylogowany');
		}else if (data == 'error'){
			alert('Wystapił błąd - spróbuj ponownie za kilka chwil');
		}else{
			var blinkCount = 6*2;// two blinks, 4*2 for four blinks
			do {
				$("#sekcja_"+data)['fade'+(blinkCount%2==0?'Out':'In')]('slow');
			} while (--blinkCount);
		}
	});
}

// Wybór rodzaju pagerowania
$(function(){
    if($.cookie('pagersize')=='1'){
		$('#pager_full').hide();
		$('#pager_short').show();
	}
    $('#przelacznik_pagera A').click(function(){
		 if($.cookie('pagersize')=='1'){
			$('#pager_full').show();
			$('#pager_short').hide();
			$.cookie('pagersize',null); // usun
		 } else {
				$('#pager_short').show();
				$('#pager_full').hide();
				$.cookie('pagersize','1',{ expires: 255 });
		 }
	})
})

// prosty modal dialog, ktĂłry blokuje interakcjÄ™ podczas Ĺ‚adowania / zmiany parametrĂłw / pisania
//wymaga kodu, ktory jest template.php
function waitDialogToggle(){
 if ($('#overlay').is(':visible')) {
  $("#modWin").fadeOut(function(){$("#overlay").fadeOut();});
 }else{
  $("#overlay").fadeIn(function(){ $("#modWin").fadeIn(); });
 }
}


/**
* @name $.cookie
* @cat Plugins/Cookie
* @author Klaus Hartl/klaus.hartl@stilbuero.de
*   $.cookie('pagersize','1',{ expires: 255 });
*   $.cookie('pagersize');
*/

jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};


/// STARY DOBRY PLIK voting.js
		
		function votowanie(object){

			if (logged_in == false){
				//location.href = "./login/fromvoting"; //przed loginbox'em
				loginbox(object);
				return false;
			}
			
			var o = $(object);
			$.get(o.attr('href'), {}, function(data, textStatus){

				if ( (data != null) && (data != "")){
					if (data.length > 256) return; /// Ĺ‚apiemy tu bĹ‚Ä…d, ktĂłry czasem siÄ™ pojawia i objawia dziwnych znaczkach na stronie
					res = data.split(",");
					var action = res[0]; //w pierwszym argumencie przechwytujemy akcje - vote albo truevote
					var id = res[1];
					obj = $(o).parent();
					if(action == 'truevote')
						var voteArg = 2; //jesli przesylamy paczke z true_vote
					else
						var voteArg = 4; //jesli przesylamy paczke z votem zwykłym lub komentarzem
						
					if ((action=='vote') || (action =='comment')){
						$(".points", obj).html(res[2]);
						$(".count", obj).html(' (Głosów: '+res[3]+')');
					}
					if (res[voteArg] == 'change')
						txt = 'Zmieniono głos!';
					else if (res[voteArg] == 'del')
						txt = 'Usunięto głos!';
					else if (res[voteArg] == 'new')
						txt = 'Dzięki!';
					else if(res[voteArg] == 'already_voted')
						txt = 'Już głosowałeś!';
					else if (res[voteArg] == 'not_allowed')
						txt = 'Nie możesz tego zrobić';
					else if (res[voteArg] == 'owner')
						txt = 'Nie możesz głosować na swoje dzieło'
					else if (res[voteArg] == 'login')
						txt = 'Zaloguj się najpierw';	
					else if (data == 'owner')
						txt = 'Nie możesz głosować na swoje dzieło'
					else if (data == 'login')
						txt = '<a href="/login">Zaloguj się najpierw</a>';
					else if (data == 'no_access')
					{
						txt = 'Wymagany przynajmniej jeden demotywator na głównej';
						voteArg = 2;
					}
					var r = $(".vote_result", obj);
					if (voteArg == 2)
						var r = $(".true_vote_result", obj);
					r.html(" "+txt+" ");
					r.fadeIn("slow");						
				} else {
//					alert('nodata!');
				}
			})
			return false;
		}
		/*
		 * Przeniesiono votowanie do osobnej funkcji
		 * nadawanie onclicka - osobno dla AJAXowego
		 * votowania dla nowych komentarzy
		 */
		/*$(function (){
			$("a.vote").click(function (){
				votowanie(this);
				return false;
			})
		});*/
		
		// KONKURSY
		
		function contest_vote(contest_item_id, value, object){
			if (vote_type == 'simple_voting'){
				save_cookie(first_item, $(".contest_item_"+contest_item_id).attr('id').substr(5));
			}
			if (logged_in == false){
				loginbox($(object));
				return false;
			}
			if (
				((value == 'up') && (votes_up_left <= 0)) || 
				((value == 'down') && (votes_down_left <= 0))
				){
				
				$("#modWin").fadeIn();
				$("#modWin").html('<span class="red">Nie masz już więcej głosów</span>');
				setTimeout('$("#modWin").fadeOut(1000)', 2000);
				return false;
			}
					
			
			
			komunikat_glosowania = setTimeout(
					function(){
						$("#modWin").html("Głosowanie... <img src=\"/res/img/loading.gif\" />");
						$("#modWin").fadeIn();
					}, 1500);
			unbindkeys();
			if (last_cliked_id != contest_item_id){
				last_cliked_id = contest_item_id;
				$.get('/contest/vote_add/' + contest_item_id + '/' + value, {}, function(data){
					clearTimeout(komunikat_glosowania);
					res = data.split("|");
					if (res[0] == 'flood')
						txt = 'Oddałeś za dużo głosów w ostatnim czasie';
					if (res[0] == 'incorrect_vote_value')
						txt = 'Niepoprawna wartość głosu';
					else if (res[0] == 'contest_item_does_not_exist')
						txt = 'Wybrane zgłoszenie nie istnieje';
					else if (res[0] == 'owner')
						txt = 'Nie możesz głosować na swoje zgłoszenie, wybierz inne';
					else if (res[0] == 'banned')
						txt = 'Nie możesz głosować, bo jesteś zbanowany';
					else if(res[0] == 'already_voted')
						txt = 'Już głosowałeś na ten podpis';
					else if(res[0] == 'wrong_vote_time')
						txt = 'Nie możesz teraz głosować';
					else if(res[0] == 'votes_limit')
						txt = 'Wykorzystałeś już limit tego typu głosów';
					else if(res[0] == 'not_logged')
						txt = 'Nie jesteś zalogowany';
					else if(res[0] == 'participate_in_contest')
						txt = 'Nie możesz głosować w konkursie, w którym brałeś udział';
					else if (res[0] == 'success'){
						txt = 'Poprawnie oddano głos';
						if (value == 'down'){
							$('#votes_down_left .votes_value').html(--votes_down_left);
						}
						if (value == 'up'){
							$('#votes_up_left .votes_value').html(--votes_up_left);
						}
					}
					var r = $("#vote_result");
					$(".contest_item_"+contest_item_id+" .contest_infobar").html(txt);
					//jak zgłoszenie nie istnieje, to znaczy, że jest jeszcze w cache'u i można je zignorować
					if ((res[0] == 'success') || (res[0] == 'contest_item_does_not_exist')){
						$("#modWin").fadeOut(0);
						if (vote_type == 'only_one'){
							next_item();
						}
					}else{
						$("#modWin").fadeIn();
						$("#modWin").html('<span class="red">' + txt + '</span>');
						setTimeout('$("#modWin").fadeOut(1000)', 2000);
					}
					bindkeys();
					last_cliked_id = 0;
				})
			}
			return false;
		}
		function is_logged(link){
			if (logged_in == false){
				loginbox(link);
				return false;
			}
			return true;
		}
		function change_page(id){
			$(".contest_site").fadeOut(0);
			$("#site_"+id).fadeIn(1000);
			return true;
		}
		function change_contest_item(id){
			$(".d_mainthumb_description").fadeOut(0);
			$("#item_"+id).fadeIn(1000);
			return false;
		}
	/**
	 * Funkcja zapisuje wartosc aktualnie przegladanego zgloszenia do ciastka
	 */
		function save_cookie(first_id, item_id){
			var date = new Date();
		    date.setTime(date.getTime() + (24 * 60 * 60 * 1000));
			$.cookie(cookie, first_id+"|"+item_id, {path: '/', expires: date});
		}
	/**
	 * Funkcja inicjalizuje pierwsze wyświetlane zgłoszenie 
	 */
		function read_cookie(){
			cookie_values = $.cookie(cookie);

			if (cookie_values == null){
				
				current_item = roll();
				while (($("#item_"+current_item+" .item_status").html() == 'deleted')/* || ($("#item_"+current_item+" .user_id").html() == user_id)*/){
					current_item++;
					if (current_item == count){
						current_item = 1;
					}
				}
				save_cookie(current_item, current_item);
				cookie_values = $.cookie(cookie);
			}
			res = cookie_values.split('|');
			current_item = res[1];
			first_item = res[0];
			last_item = first_item;
			do {
				last_item--;
				if (last_item == 0){
					last_item = count;
				}
			} while (($("#item_"+last_item+" .item_status").html() == 'deleted')/* || ($("#item_"+last_item+" .user_id").html() == user_id)*/);
			item_position_info()
			check_buttons();
			if (/*($("#item_"+current_item+" .user_id").html() == user_id) || */($("#item_"+current_item+" .item_status").html() == 'deleted')){
				next_item();
				return false;
			}
			change_contest_item(current_item);
		}
	/**
	 * Funkcja sprawdza aktywność przycisków
	 */
		function check_buttons(){
			if (first_item == current_item){
				$('#button_next').fadeOut(0);
			}else{
				if ($('#button_next:visible').length == 0){
					$('#button_next').fadeIn();
				}
			}
			if (current_item == last_item){
				$('#button_previous').fadeOut(0);
			}else{
				if ($('#button_previous:visible').length == 0){
					$('#button_previous').fadeIn();
				}
			}
		}
	/**
	 * Losuje pierwszy wyswietlony demot
	 */
		function roll(){
			return Math.floor(count*Math.random() + 1);
		}
	/**
	 * Pokazuje następne zgłoszenie w kolejności
	 */
		function next_item(){
			if (current_item == last_item){
				$("#modWin").html("<span class='red'>Hej, przejrzałeś już wszystkie zgłoszenia, dziękujemy za uwagę</span>");
				$("#modWin").fadeIn();
				setTimeout('$("#modWin").fadeOut(1000)', 3000);
				return false;
			}
			if (current_item >= count){
				current_item = 1;
			}else{
				current_item = Number(current_item) + 1;
			}
			if (/*($("#item_"+current_item+" .user_id").html() == user_id) || */($("#item_"+current_item+" .item_status").html() == 'deleted')){
				next_item();
				return false;
			}
			save_cookie(first_item, current_item);
			change_contest_item(current_item);
			$("#modWin").fadeOut();
			check_buttons();
			item_position_info()
			return false;
		}
	/**
	 * Pokazuje poprzednie zgłoszenie w kolejności
	 */
		function previous_item(){
			if (current_item == first_item){
				return false;
			}
			if (current_item <= 1){
				current_item = count;
			}else{
				current_item = Number(current_item) - 1;
			}
			if (/*($("#item_"+current_item+" .user_id").html() == user_id) || */($("#item_"+current_item+" .item_status").html() == 'deleted')){
				previous_item();
				return false;
			}
			save_cookie(first_item, current_item);
			change_contest_item(current_item);
			$("#modWin").fadeOut();
			check_buttons();
			item_position_info()
			return false;
		}
	/**
	 * Update pozycji zgłoszenia
	 */
		function item_position_info(){
			if (Number(current_item) >= Number(first_item)){
				real_current_item = (Number(current_item) - Number(first_item))+1;
			}else{
				real_current_item = ((Number(count) - Number(first_item)) + Number(current_item))+1;
			}
			votes_information = "Przeglądasz zgłoszenie "+real_current_item+" z "+count;
			$('#votes_info').html(votes_information);
		}
	
	/**
	 * Funkcja do bindowania i odbindowywania klawiszy
	 * @return void
	 */
	function bindkeys(){
		//jQuery(document).bind('keydown', 'a',function (evt){previous_item(); return false; });
		//jQuery(document).bind('keydown', 'd',function (evt){next_item(); return false; });
		//jQuery(document).bind('keydown', 'w',function (evt){contest_vote($(".d_mainthumb_description:visible .item_id").html(), "up"); return false; });
		//jQuery(document).bind('keydown', 's',function (evt){contest_vote($(".d_mainthumb_description:visible .item_id").html(), "down"); return false; });
	}
	function unbindkeys(){
		jQuery(document).unbind('keydown', 'a',function (evt){previous_item(); return false; });
		jQuery(document).unbind('keydown', 'd',function (evt){next_item(); return false; });
		jQuery(document).unbind('keydown', 'w',function (evt){contest_vote($(".d_mainthumb_description:visible .item_id").html(), "up"); return false; });
		jQuery(document).unbind('keydown', 's',function (evt){contest_vote($(".d_mainthumb_description:visible .item_id").html(), "down"); return false; });
	}
	/**
	 * Funkcja chowa menu głosowania
	 * @return void
	 */
	function hide_buttons(){
		$('#contest_voting_box').fadeOut(0);
	}
/**
 * zamykanie konkursu bez zwycięzcy
 * @param int contest_id
 * @return alert
 */
	function close_without_winner(contest_id){
		var confirmation = confirm('Na pewno chcesz zakończyć ten konkurs bez zwycięzcy?');
		if (confirmation){
			$.getJSON("/contest_admin/close_without_winner/"+contest_id, {}, function(data) {
				if (data.result == "success"){
					window.location = "/contest_admin/index"
				}else if (data.result == "error"){
					alert('Wystapił błąd! - '+data.errors);
				}
			});
		}
	}
	//HELPERY
		//Odpowiednik phpowej funkcji w helperze word
		
		function replace_number(number, words){
			
			word = words.split("|");
			//0 - taki demtywator
			//1 - takie demotywatory
			//2 - takich demotywatorów
			abs_number = Math.abs(number);
			if (abs_number == 1){
				return number+word[0];
			} else if 	(
							(
								(abs_number > 1) &&
								(abs_number < 5)
							)
							||
							(
								(abs_number > 21) 		&&
								((abs_number % 10) >= 2) &&
								((abs_number % 10) <= 4) &&
								((abs_number % 100) >= 20)
							)
						)
			{
				return number+word[1];
			} else{
				return number+word[2];
			}
		}
		
// REPORTS.js


	function report(id, type) {
		var o = $("#report_"+type);
		var lnk = $("#link_"+type+"_"+id);
		if (($("#item_id_"+type).val() == id) && ($("#report_" + type +":visible").length > 0 ) ) {
			var justHide = true;
		}
		if (!justHide)
			o.hide(0);
		else
			o.fadeOut("slow");
		$("#item_id_"+type).val(id);
		o.css("left", lnk.position().left + 20 );
		o.css("top", lnk.position().top + 20);
				
		if (!justHide) 
			o.fadeIn("slow");				
	}
	
	function inpmodified(obj){
		$(obj).addClass("modified");
	}
	
	function inpclear(obj) {
		if (!$(obj).hasClass("modified")) 
			$(obj).val('');
	}
	
	function repredirect(repres, type){
		var id = $("#item_id_"+type).val(id);
		location.href = "/contact/"+repres+"/"+id;
	}
	
	function reportsubmit(repres, type) {
		if (!$("#reportcomment_"+type).hasClass("modified")) 
			$("#reportcomment_"+type).val('');		
			
		if (repres != 'spam'){
			var comm = prompt('Jeśli chcesz, możesz podać dodatkowe informacje - np link do oryginalnego demota, itp.','');
			if (comm === null) return false;
		}
		$("#reportcomment_"+type).val(comm);
		$("#reportreason_"+type).val(repres);
		
		var o = $("#report_"+type+" form");
		
		$.post(o.attr("action"), o.serialize(), function(data, status) {
			if (data) {
				res = data.split("|");
				if (res[0] == "user_demotivator") {
					$("#link_"+type+"_"+res[1]).replaceWith("Nie możesz zgłaszać swojego obrazka");//.attr("onclick","return false;");
					$("#report_"+type).hide("slow");
					return false;
				}
				if (res[0] == "user_comment") {
					$("#link_"+type+"_"+res[1]).replaceWith("Nie możesz zgłaszać swojego komentarza");//.attr("onclick","return false;");
					$("#report_"+type).hide("slow");
					return false;
				}
/*				if (data == "notallowed") {
					alert("Nie możesz zgłosić tego Demotywatora");
					return false;
				}
				
				if (data == "ignored") {
					alert("Zgłoszenia na ten Demotywator są… ignorowane przez admina!");
					return false;
				}*/
				
				$("#link_"+type+"_"+data).replaceWith("Zgłoszenie przyjęte!");//.attr("onclick","return false;");
				$("#report_"+type).hide("slow");
			}
		});
		
		$("#reportform").submit();
	}
	
	function report_duplicate(link, id){
		if (logged_in == false){
			loginbox(link);
			return false;
		}
		if (confirm("Czy na pewno chcesz zgłosić ten demotywator, jako duplikat?")){
			var comm = prompt('Jeśli chcesz, możesz podać dodatkowe informacje - np link do oryginalnego demota, itp.','');
			$.get("/report/duplicate/"+ id + "/" + $.base64Encode(comm), {}, function(data) {
				if (data == "success"){ 
					$("#duplicate_demotivator_"+id).replaceWith("Zgłoszenie przyjęte!");
				}else if (data == "wrong_id"){
					alert("Złe id!");
				}else if (data == "not_exist"){
					alert("Ten demotywator nie istnieje. Być może ktoś go w tzw. \"międzyczasie\" usunął?");
				}else if (data == "database_error"){
					alert("Z jakiegoś powodu nie można zaraportować tego demotywatora.");
				}else if (data == "already_reported"){
					$("#duplicate_demotivator_"+id).replaceWith("Już raportowałeś ten demotywator!");
				}else if (data == "equal_user_id"){
					$("#duplicate_demotivator_"+id).replaceWith("Nie możesz raportować swojego demotywatora!");
				}else if (data == "not_logged"){
					alert("Nie jesteś zalogowany.");
				}
			});
			return false;
		}
	}
	
	
	$(function (){
		$("a.favorite").click(
		function (){
			if (logged_in == false){
				loginbox(this);
				return false;
			}
			var message;
			var o = $(this);
			obj = $(o).parent();
			$.get(o.attr('href'), {}, function(data, textStatus){
			res = data.split(",");
			if(textStatus == 'success')
			{
				if(res[0] == 'dodano') //dodano
				{
					message = 'Dodano do ulubionych';
					o.text("Usuń");
					o.attr('href','/index.php/user/delete_favorite/'+res[1]);
				}
				else if(res[0] == 'usunieto') //usunieto
				{
					message = 'Usunięto z ulubionych';
					o.text("Dodaj");
					o.attr('href','/index.php/user/add_favorite/'+res[1]);
					if(moje_ulubione == 1)
						$("#demot"+res[1]).fadeOut();
				}
				else if(res[0] == 'istnieje') //istnieje w ulubionych
				{
					message = 'Istnieje w ulubionych';
					o.text("Usuń");
					o.attr('href','/index.php/user/delete_favorite/'+res[1]);
				}
				else if(res[0] == 'nie_istnieje') //nie istnieje
					message = 'Nie istnieje w ulubionych';
				else if(res[0] == 'brak_demota') //brak demota w bazie
					message = 'Brak demota o podanym ID';
				else if(res[0] == 'niezalogowany') //nie zalogowany user
					message = 'Zaloguj się';
				else if(res[0] == 'brak_danych') //brak wszystkich wymaganych danych
					message = 'Brak wszystkich danych (id demota?)';
				else
					message = data;
					
				var r = $(".vote_result", obj);
					r.html(" "+message+" ");
					r.fadeIn("slow");	
				
			}
			else
				$(".vote_result").text("Błąd skryptu");
			})
			return false;
		});
	});
	
	
	//loginbox
	function close_loginbox(){
		var o = $("#loginbox");
		o.fadeOut("slow");
	};
	

	function loginbox(link, url){
		var o = $("#loginbox");
		var lnk = $(link);
		if ($("#loginbox:visible").length > 0){
			var justHide = true;
		}
		else
		{
			o.fadeOut(0);
			//jeśli przekazujemy drugi parametr, to jest to url, na ktory ma przekierowac po zalogowaniu
			if (url != undefined){
				$('#login_redirect').val(url);
			}
			$("#loginbox h2").html('<div style="float:left;">Logowanie</div><div style="float:right;"><a href="#" onclick="close_loginbox(); return false;">X</a>&nbsp</div>');
			$("#loginbox .loginbox_message").text('Aby to zrobić zaloguj się.');
			$("#loginbox .demotivator").css({'width' : '350px', 'margin-top' : '30px'});
			$("#log_in").css({'margin-left' : '0px','padding-left' : '10px','color' : '#FFFFFF'});
	        o.css("left", lnk.position().left - 20);
	        o.css("top", lnk.position().top - 20);
	        o.fadeIn("slow");
		}
	};
		
/* OZNACZANIE KOMENTARZY */
	
	function hide_comment(id, komunikat){
		if (confirm(komunikat)){
			$.get("/comment/hide/"+id, {}, function(data) {
				res = data.split("|");
				if (res[0] == "success"){
					$(".commentbuttons_"+res[1]).hide();
					$("#comment_"+res[1]).addClass("negative");
					$("p.commcontent_"+res[1]).text("Komentarz usunięty");
				}else if (res[0] == "error"){
					alert('Błąd podczas usuwania komentarza!');
				}else if (res[0] == "not_allowed"){
					alert("Nie masz uprawnień, by to zrobić!");
				}else if (res[0] == "wrong_id"){
					alert("Nie ma takiego komentarza! Być może ktoś Cię uprzedził.");
				}
			});
			return false;
		}
	}
	
	function delete_hided_comment(id, komunikat){
		if (confirm(komunikat)){
			$.get("/admin/comment/delete_hided_comment/"+id, {}, function(data){

				res = data.split("|");

				if (res[0] == "success"){
					$("#comment_"+res[1]).fadeOut();
				}else if (res[0] == "error"){
					alert('Błąd podczas usuwania komentarza!');
				}else if (res[0] == "wrong_id"){
					alert("Nie ma takiego komentarza! Być może ktoś Cię uprzedził.");
				}
			});
			return false;
		}
	}
	
	function restore_hided_comment(id){
		$.get("/admin/comment/restore_hided_comment/"+id, {}, function(data){

			res = data.split("|");
			if (res[0] == "success"){
				$("#comment_"+res[1]).fadeOut();
			}else if (res[0] == "error"){
				alert('Błąd podczas przywracania komentarza!');
			}else if (res[0] == "wrong_id"){
				alert("Nie ma takiego komentarza! Być może ktoś Cię uprzedził.");
			}
		});
		return false;
	}

 /* auto chowanie/pokazywanie komentarzy */
	
	function change_auto_show_comments(){

		$.get("/comment/change_auto_show_comments", {}, function(data) {
			if (data == "disable"){
				//$("#comment_"+res[1]).fadeOut();
			}else if (data == "enable"){
				//alert('włączone!');
			}else if (data == "disable"){
				//alert("wyłączone!");
			}else if (data == "not_logged"){
				//alert("Nie jesteś zalogowany.");
			}
		});
		return false;
	}
	
	
	function editComment(id, hasparent){
		var text = $(".commcontent_"+id).text();
		if(hasparent == false)
			$(".commcontent_"+id).html('<textarea style="width:700px; height:100px; background:#212121; color:#FFF; font-family:trebuchet ms,verdana,tahoma; font-size:13px;" id="editedcomment">'+text+'</textarea><br /><input type="button" id="save_changes" value="Zapisz zmiany" onClick="saveEdit('+id+'); return false" />');
		else
			$(".commcontent_"+id).html('<textarea style="width:630px; height:100px; background:#212121; color:#FFF; font-family:trebuchet ms,verdana,tahoma; font-size:13px;" id="editedcomment">'+text+'</textarea><br /><input type="button" id="save_changes" value="Zapisz zmiany" onClick="saveEdit('+id+'); return false" />');
	}
	
	function saveEdit(comment_id){
		var editedcomment = $("#editedcomment").val();
		$.post("/comment/edit/"+comment_id, { text: editedcomment },function(data){
			var res = data.split('|');
			if(res[0] == 'ok')
				$(".commcontent_"+comment_id).text(editedcomment);
			else if(res[0] == 'badword')
			{
				var info = "Wykryto niedozwolone słowo w treści komentarza!";
				if (res[1]){
					info += "<br />"+"Lista wyrazów zakazanych: <br /><b class='red'>"+res[1]+"</b>";
				}
				$("#overlay").fadeIn();
				$("#modWin").html(info);
				$("#modWin").fadeIn();
				setTimeout(function(){ 
					$("#modWin").fadeOut();
					$("#overlay").fadeOut();
				}, 3000 )
			}
			else
				alert('Wystąpił błąd');
		});
		return false;
	};
	
	function comment_reply(parent_id, demotivator_id){
		if ($("div.reply_form:visible").length > 0)
			$("div.reply_form").remove();
		$("#comment_"+parent_id).after('<div class="reply_form" style="display:none; padding-left:80px;"><h3>Odpowiedz</h3><form name="comments"><textarea name="comment" id="comment_reply"  style="margin:2px; width:500px; height:100px;"></textarea><br /><input onClick="addComment('+demotivator_id+'); return false;" id="commentsubmit" type="button" value="Wyślij" style="margin:2px"/> <input class="commentclose" onClick="comment_close(); return false;" type="button" value="Anuluj" style="margin:2px"/><input type="hidden" id="parent_id" name="parent_id" value="'+parent_id+'" /></form></div>');
		$("div.reply_form").fadeIn();
	}
	
	
	function comment_close(){
		//zamykanie okno odpowiedzi
		$("div.reply_form").fadeOut();
		setTimeout(function(){ 
			$("div.reply_form").remove();
		}, 700 )
		return false;
	}
	
	
	function addComment(demotivator_id){
		if ($('#comment').val() == '' && $('#comment_reply').val() == ''){
			alert('Musisz wpisać jakiś komentarz!');
		}
		else
		{				
			$("#overlay").fadeIn();
			$("#modWin").html('Dodawanie komentarza... <img src="/res/img/loading.gif" />');
			$("#modWin").fadeIn();
			var parent = $("input#parent_id").val();
			if(parent > 0)
				var commenttext = $("#comment_reply").val();
			else
				var commenttext = $("#comment").val();
			
			
			$.post("/demotivator/comment_ajax/"+demotivator_id, { comment: commenttext, parent_id: parent },function(data){
				var res = data.split("|");
				
				if(res[3] == 'true')
				{
					var admin_class = 'admin username';
					var admin_class2 = 'class="admin"';
				}
				else
				{
					var admin_class = '';
					var admin_class2 = '';
				}				
				
				if(res[0] == 'added')
				{
					$("#modWin").text("Dodano komentarz");
					if(parent == 0)
						$("h3#new_comment").before('<div class="comment" id="comment_'+res[1]+'"><div class="comminfo"><h3 class=" '+admin_class+' username"><img src="'+res[2]+'" /><a href="/user/'+username+'" '+admin_class2+'>'+username+'</a></h3>'+res[4]+'</div><p class="commcontent commcontent_'+res[1]+'">'+commenttext+'</p><p class="commentbuttons_'+res[1]+'"><a href="javascript:void(0);" onClick="editComment('+res[1]+'); return false;">[edytuj]</a> <a href="javascript:void(0);" onClick="hide_comment('+res[1]+', \'Czy na pewno chcesz usunąć ten komentarz?\'); return false;">[usuń]</a></p></div>');
					else
					{
						$("div#parent_end_"+parent).before('<div class="reply" id="comment_'+res[1]+'"><div class="comminfo"><h3 class="'+admin_class+' username"><img src="'+res[2]+'" /><a href="/user/'+username+'" '+admin_class2+'>'+username+'</a></h3>'+res[4]+'</div><p class="commcontent commcontent_'+res[1]+'">'+commenttext+'</p><p class="commentbuttons_'+res[1]+'"><a href="javascript:void(0);" onClick="editComment('+res[1]+'); return false;">[edytuj]</a> <a href="javascript:void(0);" onClick="hide_comment('+res[1]+', \'Czy na pewno chcesz usunąć ten komentarz?\'); return false;">[usuń]</a></p></div>');
						$("div.reply_form").fadeOut();
						$("div.reply_form").remove();
					}
					$("#comment").val('');
					location.hash = 'comment_'+res[1];
					setTimeout(function(){ 
						$("#modWin").fadeOut();
						$("#overlay").fadeOut();
					}, 2000 )
					
					if($(".no_comments:visible").length > 0)
						$("h2.no_comments").fadeOut();
				}
				else if(res[0] == 'wait_2min')
				{
					$("#modWin").text("Musisz odczekać 2 minuty by dodać nowy komentarz");
					setTimeout(function(){ 
						$("#modWin").fadeOut();
						$("#overlay").fadeOut();
					}, 2000 )
				}
				else if(res[0] == 'must_wait')
				{
					$("#modWin").text("Możesz rozpocząć komentowanie demotywatorów po 12 godzinach od założenia konta (musi minąć jeszcze "+res[1]+"). Rozejrzyj się przez ten czas dokładnie po serwisie.");
					setTimeout(function(){ 
						$("#modWin").fadeOut();
						$("#overlay").fadeOut();
					}, 4000 )
				}
				else if(res[0] == 'badword')
				{
					var info = "Wykryto niedozwolone słowo w treści komentarza!";
					if (res[1]){
						info += "<br />"+"Lista wyrazów zakazanych: <br /><b class='red'>"+res[1]+"</b>";
					}
					$("#modWin").html(info);
					setTimeout(function(){ 
						$("#modWin").fadeOut();
						$("#overlay").fadeOut();
					}, 3000 )
				}
				else if(res[0] == 'banned')
				{
					$("#modWin").text("Użytkownik zbanowany");
					setTimeout(function(){ 
						$("#modWin").fadeOut();
						$("#overlay").fadeOut();
					}, 2000 )
				}
				else
				{
					$("#modWin").text("Wystąpił błąd");
					setTimeout(function(){ 
						$("#modWin").fadeOut();
						$("#overlay").fadeOut();
					}, 2000 )
					
				}
			});
		}
		return false;
	};
	
	function show_hidden_comment(id){
		$("#comment_"+id).slideToggle();
		if($(this).text() == 'pokaż')
			$(this).text('ukryj');
		else
			$(this).text('pokaż');
	}
	
	function showbuttons(){
		var address = window.location.href;
		var pos = address.split("#");
		if(pos[1] != null)
		{
			setTimeout(function(){ 
				location.hash = pos[1];
			}, 1000 )
		}
		if(user_id > 0)
		{
			$(".reply_button").show();
		}
		$(".commentbuttons_"+user_id).show();
	};
	
	$(function () {
		$("#close_account").click ( function () {				
			var pwd = $("#close_password").val();
			if (!(pwd)){ alert('Musisz wprowadzić hasło'); return false;}
			
			var url = $(this).attr("href");
			
			$.get(url + '/' + pwd , {}, function(data) {
				if (data == 'admin'){
					alert ('Admin nie może zamknąc swojgo konta - sorry Winetou');
				}else if (data == 'bad_password'){
					alert ('Podałeś niepoprawne hasło');
				}else if (data == 'success'){
					window.location = "/";
				}else{
					alert('Wprowadź wpierw hasło');
				}
			});
			return false;			
		});
	});
	
	//myspace
	function GetThis(T, C, U, L)
	{
	    var targetUrl = 'http://www.myspace.com/index.cfm?fuseaction=postto&' + 't=' + encodeURIComponent(T)
	    + '&c=' + encodeURIComponent(C) + '&u=' + encodeURIComponent(U) + '&l=' + L;
	    window.open(targetUrl);
	}
	
	function dmail(){
		var pms_num = $.cookie('demotywatory_pms_'+user_id);
		if(pms_num > 0)
		{
			$("span#dmail").html('<a id="pms_link" href="/dmail" class="pm_blink">Masz wiadomość (<span id="pms_num">'+pms_num+'</span>)</a>');
		}
		else if(pms_num != null)
		{
			$("span#dmail").html('<a id="pms_link" href="/dmail">Prywatne wiadomości</a>');
		}
		else if(user_id > 0)
		{
			$.get("/message/check_num", {}, function(data){
				var date = new Date();
	            date.setTime(date.getTime() + (5 * 60 * 1000));
				$.cookie('demotywatory_pms_'+user_id, data, {path: '/', expires: date});
				
				if(data > 0)
				{
					$("span#dmail").html('<a id="pms_link" href="/dmail" class="pm_blink">Masz wiadomość (<span id="pms_num">'+data+'</span>)</a>');
				}
				else
					$("span#dmail").html('<a id="pms_link" href="/dmail">Prywatne wiadomości</a>');
			});
		}
	}
	
	//dodawanie do obserwowanych
	function observe(username, action){
		$.get('/obserwuj/'+username+'/'+action , {}, function(data) {
			if (data == 'saved')
				$("#obs_info").text("Dodano do obserwowanych");
			else if(data == 'observed')
				$("#obs_info").html('Już obserwujesz tego użytkownika. <a href="javascript:void(0)" onClick="observe(\''+username+'\',\'remove\')">[ usuń z obserwowanych ]</a>');
			else if(data == 'removed')
				$("#obs_info").html('Usunięto z obserwowanych');
			else
				alert('Wystąpił błąd');
		});
	}
	
	
	//Formularz rejestracyjny
	$(function () {
		$('#username').change(function() {
			if($("#user_exists").length > 0)
			{
				$("#user_exists").remove();
				$("input#rejestruj").removeAttr("disabled");
			}
		});
		/*
		 rezygnujemy z tej funkcji dla sprawdzania z generica
		$('#email').focus(function(){
			if($("#username").val() != '')
			{
				var username = $("input#username").val();
				$.get('/check_username/'+username, {}, function(data) {
					if(data == 'found')
					{
						if($("#user_exists").length == 0)
						{
							$("#username").after(' <span id="user_exists">Taki użytkownik już istnieje!</span>');
							$("input#rejestruj").attr("disabled","disabled");
						}
					}
				});	
			}
		});
		*/
	});
	var check;
/**
 * Reguluje czasowe wywolywanie funkcji check_username przy wstukiwaniu klawiszy
 */
	function check_login(){
		clearTimeout(check);
		check = setTimeout(function(){
			check_username();
		}, 2000);
	}
/**
 * Sprawdza, czy podany login jest dost�pny
 */
	function check_username(){
		clearTimeout(check);
		$('#username_check').remove();
		$('#username').after('<span id="username_check" class="red"><img src="/res/img/loading2.gif" /> </span>');
		var login = $('#username').val();
		if (login.length < 3){
			$('#username_check').html('Za krótki');
		}else{
			$.getJSON("/user/correct_username/"+login, {}, function(data) {
				if (data.success){
					$('#username_check').html('<img src="/res/img/icons/correct.png" />');
				}else{
					if (data.error == 'username_already_exists'){
						$('#username_check').html('Zajęty');
					}else{
						$('#username_check').html('Niepoprawny');
					}
				}
			});
		}
	}

/**
 * Funkcja wykonuje akcję wskazaną w parametrze
 * @param action
 * @return bool
 */
function action_after(action){
	if (jQuery.isFunction(action)){
		action();
	}else{
		var action_array = action.split('|');
		if (action_array[0] == 'delete_suggests'){
			delete_suggests(action_array[1], action_array[2], action_array[3])
		}else if (action_array[0] == 'close_demotivator_report'){
			$('#report_demot_'+action_array[1]).fadeOut();
		}
	}
}

//base64
(function($){

		var keyString = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

		var uTF8Encode = function(string) {
			string = string.replace(/\x0d\x0a/g, "\x0a");
			var output = "";
			for (var n = 0; n < string.length; n++) {
				var c = string.charCodeAt(n);
				if (c < 128) {
					output += String.fromCharCode(c);
				} else if ((c > 127) && (c < 2048)) {
					output += String.fromCharCode((c >> 6) | 192);
					output += String.fromCharCode((c & 63) | 128);
				} else {
					output += String.fromCharCode((c >> 12) | 224);
					output += String.fromCharCode(((c >> 6) & 63) | 128);
					output += String.fromCharCode((c & 63) | 128);
				}
			}
			return output;
		};

		var uTF8Decode = function(input) {
			var string = "";
			var i = 0;
			var c = c1 = c2 = 0;
			while ( i < input.length ) {
				c = input.charCodeAt(i);
				if (c < 128) {
					string += String.fromCharCode(c);
					i++;
				} else if ((c > 191) && (c < 224)) {
					c2 = input.charCodeAt(i+1);
					string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
					i += 2;
				} else {
					c2 = input.charCodeAt(i+1);
					c3 = input.charCodeAt(i+2);
					string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
					i += 3;
				}
			}
			return string;
		}

		$.extend({
			base64Encode: function(input) {
				var output = "";
				var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
				var i = 0;
				input = uTF8Encode(input);
				while (i < input.length) {
					chr1 = input.charCodeAt(i++);
					chr2 = input.charCodeAt(i++);
					chr3 = input.charCodeAt(i++);
					enc1 = chr1 >> 2;
					enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
					enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
					enc4 = chr3 & 63;
					if (isNaN(chr2)) {
						enc3 = enc4 = 64;
					} else if (isNaN(chr3)) {
						enc4 = 64;
					}
					output = output + keyString.charAt(enc1) + keyString.charAt(enc2) + keyString.charAt(enc3) + keyString.charAt(enc4);
				}
				return output;
			},
			base64Decode: function(input) {
				var output = "";
				var chr1, chr2, chr3;
				var enc1, enc2, enc3, enc4;
				var i = 0;
				input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
				while (i < input.length) {
					enc1 = keyString.indexOf(input.charAt(i++));
					enc2 = keyString.indexOf(input.charAt(i++));
					enc3 = keyString.indexOf(input.charAt(i++));
					enc4 = keyString.indexOf(input.charAt(i++));
					chr1 = (enc1 << 2) | (enc2 >> 4);
					chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
					chr3 = ((enc3 & 3) << 6) | enc4;
					output = output + String.fromCharCode(chr1);
					if (enc3 != 64) {
						output = output + String.fromCharCode(chr2);
					}
					if (enc4 != 64) {
						output = output + String.fromCharCode(chr3);
					}
				}
				output = uTF8Decode(output);
				return output;
			}
		});
	})(jQuery);


	//badziewie do sekcji specjalnych
function RandomGallery(array){
/**
 * Pobiera demotywatory sekcji do wyświetlenia w głosowaniu
 */
		var self = this;

		this.demotivatorsList = array.demotivatorsList,
		this.section_id = array.section_id,
		this.info_place = array.info_place,
		this.gallery_place = array.gallery_place,
		this.per_page = array.per_page,
		this.display_vote_menu = true,
		this.demotivatorsListPage = null,
		this.baseHref = array.baseHref,
		this.type = array.type,
		this.getDemotivatorsListUrl = array.getDemotivatorsListUrl,

		this.list_template = false,
		this.single_template = false,
		this.paginator_template = false,

		this.getDemotivatorsList = function(){
			$.ajax({
				url: self.getDemotivatorsListUrl,
				cache: false,
				beforeSend: function(){
					self.info_place.html('<img src="/res/img/loading2.gif" ALT="" align="absmiddle"> Ładowanie...');
				},
				success: function(data){
					var data = eval('('+data+')');
					self.display_vote_menu = data.display_vote_menu;
					switch (self.type){
						case 'chronological':
							self.demotivatorsList = self.shuffle(data.demotivators_list);
							break;
						case 'best':
							self.demotivatorsList = data.demotivators_list;
							break;
					}

					self.draw(1);
				},
				error: function(data){
					try{
						data = eval('('+data.responseText+')');
					}catch(exception){
						data = false;
					}
					var error;
					if (data !== false){
						if (data.error.user == 'havent_permission'){
							error = 'Nie masz uprawnień aby zobaczyć te wyniki';
						}else{
							error = 'Nieobsługiwany błąd';
						}
					}else{
						error = 'Server napotkał nierozpoznany błąd!';
					}
					self.info_place.html(error);
				}
			});
		},
/**
 * pobiera szablon strony i uzupełnia demotami
 */
		this.draw = function(page_num){
			//Jesli nie ma szablonow, to je pobieramy
			if (!self.list_template || !self.single_template || !self.paginator_template){
				$.ajax({
					url: '/section/get_gallery_template/'+self.section_id,
					cache: false,
					beforeSend: function(){
						self.info_place.html('<img src="/res/img/loading2.gif" ALT="" align="absmiddle"> Ładowanie...');
					},
					success: function(data){
						var data = eval('('+data+')');
						self.list_template = $.base64Decode(data.list);
						self.single_template = $.base64Decode(data.single);
						self.paginator_template = $.base64Decode(data.paginator);
						self.completeTemplates(page_num);
					},
					error: function(data){
						try{
							data = eval('('+data.responseText+')');
						}catch(exception){
							data = false;
						}
						var error;
						if (data !== false){
							if (data.error.section == 'doesnt_exist'){
								self.info_place.html('Podana sekcja nie istnieje');
							}
							if (data.error.section){
								switch (data.error.section){
									case 'list_doesnt_exist':
										self.info_place.html('Nie odnalazłem widoku listy');
										break;
									case 'single_doesnt_exist':
										self.info_place.html('Nie odnalazłem widoku pojedynczego demotywatora');
										break;
									case 'paginator_doesnt_exist':
										self.info_place.html('Nie odnalazłem widoku paginatora');
										break;
								}
							}
							error = data.error;
						}else{
							error = 'Server napotkał nierozpoznany błąd!';
						}
						self.info_place.html(error);
					}
				});
			}else{
				self.completeTemplates(page_num);
			}
		},
/**
 * wypełnia szablony odpowiednim kodem
 */
		this.completeTemplates = function(page_num){
			var demotivators_content = '';
			var start = (self.per_page * (page_num-1))
			var stop = start+10;
			self.demotivatorsListPage = self.demotivatorsList.slice(start, stop);
			for (var i in self.demotivatorsListPage){
				var complete_single_template;
				{
					complete_single_template = self.single_template;
					complete_single_template = complete_single_template.replace(/%title%/g, self.demotivatorsListPage[i].title);
					complete_single_template = complete_single_template.replace(/%text1%/g, self.demotivatorsListPage[i].text1);
					complete_single_template = complete_single_template.replace(/%text2%/g, self.demotivatorsListPage[i].text2);
					if (self.demotivatorsListPage[i].user.username == -1){
						complete_single_template = complete_single_template.replace(/%username%/g, '');
					}else{
						complete_single_template = complete_single_template.replace(/%username%/g, 'przez <a href="/user/'+self.demotivatorsListPage[i].user.username+'">'+self.demotivatorsListPage[i].user.username+'</a>');
					}
					complete_single_template = complete_single_template.replace(/%filename%/g, self.demotivatorsListPage[i].filename);
					complete_single_template = complete_single_template.replace(/%id%/g, self.demotivatorsListPage[i].id);
					complete_single_template = complete_single_template.replace(/%mainthumb%/g, self.demotivatorsListPage[i].mainthumb);
					if (self.demotivatorsListPage[i].source)
						complete_single_template = complete_single_template.replace(/%source%/g, "Źródło: "+self.demotivatorsListPage[i].source);
					else
						complete_single_template = complete_single_template.replace(/%source%/g, "");
					complete_single_template = complete_single_template.replace(/%dateadded%/g, self.demotivatorsListPage[i].dateadded);
					complete_single_template = complete_single_template.replace(/%height%/g, self.demotivatorsListPage[i].height);
					if (!self.display_vote_menu){
						complete_single_template = complete_single_template.replace(/%voting%/g,
						' Punkty: '+
						' <span class="points">'+self.demotivatorsListPage[i].total_votes+'</span><span class="count"></span> '+
						' <span class="vote_result">Głosowanie zakończone</span>');
					}else if (self.demotivatorsListPage[i].total_votes == -1 && self.demotivatorsListPage[i].total_points == -1){
						complete_single_template = complete_single_template.replace(/%voting%/g,
						' Głosuj: '+
						' <a href="/demotivator/vote/'+self.demotivatorsListPage[i].id+'/up" onclick="votowanie(this, location.href); return false;" class="vote voteup iconlik">mocne</a> '+

						' <a href="#" class="report_duplicate" id="duplicate_demotivator_'+self.demotivatorsListPage[i].id+'" onclick="report_duplicate(\'\', \''+self.demotivatorsListPage[i].id+'\'); return false">było</a> '+
						' Punkty: '+
						' <span class="points"></span><span class="count"></span> '+
						' <span class="vote_result">Zagłosuj, zobaczysz ocenę</span> ');
						//complete_single_template = complete_single_template.replace(/%points%/g, '');
						//complete_single_template = complete_single_template.replace(/%count%/g, '');
						//complete_single_template = complete_single_template.replace(/%vote_result%/g, 'Zagłosuj, zobaczysz ocenę');
					}else{
						complete_single_template = complete_single_template.replace(/%voting%/g,
						' Głosuj: '+
						' <a href="/demotivator/vote/'+self.demotivatorsListPage[i].id+'/up" onclick="votowanie(this, location.href); return false;" class="vote voteup iconlik">mocne</a> '+

						' <a href="#" class="report_duplicate" id="duplicate_demotivator_'+self.demotivatorsListPage[i].id+'" onclick="report_duplicate(\'\', \''+self.demotivatorsListPage[i].id+'\'); return false">było</a> '+
						' Punkty:'+
						' <span class="points">'+self.demotivatorsListPage[i].total_points+'</span> <span class="count"></span> '+
						' <span class="vote_result"></span> ');
						//complete_single_template = complete_single_template.replace(/%points%/g, self.demotivatorsListPage[i].total_votes);
						//complete_single_template = complete_single_template.replace(/%count%/g, ' ('+self.demotivatorsListPage[i].total_points+')');
						//complete_single_template = complete_single_template.replace(/%vote_result%/g, '');
					}

				}
				//doklejamy na koniec listy nowego demota;
				demotivators_content += complete_single_template;
			}
			//paginatorek
			var complete_paginator_template = self.paginator_template;
			var pages_count = Math.floor(self.demotivatorsList.length / self.per_page)+1*(Number(Boolean((self.demotivatorsList.length%self.per_page))));
			complete_paginator_template = complete_paginator_template.replace("%pages_count%", pages_count);
			complete_paginator_template = complete_paginator_template.replace("%per_page%", 40);
			complete_paginator_template = complete_paginator_template.replace("%current_page%", page_num);
			complete_paginator_template = complete_paginator_template.replace("%site_url%", self.baseHref+'/page/');

			var complete_list_template = self.list_template;

			complete_list_template = complete_list_template.replace('%demotivators%', demotivators_content);
			complete_list_template = complete_list_template.replace('%paginator%', complete_paginator_template);

			self.info_place.html('');
			self.gallery_place.html(complete_list_template);
			$("a.favorite").bind('click', function(){
				add_to_favorite(this, location.href);
				return false;
			});
			$('#paginator_3000 a').bind('click', function(){
				var target_page_num = $(this).html();
				self.draw(target_page_num);
				location.href = self.baseHref+'#section';
				location.href = self.baseHref+'#/page/'+target_page_num;
				return false;
			});
			$('body').bind('mouseup', function(){
				$('#paginator_3000 a').bind('click', function(){
					var target_page_num = $(this).html();
					self.draw(target_page_num);
					location.href = self.baseHref+'#section';
					location.href = self.baseHref+'#/page/'+target_page_num;
					return false;
				});
			});
		},
/**
 * zwraca pomieszaną tablicę z demotami
 */
		this.shuffle = function(array){
			var seed = self.getRandomSeed();
			seed = seed%array.length;
			var suffix = array.splice(seed);
			array = suffix.concat(array);
			return array;
		},
/**
 * zwraca ziarenko losowosci na podstawie ktorego miksujemy liste demotow
 */
		this.getRandomSeed = function(){
			var seed = $.cookie('section_'+self.section_id+'_seed');
			if (!seed){
				seed = Math.floor(Math.random()*10000);
				$.cookie('section_'+self.section_id+'_seed', seed, { expires: 60*60*24*7 });
			}
			return seed;
		}
	}
/**
 * Funkcja generująca automatycznie sliderki
 * @example najprostsze
	$("#widget_nutella").Widget_slider();
 * @example proste z pierwszym wyswietleniem trzymanym w ciastku
	$(".widget_garnier").Widget_slider({
		first_time_slide_params:{
			cookie_name: 'garnier_widget'
		}
	});
 * @example cała możliwa konfiguracja wraz z wyjasnieniem
	$(".widget_fanta").Widget_slider({
		animate_speed: 1000, //prędkość (ms) wysuwania i chowania sliderka [opcjonalne] [domyślnie 300]
		hover_time_to_slide: 500, //czas (ms), jaki trzeba odczekać po najechaniu kursora, żeby ten się wysunął [opcjonalnie] [domyślnie 0]
		orientation: 'left', //orientacja ('left' lub 'right') z której strony ma się wysuwać slider [opcjonalne] [domyślnie czytane z css'a obiektu]
		animate_distance: -413, //odległość (px), na którą chowa się slider po odjechaniu kursora z warstwy [opcjonalne] [domyślnie czytane z css'a]
		first_time_slide_params:{ //parametry pierwszego wyjechania sliderka [opcjonalne] [domyślnie false]
			cookie_name: 'fanta_widget', //nazwa (string) ciastka przechowywujacego informacje czy juz zostal wysuniety [wymagane]
			fade_out_time: 10000, //czas (ms), po jakim się schowa automatycznie slider [opcjonalne] [domyślnie 5000]
			able_to_hide_on_hover: 0 //czy można (1 - tak, 0 - nie) schować sliderek po najechaniu i odjechaniu z niego kursorem [opcjonalne] [domyślnie 1 - tak]
		}
	});
 */
(function( $ ){
	$.fn.Widget_slider = function(params) {
		var self = this;
		//wartości opcjonalne
		//prędkość animacji
		if (params && params.animate_speed)
			this.animate_speed = params.animate_speed;
		else
			this.animate_speed = 300;
		//czas, na jaki trzeba przesunąć kursor, żeby reklama wyjechała
		if (params && params.hover_time_to_slide)
			this.hover_time_to_slide = params.hover_time_to_slide;
		else
			this.hover_time_to_slide = 0;
		//orientacja
		if (params && params.orientation)
			this.orientation = params.orientation;
		else{
			//interesuja nas tylko ujemne wartosci, bo to znaczy, ze div jest schowany
			if (parseInt(self.css('right')) < 0){
				this.orientation = 'right';
			}else{
				this.orientation = 'left';
			}
		}
		//odleglosc wysuwania
		if (params && params.animate_distance)
			this.animate_distance = params.animate_distance;
		else{
			self.animate_distance = parseInt(self.css(self.orientation));
		}

		//parametry stałe
		//odpowiada za timeout zwiazany z chowaniem
		this.fade_out = false;
		//odpowiada za timeout zwiazany z pokazywaniem
		this.fade_in = false;
		//parametry do pierwszego wysunięcia paska (zapisywane w ciastku) lub false, jesli nie ma
		if (params && params.first_time_slide_params){
			this.first_time_slide_params = params.first_time_slide_params;
			if (!self.first_time_slide_params.fade_out_time)
				self.first_time_slide_params.fade_out_time = 5000;
			if (!self.first_time_slide_params.able_to_hide_on_hover)
				self.first_time_slide_params.able_to_hide_on_hover = 1;
		}else{
			this.first_time_slide_params = false;
		}
/**
* Inicjalizacja sliderka
*/
		this.initialize = function(){
			self.hover(function(){
				self.fade_in = setTimeout(function(){
					if (self.orientation == 'right')
						self.stop(true, false).animate({ right : "0"}, self.animate_speed);
					else
						self.stop(true, false).animate({ left : "0"}, self.animate_speed);
				}, self.hover_time_to_slide);
			},function(){
				//jesli nie bawimy sie w pokazywanie za pierwszym razem lub bawimy sie, ale mozna je ukryc onhover, to wykonujemy
				if (self.fade_out == false || self.first_time_slide_params.able_to_hide_on_hover){
					if (self.orientation == 'right')
						self.stop(true, false).animate({right: self.animate_distance}, self.animate_speed);
					else
						self.stop(true, false).animate({left: self.animate_distance}, self.animate_speed);
					clearTimeout(self.fade_in);
					clearTimeout(self.fade_out);
				}
			}, self.hover_time_to_slide);
			//wysuwamy widget na chwilkę, jeśli dostaliśmy takie parametry
			if (self.first_time_slide_params){
				self.first_time_slide();
			}
		},
/**
* Próbuje wyświetlić za pierwszym razem dla osoby sliderek
*/
		this.first_time_slide = function(){
			//sprawdamy, czy jest ustawione ciastko
			if($.cookie(self.first_time_slide_params.cookie_name) != '1'){
				//odznaczamy ciasteczko - już widziane
				$.cookie(self.first_time_slide_params.cookie_name, '1',{ expires: 1*60*3 }); //3 miesiace
				if (self.orientation == 'right')
					self.stop(true, false).animate({right: "0"}, self.animate_speed);
				else
					self.stop(true, false).animate({left: "0"}, self.animate_speed);

				self.fade_out = setTimeout(function(){
					self.fade_out = false;
					if (self.orientation == 'right')
						self.stop(true, false).animate({right: self.animate_distance}, self.animate_speed);
					else
						self.stop(true, false).animate({left: self.animate_distance}, self.animate_speed);
				}, self.first_time_slide_params.fade_out_time);
			}
		}
		self.initialize();
	};
})( jQuery );

//templaciki
(function(a){var r=a.fn.domManip,d="_tmplitem",q=/^[^<]*(<[\w\W]+>)[^>]*$|\{\{\! /,b={},f={},e,p={key:0,data:{}},h=0,c=0,l=[];function g(e,d,g,i){var c={data:i||(d?d.data:{}),_wrap:d?d._wrap:null,tmpl:null,parent:d||null,nodes:[],calls:u,nest:w,wrap:x,html:v,update:t};e&&a.extend(c,e,{nodes:[],parent:d});if(g){c.tmpl=g;c._ctnt=c._ctnt||c.tmpl(a,c);c.key=++h;(l.length?f:b)[h]=c}return c}a.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(f,d){a.fn[f]=function(n){var g=[],i=a(n),k,h,m,l,j=this.length===1&&this[0].parentNode;e=b||{};if(j&&j.nodeType===11&&j.childNodes.length===1&&i.length===1){i[d](this[0]);g=this}else{for(h=0,m=i.length;h<m;h++){c=h;k=(h>0?this.clone(true):this).get();a.fn[d].apply(a(i[h]),k);g=g.concat(k)}c=0;g=this.pushStack(g,f,i.selector)}l=e;e=null;a.tmpl.complete(l);return g}});a.fn.extend({tmpl:function(d,c,b){return a.tmpl(this[0],d,c,b)},tmplItem:function(){return a.tmplItem(this[0])},template:function(b){return a.template(b,this[0])},domManip:function(d,l,j){if(d[0]&&d[0].nodeType){var f=a.makeArray(arguments),g=d.length,i=0,h;while(i<g&&!(h=a.data(d[i++],"tmplItem")));if(g>1)f[0]=[a.makeArray(d)];if(h&&c)f[2]=function(b){a.tmpl.afterManip(this,b,j)};r.apply(this,f)}else r.apply(this,arguments);c=0;!e&&a.tmpl.complete(b);return this}});a.extend({tmpl:function(d,h,e,c){var j,k=!c;if(k){c=p;d=a.template[d]||a.template(null,d);f={}}else if(!d){d=c.tmpl;b[c.key]=c;c.nodes=[];c.wrapped&&n(c,c.wrapped);return a(i(c,null,c.tmpl(a,c)))}if(!d)return[];if(typeof h==="function")h=h.call(c||{});e&&e.wrapped&&n(e,e.wrapped);j=a.isArray(h)?a.map(h,function(a){return a?g(e,c,d,a):null}):[g(e,c,d,h)];return k?a(i(c,null,j)):j},tmplItem:function(b){var c;if(b instanceof a)b=b[0];while(b&&b.nodeType===1&&!(c=a.data(b,"tmplItem"))&&(b=b.parentNode));return c||p},template:function(c,b){if(b){if(typeof b==="string")b=o(b);else if(b instanceof a)b=b[0]||{};if(b.nodeType)b=a.data(b,"tmpl")||a.data(b,"tmpl",o(b.innerHTML));return typeof c==="string"?(a.template[c]=b):b}return c?typeof c!=="string"?a.template(null,c):a.template[c]||a.template(null,q.test(c)?c:a(c)):null},encode:function(a){return(""+a).split("<").join("&lt;").split(">").join("&gt;").split('"').join("&#34;").split("'").join("&#39;")}});a.extend(a.tmpl,{tag:{tmpl:{_default:{$2:"null"},open:"if($notnull_1){_=_.concat($item.nest($1,$2));}"},wrap:{_default:{$2:"null"},open:"$item.calls(_,$1,$2);_=[];",close:"call=$item.calls();_=call._.concat($item.wrap(call,_));"},each:{_default:{$2:"$index, $value"},open:"if($notnull_1){$.each($1a,function($2){with(this){",close:"}});}"},"if":{open:"if(($notnull_1) && $1a){",close:"}"},"else":{_default:{$1:"true"},open:"}else if(($notnull_1) && $1a){"},html:{open:"if($notnull_1){_.push($1a);}"},"=":{_default:{$1:"$data"},open:"if($notnull_1){_.push($.encode($1a));}"},"!":{open:""}},complete:function(){b={}},afterManip:function(f,b,d){var e=b.nodeType===11?a.makeArray(b.childNodes):b.nodeType===1?[b]:[];d.call(f,b);m(e);c++}});function i(e,g,f){var b,c=f?a.map(f,function(a){return typeof a==="string"?e.key?a.replace(/(<\w+)(?=[\s>])(?![^>]*_tmplitem)([^>]*)/g,"$1 "+d+'="'+e.key+'" $2'):a:i(a,e,a._ctnt)}):e;if(g)return c;c=c.join("");c.replace(/^\s*([^<\s][^<]*)?(<[\w\W]+>)([^>]*[^>\s])?\s*$/,function(f,c,e,d){b=a(e).get();m(b);if(c)b=j(c).concat(b);if(d)b=b.concat(j(d))});return b?b:j(c)}function j(c){var b=document.createElement("div");b.innerHTML=c;return a.makeArray(b.childNodes)}function o(b){return new Function("jQuery","$item","var $=jQuery,call,_=[],$data=$item.data;with($data){_.push('"+a.trim(b).replace(/([\\'])/g,"\\$1").replace(/[\r\t\n]/g," ").replace(/\$\{([^\}]*)\}/g,"{{= $1}}").replace(/\{\{(\/?)(\w+|.)(?:\(((?:[^\}]|\}(?!\}))*?)?\))?(?:\s+(.*?)?)?(\(((?:[^\}]|\}(?!\}))*?)\))?\s*\}\}/g,function(m,l,j,d,b,c,e){var i=a.tmpl.tag[j],h,f,g;if(!i)throw"Template command not found: "+j;h=i._default||[];if(c&&!/\w$/.test(b)){b+=c;c=""}if(b){b=k(b);e=e?","+k(e)+")":c?")":"";f=c?b.indexOf(".")>-1?b+c:"("+b+").call($item"+e:b;g=c?f:"(typeof("+b+")==='function'?("+b+").call($item):("+b+"))"}else g=f=h.$1||"null";d=k(d);return"');"+i[l?"close":"open"].split("$notnull_1").join(b?"typeof("+b+")!=='undefined' && ("+b+")!=null":"true").split("$1a").join(g).split("$1").join(f).split("$2").join(d?d.replace(/\s*([^\(]+)\s*(\((.*?)\))?/g,function(d,c,b,a){a=a?","+a+")":b?")":"";return a?"("+c+").call($item"+a:d}):h.$2||"")+"_.push('"})+"');}return _;")}function n(c,b){c._wrap=i(c,true,a.isArray(b)?b:[q.test(b)?b:a(b).html()]).join("")}function k(a){return a?a.replace(/\\'/g,"'").replace(/\\\\/g,"\\"):null}function s(b){var a=document.createElement("div");a.appendChild(b.cloneNode(true));return a.innerHTML}function m(o){var n="_"+c,k,j,l={},e,p,i;for(e=0,p=o.length;e<p;e++){if((k=o[e]).nodeType!==1)continue;j=k.getElementsByTagName("*");for(i=j.length-1;i>=0;i--)m(j[i]);m(k)}function m(j){var p,i=j,k,e,m;if(m=j.getAttribute(d)){while(i.parentNode&&(i=i.parentNode).nodeType===1&&!(p=i.getAttribute(d)));if(p!==m){i=i.parentNode?i.nodeType===11?0:i.getAttribute(d)||0:0;if(!(e=b[m])){e=f[m];e=g(e,b[i]||f[i],null,true);e.key=++h;b[h]=e}c&&o(m)}j.removeAttribute(d)}else if(c&&(e=a.data(j,"tmplItem"))){o(e.key);b[e.key]=e;i=a.data(j.parentNode,"tmplItem");i=i?i.key:0}if(e){k=e;while(k&&k.key!=i){k.nodes.push(j);k=k.parent}delete e._ctnt;delete e._wrap;a.data(j,"tmplItem",e)}function o(a){a=a+n;e=l[a]=l[a]||g(e,b[e.parent.key+n]||e.parent,null,true)}}}function u(a,d,c,b){if(!a)return l.pop();l.push({_:a,tmpl:d,item:this,data:c,options:b})}function w(d,c,b){return a.tmpl(a.template(d),c,b,this)}function x(b,d){var c=b.options||{};c.wrapped=d;return a.tmpl(a.template(b.tmpl),b.data,c,b.item)}function v(d,c){var b=this._wrap;return a.map(a(a.isArray(b)?b.join(""):b).filter(d||"*"),function(a){return c?a.innerText||a.textContent:a.outerHTML||s(a)})}function t(){var b=this.nodes;a.tmpl(null,null,null,this).insertBefore(b[0]);a(b).remove()}})(jQuery)
