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

var Drupal = Drupal || { 'settings': {}, 'behaviors': {}, 'themes': {}, 'locale': {} };

/**
 * Set the variable that indicates if JavaScript behaviors should be applied
 */
Drupal.jsEnabled = document.getElementsByTagName && document.createElement && document.createTextNode && document.documentElement && document.getElementById;

/**
 * Attach all registered behaviors to a page element.
 *
 * Behaviors are event-triggered actions that attach to page elements, enhancing
 * default non-Javascript UIs. Behaviors are registered in the Drupal.behaviors
 * object as follows:
 * @code
 *    Drupal.behaviors.behaviorName = function () {
 *      ...
 *    };
 * @endcode
 *
 * Drupal.attachBehaviors is added below to the jQuery ready event and so
 * runs on initial page load. Developers implementing AHAH/AJAX in their
 * solutions should also call this function after new page content has been
 * loaded, feeding in an element to be processed, in order to attach all
 * behaviors to the new content.
 *
 * Behaviors should use a class in the form behaviorName-processed to ensure
 * the behavior is attached only once to a given element. (Doing so enables
 * the reprocessing of given elements, which may be needed on occasion despite
 * the ability to limit behavior attachment to a particular element.)
 *
 * @param context
 *   An element to attach behaviors to. If none is given, the document element
 *   is used.
 */
Drupal.attachBehaviors = function(context) {
  context = context || document;
  if (Drupal.jsEnabled) {
    // Execute all of them.
    jQuery.each(Drupal.behaviors, function() {
      this(context);
    });
  }
};

/**
 * Encode special characters in a plain-text string for display as HTML.
 */
Drupal.checkPlain = function(str) {
  str = String(str);
  var replace = { '&': '&amp;', '"': '&quot;', '<': '&lt;', '>': '&gt;' };
  for (var character in replace) {
    var regex = new RegExp(character, 'g');
    str = str.replace(regex, replace[character]);
  }
  return str;
};

/**
 * Translate strings to the page language or a given language.
 *
 * See the documentation of the server-side t() function for further details.
 *
 * @param str
 *   A string containing the English string to translate.
 * @param args
 *   An object of replacements pairs to make after translation. Incidences
 *   of any key in this array are replaced with the corresponding value.
 *   Based on the first character of the key, the value is escaped and/or themed:
 *    - !variable: inserted as is
 *    - @variable: escape plain text to HTML (Drupal.checkPlain)
 *    - %variable: escape text and theme as a placeholder for user-submitted
 *      content (checkPlain + Drupal.theme('placeholder'))
 * @return
 *   The translated string.
 */
Drupal.t = function(str, args) {
  // Fetch the localized version of the string.
  if (Drupal.locale.strings && Drupal.locale.strings[str]) {
    str = Drupal.locale.strings[str];
  }

  if (args) {
    // Transform arguments before inserting them
    for (var key in args) {
      switch (key.charAt(0)) {
        // Escaped only
        case '@':
          args[key] = Drupal.checkPlain(args[key]);
        break;
        // Pass-through
        case '!':
          break;
        // Escaped and placeholder
        case '%':
        default:
          args[key] = Drupal.theme('placeholder', args[key]);
          break;
      }
      str = str.replace(key, args[key]);
    }
  }
  return str;
};

/**
 * Format a string containing a count of items.
 *
 * This function ensures that the string is pluralized correctly. Since Drupal.t() is
 * called by this function, make sure not to pass already-localized strings to it.
 *
 * See the documentation of the server-side format_plural() function for further details.
 *
 * @param count
 *   The item count to display.
 * @param singular
 *   The string for the singular case. Please make sure it is clear this is
 *   singular, to ease translation (e.g. use "1 new comment" instead of "1 new").
 *   Do not use @count in the singular string.
 * @param plural
 *   The string for the plural case. Please make sure it is clear this is plural,
 *   to ease translation. Use @count in place of the item count, as in "@count
 *   new comments".
 * @param args
 *   An object of replacements pairs to make after translation. Incidences
 *   of any key in this array are replaced with the corresponding value.
 *   Based on the first character of the key, the value is escaped and/or themed:
 *    - !variable: inserted as is
 *    - @variable: escape plain text to HTML (Drupal.checkPlain)
 *    - %variable: escape text and theme as a placeholder for user-submitted
 *      content (checkPlain + Drupal.theme('placeholder'))
 *   Note that you do not need to include @count in this array.
 *   This replacement is done automatically for the plural case.
 * @return
 *   A translated string.
 */
Drupal.formatPlural = function(count, singular, plural, args) {
  var args = args || {};
  args['@count'] = count;
  // Determine the index of the plural form.
  var index = Drupal.locale.pluralFormula ? Drupal.locale.pluralFormula(args['@count']) : ((args['@count'] == 1) ? 0 : 1);

  if (index == 0) {
    return Drupal.t(singular, args);
  }
  else if (index == 1) {
    return Drupal.t(plural, args);
  }
  else {
    args['@count['+ index +']'] = args['@count'];
    delete args['@count'];
    return Drupal.t(plural.replace('@count', '@count['+ index +']'));
  }
};

/**
 * Generate the themed representation of a Drupal object.
 *
 * All requests for themed output must go through this function. It examines
 * the request and routes it to the appropriate theme function. If the current
 * theme does not provide an override function, the generic theme function is
 * called.
 *
 * For example, to retrieve the HTML that is output by theme_placeholder(text),
 * call Drupal.theme('placeholder', text).
 *
 * @param func
 *   The name of the theme function to call.
 * @param ...
 *   Additional arguments to pass along to the theme function.
 * @return
 *   Any data the theme function returns. This could be a plain HTML string,
 *   but also a complex object.
 */
Drupal.theme = function(func) {
  for (var i = 1, args = []; i < arguments.length; i++) {
    args.push(arguments[i]);
  }

  return (Drupal.theme[func] || Drupal.theme.prototype[func]).apply(this, args);
};

/**
 * Parse a JSON response.
 *
 * The result is either the JSON object, or an object with 'status' 0 and 'data' an error message.
 */
Drupal.parseJson = function (data) {
  if ((data.substring(0, 1) != '{') && (data.substring(0, 1) != '[')) {
    return { status: 0, data: data.length ? data : Drupal.t('Unspecified error') };
  }
  return eval('(' + data + ');');
};

/**
 * Freeze the current body height (as minimum height). Used to prevent
 * unnecessary upwards scrolling when doing DOM manipulations.
 */
