function showNote(posId,msg) {
    toolDisplayObj = document.getElementById(posId);
    if (toolDisplayObj) {
     toolDisplayObj.innerHTML = msg;
    } 
}
  
function clearInput(obj) {
    obj.value="";
    obj.onclick="";
}

function lightboxx(objID,mode,obj) {
    if(!document.getElementById("lightbox")) {
        lightboxOuter=document.createElement("span");
        lightboxOuter.id="lightboxOuter";
        lightbox=document.createElement("a");
        lightbox.href= "javascript:lightboxx('"+objID+"','self')";
        lightbox.title="close window";
        lightbox.className="lightbox";
        lightbox.id="lightbox";
        resizeLightBox();
        window.onresize= function() {
            resizeLightBox();
        };
        for(i=0; i<document.getElementsByTagName("select").length; i++) {
            document.getElementsByTagName("select")[i].style.visibility="hidden";
        }
        if (obj) {
            document.body.insertBefore(obj,document.body.firstChild);
        }
        document.body.insertBefore(lightboxOuter,document.body.firstChild);
        lightboxOuter.appendChild(lightbox);
    } else {
        window.onresize= "";
        for(i=0; i<document.getElementsByTagName("select").length; i++) {
            document.getElementsByTagName("select")[i].style.visibility="visible";
        }
        document.body.removeChild(document.getElementById('lightboxOuter'));
        if (mode=="self" && flashVars[objID]) { // ONLY FOR MOVIE PLAYER
            closeMovie(objID,"internal");
        } else if (obj) {
            document.body.removeChild(obj);
        } else if (mode=="self" && document.getElementById(objID)) {
            document.body.removeChild(document.getElementById(objID));
        }
    }
}
function resizeLightBox() {
    lightbox.style.height="0px";
    lightbox.style.width="0px";
    if (document.documentElement.scrollHeight>document.body.scrollHeight) {
        lightbox.style.height=document.documentElement.scrollHeight+"px"
    } else {
        lightbox.style.height=(document.body.scrollHeight)+"px";
    }
    if (document.documentElement.scrollWidth>document.body.scrollWidth) {
        lightbox.style.width=document.documentElement.scrollWidth+"px"
    } else {
        lightbox.style.width=(document.body.scrollWidth)+"px";
    }
}

try {if(flashVars){}}catch (e){flashVars= new Array();}

flashBuilderSRC="/data/js/flashbuilder.js"


function buildToolBox() {}
function buildFontSizeButtons() {}

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

//Additional selectors
$.extend($.expr[':'], {
    data: function(elem, i, match) {
        return !!$.data(elem, match[3]);
    },
    focusable: function(element) {
        var nodeName = element.nodeName.toLowerCase(),
            tabIndex = $.attr(element, 'tabindex');
        return (/input|select|textarea|button|object/.test(nodeName)
            ? !element.disabled
            : 'a' == nodeName || 'area' == nodeName
                ? element.href || !isNaN(tabIndex)
                : !isNaN(tabIndex))
            // the element and all of its ancestors must be visible
            // the browser may report that the area is hidden
            && !$(element)['area' == nodeName ? 'parents' : 'closest'](':hidden').length;
    },
    tabbable: function(element) {
        var tabIndex = $.attr(element, 'tabindex');
        return (isNaN(tabIndex) || tabIndex >= 0) && $(element).is(':focusable');
    }
});

// $.widget is a factory to create jQuery plugins
// taking some boilerplate code out of the plugin code
function getter(namespace, plugin, method, args) {
    function getMethods(type) {
        var methods = $[namespace][plugin][type] || [];
        return (typeof methods == 'string' ? methods.split(/,?\s+/) : methods);
    }
    var methods = getMethods('getter');
    if (args.length == 1 && typeof args[0] == 'string') {
        methods = methods.concat(getMethods('getterSetter'));
    }
    return ($.inArray(method, methods) != -1);
}
$.widget = function(name, prototype) {
    var namespace = name.split(".")[0];
    name = name.split(".")[1];
    // create plugin method
    $.fn[name] = function(options) {
        var isMethodCall = (typeof options == 'string'),
            args = Array.prototype.slice.call(arguments, 1);
        // prevent calls to internal methods
        if (isMethodCall && options.substring(0, 1) == '_') {
            return this;
        }
        // handle getter methods
        if (isMethodCall && getter(namespace, name, options, args)) {
            var instance = $.data(this[0], name);
            return (instance ? instance[options].apply(instance, args)
                : undefined);
        }
        // handle initialization and non-getter methods
        return this.each(function() {
            var instance = $.data(this, name);
            // constructor
            (!instance && !isMethodCall &&
                $.data(this, name, new $[namespace][name](this, options))._init());
            // method call
            (instance && isMethodCall && $.isFunction(instance[options]) &&
                instance[options].apply(instance, args));
        });
    };
    // create widget constructor
    $[namespace] = $[namespace] || {};
    $[namespace][name] = function(element, options) {
        var self = this;
        this.namespace = namespace;
        this.widgetName = name;
        this.widgetEventPrefix = $[namespace][name].eventPrefix || name;
        this.widgetBaseClass = namespace + '-' + name;
        this.options = $.extend({},
            $.widget.defaults,
            $[namespace][name].defaults,
            $.metadata && $.metadata.get(element)[name],
            options);
        this.element = $(element)
            .bind('setData.' + name, function(event, key, value) {
                if (event.target == element) {
                    return self._setData(key, value);
                }
            })
            .bind('getData.' + name, function(event, key) {
                if (event.target == element) {
                    return self._getData(key);
                }
            })
            .bind('remove', function() {
                return self.destroy();
            });
    };
    // add widget prototype
    $[namespace][name].prototype = $.extend({}, $.widget.prototype, prototype);
    // TODO: merge getter and getterSetter properties from widget prototype
    // and plugin prototype
    $[namespace][name].getterSetter = 'option';
};
$.widget.prototype = {
    _init: function() {},
    destroy: function() {
        this.element.removeData(this.widgetName)
            .removeClass(this.widgetBaseClass + '-disabled' + ' ' + this.namespace + '-state-disabled')
            .removeAttr('aria-disabled');
    },
    option: function(key, value) {
        var options = key,
            self = this;
        if (typeof key == "string") {
            if (value === undefined) {
                return this._getData(key);
            }
            options = {};
            options[key] = value;
        }
        $.each(options, function(key, value) {
            self._setData(key, value);
        });
    },
    _getData: function(key) {
        return this.options[key];
    },
    _setData: function(key, value) {
        this.options[key] = value;
        if (key == 'disabled') {
            this.element
                [value ? 'addClass' : 'removeClass'](
                    this.widgetBaseClass + '-disabled' + ' ' +
                    this.namespace + '-state-disabled')
                .attr("aria-disabled", value);
        }
    },
    enable: function() {
        this._setData('disabled', false);
    },
    disable: function() {
        this._setData('disabled', true);
    },
    _trigger: function(type, event, data) {
        var callback = this.options[type],
            eventName = (type == this.widgetEventPrefix
                ? type : this.widgetEventPrefix + type);
        event = $.Event(event);
        event.type = eventName;
        // copy original event properties over to the new event
        // this would happen if we could call $.event.fix instead of $.Event
        // but we don't have a way to force an event to be fixed multiple times
        if (event.originalEvent) {
            for (var i = $.event.props.length, prop; i;) {
                prop = $.event.props[--i];
                event[prop] = event.originalEvent[prop];
            }
        }
        this.element.trigger(event, data);
        return !($.isFunction(callback) && callback.call(this.element[0], event, data) === false
            || event.isDefaultPrevented());
    }
};
$.widget.defaults = {
    disabled: false
};

/** Mouse Interaction Plugin **/
$.ui.mouse = {
    _mouseInit: function() {
        var self = this;
        this.element
            .bind('mousedown.'+this.widgetName, function(event) {
                return self._mouseDown(event);
            })
            .bind('click.'+this.widgetName, function(event) {
                if(self._preventClickEvent) {
                    self._preventClickEvent = false;
                    event.stopImmediatePropagation();
                    return false;
                }
            });
        // Prevent text selection in IE
        if ($.browser.msie) {
            this._mouseUnselectable = this.element.attr('unselectable');
            this.element.attr('unselectable', 'on');
        }
        this.started = false;
    },
    // TODO: make sure destroying one instance of mouse doesn't mess with
    // other instances of mouse
    _mouseDestroy: function() {
        this.element.unbind('.'+this.widgetName);
        // Restore text selection in IE
        ($.browser.msie
            && this.element.attr('unselectable', this._mouseUnselectable));
    },
    _mouseDown: function(event) {
        // don't let more than one widget handle mouseStart
        // TODO: figure out why we have to use originalEvent
        event.originalEvent = event.originalEvent || {};
        if (event.originalEvent.mouseHandled) { return; }
        // we may have missed mouseup (out of window)
        (this._mouseStarted && this._mouseUp(event));
        this._mouseDownEvent = event;
        var self = this,
            btnIsLeft = (event.which == 1),
            elIsCancel = (typeof this.options.cancel == "string" ? $(event.target).parents().add(event.target).filter(this.options.cancel).length : false);
        if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) {
            return true;
        }
        this.mouseDelayMet = !this.options.delay;
        if (!this.mouseDelayMet) {
            this._mouseDelayTimer = setTimeout(function() {
                self.mouseDelayMet = true;
            }, this.options.delay);
        }
        if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
            this._mouseStarted = (this._mouseStart(event) !== false);
            if (!this._mouseStarted) {
                event.preventDefault();
                return true;
            }
        }
        // these delegates are required to keep context
        this._mouseMoveDelegate = function(event) {
            return self._mouseMove(event);
        };
        this._mouseUpDelegate = function(event) {
            return self._mouseUp(event);
        };
        $(document)
            .bind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
            .bind('mouseup.'+this.widgetName, this._mouseUpDelegate);
        // preventDefault() is used to prevent the selection of text here -
        // however, in Safari, this causes select boxes not to be selectable
        // anymore, so this fix is needed
        ($.browser.safari || event.preventDefault());
        event.originalEvent.mouseHandled = true;
        return true;
    },
    _mouseMove: function(event) {
        // IE mouseup check - mouseup happened when mouse was out of window
        if ($.browser.msie && !event.button) {
            return this._mouseUp(event);
        }
        if (this._mouseStarted) {
            this._mouseDrag(event);
            return event.preventDefault();
        }
        if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
            this._mouseStarted =
                (this._mouseStart(this._mouseDownEvent, event) !== false);
            (this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event));
        }
        return !this._mouseStarted;
    },
    _mouseUp: function(event) {
        $(document)
            .unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
            .unbind('mouseup.'+this.widgetName, this._mouseUpDelegate);
        if (this._mouseStarted) {
            this._mouseStarted = false;
            this._preventClickEvent = (event.target == this._mouseDownEvent.target);
            this._mouseStop(event);
        }
        return false;
    },
    _mouseDistanceMet: function(event) {
        return (Math.max(
                Math.abs(this._mouseDownEvent.pageX - event.pageX),
                Math.abs(this._mouseDownEvent.pageY - event.pageY)
            ) >= this.options.distance
        );
    },
    _mouseDelayMet: function(event) {
        return this.mouseDelayMet;
    },
    // These are placeholder methods, to be overriden by extending plugin
    _mouseStart: function(event) {},
    _mouseDrag: function(event) {},
    _mouseStop: function(event) {},
    _mouseCapture: function(event) { return true; }
};
$.ui.mouse.defaults = {
    cancel: null,
    distance: 1,
    delay: 0
};
})(jQuery);/*
 * jquery.tools 1.1.2 - The missing UI library for the Web
 *
 * [tools.tabs-1.0.4, tools.tabs.slideshow-1.0.2, tools.tabs.history-1.0.2, tools.tooltip-1.1.2, tools.tooltip.slide-1.0.0, tools.tooltip.dynamic-1.0.1, tools.scrollable-1.1.2, tools.scrollable.circular-0.5.1, tools.scrollable.autoscroll-1.0.1, tools.scrollable.navigator-1.0.2, tools.scrollable.mousewheel-1.0.1, tools.overlay-1.1.2, tools.overlay.gallery-1.0.0, tools.overlay.apple-1.0.1, tools.expose-1.0.5]
 *
 * Copyright (c) 2009 Tero Piirainen
 * http://flowplayer.org/tools/
 *
 * Dual licensed under MIT and GPL 2+ licenses
 * http://www.opensource.org/licenses
 *
 * -----
 *
 * jquery.event.wheel.js - rev 1
 * Copyright (c) 2008, Three Dub Media (http://threedubmedia.com)
 * Liscensed under the MIT License (MIT-LICENSE.txt)
 * http://www.opensource.org/licenses/mit-license.php
 * Created: 2008-07-01 | Updated: 2008-07-14
 *
 * -----
 *
 * File generated: Wed Oct 07 12:05:57 GMT+00:00 2009
 */
