/*!
 * jQuery JavaScript Library v1.4.2
 * http://jquery.com/
 *
 * Copyright 2010, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2010, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: Sat Feb 13 22:33:48 2010 -0500
 */
(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",
i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=
this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=
e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=
a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,
isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=
{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&
!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},
toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,
u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),
function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];
if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];
for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},
relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=
l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];
h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},
CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},
text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},
setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=
m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||
!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=
h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";
if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,
gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;
c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=
{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a===
"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",
d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?
a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===
1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?
a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&
this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||
u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===
1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=
Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},
serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,
global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&
e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?
"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===
"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");
this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],
"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},
animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);
this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===
"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||
c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;
this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=
this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,
e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||
c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?
function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=
this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);
c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);

jQuery.noConflict();
/*
 * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
 *
 * Uses the built in easing capabilities added In jQuery 1.1
 * to offer multiple easing options
 *
 * TERMS OF USE - jQuery Easing
 * 
 * Open source under the BSD License. 
 * 
 * Copyright Ă‚Â© 2008 George McGinley Smith
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without modification, 
 * are permitted provided that the following conditions are met:
 * 
 * Redistributions of source code must retain the above copyright notice, this list of 
 * conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list 
 * of conditions and the following disclaimer in the documentation and/or other materials 
 * provided with the distribution.
 * 
 * Neither the name of the author nor the names of contributors may be used to endorse 
 * or promote products derived from this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
 * OF THE POSSIBILITY OF SUCH DAMAGE. 
 *
*/

// t: current time, b: begInnIng value, c: change In value, d: duration
jQuery.easing['jswing'] = jQuery.easing['swing'];

jQuery.extend( jQuery.easing,
{
	def: 'easeOutQuad',
	swing: function (x, t, b, c, d) {
		//alert(jQuery.easing.default);
		return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
	},
	easeInQuad: function (x, t, b, c, d) {
		return c*(t/=d)*t + b;
	},
	easeOutQuad: function (x, t, b, c, d) {
		return -c *(t/=d)*(t-2) + b;
	},
	easeInOutQuad: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t + b;
		return -c/2 * ((--t)*(t-2) - 1) + b;
	},
	easeInCubic: function (x, t, b, c, d) {
		return c*(t/=d)*t*t + b;
	},
	easeOutCubic: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t + 1) + b;
	},
	easeInOutCubic: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t + b;
		return c/2*((t-=2)*t*t + 2) + b;
	},
	easeInQuart: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t + b;
	},
	easeOutQuart: function (x, t, b, c, d) {
		return -c * ((t=t/d-1)*t*t*t - 1) + b;
	},
	easeInOutQuart: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
		return -c/2 * ((t-=2)*t*t*t - 2) + b;
	},
	easeInQuint: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t*t + b;
	},
	easeOutQuint: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t*t*t + 1) + b;
	},
	easeInOutQuint: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
		return c/2*((t-=2)*t*t*t*t + 2) + b;
	},
	easeInSine: function (x, t, b, c, d) {
		return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
	},
	easeOutSine: function (x, t, b, c, d) {
		return c * Math.sin(t/d * (Math.PI/2)) + b;
	},
	easeInOutSine: function (x, t, b, c, d) {
		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
	},
	easeInExpo: function (x, t, b, c, d) {
		return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
	},
	easeOutExpo: function (x, t, b, c, d) {
		return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
	},
	easeInOutExpo: function (x, t, b, c, d) {
		if (t==0) return b;
		if (t==d) return b+c;
		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
	},
	easeInCirc: function (x, t, b, c, d) {
		return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
	},
	easeOutCirc: function (x, t, b, c, d) {
		return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
	},
	easeInOutCirc: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
		return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
	},
	easeInElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
	},
	easeOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
	},
	easeInOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
		return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
	},
	easeInBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*(t/=d)*t*((s+1)*t - s) + b;
	},
	easeOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
	},
	easeInOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158; 
		if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
		return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
	},
	easeInBounce: function (x, t, b, c, d) {
		return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
	},
	easeOutBounce: function (x, t, b, c, d) {
		if ((t/=d) < (1/2.75)) {
			return c*(7.5625*t*t) + b;
		} else if (t < (2/2.75)) {
			return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
		} else if (t < (2.5/2.75)) {
			return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
		} else {
			return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
		}
	},
	easeInOutBounce: function (x, t, b, c, d) {
		if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
		return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
	}
});

/*
 *
 * TERMS OF USE - EASING EQUATIONS
 * 
 * Open source under the BSD License. 
 * 
 * Copyright Ă‚Â© 2001 Robert Penner
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without modification, 
 * are permitted provided that the following conditions are met:
 * 
 * Redistributions of source code must retain the above copyright notice, this list of 
 * conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list 
 * of conditions and the following disclaimer in the documentation and/or other materials 
 * provided with the distribution.
 * 
 * Neither the name of the author nor the names of contributors may be used to endorse 
 * or promote products derived from this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
 * OF THE POSSIBILITY OF SUCH DAMAGE. 
 *
 *//*
 * DDSlider v1.7 - http://codecanyon.net/item/ddslider-10-transitions-inline-content-support/104797
 * 
 * Copyright Ă‚Â© 2010 Guilherme Salum
 * All rights reserved.
 * 
 * You may not modify and/or redistribute this file
 * save cases where Extended License has been purchased
 *
*/

(function($){ 
    $.fn.extend({ 
        DDSlider: function() { 
			
			var DDCont = this;
			
			isPlaying = false;
			
			var DDefaults = {
				
				trans: 'random',
				delay: 50,
				waitTime: 5000,
				duration: 500,
				stopSlide: 1,
				bars: 15,
				columns: 10,
				rows: 3,
				ease: 'swing'
				
				
			};			
			
			attr = arguments[0] || {};
			
			if(attr.trans === undefined) { attr.trans = DDefaults.trans; }
			if(attr.delay === undefined) { attr.delay = DDefaults.delay; }
			if(attr.duration === undefined) { attr.duration = DDefaults.duration; }
			if(attr.waitTime === undefined) { attr.waitTime = DDefaults.waitTime; }
			if(attr.stopSlide === undefined) { attr.stopSlide = DDefaults.stopSlide; }
			if(attr.bars === undefined) { attr.bars = DDefaults.bars; }
			if(attr.columns === undefined) { attr.columns = DDefaults.columns; }
			if(attr.rows === undefined) { attr.rows = DDefaults.rows; }
			if(attr.ease === undefined) { attr.ease = DDefaults.ease; }
			
			attr.width = this.width();
			attr.height = this.height();			
			
			//Sets up the slider structure
			this.children('li:first').addClass('current');
			
			var iNum = 1;
				
				//Add Selector container
				if(attr.selector === true) {
					
					this.append('<ul class="slider_selector"></ul>');
					
				}
			
				//Adds Selectors and set slider classes
				this.children('li').each(function() {
												 
					$(this).addClass('slider_'+iNum);
					
					//sets the selectors
					
					if(attr.selector === undefined) {
						
					} else {
						
						if(iNum == 1) {
							$(attr.selector).append('<li class="current sel_'+iNum+'"></li>');
						} else {
							$(attr.selector).append('<li class="sel_'+iNum+'"></li>');
						}
						
					}
					
					iNum++;
												 
				});	
				
			var isClicked = 0;
			
			//If user has only one <li> stops the slide
			if(this.children('li').length == 1) {
				
				stopAll = 1;
				
			} else {
				
				stopAll = 0;
				
			}
			
			if(stopAll === 0) {
			
				//Sets arrows events
				if(attr.prevSlide === undefined) {  } else {
					
					$(attr.prevSlide).click(function(){
						
						if(isPlaying === false) {
							
							DDCont.prevSlide(attr); isClicked = 1;
							
						}
						
					});
					
				}
				if(attr.nextSlide === undefined) {  } else {
					
					$(attr.nextSlide).click(function(){
						
						if(isPlaying === false) {
							
							DDCont.nextSlide(attr); isClicked = 1;
							
						}
						
					});
					
				}
			
						
				$(attr.selector).children('li').click(function() { var itemId = $(this).attr('class').split(' ');
					
					if(itemId[0] == 'current' || itemId[1] == 'current') {
						
						//do nothing
						
					} else {
						
						itemId = itemId[0].split('_');
						
						if(isPlaying === false) {
							
							isClicked = 1;
							DDCont.callSlide(itemId[1], attr);
							
						}
						
						
					}						   
				});
				
				//AutoSlider
				var isHovered = 0;
				//check if user is hovering the slide
				$(this).hover(function() { // Whenever an item is hovered
					isHovered = 1; //Setting isHovered 1, we stop the autsliding from going on
				}, function() {
					isHovered = 0;//Setting isHovered 1, we make the autsliding go on
				});
				
				//Events
				setInterval(function() {
					
					if(attr.stopSlide == 1) {
						
						if(isHovered === 0 && isClicked === 0) { DDCont.nextSlide(attr); }
						
					} else {
						
						 if(isClicked === 0) { DDCont.nextSlide(attr); }
						 
					}
								 
				}, attr.waitTime);
			
			}
		
        },
		
		nextSlide: function() {
	
			//finds out the current slider and the next one
			var currentItem = this.children('li.current');
			var nextItem = currentItem.next('li');
			
			
			//finds selectors
			var currentSel = $(attr.selector).children('li.current');
			var nextSel = $(attr.selector).children('li.current').next();
			
			//if the is no next one, choose the first
			if(nextItem.length > 0) {
				//Do nothing. The  $next element exists
			} else {
				nextItem = this.children('li:first');
				nextSel = $(attr.selector).children('li:first');
			}
			
			this.nextTransition(attr, nextItem, currentItem, nextSel, currentSel);
			
		},
		
		prevSlide: function() {
			
			//finds out the current slider and the next one
			var currentItem = this.children('li.current');
			var prevItem = currentItem.prev('li');
			
			
			//finds selectors
			var currentSel = $(attr.selector).children('li.current');
			var prevSel = $(attr.selector).children('li.current').prev();
			
			//if the is no next one, choose the first
			if(prevItem.length > 0) {
				//Do nothing. The  $next element exists
			} else {
				prevItem = this.children('li:last');
				prevSel = $(attr.selector).children('li:last');
			}
			
			this.nextTransition(attr, prevItem, currentItem, prevSel, currentSel);
			
		},
		
		callSlide: function(slideID) {
			
			var currentItem = this.children('li.current');
			var nextItem = this.children('li.slider_'+slideID);
			
			var currentSel = $(attr.selector).children('li.current');
			var nextSel = $(attr.selector).children('li.sel_'+slideID);
			
			this.nextTransition(attr, nextItem, currentItem, nextSel, currentSel);
			
		},
		
		nextTransition: function(attr, transNext, transCur, transSelNext, transSelCur) {
						
			var nextTransitionTemp = transNext.attr('class').split(' ');
			var nextTransition = nextTransitionTemp[0];
			if(nextTransition == '') { nextTransition = attr.trans; }
			
			
			
			if(nextTransition == 'random' || nextTransition == 'fading' || nextTransition == 'barTop' || nextTransition == 'barBottom' || nextTransition == 'square' || nextTransition == 'squareMoving' || nextTransition == 'barFade' || nextTransition == 'barFadeRandom' || nextTransition == 'squareRandom' || nextTransition == 'squareOut' || nextTransition == 'squareOutMoving' || nextTransition == 'rowInterlaced') {  } else { nextTransition = 'random'; }
			
			if(nextTransition == 'random') {
				
				var transitionArray = ['barTop','fading','barBottom','square', 'squareRandom', 'squareMoving', 'barFade', 'barFadeRandom', 'squareOut', 'squareOutMoving', 'rowInterlaced'];
				var arr_trans = [0,1,2,3,4,5,6,7,8,9,10];
				
				var nextTransShuffle = $.shuffle(arr_trans);
				
				nextTransition = transitionArray[nextTransShuffle[0]];
				
			}
			
			if(nextTransition == 'fading') { this.DDFading(attr, transNext, transCur, transSelNext, transSelCur);  }
			else if(nextTransition == 'barTop') { this.DDBarTop(attr, transNext, transCur, transSelNext, transSelCur); }
			else if(nextTransition == 'barBottom') { this.DDBarBottom(attr, transNext, transCur, transSelNext, transSelCur); }
			else if(nextTransition == 'square') { this.DDSquare(attr, transNext, transCur, transSelNext, transSelCur); }
			else if(nextTransition == 'squareRandom') { this.DDSquareRandom(attr, transNext, transCur, transSelNext, transSelCur); }
			else if(nextTransition == 'squareMoving') { this.DDSquareMoving(attr, transNext, transCur, transSelNext, transSelCur); }
			else if(nextTransition == 'barFade') { this.DDBarFade(attr, transNext, transCur, transSelNext, transSelCur); }
			else if(nextTransition == 'barFadeRandom') { this.DDBarFadeRandom(attr, transNext, transCur, transSelNext, transSelCur); }
			else if(nextTransition == 'squareOut') { this.DDSquareOut(attr, transNext, transCur, transSelNext, transSelCur); }
			else if(nextTransition == 'squareOutMoving') { this.DDSquareOutMoving(attr, transNext, transCur, transSelNext, transSelCur); }
			else if(nextTransition == 'rowInterlaced') { this.DDRowInterlaced(attr, transNext, transCur, transSelNext, transSelCur); }
			else { this.DDFading(attr, transNext, transCur, transSelNext, transSelCur); }
			
		},
		
		DDFading: function(attr, fadeNext, fadeCur, nextSel, curSel) {
			
			var ddx = this;
			
			//lets disable all buttons
			this.disableSelectors();
			
			fadeNext.css({ opacity: 1 });

			
			//adds the next class
			fadeNext.addClass('next');
				
			curSel.removeClass('current');
			nextSel.addClass('current');
			
			//animates the current so it disappears
			fadeCur.stop().animate({ opacity: 0 }, attr.duration, function() {
																				  
				fadeNext.addClass('current').removeClass('next');
				fadeCur.removeClass('current').css({ opacity: 1 });
				
				//enables all selectors
				ddx.enableSelectors();
																				  
			});
			
		},
		
		DDBarTop: function(attr, barNext, barCur, nextSel, curSel) {
			
			var ddx = this;
			
			//lets disable all buttons
			this.disableSelectors();
			
			barNext.css({ opacity: 1 });
						
			//set vars
			var bar_width = Math.round(attr.width / attr.bars);
			
			var bar_height = attr.height;
			var bar_top = (bar_height - (bar_height * 2));
			
			//Let's create the bar divs
			var iNum = 1;
			while(iNum <= attr.bars) {
				
				var position = (iNum * bar_width) - bar_width;
				this.append('<div class="slider_bar slider_bar_'+iNum+'" style="position: absolute; overflow: hidden;'+barNext.attr('style')+'"></div>');
				this.children('.slider_bar_'+iNum).css({ left: position, height: bar_height, width: bar_width, top: bar_top, 'z-index': 3, 'background-position': '-'+position+'px top' });
				iNum++;
				
			}
			
			//lets put the content in the bar and animate it
			
			//set vars
			var iNum2 = 1;
			
			while(iNum2 <= attr.bars) {
				
				var position2 = (iNum2 * bar_width) - bar_width;
				var delay = (iNum2 * attr.delay);
				this.children('.slider_bar_'+iNum2).append('<div style="position: absolute; left: -'+position2+'px; width: '+attr.width+'px; height: '+attr.height+'px;">'+barNext.html()+'</div>');
				this.children('.slider_bar_'+iNum2).animate({ opacity: 1 }, delay).animate({ top: 0 }, {duration: attr.duration, easing: attr.ease});
				iNum2++;
				
				
			}
				
			curSel.removeClass('current');
			nextSel.addClass('current');
			
			//let's do stuff after the animation is over
			var totalDelay = (attr.bars * attr.delay);
			barNext.animate({ opacity: 0 }, totalDelay).animate({opacity: 0}, attr.duration, function() {
				
				$(this).addClass('current').css({ opacity: 1 });
				
				barCur.animate({ opacity: 0 }, 200, function() {
					
					$(this).removeClass('current');
					
					//removes the transition containers
					ddx.children('.slider_bar').remove();
					
					//Enables the selectors
					ddx.enableSelectors();
					
				});
				
			});
			
		},
		
		DDBarBottom: function(attr, barPrev, barCur, nextSel, curSel) {
			
			var ddx = this;
			
			//lets disable all buttons
			this.disableSelectors();
			
			barPrev.css({ opacity: 1 });
			
			//set vars
			var bar_width = Math.round(attr.width / attr.bars);
			var bar_height = attr.height;
			var bar_top = bar_height;
			
			//Let's create the bar divs
			var iNum = 1;
			while(iNum <= attr.bars) {
				
				var position = (iNum * bar_width) - bar_width;	
				this.append('<div class="slider_bar slider_bar_'+iNum+'" style="position: absolute; overflow: hidden;'+barPrev.attr('style')+'"></div>');
				this.children('.slider_bar_'+iNum).css({ left: position, height: bar_height, width: bar_width, top: bar_top, 'z-index': 3, 'background-position': '-'+position+'px top' });
				iNum++;
				
			}
			
			//lets put the images in the bar and animate it
			
			//set vars
			var iNum2 = (1);
			var iNum3 = attr.bars;
			bar_width = Math.round(attr.width / attr.bars);
			bar_height = attr.height;
			
			while(iNum2 <= attr.bars) {
				
				var position2 = (iNum2 * bar_width) - bar_width;
				var delay = (iNum2 * attr.delay);
				this.children('.slider_bar_'+iNum2).append('<div style="position: absolute; left: -'+position2+'px; width: '+attr.width+'px; height: '+attr.height+'px;">'+barPrev.html()+'</div>');
				this.children('.slider_bar_'+iNum3).animate({ opacity: 1 }, delay).animate({ top: 0 }, {duration: 500, easing: attr.ease});
				iNum2++; iNum3--;
				
				
			}
				
			curSel.removeClass('current');
			nextSel.addClass('current');
			
			//let's do stuff after the animation is over
			var totalDelay = (attr.bars * attr.delay);
			barPrev.animate({ opacity: 0 }, totalDelay).animate({opacity: 0}, attr.duration, function() {
				
				$(this).addClass('current').css({ opacity: 1 });
				
				barCur.animate({ opacity: 0 }, 200, function() {
					
					$(this).removeClass('current');
					
					//removes the transition containers
					ddx.children('.slider_bar').remove();
					
					//Enables the selectors
					ddx.enableSelectors();
					
				});	
				
			});
			
		},
		
		DDBarFade: function(attr, barNext, barCur, nextSel, curSel) {
			
			var ddx = this;
			
			//lets disable all buttons
			this.disableSelectors();
			
			barNext.css({ opacity: 1 });
			
			//set vars
			var bar_width = Math.round(attr.width / attr.bars);
			var bar_height = attr.height;
			
			//Let's create the bar divs
			var i = 1;
			while(i <= attr.bars) {
				
				var position = (i * bar_width) - bar_width;
				this.append('<div class="slider_bar slider_bar_'+i+'" style="position: absolute; overflow: hidden;'+barNext.attr('style')+'"></div>');
				this.children('.slider_bar_'+i).css({ left: position, opacity: 0, height: bar_height, width: bar_width, 'z-index': 3, 'background-position': '-'+position+'px top' });
				i++;
				
			}
			
			//lets put the content in the bar and animate it
			
			//set vars
			var ii = 1;
			
			while(ii <= attr.bars) {
				
				var position2 = (ii * bar_width) - bar_width;
				delay = (ii * attr.delay);
				this.children('.slider_bar_'+ii).append('<div style="position: absolute; left: -'+position2+'px; width: '+attr.width+'px; height: '+attr.height+'px;">'+barNext.html()+'</div>');
				this.children('.slider_bar_'+ii).animate({opacity: 0}, delay).animate({ opacity: 1 }, {duration: attr.duration, easing: attr.ease});
				ii++;
				
				
			}
				
			curSel.removeClass('current');
			nextSel.addClass('current');
			
			//let's do stuff after the animation is over
			var totalDelay = (attr.bars * attr.delay);
			barNext.animate({opacity: 0}, totalDelay).animate({opacity: 0}, attr.duration, function() {
				
				$(this).addClass('current').css({ opacity: 1 });
				
				barCur.animate({ opacity: 0 }, 200, function() {
					
					$(this).removeClass('current');
					
					//removes the transition containers
					ddx.children('.slider_bar').remove();
					
					//Enables the selectors
					ddx.enableSelectors();
					
				});
				
			});
			
		},
		
		DDBarFadeRandom: function(attr, barNext, barCur, nextSel, curSel) {
			
			var ddx = this;
			
			//lets disable all buttons
			this.disableSelectors();
			
			barNext.css({ opacity: 1 });
			
			//set vars
			var bar_width = Math.round(attr.width / attr.bars);
			var bar_height = attr.height;
			
			//create array of number of bars so we can shuffle it
			var bars_array = [];
			
			//Let's create the bar divs
			var i = 1;
			while(i <= attr.bars) {
				
				var position = (i * bar_width) - bar_width;
				this.append('<div class="slider_bar slider_bar_'+i+'" style="position: absolute; overflow: hidden;'+barNext.attr('style')+'"></div>');
				this.children('.slider_bar_'+i).css({ left: position, opacity: 0, height: bar_height, width: bar_width, 'z-index': 3, 'background-position': '-'+position+'px top' });
				
				//inserts content in our array of bars
				bars_array[(i- 1)] = [i];
				
				i++;
				
			}
			
			
			//shuffles the array of bars
			var bars_array_shuffle = $.shuffle(bars_array);
			
			//lets put the content in the bar and animate it
			//set vars
			var ii = 1;
			
			while(ii <= attr.bars) {
				
				var position2 = (ii * bar_width) - bar_width;
				var delay = (ii * attr.delay);
				this.children('.slider_bar_'+ii).append('<div style="position: absolute; left: -'+position2+'px; width: '+attr.width+'px; height: '+attr.height+'px;">'+barNext.html()+'</div>');
				
				this.children('.slider_bar_'+bars_array_shuffle[(ii) - 1]).animate({ opacity: 0 }, delay).animate({ opacity: 1 }, {duration: attr.duration, easing: attr.ease});
				ii++;
				

				
			}
				
			curSel.removeClass('current');
			nextSel.addClass('current');
			
			//let's do stuff after the animation is over
			var totalDelay = (attr.bars * attr.delay);
			barNext.animate({opacity: 0}, totalDelay).animate({opacity: 0}, attr.duration, function() {
				
				$(this).addClass('current').css({ opacity: 1 });
				
				barCur.animate({ opacity: 0 }, 200, function() {
					
					$(this).removeClass('current');
					
					//removes the transition containers
					ddx.children('.slider_bar').remove();
					
					//Enables the selectors
					ddx.enableSelectors();
					
				});
				
			});
			
		},
		
		DDSquare: function(attr, squareNext, squareCur, nextSel, curSel) {
			
			var ddx = this;
			
			//lets disable all buttons
			this.disableSelectors();
			
			squareNext.css({ opacity: 1 });
			
			//set vars
			var row_width = Math.round(attr.width / attr.columns);
			var row_height = Math.round(attr.height / attr.rows);
			
			//Let's create the block divs
			var i_row_numbers = 1;
			var i_column_numbers = (1);
			
			//create each row
			while(i_row_numbers <= attr.rows) {
				
				var initial = i_row_numbers;
				var class_row = 'block_row_'+i_row_numbers;
				
				//create each column of each row
				while(i_column_numbers <= attr.columns) {
					
					var block_ID_name = 'block_ID_'+((attr.columns * i_row_numbers)-(attr.columns - i_column_numbers));
					var class_block = 'slider_block_'+(initial++);
					var class_column = 'block_column_'+i_column_numbers;
					
					var block_top = ((i_row_numbers * row_height) - row_height);
					var block_left = ((i_column_numbers * row_width) - row_width);
					
					var position_left = (row_width * i_column_numbers) - row_width;
					var position_top = (row_height * i_row_numbers) - row_height;
					
					if(squareNext.attr('style') === undefined) {
						
						this.append('<div class="slider_block '+block_ID_name+' '+class_block+' '+class_row+' '+class_column+'" style="position: absolute; overflow: hidden;"></div>');
						
					} else {
						
						this.append('<div class="'+block_ID_name+' slider_block '+class_block+' '+class_row+' '+class_column+'" style="position: absolute; overflow: hidden;'+squareNext.attr('style')+'"></div>');
					}
					
					this.children('.'+block_ID_name).css({ width: row_width, height: row_height, 'z-index': 4, top:block_top+'px', left: block_left+'px', opacity: 0, 'background-position': '-'+position_left+'px -'+position_top+'px' }).append('<div style="position: absolute; left: -'+position_left+'px; top: -'+position_top+'px; width: '+attr.width+'px; height: '+attr.height+'px;">'+squareNext.html()+'</div>');
					
					i_column_numbers++; initial++;
					
				}
				
				i_row_numbers++;
				i_column_numbers = 1;
			}
			
			//Let's reset the block divs
			i_row_numbers = 1;
			i_column_numbers = 1;
			
			
				
			
			while(i_row_numbers <= attr.rows) {
				
				var initial2 = i_row_numbers;
				
				//create each column of each row
				while(i_column_numbers <= attr.columns) {
					
					var animated_class = '.slider_block_'+(initial2++);
					
					delay = (attr.delay * initial2);
					
					$(animated_class).animate({ width: row_width }, delay).animate({ opacity: 1 }, {duration: attr.duration, easing: attr.ease});
					
					i_column_numbers++; initial2++;
					
				}
				
				i_row_numbers++;
				i_column_numbers = 1;
			}
				
			curSel.removeClass('current');
			nextSel.addClass('current');
			
			var delay_total = (delay + attr.duration);
			
			squareNext.animate({ opacity: 0 }, delay_total).animate({ opacity: 0 }, 1, function() {
				
				$(this).addClass('current').css({ opacity: 1 });
				
				squareCur.animate({ opacity: 0 }, 200, function() {
					
					$(this).removeClass('current');
					
					//removes the transition containers
					ddx.children('.slider_block').remove();
					
					//Enables the selectors
					ddx.enableSelectors();
					
				});
				
			});
			
		},
		
		DDSquareRandom: function(attr, squareNext, squareCur, nextSel, curSel) {
			
			var ddx = this;
			
			//lets disable all buttons
			this.disableSelectors();
			
			squareNext.css({ opacity: 1 });
			
			//set vars
			var row_width = Math.round(attr.width / attr.columns);
			var row_height = Math.round(attr.height / attr.rows);
			
			//Let's create the block divs
			var i_row_numbers = 1;
			var i_column_numbers = 1;
			
			var square_arr = [];
			var square_total = 0;
			
			//create each row
			while(i_row_numbers <= attr.rows) {
				
				var initial = i_row_numbers;
				var class_row = 'block_row_'+i_row_numbers;
				
				//create each column of each row
				while(i_column_numbers <= attr.columns) {
					
					square_arr[square_total] = (square_total + 1);
					square_total++;
					
					var block_ID_name = 'block_ID_'+((attr.columns * i_row_numbers)-(attr.columns - i_column_numbers));
					var class_block = 'slider_block_'+(initial++);
					var class_column = 'block_column_'+i_column_numbers;
					
					var block_top = ((i_row_numbers * row_height) - row_height);
					var block_left = ((i_column_numbers * row_width) - row_width);
					
					var position_left = (row_width * i_column_numbers) - row_width;
					var position_top = (row_height * i_row_numbers) - row_height;
					
					if(squareNext.attr('style') === undefined) {
						
						this.append('<div class="'+block_ID_name+' slider_block '+class_block+' '+class_row+' '+class_column+'" style="position: absolute; overflow: hidden;"></div>');
						
					} else {
						
						this.append('<div class="'+block_ID_name+' slider_block '+class_block+' '+class_row+' '+class_column+'" style="position: absolute; overflow: hidden;'+squareNext.attr('style')+'"></div>');
					}
					
					this.children('.'+block_ID_name).css({ width: row_width, height: row_height, 'z-index': 4, top: block_top+'px', left: block_left+'px', opacity: 0, 'background-position': '-'+position_left+'px -'+position_top+'px' }).append('<div style="position: absolute; left: -'+position_left+'px; top: -'+position_top+'px; width: '+attr.width+'px; height: '+attr.height+'px;">'+squareNext.html()+'</div>');
					
					i_column_numbers++; initial++;
					
				}
				
				i_row_numbers++;
				i_column_numbers = 1;
			}
			
			var squareArrShuffle = $.shuffle(square_arr);
			
			//Let's create the block divs
			i_row_numbers = 1;
			i_column_numbers = 1;
			var squareAnimate = 0;		
			
			while(i_row_numbers <= attr.rows) {
				
				var initial2 = i_row_numbers;
				
				//create each column of each row
				while(i_column_numbers <= attr.columns) {
					
					var animated_class = '.block_ID_'+(squareArrShuffle[squareAnimate]);
					
					delay = (attr.delay * initial2);
					
					$(animated_class).animate({ width: row_width }, delay).animate({ opacity: 1 }, {duration: attr.duration, easing: attr.ease});
					
					i_column_numbers++; initial2++; squareAnimate++;
					
				}
				
				i_row_numbers++;
				i_column_numbers = 1;
				
			}
				
			curSel.removeClass('current');
			nextSel.addClass('current');
			
			var delay_total = delay + attr.duration;
			
			squareNext.animate({ opacity: 0 }, delay_total).animate({ opacity: 0 }, 1, function() {
				
				$(this).addClass('current').css({ opacity: 1 });
				
				squareCur.animate({ opacity: 0 }, 200, function() {
					
					$(this).removeClass('current');
					
					//removes the transition containers
					ddx.children('.slider_block').remove();
					
					//Enables the selectors
					ddx.enableSelectors();
					
				});
				
			});
			
		},
		
		DDSquareMoving: function(attr, squareNext, squareCur, nextSel, curSel) {
			
			var ddx = this;
			
			//lets disable all buttons
			this.disableSelectors();
			
			squareNext.css({ opacity: 1 });
			
			//set vars
			var row_width = Math.round(attr.width / attr.columns);
			var row_height = Math.round(attr.height / attr.rows);
			
			//Let's create the block divs
			var i_row_numbers = 1;
			var i_column_numbers = 1;
			
			//create each row
			while(i_row_numbers <= attr.rows) {
				
				var initial = i_row_numbers;
				var class_row = 'block_row_'+i_row_numbers;
				
				//create each column of each row
				while(i_column_numbers <= attr.columns) {
					
					var block_ID_name = 'block_ID_'+((attr.columns * i_row_numbers)-(attr.columns - i_column_numbers));
					var class_block = 'slider_block_'+(initial++);
					var class_column = 'block_column_'+i_column_numbers;
					
					var block_top = (i_row_numbers * row_height)+80;
					var block_left = (i_column_numbers * row_width)+80;
					
					var position_left = (row_width * i_column_numbers) - row_width;
					var position_top = (row_height * i_row_numbers) - row_height;
					
					if(squareNext.attr('style') === undefined) {
						
						this.append('<div class="'+block_ID_name+' slider_block '+class_block+' '+class_row+' '+class_column+'" style="position: absolute; overflow: hidden;"></div>');
						
					} else {
						
						this.append('<div class="'+block_ID_name+' slider_block '+class_block+' '+class_row+' '+class_column+'" style="position: absolute; overflow: hidden;'+squareNext.attr('style')+'"></div>');
						
					}
					
					this.children('.'+block_ID_name).css({ width: row_width, height: row_height, 'z-index': 4, opacity: 0, top: block_top+'px', left: block_left+'px', 'background-position': '-'+position_left+'px -'+position_top+'px' }).append('<div style="position: absolute; left: -'+position_left+'px; top: -'+position_top+'px; width: '+attr.width+'px; height: '+attr.height+'px;">'+squareNext.html()+'</div>');
					
					i_column_numbers++; initial++;
					
				}
				
				i_row_numbers++;
				i_column_numbers = 1;
			}
			
			//Let's create the block divs
			i_row_numbers = 1;
			i_column_numbers = 1;
				
			
			while(i_row_numbers <= attr.rows) {
				
				var initial2 = i_row_numbers;
				
				//create each column of each row
				while(i_column_numbers <= attr.columns) {
					
					var block_ID_name2 = 'block_ID_'+((attr.columns * i_row_numbers)-(attr.columns - i_column_numbers));
					
					var block_top2 = ((i_row_numbers * row_height) - row_height) + 'px';
					var block_left2 = ((i_column_numbers * row_width) - row_width) + 'px';
					
					delay = (attr.delay * initial2);
					
					this.children('.'+block_ID_name2).animate({ width: row_width }, delay).animate({ opacity: 1, top: block_top2, left: block_left2 }, {duration: attr.duration, easing: attr.ease});
					
					i_column_numbers++; initial2++;
					
				}
				
				i_row_numbers++;
				i_column_numbers = 1;
			}
				
			curSel.removeClass('current');
			nextSel.addClass('current');
			
			//once the animation is finished
			var delay_total = delay + attr.duration;
			squareNext.animate({ opacity: 0 }, delay_total).animate({ opacity: 0 }, 1, function() {
				
				$(this).addClass('current').css({ opacity: 1 });
				
				squareCur.animate({ opacity: 0 }, 200, function() {
					
					$(this).removeClass('current');
					
					//removes the transition containers
					ddx.children('.slider_block').remove();
					
					//Enables the selectors
					ddx.enableSelectors();
					
				});
				
			});
			
		},
		
		DDSquareOut: function(attr, squareNext, squareCur, nextSel, curSel) {
			
			var ddx = this;
			
			//lets disable all buttons
			this.disableSelectors();
			
			//set vars
			var row_width = Math.round(attr.width / attr.columns);
			var row_height = Math.round(attr.height / attr.rows);
			
			//Let's create the block divs
			var i_row_numbers = 1;
			var i_column_numbers = 1;
			
			//create each row
			while(i_row_numbers <= attr.rows) {
				
				var initial = i_row_numbers;
				var class_row = 'block_row_'+i_row_numbers;
				
				//create each column of each row
				while(i_column_numbers <= attr.columns) {
					
					var block_ID_name = 'block_ID_'+((attr.columns * i_row_numbers)-(attr.columns - i_column_numbers));
					var class_block = 'slider_block_'+(initial++);
					var class_column = 'block_column_'+i_column_numbers;
					
					var block_top = ((i_row_numbers * row_height) - row_height);
					var block_left = ((i_column_numbers * row_width) - row_width);
					
					var position_left = (row_width * i_column_numbers) - row_width;
					var position_top = (row_height * i_row_numbers) - row_height;
					
					if(squareNext.attr('style') === undefined) {
						
						this.append('<div class="'+block_ID_name+' slider_block '+class_block+' '+class_row+' '+class_column+'" style="position: absolute; overflow: hidden;"></div>');
						
					} else {
						
						this.append('<div class="'+block_ID_name+' slider_block '+class_block+' '+class_row+' '+class_column+'" style="position: absolute; overflow: hidden;'+squareCur.attr('style')+'"></div>');
						
					}
					
					this.children('.'+block_ID_name).css({ width: row_width, height: row_height, 'z-index': 4, top: block_top+'px', left: block_left+'px', opacity: 1, 'background-position': '-'+position_left+'px -'+position_top+'px' }).append('<div style="position: absolute; left: -'+position_left+'px; top: -'+position_top+'px; width: '+attr.width+'px; height: '+attr.height+'px;">'+squareCur.html()+'</div>');
					
					i_column_numbers++; initial++;
					
				}
				
				i_row_numbers++;
				i_column_numbers = 1;
			}
			
			squareNext.addClass('current').css({ opacity: 0 }).animate({ opacity: 1 }, 200);
			squareCur.css({ opacity: 0 });
			
			//Let's create the block divs
			i_row_numbers = 1;
			i_column_numbers = 1;
			
			
				
			
			while(i_row_numbers <= attr.rows) {
				
				var initial2 = i_row_numbers;

				
				//create each column of each row
				while(i_column_numbers <= attr.columns) {
					
					var block_ID_name2 = 'block_ID_'+((attr.columns * i_row_numbers)-(attr.columns - i_column_numbers));
					
					delay = (attr.delay * initial2)*3;
					
					var position_left2 = (((row_width * i_column_numbers) - row_width)+80)+'px';
					var position_top2 = (((row_height * i_row_numbers) - row_height)+80)+'px';
					
					this.children('.'+block_ID_name2).animate({ width: row_width }, delay).animate({ left: position_left2, top: position_top2, opacity: 0 }, {duration: attr.duration, easing: attr.ease});
					
					i_column_numbers++; initial2++;
					
					
				}
				
				i_row_numbers++;
				i_column_numbers = 1;
			}
				
			curSel.removeClass('current');
			nextSel.addClass('current');
			
			var delay_total = (delay + attr.duration);
			
			squareNext.animate({ opacity: 1 }, delay_total).animate({ opacity: 0 }, 1, function() {
				
				$(this).addClass('current').css({ opacity: 1 });
				squareCur.removeClass('current').css({ opacity: 1 });
				ddx.children('.slider_block').remove();
				
				//enables all selectors
				ddx.enableSelectors();
				
			});
			
		},
		
		DDSquareOutMoving: function(attr, squareNext, squareCur, nextSel, curSel) {
			
			var ddx = this;
			
			//lets disable all buttons
			this.disableSelectors();
			
			//set vars
			var row_width = Math.round(attr.width / attr.columns);
			var row_height = Math.round(attr.height / attr.rows);
			
			//Let's create the block divs
			var i_row_numbers = 1;
			var i_column_numbers = 1;
			
			//create each row
			while(i_row_numbers <= attr.rows) {
				
				var initial = i_row_numbers;
				var class_row = 'block_row_'+i_row_numbers;
				
				//create each column of each row
				while(i_column_numbers <= attr.columns) {
					
					var block_ID_name = 'block_ID_'+((attr.columns * i_row_numbers)-(attr.columns - i_column_numbers));
					var class_block = 'slider_block_'+(initial++);
					var class_column = 'block_column_'+i_column_numbers;
					
					var block_top = ((i_row_numbers * row_height) - row_height);
					var block_left = ((i_column_numbers * row_width) - row_width);
					
					var position_left = (row_width * i_column_numbers) - row_width;
					var position_top = (row_height * i_row_numbers) - row_height;
					
					if(squareNext.attr('style') === undefined) {
						
						this.append('<div class="'+block_ID_name+' slider_block '+class_block+' '+class_row+' '+class_column+'" style="position: absolute; overflow: hidden;"></div>');
						
					} else {
						
						this.append('<div class="'+block_ID_name+' slider_block '+class_block+' '+class_row+' '+class_column+'" style="position: absolute; overflow: hidden;'+squareCur.attr('style')+'"></div>');
						
					}
					
					this.children('.'+block_ID_name).css({ width: row_width, height: row_height, 'z-index': 4, top: block_top+'px', left: block_left+'px', opacity: 1, 'background-position': '-'+position_left+'px -'+position_top+'px' }).append('<div style="position: absolute; left: -'+position_left+'px; top: -'+position_top+'px; width: '+attr.width+'px; height: '+attr.height+'px;">'+squareCur.html()+'</div>');
					
					i_column_numbers++; initial++;
					
				}
				
				i_row_numbers++;
				i_column_numbers = 1;
			}
			
			squareNext.addClass('current').css({ opacity: 0 }).animate({ opacity: 1 }, 200);
			squareCur.css({ opacity: 0 });
			
			//Let's create the block divs
			i_row_numbers = 1;
			i_column_numbers = 1;
			
			
				
			
			while(i_row_numbers <= attr.rows) {
				
				var initial2 = i_row_numbers;
				
				//create each column of each row
				while(i_column_numbers <= attr.columns) {
					
					var block_ID_name2 = 'block_ID_'+((attr.columns * i_row_numbers)-(attr.columns - i_column_numbers));
					
					delay = (attr.delay * initial2)*2;
					
					var position_left2 = (((row_width * i_column_numbers) - row_width)-80)+'px';
					var position_top2 = (((row_height * i_row_numbers) - row_height)-80)+'px';
					
					this.children('.'+block_ID_name2).animate({ width: row_width }, delay).animate({ left: position_left2, top: position_top2, opacity: 0 }, {duration: attr.duration, easing: attr.ease});
					
					i_column_numbers++; initial2++;
					
					
				}
				
				i_row_numbers++;
				i_column_numbers = 1;
			}
				
			curSel.removeClass('current');
			nextSel.addClass('current');
			
			var delay_total = (delay + attr.duration);
			
			squareNext.animate({ opacity: 1 }, delay_total).animate({ opacity: 0 }, 1, function() {
				
				$(this).addClass('current').css({ opacity: 1 });
				squareCur.removeClass('current').css({ opacity: 1 });
				ddx.children('.slider_block').remove();
				
				//enables all selectors
				ddx.enableSelectors();
				
			});
			
		},
		
		DDRowInterlaced: function(attr, squareNext, squareCur, nextSel, curSel) {
			
			var ddx = this;
			
			//lets disable all buttons
			this.disableSelectors();
			
			squareNext.css({ opacity: 1 });
			
			//set vars
			var row_width = attr.width;
			var row_height = Math.round(attr.height / attr.rows);
			
			//Let's create the block divs
			var i_row_numbers = 1;
			
			var initial = 1;
			
			//create each row
			while(i_row_numbers <= attr.rows) {
				
				var class_row = 'block_row_'+i_row_numbers;
				
				var block_ID_name = 'block_ID_'+initial;
				
				var position_top = (row_height * i_row_numbers) - row_height;
				var position_left = attr.width+'px';
				var block_top = ((i_row_numbers * row_height) - row_height);
				
				if(squareNext.attr('style') === undefined) {
				
					this.append('<div class="slider_row '+block_ID_name+' '+class_row+'" style="position: absolute; overflow: hidden;"></div>');
				
				} else {
				
					this.append('<div class="'+block_ID_name+' slider_row '+class_row+'" style="position: absolute; overflow: hidden;'+squareNext.attr('style')+'"></div>');
					
				}
				
				this.children('.'+block_ID_name).css({ width: row_width, height: row_height, 'z-index': 4, top:block_top+'px', opacity: 0, 'background-position': '0 -'+position_top+'px', left: position_left }).append('<div style="position: absolute; top: -'+position_top+'px; width: '+attr.width+'px; height: '+attr.height+'px;">'+squareNext.html()+'</div>');
				
				initial++; i_row_numbers++;
			}
			
			var interLeft = '-'+attr.width+'px';
			this.children('.slider_row:even').css({ left: interLeft });
			
			//Let's reset the block divs
			i_row_numbers = 1;
			var initial2 = 1;
			
			
			while(i_row_numbers <= attr.rows) {
					
				var animated_class = '.block_ID_'+initial2;
					
				delay = (attr.delay * initial2);
					
				$(animated_class).animate({ opacity: 0 }, delay).animate({ left: 0, opacity: 1 }, {duration: attr.duration, easing: attr.ease});
					
				i_row_numbers++; initial2++;
			}
				
			curSel.removeClass('current');
			nextSel.addClass('current');
			
			var delay_total = (delay + attr.duration);
			
			squareNext.animate({ opacity: 0 }, delay_total).animate({ opacity: 0 }, 1, function() {
				
				$(this).addClass('current').css({ opacity: 1 });
				
				squareCur.animate({ opacity: 0 }, 200, function() {
					
					$(this).removeClass('current');
					
					//removes the transition containers
					ddx.children('.slider_row').remove();
					
					//Enables the selectors
					ddx.enableSelectors();
					
				});
				
			});
			
		},
		
		disableSelectors: function() {
			
			isPlaying = true;
			
		},
		
		enableSelectors: function() {
			
			isPlaying = false;
			
		}
		
    });
	
	$.fn.shuffle = function() {
		return this.each(function(){
			var items = $(this).children();
			return (items.length) ? $(this).html($.shuffle(items)) : this;
		});
	};
	
	$.shuffle = function(arr) {
		for(var j, x, i = arr.length; i; j = parseInt(Math.random() * i, 10), x = arr[--i], arr[i] = arr[j], arr[j] = x) {  }
		return arr;
	};
	
})(jQuery);(function($){$.fn.jCarouselLite=function(o){o=$.extend({btnPrev:null,btnNext:null,btnGo:null,mouseWheel:false,auto:null,speed:200,easing:null,vertical:false,circular:true,visible:3,start:0,scroll:1,beforeStart:null,afterEnd:null},o||{});return this.each(function(){var b=false,animCss=o.vertical?"top":"left",sizeCss=o.vertical?"height":"width";var c=$(this),ul=$("ul",c),tLi=$("li",ul),tl=tLi.size(),v=o.visible;if(o.circular){ul.prepend(tLi.slice(tl-v-1+1).clone()).append(tLi.slice(0,v).clone());o.start+=v}var f=$("li",ul),itemLength=f.size(),curr=o.start;c.css("visibility","visible");f.css({overflow:"hidden",float:o.vertical?"none":"left"});ul.css({margin:"0",padding:"0",position:"relative","list-style-type":"none","z-index":"1"});c.css({overflow:"hidden",position:"relative","z-index":"2",left:"0px"});var g=o.vertical?height(f):width(f);var h=g*itemLength;var j=g*v;f.css({width:f.width(),height:f.height()});ul.css(sizeCss,h+"px").css(animCss,-(curr*g));c.css(sizeCss,j+"px");if(o.btnPrev)$(o.btnPrev).click(function(){return go(curr-o.scroll)});if(o.btnNext)$(o.btnNext).click(function(){return go(curr+o.scroll)});if(o.btnGo)$.each(o.btnGo,function(i,a){$(a).click(function(){return go(o.circular?o.visible+i:i)})});if(o.mouseWheel&&c.mousewheel)c.mousewheel(function(e,d){return d>0?go(curr-o.scroll):go(curr+o.scroll)});if(o.auto)setInterval(function(){go(curr+o.scroll)},o.auto+o.speed);function vis(){return f.slice(curr).slice(0,v)};function go(a){if(!b){if(o.beforeStart)o.beforeStart.call(this,vis());if(o.circular){if(a<=o.start-v-1){ul.css(animCss,-((itemLength-(v*2))*g)+"px");curr=a==o.start-v-1?itemLength-(v*2)-1:itemLength-(v*2)-o.scroll}else if(a>=itemLength-v+1){ul.css(animCss,-((v)*g)+"px");curr=a==itemLength-v+1?v+1:v+o.scroll}else curr=a}else{if(a<0||a>itemLength-v)return;else curr=a}b=true;ul.animate(animCss=="left"?{left:-(curr*g)}:{top:-(curr*g)},o.speed,o.easing,function(){if(o.afterEnd)o.afterEnd.call(this,vis());b=false});if(!o.circular){$(o.btnPrev+","+o.btnNext).removeClass("disabled");$((curr-o.scroll<0&&o.btnPrev)||(curr+o.scroll>itemLength-v&&o.btnNext)||[]).addClass("disabled")}}return false}})};function css(a,b){return parseInt($.css(a[0],b))||0};function width(a){return a[0].offsetWidth+css(a,'marginLeft')+css(a,'marginRight')};function height(a){return a[0].offsetHeight+css(a,'marginTop')+css(a,'marginBottom')}})(jQuery);(function(){var NAMESPACE='A3320',NETWORK_ID=3320,URL_TRACKING_ALLOWED=false,SITE_ID='0',LOG_URL=(location.protocol=="https:")?"https://www.econda-monitor.de/els/logging":"http://www.econda-monitor.de/els/logging",JUNK_SIZE=1600,PROTOKOLL_VERSION='2',CLIENT_COOKIE_LIFETIME=2592000,COOKIENAME_SESSION_ID="emos_jcsid",SESSION_COOKIES_DISABLED="NULL",COOKIENAME_VISITOR_ID="emos_jcvid",PERSISTENT_COOKIES_DISABLED="NULL",COOKIENAME_CAMPAIGN="emos_jckamp",COOKIE_DOMAIN=null,TRACK_FIRSTPARTY=true,TRACK_POSTCONVERSION=true,EVENT_MILLIS=200,TRACK_THIRD_PARTY=true,ca=0,ak,be=0,bk=1,bv=0,ah=1,bi,bh,bg=0,co=0,w,ev,at,ad,h=null,as=[],trackPageLoads=true;window[NAMESPACE]={};var fq=(window.encodeURIComponent)?window.encodeURIComponent:window.escape,f=function(s){try{if(window.decodeURIComponent){try{s=window.decodeURIComponent(s);}catch(e1){s=window.unescape(s);};}else s=window.unescape(s);}catch(e){};s=s.replace(/\+/g,' ');return s;};var en=function(submitData,requestId,y,m){var gl=Math.floor(submitData.length/JUNK_SIZE)+1,v=[];for(var i=0;i<gl;i++){v[i]={};v[i].v=PROTOKOLL_VERSION;v[i].emrid=requestId;if(TRACK_FIRSTPARTY==true){v[i].emsid=be;v[i].emvid=bv;};if(TRACK_THIRD_PARTY&&TRACK_POSTCONVERSION){var s=am(h);if(s.length>0){v[i].emcl=CLIENT_COOKIE_LIFETIME;v[i].emcc=s;};};v[i].emnc=gl;v[i].emtn=i+1;v[i].emhost=location.hostname;v[i].emkd=NETWORK_ID;v[i].advid=y;v[i].advr=m?1:0;if(TRACK_THIRD_PARTY){v[i].tpct=1;};v[i].d=submitData.substr(i*JUNK_SIZE,JUNK_SIZE);};return v;};var cz=function(){var a={},bs=[];z(a);if(!trackPageLoads)return;ag(l(a),ak,0);};var z=function(a){if(!a.content)a.content=document.title;w=new Date().getTime();ak=ac();cl();if(!trackPageLoads)return;o(a);k(a);if(TRACK_FIRSTPARTY&&!TRACK_THIRD_PARTY){a.sPI=bk;a.lhVt=(ad)?Math.floor(w-ad):"NULL";a.lhId=(at)?at:"NULL";a.vS=ah;if(bi)a.gf=bi;if(bh)a.recency=bh;a.vmon=bg/100;};};var o=function(a){a.host=location.host.substring(0,63);if(URL_TRACKING_ALLOWED)a.url=location.pathname.substring(0,254);var g='NULL',p='NULL';try{g=top.document.referrer;}catch(exception){g=document.referrer;};try{p=cc(g);g=cb(g);}catch(exception){;};a.ref=g;if(p!='NULL'){a.refUrl=p;};a.jv=navigator.javaEnabled()?1:0;a.swsh=screen.width+'x'+screen.height;a.siteid=SITE_ID;a.emosV='40pt';};var cc=function(au){var cu='NULL';try{var u=bu(au);if(u.url){cu=f(u.url);};}catch(exception){};cu=cu.substring(0,127);return cu;};var cb=function(au){try{if(au==null||au.length==0){au='http://unknown';};if(au.substr(0,4)!='http'){au='http://'+au;}else{var dv=au.split("/");au=dv[0]+'/'+dv[1]+'/'+dv[2];};}catch(exception){;};return au.substring(0,127);};var ag=function(dz,requestId,waitMillis){var y=window[NAMESPACE].advertiserId,m=window[NAMESPACE].advertiserRestricted;if(typeof y!='string'&&typeof y!='number')return;if(typeof m!='boolean')return;var dd=en(dz,requestId,y,m);for(var i=0;i<dd.length;i++){ca=ca+1;fh(dd[i],ca,waitMillis);};};var fh=function(a,count,waitMillis){var q=am(a),go=new Image();as[count]=go;go.onload=function(){as[count]=null;};go.src=LOG_URL+"?"+q;var aw=new Date().getTime()+waitMillis;while(new Date().getTime()<aw){};};var am=function(a){var q="";for(var dp in a){var t=typeof a[dp];if(t=="string"||t=="boolean"||t=="number"){if(q!="")q+="&";q+=dp+"="+fq(a[dp]);};};return q;};var bz=function(ab){var ae=ab.split("&"),a={};for(var j=0;j<ae.length;j++){var el=ae[j].split("=");a[el[0]]=f(el[1]);};return a;};var l=function(a){var q=[];for(var dp in a){if(q.length!=0)q[q.length]=28;q=q.concat(eh(dp),[31],ch(a[dp],29));};return fy(q);};var ch=function(value,separator){if(typeof value=="string")return eh(value);if(typeof value=="number"||value=="boolean")return eh(""+value);var dz=[];for(var i=0;i<value.length;i++){if(i!=0)dz[dz.length]=separator;dz=dz.concat(ch(value[i],30));};return dz;};var cl=function(){if(!TRACK_FIRSTPARTY){return;};var aq=true,value=bo(COOKIENAME_SESSION_ID);if(value&&value.length>0){var ae=value.split(":");if(ae.length==4){be=ae[0];bk=parseInt(ae[1])+1;at=ae[2];ad=parseInt(ae[3]);if(!isNaN(bk)&&!isNaN(ad)){aq=false;if(ad==0)ad=null;fz(COOKIENAME_SESSION_ID,be+":"+bk+":"+ak+":"+w);};};};if(aq){ad=null;at=null;var gn=ac(),ab=gn+":1:"+ak+":"+w;fz(COOKIENAME_SESSION_ID,ab);var cg=bo(COOKIENAME_SESSION_ID);if(ab==cg){be=gn;bk=1;aq=true;}else{be=SESSION_COOKIES_DISABLED;bk=-1;aq=false;};};var value=bo(COOKIENAME_VISITOR_ID);if(value&&value.length>0){var ae=value.split(":");if(ae.length==5){bv=ae[0];ah=parseInt(ae[1])+((aq)?1:0);var gf=ae[2],av=parseInt(ae[3]);if(aq){bi=gf;bh=w-av;av=w;}else{bi=null;bh=null;};bg=co;var cf=parseInt(ae[4]);if(!isNaN(cf))bg+=cf;if(!isNaN(ah)){fz(COOKIENAME_VISITOR_ID,bv+":"+ah+":"+be+":"+av+":"+bg,0x2fffffff);return;};};};var gm=be;bg=co;var ab=gm+":1:"+be+":"+w+":"+bg;fz(COOKIENAME_VISITOR_ID,ab,0x2fffffff);var cg=bo(COOKIENAME_VISITOR_ID);if(ab==cg){bv=gm;ah=1;}else{bv=PERSISTENT_COOKIES_DISABLED;ah=-1;};};var bo=function(cookieName){var bp=document.cookie.split(";");var length=cookieName.length;for(var i=0;i<bp.length;i++){var e=bp[i];if(e.charAt(0)==' ')e=e.substr(1);if(e.substr(0,length)==cookieName){var da=e.indexOf("=");if(da<0)continue;return e.substring(da+1);};};return null;};var fz=function(name,value,lifetime){var ai=name+"="+value+";path=/;";if(COOKIE_DOMAIN)ai=ai+"domain="+COOKIE_DOMAIN+";";if(lifetime)ai=ai+"max-age="+lifetime+";expires="+new Date(new Date().getTime()+lifetime*1000).toGMTString()+";";document.cookie=ai;};var dm=function(name){var ai=name+"=;path=/;max-age=0;";if(COOKIE_DOMAIN)ai=ai+"domain="+COOKIE_DOMAIN+";";document.cookie=ai;};var ac=function(){var ed=new Date().getTime(),es=ed&0xFFFFFFFF,er=(ed/0x100000000)&0xFFFFFFFF,b=[];b[b.length]=er>>>24;b[b.length]=er>>>16&0xFF;b[b.length]=er>>>8&0xFF;b[b.length]=er&0xFF;b[b.length]=es>>>24;b[b.length]=es>>>16&0xFF;b[b.length]=es>>>8&0xFF;b[b.length]=es&0xFF;for(var i=0;i<4;i++){var r=(0x100000000*Math.random())&0xFFFFFFFF;b[b.length]=r>>>24;b[b.length]=r>>>16&0xFF;b[b.length]=r>>>8&0xFF;b[b.length]=r&0xFF;};return fy(b);};var eh=function(t){var d=[],cm=String.fromCharCode(237);if(cm.charCodeAt(0)<0)for(var n=0;n<t.length;n++){var c=t.charCodeAt(n);if(c>0){if(c>=32){d[d.length]=c;}}else{d[d.length]=(((256+c)>>6)|192);d[d.length]=(((256+c)&63)|128);};}else for(var n=0;n<t.length;n++){var c=t.charCodeAt(n);if(c<128){if(c>=32){d[d.length]=c;}}else if((c>127)&&(c<2048)){d[d.length]=((c>>6)|192);d[d.length]=((c&63)|128);}else{d[d.length]=((c>>12)|224);d[d.length]=(((c>>6)&63)|128);d[d.length]=((c&63)|128);};};return d;};var eo=function(){var b64s='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789*_',b64=[];for(var i=0;i<b64s.length;i++){b64[i]=b64s.charAt(i);};ev=b64;};var fy=function(d){var b64=ev,r=[],i=0,dl=d.length;if((dl%3)==1){d[d.length]=0;d[d.length]=0;};if((dl%3)==2)d[d.length]=0;while(i<d.length){r[r.length]=b64[d[i]>>2];r[r.length]=b64[((d[i]&3)<<4)|(d[i+1]>>4)];r[r.length]=b64[((d[i+1]&15)<<2)|(d[i+2]>>6)];r[r.length]=b64[d[i+2]&63];i+=3;};if((dl%3)==1)r[r.length-1]=r[r.length-2]="";if((dl%3)==2)r[r.length-1]="";var t=r.join("");return t;};var k=function(a){var u,cw,ax="",dk=0;h={};try{u=bu(top.location.search);}catch(exception){u=bu(location.search);};try{cw=top.document.referrer;}catch(exception){cw=document.referrer;};var cv=cc(cw),ff=cb(cw);if(cv!='NULL'){dk=1;};var hasPubId=false,hasSeoPage=false,allChannelsActive=false,pubId=window[NAMESPACE].publisherId,seoPage=window[NAMESPACE].PageName,trackAllSources=window[NAMESPACE].trackAllChannels;if(typeof pubId=='string'||typeof pubId=='number')hasPubId=true;if(typeof seoPage=='string')hasSeoPage=true;if(typeof trackAllSources=='boolean'&&trackAllSources==true)allChannelsActive=true;if(cw.length<1||cw==null){ax='direct';}else{if(ck(ff)){ax='intern';}else{if((eg(cw,a)==true)||(ff.indexOf('images.google')>=0)){ax='suma';h.smqp=a.smqp;h.ref=ff;h.source=ax;if(hasPubId){h.pbid=pubId;};if(hasSeoPage){h.refUrl=seoPage.substring(0,254);}else{h.refUrl=location.href.substring(0,254);};}else{ax='ref';};};};if(ax!='suma'){if(!allChannelsActive&&hasPubId){trackPageLoads=false;}else{if(allChannelsActive){if(hasPubId){a.pbid=pubId;if(hasSeoPage){a.refUrl=seoPage.substring(0,254);}else{a.refUrl=location.href.substring(0,254);};};};};};a.osource=ax;a.source=ax;if(TRACK_FIRSTPARTY){var cq=ea();if(cq){for(var dp in cq){a[dp]=cq[dp];};};};};var ck=function(ff){return(ff.split("/")[2]==location.host);};var SEARCH_ENGINES=[["q","start",1],["p","b",1],["su","pageIndex",10],["query"],["qry_str"],["begriff"],["words"],["encquery"],["qt"],["terms"]],eg=function(au,a){var u;try{u=bu(au);}catch(e){return false;};var ref=au.toLowerCase();for(var i=0;i<SEARCH_ENGINES.length;i++){var az=u[SEARCH_ENGINES[i][0]];if(az){a.smqp=f(az);if(SEARCH_ENGINES[i].length==3){var da=parseInt(u[SEARCH_ENGINES[i][1]]);if(!isNaN(da))a.smstart=da*SEARCH_ENGINES[i][2];};return true;};};return false;};var ea=function(){var dw=bo(COOKIENAME_CAMPAIGN),fd=am(h);if(fd!=''){fz(COOKIENAME_CAMPAIGN,fd,CLIENT_COOKIE_LIFETIME);return h;}else{if(dw&&dw.length>0){var fc=bz(dw);if(fc.scnd&&fc.scnd=="1"){carriesSecondaryCookie=true;};fc.postconv="1";return fc;};};return null;};var an=function(){if(COOKIE_DOMAIN==null){var af=window.location.hostname.split('.'),al=af[af.length-1],gl=(al=='uk'||al=='tr'||al=='br'||(al=='at'&&af[af.length-2]=='co'))?3:2;if(isNaN(parseInt(al))&&af.length>=gl){COOKIE_DOMAIN='';for(var i=af.length-gl;i<af.length;i++){COOKIE_DOMAIN=COOKIE_DOMAIN+'.'+af[i];};}else{COOKIE_DOMAIN=window.location.hostname;};};};window[NAMESPACE].trackEvent=function(a){z(a);if(!trackPageLoads)return true;ag(l(a),ak,0);return true;};window[NAMESPACE].userEvent1=function(shortcut,value){var a={};z(a);if(!trackPageLoads)return true;a[shortcut]=value;ag(l(a),ak,EVENT_MILLIS);return true;};window[NAMESPACE].userEvent2=function(shortcut,value1,value2){var a={};z(a);if(!trackPageLoads)return true;a[shortcut]=[[value1,value2]];ag(l(a),ak,EVENT_MILLIS);return true;};window[NAMESPACE].targetEvent=function(tid,tlabel,covinfo){var a={};z(a);if(!trackPageLoads)return true;a.Target=[[tid,tlabel]];a.cGoal='1';ag(l(a),ak,EVENT_MILLIS);return true;};window[NAMESPACE].userEvent=function(type,param1,param2){var a={};z(a);if(!trackPageLoads)return true;a.uEvent=[[type,param1,param2]];ag(l(a),ak,EVENT_MILLIS);return true;};var bu=function(queryString){var da=queryString.indexOf('?');if(da>=0)queryString=queryString.substr(da+1);var du={},gc=queryString.split("&");for(var i=0;i<gc.length;i++){var aa=gc[i].split('=');if(aa[1])du[aa[0]]=aa[1];else du[aa[0]]='';};return du;};var gr=function(){an();eo();if(window.addEventListener){window.addEventListener("pageshow",function(event){if(event.persisted)cz();},false);};};gr();})();
//MooTools, My Object Oriented Javascript Tools. Copyright (c) 2006-2007 Valerio Proietti, <http://mad4milk.net>, MIT Style License.

var MooTools={version:"1.2.3",build:"4980aa0fb74d2f6eb80bcd9f5b8e1fd6fbb8f607"};var Native=function(k){k=k||{};var a=k.name;var i=k.legacy;var b=k.protect;
var c=k.implement;var h=k.generics;var f=k.initialize;var g=k.afterImplement||function(){};var d=f||i;h=h!==false;d.constructor=Native;d.$family={name:"native"};
if(i&&f){d.prototype=i.prototype;}d.prototype.constructor=d;if(a){var e=a.toLowerCase();d.prototype.$family={name:e};Native.typize(d,e);}var j=function(n,l,o,m){if(!b||m||!n.prototype[l]){n.prototype[l]=o;
}if(h){Native.genericize(n,l,b);}g.call(n,l,o);return n;};d.alias=function(n,l,p){if(typeof n=="string"){var o=this.prototype[n];if((n=o)){return j(this,l,n,p);
}}for(var m in n){this.alias(m,n[m],l);}return this;};d.implement=function(m,l,o){if(typeof m=="string"){return j(this,m,l,o);}for(var n in m){j(this,n,m[n],l);
}return this;};if(c){d.implement(c);}return d;};Native.genericize=function(b,c,a){if((!a||!b[c])&&typeof b.prototype[c]=="function"){b[c]=function(){var d=Array.prototype.slice.call(arguments);
return b.prototype[c].apply(d.shift(),d);};}};Native.implement=function(d,c){for(var b=0,a=d.length;b<a;b++){d[b].implement(c);}};Native.typize=function(a,b){if(!a.type){a.type=function(c){return($type(c)===b);
};}};(function(){var a={Array:Array,Date:Date,Function:Function,Number:Number,RegExp:RegExp,String:String};for(var h in a){new Native({name:h,initialize:a[h],protect:true});
}var d={"boolean":Boolean,"native":Native,object:Object};for(var c in d){Native.typize(d[c],c);}var f={Array:["concat","indexOf","join","lastIndexOf","pop","push","reverse","shift","slice","sort","splice","toString","unshift","valueOf"],String:["charAt","charCodeAt","concat","indexOf","lastIndexOf","match","replace","search","slice","split","substr","substring","toLowerCase","toUpperCase","valueOf"]};
for(var e in f){for(var b=f[e].length;b--;){Native.genericize(a[e],f[e][b],true);}}})();var Hash=new Native({name:"Hash",initialize:function(a){if($type(a)=="hash"){a=$unlink(a.getClean());
}for(var b in a){this[b]=a[b];}return this;}});Hash.implement({forEach:function(b,c){for(var a in this){if(this.hasOwnProperty(a)){b.call(c,this[a],a,this);
}}},getClean:function(){var b={};for(var a in this){if(this.hasOwnProperty(a)){b[a]=this[a];}}return b;},getLength:function(){var b=0;for(var a in this){if(this.hasOwnProperty(a)){b++;
}}return b;}});Hash.alias("forEach","each");Array.implement({forEach:function(c,d){for(var b=0,a=this.length;b<a;b++){c.call(d,this[b],b,this);}}});Array.alias("forEach","each");
function $A(b){if(b.item){var a=b.length,c=new Array(a);while(a--){c[a]=b[a];}return c;}return Array.prototype.slice.call(b);}function $arguments(a){return function(){return arguments[a];
};}function $chk(a){return !!(a||a===0);}function $clear(a){clearTimeout(a);clearInterval(a);return null;}function $defined(a){return(a!=undefined);}function $each(c,b,d){var a=$type(c);
((a=="arguments"||a=="collection"||a=="array")?Array:Hash).each(c,b,d);}function $empty(){}function $extend(c,a){for(var b in (a||{})){c[b]=a[b];}return c;
}function $H(a){return new Hash(a);}function $lambda(a){return($type(a)=="function")?a:function(){return a;};}function $merge(){var a=Array.slice(arguments);
a.unshift({});return $mixin.apply(null,a);}function $mixin(e){for(var d=1,a=arguments.length;d<a;d++){var b=arguments[d];if($type(b)!="object"){continue;
}for(var c in b){var g=b[c],f=e[c];e[c]=(f&&$type(g)=="object"&&$type(f)=="object")?$mixin(f,g):$unlink(g);}}return e;}function $pick(){for(var b=0,a=arguments.length;
b<a;b++){if(arguments[b]!=undefined){return arguments[b];}}return null;}function $random(b,a){return Math.floor(Math.random()*(a-b+1)+b);}function $splat(b){var a=$type(b);
return(a)?((a!="array"&&a!="arguments")?[b]:b):[];}var $time=Date.now||function(){return +new Date;};function $try(){for(var b=0,a=arguments.length;b<a;
b++){try{return arguments[b]();}catch(c){}}return null;}function $type(a){if(a==undefined){return false;}if(a.$family){return(a.$family.name=="number"&&!isFinite(a))?false:a.$family.name;
}if(a.nodeName){switch(a.nodeType){case 1:return"element";case 3:return(/\S/).test(a.nodeValue)?"textnode":"whitespace";}}else{if(typeof a.length=="number"){if(a.callee){return"arguments";
}else{if(a.item){return"collection";}}}}return typeof a;}function $unlink(c){var b;switch($type(c)){case"object":b={};for(var e in c){b[e]=$unlink(c[e]);
}break;case"hash":b=new Hash(c);break;case"array":b=[];for(var d=0,a=c.length;d<a;d++){b[d]=$unlink(c[d]);}break;default:return c;}return b;}var Browser=$merge({Engine:{name:"unknown",version:0},Platform:{name:(window.orientation!=undefined)?"ipod":(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase()},Features:{xpath:!!(document.evaluate),air:!!(window.runtime),query:!!(document.querySelector)},Plugins:{},Engines:{presto:function(){return(!window.opera)?false:((arguments.callee.caller)?960:((document.getElementsByClassName)?950:925));
},trident:function(){return(!window.ActiveXObject)?false:((window.XMLHttpRequest)?5:4);},webkit:function(){return(navigator.taintEnabled)?false:((Browser.Features.xpath)?((Browser.Features.query)?525:420):419);
},gecko:function(){return(document.getBoxObjectFor==undefined)?false:((document.getElementsByClassName)?19:18);}}},Browser||{});Browser.Platform[Browser.Platform.name]=true;
Browser.detect=function(){for(var b in this.Engines){var a=this.Engines[b]();if(a){this.Engine={name:b,version:a};this.Engine[b]=this.Engine[b+a]=true;
break;}}return{name:b,version:a};};Browser.detect();Browser.Request=function(){return $try(function(){return new XMLHttpRequest();},function(){return new ActiveXObject("MSXML2.XMLHTTP");
});};Browser.Features.xhr=!!(Browser.Request());Browser.Plugins.Flash=(function(){var a=($try(function(){return navigator.plugins["Shockwave Flash"].description;
},function(){return new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version");})||"0 r0").match(/\d+/g);return{version:parseInt(a[0]||0+"."+a[1],10)||0,build:parseInt(a[2],10)||0};
})();function $exec(b){if(!b){return b;}if(window.execScript){window.execScript(b);}else{var a=document.createElement("script");a.setAttribute("type","text/javascript");
a[(Browser.Engine.webkit&&Browser.Engine.version<420)?"innerText":"text"]=b;document.head.appendChild(a);document.head.removeChild(a);}return b;}Native.UID=1;
var $uid=(Browser.Engine.trident)?function(a){return(a.uid||(a.uid=[Native.UID++]))[0];}:function(a){return a.uid||(a.uid=Native.UID++);};var Window=new Native({name:"Window",legacy:(Browser.Engine.trident)?null:window.Window,initialize:function(a){$uid(a);
if(!a.Element){a.Element=$empty;if(Browser.Engine.webkit){a.document.createElement("iframe");}a.Element.prototype=(Browser.Engine.webkit)?window["[[DOMElement.prototype]]"]:{};
}a.document.window=a;return $extend(a,Window.Prototype);},afterImplement:function(b,a){window[b]=Window.Prototype[b]=a;}});Window.Prototype={$family:{name:"window"}};
new Window(window);var Document=new Native({name:"Document",legacy:(Browser.Engine.trident)?null:window.Document,initialize:function(a){$uid(a);a.head=a.getElementsByTagName("head")[0];
a.html=a.getElementsByTagName("html")[0];if(Browser.Engine.trident&&Browser.Engine.version<=4){$try(function(){a.execCommand("BackgroundImageCache",false,true);
});}if(Browser.Engine.trident){a.window.attachEvent("onunload",function(){a.window.detachEvent("onunload",arguments.callee);a.head=a.html=a.window=null;
});}return $extend(a,Document.Prototype);},afterImplement:function(b,a){document[b]=Document.Prototype[b]=a;}});Document.Prototype={$family:{name:"document"}};
new Document(document);Array.implement({every:function(c,d){for(var b=0,a=this.length;b<a;b++){if(!c.call(d,this[b],b,this)){return false;}}return true;
},filter:function(d,e){var c=[];for(var b=0,a=this.length;b<a;b++){if(d.call(e,this[b],b,this)){c.push(this[b]);}}return c;},clean:function(){return this.filter($defined);
},indexOf:function(c,d){var a=this.length;for(var b=(d<0)?Math.max(0,a+d):d||0;b<a;b++){if(this[b]===c){return b;}}return -1;},map:function(d,e){var c=[];
for(var b=0,a=this.length;b<a;b++){c[b]=d.call(e,this[b],b,this);}return c;},some:function(c,d){for(var b=0,a=this.length;b<a;b++){if(c.call(d,this[b],b,this)){return true;
}}return false;},associate:function(c){var d={},b=Math.min(this.length,c.length);for(var a=0;a<b;a++){d[c[a]]=this[a];}return d;},link:function(c){var a={};
for(var e=0,b=this.length;e<b;e++){for(var d in c){if(c[d](this[e])){a[d]=this[e];delete c[d];break;}}}return a;},contains:function(a,b){return this.indexOf(a,b)!=-1;
},extend:function(c){for(var b=0,a=c.length;b<a;b++){this.push(c[b]);}return this;},getLast:function(){return(this.length)?this[this.length-1]:null;},getRandom:function(){return(this.length)?this[$random(0,this.length-1)]:null;
},include:function(a){if(!this.contains(a)){this.push(a);}return this;},combine:function(c){for(var b=0,a=c.length;b<a;b++){this.include(c[b]);}return this;
},erase:function(b){for(var a=this.length;a--;a){if(this[a]===b){this.splice(a,1);}}return this;},empty:function(){this.length=0;return this;},flatten:function(){var d=[];
for(var b=0,a=this.length;b<a;b++){var c=$type(this[b]);if(!c){continue;}d=d.concat((c=="array"||c=="collection"||c=="arguments")?Array.flatten(this[b]):this[b]);
}return d;},hexToRgb:function(b){if(this.length!=3){return null;}var a=this.map(function(c){if(c.length==1){c+=c;}return c.toInt(16);});return(b)?a:"rgb("+a+")";
},rgbToHex:function(d){if(this.length<3){return null;}if(this.length==4&&this[3]==0&&!d){return"transparent";}var b=[];for(var a=0;a<3;a++){var c=(this[a]-0).toString(16);
b.push((c.length==1)?"0"+c:c);}return(d)?b:"#"+b.join("");}});Function.implement({extend:function(a){for(var b in a){this[b]=a[b];}return this;},create:function(b){var a=this;
b=b||{};return function(d){var c=b.arguments;c=(c!=undefined)?$splat(c):Array.slice(arguments,(b.event)?1:0);if(b.event){c=[d||window.event].extend(c);
}var e=function(){return a.apply(b.bind||null,c);};if(b.delay){return setTimeout(e,b.delay);}if(b.periodical){return setInterval(e,b.periodical);}if(b.attempt){return $try(e);
}return e();};},run:function(a,b){return this.apply(b,$splat(a));},pass:function(a,b){return this.create({bind:b,arguments:a});},bind:function(b,a){return this.create({bind:b,arguments:a});
},bindWithEvent:function(b,a){return this.create({bind:b,arguments:a,event:true});},attempt:function(a,b){return this.create({bind:b,arguments:a,attempt:true})();
},delay:function(b,c,a){return this.create({bind:c,arguments:a,delay:b})();},periodical:function(c,b,a){return this.create({bind:b,arguments:a,periodical:c})();
}});Number.implement({limit:function(b,a){return Math.min(a,Math.max(b,this));},round:function(a){a=Math.pow(10,a||0);return Math.round(this*a)/a;},times:function(b,c){for(var a=0;
a<this;a++){b.call(c,a,this);}},toFloat:function(){return parseFloat(this);},toInt:function(a){return parseInt(this,a||10);}});Number.alias("times","each");
(function(b){var a={};b.each(function(c){if(!Number[c]){a[c]=function(){return Math[c].apply(null,[this].concat($A(arguments)));};}});Number.implement(a);
})(["abs","acos","asin","atan","atan2","ceil","cos","exp","floor","log","max","min","pow","sin","sqrt","tan"]);String.implement({test:function(a,b){return((typeof a=="string")?new RegExp(a,b):a).test(this);
},contains:function(a,b){return(b)?(b+this+b).indexOf(b+a+b)>-1:this.indexOf(a)>-1;},trim:function(){return this.replace(/^\s+|\s+$/g,"");},clean:function(){return this.replace(/\s+/g," ").trim();
},camelCase:function(){return this.replace(/-\D/g,function(a){return a.charAt(1).toUpperCase();});},hyphenate:function(){return this.replace(/[A-Z]/g,function(a){return("-"+a.charAt(0).toLowerCase());
});},capitalize:function(){return this.replace(/\b[a-z]/g,function(a){return a.toUpperCase();});},escapeRegExp:function(){return this.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1");
},toInt:function(a){return parseInt(this,a||10);},toFloat:function(){return parseFloat(this);},hexToRgb:function(b){var a=this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);
return(a)?a.slice(1).hexToRgb(b):null;},rgbToHex:function(b){var a=this.match(/\d{1,3}/g);return(a)?a.rgbToHex(b):null;},stripScripts:function(b){var a="";
var c=this.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi,function(){a+=arguments[1]+"\n";return"";});if(b===true){$exec(a);}else{if($type(b)=="function"){b(a,c);
}}return c;},substitute:function(a,b){return this.replace(b||(/\\?\{([^{}]+)\}/g),function(d,c){if(d.charAt(0)=="\\"){return d.slice(1);}return(a[c]!=undefined)?a[c]:"";
});}});Hash.implement({has:Object.prototype.hasOwnProperty,keyOf:function(b){for(var a in this){if(this.hasOwnProperty(a)&&this[a]===b){return a;}}return null;
},hasValue:function(a){return(Hash.keyOf(this,a)!==null);},extend:function(a){Hash.each(a||{},function(c,b){Hash.set(this,b,c);},this);return this;},combine:function(a){Hash.each(a||{},function(c,b){Hash.include(this,b,c);
},this);return this;},erase:function(a){if(this.hasOwnProperty(a)){delete this[a];}return this;},get:function(a){return(this.hasOwnProperty(a))?this[a]:null;
},set:function(a,b){if(!this[a]||this.hasOwnProperty(a)){this[a]=b;}return this;},empty:function(){Hash.each(this,function(b,a){delete this[a];},this);
return this;},include:function(a,b){if(this[a]==undefined){this[a]=b;}return this;},map:function(b,c){var a=new Hash;Hash.each(this,function(e,d){a.set(d,b.call(c,e,d,this));
},this);return a;},filter:function(b,c){var a=new Hash;Hash.each(this,function(e,d){if(b.call(c,e,d,this)){a.set(d,e);}},this);return a;},every:function(b,c){for(var a in this){if(this.hasOwnProperty(a)&&!b.call(c,this[a],a)){return false;
}}return true;},some:function(b,c){for(var a in this){if(this.hasOwnProperty(a)&&b.call(c,this[a],a)){return true;}}return false;},getKeys:function(){var a=[];
Hash.each(this,function(c,b){a.push(b);});return a;},getValues:function(){var a=[];Hash.each(this,function(b){a.push(b);});return a;},toQueryString:function(a){var b=[];
Hash.each(this,function(f,e){if(a){e=a+"["+e+"]";}var d;switch($type(f)){case"object":d=Hash.toQueryString(f,e);break;case"array":var c={};f.each(function(h,g){c[g]=h;
});d=Hash.toQueryString(c,e);break;default:d=e+"="+encodeURIComponent(f);}if(f!=undefined){b.push(d);}});return b.join("&");}});Hash.alias({keyOf:"indexOf",hasValue:"contains"});
var Event=new Native({name:"Event",initialize:function(a,f){f=f||window;var k=f.document;a=a||f.event;if(a.$extended){return a;}this.$extended=true;var j=a.type;
var g=a.target||a.srcElement;while(g&&g.nodeType==3){g=g.parentNode;}if(j.test(/key/)){var b=a.which||a.keyCode;var m=Event.Keys.keyOf(b);if(j=="keydown"){var d=b-111;
if(d>0&&d<13){m="f"+d;}}m=m||String.fromCharCode(b).toLowerCase();}else{if(j.match(/(click|mouse|menu)/i)){k=(!k.compatMode||k.compatMode=="CSS1Compat")?k.html:k.body;
var i={x:a.pageX||a.clientX+k.scrollLeft,y:a.pageY||a.clientY+k.scrollTop};var c={x:(a.pageX)?a.pageX-f.pageXOffset:a.clientX,y:(a.pageY)?a.pageY-f.pageYOffset:a.clientY};
if(j.match(/DOMMouseScroll|mousewheel/)){var h=(a.wheelDelta)?a.wheelDelta/120:-(a.detail||0)/3;}var e=(a.which==3)||(a.button==2);var l=null;if(j.match(/over|out/)){switch(j){case"mouseover":l=a.relatedTarget||a.fromElement;
break;case"mouseout":l=a.relatedTarget||a.toElement;}if(!(function(){while(l&&l.nodeType==3){l=l.parentNode;}return true;}).create({attempt:Browser.Engine.gecko})()){l=false;
}}}}return $extend(this,{event:a,type:j,page:i,client:c,rightClick:e,wheel:h,relatedTarget:l,target:g,code:b,key:m,shift:a.shiftKey,control:a.ctrlKey,alt:a.altKey,meta:a.metaKey});
}});Event.Keys=new Hash({enter:13,up:38,down:40,left:37,right:39,esc:27,space:32,backspace:8,tab:9,"delete":46});Event.implement({stop:function(){return this.stopPropagation().preventDefault();
},stopPropagation:function(){if(this.event.stopPropagation){this.event.stopPropagation();}else{this.event.cancelBubble=true;}return this;},preventDefault:function(){if(this.event.preventDefault){this.event.preventDefault();
}else{this.event.returnValue=false;}return this;}});function Class(b){if(b instanceof Function){b={initialize:b};}var a=function(){Object.reset(this);if(a._prototyping){return this;
}this._current=$empty;var c=(this.initialize)?this.initialize.apply(this,arguments):this;delete this._current;delete this.caller;return c;}.extend(this);
a.implement(b);a.constructor=Class;a.prototype.constructor=a;return a;}Function.prototype.protect=function(){this._protected=true;return this;};Object.reset=function(a,c){if(c==null){for(var e in a){Object.reset(a,e);
}return a;}delete a[c];switch($type(a[c])){case"object":var d=function(){};d.prototype=a[c];var b=new d;a[c]=Object.reset(b);break;case"array":a[c]=$unlink(a[c]);
break;}return a;};new Native({name:"Class",initialize:Class}).extend({instantiate:function(b){b._prototyping=true;var a=new b;delete b._prototyping;return a;
},wrap:function(a,b,c){if(c._origin){c=c._origin;}return function(){if(c._protected&&this._current==null){throw new Error('The method "'+b+'" cannot be called.');
}var e=this.caller,f=this._current;this.caller=f;this._current=arguments.callee;var d=c.apply(this,arguments);this._current=f;this.caller=e;return d;}.extend({_owner:a,_origin:c,_name:b});
}});Class.implement({implement:function(a,d){if($type(a)=="object"){for(var e in a){this.implement(e,a[e]);}return this;}var f=Class.Mutators[a];if(f){d=f.call(this,d);
if(d==null){return this;}}var c=this.prototype;switch($type(d)){case"function":if(d._hidden){return this;}c[a]=Class.wrap(this,a,d);break;case"object":var b=c[a];
if($type(b)=="object"){$mixin(b,d);}else{c[a]=$unlink(d);}break;case"array":c[a]=$unlink(d);break;default:c[a]=d;}return this;}});Class.Mutators={Extends:function(a){this.parent=a;
this.prototype=Class.instantiate(a);this.implement("parent",function(){var b=this.caller._name,c=this.caller._owner.parent.prototype[b];if(!c){throw new Error('The method "'+b+'" has no parent.');
}return c.apply(this,arguments);}.protect());},Implements:function(a){$splat(a).each(function(b){if(b instanceof Function){b=Class.instantiate(b);}this.implement(b);
},this);}};var Chain=new Class({$chain:[],chain:function(){this.$chain.extend(Array.flatten(arguments));return this;},callChain:function(){return(this.$chain.length)?this.$chain.shift().apply(this,arguments):false;
},clearChain:function(){this.$chain.empty();return this;}});var Events=new Class({$events:{},addEvent:function(c,b,a){c=Events.removeOn(c);if(b!=$empty){this.$events[c]=this.$events[c]||[];
this.$events[c].include(b);if(a){b.internal=true;}}return this;},addEvents:function(a){for(var b in a){this.addEvent(b,a[b]);}return this;},fireEvent:function(c,b,a){c=Events.removeOn(c);
if(!this.$events||!this.$events[c]){return this;}this.$events[c].each(function(d){d.create({bind:this,delay:a,"arguments":b})();},this);return this;},removeEvent:function(b,a){b=Events.removeOn(b);
if(!this.$events[b]){return this;}if(!a.internal){this.$events[b].erase(a);}return this;},removeEvents:function(c){var d;if($type(c)=="object"){for(d in c){this.removeEvent(d,c[d]);
}return this;}if(c){c=Events.removeOn(c);}for(d in this.$events){if(c&&c!=d){continue;}var b=this.$events[d];for(var a=b.length;a--;a){this.removeEvent(d,b[a]);
}}return this;}});Events.removeOn=function(a){return a.replace(/^on([A-Z])/,function(b,c){return c.toLowerCase();});};var Options=new Class({setOptions:function(){this.options=$merge.run([this.options].extend(arguments));
if(!this.addEvent){return this;}for(var a in this.options){if($type(this.options[a])!="function"||!(/^on[A-Z]/).test(a)){continue;}this.addEvent(a,this.options[a]);
delete this.options[a];}return this;}});var Element=new Native({name:"Element",legacy:window.Element,initialize:function(a,b){var c=Element.Constructors.get(a);
if(c){return c(b);}if(typeof a=="string"){return document.newElement(a,b);}return document.id(a).set(b);},afterImplement:function(a,b){Element.Prototype[a]=b;
if(Array[a]){return;}Elements.implement(a,function(){var c=[],g=true;for(var e=0,d=this.length;e<d;e++){var f=this[e][a].apply(this[e],arguments);c.push(f);
if(g){g=($type(f)=="element");}}return(g)?new Elements(c):c;});}});Element.Prototype={$family:{name:"element"}};Element.Constructors=new Hash;var IFrame=new Native({name:"IFrame",generics:false,initialize:function(){var f=Array.link(arguments,{properties:Object.type,iframe:$defined});
var d=f.properties||{};var c=document.id(f.iframe);var e=d.onload||$empty;delete d.onload;d.id=d.name=$pick(d.id,d.name,c?(c.id||c.name):"IFrame_"+$time());
c=new Element(c||"iframe",d);var b=function(){var g=$try(function(){return c.contentWindow.location.host;});if(!g||g==window.location.host){var h=new Window(c.contentWindow);
new Document(c.contentWindow.document);$extend(h.Element.prototype,Element.Prototype);}e.call(c.contentWindow,c.contentWindow.document);};var a=$try(function(){return c.contentWindow;
});((a&&a.document.body)||window.frames[d.id])?b():c.addListener("load",b);return c;}});var Elements=new Native({initialize:function(f,b){b=$extend({ddup:true,cash:true},b);
f=f||[];if(b.ddup||b.cash){var g={},e=[];for(var c=0,a=f.length;c<a;c++){var d=document.id(f[c],!b.cash);if(b.ddup){if(g[d.uid]){continue;}g[d.uid]=true;
}e.push(d);}f=e;}return(b.cash)?$extend(f,this):f;}});Elements.implement({filter:function(a,b){if(!a){return this;}return new Elements(Array.filter(this,(typeof a=="string")?function(c){return c.match(a);
}:a,b));}});Document.implement({newElement:function(a,b){if(Browser.Engine.trident&&b){["name","type","checked"].each(function(c){if(!b[c]){return;}a+=" "+c+'="'+b[c]+'"';
if(c!="checked"){delete b[c];}});a="<"+a+">";}return document.id(this.createElement(a)).set(b);},newTextNode:function(a){return this.createTextNode(a);
},getDocument:function(){return this;},getWindow:function(){return this.window;},id:(function(){var a={string:function(d,c,b){d=b.getElementById(d);return(d)?a.element(d,c):null;
},element:function(b,e){$uid(b);if(!e&&!b.$family&&!(/^object|embed$/i).test(b.tagName)){var c=Element.Prototype;for(var d in c){b[d]=c[d];}}return b;},object:function(c,d,b){if(c.toElement){return a.element(c.toElement(b),d);
}return null;}};a.textnode=a.whitespace=a.window=a.document=$arguments(0);return function(c,e,d){if(c&&c.$family&&c.uid){return c;}var b=$type(c);return(a[b])?a[b](c,e,d||document):null;
};})()});if(window.$==null){Window.implement({$:function(a,b){return document.id(a,b,this.document);}});}Window.implement({$$:function(a){if(arguments.length==1&&typeof a=="string"){return this.document.getElements(a);
}var f=[];var c=Array.flatten(arguments);for(var d=0,b=c.length;d<b;d++){var e=c[d];switch($type(e)){case"element":f.push(e);break;case"string":f.extend(this.document.getElements(e,true));
}}return new Elements(f);},getDocument:function(){return this.document;},getWindow:function(){return this;}});Native.implement([Element,Document],{getElement:function(a,b){return document.id(this.getElements(a,true)[0]||null,b);
},getElements:function(a,d){a=a.split(",");var c=[];var b=(a.length>1);a.each(function(e){var f=this.getElementsByTagName(e.trim());(b)?c.extend(f):c=f;
},this);return new Elements(c,{ddup:b,cash:!d});}});(function(){var h={},f={};var i={input:"checked",option:"selected",textarea:(Browser.Engine.webkit&&Browser.Engine.version<420)?"innerHTML":"value"};
var c=function(l){return(f[l]||(f[l]={}));};var g=function(n,l){if(!n){return;}var m=n.uid;if(Browser.Engine.trident){if(n.clearAttributes){var q=l&&n.cloneNode(false);
n.clearAttributes();if(q){n.mergeAttributes(q);}}else{if(n.removeEvents){n.removeEvents();}}if((/object/i).test(n.tagName)){for(var o in n){if(typeof n[o]=="function"){n[o]=$empty;
}}Element.dispose(n);}}if(!m){return;}h[m]=f[m]=null;};var d=function(){Hash.each(h,g);if(Browser.Engine.trident){$A(document.getElementsByTagName("object")).each(g);
}if(window.CollectGarbage){CollectGarbage();}h=f=null;};var j=function(n,l,s,m,p,r){var o=n[s||l];var q=[];while(o){if(o.nodeType==1&&(!m||Element.match(o,m))){if(!p){return document.id(o,r);
}q.push(o);}o=o[l];}return(p)?new Elements(q,{ddup:false,cash:!r}):null;};var e={html:"innerHTML","class":"className","for":"htmlFor",defaultValue:"defaultValue",text:(Browser.Engine.trident||(Browser.Engine.webkit&&Browser.Engine.version<420))?"innerText":"textContent"};
var b=["compact","nowrap","ismap","declare","noshade","checked","disabled","readonly","multiple","selected","noresize","defer"];var k=["value","type","defaultValue","accessKey","cellPadding","cellSpacing","colSpan","frameBorder","maxLength","readOnly","rowSpan","tabIndex","useMap"];
b=b.associate(b);Hash.extend(e,b);Hash.extend(e,k.associate(k.map(String.toLowerCase)));var a={before:function(m,l){if(l.parentNode){l.parentNode.insertBefore(m,l);
}},after:function(m,l){if(!l.parentNode){return;}var n=l.nextSibling;(n)?l.parentNode.insertBefore(m,n):l.parentNode.appendChild(m);},bottom:function(m,l){l.appendChild(m);
},top:function(m,l){var n=l.firstChild;(n)?l.insertBefore(m,n):l.appendChild(m);}};a.inside=a.bottom;Hash.each(a,function(l,m){m=m.capitalize();Element.implement("inject"+m,function(n){l(this,document.id(n,true));
return this;});Element.implement("grab"+m,function(n){l(document.id(n,true),this);return this;});});Element.implement({set:function(o,m){switch($type(o)){case"object":for(var n in o){this.set(n,o[n]);
}break;case"string":var l=Element.Properties.get(o);(l&&l.set)?l.set.apply(this,Array.slice(arguments,1)):this.setProperty(o,m);}return this;},get:function(m){var l=Element.Properties.get(m);
return(l&&l.get)?l.get.apply(this,Array.slice(arguments,1)):this.getProperty(m);},erase:function(m){var l=Element.Properties.get(m);(l&&l.erase)?l.erase.apply(this):this.removeProperty(m);
return this;},setProperty:function(m,n){var l=e[m];if(n==undefined){return this.removeProperty(m);}if(l&&b[m]){n=!!n;}(l)?this[l]=n:this.setAttribute(m,""+n);
return this;},setProperties:function(l){for(var m in l){this.setProperty(m,l[m]);}return this;},getProperty:function(m){var l=e[m];var n=(l)?this[l]:this.getAttribute(m,2);
return(b[m])?!!n:(l)?n:n||null;},getProperties:function(){var l=$A(arguments);return l.map(this.getProperty,this).associate(l);},removeProperty:function(m){var l=e[m];
(l)?this[l]=(l&&b[m])?false:"":this.removeAttribute(m);return this;},removeProperties:function(){Array.each(arguments,this.removeProperty,this);return this;
},hasClass:function(l){return this.className.contains(l," ");},addClass:function(l){if(!this.hasClass(l)){this.className=(this.className+" "+l).clean();
}return this;},removeClass:function(l){this.className=this.className.replace(new RegExp("(^|\\s)"+l+"(?:\\s|$)"),"$1");return this;},toggleClass:function(l){return this.hasClass(l)?this.removeClass(l):this.addClass(l);
},adopt:function(){Array.flatten(arguments).each(function(l){l=document.id(l,true);if(l){this.appendChild(l);}},this);return this;},appendText:function(m,l){return this.grab(this.getDocument().newTextNode(m),l);
},grab:function(m,l){a[l||"bottom"](document.id(m,true),this);return this;},inject:function(m,l){a[l||"bottom"](this,document.id(m,true));return this;},replaces:function(l){l=document.id(l,true);
l.parentNode.replaceChild(this,l);return this;},wraps:function(m,l){m=document.id(m,true);return this.replaces(m).grab(m,l);},getPrevious:function(l,m){return j(this,"previousSibling",null,l,false,m);
},getAllPrevious:function(l,m){return j(this,"previousSibling",null,l,true,m);},getNext:function(l,m){return j(this,"nextSibling",null,l,false,m);},getAllNext:function(l,m){return j(this,"nextSibling",null,l,true,m);
},getFirst:function(l,m){return j(this,"nextSibling","firstChild",l,false,m);},getLast:function(l,m){return j(this,"previousSibling","lastChild",l,false,m);
},getParent:function(l,m){return j(this,"parentNode",null,l,false,m);},getParents:function(l,m){return j(this,"parentNode",null,l,true,m);},getSiblings:function(l,m){return this.getParent().getChildren(l,m).erase(this);
},getChildren:function(l,m){return j(this,"nextSibling","firstChild",l,true,m);},getWindow:function(){return this.ownerDocument.window;},getDocument:function(){return this.ownerDocument;
},getElementById:function(o,n){var m=this.ownerDocument.getElementById(o);if(!m){return null;}for(var l=m.parentNode;l!=this;l=l.parentNode){if(!l){return null;
}}return document.id(m,n);},getSelected:function(){return new Elements($A(this.options).filter(function(l){return l.selected;}));},getComputedStyle:function(m){if(this.currentStyle){return this.currentStyle[m.camelCase()];
}var l=this.getDocument().defaultView.getComputedStyle(this,null);return(l)?l.getPropertyValue([m.hyphenate()]):null;},toQueryString:function(){var l=[];
this.getElements("input, select, textarea",true).each(function(m){if(!m.name||m.disabled||m.type=="submit"||m.type=="reset"||m.type=="file"){return;}var n=(m.tagName.toLowerCase()=="select")?Element.getSelected(m).map(function(o){return o.value;
}):((m.type=="radio"||m.type=="checkbox")&&!m.checked)?null:m.value;$splat(n).each(function(o){if(typeof o!="undefined"){l.push(m.name+"="+encodeURIComponent(o));
}});});return l.join("&");},clone:function(o,l){o=o!==false;var r=this.cloneNode(o);var n=function(v,u){if(!l){v.removeAttribute("id");}if(Browser.Engine.trident){v.clearAttributes();
v.mergeAttributes(u);v.removeAttribute("uid");if(v.options){var w=v.options,s=u.options;for(var t=w.length;t--;){w[t].selected=s[t].selected;}}}var x=i[u.tagName.toLowerCase()];
if(x&&u[x]){v[x]=u[x];}};if(o){var p=r.getElementsByTagName("*"),q=this.getElementsByTagName("*");for(var m=p.length;m--;){n(p[m],q[m]);}}n(r,this);return document.id(r);
},destroy:function(){Element.empty(this);Element.dispose(this);g(this,true);return null;},empty:function(){$A(this.childNodes).each(function(l){Element.destroy(l);
});return this;},dispose:function(){return(this.parentNode)?this.parentNode.removeChild(this):this;},hasChild:function(l){l=document.id(l,true);if(!l){return false;
}if(Browser.Engine.webkit&&Browser.Engine.version<420){return $A(this.getElementsByTagName(l.tagName)).contains(l);}return(this.contains)?(this!=l&&this.contains(l)):!!(this.compareDocumentPosition(l)&16);
},match:function(l){return(!l||(l==this)||(Element.get(this,"tag")==l));}});Native.implement([Element,Window,Document],{addListener:function(o,n){if(o=="unload"){var l=n,m=this;
n=function(){m.removeListener("unload",n);l();};}else{h[this.uid]=this;}if(this.addEventListener){this.addEventListener(o,n,false);}else{this.attachEvent("on"+o,n);
}return this;},removeListener:function(m,l){if(this.removeEventListener){this.removeEventListener(m,l,false);}else{this.detachEvent("on"+m,l);}return this;
},retrieve:function(m,l){var o=c(this.uid),n=o[m];if(l!=undefined&&n==undefined){n=o[m]=l;}return $pick(n);},store:function(m,l){var n=c(this.uid);n[m]=l;
return this;},eliminate:function(l){var m=c(this.uid);delete m[l];return this;}});window.addListener("unload",d);})();Element.Properties=new Hash;Element.Properties.style={set:function(a){this.style.cssText=a;
},get:function(){return this.style.cssText;},erase:function(){this.style.cssText="";}};Element.Properties.tag={get:function(){return this.tagName.toLowerCase();
}};Element.Properties.html=(function(){var c=document.createElement("div");var a={table:[1,"<table>","</table>"],select:[1,"<select>","</select>"],tbody:[2,"<table><tbody>","</tbody></table>"],tr:[3,"<table><tbody><tr>","</tr></tbody></table>"]};
a.thead=a.tfoot=a.tbody;var b={set:function(){var e=Array.flatten(arguments).join("");var f=Browser.Engine.trident&&a[this.get("tag")];if(f){var g=c;g.innerHTML=f[1]+e+f[2];
for(var d=f[0];d--;){g=g.firstChild;}this.empty().adopt(g.childNodes);}else{this.innerHTML=e;}}};b.erase=b.set;return b;})();if(Browser.Engine.webkit&&Browser.Engine.version<420){Element.Properties.text={get:function(){if(this.innerText){return this.innerText;
}var a=this.ownerDocument.newElement("div",{html:this.innerHTML}).inject(this.ownerDocument.body);var b=a.innerText;a.destroy();return b;}};}Element.Properties.events={set:function(a){this.addEvents(a);
}};Native.implement([Element,Window,Document],{addEvent:function(e,g){var h=this.retrieve("events",{});h[e]=h[e]||{keys:[],values:[]};if(h[e].keys.contains(g)){return this;
}h[e].keys.push(g);var f=e,a=Element.Events.get(e),c=g,i=this;if(a){if(a.onAdd){a.onAdd.call(this,g);}if(a.condition){c=function(j){if(a.condition.call(this,j)){return g.call(this,j);
}return true;};}f=a.base||f;}var d=function(){return g.call(i);};var b=Element.NativeEvents[f];if(b){if(b==2){d=function(j){j=new Event(j,i.getWindow());
if(c.call(i,j)===false){j.stop();}};}this.addListener(f,d);}h[e].values.push(d);return this;},removeEvent:function(c,b){var a=this.retrieve("events");if(!a||!a[c]){return this;
}var f=a[c].keys.indexOf(b);if(f==-1){return this;}a[c].keys.splice(f,1);var e=a[c].values.splice(f,1)[0];var d=Element.Events.get(c);if(d){if(d.onRemove){d.onRemove.call(this,b);
}c=d.base||c;}return(Element.NativeEvents[c])?this.removeListener(c,e):this;},addEvents:function(a){for(var b in a){this.addEvent(b,a[b]);}return this;
},removeEvents:function(a){var c;if($type(a)=="object"){for(c in a){this.removeEvent(c,a[c]);}return this;}var b=this.retrieve("events");if(!b){return this;
}if(!a){for(c in b){this.removeEvents(c);}this.eliminate("events");}else{if(b[a]){while(b[a].keys[0]){this.removeEvent(a,b[a].keys[0]);}b[a]=null;}}return this;
},fireEvent:function(d,b,a){var c=this.retrieve("events");if(!c||!c[d]){return this;}c[d].keys.each(function(e){e.create({bind:this,delay:a,"arguments":b})();
},this);return this;},cloneEvents:function(d,a){d=document.id(d);var c=d.retrieve("events");if(!c){return this;}if(!a){for(var b in c){this.cloneEvents(d,b);
}}else{if(c[a]){c[a].keys.each(function(e){this.addEvent(a,e);},this);}}return this;}});Element.NativeEvents={click:2,dblclick:2,mouseup:2,mousedown:2,contextmenu:2,mousewheel:2,DOMMouseScroll:2,mouseover:2,mouseout:2,mousemove:2,selectstart:2,selectend:2,keydown:2,keypress:2,keyup:2,focus:2,blur:2,change:2,reset:2,select:2,submit:2,load:1,unload:1,beforeunload:2,resize:1,move:1,DOMContentLoaded:1,readystatechange:1,error:1,abort:1,scroll:1};
(function(){var a=function(b){var c=b.relatedTarget;if(c==undefined){return true;}if(c===false){return false;}return($type(this)!="document"&&c!=this&&c.prefix!="xul"&&!this.hasChild(c));
};Element.Events=new Hash({mouseenter:{base:"mouseover",condition:a},mouseleave:{base:"mouseout",condition:a},mousewheel:{base:(Browser.Engine.gecko)?"DOMMouseScroll":"mousewheel"}});
})();Element.Properties.styles={set:function(a){this.setStyles(a);}};Element.Properties.opacity={set:function(a,b){if(!b){if(a==0){if(this.style.visibility!="hidden"){this.style.visibility="hidden";
}}else{if(this.style.visibility!="visible"){this.style.visibility="visible";}}}if(!this.currentStyle||!this.currentStyle.hasLayout){this.style.zoom=1;}if(Browser.Engine.trident){this.style.filter=(a==1)?"":"alpha(opacity="+a*100+")";
}this.style.opacity=a;this.store("opacity",a);},get:function(){return this.retrieve("opacity",1);}};Element.implement({setOpacity:function(a){return this.set("opacity",a,true);
},getOpacity:function(){return this.get("opacity");},setStyle:function(b,a){switch(b){case"opacity":return this.set("opacity",parseFloat(a));case"float":b=(Browser.Engine.trident)?"styleFloat":"cssFloat";
}b=b.camelCase();if($type(a)!="string"){var c=(Element.Styles.get(b)||"@").split(" ");a=$splat(a).map(function(e,d){if(!c[d]){return"";}return($type(e)=="number")?c[d].replace("@",Math.round(e)):e;
}).join(" ");}else{if(a==String(Number(a))){a=Math.round(a);}}this.style[b]=a;return this;},getStyle:function(g){switch(g){case"opacity":return this.get("opacity");
case"float":g=(Browser.Engine.trident)?"styleFloat":"cssFloat";}g=g.camelCase();var a=this.style[g];if(!$chk(a)){a=[];for(var f in Element.ShortStyles){if(g!=f){continue;
}for(var e in Element.ShortStyles[f]){a.push(this.getStyle(e));}return a.join(" ");}a=this.getComputedStyle(g);}if(a){a=String(a);var c=a.match(/rgba?\([\d\s,]+\)/);
if(c){a=a.replace(c[0],c[0].rgbToHex());}}if(Browser.Engine.presto||(Browser.Engine.trident&&!$chk(parseInt(a,10)))){if(g.test(/^(height|width)$/)){var b=(g=="width")?["left","right"]:["top","bottom"],d=0;
b.each(function(h){d+=this.getStyle("border-"+h+"-width").toInt()+this.getStyle("padding-"+h).toInt();},this);return this["offset"+g.capitalize()]-d+"px";
}if((Browser.Engine.presto)&&String(a).test("px")){return a;}if(g.test(/(border(.+)Width|margin|padding)/)){return"0px";}}return a;},setStyles:function(b){for(var a in b){this.setStyle(a,b[a]);
}return this;},getStyles:function(){var a={};Array.flatten(arguments).each(function(b){a[b]=this.getStyle(b);},this);return a;}});Element.Styles=new Hash({left:"@px",top:"@px",bottom:"@px",right:"@px",width:"@px",height:"@px",maxWidth:"@px",maxHeight:"@px",minWidth:"@px",minHeight:"@px",backgroundColor:"rgb(@, @, @)",backgroundPosition:"@px @px",color:"rgb(@, @, @)",fontSize:"@px",letterSpacing:"@px",lineHeight:"@px",clip:"rect(@px @px @px @px)",margin:"@px @px @px @px",padding:"@px @px @px @px",border:"@px @ rgb(@, @, @) @px @ rgb(@, @, @) @px @ rgb(@, @, @)",borderWidth:"@px @px @px @px",borderStyle:"@ @ @ @",borderColor:"rgb(@, @, @) rgb(@, @, @) rgb(@, @, @) rgb(@, @, @)",zIndex:"@",zoom:"@",fontWeight:"@",textIndent:"@px",opacity:"@"});
Element.ShortStyles={margin:{},padding:{},border:{},borderWidth:{},borderStyle:{},borderColor:{}};["Top","Right","Bottom","Left"].each(function(g){var f=Element.ShortStyles;
var b=Element.Styles;["margin","padding"].each(function(h){var i=h+g;f[h][i]=b[i]="@px";});var e="border"+g;f.border[e]=b[e]="@px @ rgb(@, @, @)";var d=e+"Width",a=e+"Style",c=e+"Color";
f[e]={};f.borderWidth[d]=f[e][d]=b[d]="@px";f.borderStyle[a]=f[e][a]=b[a]="@";f.borderColor[c]=f[e][c]=b[c]="rgb(@, @, @)";});(function(){Element.implement({scrollTo:function(h,i){if(b(this)){this.getWindow().scrollTo(h,i);
}else{this.scrollLeft=h;this.scrollTop=i;}return this;},getSize:function(){if(b(this)){return this.getWindow().getSize();}return{x:this.offsetWidth,y:this.offsetHeight};
},getScrollSize:function(){if(b(this)){return this.getWindow().getScrollSize();}return{x:this.scrollWidth,y:this.scrollHeight};},getScroll:function(){if(b(this)){return this.getWindow().getScroll();
}return{x:this.scrollLeft,y:this.scrollTop};},getScrolls:function(){var i=this,h={x:0,y:0};while(i&&!b(i)){h.x+=i.scrollLeft;h.y+=i.scrollTop;i=i.parentNode;
}return h;},getOffsetParent:function(){var h=this;if(b(h)){return null;}if(!Browser.Engine.trident){return h.offsetParent;}while((h=h.parentNode)&&!b(h)){if(d(h,"position")!="static"){return h;
}}return null;},getOffsets:function(){if(this.getBoundingClientRect){var m=this.getBoundingClientRect(),k=document.id(this.getDocument().documentElement),i=k.getScroll(),n=(d(this,"position")=="fixed");
return{x:parseInt(m.left,10)+((n)?0:i.x)-k.clientLeft,y:parseInt(m.top,10)+((n)?0:i.y)-k.clientTop};}var j=this,h={x:0,y:0};if(b(this)){return h;}while(j&&!b(j)){h.x+=j.offsetLeft;
h.y+=j.offsetTop;if(Browser.Engine.gecko){if(!f(j)){h.x+=c(j);h.y+=g(j);}var l=j.parentNode;if(l&&d(l,"overflow")!="visible"){h.x+=c(l);h.y+=g(l);}}else{if(j!=this&&Browser.Engine.webkit){h.x+=c(j);
h.y+=g(j);}}j=j.offsetParent;}if(Browser.Engine.gecko&&!f(this)){h.x-=c(this);h.y-=g(this);}return h;},getPosition:function(k){if(b(this)){return{x:0,y:0};
}var l=this.getOffsets(),i=this.getScrolls();var h={x:l.x-i.x,y:l.y-i.y};var j=(k&&(k=document.id(k)))?k.getPosition():{x:0,y:0};return{x:h.x-j.x,y:h.y-j.y};
},getCoordinates:function(j){if(b(this)){return this.getWindow().getCoordinates();}var h=this.getPosition(j),i=this.getSize();var k={left:h.x,top:h.y,width:i.x,height:i.y};
k.right=k.left+k.width;k.bottom=k.top+k.height;return k;},computePosition:function(h){return{left:h.x-e(this,"margin-left"),top:h.y-e(this,"margin-top")};
},setPosition:function(h){return this.setStyles(this.computePosition(h));}});Native.implement([Document,Window],{getSize:function(){if(Browser.Engine.presto||Browser.Engine.webkit){var i=this.getWindow();
return{x:i.innerWidth,y:i.innerHeight};}var h=a(this);return{x:h.clientWidth,y:h.clientHeight};},getScroll:function(){var i=this.getWindow(),h=a(this);
return{x:i.pageXOffset||h.scrollLeft,y:i.pageYOffset||h.scrollTop};},getScrollSize:function(){var i=a(this),h=this.getSize();return{x:Math.max(i.scrollWidth,h.x),y:Math.max(i.scrollHeight,h.y)};
},getPosition:function(){return{x:0,y:0};},getCoordinates:function(){var h=this.getSize();return{top:0,left:0,bottom:h.y,right:h.x,height:h.y,width:h.x};
}});var d=Element.getComputedStyle;function e(h,i){return d(h,i).toInt()||0;}function f(h){return d(h,"-moz-box-sizing")=="border-box";}function g(h){return e(h,"border-top-width");
}function c(h){return e(h,"border-left-width");}function b(h){return(/^(?:body|html)$/i).test(h.tagName);}function a(h){var i=h.getDocument();return(!i.compatMode||i.compatMode=="CSS1Compat")?i.html:i.body;
}})();Element.alias("setPosition","position");Native.implement([Window,Document,Element],{getHeight:function(){return this.getSize().y;},getWidth:function(){return this.getSize().x;
},getScrollTop:function(){return this.getScroll().y;},getScrollLeft:function(){return this.getScroll().x;},getScrollHeight:function(){return this.getScrollSize().y;
},getScrollWidth:function(){return this.getScrollSize().x;},getTop:function(){return this.getPosition().y;},getLeft:function(){return this.getPosition().x;
}});Native.implement([Document,Element],{getElements:function(h,g){h=h.split(",");var c,e={};for(var d=0,b=h.length;d<b;d++){var a=h[d],f=Selectors.Utils.search(this,a,e);
if(d!=0&&f.item){f=$A(f);}c=(d==0)?f:(c.item)?$A(c).concat(f):c.concat(f);}return new Elements(c,{ddup:(h.length>1),cash:!g});}});Element.implement({match:function(b){if(!b||(b==this)){return true;
}var d=Selectors.Utils.parseTagAndID(b);var a=d[0],e=d[1];if(!Selectors.Filters.byID(this,e)||!Selectors.Filters.byTag(this,a)){return false;}var c=Selectors.Utils.parseSelector(b);
return(c)?Selectors.Utils.filter(this,c,{}):true;}});var Selectors={Cache:{nth:{},parsed:{}}};Selectors.RegExps={id:(/#([\w-]+)/),tag:(/^(\w+|\*)/),quick:(/^(\w+|\*)$/),splitter:(/\s*([+>~\s])\s*([a-zA-Z#.*:\[])/g),combined:(/\.([\w-]+)|\[(\w+)(?:([!*^$~|]?=)(["']?)([^\4]*?)\4)?\]|:([\w-]+)(?:\(["']?(.*?)?["']?\)|$)/g)};
Selectors.Utils={chk:function(b,c){if(!c){return true;}var a=$uid(b);if(!c[a]){return c[a]=true;}return false;},parseNthArgument:function(h){if(Selectors.Cache.nth[h]){return Selectors.Cache.nth[h];
}var e=h.match(/^([+-]?\d*)?([a-z]+)?([+-]?\d*)?$/);if(!e){return false;}var g=parseInt(e[1],10);var d=(g||g===0)?g:1;var f=e[2]||false;var c=parseInt(e[3],10)||0;
if(d!=0){c--;while(c<1){c+=d;}while(c>=d){c-=d;}}else{d=c;f="index";}switch(f){case"n":e={a:d,b:c,special:"n"};break;case"odd":e={a:2,b:0,special:"n"};
break;case"even":e={a:2,b:1,special:"n"};break;case"first":e={a:0,special:"index"};break;case"last":e={special:"last-child"};break;case"only":e={special:"only-child"};
break;default:e={a:(d-1),special:"index"};}return Selectors.Cache.nth[h]=e;},parseSelector:function(e){if(Selectors.Cache.parsed[e]){return Selectors.Cache.parsed[e];
}var d,h={classes:[],pseudos:[],attributes:[]};while((d=Selectors.RegExps.combined.exec(e))){var i=d[1],g=d[2],f=d[3],b=d[5],c=d[6],j=d[7];if(i){h.classes.push(i);
}else{if(c){var a=Selectors.Pseudo.get(c);if(a){h.pseudos.push({parser:a,argument:j});}else{h.attributes.push({name:c,operator:"=",value:j});}}else{if(g){h.attributes.push({name:g,operator:f,value:b});
}}}}if(!h.classes.length){delete h.classes;}if(!h.attributes.length){delete h.attributes;}if(!h.pseudos.length){delete h.pseudos;}if(!h.classes&&!h.attributes&&!h.pseudos){h=null;
}return Selectors.Cache.parsed[e]=h;},parseTagAndID:function(b){var a=b.match(Selectors.RegExps.tag);var c=b.match(Selectors.RegExps.id);return[(a)?a[1]:"*",(c)?c[1]:false];
},filter:function(f,c,e){var d;if(c.classes){for(d=c.classes.length;d--;d){var g=c.classes[d];if(!Selectors.Filters.byClass(f,g)){return false;}}}if(c.attributes){for(d=c.attributes.length;
d--;d){var b=c.attributes[d];if(!Selectors.Filters.byAttribute(f,b.name,b.operator,b.value)){return false;}}}if(c.pseudos){for(d=c.pseudos.length;d--;d){var a=c.pseudos[d];
if(!Selectors.Filters.byPseudo(f,a.parser,a.argument,e)){return false;}}}return true;},getByTagAndID:function(b,a,d){if(d){var c=(b.getElementById)?b.getElementById(d,true):Element.getElementById(b,d,true);
return(c&&Selectors.Filters.byTag(c,a))?[c]:[];}else{return b.getElementsByTagName(a);}},search:function(o,h,t){var b=[];var c=h.trim().replace(Selectors.RegExps.splitter,function(k,j,i){b.push(j);
return":)"+i;}).split(":)");var p,e,A;for(var z=0,v=c.length;z<v;z++){var y=c[z];if(z==0&&Selectors.RegExps.quick.test(y)){p=o.getElementsByTagName(y);
continue;}var a=b[z-1];var q=Selectors.Utils.parseTagAndID(y);var B=q[0],r=q[1];if(z==0){p=Selectors.Utils.getByTagAndID(o,B,r);}else{var d={},g=[];for(var x=0,w=p.length;
x<w;x++){g=Selectors.Getters[a](g,p[x],B,r,d);}p=g;}var f=Selectors.Utils.parseSelector(y);if(f){e=[];for(var u=0,s=p.length;u<s;u++){A=p[u];if(Selectors.Utils.filter(A,f,t)){e.push(A);
}}p=e;}}return p;}};Selectors.Getters={" ":function(h,g,j,a,e){var d=Selectors.Utils.getByTagAndID(g,j,a);for(var c=0,b=d.length;c<b;c++){var f=d[c];if(Selectors.Utils.chk(f,e)){h.push(f);
}}return h;},">":function(h,g,j,a,f){var c=Selectors.Utils.getByTagAndID(g,j,a);for(var e=0,d=c.length;e<d;e++){var b=c[e];if(b.parentNode==g&&Selectors.Utils.chk(b,f)){h.push(b);
}}return h;},"+":function(c,b,a,e,d){while((b=b.nextSibling)){if(b.nodeType==1){if(Selectors.Utils.chk(b,d)&&Selectors.Filters.byTag(b,a)&&Selectors.Filters.byID(b,e)){c.push(b);
}break;}}return c;},"~":function(c,b,a,e,d){while((b=b.nextSibling)){if(b.nodeType==1){if(!Selectors.Utils.chk(b,d)){break;}if(Selectors.Filters.byTag(b,a)&&Selectors.Filters.byID(b,e)){c.push(b);
}}}return c;}};Selectors.Filters={byTag:function(b,a){return(a=="*"||(b.tagName&&b.tagName.toLowerCase()==a));},byID:function(a,b){return(!b||(a.id&&a.id==b));
},byClass:function(b,a){return(b.className&&b.className.contains(a," "));},byPseudo:function(a,d,c,b){return d.call(a,c,b);},byAttribute:function(c,d,b,e){var a=Element.prototype.getProperty.call(c,d);
if(!a){return(b=="!=");}if(!b||e==undefined){return true;}switch(b){case"=":return(a==e);case"*=":return(a.contains(e));case"^=":return(a.substr(0,e.length)==e);
case"$=":return(a.substr(a.length-e.length)==e);case"!=":return(a!=e);case"~=":return a.contains(e," ");case"|=":return a.contains(e,"-");}return false;
}};Selectors.Pseudo=new Hash({checked:function(){return this.checked;},empty:function(){return !(this.innerText||this.textContent||"").length;},not:function(a){return !Element.match(this,a);
},contains:function(a){return(this.innerText||this.textContent||"").contains(a);},"first-child":function(){return Selectors.Pseudo.index.call(this,0);},"last-child":function(){var a=this;
while((a=a.nextSibling)){if(a.nodeType==1){return false;}}return true;},"only-child":function(){var b=this;while((b=b.previousSibling)){if(b.nodeType==1){return false;
}}var a=this;while((a=a.nextSibling)){if(a.nodeType==1){return false;}}return true;},"nth-child":function(g,e){g=(g==undefined)?"n":g;var c=Selectors.Utils.parseNthArgument(g);
if(c.special!="n"){return Selectors.Pseudo[c.special].call(this,c.a,e);}var f=0;e.positions=e.positions||{};var d=$uid(this);if(!e.positions[d]){var b=this;
while((b=b.previousSibling)){if(b.nodeType!=1){continue;}f++;var a=e.positions[$uid(b)];if(a!=undefined){f=a+f;break;}}e.positions[d]=f;}return(e.positions[d]%c.a==c.b);
},index:function(a){var b=this,c=0;while((b=b.previousSibling)){if(b.nodeType==1&&++c>a){return false;}}return(c==a);},even:function(b,a){return Selectors.Pseudo["nth-child"].call(this,"2n+1",a);
},odd:function(b,a){return Selectors.Pseudo["nth-child"].call(this,"2n",a);},selected:function(){return this.selected;},enabled:function(){return(this.disabled===false);
}});Element.Events.domready={onAdd:function(a){if(Browser.loaded){a.call(this);}}};(function(){var b=function(){if(Browser.loaded){return;}Browser.loaded=true;
window.fireEvent("domready");document.fireEvent("domready");};if(Browser.Engine.trident){var a=document.createElement("div");(function(){($try(function(){a.doScroll();
return document.id(a).inject(document.body).set("html","temp").dispose();}))?b():arguments.callee.delay(50);})();}else{if(Browser.Engine.webkit&&Browser.Engine.version<525){(function(){(["loaded","complete"].contains(document.readyState))?b():arguments.callee.delay(50);
})();}else{window.addEvent("load",b);document.addEvent("DOMContentLoaded",b);}}})();var JSON=new Hash({$specialChars:{"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},$replaceChars:function(a){return JSON.$specialChars[a]||"\\u00"+Math.floor(a.charCodeAt()/16).toString(16)+(a.charCodeAt()%16).toString(16);
},encode:function(b){switch($type(b)){case"string":return'"'+b.replace(/[\x00-\x1f\\"]/g,JSON.$replaceChars)+'"';case"array":return"["+String(b.map(JSON.encode).clean())+"]";
case"object":case"hash":var a=[];Hash.each(b,function(e,d){var c=JSON.encode(e);if(c){a.push(JSON.encode(d)+":"+c);}});return"{"+a+"}";case"number":case"boolean":return String(b);
case false:return"null";}return null;},decode:function(string,secure){if($type(string)!="string"||!string.length){return null;}if(secure&&!(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(string.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,""))){return null;
}return eval("("+string+")");}});Native.implement([Hash,Array,String,Number],{toJSON:function(){return JSON.encode(this);}});var Cookie=new Class({Implements:Options,options:{path:false,domain:false,duration:false,secure:false,document:document},initialize:function(b,a){this.key=b;
this.setOptions(a);},write:function(b){b=encodeURIComponent(b);if(this.options.domain){b+="; domain="+this.options.domain;}if(this.options.path){b+="; path="+this.options.path;
}if(this.options.duration){var a=new Date();a.setTime(a.getTime()+this.options.duration*24*60*60*1000);b+="; expires="+a.toGMTString();}if(this.options.secure){b+="; secure";
}this.options.document.cookie=this.key+"="+b;return this;},read:function(){var a=this.options.document.cookie.match("(?:^|;)\\s*"+this.key.escapeRegExp()+"=([^;]*)");
return(a)?decodeURIComponent(a[1]):null;},dispose:function(){new Cookie(this.key,$merge(this.options,{duration:-1})).write("");return this;}});Cookie.write=function(b,c,a){return new Cookie(b,a).write(c);
};Cookie.read=function(a){return new Cookie(a).read();};Cookie.dispose=function(b,a){return new Cookie(b,a).dispose();};var Swiff=new Class({Implements:[Options],options:{id:null,height:1,width:1,container:null,properties:{},params:{quality:"high",allowScriptAccess:"always",wMode:"transparent",swLiveConnect:true},callBacks:{},vars:{}},toElement:function(){return this.object;
},initialize:function(l,m){this.instance="Swiff_"+$time();this.setOptions(m);m=this.options;var b=this.id=m.id||this.instance;var a=document.id(m.container);
Swiff.CallBacks[this.instance]={};var e=m.params,g=m.vars,f=m.callBacks;var h=$extend({height:m.height,width:m.width},m.properties);var k=this;for(var d in f){Swiff.CallBacks[this.instance][d]=(function(n){return function(){return n.apply(k.object,arguments);
};})(f[d]);g[d]="Swiff.CallBacks."+this.instance+"."+d;}e.flashVars=Hash.toQueryString(g);if(Browser.Engine.trident){h.classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";
e.movie=l;}else{h.type="application/x-shockwave-flash";h.data=l;}var j='<object id="'+b+'"';for(var i in h){j+=" "+i+'="'+h[i]+'"';}j+=">";for(var c in e){if(e[c]){j+='<param name="'+c+'" value="'+e[c]+'" />';
}}j+="</object>";this.object=((a)?a.empty():new Element("div")).set("html",j).firstChild;},replaces:function(a){a=document.id(a,true);a.parentNode.replaceChild(this.toElement(),a);
return this;},inject:function(a){document.id(a,true).appendChild(this.toElement());return this;},remote:function(){return Swiff.remote.apply(Swiff,[this.toElement()].extend(arguments));
}});Swiff.CallBacks={};Swiff.remote=function(obj,fn){var rs=obj.CallFunction('<invoke name="'+fn+'" returntype="javascript">'+__flash__argumentsToXML(arguments,2)+"</invoke>");
return eval(rs);};var Fx=new Class({Implements:[Chain,Events,Options],options:{fps:50,unit:false,duration:500,link:"ignore"},initialize:function(a){this.subject=this.subject||this;
this.setOptions(a);this.options.duration=Fx.Durations[this.options.duration]||this.options.duration.toInt();var b=this.options.wait;if(b===false){this.options.link="cancel";
}},getTransition:function(){return function(a){return -(Math.cos(Math.PI*a)-1)/2;};},step:function(){var a=$time();if(a<this.time+this.options.duration){var b=this.transition((a-this.time)/this.options.duration);
this.set(this.compute(this.from,this.to,b));}else{this.set(this.compute(this.from,this.to,1));this.complete();}},set:function(a){return a;},compute:function(c,b,a){return Fx.compute(c,b,a);
},check:function(){if(!this.timer){return true;}switch(this.options.link){case"cancel":this.cancel();return true;case"chain":this.chain(this.caller.bind(this,arguments));
return false;}return false;},start:function(b,a){if(!this.check(b,a)){return this;}this.from=b;this.to=a;this.time=0;this.transition=this.getTransition();
this.startTimer();this.onStart();return this;},complete:function(){if(this.stopTimer()){this.onComplete();}return this;},cancel:function(){if(this.stopTimer()){this.onCancel();
}return this;},onStart:function(){this.fireEvent("start",this.subject);},onComplete:function(){this.fireEvent("complete",this.subject);if(!this.callChain()){this.fireEvent("chainComplete",this.subject);
}},onCancel:function(){this.fireEvent("cancel",this.subject).clearChain();},pause:function(){this.stopTimer();return this;},resume:function(){this.startTimer();
return this;},stopTimer:function(){if(!this.timer){return false;}this.time=$time()-this.time;this.timer=$clear(this.timer);return true;},startTimer:function(){if(this.timer){return false;
}this.time=$time()-this.time;this.timer=this.step.periodical(Math.round(1000/this.options.fps),this);return true;}});Fx.compute=function(c,b,a){return(b-c)*a+c;
};Fx.Durations={"short":250,normal:500,"long":1000};Fx.CSS=new Class({Extends:Fx,prepare:function(d,e,b){b=$splat(b);var c=b[1];if(!$chk(c)){b[1]=b[0];
b[0]=d.getStyle(e);}var a=b.map(this.parse);return{from:a[0],to:a[1]};},parse:function(a){a=$lambda(a)();a=(typeof a=="string")?a.split(" "):$splat(a);
return a.map(function(c){c=String(c);var b=false;Fx.CSS.Parsers.each(function(f,e){if(b){return;}var d=f.parse(c);if($chk(d)){b={value:d,parser:f};}});
b=b||{value:c,parser:Fx.CSS.Parsers.String};return b;});},compute:function(d,c,b){var a=[];(Math.min(d.length,c.length)).times(function(e){a.push({value:d[e].parser.compute(d[e].value,c[e].value,b),parser:d[e].parser});
});a.$family={name:"fx:css:value"};return a;},serve:function(c,b){if($type(c)!="fx:css:value"){c=this.parse(c);}var a=[];c.each(function(d){a=a.concat(d.parser.serve(d.value,b));
});return a;},render:function(a,d,c,b){a.setStyle(d,this.serve(c,b));},search:function(a){if(Fx.CSS.Cache[a]){return Fx.CSS.Cache[a];}var b={};Array.each(document.styleSheets,function(e,d){var c=e.href;
if(c&&c.contains("://")&&!c.contains(document.domain)){return;}var f=e.rules||e.cssRules;Array.each(f,function(j,g){if(!j.style){return;}var h=(j.selectorText)?j.selectorText.replace(/^\w+/,function(i){return i.toLowerCase();
}):null;if(!h||!h.test("^"+a+"$")){return;}Element.Styles.each(function(k,i){if(!j.style[i]||Element.ShortStyles[i]){return;}k=String(j.style[i]);b[i]=(k.test(/^rgb/))?k.rgbToHex():k;
});});});return Fx.CSS.Cache[a]=b;}});Fx.CSS.Cache={};Fx.CSS.Parsers=new Hash({Color:{parse:function(a){if(a.match(/^#[0-9a-f]{3,6}$/i)){return a.hexToRgb(true);
}return((a=a.match(/(\d+),\s*(\d+),\s*(\d+)/)))?[a[1],a[2],a[3]]:false;},compute:function(c,b,a){return c.map(function(e,d){return Math.round(Fx.compute(c[d],b[d],a));
});},serve:function(a){return a.map(Number);}},Number:{parse:parseFloat,compute:Fx.compute,serve:function(b,a){return(a)?b+a:b;}},String:{parse:$lambda(false),compute:$arguments(1),serve:$arguments(0)}});
Fx.Tween=new Class({Extends:Fx.CSS,initialize:function(b,a){this.element=this.subject=document.id(b);this.parent(a);},set:function(b,a){if(arguments.length==1){a=b;
b=this.property||this.options.property;}this.render(this.element,b,a,this.options.unit);return this;},start:function(c,e,d){if(!this.check(c,e,d)){return this;
}var b=Array.flatten(arguments);this.property=this.options.property||b.shift();var a=this.prepare(this.element,this.property,b);return this.parent(a.from,a.to);
}});Element.Properties.tween={set:function(a){var b=this.retrieve("tween");if(b){b.cancel();}return this.eliminate("tween").store("tween:options",$extend({link:"cancel"},a));
},get:function(a){if(a||!this.retrieve("tween")){if(a||!this.retrieve("tween:options")){this.set("tween",a);}this.store("tween",new Fx.Tween(this,this.retrieve("tween:options")));
}return this.retrieve("tween");}};Element.implement({tween:function(a,c,b){this.get("tween").start(arguments);return this;},fade:function(c){var e=this.get("tween"),d="opacity",a;
c=$pick(c,"toggle");switch(c){case"in":e.start(d,1);break;case"out":e.start(d,0);break;case"show":e.set(d,1);break;case"hide":e.set(d,0);break;case"toggle":var b=this.retrieve("fade:flag",this.get("opacity")==1);
e.start(d,(b)?0:1);this.store("fade:flag",!b);a=true;break;default:e.start(d,arguments);}if(!a){this.eliminate("fade:flag");}return this;},highlight:function(c,a){if(!a){a=this.retrieve("highlight:original",this.getStyle("background-color"));
a=(a=="transparent")?"#fff":a;}var b=this.get("tween");b.start("background-color",c||"#ffff88",a).chain(function(){this.setStyle("background-color",this.retrieve("highlight:original"));
b.callChain();}.bind(this));return this;}});Fx.Morph=new Class({Extends:Fx.CSS,initialize:function(b,a){this.element=this.subject=document.id(b);this.parent(a);
},set:function(a){if(typeof a=="string"){a=this.search(a);}for(var b in a){this.render(this.element,b,a[b],this.options.unit);}return this;},compute:function(e,d,c){var a={};
for(var b in e){a[b]=this.parent(e[b],d[b],c);}return a;},start:function(b){if(!this.check(b)){return this;}if(typeof b=="string"){b=this.search(b);}var e={},d={};
for(var c in b){var a=this.prepare(this.element,c,b[c]);e[c]=a.from;d[c]=a.to;}return this.parent(e,d);}});Element.Properties.morph={set:function(a){var b=this.retrieve("morph");
if(b){b.cancel();}return this.eliminate("morph").store("morph:options",$extend({link:"cancel"},a));},get:function(a){if(a||!this.retrieve("morph")){if(a||!this.retrieve("morph:options")){this.set("morph",a);
}this.store("morph",new Fx.Morph(this,this.retrieve("morph:options")));}return this.retrieve("morph");}};Element.implement({morph:function(a){this.get("morph").start(a);
return this;}});Fx.implement({getTransition:function(){var a=this.options.transition||Fx.Transitions.Sine.easeInOut;if(typeof a=="string"){var b=a.split(":");
a=Fx.Transitions;a=a[b[0]]||a[b[0].capitalize()];if(b[1]){a=a["ease"+b[1].capitalize()+(b[2]?b[2].capitalize():"")];}}return a;}});Fx.Transition=function(b,a){a=$splat(a);
return $extend(b,{easeIn:function(c){return b(c,a);},easeOut:function(c){return 1-b(1-c,a);},easeInOut:function(c){return(c<=0.5)?b(2*c,a)/2:(2-b(2*(1-c),a))/2;
}});};Fx.Transitions=new Hash({linear:$arguments(0)});Fx.Transitions.extend=function(a){for(var b in a){Fx.Transitions[b]=new Fx.Transition(a[b]);}};Fx.Transitions.extend({Pow:function(b,a){return Math.pow(b,a[0]||6);
},Expo:function(a){return Math.pow(2,8*(a-1));},Circ:function(a){return 1-Math.sin(Math.acos(a));},Sine:function(a){return 1-Math.sin((1-a)*Math.PI/2);
},Back:function(b,a){a=a[0]||1.618;return Math.pow(b,2)*((a+1)*b-a);},Bounce:function(f){var e;for(var d=0,c=1;1;d+=c,c/=2){if(f>=(7-4*d)/11){e=c*c-Math.pow((11-6*d-11*f)/4,2);
break;}}return e;},Elastic:function(b,a){return Math.pow(2,10*--b)*Math.cos(20*b*Math.PI*(a[0]||1)/3);}});["Quad","Cubic","Quart","Quint"].each(function(b,a){Fx.Transitions[b]=new Fx.Transition(function(c){return Math.pow(c,[a+2]);
});});var Request=new Class({Implements:[Chain,Events,Options],options:{url:"",data:"",headers:{"X-Requested-With":"XMLHttpRequest",Accept:"text/javascript, text/html, application/xml, text/xml, */*"},async:true,format:false,method:"post",link:"ignore",isSuccess:null,emulation:true,urlEncoded:true,encoding:"utf-8",evalScripts:false,evalResponse:false,noCache:false},initialize:function(a){this.xhr=new Browser.Request();
this.setOptions(a);this.options.isSuccess=this.options.isSuccess||this.isSuccess;this.headers=new Hash(this.options.headers);},onStateChange:function(){if(this.xhr.readyState!=4||!this.running){return;
}this.running=false;this.status=0;$try(function(){this.status=this.xhr.status;}.bind(this));this.xhr.onreadystatechange=$empty;if(this.options.isSuccess.call(this,this.status)){this.response={text:this.xhr.responseText,xml:this.xhr.responseXML};
this.success(this.response.text,this.response.xml);}else{this.response={text:null,xml:null};this.failure();}},isSuccess:function(){return((this.status>=200)&&(this.status<300));
},processScripts:function(a){if(this.options.evalResponse||(/(ecma|java)script/).test(this.getHeader("Content-type"))){return $exec(a);}return a.stripScripts(this.options.evalScripts);
},success:function(b,a){this.onSuccess(this.processScripts(b),a);},onSuccess:function(){this.fireEvent("complete",arguments).fireEvent("success",arguments).callChain();
},failure:function(){this.onFailure();},onFailure:function(){this.fireEvent("complete").fireEvent("failure",this.xhr);},setHeader:function(a,b){this.headers.set(a,b);
return this;},getHeader:function(a){return $try(function(){return this.xhr.getResponseHeader(a);}.bind(this));},check:function(){if(!this.running){return true;
}switch(this.options.link){case"cancel":this.cancel();return true;case"chain":this.chain(this.caller.bind(this,arguments));return false;}return false;},send:function(k){if(!this.check(k)){return this;
}this.running=true;var i=$type(k);if(i=="string"||i=="element"){k={data:k};}var d=this.options;k=$extend({data:d.data,url:d.url,method:d.method},k);var g=k.data,b=k.url,a=k.method.toLowerCase();
switch($type(g)){case"element":g=document.id(g).toQueryString();break;case"object":case"hash":g=Hash.toQueryString(g);}if(this.options.format){var j="format="+this.options.format;
g=(g)?j+"&"+g:j;}if(this.options.emulation&&!["get","post"].contains(a)){var h="_method="+a;g=(g)?h+"&"+g:h;a="post";}if(this.options.urlEncoded&&a=="post"){var c=(this.options.encoding)?"; charset="+this.options.encoding:"";
this.headers.set("Content-type","application/x-www-form-urlencoded"+c);}if(this.options.noCache){var f="noCache="+new Date().getTime();g=(g)?f+"&"+g:f;
}var e=b.lastIndexOf("/");if(e>-1&&(e=b.indexOf("#"))>-1){b=b.substr(0,e);}if(g&&a=="get"){b=b+(b.contains("?")?"&":"?")+g;g=null;}this.xhr.open(a.toUpperCase(),b,this.options.async);
this.xhr.onreadystatechange=this.onStateChange.bind(this);this.headers.each(function(m,l){try{this.xhr.setRequestHeader(l,m);}catch(n){this.fireEvent("exception",[l,m]);
}},this);this.fireEvent("request");this.xhr.send(g);if(!this.options.async){this.onStateChange();}return this;},cancel:function(){if(!this.running){return this;
}this.running=false;this.xhr.abort();this.xhr.onreadystatechange=$empty;this.xhr=new Browser.Request();this.fireEvent("cancel");return this;}});(function(){var a={};
["get","post","put","delete","GET","POST","PUT","DELETE"].each(function(b){a[b]=function(){var c=Array.link(arguments,{url:String.type,data:$defined});
return this.send($extend(c,{method:b}));};});Request.implement(a);})();Element.Properties.send={set:function(a){var b=this.retrieve("send");if(b){b.cancel();
}return this.eliminate("send").store("send:options",$extend({data:this,link:"cancel",method:this.get("method")||"post",url:this.get("action")},a));},get:function(a){if(a||!this.retrieve("send")){if(a||!this.retrieve("send:options")){this.set("send",a);
}this.store("send",new Request(this.retrieve("send:options")));}return this.retrieve("send");}};Element.implement({send:function(a){var b=this.get("send");
b.send({data:this,url:a||b.options.url});return this;}});Request.HTML=new Class({Extends:Request,options:{update:false,append:false,evalScripts:true,filter:false},processHTML:function(c){var b=c.match(/<body[^>]*>([\s\S]*?)<\/body>/i);
c=(b)?b[1]:c;var a=new Element("div");return $try(function(){var d="<root>"+c+"</root>",g;if(Browser.Engine.trident){g=new ActiveXObject("Microsoft.XMLDOM");
g.async=false;g.loadXML(d);}else{g=new DOMParser().parseFromString(d,"text/xml");}d=g.getElementsByTagName("root")[0];if(!d){return null;}for(var f=0,e=d.childNodes.length;
f<e;f++){var h=Element.clone(d.childNodes[f],true,true);if(h){a.grab(h);}}return a;})||a.set("html",c);},success:function(d){var c=this.options,b=this.response;
b.html=d.stripScripts(function(e){b.javascript=e;});var a=this.processHTML(b.html);b.tree=a.childNodes;b.elements=a.getElements("*");if(c.filter){b.tree=b.elements.filter(c.filter);
}if(c.update){document.id(c.update).empty().set("html",b.html);}else{if(c.append){document.id(c.append).adopt(a.getChildren());}}if(c.evalScripts){$exec(b.javascript);
}this.onSuccess(b.tree,b.elements,b.html,b.javascript);}});Element.Properties.load={set:function(a){var b=this.retrieve("load");if(b){b.cancel();}return this.eliminate("load").store("load:options",$extend({data:this,link:"cancel",update:this,method:"get"},a));
},get:function(a){if(a||!this.retrieve("load")){if(a||!this.retrieve("load:options")){this.set("load",a);}this.store("load",new Request.HTML(this.retrieve("load:options")));
}return this.retrieve("load");}};Element.implement({load:function(){this.get("load").send(Array.link(arguments,{data:Object.type,url:String.type}));return this;
}});Request.JSON=new Class({Extends:Request,options:{secure:true},initialize:function(a){this.parent(a);this.headers.extend({Accept:"application/json","X-Request":"JSON"});
},success:function(a){this.response.json=JSON.decode(a,this.options.secure);this.onSuccess(this.response.json,a);}});


/*************************************************************/

var Search = {
	init: function(){
		this.url = basepath+'/engine/core/php/sAjaxSearch.php';
		this.fx2 = new Fx.Morph('searchresults', {duration:400, transition: Fx.Transitions.Sine.easeOut});
		//$('searchfield').focus();
		$('searchfield').addEvent('keyup', function(event)
		{
			Search.doSearch();
		});
		this.hideresults = false;
		$('searchfield').addEvent('blur', function(event) {
			if(Search.hideresults)
				$('searchresults').setStyle('display','none');
		});
		$('searchresults').addEvent('mousemove', function(e){
			Search.hideresults = false;
		});
		$('searchresults').addEvent('mouseleave', function(e){
			$('searchfield').focus();
			Search.hideresults = true;
		});
	},
	doSearch: function(){
		$('searchresults').setStyle('display','none');
		if(this.ajax)
			this.ajax.cancel();
		if(!$('searchfield').get('value')||$('searchfield').get('value')==''||$('searchfield').get('value').length<minsearchlenght)
			return;
		this.ajax = new Request({
		  url: this.url,
		  data: $("searchform").toQueryString(),
			method: 'post',
			onComplete: function(request)
			{
				if(request) {
          var response = JSON.decode( request );
        }

				if(response.sResults&&response.sResults!=null&&response.sResults!='')
				{
				  var result = response.sResults; 
					$('searchresults').set('opacity',0);
          $('searchresults').setStyle('display','block');
					Search.buildSearchResults(result);
					Search.fx2.start({
					'opacity':[0,100],
					'height':[0,20+result.length*72]
					});
				}
			}
		}).send();
	},
	submitSearch: function(){
		$('searchform').submit();
		return false;
	},
	buildSearchResults: function(results){
		var container = $('searchresults');
		var div = new Element('div', {'style': 'clear:both'});
		var link = new Element('a', {'class': 'resultall', 'style': 'z-index:100;', 'href' : 'javascript:Search.submitSearch()'}).set('html', $('sSearchShowAllResults').get('value')).inject(div);
    
		//		var heading = new Element('h2').set('html', 'Suchergebnisse:').inject(div);
		var list = new Element('ul').inject(div);
		div.inject(container.empty());		

		//Überprüfen, ob die einzelnen Kategorien vorhanden sind
		var render_supplier = false;
		var render_category = false;
		var render_article = false;

		results.each(function(result, i) {

			switch(result.type)
			{
				case 'supplier':
					render_supplier = true;
				break;
				case 'category':
					render_category = true;
				break;
				case 'article':
					render_article = true;
				break;
			} 
		});
		
		if(render_supplier == true)
		{
			var li = new Element('li', {'style': '', 'class': 'searchresult_supplier'}).inject(list);
			var counter = 0;
			var supplier_exist = false;
			results.each(function(result, i) {
				if(result.type == "supplier")
				{	
					supplier_exist = true;
					if(counter==0)
					{
						var div = new Element('div', {'style': 'clear:both;', 'class': 'header'});
						var heading = new Element('h2').set('html', $('sSearchManufacturer').get('value')).inject(div);
						div.inject(li);
					}
								
					if(result.image)
					{
						var imagelink = new Element('a', {'href': result.link, 'class': 'searchthumb', 'title': result.name}).inject(li);
						var image = new Element('img', {'src': result.image, /*'alt': result.name,*/ 'class': 'resultimage', 'style': 'margin: 0pt 5px 0pt 0pt'}).inject(imagelink);
					}else{
						var titlelink = new Element('a', {'href':result.link, 'class': 'resultlink'}).inject(li);
						var title = new Element('h3').set('html',result.name).inject(titlelink);
					}
					counter++;
				}	
			});
			if(supplier_exist == true)
			{
				var div = new Element('div', {'class': 'fixfloat'});
				div.set('html', '&nbsp;');
				div.inject(li);
			}
		}
			
		
		if(render_category == true)
		{
			var li = new Element('li', {'style': '', 'class': 'searchresult_cat'}).inject(list);
			var list2 = new Element('ul').inject(li);
			var counter = 0;		
			results.each(function(result, i) {
				if(result.type == "category")
				{
					if(counter==0)
					{
						var li2 = new Element('li', {'style': '', 'class': 'header'}).inject(list2);
						
						var div = new Element('div', {'style': 'clear:both;'});
						var heading = new Element('h2').set('html',$('sSearchCategories').get('value')).inject(div);
						div.inject(li2);
						
						var li2 = new Element('li', {'style': '', 'class': 'searchresult'}).inject(list2);
					}else{
						var li2 = new Element('li', {'style': '', 'class': 'searchresult'}).inject(list2);
					}
								
					if(result.image)
					{
						var imagelink = new Element('a', {'href': result.link, 'class': 'searchthumb', 'title': result.name}).inject(li2);
						var image = new Element('img', {'src': result.image, /*'alt': result.name,*/ 'class': 'resultimage', 'style': 'margin: 0pt 5px 0pt 0pt'}).inject(imagelink);
					}
					
					var titlelink = new Element('a', {'href':result.link, 'class': 'resultlink'}).inject(li2);
					var title = new Element('h3').set('html', result.name).inject(titlelink);
					
					if(title.getScroll().x > title.getSize().x)
					{
	//					var titlerelated = new Element('div',{'class': 'related'}).set(html, "...").inject(title);
					}
					if(result.description)
					{
						var description = new Element('div',{'class': 'searchdescription'}).set('html',result.description).inject(li2);
						if(description.getScroll().y > description.getSize().y)
						{
	//						var descriptionrelated = new Element('div',{'class': 'related'}).set('html', "...").inject(description);
						}
					}
					counter++;
				}
					
			});
		}
		
		if(render_article == true)
		{
			var li = new Element('li', {'style': '', 'class': 'searchresult'}).inject(list);
			var list2 = new Element('ul').inject(li);
			var counter = 0;		
			results.each(function(result, i) {
				if(result.type == "article")
				{
					var li2 = new Element('li', {'style': '', 'class': 'searchresult'}).inject(list2);
			
					if(result.image)
					{
						var imagelink = new Element('a', {'href': result.link, 'class': 'searchthumb', 'title': result.name}).inject(li2);
						var image = new Element('img', {'src': result.image, /*'alt': result.name,*/ 'class': 'resultimage', 'style': 'margin: 0pt 5px 0pt 0pt'}).inject(imagelink);
					}
					
					var titlelink = new Element('a', {'href':result.link, 'class': 'resultlink'}).inject(li2);
					var title = new Element('h3').set('html', result.name).inject(titlelink);
					
					if(title.getScroll().x > title.getSize().x)
					{
	//					var titlerelated = new Element('div',{'class': 'related'}).set('html', "...").inject(title);
					}
					if(result.description)
					{
						var description = new Element('div',{'class': 'searchdescription'}).set('html', result.description).inject(li2);
						if(description.getScroll().y > description.getSize().y)
						{
	//						var descriptionrelated = new Element('div',{'class': 'related'}).set('html', "...").inject(description);
						}
					}
					counter++;
				}
					
			});
		}
			
			
		
	}
};


function GetCount(){

	dateNow = new Date();									//grab current date
	amount = dateFuture.getTime() - dateNow.getTime();		//calc milliseconds between dates
	delete dateNow;

	// time is already past
	if( 0 ){
		window.reload();
	}
	// date is still good
	else{
		days=0;hours=0;mins=0;secs=0;out="";

		amount = Math.floor(amount/1000);//kill the "milliseconds" so just secs

		//days=Math.floor(amount/86400);//days
		//amount=amount%86400;

		hours=Math.floor(amount/3600);//hours
		amount=amount%3600;

		mins=Math.floor(amount/60);//minutes
		amount=amount%60;

		secs=Math.floor(amount);//seconds

		if(days != 0){out += days +" Tag"+((days!=1)?"e":"")+", ";}
		if(days != 0 || hours != 0){out += hours +" Stunde"+((hours!=1)?"n":"")+" und<br/>";}
		if(days != 0 || hours != 0 || mins != 0){out += mins +" Minute"+((mins!=1)?"n":"")+", ";}
		//out += secs +" Sekunden";
		$('countbox').set('html', out );

		setTimeout("GetCount()", 1000);
	}
}

window.addEvent('load', function(){
	Search.init();
	$('searchform').addEvent('submit', function(e) {
		if(!$('searchfield')||$('searchfield').value=='Suche'||$('searchfield').value=='')
		{
			//$('searchfield').focus();
			$('searchfield').value='';
			e = new Event(e);
			e.stop()
		}
	});
});



var testresults
function checkemail( el ){
//var str=document.validation.emailcheck.value
var str = el.value;
var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
if (filter.test(str))
testresults=true
else{
alert("Bitte geben Sie eine gültige E-Mail-Adresse ein!")
testresults=false
}
return (testresults)
}//MooTools More, <http://mootools.net/more>. Copyright (c) 2006-2009 Aaron Newton <http://clientcide.com/>, Valerio Proietti <http://mad4milk.net> & the MooTools team <http://mootools.net/developers>, MIT Style License.

MooTools.More={version:"1.2.3.1"};(function(){var a={language:"en-US",languages:{"en-US":{}},cascades:["en-US"]};var b;MooTools.lang=new Events();$extend(MooTools.lang,{setLanguage:function(c){if(!a.languages[c]){return this;
}a.language=c;this.load();this.fireEvent("langChange",c);return this;},load:function(){var c=this.cascade(this.getCurrentLanguage());b={};$each(c,function(e,d){b[d]=this.lambda(e);
},this);},getCurrentLanguage:function(){return a.language;},addLanguage:function(c){a.languages[c]=a.languages[c]||{};return this;},cascade:function(e){var c=(a.languages[e]||{}).cascades||[];
c.combine(a.cascades);c.erase(e).push(e);var d=c.map(function(g){return a.languages[g];},this);return $merge.apply(this,d);},lambda:function(c){(c||{}).get=function(e,d){return $lambda(c[e]).apply(this,$splat(d));
};return c;},get:function(e,d,c){if(b&&b[e]){return(d?b[e].get(d,c):b[e]);}},set:function(d,e,c){this.addLanguage(d);langData=a.languages[d];if(!langData[e]){langData[e]={};
}$extend(langData[e],c);if(d==this.getCurrentLanguage()){this.load();this.fireEvent("langChange",d);}return this;},list:function(){return Hash.getKeys(a.languages);
}});})();var Log=new Class({log:function(){Log.logger.call(this,arguments);}});Log.logged=[];Log.logger=function(){if(window.console&&console.log){console.log.apply(console,arguments);
}else{Log.logged.push(arguments);}};Class.refactor=function(b,a){$each(a,function(e,d){var c=b.prototype[d];if(c&&(c=c._origin)&&typeof e=="function"){b.implement(d,function(){var g=this.previous;
this.previous=c;var h=e.apply(this,arguments);this.previous=g;return h;});}else{b.implement(d,e);}});return b;};Class.Occlude=new Class({occlude:function(c,b){b=document.id(b||this.element);
var a=b.retrieve(c||this.property);if(a&&!$defined(this.occluded)){this.occluded=a;}else{this.occluded=false;b.store(c||this.property,this);}return this.occluded;
}});Array.implement({min:function(){return Math.min.apply(null,this);},max:function(){return Math.max.apply(null,this);},average:function(){return this.length?this.sum()/this.length:0;
},sum:function(){var a=0,b=this.length;if(b){do{a+=this[--b];}while(b);}return a;},unique:function(){return[].combine(this);}});(function(){if(!Date.now){Date.now=$time;
}Date.Methods={};["Date","Day","FullYear","Hours","Milliseconds","Minutes","Month","Seconds","Time","TimezoneOffset","Week","Timezone","GMTOffset","DayOfYear","LastMonth","LastDayOfMonth","UTCDate","UTCDay","UTCFullYear","AMPM","Ordinal","UTCHours","UTCMilliseconds","UTCMinutes","UTCMonth","UTCSeconds"].each(function(m){Date.Methods[m.toLowerCase()]=m;
});$each({ms:"Milliseconds",year:"FullYear",min:"Minutes",mo:"Month",sec:"Seconds",hr:"Hours"},function(n,m){Date.Methods[m]=n;});var c=function(n,m){return new Array(m-n.toString().length+1).join("0")+n;
};Date.implement({set:function(r,o){switch($type(r)){case"object":for(var q in r){this.set(q,r[q]);}break;case"string":r=r.toLowerCase();var n=Date.Methods;
if(n[r]){this["set"+n[r]](o);}}return this;},get:function(o){o=o.toLowerCase();var n=Date.Methods;if(n[o]){return this["get"+n[o]]();}return null;},clone:function(){return new Date(this.get("time"));
},increment:function(m,o){m=m||"day";o=$pick(o,1);switch(m){case"year":return this.increment("month",o*12);case"month":var n=this.get("date");this.set("date",1).set("mo",this.get("mo")+o);
return this.set("date",n.min(this.get("lastdayofmonth")));case"week":return this.increment("day",o*7);case"day":return this.set("date",this.get("date")+o);
}if(!Date.units[m]){throw new Error(m+" is not a supported interval");}return this.set("time",this.get("time")+o*Date.units[m]());},decrement:function(m,n){return this.increment(m,-1*$pick(n,1));
},isLeapYear:function(){return Date.isLeapYear(this.get("year"));},clearTime:function(){return this.set({hr:0,min:0,sec:0,ms:0});},diff:function(p,n){n=n||"day";
if($type(p)=="string"){p=Date.parse(p);}switch(n){case"year":return p.get("year")-this.get("year");case"month":var m=(p.get("year")-this.get("year"))*12;
return m+p.get("mo")-this.get("mo");default:var o=p.get("time")-this.get("time");if(Date.units[n]()>o.abs()){return 0;}return((p.get("time")-this.get("time"))/Date.units[n]()).round();
}return null;},getLastDayOfMonth:function(){return Date.daysInMonth(this.get("mo"),this.get("year"));},getDayOfYear:function(){return(Date.UTC(this.get("year"),this.get("mo"),this.get("date")+1)-Date.UTC(this.get("year"),0,1))/Date.units.day();
},getWeek:function(){return(this.get("dayofyear")/7).ceil();},getOrdinal:function(m){return Date.getMsg("ordinal",m||this.get("date"));},getTimezone:function(){return this.toString().replace(/^.*? ([A-Z]{3}).[0-9]{4}.*$/,"$1").replace(/^.*?\(([A-Z])[a-z]+ ([A-Z])[a-z]+ ([A-Z])[a-z]+\)$/,"$1$2$3");
},getGMTOffset:function(){var m=this.get("timezoneOffset");return((m>0)?"-":"+")+c((m.abs()/60).floor(),2)+c(m%60,2);},setAMPM:function(m){m=m.toUpperCase();
var n=this.get("hr");if(n>11&&m=="AM"){return this.decrement("hour",12);}else{if(n<12&&m=="PM"){return this.increment("hour",12);}}return this;},getAMPM:function(){return(this.get("hr")<12)?"AM":"PM";
},parse:function(m){this.set("time",Date.parse(m));return this;},isValid:function(m){return !!(m||this).valueOf();},format:function(m){if(!this.isValid()){return"invalid date";
}m=m||"%x %X";m=i[m.toLowerCase()]||m;var n=this;return m.replace(/%([a-z%])/gi,function(o,p){switch(p){case"a":return Date.getMsg("days")[n.get("day")].substr(0,3);
case"A":return Date.getMsg("days")[n.get("day")];case"b":return Date.getMsg("months")[n.get("month")].substr(0,3);case"B":return Date.getMsg("months")[n.get("month")];
case"c":return n.toString();case"d":return c(n.get("date"),2);case"H":return c(n.get("hr"),2);case"I":return((n.get("hr")%12)||12);case"j":return c(n.get("dayofyear"),3);
case"m":return c((n.get("mo")+1),2);case"M":return c(n.get("min"),2);case"o":return n.get("ordinal");case"p":return Date.getMsg(n.get("ampm"));case"S":return c(n.get("seconds"),2);
case"U":return c(n.get("week"),2);case"w":return n.get("day");case"x":return n.format(Date.getMsg("shortDate"));case"X":return n.format(Date.getMsg("shortTime"));
case"y":return n.get("year").toString().substr(2);case"Y":return n.get("year");case"T":return n.get("GMTOffset");case"Z":return n.get("Timezone");}return p;
});},toISOString:function(){return this.format("iso8601");}});Date.alias("diff","compare");Date.alias("format","strftime");var i={db:"%Y-%m-%d %H:%M:%S",compact:"%Y%m%dT%H%M%S",iso8601:"%Y-%m-%dT%H:%M:%S%T",rfc822:"%a, %d %b %Y %H:%M:%S %Z","short":"%d %b %H:%M","long":"%B %d, %Y %H:%M"};
var e=Date.parse;var k=function(p,r,o){var n=-1;var q=Date.getMsg(p+"s");switch($type(r)){case"object":n=q[r.get(p)];break;case"number":n=q[month-1];if(!n){throw new Error("Invalid "+p+" index: "+index);
}break;case"string":var m=q.filter(function(s){return this.test(s);},new RegExp("^"+r,"i"));if(!m.length){throw new Error("Invalid "+p+" string");}if(m.length>1){throw new Error("Ambiguous "+p);
}n=m[0];}return(o)?q.indexOf(n):n;};Date.extend({getMsg:function(n,m){return MooTools.lang.get("Date",n,m);},units:{ms:$lambda(1),second:$lambda(1000),minute:$lambda(60000),hour:$lambda(3600000),day:$lambda(86400000),week:$lambda(608400000),month:function(n,m){var o=new Date;
return Date.daysInMonth($pick(n,o.get("mo")),$pick(m,o.get("year")))*86400000;},year:function(m){m=m||new Date().get("year");return Date.isLeapYear(m)?31622400000:31536000000;
}},daysInMonth:function(n,m){return[31,Date.isLeapYear(m)?29:28,31,30,31,30,31,31,30,31,30,31][n];},isLeapYear:function(m){return new Date(m,1,29).get("date")==29;
},parse:function(o){var n=$type(o);if(n=="number"){return new Date(o);}if(n!="string"){return o;}o=o.clean();if(!o.length){return null;}var m;Date.parsePatterns.some(function(q){var p=q.re.exec(o);
return(p)?(m=q.handler(p)):false;});return m||new Date(e(o));},parseDay:function(m,n){return k("day",m,n);},parseMonth:function(n,m){return k("month",n,m);
},parseUTC:function(n){var m=new Date(n);var o=Date.UTC(m.get("year"),m.get("mo"),m.get("date"),m.get("hr"),m.get("min"),m.get("sec"));return new Date(o);
},orderIndex:function(m){return Date.getMsg("dateOrder").indexOf(m)+1;},defineFormat:function(m,n){i[m]=n;},defineFormats:function(m){for(var n in m){Date.defineFormat(n,m[f]);
}},parsePatterns:[],defineParser:function(m){Date.parsePatterns.push(m.re&&m.handler?m:j(m));},defineParsers:function(){Array.flatten(arguments).each(Date.defineParser);
},define2DigitYearStart:function(m){d=m%100;g=m-d;}});var g=1900;var d=70;var a=function(m){switch(m){case"x":return(Date.orderIndex("month")==1)?"%m[.-/]%d([.-/]%y)?":"%d[.-/]%m([.-/]%y)?";
case"X":return"%H([.:]%M)?([.:]%S([.:]%s)?)?\\s?%p?\\s?%T?";case"o":return"[^\\d\\s]*";}return null;};var l={a:/[a-z]{3,}/,d:/[0-2]?[0-9]|3[01]/,H:/[01]?[0-9]|2[0-3]/,I:/0?[1-9]|1[0-2]/,M:/[0-5]?\d/,s:/\d+/,p:/[ap]\.?m\.?/,y:/\d{2}|\d{4}/,Y:/\d{4}/,T:/Z|[+-]\d{2}(?::?\d{2})?/};
l.B=l.b=l.A=l.a;l.m=l.I;l.S=l.M;var b;var j=function(o){if(!b){return{format:o};}var m=[null];var n=(o.source||o).replace(/%([a-z])/gi,function(p,q){return a(q)||p;
}).replace(/\((?!\?)/g,"(?:").replace(/ (?!\?|\*)/g,",? ").replace(/%([a-z%])/gi,function(q,s){var r=l[s];if(!r){return s;}m.push(s);return"("+r.source+")";
});return{format:o,re:new RegExp("^"+n+"$","i"),handler:function(r){var p=new Date().clearTime();for(var q=1;q<m.length;q++){p=h.call(p,m[q],r[q]);}return p;
}};};var h=function(m,n){if(!n){if(m=="m"||m=="d"){n=1;}else{return this;}}switch(m){case"a":case"A":return this.set("day",Date.parseDay(n,true));case"b":case"B":return this.set("mo",Date.parseMonth(n,true));
case"d":return this.set("date",n);case"H":case"I":return this.set("hr",n);case"m":return this.set("mo",n-1);case"M":return this.set("min",n);case"p":return this.set("ampm",n.replace(/\./g,""));
case"S":return this.set("sec",n);case"s":return this.set("ms",("0."+n)*1000);case"w":return this.set("day",n);case"Y":return this.set("year",n);case"y":n=+n;
if(n<100){n+=g+(n<d?100:0);}return this.set("year",n);case"T":if(n=="Z"){n="+00";}var o=n.match(/([+-])(\d{2}):?(\d{2})?/);o=(o[1]+"1")*(o[2]*60+(+o[3]||0))+this.getTimezoneOffset();
return this.set("time",(this*1)-o*60000);}return this;};Date.defineParsers("%Y([-./]%m([-./]%d((T| )%X)?)?)?","%Y%m%d(T%H(%M%S?)?)?","%x( %X)?","%d%o( %b( %Y)?)?( %X)?","%b %d%o?( %Y)?( %X)?","%b %Y");
MooTools.lang.addEvent("langChange",function(m){if(!MooTools.lang.get("Date")){return;}b=m;Date.parsePatterns.each(function(o,n){if(o.format){Date.parsePatterns[n]=j(o.format);
}});}).fireEvent("langChange",MooTools.lang.getCurrentLanguage());})();Date.implement({timeDiffInWords:function(a){return Date.distanceOfTimeInWords(this,a||new Date);
}});Date.alias("timeDiffInWords","timeAgoInWords");Date.extend({distanceOfTimeInWords:function(b,a){return Date.getTimePhrase(((a-b)/1000).toInt());},getTimePhrase:function(c){var a=(c<0)?"Until":"Ago";
if(c<0){c*=-1;}var b=(c<60)?"lessThanMinute":(c<120)?"minute":(c<(45*60))?"minutes":(c<(90*60))?"hour":(c<(24*60*60))?"hours":(c<(48*60*60))?"day":"days";
switch(b){case"minutes":c=(c/60).round();break;case"hours":c=(c/3600).round();break;case"days":c=(c/86400).round();}return Date.getMsg(b+a,c).substitute({delta:c});
}});Date.defineParsers({re:/^tod|tom|yes/i,handler:function(a){var b=new Date().clearTime();switch(a[0]){case"tom":return b.increment();case"yes":return b.decrement();
default:return b;}}},{re:/^(next|last) ([a-z]+)$/i,handler:function(e){var g=new Date().clearTime();var b=g.getDay();var c=Date.parseDay(e[2],true);var a=c-b;
if(c<=b){a+=7;}if(e[1]=="last"){a-=7;}return g.set("date",g.getDate()+a);}});var URI=new Class({Implements:Options,regex:/^(?:(\w+):)?(?:\/\/(?:(?:([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)?(\.\.?$|(?:[^?#\/]*\/)*)([^?#]*)(?:\?([^#]*))?(?:#(.*))?/,parts:["scheme","user","password","host","port","directory","file","query","fragment"],schemes:{http:80,https:443,ftp:21,rtsp:554,mms:1755,file:0},initialize:function(b,a){this.setOptions(a);
var c=this.options.base||URI.base;b=b||c;if(b&&b.parsed){this.parsed=$unlink(b.parsed);}else{this.set("value",b.href||b.toString(),c?new URI(c):false);
}},parse:function(c,b){var a=c.match(this.regex);if(!a){return false;}a.shift();return this.merge(a.associate(this.parts),b);},merge:function(b,a){if((!b||!b.scheme)&&(!a||!a.scheme)){return false;
}if(a){this.parts.every(function(c){if(b[c]){return false;}b[c]=a[c]||"";return true;});}b.port=b.port||this.schemes[b.scheme.toLowerCase()];b.directory=b.directory?this.parseDirectory(b.directory,a?a.directory:""):"/";
return b;},parseDirectory:function(b,c){b=(b.substr(0,1)=="/"?"":(c||"/"))+b;if(!b.test(URI.regs.directoryDot)){return b;}var a=[];b.replace(URI.regs.endSlash,"").split("/").each(function(d){if(d==".."&&a.length>0){a.pop();
}else{if(d!="."){a.push(d);}}});return a.join("/")+"/";},combine:function(a){return a.value||a.scheme+"://"+(a.user?a.user+(a.password?":"+a.password:"")+"@":"")+(a.host||"")+(a.port&&a.port!=this.schemes[a.scheme]?":"+a.port:"")+(a.directory||"/")+(a.file||"")+(a.query?"?"+a.query:"")+(a.fragment?"#"+a.fragment:"");
},set:function(b,d,c){if(b=="value"){var a=d.match(URI.regs.scheme);if(a){a=a[1];}if(a&&!$defined(this.schemes[a.toLowerCase()])){this.parsed={scheme:a,value:d};
}else{this.parsed=this.parse(d,(c||this).parsed)||(a?{scheme:a,value:d}:{value:d});}}else{if(b=="data"){this.setData(d);}else{this.parsed[b]=d;}}return this;
},get:function(a,b){switch(a){case"value":return this.combine(this.parsed,b?b.parsed:false);case"data":return this.getData();}return this.parsed[a]||undefined;
},go:function(){document.location.href=this.toString();},toURI:function(){return this;},getData:function(c,b){var a=this.get(b||"query");if(!$chk(a)){return c?null:{};
}var d=a.parseQueryString();return c?d[c]:d;},setData:function(a,c,b){if($type(arguments[0])=="string"){a=this.getData();a[arguments[0]]=arguments[1];}else{if(c){a=$merge(this.getData(),a);
}}return this.set(b||"query",Hash.toQueryString(a));},clearData:function(a){return this.set(a||"query","");}});["toString","valueOf"].each(function(a){URI.prototype[a]=function(){return this.get("value");
};});URI.regs={endSlash:/\/$/,scheme:/^(\w+):/,directoryDot:/\.\/|\.$/};URI.base=new URI($$("base[href]").getLast(),{base:document.location});String.implement({toURI:function(a){return new URI(this,a);
}});URI=Class.refactor(URI,{combine:function(g,e){if(!e||g.scheme!=e.scheme||g.host!=e.host||g.port!=e.port){return this.previous.apply(this,arguments);
}var a=g.file+(g.query?"?"+g.query:"")+(g.fragment?"#"+g.fragment:"");if(!e.directory){return(g.directory||(g.file?"":"./"))+a;}var d=e.directory.split("/"),c=g.directory.split("/"),h="",j;
var b=0;for(j=0;j<d.length&&j<c.length&&d[j]==c[j];j++){}for(b=0;b<d.length-j-1;b++){h+="../";}for(b=j;b<c.length-1;b++){h+=c[b]+"/";}return(h||(g.file?"":"./"))+a;
},toAbsolute:function(a){a=new URI(a);if(a){a.set("directory","").set("file","");}return this.toRelative(a);},toRelative:function(a){return this.get("value",new URI(a));
}});Element.implement({measure:function(e){var h=function(i){return !!(!i||i.offsetHeight||i.offsetWidth);};if(h(this)){return e.apply(this);}var d=this.getParent(),b=[],g=[];
while(!h(d)&&d!=document.body){b.push(d.expose());d=d.getParent();}var c=this.expose();var a=e.apply(this);c();b.each(function(i){i();});return a;},expose:function(){if(this.getStyle("display")!="none"){return $empty;
}var a=this.style.cssText;this.setStyles({display:"block",position:"absolute",visibility:"hidden"});return function(){this.style.cssText=a;}.bind(this);
},getDimensions:function(a){a=$merge({computeSize:false},a);var d={};var c=function(g,e){return(e.computeSize)?g.getComputedSize(e):g.getSize();};if(this.getStyle("display")=="none"){d=this.measure(function(){return c(this,a);
});}else{try{d=c(this,a);}catch(b){}}return $chk(d.x)?$extend(d,{width:d.x,height:d.y}):$extend(d,{x:d.width,y:d.height});},getComputedSize:function(a){a=$merge({styles:["padding","border"],plains:{height:["top","bottom"],width:["left","right"]},mode:"both"},a);
var c={width:0,height:0};switch(a.mode){case"vertical":delete c.width;delete a.plains.width;break;case"horizontal":delete c.height;delete a.plains.height;
break;}var b=[];$each(a.plains,function(h,g){h.each(function(i){a.styles.each(function(j){b.push((j=="border")?j+"-"+i+"-width":j+"-"+i);});});});var e={};
b.each(function(g){e[g]=this.getComputedStyle(g);},this);var d=[];$each(a.plains,function(h,g){var i=g.capitalize();c["total"+i]=0;c["computed"+i]=0;h.each(function(j){c["computed"+j.capitalize()]=0;
b.each(function(l,k){if(l.test(j)){e[l]=e[l].toInt()||0;c["total"+i]=c["total"+i]+e[l];c["computed"+j.capitalize()]=c["computed"+j.capitalize()]+e[l];}if(l.test(j)&&g!=l&&(l.test("border")||l.test("padding"))&&!d.contains(l)){d.push(l);
c["computed"+i]=c["computed"+i]-e[l];}});});});["Width","Height"].each(function(h){var g=h.toLowerCase();if(!$chk(c[g])){return;}c[g]=c[g]+this["offset"+h]+c["computed"+h];
c["total"+h]=c[g]+c["total"+h];delete c["computed"+h];},this);return $extend(e,c);}});(function(){var a=Element.prototype.position;Element.implement({position:function(s){if(s&&($defined(s.x)||$defined(s.y))){return a?a.apply(this,arguments):this;
}$each(s||{},function(u,t){if(!$defined(u)){delete s[t];}});s=$merge({relativeTo:document.body,position:{x:"center",y:"center"},edge:false,offset:{x:0,y:0},returnPos:false,relFixedPosition:false,ignoreMargins:false,allowNegative:false},s);
var b={x:0,y:0};var i=false;var c=this.measure(function(){return document.id(this.getOffsetParent());});if(c&&c!=this.getDocument().body){b=c.measure(function(){return this.getPosition();
});i=true;s.offset.x=s.offset.x-b.x;s.offset.y=s.offset.y-b.y;}var r=function(t){if($type(t)!="string"){return t;}t=t.toLowerCase();var u={};if(t.test("left")){u.x="left";
}else{if(t.test("right")){u.x="right";}else{u.x="center";}}if(t.test("upper")||t.test("top")){u.y="top";}else{if(t.test("bottom")){u.y="bottom";}else{u.y="center";
}}return u;};s.edge=r(s.edge);s.position=r(s.position);if(!s.edge){if(s.position.x=="center"&&s.position.y=="center"){s.edge={x:"center",y:"center"};}else{s.edge={x:"left",y:"top"};
}}this.setStyle("position","absolute");var q=document.id(s.relativeTo)||document.body;var j=q==document.body?window.getScroll():q.getPosition();var p=j.y;
var h=j.x;if(Browser.Engine.trident){var m=q.getScrolls();p+=m.y;h+=m.x;}var k=this.getDimensions({computeSize:true,styles:["padding","border","margin"]});
if(s.ignoreMargins){s.offset.x=s.offset.x-k["margin-left"];s.offset.y=s.offset.y-k["margin-top"];}var o={};var d=s.offset.y;var e=s.offset.x;var l=window.getSize();
switch(s.position.x){case"left":o.x=h+e;break;case"right":o.x=h+e+q.offsetWidth;break;default:o.x=h+((q==document.body?l.x:q.offsetWidth)/2)+e;break;}switch(s.position.y){case"top":o.y=p+d;
break;case"bottom":o.y=p+d+q.offsetHeight;break;default:o.y=p+((q==document.body?l.y:q.offsetHeight)/2)+d;break;}if(s.edge){var n={};switch(s.edge.x){case"left":n.x=0;
break;case"right":n.x=-k.x-k.computedRight-k.computedLeft;break;default:n.x=-(k.x/2);break;}switch(s.edge.y){case"top":n.y=0;break;case"bottom":n.y=-k.y-k.computedTop-k.computedBottom;
break;default:n.y=-(k.y/2);break;}o.x=o.x+n.x;o.y=o.y+n.y;}o={left:((o.x>=0||i||s.allowNegative)?o.x:0).toInt(),top:((o.y>=0||i||s.allowNegative)?o.y:0).toInt()};
if(q.getStyle("position")=="fixed"||s.relFixedPosition){var g=window.getScroll();o.top=o.top.toInt()+g.y;o.left=o.left.toInt()+g.x;}if(s.returnPos){return o;
}else{this.setStyles(o);}return this;}});})();Element.implement({isDisplayed:function(){return this.getStyle("display")!="none";},toggle:function(){return this[this.isDisplayed()?"hide":"show"]();
},hide:function(){var b;try{if("none"!=this.getStyle("display")){b=this.getStyle("display");}}catch(a){}return this.store("originalDisplay",b||"block").setStyle("display","none");
},show:function(a){return this.setStyle("display",a||this.retrieve("originalDisplay")||"block");},swapClass:function(a,b){return this.removeClass(a).addClass(b);
}});Fx.Elements=new Class({Extends:Fx.CSS,initialize:function(b,a){this.elements=this.subject=$$(b);this.parent(a);},compute:function(h,j,k){var c={};for(var d in h){var a=h[d],e=j[d],g=c[d]={};
for(var b in a){g[b]=this.parent(a[b],e[b],k);}}return c;},set:function(b){for(var c in b){var a=b[c];for(var d in a){this.render(this.elements[c],d,a[d],this.options.unit);
}}return this;},start:function(c){if(!this.check(c)){return this;}var j={},k={};for(var d in c){var g=c[d],a=j[d]={},h=k[d]={};for(var b in g){var e=this.prepare(this.elements[d],b,g[b]);
a[b]=e.from;h[b]=e.to;}}return this.parent(j,k);}});var Accordion=Fx.Accordion=new Class({Extends:Fx.Elements,options:{display:0,show:false,height:true,width:false,opacity:true,fixedHeight:false,fixedWidth:false,wait:false,alwaysHide:false,trigger:"click",initialDisplayFx:true},initialize:function(){var c=Array.link(arguments,{container:Element.type,options:Object.type,togglers:$defined,elements:$defined});
this.parent(c.elements,c.options);this.togglers=$$(c.togglers);this.container=document.id(c.container);this.previous=-1;if(this.options.alwaysHide){this.options.wait=true;
}if($chk(this.options.show)){this.options.display=false;this.previous=this.options.show;}if(this.options.start){this.options.display=false;this.options.show=false;
}this.effects={};if(this.options.opacity){this.effects.opacity="fullOpacity";}if(this.options.width){this.effects.width=this.options.fixedWidth?"fullWidth":"offsetWidth";
}if(this.options.height){this.effects.height=this.options.fixedHeight?"fullHeight":"scrollHeight";}for(var b=0,a=this.togglers.length;b<a;b++){this.addSection(this.togglers[b],this.elements[b]);
}this.elements.each(function(e,d){if(this.options.show===d){this.fireEvent("active",[this.togglers[d],e]);}else{for(var g in this.effects){e.setStyle(g,0);
}}},this);if($chk(this.options.display)){this.display(this.options.display,this.options.initialDisplayFx);}},addSection:function(d,b){d=document.id(d);
b=document.id(b);var e=this.togglers.contains(d);this.togglers.include(d);this.elements.include(b);var a=this.togglers.indexOf(d);d.addEvent(this.options.trigger,this.display.bind(this,a));
if(this.options.height){b.setStyles({"padding-top":0,"border-top":"none","padding-bottom":0,"border-bottom":"none"});}if(this.options.width){b.setStyles({"padding-left":0,"border-left":"none","padding-right":0,"border-right":"none"});
}b.fullOpacity=1;if(this.options.fixedWidth){b.fullWidth=this.options.fixedWidth;}if(this.options.fixedHeight){b.fullHeight=this.options.fixedHeight;}b.setStyle("overflow","hidden");
if(!e){for(var c in this.effects){b.setStyle(c,0);}}return this;},display:function(a,b){b=$pick(b,true);a=($type(a)=="element")?this.elements.indexOf(a):a;
if((this.timer&&this.options.wait)||(a===this.previous&&!this.options.alwaysHide)){return this;}this.previous=a;var c={};this.elements.each(function(g,e){c[e]={};
var d=(e!=a)||(this.options.alwaysHide&&(g.offsetHeight>0));this.fireEvent(d?"background":"active",[this.togglers[e],g]);for(var h in this.effects){c[e][h]=d?0:g[this.effects[h]];
}},this);return b?this.start(c):this.set(c);}});Fx.Move=new Class({Extends:Fx.Morph,options:{relativeTo:document.body,position:"center",edge:false,offset:{x:0,y:0}},start:function(a){return this.parent(this.element.position($merge(this.options,a,{returnPos:true})));
}});Element.Properties.move={set:function(a){var b=this.retrieve("move");if(b){b.cancel();}return this.eliminate("move").store("move:options",$extend({link:"cancel"},a));
},get:function(a){if(a||!this.retrieve("move")){if(a||!this.retrieve("move:options")){this.set("move",a);}this.store("move",new Fx.Move(this,this.retrieve("move:options")));
}return this.retrieve("move");}};Element.implement({move:function(a){this.get("move").start(a);return this;}});Fx.Reveal=new Class({Extends:Fx.Morph,options:{styles:["padding","border","margin"],transitionOpacity:!Browser.Engine.trident4,mode:"vertical",display:"block",hideInputs:Browser.Engine.trident?"select, input, textarea, object, embed":false},dissolve:function(){try{if(!this.hiding&&!this.showing){if(this.element.getStyle("display")!="none"){this.hiding=true;
this.showing=false;this.hidden=true;var d=this.element.getComputedSize({styles:this.options.styles,mode:this.options.mode});var h=(this.element.style.height===""||this.element.style.height=="auto");
this.element.setStyle("display","block");if(this.options.transitionOpacity){d.opacity=1;}var b={};$each(d,function(i,e){b[e]=[i,0];},this);var g=this.element.getStyle("overflow");
this.element.setStyle("overflow","hidden");var a=this.options.hideInputs?this.element.getElements(this.options.hideInputs):null;this.$chain.unshift(function(){if(this.hidden){this.hiding=false;
$each(d,function(i,e){d[e]=i;},this);this.element.setStyles($merge({display:"none",overflow:g},d));if(h){if(["vertical","both"].contains(this.options.mode)){this.element.style.height="";
}if(["width","both"].contains(this.options.mode)){this.element.style.width="";}}if(a){a.setStyle("visibility","visible");}}this.fireEvent("hide",this.element);
this.callChain();}.bind(this));if(a){a.setStyle("visibility","hidden");}this.start(b);}else{this.callChain.delay(10,this);this.fireEvent("complete",this.element);
this.fireEvent("hide",this.element);}}else{if(this.options.link=="chain"){this.chain(this.dissolve.bind(this));}else{if(this.options.link=="cancel"&&!this.hiding){this.cancel();
this.dissolve();}}}}catch(c){this.hiding=false;this.element.setStyle("display","none");this.callChain.delay(10,this);this.fireEvent("complete",this.element);
this.fireEvent("hide",this.element);}return this;},reveal:function(){try{if(!this.showing&&!this.hiding){if(this.element.getStyle("display")=="none"||this.element.getStyle("visiblity")=="hidden"||this.element.getStyle("opacity")==0){this.showing=true;
this.hiding=false;this.hidden=false;var h,d;this.element.measure(function(){h=(this.element.style.height===""||this.element.style.height=="auto");d=this.element.getComputedSize({styles:this.options.styles,mode:this.options.mode});
}.bind(this));$each(d,function(i,e){d[e]=i;});if($chk(this.options.heightOverride)){d.height=this.options.heightOverride.toInt();}if($chk(this.options.widthOverride)){d.width=this.options.widthOverride.toInt();
}if(this.options.transitionOpacity){this.element.setStyle("opacity",0);d.opacity=1;}var b={height:0,display:this.options.display};$each(d,function(i,e){b[e]=0;
});var g=this.element.getStyle("overflow");this.element.setStyles($merge(b,{overflow:"hidden"}));var a=this.options.hideInputs?this.element.getElements(this.options.hideInputs):null;
if(a){a.setStyle("visibility","hidden");}this.start(d);this.$chain.unshift(function(){this.element.setStyle("overflow",g);if(!this.options.heightOverride&&h){if(["vertical","both"].contains(this.options.mode)){this.element.style.height="";
}if(["width","both"].contains(this.options.mode)){this.element.style.width="";}}if(!this.hidden){this.showing=false;}if(a){a.setStyle("visibility","visible");
}this.callChain();this.fireEvent("show",this.element);}.bind(this));}else{this.callChain();this.fireEvent("complete",this.element);this.fireEvent("show",this.element);
}}else{if(this.options.link=="chain"){this.chain(this.reveal.bind(this));}else{if(this.options.link=="cancel"&&!this.showing){this.cancel();this.reveal();
}}}}catch(c){this.element.setStyles({display:this.options.display,visiblity:"visible",opacity:1});this.showing=false;this.callChain.delay(10,this);this.fireEvent("complete",this.element);
this.fireEvent("show",this.element);}return this;},toggle:function(){if(this.element.getStyle("display")=="none"||this.element.getStyle("visiblity")=="hidden"||this.element.getStyle("opacity")==0){this.reveal();
}else{this.dissolve();}return this;}});Element.Properties.reveal={set:function(a){var b=this.retrieve("reveal");if(b){b.cancel();}return this.eliminate("reveal").store("reveal:options",$extend({link:"cancel"},a));
},get:function(a){if(a||!this.retrieve("reveal")){if(a||!this.retrieve("reveal:options")){this.set("reveal",a);}this.store("reveal",new Fx.Reveal(this,this.retrieve("reveal:options")));
}return this.retrieve("reveal");}};Element.Properties.dissolve=Element.Properties.reveal;Element.implement({reveal:function(a){this.get("reveal",a).reveal();
return this;},dissolve:function(a){this.get("reveal",a).dissolve();return this;},nix:function(){var a=Array.link(arguments,{destroy:Boolean.type,options:Object.type});
this.get("reveal",a.options).dissolve().chain(function(){this[a.destroy?"destroy":"dispose"]();}.bind(this));return this;},wink:function(){var b=Array.link(arguments,{duration:Number.type,options:Object.type});
var a=this.get("reveal",b.options);a.reveal().chain(function(){(function(){a.dissolve();}).delay(b.duration||2000);});}});Fx.Scroll=new Class({Extends:Fx,options:{offset:{x:0,y:0},wheelStops:true},initialize:function(b,a){this.element=this.subject=document.id(b);
this.parent(a);var d=this.cancel.bind(this,false);if($type(this.element)!="element"){this.element=document.id(this.element.getDocument().body);}var c=this.element;
if(this.options.wheelStops){this.addEvent("start",function(){c.addEvent("mousewheel",d);},true);this.addEvent("complete",function(){c.removeEvent("mousewheel",d);
},true);}},set:function(){var a=Array.flatten(arguments);this.element.scrollTo(a[0],a[1]);},compute:function(c,b,a){return[0,1].map(function(d){return Fx.compute(c[d],b[d],a);
});},start:function(c,i){if(!this.check(c,i)){return this;}var e=this.element.getSize(),g=this.element.getScrollSize();var b=this.element.getScroll(),d={x:c,y:i};
for(var h in d){var a=g[h]-e[h];if($chk(d[h])){d[h]=($type(d[h])=="number")?d[h].limit(0,a):a;}else{d[h]=b[h];}d[h]+=this.options.offset[h];}return this.parent([b.x,b.y],[d.x,d.y]);
},toTop:function(){return this.start(false,0);},toLeft:function(){return this.start(0,false);},toRight:function(){return this.start("right",false);},toBottom:function(){return this.start(false,"bottom");
},toElement:function(b){var a=document.id(b).getPosition(this.element);return this.start(a.x,a.y);},scrollIntoView:function(c,e,d){e=e?$splat(e):["x","y"];
var i={};c=document.id(c);var g=c.getPosition(this.element);var j=c.getSize();var h=this.element.getScroll();var a=this.element.getSize();var b={x:g.x+j.x,y:g.y+j.y};
["x","y"].each(function(k){if(e.contains(k)){if(b[k]>h[k]+a[k]){i[k]=b[k]-a[k];}if(g[k]<h[k]){i[k]=g[k];}}if(i[k]==null){i[k]=h[k];}if(d&&d[k]){i[k]=i[k]+d[k];
}},this);if(i.x!=h.x||i.y!=h.y){this.start(i.x,i.y);}return this;}});Fx.Slide=new Class({Extends:Fx,options:{mode:"vertical"},initialize:function(b,a){this.addEvent("complete",function(){this.open=(this.wrapper["offset"+this.layout.capitalize()]!=0);
if(this.open&&Browser.Engine.webkit419){this.element.dispose().inject(this.wrapper);}},true);this.element=this.subject=document.id(b);this.parent(a);var c=this.element.retrieve("wrapper");
this.wrapper=c||new Element("div",{styles:$extend(this.element.getStyles("margin","position"),{overflow:"hidden"})}).wraps(this.element);this.element.store("wrapper",this.wrapper).setStyle("margin",0);
this.now=[];this.open=true;},vertical:function(){this.margin="margin-top";this.layout="height";this.offset=this.element.offsetHeight;},horizontal:function(){this.margin="margin-left";
this.layout="width";this.offset=this.element.offsetWidth;},set:function(a){this.element.setStyle(this.margin,a[0]);this.wrapper.setStyle(this.layout,a[1]);
return this;},compute:function(c,b,a){return[0,1].map(function(d){return Fx.compute(c[d],b[d],a);});},start:function(b,e){if(!this.check(b,e)){return this;
}this[e||this.options.mode]();var d=this.element.getStyle(this.margin).toInt();var c=this.wrapper.getStyle(this.layout).toInt();var a=[[d,c],[0,this.offset]];
var h=[[d,c],[-this.offset,0]];var g;switch(b){case"in":g=a;break;case"out":g=h;break;case"toggle":g=(c==0)?a:h;}return this.parent(g[0],g[1]);},slideIn:function(a){return this.start("in",a);
},slideOut:function(a){return this.start("out",a);},hide:function(a){this[a||this.options.mode]();this.open=false;return this.set([-this.offset,0]);},show:function(a){this[a||this.options.mode]();
this.open=true;return this.set([0,this.offset]);},toggle:function(a){return this.start("toggle",a);}});Element.Properties.slide={set:function(b){var a=this.retrieve("slide");
if(a){a.cancel();}return this.eliminate("slide").store("slide:options",$extend({link:"cancel"},b));},get:function(a){if(a||!this.retrieve("slide")){if(a||!this.retrieve("slide:options")){this.set("slide",a);
}this.store("slide",new Fx.Slide(this,this.retrieve("slide:options")));}return this.retrieve("slide");}};Element.implement({slide:function(d,e){d=d||"toggle";
var b=this.get("slide"),a;switch(d){case"hide":b.hide(e);break;case"show":b.show(e);break;case"toggle":var c=this.retrieve("slide:flag",b.open);b[c?"slideOut":"slideIn"](e);
this.store("slide:flag",!c);a=true;break;default:b.start(d,e);}if(!a){this.eliminate("slide:flag");}return this;}});var SmoothScroll=Fx.SmoothScroll=new Class({Extends:Fx.Scroll,initialize:function(b,c){c=c||document;
this.doc=c.getDocument();var d=c.getWindow();this.parent(this.doc,b);this.links=this.options.links?$$(this.options.links):$$(this.doc.links);var a=d.location.href.match(/^[^#]*/)[0]+"#";
this.links.each(function(g){if(g.href.indexOf(a)!=0){return;}var e=g.href.substr(a.length);if(e){this.useLink(g,e);}},this);if(!Browser.Engine.webkit419){this.addEvent("complete",function(){d.location.hash=this.anchor;
},true);}},useLink:function(c,a){var b;c.addEvent("click",function(d){if(b!==false&&!b){b=document.id(a)||this.doc.getElement("a[name="+a+"]");}if(b){d.preventDefault();
this.anchor=a;this.toElement(b);c.blur();}}.bind(this));}});Fx.Sort=new Class({Extends:Fx.Elements,options:{mode:"vertical"},initialize:function(b,a){this.parent(b,a);
this.elements.each(function(c){if(c.getStyle("position")=="static"){c.setStyle("position","relative");}});this.setDefaultOrder();},setDefaultOrder:function(){this.currentOrder=this.elements.map(function(b,a){return a;
});},sort:function(e){if($type(e)!="array"){return false;}var j=0;var a=0;var i={};var d=this.options.mode=="vertical";var g=this.elements.map(function(n,k){var m=n.getComputedSize({styles:["border","padding","margin"]});
var o;if(d){o={top:j,margin:m["margin-top"],height:m.totalHeight};j+=o.height-m["margin-top"];}else{o={left:a,margin:m["margin-left"],width:m.totalWidth};
a+=o.width;}var l=d?"top":"left";i[k]={};var p=n.getStyle(l).toInt();i[k][l]=p||0;return o;},this);this.set(i);e=e.map(function(k){return k.toInt();});
if(e.length!=this.elements.length){this.currentOrder.each(function(k){if(!e.contains(k)){e.push(k);}});if(e.length>this.elements.length){e.splice(this.elements.length-1,e.length-this.elements.length);
}}j=0;a=0;var b=0;var c={};e.each(function(m,k){var l={};if(d){l.top=j-g[m].top-b;j+=g[m].height;}else{l.left=a-g[m].left;a+=g[m].width;}b=b+g[m].margin;
c[m]=l;},this);var h={};$A(e).sort().each(function(k){h[k]=c[k];});this.start(h);this.currentOrder=e;return this;},rearrangeDOM:function(a){a=a||this.currentOrder;
var b=this.elements[0].getParent();var c=[];this.elements.setStyle("opacity",0);a.each(function(d){c.push(this.elements[d].inject(b).setStyles({top:0,left:0}));
},this);this.elements.setStyle("opacity",1);this.elements=$$(c);this.setDefaultOrder();return this;},getDefaultOrder:function(){return this.elements.map(function(b,a){return a;
});},forward:function(){return this.sort(this.getDefaultOrder());},backward:function(){return this.sort(this.getDefaultOrder().reverse());},reverse:function(){return this.sort(this.currentOrder.reverse());
},sortByElements:function(a){return this.sort(a.map(function(b){return this.elements.indexOf(b);},this));},swap:function(c,b){if($type(c)=="element"){c=this.elements.indexOf(c);
}if($type(b)=="element"){b=this.elements.indexOf(b);}var a=$A(this.currentOrder);a[this.currentOrder.indexOf(c)]=b;a[this.currentOrder.indexOf(b)]=c;this.sort(a);
}});Request.JSONP=new Class({Implements:[Chain,Events,Options,Log],options:{url:"",data:{},retries:0,timeout:0,link:"ignore",callbackKey:"callback",injectScript:document.head},initialize:function(a){this.setOptions(a);
this.running=false;this.requests=0;this.triesRemaining=[];},check:function(){if(!this.running){return true;}switch(this.options.link){case"cancel":this.cancel();
return true;case"chain":this.chain(this.caller.bind(this,arguments));return false;}return false;},send:function(c){if(!$chk(arguments[1])&&!this.check(c)){return this;
}var e=$type(c),a=this.options,b=$chk(arguments[1])?arguments[1]:this.requests++;if(e=="string"||e=="element"){c={data:c};}c=$extend({data:a.data,url:a.url},c);
if(!$chk(this.triesRemaining[b])){this.triesRemaining[b]=this.options.retries;}var d=this.triesRemaining[b];(function(){var g=this.getScript(c);this.log("JSONP retrieving script with url: "+g.get("src"));
this.fireEvent("request",g);this.running=true;(function(){if(d){this.triesRemaining[b]=d-1;if(g){g.destroy();this.send(c,b);this.fireEvent("retry",this.triesRemaining[b]);
}}else{if(g&&this.options.timeout){g.destroy();this.cancel();this.fireEvent("failure");}}}).delay(this.options.timeout,this);}).delay(Browser.Engine.trident?50:0,this);
return this;},cancel:function(){if(!this.running){return this;}this.running=false;this.fireEvent("cancel");return this;},getScript:function(c){var b=Request.JSONP.counter,d;
Request.JSONP.counter++;switch($type(c.data)){case"element":d=document.id(c.data).toQueryString();break;case"object":case"hash":d=Hash.toQueryString(c.data);
}var e=c.url+(c.url.test("\\?")?"&":"?")+(c.callbackKey||this.options.callbackKey)+"=Request.JSONP.request_map.request_"+b+(d?"&"+d:"");if(e.length>2083){this.log("JSONP "+e+" will fail in Internet Explorer, which enforces a 2083 bytes length limit on URIs");
}var a=new Element("script",{type:"text/javascript",src:e});Request.JSONP.request_map["request_"+b]=function(g){this.success(g,a);}.bind(this);return a.inject(this.options.injectScript);
},success:function(b,a){if(a){a.destroy();}this.running=false;this.log("JSONP successfully retrieved: ",b);this.fireEvent("complete",[b]).fireEvent("success",[b]).callChain();
}});Request.JSONP.counter=0;Request.JSONP.request_map={};Request.Queue=new Class({Implements:[Options,Events],Binds:["attach","request","complete","cancel","success","failure","exception"],options:{stopOnFailure:true,autoAdvance:true,concurrent:1,requests:{}},initialize:function(a){this.setOptions(a);
this.requests=new Hash;this.addRequests(this.options.requests);this.queue=[];this.reqBinders={};},addRequest:function(a,b){this.requests.set(a,b);this.attach(a,b);
return this;},addRequests:function(a){$each(a,function(c,b){this.addRequest(b,c);},this);return this;},getName:function(a){return this.requests.keyOf(a);
},attach:function(a,b){if(b._groupSend){return this;}["request","complete","cancel","success","failure","exception"].each(function(c){if(!this.reqBinders[a]){this.reqBinders[a]={};
}this.reqBinders[a][c]=function(){this["on"+c.capitalize()].apply(this,[a,b].extend(arguments));}.bind(this);b.addEvent(c,this.reqBinders[a][c]);},this);
b._groupSend=b.send;b.send=function(c){this.send(a,c);return b;}.bind(this);return this;},removeRequest:function(b){var a=$type(b)=="object"?this.getName(b):b;
if(!a&&$type(a)!="string"){return this;}b=this.requests.get(a);if(!b){return this;}["request","complete","cancel","success","failure","exception"].each(function(c){b.removeEvent(c,this.reqBinders[a][c]);
},this);b.send=b._groupSend;delete b._groupSend;return this;},getRunning:function(){return this.requests.filter(function(a){return a.running;});},isRunning:function(){return !!this.getRunning().getKeys().length;
},send:function(b,a){var c=function(){this.requests.get(b)._groupSend(a);this.queue.erase(c);}.bind(this);c.name=b;if(this.getRunning().getKeys().length>=this.options.concurrent||(this.error&&this.options.stopOnFailure)){this.queue.push(c);
}else{c();}return this;},hasNext:function(a){return(!a)?!!this.queue.length:!!this.queue.filter(function(b){return b.name==a;}).length;},resume:function(){this.error=false;
(this.options.concurrent-this.getRunning().getKeys().length).times(this.runNext,this);return this;},runNext:function(a){if(!this.queue.length){return this;
}if(!a){this.queue[0]();}else{var b;this.queue.each(function(c){if(!b&&c.name==a){b=true;c();}});}return this;},runAll:function(){this.queue.each(function(a){a();
});return this;},clear:function(a){if(!a){this.queue.empty();}else{this.queue=this.queue.map(function(b){if(b.name!=a){return b;}else{return false;}}).filter(function(b){return b;
});}return this;},cancel:function(a){this.requests.get(a).cancel();return this;},onRequest:function(){this.fireEvent("request",arguments);},onComplete:function(){this.fireEvent("complete",arguments);
},onCancel:function(){if(this.options.autoAdvance&&!this.error){this.runNext();}this.fireEvent("cancel",arguments);},onSuccess:function(){if(this.options.autoAdvance&&!this.error){this.runNext();
}this.fireEvent("success",arguments);},onFailure:function(){this.error=true;if(!this.options.stopOnFailure&&this.options.autoAdvance){this.runNext();}this.fireEvent("failure",arguments);
},onException:function(){this.error=true;if(!this.options.stopOnFailure&&this.options.autoAdvance){this.runNext();}this.fireEvent("exception",arguments);
}});var Asset={javascript:function(g,d){d=$extend({onload:$empty,document:document,check:$lambda(true)},d);var b=new Element("script",{src:g,type:"text/javascript"});
var e=d.onload.bind(b),a=d.check,h=d.document;delete d.onload;delete d.check;delete d.document;b.addEvents({load:e,readystatechange:function(){if(["loaded","complete"].contains(this.readyState)){e();
}}}).set(d);if(Browser.Engine.webkit419){var c=(function(){if(!$try(a)){return;}$clear(c);e();}).periodical(50);}return b.inject(h.head);},css:function(b,a){return new Element("link",$merge({rel:"stylesheet",media:"screen",type:"text/css",href:b},a)).inject(document.head);
},image:function(c,b){b=$merge({onload:$empty,onabort:$empty,onerror:$empty},b);var d=new Image();var a=document.id(d)||new Element("img");["load","abort","error"].each(function(e){var g="on"+e;
var h=b[g];delete b[g];d[g]=function(){if(!d){return;}if(!a.parentNode){a.width=d.width;a.height=d.height;}d=d.onload=d.onabort=d.onerror=null;h.delay(1,a,a);
a.fireEvent(e,a,1);};});d.src=a.src=c;if(d&&d.complete){d.onload.delay(1);}return a.set(b);},images:function(d,c){c=$merge({onComplete:$empty,onProgress:$empty,onError:$empty,properties:{}},c);
d=$splat(d);var a=[];var b=0;return new Elements(d.map(function(e){return Asset.image(e,$extend(c.properties,{onload:function(){c.onProgress.call(this,b,d.indexOf(e));
b++;if(b==d.length){c.onComplete();}},onerror:function(){c.onError.call(this,b,d.indexOf(e));b++;if(b==d.length){c.onComplete();}}}));}));}};var Color=new Native({initialize:function(b,c){if(arguments.length>=3){c="rgb";
b=Array.slice(arguments,0,3);}else{if(typeof b=="string"){if(b.match(/rgb/)){b=b.rgbToHex().hexToRgb(true);}else{if(b.match(/hsb/)){b=b.hsbToRgb();}else{b=b.hexToRgb(true);
}}}}c=c||"rgb";switch(c){case"hsb":var a=b;b=b.hsbToRgb();b.hsb=a;break;case"hex":b=b.hexToRgb(true);break;}b.rgb=b.slice(0,3);b.hsb=b.hsb||b.rgbToHsb();
b.hex=b.rgbToHex();return $extend(b,this);}});Color.implement({mix:function(){var a=Array.slice(arguments);var c=($type(a.getLast())=="number")?a.pop():50;
var b=this.slice();a.each(function(d){d=new Color(d);for(var e=0;e<3;e++){b[e]=Math.round((b[e]/100*(100-c))+(d[e]/100*c));}});return new Color(b,"rgb");
},invert:function(){return new Color(this.map(function(a){return 255-a;}));},setHue:function(a){return new Color([a,this.hsb[1],this.hsb[2]],"hsb");},setSaturation:function(a){return new Color([this.hsb[0],a,this.hsb[2]],"hsb");
},setBrightness:function(a){return new Color([this.hsb[0],this.hsb[1],a],"hsb");}});var $RGB=function(d,c,a){return new Color([d,c,a],"rgb");};var $HSB=function(d,c,a){return new Color([d,c,a],"hsb");
};var $HEX=function(a){return new Color(a,"hex");};Array.implement({rgbToHsb:function(){var b=this[0],c=this[1],k=this[2];var h,g,i;var j=Math.max(b,c,k),e=Math.min(b,c,k);
var l=j-e;i=j/255;g=(j!=0)?l/j:0;if(g==0){h=0;}else{var d=(j-b)/l;var a=(j-c)/l;var m=(j-k)/l;if(b==j){h=m-a;}else{if(c==j){h=2+d-m;}else{h=4+a-d;}}h/=6;
if(h<0){h++;}}return[Math.round(h*360),Math.round(g*100),Math.round(i*100)];},hsbToRgb:function(){var c=Math.round(this[2]/100*255);if(this[1]==0){return[c,c,c];
}else{var a=this[0]%360;var e=a%60;var g=Math.round((this[2]*(100-this[1]))/10000*255);var d=Math.round((this[2]*(6000-this[1]*e))/600000*255);var b=Math.round((this[2]*(6000-this[1]*(60-e)))/600000*255);
switch(Math.floor(a/60)){case 0:return[c,b,g];case 1:return[d,c,g];case 2:return[g,c,b];case 3:return[g,d,c];case 4:return[b,g,c];case 5:return[c,g,d];
}}return false;}});String.implement({rgbToHsb:function(){var a=this.match(/\d{1,3}/g);return(a)?a.rgbToHsb():null;},hsbToRgb:function(){var a=this.match(/\d{1,3}/g);
return(a)?a.hsbToRgb():null;}});var Scroller=new Class({Implements:[Events,Options],options:{area:20,velocity:1,onChange:function(a,b){this.element.scrollTo(a,b);
},fps:50},initialize:function(b,a){this.setOptions(a);this.element=document.id(b);this.listener=($type(this.element)!="element")?document.id(this.element.getDocument().body):this.element;
this.timer=null;this.bound={attach:this.attach.bind(this),detach:this.detach.bind(this),getCoords:this.getCoords.bind(this)};},start:function(){this.listener.addEvents({mouseenter:this.bound.attach,mouseleave:this.bound.detach});
},stop:function(){this.listener.removeEvents({mouseenter:this.bound.attach,mouseleave:this.bound.detach});this.timer=$clear(this.timer);},attach:function(){this.listener.addEvent("mousemove",this.bound.getCoords);
},detach:function(){this.listener.removeEvent("mousemove",this.bound.getCoords);this.timer=$clear(this.timer);},getCoords:function(a){this.page=(this.listener.get("tag")=="body")?a.client:a.page;
if(!this.timer){this.timer=this.scroll.periodical(Math.round(1000/this.options.fps),this);}},scroll:function(){var b=this.element.getSize(),a=this.element.getScroll(),g=this.element.getOffsets(),c=this.element.getScrollSize(),e={x:0,y:0};
for(var d in this.page){if(this.page[d]<(this.options.area+g[d])&&a[d]!=0){e[d]=(this.page[d]-this.options.area-g[d])*this.options.velocity;}else{if(this.page[d]+this.options.area>(b[d]+g[d])&&a[d]+b[d]!=c[d]){e[d]=(this.page[d]-b[d]+this.options.area-g[d])*this.options.velocity;
}}}if(e.y||e.x){this.fireEvent("change",[a.x+e.x,a.y+e.y]);}}});MooTools.lang.set("en-US","Date",{months:["January","February","March","April","May","June","July","August","September","October","November","December"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dateOrder:["month","date","year"],shortDate:"%m/%d/%Y",shortTime:"%I:%M%p",AM:"AM",PM:"PM",ordinal:function(a){return(a>3&&a<21)?"th":["th","st","nd","rd","th"][Math.min(a%10,4)];
},lessThanMinuteAgo:"less than a minute ago",minuteAgo:"about a minute ago",minutesAgo:"{delta} minutes ago",hourAgo:"about an hour ago",hoursAgo:"about {delta} hours ago",dayAgo:"1 day ago",daysAgo:"{delta} days ago",lessThanMinuteUntil:"less than a minute from now",minuteUntil:"about a minute from now",minutesUntil:"{delta} minutes from now",hourUntil:"about an hour from now",hoursUntil:"about {delta} hours from now",dayUntil:"1 day from now",daysUntil:"{delta} days from now"});/**************************************************************

	Script	: Image Menu
	Version	: 2.2
	Authors	: Samuel Birch
	Desc	: 
	Licence	: Open Source MIT Licence

**************************************************************/

var ImageMenu = new Class({
	
	getOptions: function(){
		return {
			onOpen: false,
			onClose: Class.empty,
			openWidth: 200,
			transition: Fx.Transitions.Quad.easeOut,
			duration: 400,
			open: null,
			border: 0
		};
	},

	initialize: function(elements, options){
		this.setOptions(this.getOptions(), options);
		
		this.elements = $$(elements);
		
		this.widths = {};
		this.widths.closed = this.elements[0].getStyle('width').toInt();
		this.widths.openSelected = this.options.openWidth;
		this.widths.openOthers = Math.round(((this.widths.closed*this.elements.length) - (this.widths.openSelected+this.options.border)) / (this.elements.length-1))
		
		
		this.fx = new Fx.Elements(this.elements, {wait: false, duration: this.options.duration, transition: this.options.transition});
		
		this.elements.each(function(el,i){
			el.addEvent('mouseenter', function(e){
				new Event(e).stop();
				this.reset(i);
				
			}.bind(this));
			
			el.addEvent('mouseleave', function(e){
				new Event(e).stop();
				this.reset(this.options.open);
				
			}.bind(this));
			
			var obj = this;
			
			el.addEvent('click', function(e){

				if(obj.options.onOpen){
					new Event(e).stop();
					if(obj.options.open == i){
						obj.options.open = null;
						obj.options.onClose(this.href, i);
					}else{
						obj.options.open = i;
						obj.options.onOpen(this.href, i);
					}
					
					
				}
				
			})
			
		}.bind(this));
		
		if(this.options.open){
			if($type(this.options.open) == 'number'){
				this.reset(this.options.open);
			}else{
				this.elements.each(function(el,i){
					if(el.id == this.options.open){
						this.reset(i);
					}
				},this);
			}
		}
		
	},
	
	reset: function(num){
		if($type(num) == 'number'){
			var width = this.widths.openOthers;
			if(num+1 == this.elements.length){
				width += this.options.border;
			}
		}else{
			var width = this.widths.closed;
		}
		
		var obj = {};
		this.elements.each(function(el,i){
			var w = width;
			if(i == this.elements.length-1){
				w = width+5
			}
			obj[i] = {'width': w};
		}.bind(this));
		
		if($type(num) == 'number'){
			obj[num] = {'width': this.widths.openSelected};
		}
				
		this.fx.start(obj);
	}
	
});

ImageMenu.implement(new Options);
ImageMenu.implement(new Events);


/*************************************************************//**
Script: Slideshow.js
	Slideshow - A javascript class for Mootools to stream and animate the presentation of images on your website.

License:
	MIT-style license.

Copyright:
	Copyright (c) 2008 [Aeron Glemann](http://www.electricprism.com/aeron/).

Dependencies:
	Mootools 1.2 Core: Fx.Morph, Fx.Tween, Selectors, Element.Dimensions.
	Mootools 1.2 More: Assets.
*/

Slideshow = new Class({
	Implements: [Chain, Events, Options],
	
	options: {/*
		onComplete: $empty,
		onEnd: $empty,
		onStart: $empty,*/
		captions: false,
		center: true,
		classes: [],
		controller: false,
		delay: 2000,
		duration: 750,
		fast: false,
		height: false,
		href: '',
		hu: '',
		linked: false,
		loader: {'animate': ['css/loader-#.png', 12]},
		loop: true,
		match: /\?slide=(\d+)$/,
		overlap: true,
		paused: false,
		properties: ['href', 'rel', 'rev', 'title'],
		random: false,
		replace: [/(\.[^\.]+)$/, 't$1'],
		resize: 'fill',
		slide: 0,
		thumbnails: false,
		titles: true,
		transition: function(p){return -(Math.cos(Math.PI * p) - 1) / 2;},
		width: false
	},
	
/**
Constructor: initialize
	Creates an instance of the Slideshow class.
	
Arguments:
	element - (element) The wrapper element.
	data - (array or object) The images and optional thumbnails, captions and links for the show.
	options - (object) The options below.
	
Syntax:
	var myShow = new Slideshow(element, data, options);
*/

	initialize: function(el, data, options){	
		this.setOptions(options);
		this.slideshow = document.id(el);
		if (!this.slideshow) 
			return;
		this.slideshow.set('styles', {'display': 'block', 'position': 'relative', 'z-index': 0});
		var match = window.location.href.match(this.options.match);
		this.slide = (this.options.match && match) ? match[1].toInt() : this.options.slide;
		this.counter = this.delay = this.transition = 0;
		this.direction = 'left';
		this.paused = false;
		if (!this.options.overlap)
			this.options.duration *= 2;
		var anchor = this.slideshow.getElement('a') || new Element('a');
		if (!this.options.href)
			this.options.href = anchor.get('href') || '';
		if (this.options.hu.length && !this.options.hu.test(/\/$/)) 
			this.options.hu += '/';
		if (this.options.fast === true)
			this.options.fast = 2;
			
		// styles
		
		var keys = ['slideshow', 'first', 'prev', 'play', 'pause', 'next', 'last', 'images', 'captions', 'controller', 'thumbnails', 'hidden', 'visible', 'inactive', 'active', 'loader'];
		var values = keys.map(function(key, i){
			return this.options.classes[i] || key;
		}, this);
		this.classes = values.associate(keys);
		this.classes.get = function(){
			var str = '.' + this.slideshow;
			for (var i = 0, l = arguments.length; i < l; i++)
				str += ('-' + this[arguments[i]]);
			return str;
		}.bind(this.classes);
			
		// data	
			
		if (!data){
			this.options.hu = '';
			data = {};
			var thumbnails = this.slideshow.getElements(this.classes.get('thumbnails') + ' img');
			this.slideshow.getElements(this.classes.get('images') + ' img').each(function(img, i){
				var src = img.get('src');
				var caption = $pick(img.get('alt'), img.get('title'), '');
				var parent = img.getParent();
				var properties = (parent.get('tag') == 'a') ? parent.getProperties : {};
				var href = img.getParent().get('href') || '';
				var thumbnail = (thumbnails[i]) ? thumbnails[i].get('src') : '';
				data[src] = {'caption': caption, 'href': href, 'thumbnail': thumbnail};
			});
		}
		var loaded = this.load(data);
		if (!loaded)
			return; 
		
		// events
		
		this.events = $H({'keydown': [], 'keyup': [], 'mousemove': []});
		var keyup = function(e){
			switch(e.key){
				case 'left': 
					this.prev(e.shift); break;
				case 'right': 
					this.next(e.shift); break;
				case 'p': 
					this.pause(); break;
			}
		}.bind(this);		
		this.events.keyup.push(keyup);
		document.addEvent('keyup', keyup);

		// required elements
			
		var el = this.slideshow.getElement(this.classes.get('images'));
		var images = (el) ? el.empty() : new Element('div', {'class': this.classes.get('images').substr(1)}).inject(this.slideshow);
		var div = images.getSize();
		this.height = this.options.height || div.y;		
		this.width = this.options.width || div.x;
		images.set({'styles': {'display': 'block', 'height': this.height, 'overflow': 'hidden', 'position': 'relative', 'width': this.width}});
		this.slideshow.store('images', images);
		this.a = this.image = this.slideshow.getElement('img') || new Element('img');
		if (Browser.Engine.trident && Browser.Engine.version > 4)
			this.a.style.msInterpolationMode = 'bicubic';
		this.a.set('styles', {'display': 'none', 'position': 'absolute', 'zIndex': 1});
		this.b = this.a.clone();
		[this.a, this.b].each(function(img){
			anchor.clone().cloneEvents(anchor).grab(img).inject(images);
		});
		
		// optional elements
		
		if (this.options.captions)
 			this._captions();
		if (this.options.controller)
			this._controller();
		if (this.options.loader)
 			this._loader();
		if (this.options.thumbnails)
			this._thumbnails();
			
		// begin show
		
		this._preload();
	},
	
/**
Public method: go
	Jump directly to a slide in the show.

Arguments:
	n - (integer) The index number of the image to jump to, 0 being the first image in the show.
	
Syntax:
	myShow.go(n);	
*/

	go: function(n, direction){
		if ((this.slide - 1 + this.data.images.length) % this.data.images.length == n || $time() < this.transition)
			return;		
		$clear(this.timer);
		this.delay = 0;		
		this.direction = (direction) ? direction : ((n < this.slide) ? 'right' : 'left');
		this.slide = n;
		if (this.preloader) 
			this.preloader = this.preloader.destroy();
		this._preload(this.options.fast == 2 || (this.options.fast == 1 && this.paused));
	},

/**
Public method: first
	Goes to the first image in the show.

Syntax:
	myShow.first();	
*/

	first: function(){
		this.prev(true); 
	},

/**
Public method: prev
	Goes to the previous image in the show.

Syntax:
	myShow.prev();	
*/

	prev: function(first){
		var n = 0;
		if (!first){
			if (this.options.random){
				
				// if it's a random show get the previous slide from the showed array

				if (this.showed.i < 2)
					return;
				this.showed.i -= 2;
				n = this.showed.array[this.showed.i];
			}
			else
				n = (this.slide - 2 + this.data.images.length) % this.data.images.length;									
		}
		this.go(n, 'right');
	},

/**
Public method: pause
	Toggles play / pause state of the show.

Arguments:
	p - (undefined, 1 or 0) Call pause with no arguments to toggle the pause state. Call pause(1) to force pause, or pause(0) to force play.

Syntax:
	myShow.pause(p);	
*/

	pause: function(p){
		if ($chk(p))
			this.paused = (p) ? false : true;
		if (this.paused){
			this.paused = false;
			this.delay = this.transition = 0;		
			this.timer = this._preload.delay(100, this);
			[this.a, this.b].each(function(img){
				['morph', 'tween'].each(function(p){
					if (this.retrieve(p)) this.get(p).resume();
				}, img);
			});
			if (this.options.controller)
				this.slideshow.getElement('.' + this.classes.pause).removeClass(this.classes.play);
		} 
		else {
			this.paused = true;
			this.delay = Number.MAX_VALUE;
			this.transition = 0;
			$clear(this.timer);
			[this.a, this.b].each(function(img){
				['morph', 'tween'].each(function(p){
					if (this.retrieve(p)) this.get(p).pause();
				}, img);
			});
			if (this.options.controller)
				this.slideshow.getElement('.' + this.classes.pause).addClass(this.classes.play);
		}
	},
	
/**
Public method: next
	Goes to the next image in the show.

Syntax:
	myShow.next();	
*/

	next: function(last){
		var n = (last) ? this.data.images.length - 1 : this.slide;
		this.go(n, 'left');
	},

/**
Public method: last
	Goes to the last image in the show.

Syntax:
	myShow.last();	
*/

	last: function(){
		this.next(true); 
	},

/**
Public method: load
	Loads a new data set into the show: will stop the current show, rewind and rebuild thumbnails if applicable.

Arguments:
	data - (array or object) The images and optional thumbnails, captions and links for the show.

Syntax:
	myShow.load(data);
*/

	load: function(data){
		this.firstrun = true;
		this.showed = {'array': [], 'i': 0};
		if ($type(data) == 'array'){
			this.options.captions = false;			
			data = new Array(data.length).associate(data.map(function(image, i){ return image + '?' + i })); 
		}
		this.data = {'images': [], 'captions': [], 'hrefs': [], 'thumbnails': [], 'targets': []};
		for (var image in data){
			var obj = data[image] || {};
			var caption = (obj.caption) ? obj.caption.trim() : '';
			var href = (obj.href) ? obj.href.trim() : ((this.options.linked) ? this.options.hu + image : this.options.href);
			var thumbnail = (obj.thumbnail) ? obj.thumbnail.trim() : image.replace(this.options.replace[0], this.options.replace[1]);
			var target = (obj.target) ? obj.target.trim() : '_self';
			this.data.images.push(image);
			this.data.captions.push(caption);
			this.data.hrefs.push(href);
			this.data.thumbnails.push(thumbnail);
			this.data.targets.push(target);
		}
		if (this.options.random)
			this.slide = $random(0, this.data.images.length - 1);
		
		// only run when data is loaded dynamically into an existing slideshow instance
		
		if (this.options.thumbnails && this.slideshow.retrieve('thumbnails'))
			this._thumbnails();
		if (this.slideshow.retrieve('images')){
			[this.a, this.b].each(function(img){
				['morph', 'tween'].each(function(p){
					if (this.retrieve(p)) this.get(p).cancel();
				}, img);
			});
			this.slide = this.transition = 0;
			this.go(0);		
		}
		return this.data.images.length;
	},
	
/**
Public method: destroy
	Destroys a Slideshow instance.

Arguments:
	p - (string) The images and optional thumbnails, captions and links for the show.

Syntax:
	myShow.destroy(p);
*/

	destroy: function(p){
		this.events.each(function(array, e){
			array.each(function(fn){ document.removeEvent(e, fn); });
		});
		this.pause(1);
		if (this.options.loader)
			$clear(this.slideshow.retrieve('loader').retrieve('timer'));		
		if (this.options.thumbnails)
			$clear(this.slideshow.retrieve('thumbnails').retrieve('timer'));
		this.slideshow.uid = Native.UID++;
		if (p)
			this.slideshow[p]();
	},
	
/**
Private method: preload
	Preloads the next slide in the show, once loaded triggers the show, updates captions, thumbnails, etc.
*/

	_preload: function(fast){
		if (!this.preloader)
		 	this.preloader = new Asset.image(this.options.hu + this.data.images[this.slide], {'onload': function(){
				this.store('loaded', true);
			}});	
		if (this.preloader.retrieve('loaded') && $time() > this.delay && $time() > this.transition){
			if (this.stopped){
				if (this.options.captions)
					this.slideshow.retrieve('captions').get('morph').cancel().start(this.classes.get('captions', 'hidden'));
				this.pause(1);
				if (this.end)
					this.fireEvent('end');
				this.stopped = this.end = false;
				return;				
			}					
			this.image = (this.counter % 2) ? this.b : this.a;
			this.image.set('styles', {'display': 'block', 'height': 'auto', 'visibility': 'hidden', 'width': 'auto', 'zIndex': this.counter});
			['src', 'height', 'width'].each(function(prop){
				this.image.set(prop, this.preloader.get(prop));
			}, this);
			this._resize(this.image);
			this._center(this.image);
			var anchor = this.image.getParent();
			if (this.data.hrefs[this.slide])
				anchor.set({ 'href': this.data.hrefs[this.slide], 'target': this.data.targets[this.slide] });			
			else
				anchor.erase('href');				
			var text = (this.data.captions[this.slide])
				? this.data.captions[this.slide].replace(/<.+?>/gm, '').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, "'") 
				: '';
			this.image.set('alt', text);		
			if (this.options.titles)
				anchor.set('title', text);
			if (this.options.loader)
				this.slideshow.retrieve('loader').fireEvent('hide');
			if (this.options.captions)
				this.slideshow.retrieve('captions').fireEvent('update', fast);				
			if (this.options.thumbnails)
				this.slideshow.retrieve('thumbnails').fireEvent('update', fast); 			
			this._show(fast);
			this._loaded();
		} 
		else {
			if ($time() > this.delay && this.options.loader)
				this.slideshow.retrieve('loader').fireEvent('show');
			this.timer = (this.paused && this.preloader.retrieve('loaded')) ? null : this._preload.delay(100, this, fast); 
		}
	},

/**
Private method: show
	Does the slideshow effect.
*/

	_show: function(fast){
		if (!this.image.retrieve('morph')){
			var options = (this.options.overlap) ? {'duration': this.options.duration, 'link': 'cancel'} : {'duration': this.options.duration / 2, 'link': 'chain'};
			$$(this.a, this.b).set('morph', $merge(options, {'onStart': this._start.bind(this), 'onComplete': this._complete.bind(this), 'transition': this.options.transition}));
		}
		var hidden = this.classes.get('images', ((this.direction == 'left') ? 'next' : 'prev'));
		var visible = this.classes.get('images', 'visible');
		var img = (this.counter % 2) ? this.a : this.b;
		if (fast){			
			img.get('morph').cancel().set(hidden);
			this.image.get('morph').cancel().set(visible); 			
		} 
		else {
			if (this.options.overlap){
				img.get('morph').set(visible);
				this.image.get('morph').set(hidden).start(visible);
			} 
			else {
				var fn = function(hidden, visible){
					this.image.get('morph').start(visible);
				}.pass([hidden, visible], this);
				hidden = this.classes.get('images', ((this.direction == 'left') ? 'prev' : 'next'));
				if (this.firstrun)
					return fn();
				this.image.get('morph').set(hidden);				
				img.get('morph').set(visible).start(hidden).chain(fn);
			}
		}
	},
	
/**
Private method: loaded
	Run after the current image has been loaded, sets up the next image to be shown.
*/

	_loaded: function(){
		this.counter++;
		this.delay = (this.paused) ? Number.MAX_VALUE : $time() + this.options.duration + this.options.delay;
		this.direction = 'left';
		this.transition = (this.options.fast == 2 || (this.options.fast == 1 && this.paused)) ? 0 : $time() + this.options.duration;			
		if (this.slide + 1 == this.data.images.length && !this.options.loop && !this.options.random)
			this.stopped = this.end = true;			
		if (this.options.random){
			this.showed.i++;
			if (this.showed.i >= this.showed.array.length){
				var n = this.slide;
				if (this.showed.array.getLast() != n) this.showed.array.push(n);
				while (this.slide == n)
					this.slide = $random(0, this.data.images.length - 1);				
			}
			else
				this.slide = this.showed.array[this.showed.i];
		}
		else
			this.slide = (this.slide + 1) % this.data.images.length;
		if (this.image.getStyle('visibility') != 'visible')
			(function(){ this.image.setStyle('visibility', 'visible'); }).delay(1, this);			
		if (this.preloader) 
			this.preloader = this.preloader.destroy();
		this._preload();
	},

/**
Private method: center
	Center an image.
*/

	_center: function(img){
		if (this.options.center){
			var size = img.getSize(), 
				h = size.y, w = size.x; 
			img.set('styles', {'left': (w - this.width) / -2, 'top': (h - this.height) / -2});
		}
	},

/**
Private method: resize
	Resizes an image.
*/

	_resize: function(img){
		if (this.options.resize){
			var size = img.getSize(),
				h = size.y, w = size.x,
				dh = this.height / h, dw = this.width / w;
			if (this.options.resize == 'fit')
				dh = dw = dh > dw ? dw : dh;
			if (this.options.resize == 'fill')
				dh = dw = dh > dw ? dh : dw;
			img.set('styles', {'height': Math.ceil(h * dh), 'width': Math.ceil(w * dw)});
		}	
	},

/**
Private method: start
	Callback on start of slide change.
*/

	_start: function(){		
		this.fireEvent('start');
	},

/**
Private method: complete
	Callback on start of slide change.
*/

	_complete: function(){
		if (this.firstrun && this.options.paused){
			this.pause(1);
		}
		this.firstrun = false;
		this.fireEvent('complete');
	},

/**
Private method: captions
	Builds the optional caption element, adds interactivity.
	This method can safely be removed if the captions option is not enabled.
*/

	_captions: function(){
 		if (this.options.captions === true) 
 			this.options.captions = {};
		var el = this.slideshow.getElement(this.classes.get('captions'));
		var captions = (el) ? el.empty() : new Element('div', {'class': this.classes.get('captions').substr(1)}).inject(this.slideshow);
		captions.set({
			'events': {
				'update': function(fast){	
					var captions = this.slideshow.retrieve('captions');
					var empty = (this.data.captions[this.slide] === '');
					if (fast){
						var p = (empty) ? 'hidden' : 'visible';
						captions.set('html', this.data.captions[this.slide]).get('morph').cancel().set(this.classes.get('captions', p));
					}
					else {
						var fn = (empty) ? $empty : function(n){
							this.slideshow.retrieve('captions').set('html', this.data.captions[n]).morph(this.classes.get('captions', 'visible'))
						}.pass(this.slide, this);		
						captions.get('morph').cancel().start(this.classes.get('captions', 'hidden')).chain(fn);
					}
				}.bind(this)
			},
			'morph': $merge(this.options.captions, {'link': 'chain'})
		});
		this.slideshow.store('captions', captions);
	},

/**
Private method: controller
	Builds the optional controller element, adds interactivity.
	This method can safely be removed if the controller option is not enabled.
*/

	_controller: function(){
 		if (this.options.controller === true)
 			this.options.controller = {};
		var el = this.slideshow.getElement(this.classes.get('controller'));
		var controller = (el) ? el.empty() : new Element('div', {'class': this.classes.get('controller').substr(1)}).inject(this.slideshow);
		var ul = new Element('ul').inject(controller);
		$H({'first': 'Shift + Leftwards Arrow', 'prev': 'Leftwards Arrow', 'pause': 'P', 'next': 'Rightwards Arrow', 'last': 'Shift + Rightwards Arrow'}).each(function(accesskey, action){
			var li = new Element('li', {
				'class': (action == 'pause' && this.options.paused) ? this.classes.play + ' ' + this.classes[action] : this.classes[action]
			}).inject(ul);
			var a = this.slideshow.retrieve(action, new Element('a', {
				'title': ((action == 'pause') ? this.classes.play.capitalize() + ' / ' : '') + this.classes[action].capitalize() + ' [' + accesskey + ']'				
			}).inject(li));
			a.set('events', {
				'click': function(action){this[action]();}.pass(action, this),
				'mouseenter': function(active){this.addClass(active);}.pass(this.classes.active, a),
				'mouseleave': function(active){this.removeClass(active);}.pass(this.classes.active, a)
			});		
		}, this);
		controller.set({
			'events': {
				'hide': function(hidden){  
					if (!this.retrieve('hidden'))
						this.store('hidden', true).morph(hidden);
				}.pass(this.classes.get('controller', 'hidden'), controller),
				'show': function(visible){  
					if (this.retrieve('hidden'))
						this.store('hidden', false).morph(visible);
				}.pass(this.classes.get('controller', 'visible'), controller)
			},
			'morph': $merge(this.options.controller, {'link': 'cancel'})
		}).store('hidden', false);
		var keydown = function(e){
			if (['left', 'right', 'p'].contains(e.key)){
				var controller = this.slideshow.retrieve('controller');
				if (controller.retrieve('hidden'))
					controller.get('morph').set(this.classes.get('controller', 'visible')); 			
				switch(e.key){
					case 'left': 
						this.slideshow.retrieve((e.shift) ? 'first' : 'prev').fireEvent('mouseenter'); break;
					case 'right':
						this.slideshow.retrieve((e.shift) ? 'last' : 'next').fireEvent('mouseenter'); break;
					default:
						this.slideshow.retrieve('pause').fireEvent('mouseenter'); break;
				}
			}
		}.bind(this);
		this.events.keydown.push(keydown);
		var keyup = function(e){
			if (['left', 'right', 'p'].contains(e.key)){
				var controller = this.slideshow.retrieve('controller');
				if (controller.retrieve('hidden'))
					controller.store('hidden', false).fireEvent('hide'); 
				switch(e.key){
					case 'left': 
						this.slideshow.retrieve((e.shift) ? 'first' : 'prev').fireEvent('mouseleave'); break;
					case 'right': 
						this.slideshow.retrieve((e.shift) ? 'last' : 'next').fireEvent('mouseleave'); break;
					default:
						this.slideshow.retrieve('pause').fireEvent('mouseleave'); break;
				}
			}
		}.bind(this);
		this.events.keyup.push(keyup);
		var mousemove = function(e){
			var images = this.slideshow.retrieve('images').getCoordinates();
			if (e.page.x > images.left && e.page.x < images.right && e.page.y > images.top && e.page.y < images.bottom)
				this.slideshow.retrieve('controller').fireEvent('show');
			else
				this.slideshow.retrieve('controller').fireEvent('hide');
		}.bind(this);
		this.events.mousemove.push(mousemove);
		document.addEvents({'keydown': keydown, 'keyup': keyup, 'mousemove': mousemove});
		this.slideshow.retrieve('controller', controller).fireEvent('hide');
	},

/**
Private method: loader
	Builds the optional loader element, adds interactivity.
	This method can safely be removed if the loader option is not enabled.
*/

	_loader: function(){
 		if (this.options.loader === true) 
 			this.options.loader = {};
		var loader = new Element('div', {
			'aria-hidden': false,
			'class': this.classes.get('loader').substr(1),				
			'morph': $merge(this.options.loader, {'link': 'cancel'}),
			'role': 'progressbar'
		}).store('animate', false).store('i', 0).inject(this.slideshow.retrieve('images'));
		var url = loader.getStyle('backgroundImage').replace(/url\(['"]?(.*?)['"]?\)/, '$1');
		if (url){
			if (url.test(/\.png$/)){
				if (Browser.Engine.trident4)
					loader.setStyles({'backgroundImage': 'none', 'filter': 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + url + '", sizingMethod="crop")'});					
				new Asset.image(url, {'onload': function(){
					var size = loader.getSize(), w = this.get('width'), h = this.get('height');
					if (w > size.x)
						loader.store('x', size.x).store('animate', 'x').store('frames', (w / size.x).toInt());
					if (h > size.y)
						loader.store('y', size.y).store('animate', 'y').store('frames', (h / size.y).toInt());
				}});
			}
		}
		loader.set('events', {
			'animate': function(){  
				var animate = this.retrieve('animate');
				if (!animate)
					return;
				var i = (this.retrieve('i').toInt() + 1) % this.retrieve('frames');
				this.store('i', i);
				var n = (i * this.retrieve(animate)) + 'px';
				if (animate == 'x')
					this.setStyle('backgroundPosition', n + ' 0px');			
				if (animate == 'y')
					this.setStyle('backgroundPosition', '0px ' + n);			
			}.bind(loader),
			'hide': function(hidden){  
				if (this.get('aria-hidden') == 'false'){
					this.set('aria-hidden', true).morph(hidden);
					if (this.retrieve('animate'))
						clearTimeout(this.retrieve('timer'));
				}
			}.pass(this.classes.get('loader', 'hidden'), loader),
			'show': function(visible){  
				if (this.get('aria-hidden') == 'true'){
					this.set('aria-hidden', false).morph(visible);
					if (this.retrieve('animate'))
						this.store('timer', function(){ 
							this.fireEvent('animate') 
						}.periodical(50, this));			
				}
			}.pass(this.classes.get('loader', 'visible'), loader)
		});
		this.slideshow.retrieve('loader', loader).fireEvent('hide');
	},
	
/**
Private method: thumbnails
	Builds the optional thumbnails element, adds interactivity.
	This method can safely be removed if the thumbnails option is not enabled.
*/

	_thumbnails: function(){
 		if (this.options.thumbnails === true) 
 			this.options.thumbnails = {}; 
		var el = this.slideshow.getElement(this.classes.get('thumbnails'));
		var thumbnails = (el) ? el.empty() : new Element('div', {'class': this.classes.get('thumbnails').substr(1)}).inject(this.slideshow);
		thumbnails.setStyle('overflow', 'hidden');
		var ul = new Element('ul', {'tween': {'link': 'cancel'}}).inject(thumbnails);
		this.data.thumbnails.each(function(thumbnail, i){
			var li = new Element('li').inject(ul);
			var a = new Element('a', {
				'events': {
					'click': function(i){
						this.go(i); 
						return false; 
					}.pass(i, this),
					'loaded': function(){
						this.data.thumbnails.pop();
						if (!this.data.thumbnails.length){
							var div = thumbnails.getCoordinates();
							var props = thumbnails.retrieve('props');			
							var limit = 0, pos = props[1], size = props[2];		
							thumbnails.getElements('li').each(function(li){			
								var li = li.getCoordinates();		
								if (li[pos] > limit) limit = li[pos];
							}, this);			
							thumbnails.store('limit', div[size] + div[props[0]] - limit);
						}
					}.bind(this)
				},
				'href': this.options.hu + this.data.images[i],
				'morph': $merge(this.options.thumbnails, {'link': 'cancel'})
			}).inject(li);
			if (this.data.captions[i] && this.options.titles)
				a.set('title', this.data.captions[i].replace(/<.+?>/gm, '').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, "'"));
			var img = new Asset.image(this.options.hu + thumbnail, {
				'onload': function(){this.fireEvent('loaded');}.bind(a) 
			}).inject(a);
		}, this);
		thumbnails.set('events', {
			'scroll': function(n, fast){
				var div = this.getCoordinates();
				var ul = this.getElement('ul').getPosition();
				var props = this.retrieve('props');
				var axis = props[3], delta, pos = props[0], size = props[2], value;				
				var tween = this.getElement('ul').get('tween', {'property': pos});	
				if ($chk(n)){
					var li = this.getElements('li')[n].getCoordinates();
					delta = div[pos] + (div[size] / 2) - (li[size] / 2) - li[pos]	
					value = (ul[axis] - div[pos] + delta).limit(this.retrieve('limit'), 0);
					if (fast)	
						tween.set(value);
					else						 
						tween.start(value);
				}
				else{
					var area = div[props[2]] / 3, page = this.retrieve('page'), velocity = -0.2;			
					if (page[axis] < (div[pos] + area))
						delta = (page[axis] - div[pos] - area) * velocity;
					else if (page[axis] > (div[pos] + div[size] - area))
						delta = (page[axis] - div[pos] - div[size] + area) * velocity;			
					if (delta){			
						value = (ul[axis] - div[pos] + delta).limit(this.retrieve('limit'), 0);
						tween.set(value);
					}
				}				
			}.bind(thumbnails),
			'update': function(fast){
				var thumbnails = this.slideshow.retrieve('thumbnails');
				thumbnails.getElements('a').each(function(a, i){	
					if (i == this.slide){
						if (!a.retrieve('active', false)){
							a.store('active', true);
							var active = this.classes.get('thumbnails', 'active');							
							if (fast) a.get('morph').set(active);
							else a.morph(active);
						}
					} 
					else {
						if (a.retrieve('active', true)){
							a.store('active', false);
							var inactive = this.classes.get('thumbnails', 'inactive');						
							if (fast) a.get('morph').set(inactive);
							else a.morph(inactive);
						}
					}
				}, this);
				if (!thumbnails.retrieve('mouseover'))
					thumbnails.fireEvent('scroll', [this.slide, fast]);
			}.bind(this)
		})
		var div = thumbnails.getCoordinates();
		thumbnails.store('props', (div.height > div.width) ? ['top', 'bottom', 'height', 'y'] : ['left', 'right', 'width', 'x']);
		var mousemove = function(e){
			var div = this.getCoordinates();
			if (e.page.x > div.left && e.page.x < div.right && e.page.y > div.top && e.page.y < div.bottom){
				this.store('page', e.page);			
				if (!this.retrieve('mouseover')){
					this.store('mouseover', true);
					this.store('timer', function(){this.fireEvent('scroll');}.periodical(50, this));
				}
			}
			else {
				if (this.retrieve('mouseover')){
					this.store('mouseover', false);				
					$clear(this.retrieve('timer'));
				}
			}
		}.bind(thumbnails);
		this.events.mousemove.push(mousemove);
		document.addEvent('mousemove', mousemove);
		this.slideshow.store('thumbnails', thumbnails);
	}
});/**
Script: Slideshow.KenBurns.js
	Slideshow.KenBurns - KenBurns extension for Slideshow, includes zooming and panning effects.

License:
	MIT-style license.

Copyright:
	Copyright (c) 2008 [Aeron Glemann](http://www.electricprism.com/aeron/).
	
Dependencies:
	Slideshow.
*/

Slideshow.KenBurns = new Class({
	Extends: Slideshow,
	
	options: {
		pan: [100, 100],
		zoom: [50, 50]
	},
	
/**
Constructor: initialize
	Creates an instance of the Slideshow class.

Arguments:
	element - (element) The wrapper element.
	data - (array or object) The images and optional thumbnails, captions and links for the show.
	options - (object) The options below.

Syntax:
	var myShow = new Slideshow.KenBurns(element, data, options);
*/

	initialize: function(el, data, options){
		options.overlap = true;
		options.resize = true;
		['pan', 'zoom'].each(function(p){
				if ($chk(this[p])){
					if ($type(this[p]) != 'array') this[p] = [this[p], this[p]];
					this[p].map(function(n){return (n.toInt() || 0).limit(0, 100);});					
				}
		}, options);
		this.parent(el, data, options);
	},

/**
Private method: show
	Does the slideshow effect.
*/

	_show: function(fast){
		if (!this.image.retrieve('morph')){
			['a', 'b'].each(function(image){
				this[image].set('tween', {
					'duration': this.options.duration, 'link': 'cancel', 'onStart': this._start.bind(this), 'onComplete': this._complete.bind(this), 'property': 'opacity'}
				).get('morph', {
					'duration': (this.options.delay + this.options.duration * 2), 'link': 'cancel', 'transition': $arguments(0)}
				);
			}, this);
		}
		this.image.set('styles', {'bottom': 'auto', 'left': 'auto', 'right': 'auto', 'top': 'auto'});
		var props = ['top left', 'top right', 'bottom left', 'bottom right'][this.counter % 4].split(' ');
		props.each(function(prop){this.image.setStyle(prop, 0);}, this);
		dh = this.height / this.preloader.height;
		dw = this.width / this.preloader.width;
		delta = (dw > dh) ? dw : dh;
		var values = {};
		var zoom = ($random.run(this.options.zoom) / 100.0) + 1;
		var pan = Math.abs(($random.run(this.options.pan) / 100.0) - 1);
		['height', 'width'].each(function(prop, i){
			var e = Math.ceil(this.preloader[prop] * delta);
			var s = (e * zoom).toInt();		
			values[prop] = [s, e];
			if (dw > dh || i){
				e = (this[prop] - this.image[prop]);
				s = (e * pan).toInt();			
				values[props[i]] = [s, e];
			}
		}, this);
		var paused = (this.firstrun && this.options.paused);
		if (fast || paused){
			this._center(this.image);
			this.image.get('morph').cancel();
			if (paused)
				this.image.get('tween').cancel().set(0).start(1);
			else
				this.image.get('tween').cancel().set(1);
		} 
		else{
			this.image.get('morph').start(values);
			this.image.get('tween').set(0).start(1);
		}
	}
});/**
Script: Slideshow.Push.js
	Slideshow.Push - Push extension for Slideshow.

License:
	MIT-style license.

Copyright:
	Copyright (c) 2008 [Aeron Glemann](http://www.electricprism.com/aeron/).
	
Dependencies:
	Slideshow.
	Mootools 1.2 More: Fx.Elements.
*/

Slideshow.Push = new Class({
	Extends: Slideshow,
	
/**
Constructor: initialize
	Creates an instance of the Slideshow class.

Arguments:
	element - (element) The wrapper element.
	data - (array or object) The images and optional thumbnails, captions and links for the show.
	options - (object) The options below.

Syntax:
	var myShow = new Slideshow.Push(element, data, options);
*/
	
	initialize: function(el, data, options){
		options.overlap = true;		
		this.parent(el, data, options);
	},

/**
Private method: show
	Does the slideshow effect.
*/

	_show: function(fast){
		var images = [this.image, ((this.counter % 2) ? this.a : this.b)];
		if (!this.image.retrieve('fx'))
			this.image.store('fx', new Fx.Elements(images, {'duration': this.options.duration, 'link': 'cancel', 'onStart': this._start.bind(this), 'onComplete': this._complete.bind(this), 'transition': this.options.transition }));
		this.image.set('styles', {'left': 'auto', 'right': 'auto' }).setStyle(this.direction, this.width);
		var values = {'0': {}, '1': {} };
		values['0'][this.direction] = [this.width, 0];
		values['1'][this.direction] = [0, -this.width];
		if (images[1].getStyle(this.direction) == 'auto'){
			var width = this.width - images[1].width;	
			images[1].set('styles', {'left': 'auto', 'right': 'auto' }).setStyle(this.direction, width);		 
			values['1'][this.direction] = [width, -this.width];
		}
		if (fast){
		 	for (var prop in values)
		 		values[prop][this.direction] = values[prop][this.direction][1];			
			this.image.retrieve('fx').cancel().set(values);
		} 
		else
			this.image.retrieve('fx').start(values);
	}
});/**
Script: Slideshow.Fold.js
	Slideshow.Fold - Flash extension for Slideshow.

License:
	MIT-style license.

Copyright:
	Copyright (c) 2008 [Aeron Glemann](http://www.electricprism.com/aeron/).

Dependencies:
	Slideshow.
*/

Slideshow.Fold = new Class({
	Extends: Slideshow,
	
/**
Constructor: initialize
	Creates an instance of the Slideshow class.

Arguments:
	element - (element) The wrapper element.
	data - (array or object) The images and optional thumbnails, captions and links for the show.
	options - (object) The options below.

Syntax:
	var myShow = new Slideshow.Fold(element, data, options);
*/

	initialize: function(el, data, options){
		this.parent(el, data, options);
	},

/**
Private method: show
	Does the slideshow effect.
*/

	_show: function(fast){
		if (!this.image.retrieve('tween')){
			var options = (this.options.overlap) ? {'duration': this.options.duration} : {'duration': this.options.duration / 2};
			$$(this.a, this.b).set('tween', $merge(options, {'link': 'chain', 'onStart': this._start.bind(this), 'onComplete': this._complete.bind(this), 'property': 'clip', 'transition': this.options.transition}));
		}
		var rect = this._rect(this.image);
		var img = (this.counter % 2) ? this.a : this.b;
		if (fast){			
			img.get('tween').cancel().set('rect(0, 0, 0, 0)');
			this.image.get('tween').cancel().set('rect(auto, auto, auto, auto)'); 			
		} 
		else {
			if (this.options.overlap){	
				img.get('tween').set('rect(auto, auto, auto, auto)');
				var tween = this.image.get('tween').set(rect.top + ' ' + rect.left + ' ' + Math.ceil(rect.bottom / 2) + ' ' + rect.left).start(rect.top + ' ' + rect.right + ' ' + Math.ceil(rect.bottom / 2) + ' ' + rect.left).start(rect.top + ' ' + rect.right + ' ' + rect.bottom + ' ' + rect.left);
			} 
			else	{
				var fn = function(rect){
					this.image.get('tween').set(rect.top + ' ' + rect.left + ' ' + Math.ceil(rect.bottom / 2) + ' ' + rect.left).start(rect.top + ' ' + rect.right + ' ' + Math.ceil(rect.bottom / 2) + ' ' + rect.left).start(rect.top + ' ' + rect.right + ' ' + rect.bottom + ' ' + rect.left);
				}.pass(rect, this);
				var rect = this._rect(img);
				img.get('tween').set(rect.top + ' ' + rect.right + ' ' + rect.bottom + ' ' + rect.left).start(rect.top + ' ' + rect.right + ' ' + Math.ceil(rect.bottom / 2) + ' ' + rect.left).start(rect.top + ' ' + rect.left + ' ' + Math.ceil(rect.bottom / 2) + ' ' + rect.left).chain(fn);
			}
		}
	},
	
	/**
	Private method: rect
		Calculates the clipping rect
	*/

	_rect: function(img){
		var rect = img.getCoordinates(this.slideshow.retrieve('images'));
		rect.right = (rect.right > this.width) ? this.width - rect.left : rect.width;
		rect.bottom = (rect.bottom > this.height) ? this.height - rect.top : rect.height;
		rect.top = (rect.top < 0) ? Math.abs(rect.top) : 0;
		rect.left = (rect.left < 0) ? Math.abs(rect.left) : 0;
		return rect;		
	}
});/**
Script: Slideshow.Flash.js
	Slideshow.Flash - Flash extension for Slideshow.

License:
	MIT-style license.

Copyright:
	Copyright (c) 2008 [Aeron Glemann](http://www.electricprism.com/aeron/).

Dependencies:
	Slideshow.
*/

Slideshow.Flash = new Class({
	Extends: Slideshow,
	
	options: {
		color: ['#FFF']
	},
	
/**
Constructor: initialize
	Creates an instance of the Slideshow class.

Arguments:
	element - (element) The wrapper element.
	data - (array or object) The images and optional thumbnails, captions and links for the show.
	options - (object) The options below.

Syntax:
	var myShow = new Slideshow.Flash(element, data, options);
*/

	initialize: function(el, data, options){
		options.overlap = true;
		if (options.color)
			options.color = $splat(options.color);
		this.parent(el, data, options);
	},

/**
Private method: show
	Does the slideshow effect.
*/

	_show: function(fast){
		if (!this.image.retrieve('tween'))
		  $$(this.a, this.b).set('tween', {'duration': this.options.duration, 'link': 'cancel', 'onStart': this._start.bind(this), 'onComplete': this._complete.bind(this), 'property': 'opacity'});
		if (fast)
			this.image.get('tween').cancel().set(1);
		else {
			this.slideshow.retrieve('images').setStyle('background', this.options.color[this.slide % this.options.color.length]);
			var img = (this.counter % 2) ? this.a : this.b;
			img.get('tween').cancel().set(0);
			this.image.get('tween').set(0).start(1);
		}
	}
});/**
 * SqueezeBox - Expandable Lightbox
 *
 * Allows to open various content as modal,
 * centered and animated box.
 *
 * Dependencies: MooTools 1.2
 *
 * Inspired by
 *  ... Lokesh Dhakar	- The original Lightbox v2
 *
 * @version		1.1 rc4
 *
 * @license		MIT-style license
 * @author		Harald Kirschner <mail [at] digitarald.de>
 * @copyright	Author
 */

var SqueezeBox = {

	presets: {
		onOpen: $empty,
		onClose: $empty,
		onUpdate: $empty,
		onResize: $empty,
		onMove: $empty,
		onShow: $empty,
		onHide: $empty,
		size: {x: 600, y: 450},
		sizeLoading: {x: 200, y: 150},
		marginInner: {x: 20, y: 20},
		marginImage: {x: 50, y: 75},
		handler: false,
		target: null,
		closable: true,
		closeBtn: true,
		zIndex: 65555,
		overlayOpacity: 0.4,
		classWindow: '',
		classOverlay: '',
		overlayFx: {},
		resizeFx: {},
		contentFx: {},
		parse: false, // 'rel'
		parseSecure: false,
		shadow: true,
		document: null,
		ajaxOptions: {}
	},

	initialize: function(presets) {
		if (this.options) return this;

		this.presets = $merge(this.presets, presets);
		this.doc = this.presets.document || document;
		this.options = {};
		this.setOptions(this.presets).build();
		this.bound = {
			window: this.reposition.bind(this, [null]),
			scroll: this.checkTarget.bind(this),
			close: this.close.bind(this),
			key: this.onKey.bind(this)
		};
		this.isOpen = this.isLoading = false;
		return this;
	},

	build: function() {
		this.overlay = new Element('div', {
			id: 'sbox-overlay',
			styles: {display: 'none', zIndex: this.options.zIndex}
		});
		this.win = new Element('div', {
			id: 'sbox-window',
			styles: {display: 'none', zIndex: this.options.zIndex + 2}
		});
		if (this.options.shadow) {
			if (Browser.Engine.webkit420) {
				this.win.setStyle('-webkit-box-shadow', '0 0 10px rgba(0, 0, 0, 0.7)');
			} else if (!Browser.Engine.trident4) {
				var shadow = new Element('div', {'class': 'sbox-bg-wrap'}).inject(this.win);
				var relay = function(e) {
					this.overlay.fireEvent('click', [e]);
				}.bind(this);
				['n', 'ne', 'e', 'se', 's', 'sw', 'w', 'nw'].each(function(dir) {
					new Element('div', {'class': 'sbox-bg sbox-bg-' + dir}).inject(shadow).addEvent('click', relay);
				});
			}
		}
		this.content = new Element('div', {id: 'sbox-content'}).inject(this.win);
		this.closeBtn = new Element('a', {id: 'sbox-btn-close', href: '#'}).inject(this.win);
		this.fx = {
			overlay: new Fx.Tween(this.overlay, $merge({
				property: 'opacity',
				onStart: Events.prototype.clearChain,
				duration: 250,
				link: 'cancel'
			}, this.options.overlayFx)).set(0),
			win: new Fx.Morph(this.win, $merge({
				onStart: Events.prototype.clearChain,
				unit: 'px',
				duration: 750,
				transition: Fx.Transitions.Quint.easeOut,
				link: 'cancel',
				unit: 'px'
			}, this.options.resizeFx)),
			content: new Fx.Tween(this.content, $merge({
				property: 'opacity',
				duration: 250,
				link: 'cancel'
			}, this.options.contentFx)).set(0)
		};
		$(this.doc.body).adopt(this.overlay, this.win);
	},

	assign: function(to, options) {
		return ($(to) || $$(to)).addEvent('click', function() {
			return !SqueezeBox.fromElement(this, options);
		});
	},
	
	open: function(subject, options) {
		this.initialize();

		if (this.element != null) this.trash();
		this.element = $(subject) || false;
		
		this.setOptions($merge(this.presets, options || {}));
		
		if (this.element && this.options.parse) {
			var obj = this.element.getProperty(this.options.parse);
			if (obj && (obj = JSON.decode(obj, this.options.parseSecure))) this.setOptions(obj);
		}
		this.url = ((this.element) ? (this.element.get('href')) : subject) || this.options.url || '';

		this.assignOptions();
		
		var handler = handler || this.options.handler;
		if (handler) return this.setContent(handler, this.parsers[handler].call(this, true));
		var ret = false;
		return this.parsers.some(function(parser, key) {
			var content = parser.call(this);
			if (content) {
				ret = this.setContent(key, content);
				return true;
			}
			return false;
		}, this);
	},
	
	fromElement: function(from, options) {
		return this.open(from, options);
	},

	assignOptions: function() {
		this.overlay.set('class', this.options.classOverlay);
		this.win.set('class', this.options.classWindow);
		if (Browser.Engine.trident4) this.win.addClass('sbox-window-ie6');
	},

	close: function(e) {
		var stoppable = ($type(e) == 'event');
		if (stoppable) e.stop();
		if (!this.isOpen || (stoppable && !$lambda(this.options.closable).call(this, e))) return this;
		this.fx.overlay.start(0).chain(this.toggleOverlay.bind(this));
		this.win.setStyle('display', 'none');
		this.fireEvent('onClose', [this.content]);
		this.trash();
		this.toggleListeners();
		this.isOpen = false;
		return this;
	},

	trash: function() {
		this.element = this.asset = null;
		this.content.empty();
		this.options = {};
		this.removeEvents().setOptions(this.presets).callChain();
	},

	onError: function() {
		this.asset = null;
		this.setContent('string', this.options.errorMsg || 'An error occurred');
	},

	setContent: function(handler, content) {
		if (!this.handlers[handler]) return false;
		this.content.className = 'sbox-content-' + handler;
		this.applyTimer = this.applyContent.delay(this.fx.overlay.options.duration, this, this.handlers[handler].call(this, content));
		if (this.overlay.retrieve('opacity')) return this;
		this.toggleOverlay(true);
		this.fx.overlay.start(this.options.overlayOpacity);
		return this.reposition();
	},

	applyContent: function(content, size) {
		if (!this.isOpen && !this.applyTimer) return;
		this.applyTimer = $clear(this.applyTimer);
		this.hideContent();
		if (!content) {
			this.toggleLoading(true);
		} else {
			if (this.isLoading) this.toggleLoading(false);
			this.fireEvent('onUpdate', [this.content], 20);
		}
		if (content) {
			if (['string', 'array'].contains($type(content))) this.content.set('html', content);
			else if (!this.content.hasChild(content)) this.content.adopt(content);
		}
		this.callChain();
		if (!this.isOpen) {
			this.toggleListeners(true);
			this.resize(size, true);
			this.isOpen = true;
			this.fireEvent('onOpen', [this.content]);
		} else {
			this.resize(size);
		}
	},

	resize: function(size, instantly) {
		this.showTimer = $clear(this.showTimer || null);
		var box = this.doc.getSize(), scroll = this.doc.getScroll();
		this.size = $merge((this.isLoading) ? this.options.sizeLoading : this.options.size, size);
		var to = {
			width: this.size.x,
			height: this.size.y,
			left: (scroll.x + (box.x - this.size.x - this.options.marginInner.x) / 2).toInt(),
			top: (scroll.y + (box.y - this.size.y - this.options.marginInner.y) / 2).toInt()
		};
		this.hideContent();
		if (!instantly) {
			this.fx.win.start(to).chain(this.showContent.bind(this));
		} else {
			this.win.setStyles(to).setStyle('display', '');
			this.showTimer = this.showContent.delay(50, this);
		}
		return this.reposition();
	},

	toggleListeners: function(state) {
		var fn = (state) ? 'addEvent' : 'removeEvent';
		this.closeBtn[fn]('click', this.bound.close);
		this.overlay[fn]('click', this.bound.close);
		this.doc[fn]('keydown', this.bound.key)[fn]('mousewheel', this.bound.scroll);
		this.doc.getWindow()[fn]('resize', this.bound.window)[fn]('scroll', this.bound.window);
	},

	toggleLoading: function(state) {
		this.isLoading = state;
		this.win[(state) ? 'addClass' : 'removeClass']('sbox-loading');
		if (state) this.fireEvent('onLoading', [this.win]);
	},

	toggleOverlay: function(state) {
		var full = this.doc.getSize().x;
		this.overlay.setStyle('display', (state) ? '' : 'none');
		this.doc.body[(state) ? 'addClass' : 'removeClass']('body-overlayed');
		if (state) {
			this.scrollOffset = this.doc.getWindow().getSize().x - full;
			this.doc.body.setStyle('margin-right', this.scrollOffset);
		} else {
			this.doc.body.setStyle('margin-right', '');
		}
	},

	showContent: function() {
		if (this.content.get('opacity')) this.fireEvent('onShow', [this.win]);
		this.fx.content.start(1);
	},

	hideContent: function() {
		if (!this.content.get('opacity')) this.fireEvent('onHide', [this.win]);
		this.fx.content.cancel().set(0);
	},

	onKey: function(e) {
		switch (e.key) {
			case 'esc': this.close(e);
			case 'up': case 'down': return false;
		}
	},

	checkTarget: function(e) {
		return this.content.hasChild(e.target);
	},

	reposition: function() {
		var size = this.doc.getSize(), scroll = this.doc.getScroll(), ssize = this.doc.getScrollSize();
		this.overlay.setStyles({
			width: ssize.x + 'px',
			height: ssize.y + 'px'
		});
		this.win.setStyles({
			left: (scroll.x + (size.x - this.win.offsetWidth) / 2 - this.scrollOffset).toInt() + 'px',
			top: (scroll.y + (size.y - this.win.offsetHeight) / 2).toInt() + 'px'
		});
		return this.fireEvent('onMove', [this.overlay, this.win]);
	},

	removeEvents: function(type){
		if (!this.$events) return this;
		if (!type) this.$events = null;
		else if (this.$events[type]) this.$events[type] = null;
		return this;
	},

	extend: function(properties) {
		return $extend(this, properties);
	},

	handlers: new Hash(),

	parsers: new Hash()

};

SqueezeBox.extend(new Events($empty)).extend(new Options($empty)).extend(new Chain($empty));

SqueezeBox.parsers.extend({

	image: function(preset) {
		return (preset || (/\.(?:jpg|png|gif)$/i).test(this.url)) ? this.url : false;
	},

	clone: function(preset) {
		if ($(this.options.target)) return $(this.options.target);
		if (this.element && !this.element.parentNode) return this.element;
		var bits = this.url.match(/#([\w-]+)$/);
		return (bits) ? $(bits[1]) : (preset ? this.element : false);
	},

	ajax: function(preset) {
		return (preset || (this.url && !(/^(?:javascript|#)/i).test(this.url))) ? this.url : false;
	},

	iframe: function(preset) {
		return (preset || this.url) ? this.url : false;
	},

	string: function(preset) {
		return true;
	}
});

SqueezeBox.handlers.extend({

	image: function(url) {
		var size, tmp = new Image();
		this.asset = null;
		tmp.onload = tmp.onabort = tmp.onerror = (function() {
			tmp.onload = tmp.onabort = tmp.onerror = null;
			if (!tmp.width) {
				this.onError.delay(10, this);
				return;
			}
			var box = this.doc.getSize();
			box.x -= this.options.marginImage.x;
			box.y -= this.options.marginImage.y;
			size = {x: tmp.width, y: tmp.height};
			for (var i = 2; i--;) {
				if (size.x > box.x) {
					size.y *= box.x / size.x;
					size.x = box.x;
				} else if (size.y > box.y) {
					size.x *= box.y / size.y;
					size.y = box.y;
				}
			}
			size.x = size.x.toInt();
			size.y = size.y.toInt();
			this.asset = $(tmp);
			tmp = null;
			this.asset.width = size.x;
			this.asset.height = size.y;
			this.applyContent(this.asset, size);
		}).bind(this);
		tmp.src = url;
		if (tmp && tmp.onload && tmp.complete) tmp.onload();
		return (this.asset) ? [this.asset, size] : null;
	},

	clone: function(el) {
		if (el) return el.clone();
		return this.onError();
	},

	adopt: function(el) {
		if (el) return el;
		return this.onError();
	},

	ajax: function(url) {
		var options = this.options.ajaxOptions || {};
		this.asset = new Request.HTML($merge({
			method: 'get',
			evalScripts: false
		}, this.options.ajaxOptions)).addEvents({
			onSuccess: function(resp) {
				this.applyContent(resp);
				if (options.evalScripts !== null && !options.evalScripts) $exec(this.asset.response.javascript);
				this.fireEvent('onAjax', [resp, this.asset]);
				this.asset = null;
			}.bind(this),
			onFailure: this.onError.bind(this)
		});
		this.asset.send.delay(10, this.asset, [{url: url}]);
	},

	iframe: function(url) {
		this.asset = new Element('iframe', $merge({
			src: url,
			frameBorder: 0,
			width: this.options.size.x,
			height: this.options.size.y
		}, this.options.iframeOptions));
		if (this.options.iframePreload) {
			this.asset.addEvent('load', function() {
				this.applyContent(this.asset.setStyle('display', ''));
			}.bind(this));
			this.asset.setStyle('display', 'none').inject(this.content);
			return false;
		}
		return this.asset;
	},

	string: function(str) {
		return str;
	}

});

SqueezeBox.handlers.url = SqueezeBox.handlers.ajax;
SqueezeBox.parsers.url = SqueezeBox.parsers.ajax;
SqueezeBox.parsers.adopt = SqueezeBox.parsers.clone;/*
UvumiTools Dropdown Menu v1.0.1 http://uvumi.com/tools/dropdown.html

Copyright (c) 2008 Uvumi LLC

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
*/

var UvumiDropdown=new Class({Implements:Options,options:{duration:220,transition:Fx.Transitions.linear},initialize:function(a,b){this.menu=a;this.setOptions(b);window.addEvent('domready',this.domReady.bind(this))},domReady:function(){this.menu=$(this.menu);if(!$defined(this.menu)){return false}if(this.menu.get('tag')!='ul'){this.menu=this.menu.getFirst('ul');if(!$defined(this.menu)){return false}}this.menu.setStyles({overflow:'hidden',height:0,marginLeft:(Browser.Engine.trident?1:-1)});this.createSubmenu(this.menu);this.menu.getChildren('li').setStyles({'float':'left',display:'block',top:0});var a=new Element('li',{html:"&nbsp;",styles:{clear:'both',display:(Browser.Engine.trident?'inline':'block'),position:'relative',top:0,height:0,width:0,fontSize:0,lineHeight:0,margin:0,padding:0}}).inject(this.menu);this.menu.setStyles({height:'auto',overflow:'visible'})},createSubmenu:function(c){var d=c.getChildren('li');var e=0;d.each(function(a){a.setStyles({position:'relative',display:'block',top:-e,zIndex:1});e+=a.getSize().y;var b=a.getFirst('ul');if($defined(b)){b.setStyle('display','none');if(c==this.menu){var x=0;var y=a.getSize().y;this.options.link='cancel';a.store('animation',new Fx.Elements($$(b,b.getChildren('li')).setStyle('opacity',0),this.options))}else{var x=a.getSize().x-a.getStyle('border-left-width').toInt();var y=-a.getStyle('border-bottom-width').toInt();this.options.link='chain';a.store('animation',new Fx.Elements($$(b,b.getChildren('li')).setStyle('opacity',0),this.options));e=a.getSize().y+a.getPosition(this.menu).y}b.setStyles({position:'absolute',display:'block',top:y,left:x,marginLeft:-x,opacity:0});this.createSubmenu(b);a.addEvents({mouseenter:this.showChildList.bind(this,a),mouseleave:this.hideChildList.bind(this,a)}).addClass('submenu')}},this)},showChildList:function(b){var c=b.getFirst('ul');var d=$$(c.getChildren('li'));var e=b.retrieve('animation');if(b.getParent('ul')!=this.menu){e.cancel();e.start({0:{opacity:1,marginLeft:0},1:{opacity:1}});var f={}}else{var f={0:{opacity:1}}}d.each(function(a,i){f[i+1]={top:0,opacity:1}});b.setStyle('z-index',99);e.start(f)},hideChildList:function(b){var c=b.retrieve('animation');var d=b.getFirst('ul');var e=$$(d.getChildren('li'));var f=0;var g={};e.each(function(a,i){g[i+1]={top:-f,opacity:0};f+=a.getSize().y});b.setStyle('z-index',1);if(b.getParent('ul')!=this.menu){g[1]=null;c.cancel();c.start(g);c.start({0:{opacity:0,marginLeft:-d.getSize().x},1:{opacity:0}})}else{g[0]={opacity:0};c.start(g)}}});/* Copyright 2008 MagicToolBox.com. To use this code on your own site, visit http://magictoolbox.com */
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('q 1f=\'1S\';q W=5i.5j.2C();m(W.2w("2I")!=-1){1f=\'2I\'}U m(W.2w("1S")!=-1){1f=\'1S\'}U m(W.2w("44")!=-1){1f=\'44\'}U m(W.2w("9I")!=-1){1f=\'4J\'}q 42=1K 6A();v 3F$(1O){G C.9k(1O)};v 1H(F,63){m(F.4m){q y=F.4m[63];y=K(y)?y:\'1N\'}U m(1i.6O){q 4v=C.6P.6O(F,1a);q y=4v?4v[63]:1a}U{y=F.B[63];y=K(y)?y:\'1N\'}G y};v 5Z(e){m(e.8K){q r=e.8K();q 5F=0;q 5K=0;m(C.Z&&(C.Z.2P||C.Z.2O)){5K=C.Z.2O;5F=C.Z.2P}U m(C.1Q&&(C.1Q.2P||C.1Q.2O)){5K=C.1Q.2O;5F=C.1Q.2P}G{\'M\':r.M+5F,\'L\':r.L+5K,\'1b\':r.1b+5F,\'1u\':r.1u+5K}}}v 7k(e){q x=0;q y=0;m(1f==\'1S\'){y=e.3P;x=e.3V;m(C.Z&&(C.Z.2P||C.Z.2O)){y=e.3P+C.Z.2O;x=e.3V+C.Z.2P}U m(C.1Q&&(C.1Q.2P||C.1Q.2O)){y=e.3P+C.1Q.2O;x=e.3V+C.1Q.2P}}U{y=e.3P;x=e.3V;y+=1i.4j;x+=1i.4e}G{\'x\':x,\'y\':y}}v 7y(){G P};q 6R=v(){q 23=1Y;m(!23[1])23=[7,23[0]];1y(q 7u 6x 23[1])23[0][7u]=23[1][7u];G 23[0]};v 3h(2z,16,4L){m(1f==\'4J\'||1f==\'2I\'||1f==\'44\'){3z{2z.6U(16,4L,P)}3D(e){}}U m(1f==\'1S\'){2z.6h("4Y"+16,4L)}};v 7d(2z,16,4L){m(1f==\'4J\'||1f==\'2I\'||1f==\'44\'){2z.72(16,4L,P)}U m(1f==\'1S\'){2z.8u("4Y"+16,4L)}};v 7O(){q 3J=[];1y(q i=0;i<1Y.1e;i++)1y(q j=0;j<1Y[i].1e;j++)3J.3B(1Y[i][j]);G 3J};v 9n(7B,9G){3J=[];1y(q i=9G;i<7B.1e;i++)3J.3B(7B[i]);G 3J};v 3q(45,9m){q 23=9n(1Y,2);G v(){45[9m].4M(45,7O(23,1Y))}};v 4p(e){m(1f==\'4J\'||1f==\'44\'||1f==\'2I\'){e.7a=V;e.74();e.79()}U m(1f==\'1S\'){1i.16.7a=V}};v 24(8x,89,87,83,17){7.6Z=\'2.3\';7.4K=P;7.1I=3F$(8x);7.1d=3F$(89);7.X=3F$(87);7.1n=3F$(83);7.1E=0;7.17=17;m(!7.17["3Y"]){7.17["3Y"]=""}7.3r=0;7.2V=0;7.26=0;7.2m=0;7.2p=20;7.aj=20;7.3s=0;7.3N=0;7.3U=\'\';7.28=1a;m(7.17["4N"]!=\'\'){7.28=C.1t(\'5J\');7.28.B.T=\'1q\';7.28.B.1h=\'1s\';7.28.36=\'9f\';7.28.B.1p=\'1M\';7.28.B.8H=\'4w\';7.28.31=7.17["4I"]+\'<br/><1m 1A="0" 4s="\'+7.17["4I"]+\'" 1U="\'+7.17["4N"]+\'"/>\';7.1I.1o(7.28)}7.a8=\'\';7.6b=P;42.3B(7);7.70=3q(7,"6w");7.6Q=3q(7,"4u")};24.29.9r=v(){7d(1i.C,"4u",7.70);7d(7.1I,"4u",7.6Q);m(7.17["T"]=="4X"){3F$(7.1I.1O+"-86").3b(7.X)}U{7.1I.3b(7.X)}7.1I.3b(7.1E)};24.29.6w=v(e){q r=7k(e);q x=r[\'x\'];q y=r[\'y\'];q 2F=0;q 2B=0;q 2l=7.1d;3p(2l&&2l.3a!="8y"&&2l.3a!="8s"){2F+=2l.6H;2B+=2l.6L;2l=2l.5r}m(1f==\'1S\'){q r=5Z(7.1d);2B=r[\'M\'];2F=r[\'L\']}2B+=K(1H(7.1d,\'53\'));2F+=K(1H(7.1d,\'7H\'));m(1f!=\'1S\'||!(C.21&&\'3A\'==C.21.2C())){2B+=K(1H(7.1d,\'3t\'));2F+=K(1H(7.1d,\'5W\'))}m(x>K(2B+7.26)){7.4O();G P}m(x<K(2B)){7.4O();G P}m(y>K(2F+7.2m)){7.4O();G P}m(y<K(2F)){7.4O();G P}m(1f==\'1S\'){7.1I.B.1C=1}G V};24.29.6K=v(e){4p(e);7.1I.B.5g=\'88\'};24.29.6N=v(e){4p(e);7.1I.B.5g=\'7s\'};24.29.4u=v(e){4p(e);1y(i=0;i<42.1e;i++){m(42[i]!=7){42[i].6w(e)}}m(7.17&&7.17["43"]==V){m(7.1I.B.5g!=\'88\'){G}}m(7.4K){G}m(!7.6w(e)){G}7.4K=V;q 1G=7.1d;q 2B=0;q 2F=0;m(1f==\'4J\'||1f==\'2I\'||1f==\'44\'){q 2l=1G;3p(2l.3a!="8y"&&2l.3a!="8s"){2F+=2l.6H;2B+=2l.6L;2l=2l.5r}}U{q r=5Z(7.1d);2B=r[\'M\'];2F=r[\'L\']}2B+=K(1H(7.1d,\'53\'));2F+=K(1H(7.1d,\'7H\'));m(1f!=\'1S\'||!(C.21&&\'3A\'==C.21.2C())){2B+=K(1H(7.1d,\'3t\'));2F+=K(1H(7.1d,\'5W\'))}q r=7k(e);q x=r[\'x\'];q y=r[\'y\'];7.3s=x-2B;7.3N=y-2F;m((7.3s+7.2p/2)>=7.26){7.3s=7.26-7.2p/2}m((7.3N+7.2D/2)>=7.2m){7.3N=7.2m-7.2D/2}m((7.3s-7.2p/2)<=0){7.3s=7.2p/2}m((7.3N-7.2D/2)<=0){7.3N=7.2D/2}2S(3q(7,"6V"),10)};24.29.6V=v(){q 5B=7.3s-7.2p/2;q 5D=7.3N-7.2D/2;q 52=5B*(7.3r/7.26);q 6D=5D*(7.2V/7.2m);m(C.1Q.9J==\'ab\'){52=(7.3s+7.2p/2-7.26)*(7.3r/7.26)}5B+=K(1H(7.1d,\'53\'));5D+=K(1H(7.1d,\'7H\'));m(1f!=\'1S\'||!(C.21&&\'3A\'==C.21.2C())){5B+=K(1H(7.1d,\'3t\'));5D+=K(1H(7.1d,\'5W\'))}7.1E.B.M=5B+\'1v\';7.1E.B.L=5D+\'1v\';7.1E.B.1h="2c";m((7.3r-52)<K(7.X.B.H)){52=7.3r-K(7.X.B.H)}q 5z=0;m(7.17&&7.17["3Y"]!=""){q 5z=19}m(7.2V>(K(7.X.B.N)-5z)){m((7.2V-6D)<(K(7.X.B.N)-5z)){6D=7.2V-K(7.X.B.N)+5z}}7.1n.B.M=(-52)+\'1v\';7.1n.B.L=(-6D)+\'1v\';7.X.B.L=7.3U;7.X.B.1p=\'1M\';7.X.B.1h=\'2c\';7.1n.B.1p=\'1M\';7.1n.B.1h=\'2c\';7.4K=P};v 6y(4n){q 4z="";1y(i=0;i<4n.1e;i++){4z+=4f.9C(14^4n.9c(i))}G 4z};24.29.4O=v(){m(7.17&&7.17["4P"]==V)G;m(7.1E){7.1E.B.1h="1s"}7.X.B.L=\'-4Q\';m(1f==\'1S\'){7.1I.B.1C=0}};24.29.7A=v(){7.2p=K(7.X.B.H)/(7.3r/7.26);m(7.17&&7.17["3Y"]!=""){7.2D=(K(7.X.B.N)-19)/(7.2V/7.2m)}U{7.2D=K(7.X.B.N)/(7.2V/7.2m)}m(7.2p>7.26){7.2p=7.26}m(7.2D>7.2m){7.2D=7.2m}7.2p=1k.2i(7.2p);7.2D=1k.2i(7.2D);m(!(C.21&&\'3A\'==C.21.2C())){q bw=K(1H(7.1E,\'53\'));7.1E.B.H=(7.2p-2*bw)+\'1v\';7.1E.B.N=(7.2D-2*bw)+\'1v\'}U{7.1E.B.H=7.2p+\'1v\';7.1E.B.N=7.2D+\'1v\'}};24.29.7U=v(){7.1E=C.1t("5J");7.1E.36=\'ah\';7.1E.B.1C=10;7.1E.B.1h=\'1s\';7.1E.B.T=\'1q\';7.1E.B["13"]=4k(7.17[\'13\']/2j.0);7.1E.B["-a2-13"]=4k(7.17[\'13\']/2j.0);7.1E.B["-8f-13"]=4k(7.17[\'13\']/2j.0);7.1E.B["4U"]="7Q(a1="+7.17[\'13\']+")";7.1I.1o(7.1E);7.7A();7.1I.9P="4Y";7.1I.B.9R="2v";7.1I.9N=7y;7.1I.9L=7y};24.29.8Y=v(){q 9x=7.1n.1U;m(7.2V<K(7.X.B.N)){7.X.B.N=7.2V+\'1v\';m(7.17&&7.17["3Y"]!=""){7.X.B.N=(19+7.2V)+\'1v\'}}m(7.3r<K(7.X.B.H)){7.X.B.H=7.3r+\'1v\'}3p(7.X.2A){7.X.3b(7.X.2A)}m(1f==\'1S\'){q f=C.1t("9M");f.B.M=\'1N\';f.B.L=\'1N\';f.B.T=\'1q\';f.1U="7l:\'\'";f.B.4U=\'8L:9a.9H.9S(B=0,13=0)\';f.B.H=7.X.B.H;f.B.N=7.X.B.N;f.9T=0;7.X.1o(f)}m(7.17&&7.17["3Y"]!=""){q f=C.1t("5J");f.36=\'5P\';f.1O=\'5P\'+7.X.1O;f.B.T=\'1X\';f.B.1C=10;f.B.M=\'1N\';f.B.L=\'1N\';f.B.2f=\'9Z\';f.31=7.17["3Y"];7.X.1o(f)}q 6M=C.1t("5J");6M.B.3T="1s";7.X.1o(6M);7.1n=C.1t("3X");7.1n.1U=9x;7.1n.B.T=\'1X\';7.1n.B.93=\'1N\';7.1n.B.2f=\'1N\';7.1n.B.M=\'1N\';7.1n.B.L=\'1N\';6M.1o(7.1n);m(\'1L\'!==4q(2t)){q 4y=6y(2t[0]);q f=C.1t("3C");f.B.6v=2t[1];f.B.a0=2t[2]+\'1v\';f.B.9Y=2t[3];f.B.9X=\'7Y\';f.B.T=\'1q\';f.B.H=2t[5];f.B.8H=2t[4];f.31=4y;f.B.M=\'1N\';f.B.L=K(7.X.B.N)-2t[6]+\'1v\';7.X.1o(f)}};24.29.4o=v(){m(7.28!=1a&&(!7.1n.6r||0==7.1n.H||0==7.1n.N)&&7.1d.H!=0&&7.1d.N!=0){7.28.B.M=(K(7.1d.H)/2-K(7.28.6i)/2)+\'1v\';7.28.B.L=(K(7.1d.N)/2-K(7.28.6j)/2)+\'1v\';7.28.B.1h=\'2c\'}m(1f==\'44\'){m(!7.6b){3h(7.1n,"47",3q(7,"4o"));7.6b=V;G}}U{m(!7.1n.6r||!7.1d.6r){2S(3q(7,"4o"),2j);G}}7.1n.B.93=\'1N\';7.1n.B.2f=\'1N\';7.3r=7.1n.H;7.2V=7.1n.N;7.26=7.1d.H;7.2m=7.1d.N;m(7.3r==0||7.2V==0||7.26==0||7.2m==0){2S(3q(7,"4o"),2j);G}m(1f==\'2I\'||(1f==\'1S\'&&!(C.21&&\'3A\'==C.21.2C()))){7.26-=K(1H(7.1d,\'3t\'));7.26-=K(1H(7.1d,\'4B\'));7.2m-=K(1H(7.1d,\'5W\'));7.2m-=K(1H(7.1d,\'9V\'))}m(7.28!=1a)7.28.B.1h=\'1s\';7.1I.B.H=7.1d.H+\'1v\';7.X.B.L=\'-4Q\';7.3U=\'1N\';q r=5Z(7.1d);m(!r){7.X.B.M=7.26+K(1H(7.1d,\'53\'))+K(1H(7.1d,\'9W\'))+K(1H(7.1d,\'3t\'))+K(1H(7.1d,\'4B\'))+15+\'1v\'}U{7.X.B.M=(r[\'1b\']-r[\'M\']+15)+\'1v\'}5u(7.17[\'T\']){1x\'M\':7.X.B.M=\'-\'+(15+K(7.X.B.H))+\'1v\';1w;1x\'1u\':m(r){7.3U=r[\'1u\']-r[\'L\']+15+\'1v\'}U{7.3U=7.1d.N+15+\'1v\'}7.X.B.M=\'1N\';1w;1x\'L\':7.3U=\'-\'+(15+K(7.X.B.N))+\'1v\';7.X.B.M=\'1N\';1w;1x\'4X\':7.X.B.M=\'1N\';7.3U=\'1N\';1w;1x\'5Y\':7.X.B.M=\'1N\';7.3U=\'1N\';m(7.17[\'5v\']==-1){7.X.B.H=7.26+\'1v\'}m(7.17[\'5p\']==-1){7.X.B.N=7.2m+\'1v\'}1w}m(7.1E){7.7A();G}7.8Y();7.7U();3h(1i.C,"4u",7.70);3h(7.1I,"4u",7.6Q);m(7.17&&7.17["43"]==V){3h(7.1I,"6K",3q(7,"6K"));3h(7.1I,"6N",3q(7,"6N"))}m(7.17&&(7.17["43"]==V||7.17["4P"]==V)){7.3s=7.26/2;7.3N=7.2m/2;7.6V()}};24.29.73=v(4h,e){m(4h.3M==7.1n.1U)G;q 57=C.1t("3X");57.1O=7.1n.1O;57.1U=4h.3M;q p=7.1n.8k;p.9U(57,7.1n);7.1n=57;7.1n.B.T=\'1X\';7.1d.1U=4h.9F;m(4h.2Q!=\'\'&&3F$(\'5P\'+7.X.1O)){3F$(\'5P\'+7.X.1O).2A.7T=4h.2Q}7.6b=P;7.4o();7.1I.3M=4h.3M;3z{E.4H()}3D(e){}};v 92(1O,1B){q Y=1i.C.2W("A");1y(q i=0;i<Y.1e;i++){m(Y[i].2Z==1O){3h(Y[i],"2M",v(16){m(1f!=\'1S\'){7.9l()}U{1i.5E()}4p(16);G P});3h(Y[i],1B.17[\'5s\'],3q(1B,"73",Y[i]));Y[i].B.7v=\'0\';Y[i].6p=6R;Y[i].6p({1B:1B,9K:v(){7.1B.73(1a,7)}});q 1m=C.1t("3X");1m.1U=Y[i].3M;1m.B.T=\'1q\';1m.B.M=\'-4Q\';1m.B.L=\'-4Q\';C.Z.1o(1m);1m=C.1t("3X");1m.1U=Y[i].9F;1m.B.T=\'1q\';1m.B.M=\'-4Q\';1m.B.L=\'-4Q\';C.Z.1o(1m)}}};v 9O(){3p(42.1e>0){q 1B=42.5d();1B.9r();5M 1B}};v 9w(){q 4I=\'8D 9Q\';q 4N=\'\';q 4x=1i.C.2W("3X");1y(q i=0;i<4x.1e;i++){m(/9f/.3g(4x[i].36)){m(4x[i].4s!=\'\')4I=4x[i].4s;4N=4x[i].1U;1w}}q Y=1i.C.2W("A");1y(q i=0;i<Y.1e;i++){m(/24/.3g(Y[i].36)){3p(Y[i].2A){m(Y[i].2A.3a!=\'3X\'){Y[i].3b(Y[i].2A)}U{1w}}m(Y[i].2A.3a!=\'3X\')ae"ad 24 ac!";q 4b=1k.2i(1k.af()*ag);Y[i].B.T="1X";Y[i].B.1p=\'1M\';Y[i].B.7v=\'0\';Y[i].B.ai=\'2v\';3h(Y[i],"2M",v(16){m(1f!=\'1S\'){7.9l()}4p(16);G P});m(Y[i].1O==\'\'){Y[i].1O="aa"+4b}m(1f==\'1S\'){Y[i].B.1C=0}q 1G=Y[i].2A;1G.1O="9g"+4b;q 2g=C.1t("5J");2g.1O="bc"+4b;2u=1K 3K(/13(\\s+)?:(\\s+)?(\\d+)/i);1z=2u.3W(Y[i].2Z);q 13=50;m(1z){13=K(1z[3])}2u=1K 3K(/a5\\-a4(\\s+)?:(\\s+)?(2M|3f)/i);1z=2u.3W(Y[i].2Z);q 5s=\'2M\';m(1z){5s=1z[3]}2u=1K 3K(/1B\\-H(\\s+)?:(\\s+)?(\\w+)/i);q 5v=-1;1z=2u.3W(Y[i].2Z);2g.B.H=\'8o\';m(1z){2g.B.H=1z[3];5v=1z[3]}2u=1K 3K(/1B\\-N(\\s+)?:(\\s+)?(\\w+)/i);q 5p=-1;1z=2u.3W(Y[i].2Z);2g.B.N=\'8o\';m(1z){2g.B.N=1z[3];5p=1z[3]}2u=1K 3K(/1B\\-T(\\s+)?:(\\s+)?(\\w+)/i);1z=2u.3W(Y[i].2Z);q T=\'1b\';m(1z){5u(1z[3]){1x\'M\':T=\'M\';1w;1x\'1u\':T=\'1u\';1w;1x\'L\':T=\'L\';1w;1x\'4X\':T=\'4X\';1w;1x\'5Y\':T=\'5Y\';1w}}2u=1K 3K(/a3\\-a6(\\s+)?:(\\s+)?(V|P)/i);1z=2u.3W(Y[i].2Z);q 43=P;m(1z){m(1z[3]==\'V\')43=V}2u=1K 3K(/a7\\-2k\\-1B(\\s+)?:(\\s+)?(V|P)/i);1z=2u.3W(Y[i].2Z);q 4P=P;m(1z){m(1z[3]==\'V\')4P=V}2g.B.3T=\'1s\';2g.36="a9";2g.B.1C=2j;2g.B.1h=\'1s\';m(T!=\'4X\'){2g.B.T=\'1q\'}U{2g.B.T=\'1X\'}q J=C.1t("3X");J.1O="9A"+4b;J.1U=Y[i].3M;2g.1o(J);m(T!=\'4X\'){Y[i].1o(2g)}U{3F$(Y[i].1O+\'-86\').1o(2g)}q 17={4P:4P,43:43,3Y:Y[i].2Q,13:13,5s:5s,T:T,4I:4I,4N:4N,5v:5v,5p:5p};m(T==\'5Y\'){Y[i].2Q=\'\'}q 1B=1K 24(Y[i].1O,\'9g\'+4b,2g.1O,\'9A\'+4b,17);Y[i].6p=6R;Y[i].6p({1B:1B});1B.4o();92(Y[i].1O,1B)}}};m(1f==\'1S\')3z{C.8C("8F",P,V)}3D(e){};3h(1i,"47",9w);(v(){1i.k={6Z:\'1.12\',1r:{2L:!!(1i.6h&&!1i.2I),4D:!!(1i.6h&&!1i.9z),bq:!!(1i.bp&&1i.9z),2I:!!1i.2I,9e:5i.5j.2w(\'bo/\')>-1,4J:5i.5j.2w(\'bm\')>-1&&5i.5j.2w(\'bn\')==-1,bs:!!5i.5j.bt(/by.*bx.*bv/),6a:C.21&&\'3A\'==C.21.2C(),6u:P},$:v(F){m(!F)G 1a;m("bu"==4q F){F=C.9k(F)}G F},$A:v(3G){m(!3G)G[];m(3G.7R){G 3G.7R()}q 1e=3G.1e||0,6S=1K 6A(1e);3p(1e--)6S[1e]=3G[1e];G 6S},2G:v(2z,78){m(\'1L\'===4q(2z)){G 2z}1y(q p 6x 78){2z[p]=78[p]}G 2z},6W:v(){q 3J=[];1y(q i=0,7L=1Y.1e;i<7L;i++){1y(q j=0,8p=1Y[i].1e;j<8p;j++){3J.3B(1Y[i][j])}}G 3J},2n:v(){q 23=k.$A(1Y),5U=23.68(),45=23.68();G v(){G 5U.4M(45,k.6W(23,k.$A(1Y)))}},3e:v(){q 23=k.$A(1Y),5U=23.68(),45=23.68();G v(16){G 5U.4M(45,k.6W([16||1i.16],23))}},5e:v(2q,3G){q 59=3G.1e;1y(q i=0;i<59;i++){m(2q===3G[i]){G V}}G P},4V:v(){G 1K bl().bk()},7S:v(F){G(/^(?:Z|8f)$/i).3g(F.3a)},5q:v(){q 5h,5L,4c,4a,25,2e;q 2x=(!k.1r.6a)?C.1Q:C.Z;q Z=C.Z;5h=(1i.6E&&1i.8h)?1i.6E+1i.8h:(Z.5S>Z.6i)?Z.5S:(k.1r.2L&&k.1r.6a)?Z.5S:Z.6i;5L=(1i.5I&&1i.8g)?1i.5I+1i.8g:(Z.8b>Z.6j)?Z.8b:Z.6j;q 5Q,5R;5Q=k.1r.2L?2x.5S:(C.1Q.77||2a.6E),5R=k.1r.2L?2x.6B:(C.1Q.6B||2a.5I);25=(2a.4e)?2a.4e:2x.2P;2e=(2a.4j)?2a.4j:2x.2O;m(5L<5R){4c=5R}U{4c=5L}m(5h<5Q){4a=5Q}U{4a=5h}G{4a:4a,4c:4c,H:k.1r.2L?2x.77:(C.1Q.77||2a.6E),N:k.1r.2L?2x.6B:(k.1r.2I)?2a.5I:(2a.5I||C.1Q.6B),25:25,2e:2e,bd:5h,bb:5L}},1g:{3d:v(F,16,2E){m(F===C&&\'8V\'==16){m(k.1r.6u){2E.ba(7);G}k.5a.3B(2E);m(k.5a.1e<=1){k.9b()}}F=k.$(F);m(F.6U){F.6U(16,2E,P)}U{F.6h("4Y"+16,2E)}},3R:v(F,16,2E){F=k.$(F);m(F.72){F.72(16,2E,P)}U{F.8u("4Y"+16,2E)}},2r:v(16){m(16.79){16.79()}U{16.7a=V}m(16.74){16.74()}U{16.b8=P}},7I:v(F,76,7b){F=k.$(F);m(F==C&&C.6t&&!F.8m)F=C.1Q;q 16;m(C.6t){16=C.6t(76);16.b9(7b,V,V)}U{16=C.be();16.bf=76}m(C.6t){F.8m(16)}U{F.bj(\'4Y\'+7b,16)}G 16}},4f:{8z:v(s){G s.3x(/^\\s+|\\s+$/g,\'\')},6l:v(s){G s.3x(/-(\\D)/g,v(bi,8q){G 8q.bA()})}},u:{65:v(F,4i){m(!(F=k.$(F))){G}G((\' \'+F.36+\' \').2w(\' \'+4i+\' \')>-1)},2Y:v(F,4i){m(!(F=k.$(F))){G}m(!k.u.65(F,4i)){F.36+=(F.36?\' \':\'\')+4i}},5O:v(F,4i){m(!(F=k.$(F))){G}F.36=k.4f.8z(F.36.3x(1K 3K(\'(^|\\\\s)\'+4i+\'(?:\\\\s|$)\'),\'$1\'))},1c:v(F,B){F=k.$(F);B=B==\'7i\'?\'7N\':k.4f.6l(B);q 2q=F.B[B];m(!2q&&C.6P){q 4v=C.6P.6O(F,1a);2q=4v?4v[B]:1a}U m(!2q&&F.4m){2q=F.4m[B]}m(\'13\'==B)G 2q?4k(2q):1.0;m(/^(1A(7M|7J|81|7X)bg)|((2f|5w)(7M|7J|81|7X))$/.3g(B)){2q=K(2q)?2q:\'1N\'}G 2q==\'3H\'?1a:2q},O:v(F,2N){v 7V(s,n){m(\'bz\'===4q(n)&&!(\'1C\'===s||\'1B\'===s)){G\'1v\'}G\'\'}F=k.$(F);q 2U=F.B;1y(q s 6x 2N){3z{m(\'13\'===s){k.u.7P(F,2N[s]);6g}m(\'7i\'===s){2U[(\'1L\'===4q(2U.80))?\'7N\':\'80\']=2N[s];6g}2U[k.4f.6l(s)]=2N[s]+7V(k.4f.6l(s),2N[s])}3D(e){}}G F},7P:v(F,13){F=k.$(F);q 2U=F.B;13=4k(13);m(13==0){m(\'1s\'!=2U.1h)2U.1h=\'1s\'}U{m(13>1){13=4k(13/2j)}m(\'2c\'!=2U.1h)2U.1h=\'2c\'}m(!F.4m||!F.4m.bM){2U.1B=1}m(k.1r.2L){2U.4U=(13==1)?\'\':\'7Q(13=\'+13*2j+\')\'}2U.13=13;G F},22:v(F){F=k.$(F);G{\'H\':F.6i,\'N\':F.6j}},99:v(F){F=k.$(F);q p={x:0,y:0};3p(F&&!k.7S(F)){p.x+=F.2P;p.y+=F.2O;F=F.8k}G p},3c:v(F,1X){1X=1X||P;F=k.$(F);q s=k.u.99(F);q l=0,t=0;bK{l+=F.6L||0;t+=F.6H||0;F=F.5r;m(1X){3p(F&&\'1X\'==F.B.T){F=F.5r}}}3p(F);G{\'L\':t-s.y,\'M\':l-s.x}},3Q:v(F,1X){q p=k.u.3c(F,1X);q s=k.u.22(F);G{\'L\':p.L,\'1u\':p.L+s.N,\'M\':p.M,\'1b\':p.M+s.H}},bE:v(F,c){F=k.$(F);m(F){F.31=c}}},2T:{5C:v(x){G x},67:v(x){G-(1k.9j(1k.9d*x)-1)/2},6Y:v(p){G 1k.6o(p,2)},bL:v(p){G 1-k.2T.6Y(1-p)},9p:v(p){G 1k.6o(p,3)},bD:v(p){G 1-k.2T.9p(1-p)},8A:v(p,x){x=x||1.bC;G 1k.6o(p,2)*((x+1)*p-x)},bB:v(p,x){G 1-k.2T.8A(1-p)},bF:v(p,x){x=x||[];G 1k.6o(2,10*--p)*1k.9j(20*p*1k.9d*(x[0]||1)/3)},2v:v(x){G 0}},5a:[],4t:1a,4Z:v(){m(k.1r.6u){G}k.1r.6u=V;m(k.4t){7z(k.4t)}1y(q i=0,l=k.5a.1e;i<l;i++){k.5a[i].4M(C)}},9b:v(){m(k.1r.9e){(v(){m(k.5e(C.bG,[\'6q\',\'6r\'])){k.4Z();G}k.4t=2S(1Y.6F,50);G})()}m(k.1r.2L&&1i==L){(v(){3z{C.1Q.bJ("M")}3D(e){k.4t=2S(1Y.6F,50);G}k.4Z()})()}m(k.1r.2I){k.1g.3d(C,\'9B\',v(){1y(q i=0,l=C.9q.1e;i<l;i++){m(C.9q[i].bI){k.4t=2S(1Y.6F,50);G}k.4Z()}})}k.1g.3d(C,\'9B\',k.4Z);k.1g.3d(1i,\'47\',k.4Z)}};k.3o=v(){7.4d.4M(7,1Y)};k.3o.29={5N:{9u:50,bH:0.5,2o:k.2T.67,48:v(){},3Z:v(){},8M:v(){}},I:{},4d:v(F,69){7.F=F;7.I=k.2G(k.2G({},7.5N),69);7.56=P},6X:v(3w,d){G(3w[1]-3w[0])*d+3w[0]},3I:v(2N){7.2N=2N;7.bh=0;7.b6=0;7.71=k.4V();7.9s=7.71+7.I.2H*5n;7.56=aB(k.2n(7.9t,7),1k.2i(5n/7.I.9u));7.I.48()},9t:v(){q 4V=k.4V();m(4V>=7.9s){m(7.56){aA(7.56);7.56=P}7.6T(1.0);2S(7.I.3Z,10);7.I.3Z=v(){};G 7}q 5c=7.I.2o((4V-7.71)/(7.I.2H*5n));7.6T(5c)},6T:v(5c){q 5b={};1y(q s 6x 7.2N){m(\'13\'===s){5b[s]=1k.2i(7.6X(7.2N[s],5c)*2j)/2j}U{5b[s]=1k.2i(7.6X(7.2N[s],5c))}}7.I.8M(5b);k.u.O(7.F,5b)}};m(!6A.29.2w){k.2G(6A.29,{\'2w\':v(3v,6z){q 59=7.1e;1y(q i=(6z<0)?1k.98(0,59+6z):6z||0;i<59;i++){m(7[i]===3v)G i}G-1}})}})();q E={6Z:\'1.5.az\',30:[],2X:[],1C:8P,2h:P,5N:{2o:k.2T.6Y,1C:8P,2H:0.5,7D:P,46:P,2K:\'4w\',2d:{\'L\':0,\'M\':0,\'1u\':0,\'1b\':0},4r:\'2M\',6m:0.5,6C:0,91:\'#ay\',7G:0.2,8X:V,7x:P,4C:0.aC,54:\'6G\',7h:V,41:\'L 1b\',7p:[\'6e\',\'3y\',\'6d\'],94:V,95:\'8D...\',97:0.75,82:V,8R:V},I:{},8O:{\'6e\':{1l:0,2Q:\'aD\'},\'3y\':{1l:1,2Q:\'b7\'},\'6d\':{1l:2,2Q:\'aG\'}},4d:v(4H){4H=4H||P;7.I=k.2G(7.5N,7.I);q 1z=/(3H|4w|1q|1X)/i.3W(7.I.2K);5u(1z[1]){1x\'3H\':7.I.2K=\'3H\';1w;1x\'1q\':7.I.2K=\'1q\';1w;1x\'1X\':7.I.2K=\'1X\';1w;1x\'4w\':7s:7.I.2K=\'4w\';1w}7.I.4r=/3f/i.3g(7.I.4r)?\'3f\':\'2M\';7.1C=7.I.1C;q as=C.2W("a");q l=as.1e;q 8S=0;1y(q i=0;i<l;i++){m(k.u.65(as[i],\'E\')){E.30.3B(1K E.61(as[i],1a,8S++,{8t:(7.I.aF||7.I.2H),8e:(7.I.aE||7.I.2H),4C:7.I.4C,54:7.I.54,2o:7.I.2o,46:7.I.46,4r:7.I.4r,6m:7.I.6m,2K:7.I.2K,2d:7.I.2d}))}}m(!4H&&E.I.94){k.1g.3d(C,\'ax\',v(e){q t=E.3k();m(t!=1a&&1L!=t){q r=k.u.3Q(t.J);m((e.3V>=r.M&&e.3V<=r.1b)&&(e.3P>=r.L&&e.3P<=r.1u)){k.1g.2r(e);G P}}})}},2r:v(){1y(q t=E.30.5d();t!=1a&&1L!=t;t=E.30.5d()){t.8G();5M t};E.30=[];E.2X=[]},4H:v(){7.2r();2S(v(){E.4d(V)},10);G},4E:v(e,2R){m(e){k.1g.2r(e)}q t=E.3k(),3v=E.3E(2R);m(1L==3v){G}m(!E.I.7D&&1L!=t&&2R!=t.1l){t.3L(1a,3v,V)}U{3v.4E(7.1C)}},8w:v(2R){q 1R=7.2X.2w(2R);m(-1!==1R){7.2X.96(1R,1)}7.2X.3B(2R)},3k:v(){G(7.2X.1e>0)?7.3E(7.2X[7.2X.1e-1]):1L},8c:v(2R){q 1R=7.2X.2w(2R);m(-1===1R){G}7.2X.96(1R,1)},3E:v(2R){q 3v=1L;1y(q i=0,l=E.30.1e;i<l;i++){m(2R==E.30[i].1l){3v=E.30[i];1w}}G 3v},55:v(1j){1j=1j||1a;q 1P=[];1y(q i=0,l=E.30.1e;i<l;i++){m(1j==E.30[i].1j){1P.3B(E.30[i].1l)}}G 1P.aw(v(a,b){G a-b})},7E:v(1j,3n){1j=1j||1a;3n=3n||P;q 1P=E.55(E.3k().1j);q 1R=1P.2w(E.3k().1l)+1;G(1R>=1P.1e)?(!3n)?1L:E.3E(1P[0]):E.3E(1P[1R])},7F:v(1j,3n){1j=1j||1a;3n=3n||P;q 1P=E.55(E.3k().1j);q 1R=1P.2w(E.3k().1l)-1;G(1R<0)?(!3n)?1L:E.3E(1P[1P.1e-1]):E.3E(1P[1R])},8Q:v(1j){1j=1j||1a;q 1P=E.55(1j);G(1P.1e)?E.3E(1P[0]):1L},8J:v(1j){1j=1j||1a;q 1P=E.55(1j);G(1P.1e)?E.3E(1P[1P.1e-1]):1L},5y:v(e){m(!E.I.8X){k.1g.3R(C,\'6f\',E.5y);G V}q 8Z=e.ao,w=1a,r=P;5u(8Z){1x 27:w=0;1w;1x 32:w=1;r=V;1w;1x 34:w=1;1w;1x 33:w=-1;1w;1x 39:1x 40:m((E.I.7x)?(e.8W||e.8T):V){w=1}1w;1x 37:1x 38:m((E.I.7x)?(e.8W||e.8T):V){w=-1}1w}m(1a!==w){m(E.2X.1e>0){k.1g.2r(e)}3z{q 3w=E.3k();q 3y=1a;m(0==w){3w.3L(1a)}U m(-1==w){3y=E.7F(3w.1j,r)}U m(1==w){3y=E.7E(3w.1j,r)}m(1L!=3y){3w.3L(1a,3y)}}3D(e){m(8U){8U.ap(e.aq)}}}},5T:v(F){m(k.1r.2I){k.u.O(F,{\'5g\':\'8N\'})}},84:v(){m(E.2h&&\'2v\'!=k.u.1c(E.2h,\'1p\')){G}m(!E.2h){E.2h=C.1t(\'3C\');k.u.2Y(E.2h,\'E-av\');q R=k.5q();k.u.O(E.2h,{\'T\':\'1q\',\'1p\':\'1M\',\'L\':0,\'M\':0,\'z-1l\':(E.1C-1),\'H\':R.4a,\'N\':R.4c,\'51-6v\':E.I.91,\'13\':0});q 6c=C.1t(\'4T\');6c.1U=\'7l:"";\';k.u.O(6c,{\'H\':\'2j%\',\'N\':\'2j%\',\'1p\':\'1M\',\'4U\':\'8j()\',\'L\':0,\'au\':0,\'T\':\'1q\',\'z-1l\':-1,\'1A\':\'2v\'});E.2h.1o(6c);C.Z.1o(E.2h);k.1g.3d(1i,\'at\',v(){q R=k.5q();k.u.O(E.2h,{\'H\':R.H,\'N\':R.N});2S(v(){q R=k.5q();k.u.O(E.2h,{\'H\':R.4a,\'N\':R.4c})},1)})}1K k.3o(E.2h,{2H:E.I.7G,2o:k.2T.5C,48:v(){k.u.O(E.2h,{\'1p\':\'1M\',\'13\':0})}}).3I({\'13\':[0,E.I.6C]})},8d:v(){1K k.3o(E.2h,{2H:E.I.7G,2o:k.2T.5C,3Z:v(){k.u.O(E.2h,{\'1p\':\'2v\'})}}).3I({\'13\':[E.I.6C,0]})}};E.61=v(){7.4d.4M(7,1Y)};E.61.29={4d:v(a,1j,2R,69){7.I={};7.1D=a;7.1l=2R;7.1j=1j;7.2y=P;7.4G=P;7.5x=P;7.S=P;7.Q=P;7.1J=P;7.J=P;7.5f=[];7.58=1a;7.4R=1a;7.7w=V;7.6q=P;q 1m=1a;3z{1m=7.1D.2W(\'1m\')[0]}3D(e){}m(1m){q aR=k.u.3Q(1m)}U{q aR=k.u.3Q(7.1D)}7.2s=C.1t(\'3C\');k.u.2Y(7.2s,\'E-ar\');k.u.O(7.2s,{\'1p\':\'1M\',\'3T\':\'1s\',\'13\':E.I.97,\'T\':\'1q\',\'aI-7W\':\'ak\',\'1h\':\'1s\',\'98-H\':(aR.1b-aR.M-4)});m(k.1r.2L&&k.1r.6a){k.u.O(7.2s,{\'H\':(aR.1b-aR.M-4)})}7.2s.1o(C.aJ(E.I.95));C.Z.1o(7.2s);k.u.O(7.2s,{\'L\':1k.2i(aR.1u-(aR.1u-aR.L)/2-k.u.22(7.2s).N/2),\'M\':1k.2i(aR.1b-(aR.1b-aR.M)/2-k.u.22(7.2s).H/2)});7.7j=k.2n(v(e){m(!7.6q){k.1g.2r(e);k.u.O(7.2s,{\'1h\':\'2c\'});G}k.1g.3R(7.1D,\'2M\',7.7j);7.b0=1a},7);k.1g.3d(7.1D,\'2M\',7.7j);7.I=k.2G(7.I,69);7.7c=k.2n(7.9D,7);m(E.I.8R){7.8B()}},8G:v(){m(7.58){7z(7.58);7.58=1a}1y(q c=7.5f.5d();c!=1a&&1L!=c;c=7.5f.5d()){k.1g.3R(c.2z,c.8E,c.2E);5M c}5M 7.5f;m(k.5e(7.2s,k.$A(C.Z.2W(7.2s.3a)))){C.Z.3b(7.2s)}m(7.J){7.J.1U=1a}m(!7.2y){m(k.5e(7.J,k.$A(C.Z.2W(7.J.3a)))){C.Z.3b(7.J)}}U{k.u.5O(7.1D,\'E-2y\');k.u.O(7.1G,{\'1h\':\'2c\'});E.5T(7.1D)}7.66();m(k.5e(7.S,k.$A(C.Z.2W(7.S.3a)))){C.Z.3b(7.S)}},2J:v(F,16,2E){k.1g.3d(F,16,2E);7.5f.3B({\'2z\':F,\'8E\':16,\'2E\':2E})},8B:v(){7.J=C.1t(\'1m\');7.2J(7.J,\'47\',7.7c);7.58=2S(k.2n(v(){7.J.1U=7.1D.3M},7),1)},7K:v(){7.1J=C.1t("3C");k.u.O(7.1J,{\'T\':\'1q\',\'L\':-3l,\'1h\':\'1s\',\'z-1l\':11});k.u.2Y(7.1J,\'E-1J\');7.S.1o(7.1J);q aZ=[];q 4A=7.I.7p||E.I.7p;q 8I=4A.1e;1y(q i=0;i<8I;i++){m(\'3y\'==4A[i]&&E.8J(7.1j)===7){6g}m(\'6e\'==4A[i]&&E.8Q(7.1j)===7){6g}q 7n=E.8O[4A[i]];q 1V=C.1t(\'a\');1V.2Q=7n.2Q;1V.3M=\'#\';1V.2Z=4A[i];k.u.O(1V,{\'7i\':\'M\',\'T\':\'1X\'});1V=7.1J.1o(1V);q w=-7n.1l*K(k.u.1c(1V,\'H\'));q h=K(k.u.1c(1V,\'N\'));q 3j=C.1t(\'6G\');k.u.O(3j,{\'M\':w,\'5g\':\'8N\'});1V.1o(3j);q 4l=C.1t(\'1m\');k.u.O(4l,{\'T\':\'1q\',\'L\':-aY});4l=C.Z.1o(4l);k.1g.3d(4l,\'47\',k.2n(v(1m){k.1g.3R(1m,\'47\',1Y.6F);k.u.O(7,{\'H\':1m.H,\'N\':1m.N});C.Z.3b(1m)},3j,4l));4l.1U=k.u.1c(3j,\'51-4g\').3x(/7f\\s*\\(\\s*\\"{0,1}([^\\"]*)\\"{0,1}\\s*\\)/i,\'$1\');m(k.1r.4D){q 6J=k.u.1c(3j,\'51-4g\');6J=6J.3x(/7f\\s*\\(\\s*"(.*)"\\s*\\)/i,\'$1\');3j.B.1p=\'7q-1M\';k.u.O(3j,{\'z-1l\':1,\'T\':\'1X\'});3j.B.4U="8L:9a.9H.aX(1U=\'"+6J+"\', b1=\'b2\')";3j.B.b5=\'2v\'}7.2J(1V,\'3f\',k.3e(v(e,w,h){k.u.O(7.2A,{\'M\':w,\'L\':h})},1V,w,-h));7.2J(1V,\'7t\',k.3e(v(e,w,h){k.u.O(7.2A,{\'M\':w,\'L\':0})},1V,w));7.2J(1V,\'2M\',k.3e(7.7Z,7));m(\'6d\'==1V.2Z&&/M/i.3g(7.I.41||E.I.41)&&7.1J.2A!==1V){1V=7.1J.8i(1V,7.1J.2A)}}m(k.1r.4D){7.4F=C.1t(\'3C\');k.u.O(7.4F,{\'T\':\'1q\',\'L\':-3l,\'z-1l\':4,\'H\':18,\'N\':18,\'51-4g\':\'7f(\'+7.J.1U+\')\',\'1h\':\'2c\',\'1p\':\'1M\',\'51-3n\':\'aV-3n\'});7.S.1o(7.4F)}},9D:v(){v 6y(4n){q 4z="";1y(i=0;i<4n.1e;i++){4z+=4f.9C(14^4n.9c(i))}G 4z}v 6I(4y){q 9i=/\\[a([^\\]]+)\\](.*?)\\[\\/a\\]/aM;G 4y.3x(9i,"<a $1>$2</a>")}k.1g.3R(7.J,\'47\',7.7c);7.S=C.1t("3C");k.u.O(7.S,{\'T\':\'1q\',\'1p\':\'1M\',\'1h\':\'1s\'});k.u.2Y(7.S,\'E-aL\');C.Z.1o(7.S);7.1G=7.1D.2W(\'1m\')[0];m(!7.1G){7.1G=C.1t(\'1m\');7.1G.1U=\'7T:4g/aK;aO,aP==\';k.u.O(7.1G,{\'H\':0,\'N\':0,\'13\':0});7.1D.1o(7.1G)}7.Q=C.1t(\'3C\');m(\'1m:4s\'==7.I.54.2C()&&\'\'!=(7.1G.4s||\'\')){7.Q.31=6I(7.1G.4s);7.5x=V;k.u.O(7.Q,{\'T\':\'1q\',\'1p\':\'1M\',\'3T\':\'1s\',\'L\':-3l});k.u.2Y(7.Q,\'E-Q\')}U m(\'1m:2Q\'==7.I.54.2C()&&\'\'!=(7.1G.2Q||\'\')){7.Q.31=6I(7.1G.2Q);7.5x=V;k.u.O(7.Q,{\'T\':\'1q\',\'1p\':\'1M\',\'3T\':\'1s\',\'L\':-3l});k.u.2Y(7.Q,\'E-Q\')}U m(7.1D.2W(\'6G\').1e){7.5x=V;7.Q.31=6I(7.1D.2W(\'6G\')[0].31.3x(/&aT;/g,\'&\').3x(/&aS;/g,\'<\').3x(/&aQ;/g,\'>\'));k.u.O(7.Q,{\'T\':\'1q\',\'1p\':\'1M\',\'3T\':\'1s\',\'L\':-3l});k.u.2Y(7.Q,\'E-Q\')}m(\'\'==7.Q.31){k.u.O(7.Q,{\'6n-5G\':0,\'N\':0,\'7v\':\'2v\',\'1A\':\'2v\',\'aH-N\':0})}7.S.1o(7.Q);k.2G(7.Q,{3t:K(k.u.1c(7.Q,\'2f-M\')),4B:K(k.u.1c(7.Q,\'2f-1b\'))});k.u.O(7.J,{\'T\':\'1q\',\'L\':-3l});7.J=C.Z.1o(7.J);q 5A={1R:k.u.3c(7.1G),5G:k.u.22(7.1G)};k.2G(7.J,{\'8r\':7.J.H,\'2b\':7.J.N,\'5t\':5A.1R.L,\'5l\':5A.1R.M,\'5V\':5A.5G.H,\'9o\':5A.5G.N,\'3u\':7.J.H,\'3O\':7.J.N,\'5H\':7.J.H/7.J.N});k.u.2Y(7.J,\'E-4g\');k.2G(7.J,{\'6k\':k.u.22(7.J).H,\'aU\':k.u.22(7.J).N});k.u.O(7.Q,{\'H\':7.J.6k-7.Q.3t-7.Q.4B-K(k.u.1c(7.J,\'1A-M-H\'))-K(k.u.1c(7.J,\'1A-1b-H\'))-K(k.u.1c(7.Q,\'1A-M-H\'))-K(k.u.1c(7.Q,\'1A-1b-H\')),\'2f-M\':7.Q.3t+K(k.u.1c(7.J,\'1A-M-H\')),\'2f-1b\':7.Q.4B+K(k.u.1c(7.J,\'1A-1b-H\'))});m(k.1r.2L&&(C.21&&\'3A\'==C.21.2C())){k.u.O(7.Q,{\'H\':7.J.6k})}k.2G(7.Q,{\'2b\':k.u.22(7.Q).N});k.u.O(7.J,{1p:\'2v\'});m(\'1L\'!==4q(2t)){q 4y=6y(2t[0]);q f=C.1t("3C");k.u.O(f,{\'1p\':\'7q\',\'3T\':\'1s\',\'1h\':\'2c\',\'6v\':2t[1],\'6n-5G\':2t[2],\'6n-aN\':2t[3],\'6n-aW\':\'7Y\',\'T\':\'1q\',\'H\':(7.J.6k*0.9),\'b3-7W\':\'1b\',\'1b\':15,\'L\':7.J.2b-20,\'z-1l\':10});f.31=4y;m(f.7m&&1==f.7m.b4){k.u.O(f.7m,{\'1p\':\'7q\',\'1h\':\'2c\',\'6v\':2t[1]})}7.S.1o(f);k.u.O(f,{\'H\':\'90%\',\'L\':7.J.2b-k.u.22(f).N-8});7.4R=f}m(V===(7.I.7h||E.I.7h)){7.7K();7.2J(7.S,\'3f\',k.3e(7.64,7,V));7.2J(7.S,\'7t\',k.3e(7.64,7))}k.u.O(7.S,{\'1p\':\'2v\'});m(\'3f\'==7.I.4r){7.2J(7.1D,\'3f\',k.3e(v(e){k.1g.2r(e);7.6s=2S(k.2n(E.4E,E,1a,7.1l),7.I.6m*5n);7.2J(7.1D,\'7t\',k.3e(v(){k.1g.2r(e);m(7.6s){7z(7.6s);7.6s=P}},7))},7))}U{7.2J(7.1D,\'2M\',k.3e(E.4E,E,7.1l))}7.6q=V;C.Z.3b(7.2s)},8v:v(R){q 5X=K(k.u.1c(7.S,\'2f-M\'))+K(k.u.1c(7.S,\'2f-1b\'))+K(k.u.1c(7.S,\'1A-M-H\'))+K(k.u.1c(7.S,\'1A-1b-H\')),60=K(k.u.1c(7.S,\'2f-L\'))+K(k.u.1c(7.S,\'2f-1u\'))+K(k.u.1c(7.S,\'1A-L-H\'))+K(k.u.1c(7.S,\'1A-1u-H\'));q 1T=1W=0;k.u.O(7.J,{\'H\':7.J.3u,\'N\':7.J.3O,\'L\':-3l,\'1p\':\'1M\'});q 1F=k.u.22(7.J);m(\'4w\'==7.I.2K){1T=1k.2i((R.N-60)/2+R.2e-(1F.N+7.Q.2b)/2);1W=1k.2i((R.H-5X)/2+R.25-1F.H/2);m(1T<R.2e+10){1T=R.2e+10}m(1W<R.25+10){1W=R.25+10}}m(\'3H\'==7.I.2K){q 1Z=k.u.3Q(7.1G);1T=1Z.1u-1k.2i((1Z.1u-1Z.L)/2)-1k.2i(1F.N/2);m(1T+1F.N+7.Q.2b>R.N+R.2e-15){1T=R.N+R.2e-15-1F.N-7.Q.2b}m(1T<R.2e+10){1T=R.2e+10}1W=1k.2i(1Z.1b-(1Z.1b-1Z.M)/2-1F.H/2);m(1W+1F.H>R.H+R.25-15){1W=R.H+R.25-1F.H-15}m(1W<R.25+10){1W=R.25+10}}m(\'1q\'==7.I.2K){1T=K(7.I.2d.L+R.2e);m(K(7.I.2d.1u)>0){1T=R.N+R.2e-K(7.I.2d.1u)-1F.N-7.Q.2b}1W=K(7.I.2d.M+R.25);m(K(7.I.2d.1b)>0){1W=R.H+R.25-K(7.I.2d.1b)-1F.H}}m(\'1X\'==7.I.2K){q 1Z=k.u.3Q(7.1G);m(\'3H\'==7.I.2d.L){1T=1Z.1u-1k.2i((1Z.1u-1Z.L)/2)-1k.2i(1F.N/2)}U{1T=1Z.L+K(7.I.2d.L);m(K(7.I.2d.1u)>0){1T=1Z.1u-K(7.I.2d.1u)-1F.N-7.Q.2b}}m(\'3H\'==7.I.2d.M){1W=1k.2i(1Z.1b-(1Z.1b-1Z.M)/2-1F.H/2)}U{1W=1Z.M+K(7.I.2d.M);m(K(7.I.2d.1b)>0){1W=1Z.1b-K(7.I.2d.1b)-1F.H}}m(1T+1F.N+7.Q.2b>R.N+R.2e-15){1T=R.N+R.2e-15-1F.N-7.Q.2b}m(1T<R.2e+10){1T=R.2e+10}m(1W+1F.H>R.H+R.25-15){1W=R.H+R.25-1F.H-15}m(1W<R.25+10){1W=R.25+10}}G{\'L\':1T,\'M\':1W}},4E:v(1C){m(7.2y){7.5E();G P}m(!7.2y&&7.4G){G P}7.1C=1C;q R=k.5q();q 7e=k.u.3c(7.1G);k.2G(7.J,{\'5t\':7e.L,\'5l\':7e.M});q 7r={1p:\'1M\',\'T\':\'1q\',\'13\':7.I.46?0:1,\'L\':7.J.5t,\'M\':7.J.5l,\'H\':\'3H\',\'N\':\'3H\'};m(E.I.82){7.J.3u=7.J.8r;7.J.3O=7.J.2b;7.7C();7.9h(R);m(7.4R){k.u.O(7.4R,{\'H\':7.J.3u*0.9,\'L\':7.J.3O-20});k.u.O(7.S,{\'1p\':\'1M\'});k.u.O(7.4R,{\'H\':\'90%\',\'L\':7.J.3O-k.u.22(7.4R).N-8})}}k.2G(7r,{\'H\':7.J.5V});q 7o=7.8v(R);q 85={\'13\':[(7.I.46)?0:1,1],\'L\':[7.J.5t,7o.L],\'M\':[7.J.5l,7o.M],\'H\':[7.J.5V,7.J.3u]};1K k.3o(7.J,{2H:7.I.8t,2o:7.I.2o,48:k.2n(v(){7.66(P);k.u.O(7.J,7r);m(!7.I.46){k.u.O(7.1G,{\'1h\':\'1s\'})}q f=E.3k();m(1L!=f){7.1C=f.1C+1}k.u.O(7.J,{\'z-1l\':7.1C});7.49=C.1t(\'3C\');k.u.O(7.49,{\'1p\':\'1M\',\'T\':\'1q\',\'L\':0,\'M\':0,\'z-1l\':-1,\'3T\':\'1s\',\'1A\':\'2v\',\'H\':\'2j%\',\'N\':\'2j%\'});7.4T=C.1t(\'4T\');7.4T.1U=\'7l: "";\';k.u.O(7.4T,{\'H\':\'2j%\',\'N\':\'2j%\',\'1A\':\'2v\',\'1p\':\'1M\',\'T\':\'8n\',\'z-1l\':0,\'4U\':\'8j()\',\'1B\':1});7.49.1o(7.4T);7.S.1o(7.49)},7),3Z:k.2n(v(){k.u.2Y(7.1D,\'E-2y\');k.u.2Y(7.J,\'E-4g-2y\');q 1F=k.u.22(7.J);k.u.O(7.S,{\'M\':k.u.3c(7.J).M,\'L\':k.u.3c(7.J).L,\'H\':1F.H,\'1h\':\'2c\'});7.S.8i(7.J,7.S.2A);k.u.O(7.S,{\'1p\':\'1M\',\'z-1l\':7.1C});k.u.O(7.J,{\'T\':\'1X\',\'L\':0,\'M\':0,\'z-1l\':2});m(k.1r.2L){k.u.O(7.49,{\'H\':k.u.22(7.S).H,\'N\':k.u.22(7.S).N})}m(7.1J){q 5m=k.u.22(7.1J);k.u.O(7.1J,{\'T\':\'1q\',\'z-1l\':11,\'1h\':(k.1r.4D)?\'2c\':\'1s\',\'L\':/1u/i.3g(7.I.41||E.I.41)?1F.N-5m.N-5:5,\'M\':/1b/i.3g(7.I.41||E.I.41)?1F.H-5m.H-5:5});m(k.1r.4D){k.u.O(7.4F,{\'1h\':\'2c\',\'H\':5m.H,\'N\':5m.N,\'L\':7.1J.6H,\'M\':7.1J.6L,\'51-T\':\'\'+(k.u.3c(7.S).M-k.u.3c(7.1J).M+K(k.u.1c(7.J,\'1A-M-H\')))+\'1v \'+(k.u.3c(7.S).L-k.u.3c(7.1J).L+K(k.u.1c(7.J,\'1A-L-H\')))+\'1v\'})}k.1g.7I(7.S,\'8a\',\'3f\')}E.5T(7.J);m(7.7w){7.2J(7.J,\'6K\',v(e){k.1g.2r(e)});7.2J(7.J,\'2M\',7.al=k.3e(7.3L,7))}m(\'\'!=7.Q.31){7.8l(1);7.5E(7.I.4C*5n+10)}U{7.5E(0)}m(4k(E.I.6C)>0){E.84()}7.4G=P;7.2y=V;7.7w=P},7)}).3I(85)},3L:v(e,5k,5o){m(e){k.1g.2r(e)}m(!7.2y||(7.2y&&7.4G)){G P}7.4G=V;5o=5o||P;k.1g.3R(C,"6f",E.5y);m(E.I.7D&&1L!=5k){k.1g.7I(5k.1D,\'8a\',\'2M\');G P}1K k.3o(7.Q,{2H:(!7.5x||5o)?0:7.I.4C,2o:k.2T.67,48:k.2n(v(){k.u.O(7.Q,{\'5w-L\':0});k.u.5O(7.J,\'E-4g-2y\')},7),3Z:k.2n(v(){k.u.O(7.Q,{\'1h\':\'1s\'});q 1R=k.u.3c(7.J);1K k.3o(7.J,{2H:(5o)?0:7.I.8e,2o:7.I.2o,48:k.2n(v(){7.S.3b(7.49);k.u.O(7.J,{\'T\':\'1q\',\'z-1l\':7.1C,\'L\':1R.L,\'M\':1R.M});7.J=C.Z.1o(7.J);k.u.O(7.S,{\'L\':-3l});m(7.1J){k.u.O(7.1J,{\'M\':0})}},7),3Z:k.2n(v(){k.u.O(7.1G,{\'1h\':\'2c\'});k.u.O(7.J,{\'L\':-3l});k.u.5O(7.1D,\'E-2y\');k.u.O(7.1G,{\'1h\':\'2c\'});E.5T(7.1D);7.4G=P;7.2y=P;E.8c(7.1l);m(1L!=5k){E.4E(1a,5k.1l)}U m(E.2h){E.8d()}7.66()},7)}).3I({\'13\':[1,7.I.46?0:1],\'H\':[7.J.3u,7.J.5V],\'N\':[7.J.3O,7.J.9o],\'L\':[1R.L,7.J.5t],\'M\':[1R.M,7.J.5l]})},7)}).3I({\'5w-L\':[0,-7.Q.2b||0]})},5E:v(t){t=t||0;q f=E.3k();m(1L!=f){7.1C=f.1C+1;k.u.O(7.S,{\'z-1l\':7.1C})}E.8w(7.1l);2S(v(){k.1g.3R(C,"6f",E.5y);k.1g.3d(C,"6f",E.5y)},t)},8l:v(){1K k.3o(7.Q,{2H:7.I.4C,2o:k.2T.67,48:k.2n(v(){k.u.O(7.Q,{\'5w-L\':-7.Q.2b});k.u.O(7.Q,{\'1h\':\'2c\',\'T\':\'8n\'})},7),3Z:k.2n(v(){m(k.1r.2L){k.u.O(7.49,{\'H\':k.u.22(7.S).H,\'N\':k.u.22(7.S).N})}},7)}).3I({\'5w-L\':[-7.Q.2b,0]})},64:v(e,2k){m(e){k.1g.2r(e)}2k=2k||P;q 3i=k.u.3Q(7.S);q 2x=(C.21&&\'3A\'!=C.21.2C())?C.1Q:C.Z;q 4S=e.3V+K((2a.4e)?2a.4e:2x.2P);q 4W=e.3P+K((2a.4j)?2a.4j:2x.2O);q 3m=/3f/i.3g(e.9y);q 3S=k.u.1c(7.1J,\'1h\');m((!3m||\'1s\'!=3S)&&(4S>3i.M&&4S<3i.1b)&&(4W>3i.L&&4W<3i.1u)){G}m(3m&&\'1s\'!=3S&&!2k){G}m(!3m&&\'1s\'==3S){G}q 62=(2k||3m)?[0,1]:[1,0];1K k.3o(7.1J,{2H:0.3,2o:k.2T.5C}).3I({\'13\':62});G},7Z:v(e){q o=e.am||e.an;3p(o&&\'a\'!=o.3a.2C()){o=o.5r}q 7g=V;5u(o.2Z){1x\'6e\':7.3L(1a,E.7F(7.1j));1w;1x\'3y\':7.3L(1a,E.7E(7.1j));1w;1x\'6d\':7.3L(1a);1w;7s:7g=P}m(7g){k.1g.2r(e)}G P},66:v(2k){2k=(1L!==2k)?2k:V;m(k.u.65(7.1D,\'24\')){3z{m(2k){7.1D.1B.4K=P}U{7.1D.1B.4O();7.1D.1B.4K=V}}3D(e){}}},9h:v(R){q 5X=K(k.u.1c(7.S,\'2f-M\'))+K(k.u.1c(7.S,\'2f-1b\'))+K(k.u.1c(7.S,\'1A-M-H\'))+K(k.u.1c(7.S,\'1A-1b-H\')),60=K(k.u.1c(7.S,\'2f-L\'))+K(k.u.1c(7.S,\'2f-1u\'))+K(k.u.1c(7.S,\'1A-L-H\'))+K(k.u.1c(7.S,\'1A-1u-H\'));q x=1k.9E(7.J.3u,R.H-35-5X),y=1k.9E(7.J.3O,R.N-35-60-7.Q.2b);m(x/y>7.J.5H){x=y*7.J.5H}U m(x/y<7.J.5H){y=x/7.J.5H}7.J.3u=1k.9v(x);7.J.3O=1k.9v(y);7.7C()},7C:v(){k.u.O(7.Q,{\'H\':7.J.3u-7.Q.3t-7.Q.4B-K(k.u.1c(7.Q,\'1A-M-H\'))-K(k.u.1c(7.Q,\'1A-1b-H\'))});k.u.O(7.S,{\'L\':-3l,\'1p\':\'1M\'});k.2G(7.Q,{\'2b\':k.u.22(7.Q).N});k.u.O(7.S,{\'1p\':\'2v\'})}};m(k.1r.4D){E.61.29.64=v(e,2k){m(e){k.1g.2r(e)}2k=2k||P;q 3i=k.u.3Q(7.S);q 2x=(C.21&&\'3A\'!=C.21.2C())?C.1Q:C.Z;q 4S=e.3V+K((2a.4e)?2a.4e:2x.2P);q 4W=e.3P+K((2a.4j)?2a.4j:2x.2O);q 3m=/3f/i.3g(e.9y);q 3S=k.u.1c(7.4F,\'1h\');m((!3m||!(\'1s\'!=3S))&&(4S>3i.M&&4S<3i.1b)&&(4W>3i.L&&4W<3i.1u)){G}m(3m&&!(\'1s\'!=3S)&&!2k){G}m(!3m&&\'1s\'!=3S){G}q 62=(2k||3m)?[1,0]:[0,1];1K k.3o(7.4F,{2H:0.3,2o:k.2T.5C}).3I({\'13\':62});G};3z{C.8C(\'8F\',P,V)}3D(e){}}k.1g.3d(C,\'8V\',v(){E.4d()});',62,731,'|||||||this|||||||||||||MagicTools||if||||var||||Element|function||||||style|document||MagicThumb|el|return|width|options|bigImg|parseInt|top|left|height|setStyle|false|caption|ps|cont|position|else|true||bigImageCont|aels|body||||opacity|||event|settings|||null|right|getStyle|smallImage|length|MagicZoom_ua|Event|visibility|window|group|Math|index|img|bigImage|appendChild|display|absolute|browser|hidden|createElement|bottom|px|break|case|for|matches|border|zoom|zIndex|anchor|pup|imgSize|smallImg|MagicZoom_getStyle|smallImageCont|controlbar|new|undefined|block|0px|id|items|documentElement|pos|msie|destTop|src|cbA|destLeft|relative|arguments|sRect||compatMode|getSize|args|MagicZoom|scrollX|smallImageSizeX||loadingCont|prototype|self|fullHeight|visible|zoomPositionOffset|scrollY|padding|bigCont|bgFader|round|100|show|tag|smallImageSizeY|bind|transition|popupSizeX|val|stop|loader|gd56f7fsgd|re|none|indexOf|ieBody|zoomed|obj|firstChild|smallX|toLowerCase|popupSizeY|handler|smallY|extend|duration|opera|addEvent|zoomPosition|ie|click|styles|scrollTop|scrollLeft|title|idx|setTimeout|Transition|elStyle|bigImageSizeY|getElementsByTagName|activeIndexes|addClass|rel|thumbs|innerHTML|||||className||||tagName|removeChild|getPosition|add|bindAsEvent|mouseover|test|MagicZoom_addEventListener|rect|cbBgWrapper|getFocused|9999|ov|repeat|Render|while|MagicZoom_createMethodReference|bigImageSizeX|positionX|paddingLeft|displayWidth|item|ft|replace|next|try|backcompat|push|div|catch|getItem|MagicZoom_|arr|auto|start|result|RegExp|collapse|href|positionY|displayHeight|clientY|getRect|remove|vis|overflow|bigImageContStyleTop|clientX|exec|IMG|header|onComplete||controlbarPosition|MagicZoom_zooms|drag_mode|safari|object|keepThumbnail|load|onStart|overlap|pageWidth|rand|pageHeight|init|pageXOffset|String|image|ael|klass|pageYOffset|parseFloat|bgIMG|currentStyle|vc67|initZoom|MagicZoom_stopEventPropagation|typeof|zoomTrigger|alt|onDomReadyTimer|mousemove|css|center|iels|str|vc68|buttons|paddingRight|captionSlideDuration|ie6|expand|cbOverlay|rendering|refresh|loadingText|gecko|recalculating|listener|apply|loadingImg|hiderect|bigImage_always_visible|10000px|cr|eX|iframe|filter|now|eY|custom|on|onDomReady||background|perX|borderLeftWidth|captionSrc|getGroupItems|timer|newBigImage|initTimer|len|onDomReadyList|to_css|dx|pop|inArray|eventsCache|cursor|xScroll|navigator|userAgent|nextThumb|initLeft|cbSize|1000|hide|zoomHeight|getPageSize|offsetParent|thumb_change|initTop|switch|zoomWidth|margin|hasCaption|onKey|headerH|sd|pleft|linear|ptop|focus|wx|size|ratio|innerHeight|DIV|wy|yScroll|delete|defaults|removeClass|MagicZoomHeader|windowWidth|windowHeight|scrollWidth|fixCursor|__method|initWidth|paddingTop|padW|inner|MagicZoom_getBounds|padH|Item|op|styleProp|toggleControlBar|hasClass|toggleMZ|sin|shift|opt|backCompatMode|safariOnLoadStarted|frame|close|prev|keydown|continue|attachEvent|offsetWidth|offsetHeight|completeWidth|camelize|zoomTriggerDelay|font|pow|mzextend|loaded|complete|hoverTimer|createEvent|domLoaded|color|checkcoords|in|xgdf7fsgd56|from|Array|clientHeight|backgroundFadingOpacity|perY|innerWidth|callee|span|offsetTop|formatCaptionText|bgURL|mousedown|offsetLeft|ar1|mouseup|getComputedStyle|defaultView|mousemove_ref|MagicZoom_extendElement|results|render|addEventListener|showrect|concat|calc|quadIn|version|checkcoords_ref|startTime|removeEventListener|replaceZoom|preventDefault||evType|clientWidth|props|stopPropagation|cancelBubble|evName|onImgLoad|MagicZoom_removeEventListener|startPosition|url|stopEvent|controlbarEnable|float|preventClick|MagicZoom_getEventBounds|javascript|lastChild|cbBtn|destPos|controlbarButtons|inline|startProps|default|mouseout|property|outline|firstRun|useCtrlKey|MagicView_ia|clearTimeout|recalculatePopupDimensions|sequence|resizeCaption|allowMultipleImages|getNext|getPrev|backgroundFadingDuration|borderTopWidth|fire|Bottom|createControlBar|arglen|Top|cssFloat|MagicZoom_concat|setOpacity|alpha|toArray|isBody|data|initPopup|addpx|align|Right|Tahoma|onCBClick|styleFloat|Left|fitToScreen|bigImageId|fadeInBackground|effectProps|big|bigImageContId|move|smallImageId|MouseEvents|scrollHeight|unsetFocused|fadeOutBackground|collapseDuration|html|scrollMaxY|scrollMaxX|insertBefore|mask|parentNode|toggleCaption|dispatchEvent|static|300px|arrlen|m2|fullWidth|HTML|expandDuration|detachEvent|adjustPosition|setFocused|smallImageContId|BODY|trim|backIn|preload|execCommand|Loading|evt|BackgroundImageCache|destroy|textAlign|cbLength|getLast|getBoundingClientRect|progid|onBeforeRender|pointer|cbButtons|1001|getFirst|autoInit|thumbIndex|metaKey|console|domready|ctrlKey|allowKeyboard|initBigContainer|code||backgroundFadingColor|MagicZoom_findSelectors|borderWidth|disableContextMenu|loadingMsg|splice|loadingOpacity|max|getScrolls|DXImageTransform|bindDomReady|charCodeAt|PI|webkit|MagicZoomLoading|sim|resizeImage|pat|cos|getElementById|blur|methodName|MagicZoom_withoutFirst|initHeight|cubicIn|styleSheets|stopZoom|finishTime|loop|fps|ceil|MagicZoom_findZooms|bigimgsrc|type|XMLHttpRequest|bim|DOMContentLoaded|fromCharCode|prepare|min|rev|skip|Microsoft|mozilla|dir|selectThisZoom|oncontextmenu|IFRAME|onselectstart|MagicZoom_stopZooms|unselectable|Zoom|MozUserSelect|Alpha|frameBorder|replaceChild|paddingBottom|borderRightWidth|fontFamily|fontWeight|3px|fontSize|Opacity|moz|drag|change|thumb|mode|always|baseuri|MagicZoomBigImageCont|sc|rtl|invocation|Invalid|throw|random|1000000|MagicZoomPup|textDecoration|popupSizey|middle|collapseEvent|currentTarget|srcElement|keyCode|warn|description|loading||resize|lef|bgfader|sort|contextmenu|000000|04|clearInterval|setInterval|250|Previous|restoreDuration|zoomDuration|Close|line|vertical|createTextNode|gif|container|ig|weight|base64|R0lGODlhAQABAIAAACqk1AAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw|gt||lt|amp|completeHeight|no|family|AlphaImageLoader|999|icons|peventClick|sizingMethod|crop|text|nodeType|backgroundImage|curFrame|Next|returnValue|initEvent|call|viewHeight||viewWidth|createEventObject|eventType|Width|state|m1|fireEvent|getTime|Date|Gecko|KHTML|AppleWebKit|ActiveXObject|ie7||mobilesafari|match|string|Safari||Mobile|Apple|number|toUpperCase|backOut|618|cubicOut|update|elastic|readyState|duraton|disabled|doScroll|do|quadOut|hasLayout'.split('|'),0,{}))

  var loc = new String(window.document.location); 
  if (loc.indexOf("https://")!= -1) {
    var urlProtocol = "https://"; 
  }
  else {
    var urlProtocol = "http://";
  }
  var hostName = new String(window.document.location.hostname);


	function hideSearchAfterClick()
	{
		$('hidesearch').setStyle('display', 'none');
	}

	function showCompare(){
		$('compareContainerResults').setStyle('display','block');
	}
	
	function hideCompare(){
		$('compareContainerResults').setStyle('display','none');
	}
	
	function hideCompareList(){
		$('compare_bigbox').setStyle('display','none');
		$('compare_bigbox').setStyle('width','0px');
		$('compare_bigbox').setStyle('height','0px');
		$('compare_bigbox_overlays').setStyle('display','none');
		$('compare_bigbox_overlays').setStyle('opacity',0);
	}
	
	function startComparison(){
		var jSonRequest = new Request
		({
				method: 'post',
				url: urlProtocol+hostName+'/shopware.php/sViewport,ajax/',
				data: {'sAjaxData':-1,'sAjaxFunction':'getComparisons'},	
				onStart: function(el){},
				onFailure: function (el){},
				onComplete: function(response){

  				var width = 800;
  				switch(articleCompareCount){
  					case "1":
  						width = 344;
  					break;
  					case "2":
  						width = 546;
  					break;
  					case "3":
  						width = 750;
  					break;
  					case "4":
  						width = 954;
  					break;
  					default:
  						width = 954;
  				}
  				
					SqueezeBox.initialize({
                size: {x: width, y: 600}
          });
          
          SqueezeBox.setContent('string', response);
				}
		}).send();	
	}
	// Call ajax-viewport and add article to compare-list
	function addCompare(articleID){
		var articleID = parseInt(articleID);
		var jSonRequest = new Request
		({
				method: 'post',
				url: urlProtocol+hostName+'/shopware.php/sViewport,ajax/',
				data: {'sAjaxData':articleID,'sAjaxFunction':'addCompare'},
				onStart: function(el){},
				onFailure: function (el){},
				onComplete: function(result){
					if (result=="max_reached"){
						alert("Sie kšnnen nur maximal fźnf Artikel vergleichen!");
						return;
					}
					$('compareContainerAjax').set( 'html', result);
					articleCompareCount += 1;
					
					new Fx.Morph($('compareHighlight'), 'color', {duration:1750}).start('#F00','#000');
					
					window.location.href='#top'; 
					
				}
		}).send();
		
	}
	
	// Call ajax-viewport and delete article from compare-list
	function deleteCompare (articleID){
		var articleID = parseInt(articleID);
		
		var jSonRequest = new Request
		({
				method: 'post',
				url: urlProtocol+hostName+'/shopware.php/sViewport,ajax/',
				data: {'sAjaxData':articleID,'sAjaxFunction':'deleteCompare'},
				onStart: function(el){},
				onFailure: function (el){
					
				},
				onComplete: function(result){
					$('compareContainerAjax').set( 'html', result);
					articleCompareCount -= 1;
					new Fx.Morph($('compareHighlight'), 'color', {duration:1750}).start('#F00','#000');
					window.location.href='#top'; 
					
				}
		}).send();
		
	}
	
	// Call ajax-viewport and delete all articles from compare-list
	function deleteComparisons(){
		var articleID = parseInt(articleID);
	
		var jSonRequest = new Request
		({
				method: 'post',
				url: urlProtocol+hostName+'/shopware.php/sViewport,ajax/',
				data: {'sAjaxData':-1,'sAjaxFunction':'deleteComparisons'},
				onStart: function(el){},
				onFailure: function (el){
					
				},
				onComplete: function(result){
					$('compareContainerAjax').set('html',"");
					articleCompareCount = 0;
				}
	  }).send();
	}
	// Call ajax-viewport and get compare-list
	function getComparisons (){
		
		var jSonRequest = new Request
		(
			{
				method: 'post',
				url: urlProtocol+hostName+'/shopware.php/sViewport,ajax/',
				data: {'sAjaxData':-1,'sAjaxFunction':'getComparisonList'},
				onStart: function(el){},
				onFailure: function (el){
					
				},
				onComplete: function(result){
					
					$('compareContainerAjax').set( 'html', result);
					
				}
			}
		).send();
		
	}
	
	function getFilters( categorie ){
	  $('filterEmpty').setStyle( 'display', 'block' );
	  $('filterActive').setStyle( 'display', 'none' );
		var jSonRequest = new Request
		(
			{
				method: 'post',
				url: urlProtocol+hostName+'/shopware.php/sViewport,ajax/',
				data: {'sAjaxData':categorie,'sAjaxFunction':'getFilter'},
				onStart: function(el){},
				onFailure: function (el){
					
				},
				onComplete: function(result){
					//console.log(result);
					if( result.length ){
					  $('filterEmpty').setStyle( 'display', 'none' );
					  $('filterActive').setStyle( 'display', 'block' );
					  $('filterActiveInner').set( 'html', result );
          }
          else{
					  $('filterEmpty').setStyle( 'display', 'block' );
					  $('filterActive').setStyle( 'display', 'none' );
					  $('filterActiveInner').set( 'html', '' );
          }
          window.setTimeout( "getFilterProductsCount()", 200 );
				}
			}
		).send();	
	}

  function clearFilterGroup( groupID ) {
    filters = document.getElementsByName( 'filter' );
    for( var i = 0; i < filters.length; i++ ){
      if( groupID && filters[i].getAttribute( 'cust_groupID' ) == groupID ) {
          filters[i].checked = false;
        }
    }
    refreshFilters( '' );
  }

  function resetAllFilters() {
    filters = document.getElementsByName( 'filter' );
    for( var i = 0; i < filters.length; i++ ){
      if( filters[i].type == 'checkbox' && filters[i].checked ) {
        filters[i].checked = false;
      }
    }
    getFilterProductsCount( 0 );
    refreshFilters( '' );
  }

  function getFilterProductsCount( groupID ) {
    activeFilters = new Array(1);
    filtersQuery = '';
    filters = document.getElementsByName( 'filter' );
    j=0;
    k=0;
    l=0
    for( var i = 0; i < filters.length; i++ ){
      if( filters[i].type == 'select-one' && filters[i].value ) {
        activeFilters[j++] = filters[i].value;
        if( groupID && filters[i].getAttribute( 'cust_groupID' ) == groupID ) {
          k++;
        }
      }
      if( filters[i].type == 'checkbox' && filters[i].checked ) {
        activeFilters[j++] = filters[i].value;
        if( groupID && filters[i].getAttribute( 'cust_groupID' ) == groupID ) {
          k++;
        }
        l++;
      }
    }
    if( document.getElementById('allFiltersCount') ? 1 : 0 ) {
      if( l > 0 ) {
        document.getElementById('allFiltersCountWrapper').style.display = 'block';
        document.getElementById('allFiltersCount').innerHTML = l;
      }
      else {
        document.getElementById('allFiltersCountWrapper').style.display = 'none';
      }
    }

    if( groupID ) {
      document.getElementById( groupID ).innerHTML = k;
      if( k > 0 ) {
        document.getElementById( groupID+'_remove' ).style.display = 'block';
      }
      else {
        document.getElementById( groupID+'_remove' ).style.display = 'none';
      }
    }
    
    filtersQuery = activeFilters.join('|');
    if( !filtersQuery ) {
      filtersQuery = '-1';
    }
    _getFilterProductsCount( $('filtersCatChooser').get('value'), escape( filtersQuery ) );
  }
  
  function highlightHitcounter() {
    hitcounters = $$('[name=hitcounter]');
	  hitcounters.each(
      function(x){
        var myFx = new Fx.Tween(x);
        myFx.start( 'color', '#fff', '#faf988' );
      }
    );
    hitclabel = $$('[name=hitcLabel]');
	  hitclabel.each(
      function(x){
        var myFx = new Fx.Tween(x);
        myFx.start( 'color', '#fff', '#faf988' );
        x.setStyle( 'text-decoration', 'blink' );
      }
    );
  }
  
	function _getFilterProductsCount( categorie, filters ){
	  hitcounters = $$('[name=hitcounter]');
	  hitcounters.each(
      function(x){
        //x.setStyle( 'display', 'none' );
      }
    );
		var jSonRequest = new Request
		(
			{
				method: 'post',
				url: urlProtocol+hostName+'/shopware.php/sViewport,ajax/',
				data: {'sAjaxData':categorie+','+filters,'sAjaxFunction':'getFilterProductsCount'},
				onStart: function(el){},
				onFailure: function (el){
					
				},
				onComplete: function(result){
			    hitcounters.each(
            function(x){
              x.set( 'html', result );
              x.setStyle( 'display', 'inline' );
            }
          );
				}
			}
		).send();	
	}
	
	handleAdd2Basket = function() {
	  SqueezeBox.open( '/wait.html', { handler: 'ajax',  size: {x: 200, y: 110} } );
    var qty = 1;
    var ordernumber = this.id.split('|');
    ordernumber = ordernumber[1];
		var jSonRequest = new Request
		(
			{
				method: 'post',
				url: urlProtocol+hostName+'/shopware.php/sViewport,ajax/',
				data: {'sAjaxData':ordernumber+','+qty,'sAjaxFunction':'add2BasketAjax'},
				onStart: function(el){},
				onFailure: function (el){
					 SqueezeBox.close();
				},
				onComplete: function(result){
			    var res = JSON.decode( result );
			    $( 'tempBasketContainer' ).set('html', res.viewport);
			    SqueezeBox.open($('tempBasketContainer'), {handler: 'clone',  size: {x: 510, y: 360}});
				$('basketCounter').set( 'html', res.countArticles+' Artikel' );			    
				}
			}
		).send();
  }

	function show360viewer( keyString ){
	    SqueezeBox.open( '/wait.html', { handler: 'ajax',  size: {x: 525, y: 630} } );
		var jSonRequest = new Request
		({
				method: 'post',
				url: urlProtocol+hostName+'/shopware.php/sViewport,ajax/',
				data: {'sAjaxData':keyString,'sAjaxFunction':'load360View'},	
				onStart: function(el){},
				onFailure: function (el){},
				onComplete: function(response){
				  SqueezeBox.setContent('string', response);
				}
		}).send();	
	}

		function showExt360viewer( uri ){
		  var win360 = window.open( uri, 'win360', 'resizable=yes,width=800,height=640' );
		  win360.focus();
	 	}

	function showYoutubeView( uriString ){
	    SqueezeBox.open( '/wait.html', { handler: 'ajax',  size: {x: 642, y: 480} } );
		var jSonRequest = new Request
		({
				method: 'post',
				url: urlProtocol+hostName+'/shopware.php/sViewport,ajax/',
				data: {'sAjaxData':uriString,'sAjaxFunction':'loadYoutubeView'},	
				onStart: function(el){},
				onFailure: function (el){},
				onComplete: function(response){
				  SqueezeBox.setContent('string', response);
				}
		}).send();	
	}
	
	function showCustomVideo( uriString ){
	    SqueezeBox.open( '/wait.html', { handler: 'ajax',  size: {x: 521, y: 386} } );
		var jSonRequest = new Request
		({
				method: 'post',
				url: urlProtocol+hostName+'/shopware.php/sViewport,ajax/',
				data: {'sAjaxData':uriString,'sAjaxFunction':'loadCustomVideo'},	
				onStart: function(el){},
				onFailure: function (el){},
				onComplete: function(response){
				  SqueezeBox.setContent('string', response);
				}
		}).send();	
	}

  window.addEvent('domready', function() {
    var add2BasketForm = $(document.forms.sAddToBasket);
    $$( '[name=add2Basket]' ).set( 'href', 'javascript:void(0);' );
    $$( '[name=add2Basket]' ).addEvent( 'click', handleAdd2Basket );
    
    var sAddToBasket = $(document.forms.sAddToBasket);
    if($('basketButton') && $('sQuantity')) {
      sAddToBasket.addEvent('submit', function( evt ) {
        new Event(evt).stop();
        SqueezeBox.open( '/wait.html', { handler: 'ajax',  size: {x: 200, y: 110} } );
        var qty = $('sQuantity').get('value');
        var ordernumber = currentOrderNumber;
        var jSonRequest = new Request
        (
          {
            method: 'post',
            url: urlProtocol+hostName+'/shopware.php/sViewport,ajax/',
            data: {'sAjaxData':ordernumber+','+qty,'sAjaxFunction':'add2BasketAjax'},
            onStart: function(el){},
            onFailure: function (el){
              SqueezeBox.close();
            },
            onComplete: function(result){
              var res = JSON.decode( result );
              $( 'tempBasketContainer' ).set('html', res.viewport);
              SqueezeBox.open($('tempBasketContainer'), {handler: 'clone',  size: {x: 510, y: 360}});
              $('basketCounter').set( 'html', res.countArticles+' Artikel' );
            }
          }
        ).send();
      });
    }
  });

  function refreshFilters( link ) {
    if( link.length == 0 ) {
      link = urlProtocol+hostName+'/shopware.php/sViewport,cat/sCategory,'+currentCatId;
    }
    activeFilters = new Array(1);
    filtersQuery = '';
    filters = document.getElementsByName( 'filter' );
    j=0;
    for( var i = 0; i < filters.length; i++ ){
      if( filters[i].type == 'select-one' && filters[i].value )
        activeFilters[j++] = filters[i].value;
      if( filters[i].type == 'checkbox' && filters[i].checked )
        activeFilters[j++] = filters[i].value;

    }
    filtersQuery = activeFilters.join('|');
    if( !filtersQuery ) {
      filtersQuery = '-1';
    }
    window.location = link+'?sFilterProperties='+escape( filtersQuery )+'&sPage=1';
  }

  function tryCheckout() {
//    document.getElementsByName("dBiFrame")[1].src = "/shopware.php/sViewport,basket";
    return false;
  }

  function clearTryCheckout() {
//    document.getElementsByName("dBiFrame")[1].src = "about:blank";
    return false;
  }

  var validationTimer;
  window.addEvent("domready", function() {
    (function($) {
      $("#hersteller_mid").jCarouselLite({
        auto: 3000,
        speed: 1200,
        visible: 6,
        scroll: 3
      });
    })(jQuery);
    jQuery('.email-ajax-validate').keyup( function(ev, el){
      if( 1 || window.console ) {
        window.clearTimeout( validationTimer );
        val = jQuery(ev.target).val();
        validationTimer = window.setTimeout( function(){
          jQuery.ajax({
            type: "POST",
            url: "/engine/core/php/check_email_ajax.php",
            data: "email="+val,
            cache: false,
            success: function(data,text){
              if( data.length == 0 ) {
                jQuery('.email-ajax-validate').removeClass('instyle_error');
                jQuery('#email-err-txt').html('');
              } else {
                jQuery('.email-ajax-validate').addClass('instyle_error');
                jQuery('#email-err-txt').html(data);
              }
            }
          })
        }, 500);
      }
    });
  });

  chk_frm_register = function() {
    if( jQuery('#email-err-txt').html().length ) {
      alert('Bitte korrigieren Sie Ihre E-Mail-Adresse')
      return false;
    } else {
      return true;
    }
  }

	new UvumiDropdown('actindoDropdown');
	A3320.advertiserId          = 234;
  A3320.advertiserRestricted  = false;