Drupal.freezeHeight = function () {
  Drupal.unfreezeHeight();
  var div = document.createElement('div');
  $(div).css({
    position: 'absolute',
    top: '0px',
    left: '0px',
    width: '1px',
    height: $('body').css('height')
  }).attr('id', 'freeze-height');
  $('body').append(div);
};

/**
 * Unfreeze the body height
 */
Drupal.unfreezeHeight = function () {
  $('#freeze-height').remove();
};

/**
 * Wrapper around encodeURIComponent() which avoids Apache quirks (equivalent of
 * drupal_urlencode() in PHP). This function should only be used on paths, not
 * on query string arguments.
 */
Drupal.encodeURIComponent = function (item, uri) {
  uri = uri || location.href;
  item = encodeURIComponent(item).replace(/%2F/g, '/');
  return (uri.indexOf('?q=') != -1) ? item : item.replace(/%26/g, '%2526').replace(/%23/g, '%2523').replace(/\/\//g, '/%252F');
};

/**
 * Get the text selection in a textarea.
 */
Drupal.getSelection = function (element) {
  if (typeof(element.selectionStart) != 'number' && document.selection) {
    // The current selection
    var range1 = document.selection.createRange();
    var range2 = range1.duplicate();
    // Select all text.
    range2.moveToElementText(element);
    // Now move 'dummy' end point to end point of original range.
    range2.setEndPoint('EndToEnd', range1);
    // Now we can calculate start and end points.
    var start = range2.text.length - range1.text.length;
    var end = start + range1.text.length;
    return { 'start': start, 'end': end };
  }
  return { 'start': element.selectionStart, 'end': element.selectionEnd };
};

/**
 * Build an error message from ahah response.
 */
Drupal.ahahError = function(xmlhttp, uri) {
  if (xmlhttp.status == 200) {
    if (jQuery.trim($(xmlhttp.responseText).text())) {
      var message = Drupal.t("An error occurred. \n@uri\n@text", {'@uri': uri, '@text': xmlhttp.responseText });
    }
    else {
      var message = Drupal.t("An error occurred. \n@uri\n(no information available).", {'@uri': uri, '@text': xmlhttp.responseText });
    }
  }
  else {
    var message = Drupal.t("An HTTP error @status occurred. \n@uri", {'@uri': uri, '@status': xmlhttp.status });
  }
  return message;
}

// Global Killswitch on the <html> element
if (Drupal.jsEnabled) {
  // Global Killswitch on the <html> element
  $(document.documentElement).addClass('js');
  // 'js enabled' cookie
  document.cookie = 'has_js=1; path=/';
  // Attach all behaviors.
  $(document).ready(function() {
    Drupal.attachBehaviors(this);
  });
}

/**
 * The default themes.
 */
Drupal.theme.prototype = {

  /**
   * Formats text for emphasized display in a placeholder inside a sentence.
   *
   * @param str
   *   The text to format (plain-text).
   * @return
   *   The formatted text (html).
   */
  placeholder: function(str) {
    return '<em>' + Drupal.checkPlain(str) + '</em>';
  }
};
;// $Id: poormanscron.js,v 1.1.2.3 2010/01/17 00:27:52 davereid Exp $
(function ($) {

/**
 * Checks to see if the cron should be automatically run.
 */
Drupal.behaviors.cronCheck = function(context) {
  if (Drupal.settings.cron.runNext || false) {
    $('body:not(.cron-check-processed)', context).addClass('cron-check-processed').each(function() {
      // Only execute the cron check if its the right time.
      if (Math.round(new Date().getTime() / 1000.0) >= Drupal.settings.cron.runNext) {
        $.get(Drupal.settings.cron.basePath + '/run-cron-check');
      }
    });
  }
};

})(jQuery);
;Drupal.behaviors.spamspan=function(_1){$("span."+Drupal.settings.spamspan.m,_1).each(function(_2){var _3=($("span."+Drupal.settings.spamspan.u,this).text()+"@"+$("span."+Drupal.settings.spamspan.d,this).text()).replace(/\s+/g,"").replace(/\[dot\]/g,".");var _4=$("span."+Drupal.settings.spamspan.h,this).text().replace(/^ ?\((.*)\) ?$/,"$1");var _5=$.map(_4.split(/, /),function(n,i){return (n.replace(/: /,"="));});var _6=$("span."+Drupal.settings.spamspan.t,this).text().replace(/^ \((.*)\)$/,"$1");var _7="mailto:"+_3;var _8=_5.join("&");_7+=_8?("?"+_8):"";$(this).after($("<a></a>").attr("href",_7).html(_6?_6:_3).addClass("spamspan")).remove();});};;/* $Id: gmap.js,v 1.16 2009/12/01 19:47:53 bdragon Exp $ */

/**
 * @file
 * Drupal to Google Maps API bridge.
 */

/*global $, Drupal, GLatLng, GSmallZoomControl, GLargeMapControl, GMap2 */
/*global GMapTypeControl, GSmallMapControl, G_HYBRID_MAP, G_NORMAL_MAP */
/*global G_PHYSICAL_MAP, G_SATELLITE_MAP, GHierarchicalMapTypeControl */
/*global GKeyboardHandler, GLatLngBounds, GMenuMapTypeControl, GEvent */
/*global GOverviewMapControl, GScaleControl, GUnload */

(function () { // BEGIN closure
  var handlers = {};
  var maps = {};
  var ajaxoffset = 0;

  Drupal.gmap = {

    /**
     * Retrieve a map object for use by a non-widget.
     * Use this if you need to be able to fire events against a certain map
     * which you have the mapid for.
     * Be a good GMap citizen! Remember to send change()s after modifying variables!
     */
    getMap: function (mapid) {
      if (maps[mapid]) {
        return maps[mapid];
      }
      else {
        // Perhaps the user passed a widget id instead?
        mapid = mapid.split('-').slice(1, -1).join('-');
        if (maps[mapid]) {
          return maps[mapid];
        }
      }
      return false;
    },

    unloadMap: function (mapid) {
      delete maps[mapid];
    },

    addHandler: function (handler, callback) {
      if (!handlers[handler]) {
        handlers[handler] = [];
      }
      handlers[handler].push(callback);
    },

    globalChange: function (name, userdata) {
      for (var mapid in Drupal.settings.gmap) {
        if (Drupal.settings.gmap.hasOwnProperty(mapid)) {
          maps[mapid].change(name, -1, userdata);
        }
      }
    },

    setup: function (settings) {
      var obj = this;

      var initcallback = function (mapid) {
        return (function () {
          maps[mapid].change("bootstrap_options", -1);
          maps[mapid].change("boot", -1);
          maps[mapid].change("init", -1);
          // Send some changed events to fire up the rest of the initial settings..
          maps[mapid].change("maptypechange", -1);
          maps[mapid].change("controltypechange", -1);
          maps[mapid].change("alignchange", -1);
          // Set ready to put the event system into action.
          maps[mapid].ready = true;
          maps[mapid].change("ready", -1);
        });
      };

      if (settings || (Drupal.settings && Drupal.settings.gmap)) {
        var mapid = obj.id.split('-');
        if (Drupal.settings['gmap_remap_widgets']) {
          if (Drupal.settings['gmap_remap_widgets'][obj.id]) {
            jQuery.each(Drupal.settings['gmap_remap_widgets'][obj.id].classes, function() {
              jQuery(obj).addClass(this);
            });
            mapid = Drupal.settings['gmap_remap_widgets'][obj.id].id.split('-');
          }
        }
        var instanceid = mapid.pop();
        mapid.shift();
        mapid = mapid.join('-');
        var control = instanceid.replace(/\d+$/, '');

        // Lazy init the map object.
        if (!maps[mapid]) {
          if (settings) {
            maps[mapid] = new Drupal.gmap.map(settings);
          }
          else {
            maps[mapid] = new Drupal.gmap.map(Drupal.settings.gmap[mapid]);
          }
          // Prepare the initialization callback.
          var callback = initcallback(mapid);
          setTimeout(callback, 0);
        }

        if (handlers[control]) {
          for (var i = 0; i < handlers[control].length; i++) {
            handlers[control][i].call(maps[mapid], obj);
          }
        }
        else {
          // Element with wrong class?
        }
      }
    }
  };

  jQuery.fn.createGMap = function (settings, mapid) {
    return this.each(function () {
      if (!mapid) {
        mapid = 'auto' + ajaxoffset + 'ajax';
        ajaxoffset++;
      }
      settings.id = mapid;
      $(this)
        .attr('id', 'gmap-' + mapid + '-gmap0')
        .css('width', settings.width)
        .css('height', settings.height)
        .addClass('gmap-control')
        .addClass('gmap-gmap')
        .addClass('gmap')
        .addClass('gmap-map')
        .addClass('gmap-' + mapid + '-gmap')
        .addClass('gmap-processed')
        .each(function() {Drupal.gmap.setup.call(this, settings)});
    });
  };

})(); // END closure

Drupal.gmap.factory = {};

Drupal.gmap.map = function (v) {
  this.vars = v;
  this.map = undefined;
  this.ready = false;
  var _bindings = {};

  /**
   * Register interest in a change.
   */
  this.bind = function (name, callback) {
    if (!_bindings[name]) {
      _bindings[name] = [];
    }
    return _bindings[name].push(callback) - 1;
  };

  /**
   * Change notification.
   * Interested parties can act on changes.
   */
  this.change = function (name, id, userdata) {
    var c;
    if (_bindings[name]) {
      for (c = 0; c < _bindings[name].length; c++) {
        if (c !== id) {
          _bindings[name][c](userdata);
        }
      }
    }
    if (name !== 'all') {
      this.change('all', -1, name, userdata);
    }
  };

  /**
   * Deferred change notification.
   * This will cause a change notification to be tacked on to the *end* of the event queue.
   */
  this.deferChange = function (name, id, userdata) {
    var obj = this;
    // This will move the function call to the end of the event loop.
    setTimeout(function () {
      obj.change(name, id, userdata);
    }, 0);
  };
};

////////////////////////////////////////
//             Map widget             //
////////////////////////////////////////
Drupal.gmap.addHandler('gmap', function (elem) {
  var obj = this;

  var _ib = {};


  // Respond to incoming zooms
  _ib.zoom = obj.bind("zoom", function () {
    obj.map.setZoom(obj.vars.zoom);
  });

  // Respond to incoming moves
  _ib.move = obj.bind("move", function () {
    obj.map.panTo(new GLatLng(obj.vars.latitude, obj.vars.longitude));
  });

  // Respond to incoming map type changes
  _ib.mtc = obj.bind("maptypechange", function () {
    var i;
    for (i = 0; i < obj.opts.mapTypeNames.length; i++) {
      if (obj.opts.mapTypeNames[i] === obj.vars.maptype) {
        obj.map.setMapType(obj.opts.mapTypes[i]);
        break;
      }
    }
  });

  // Respond to incoming width changes.
  _ib.width = obj.bind("widthchange", function (w) {
    obj.map.getContainer().style.width = w;
    obj.map.checkResize();
  });
  // Send out outgoing width changes.
  // N/A
  // Respond to incoming height changes.
  _ib.height = obj.bind("heightchange", function (h) {
    obj.map.getContainer().style.height = h;
    obj.map.checkResize();
  });
  // Send out outgoing height changes.
  // N/A

  // Respond to incoming control type changes.
  _ib.ctc = obj.bind("controltypechange", function () {
    if (obj.currentcontrol) {
      obj.map.removeControl(obj.currentcontrol);
    }
    if (obj.vars.controltype === 'Micro') {
      obj.map.addControl(obj.currentcontrol = new GSmallZoomControl());
    }
    else if (obj.vars.controltype === 'Small') {
      obj.map.addControl(obj.currentcontrol = new GSmallMapControl());
    }
    else if (obj.vars.controltype === 'Large') {
      obj.map.addControl(obj.currentcontrol = new GLargeMapControl());
    }
  });
  // Send out outgoing control type changes.
  // N/A

  obj.bind("bootstrap_options", function () {
    // Bootup options.
    var opts = {}; // Object literal GMapOptions
    obj.opts = opts;

    // Null out the enabled types.
    opts.mapTypes = [];
    opts.mapTypeNames = [];

    // Load google map types.
    if (obj.vars.baselayers.Map) {
      opts.mapTypes.push(G_NORMAL_MAP);
      opts.mapTypeNames.push('Map');
    }
    if (obj.vars.baselayers.Satellite) {
      opts.mapTypes.push(G_SATELLITE_MAP);
      opts.mapTypeNames.push('Satellite');
    }
    if (obj.vars.baselayers.Hybrid) {
      opts.mapTypes.push(G_HYBRID_MAP);
      opts.mapTypeNames.push('Hybrid');
    }
    if (obj.vars.baselayers.Physical) {
      opts.mapTypes.push(G_PHYSICAL_MAP);
      opts.mapTypeNames.push('Physical');
    }

  });

  obj.bind("boot", function () {
    obj.map = new GMap2(elem, obj.opts);
  });

  obj.bind("init", function () {
    var map = obj.map;

    // Map type control
    if (obj.vars.mtc === 'standard') {
      map.addControl(new GMapTypeControl());
    }
    else if (obj.vars.mtc === 'hier') {
      map.addControl(new GHierarchicalMapTypeControl());
    }
    else if (obj.vars.mtc === 'menu') {
      map.addControl(new GMenuMapTypeControl());
    }

    if (obj.vars.behavior.overview) {
      map.addControl(new GOverviewMapControl());
    }
    if (obj.vars.behavior.scale) {
      map.addControl(new GScaleControl());
    }
    if (obj.vars.behavior.nodrag) {
      map.disableDragging();
    }
    else if (!obj.vars.behavior.nokeyboard) {
      obj._kbdhandler = new GKeyboardHandler(map);
    }
    if (obj.vars.extent) {
      var c = obj.vars.extent;
      var extent = new GLatLngBounds(new GLatLng(c[0][0], c[0][1]), new GLatLng(c[1][0], c[1][1]));
      obj.vars.latitude = extent.getCenter().lat();
      obj.vars.longitude = extent.getCenter().lng();
      obj.vars.zoom = map.getBoundsZoomLevel(extent);
    }
    if (obj.vars.behavior.collapsehack) {
      // Modify collapsable fieldsets to make maps check dom state when the resize handle
      // is clicked. This may not necessarily be the correct thing to do in all themes,
      // hence it being a behavior.
      setTimeout(function () {
        var r = function () {
          map.checkResize();
          map.setCenter(new GLatLng(obj.vars.latitude, obj.vars.longitude), obj.vars.zoom);
        };
        $(elem).parents('fieldset.collapsible').children('legend').children('a').click(r);
        // Would be nice, but doesn't work.
        //$(elem).parents('fieldset.collapsible').children('.fieldset-wrapper').scroll(r);
      }, 0);
    }
    map.setCenter(new GLatLng(obj.vars.latitude, obj.vars.longitude), obj.vars.zoom);

    if (!obj.vars.nocontzoom) {
      map.enableDoubleClickZoom();
      map.enableContinuousZoom();
    }
    if (!obj.vars.behavior.nomousezoom) {
      map.enableScrollWheelZoom();
    }

    // Send out outgoing zooms
    GEvent.addListener(map, "zoomend", function (oldzoom, newzoom) {
      obj.vars.zoom = newzoom;
      obj.change("zoom", _ib.zoom);
    });

    // Send out outgoing moves
    GEvent.addListener(map, "moveend", function () {
      var coord = map.getCenter();
      obj.vars.latitude = coord.lat();
      obj.vars.longitude = coord.lng();
      obj.change("move", _ib.move);
    });

    // Send out outgoing map type changes.
    GEvent.addListener(map, "maptypechanged", function () {
      // If the map isn't ready yet, ignore it.
      if (obj.ready) {
        var type = map.getCurrentMapType();
        var i;
        for (i = 0; i < obj.opts.mapTypes.length; i++) {
          if (obj.opts.mapTypes[i] === type) {
            obj.vars.maptype = obj.opts.mapTypeNames[i];
          }
        }
        obj.change("maptypechange", _ib.mtc);
      }
    });

  });
});

////////////////////////////////////////
//            Zoom widget             //
////////////////////////////////////////
Drupal.gmap.addHandler('zoom', function (elem) {
  var obj = this;
  // Respond to incoming zooms
  var binding = obj.bind("zoom", function () {
    elem.value = obj.vars.zoom;
  });
  // Send out outgoing zooms
  $(elem).change(function () {
    obj.vars.zoom = parseInt(elem.value, 10);
    obj.change("zoom", binding);
  });
});

////////////////////////////////////////
//          Latitude widget           //
////////////////////////////////////////
Drupal.gmap.addHandler('latitude', function (elem) {
  var obj = this;
  // Respond to incoming movements.
  var binding = obj.bind("move", function () {
    elem.value = '' + obj.vars.latitude;
  });
  // Send out outgoing movements.
  $(elem).change(function () {
    obj.vars.latitude = Number(this.value);
    obj.change("move", binding);
  });
});

////////////////////////////////////////
//         Longitude widget           //
////////////////////////////////////////
Drupal.gmap.addHandler('longitude', function (elem) {
  var obj = this;
  // Respond to incoming movements.
  var binding = obj.bind("move", function () {
    elem.value = '' + obj.vars.longitude;
  });
  // Send out outgoing movements.
  $(elem).change(function () {
    obj.vars.longitude = Number(this.value);
    obj.change("move", binding);
  });
});

////////////////////////////////////////
//          Latlon widget             //
////////////////////////////////////////
Drupal.gmap.addHandler('latlon', function (elem) {
  var obj = this;
  // Respond to incoming movements.
  var binding = obj.bind("move", function () {
    elem.value = '' + obj.vars.latitude + ',' + obj.vars.longitude;
  });
  // Send out outgoing movements.
  $(elem).change(function () {
    var t = this.value.split(',');
    obj.vars.latitude = Number(t[0]);
    obj.vars.longitude = Number(t[1]);
    obj.change("move", binding);
  });
});

////////////////////////////////////////
//          Maptype widget            //
////////////////////////////////////////
Drupal.gmap.addHandler('maptype', function (elem) {
  var obj = this;
  // Respond to incoming movements.
  var binding = obj.bind("maptypechange", function () {
    elem.value = obj.vars.maptype;
  });
  // Send out outgoing movements.
  $(elem).change(function () {
    obj.vars.maptype = elem.value;
    obj.change("maptypechange", binding);
  });
});

(function () { // BEGIN CLOSURE
  var re = /([0-9.]+)\s*(em|ex|px|in|cm|mm|pt|pc|%)/;
  var normalize = function (str) {
    var ar;
    if ((ar = re.exec(str.toLowerCase()))) {
      return ar[1] + ar[2];
    }
    return null;
  };
  ////////////////////////////////////////
  //           Width widget             //
  ////////////////////////////////////////
  Drupal.gmap.addHandler('width', function (elem) {
    var obj = this;
    // Respond to incoming width changes.
    var binding = obj.bind("widthchange", function (w) {
      elem.value = normalize(w);
    });
    // Send out outgoing width changes.
    $(elem).change(function () {
      var n;
      if ((n = normalize(elem.value))) {
        elem.value = n;
        obj.change('widthchange', binding, n);
      }
    });
    obj.bind('init', function () {
      $(elem).change();
    });
  });

  ////////////////////////////////////////
  //           Height widget            //
  ////////////////////////////////////////
  Drupal.gmap.addHandler('height', function (elem) {
    var obj = this;
    // Respond to incoming height changes.
    var binding = obj.bind("heightchange", function (h) {
      elem.value = normalize(h);
    });
    // Send out outgoing height changes.
    $(elem).change(function () {
      var n;
      if ((n = normalize(elem.value))) {
        elem.value = n;
        obj.change('heightchange', binding, n);
      }
    });
    obj.bind('init', function () {
      $(elem).change();
    });
  });

})(); // END CLOSURE

////////////////////////////////////////
//        Control type widget         //
////////////////////////////////////////
Drupal.gmap.addHandler('controltype', function (elem) {
  var obj = this;
  // Respond to incoming height changes.
  var binding = obj.bind("controltypechange", function () {
    elem.value = obj.vars.controltype;
  });
  // Send out outgoing height changes.
  $(elem).change(function () {
    obj.vars.controltype = elem.value;
    obj.change("controltypechange", binding);
  });
});

// Map cleanup.
if (Drupal.jsEnabled) {
  $(document).unload(GUnload);
}

Drupal.behaviors.GMap = function (context) {
  if (Drupal.settings && Drupal.settings['gmap_remap_widgets']) {
    jQuery.each(Drupal.settings['gmap_remap_widgets'], function(key, val) {
      $('#'+ key).addClass('gmap-control');
    });
  }
  $('.gmap-control:not(.gmap-processed)', context).addClass('gmap-processed').each(function () {Drupal.gmap.setup.call(this)});
};
;/* $Id: marker.js,v 1.4 2009/02/11 19:12:12 bdragon Exp $ */

/**
 * @file
 * Common marker routines.
 */

/*global $, Drupal, GEvent, GInfoWindowTab, GLatLng, GLatLngBounds */

Drupal.gmap.addHandler('gmap', function (elem) {
  var obj = this;

  obj.bind('init', function () {
    if (obj.vars.behavior.autozoom) {
      obj.bounds = new GLatLngBounds();
    }
  });

  obj.bind('addmarker', function (marker) {
    var m = Drupal.gmap.factory.marker(new GLatLng(marker.latitude, marker.longitude), marker.opts);
    marker.marker = m;
    GEvent.addListener(m, 'click', function () {
      obj.change('clickmarker', -1, marker);
    });
    if (obj.vars.behavior.extramarkerevents) {
      GEvent.addListener(m, 'mouseover', function () {
        obj.change('mouseovermarker', -1, marker);
      });
      GEvent.addListener(m, 'mouseout', function () {
        obj.change('mouseoutmarker', -1, marker);
      });
      GEvent.addListener(m, 'dblclick', function () {
        obj.change('dblclickmarker', -1, marker);
      });
    }
    /**
     * Perform a synthetic marker click on this marker on load.
     */
    if (marker.autoclick || (marker.options && marker.options.autoclick)) {
      obj.deferChange('clickmarker', -1, marker);
    }
    if (obj.vars.behavior.autozoom) {
      obj.bounds.extend(marker.marker.getPoint());
    }
  });

  // Default marker actions.
  obj.bind('clickmarker', function (marker) {
    // Local/stored content
    if (marker.text) {
      marker.marker.openInfoWindowHtml(marker.text);
    }
    // AJAX content
    if (marker.rmt) {
      var uri = marker.rmt;
      // If there was a callback, prefix that.
      // (If there wasn't, marker.rmt was the FULL path.)
      if (obj.vars.rmtcallback) {
        uri = obj.vars.rmtcallback + '/' + marker.rmt;
      }
      // @Bevan: I think it makes more sense to do it in this order.
      // @Bevan: I don't like your choice of variable btw, seems to me like
      // @Bevan: it belongs in the map object, or at *least* somewhere in
      // @Bevan: the gmap settings proper...
      //if (!marker.text && Drupal.settings.loadingImage) {
      //  marker.marker.openInfoWindowHtml(Drupal.settings.loadingImage);
      //}
      $.get(uri, {}, function (data) {
        marker.marker.openInfoWindowHtml(data);
      });
    }
    // Tabbed content
    else if (marker.tabs) {
      var infoWinTabs = [];
      for (var m in marker.tabs) {
        if (marker.tabs.hasOwnProperty(m)) {
          infoWinTabs.push(new GInfoWindowTab(m, marker.tabs[m]));
        }
      }
      marker.marker.openInfoWindowTabsHtml(infoWinTabs);
    }
    // No content -- marker is a link
    else if (marker.link) {
      open(marker.link, '_self');
    }
  });

  obj.bind('markersready', function () {
    // If we are autozooming, set the map center at this time.
    if (obj.vars.behavior.autozoom) {
      if (!obj.bounds.isEmpty()) {
        obj.map.setCenter(obj.bounds.getCenter(), Math.min(obj.map.getBoundsZoomLevel(obj.bounds), obj.vars.maxzoom));
      }
    }
  });

  obj.bind('clearmarkers', function () {
    // Reset bounds if autozooming
    // @@@ Perhaps we should have a bounds for both markers and shapes?
    if (obj.vars.behavior.autozoom) {
      obj.bounds = new GLatLngBounds();
    }
  });

  // @@@ TODO: Some sort of bounds handling for deletemarker? We'd have to walk the whole thing to figure out the new bounds...
});
;/* $Id: gmap_marker.js,v 1.3 2009/02/11 18:40:31 bdragon Exp $ */

/**
 * @file
 * GMap Markers
 * GMap API version -- No manager
 */

/*global Drupal, GMarker */

// Replace to override marker creation
Drupal.gmap.factory.marker = function (loc, opts) {
  return new GMarker(loc, opts);
};

Drupal.gmap.addHandler('gmap', function (elem) {
  var obj = this;

  obj.bind('addmarker', function (marker) {
    obj.map.addOverlay(marker.marker);
  });

  obj.bind('delmarker', function (marker) {
    obj.map.removeOverlay(marker.marker);
  });

  obj.bind('clearmarkers', function () {
    // @@@ Maybe don't nuke ALL overlays?
    obj.map.clearOverlays();
  });
});
;/* $Id: poly.js,v 1.3 2009/02/11 18:36:04 bdragon Exp $ */

/**
 * @file
 * GPolyLine / GPolygon manager
 */

/*global Drupal, GLatLng, GPoint */

Drupal.gmap.map.prototype.poly = {};

/**
 * Distance in pixels between 2 points.
 */
Drupal.gmap.map.prototype.poly.distance = function (point1, point2) {
  return Math.sqrt(Math.pow(point2.x - point1.x, 2) + Math.pow(point2.y - point1.y, 2));
};

/**
 * Circle -- Following projection.
 */
Drupal.gmap.map.prototype.poly.computeCircle = function (obj, center, point2) {
  var numSides = 36;
  var sideInc = 10; // 360 / 20 = 18 degrees
  var convFactor = Math.PI / 180;
  var points = [];
  var radius = obj.poly.distance(center, point2);
  // 36 sided poly ~= circle
  for (var i = 0; i <= numSides; i++) {
    var rad = i * sideInc * convFactor;
    var x = center.x + radius * Math.cos(rad);
    var y = center.y + radius * Math.sin(rad);
    //points.push(obj.map.getCurrentMapType().getProjection().fromPixelToLatLng(new GPoint(x,y),obj.map.getZoom()));
    points.push(new GPoint(x, y));
  }
  return points;
};

Drupal.gmap.map.prototype.poly.calcPolyPoints = function (center, radM, numPoints, sAngle) {
  if (!numPoints) {
    numPoints = 32;
  }
  if (!sAngle) {
    sAngle = 0;
  }

  var d2r = Math.PI / 180.0;
  var r2d = 180.0 / Math.PI;
  var angleRad = sAngle * d2r;
  // earth semi major axis is about 6378137 m
  var latScale = radM / 6378137 * r2d;
  var lngScale = latScale / Math.cos(center.latRadians());

  var angInc = 2 * Math.PI / numPoints;
  var points = [];
  for (var i = 0; i < numPoints; i++) {
    var lat = parseFloat(center.lat()) + latScale * Math.sin(angleRad);
    var lng = parseFloat(center.lng()) + lngScale * Math.cos(angleRad);
    points.push(new GLatLng(lat, lng));
    angleRad += angInc;
  }

  // close the shape and return it
  points.push(points[0]);
  return points;
};
;/* $Id: icon.js,v 1.6 2009/02/11 20:14:39 bdragon Exp $ */

/**
 * @file
 * GIcon manager for GMap.
 * Required for markers to operate properly.
 */

/*global $, Drupal, GIcon, GPoint, GSize, G_DEFAULT_ICON */

/**
 * Get the GIcon corresponding to a setname / sequence.
 * There is only one GIcon for each slot in the sequence.
 * The marker set wraps around when reaching the end of the sequence.
 * @@@ TODO: Move this directly into the preparemarker event binding.
 */
Drupal.gmap.getIcon = function (setname, sequence) {
  var othimg = ['printImage', 'mozPrintImage', 'printShadow', 'transparent'];
  // If no setname, return google's default icon.
  if (!setname) {
    return G_DEFAULT_ICON;
  }
  if (!this.gicons) {
    this.gicons = {};
  }

  // If no sequence, synthesise one.
  if (!sequence) {
    // @TODO make this per-map.
    if (!this.sequences) {
      this.sequences = {};
    }
    if (!this.sequences[setname]) {
      this.sequences[setname] = -1;
    }
    this.sequences[setname]++;
    sequence = this.sequences[setname];
  }

  if (!this.gicons[setname]) {
    if (!Drupal.gmap.icons[setname]) {
      alert('Request for invalid marker set ' + setname + '!');
    }
    this.gicons[setname] = [];
    var q = Drupal.gmap.icons[setname];
    var p, t;
    for (var i = 0; i < q.sequence.length; i++) {
      t = new GIcon();
      p = Drupal.gmap.iconpath + q.path;
      t.image = p + q.sequence[i].f;
      if (q.shadow.f !== '') {
        t.shadow = p + q.shadow.f;
        t.shadowSize = new GSize(q.shadow.w, q.shadow.h);
      }
      t.iconSize = new GSize(q.sequence[i].w, q.sequence[i].h);
      t.iconAnchor = new GPoint(q.anchorX, q.anchorY);
      t.infoWindowAnchor = new GPoint(q.infoX, q.infoY);
      for (var j = 0; j < othimg.length; j++) {
        if (q[othimg[j]] !== '') {
          t[othimg[j]] = p + q[othimg[j]];
        }
      }
      // @@@ imageMap?
      this.gicons[setname][i] = t;
    }
    delete Drupal.gmap.icons[setname];
  }
  // TODO: Random, other cycle methods.
  return this.gicons[setname][sequence % this.gicons[setname].length];
};

/**
 * JSON callback to set up the icon defs.
 * When doing the JSON call, the data comes back in a packed format.
 * We need to expand it and file it away in a more useful format.
 */
Drupal.gmap.iconSetup = function () {
  Drupal.gmap.icons = {};
  var m = Drupal.gmap.icondata;
  var filef, filew, fileh, files;
  for (var path in m) {
    if (m.hasOwnProperty(path)) {
      // Reconstitute files array
      filef = m[path].f;
      filew = Drupal.gmap.expandArray(m[path].w, filef.length);
      fileh = Drupal.gmap.expandArray(m[path].h, filef.length);
      files = [];
      for (var i = 0; i < filef.length; i++) {
        files[i] = {f : filef[i], w : filew[i], h : fileh[i]};
      }

      for (var ini in m[path].i) {
        if (m[path].i.hasOwnProperty(ini)) {
          $.extend(Drupal.gmap.icons, Drupal.gmap.expandIconDef(m[path].i[ini], path, files));
        }
      }
    }
  }
};

/**
 * Expand a compressed array.
 * This will pad arr up to len using the last value of the old array.
 */
Drupal.gmap.expandArray = function (arr, len) {
  var d = arr[0];
  for (var i = 0; i < len; i++) {
    if (!arr[i]) {
      arr[i] = d;
    }
    else {
      d = arr[i];
    }
  }
  return arr;
};

/**
 * Expand icon definition.
 * This helper function is the reverse of the packer function found in
 * gmap_markerinfo.inc.
 */
Drupal.gmap.expandIconDef = function (c, path, files) {
  var decomp = ['key', 'name', 'sequence', 'anchorX', 'anchorY', 'infoX',
    'infoY', 'shadow', 'printImage', 'mozPrintImage', 'printShadow',
    'transparent'];
  var fallback = ['', '', [], 0, 0, 0, 0, {f: '', h: 0, w: 0}, '', '', '', ''];
  var imagerep = ['shadow', 'printImage', 'mozPrintImage', 'printShadow',
    'transparent'];
  var defaults = {};
  var sets = [];
  var i, j;
  // Part 1: Defaults / Markersets
  // Expand arrays and fill in missing ones with fallbacks
  for (i = 0; i < decomp.length; i++) {
    if (!c[0][i]) {
      c[0][i] = [ fallback[i] ];
    }
    c[0][i] = Drupal.gmap.expandArray(c[0][i], c[0][0].length);
  }
  for (i = 0; i < c[0][0].length; i++) {
    for (j = 0; j < decomp.length; j++) {
      if (i === 0) {
        defaults[decomp[j]] = c[0][j][i];
      }
      else {
        if (!sets[i - 1]) {
          sets[i - 1] = {};
        }
        sets[i - 1][decomp[j]] = c[0][j][i];
      }
    }
  }
  for (i = 0; i < sets.length; i++) {
    for (j = 0; j < decomp.length; j++) {
      if (sets[i][decomp[j]] === fallback[j]) {
        sets[i][decomp[j]] = defaults[decomp[j]];
      }
    }
  }
  var icons = {};
  for (i = 0; i < sets.length; i++) {
    var key = sets[i].key;
    icons[key] = sets[i];
    icons[key].path = path;
    delete icons[key].key;
    delete sets[i];
    for (j = 0; j < icons[key].sequence.length; j++) {
      icons[key].sequence[j] = files[icons[key].sequence[j]];
    }
    for (j = 0; j < imagerep.length; j++) {
      if (typeof(icons[key][imagerep[j]]) === 'number') {
        icons[key][imagerep[j]] = files[icons[key][imagerep[j]]];
      }
    }
  }
  return icons;
};

/**
 * We attach ourselves if we find a map somewhere needing markers.
 * Note: Since we broadcast our ready event to all maps, it doesn't
 * matter which one we attached to!
 */
Drupal.gmap.addHandler('gmap', function (elem) {
  var obj = this;

  obj.bind('init', function () {
    // Only expand once.
    if (!Drupal.gmap.icons) {
      Drupal.gmap.iconSetup();
    }
  });

  obj.bind('ready', function () {
    // Compatibility event.
    if (Drupal.gmap.icondata) {
      obj.deferChange('iconsready', -1);
    }
  });

  if (!obj.vars.behavior.customicons) {
    // Provide icons to markers.
    obj.bind('preparemarker', function (marker) {
      marker.opts.icon = Drupal.gmap.getIcon(marker.markername, marker.offset);
    });
  }
});
;/* $Id: markerloader_static.js,v 1.3 2009/02/11 19:30:22 bdragon Exp $ */

/**
 * @file
 * GMap Marker Loader
 * Static markers.
 * This is a simple marker loader to read markers from the map settings array.
 * Commonly used with macros.
 */

/*global Drupal */

// Add a gmap handler
Drupal.gmap.addHandler('gmap', function (elem) {
  var obj = this;
  var marker, i;
  if (obj.vars.markers) {
    // Inject markers as soon as the icon loader is ready.
    obj.bind('iconsready', function () {
      for (i = 0; i < obj.vars.markers.length; i++) {
        marker = obj.vars.markers[i];
        if (!marker.opts) {
          marker.opts = {};
        }
        // Pass around the object, bindings can change it if necessary.
        obj.change('preparemarker', -1, marker);
        // And add it.
        obj.change('addmarker', -1, marker);
      }
      obj.change('markersready', -1);
    });
  }
});
;/*
based on:
http://ejohn.org/blog/simple-javascript-inheritance/

example:

var Person = Class.extend({
  init: function (dancing) {
    this.dancing = dancing;
  },
  dance: function () {
    return this.dancing;
  }
});


var Ninja = Person.extend({
  init: function () {
    this._super(false);
  },
  dance: function () {
    // Call the inherited version of dance()
    return this._super();
  },
  swingSword: function () {
    return true;
  }
});

var p = new Person(true);
p.dance(); // => true

var n = new Ninja();
n.dance(); // => false
n.swingSword(); // => true

// Should all be true
p instanceof Person && p instanceof Class &&
n instanceof Ninja && n instanceof Person && n instanceof Class
*/

// Inspired by base2 and Prototype
(function () {
  var initializing = false;
  var fnTest = /xyz/.test(function () { xyz; }) ? /\b_super\b/ : /.*/;

  // The base Class implementation (does nothing)
  this.Class = function () {};

  // Create a new Class that inherits from this class
  Class.extend = function (prop) {
    var _super = this.prototype;

    // Instantiate a base class (but only create the instance,
    // don't run the init constructor)
    initializing = true;
    var prototype = new this();
    initializing = false;

    // Copy the properties over onto the new prototype
    for (var name in prop) {
      // Check if we're overwriting an existing function
      prototype[name] = typeof prop[name] == 'function' &&
      typeof _super[name] == "function" && fnTest.test(prop[name]) ?
        (function (name, fn) {
          return function () {
            var tmp = this._super;

            // Add a new ._super() method that is the same method
            // but on the super-class
            this._super = _super[name];

            // The method only need to be bound temporarily, so we
            // remove it when we're done executing
            var ret = fn.apply(this, arguments);
            this._super = tmp;

            return ret;
          };
        })(name, prop[name]) :
        prop[name];
    }

    // The dummy class constructor
    function Class() {
      // All construction is actually done in the init method
      if (!initializing && this.init) {
        this.init.apply(this, arguments);
      }
    }

    // Populate our constructed prototype object
    Class.prototype = prototype;

    // Enforce the constructor to be what we expect
    Class.constructor = Class;

    // And make this class extendable
    Class.extend = arguments.callee;

    return Class;
  };
})();
;var Flash = Class.extend({
  init: function (conf) {
    conf = conf || {};

    this.swf          = conf.swf;
    this.id           = conf.id;
    this.width        = conf.width;
    this.height       = conf.height;
    this.min_version  = conf.min_version || '10';
    this.flashvars    = conf.flashvars;
    this.parameters   = conf.parameters;
    this.attributes   = conf.attributes;
    this.callback     = conf.callback;
  },

  execute: function (func, args) {
    if (this.swf_el) {
      return this.swf_el.callActionScript(func, args || []);
    }
    else {
      return undefined;
    }
  },

  remove: function () {
    swfobject.removeSWF(this.id);
  },

  render: function () {
    // include a random number to avoid IE caching issues
    var random_number = Math.floor(Math.random() * 10000);

    swfobject.embedSWF(
      this.swf + '?' + random_number,
      this.id,
      this.width,
      this.height,
      this.min_version,
      'expressInstall.swf',
      this.flashvars,
      this.parameters,
      { id: this.id } + this.attributes,
      this.callback
    );

    this.swf_el = document.getElementById(this.id);
  }
});
;var SideVideo = Class.extend({
  init: function () {
    this.flash = new Flash({
      swf:          Drupal.settings.tabellasidevideo.swf,
      id:           'side-video',
      width:        220,
      height:       377 - 4,            // The height is trimmed to account for the bottom menu.
      min_version:  '9',
      flashvars: {
        video_path: Drupal.settings.tabellasidevideo.video_path
      },
      parameters: {
        allowScriptAccess:  'sameDomain',
        bgcolor:            '#FFFFFF',
        quality:            'autohigh',
        scale:              'showall',
        wmode:              'opaque'
      }
    });
  },

  render: function () {
    this.flash.render();
  }
});
;(function ($) {
$(function () {
  var side_video = new SideVideo();
  side_video.render();
});
})(jQuery);
;/*	SWFObject v2.2 <http://code.google.com/p/swfobject/> 
	is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 
*/
var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y<X;Y++){U[Y]()}}function K(X){if(J){X()}else{U[U.length]=X}}function s(Y){if(typeof O.addEventListener!=D){O.addEventListener("load",Y,false)}else{if(typeof j.addEventListener!=D){j.addEventListener("load",Y,false)}else{if(typeof O.attachEvent!=D){i(O,"onload",Y)}else{if(typeof O.onload=="function"){var X=O.onload;O.onload=function(){X();Y()}}else{O.onload=Y}}}}}function h(){if(T){V()}else{H()}}function V(){var X=j.getElementsByTagName("body")[0];var aa=C(r);aa.setAttribute("type",q);var Z=X.appendChild(aa);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable("$version");if(ab){ab=ab.split(" ")[1].split(",");M.pv=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.removeChild(aa);Z=null;H()})()}else{H()}}function H(){var ag=o.length;if(ag>0){for(var af=0;af<ag;af++){var Y=o[af].id;var ab=o[af].callbackFn;var aa={success:false,id:Y};if(M.pv[0]>0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad<ac;ad++){if(X[ad].getAttribute("name").toLowerCase()!="movie"){ah[X[ad].getAttribute("name")]=X[ad].getAttribute("value")}}P(ai,ah,Y,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var Z=z(Y);if(Z&&typeof Z.SetVariable!=D){aa.success=true;aa.ref=Z}ab(aa)}}}}}function z(aa){var X=null;var Y=c(aa);if(Y&&Y.nodeName=="OBJECT"){if(typeof Y.SetVariable!=D){X=Y}else{var Z=Y.getElementsByTagName(r)[0];if(Z){X=Z}}}return X}function A(){return !a&&F("6.0.65")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)}function P(aa,ab,X,Z){a=true;E=Z||null;B={success:false,id:X};var ae=c(X);if(ae){if(ae.nodeName=="OBJECT"){l=g(ae);Q=null}else{l=ae;Q=X}aa.id=R;if(typeof aa.width==D||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.width="310"}if(typeof aa.height==D||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa.height="137"}j.title=j.title.slice(0,47)+" - Flash Player Installation";var ad=M.ie&&M.win?"ActiveX":"PlugIn",ac="MMredirectURL="+encodeURI(O.location).toString().replace(/&/g,"%26")+"&MMplayerType="+ad+"&MMdoctitle="+j.title;if(typeof ab.flashvars!=D){ab.flashvars+="&"+ac}else{ab.flashvars=ac}if(M.ie&&M.win&&ae.readyState!=4){var Y=C("div");X+="SWFObjectNew";Y.setAttribute("id",X);ae.parentNode.insertBefore(Y,ae);ae.style.display="none";(function(){if(ae.readyState==4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=4){var X=C("div");Y.parentNode.insertBefore(X,Y);X.parentNode.replaceChild(g(Y),X);Y.style.display="none";(function(){if(Y.readyState==4){Y.parentNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.parentNode.replaceChild(g(Y),Y)}}function g(ab){var aa=C("div");if(M.win&&M.ie){aa.innerHTML=ab.innerHTML}else{var Y=ab.getElementsByTagName(r)[0];if(Y){var ad=Y.childNodes;if(ad){var X=ad.length;for(var Z=0;Z<X;Z++){if(!(ad[Z].nodeType==1&&ad[Z].nodeName=="PARAM")&&!(ad[Z].nodeType==8)){aa.appendChild(ad[Z].cloneNode(true))}}}}}return aa}function u(ai,ag,Y){var X,aa=c(Y);if(M.wk&&M.wk<312){return X}if(aa){if(typeof ai.id==D){ai.id=Y}if(M.ie&&M.win){var ah="";for(var ae in ai){if(ai[ae]!=Object.prototype[ae]){if(ae.toLowerCase()=="data"){ag.movie=ai[ae]}else{if(ae.toLowerCase()=="styleclass"){ah+=' class="'+ai[ae]+'"'}else{if(ae.toLowerCase()!="classid"){ah+=" "+ae+'="'+ai[ae]+'"'}}}}}var af="";for(var ad in ag){if(ag[ad]!=Object.prototype[ad]){af+='<param name="'+ad+'" value="'+ag[ad]+'" />'}}aa.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</object>";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var Z=N.length;for(var aa=0;aa<Z;aa++){y(N[aa])}for(var Y in M){M[Y]=null}M=null;for(var X in swfobject){swfobject[X]=null}swfobject=null})}}();return{registerObject:function(ab,X,aa,Z){if(M.w3&&ab&&X){var Y={};Y.id=ab;Y.swfVersion=X;Y.expressInstall=aa;Y.callbackFn=Z;o[o.length]=Y;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObjectById:function(X){if(M.w3){return z(X)}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var X={success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){w(ah,false);K(function(){ae+="";ag+="";var aj={};if(af&&typeof af===r){for(var al in af){aj[al]=af[al]}}aj.data=ab;aj.width=ae;aj.height=ag;var am={};if(ad&&typeof ad===r){for(var ak in ad){am[ak]=ad[ak]}}if(Z&&typeof Z===r){for(var ai in Z){if(typeof am.flashvars!=D){am.flashvars+="&"+ai+"="+Z[ai]}else{am.flashvars=ai+"="+Z[ai]}}}if(F(Y)){var an=u(aj,am,ah);if(aj.id==ah){w(ah,true)}X.success=true;X.ref=an}else{if(aa&&A()){aj.data=aa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=false},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.pv[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){if(M.w3){return u(Z,Y,X)}else{return undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){if(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue:function(aa){var Z=j.location.search||j.location.hash;if(Z){if(/\?/.test(Z)){Z=Z.split("?")[1]}if(aa==null){return L(Z)}var Y=Z.split("&");for(var X=0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf("="))==aa){return L(Y[X].substring((Y[X].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(a){var X=c(R);if(X&&l){X.parentNode.replaceChild(l,X);if(Q){w(Q,true);if(M.ie&&M.win){l.style.display="block"}}if(E){E(B)}}a=false}}}}();;(function ($) {
  $(function () {
    $('a[rel="external"], a[rel="resource"]').attr('target', '_blank');
  });
})(jQuery);
;