/**
(function(d){d.tools=d.tools||{};d.tools.tabs={version:"1.0.4",conf:{tabs:"a",current:"current",onBeforeClick:null,onClick:null,effect:"default",initialIndex:0,event:"click",api:false,rotate:false},addEffect:function(e,f){c[e]=f}};var c={"default":function(f,e){this.getPanes().hide().eq(f).show();e.call()},fade:function(g,e){var f=this.getConf(),j=f.fadeOutSpeed,h=this.getPanes();if(j){h.fadeOut(j)}else{h.hide()}h.eq(g).fadeIn(f.fadeInSpeed,e)},slide:function(f,e){this.getPanes().slideUp(200);this.getPanes().eq(f).slideDown(400,e)},ajax:function(f,e){this.getPanes().eq(0).load(this.getTabs().eq(f).attr("href"),e)}};var b;d.tools.tabs.addEffect("horizontal",function(f,e){if(!b){b=this.getPanes().eq(0).width()}this.getCurrentPane().animate({width:0},function(){d(this).hide()});this.getPanes().eq(f).animate({width:b},function(){d(this).show();e.call()})});function a(g,h,f){var e=this,j=d(this),i;d.each(f,function(k,l){if(d.isFunction(l)){j.bind(k,l)}});d.extend(this,{click:function(k,n){var o=e.getCurrentPane();var l=g.eq(k);if(typeof k=="string"&&k.replace("#","")){l=g.filter("[href*="+k.replace("#","")+"]");k=Math.max(g.index(l),0)}if(f.rotate){var m=g.length-1;if(k<0){return e.click(m,n)}if(k>m){return e.click(0,n)}}if(!l.length){if(i>=0){return e}k=f.initialIndex;l=g.eq(k)}if(k===i){return e}n=n||d.Event();n.type="onBeforeClick";j.trigger(n,[k]);if(n.isDefaultPrevented()){return}c[f.effect].call(e,k,function(){n.type="onClick";j.trigger(n,[k])});n.type="onStart";j.trigger(n,[k]);if(n.isDefaultPrevented()){return}i=k;g.removeClass(f.current);l.addClass(f.current);return e},getConf:function(){return f},getTabs:function(){return g},getPanes:function(){return h},getCurrentPane:function(){return h.eq(i)},getCurrentTab:function(){return g.eq(i)},getIndex:function(){return i},next:function(){return e.click(i+1)},prev:function(){return e.click(i-1)},bind:function(k,l){j.bind(k,l);return e},onBeforeClick:function(k){return this.bind("onBeforeClick",k)},onClick:function(k){return this.bind("onClick",k)},unbind:function(k){j.unbind(k);return e}});g.each(function(k){d(this).bind(f.event,function(l){e.click(k,l);return false})});if(location.hash){e.click(location.hash)}else{if(f.initialIndex===0||f.initialIndex>0){e.click(f.initialIndex)}}h.find("a[href^=#]").click(function(k){e.click(d(this).attr("href"),k)})}d.fn.tabs=function(i,f){var g=this.eq(typeof f=="number"?f:0).data("tabs");if(g){return g}if(d.isFunction(f)){f={onBeforeClick:f}}var h=d.extend({},d.tools.tabs.conf),e=this.length;f=d.extend(h,f);this.each(function(l){var j=d(this);var k=j.find(f.tabs);if(!k.length){k=j.children()}var m=i.jquery?i:j.children(i);if(!m.length){m=e==1?d(i):j.parent().find(i)}g=new a(k,m,f);j.data("tabs",g)});return f.api?g:this}})(jQuery);
(function(b){var a=b.tools.tabs;a.plugins=a.plugins||{};a.plugins.slideshow={version:"1.0.2",conf:{next:".forward",prev:".backward",disabledClass:"disabled",autoplay:false,autopause:true,interval:3000,clickable:true,api:false}};b.prototype.slideshow=function(e){var f=b.extend({},a.plugins.slideshow.conf),c=this.length,d;e=b.extend(f,e);this.each(function(){var p=b(this),m=p.tabs(),i=b(m),o=m;b.each(e,function(t,u){if(b.isFunction(u)){m.bind(t,u)}});function n(t){return c==1?b(t):p.parent().find(t)}var s=n(e.next).click(function(){m.next()});var q=n(e.prev).click(function(){m.prev()});var h,j,l,g=false;b.extend(m,{play:function(){if(h){return}var t=b.Event("onBeforePlay");i.trigger(t);if(t.isDefaultPrevented()){return m}g=false;h=setInterval(m.next,e.interval);i.trigger("onPlay");m.next()},pause:function(){if(!h){return m}var t=b.Event("onBeforePause");i.trigger(t);if(t.isDefaultPrevented()){return m}h=clearInterval(h);l=clearInterval(l);i.trigger("onPause")},stop:function(){m.pause();g=true},onBeforePlay:function(t){return m.bind("onBeforePlay",t)},onPlay:function(t){return m.bind("onPlay",t)},onBeforePause:function(t){return m.bind("onBeforePause",t)},onPause:function(t){return m.bind("onPause",t)}});if(e.autopause){var k=m.getTabs().add(s).add(q).add(m.getPanes());k.hover(function(){m.pause();j=clearInterval(j)},function(){if(!g){j=setTimeout(m.play,e.interval)}})}if(e.autoplay){l=setTimeout(m.play,e.interval)}else{m.stop()}if(e.clickable){m.getPanes().click(function(){m.next()})}if(!m.getConf().rotate){var r=e.disabledClass;if(!m.getIndex()){q.addClass(r)}m.onBeforeClick(function(u,t){if(!t){q.addClass(r)}else{q.removeClass(r);if(t==m.getTabs().length-1){s.addClass(r)}else{s.removeClass(r)}}})}});return e.api?d:this}})(jQuery);
(function(d){var a=d.tools.tabs;a.plugins=a.plugins||{};a.plugins.history={version:"1.0.2",conf:{api:false}};var e,b;function c(f){if(f){var g=b.contentWindow.document;g.open().close();g.location.hash=f}}d.fn.onHash=function(g){var f=this;if(d.browser.msie&&d.browser.version<"8"){if(!b){b=d("<iframe/>").attr("src","javascript:false;").hide().get(0);d("body").append(b);setInterval(function(){var i=b.contentWindow.document,j=i.location.hash;if(e!==j){d.event.trigger("hash",j);e=j}},100);c(location.hash||"#")}f.bind("click.hash",function(h){c(d(this).attr("href"))})}else{setInterval(function(){var j=location.hash;var i=f.filter("[href$="+j+"]");if(!i.length){j=j.replace("#","");i=f.filter("[href$="+j+"]")}if(i.length&&j!==e){e=j;d.event.trigger("hash",j)}},100)}d(window).bind("hash",g);return this};d.fn.history=function(g){var h=d.extend({},a.plugins.history.conf),f;g=d.extend(h,g);this.each(function(){var j=d(this).tabs(),i=j.getTabs();if(j){f=j}i.onHash(function(k,l){if(!l||l=="#"){l=j.getConf().initialIndex}j.click(l)});i.click(function(k){location.hash=d(this).attr("href").replace("#","")})});return g.api?f:this}})(jQuery);
*/
(function(c){var d=[];c.tools=c.tools||{};c.tools.tooltip={version:"1.1.2",conf:{effect:"toggle",fadeOutSpeed:"fast",tip:null,predelay:0,delay:30,opacity:1,lazy:undefined,position:["top","center"],offset:[0,0],cancelDefault:true,relative:false,oneInstance:true,events:{def:"mouseover,mouseout",input:"focus,blur",widget:"focus mouseover,blur mouseout",tooltip:"mouseover,mouseout"},api:false},addEffect:function(e,g,f){b[e]=[g,f]}};var b={toggle:[function(e){var f=this.getConf(),g=this.getTip(),h=f.opacity;if(h<1){g.css({opacity:h})}g.show();e.call()},function(e){this.getTip().hide();e.call()}],fade:[function(e){this.getTip().fadeIn(this.getConf().fadeInSpeed,e)},function(e){this.getTip().fadeOut(this.getConf().fadeOutSpeed,e)}]};function a(f,g){var p=this,k=c(this);f.data("tooltip",p);var l=f.next();if(g.tip){l=c(g.tip);if(l.length>1){l=f.nextAll(g.tip).eq(0);if(!l.length){l=f.parent().nextAll(g.tip).eq(0)}}}function o(u){var t=g.relative?f.position().top:f.offset().top,s=g.relative?f.position().left:f.offset().left,v=g.position[0];t-=l.outerHeight()-g.offset[0];s+=f.outerWidth()+g.offset[1];var q=l.outerHeight()+f.outerHeight();if(v=="center"){t+=q/2}if(v=="bottom"){t+=q}v=g.position[1];var r=l.outerWidth()+f.outerWidth();if(v=="center"){s-=r/2}if(v=="left"){s-=r}return{top:t,left:s}}var i=f.is(":input"),e=i&&f.is(":checkbox, :radio, select, :button"),h=f.attr("type"),n=g.events[h]||g.events[i?(e?"widget":"input"):"def"];n=n.split(/,\s*/);if(n.length!=2){throw"Tooltip: bad events configuration for "+h}f.bind(n[0],function(r){if(g.oneInstance){c.each(d,function(){this.hide()})}var q=l.data("trigger");if(q&&q[0]!=this){l.hide().stop(true,true)}r.target=this;p.show(r);n=g.events.tooltip.split(/,\s*/);l.bind(n[0],function(){p.show(r)});if(n[1]){l.bind(n[1],function(){p.hide(r)})}});f.bind(n[1],function(q){p.hide(q)});if(!c.browser.msie&&!i&&!g.predelay){f.mousemove(function(){if(!p.isShown()){f.triggerHandler("mouseover")}})}if(g.opacity<1){l.css("opacity",g.opacity)}var m=0,j=f.attr("title");if(j&&g.cancelDefault){f.removeAttr("title");f.data("title",j)}c.extend(p,{show:function(r){if(r){f=c(r.target)}clearTimeout(l.data("timer"));if(l.is(":animated")||l.is(":visible")){return p}function q(){l.data("trigger",f);var t=o(r);if(g.tip&&j){l.html(f.data("title"))}r=r||c.Event();r.type="onBeforeShow";k.trigger(r,[t]);if(r.isDefaultPrevented()){return p}t=o(r);l.css({position:"absolute",top:t.top,left:t.left});var s=b[g.effect];if(!s){throw'Nonexistent effect "'+g.effect+'"'}s[0].call(p,function(){r.type="onShow";k.trigger(r)})}if(g.predelay){clearTimeout(m);m=setTimeout(q,g.predelay)}else{q()}return p},hide:function(r){clearTimeout(l.data("timer"));clearTimeout(m);if(!l.is(":visible")){return}function q(){r=r||c.Event();r.type="onBeforeHide";k.trigger(r);if(r.isDefaultPrevented()){return}b[g.effect][1].call(p,function(){r.type="onHide";k.trigger(r)})}if(g.delay&&r){l.data("timer",setTimeout(q,g.delay))}else{q()}return p},isShown:function(){return l.is(":visible, :animated")},getConf:function(){return g},getTip:function(){return l},getTrigger:function(){return f},bind:function(q,r){k.bind(q,r);return p},onHide:function(q){return this.bind("onHide",q)},onBeforeShow:function(q){return this.bind("onBeforeShow",q)},onShow:function(q){return this.bind("onShow",q)},onBeforeHide:function(q){return this.bind("onBeforeHide",q)},unbind:function(q){k.unbind(q);return p}});c.each(g,function(q,r){if(c.isFunction(r)){p.bind(q,r)}})}c.prototype.tooltip=function(e){var f=this.eq(typeof e=="number"?e:0).data("tooltip");if(f){return f}var g=c.extend(true,{},c.tools.tooltip.conf);if(c.isFunction(e)){e={onBeforeShow:e}}else{if(typeof e=="string"){e={tip:e}}}e=c.extend(true,g,e);if(typeof e.position=="string"){e.position=e.position.split(/,?\s/)}if(e.lazy!==false&&(e.lazy===true||this.length>20)){this.one("mouseover",function(h){f=new a(c(this),e);f.show(h);d.push(f)})}else{this.each(function(){f=new a(c(this),e);d.push(f)})}return e.api?f:this}})(jQuery);
(function(b){var a=b.tools.tooltip;a.effects=a.effects||{};a.effects.slide={version:"1.0.0"};b.extend(a.conf,{direction:"up",bounce:false,slideOffset:10,slideInSpeed:200,slideOutSpeed:200,slideFade:!b.browser.msie});var c={up:["-","top"],down:["+","top"],left:["-","left"],right:["+","left"]};b.tools.tooltip.addEffect("slide",function(d){var f=this.getConf(),g=this.getTip(),h=f.slideFade?{opacity:f.opacity}:{},e=c[f.direction]||c.up;h[e[1]]=e[0]+"="+f.slideOffset;if(f.slideFade){g.css({opacity:0})}g.show().animate(h,f.slideInSpeed,d)},function(e){var g=this.getConf(),i=g.slideOffset,h=g.slideFade?{opacity:0}:{},f=c[g.direction]||c.up;var d=""+f[0];if(g.bounce){d=d=="+"?"-":"+"}h[f[1]]=d+"="+i;this.getTip().animate(h,g.slideOutSpeed,function(){b(this).hide();e.call()})})})(jQuery);
(function(d){var c=d.tools.tooltip;c.plugins=c.plugins||{};c.plugins.dynamic={version:"1.0.1",conf:{api:false,classNames:"top right bottom left"}};function b(h){var e=d(window);var g=e.width()+e.scrollLeft();var f=e.height()+e.scrollTop();return[h.offset().top<=e.scrollTop(),g<=h.offset().left+h.width(),f<=h.offset().top+h.height(),e.scrollLeft()>=h.offset().left]}function a(f){var e=f.length;while(e--){if(f[e]){return false}}return true}d.fn.dynamic=function(g){var h=d.extend({},c.plugins.dynamic.conf),f;if(typeof g=="number"){g={speed:g}}g=d.extend(h,g);var e=g.classNames.split(/\s/),i;this.each(function(){if(d(this).tooltip().jquery){throw"Lazy feature not supported by dynamic plugin. set lazy: false for tooltip"}var j=d(this).tooltip().onBeforeShow(function(n,o){var m=this.getTip(),l=this.getConf();if(!i){i=[l.position[0],l.position[1],l.offset[0],l.offset[1],d.extend({},l)]}d.extend(l,i[4]);l.position=[i[0],i[1]];l.offset=[i[2],i[3]];m.css({visibility:"hidden",position:"absolute",top:o.top,left:o.left}).show();var k=b(m);if(!a(k)){if(k[2]){d.extend(l,g.top);l.position[0]="top";m.addClass(e[0])}if(k[3]){d.extend(l,g.right);l.position[1]="right";m.addClass(e[1])}if(k[0]){d.extend(l,g.bottom);l.position[0]="bottom";m.addClass(e[2])}if(k[1]){d.extend(l,g.left);l.position[1]="left";m.addClass(e[3])}if(k[0]||k[2]){l.offset[0]*=-1}if(k[1]||k[3]){l.offset[1]*=-1}}m.css({visibility:"visible"}).hide()});j.onShow(function(){var l=this.getConf(),k=this.getTip();l.position=[i[0],i[1]];l.offset=[i[2],i[3]]});j.onHide(function(){var k=this.getTip();k.removeClass(g.classNames)});f=j});return g.api?f:this}})(jQuery);
(function(b){b.tools=b.tools||{};b.tools.scrollable={version:"1.1.2",conf:{size:5,vertical:false,speed:400,keyboard:true,keyboardSteps:null,disabledClass:"disabled",hoverClass:null,clickable:true,activeClass:"active",easing:"swing",loop:false,items:".items",item:null,prev:".prev",next:".next",prevPage:".prevPage",nextPage:".nextPage",api:false}};var c;function a(o,m){var r=this,p=b(this),d=!m.vertical,e=o.children(),k=0,i;if(!c){c=r}b.each(m,function(s,t){if(b.isFunction(t)){p.bind(s,t)}});if(e.length>1){e=b(m.items,o)}function l(t){var s=b(t);return m.globalNav?s:o.parent().find(t)}o.data("finder",l);var f=l(m.prev),h=l(m.next),g=l(m.prevPage),n=l(m.nextPage);b.extend(r,{getIndex:function(){return k},getClickIndex:function(){var s=r.getItems();return s.index(s.filter("."+m.activeClass))},getConf:function(){return m},getSize:function(){return r.getItems().size()},getPageAmount:function(){return Math.ceil(this.getSize()/m.size)},getPageIndex:function(){return Math.ceil(k/m.size)},getNaviButtons:function(){return f.add(h).add(g).add(n)},getRoot:function(){return o},getItemWrap:function(){return e},getItems:function(){return e.children(m.item)},getVisibleItems:function(){return r.getItems().slice(k,k+m.size)},seekTo:function(s,w,t){if(s<0){s=0}if(k===s){return r}if(b.isFunction(w)){t=w}if(s>r.getSize()-m.size){return m.loop?r.begin():this.end()}var u=r.getItems().eq(s);if(!u.length){return r}var v=b.Event("onBeforeSeek");p.trigger(v,[s]);if(v.isDefaultPrevented()){return r}if(w===undefined||b.isFunction(w)){w=m.speed}function x(){if(t){t.call(r,s)}p.trigger("onSeek",[s])}if(d){e.animate({left:-u.position().left},w,m.easing,x)}else{e.animate({top:-u.position().top},w,m.easing,x)}c=r;k=s;v=b.Event("onStart");p.trigger(v,[s]);if(v.isDefaultPrevented()){return r}f.add(g).toggleClass(m.disabledClass,s===0);h.add(n).toggleClass(m.disabledClass,s>=r.getSize()-m.size);return r},move:function(u,t,s){i=u>0;return this.seekTo(k+u,t,s)},next:function(t,s){return this.move(1,t,s)},prev:function(t,s){return this.move(-1,t,s)},movePage:function(w,v,u){i=w>0;var s=m.size*w;var t=k%m.size;if(t>0){s+=(w>0?-t:m.size-t)}return this.move(s,v,u)},prevPage:function(t,s){return this.movePage(-1,t,s)},nextPage:function(t,s){return this.movePage(1,t,s)},setPage:function(t,u,s){return this.seekTo(t*m.size,u,s)},begin:function(t,s){i=false;return this.seekTo(0,t,s)},end:function(t,s){i=true;var u=this.getSize()-m.size;return u>0?this.seekTo(u,t,s):r},reload:function(){p.trigger("onReload");return r},focus:function(){c=r;return r},click:function(u){var v=r.getItems().eq(u),s=m.activeClass,t=m.size;if(u<0||u>=r.getSize()){return r}if(t==1){if(m.loop){return r.next()}if(u===0||u==r.getSize()-1){i=(i===undefined)?true:!i}return i===false?r.prev():r.next()}if(t==2){if(u==k){u--}r.getItems().removeClass(s);v.addClass(s);return r.seekTo(u,time,fn)}if(!v.hasClass(s)){r.getItems().removeClass(s);v.addClass(s);var x=Math.floor(t/2);var w=u-x;if(w>r.getSize()-t){w=r.getSize()-t}if(w!==u){return r.seekTo(w)}}return r},bind:function(s,t){p.bind(s,t);return r},unbind:function(s){p.unbind(s);return r}});b.each("onBeforeSeek,onStart,onSeek,onReload".split(","),function(s,t){r[t]=function(u){return r.bind(t,u)}});f.addClass(m.disabledClass).click(function(){r.prev()});h.click(function(){r.next()});n.click(function(){r.nextPage()});if(r.getSize()<m.size){h.add(n).addClass(m.disabledClass)}g.addClass(m.disabledClass).click(function(){r.prevPage()});var j=m.hoverClass,q="keydown."+Math.random().toString().substring(10);r.onReload(function(){if(j){r.getItems().hover(function(){b(this).addClass(j)},function(){b(this).removeClass(j)})}if(m.clickable){r.getItems().each(function(s){b(this).unbind("click.scrollable").bind("click.scrollable",function(t){if(b(t.target).is("a")){return}return r.click(s)})})}if(m.keyboard){b(document).unbind(q).bind(q,function(t){if(t.altKey||t.ctrlKey){return}if(m.keyboard!="static"&&c!=r){return}var u=m.keyboardSteps;if(d&&(t.keyCode==37||t.keyCode==39)){r.move(t.keyCode==37?-u:u);return t.preventDefault()}if(!d&&(t.keyCode==38||t.keyCode==40)){r.move(t.keyCode==38?-u:u);return t.preventDefault()}return true})}else{b(document).unbind(q)}});r.reload()}b.fn.scrollable=function(d){var e=this.eq(typeof d=="number"?d:0).data("scrollable");if(e){return e}var f=b.extend({},b.tools.scrollable.conf);d=b.extend(f,d);d.keyboardSteps=d.keyboardSteps||d.size;this.each(function(){e=new a(b(this),d);b(this).data("scrollable",e)});return d.api?e:this}})(jQuery);
(function(b){var a=b.tools.scrollable;a.plugins=a.plugins||{};a.plugins.circular={version:"0.5.1",conf:{api:false,clonedClass:"cloned"}};b.fn.circular=function(e){var d=b.extend({},a.plugins.circular.conf),c;b.extend(d,e);this.each(function(){var i=b(this).scrollable(),n=i.getItems(),k=i.getConf(),f=i.getItemWrap(),j=0;if(i){c=i}if(n.length<k.size){return false}n.slice(0,k.size).each(function(o){b(this).clone().appendTo(f).click(function(){i.click(n.length+o)}).addClass(d.clonedClass)});var l=b.makeArray(n.slice(-k.size)).reverse();b(l).each(function(o){b(this).clone().prependTo(f).click(function(){i.click(-o-1)}).addClass(d.clonedClass)});var m=f.children(k.item);var h=k.hoverClass;if(h){m.hover(function(){b(this).addClass(h)},function(){b(this).removeClass(h)})}function g(o){var p=m.eq(o);if(k.vertical){f.css({top:-p.position().top})}else{f.css({left:-p.position().left})}}g(k.size);b.extend(i,{move:function(s,r,p,q){var u=j+s+k.size;var t=u>i.getSize()-k.size;if(u<=0||t){var o=j+k.size+(t?-n.length:n.length);g(o);u=o+s}if(q){m.removeClass(k.activeClass).eq(u+Math.floor(k.size/2)).addClass(k.activeClass)}if(u===j+k.size){return self}return i.seekTo(u,r,p)},begin:function(p,o){return this.seekTo(k.size,p,o)},end:function(p,o){return this.seekTo(n.length,p,o)},click:function(p,r,q){if(!k.clickable){return self}if(k.size==1){return this.next()}var s=p-j,o=k.activeClass;s-=Math.floor(k.size/2);return this.move(s,r,q,true)},getIndex:function(){return j},setPage:function(p,q,o){return this.seekTo(p*k.size+k.size,q,o)},getPageAmount:function(){return Math.ceil(n.length/k.size)},getPageIndex:function(){if(j<0){return this.getPageAmount()-1}if(j>=n.length){return 0}var o=(j+k.size)/k.size-1;return o},getVisibleItems:function(){var o=j+k.size;return m.slice(o,o+k.size)}});i.onStart(function(p,o){j=o-k.size;return false});i.getNaviButtons().removeClass(k.disabledClass)});return d.api?c:this}})(jQuery);
(function(b){var a=b.tools.scrollable;a.plugins=a.plugins||{};a.plugins.autoscroll={version:"1.0.1",conf:{autoplay:true,interval:3000,autopause:true,steps:1,api:false}};b.fn.autoscroll=function(d){if(typeof d=="number"){d={interval:d}}var e=b.extend({},a.plugins.autoscroll.conf),c;b.extend(e,d);this.each(function(){var g=b(this).scrollable();if(g){c=g}var i,f,h=true;g.play=function(){if(i){return}h=false;i=setInterval(function(){g.move(e.steps)},e.interval);g.move(e.steps)};g.pause=function(){i=clearInterval(i)};g.stop=function(){g.pause();h=true};if(e.autopause){g.getRoot().add(g.getNaviButtons()).hover(function(){g.pause();clearInterval(f)},function(){if(!h){f=setTimeout(g.play,e.interval)}})}if(e.autoplay){setTimeout(g.play,e.interval)}});return e.api?c:this}})(jQuery);
(function(b){var a=b.tools.scrollable;a.plugins=a.plugins||{};a.plugins.navigator={version:"1.0.2",conf:{navi:".navi",naviItem:null,activeClass:"active",indexed:false,api:false,idPrefix:null}};b.fn.navigator=function(d){var e=b.extend({},a.plugins.navigator.conf),c;if(typeof d=="string"){d={navi:d}}d=b.extend(e,d);this.each(function(){var i=b(this).scrollable(),f=i.getRoot(),l=f.data("finder").call(null,d.navi),g=null,k=i.getNaviButtons();if(i){c=i}i.getNaviButtons=function(){return k.add(l)};function j(){if(!l.children().length||l.data("navi")==i){l.empty();l.data("navi",i);for(var m=0;m<i.getPageAmount();m++){l.append(b("<"+(d.naviItem||"a")+"/>"))}g=l.children().each(function(n){var o=b(this);o.click(function(p){i.setPage(n);return p.preventDefault()});if(d.indexed){o.text(n)}if(d.idPrefix){o.attr("id",d.idPrefix+n)}})}else{g=d.naviItem?l.find(d.naviItem):l.children();g.each(function(n){var o=b(this);o.click(function(p){i.setPage(n);return p.preventDefault()})})}g.eq(0).addClass(d.activeClass)}i.onStart(function(o,n){var m=d.activeClass;g.removeClass(m).eq(i.getPageIndex()).addClass(m)});i.onReload(function(){j()});j();var h=g.filter("[href="+location.hash+"]");if(h.length){i.move(g.index(h))}});return d.api?c:this}})(jQuery);
(function(b){b.fn.wheel=function(e){return this[e?"bind":"trigger"]("wheel",e)};b.event.special.wheel={setup:function(){b.event.add(this,d,c,{})},teardown:function(){b.event.remove(this,d,c)}};var d=!b.browser.mozilla?"mousewheel":"DOMMouseScroll"+(b.browser.version<"1.9"?" mousemove":"");function c(e){switch(e.type){case"mousemove":return b.extend(e.data,{clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY});case"DOMMouseScroll":b.extend(e,e.data);e.delta=-e.detail/3;break;case"mousewheel":e.delta=e.wheelDelta/120;break}e.type="wheel";return b.event.handle.call(this,e,e.delta)}var a=b.tools.scrollable;a.plugins=a.plugins||{};a.plugins.mousewheel={version:"1.0.1",conf:{api:false,speed:50}};b.fn.mousewheel=function(f){var g=b.extend({},a.plugins.mousewheel.conf),e;if(typeof f=="number"){f={speed:f}}f=b.extend(g,f);this.each(function(){var h=b(this).scrollable();if(h){e=h}h.getRoot().wheel(function(i,j){h.move(j<0?1:-1,f.speed||50);return false})});return f.api?e:this}})(jQuery);
(function(c){c.tools=c.tools||{};c.tools.overlay={version:"1.1.2",addEffect:function(e,f,g){b[e]=[f,g]},conf:{top:"10%",left:"center",absolute:false,speed:"normal",closeSpeed:"fast",effect:"default",close:null,oneInstance:true,closeOnClick:true,closeOnEsc:true,api:false,expose:null,target:null}};var b={};c.tools.overlay.addEffect("default",function(e){this.getOverlay().fadeIn(this.getConf().speed,e)},function(e){this.getOverlay().fadeOut(this.getConf().closeSpeed,e)});var d=[];function a(g,k){var o=this,m=c(this),n=c(window),j,i,h,e=k.expose&&c.tools.expose.version;var f=k.target||g.attr("rel");i=f?c(f):null||g;if(!i.length){throw"Could not find Overlay: "+f}if(g&&g.index(i)==-1){g.click(function(p){o.load(p);return p.preventDefault()})}c.each(k,function(p,q){if(c.isFunction(q)){m.bind(p,q)}});c.extend(o,{load:function(u){if(o.isOpened()){return o}var r=b[k.effect];if(!r){throw'Overlay: cannot find effect : "'+k.effect+'"'}if(k.oneInstance){c.each(d,function(){this.close(u)})}u=u||c.Event();u.type="onBeforeLoad";m.trigger(u);if(u.isDefaultPrevented()){return o}h=true;if(e){i.expose().load(u)}var t=k.top;var s=k.left;var p=i.outerWidth({margin:true});var q=i.outerHeight({margin:true});if(typeof t=="string"){t=t=="center"?Math.max((n.height()-q)/2,0):parseInt(t,10)/100*n.height()}if(s=="center"){s=Math.max((n.width()-p)/2,0)}if(!k.absolute){t+=n.scrollTop();s+=n.scrollLeft()}i.css({top:t,left:s,position:"absolute"});u.type="onStart";m.trigger(u);r[0].call(o,function(){if(h){u.type="onLoad";m.trigger(u)}});if(k.closeOnClick){c(document).bind("click.overlay",function(w){if(!o.isOpened()){return}var v=c(w.target);if(v.parents(i).length>1){return}c.each(d,function(){this.close(w)})})}if(k.closeOnEsc){c(document).unbind("keydown.overlay").bind("keydown.overlay",function(v){if(v.keyCode==27){c.each(d,function(){this.close(v)})}})}return o},close:function(q){if(!o.isOpened()){return o}q=q||c.Event();q.type="onBeforeClose";m.trigger(q);if(q.isDefaultPrevented()){return}h=false;b[k.effect][1].call(o,function(){q.type="onClose";m.trigger(q)});var p=true;c.each(d,function(){if(this.isOpened()){p=false}});if(p){c(document).unbind("click.overlay").unbind("keydown.overlay")}return o},getContent:function(){return i},getOverlay:function(){return i},getTrigger:function(){return g},getClosers:function(){return j},isOpened:function(){return h},getConf:function(){return k},bind:function(p,q){m.bind(p,q);return o},unbind:function(p){m.unbind(p);return o}});c.each("onBeforeLoad,onStart,onLoad,onBeforeClose,onClose".split(","),function(p,q){o[q]=function(r){return o.bind(q,r)}});if(e){if(typeof k.expose=="string"){k.expose={color:k.expose}}c.extend(k.expose,{api:true,closeOnClick:k.closeOnClick,closeOnEsc:false});var l=i.expose(k.expose);l.onBeforeClose(function(p){o.close(p)});o.onClose(function(p){l.close(p)})}j=i.find(k.close||".close");if(!j.length&&!k.close){j=c('<div class="close"></div>');i.prepend(j)}j.click(function(p){o.close(p)})}c.fn.overlay=function(e){var f=this.eq(typeof e=="number"?e:0).data("overlay");if(f){return f}if(c.isFunction(e)){e={onBeforeLoad:e}}var g=c.extend({},c.tools.overlay.conf);e=c.extend(true,g,e);this.each(function(){f=new a(c(this),e);d.push(f);c(this).data("overlay",f)});return e.api?f:this}})(jQuery);
(function(b){var a=b.tools.overlay;a.plugins=a.plugins||{};a.plugins.gallery={version:"1.0.0",conf:{imgId:"img",next:".next",prev:".prev",info:".info",progress:".progress",disabledClass:"disabled",activeClass:"active",opacity:0.8,speed:"slow",template:"<strong>${title}</strong> <span>Image ${index} of ${total}</span>",autohide:true,preload:true,api:false}};b.fn.gallery=function(d){var o=b.extend({},a.plugins.gallery.conf),m;b.extend(o,d);m=this.overlay();var r=this,j=m.getOverlay(),k=j.find(o.next),g=j.find(o.prev),e=j.find(o.info),c=j.find(o.progress),h=g.add(k).add(e).css({opacity:o.opacity}),s=m.getClosers(),l;function p(u){c.fadeIn();h.hide();s.hide();var t=u.attr("href");var v=new Image();v.onload=function(){c.fadeOut();var y=b("#"+o.imgId,j);if(!y.length){y=b("<img/>").attr("id",o.imgId).css("visibility","hidden");j.prepend(y)}y.attr("src",t).css("visibility","hidden");var z=v.width;var A=(b(window).width()-z)/2;l=r.index(r.filter("[href="+t+"]"));r.removeClass(o.activeClass).eq(l).addClass(o.activeClass);var w=o.disabledClass;h.removeClass(w);if(l===0){g.addClass(w)}if(l==r.length-1){k.addClass(w)}var B=o.template.replace("${title}",u.attr("title")||u.data("title")).replace("${index}",l+1).replace("${total}",r.length);var x=parseInt(e.css("paddingLeft"),10)+parseInt(e.css("paddingRight"),10);e.html(B).css({width:z-x});j.animate({width:z,height:v.height,left:A},o.speed,function(){y.hide().css("visibility","visible").fadeIn(function(){if(!o.autohide){h.fadeIn();s.show()}})})};v.onerror=function(){j.fadeIn().html("Cannot find image "+t)};v.src=t;if(o.preload){r.filter(":eq("+(l-1)+"), :eq("+(l+1)+")").each(function(){var w=new Image();w.src=b(this).attr("href")})}}function f(t,u){t.click(function(){if(t.hasClass(o.disabledClass)){return}var v=r.eq(i=l+(u?1:-1));if(v.length){p(v)}})}f(k,true);f(g);b(document).keydown(function(t){if(!j.is(":visible")||t.altKey||t.ctrlKey){return}if(t.keyCode==37||t.keyCode==39){var u=t.keyCode==37?g:k;u.click();return t.preventDefault()}return true});function q(){if(!j.is(":animated")){h.show();s.show()}}if(o.autohide){j.hover(q,function(){h.fadeOut();s.hide()}).mousemove(q)}var n;this.each(function(){var v=b(this),u=b(this).overlay(),t=u;u.onBeforeLoad(function(){p(v)});u.onClose(function(){r.removeClass(o.activeClass)})});return o.api?n:this}})(jQuery);
(function(d){var b=d.tools.overlay;b.effects=b.effects||{};b.effects.apple={version:"1.0.1"};d.extend(b.conf,{start:{absolute:true,top:null,left:null},fadeInSpeed:"fast",zIndex:9999});function c(f){var g=f.offset();return[g.top+f.height()/2,g.left+f.width()/2]}var e=function(n){var k=this.getOverlay(),f=this.getConf(),i=this.getTrigger(),q=this,r=k.outerWidth({margin:true}),m=k.data("img");if(!m){var l=k.css("backgroundImage");if(!l){throw"background-image CSS property not set for overlay"}l=l.substring(l.indexOf("(")+1,l.indexOf(")")).replace(/\"/g,"");k.css("backgroundImage","none");m=d('<img src="'+l+'"/>');m.css({border:0,position:"absolute",display:"none"}).width(r);d("body").append(m);k.data("img",m)}var o=d(window),j=f.start.top||Math.round(o.height()/2),h=f.start.left||Math.round(o.width()/2);if(i){var g=c(i);j=g[0];h=g[1]}if(!f.start.absolute){j+=o.scrollTop();h+=o.scrollLeft()}m.css({top:j,left:h,width:0,zIndex:f.zIndex}).show();m.animate({top:k.css("top"),left:k.css("left"),width:r},f.speed,function(){k.css("zIndex",f.zIndex+1).fadeIn(f.fadeInSpeed,function(){if(q.isOpened()&&!d(this).index(k)){n.call()}else{k.hide()}})})};var a=function(f){var h=this.getOverlay(),i=this.getConf(),g=this.getTrigger(),l=i.start.top,k=i.start.left;h.hide();if(g){var j=c(g);l=j[0];k=j[1]}h.data("img").animate({top:l,left:k,width:0},i.closeSpeed,f)};b.addEffect("apple",e,a)})(jQuery);
(function(b){b.tools=b.tools||{};b.tools.expose={version:"1.0.5",conf:{maskId:null,loadSpeed:"slow",closeSpeed:"fast",closeOnClick:true,closeOnEsc:true,zIndex:9998,opacity:0.8,color:"#456",api:false}};function a(){if(b.browser.msie){var f=b(document).height(),e=b(window).height();return[window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,f-e<20?e:f]}return[b(window).width(),b(document).height()]}function c(h,g){var e=this,j=b(this),d=null,f=false,i=0;b.each(g,function(k,l){if(b.isFunction(l)){j.bind(k,l)}});b(window).resize(function(){e.fit()});b.extend(this,{getMask:function(){return d},getExposed:function(){return h},getConf:function(){return g},isLoaded:function(){return f},load:function(n){if(f){return e}i=h.eq(0).css("zIndex");if(g.maskId){d=b("#"+g.maskId)}if(!d||!d.length){var l=a();d=b("<div/>").css({position:"absolute",top:0,left:0,width:l[0],height:l[1],display:"none",opacity:0,zIndex:g.zIndex});if(g.maskId){d.attr("id",g.maskId)}b("body").append(d);var k=d.css("backgroundColor");if(!k||k=="transparent"||k=="rgba(0, 0, 0, 0)"){d.css("backgroundColor",g.color)}if(g.closeOnEsc){b(document).bind("keydown.unexpose",function(o){if(o.keyCode==27){e.close()}})}if(g.closeOnClick){d.bind("click.unexpose",function(o){e.close(o)})}}n=n||b.Event();n.type="onBeforeLoad";j.trigger(n);if(n.isDefaultPrevented()){return e}b.each(h,function(){var o=b(this);if(!/relative|absolute|fixed/i.test(o.css("position"))){o.css("position","relative")}});h.css({zIndex:Math.max(g.zIndex+1,i=="auto"?0:i)});var m=d.height();if(!this.isLoaded()){d.css({opacity:0,display:"block"}).fadeTo(g.loadSpeed,g.opacity,function(){if(d.height()!=m){d.css("height",m)}n.type="onLoad";j.trigger(n)})}f=true;return e},close:function(k){if(!f){return e}k=k||b.Event();k.type="onBeforeClose";j.trigger(k);if(k.isDefaultPrevented()){return e}d.fadeOut(g.closeSpeed,function(){k.type="onClose";j.trigger(k);h.css({zIndex:b.browser.msie?i:null})});f=false;return e},fit:function(){if(d){var k=a();d.css({width:k[0],height:k[1]})}},bind:function(k,l){j.bind(k,l);return e},unbind:function(k){j.unbind(k);return e}});b.each("onBeforeLoad,onLoad,onBeforeClose,onClose".split(","),function(k,l){e[l]=function(m){return e.bind(l,m)}})}b.fn.expose=function(d){var e=this.eq(typeof d=="number"?d:0).data("expose");if(e){return e}if(typeof d=="string"){d={color:d}}var f=b.extend({},b.tools.expose.conf);d=b.extend(f,d);this.each(function(){e=new c(b(this),d);b(this).data("expose",e)});return d.api?e:this}})(jQuery);/*
 * jQuery UI Accordion 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Accordion
 *
 * Depends:
 *    ui.core.js
 */
(function($) {
$.widget("ui.accordion", {
    _init: function() {
        var o = this.options, self = this;
        this.running = 0;
        // if the user set the alwaysOpen option on init
        // then we need to set the collapsible option
        // if they set both on init, collapsible will take priority
        if (o.collapsible == $.ui.accordion.defaults.collapsible &&
            o.alwaysOpen != $.ui.accordion.defaults.alwaysOpen) {
            o.collapsible = !o.alwaysOpen;
        }
        if ( o.navigation ) {
            var current = this.element.find("a").filter(o.navigationFilter);
            if ( current.length ) {
                if ( current.filter(o.header).length ) {
                    this.active = current;
                } else {
                    this.active = current.parent().parent().prev();
                    current.addClass("ui-accordion-content-active");
                }
            }
        }
        this.element.addClass("ui-accordion ui-widget ui-helper-reset");
        
        // in lack of child-selectors in CSS we need to mark top-LIs in a UL-accordion for some IE-fix
        if (this.element[0].nodeName == "UL") {
            this.element.children("li").addClass("ui-accordion-li-fix");
        }
        this.headers = this.element.find(o.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all")
            .bind("mouseenter.accordion", function(){ $(this).addClass('ui-state-hover'); })
            .bind("mouseleave.accordion", function(){ $(this).removeClass('ui-state-hover'); })
            .bind("focus.accordion", function(){ $(this).addClass('ui-state-focus'); })
            .bind("blur.accordion", function(){ $(this).removeClass('ui-state-focus'); });
        this.headers
            .next()
                .addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");
        this.active = this._findActive(this.active || o.active).toggleClass("ui-state-default").toggleClass("ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");
        this.active.next().addClass('ui-accordion-content-active');
        //Append icon elements
        $("<span/>").addClass("ui-icon " + o.icons.header).prependTo(this.headers);
        this.active.find(".ui-icon").toggleClass(o.icons.header).toggleClass(o.icons.headerSelected);
        // IE7-/Win - Extra vertical space in lists fixed
        if ($.browser.msie) {
            this.element.find('a').css('zoom', '1');
        }
        this.resize();
        //ARIA
        this.element.attr('role','tablist');
        this.headers
            .attr('role','tab')
            .bind('keydown', function(event) { return self._keydown(event); })
            .next()
            .attr('role','tabpanel');
        this.headers
            .not(this.active || "")
            .attr('aria-expanded','false')
            .attr("tabIndex", "-1")
            .next()
            .hide();
        // make sure at least one header is in the tab order
        if (!this.active.length) {
            this.headers.eq(0).attr('tabIndex','0');
        } else {
            this.active
                .attr('aria-expanded','true')
                .attr('tabIndex', '0');
        }
        // only need links in taborder for Safari
        if (!$.browser.safari)
            this.headers.find('a').attr('tabIndex','-1');
        if (o.event) {
            this.headers.bind((o.event) + ".accordion", function(event) { return self._clickHandler.call(self, event, this); });
        }
    },
    destroy: function() {
        var o = this.options;
        this.element
            .removeClass("ui-accordion ui-widget ui-helper-reset")
            .removeAttr("role")
            .unbind('.accordion')
            .removeData('accordion');
        this.headers
            .unbind(".accordion")
            .removeClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-corner-top")
            .removeAttr("role").removeAttr("aria-expanded").removeAttr("tabindex");
        this.headers.find("a").removeAttr("tabindex");
        this.headers.children(".ui-icon").remove();
        var contents = this.headers.next().css("display", "").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active");
        if (o.autoHeight || o.fillHeight) {
            contents.css("height", "");
        }
    },
    
    _setData: function(key, value) {
        if(key == 'alwaysOpen') { key = 'collapsible'; value = !value; }
        $.widget.prototype._setData.apply(this, arguments);    
    },
    _keydown: function(event) {
        var o = this.options, keyCode = $.ui.keyCode;
        if (o.disabled || event.altKey || event.ctrlKey)
            return;
        var length = this.headers.length;
        var currentIndex = this.headers.index(event.target);
        var toFocus = false;
        switch(event.keyCode) {
            case keyCode.RIGHT:
            case keyCode.DOWN:
                toFocus = this.headers[(currentIndex + 1) % length];
                break;
            case keyCode.LEFT:
            case keyCode.UP:
                toFocus = this.headers[(currentIndex - 1 + length) % length];
                break;
            case keyCode.SPACE:
            case keyCode.ENTER:
                return this._clickHandler({ target: event.target }, event.target);
        }
        if (toFocus) {
            $(event.target).attr('tabIndex','-1');
            $(toFocus).attr('tabIndex','0');
            toFocus.focus();
            return false;
        }
        return true;
    },
    resize: function() {
        var o = this.options, maxHeight;
        if (o.fillSpace) {
            
            if($.browser.msie) { var defOverflow = this.element.parent().css('overflow'); this.element.parent().css('overflow', 'hidden'); }
            maxHeight = this.element.parent().height();
            if($.browser.msie) { this.element.parent().css('overflow', defOverflow); }
    
            this.headers.each(function() {
                maxHeight -= $(this).outerHeight();
            });
            var maxPadding = 0;
            this.headers.next().each(function() {
                maxPadding = Math.max(maxPadding, $(this).innerHeight() - $(this).height());
            }).height(Math.max(0, maxHeight - maxPadding))
            .css('overflow', 'auto');
        } else if ( o.autoHeight ) {
            maxHeight = 0;
            this.headers.next().each(function() {
                maxHeight = Math.max(maxHeight, $(this).outerHeight());
            }).height(maxHeight);
        }
    },
    activate: function(index) {
        // call clickHandler with custom event
        var active = this._findActive(index)[0];
        this._clickHandler({ target: active }, active);
    },
    _findActive: function(selector) {
        return selector
            ? typeof selector == "number"
                ? this.headers.filter(":eq(" + selector + ")")
                : this.headers.not(this.headers.not(selector))
            : selector === false
                ? $([])
                : this.headers.filter(":eq(0)");
    },
    _clickHandler: function(event, target) {
        var o = this.options;
        if (o.disabled) return false;
        // called only when using activate(false) to close all parts programmatically
        if (!event.target && o.collapsible) {
            this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all")
                .find(".ui-icon").removeClass(o.icons.headerSelected).addClass(o.icons.header);
            this.active.next().addClass('ui-accordion-content-active');
            var toHide = this.active.next(),
                data = {
                    options: o,
                    newHeader: $([]),
                    oldHeader: o.active,
                    newContent: $([]),
                    oldContent: toHide
                },
                toShow = (this.active = $([]));
            this._toggle(toShow, toHide, data);
            return false;
        }
        // get the click target
        var clicked = $(event.currentTarget || target);
        var clickedIsActive = clicked[0] == this.active[0];
        // if animations are still active, or the active header is the target, ignore click
        if (this.running || (!o.collapsible && clickedIsActive)) {
            return false;
        }
        // switch classes
        this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all")
            .find(".ui-icon").removeClass(o.icons.headerSelected).addClass(o.icons.header);
        this.active.next().addClass('ui-accordion-content-active');
        if (!clickedIsActive) {
            clicked.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top")
                .find(".ui-icon").removeClass(o.icons.header).addClass(o.icons.headerSelected);
            clicked.next().addClass('ui-accordion-content-active');
        }
        // find elements to show and hide
        var toShow = clicked.next(),
            toHide = this.active.next(),
            data = {
                options: o,
                newHeader: clickedIsActive && o.collapsible ? $([]) : clicked,
                oldHeader: this.active,
                newContent: clickedIsActive && o.collapsible ? $([]) : toShow.find('> *'),
                oldContent: toHide.find('> *')
            },
            down = this.headers.index( this.active[0] ) > this.headers.index( clicked[0] );
        this.active = clickedIsActive ? $([]) : clicked;
        this._toggle(toShow, toHide, data, clickedIsActive, down);
        return false;
    },
    _toggle: function(toShow, toHide, data, clickedIsActive, down) {
        var o = this.options, self = this;
        this.toShow = toShow;
        this.toHide = toHide;
        this.data = data;
        var complete = function() { if(!self) return; return self._completed.apply(self, arguments); };
        // trigger changestart event
        this._trigger("changestart", null, this.data);
        // count elements to animate
        this.running = toHide.size() === 0 ? toShow.size() : toHide.size();
        if (o.animated) {
            var animOptions = {};
            if ( o.collapsible && clickedIsActive ) {
                animOptions = {
                    toShow: $([]),
                    toHide: toHide,
                    complete: complete,
                    down: down,
                    autoHeight: o.autoHeight || o.fillSpace
                };
            } else {
                animOptions = {
                    toShow: toShow,
                    toHide: toHide,
                    complete: complete,
                    down: down,
                    autoHeight: o.autoHeight || o.fillSpace
                };
            }
            if (!o.proxied) {
                o.proxied = o.animated;
            }
            if (!o.proxiedDuration) {
                o.proxiedDuration = o.duration;
            }
            o.animated = $.isFunction(o.proxied) ?
                o.proxied(animOptions) : o.proxied;
            o.duration = $.isFunction(o.proxiedDuration) ?
                o.proxiedDuration(animOptions) : o.proxiedDuration;
            var animations = $.ui.accordion.animations,
                duration = o.duration,
                easing = o.animated;
            if (!animations[easing]) {
                animations[easing] = function(options) {
                    this.slide(options, {
                        easing: easing,
                        duration: duration || 700
                    });
                };
            }
            animations[easing](animOptions);
        } else {
            if (o.collapsible && clickedIsActive) {
                toShow.toggle();
            } else {
                toHide.hide();
                toShow.show();
            }
            complete(true);
        }
        toHide.prev().attr('aria-expanded','false').attr("tabIndex", "-1").blur();
        toShow.prev().attr('aria-expanded','true').attr("tabIndex", "0").focus();
    },
    _completed: function(cancel) {
        var o = this.options;
        this.running = cancel ? 0 : --this.running;
        if (this.running) return;
        if (o.clearStyle) {
            this.toShow.add(this.toHide).css({
                height: "",
                overflow: ""
            });
        }
        this._trigger('change', null, this.data);
    }
});

$.extend($.ui.accordion, {
    version: "1.7.2",
    defaults: {
        active: null,
        alwaysOpen: true, //deprecated, use collapsible
        animated: 'slide',
        autoHeight: true,
        clearStyle: false,
        collapsible: false,
        event: "click",
        fillSpace: false,
        header: "> li > :first-child,> :not(li):even",
        icons: {
            header: "ui-icon-triangle-1-e",
            headerSelected: "ui-icon-triangle-1-s"
        },
        navigation: false,
        navigationFilter: function() {
            return this.href.toLowerCase() == location.href.toLowerCase();
        }
    },
    animations: {
        slide: function(options, additions) {
            options = $.extend({
                easing: "swing",
                duration: 300
            }, options, additions);
            if ( !options.toHide.size() ) {
                options.toShow.animate({height: "show"}, options);
                return;
            }
            if ( !options.toShow.size() ) {
                options.toHide.animate({height: "hide"}, options);
                return;
            }
            var overflow = options.toShow.css('overflow'),
                percentDone,
                showProps = {},
                hideProps = {},
                fxAttrs = [ "height", "paddingTop", "paddingBottom" ],
                originalWidth;
            // fix width before calculating height of hidden element
            var s = options.toShow;
            originalWidth = s[0].style.width;
            s.width( parseInt(s.parent().width(),10) - parseInt(s.css("paddingLeft"),10) - parseInt(s.css("paddingRight"),10) - (parseInt(s.css("borderLeftWidth"),10) || 0) - (parseInt(s.css("borderRightWidth"),10) || 0) );
            
            $.each(fxAttrs, function(i, prop) {
                hideProps[prop] = 'hide';
                
                var parts = ('' + $.css(options.toShow[0], prop)).match(/^([\d+-.]+)(.*)$/);
                showProps[prop] = {
                    value: parts[1],
                    unit: parts[2] || 'px'
                };
            });
            options.toShow.css({ height: 0, overflow: 'hidden' }).show();
            options.toHide.filter(":hidden").each(options.complete).end().filter(":visible").animate(hideProps,{
                step: function(now, settings) {
                    // only calculate the percent when animating height
                    // IE gets very inconsistent results when animating elements
                    // with small values, which is common for padding
                    if (settings.prop == 'height') {
                        percentDone = (settings.now - settings.start) / (settings.end - settings.start);
                    }
                    
                    options.toShow[0].style[settings.prop] =
                        (percentDone * showProps[settings.prop].value) + showProps[settings.prop].unit;
                },
                duration: options.duration,
                easing: options.easing,
                complete: function() {
                    if ( !options.autoHeight ) {
                        options.toShow.css("height", "");
                    }
                    options.toShow.css("width", originalWidth);
                    options.toShow.css({overflow: overflow});
                    options.complete();
                }
            });
        },
        bounceslide: function(options) {
            this.slide(options, {
                easing: options.down ? "easeOutBounce" : "swing",
                duration: options.down ? 1000 : 200
            });
        },
        easeslide: function(options) {
            this.slide(options, {
                easing: "easeinout",
                duration: 700
            });
        }
    }
});
})(jQuery);/*
 * FancyBox - jQuery Plugin
 * Simple and fancy lightbox alternative
 *
 * Examples and documentation at: http://fancybox.net
 * 
 * Copyright (c) 2008 - 2010 Janis Skarnelis
 * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated.
 * 
 * Version: 1.3.4 (11/11/2010)
 * Requires: jQuery v1.3+
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */
;(function(b){var m,t,u,f,D,j,E,n,z,A,q=0,e={},o=[],p=0,d={},l=[],G=null,v=new Image,J=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i,W=/[^\.]\.(swf)\s*$/i,K,L=1,y=0,s="",r,i,h=false,B=b.extend(b("<div/>")[0],{prop:0}),M=b.browser.msie&&b.browser.version<7&&!window.XMLHttpRequest,N=function(){t.hide();v.onerror=v.onload=null;G&&G.abort();m.empty()},O=function(){if(false===e.onError(o,q,e)){t.hide();h=false}else{e.titleShow=false;e.width="auto";e.height="auto";m.html('<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>');
F()}},I=function(){var a=o[q],c,g,k,C,P,w;N();e=b.extend({},b.fn.fancybox.defaults,typeof b(a).data("fancybox")=="undefined"?e:b(a).data("fancybox"));w=e.onStart(o,q,e);if(w===false)h=false;else{if(typeof w=="object")e=b.extend(e,w);k=e.title||(a.nodeName?b(a).attr("title"):a.title)||"";if(a.nodeName&&!e.orig)e.orig=b(a).children("img:first").length?b(a).children("img:first"):b(a);if(k===""&&e.orig&&e.titleFromAlt)k=e.orig.attr("alt");c=e.href||(a.nodeName?b(a).attr("href"):a.href)||null;if(/^(?:javascript)/i.test(c)||
c=="#")c=null;if(e.type){g=e.type;if(!c)c=e.content}else if(e.content)g="html";else if(c)g=c.match(J)?"image":c.match(W)?"swf":b(a).hasClass("iframe")?"iframe":c.indexOf("#")===0?"inline":"ajax";if(g){if(g=="inline"){a=c.substr(c.indexOf("#"));g=b(a).length>0?"inline":"ajax"}e.type=g;e.href=c;e.title=k;if(e.autoDimensions)if(e.type=="html"||e.type=="inline"||e.type=="ajax"){e.width="auto";e.height="auto"}else e.autoDimensions=false;if(e.modal){e.overlayShow=true;e.hideOnOverlayClick=false;e.hideOnContentClick=
false;e.enableEscapeButton=false;e.showCloseButton=false}e.padding=parseInt(e.padding,10);e.margin=parseInt(e.margin,10);m.css("padding",e.padding+e.margin);b(".fancybox-inline-tmp").unbind("fancybox-cancel").bind("fancybox-change",function(){b(this).replaceWith(j.children())});switch(g){case "html":m.html(e.content);F();break;case "inline":if(b(a).parent().is("#fancybox-content")===true){h=false;break}b('<div class="fancybox-inline-tmp" />').hide().insertBefore(b(a)).bind("fancybox-cleanup",function(){b(this).replaceWith(j.children())}).bind("fancybox-cancel",
function(){b(this).replaceWith(m.children())});b(a).appendTo(m);F();break;case "image":h=false;b.fancybox.showActivity();v=new Image;v.onerror=function(){O()};v.onload=function(){h=true;v.onerror=v.onload=null;e.width=v.width;e.height=v.height;b("<img />").attr({id:"fancybox-img",src:v.src,alt:e.title}).appendTo(m);Q()};v.src=c;break;case "swf":e.scrolling="no";C='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+e.width+'" height="'+e.height+'"><param name="movie" value="'+c+
'"></param>';P="";b.each(e.swf,function(x,H){C+='<param name="'+x+'" value="'+H+'"></param>';P+=" "+x+'="'+H+'"'});C+='<embed src="'+c+'" type="application/x-shockwave-flash" width="'+e.width+'" height="'+e.height+'"'+P+"></embed></object>";m.html(C);F();break;case "ajax":h=false;b.fancybox.showActivity();e.ajax.win=e.ajax.success;G=b.ajax(b.extend({},e.ajax,{url:c,data:e.ajax.data||{},error:function(x){x.status>0&&O()},success:function(x,H,R){if((typeof R=="object"?R:G).status==200){if(typeof e.ajax.win==
"function"){w=e.ajax.win(c,x,H,R);if(w===false){t.hide();return}else if(typeof w=="string"||typeof w=="object")x=w}m.html(x);F()}}}));break;case "iframe":Q()}}else O()}},F=function(){var a=e.width,c=e.height;a=a.toString().indexOf("%")>-1?parseInt((b(window).width()-e.margin*2)*parseFloat(a)/100,10)+"px":a=="auto"?"auto":a+"px";c=c.toString().indexOf("%")>-1?parseInt((b(window).height()-e.margin*2)*parseFloat(c)/100,10)+"px":c=="auto"?"auto":c+"px";m.wrapInner('<div style="width:'+a+";height:"+c+
";overflow: "+(e.scrolling=="auto"?"auto":e.scrolling=="yes"?"scroll":"hidden")+';position:relative;"></div>');e.width=m.width();e.height=m.height();Q()},Q=function(){var a,c;t.hide();if(f.is(":visible")&&false===d.onCleanup(l,p,d)){b.event.trigger("fancybox-cancel");h=false}else{h=true;b(j.add(u)).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");f.is(":visible")&&d.titlePosition!=="outside"&&f.css("height",f.height());l=o;p=q;d=e;if(d.overlayShow){u.css({"background-color":d.overlayColor,
opacity:d.overlayOpacity,cursor:d.hideOnOverlayClick?"pointer":"auto",height:b(document).height()});if(!u.is(":visible")){M&&b("select:not(#fancybox-tmp select)").filter(function(){return this.style.visibility!=="hidden"}).css({visibility:"hidden"}).one("fancybox-cleanup",function(){this.style.visibility="inherit"});u.show()}}else u.hide();i=X();s=d.title||"";y=0;n.empty().removeAttr("style").removeClass();if(d.titleShow!==false){if(b.isFunction(d.titleFormat))a=d.titleFormat(s,l,p,d);else a=s&&s.length?
d.titlePosition=="float"?'<table id="fancybox-title-float-wrap" cellpadding="0" cellspacing="0"><tr><td id="fancybox-title-float-left"></td><td id="fancybox-title-float-main">'+s+'</td><td id="fancybox-title-float-right"></td></tr></table>':'<div id="fancybox-title-'+d.titlePosition+'">'+s+"</div>":false;s=a;if(!(!s||s==="")){n.addClass("fancybox-title-"+d.titlePosition).html(s).appendTo("body").show();switch(d.titlePosition){case "inside":n.css({width:i.width-d.padding*2,marginLeft:d.padding,marginRight:d.padding});
y=n.outerHeight(true);n.appendTo(D);i.height+=y;break;case "over":n.css({marginLeft:d.padding,width:i.width-d.padding*2,bottom:d.padding}).appendTo(D);break;case "float":n.css("left",parseInt((n.width()-i.width-40)/2,10)*-1).appendTo(f);break;default:n.css({width:i.width-d.padding*2,paddingLeft:d.padding,paddingRight:d.padding}).appendTo(f)}}}n.hide();if(f.is(":visible")){b(E.add(z).add(A)).hide();a=f.position();r={top:a.top,left:a.left,width:f.width(),height:f.height()};c=r.width==i.width&&r.height==
i.height;j.fadeTo(d.changeFade,0.3,function(){var g=function(){j.html(m.contents()).fadeTo(d.changeFade,1,S)};b.event.trigger("fancybox-change");j.empty().removeAttr("filter").css({"border-width":d.padding,width:i.width-d.padding*2,height:e.autoDimensions?"auto":i.height-y-d.padding*2});if(c)g();else{B.prop=0;b(B).animate({prop:1},{duration:d.changeSpeed,easing:d.easingChange,step:T,complete:g})}})}else{f.removeAttr("style");j.css("border-width",d.padding);if(d.transitionIn=="elastic"){r=V();j.html(m.contents());
f.show();if(d.opacity)i.opacity=0;B.prop=0;b(B).animate({prop:1},{duration:d.speedIn,easing:d.easingIn,step:T,complete:S})}else{d.titlePosition=="inside"&&y>0&&n.show();j.css({width:i.width-d.padding*2,height:e.autoDimensions?"auto":i.height-y-d.padding*2}).html(m.contents());f.css(i).fadeIn(d.transitionIn=="none"?0:d.speedIn,S)}}}},Y=function(){if(d.enableEscapeButton||d.enableKeyboardNav)b(document).bind("keydown.fb",function(a){if(a.keyCode==27&&d.enableEscapeButton){a.preventDefault();b.fancybox.close()}else if((a.keyCode==
37||a.keyCode==39)&&d.enableKeyboardNav&&a.target.tagName!=="INPUT"&&a.target.tagName!=="TEXTAREA"&&a.target.tagName!=="SELECT"){a.preventDefault();b.fancybox[a.keyCode==37?"prev":"next"]()}});if(d.showNavArrows){if(d.cyclic&&l.length>1||p!==0)z.show();if(d.cyclic&&l.length>1||p!=l.length-1)A.show()}else{z.hide();A.hide()}},S=function(){if(!b.support.opacity){j.get(0).style.removeAttribute("filter");f.get(0).style.removeAttribute("filter")}e.autoDimensions&&j.css("height","auto");f.css("height","auto");
s&&s.length&&n.show();d.showCloseButton&&E.show();Y();d.hideOnContentClick&&j.bind("click",b.fancybox.close);d.hideOnOverlayClick&&u.bind("click",b.fancybox.close);b(window).bind("resize.fb",b.fancybox.resize);d.centerOnScroll&&b(window).bind("scroll.fb",b.fancybox.center);if(d.type=="iframe")b('<iframe id="fancybox-frame" name="fancybox-frame'+(new Date).getTime()+'" frameborder="0" hspace="0" '+(b.browser.msie?'allowtransparency="true""':"")+' scrolling="'+e.scrolling+'" src="'+d.href+'"></iframe>').appendTo(j);
f.show();h=false;b.fancybox.center();d.onComplete(l,p,d);var a,c;if(l.length-1>p){a=l[p+1].href;if(typeof a!=="undefined"&&a.match(J)){c=new Image;c.src=a}}if(p>0){a=l[p-1].href;if(typeof a!=="undefined"&&a.match(J)){c=new Image;c.src=a}}},T=function(a){var c={width:parseInt(r.width+(i.width-r.width)*a,10),height:parseInt(r.height+(i.height-r.height)*a,10),top:parseInt(r.top+(i.top-r.top)*a,10),left:parseInt(r.left+(i.left-r.left)*a,10)};if(typeof i.opacity!=="undefined")c.opacity=a<0.5?0.5:a;f.css(c);
j.css({width:c.width-d.padding*2,height:c.height-y*a-d.padding*2})},U=function(){return[b(window).width()-d.margin*2,b(window).height()-d.margin*2,b(document).scrollLeft()+d.margin,b(document).scrollTop()+d.margin]},X=function(){var a=U(),c={},g=d.autoScale,k=d.padding*2;c.width=d.width.toString().indexOf("%")>-1?parseInt(a[0]*parseFloat(d.width)/100,10):d.width+k;c.height=d.height.toString().indexOf("%")>-1?parseInt(a[1]*parseFloat(d.height)/100,10):d.height+k;if(g&&(c.width>a[0]||c.height>a[1]))if(e.type==
"image"||e.type=="swf"){g=d.width/d.height;if(c.width>a[0]){c.width=a[0];c.height=parseInt((c.width-k)/g+k,10)}if(c.height>a[1]){c.height=a[1];c.width=parseInt((c.height-k)*g+k,10)}}else{c.width=Math.min(c.width,a[0]);c.height=Math.min(c.height,a[1])}c.top=parseInt(Math.max(a[3]-20,a[3]+(a[1]-c.height-40)*0.5),10);c.left=parseInt(Math.max(a[2]-20,a[2]+(a[0]-c.width-40)*0.5),10);return c},V=function(){var a=e.orig?b(e.orig):false,c={};if(a&&a.length){c=a.offset();c.top+=parseInt(a.css("paddingTop"),
10)||0;c.left+=parseInt(a.css("paddingLeft"),10)||0;c.top+=parseInt(a.css("border-top-width"),10)||0;c.left+=parseInt(a.css("border-left-width"),10)||0;c.width=a.width();c.height=a.height();c={width:c.width+d.padding*2,height:c.height+d.padding*2,top:c.top-d.padding-20,left:c.left-d.padding-20}}else{a=U();c={width:d.padding*2,height:d.padding*2,top:parseInt(a[3]+a[1]*0.5,10),left:parseInt(a[2]+a[0]*0.5,10)}}return c},Z=function(){if(t.is(":visible")){b("div",t).css("top",L*-40+"px");L=(L+1)%12}else clearInterval(K)};
b.fn.fancybox=function(a){if(!b(this).length)return this;b(this).data("fancybox",b.extend({},a,b.metadata?b(this).metadata():{})).unbind("click.fb").bind("click.fb",function(c){c.preventDefault();if(!h){h=true;b(this).blur();o=[];q=0;c=b(this).attr("rel")||"";if(!c||c==""||c==="nofollow")o.push(this);else{o=b("a[rel="+c+"], area[rel="+c+"]");q=o.index(this)}I()}});return this};b.fancybox=function(a,c){var g;if(!h){h=true;g=typeof c!=="undefined"?c:{};o=[];q=parseInt(g.index,10)||0;if(b.isArray(a)){for(var k=
0,C=a.length;k<C;k++)if(typeof a[k]=="object")b(a[k]).data("fancybox",b.extend({},g,a[k]));else a[k]=b({}).data("fancybox",b.extend({content:a[k]},g));o=jQuery.merge(o,a)}else{if(typeof a=="object")b(a).data("fancybox",b.extend({},g,a));else a=b({}).data("fancybox",b.extend({content:a},g));o.push(a)}if(q>o.length||q<0)q=0;I()}};b.fancybox.showActivity=function(){clearInterval(K);t.show();K=setInterval(Z,66)};b.fancybox.hideActivity=function(){t.hide()};b.fancybox.next=function(){return b.fancybox.pos(p+
1)};b.fancybox.prev=function(){return b.fancybox.pos(p-1)};b.fancybox.pos=function(a){if(!h){a=parseInt(a);o=l;if(a>-1&&a<l.length){q=a;I()}else if(d.cyclic&&l.length>1){q=a>=l.length?0:l.length-1;I()}}};b.fancybox.cancel=function(){if(!h){h=true;b.event.trigger("fancybox-cancel");N();e.onCancel(o,q,e);h=false}};b.fancybox.close=function(){function a(){u.fadeOut("fast");n.empty().hide();f.hide();b.event.trigger("fancybox-cleanup");j.empty();d.onClosed(l,p,d);l=e=[];p=q=0;d=e={};h=false}if(!(h||f.is(":hidden"))){h=
true;if(d&&false===d.onCleanup(l,p,d))h=false;else{N();b(E.add(z).add(A)).hide();b(j.add(u)).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");j.find("iframe").attr("src",M&&/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank");d.titlePosition!=="inside"&&n.empty();f.stop();if(d.transitionOut=="elastic"){r=V();var c=f.position();i={top:c.top,left:c.left,width:f.width(),height:f.height()};if(d.opacity)i.opacity=1;n.empty().hide();B.prop=1;
b(B).animate({prop:0},{duration:d.speedOut,easing:d.easingOut,step:T,complete:a})}else f.fadeOut(d.transitionOut=="none"?0:d.speedOut,a)}}};b.fancybox.resize=function(){u.is(":visible")&&u.css("height",b(document).height());b.fancybox.center(true)};b.fancybox.center=function(a){var c,g;if(!h){g=a===true?1:0;c=U();!g&&(f.width()>c[0]||f.height()>c[1])||f.stop().animate({top:parseInt(Math.max(c[3]-20,c[3]+(c[1]-j.height()-40)*0.5-d.padding)),left:parseInt(Math.max(c[2]-20,c[2]+(c[0]-j.width()-40)*0.5-
d.padding))},typeof a=="number"?a:200)}};b.fancybox.init=function(){if(!b("#fancybox-wrap").length){b("body").append(m=b('<div id="fancybox-tmp"></div>'),t=b('<div id="fancybox-loading"><div></div></div>'),u=b('<div id="fancybox-overlay"></div>'),f=b('<div id="fancybox-wrap"></div>'));D=b('<div id="fancybox-outer"></div>').append('<div class="fancybox-bg" id="fancybox-bg-n"></div><div class="fancybox-bg" id="fancybox-bg-ne"></div><div class="fancybox-bg" id="fancybox-bg-e"></div><div class="fancybox-bg" id="fancybox-bg-se"></div><div class="fancybox-bg" id="fancybox-bg-s"></div><div class="fancybox-bg" id="fancybox-bg-sw"></div><div class="fancybox-bg" id="fancybox-bg-w"></div><div class="fancybox-bg" id="fancybox-bg-nw"></div>').appendTo(f);
D.append(j=b('<div id="fancybox-content"></div>'),E=b('<a id="fancybox-close"></a>'),n=b('<div id="fancybox-title"></div>'),z=b('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),A=b('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>'));E.click(b.fancybox.close);t.click(b.fancybox.cancel);z.click(function(a){a.preventDefault();b.fancybox.prev()});A.click(function(a){a.preventDefault();b.fancybox.next()});
b.fn.mousewheel&&f.bind("mousewheel.fb",function(a,c){if(h)a.preventDefault();else if(b(a.target).get(0).clientHeight==0||b(a.target).get(0).scrollHeight===b(a.target).get(0).clientHeight){a.preventDefault();b.fancybox[c>0?"prev":"next"]()}});b.support.opacity||f.addClass("fancybox-ie");if(M){t.addClass("fancybox-ie6");f.addClass("fancybox-ie6");b('<iframe id="fancybox-hide-sel-frame" src="'+(/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank")+'" scrolling="no" border="0" frameborder="0" tabindex="-1">/iframe>').prependTo(D)}}};
b.fn.fancybox.defaults={padding:10,margin:40,opacity:false,modal:false,cyclic:false,scrolling:"auto",width:560,height:340,autoScale:true,autoDimensions:true,centerOnScroll:false,ajax:{},swf:{wmode:"transparent"},hideOnOverlayClick:true,hideOnContentClick:false,overlayShow:true,overlayOpacity:0.7,overlayColor:"#777",titleShow:true,titlePosition:"float",titleFormat:null,titleFromAlt:false,transitionIn:"fade",transitionOut:"fade",speedIn:300,speedOut:300,changeSpeed:300,changeFade:"fast",easingIn:"swing",
easingOut:"swing",showCloseButton:true,showNavArrows:true,enableEscapeButton:true,enableKeyboardNav:true,onStart:function(){},onCancel:function(){},onComplete:function(){},onCleanup:function(){},onClosed:function(){},onError:function(){}};b(document).ready(function(){b.fancybox.init()})})(jQuery);



jQuery(document).ready(function() { 
    jQuery('a.default_gallery_image').fancybox();
});/* Copyright (c) 2009 Kelvin Luck (kelvin AT kelvinluck DOT com || http://www.kelvinluck.com)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * See http://kelvinluck.com/assets/jquery/jScrollPane/
 * $Id: jScrollPane.js 86 2009-08-30 21:45:11Z kelvin.luck@gmail.com $
 */
/**
 * Replace the vertical scroll bars on any matched elements with a fancy
 * styleable (via CSS) version. With JS disabled the elements will
 * gracefully degrade to the browsers own implementation of overflow:auto.
 * If the mousewheel plugin has been included on the page then the scrollable areas will also
 * respond to the mouse wheel.
 *
 * @example jQuery(".scroll-pane").jScrollPane();
 *
 * @name jScrollPane
 * @type jQuery
 * @param Object    settings    hash with options, described below.
 *                                scrollbarWidth    -    The width of the generated scrollbar in pixels
 *                                scrollbarMargin    -    The amount of space to leave on the side of the scrollbar in pixels
 *                                wheelSpeed        -    The speed the pane will scroll in response to the mouse wheel in pixels
 *                                showArrows        -    Whether to display arrows for the user to scroll with
 *                                arrowSize        -    The height of the arrow buttons if showArrows=true
 *                                animateTo        -    Whether to animate when calling scrollTo and scrollBy
 *                                dragMinHeight    -    The minimum height to allow the drag bar to be
 *                                dragMaxHeight    -    The maximum height to allow the drag bar to be
 *                                animateInterval    -    The interval in milliseconds to update an animating scrollPane (default 100)
 *                                animateStep        -    The amount to divide the remaining scroll distance by when animating (default 3)
 *                                maintainPosition-    Whether you want the contents of the scroll pane to maintain it's position when you re-initialise it - so it doesn't scroll as you add more content (default true)
 *                                tabIndex        -    The tabindex for this jScrollPane to control when it is tabbed to when navigating via keyboard (default 0)
 *                                enableKeyboardNavigation - Whether to allow keyboard scrolling of this jScrollPane when it is focused (default true)
 *                                animateToInternalLinks - Whether the move to an internal link (e.g. when it's focused by tabbing or by a hash change in the URL) should be animated or instant (default false)
 *                                scrollbarOnLeft    -    Display the scrollbar on the left side?  (needs stylesheet changes, see examples.html)
 *                                reinitialiseOnImageLoad - Whether the jScrollPane should automatically re-initialise itself when any contained images are loaded (default false)
 *                                topCapHeight    -    The height of the "cap" area between the top of the jScrollPane and the top of the track/ buttons
 *                                bottomCapHeight    -    The height of the "cap" area between the bottom of the jScrollPane and the bottom of the track/ buttons
 * @return jQuery
 * @cat Plugins/jScrollPane
 * @author Kelvin Luck (kelvin AT kelvinluck DOT com || http://www.kelvinluck.com)
 */
(function($) {
$.jScrollPane = {
    active : []
};
$.fn.jScrollPane = function(settings)
{
    settings = $.extend({}, $.fn.jScrollPane.defaults, settings);
    var rf = function() { return false; };
    return this.each(
        function()
        {
            var $this = $(this);
            var paneEle = this;
            var currentScrollPosition = 0;
            var paneWidth;
            var paneHeight;
            var trackHeight;
            var trackOffset = settings.topCapHeight;
            if ($(this).parent().is('.jScrollPaneContainer')) {
                currentScrollPosition = settings.maintainPosition ? $this.position().top : 0;
                var $c = $(this).parent();
                paneWidth = $c.innerWidth();
                paneHeight = $c.outerHeight();
                $('>.jScrollPaneTrack, >.jScrollArrowUp, >.jScrollArrowDown, >.jScollCap', $c).remove();
                $this.css({'top':0});
            } else {
                $this.data('originalStyleTag', $this.attr('style'));
                // Switch the element's overflow to hidden to ensure we get the size of the element without the scrollbars [http://plugins.jquery.com/node/1208]
                $this.css('overflow', 'hidden');
                this.originalPadding = $this.css('paddingTop') + ' ' + $this.css('paddingRight') + ' ' + $this.css('paddingBottom') + ' ' + $this.css('paddingLeft');
                this.originalSidePaddingTotal = (parseInt($this.css('paddingLeft')) || 0) + (parseInt($this.css('paddingRight')) || 0);
                paneWidth = $this.innerWidth();
                paneHeight = $this.innerHeight();
                var $container = $('<div></div>')
                    .attr({'className':'jScrollPaneContainer'})
                    .css(
                        {
                            'height':paneHeight+'px',
                            'width':paneWidth+'px'
                        }
                    );
                if (settings.enableKeyboardNavigation) {
                    $container.attr(
                        'tabindex',
                        settings.tabIndex
                    );
                }
                $this.wrap($container);
                // deal with text size changes (if the jquery.em plugin is included)
                // and re-initialise the scrollPane so the track maintains the
                // correct size
                $(document).bind(
                    'emchange',
                    function(e, cur, prev)
                    {
                        $this.jScrollPane(settings);
                    }
                );
            }
            trackHeight = paneHeight;
            if (settings.reinitialiseOnImageLoad) {
                // code inspired by jquery.onImagesLoad: http://plugins.jquery.com/project/onImagesLoad
                // except we re-initialise the scroll pane when each image loads so that the scroll pane is always up to size...
                // TODO: Do I even need to store it in $.data? Is a local variable here the same since I don't pass the reinitialiseOnImageLoad when I re-initialise?
                var $imagesToLoad = $.data(paneEle, 'jScrollPaneImagesToLoad') || $('img', $this);
                var loadedImages = [];
                if ($imagesToLoad.length) {
                    $imagesToLoad.each(function(i, val)    {
                        $(this).bind('load readystatechange', function() {
                            if($.inArray(i, loadedImages) == -1){ //don't double count images
                                loadedImages.push(val); //keep a record of images we've seen
                                $imagesToLoad = $.grep($imagesToLoad, function(n, i) {
                                    return n != val;
                                });
                                $.data(paneEle, 'jScrollPaneImagesToLoad', $imagesToLoad);
                                var s2 = $.extend(settings, {reinitialiseOnImageLoad:false});
                                $this.jScrollPane(s2); // re-initialise
                            }
                        }).each(function(i, val) {
                            if(this.complete || this.complete===undefined) {
                                //needed for potential cached images
                                this.src = this.src;
                            }
                        });
                    });
                };
            }
            var p = this.originalSidePaddingTotal;
            var realPaneWidth = paneWidth - settings.scrollbarWidth - settings.scrollbarMargin - p;
            var cssToApply = {
                'height':'auto',
                'width': realPaneWidth + 'px'
            }
            if(settings.scrollbarOnLeft) {
                cssToApply.paddingLeft = settings.scrollbarMargin + settings.scrollbarWidth + 'px';
            } else {
                cssToApply.paddingRight = settings.scrollbarMargin + 'px';
            }
            $this.css(cssToApply);
            var contentHeight = $this.outerHeight();
            var percentInView = paneHeight / contentHeight;
            if (percentInView < .99) {
                var $container = $this.parent();
                $container.append(
                    $('<div></div>').addClass('jScrollCap jScrollCapTop').css({height:settings.topCapHeight}),
                    $('<div></div>').attr({'className':'jScrollPaneTrack'}).css({'width':settings.scrollbarWidth+'px'}).append(
                        $('<div></div>').attr({'className':'jScrollPaneDrag'}).css({'width':settings.scrollbarWidth+'px'}).append(
                            $('<div></div>').attr({'className':'jScrollPaneDragTop'}).css({'width':settings.scrollbarWidth+'px'}),
                            $('<div></div>').attr({'className':'jScrollPaneDragBottom'}).css({'width':settings.scrollbarWidth+'px'})
                        )
                    ),
                    $('<div></div>').addClass('jScrollCap jScrollCapBottom').css({height:settings.bottomCapHeight})
                );
                var $track = $('>.jScrollPaneTrack', $container);
                var $drag = $('>.jScrollPaneTrack .jScrollPaneDrag', $container);

                var currentArrowDirection;
                var currentArrowTimerArr = [];// Array is used to store timers since they can stack up when dealing with keyboard events. This ensures all timers are cleaned up in the end, preventing an acceleration bug.
                var currentArrowInc;
                var whileArrowButtonDown = function()
                {
                    if (currentArrowInc > 4 || currentArrowInc % 4 == 0) {
                        positionDrag(dragPosition + currentArrowDirection * mouseWheelMultiplier);
                    }
                    currentArrowInc++;
                };
                if (settings.enableKeyboardNavigation) {
                    $container.bind(
                        'keydown.jscrollpane',
                        function(e)
                        {
                            switch (e.keyCode) {
                                case 38: //up
                                    currentArrowDirection = -1;
                                    currentArrowInc = 0;
                                    whileArrowButtonDown();
                                    currentArrowTimerArr[currentArrowTimerArr.length] = setInterval(whileArrowButtonDown, 100);
                                    return false;
                                case 40: //down
                                    currentArrowDirection = 1;
                                    currentArrowInc = 0;
                                    whileArrowButtonDown();
                                    currentArrowTimerArr[currentArrowTimerArr.length] = setInterval(whileArrowButtonDown, 100);
                                    return false;
                                case 33: // page up
                                case 34: // page down
                                    // TODO
                                    return false;
                                default:
                            }
                        }
                    ).bind(
                        'keyup.jscrollpane',
                        function(e)
                        {
                            if (e.keyCode == 38 || e.keyCode == 40) {
                                for (var i = 0; i < currentArrowTimerArr.length; i++) {
                                    clearInterval(currentArrowTimerArr[i]);
                                }
                                return false;
                            }
                        }
                    );
                }
                if (settings.showArrows) {
                    var currentArrowButton;
                    var currentArrowInterval;
                    var onArrowMouseUp = function(event)
                    {
                        $('html').unbind('mouseup', onArrowMouseUp);
                        currentArrowButton.removeClass('jScrollActiveArrowButton');
                        clearInterval(currentArrowInterval);
                    };
                    var onArrowMouseDown = function() {
                        $('html').bind('mouseup', onArrowMouseUp);
                        currentArrowButton.addClass('jScrollActiveArrowButton');
                        currentArrowInc = 0;
                        whileArrowButtonDown();
                        currentArrowInterval = setInterval(whileArrowButtonDown, 100);
                    };
                    $container
                        .append(
                            $('<a></a>')
                                .attr(
                                    {
                                        'href':'javascript:;',
                                        'className':'jScrollArrowUp',
                                        'tabindex':-1
                                    }
                                )
                                .css(
                                    {
                                        'width':settings.scrollbarWidth+'px',
                                        'top':settings.topCapHeight + 'px'
                                    }
                                )
                                .html('Scroll up')
                                .bind('mousedown', function()
                                {
                                    currentArrowButton = $(this);
                                    currentArrowDirection = -1;
                                    onArrowMouseDown();
                                    this.blur();
                                    return false;
                                })
                                .bind('click', rf),
                            $('<a></a>')
                                .attr(
                                    {
                                        'href':'javascript:;',
                                        'className':'jScrollArrowDown',
                                        'tabindex':-1
                                    }
                                )
                                .css(
                                    {
                                        'width':settings.scrollbarWidth+'px',
                                        'bottom':settings.bottomCapHeight + 'px'
                                    }
                                )
                                .html('Scroll down')
                                .bind('mousedown', function()
                                {
                                    currentArrowButton = $(this);
                                    currentArrowDirection = 1;
                                    onArrowMouseDown();
                                    this.blur();
                                    return false;
                                })
                                .bind('click', rf)
                        );
                    var $upArrow = $('>.jScrollArrowUp', $container);
                    var $downArrow = $('>.jScrollArrowDown', $container);
                }
                if (settings.arrowSize) {
                    trackHeight = paneHeight - settings.arrowSize - settings.arrowSize;
                    trackOffset += settings.arrowSize;
                } else if ($upArrow) {
                    var topArrowHeight = $upArrow.height();
                    settings.arrowSize = topArrowHeight;
                    trackHeight = paneHeight - topArrowHeight - $downArrow.height();
                    trackOffset += topArrowHeight;
                }
                trackHeight -= settings.topCapHeight + settings.bottomCapHeight;
                $track.css({'height': trackHeight+'px', top:trackOffset+'px'})
                var $pane = $(this).css({'position':'absolute', 'overflow':'visible'});
                var currentOffset;
                var maxY;
                var mouseWheelMultiplier;
                // store this in a seperate variable so we can keep track more accurately than just updating the css property..
                var dragPosition = 0;
                var dragMiddle = percentInView*paneHeight/2;
                // pos function borrowed from tooltip plugin and adapted...
                var getPos = function (event, c) {
                    var p = c == 'X' ? 'Left' : 'Top';
                    return event['page' + c] || (event['client' + c] + (document.documentElement['scroll' + p] || document.body['scroll' + p])) || 0;
                };
                var ignoreNativeDrag = function() {    return false; };
                var initDrag = function()
                {
                    ceaseAnimation();
                    currentOffset = $drag.offset(false);
                    currentOffset.top -= dragPosition;
                    maxY = trackHeight - $drag[0].offsetHeight;
                    mouseWheelMultiplier = 2 * settings.wheelSpeed * maxY / contentHeight;
                };
                var onStartDrag = function(event)
                {
                    initDrag();
                    dragMiddle = getPos(event, 'Y') - dragPosition - currentOffset.top;
                    $('html').bind('mouseup', onStopDrag).bind('mousemove', updateScroll);
                    if ($.browser.msie) {
                        $('html').bind('dragstart', ignoreNativeDrag).bind('selectstart', ignoreNativeDrag);
                    }
                    return false;
                };
                var onStopDrag = function()
                {
                    $('html').unbind('mouseup', onStopDrag).unbind('mousemove', updateScroll);
                    dragMiddle = percentInView*paneHeight/2;
                    if ($.browser.msie) {
                        $('html').unbind('dragstart', ignoreNativeDrag).unbind('selectstart', ignoreNativeDrag);
                    }
                };
                var positionDrag = function(destY)
                {
                    $container.scrollTop(0);
                    destY = destY < 0 ? 0 : (destY > maxY ? maxY : destY);
                    dragPosition = destY;
                    $drag.css({'top':destY+'px'});
                    var p = destY / maxY;
                    $this.data('jScrollPanePosition', (paneHeight-contentHeight)*-p);
                    $pane.css({'top':((paneHeight-contentHeight)*p) + 'px'});
                    $this.trigger('scroll');
                    if (settings.showArrows) {
                        $upArrow[destY == 0 ? 'addClass' : 'removeClass']('disabled');
                        $downArrow[destY == maxY ? 'addClass' : 'removeClass']('disabled');
                    }
                };
                var updateScroll = function(e)
                {
                    positionDrag(getPos(e, 'Y') - currentOffset.top - dragMiddle);
                };
                var dragH = Math.max(Math.min(percentInView*(paneHeight-settings.arrowSize*2), settings.dragMaxHeight), settings.dragMinHeight);
                $drag.css(
                    {'height':dragH+'px'}
                ).bind('mousedown', onStartDrag);
                var trackScrollInterval;
                var trackScrollInc;
                var trackScrollMousePos;
                var doTrackScroll = function()
                {
                    if (trackScrollInc > 8 || trackScrollInc%4==0) {
                        positionDrag((dragPosition - ((dragPosition - trackScrollMousePos) / 2)));
                    }
                    trackScrollInc ++;
                };
                var onStopTrackClick = function()
                {
                    clearInterval(trackScrollInterval);
                    $('html').unbind('mouseup', onStopTrackClick).unbind('mousemove', onTrackMouseMove);
                };
                var onTrackMouseMove = function(event)
                {
                    trackScrollMousePos = getPos(event, 'Y') - currentOffset.top - dragMiddle;
                };
                var onTrackClick = function(event)
                {
                    initDrag();
                    onTrackMouseMove(event);
                    trackScrollInc = 0;
                    $('html').bind('mouseup', onStopTrackClick).bind('mousemove', onTrackMouseMove);
                    trackScrollInterval = setInterval(doTrackScroll, 100);
                    doTrackScroll();
                    return false;
                };
                $track.bind('mousedown', onTrackClick);
                $container.bind(
                    'mousewheel',
                    function (event, delta) {
                        delta = delta || (event.wheelDelta ? event.wheelDelta / 120 : (event.detail) ?
-event.detail/3 : 0);
                        initDrag();
                        ceaseAnimation();
                        var d = dragPosition;
                        positionDrag(dragPosition - delta * mouseWheelMultiplier);
                        var dragOccured = d != dragPosition;
                        return !dragOccured;
                    }
                );
                var _animateToPosition;
                var _animateToInterval;
                function animateToPosition()
                {
                    var diff = (_animateToPosition - dragPosition) / settings.animateStep;
                    if (diff > 1 || diff < -1) {
                        positionDrag(dragPosition + diff);
                    } else {
                        positionDrag(_animateToPosition);
                        ceaseAnimation();
                    }
                }
                var ceaseAnimation = function()
                {
                    if (_animateToInterval) {
                        clearInterval(_animateToInterval);
                        delete _animateToPosition;
                    }
                };
                var scrollTo = function(pos, preventAni)
                {
                    if (typeof pos == "string") {
                        $e = $(pos, $this);
                        if (!$e.length) return;
                        pos = $e.offset().top - $this.offset().top;
                    }
                    ceaseAnimation();
                    var maxScroll = contentHeight - paneHeight;
                    pos = pos > maxScroll ? maxScroll : pos;
                    $this.data('jScrollPaneMaxScroll', maxScroll);
                    var destDragPosition = pos/maxScroll * maxY;
                    if (preventAni || !settings.animateTo) {
                        positionDrag(destDragPosition);
                    } else {
                        $container.scrollTop(0);
                        _animateToPosition = destDragPosition;
                        _animateToInterval = setInterval(animateToPosition, settings.animateInterval);
                    }
                };
                $this[0].scrollTo = scrollTo;
                $this[0].scrollBy = function(delta)
                {
                    var currentPos = -parseInt($pane.css('top')) || 0;
                    scrollTo(currentPos + delta);
                };
                initDrag();
                scrollTo(-currentScrollPosition, true);
                // Deal with it when the user tabs to a link or form element within this scrollpane
                $('*', this).bind(
                    'focus',
                    function(event)
                    {
                        var $e = $(this);
                        // loop through parents adding the offset top of any elements that are relatively positioned between
                        // the focused element and the jScrollPaneContainer so we can get the true distance from the top
                        // of the focused element to the top of the scrollpane...
                        var eleTop = 0;
                        while ($e[0] != $this[0]) {
                            eleTop += $e.position().top;
                            $e = $e.offsetParent();
                        }
                        var viewportTop = -parseInt($pane.css('top')) || 0;
                        var maxVisibleEleTop = viewportTop + paneHeight;
                        var eleInView = eleTop > viewportTop && eleTop < maxVisibleEleTop;
                        if (!eleInView) {
                            var destPos = eleTop - settings.scrollbarMargin;
                            if (eleTop > viewportTop) { // element is below viewport - scroll so it is at bottom.
                                destPos += $(this).height() + 15 + settings.scrollbarMargin - paneHeight;
                            }
                            scrollTo(destPos);
                        }
                    }
                )

                if (location.hash && location.hash.length > 1) {
                    setTimeout(function() {scrollTo(location.hash);}, $.browser.safari ? 100 : 0);
                }
                // use event delegation to listen for all clicks on links and hijack them if they are links to
                // anchors within our content...
                $(document).bind(
                    'click',
                    function(e)
                    {
                        $target = $(e.target);
                        if ($target.is('a')) {
                            var h = $target.attr('href');
                            if (h && h.substr(0, 1) == '#' && h.length > 1) {
                                setTimeout(function() {scrollTo(h, !settings.animateToInternalLinks);}, $.browser.safari ? 100 : 0);
                            }
                        }
                    }
                );
                // Deal with dragging and selecting text to make the scrollpane scroll...
                function onSelectScrollMouseDown(e)
                {
                   $(document).bind('mousemove.jScrollPaneDragging', onTextSelectionScrollMouseMove);
                   $(document).bind('mouseup.jScrollPaneDragging',   onSelectScrollMouseUp);
                }
                var textDragDistanceAway;
                var textSelectionInterval;
                function onTextSelectionInterval()
                {
                    direction = textDragDistanceAway < 0 ? -1 : 1;
                    $this[0].scrollBy(textDragDistanceAway / 2);
                }
                function clearTextSelectionInterval()
                {
                    if (textSelectionInterval) {
                        clearInterval(textSelectionInterval);
                        textSelectionInterval = undefined;
                    }
                }
                function onTextSelectionScrollMouseMove(e)
                {
                    var offset = $this.parent().offset().top;
                    var maxOffset = offset + paneHeight;
                    var mouseOffset = getPos(e, 'Y');
                    textDragDistanceAway = mouseOffset < offset ? mouseOffset - offset : (mouseOffset > maxOffset ? mouseOffset - maxOffset : 0);
                    if (textDragDistanceAway == 0) {
                        clearTextSelectionInterval();
                    } else {
                        if (!textSelectionInterval) {
                            textSelectionInterval  = setInterval(onTextSelectionInterval, 100);
                        }
                    }
                }
                function onSelectScrollMouseUp(e)
                {
                   $(document)
                      .unbind('mousemove.jScrollPaneDragging')
                      .unbind('mouseup.jScrollPaneDragging');
                   clearTextSelectionInterval();
                }
                $container.bind('mousedown.jScrollPane', onSelectScrollMouseDown);

                $.jScrollPane.active.push($this[0]);
            } else {
                $this.css(
                    {
                        'height':paneHeight+'px',
                        'width':paneWidth-this.originalSidePaddingTotal+'px',
                        'padding':this.originalPadding
                    }
                );
                $this[0].scrollTo = $this[0].scrollBy = function() {};
                // clean up listeners
                $this.parent().unbind('mousewheel').unbind('mousedown.jScrollPane').unbind('keydown.jscrollpane').unbind('keyup.jscrollpane');
            }
        }
    )
};
$.fn.jScrollPaneRemove = function()
{
    $(this).each(function()
    {
        $this = $(this);
        var $c = $this.parent();
        if ($c.is('.jScrollPaneContainer')) {
            $this.css(
                {
                    'top':'',
                    'height':'',
                    'width':'',
                    'padding':'',
                    'overflow':'',
                    'position':''
                }
            );
            $this.attr('style', $this.data('originalStyleTag'));
            $c.after($this).remove();
        }
    });
}
$.fn.jScrollPane.defaults = {
    scrollbarWidth : 10,
    scrollbarMargin : 5,
    wheelSpeed : 18,
    showArrows : false,
    arrowSize : 0,
    animateTo : false,
    dragMinHeight : 1,
    dragMaxHeight : 99999,
    animateInterval : 100,
    animateStep: 3,
    maintainPosition: true,
    scrollbarOnLeft: false,
    reinitialiseOnImageLoad: false,
    tabIndex : 0,
    enableKeyboardNavigation: true,
    animateToInternalLinks: false,
    topCapHeight: 0,
    bottomCapHeight: 0
};
// clean up the scrollTo expandos
$(window)
    .bind('unload', function() {
        var els = $.jScrollPane.active;
        for (var i=0; i<els.length; i++) {
            els[i].scrollTo = els[i].scrollBy = null;
        }
    }
);
})(jQuery);//

printPageURL="/data/js/print_popup.htm";
function buildToolBox(boxPosition,printOpt,sendafriendOpt,bookmarkOpt,feedbackOpt,trckPrefix) {
 if("ON"=="ON") {
    clearToolbarNote =function(e) {
        showNote("ToolBarNote_"+boxPosition,"")
    };
    document.write("<span id='toolBarArea_"+boxPosition+"'></span>");
    toolBarOuter=document.createElement("div");
    toolBarOuter.id="ToolBar_"+boxPosition;
    boxPosition!="news" ? toolBarOuter.className="toolBarOuter" : "";
    
        
    
    boxPosition=="bottom" ? toolBarOuter.style.paddingTop="10px" : "";
    if (boxPosition!="news") {
        toolBarNote=document.createElement("span");
        toolBarNote.id="ToolBarNote_"+boxPosition;
        toolBarNote.className="ToolBarNote";
        toolBarNote.innerHTML="&nbsp;";
    }
    if (boxPosition="news") {
        toolBarClear=document.createElement("div");
        toolBarClear.className="clear";
    }
    toolBarInner=document.createElement("div");
    boxPosition!="news" ? toolBarInner.className="toolBarInner" : toolBarInner.className="toolBarInnerNews";
    document.getElementById("toolBarArea_"+boxPosition).appendChild(toolBarOuter);
    if (boxPosition!="news") toolBarOuter.appendChild(toolBarNote);
    toolBarOuter.appendChild(toolBarInner);
    if (boxPosition="news") toolBarOuter.appendChild(toolBarClear);
    buttonMargin=6;
    if ("ON"!="OFF" && printOpt!="OFF") {
        toolBarPrintOuter=document.createElement("span");
        toolBarPrintOuter.id="";
        toolBarPrint=document.createElement("a");
        toolBarPrint.title="Drucken";
        toolBarPrint.className="toolBarPrint";
        if (boxPosition=="news") {
            toolBarPrint.className="toolBarPrintNews";
            toolBarPrint.innerHTML="Drucken";
        }
        toolBarPrint.onclick=function(e) {
            printPopup=window.open('/data/js/print_popup.htm','trgpopup','width=654,height=600,scrollbars=yes,resizable=no'); printPopup.focus();
        };
        toolBarPrint.onmouseover=function(e) {
            showNote("ToolBarNote_"+boxPosition,"Print");
        };
        toolBarPrint.onmouseout=clearToolbarNote;
        toolBarInner.appendChild(toolBarPrintOuter);
        toolBarPrintOuter.appendChild(toolBarPrint);
        buttonMargin=10;
    }
    if ("ON"!="OFF" && sendafriendOpt!="OFF" && "http://www.google.de"!="") {
        toolBarSendafriend=document.createElement("a");
        toolBarSendafriend.title="Versenden";
        toolBarSendafriend.className="toolBarSendafriend";
        if (boxPosition=="news") {
            toolBarSendafriend.className="toolBarSendafriendNews";
            toolBarSendafriend.innerHTML="Versenden";
        }
        toolBarSendafriend.style.marginLeft=buttonMargin+"px";
        toolBarSendafriend.onclick=function(e) {
            uriAnnex=encodeURIComponent(document.title);
            loadToolBoxIFrame("http://www.google.de?lang=en&decorator=dbag&url="+window.location.href+"&description="+uriAnnex,"736","490");
        };
        toolBarSendafriend.onmouseover=function(e) {
            showNote("ToolBarNote_"+boxPosition,"E-mail");
        };
        toolBarSendafriend.onmouseout=clearToolbarNote;
        buttonMargin=6;
        toolBarInner.appendChild(toolBarSendafriend);
    }
    if ("ON"!="OFF" && bookmarkOpt!="OFF") {
        toolBarBookmark=document.createElement("a");
        toolBarBookmark.title="Bookmarken";
        toolBarBookmark.style.marginLeft=buttonMargin+"px";
        toolBarBookmark.className="toolBarBookmark";
        if (boxPosition=="news") {
            toolBarBookmark.className="toolBarBookmarkNews";
            toolBarBookmark.innerHTML="Bookmarken";
        }
        toolBarBookmark.onclick=function(e) {
            setBookmark();
        };
        toolBarBookmark.onmouseover=function(e) {
            showNote("ToolBarNote_"+boxPosition,"Bookmark");
        };
        toolBarBookmark.onmouseout=clearToolbarNote;
        buttonMargin=6;
        toolBarInner.appendChild(toolBarBookmark);
    }

    if ("ON"!="OFF" && feedbackOpt!="OFF" && ""!="") {
        toolBarFeedback=document.createElement("a");
        toolBarFeedback.title="Vote this page";
        toolBarFeedback.style.marginLeft=buttonMargin+"px";
        toolBarFeedback.className="toolBarFeedback";
        toolBarFeedback.onclick=function(e) {
            loadToolBoxIFrame("?lang=en&decorator=dbag&","736","700");
        };
        toolBarFeedback.onmouseover=function(e) {
            showNote("ToolBarNote_"+boxPosition,"Feedback");
        };
        toolBarFeedback.onmouseout=clearToolbarNote;
        buttonMargin=6;
        toolBarInner.appendChild(toolBarFeedback);
    }

  }
}
function printMe() {
    printPopup=window.open('/data/js/print_popup.htm','trgpopup','width=654,height=600,scrollbars=yes,resizable=no'); printPopup.focus();
}
/* handle >bookmark< klick */
function setBookmark() {
    ap=navigator.appName;
    url=location.href;
    t=document.getElementsByTagName("title")[0].innerHTML;
    if (window.sidebar) {
        window.sidebar.addPanel(t,url,'');
    } else if (window.external) {
        window.external.AddFavorite(url,t);
    } else if (window.addNet) {
        addNet(url,t);
    } else {
        alert("Ihr Browser unterst&uuml;tzt diese Funktion nicht.\nBitte Legen Sie das Lesezeichen manuell an.");
    }
}
var toolBoxParent;
function loadToolBoxIFrame(boxSrc,boxWidth,boxHeight) {
    document.getElementById("toolBoxParent") ? document.body.removeChild(document.getElementById("toolBoxParent")) : "";
    toolBoxParent=document.createElement("div");
    toolBoxParent.id="toolBoxParent";
    toolBox=document.createElement("div");
    toolBox.className="toolBox";
    toolBox.id="toolBox";
    toolBoxClose=document.createElement("a");
    toolBoxClose.className="toolBoxClose icon close";
    toolBoxClose.id="closeButton";
    toolBoxClose.href="javascript:void(0)";
    toolBoxClose.onclick= function() {
        toolBox.removeChild(toolBoxIFrame);
        lightboxx('toolBoxParent','self');
    };
    toolBoxClose.innerHTML="close window";
    toolBoxIFrame=document.createElement("iframe");
    toolBoxIFrame.className="toolBoxIFrame";
    toolBoxIFrame.id="toolBoxIFrame";
    toolBoxIFrame.setAttribute("scrolling","No");
    toolBoxIFrame.setAttribute("frameBorder","0");
    myfunction= function(e) {document.getElementById("closeButton").style.display="inline";}
    toolBoxIFrame.attachEvent ? toolBoxIFrame.attachEvent("onload", myfunction) : toolBoxIFrame.onload = myfunction;
    toolBoxIFrame.style.width=boxWidth+"px";
    toolBoxIFrame.style.height=boxHeight+"px";
    lightboxx('toolBoxParent','insert',toolBoxParent);
    toolBoxParent.appendChild(toolBox);
    toolBox.appendChild(toolBoxClose);
    toolBox.appendChild(toolBoxIFrame);
    document.getElementById(toolBoxIFrame.id).src=boxSrc;
    window.scrollTo(100, 100);
}
 
activateFontResizing="ON";
activateContrast="ON";
function buildFontSizeButtons() {
  if(activateFontResizing=="ON") {
    fontResizingBarOuter=document.createElement("div");
    fontResizingBarOuter.className="toolBarOuter";
    fontResizingBarNote=document.createElement("div");
    fontResizingBarNote.id="fontResizingBarNote";
    fontResizingBarNote.className="ToolBarNote";
    smallFontButton=document.createElement("a");
    smallFontButton.href="#smallfont";
    smallFontButton.accesskey="-";
    smallFontButton.name="smallfont";
    smallFontButton.className="fontSizeButton";
    smallFontButton.id="small";
    smallFontButton.onclick=new Function("change_size('small')");
    smallFontButton.onmouseover=new Function("showNote('fontResizingBarNote','Text size')");
    smallFontButton.onmouseout=new Function("showNote('fontResizingBarNote','')");
    mediumFontButton=document.createElement("a");
    mediumFontButton.href="#mediumfont";
    mediumFontButton.accesskey="#";
    mediumFontButton.name="mediumfont";
    mediumFontButton.className="fontSizeButton";
    mediumFontButton.id="medium";
    mediumFontButton.onclick=new Function("change_size('medium')");
    mediumFontButton.onmouseover=new Function("showNote('fontResizingBarNote','Text size')");
    mediumFontButton.onmouseout=new Function("showNote('fontResizingBarNote','')");
    largeFontButton=document.createElement("a");
    largeFontButton.href="#largefont";
    largeFontButton.accesskey="+";
    largeFontButton.name="largefont";
    largeFontButton.className="fontSizeButton";
    largeFontButton.id="large";
    largeFontButton.onclick=new Function("change_size('large')");
    largeFontButton.onmouseover=new Function("showNote('fontResizingBarNote','Text size')");
    largeFontButton.onmouseout=new Function("showNote('fontResizingBarNote','')");

    document.write("<span id='fontResizingBarArea'></span>");
    fontResizingBarOuter=document.createElement("div");
    fontResizingBarOuter.className="fontResizingBarOuter";
    fontResizingBarNote=document.createElement("span");
    fontResizingBarNote.id="fontResizingBarNote";
    fontResizingBarNote.className="ToolBarNote";
    fontResizingBarNote.innerHTML="&nbsp;";
    fontResizingBarInner=document.createElement("div");
    fontResizingBarInner.className="toolBarInner";
   
    document.getElementById("fontResizingBarArea").appendChild(fontResizingBarOuter);
    fontResizingBarOuter.appendChild(fontResizingBarNote);
    fontResizingBarOuter.appendChild(fontResizingBarInner);
    if(activateContrast=="ON") {
        contrastButton=document.createElement("a");
        contrastButton.href="#contrast";
        contrastButton.accesskey="K";
        contrastButton.name="contrast";
        contrastButton.className="fontSizeButton";
        contrastButton.id="contrast";
        contrastButton.onclick=new Function("toggleContrast()");
        contrastButton.onmouseover=new Function("showNote('fontResizingBarNote','Contrast')");
        contrastButton.onmouseout=new Function("showNote('fontResizingBarNote','')");
        fontResizingBarInner.appendChild(contrastButton);
    }    
    fontResizingBarInner.appendChild(largeFontButton);
    fontResizingBarInner.appendChild(mediumFontButton);
    fontResizingBarInner.appendChild(smallFontButton);
  }
}
cssHref= new Object();
cssHref['small']= "/data/css/font_size.css";
cssHref['medium']= "/data/css/font_size_medium.css";
cssHref['large']= "/data/css/font_size_large.css";

function change_size(fontSize) {
    document.getElementById("fontSizeCSS").href=cssHref[fontSize];
    eraseCookie('resize_fontsize');
    createCookie('resize_fontsize',fontSize,'2160');
}
if (readCookie('resize_fontsize') && activateFontResizing=="ON") {
    change_size(readCookie('resize_fontsize'));    
}
function toggleContrast() {
 if (document.getElementById('contrastCSS')) {
    document.getElementById('contrastCSS').href="";
    document.getElementsByTagName('head')[0].removeChild(document.getElementById('contrastCSS'));
    eraseCookie('contrastToggle');
  } else {
    contrastCSS  = document.createElement('link');
    contrastCSS.rel  = "stylesheet";
    contrastCSS.type = "text/css";
    contrastCSS.href = "/data/css/contrast.css";
    contrastCSS.id = "contrastCSS";
    document.getElementsByTagName('head')[0].appendChild(contrastCSS);
    createCookie('contrastToggle','ON','2160');
  }
}
if (readCookie('contrastToggle') && activateFontResizing=="ON") {
    toggleContrast();    
}
 
// Cookie handling
function createCookie(name,value,hours)
{
 if (hours)
 {
  var date = new Date();
  date.setTime(date.getTime()+(hours*60*60*1000));
  var expires = "; expires="+date.toGMTString();
 }
 else var expires = "";
 document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name)
{
 var nameEQ = name + "=";
 var ca = document.cookie.split(';');
 for(var i=0;i < ca.length;i++)
 {
  var c = ca[i];
  while (c.charAt(0)==' ') c = c.substring(1,c.length);
  if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
 }
 return null;
}
function eraseCookie(name)
{
 createCookie(name,"",-1);
}//
/**
 * **********************************************************************
 * **********************************************************************
 * Pagination
 *
 * @author stefan kloiber, zero+ones
 * @date 2009-08
 *
 * @version 0.1.0
 *
 *
 * @tested Firefox 3, IE6-7-8, WebKit
 * **********************************************************************
 * **********************************************************************
 */

/* define namespace */
var zo; // declares a global symbol
if (!zo) zo = {};
    else if (typeof zo != 'object')
        throw new Error('zo exists, but is not an object!');

zo.Pagination = 
{
    conf: {
        // default values
        ipp: 10, // items per page
        containerSelector: '',
        itemsSelector: '',
        container: {},
        items: {},
        itemsHidden: {},
        itemsShown: {},
        itemsShownCount: 0,
        pageCount: 0,
        curPage: 1
        
    },

    init: function(options)
    {
        var conf = this.conf;
        conf.ipp = options.ipp;
        conf.containerSelector = options.container;
        conf.itemsSelector = options.items;
        conf.container = jQuery(options.container);
        conf.items = conf.container.find(conf.itemsSelector).not('.langFiltered');
        conf.itemsHidden = conf.items.filter(':hidden');
        conf.itemsShown = conf.items.not(':hidden');
        conf.itemsShownCount = conf.itemsShown.length;
        conf.pageCount = Math.ceil(conf.itemsShownCount/conf.ipp);
        conf.curPage = parseInt(location.hash.substring(1)) || 1;
        this.buildPageNav();
        this.buildPages();
    },

    buildPageNav: function()
    {
        var conf = this.conf,
            pageNav = jQuery('<div><div>').addClass('pageNav'),
            pageShow = jQuery('<span></span>').addClass('pagination pageShow'),
            pagePrev = jQuery('<span></span>').addClass('pagination pagePrev'),
            pagination = jQuery('<span></span>').addClass('pagination pages'),
            pageNext = jQuery('<span></span>').addClass('pagination pageNext')
        ;
        if (conf.pageCount > 0) {
            if (conf.curPage > conf.pageCount) {
                location.hash = '1';
                conf.curPage = 1;
            }
            pageShow
                .html('Seite <span id="currentPage">' +conf.curPage+ '</span> von ' +conf.pageCount)
            ;
            pagePrev
                .css({opacity: (conf.curPage === 1 ? 0.4 : 1.0)})
                .addClass(conf.curPage === 1 ? 'disabled' : 'enabled')
                .append(jQuery('<a></a>')
                    .attr({
                        'href': (conf.curPage === 1 ? '' : '#' +(conf.curPage-1)),
                        'title': 'Previous'
                    })
                    .text('Prev')
                    .bind('click', function(ev) {
                        ev.preventDefault();
                        if (conf.curPage === 1) { return; }
                        zo.Pagination.changePage(jQuery(ev.target).attr('href'));
                    })
                )
            ;
            pageNext
                .css({opacity: ((conf.pageCount === 1 || conf.curPage === conf.pageCount) ? 0.4 : 1.0)})
                .addClass((conf.pageCount === 1 || conf.curPage === conf.pageCount) ? 'disabled' : 'enabled')
                .append(jQuery('<a></a>')
                    .attr({
                        'href': ((conf.pageCount === 1 || conf.curPage === conf.pageCount) ? '' : '#' +(conf.curPage + 1)),
                        'title': 'Next'
                    })
                    .text('Next')
                    .bind('click', function(ev) {
                        ev.preventDefault(); 
                        if (conf.curPage === conf.pageCount) { return; }
                        zo.Pagination.changePage(jQuery(ev.target).attr('href'));
                    })
                )
            ;
            for (var i=1; i<=conf.pageCount; i++) {
                pagination
                    .append(jQuery('<a></a>')
                        .attr({
                            'href': '#' +i,
                            'title': 'Page ' +i
                        })
                        .addClass('page' +i)
                        .addClass(conf.curPage === i ? 'active' : '')
                        .text(i)
                        .bind('click', function(ev) {
                            ev.preventDefault();
                            jQuery('span#currentPage').text(jQuery(ev.target).attr('href').replace('#', ''));
                            zo.Pagination.changePage(jQuery(ev.target).attr('href'));
                        })
                    )
                ;
            }
            pageNav
                .append(pageShow)
                //.append(pagePrev)
                .append(pagination)
                //.append(pageNext)
                .appendTo(conf.containerSelector)
            ;
        }
    },

    buildPages: function()
    {
        var conf = this.conf,
            sliceStart = 0,
            sliceEnd = conf.curPage*conf.ipp,
            itemsShown = conf.itemsShown
        ;
        if (conf.curPage > conf.pageCount) {
            location.hash = conf.pageCount;
            conf.curPage = conf.pageCount;
        }
        sliceStart = conf.curPage === 1 ? 0 : conf.ipp*(conf.curPage - 1);
        sliceEnd = conf.curPage === conf.pageCount ? conf.itemsShownCount : conf.ipp*conf.curPage;
        itemsShown
            .hide()
            .next('br')
            .hide()
            .end()
            .slice(sliceStart, sliceEnd)
            .show()
            .next('br')
            .show()
        ;
    },

    changePage: function(target) {
        var conf = this.conf,
            items = jQuery(conf.containerSelector+ ' ' +conf.itemsSelector),
            targetPage = parseInt(target.substring(1)),
            pagePrev = jQuery('div.pageNav span.pagePrev'),
            pageNext = jQuery('div.pageNav span.pageNext'),
            pageLinks = jQuery('div.pageNav span.pagination a')
        ;
        conf.curPage = targetPage;
        // set hash
        location.hash = targetPage;
        // mark active page
        pageLinks
            .removeClass('active')
            .filter('a.page' +targetPage)
            .addClass('active')
        ;
        // modify prev and next buttons
        pagePrev
            .css({opacity: (conf.curPage === 1 ? 0.4 : 1.0)})
            .removeClass(conf.curPage === 1 ? 'enabled' : 'disabled')
            .addClass(conf.curPage === 1 ? 'disabled' : 'enabled')
            .find('a')
            .attr('href', (conf.curPage === 1 ? '' : '#' +(conf.curPage-1)))
        ;
        pageNext
            .css({opacity: ((conf.pageCount === 1 || conf.curPage === conf.pageCount) ? 0.4 : 1.0)})
            .removeClass((conf.pageCount === 1 || conf.curPage === conf.pageCount) ? 'enabled' : 'disabled')
            .addClass((conf.pageCount === 1 || conf.curPage === conf.pageCount) ? 'disabled' : 'enabled')
            .find('a')
            .attr('href', ((conf.pageCount === 1 || conf.curPage === conf.pageCount) ? '' : '#' +(conf.curPage + 1)))
        ;
        // change page
        this.buildPages();
    },

    reload: function()
    {
        var conf = this.conf,
            items = conf.items.not('.langFiltered'),
            pageNav = jQuery('div.pageNav')
        ;
        items
            .show()
            .next('br')
            .show()
        ;
        pageNav.remove();
        this.init({
            'ipp': conf.ipp,
            'container': conf.containerSelector,
            'items': conf.itemsSelector
        });
    }
};//
function displayTab(e){var b=document.getElementById(e).parentNode;var a="";for(var c=0;c<b.childNodes.length;c++){var d=b.childNodes[c];a="";if(c==0){a="first "}if(d.id==e){d.className=a+"active";d.firstChild.className="active";if(document.getElementById("content"+d.id)){document.getElementById("content"+d.id).style.display="block"}}else{d.className=a+"";d.firstChild.className="";if(document.getElementById("content"+d.id)){document.getElementById("content"+d.id).style.display="none"}}}}function switchNews(a,b){var d=document.getElementById(b).parentNode;for(var f=0;f<d.childNodes.length;f++){var g=d.childNodes[f];var c=g.className;var e=g.firstChild.className;c=c.replace("active","");e=e.replace("active","");if(g.id==b){g.className=c+" active";g.firstChild.className=e+" active";if(news[b]!==undefined){document.getElementById("image"+a).src=news[b]["image"];document.getElementById("title"+a).innerHTML=news[b]["title"];document.getElementById("date"+a).innerHTML=news[b]["date"]}}else{g.className=c+"";g.firstChild.className=e}}};
////
var zo; // declares a global symbol
if (!zo) zo = {};
    else if (typeof zo != 'object')
        throw new Error('zo exists, but is not an object!');
zo.Appointments =
{
    conf: function()
    {
    },
    init: function(options)
    {
        var conf = this.conf;
        this.buildClickEvent(options.appId);
        this.displayAppointments(location.hash,options.appId);
    },
    buildClickEvent: function(appId)
    {
        jQuery("#"+appId+"appointmentYear").find("a")
            .bind("click", function(ev) {
                ev.preventDefault();
                zo.Appointments.displayAppointments(jQuery(ev.target).attr('href'),appId);
            });
        jQuery("#"+appId+"appointmentMonths").find("a")
            .bind("click", function(ev) {
                ev.preventDefault();
                zo.Appointments.displayAppointments(jQuery(ev.target).attr('href'),appId);
            });
    },
    displayAppointments: function(target,appId)
    {
        var target = target || "";
        var d = new Date();
        var curMonth = d.getMonth() + 1;
        var curMonthCheck = d.getMonth() + 1;
        var curYear = d.getFullYear();
        var curYearCheck = d.getFullYear();
        var curYearHash = "";
        var curMonthHash = "";
        hash = target.substring(1);

        

        if (hash != "") {
            hashSplit = hash.split(":");
            curYearHash = hashSplit[0].substring(0,4);
            if (hashSplit[0].substring(4,6) != "") {
                curMonthHash = hashSplit[0].substring(4,6);
                curMonth = curMonthHash;
            }
        }

        if (((curYearHash != curYear) && (curMonthHash == "")) && (curYearHash != "")) curMonth = "";
        if (curYearHash != "") curYear = curYearHash;
        var year = curYear;
        var month = curMonth;
        if (jQuery("#"+appId+"tab" + year).parent().length > 0) {
            jQuery("#"+appId+"tab" + year).parent().children().each(function() {
                var child = jQuery(this);
                var childA = jQuery("a:first-child", this);
                if (child.attr("id") == appId+"tab" + year) {
                    child.addClass("activeLi");
                    childA.addClass("active");
                } else {
                    child.removeClass("activeLi");
                    childA.removeClass("active");
                }
            });
        } else {
            firstYear = jQuery("#"+appId+"appointmentYear").children(":first-child");
            firstYearA = jQuery("#"+appId+"appointmentYear").children(":first-child").children("a:first-child");
            firstYear.addClass("activeLi");
            firstYearA.addClass("active");
            year = firstYear.attr("id").replace(appId+"tab","");
        }
        jQuery("#"+appId+"appointmentMonths").children().each(function() {
            var child = jQuery(this);
            if (child.attr("id") == appId+"monthTab" + year) {
                child.removeClass("monthNavInactive");
                if (month == "") {
                    if (child.hasClass("monthNav" + curYear)) {
                        if (year > curYearCheck) {
                            jQuery(this).children().children().children().removeClass("active");
                            jQuery(this).children().children(":first-child").children().addClass("active");
                            month = jQuery(this).children().children(":first-child").attr("class").replace("month","");
                        } else {
                            jQuery(this).children().children().children().removeClass("active");
                            jQuery(this).children().children(":last-child").children().addClass("active");
                            month = jQuery(this).children().children(":last-child").attr("class").replace("month","");
                        }
                        month = month.replace("first","");
                        month = jQuery.trim(month);
                    } else {
                        if (year > curYearCheck) {
                            jQuery(this).children().children().children().removeClass("active");
                            jQuery(this).children().children(":first-child").children().addClass("active");
                            month = jQuery(this).children().children(":first-child").attr("class").replace("month","");
                        } else {
                            jQuery(this).children().children().children().removeClass("active");
                            jQuery(this).children().children(":last-child").children().addClass("active");
                            month = jQuery(this).children().children(":last-child").attr("class").replace("month","");
                        }
                        month = month.replace("first","");
                        month = jQuery.trim(month);
                    }
                } else {
                    jQuery(this).children().children().children().removeClass("active");
                    if (jQuery(this).children().children(".month" + month).length > 0) {
                        jQuery(this).children().children(".month" + month).children().addClass("active");
                    } else {
                        if (year > curYearCheck) {
                            jQuery(this).children().children(":first-child").children().addClass("active");
                            month = jQuery(this).children().children(":first-child").attr("class").replace("month","");
                        } else {
                            jQuery(this).children().children(":last-child").children().addClass("active");
                            month = jQuery(this).children().children(":last-child").attr("class").replace("month","");
                        }
                        month = month.replace("first","");
                        month = jQuery.trim(month);
                    }
                }
            } else {
                child.addClass("monthNavInactive");
            }
        });
        if (month != "") {
            jQuery("#"+appId+"appointmentEntrys").children().each(function() {
                var child = jQuery(this);
                if (child.hasClass("newsList" + year + month)) {
                    child.removeClass("newsListInactive");
                } else {
                    child.addClass("newsListInactive");
                }
            });
        }
    }
};
////
var zo; // declares a global symbol
if (!zo) zo = {};
    else if (typeof zo != 'object')
        throw new Error('zo exists, but is not an object!');
zo.FormSubmit =
{
    conf: function()
    {
    },
    init: function(options)
    {
        var conf = this.conf;
        conf.formId = options.formId;
        conf.serviceUrl = options.serviceUrl;
        conf.type = options.type;
        conf.errorTextRequired = options.errorTextRequired;
        conf.errorNaN = options.errorNaN;
        conf.errorEmailInvalid = options.errorEmailInvalid;
        conf.errorCaptcha = options.errorCaptcha;
        conf.errorRequiredInvalid = options.errorRequiredInvalid;
        conf.errorAGBCheck = options.errorAGBCheck;
        conf.errorNoArticles = options.errorNoArticles;
        conf.errorSystem = options.errorSystem;
        conf.numArticles = options.numArticles;
        conf.extraParam = options.extraParam;
        this.buildClickEvent(options.formId);
        this.buildReloadCaptcha(options.formId);
    },
    buildClickEvent: function()
    {
        var conf = this.conf;
        jQuery("#"+conf.formId).find(".button")
            .bind("click", function(ev) {
                ev.preventDefault();
                zo.FormSubmit.checkForm()
            });
        jQuery("#"+conf.formId).find(".button_submit")
            .bind("click", function(ev) {
                ev.preventDefault();
                zo.FormSubmit.checkForm()
            });
        jQuery("#"+conf.formId).find(".button_cancel")
            .bind("click", function(ev) {
                ev.preventDefault();
                zo.FormSubmit.clearForm()
            });
    },
    checkForm: function()
    {
        var conf = this.conf;
        var validErrorReq = false
        var validErrorMail = false
        var checkErrorAGB = false
        var validErrorNumber = false;
        var checkArticle = false;
        jQuery("#"+conf.formId+" div.errors").html("");
        // set subject from selection
        var subj = jQuery("#"+conf.formId+" select[name='cc'] option:selected").html();
        if (subj != "" && subj != null) {
            jQuery("#"+conf.formId+" input[name='subject']").val(subj);
        }
        // check for required fields
        jQuery("#"+conf.formId).find("input[class*='required']").each(function() {
            jQuery(this).css("background-color","");
            if (jQuery(this).val() == "") {
                jQuery(this).css("background-color","red");
                validErrorReq = true;
            }
            if (jQuery(this).attr("name") == "email" && jQuery(this).val() != "") {
                if (!isValidEmailAddress(jQuery(this).val())) {
                    jQuery(this).css("background-color","red");
                    validErrorMail = true;
                }
            }
            if (jQuery(this).attr("name") == "agb" && jQuery(this).attr("checked") != true) {
                checkErrorAGB = true;
            }
        });
        // check for only number fields
        jQuery("#"+conf.formId).find("input[class*='number']").each(function() {
            jQuery(this).css("background-color","");
            if (isNaN(jQuery(this).val())) {
                jQuery(this).css("background-color","red");
                validErrorNumber = true;
            }
        });
        // check if min 1 article is filled
        var countFilled = 0;
        for (var ia=1; ia<conf.numArticles; ia++) {
            if (jQuery("#"+conf.formId+" input[name='articlequantity["+ia+"]']").val() != "" && jQuery("#"+conf.formId+" input[name='articlequantity["+ia+"]']").val() != 0) {
                countFilled++;
            }
        }
        if (countFilled == 0 && conf.numArticles > 0) {
            checkArticle = true;
        }
        if (!validErrorReq && !validErrorMail && !checkErrorAGB && !validErrorNumber && !checkArticle) {
            zo.FormSubmit.submitForm();
        } else {
            if (validErrorReq) jQuery("#"+conf.formId+" div.errors").append("<p>" + conf.errorTextRequired + "</p><br>");
            if (validErrorNumber) jQuery("#"+conf.formId+" div.errors").append("<p>" + conf.errorNaN + "</p><br>");
            if (checkArticle) jQuery("#"+conf.formId+" div.errors").append("<p>" + conf.errorNoArticles + "</p><br>");
            if (validErrorMail) jQuery("#"+conf.formId+" div.errors").append("<p>" + conf.errorEmailInvalid + "</p><br>");
            if (checkErrorAGB) jQuery("#"+conf.formId+" div.errors").append("<p>" + conf.errorAGBCheck + "</p><br>");
            jQuery("#"+conf.formId+" div.errors p").css("color","red");
        }
    },
    submitForm: function()
    {
        var conf = this.conf;
        var extraParam = "";
        jQuery("#"+conf.formId+" div.errors").html("");
        jQuery.each(conf.extraParam, function(para,val) {
            extraParam = extraParam + "&" + para + "=" + encodeURIComponent(val);
        });
        if (conf.type == "contact") {
            var content = "";
            var emailTo = "";
            content = "Vorname: " + jQuery("#"+conf.formId+" input[name='firstname']").val();
            content = content + "\nNachname: " + jQuery("#"+conf.formId+" input[name='lastname']").val();
            content = content + "\nTelefon: " + jQuery("#"+conf.formId+" input[name='phone']").val();
            content = content + "\nVerein: " + jQuery("#"+conf.formId+" input[name='club']").val();
            content = content + "\nEmail: " + jQuery("#"+conf.formId+" input[name='email']").val();
            content = content + "\n\n";
            content = content + jQuery("#"+conf.formId+" textarea[name='textarea']").val();
            var cc = jQuery("#"+conf.formId+" select[name='cc'] option:selected").val();
            if (cc) {
                var ccSplit = cc.split(";");
                emailTo = ccSplit[0];
            } else {
                cc = jQuery("#"+conf.formId+" input[name='cc']").val();
                var ccSplit = cc.split(";");
                emailTo = ccSplit[0];
            }
            extraParam = "&to=" + emailTo + "&from=" + jQuery("#"+conf.formId+" input[name='email']").val() + "&content=" + encodeURIComponent(content);
        }
        jQuery.ajax({
                url: conf.serviceUrl,
                contentType: "application/x-www-form-urlencoded; charset=UTF-8",
                type: "POST",
                data: jQuery("#"+conf.formId).serialize() + extraParam,
                success:
                  function(data){
                    var timestamp = new Date().getTime();
                    switch (data) {
                        case "1":
                            jQuery("#formContent"+conf.formId).hide();
                            jQuery("#formSuccess"+conf.formId).show();
                            zo.FormSubmit.clearForm();
                            break;
                        case "-1":
                            jQuery("#formContent"+conf.formId+" input[name*='captchacode']").css("background-color","red");
                            jQuery("#formContent"+conf.formId+" input[name*='captchacode']").val("");
                            jQuery("#formContent"+conf.formId+" img.captchaimg").attr("src","/servlet/captchaImg?" + timestamp);
                            jQuery("#"+conf.formId+" div.errors").append("<p>" + conf.errorCaptcha + "</p><br>");
                            break;
                        case "-2":
                            jQuery("#"+conf.formId+" div.errors").append("<p>" + conf.errorRequiredInvalid + "</p><br>");
                            jQuery("#formContent"+conf.formId+" input[name*='captchacode']").val("");
                            jQuery("#formContent"+conf.formId+" img.captchaimg").attr("src","/servlet/captchaImg?" + timestamp);
                            break;
                        case "-3":
                            jQuery("#"+conf.formId+" div.errors").append("<p>" + conf.errorSystem + "</p><br>");
                            break;
                        case "-4":
                            jQuery("#formContent"+conf.formId+" input[name*='email']").css("background-color","red");
                            jQuery("#formContent"+conf.formId+" input[name*='captchacode']").val("");
                            jQuery("#formContent"+conf.formId+" img.captchaimg").attr("src","/servlet/captchaImg?" + timestamp);
                            jQuery("#"+conf.formId+" div.errors").append("<p>" + conf.errorEmailInvalid + "</p><br>");
                            break;
                        case "-5":
                            jQuery("#"+conf.formId+" div.errors").append("<p>" + conf.errorSystem + "</p><br>");
                            break;
                        case "-6":
                            jQuery("#"+conf.formId+" div.errors").append("<p>" + conf.errorSystem + "</p><br>");
                            break;
                    }
                    jQuery("#"+conf.formId+" div.errors p").css("color","red");
                }
            });
    },
    buildReloadCaptcha: function()
    {
        var conf = this.conf;
        jQuery("#"+conf.formId).find("img.captchaimg")
            .bind("click", function(ev) {
                ev.preventDefault();
                var timestamp = new Date().getTime();
                jQuery.ajax({
                        url: "/servlet/CMSCaptchaReset?"+timestamp,
                        type: "GET",
                        success:
                          function(data){
                            var timestamp = new Date().getTime();
                            jQuery("#formContent"+conf.formId+" img.captchaimg").attr("src","/servlet/captchaImg?" + timestamp);
                        }
                    });
            });
    },
    clearForm: function()
    {
        var conf = this.conf;
        jQuery("#"+conf.formId).find(":input").each(function() {
            var type = this.type, tag = this.tagName.toLowerCase();
            if (type == 'text' || type == 'password' || tag == 'textarea')
                this.value = '';
            else if (type == 'checkbox' || type == 'radio')
                this.checked = false;
            else if (tag == 'select')
                this.selectedIndex = -1;
         });
    }
};
function isValidEmailAddress(emailAddress) {
    var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
    return pattern.test(emailAddress);
};
///**/
var zo;
if (!zo) {
    zo = {}
} else {
    if (typeof zo != "object") {
        throw new Error("zo exists, but is not an object!")
    }
}

var rightsnippetdata = '';
var date = new Date();
var nowY = date.getFullYear();
var dNow = date.getTime();
var num = 10000;
//var rightsnippetloaded = false;
zo.advertising = {
    conf: function () {
        var a = this.conf
    },
    init: function (b) {
        var a = this.conf;
        a.advType = b.type;
        a.advPos = b.position;
        a.pageid = b.pageid;
        a.writeid=b.writeid;
        //a.copyfrom = b.copyfrom;
        if (a.advType != undefined) {
            this.parseFixSnippetsXML()
        }
        if (a.advPos != undefined) {
            this.parseRightSnippetsXML()
        }
    },
    loadRightSnippetsXML: function (callback) {
        var a = this.conf;
            jQuery.ajax({
            type: "GET",
            //url: "/cms/data/xml/rightsnippets_" + parentPageId + ".xml",
            url: "/data/xml/rightsnippets.xml",
            dataType: "xml",
            async: false,
            cache: false,
            ifModified: 0,
            success: function (b) {
                rightsnippetsxml = b;                    
            }
        })
    },
    parseRightSnippetsXML: function () {
        var a = this.conf;
        var topContent = false;
        if(!rightsnippetdata){
            rightsnippetdata=jQuery(rightsnippetsxml).find("#" + a.pageid);
        }       
       
        rightsnippetdata.each(function(){            
            jQuery(this).find("pos[type='" + a.advPos + "']").each(function () {            
                jQuery(this).find('snippet').each(function(){
                    var showIt = false;
                                    
                    var dateStart = "";
                    var dateEnd = "";            
                
                    dateStart = jQuery(this).attr("datestart");
                    dateEnd = jQuery(this).attr("dateend");
                
                    if(dateStart!="" && dateEnd!=""){                        
                        if (dateStart == "") {
                            dateStart = "01.01." + (nowY - 10)
                        }
                
                        if (dateEnd == "") {
                            dateEnd = "01.01." + (nowY + 10)
                        }
                        var dateStartS = dateStart.split(".");
                        var dateEndS = dateEnd.split(".");
                        var dateStartU = new Date(dateStartS[2], dateStartS[1] - 1, dateStartS[0]).getTime();
                        var dateEndU = new Date(dateEndS[2], dateEndS[1] - 1, dateEndS[0]).getTime();
                        if (dateStartU < dNow && dateEndU > dNow) {
                            showIt = true
                        }
                    }else{
                        showIt=true;
                    }
                
                    if (showIt) {     
                                     
                        zo.advertising.parseRightSnippet(jQuery(this).attr("url"), jQuery(this).attr("type"));
                        if (a.advPos == "top") {
                            topContent = true
                        }
                    }
                });
            });
        });
        if (topContent) {
            jQuery("#rightTopContent").addClass("onebreak")
        }
    },
    parseRightSnippet: function (url, type) {
        var conf = this.conf;
        var randomName = "rightSnippet" + num;
        num++;
        if (type != "jscode") {
            document.write('<div id="' + randomName + '"><\/div>')
        }
        jQuery.ajax({
            type: "GET",
            url: url,
            dataType: "html",
            async: (type != "jscode"),
            success: function (data) {                                
                zo.advertising.InsertRightSnippet(type, escape(data), randomName);
            }
        })
    },
    InsertRightSnippet: function(type, data, randomName){
        if(type != "jscode" && document.getElementById(randomName)==null){                    
            setTimeout("zo.advertising.InsertRightSnippet('" + type + "','" + data + "','" + randomName + "')",100);
            return;
        }
        
        var newContent = parseScripts(unescape(data));
        var splitHtml = newContent[0].split("%jscode%");
        
        if (newContent[1] != "") {
            if (type == "jscode") {
                document.write('<div class="onebreak"></div>')            
            }
            if (type != "jscode" && splitHtml[0] != "") {
                document.getElementById(randomName).innerHTML += (splitHtml[0])
            }
            eval(newContent[1].replace("<!--", "").replace("-->", ""));
            if (type != "jscode" && splitHtml[1] != "") {
                document.getElementById(randomName).innerHTML += (splitHtml[1])
            }            
        } else {
            if (type != "jscode") {
                document.getElementById(randomName).innerHTML += (newContent[0])
            } else {
                document.write(newContent[0])
            }
        }
    },    
    loadFixSnippetsXML: function () {
        var a = this.conf;
        jQuery.ajax({
            type: "GET",
            url: "/cms/data/xml/fixsnippets.xml",
            dataType: "xml",
            async: false,
            cache: false,
            ifModified: 0,
            success: function (b) {
                fixsnippetsxml = b
            }
        })
    },
    parseFixSnippetsXML: function () {
        var a = this.conf;    
        
        jQuery(fixsnippetsxml).find(a.advType).each(function(){
            jQuery(this).find("#" + a.pageid).each(function () {                                                            
                var dateStart = "";
                var dateEnd = "";
                var showIt = false;
                
                dateStart = jQuery(this).parent().attr("datestart");
                dateEnd = jQuery(this).parent().attr("dateend");
                
                if(dateStart!="" && dateEnd!=""){
                    if (dateStart == "") {
                        dateStart = "1.1." + (nowY - 10)
                    }
                
                    if (dateEnd == "") {
                        dateEnd = "1.1." + (nowY + 10)
                    }
                    
                    var dateStartS = dateStart.split(".");
                    var dateEndS = dateEnd.split(".");
                    var dateStartU = new Date(dateStartS[2], dateStartS[1] - 1, dateStartS[0]).getTime();
                    var dateEndU = new Date(dateEndS[2], dateEndS[1] - 1, dateEndS[0]).getTime();
                    if (dateStartU < dNow && dateEndU > dNow) {
                        showIt = true;
                    }
                }else{
                    showIt = true;
                }
                if (showIt) {
                    zo.advertising.parseFixSnippet(jQuery(this).parent().attr("url"), a.advType)
                }
            });
        });
    },
    parseFixSnippet: function (url, type) {
        var conf = this.conf;
        
        var randomName="fixSnippet" + num;
        num++;
        
        if(type!="jscode" && type!="banner" && type!="banner2" && type!="leaderboard610" && type!="leaderboard620" && type!="superbanner" && type!="skyscraper" && type!="skyscraper_wall") document.write("<div id=\"" + randomName + "\"></div>");
        
        jQuery.ajax({
            type: "GET",
            url: url,
            dataType: "html",
            async: (type!="jscode" && type!="banner" && type!="banner2" && type!="leaderboard610" && type!="leaderboard620" && type!="superbanner" && type!="skyscraper" && type!="skyscraper_wall"),
            success: function (data) {
                var newContent = parseScripts(data);
                var splitHtml = newContent[0].split("%jscode%");
                if (newContent[1] != "") {
                    eval(newContent[1].replace("<!--","").replace("-->",""));
                } else {
                    if(type!="jscode" && type!="banner" && type!="banner2" && type!="leaderboard610" && type!="leaderboard620" && type!="superbanner" && type!="skyscraper" && type!="skyscraper_wall") document.getElementById(randomName).innerHTML=(newContent[0].replace("document.write(","document.getElementById(" + randomName + ").innerHTML+=("));
                    else document.write(newContent[0]);
                }
                if (type == "superbanner") {
                    jQuery("#superbanner").html();                   
                    if(newContent[0]!="") jQuery("body").css("background-position", "50% 0px");
                }
                if (type == "banner" || type == "leaderboard610" || type == "leaderboard620") {
                    jQuery("#" + type).addClass("onebreak")
                }
                if (type == "banner2") {
                    jQuery("#" + type).addClass("onebreaktop");
                }

            }
        })
    }
};
function parseScripts(c) {
    var b = "(?:<script[^>]+>)((?:\r|\n|.)*?)(?:<\/script>)";
    var a = c.match(new RegExp(b, "gi"));
    var e = "";
    if (a) {
        for (var d = 0; d < a.length; d++) {
            e += a[d].match(new RegExp(b, "i"))[1]
        }
    }
    c = c.replace(new RegExp(b, "gi"), "%jscode%");
    c = c.replace(/^[\r\n\s]+/g, "");
    c = c.replace(/[\r\n\s]+$/g, "");
    return [c, e]
}
function evalScript(a) {
    try {
        if (a != "") {
            var b = "";
            a = a.replace(/<script[^>]*>([\s\S]*?)<\/script>/ig, function () {
                if (a !== null) {
                    b += arguments[1] + "\n"
                }
                return ""
            });
            if (b) {
                (window.execScript) ? window.execScript(b) : window.setTimeout(b, 0)
            }
        }
        return false
    } catch(c) {
        alert(c)
    }
};
////
var zo; // declares a global symbol
if (!zo) zo = {};
    else if (typeof zo != 'object')
        throw new Error('zo exists, but is not an object!');
zo.newlightbox =
{
    conf: function(options)
    {
        var conf = this.conf;
        conf.newstitle = options.newstitle;
        conf.newstext = options.newstext;
        conf.newslink = options.newslink;
        conf.adimage = options.adimage;
        conf.adlink = options.adlink;
        conf.adtarget = options.adtarget;
        conf.gnewstitle = options.gnewstitle;
        conf.gnewstext = options.gnewstext;
        conf.gnewslink = options.gnewslink;
    },
    init: function(options)
    {
        var conf = this.conf;
        this.bindClick();
    },
    bindClick: function()
    {
        jQuery(".bfvtvteaser").css("cursor","pointer");
        jQuery(".bfvtvteaser")
            .unbind()
            .bind('click', function(ev) {
                ev.preventDefault();
                zo.newlightbox.loadPlayer();
            })
        jQuery("img[rel]").css("cursor","pointer");
        jQuery("img[rel]")
            .unbind()
            .bind('click', function(ev) {
                ev.preventDefault();
                zo.newlightbox.loadGallery(this);
            })
    },
    loadOverlay: function()
    {
        jQuery("body").prepend(
                    jQuery("<div></div>")
                    .attr("id","overlayouter")
                    .width(document.documentElement.scrollWidth)
                    .height(document.documentElement.scrollHeight)
                    .css("opacity","0.8")
                    .prepend(
                        jQuery("<a></a>")
                        .addClass("overlay")
                        .attr("id","overlay")
                        .width(document.documentElement.scrollWidth)
                        .height(document.documentElement.scrollHeight)
                    )
        );
        jQuery("#overlay")
            .bind('click', function(ev) {
                ev.preventDefault();
                zo.newlightbox.closePlayer();
            });
    },
    loadPlayer: function(vid,cat,srch,trk)
    {
        var conf = this.conf;
        if(!vid){var vid=""};
        zo.newlightbox.loadOverlay();
        jQuery("#overlayouter").after(
                    jQuery("<div></div>")
                    .attr("id","lightbox")
                    .width(document.documentElement.scrollWidth)
                    .height(document.documentElement.scrollHeight)
                    .prepend(
                        jQuery("<div></div>")
                        .height(781)
                        .width(940)
                        .css("margin","12px auto")
                        .prepend(
                            jQuery("<div>&nbsp;</div>")
                            .attr("id","bfvplayer")
                        )
                    )
        );
        var createSWFBFVPlayer = function()
        {
            var swfVars = {
                uploadlink: "zo.newlightbox.openBackend",
                closecall: "zo.newlightbox.closePlayer",
                
                
                
                
                
                
                newstitle: conf.newstitle,
                newstext: conf.newstext,
                newslink: conf.newslink,
                adimage: conf.adimage,
                adlink: conf.adlink,
                adtarget: conf.adtarget,
                videoid:vid,
                catid:cat,
                search:srch,
                track:trk,
                playerurl: encodeURIComponent("/docs/flash/bfvtvplayer.swf"),
                uploadtext: ""
            };
            var swfParams = {
                allowscale: "false",
                allowScriptAccess: "always",
                allowFullScreen: "true",
                wmode: "window",
                scale: "noscale",
                bgcolor: "#000000",
                name: "bfvplayer",
                salign: "tl",
                menu: "true",
                devicefont: "false"
            };
            var swfAttributes = {
                id: "bfvplayer"
            };
            var swfCallback = function() {};
            swfobject.embedSWF("/docs/flash/videooverlay.swf", "bfvplayer", "940", "781", "9.0.0", false , swfVars, swfParams, swfAttributes, swfCallback);
        };
        createSWFBFVPlayer();
        scroll(0,0);
    },
    loadLargePlayer: function(catId,galId)
    {
        var conf = this.conf;     
        zo.newlightbox.loadOverlay();
        jQuery("#overlayouter").after(
                    jQuery("<div></div>")
                    .attr("id","lightbox")
                    .width(document.documentElement.scrollWidth)
                    .height(document.documentElement.scrollHeight)
                    .prepend(
                        jQuery("<div></div>")
                        .height(781)
                        .width(940)
                        .css("margin","12px auto")
                        .prepend(
                            jQuery("<div>&nbsp;</div>")
                            .attr("id","bfvgallery")
                        )
                    )
        );
        var createSWFBFVGallery = function()
        {
            var swfVars = {
                closecall: "zo.newlightbox.closePlayer",
                
                
                newstext: "test",
                newstitle: "test",
                newstitle: conf.gnewstitle,
                newstext: conf.gnewstext,
                newslink: conf.gnewslink,
                catid: catId,
                galid: galId
            };
            var swfParams = {
                allowscale: "false",
                allowScriptAccess: "always",
                allowFullScreen: "true",
                wmode: "window",
                scale: "noscale",
                bgcolor: "#000000",
                name: "bfvgallery",
                menu: "true",
                devicefont: "false"
            };
            var swfAttributes = {
                id: "bfvgallery"
            };
            var swfCallback = function() {};
            swfobject.embedSWF("/docs/flash/gallery.swf", "bfvgallery", "941", "754", "9.0.0", false , swfVars, swfParams, swfAttributes, swfCallback);
        };
        createSWFBFVGallery();
        scroll(0,0);
    },
    loadGallery: function(img)
    {
        var imgL = jQuery(img).attr("rel");
        imgS = imgL.split("?")
        imgSrc = imgS[0];
        imgS = imgS[1].split("x");
        imgHeight = imgS[0];
        imgWidth = imgS[1];
        zo.newlightbox.loadOverlay();
        jQuery("#overlayouter").after(
                    jQuery("<div></div>")
                    .attr("id","lightbox")
                    .width(document.documentElement.scrollWidth)
                    .height(document.documentElement.scrollHeight)
                    .prepend(
                        jQuery("<div></div>")
                        .height(parseInt(imgHeight)+40)
                        .width(parseInt(imgWidth)+40)
                        .css("margin","90px auto")
                        .prepend(
                            jQuery("<div></div>")
                            .addClass("imgContainer")
                            .prepend(
                                jQuery("<div></div>")
                                .addClass("caption")
                                .html(jQuery(img).parent().find(".caption").html())
                            )
                            .prepend(
                                jQuery("<img></img>")
                                .attr("src",imgSrc)
                                .attr("height",imgHeight)
                                .attr("width",imgWidth)
                            )
                        )
                        .prepend(
                            jQuery("<a></a>")
                            .addClass("closeMe")
                        )
                    )
        );
        jQuery(".closeMe")
            .bind('click', function(ev) {
                ev.preventDefault();
                zo.newlightbox.closePlayer();
            });
    },
    closePlayer: function()
    {
        jQuery("#lightbox object").remove();
        jQuery("#overlayouter").remove();
        jQuery("#lightbox").remove();
    },
    openBackend: function()
    {
        backend = window.open('http://www.bfv.tv','bfvtv','width=800, height=600');
    }
};
function loadPlayer(vid) {
    zo.newlightbox.loadPlayer(vid);
}
////cookies

document.write('<sc'+'ript type="text/javascript" src="http://rc.rtl.btt.betarget.de/Get/betarget/JS/GetRcmd.js?domain=.netzathleten.de&d='+Math.round(Math.random()*10000)+'&WlContentGroup=www.netzathleten.de/Default"><\/script>');

var ip_additional_tmp="";             
var wlrcmd=wlrcmd;
var n_pbt = '';
if (wlrcmd!=null && wlrcmd!="undefined") 
{
   var _wl=wlrcmd.match(/IPD\d+/g);
   if(_wl !=null) for (var _i=0;_i<_wl.length;_i++ ) ip_additional_tmp+=_wl[_i]+'=1;';   
   delete _wl;
   delete _i;
}
document.write('<scr'+'ipt type="text/javascript" src="http://ip.nuggad.net/rc?nuggn=2059506885&nuggsid=963375572"><\/script>')
 
function initPage() {
}

function addEvent( obj, type, fn )
{
   if (obj.addEventListener) {
      obj.addEventListener( type, fn, false );
   } else if (obj.attachEvent) {
      obj["e"+type+fn] = fn;
      obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
      obj.attachEvent( "on"+type, obj[type+fn] );
   }
}
function removeEvent( obj, type, fn )
{
   if (obj.removeEventListener) {
      obj.removeEventListener( type, fn, false );
   } else if (obj.detachEvent) {
      obj.detachEvent( "on"+type, obj[type+fn] );
      obj[type+fn] = null;
      obj["e"+type+fn] = null;
   }
}
function showContent(id,mode) {
    var cBlock = document.getElementById("cont" + id);
    var clickImg = document.getElementById("click" + id);
    var cClass = cBlock.className;
    cClass = cClass.replace("none","");
    cClass = cClass.replace("block","");
    if (mode == "show") {
        cBlock.className = cClass + " block";
        clickImg.src = "/img/arrow_boxUp.gif";
        clickImg.onclick = new Function("showContent('" + id +"','hide')");
    }
    if (mode == "hide") {
        cBlock.className = cClass + "none";
        clickImg.src = "/img/arrow_boxDown.gif";
        clickImg.onclick = new Function("showContent('" + id +"','show')");
    }
}
function loadMiniTable(ligaId) {
    var divId = "result" + ligaId;
    if (jQuery("#" + divId)[0].childNodes.length <= 1) {
        jQuery.ajax({
          type: "GET",
          url: "/servlet/MiniTabelleJSON?liga_id=" + ligaId,
          dataType: "json",
          async: false,
          cache: false,
          ifModified: 0,
          success:
            function(data){
                jQuery.each(data.tabelle, function(i,item){
                    var vurl = item.vurl;
                    if (vurl.indexOf("http:") == -1) vurl = "http://" + vurl;
                    if ( i%2 == 0 ) jQuery("#" + divId).append('<div class="snippetResultsGrey"><div class="cell1">' + item.rang + '</div><div class="cell2"><a href="' + vurl+ '" target="_blank">' + item.mname + '</a></div><div class="cell3">' + item.spiele + '</div><div class="cell4">' + item.tore + '</div><div class="cell5">' + item.pkt + '</div></div>');
                    if ( i%2 != 0 ) jQuery("#" + divId).append('<div class="snippetResults"><div class="cell1">' + item.rang + '</div><div class="cell2"><a href="' + vurl+ '" target="_blank">' + item.mname + '</a></div><div class="cell3">' + item.spiele + '</div><div class="cell4">' + item.tore + '</div><div class="cell5">' + item.pkt + '</div></div>');
                });
            }
        });
    }
}
function modifyRightNavi() {
    if (jQuery("#rightNavi").find("ul").children().length == 0) {
        jQuery("#rightNavi").parent().html("&nbsp;");
    }
}
function fixSkyscraper() {
      var a = jQuery("#skyscraper_reload").width();
      jQuery("#skyscraper_reload").css("margin-right", -(a - 19));    
      jQuery("#skyscraper_reload").css("margin-top", 0);     //ansonsten hängter 11 pixel zu tief
      jQuery("#skyscraper_reload").width(a);
      jQuery("#skyscraper").css("margin-right", -(a - 19));
      jQuery("#skyscraper").width(a);
      var b = jQuery(".body2").offset();
      jQuery("body").css("background-position", "50% " + (b.top - 90) + "px")
}
function getUrlParam(param) {
    var url = String(window.location);
    if(window.location.search != "") {
        var undef = url.split("?");
        var args = undef[1].split("&");
        for(i = 0; i < args.length; i++) {
            var a = args[i].split("=");
            if(a[0] == param) {
            return a[1];
            }
        }
    }
}

function getAbsolutY(id){
                var iReturnValue = 0;
                elementid=document.getElementById(id)
                while( elementid != null ){
                               iReturnValue += elementid.offsetTop;
                               elementid = elementid.offsetParent;
                }
                
                return iReturnValue;
}
function getAbsolutX(id){
                var iReturnValue = 0;
                elementid=document.getElementById(id)
                while( elementid != null ){                           
                               iReturnValue += elementid.offsetLeft;
                               elementid = elementid.offsetParent;
                }              
                
                return iReturnValue;
}
function PositionAbsolut(id, id2){           
                document.getElementById(id).style.left = getAbsolutX(id2) + "px";
                document.getElementById(id).style.top = getAbsolutY(id2) + "px";
                
                if(document.getElementById(id).width!=undefined){
                               document.getElementById(id2).style.width = document.getElementById(id).width + "px";
                }else{
                               if(document.defaultView){
                                               document.getElementById(id2).style.width = document.defaultView.getComputedStyle(document.getElementById(id), null).width;
                               }else if(document.getElementById(id).currentStyle['width']!="auto"){                 
                                               document.getElementById(id2).style.width = document.getElementById(id).currentStyle['width'];
                               }else{
                                               document.getElementById(id2).style.height = document.getElementById(id).offsetWidth;
                               }
                }
                if(document.getElementById(id).height!=undefined){
                               document.getElementById(id2).style.height = document.getElementById(id).height + "px";
                }else{
                               if(document.defaultView){
                                               document.getElementById(id2).style.height = document.defaultView.getComputedStyle(document.getElementById(id), null).height;
                               }else if(document.getElementById(id).currentStyle['height']!="auto"){                                               
                                               document.getElementById(id2).style.height = document.getElementById(id).currentStyle['height'];
                               }else{
                                               document.getElementById(id2).style.height = document.getElementById(id).offsetHeight;
                               }
                }
}
