//MooTools, My Object Oriented Javascript Tools. Copyright (c) 2006-2007 Valerio Proietti, <http://mad4milk.net>, MIT Style License.

var MooTools={version:"1.11"};function $defined(A){return(A!=undefined);}function $type(B){if(!$defined(B)){return false;}if(B.htmlElement){return"element";
}var A=typeof B;if(A=="object"&&B.nodeName){switch(B.nodeType){case 1:return"element";case 3:return(/\S/).test(B.nodeValue)?"textnode":"whitespace";}}if(A=="object"||A=="function"){switch(B.constructor){case Array:return"array";
case RegExp:return"regexp";case Class:return"class";}if(typeof B.length=="number"){if(B.item){return"collection";}if(B.callee){return"arguments";}}}return A;
}function $merge(){var C={};for(var B=0;B<arguments.length;B++){for(var E in arguments[B]){var A=arguments[B][E];var D=C[E];if(D&&$type(A)=="object"&&$type(D)=="object"){C[E]=$merge(D,A);
}else{C[E]=A;}}}return C;}var $extend=function(){var A=arguments;if(!A[1]){A=[this,A[0]];}for(var B in A[1]){A[0][B]=A[1][B];}return A[0];};var $native=function(){for(var B=0,A=arguments.length;
B<A;B++){arguments[B].extend=function(C){for(var D in C){if(!this.prototype[D]){this.prototype[D]=C[D];}if(!this[D]){this[D]=$native.generic(D);}}};}};
$native.generic=function(A){return function(B){return this.prototype[A].apply(B,Array.prototype.slice.call(arguments,1));};};$native(Function,Array,String,Number);
function $chk(A){return !!(A||A===0);}function $pick(B,A){return $defined(B)?B:A;}function $random(B,A){return Math.floor(Math.random()*(A-B+1)+B);}function $time(){return new Date().getTime();
}function $clear(A){clearTimeout(A);clearInterval(A);return null;}var Abstract=function(A){A=A||{};A.extend=$extend;return A;};var Window=new Abstract(window);
var Document=new Abstract(document);document.head=document.getElementsByTagName("head")[0];window.xpath=!!(document.evaluate);if(window.ActiveXObject){window.ie=window[window.XMLHttpRequest?"ie7":"ie6"]=true;
}else{if(document.childNodes&&!document.all&&!navigator.taintEnabled){window.webkit=window[window.xpath?"webkit420":"webkit419"]=true;}else{if(document.getBoxObjectFor!=null){window.gecko=true;
}}}window.khtml=window.webkit;Object.extend=$extend;if(typeof HTMLElement=="undefined"){var HTMLElement=function(){};if(window.webkit){document.createElement("iframe");
}HTMLElement.prototype=(window.webkit)?window["[[DOMElement.prototype]]"]:{};}HTMLElement.prototype.htmlElement=function(){};if(window.ie6){try{document.execCommand("BackgroundImageCache",false,true);
}catch(e){}}var Class=function(B){var A=function(){return(arguments[0]!==null&&this.initialize&&$type(this.initialize)=="function")?this.initialize.apply(this,arguments):this;
};$extend(A,this);A.prototype=B;A.constructor=Class;return A;};Class.empty=function(){};Class.prototype={extend:function(B){var C=new this(null);for(var D in B){var A=C[D];
C[D]=Class.Merge(A,B[D]);}return new Class(C);},implement:function(){for(var B=0,A=arguments.length;B<A;B++){$extend(this.prototype,arguments[B]);}}};Class.Merge=function(C,D){if(C&&C!=D){var B=$type(D);
if(B!=$type(C)){return D;}switch(B){case"function":var A=function(){this.parent=arguments.callee.parent;return D.apply(this,arguments);};A.parent=C;return A;
case"object":return $merge(C,D);}}return D;};var Chain=new Class({chain:function(A){this.chains=this.chains||[];this.chains.push(A);return this;},callChain:function(){if(this.chains&&this.chains.length){this.chains.shift().delay(10,this);
}},clearChain:function(){this.chains=[];}});var Events=new Class({addEvent:function(B,A){if(A!=Class.empty){this.$events=this.$events||{};this.$events[B]=this.$events[B]||[];
this.$events[B].include(A);}return this;},fireEvent:function(C,B,A){if(this.$events&&this.$events[C]){this.$events[C].each(function(D){D.create({bind:this,delay:A,"arguments":B})();
},this);}return this;},removeEvent:function(B,A){if(this.$events&&this.$events[B]){this.$events[B].remove(A);}return this;}});var Options=new Class({setOptions:function(){this.options=$merge.apply(null,[this.options].extend(arguments));
if(this.addEvent){for(var A in this.options){if($type(this.options[A]=="function")&&(/^on[A-Z]/).test(A)){this.addEvent(A,this.options[A]);}}}return this;
}});Array.extend({forEach:function(C,D){for(var B=0,A=this.length;B<A;B++){C.call(D,this[B],B,this);}},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;},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;},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;},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;},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;},copy:function(D,C){D=D||0;if(D<0){D=this.length+D;}C=C||(this.length-D);var A=[];for(var B=0;B<C;B++){A[B]=this[D++];}return A;},remove:function(C){var B=0;
var A=this.length;while(B<A){if(this[B]===C){this.splice(B,1);A--;}else{B++;}}return this;},contains:function(A,B){return this.indexOf(A,B)!=-1;},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;},extend:function(C){for(var B=0,A=C.length;B<A;B++){this.push(C[B]);}return this;},merge:function(C){for(var B=0,A=C.length;
B<A;B++){this.include(C[B]);}return this;},include:function(A){if(!this.contains(A)){this.push(A);}return this;},getRandom:function(){return this[$random(0,this.length-1)]||null;
},getLast:function(){return this[this.length-1]||null;}});Array.prototype.each=Array.prototype.forEach;Array.each=Array.forEach;function $A(A){return Array.copy(A);
}function $each(C,B,D){if(C&&typeof C.length=="number"&&$type(C)!="object"){Array.forEach(C,B,D);}else{for(var A in C){B.call(D||C,C[A],A);}}}Array.prototype.test=Array.prototype.contains;
String.extend({test:function(A,B){return(($type(A)=="string")?new RegExp(A,B):A).test(this);},toInt:function(){return parseInt(this,10);},toFloat:function(){return parseFloat(this);
},camelCase:function(){return this.replace(/-\D/g,function(A){return A.charAt(1).toUpperCase();});},hyphenate:function(){return this.replace(/\w[A-Z]/g,function(A){return(A.charAt(0)+"-"+A.charAt(1).toLowerCase());
});},capitalize:function(){return this.replace(/\b[a-z]/g,function(A){return A.toUpperCase();});},trim:function(){return this.replace(/^\s+|\s+$/g,"");
},clean:function(){return this.replace(/\s{2,}/g," ").trim();},rgbToHex:function(B){var A=this.match(/\d{1,3}/g);return(A)?A.rgbToHex(B):false;},hexToRgb:function(B){var A=this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);
return(A)?A.slice(1).hexToRgb(B):false;},contains:function(A,B){return(B)?(B+this+B).indexOf(B+A+B)>-1:this.indexOf(A)>-1;},escapeRegExp:function(){return this.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1");
}});Array.extend({rgbToHex:function(D){if(this.length<3){return false;}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("");},hexToRgb:function(C){if(this.length!=3){return false;}var A=[];
for(var B=0;B<3;B++){A.push(parseInt((this[B].length==1)?this[B]+this[B]:this[B],16));}return C?A:"rgb("+A.join(",")+")";}});Function.extend({create:function(A){var B=this;
A=$merge({bind:B,event:false,"arguments":null,delay:false,periodical:false,attempt:false},A);if($chk(A.arguments)&&$type(A.arguments)!="array"){A.arguments=[A.arguments];
}return function(E){var C;if(A.event){E=E||window.event;C=[(A.event===true)?E:new A.event(E)];if(A.arguments){C.extend(A.arguments);}}else{C=A.arguments||arguments;
}var F=function(){return B.apply($pick(A.bind,B),C);};if(A.delay){return setTimeout(F,A.delay);}if(A.periodical){return setInterval(F,A.periodical);}if(A.attempt){try{return F();
}catch(D){return false;}}return F();};},pass:function(A,B){return this.create({"arguments":A,bind:B});},attempt:function(A,B){return this.create({"arguments":A,bind:B,attempt:true})();
},bind:function(B,A){return this.create({bind:B,"arguments":A});},bindAsEventListener:function(B,A){return this.create({bind:B,event:true,"arguments":A});
},delay:function(B,C,A){return this.create({delay:B,bind:C,"arguments":A})();},periodical:function(A,C,B){return this.create({periodical:A,bind:C,"arguments":B})();
}});Number.extend({toInt:function(){return parseInt(this);},toFloat:function(){return parseFloat(this);},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){for(var A=0;A<this;A++){B(A);}}});var Element=new Class({initialize:function(D,C){if($type(D)=="string"){if(window.ie&&C&&(C.name||C.type)){var A=(C.name)?' name="'+C.name+'"':"";
var B=(C.type)?' type="'+C.type+'"':"";delete C.name;delete C.type;D="<"+D+A+B+">";}D=document.createElement(D);}D=$(D);return(!C||!D)?D:D.set(C);}});var Elements=new Class({initialize:function(A){return(A)?$extend(A,this):this;
}});Elements.extend=function(A){for(var B in A){this.prototype[B]=A[B];this[B]=$native.generic(B);}};function $(B){if(!B){return null;}if(B.htmlElement){return Garbage.collect(B);
}if([window,document].contains(B)){return B;}var A=$type(B);if(A=="string"){B=document.getElementById(B);A=(B)?"element":false;}if(A!="element"){return null;
}if(B.htmlElement){return Garbage.collect(B);}if(["object","embed"].contains(B.tagName.toLowerCase())){return B;}$extend(B,Element.prototype);B.htmlElement=function(){};
return Garbage.collect(B);}document.getElementsBySelector=document.getElementsByTagName;function $$(){var D=[];for(var C=0,B=arguments.length;C<B;C++){var A=arguments[C];
switch($type(A)){case"element":D.push(A);case"boolean":break;case false:break;case"string":A=document.getElementsBySelector(A,true);default:D.extend(A);
}}return $$.unique(D);}$$.unique=function(G){var D=[];for(var C=0,A=G.length;C<A;C++){if(G[C].$included){continue;}var B=$(G[C]);if(B&&!B.$included){B.$included=true;
D.push(B);}}for(var F=0,E=D.length;F<E;F++){D[F].$included=null;}return new Elements(D);};Elements.Multi=function(A){return function(){var D=arguments;
var B=[];var G=true;for(var E=0,C=this.length,F;E<C;E++){F=this[E][A].apply(this[E],D);if($type(F)!="element"){G=false;}B.push(F);}return(G)?$$.unique(B):B;
};};Element.extend=function(A){for(var B in A){HTMLElement.prototype[B]=A[B];Element.prototype[B]=A[B];Element[B]=$native.generic(B);var C=(Array.prototype[B])?B+"Elements":B;
Elements.prototype[C]=Elements.Multi(B);}};Element.extend({set:function(A){for(var C in A){var B=A[C];switch(C){case"styles":this.setStyles(B);break;case"events":if(this.addEvents){this.addEvents(B);
}break;case"properties":this.setProperties(B);break;default:this.setProperty(C,B);}}return this;},inject:function(C,A){C=$(C);switch(A){case"before":C.parentNode.insertBefore(this,C);
break;case"after":var B=C.getNext();if(!B){C.parentNode.appendChild(this);}else{C.parentNode.insertBefore(this,B);}break;case"top":var D=C.firstChild;if(D){C.insertBefore(this,D);
break;}default:C.appendChild(this);}return this;},injectBefore:function(A){return this.inject(A,"before");},injectAfter:function(A){return this.inject(A,"after");
},injectInside:function(A){return this.inject(A,"bottom");},injectTop:function(A){return this.inject(A,"top");},adopt:function(){var A=[];$each(arguments,function(B){A=A.concat(B);
});$$(A).inject(this);return this;},remove:function(){return this.parentNode.removeChild(this);},clone:function(C){var B=$(this.cloneNode(C!==false));if(!B.$events){return B;
}B.$events={};for(var A in this.$events){B.$events[A]={keys:$A(this.$events[A].keys),values:$A(this.$events[A].values)};}return B.removeEvents();},replaceWith:function(A){A=$(A);
this.parentNode.replaceChild(A,this);return A;},appendText:function(A){this.appendChild(document.createTextNode(A));return this;},hasClass:function(A){return this.className.contains(A," ");
},addClass:function(A){if(!this.hasClass(A)){this.className=(this.className+" "+A).clean();}return this;},removeClass:function(A){this.className=this.className.replace(new RegExp("(^|\\s)"+A+"(?:\\s|$)"),"$1").clean();
return this;},toggleClass:function(A){return this.hasClass(A)?this.removeClass(A):this.addClass(A);},setStyle:function(B,A){switch(B){case"opacity":return this.setOpacity(parseFloat(A));
case"float":B=(window.ie)?"styleFloat":"cssFloat";}B=B.camelCase();switch($type(A)){case"number":if(!["zIndex","zoom"].contains(B)){A+="px";}break;case"array":A="rgb("+A.join(",")+")";
}this.style[B]=A;return this;},setStyles:function(A){switch($type(A)){case"object":Element.setMany(this,"setStyle",A);break;case"string":this.style.cssText=A;
}return this;},setOpacity:function(A){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(window.ie){this.style.filter=(A==1)?"":"alpha(opacity="+A*100+")";}this.style.opacity=this.$tmp.opacity=A;
return this;},getStyle:function(C){C=C.camelCase();var A=this.style[C];if(!$chk(A)){if(C=="opacity"){return this.$tmp.opacity;}A=[];for(var B in Element.Styles){if(C==B){Element.Styles[B].each(function(F){var E=this.getStyle(F);
A.push(parseInt(E)?E:"0px");},this);if(C=="border"){var D=A.every(function(E){return(E==A[0]);});return(D)?A[0]:false;}return A.join(" ");}}if(C.contains("border")){if(Element.Styles.border.contains(C)){return["Width","Style","Color"].map(function(E){return this.getStyle(C+E);
},this).join(" ");}else{if(Element.borderShort.contains(C)){return["Top","Right","Bottom","Left"].map(function(E){return this.getStyle("border"+E+C.replace("border",""));
},this).join(" ");}}}if(document.defaultView){A=document.defaultView.getComputedStyle(this,null).getPropertyValue(C.hyphenate());}else{if(this.currentStyle){A=this.currentStyle[C];
}}}if(window.ie){A=Element.fixStyle(C,A,this);}if(A&&C.test(/color/i)&&A.contains("rgb")){return A.split("rgb").splice(1,4).map(function(E){return E.rgbToHex();
}).join(" ");}return A;},getStyles:function(){return Element.getMany(this,"getStyle",arguments);},walk:function(A,C){A+="Sibling";var B=(C)?this[C]:this[A];
while(B&&$type(B)!="element"){B=B[A];}return $(B);},getPrevious:function(){return this.walk("previous");},getNext:function(){return this.walk("next");},getFirst:function(){return this.walk("next","firstChild");
},getLast:function(){return this.walk("previous","lastChild");},getParent:function(){return $(this.parentNode);},getChildren:function(){return $$(this.childNodes);
},hasChild:function(A){return !!$A(this.getElementsByTagName("*")).contains(A);},getProperty:function(D){var B=Element.Properties[D];if(B){return this[B];
}var A=Element.PropertiesIFlag[D]||0;if(!window.ie||A){return this.getAttribute(D,A);}var C=this.attributes[D];return(C)?C.nodeValue:null;},removeProperty:function(B){var A=Element.Properties[B];
if(A){this[A]="";}else{this.removeAttribute(B);}return this;},getProperties:function(){return Element.getMany(this,"getProperty",arguments);},setProperty:function(C,B){var A=Element.Properties[C];
if(A){this[A]=B;}else{this.setAttribute(C,B);}return this;},setProperties:function(A){return Element.setMany(this,"setProperty",A);},setHTML:function(){this.innerHTML=$A(arguments).join("");
return this;},setText:function(B){var A=this.getTag();if(["style","script"].contains(A)){if(window.ie){if(A=="style"){this.styleSheet.cssText=B;}else{if(A=="script"){this.setProperty("text",B);
}}return this;}else{this.removeChild(this.firstChild);return this.appendText(B);}}this[$defined(this.innerText)?"innerText":"textContent"]=B;return this;
},getText:function(){var A=this.getTag();if(["style","script"].contains(A)){if(window.ie){if(A=="style"){return this.styleSheet.cssText;}else{if(A=="script"){return this.getProperty("text");
}}}else{return this.innerHTML;}}return($pick(this.innerText,this.textContent));},getTag:function(){return this.tagName.toLowerCase();},empty:function(){Garbage.trash(this.getElementsByTagName("*"));
return this.setHTML("");}});Element.fixStyle=function(E,A,D){if($chk(parseInt(A))){return A;}if(["height","width"].contains(E)){var B=(E=="width")?["left","right"]:["top","bottom"];
var C=0;B.each(function(F){C+=D.getStyle("border-"+F+"-width").toInt()+D.getStyle("padding-"+F).toInt();});return D["offset"+E.capitalize()]-C+"px";}else{if(E.test(/border(.+)Width|margin|padding/)){return"0px";
}}return A;};Element.Styles={border:[],padding:[],margin:[]};["Top","Right","Bottom","Left"].each(function(B){for(var A in Element.Styles){Element.Styles[A].push(A+B);
}});Element.borderShort=["borderWidth","borderStyle","borderColor"];Element.getMany=function(B,D,C){var A={};$each(C,function(E){A[E]=B[D](E);});return A;
};Element.setMany=function(B,D,C){for(var A in C){B[D](A,C[A]);}return B;};Element.Properties=new Abstract({"class":"className","for":"htmlFor",colspan:"colSpan",rowspan:"rowSpan",accesskey:"accessKey",tabindex:"tabIndex",maxlength:"maxLength",readonly:"readOnly",frameborder:"frameBorder",value:"value",disabled:"disabled",checked:"checked",multiple:"multiple",selected:"selected"});
Element.PropertiesIFlag={href:2,src:2};Element.Methods={Listeners:{addListener:function(B,A){if(this.addEventListener){this.addEventListener(B,A,false);
}else{this.attachEvent("on"+B,A);}return this;},removeListener:function(B,A){if(this.removeEventListener){this.removeEventListener(B,A,false);}else{this.detachEvent("on"+B,A);
}return this;}}};window.extend(Element.Methods.Listeners);document.extend(Element.Methods.Listeners);Element.extend(Element.Methods.Listeners);var Garbage={elements:[],collect:function(A){if(!A.$tmp){Garbage.elements.push(A);
A.$tmp={opacity:1};}return A;},trash:function(D){for(var B=0,A=D.length,C;B<A;B++){if(!(C=D[B])||!C.$tmp){continue;}if(C.$events){C.fireEvent("trash").removeEvents();
}for(var E in C.$tmp){C.$tmp[E]=null;}for(var F in Element.prototype){C[F]=null;}Garbage.elements[Garbage.elements.indexOf(C)]=null;C.htmlElement=C.$tmp=C=null;
}Garbage.elements.remove(null);},empty:function(){Garbage.collect(window);Garbage.collect(document);Garbage.trash(Garbage.elements);}};window.addListener("beforeunload",function(){window.addListener("unload",Garbage.empty);
if(window.ie){window.addListener("unload",CollectGarbage);}});var Event=new Class({initialize:function(C){if(C&&C.$extended){return C;}this.$extended=true;
C=C||window.event;this.event=C;this.type=C.type;this.target=C.target||C.srcElement;if(this.target.nodeType==3){this.target=this.target.parentNode;}this.shift=C.shiftKey;
this.control=C.ctrlKey;this.alt=C.altKey;this.meta=C.metaKey;if(["DOMMouseScroll","mousewheel"].contains(this.type)){this.wheel=(C.wheelDelta)?C.wheelDelta/120:-(C.detail||0)/3;
}else{if(this.type.contains("key")){this.code=C.which||C.keyCode;for(var B in Event.keys){if(Event.keys[B]==this.code){this.key=B;break;}}if(this.type=="keydown"){var A=this.code-111;
if(A>0&&A<13){this.key="f"+A;}}this.key=this.key||String.fromCharCode(this.code).toLowerCase();}else{if(this.type.test(/(click|mouse|menu)/)){this.page={x:C.pageX||C.clientX+document.documentElement.scrollLeft,y:C.pageY||C.clientY+document.documentElement.scrollTop};
this.client={x:C.pageX?C.pageX-window.pageXOffset:C.clientX,y:C.pageY?C.pageY-window.pageYOffset:C.clientY};this.rightClick=(C.which==3)||(C.button==2);
switch(this.type){case"mouseover":this.relatedTarget=C.relatedTarget||C.fromElement;break;case"mouseout":this.relatedTarget=C.relatedTarget||C.toElement;
}this.fixRelatedTarget();}}}return this;},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;}});Event.fix={relatedTarget:function(){if(this.relatedTarget&&this.relatedTarget.nodeType==3){this.relatedTarget=this.relatedTarget.parentNode;
}},relatedTargetGecko:function(){try{Event.fix.relatedTarget.call(this);}catch(A){this.relatedTarget=this.target;}}};Event.prototype.fixRelatedTarget=(window.gecko)?Event.fix.relatedTargetGecko:Event.fix.relatedTarget;
Event.keys=new Abstract({enter:13,up:38,down:40,left:37,right:39,esc:27,space:32,backspace:8,tab:9,"delete":46});Element.Methods.Events={addEvent:function(C,B){this.$events=this.$events||{};
this.$events[C]=this.$events[C]||{keys:[],values:[]};if(this.$events[C].keys.contains(B)){return this;}this.$events[C].keys.push(B);var A=C;var D=Element.Events[C];
if(D){if(D.add){D.add.call(this,B);}if(D.map){B=D.map;}if(D.type){A=D.type;}}if(!this.addEventListener){B=B.create({bind:this,event:true});}this.$events[C].values.push(B);
return(Element.NativeEvents.contains(A))?this.addListener(A,B):this;},removeEvent:function(C,B){if(!this.$events||!this.$events[C]){return this;}var F=this.$events[C].keys.indexOf(B);
if(F==-1){return this;}var A=this.$events[C].keys.splice(F,1)[0];var E=this.$events[C].values.splice(F,1)[0];var D=Element.Events[C];if(D){if(D.remove){D.remove.call(this,B);
}if(D.type){C=D.type;}}return(Element.NativeEvents.contains(C))?this.removeListener(C,E):this;},addEvents:function(A){return Element.setMany(this,"addEvent",A);
},removeEvents:function(A){if(!this.$events){return this;}if(!A){for(var B in this.$events){this.removeEvents(B);}this.$events=null;}else{if(this.$events[A]){this.$events[A].keys.each(function(C){this.removeEvent(A,C);
},this);this.$events[A]=null;}}return this;},fireEvent:function(C,B,A){if(this.$events&&this.$events[C]){this.$events[C].keys.each(function(D){D.create({bind:this,delay:A,"arguments":B})();
},this);}return this;},cloneEvents:function(C,A){if(!C.$events){return this;}if(!A){for(var B in C.$events){this.cloneEvents(C,B);}}else{if(C.$events[A]){C.$events[A].keys.each(function(D){this.addEvent(A,D);
},this);}}return this;}};window.extend(Element.Methods.Events);document.extend(Element.Methods.Events);Element.extend(Element.Methods.Events);Element.Events=new Abstract({mouseenter:{type:"mouseover",map:function(A){A=new Event(A);
if(A.relatedTarget!=this&&!this.hasChild(A.relatedTarget)){this.fireEvent("mouseenter",A);}}},mouseleave:{type:"mouseout",map:function(A){A=new Event(A);
if(A.relatedTarget!=this&&!this.hasChild(A.relatedTarget)){this.fireEvent("mouseleave",A);}}},mousewheel:{type:(window.gecko)?"DOMMouseScroll":"mousewheel"}});
Element.NativeEvents=["click","dblclick","mouseup","mousedown","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","keydown","keypress","keyup","load","unload","beforeunload","resize","move","focus","blur","change","submit","reset","select","error","abort","contextmenu","scroll"];
Function.extend({bindWithEvent:function(B,A){return this.create({bind:B,"arguments":A,event:Event});}});Elements.extend({filterByTag:function(A){return new Elements(this.filter(function(B){return(Element.getTag(B)==A);
}));},filterByClass:function(A,C){var B=this.filter(function(D){return(D.className&&D.className.contains(A," "));});return(C)?B:new Elements(B);},filterById:function(C,B){var A=this.filter(function(D){return(D.id==C);
});return(B)?A:new Elements(A);},filterByAttribute:function(B,A,D,E){var C=this.filter(function(F){var G=Element.getProperty(F,B);if(!G){return false;}if(!A){return true;
}switch(A){case"=":return(G==D);case"*=":return(G.contains(D));case"^=":return(G.substr(0,D.length)==D);case"$=":return(G.substr(G.length-D.length)==D);
case"!=":return(G!=D);case"~=":return G.contains(D," ");}return false;});return(E)?C:new Elements(C);}});function $E(A,B){return($(B)||document).getElement(A);
}function $ES(A,B){return($(B)||document).getElementsBySelector(A);}$$.shared={regexp:/^(\w*|\*)(?:#([\w-]+)|\.([\w-]+))?(?:\[(\w+)(?:([!*^$]?=)["']?([^"'\]]*)["']?)?])?$/,xpath:{getParam:function(B,D,E,C){var A=[D.namespaceURI?"xhtml:":"",E[1]];
if(E[2]){A.push('[@id="',E[2],'"]');}if(E[3]){A.push('[contains(concat(" ", @class, " "), " ',E[3],' ")]');}if(E[4]){if(E[5]&&E[6]){switch(E[5]){case"*=":A.push("[contains(@",E[4],', "',E[6],'")]');
break;case"^=":A.push("[starts-with(@",E[4],', "',E[6],'")]');break;case"$=":A.push("[substring(@",E[4],", string-length(@",E[4],") - ",E[6].length,' + 1) = "',E[6],'"]');
break;case"=":A.push("[@",E[4],'="',E[6],'"]');break;case"!=":A.push("[@",E[4],'!="',E[6],'"]');}}else{A.push("[@",E[4],"]");}}B.push(A.join(""));return B;
},getItems:function(B,E,G){var F=[];var A=document.evaluate(".//"+B.join("//"),E,$$.shared.resolver,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);for(var D=0,C=A.snapshotLength;
D<C;D++){F.push(A.snapshotItem(D));}return(G)?F:new Elements(F.map($));}},normal:{getParam:function(A,C,E,B){if(B==0){if(E[2]){var D=C.getElementById(E[2]);
if(!D||((E[1]!="*")&&(Element.getTag(D)!=E[1]))){return false;}A=[D];}else{A=$A(C.getElementsByTagName(E[1]));}}else{A=$$.shared.getElementsByTagName(A,E[1]);
if(E[2]){A=Elements.filterById(A,E[2],true);}}if(E[3]){A=Elements.filterByClass(A,E[3],true);}if(E[4]){A=Elements.filterByAttribute(A,E[4],E[5],E[6],true);
}return A;},getItems:function(A,B,C){return(C)?A:$$.unique(A);}},resolver:function(A){return(A=="xhtml")?"http://www.w3.org/1999/xhtml":false;},getElementsByTagName:function(D,C){var E=[];
for(var B=0,A=D.length;B<A;B++){E.extend(D[B].getElementsByTagName(C));}return E;}};$$.shared.method=(window.xpath)?"xpath":"normal";Element.Methods.Dom={getElements:function(A,H){var C=[];
A=A.trim().split(" ");for(var E=0,D=A.length;E<D;E++){var F=A[E];var G=F.match($$.shared.regexp);if(!G){break;}G[1]=G[1]||"*";var B=$$.shared[$$.shared.method].getParam(C,this,G,E);
if(!B){break;}C=B;}return $$.shared[$$.shared.method].getItems(C,this,H);},getElement:function(A){return $(this.getElements(A,true)[0]||false);},getElementsBySelector:function(A,E){var D=[];
A=A.split(",");for(var C=0,B=A.length;C<B;C++){D=D.concat(this.getElements(A[C],true));}return(E)?D:$$.unique(D);}};Element.extend({getElementById:function(C){var B=document.getElementById(C);
if(!B){return false;}for(var A=B.parentNode;A!=this;A=A.parentNode){if(!A){return false;}}return B;},getElementsByClassName:function(A){return this.getElements("."+A);
}});document.extend(Element.Methods.Dom);Element.extend(Element.Methods.Dom);Element.extend({getValue:function(){switch(this.getTag()){case"select":var A=[];
$each(this.options,function(B){if(B.selected){A.push($pick(B.value,B.text));}});return(this.multiple)?A:A[0];case"input":if(!(this.checked&&["checkbox","radio"].contains(this.type))&&!["hidden","text","password"].contains(this.type)){break;
}case"textarea":return this.value;}return false;},getFormElements:function(){return $$(this.getElementsByTagName("input"),this.getElementsByTagName("select"),this.getElementsByTagName("textarea"));
},toQueryString:function(){var A=[];this.getFormElements().each(function(D){var C=D.name;var E=D.getValue();if(E===false||!C||D.disabled){return ;}var B=function(F){A.push(C+"="+encodeURIComponent(F));
};if($type(E)=="array"){E.each(B);}else{B(E);}});return A.join("&");}});Element.extend({scrollTo:function(A,B){this.scrollLeft=A;this.scrollTop=B;},getSize:function(){return{scroll:{x:this.scrollLeft,y:this.scrollTop},size:{x:this.offsetWidth,y:this.offsetHeight},scrollSize:{x:this.scrollWidth,y:this.scrollHeight}};
},getPosition:function(A){A=A||[];var B=this,D=0,C=0;do{D+=B.offsetLeft||0;C+=B.offsetTop||0;B=B.offsetParent;}while(B);A.each(function(E){D-=E.scrollLeft||0;
C-=E.scrollTop||0;});return{x:D,y:C};},getTop:function(A){return this.getPosition(A).y;},getLeft:function(A){return this.getPosition(A).x;},getCoordinates:function(B){var A=this.getPosition(B);
var C={width:this.offsetWidth,height:this.offsetHeight,left:A.x,top:A.y};C.right=C.left+C.width;C.bottom=C.top+C.height;return C;}});Element.Events.domready={add:function(B){if(window.loaded){B.call(this);
return ;}var A=function(){if(window.loaded){return ;}window.loaded=true;window.timer=$clear(window.timer);this.fireEvent("domready");}.bind(this);if(document.readyState&&window.webkit){window.timer=function(){if(["loaded","complete"].contains(document.readyState)){A();
}}.periodical(50);}else{if(document.readyState&&window.ie){if(!$("ie_ready")){var C=(window.location.protocol=="https:")?"://0":"javascript:void(0)";document.write('<script id="ie_ready" defer src="'+C+'"><\/script>');
$("ie_ready").onreadystatechange=function(){if(this.readyState=="complete"){A();}};}}else{window.addListener("load",A);document.addListener("DOMContentLoaded",A);
}}}};window.onDomReady=function(A){return this.addEvent("domready",A);};window.extend({getWidth:function(){if(this.webkit419){return this.innerWidth;}if(this.opera){return document.body.clientWidth;
}return document.documentElement.clientWidth;},getHeight:function(){if(this.webkit419){return this.innerHeight;}if(this.opera){return document.body.clientHeight;
}return document.documentElement.clientHeight;},getScrollWidth:function(){if(this.ie){return Math.max(document.documentElement.offsetWidth,document.documentElement.scrollWidth);
}if(this.webkit){return document.body.scrollWidth;}return document.documentElement.scrollWidth;},getScrollHeight:function(){if(this.ie){return Math.max(document.documentElement.offsetHeight,document.documentElement.scrollHeight);
}if(this.webkit){return document.body.scrollHeight;}return document.documentElement.scrollHeight;},getScrollLeft:function(){return this.pageXOffset||document.documentElement.scrollLeft;
},getScrollTop:function(){return this.pageYOffset||document.documentElement.scrollTop;},getSize:function(){return{size:{x:this.getWidth(),y:this.getHeight()},scrollSize:{x:this.getScrollWidth(),y:this.getScrollHeight()},scroll:{x:this.getScrollLeft(),y:this.getScrollTop()}};
},getPosition:function(){return{x:0,y:0};}});var Fx={};Fx.Base=new Class({options:{onStart:Class.empty,onComplete:Class.empty,onCancel:Class.empty,transition:function(A){return -(Math.cos(Math.PI*A)-1)/2;
},duration:500,unit:"px",wait:true,fps:50},initialize:function(A){this.element=this.element||null;this.setOptions(A);if(this.options.initialize){this.options.initialize.call(this);
}},step:function(){var A=$time();if(A<this.time+this.options.duration){this.delta=this.options.transition((A-this.time)/this.options.duration);this.setNow();
this.increase();}else{this.stop(true);this.set(this.to);this.fireEvent("onComplete",this.element,10);this.callChain();}},set:function(A){this.now=A;this.increase();
return this;},setNow:function(){this.now=this.compute(this.from,this.to);},compute:function(B,A){return(A-B)*this.delta+B;},start:function(B,A){if(!this.options.wait){this.stop();
}else{if(this.timer){return this;}}this.from=B;this.to=A;this.change=this.to-this.from;this.time=$time();this.timer=this.step.periodical(Math.round(1000/this.options.fps),this);
this.fireEvent("onStart",this.element);return this;},stop:function(A){if(!this.timer){return this;}this.timer=$clear(this.timer);if(!A){this.fireEvent("onCancel",this.element);
}return this;},custom:function(B,A){return this.start(B,A);},clearTimer:function(A){return this.stop(A);}});Fx.Base.implement(new Chain,new Events,new Options);
Fx.CSS={select:function(B,C){if(B.test(/color/i)){return this.Color;}var A=$type(C);if((A=="array")||(A=="string"&&C.contains(" "))){return this.Multi;
}return this.Single;},parse:function(C,D,A){if(!A.push){A=[A];}var F=A[0],E=A[1];if(!$chk(E)){E=F;F=C.getStyle(D);}var B=this.select(D,E);return{from:B.parse(F),to:B.parse(E),css:B};
}};Fx.CSS.Single={parse:function(A){return parseFloat(A);},getNow:function(C,B,A){return A.compute(C,B);},getValue:function(C,A,B){if(A=="px"&&B!="opacity"){C=Math.round(C);
}return C+A;}};Fx.CSS.Multi={parse:function(A){return A.push?A:A.split(" ").map(function(B){return parseFloat(B);});},getNow:function(E,D,C){var A=[];for(var B=0;
B<E.length;B++){A[B]=C.compute(E[B],D[B]);}return A;},getValue:function(C,A,B){if(A=="px"&&B!="opacity"){C=C.map(Math.round);}return C.join(A+" ")+A;}};
Fx.CSS.Color={parse:function(A){return A.push?A:A.hexToRgb(true);},getNow:function(E,D,C){var A=[];for(var B=0;B<E.length;B++){A[B]=Math.round(C.compute(E[B],D[B]));
}return A;},getValue:function(A){return"rgb("+A.join(",")+")";}};Fx.Style=Fx.Base.extend({initialize:function(B,C,A){this.element=$(B);this.property=C;
this.parent(A);},hide:function(){return this.set(0);},setNow:function(){this.now=this.css.getNow(this.from,this.to,this);},set:function(A){this.css=Fx.CSS.select(this.property,A);
return this.parent(this.css.parse(A));},start:function(C,B){if(this.timer&&this.options.wait){return this;}var A=Fx.CSS.parse(this.element,this.property,[C,B]);
this.css=A.css;return this.parent(A.from,A.to);},increase:function(){this.element.setStyle(this.property,this.css.getValue(this.now,this.options.unit,this.property));
}});Element.extend({effect:function(B,A){return new Fx.Style(this,B,A);}});Fx.Styles=Fx.Base.extend({initialize:function(B,A){this.element=$(B);this.parent(A);
},setNow:function(){for(var A in this.from){this.now[A]=this.css[A].getNow(this.from[A],this.to[A],this);}},set:function(C){var A={};this.css={};for(var B in C){this.css[B]=Fx.CSS.select(B,C[B]);
A[B]=this.css[B].parse(C[B]);}return this.parent(A);},start:function(C){if(this.timer&&this.options.wait){return this;}this.now={};this.css={};var E={},D={};
for(var B in C){var A=Fx.CSS.parse(this.element,B,C[B]);E[B]=A.from;D[B]=A.to;this.css[B]=A.css;}return this.parent(E,D);},increase:function(){for(var A in this.now){this.element.setStyle(A,this.css[A].getValue(this.now[A],this.options.unit,A));
}}});Element.extend({effects:function(A){return new Fx.Styles(this,A);}});Fx.Elements=Fx.Base.extend({initialize:function(B,A){this.elements=$$(B);this.parent(A);
},setNow:function(){for(var C in this.from){var F=this.from[C],E=this.to[C],B=this.css[C],A=this.now[C]={};for(var D in F){A[D]=B[D].getNow(F[D],E[D],this);
}}},set:function(G){var B={};this.css={};for(var D in G){var F=G[D],C=this.css[D]={},A=B[D]={};for(var E in F){C[E]=Fx.CSS.select(E,F[E]);A[E]=C[E].parse(F[E]);
}}return this.parent(B);},start:function(D){if(this.timer&&this.options.wait){return this;}this.now={};this.css={};var I={},J={};for(var E in D){var G=D[E],A=I[E]={},H=J[E]={},C=this.css[E]={};
for(var B in G){var F=Fx.CSS.parse(this.elements[E],B,G[B]);A[B]=F.from;H[B]=F.to;C[B]=F.css;}}return this.parent(I,J);},increase:function(){for(var C in this.now){var A=this.now[C],B=this.css[C];
for(var D in A){this.elements[C].setStyle(D,B[D].getValue(A[D],this.options.unit,D));}}}});Fx.Scroll=Fx.Base.extend({options:{overflown:[],offset:{x:0,y:0},wheelStops:true},initialize:function(B,A){this.now=[];
this.element=$(B);this.bound={stop:this.stop.bind(this,false)};this.parent(A);if(this.options.wheelStops){this.addEvent("onStart",function(){document.addEvent("mousewheel",this.bound.stop);
}.bind(this));this.addEvent("onComplete",function(){document.removeEvent("mousewheel",this.bound.stop);}.bind(this));}},setNow:function(){for(var A=0;A<2;
A++){this.now[A]=this.compute(this.from[A],this.to[A]);}},scrollTo:function(B,F){if(this.timer&&this.options.wait){return this;}var D=this.element.getSize();
var C={x:B,y:F};for(var E in D.size){var A=D.scrollSize[E]-D.size[E];if($chk(C[E])){C[E]=($type(C[E])=="number")?C[E].limit(0,A):A;}else{C[E]=D.scroll[E];
}C[E]+=this.options.offset[E];}return this.start([D.scroll.x,D.scroll.y],[C.x,C.y]);},toTop:function(){return this.scrollTo(false,0);},toBottom:function(){return this.scrollTo(false,"full");
},toLeft:function(){return this.scrollTo(0,false);},toRight:function(){return this.scrollTo("full",false);},toElement:function(B){var A=this.element.getPosition(this.options.overflown);
var C=$(B).getPosition(this.options.overflown);return this.scrollTo(C.x-A.x,C.y-A.y);},increase:function(){this.element.scrollTo(this.now[0],this.now[1]);
}});Fx.Slide=Fx.Base.extend({options:{mode:"vertical"},initialize:function(B,A){this.element=$(B);this.wrapper=new Element("div",{styles:$extend(this.element.getStyles("margin"),{overflow:"hidden"})}).injectAfter(this.element).adopt(this.element);
this.element.setStyle("margin",0);this.setOptions(A);this.now=[];this.parent(this.options);this.open=true;this.addEvent("onComplete",function(){this.open=(this.now[0]===0);
});if(window.webkit419){this.addEvent("onComplete",function(){if(this.open){this.element.remove().inject(this.wrapper);}});}},setNow:function(){for(var A=0;
A<2;A++){this.now[A]=this.compute(this.from[A],this.to[A]);}},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;},slideIn:function(A){this[A||this.options.mode]();
return this.start([this.element.getStyle(this.margin).toInt(),this.wrapper.getStyle(this.layout).toInt()],[0,this.offset]);},slideOut:function(A){this[A||this.options.mode]();
return this.start([this.element.getStyle(this.margin).toInt(),this.wrapper.getStyle(this.layout).toInt()],[-this.offset,0]);},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){if(this.wrapper.offsetHeight==0||this.wrapper.offsetWidth==0){return this.slideIn(A);
}return this.slideOut(A);},increase:function(){this.element.setStyle(this.margin,this.now[0]+this.options.unit);this.wrapper.setStyle(this.layout,this.now[1]+this.options.unit);
}});Fx.Transition=function(B,A){A=A||[];if($type(A)!="array"){A=[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 Abstract({linear:function(A){return A;}});Fx.Transitions.extend=function(A){for(var B in A){Fx.Transitions[B]=new Fx.Transition(A[B]);
Fx.Transitions.compat(B);}};Fx.Transitions.compat=function(A){["In","Out","InOut"].each(function(B){Fx.Transitions[A.toLowerCase()+B]=Fx.Transitions[A]["ease"+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(D){var C;for(var B=0,A=1;
1;B+=A,A/=2){if(D>=(7-4*B)/11){C=-Math.pow((11-6*B-11*D)/4,2)+A*A;break;}}return C;},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]);});Fx.Transitions.compat(B);
});var XHR=new Class({options:{method:"post",async:true,onRequest:Class.empty,onSuccess:Class.empty,onFailure:Class.empty,urlEncoded:true,encoding:"utf-8",autoCancel:false,headers:{}},setTransport:function(){this.transport=(window.XMLHttpRequest)?new XMLHttpRequest():(window.ie?new ActiveXObject("Microsoft.XMLHTTP"):false);
return this;},initialize:function(A){this.setTransport().setOptions(A);this.options.isSuccess=this.options.isSuccess||this.isSuccess;this.headers={};if(this.options.urlEncoded&&this.options.method=="post"){var B=(this.options.encoding)?"; charset="+this.options.encoding:"";
this.setHeader("Content-type","application/x-www-form-urlencoded"+B);}if(this.options.initialize){this.options.initialize.call(this);}},onStateChange:function(){if(this.transport.readyState!=4||!this.running){return ;
}this.running=false;var A=0;try{A=this.transport.status;}catch(B){}if(this.options.isSuccess.call(this,A)){this.onSuccess();}else{this.onFailure();}this.transport.onreadystatechange=Class.empty;
},isSuccess:function(A){return((A>=200)&&(A<300));},onSuccess:function(){this.response={text:this.transport.responseText,xml:this.transport.responseXML};
this.fireEvent("onSuccess",[this.response.text,this.response.xml]);this.callChain();},onFailure:function(){this.fireEvent("onFailure",this.transport);},setHeader:function(A,B){this.headers[A]=B;
return this;},send:function(A,C){if(this.options.autoCancel){this.cancel();}else{if(this.running){return this;}}this.running=true;if(C&&this.options.method=="get"){A=A+(A.contains("?")?"&":"?")+C;
C=null;}this.transport.open(this.options.method.toUpperCase(),A,this.options.async);this.transport.onreadystatechange=this.onStateChange.bind(this);if((this.options.method=="post")&&this.transport.overrideMimeType){this.setHeader("Connection","close");
}$extend(this.headers,this.options.headers);for(var B in this.headers){try{this.transport.setRequestHeader(B,this.headers[B]);}catch(D){}}this.fireEvent("onRequest");
this.transport.send($pick(C,null));return this;},cancel:function(){if(!this.running){return this;}this.running=false;this.transport.abort();this.transport.onreadystatechange=Class.empty;
this.setTransport();this.fireEvent("onCancel");return this;}});XHR.implement(new Chain,new Events,new Options);var Ajax=XHR.extend({options:{data:null,update:null,onComplete:Class.empty,evalScripts:false,evalResponse:false},initialize:function(B,A){this.addEvent("onSuccess",this.onComplete);
this.setOptions(A);this.options.data=this.options.data||this.options.postBody;if(!["post","get"].contains(this.options.method)){this._method="_method="+this.options.method;
this.options.method="post";}this.parent();this.setHeader("X-Requested-With","XMLHttpRequest");this.setHeader("Accept","text/javascript, text/html, application/xml, text/xml, */*");
this.url=B;},onComplete:function(){if(this.options.update){$(this.options.update).empty().setHTML(this.response.text);}if(this.options.evalScripts||this.options.evalResponse){this.evalScripts();
}this.fireEvent("onComplete",[this.response.text,this.response.xml],20);},request:function(A){A=A||this.options.data;switch($type(A)){case"element":A=$(A).toQueryString();
break;case"object":A=Object.toQueryString(A);}if(this._method){A=(A)?[this._method,A].join("&"):this._method;}return this.send(this.url,A);},evalScripts:function(){var B,A;
if(this.options.evalResponse||(/(ecma|java)script/).test(this.getHeader("Content-type"))){A=this.response.text;}else{A=[];var C=/<script[^>]*>([\s\S]*?)<\/script>/gi;
while((B=C.exec(this.response.text))){A.push(B[1]);}A=A.join("\n");}if(A){(window.execScript)?window.execScript(A):window.setTimeout(A,0);}},getHeader:function(A){try{return this.transport.getResponseHeader(A);
}catch(B){}return null;}});Object.toQueryString=function(B){var C=[];for(var A in B){C.push(encodeURIComponent(A)+"="+encodeURIComponent(B[A]));}return C.join("&");
};Element.extend({send:function(A){return new Ajax(this.getProperty("action"),$merge({data:this.toQueryString()},A,{method:"post"})).request();}});var Cookie=new Abstract({options:{domain:false,path:false,duration:false,secure:false},set:function(C,D,B){B=$merge(this.options,B);
D=encodeURIComponent(D);if(B.domain){D+="; domain="+B.domain;}if(B.path){D+="; path="+B.path;}if(B.duration){var A=new Date();A.setTime(A.getTime()+B.duration*24*60*60*1000);
D+="; expires="+A.toGMTString();}if(B.secure){D+="; secure";}document.cookie=C+"="+D;return $extend(B,{key:C,value:D});},get:function(A){var B=document.cookie.match("(?:^|;)\\s*"+A.escapeRegExp()+"=([^;]*)");
return B?decodeURIComponent(B[1]):false;},remove:function(B,A){if($type(B)=="object"){this.set(B.key,"",$merge(B,{duration:-1}));}else{this.set(B,"",$merge(A,{duration:-1}));
}}});var Json={toString:function(C){switch($type(C)){case"string":return'"'+C.replace(/(["\\])/g,"\\$1")+'"';case"array":return"["+C.map(Json.toString).join(",")+"]";
case"object":var A=[];for(var B in C){A.push(Json.toString(B)+":"+Json.toString(C[B]));}return"{"+A.join(",")+"}";case"number":if(isFinite(C)){break;}case false:return"null";
}return String(C);},evaluate:function(str,secure){return(($type(str)!="string")||(secure&&!str.test(/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/)))?null:eval("("+str+")");
}};Json.Remote=XHR.extend({initialize:function(B,A){this.url=B;this.addEvent("onSuccess",this.onComplete);this.parent(A);this.setHeader("X-Request","JSON");
},send:function(A){return this.parent(this.url,"json="+Json.toString(A));},onComplete:function(){this.fireEvent("onComplete",[Json.evaluate(this.response.text,this.options.secure)]);
}});var Asset=new Abstract({javascript:function(C,B){B=$merge({onload:Class.empty},B);var A=new Element("script",{src:C}).addEvents({load:B.onload,readystatechange:function(){if(this.readyState=="complete"){this.fireEvent("load");
}}});delete B.onload;return A.setProperties(B).inject(document.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:Class.empty,onabort:Class.empty,onerror:Class.empty},B);var D=new Image();D.src=C;var A=new Element("img",{src:C});
["load","abort","error"].each(function(E){var F=B["on"+E];delete B["on"+E];A.addEvent(E,function(){this.removeEvent(E,arguments.callee);F.call(this);});
});if(D.width&&D.height){A.fireEvent("load",A,1);}return A.setProperties(B);},images:function(D,C){C=$merge({onComplete:Class.empty,onProgress:Class.empty},C);
if(!D.push){D=[D];}var A=[];var B=0;D.each(function(F){var E=new Asset.image(F,{onload:function(){C.onProgress.call(this,B);B++;if(B==D.length){C.onComplete();
}}});A.push(E);});return new Elements(A);}});var Hash=new Class({length:0,initialize:function(A){this.obj=A||{};this.setLength();},get:function(A){return(this.hasKey(A))?this.obj[A]:null;
},hasKey:function(A){return(A in this.obj);},set:function(A,B){if(!this.hasKey(A)){this.length++;}this.obj[A]=B;return this;},setLength:function(){this.length=0;
for(var A in this.obj){this.length++;}return this;},remove:function(A){if(this.hasKey(A)){delete this.obj[A];this.length--;}return this;},each:function(A,B){$each(this.obj,A,B);
},extend:function(A){$extend(this.obj,A);return this.setLength();},merge:function(){this.obj=$merge.apply(null,[this.obj].extend(arguments));return this.setLength();
},empty:function(){this.obj={};this.length=0;return this;},keys:function(){var A=[];for(var B in this.obj){A.push(B);}return A;},values:function(){var A=[];
for(var B in this.obj){A.push(this.obj[B]);}return A;}});function $H(A){return new Hash(A);}Hash.Cookie=Hash.extend({initialize:function(B,A){this.name=B;
this.options=$extend({autoSave:true},A||{});this.load();},save:function(){if(this.length==0){Cookie.remove(this.name,this.options);return true;}var A=Json.toString(this.obj);
if(A.length>4096){return false;}Cookie.set(this.name,A,this.options);return true;},load:function(){this.obj=Json.evaluate(Cookie.get(this.name),true)||{};
this.setLength();}});Hash.Cookie.Methods={};["extend","set","merge","empty","remove"].each(function(A){Hash.Cookie.Methods[A]=function(){Hash.prototype[A].apply(this,arguments);
if(this.options.autoSave){this.save();}return this;};});Hash.Cookie.implement(Hash.Cookie.Methods);var Color=new Class({initialize:function(B,D){D=D||(B.push?"rgb":"hex");
var C,A;switch(D){case"rgb":C=B;A=C.rgbToHsb();break;case"hsb":C=B.hsbToRgb();A=B;break;default:C=B.hexToRgb(true);A=C.rgbToHsb();}C.hsb=A;C.hex=C.rgbToHex();
return $extend(C,Color.prototype);},mix:function(){var A=$A(arguments);var C=($type(A[A.length-1])=="number")?A.pop():50;var B=this.copy();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");}});function $RGB(C,B,A){return new Color([C,B,A],"rgb");}function $HSB(C,B,A){return new Color([C,B,A],"hsb");
}Array.extend({rgbToHsb:function(){var B=this[0],C=this[1],J=this[2];var G,F,H;var I=Math.max(B,C,J),E=Math.min(B,C,J);var K=I-E;H=I/255;F=(I!=0)?K/I:0;
if(F==0){G=0;}else{var D=(I-B)/K;var A=(I-C)/K;var L=(I-J)/K;if(B==I){G=L-A;}else{if(C==I){G=2+D-L;}else{G=4+A-D;}}G/=6;if(G<0){G++;}}return[Math.round(G*360),Math.round(F*100),Math.round(H*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 F=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,F];
case 1:return[D,C,F];case 2:return[F,C,B];case 3:return[F,D,C];case 4:return[B,F,C];case 5:return[C,F,D];}}return false;}});var Tips=new Class({options:{onShow:function(A){A.setStyle("visibility","visible");
},onHide:function(A){A.setStyle("visibility","hidden");},maxTitleChars:30,showDelay:100,hideDelay:100,className:"tool",offsets:{x:16,y:16},fixed:false},initialize:function(B,A){this.setOptions(A);
this.toolTip=new Element("div",{"class":this.options.className+"-tip",styles:{position:"absolute",top:"0",left:"0",visibility:"hidden"}}).inject(document.body);
this.wrapper=new Element("div").inject(this.toolTip);$$(B).each(this.build,this);if(this.options.initialize){this.options.initialize.call(this);}},build:function(B){B.$tmp.myTitle=(B.href&&B.getTag()=="a")?B.href.replace("http://",""):(B.rel||false);
if(B.title){var C=B.title.split("::");if(C.length>1){B.$tmp.myTitle=C[0].trim();B.$tmp.myText=C[1].trim();}else{B.$tmp.myText=B.title;}B.removeAttribute("title");
}else{B.$tmp.myText=false;}if(B.$tmp.myTitle&&B.$tmp.myTitle.length>this.options.maxTitleChars){B.$tmp.myTitle=B.$tmp.myTitle.substr(0,this.options.maxTitleChars-1)+"&hellip;";
}B.addEvent("mouseenter",function(D){this.start(B);if(!this.options.fixed){this.locate(D);}else{this.position(B);}}.bind(this));if(!this.options.fixed){B.addEvent("mousemove",this.locate.bindWithEvent(this));
}var A=this.end.bind(this);B.addEvent("mouseleave",A);B.addEvent("trash",A);},start:function(A){this.wrapper.empty();if(A.$tmp.myTitle){this.title=new Element("span").inject(new Element("div",{"class":this.options.className+"-title"}).inject(this.wrapper)).setHTML(A.$tmp.myTitle);
}if(A.$tmp.myText){this.text=new Element("span").inject(new Element("div",{"class":this.options.className+"-text"}).inject(this.wrapper)).setHTML(A.$tmp.myText);
}$clear(this.timer);this.timer=this.show.delay(this.options.showDelay,this);},end:function(A){$clear(this.timer);this.timer=this.hide.delay(this.options.hideDelay,this);
},position:function(A){var B=A.getPosition();this.toolTip.setStyles({left:B.x+this.options.offsets.x,top:B.y+this.options.offsets.y});},locate:function(B){var D={x:window.getWidth(),y:window.getHeight()};
var A={x:window.getScrollLeft(),y:window.getScrollTop()};var C={x:this.toolTip.offsetWidth,y:this.toolTip.offsetHeight};var G={x:"left",y:"top"};for(var E in G){var F=B.page[E]+this.options.offsets[E];
if((F+C[E]-A[E])>D[E]){F=B.page[E]-this.options.offsets[E]-C[E];}this.toolTip.setStyle(G[E],F);}},show:function(){if(this.options.timeout){this.timer=this.hide.delay(this.options.timeout,this);
}this.fireEvent("onShow",[this.toolTip]);},hide:function(){this.fireEvent("onHide",[this.toolTip]);}});Tips.implement(new Events,new Options);var Group=new Class({initialize:function(){this.instances=$A(arguments);
this.events={};this.checker={};},addEvent:function(B,A){this.checker[B]=this.checker[B]||{};this.events[B]=this.events[B]||[];if(this.events[B].contains(A)){return false;
}else{this.events[B].push(A);}this.instances.each(function(C,D){C.addEvent(B,this.check.bind(this,[B,C,D]));},this);return this;},check:function(C,A,B){this.checker[C][B]=true;
var D=this.instances.every(function(F,E){return this.checker[C][E]||false;},this);if(!D){return ;}this.checker[C]={};this.events[C].each(function(E){E.call(this,this.instances,A);
},this);}});var Accordion=Fx.Elements.extend({options:{onActive:Class.empty,onBackground:Class.empty,display:0,show:false,height:true,width:false,opacity:true,fixedHeight:false,fixedWidth:false,wait:false,alwaysHide:false},initialize:function(){var C,E,F,B;
$each(arguments,function(I,H){switch($type(I)){case"object":C=I;break;case"element":B=$(I);break;default:var G=$$(I);if(!E){E=G;}else{F=G;}}});this.togglers=E||[];
this.elements=F||[];this.container=$(B);this.setOptions(C);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 D=0,A=this.togglers.length;D<A;D++){this.addSection(this.togglers[D],this.elements[D]);}this.elements.each(function(H,G){if(this.options.show===G){this.fireEvent("onActive",[this.togglers[G],H]);
}else{for(var I in this.effects){H.setStyle(I,0);}}},this);this.parent(this.elements);if($chk(this.options.display)){this.display(this.options.display);
}},addSection:function(E,C,G){E=$(E);C=$(C);var F=this.togglers.contains(E);var B=this.togglers.length;this.togglers.include(E);this.elements.include(C);
if(B&&(!F||G)){G=$pick(G,B-1);E.injectBefore(this.togglers[G]);C.injectAfter(E);}else{if(this.container&&!F){E.inject(this.container);C.inject(this.container);
}}var A=this.togglers.indexOf(E);E.addEvent("click",this.display.bind(this,A));if(this.options.height){C.setStyles({"padding-top":0,"border-top":"none","padding-bottom":0,"border-bottom":"none"});
}if(this.options.width){C.setStyles({"padding-left":0,"border-left":"none","padding-right":0,"border-right":"none"});}C.fullOpacity=1;if(this.options.fixedWidth){C.fullWidth=this.options.fixedWidth;
}if(this.options.fixedHeight){C.fullHeight=this.options.fixedHeight;}C.setStyle("overflow","hidden");if(!F){for(var D in this.effects){C.setStyle(D,0);
}}return this;},display:function(A){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 B={};this.elements.each(function(E,D){B[D]={};var C=(D!=A)||(this.options.alwaysHide&&(E.offsetHeight>0));this.fireEvent(C?"onBackground":"onActive",[this.togglers[D],E]);
for(var F in this.effects){B[D][F]=C?0:E[this.effects[F]];}},this);return this.start(B);},showThisHideOpen:function(A){return this.display(A);}});Fx.Accordion=Accordion;


/* 	Class:
		HistoryManager

	Author:
		Neil Jenkins
		
	Version:
		1.2 (2007-09-21)
		
	Version history:
		1.2 Clean up code to make better use of Mootools framework
		1.1 Update to allow IE to keep its history even when navigating to a different site and back.
		1.0 Initial release
		
	Description:
		Javascript class for restoring use of the back/forward buttons on web pages that are completely
		dynamic and therefore don't actually navigate to different pages.
		
	Usage:
		Calling new HistoryManager() returns an instance of the History Manager
		e.g. var h = new HistoryManager();

		Public interfaces:

		addState(String: hash)
			This method creates a new history state in the browser (as though a link has been clicked)
			and also sets the location hash to the supplied argument to allow for bookmarking.

			The hash is expected to be a vaild URI hash component; the global function encodeURI() is useful for
			this. Encoding the state of a javascript program into a string is very much specific to each program therefore
			no processing is done by this module; it is left to the subscribing functions to encode and parse the state.
			
			e.g. h.addState('tab3');
		
		addEvent(String: event, Function: callbackFunction)
			This method subscribes functions to be called when the history state changes.
			NB The only event currently available is 'onHistoryChange'.
			   Functions subscribed to this event will be called with the hash of the new state as their argument.
			e.g. h.addEvent('onHistoryChange', functionToCall);
		
		removeEvent(String: event, Function: callbackFunction)
			This method removes functions subscribed to the HistoryManager by the addEvent method		
			e.g. h.removeEvent('onHistoryChange', functionToRemove);

		getCurrentLocation()
			Returns the current hash.
			e.g. var state = h.getCurrentLocation();

	Dependencies:
		mootools: http://mootools.net

	Notes:
		This is a singleton; there can only ever be one instance of the class. Calling new HistoryManger() for a second time
		will simply return a reference to the current instance.
		Supports Gecko, Safari, Opera and IE
*/

var HistoryManager = (function() {

	var HistoryManagerSingleton = new Class({
		
		initialize: function() {
			this._currentLocation = this._getHash();
			
			if (window.ie) {
				this.addState = this._addStateIE;
				this._iframe = new Element('iframe', {
					src: "javascript:'<html></html>'",
					styles: {
						'position': 'absolute',
						'top': '-1000px'
					}
				}).inject(document.body).contentWindow;
				
				$justForIE = function(hash) {
					this._getHash = function() { return hash; }
					this._monitorDefault.call(this);
					location.hash = hash;
				}.bind(this);
				
				var waitForLoad = function waitForIframeLoad() {
					if (this._iframe && this._iframe.document && this._iframe.document.body) {
						if (!this._iframe.document.body.innerHTML)
							this.addState(this._currentLocation, true);
						$clear(waitForLoad);
					}
				}.periodical(50, this);
			}
			else if (window.webkit419) {
				this._form = new Element("form", {method: 'get'}).inject(document.body);
				this._historyCounter = history.length;
				this._stateHistory = [];
				this._stateHistory[history.length] = this._getHash();
				
				this.addState = this._addStateSafari;
				this._monitorSafari.periodical(250, this);
			}
			else if (window.opera && navigator.appVersion.toFloat() < 9.5) {
				this.addState = this._addStateDefault;
	
				$justForOpera =  this._monitorDefault.bind(this);
				new Element('img', {
					src: "javascript:location.href='javascript:$justForOpera();';",
					style: "position: absolute; top: -1000px;"
				}).inject(document.body);
			}
			else {
				this.addState = this._addStateDefault;
				this._monitorDefault.periodical(250, this);
			}
		},
		
		getCurrentLocation: function() {
			return this._currentLocation;
		},
		
		_getHash: function() {
			return location.href.split('#')[1] || '';
		},
		
		_addStateIE: function(hash, override) {
			if (this._currentLocation == hash && !override) return;

			this._currentLocation = hash;
			this._iframe.document.write('<html><body onload="top.$justForIE(\'', hash ,'\');">Loaded</body></html>');
			this._iframe.document.close();
		},
		
		_addStateSafari: function(hash) {
			if (this._currentLocation == hash) return;
	
			this._form.setProperty('action', '#' + hash).submit()
			this._currentLocation = hash;
			this._stateHistory[history.length] = this._getHash();
			this._historyCounter = history.length;
		},
	
		_monitorSafari: function() {
			if (history.length != this._historyCounter) {
				this._historyCounter = history.length;
				this._currentLocation = this._stateHistory[history.length];
				this.fireEvent('onHistoryChange', [this._currentLocation]);
			}
		},
	
		_addStateDefault: function(hash) {
			if (this._currentLocation == hash) return;
			location.hash = '#' + hash;
			this._currentLocation = hash;
		},
	
		_monitorDefault: function() {
			var hash = this._getHash();
	
			if (hash != this._currentLocation) {
				this._currentLocation = hash;
				this.fireEvent('onHistoryChange', [hash]);
			}
		}
	});
	
	HistoryManagerSingleton.implement(new Events);
	
	var singleton;

	return function() {
		return singleton ? singleton : singleton = new HistoryManagerSingleton();
	}
	
})();

<!-- 
/*
 Pleas leave this notice.
 DHTML tip message version 1.5.4 copyright Essam Gamal 2003 
 Home Page: (http://migoicons.tripod.com)
 Email: (migoicons@hotmail.com)
 Updated on :7/30/2003
*/ 

var MI_IE=MI_IE4=MI_NN4=MI_ONN=MI_NN=MI_pSub=MI_sNav=0;mig_dNav()
var Style=[],Text=[],Count=0,move=0,fl=0,isOK=1,hs,e_d,tb,w=window,PX=(MI_pSub)?"px":""
var d_r=(MI_IE&&document.compatMode=="CSS1Compat")? "document.documentElement":"document.body"
var ww=w.innerWidth
var wh=w.innerHeight
var sbw=MI_ONN? 15:0

function mig_hand(){
if(MI_sNav){
w.onresize=mig_re
document.onmousemove=mig_mo
if(MI_NN4) document.captureEvents(Event.MOUSEMOVE)
}}		

function mig_dNav(){
var ua=navigator.userAgent.toLowerCase()
MI_pSub=navigator.productSub
MI_OPR=ua.indexOf("opera")>-1?parseInt(ua.substring(ua.indexOf("opera")+6,ua.length)):0
MI_IE=document.all&&!MI_OPR?parseFloat(ua.substring(ua.indexOf("msie")+5,ua.length)):0
MI_IE4=parseInt(MI_IE)==4
MI_NN4=navigator.appName.toLowerCase()=="netscape"&&!document.getElementById
MI_NN=MI_NN4||document.getElementById&&!document.all
MI_ONN=MI_NN4||MI_pSub<20020823
MI_sNav=MI_NN||MI_IE||MI_OPR>=7
}

function mig_cssf(){
if(MI_IE>=5.5&&FiltersEnabled){fl=1
var d=" progid:DXImageTransform.Microsoft."
mig_layCss().filter="revealTrans()"+d+"Fade(Overlap=1.00 enabled=0)"+d+"Inset(enabled=0)"+d+"Iris(irisstyle=PLUS,motion=in enabled=0)"+d+"Iris(irisstyle=PLUS,motion=out enabled=0)"+d+"Iris(irisstyle=DIAMOND,motion=in enabled=0)"+d+"Iris(irisstyle=DIAMOND,motion=out enabled=0)"+d+"Iris(irisstyle=CROSS,motion=in enabled=0)"+d+"Iris(irisstyle=CROSS,motion=out enabled=0)"+d+"Iris(irisstyle=STAR,motion=in enabled=0)"+d+"Iris(irisstyle=STAR,motion=out enabled=0)"+d+"RadialWipe(wipestyle=CLOCK enabled=0)"+d+"RadialWipe(wipestyle=WEDGE enabled=0)"+d+"RadialWipe(wipestyle=RADIAL enabled=0)"+d+"Pixelate(MaxSquare=35,enabled=0)"+d+"Slide(slidestyle=HIDE,Bands=25 enabled=0)"+d+"Slide(slidestyle=PUSH,Bands=25 enabled=0)"+d+"Slide(slidestyle=SWAP,Bands=25 enabled=0)"+d+"Spiral(GridSizeX=16,GridSizeY=16 enabled=0)"+d+"Stretch(stretchstyle=HIDE enabled=0)"+d+"Stretch(stretchstyle=PUSH enabled=0)"+d+"Stretch(stretchstyle=SPIN enabled=0)"+d+"Wheel(spokes=16 enabled=0)"+d+"GradientWipe(GradientSize=1.00,wipestyle=0,motion=forward enabled=0)"+d+"GradientWipe(GradientSize=1.00,wipestyle=0,motion=reverse enabled=0)"+d+"GradientWipe(GradientSize=1.00,wipestyle=1,motion=forward enabled=0)"+d+"GradientWipe(GradientSize=1.00,wipestyle=1,motion=reverse enabled=0)"+d+"Zigzag(GridSizeX=8,GridSizeY=8 enabled=0)"+d+"Alpha(enabled=0)"+d+"Dropshadow(OffX=3,OffY=3,Positive=true,enabled=0)"+d+"Shadow(strength=3,direction=135,enabled=0)"
}}

function stm(t,s){
if(MI_sNav&&isOK){	
if(document.onmousemove!=mig_mo||w.onresize!=mig_re) mig_hand()
if(fl&&s[17]>-1&&s[18]>0)mig_layCss().visibility="hidden"
var ab="";var ap=""	
var titCol=s[0]?"COLOR='"+s[0]+"'":""
var titBgCol=s[1]&&!s[2]?"BGCOLOR='"+s[1]+"'":""
var titBgImg=s[2]?"BACKGROUND='"+s[2]+"'":""
var titTxtAli=s[3]?"ALIGN='"+s[3]+"'":""
var txtCol=s[6]?"COLOR='"+s[6]+"'":""
var txtBgCol=s[7]&&!s[8]?"BGCOLOR='"+s[7]+"'":""
var txtBgImg=s[8]?"BACKGROUND='"+s[8]+"'":""
var txtTxtAli=s[9]?"ALIGN='"+s[9]+"'":""
var tipHeight=s[13]? "HEIGHT='"+s[13]+"'":""
var brdCol=s[15]? "BGCOLOR='"+s[15]+"'":""
if(!s[4])s[4]="Verdana,Arial,Helvetica" 
if(!s[5])s[5]=1 
if(!s[10])s[10]="Verdana,Arial,Helvetica" 
if(!s[11])s[11]=1
if(!s[12])s[12]=200
if(!s[14])s[14]=0
if(!s[16])s[16]=0
if(!s[24])s[24]=10
if(!s[25])s[25]=10
hs=s[22]
if(MI_pSub==20001108){
if(s[14])ab="STYLE='border:"+s[14]+"px solid"+" "+s[15]+"'";
ap="STYLE='padding:"+s[16]+"px "+s[16]+"px "+s[16]+"px "+s[16]+"px'"}
var closeLink=hs==3?"<TD ALIGN='right'><FONT SIZE='"+s[5]+"' FACE='"+s[4]+"'><A HREF='javascript:void(0)' ONCLICK='mig_hide(0)' STYLE='text-decoration:none;color:"+s[0]+"'><B>Close</B></A></FONT></TD>":""
var title=t[0]||hs==3?"<TABLE WIDTH='100%' BORDER='0' CELLPADDING='0' CELLSPACING='0' "+titBgCol+" "+titBgImg+"><TR><TD "+titTxtAli+"><FONT SIZE='"+s[5]+"' FACE='"+s[4]+"' "+titCol+"><B>"+t[0]+"</B></FONT></TD>"+closeLink+"</TR></TABLE>":"";
var txt="<TABLE "+ab+" WIDTH='"+s[12]+"' BORDER='0' CELLSPACING='0' CELLPADDING='"+s[14]+"' "+brdCol+"><TR><TD>"+title+"<TABLE WIDTH='100%' "+tipHeight+" BORDER='0' CELLPADDING='"+s[16]+"' CELLSPACING='0' "+txtBgCol+" "+txtBgImg+"><TR><TD "+txtTxtAli+" "+ap+" VALIGN='top'><FONT SIZE='"+s[11]+"' FACE='"+s[10]+"' "+txtCol +">"+t[1]+"</FONT></TD></TR></TABLE></TD></TR></TABLE>"
mig_wlay(txt)
tb={trans:s[17],dur:s[18],opac:s[19],st:s[20],sc:s[21],pos:s[23],xpos:s[24],ypos:s[25]}
if(MI_IE4)mig_layCss().width=s[12]
e_d=mig_ed()
Count=0
move=1
}}

function mig_mo(e){
if(move){
var X=0,Y=0,s_d=mig_scd(),w_d=mig_wd()
var mx=MI_NN?e.pageX:MI_IE4?event.x:event.x+s_d[0]
var my=MI_NN?e.pageY:MI_IE4?event.y:event.y+s_d[1]
if(MI_IE4)e_d=mig_ed()
switch(tb.pos){
case 1:X=mx-e_d[0]-tb.xpos+6;Y=my+tb.ypos;break
case 2:X=mx-(e_d[0]/2);Y=my+tb.ypos;break
case 3:X=tb.xpos+s_d[0];Y=tb.ypos+s_d[1];break
case 4:X=tb.xpos;Y=tb.ypos;break		
default:X=mx+tb.xpos;Y=my+tb.ypos}
if(w_d[0]+s_d[0]<e_d[0]+X+sbw)X=w_d[0]+s_d[0]-e_d[0]-sbw
if(w_d[1]+s_d[1]<e_d[1]+Y+sbw){if(tb.pos>2)Y=w_d[1]+s_d[1]-e_d[1]-sbw;else Y=my-e_d[1]}
if(X<s_d[0])X=s_d[0]
with(mig_layCss()){left=X+PX;top=Y+PX}
mig_dis()
}}

function mig_dis(){Count++
if(Count==1){
if(fl){	
if(tb.trans==51)tb.trans=parseInt(Math.random()*50)
var at=tb.trans>-1&&tb.trans<24&&tb.dur>0 
var af=tb.trans>23&&tb.trans<51&&tb.dur>0
var t=mig_lay().filters[af?tb.trans-23:0]
for(var p=28;p<31;p++){mig_lay().filters[p].enabled=0}
for(var s=0;s<28;s++){if(mig_lay().filters[s].status)mig_lay().filters[s].stop()}
for(var e=1;e<3;e++){if(tb.sc&&tb.st==e){with(mig_lay().filters[28+e]){enabled=1;color=tb.sc}}}
if(tb.opac>0&&tb.opac<100){with(mig_lay().filters[28]){enabled=1;opacity=tb.opac}}
if(at||af){if(at)mig_lay().filters[0].transition=tb.trans;t.duration=tb.dur;t.apply()}}
mig_layCss().visibility=MI_NN4?"show":"visible"
if(fl&&(at||af))t.play()
if(hs>0&&hs<4)move=0
}}

function mig_layCss(){return MI_NN4?mig_lay():mig_lay().style}
function mig_lay(){with(document)return MI_NN4?layers[TipId]:MI_IE4?all[TipId]:getElementById(TipId)}
function mig_wlay(txt){if(MI_NN4){with(mig_lay().document){open();write(txt);close()}}else mig_lay().innerHTML=txt}
function mig_hide(C){if(!MI_NN4||MI_NN4&&C)mig_wlay("");with(mig_layCss()){visibility=MI_NN4?"hide":"hidden";left=0;top=-800}}
function mig_scd(){return [parseInt(MI_IE?eval(d_r).scrollLeft:w.pageXOffset),parseInt(MI_IE?eval(d_r).scrollTop:w.pageYOffset)]}
function mig_re(){var w_d=mig_wd();if(MI_NN4&&(w_d[0]-ww||w_d[1]-wh))location.reload();else if(hs==3||hs==2) mig_hide(1)}
function mig_wd(){return [parseInt(MI_ONN?w.innerWidth:eval(d_r).clientWidth),parseInt(MI_ONN?w.innerHeight:eval(d_r).clientHeight)]}
function mig_ed(){return [parseInt(MI_NN4?mig_lay().clip.width:mig_lay().offsetWidth)+3,parseInt(MI_NN4?mig_lay().clip.height:mig_lay().offsetHeight)+5]}
function htm(){if(MI_sNav&&isOK){if(hs!=4){move=0;if(hs!=3&&hs!=2){mig_hide(1)}}}}

function mig_clay(){
if(!mig_lay()){isOK=0  
alert("DHTML TIP MESSAGE VERSION 1.5 ERROR NOTICE.\n<DIV ID=\""+TipId+"\"></DIV> tag missing or its ID has been altered")} 
else{mig_hand();mig_cssf()}}
//-->



function reklama_init(){
//musimy wygenerowac liste dostepnych reklam
var lista_reklam = $$('.reklama_object');
var ilosc_reklam = lista_reklam.length;
var current_reklama = -1;
//var effect = $('reklama_top').effect('left', {duration: 300,wait:true});
var effect = $('reklama_top').effect('opacity', {duration: 300,wait:true});
var periodical;
 
var fx = function() {
	effect.start(0).chain(function() {
                current_reklama = current_reklama+1;
                if (current_reklama>=ilosc_reklam) current_reklama = 0;
                var obj_reklama = 'reklama_num_'+current_reklama;
                $('reklama_top').innerHTML = $(obj_reklama).innerHTML;
		effect.start(1);
	});
}

if (ilosc_reklam>1){
    fx();
    periodical = fx.periodical(15000);
} 

if (ilosc_reklam==1) fx();
	
}

function count_banner(banner_id){
	var url = 'http://riku.pl/userprocess.php?mod_user_shop=click_banner&banner_id='+banner_id;
			var myAjax = new Ajax(url, {
					method: 'get',
					
					onRequest:function() {
		                            
					},
					onSuccess:function() {  },
					onComplete:function(){
										
					}
			});
			myAjax.request();		
}

function history_chk(){
 			//$('button_search').value=ax.history.getCurrentLocation();
 			var c_state = ax.history.getCurrentLocation();
 			if (c_state=='') {
 				ax.history.addState('start');
 			}
 			var params = c_state.split(',');
 			params.each(function(item, index){
 				var param = item.split(':');
 				if (param[0]=='category') { 
 					if (param[1]==ax.current_category){
 						ax.ProductUnload();
 					} else {
 						ax.CategoryLoad(param[1]); 
 					}
 					 
 				}
 				if (param[0]=='mode') {
 					var add_params = param[1].split('|');
 					//mode:zamowienie_step1|LeftWindow
 					ax.LoadViewToDiv(add_params[0],add_params[1]);
 				}
 				if (param[0]=='main') {
 					ax.LoadMain(param[1]);
 				}
 				if (param[0]=='news') {
 					ax.NewsView(param[1]);
 				}
 				if (param[0]=='newspid') {
 					ax.ProductLoadFromNews(param[1]);
 				}
 				
 				if (param[0]=='cart_pid'){
 					var add_params = param[1].split('|');
 					if ($(add_params[1])) {
 						ax.ProductLoadCustom(add_params[0],add_params[1]);
 					} else {
 						ax.NewsList('ax.ProductLoadCustom('+add_params[0]+',\''+add_params[1]+'\');');
 					}
 				}
 				
 				if (param[0]=='start') {
 					ax.NewsList();
 				}
 				
 				if (param[0]=='setrotator'){
 					var add_params = param[1].split('|');
 					ax.RotateProducts(add_params[0],add_params[1]);
 				}
 				//product_cat:304|2071
 				if (param[0]=='product_cat'){
 					var add_params = param[1].split('|');
 					if (ax.current_category==add_params[0]){
 						ax.ProductLoad(add_params[1]);
 					} else {
 						//ladowanie produktu oraz wyswietlanie waskiej listy kategorii
 						//najpierw waska lista kategorii 
 						ax.CategoryLoad2(add_params[0],add_params[1]);
 						
 					}
 				}
 				
 				if (param[0]=='display_page'){
 					var add_params = param[1].split('|');
 					ax.SystemPage(add_params[0],add_params[1]);
 				}
 				
 				if (param[0]=='display_login') { ax.SystemShowLogin(); }
 				if (param[0]=='display_register') { ax.SystemShowRegister(); }
 				if (param[0]=='display_forgotpass') { ax.SystemShowForgotPass(); }
 				
				
 			});
 				
}

var axShop = new Class({
	initialize: function(_app_url,_thumbnail_dir){
		this.pid_compare_array = new Array();
		this.name_compare_array = new Array();
		this.app_url = _app_url;
		this.app_thumbnails = _app_url+_thumbnail_dir;
		this.current_folder_num = -1;		
		this.current_folder_id = -1;
		this.current_pid_loaded = false;
		this.current_pid_classname = false;
		this.current_catalog_id = -1;
		this.current_category = -1;
		this.product_loaded = false;
		this.current_news_id = -1;
		this.mode_view = 'default'; //default, product
		this.ajaxfolder = new Ajax();	
		this.ajaxproduct = new Ajax();
		this.category_loading = false;	
		this.is_startpage = false;
		this.rotator = 2; //nowosci
		this.history = new HistoryManager();
		this.producent_id = -1;
 		this.history.addEvent('onHistoryChange', function() {
			history_chk();
 		}); 
 		
 		reklama_init();
 		
 		//alert(this.history.getCurrentLocation());
	},
	DeleteCurrentTab:function(){
		FolderDropByFolderNumAndId(this.current_folder_num,this.current_folder_id);
	},
	RenameCurrentTab:function(){
		
	},
	producent_category_load:function(id){
		this.producent_id = id;
		var url = 'http://riku.pl/lista_producent.php?prid='+id;	
			var destination = $('riku_kategorie_produktow');
			var myAjax = new Ajax(url, {
					method: 'get',
					update: destination,
					onRequest:function() {
		                            destination.setStyle('visibility','hidden');
					},
					onSuccess:function() {  },
					onComplete:function(){
						destination.setStyle('visibility','visible');
		    			builder = new DomMenuBuilder();
					    builder.setSettings(new Hash(
						    'axis', 'vertical',
						    'verticalSubMenuOffsetX', -2,
						    'verticalSubMenuOffsetY', -1,
						    'horizontalSubMenuOffsetX', 0,
						    'subMenuMinWidth', 'auto',
						    'expandMenuArrowUrl', 'http://riku.pl/customize/html/default/arrow.gif'
					    ));
		    			builder.replace('riku_kategorie_produktow');					
					}
			});
			myAjax.request();		
		
	},
	SystemLogin : function(from_cat){
		$('form_login').send({
			onRequest:function(){
				ax.LoaderShow('Logowanie do systemu');
			},
	      	onSuccess: function(response){
	        	if (response=='OK') {
	        		ax.FoldersLoad();
					RefreshLoginBar();
					
					if ($defined(from_cat)) {
						ax.CategoryLoad(from_cat);
					} else {
						ax.NewsList();
					
					}
					ax.CartRefresh();
					ax.history.addState('start');
					$('search_create_folder').style.visibility='visible';
	        	} else {
	        		ax.SystemShowLogin(from_cat);
	        	}
			},
			onComplete: function(){
				
			}
		});			
	},
	SystemLogout: function(){
		url = ax.app_url+'userprocess.php';
		var myXHR = new XHR({
			method: 'post',
			onRequest:function(){ax.LoaderShow('Zamykanie sesji...')},
			onSuccess:function(response){
				ResetActiveCatalog();
				ax.LoaderHide();
				RefreshLoginBar();			
				ax.FoldersLoad(1); //and set active
				ax.NewsList();
				ax.CartRefresh();
				$('search_create_folder').style.visibility='hidden';
			}
		}).send(url, 'mod_user_shop=logout');		
	},
	SystemShowLogin: function(from_cat){
		this.history.addState('display_login');
		ax.ProductUnload();
		var url = ax.app_url+"ax.loader.php?mod_user_shop=login";
		ax.FolderEnable(1);
		var myAjax = new Ajax(url, {
			method: 'get',
			update: $('LeftWindow'),
			onRequest:function() {
				ax.LoaderShow('Wczytywanie','ajax_loader_left');
			},
			onComplete:function(){
				ax.LoaderHide();
				$('login_username').focus();
				$('form_login').addEvent('submit', function(e) {
					new Event(e).stop();
					ax.SystemLogin(from_cat);
				});			
				
			}
		});
		myAjax.request();			
	},
	SystemShowForgotPass:function(){
		this.history.addState('display_forgotpass');
		ax.ProductUnload();
		var url = ax.app_url+"ax.loader.php?mod_user_shop=forgotpass";
		ax.FolderEnable(1);
		var myAjax = new Ajax(url, {
			method: 'get',
			evalScripts: true, 
			update: $('LeftWindow'),
			onRequest:function() {
				ax.LoaderShow('Wczytywanie','ajax_loader_left');
			},
			onComplete:function(){
				ax.LoaderHide();
				
			}
		});
		myAjax.request();			
	},
	SystemShowPage:function(page_num){
		this.history.addState('display_page:'+page_num);
	},
	SystemShowRegister: function(){
		this.history.addState('display_register');
		var url = ax.app_url+"ax.loader.php?mod_user_shop=register";
		ax.FolderEnable(1);
		var myAjax = new Ajax(url, {
			method: 'get',
			evalScripts: true, 
			update: $('LeftWindow'),
			onRequest:function() {
				ax.LoaderShow('Wczytywanie','ajax_loader_left');
			},
			onComplete:function(response){
				ax.LoaderHide();

				//$('login_username').focus();
				//$('form_login').addEvent('submit', function(e) {
				//	new Event(e).stop();
				//	ax.SystemLogin();
				//});			
				
			}
		});
		myAjax.request();			
	},
	SystemPage: function(page,info){
		this.history.addState('display_page:'+page+'|'+info);
		var url = ax.app_url+"ax.loader.php?mod_user_shop=page&page_id="+page;
		ax.FolderEnable(1);
		this.ProductUnload();
		var myAjax = new Ajax(url, {
			method: 'get',
			update: $('LeftWindow'),
			onRequest:function() {
				ax.LoaderShow('Wczytywanie','ajax_loader_left');
			},
			onComplete:function(){
				ax.LoaderHide();
			}
		});
		myAjax.request();			
	},
	SystemAdvancedSearch: function(){
		this.history.addState('display_adv:adv_search');
		var url = ax.app_url+"ax.loader.php?mod_user_shop=adv_search";
		ax.FolderEnable(1);
		this.ProductUnload();
		var myAjax = new Ajax(url, {
			method: 'get',
			update: $('LeftWindow'),
			onRequest:function() {
				ax.LoaderShow('Wczytywanie','ajax_loader_left');
			},
			onComplete:function(){
				ax.LoaderHide();
			}
		});
		myAjax.request();			
	},	
	LoaderShow: function(title,div){
		if (!$defined(title)) title = 'Wczytywanie danych...';
		if(!this.product_loaded) if ($('LeftWindow')) $('LeftWindow').empty();
		if ($('ProductWindow')) $('ProductWindow').empty();
		dest = 'ajax_loader_left';
		if (this.product_loaded) { dest = 'ajax_loader_center'; }
		if ($defined(div)) { dest = div; }
		$(dest+'_log').setHTML(title);
		$(dest).setStyle('display', '');	
		$(dest).setStyle('opacity', '1');		
	},
	LoaderHide: function(){
		if ($('ajax_loader_left')) $('ajax_loader_left').style.display='none';
		if ($('ajax_loader_center')) $('ajax_loader_center').style.display='none';		
	},
	CompareAdd: function(pid,title) {
		if (!this.pid_compare_array.contains(pid)){
			this.name_compare_array[pid] = title;
			this.pid_compare_array.extend([pid]);
			
			var _cmp_drop_pid = 'compare_drop_pid_'+pid;
			if ($(_cmp_drop_pid)){	
				var _cmp_add_pid = 'compare_add_pid_'+pid;			
				$(_cmp_drop_pid).setStyle('display','');
				$(_cmp_add_pid).setStyle('display','none');
			}
			this.CompareRefresh();
		}
	},
	CompareDrop: function(pid) {
		if (this.pid_compare_array.contains(pid)){
			this.pid_compare_array.remove(pid);
			var _cmp_drop_pid = 'compare_drop_pid_'+pid;
			var _cmp_add_pid = 'compare_add_pid_'+pid;	
			if ($(_cmp_drop_pid)){		
				$(_cmp_drop_pid).setStyle('display','none');
				$(_cmp_add_pid).setStyle('display','');	
			}		
			this.CompareRefresh();
		}		
	},
	CompareRefresh: function(){
		$('div_compare').setHTML('');
		var tbl_data = '<table cellspacing="0" cellpadding="0" width="100%">';
		this.pid_compare_array.each(function(pid,index){ 
			tbl_data = tbl_data + '<tr id="tr_cmp_pid_'+pid+'">';
			tbl_data = tbl_data + '<td style="line-height:13px;padding:0px;padding-right:5px;">'+(index+1)+'.</td>';
			tbl_data = tbl_data + '<td style="line-height:13px;padding:0px;" id="td_cmp_pid'+pid+'"><a href="javascript:ax.ProductLoad('+pid+')">'+ax.name_compare_array[pid]+'</a></td>';
			tbl_data = tbl_data + '<td style="line-height:13px;padding:0px;width:40px;text-align:center;" ><a href="javascript:ax.CompareDrop('+pid+')">x</a></td>';
			tbl_data = tbl_data + '</tr>';
		});
		tbl_data=tbl_data+'</table>';
		if (this.pid_compare_array.length==0){
			$('__id_compare').setStyle('display','none');
		} else {
			$('__id_compare').setStyle('display','');
			$('div_compare').setHTML(tbl_data);
		}
		
	},
	NewsView : function(news_id){
		this.history.addState('news:'+news_id);
		this.current_news_id = news_id;
		this.ajaxfolder.cancel();
		this.ajaxfolder = new Ajax();		
		
		this.ProductUnload();
		FolderHideMenuCustom('catalog_menu_div');
		this.FolderEnable(1);
		var url = ax.app_url+"ax.loader.php?mod_user_shop=news&news_id="+news_id;
		var options = {
						method: 'get',
						update: $('LeftWindow'),
						onRequest:function() { ax.LoaderShow('Wczytywanie wiadomości','ajax_loader_left');},
						onSuccess:function() { ax.LoaderHide();},
						onComplete:function(){ 
							ax.NewsBox(news_id);
							//PreloadImages('preloader_images','preloader_pids','thumbnail_product_',app_thumbnails);
						},
						onCancel: function() { ax.LoaderHide(); }
					};
		this.ajaxfolder.url = url;
		this.ajaxfolder.setOptions(options);	
		this.ajaxfolder.request();		
		
	},
	NewsList : function(c_func){
		ax.current_category = -1;
		this.history.addState('start');
		ax.NewsBoxHide();
		this.ajaxfolder.cancel();
		
		this.ajaxfolder = new Ajax();
		$('LeftWindow').empty();
		this.ProductUnload();
		FolderHideMenuCustom('catalog_menu_div');
		this.FolderEnable(1);	
		var url = ax.app_url+"ax.loader.php?mod_user_shop=firstpage_news";
		var options = {
				method: 'get',
				update: $('LeftWindow'),
				onRequest:function() { ax.LoaderShow('Wczytywanie wiadomości','ajax_loader_left');},
				onSuccess:function() { ax.LoaderHide();},
				onComplete:function(){ 
					if ($defined(c_func)){
						eval(c_func);
					}
					//InitTips();
					//PreloadImages('preloader_images','preloader_pids','thumbnail_product_',app_thumbnails);
					
				},
				onCancel: function() { ax.LoaderHide(); }
		};
		this.ajaxfolder.url = url;
		this.ajaxfolder.setOptions(options);	
		this.ajaxfolder.request();				
	},
	NewsBox:function(news_id){
		$('mini_news_box').setStyle('display','');
		$('mini_news_box').setHTML($('current_news_div').innerHTML);
	},
	NewsBoxHide:function(){
		$('mini_news_box').empty();
		$('mini_news_box').setStyle('display','none');
	},
	FolderReset	: function(){
		this.current_folder_num = -1;
		this.current_folder_id = -1;
	},
	FolderHideMenu: function(num){
		this.FolderReset();
    	$('folder_menu_div').setStyle('display', 'none');
	},
	FolderHide : function(num) {
		this.FolderReset();
		$('folder_'+num).setStyle('display', 'none');
		$('folder_'+num).setAttribute('id','-5000');
		this.FolderHideMenu();
	},
	FolderShowX: function(num){
		if ((num==0)||(num==1)||(num==2)){
			if ($('folder_'+num)) {
				$('folder_'+num).removeClass('folder_hover');
				$('folder_'+num).addClass('folder_hover');
			}
		} else 
		if ($('folder_close_'+num)) { 
			$('folder_close_'+num).setStyle('display','');
			$('folder_'+num).removeClass('folder_hover');
			$('folder_'+num).addClass('folder_hover');
		}
		ax.is_startpage = false;
		if (num==1){
			ax.is_startpage = true;
		}
	},
	FolderHideX: function(num){
		if ((num==0)||(num==1)||(num==2)){
			$('folder_'+num).removeClass('folder_hover');
			
		} else 
		
		if ($('folder_close_'+num)) { 
			$('folder_close_'+num).setStyle('display','none'); 
			if ($('folder_'+num)) $('folder_'+num).removeClass('folder_hover');
		}
	},

	FilterFolder:function(num,folder_id,producent_id,sort){
		var cena_od = $('cena_od').value;
		var cena_do = $('cena_do').value;
		ax.FolderLoad(num,folder_id,producent_id,sort,cena_od,cena_do);
	},
	FilterFolderReset:function(num,folder_id,producent_id,sort){
		$('cena_od').value='0';
		$('cena_do').value='0';
		ax.FolderLoad(num,folder_id,producent_id,sort); 
	},
	
	FolderLoad: function(num,folder_id,producent_id,sort,cena_min,cena_max){
		this.ajaxfolder.cancel();
		this.ajaxfolder = new Ajax();	
		$('LeftWindow').empty();
		this.ProductUnload();
		if(!$defined(producent_id)) producent_id = -1;
		if(!$defined(sort)) sort = -1;

		var search_cena_min = '';
		var search_cena_max = '';
		
		if ($defined(cena_min)) { search_cena_min='&cena_min='+cena_min; }
		if ($defined(cena_max)) { search_cena_max='&cena_max='+cena_max; }		
		
		this.FolderHideMenu(num);
		FolderHideMenuCustom('catalog_menu_div');
		this.FolderEnable(num);
		var url = ax.app_url+"ax.loader.php?mod_user_shop=products&folder_id="+folder_id+"&producent_id="+producent_id+"&folder_num="+num+"&sort="+sort+"&current_catalog_id="+ax.current_catalog_id+search_cena_max+search_cena_min;
		var options = {
						method: 'get',
						update: $('LeftWindow'),
						onRequest:function() {ax.LoaderShow('Wczytywanie folderu','ajax_loader_left');ProgressFolder(num,1)},
						onSuccess: function(){
							ax.LoaderHide();
						},
						onComplete:function(){
							ProgressFolder(num,0);
							
							PreloadImages('preloader_images','preloader_pids','thumbnail_product_',ax.app_thumbnails);
						},
						onCancel: function() {
							ax.LoaderHide();
						}
					};
		this.ajaxfolder.url = url;
		this.ajaxfolder.setOptions(options);	
		this.ajaxfolder.request();		
	},
	FolderEnable: function(num){
		this.FoldersDisable();
		if ($('folder_'+num)) {
			$('folder_'+num).className = 'folder_active';
			if ($('folder_menu_img_'+num)) $('folder_menu_img_'+num).src = jax_style_folder+'menu_active_open.jpg';
			if ($('folder_img_'+num)) {
				var v = $('folder_img_'+num);
				if ($defined(v)) v.setOpacity(1);
			}
		}		
	},
	FoldersLoad: function(set_active){
		$('folder_menu_div').setStyle('display', 'none');
		var url = ax.app_url+"ax.loader.php?mod_user_shop=folders";
		var myAjax = new Ajax(url, {method: 'get',onComplete:function(){ 
			if ($defined(set_active)) ax.FolderEnable(set_active);
			BlinkActiveFolder();

		},update: $('folders')});
		myAjax.request();		
	},
	FoldersDisable: function(){ //old disableFolders
		for ( i = 0; i <= 100; i++){
			if ($('folder_'+i)) { $('folder_'+i).className = 'folder_inactive';}
			if ($('folder_menu_img_'+i))  $('folder_menu_img_'+i).src = jax_style_folder+'menu_inactive_open.jpg';
			if ($('folder_img_'+i)) {
				var v = $('folder_img_'+i);
				if ($defined(v)) v.setOpacity(0.5);
			}
		}		
	},
	FilterCategory:function(category_id,producent_id,sort){
		var cena_od = $('cena_od').value;
		var cena_do = $('cena_do').value;
		ax.CategoryLoad(category_id,producent_id,sort,-1000,cena_od,cena_do);
	},
	FilterCategoryReset:function(category_id,producent_id,sort){
		$('cena_od').value='0';
		$('cena_do').value='0';
		ax.CategoryLoad(category_id,producent_id,sort);
	},
	
	CategoryLoad2:function(category_id,open_pid){
		if (!this.category_loading) {
			//ax.history.addState('category:'+category_id); 
			this.category_loading=true;
			ax.NewsBoxHide();
			ax.ProductUnload();
			ax.FolderEnable(1);
			var search_producent = '';
			var search_sort = '';
			var search_cena_min = '';
			var search_cena_max = '';
			
			
			this.current_category = category_id;
			var url = ax.app_url+"ax.loader.php?mod_user_shop=products&kategoria_id="+category_id+search_producent+search_sort+search_cena_min+search_cena_max;
			var myAjax = new Ajax(url, {
					method: 'get',
					update: $('LeftWindow'),
					evalScripts : true,
					onRequest:function() {
						
						ax.LoaderShow('Wczytywanie kategorii','ajax_loader_left');
						
					},
					onSuccess: function(){
						ax.LoaderHide();
					},
					onComplete:function(){
						ax.category_loading=false;
						if ($defined(open_pid)){
							if (open_pid!=-1000)
							ax.ProductLoad(open_pid);
						}
						PreloadImages('preloader_images','preloader_pids','thumbnail_product_',ax.app_thumbnails);
					}
			});
			myAjax.request();
		}	
	},
	
	CategoryLoad:function(category_id,producent_id,sort,open_pid,cena_min,cena_max,search){
		if (!this.category_loading) {
			
			ax.history.addState('category:'+category_id); 
			this.category_loading=true;
			ax.NewsBoxHide();
			ax.ProductUnload();
			ax.FolderEnable(1);
			var search_producent = '';
			var search_sort = '';
			var search_cena_min = '';
			var search_cena_max = '';
			if ($defined(producent_id)) { search_producent = '&producent_id='+producent_id; }
			if ($defined(sort)) { search_sort = '&sort='+sort; }
			
			if ($defined(cena_min)) { search_cena_min='&cena_min='+cena_min; }
			if ($defined(cena_max)) { search_cena_max='&cena_max='+cena_max; }
			
			this.current_category = category_id;
			producent = '';
			var cat_search = '';
			if ($defined(search)) {
			//if ($('search_in_category')) {
			//	var x = $('search_in_category').value;
				cat_search = '&custom_query='+search;
			//}				
			}

			if (this.producent_id!=-1) producent = '&producent_id2='+this.producent_id;
			var url = ax.app_url+"ax.loader.php?mod_user_shop=products&kategoria_id="+category_id+search_producent+search_sort+search_cena_min+search_cena_max+producent+cat_search;
			var myAjax = new Ajax(url, {
					method: 'get',
					update: $('LeftWindow'),
					evalScripts : true,
					onRequest:function() {
						
						ax.LoaderShow('Wczytywanie kategorii','ajax_loader_left');
						
					},
					onSuccess: function(){
						ax.LoaderHide();
					},
					onComplete:function(){
						ax.category_loading=false;
						if ($defined(open_pid)){
							if (open_pid!=-1000)
							ax.ProductLoad(open_pid);
						}
						PreloadImages('preloader_images','preloader_pids','thumbnail_product_',ax.app_thumbnails);
					}
			});
			myAjax.request();
		}	
	},
	CategoryCustomLoad:function(category_uid,producent_id,sort){
		if (!this.category_loading) {
			this.category_loading=true;
			ax.NewsBoxHide();
			ax.ProductUnload();
			ax.FolderEnable(1);
			var search_producent = '';
			var search_sort = '';
			if ($defined(producent_id)) { search_producent = '&producent_id='+producent_id; }
			if ($defined(sort)) { search_sort = '&sort='+sort; }
			var url = ax.app_url+"ax.loader.php?mod_user_shop=products&kategoria_uid="+category_uid+search_producent+search_sort;
			var myAjax = new Ajax(url, {
					method: 'get',
					update: $('LeftWindow'),
					evalScripts : true,
					onRequest:function() {
						
						ax.LoaderShow('Wczytywanie kategorii','ajax_loader_left');
						
					},
					onSuccess: function(){
						ax.LoaderHide();
					},
					onComplete:function(){
						ax.category_loading=false;
						PreloadImages('preloader_images','preloader_pids','thumbnail_product_',ax.app_thumbnails);
					}
			});
			myAjax.request();
		}			
	},
	HideAllFolderMenus:function(){
		if ($('catalog_menu_div')) 	$('catalog_menu_div').setStyle('display','none');
		if ($('folder_menu_div')) 	$('folder_menu_div').setStyle('display','none');
	},
	LoadIntoFolder:function(num,module_name,get_func){
		this.HideAllFolderMenus();
		$('LeftWindow').setHTML('<table width="100%"><tr><td></td></tr></table>');
		this.ProductUnload();
		this.FolderEnable(2);
		var url = ax.app_url+"ax.loader.php?mod_user_"+module_name+"="+get_func;
		var myAjax = new Ajax(url, {method: 'get',evalScripts: true, update: $('LeftWindow'),onRequest:function() {ax.LoaderShow('Wczytywanie','ajax_loader_left');},onComplete:function(){ax.LoaderHide();}});
		myAjax.request();		
	},
	ProgressDivStart:function(div_id){
		//main_spinner nakladamy na div_id 
		if ($(div_id)){
			var my_tool = $(div_id).getCoordinates();
			$(div_id).setOpacity(0.2);
			$('main_spinner').setStyle('display','');
			$('main_spinner').setStyle('left',my_tool.left+1);
			$('main_spinner').setStyle('top',my_tool.top+1);
			$('main_spinner').setStyle('width',my_tool.right-my_tool.left);
			var hei = my_tool.bottom-my_tool.top;
			$('main_spinner').setStyle('height',hei);
			var res = hei-$('main_spinner_img').height;
			res = res/2;
			$('main_spinner_img').setStyle('margin-top',res);		
		} else { }
	},
	ProgressDivEnd:function(div_id){
		if ($(div_id)){		
			$(div_id).setOpacity(1);
			$('main_spinner').setStyle('display','none');
		} else { }
	},
	LoadAccountPanel:function(view){
		//w td_account_option ladujemy view
		this.HideAllFolderMenus();
		var url = ax.app_url+"ax.loader.php?mod_user_shop="+view;
		var myAjax = new Ajax(
			url, {
				method: 'get',
				evalScripts: true,
				update: $('td_account_option'),
				onRequest:function() {
					ax.ProgressDivStart('my_account_id_pan');
					//ax.LoaderShow('Wczytywanie','td_account_option');
				},
				onComplete:function(){
					//ax.LoaderHide();
					TB_init();
					ax.ProgressDivEnd('my_account_id_pan');
				}});
		myAjax.request();		
	},
	LoadMain:function (option){
		
		ax.ProductUnload();
		ax.current_category = -1;
		ax.history.addState('main:'+option);
		ax.FolderEnable(1);	
		if (option=='moje_konto'){
			var url = ax.app_url+"ax.loader.php?mod_user_shop=mojekonto";
			var myAjax = new Ajax(url, {method: 'get',update: $('LeftWindow'),onRequest:function() {ax.LoaderShow('Wczytywanie danych','ajax_loader_left');ProgressFolder(1,1)},onComplete:function(){ax.LoaderHide();ProgressFolder(1,0)}});
			myAjax.request();			
		}	
		if (option=='zmiana_danych'){
			var url = ax.app_url+"ax.loader.php?mod_user_shop=zmianadanych";
			var myAjax = new Ajax(url, {method: 'get',update: $('LeftWindow'),onRequest:function() {ax.LoaderShow('Wczytywanie danych','ajax_loader_left');ProgressFolder(1,1)},onComplete:function(){ax.LoaderHide();ProgressFolder(1,0)}});
			myAjax.request();			
		}
		
		if (option=='moje_galerie'){
			var url = ax.app_url+"ax.loader.php?mod_user_shop=moje_galerie";
			var myAjax = new Ajax(url, {method: 'get',evalScripts: true,update: $('LeftWindow'),onRequest:function() {ax.LoaderShow('Wczytywanie danych','ajax_loader_left');ProgressFolder(1,1)},
			onComplete:function(){
				ax.LoaderHide();
				ProgressFolder(1,0);
				//InitGalleryUploader();
			}});
			myAjax.request();			
		}
	},	
	LoadViewToDiv:function(view,div){
		ax.current_category = -1;
		ax.history.addState('mode:'+view+'|'+div)
		
		this.HideAllFolderMenus();
		
		
		if (view=='zamowienie_step1') ax.ProductUnload();
		
		var url = ax.app_url+"ax.loader.php?mod_user_shop="+view;
		var myAjax = new Ajax(
			url, {
				method: 'get',
				evalScripts: true,
				update: $(div),
				onRequest:function() {
					ax.ProgressDivStart(div);
				},
				onComplete:function(){
					ax.ProgressDivEnd(div);
				}});
		myAjax.request();			
	},
	
	AddToCart:function(pid,update_zam){
		var url = ax.app_url+"userprocess.php?mod_user_custom_koszyk=DodajAx&pid="+pid;
		if ($defined(update_zam)) ax.ProgressDivStart('LeftWindow');
		var myAjax = new Ajax(url, {
				method: 'POST',				
				onRequest:function() {
					ax.CartStartUpdate();
				},
				onComplete:function(resp){
					if (resp=='1001'){
						alert('Przykro nam ale wybrany produkt jest aktualnie niedostępny.');
						ax.CartStopUpdate();
						
						//ax.CartRefreshMulti();
					} else if(resp=='1002') {
						alert('Brak większej ilości wybranego produktu niż znajduje się w koszyku');
						ax.CartStopUpdate();
						
						//ax.CartRefreshMulti();
					} else {
						if ($defined(update_zam)) { 
								ax.CartRefreshMulti();
							} else {
								ax.CartRefresh();
							}
					
				}
				//if ($defined(update_zam)){ax.ProgressDivEnd('LeftWindow'); } 
				}
			});
		myAjax.request();			
	},
	
	RemoveFromCart:function(pid,update_zam){
		//UsunAx
		var url = ax.app_url+"userprocess.php?mod_user_custom_koszyk=UsunAx&pid="+pid;
		var myAjax = new Ajax(url, {
				method: 'POST',				
				onRequest:function() {
					ax.CartStartUpdate();
					if ($defined(update_zam)){
						ax.ProgressDivStart('LeftWindow');
					}
				},
				onComplete:function(resp){
					if ($defined(update_zam)){
						ax.CartRefreshMulti();
					} else {
						ax.CartRefresh();
					}
					
				}
		});
		myAjax.request();			
		
	},
	ChangeCartCount:function(pid,option){
		var current_count = $(option).getValue();
		alert(current_count);
	},
	ChangeCartCount2:function(cart_id,new_value,event){
		//var current_count = $(new_value).getValue();
		//alert(new_value);
		if ((event.keyCode!=8)&&(event.keyCode!=32)&&(event.keyCode!=27)){
		
		var url = ax.app_url+"userprocess.php?mod_user_custom_koszyk=change_quick&cart_id="+cart_id+'&try_max='+new_value;
		var c_spin = 'cart_row_spin:'+cart_id;
		var myAjax = new Ajax(url, {
				method: 'POST',				
				onRequest:function() {
					$(c_spin).innerHTML = 'Chwilka...';
					//ax.ProgressDivStart('cart_inner');
					//ax.ProgressDivStart('LeftWindow');
					ax.ProgressDivStart('cart_inner');
					ax.ProgressDivStart('LeftWindow');
				},
				onSuccess:function(){
					$(c_spin).innerHTML = 'OK';
				},
				onComplete:function(resp){
					//ax.CartRefreshMulti();
					$(c_spin).innerHTML = '';
					ax.CartRefreshMulti();
				}
		});
		myAjax.request();
	}		
	},
	minusFromCart_zam:function(pid){
		var url = ax.app_url+"userprocess.php?mod_user_custom_koszyk=ZmniejszAx&pid="+pid;
		var myAjax = new Ajax(url, {
				method: 'POST',				
				onRequest:function() {
					ax.ProgressDivStart('cart_inner');
					ax.ProgressDivStart('LeftWindow');
				},
				onComplete:function(resp){
					ax.CartRefreshMulti();
				}
		});
		myAjax.request();		
	},
	CartRefresh:function(){
		var url = ax.app_url+"ax.loader.php?mod_user_custom_koszyk=display";
		var myAjax = new Ajax(url, {
			method: 'get',
			update: $('cart_inner'),
			onRequest:function() {
				ax.CartStartUpdate();
			},
			onComplete:function(){
				ax.CartStopUpdate();
			}
		});
		myAjax.request();			
	},
	
	//wczytuje automatycznie 2 koszyki za jednym requestem, jeden po lewej, drugi przy zamowieniu 
	
	CartRefreshMulti:function(){
		var url = ax.app_url+"ax.loader.php?mod_user_custom_koszyk=multi";
		
		var myAjax = new Ajax(url, {
			method: 'get',
			
			onRequest:function() {
				
				ax.CartStartUpdate();
			},
			onComplete:function(resp){
				//cart_inner
				$('working_div').innerHTML = resp;
				
				$('cart_inner').innerHTML=$('v_cart_1').innerHTML;
				$('LeftWindow').innerHTML=$('v_cart_2').innerHTML;
				ax.CartStopUpdate();
				ax.ProgressDivEnd('LeftWindow');
			}
		});
		myAjax.request();			
	},	
	
	CartDelete:function(){
		var url = ax.app_url+"userprocess.php?mod_user_custom_koszyk=clear_koszyk";
		var myAjax = new Ajax(url, {
				method: 'POST',				
				onRequest:function() {
					ax.CartStartUpdate();
					//ax.LoaderShow('Wczytywanie','ajax_loader_left');
				},
				onComplete:function(resp){
					ax.CartRefresh();
				}
		});
		myAjax.request();			
	},
	CartStartUpdate:function(){
			
			var my_tool = $('cart_inner').getCoordinates();
			$('cart_inner').setOpacity(0.2);
			$('cart_spinner').setStyle('display','');
			$('cart_spinner').setStyle('left',my_tool.left+1);
			$('cart_spinner').setStyle('top',my_tool.top+1);
			$('cart_spinner').setStyle('width',my_tool.right-my_tool.left);
			var hei = my_tool.bottom-my_tool.top;
			$('cart_spinner').setStyle('height',hei);
			var res = hei-$('cart_spinner_img').height;
			res = res/2;
			$('cart_spinner_img').setStyle('margin-top',res);
	},
	CartStopUpdate:function(){
			$('cart_inner').setOpacity(1);
			$('cart_spinner').setStyle('display','none');
	},
	ProductDeselect: function(){ //old QuickUnload
	 	if (this.product_loaded) {
			if ($('pid_view_'+this.current_pid_loaded)){
				var old_selected = $('pid_view_'+this.current_pid_loaded);
				old_selected.className = this.current_pid_classname;
			}
		}
	},
	ProductUnload: function(hide_rozwin){ //old UnloadProduct()
		this.ProductDeselect();
		this.ajaxproduct.cancel();
		this.ajaxproduct = new Ajax();
		if ($('product_listing')) 	 			$('product_listing').className = 'product_listing_normal';
		if ($('products_listing_horizontal')) 	$('products_listing_horizontal').setStyle('display','');
		if ($('products_listing_vertical')) 	$('products_listing_vertical').setStyle('display','none');
		if ($('producent_box')) 				$('producent_box').setStyle('display','block');	
	  	if ($('td_product')) 					$('td_product').className = 'td_product_invisible';
		if ($('ProductWindow')) 				$('ProductWindow').empty();	
	  	if ($('td_LeftWindow')) 				$('td_LeftWindow').className = 'td_LeftWindow_normal';
		
		if (!$defined(hide_rozwin))				if ($('rozwin_btn_0')) $('rozwin_btn_0').setStyle('display','none');			
		this.current_pid_loaded = false;
		this.current_pid_classname = false;
		this.product_loaded = false;
		this.mode_view = 'default';
	},
	ProductLoadFromNews : function(pid){
		this.history.addState('newspid:'+pid);
		var news_data = $('current_news_div').innerHTML;
		$('LeftWindow').setHTML(news_data);
		this.ProductLoad(pid);
	},
	ProductLoadCustom:function(pid,destination){
		ax.current_category = -1;
		this.history.addState('cart_pid:'+pid+'|'+destination);
		this.ProductDeselect();
		this.FolderEnable(1);
		url = ax.app_url+'ax.loader.php?mod_user_shop=product&pid='+pid+"&current_catalog_id="+this.current_catalog_id;
		this.ajaxproduct.cancel();
		var dest = $(destination);
		this.ProductUnload(true);
		this.ajaxproduct = new Ajax(url, {
				method: 'get',
				update: dest,				
				evalScripts : true,
				
				onRequest:function() { 
					ax.ProgressDivStart(destination);
				},
				onSuccess:function() { 
					var _cmp_drop_pid = 'compare_drop_pid_'+pid;
					var _cmp_add_pid = 'compare_add_pid_'+pid;										
					if (ax.pid_compare_array.contains(pid)){ //jest w porownywarce , pokazujemy usun, ukrywamy dodac 
							if ($(_cmp_drop_pid)){
								$(_cmp_drop_pid).setStyle('display','');
								$(_cmp_add_pid).setStyle('display','none');
							}
						} else { //niema w porownywarce, pokaz dodaj, ukryj usun
							if ($(_cmp_add_pid)){
								$(_cmp_add_pid).setStyle('display','');
								$(_cmp_drop_pid).setStyle('display','none');
							}						
						}
										
				},
				onComplete:function(){
					TB_init();
					ax.ProgressDivEnd(destination);
				},
				onCancel:function(){
					ax.ProgressDivEnd(destination);
				}
		});
		this.ajaxproduct.request();			
		
		
	},
	ProductLoadCategory:function(category_id,pid){
		if (this.current_category==category_id){
			this.history.addState('product_cat:'+category_id+'|'+pid);
			this.ProductLoad(pid);
		} else {
			this.history.addState('product_cat:'+category_id+'|'+pid);
			this.ProductLoad(pid);
		}
	},
	ProductLoad: function(pid){
		ax.NewsBoxHide();
		if (!this.product_loaded){
			if ($('rozwin_btn_0')) {
				$('rozwin_btn_0').setStyle('margin-left','2px');
				$('rozwin_btn_0').setStyle('display','');
			}
		}
		this.ProductDeselect();
		this.product_loaded = true;
		this.current_pid_loaded = pid;
		if ($('pid_view_'+pid)) {
			this.current_pid_classname = $('pid_view_'+pid).className;
			$('pid_view_'+pid).className = 'product_view_1_hl';
		}
		
		if (this.mode_view!='products'){ // jesli pierwszy raz otwarlismy produkt
			if ($('product_listing')) $('product_listing').className = 'product_listing_min';
			if ($('producent_box')) $('producent_box').style.display='none';	
	  		if ($('td_product')) $('td_product').className = 'td_product_visible';
			if ($('ProductWindow')) $('td_LeftWindow').className = 'td_LeftWindow_min';
			if ($('products_listing_horizontal')) $('products_listing_horizontal').setStyle('display','none');
			if ($('products_listing_vertical')) $('products_listing_vertical').setStyle('display','');
		}
		
		var dest = $('ProductWindow');
		if (this.is_startpage) {  
			
		} else {
			
		}
		dest.empty();
		url = ax.app_url+'ax.loader.php?mod_user_shop=product&pid='+pid+"&current_catalog_id="+this.current_catalog_id;
		this.ajaxproduct.cancel();
		this.ajaxproduct = new Ajax(url, {
				method: 'get',
				update: dest,
				evalScripts : true,
				
				onRequest:function() { 
					ax.LoaderShow('Wczytywanie produktu','ajax_loader_center');
					$('main_body').setStyle('cursor','progress');
				},
				onSuccess:function() { 
					ax.LoaderHide(); 
					ax.product_loaded = true;
					ax.mode_view = 'products';

				var _cmp_drop_pid = 'compare_drop_pid_'+pid;
				var _cmp_add_pid = 'compare_add_pid_'+pid;										
				if (ax.pid_compare_array.contains(pid)){ //jest w porownywarce , pokazujemy usun, ukrywamy dodac 
						if ($(_cmp_drop_pid)){
							$(_cmp_drop_pid).setStyle('display','');
							$(_cmp_add_pid).setStyle('display','none');
						}
					} else { //niema w porownywarce, pokaz dodaj, ukryj usun
						if ($(_cmp_add_pid)){
							$(_cmp_add_pid).setStyle('display','');
							$(_cmp_drop_pid).setStyle('display','none');
						}						
					}
				},
				onComplete:function(){
					TB_init();
					$('main_body').setStyle('cursor','default');			
				},
				onCancel:function(){
					//ax.LoaderHide(); 
					if ($('ajax_loader_center')) $('ajax_loader_center').setStyle('display','none');
					$('main_body').setStyle('cursor','default');
					ax.mode_view = 'default';
					//ax.product_loaded = false;	
					//ax.ProductUnload(false);
				}
		});
		this.ajaxproduct.request();		
	},
	RotateProducts:function(fr,mode){
		this.history.addState('setrotator:'+fr+'|'+mode);
		from  = fr;
		this.rotator = mode;
		var url = ax.app_url+"ax.loader.php?mod_user_shop=rotator&from="+from+'&mode='+this.rotator;
		var myAjax = new Ajax(url, {
			method: 'get',
			update: $('best_main__id'),
			onRequest:function() {
				ax.ProgressDivStart('best_main__id__');
			},
			onComplete:function(resp){
				ax.ProgressDivEnd('best_main__id__');
				$('best_main__id').innerHTML = resp;
			}
		});
		
		if ($('best_main__id')){
			myAjax.request();		
		}else {
			c_func = 'ax.RotateProducts('+fr+','+mode+')';
			ax.NewsList(c_func);
		}
		
	}
});



var ImagePreloader = new Class({ 
		getOptions: function(){ 
			return { 
				onProgress : Class.empty, 
				onComplete : Class.empty, 
				hrefIndex : 0 // in case 'images' is an mutlti dimensional array, index of HREF 
		}; 
		}, 
		initialize: function(options){ 
			this.setOptions(this.getOptions(), options); 
			if (this.options.initialize) this.options.initialize.call(this); 
			this.img = new Image(); 
			this.img.onload = function() { 
				this.options.onProgress.delay(10,null,[this.current, this.img.src]); 
				if(!this.stopped) this._next.delay(10,this);
			}.bind(this); 
		}, 
		preload : function(basepath, images) { 
			this._basepath = basepath; 
			this.images = ($type(images) == 'array') ? images : [images]; 
			this.current = -1; 
			this.stopped = false; 
			this._next(); 
		}, 
		stop : function() { 
			this.stopped = true; 
		},
		resume : function() { 
			if(this.stopped && this.images.length && this.current != -1) this._next(); 
		}, 
		_next : function() { 
			if(this.current < this.images.length - 1) { this.current++; } else { 
				this.options.onComplete.delay(10); 
				return; 
			} 
		var href = ($type(this.images[this.current]) != 'array') ? this.images[this.current] : this.images[this.current][this.options.hrefIndex]; 
		this.img.src = this._basepath + href;
		} }); 
		ImagePreloader.implement(new Options);





Ajax = Ajax.extend({
	request: function()
	{
	    if (this.options.timeout) {
	        this.timeoutTimer=window.setTimeout(this.callTimeout.bindAsEventListener(this), this.options.timeout);
	        this.addEvent('onComplete',this.removeTimer);
	    }
	    this.parent();
	},

    callTimeout: function () {
        this.transport.abort();
        this.onFailure();
        if (this.options.onTimeout) {
            this.options.onTimeout();
        }
    },

    removeTimer: function() {
        window.clearTimeout(this.timeoutTimer);
    }
});

var my_tool = null;

var myAjaxFolder = new Ajax();

var ax = null;

window.addEvent('domready', function() {
	ax = new axShop('http://riku.pl/','data/Image/c_produkty_main_thumbnails/');
	$('folder_menu_div').setStyle('display', 'none');
	var myFx = new Fx.Styles('button_search', {duration: 250,wait:false});	
	
	$('button_search').addEvents({
		'focus': function(){
			this.value = '';	
		},
		'blur': function(){
				
		},
		'keypress': function(e){
				if (e.keyCode==13) {
					new Event(e).stop();
					DoSearch();
					return false;
				}
		}}
	);
	



	$('global_search').addEvent('submit', function(e) {
		new Event(e).stop();
		DoSearch();
	});	
	
	
});






function ProcessSearchOnFocus(){
	
	$('button_search').value='';
}

function ProcessSearchOnBlur(){}




function FindLastFolder(){
	var max = 1;
	for (i = 1;i<=100;i++){
		if ($('folder_'+i)) {
			max = i;
		}
	}
	return max;
}

function ProgressFolder(num,mode){
	if (mode==0) {//pokazujemy
		//$('folder_div_'+num).setStyle('opacity', '1');
		//if ($('folder_div_'+num)) $('folder_div_'+num).style.display='none';
		//var myFx = new Fx.Style('LeftWindow', 'opacity',{duration:jax_gfx_duration});
		//myFx.start(0,1);
	} else { //ukrywamy
			//if ($('folder_div_'+num)) $('folder_div_'+num).style.display='';
			//var myFx = new Fx.Style('LeftWindow', 'opacity',{duration:20});
			//myFx.start(1,0);
			//$('folder_div_'+num).setStyle('opacity', '0');
	}
}

function HidePidDiv() { 
	$('pid_main_opis').setStyle('display','none');
	$('pid_zalecane').setStyle('display','none'); 
	if ($('pid_full_info')) $('pid_full_info').className='unselected_tab';
	if ($('pid_properties')) $('pid_properties').className='unselected_tab';
	if ($('pid_connected_info')) $('pid_connected_info').className='unselected_tab';

	var nd1 = 'pid_properties_1';
	var nd2 = 'pid_properties_2';
	var nd3 = 'pid_properties_3';
	if ($(nd1)) $(nd1).className='unselected_tab';
	if ($(nd2)) $(nd2).className='unselected_tab';
	if ($(nd3)) $(nd3).className='unselected_tab';	
	
	var to_close = $$('.div_cechy');
	to_close.each(function(div){ div.style.display='none'; });

}
function OpenPidDivZalecane(){ 
	HidePidDiv();
	$('pid_zalecane').setStyle('display','');
	if ($('pid_full_info')) $('pid_full_info').className='unselected_tab';  
	if ($('pid_connected_info')) $('pid_connected_info').className='selected_tab';  
}

function OpenPidMainOpis(){ 
	HidePidDiv();
	$('pid_main_opis').setStyle('display','');  
	if ($('pid_full_info')) $('pid_full_info').className='selected_tab';
}

function OpenPidCechy(gr_id){
	HidePidDiv();
	var nd = 'pid_properties_'+gr_id;

	if ($(nd)) $(nd).className='selected_tab';
	$('div_cechy_'+gr_id).setStyle('display','');
}





function InputOnHover(input){
		 
}

function InputOnOut(input){
 
}


function ProcessFolderMenu(num,folder_id){
	if ($('folder_menu_div').style.display=='none'){
		FolderOpenMenu(num,folder_id);
		ax.current_folder_num = num;
		ax.current_folder_id = folder_id;
	} else {
		ax.FolderHideMenu(num);

	}
}


function ProcessCustomMenu(num){
	//wczytanie menu z katalogami
	//HideAllFolderMenus();
	$('catalog_menu_div').innerHTML = 'Wczytywanie';
	url = ax.app_url+'ax.loader.php';
		var myXHR = new XHR({
			method: 'post',
			onRequest:function(){ FolderOpenMenuCustom(num,'catalog_menu_div'); },
			onSuccess:function(response){
				$('catalog_menu_div').innerHTML = response;
				
			}
		}).send(url, 'mod_user_catalogs=load_catalog_menu');		
}

function AddFav(pid){
	url = ax.app_url+'userprocess.php';
	
	//ukrywamy usuwanie , pokazujemy dodawanie 

	if ($('div_add_fav_id_'+pid+'_sec')) { $('div_add_fav_id_'+pid+'_sec').style.display='none';  }
	if ($('div_rem_fav_id_'+pid+'_sec')) { $('div_rem_fav_id_'+pid+'_sec').style.display='';  }	
	
	if ($('div_add_fav_id_'+pid)) { $('div_add_fav_id_'+pid).style.display='none';  }
	if ($('div_rem_fav_id_'+pid)) { $('div_rem_fav_id_'+pid).style.display='';  }

	
	BlinkFolder(0);
		var myXHR = new XHR({
			method: 'post',
			onRequest:function(){
				
			},
			onSuccess:function(response){
				$('count_favs').innerHTML = '('+response+')';
			}
		}).send(url, 'mod_user_shop=addfav&pid='+pid);		
}

function RemFav(pid){
	url = ax.app_url+'userprocess.php';
	//ukrywamy usuwanie , pokazujemy dodawanie 
	if ($('div_add_fav_id_'+pid+'_sec')) { $('div_add_fav_id_'+pid+'_sec').style.display='';  }
	if ($('div_rem_fav_id_'+pid+'_sec')) { $('div_rem_fav_id_'+pid+'_sec').style.display='none';  }	
	
	if ($('div_add_fav_id_'+pid)) { $('div_add_fav_id_'+pid).style.display='';  }
	if ($('div_rem_fav_id_'+pid)) { $('div_rem_fav_id_'+pid).style.display='none';  }
	
	BlinkFolder(0);
		var myXHR = new XHR({
			method: 'post',
			onRequest:function(){
				
			},
			onSuccess:function(response){
				$('count_favs').innerHTML = '('+response+')';
			}
		}).send(url, 'mod_user_shop=remfav&pid='+pid);		
}

function FolderDropByFolderNumAndId(folder_num,folder_id){
	url = ax.app_url+'userprocess.php';
	ax.FolderHide(folder_num);
	var myXHR = new XHR({
		method: 'post',
		onRequest:function(){ },
		onSuccess:function(){ }
	}).send(url, 'mod_user_shop=removefolder&folder_id='+folder_id);	
	
	switchToFolderId = FindLastFolder();
	ax.FolderEnable(switchToFolderId);	
	var newFolder  = $('folder_'+switchToFolderId);
	var newFolderID = newFolder.getProperty('folder_id');
	ax.FolderLoad(switchToFolderId,newFolderID);	
	
}

function FolderDrop(){
	if (ax.current_folder_num!=-1) if (ax.current_folder_id!=-1) {
		var folder_id_to_delete = ax.current_folder_id;
		FolderDropByFolderNumAndId(ax.current_folder_num,ax.current_folder_id);

	}
}

function SaveKategoryToFolder(katid){
		url = ax.app_url+'userprocess.php';
		var myXHR = new XHR({
			method: 'post',
			onRequest:function(){
				$('cat2folder').style.display='none';
			},
			onSuccess:function(){
				
				ax.FoldersLoad();
			}
		}).send(url, 'mod_user_shop=addkatfolder&kategoria_id='+katid);
}	

function LoadModule(modulename,method,div,append_to_url,div_loader){
	dd = $(div);
	dload = $(div_loader);
	url = ax.app_url+"ax.loader.php?mod_user_"+modulename+"="+method+append_to_url;
	var myAjax = new Ajax(url, {
			method: 'get',
			update: dd,
			onRequest:function() {dload.setHTML('wczytywanie...')},
			onComplete:function(){
						
			}
	});
	myAjax.request();	
}

function producent_kategory_select(id){
	ax.producent_category_load(id);
}

function LoadURL(url,destination,loader_title,loader_div){
	destination.innerHTML = '';
	ax.LoaderShow(loader_title,loader_div);
	$('main_body').setStyle('cursor','progress');
	destination.setStyle('opacity', '0');
	var myAjax = new Ajax(url, {
			method: 'get',
			update: destination,
			onRequest:function() {},
			onSuccess:function() { ax.LoaderHide(); },
			onComplete:function(){
				
				
				destination.setStyle('opacity', '1');		
				$('main_body').setStyle('cursor','default');			
			}
	});
      
	myAjax.request();
}






function RefreshLoginBar(){
	LoadURL(ax.app_url+'ax.loader.php?mod_user_shop=loginbar',$('div_loginbar'));
}


function FolderOpenMenu(num,folder_id){
	if ($('folder_'+num)) {
		div = $('folder_menu_div');
		my_tool = $('folder_'+num).getCoordinates();
		div.setStyle('left', my_tool.left+1);
		div.setStyle('top', (my_tool.top+29));
		div.setStyle('border-top', '0px solid white');			
		div.setStyle('opacity', '0');			
		div.setStyle('display', '');	
		var myFx = new Fx.Style(div, 'opacity',{duration:jax_gfx_duration});
		myFx.start(0,1);
						
	}
}

function FolderOpenMenuCustom(num,div_name){
	if ($('folder_'+num)) {
		var div = $(div_name);
		//jesli widoczny to ukrywamy, jesli niewidoczny to pokazujemy
		if (div.style.display=='none'){
			my_tool = $('folder_'+num).getCoordinates();
			div.setStyle('left', my_tool.left+1);
			div.setStyle('top', (my_tool.top+29));
			div.setStyle('border-top', '0px solid white');			
			div.setStyle('opacity', '1');			
			div.setStyle('display', '');	
		} else {
			div.setStyle('display', 'none');	
		}
		
		//var myFx = new Fx.Style(div, 'opacity',{duration:jax_gfx_duration});
		//myFx.start(0,1);				
	}
}

function FolderHideMenuCustom(div_name){
	ax.current_folder_num = -1;
	ax.current_folder_id = -1;		
    $(div_name).setStyle('display', 'none');
}


function LoadCustomFolder(num,custom_name){
	$('LeftWindow').empty();
	ax.ProductUnload();
	ax.HideAllFolderMenus();
	ax.FolderEnable(num);
}
//
//id prefix to id elementu obrazka , np gdy mamy obrazki thumbnail_product_pid to thumbnail_product to prefix
function PreloadImages(images_list,pid_list,id_prefix,file_dir){
	if ($defined(loader)){ loader.stop(); }
	if ($(images_list)) if ($(pid_list)) {
	product_pid_array = $(pid_list).innerHTML.split("::");
	product_images_array = $(images_list).innerHTML.split("::");
	
	if ($defined(loader)){ loader.stop(); }
	var loader = new ImagePreloader({ 
		onProgress : function(idx,src) {
			if (product_pid_array[idx]){
				
				pid_img = id_prefix+product_pid_array[idx];
				pid_imgS = id_prefix+'s_'+product_pid_array[idx];
				if ($(pid_img)) {
					cImg = $(pid_img);
					//cImg.setOpacity(0);
					
					cImg.src=src;
					//var myFx = new Fx.Style(pid_img, 'opacity',{duration:200});
					//myFx.start(0,1);
				} else {
					//alert('brak:'+pid_img);
				}
				if ($(pid_imgS)){
					cImgS = $(pid_imgS);
					cImgS.src=src;										
				} else {
					//alert('brak:'+pid_imgS);
				}
			}
		}, 
		onComplete : function() {  
			
		}.bind(this) 
	}); 
	loader.preload(file_dir,product_images_array);
	
	delete loader; 	
	}
}


function FindActiveFolder(){
	var a = $('folders').getElements('div[class=active]');
	if (a[0])	{ return a[0].id; } else {
		return false;
	}
}

function BlinkActiveFolder(){
	var active_folder = FindActiveFolder();
	if (active_folder){
	$('folder_menu_div').setStyle('opacity', '0');
	var myFx = new Fx.Style(active_folder, 'opacity',{duration:50});
	myFx.start(1,0).chain(function(){
	    myFx.start(0,1);
	}).chain(function(){
	    //myFx.start(0,1);
	});	
	}
}



function BlinkFolder(folder_num){
	var fol = $('folder_'+folder_num);
	fol.setStyle('opacity', '0');
	var myFx = new Fx.Style(fol, 'opacity',{duration:50});
	myFx.start(1,0).chain(function(){
	    myFx.start(0,1);
	}).chain(function(){
	    //myFx.start(0,1);
	});		
}

function BlinkById(id){
	var fol = $(id);
	fol.setStyle('opacity', '0');
	var myFx = new Fx.Style(fol, 'opacity',{duration:50});
	myFx.start(1,0).chain(function(){
	    myFx.start(0,1);
	}).chain(function(){
	    
	});		
}



function InitGalleryUploader(){
	var input = $('photoupload-filedata-1');
			var uplooad = new FancyUpload(input, {
				swf: 'customize/swf/Swiff.Uploader.swf',
				queueList: 'photoupload-queue'
			});

			/**
			 * We create the clear-queue link on-demand, since we don't know if the user has flash/javascript.
			 * 
			 * You can also create the complete xhtml structure thats needed for the queue here, to be sure
			 * that its only in the document when the user has flash enabled.
			 */
			$('photoupload-status').adopt(new Element('a', {
				href: 'javascript:void(null);',
				events: {
					click: uplooad.clearList.bind(uplooad, [false])
				}
			}).setHTML('Clear Completed'));
}

function DoSearch(){
		ax.ProductUnload();
		$('global_search').send({
			onRequest:function(){
				ax.LoaderShow('Wyszukiwanie...','ajax_loader_left');
				$('button_search').value='';
				//$('LeftWindow').setStyle('opacity', '0');
			},
			onSuccess: function(response){
			 	ax.LoaderHide();
				//$('LeftWindow').setStyle('opacity', '0');
			    $('LeftWindow').innerHTML = response;
			    //new Fx.Style('LeftWindow', 'opacity', {duration: jax_gfx_duration,transition: Fx.Transitions.Sine.easeInOut}).start(0,1);    
			},
      		onComplete: function(){
      			if ($('folders')) {
      				if($('folder_update'))  { 
      					$('folders').innerHTML = $('folder_update').innerHTML; 
      				}
      			}
      			 
      			PreloadImages('preloader_images','preloader_pids','thumbnail_product_',ax.app_thumbnails);
     		}
	});
}


function dumb(){}
var builder = null
function EnableRIKU(){
	$('ax_shop_init').style.display='none';
	$('main_body').style.display='';
    builder = new DomMenuBuilder();
    builder.setSettings(new Hash(
	    'axis', 'vertical',
	    'verticalSubMenuOffsetX', -2,
	    'verticalSubMenuOffsetY', -1,
	    'horizontalSubMenuOffsetX', 0,
	    'subMenuMinWidth', 'auto',
	    'expandMenuArrowUrl', 'http://riku.pl/customize/html/default/arrow.gif'
    ));
    builder.replace('riku_kategorie_produktow');
    history_chk();
    
}

if(window.ie6){
	window.addEvent('domready',EnableRIKU);
} else if (window.ie7) {
	window.addEvent('domready',EnableRIKU);	
} else {
	window.addEvent('load',EnableRIKU);
}
 
/* TYMCZASOWE , USUNAC PRZY WERSJI KONCOWEJ */

var fx = 0;
var myFX = false;
function DisplayTekstReklama(){
	if(fx==0) {
	fx=1;
	$('reklama_1').setStyle('opacity',0);
	$('reklama_1').setStyle('display','');
	myFx = new Fx.Style('reklama_1', 'opacity',{duration:250});
	myFx.start(0,1).chain(function(){
	    myFx.start(1,0);
	}).chain(function(){
	    myFx.start(0,1);
	});	
	}	
	
}

function HideTekstReklama(){
	if (fx==1) {
	fx=0;
		$('reklama_1').setStyle('opacity',1);
	
	myFx = new Fx.Style('reklama_1', 'opacity',{duration:50});
	myFx.start(1,0);
	
	}
	
}

// Set Netscape up to run the "captureMousePosition" function whenever
// the mouse is moved. For Internet Explorer and Netscape 6, you can capture
// the movement a little easier.

// Global variables
xMousePos = 0; // Horizontal position of the mouse on the screen
yMousePos = 0; // Vertical position of the mouse on the screen
xMousePosMax = 0; // Width of the page
yMousePosMax = 0; // Height of the page

function captureMousePosition(e) {
    if (document.layers) {
        // When the page scrolls in Netscape, the event's mouse position
        // reflects the absolute position on the screen. innerHight/Width
        // is the position from the top/left of the screen that the user is
        // looking at. pageX/YOffset is the amount that the user has
        // scrolled into the page. So the values will be in relation to
        // each other as the total offsets into the page, no matter if
        // the user has scrolled or not.
        xMousePos = e.pageX;
        yMousePos = e.pageY;
        xMousePosMax = window.innerWidth+window.pageXOffset;
        yMousePosMax = window.innerHeight+window.pageYOffset;
    } else if (document.all) {
        // When the page scrolls in IE, the event's mouse position
        // reflects the position from the top/left of the screen the
        // user is looking at. scrollLeft/Top is the amount the user
        // has scrolled into the page. clientWidth/Height is the height/
        // width of the current page the user is looking at. So, to be
        // consistent with Netscape (above), add the scroll offsets to
        // both so we end up with an absolute value on the page, no
        // matter if the user has scrolled or not.
        xMousePos = window.event.x+document.body.scrollLeft;
        yMousePos = window.event.y+document.body.scrollTop;
        xMousePosMax = document.body.clientWidth+document.body.scrollLeft;
        yMousePosMax = document.body.clientHeight+document.body.scrollTop;
    } else if (document.getElementById) {
        // Netscape 6 behaves the same as Netscape 4 in this regard
        xMousePos = e.pageX;
        yMousePos = e.pageY;
        xMousePosMax = window.innerWidth+window.pageXOffset;
        yMousePosMax = window.innerHeight+window.pageYOffset;
    }
   
   xMousePos= xMousePosMax -xMousePos;
  // yMousePos= yMousePosMax -yMousePos;
   
   if ((xMousePos<150)&&(yMousePos<150)) {$('xy').innerHTML=''; DisplayTekstReklama()} else {
    if(fx==1)	 { HideTekstReklama();fx=0; }
   }
  
   
}




	


/*
 * Smoothbox v20070814 by Boris Popoff (http://gueschla.com)
 *
 * Based on Cody Lindley's Thickbox, MIT License
 *
 * Licensed under the MIT License:
 *   http://www.opensource.org/licenses/mit-license.php
 */

// on page load call TB_init


// prevent javascript error before the content has loaded
TB_WIDTH = 0;
TB_HEIGHT = 0;
var TB_doneOnce = 0 ;

// add smoothbox to href elements that have a class of .smoothbox
function TB_init(){
	$$("a.smoothbox").each(function(el){el.onclick=TB_bind});
}

function TB_bind(event) {
	var event = new Event(event);
	// stop default behaviour
	event.preventDefault();
	// remove click border
	this.blur();
	// get caption: either title or name attribute
	var caption = this.title || this.name || "";
	// get rel attribute for image groups
	var group = this.rel || false;
	// display the box for the elements href
	TB_show(caption, this.href, group);
	this.onclick=TB_bind;
	return false;
}


// called when the user clicks on a smoothbox link
function TB_show(caption, url, rel) {

	// create iframe, overlay and box if non-existent

	if ( !$("TB_overlay") )
	{
		new Element('iframe').setProperty('id', 'TB_HideSelect').injectInside(document.body);
		$('TB_HideSelect').setOpacity(0);
		new Element('div').setProperty('id', 'TB_overlay').injectInside(document.body);
		$('TB_overlay').setOpacity(0);
		TB_overlaySize();
		new Element('div').setProperty('id', 'TB_load').injectInside(document.body);
		$('TB_load').innerHTML = "<img src='loading.gif' />";
		TB_load_position();
		new Fx.Style('TB_overlay', 'opacity',{duration: 400, transition: Fx.Transitions.sineInOut}).start(0,0.6);
	}
	
	if ( !$("TB_load") )
	{		
		new Element('div').setProperty('id', 'TB_load').injectInside(document.body);
		$('TB_load').innerHTML = "<img src='loading.gif' />";
		TB_load_position();
	}
	
	if ( !$("TB_window") )
	{
		new Element('div').setProperty('id', 'TB_window').injectInside(document.body);
		$('TB_window').setOpacity(0);
	}
	
	$("TB_overlay").onclick=TB_remove;
	window.onscroll=TB_positionEffect;

	// check if a query string is involved
	var baseURL = url.match(/(.+)?/)[1] || url;

	// regex to check if a href refers to an image
	var imageURL = /\.(jpe?g|png|gif|bmp)/gi;

	// check for images
	if ( baseURL.match(imageURL) ) {
		var dummy = { caption: "", url: "", html: "" };
		
		var prev = dummy,
			next = dummy,
			imageCount = "";
			
		// if an image group is given
		if ( rel ) {
			function getInfo(image, id, label) {
				return {
					caption: image.title,
					url: image.href,
					html: "<span id='TB_" + id + "'>&nbsp;&nbsp;<a href='#'>" + label + "</a></span>"
				}
			}
		
			// find the anchors that point to the group
			var imageGroup = [] ;
			$$("a.smoothbox").each(function(el){
				if (el.rel==rel) {imageGroup[imageGroup.length] = el ;}
			})

			var foundSelf = false;
			
			// loop through the anchors, looking for ourself, saving information about previous and next image
			for (var i = 0; i < imageGroup.length; i++) {
				var image = imageGroup[i];
				var urlTypeTemp = image.href.match(imageURL);
				
				// look for ourself
				if ( image.href == url ) {
					foundSelf = true;
					imageCount = "Zdjęcie " + (i + 1) + " z "+ (imageGroup.length);
				} else {
					// when we found ourself, the current is the next image
					if ( foundSelf ) {
						next = getInfo(image, "next", "Następne &gt;");
						// stop searching
						break;
					} else {
						// didn't find ourself yet, so this may be the one before ourself
						prev = getInfo(image, "prev", "&lt; Poprzednie");
					}
				}
			}
		}
		
		imgPreloader = new Image();
		imgPreloader.onload = function() {
			imgPreloader.onload = null;

			// Resizing large images
			var x = window.getWidth() - 150;
			var y = window.getHeight() - 150;
			var imageWidth = imgPreloader.width;
			var imageHeight = imgPreloader.height;
			if (imageWidth > x) {
				imageHeight = imageHeight * (x / imageWidth); 
				imageWidth = x; 
				if (imageHeight > y) { 
					imageWidth = imageWidth * (y / imageHeight); 
					imageHeight = y; 
				}
			} else if (imageHeight > y) { 
				imageWidth = imageWidth * (y / imageHeight); 
				imageHeight = y; 
				if (imageWidth > x) { 
					imageHeight = imageHeight * (x / imageWidth); 
					imageWidth = x;
				}
			}
			// End Resizing
			
			// TODO don't use globals
			TB_WIDTH = imageWidth + 30;
			TB_HEIGHT = imageHeight + 60;
			
			// TODO empty window content instead
			$("TB_window").innerHTML += "<a href='' id='TB_ImageOff' title='Zamknij'><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>" + "<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>" + imageCount + prev.html + next.html + "</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Zamknij'>Zamknij</a></div>";
			
			$("TB_closeWindowButton").onclick = TB_remove;
			
			function buildClickHandler(image) {
				return function() {
					$("TB_window").remove();
					new Element('div').setProperty('id', 'TB_window').injectInside(document.body);
					
					TB_show(image.caption, image.url, rel);
					return false;
				};
			}
			var goPrev = buildClickHandler(prev);
			var goNext = buildClickHandler(next);
			if ( $('TB_prev') ) {
				$("TB_prev").onclick = goPrev;
			}
			
			if ( $('TB_next') ) {		
				$("TB_next").onclick = goNext;
			}
			
			document.onkeydown = function(event) {
				var event = new Event(event);
				switch(event.code) {
				case 27:
					TB_remove();
					break;
				case 190:
					if( $('TB_next') ) {
						document.onkeydown = null;
						goNext();
					}
					break;
				case 188:
					if( $('TB_prev') ) {
						document.onkeydown = null;
						goPrev();
					}
					break;
				}
			}
			
			// TODO don't remove loader etc., just hide and show later
			$("TB_ImageOff").onclick = TB_remove;
			TB_position();
			TB_showWindow();
		}
		imgPreloader.src = url;
		
	} else { //code to show html pages
		
		var queryString = url.match(/\?(.+)/)[1];
		var params = TB_parseQuery( queryString );
		
		TB_WIDTH = (params['width']*1) + 30;
		TB_HEIGHT = (params['height']*1) + 40;

		var ajaxContentW = TB_WIDTH - 30,
			ajaxContentH = TB_HEIGHT - 45;
		
		if(url.indexOf('TB_iframe') != -1){				
			urlNoQuery = url.split('TB_');		
			$("TB_window").innerHTML += "<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='Zamknij'>Zamknij</a></div></div><iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;' onload='TB_showWindow()'> </iframe>";
		} else {
			$("TB_window").innerHTML += "<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'>Zamknij</a></div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>";
		}
				
		$("TB_closeWindowButton").onclick = TB_remove;
		
			if(url.indexOf('TB_inline') != -1){	
				$("TB_ajaxContent").innerHTML = ($(params['inlineId']).innerHTML);
				TB_position();
				TB_showWindow();
			}else if(url.indexOf('TB_iframe') != -1){
				TB_position();
				if(frames['TB_iframeContent'] == undefined){//be nice to safari
					$(document).keyup( function(e){ var key = e.keyCode; if(key == 27){TB_remove()} });
					TB_showWindow();
				}
			}else{
				var handlerFunc = function(){
					TB_position();
					TB_showWindow();
				};
				var myRequest = new Ajax(url, {method: 'get',update: $("TB_ajaxContent"),onComplete: handlerFunc}).request();
			}
	}

	window.onresize=function(){ TB_position(); TB_load_position(); TB_overlaySize();}  
	
	document.onkeyup = function(event){ 	
		var event = new Event(event);
		if(event.code == 27){ // close
			TB_remove();
		}	
	}
		
}

//helper functions below

function TB_showWindow(){
	//$("TB_load").remove();
	//$("TB_window").setStyles({display:"block",opacity:'0'});
	
	if (TB_doneOnce==0) {
		TB_doneOnce = 1;
		var myFX = new Fx.Style('TB_window', 'opacity',{duration: 250, transition: Fx.Transitions.sineInOut, onComplete:function(){if ($('TB_load')) { $('TB_load').remove();}} }).start(0,1);
	} else {
		$('TB_window').setStyle('opacity',1);
		if ($('TB_load')) { $('TB_load').remove();}
	}
}

function TB_remove() {
 	$("TB_overlay").onclick=null;
	document.onkeyup=null;
	document.onkeydown=null;
	
	if ($('TB_imageOff')) $("TB_imageOff").onclick=null;
	if ($('TB_closeWindowButton')) $("TB_closeWindowButton").onclick=null;
	if ( $('TB_prev') ) { $("TB_prev").onclick = null; }
	if ( $('TB_next') ) { $("TB_next").onclick = null; }

	new Fx.Style('TB_window', 'opacity',{duration: 250, transition: Fx.Transitions.sineInOut, onComplete:function(){$('TB_window').remove();} }).start(1,0);
	new Fx.Style('TB_overlay', 'opacity',{duration: 400, transition: Fx.Transitions.sineInOut, onComplete:function(){$('TB_overlay').remove();} }).start(0.6,0);

	window.onscroll=null;
	window.onresize=null;	
	
	$('TB_HideSelect').remove();
	TB_init();
	TB_doneOnce = 0;
	return false;
}

function TB_position() {
	$("TB_window").setStyles({width: TB_WIDTH+'px', 
				 left: (window.getScrollLeft() + (window.getWidth() - TB_WIDTH)/2)+'px',
				 top: (window.getScrollTop() + (window.getHeight() - TB_HEIGHT)/2)+'px'});
}

function TB_positionEffect() {
	new Fx.Styles('TB_window', {duration: 75, transition: Fx.Transitions.sineInOut}).start({
		'left':(window.getScrollLeft() + (window.getWidth() - TB_WIDTH)/2)+'px',
		'top':(window.getScrollTop() + (window.getHeight() - TB_HEIGHT)/2)+'px'});
}

function TB_overlaySize(){
	// we have to set this to 0px before so we can reduce the size / width of the overflow onresize 
	$("TB_overlay").setStyles({"height": '0px', "width": '0px'});
	$("TB_HideSelect").setStyles({"height": '0px', "width": '0px'});
	$("TB_overlay").setStyles({"height": window.getScrollHeight()+'px', "width": window.getScrollWidth()+'px'});
	$("TB_HideSelect").setStyles({"height": window.getScrollHeight()+'px',"width": window.getScrollWidth()+'px'});
}

function TB_load_position() {
	if ($("TB_load")) { $("TB_load").setStyles({left: (window.getScrollLeft() + (window.getWidth() - 56)/2)+'px', top: (window.getScrollTop() + ((window.getHeight()-20)/2))+'px',display:"block"}); }
}

function TB_parseQuery ( query ) {
	// return empty object
	if( !query )
		return {};
	var params = {};
	
	// parse query
	var pairs = query.split(/[;&]/);
	for ( var i = 0; i < pairs.length; i++ ) {
		var pair = pairs[i].split('=');
		if ( !pair || pair.length != 2 )
			continue;
		// unescape both key and value, replace "+" with spaces in value
		params[unescape(pair[0])] = unescape(pair[1]).replace(/\+/g, ' ');
   }
   return params;
}


