//MooTools, My Object Oriented Javascript Tools. Copyright (c) 2006-2007 Valerio Proietti, , 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-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";}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;C0&&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<\/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=(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 Drag={};Drag.Base=new Class({options:{handle:false,unit:"px",onStart:Class.empty,onBeforeStart:Class.empty,onComplete:Class.empty,onSnap:Class.empty,onDrag:Class.empty,limit:false,modifiers:{x:"left",y:"top"},grid:false,snap:6},initialize:function(B,A){this.setOptions(A); this.element=$(B);this.handle=$(this.options.handle)||this.element;this.mouse={now:{},pos:{}};this.value={start:{},now:{}};this.bound={start:this.start.bindWithEvent(this),check:this.check.bindWithEvent(this),drag:this.drag.bindWithEvent(this),stop:this.stop.bind(this)}; this.attach();if(this.options.initialize){this.options.initialize.call(this);}},attach:function(){this.handle.addEvent("mousedown",this.bound.start);return this; },detach:function(){this.handle.removeEvent("mousedown",this.bound.start);return this;},start:function(C){this.fireEvent("onBeforeStart",this.element); this.mouse.start=C.page;var A=this.options.limit;this.limit={x:[],y:[]};for(var D in this.options.modifiers){if(!this.options.modifiers[D]){continue;}this.value.now[D]=this.element.getStyle(this.options.modifiers[D]).toInt(); this.mouse.pos[D]=C.page[D]-this.value.now[D];if(A&&A[D]){for(var B=0;B<2;B++){if($chk(A[D][B])){this.limit[D][B]=($type(A[D][B])=="function")?A[D][B]():A[D][B]; }}}}if($type(this.options.grid)=="number"){this.options.grid={x:this.options.grid,y:this.options.grid};}document.addListener("mousemove",this.bound.check); document.addListener("mouseup",this.bound.stop);this.fireEvent("onStart",this.element);C.stop();},check:function(A){var B=Math.round(Math.sqrt(Math.pow(A.page.x-this.mouse.start.x,2)+Math.pow(A.page.y-this.mouse.start.y,2))); if(B>this.options.snap){document.removeListener("mousemove",this.bound.check);document.addListener("mousemove",this.bound.drag);this.drag(A);this.fireEvent("onSnap",this.element); }A.stop();},drag:function(A){this.out=false;this.mouse.now=A.page;for(var B in this.options.modifiers){if(!this.options.modifiers[B]){continue;}this.value.now[B]=this.mouse.now[B]-this.mouse.pos[B]; if(this.limit[B]){if($chk(this.limit[B][1])&&(this.value.now[B]>this.limit[B][1])){this.value.now[B]=this.limit[B][1];this.out=true;}else{if($chk(this.limit[B][0])&&(this.value.now[B]B.left&&A.xB.top);},stop:function(){if(this.overed&&!this.out){this.overed.fireEvent("drop",[this.element,this]); }else{this.element.fireEvent("emptydrop",this);}this.parent();return this;}});Element.extend({makeDraggable:function(A){return new Drag.Move(this,A);}}); 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=/]*>([\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 Scroller=new Class({options:{area:20,velocity:1,onChange:function(A,B){this.element.scrollTo(A,B); }},initialize:function(B,A){this.setOptions(A);this.element=$(B);this.mousemover=([window,document].contains(B))?$(document.body):this.element;},start:function(){this.coord=this.getCoords.bindWithEvent(this); this.mousemover.addListener("mousemove",this.coord);},stop:function(){this.mousemover.removeListener("mousemove",this.coord);this.timer=$clear(this.timer); },getCoords:function(A){this.page=(this.element==window)?A.client:A.page;if(!this.timer){this.timer=this.scroll.periodical(50,this);}},scroll:function(){var A=this.element.getSize(); var D=this.element.getPosition();var C={x:0,y:0};for(var B in this.page){if(this.page[B]<(this.options.area+D[B])&&A.scroll[B]!=0){C[B]=(this.page[B]-this.options.area-D[B])*this.options.velocity; }else{if(this.page[B]+this.options.area>(A.size[B]+D[B])&&A.scroll[B]+A.size[B]!=A.scrollSize[B]){C[B]=(this.page[B]-A.size[B]+this.options.area-D[B])*this.options.velocity; }}}if(C.y||C.x){this.fireEvent("onChange",[A.scroll.x+C.x,A.scroll.y+C.y]);}}});Scroller.implement(new Events,new Options);var Slider=new Class({options:{onChange:Class.empty,onComplete:Class.empty,onTick:function(A){this.knob.setStyle(this.p,A); },mode:"horizontal",steps:100,offset:0},initialize:function(D,A,B){this.element=$(D);this.knob=$(A);this.setOptions(B);this.previousChange=-1;this.previousEnd=-1; this.step=-1;this.element.addEvent("mousedown",this.clickedElement.bindWithEvent(this));var C,F;switch(this.options.mode){case"horizontal":this.z="x";this.p="left"; C={x:"left",y:false};F="offsetWidth";break;case"vertical":this.z="y";this.p="top";C={x:false,y:"top"};F="offsetHeight";}this.max=this.element[F]-this.knob[F]+(this.options.offset*2); this.half=this.knob[F]/2;this.getPos=this.element["get"+this.p.capitalize()].bind(this.element);this.knob.setStyle("position","relative").setStyle(this.p,-this.options.offset); var E={};E[this.z]=[-this.options.offset,this.max-this.options.offset];this.drag=new Drag.Base(this.knob,{limit:E,modifiers:C,snap:0,onStart:function(){this.draggedKnob(); }.bind(this),onDrag:function(){this.draggedKnob();}.bind(this),onComplete:function(){this.draggedKnob();this.end();}.bind(this)});if(this.options.initialize){this.options.initialize.call(this); }},set:function(A){this.step=A.limit(0,this.options.steps);this.checkStep();this.end();this.fireEvent("onTick",this.toPosition(this.step));return this; },clickedElement:function(B){var A=B.page[this.z]-this.getPos()-this.half;A=A.limit(-this.options.offset,this.max-this.options.offset);this.step=this.toStep(A); this.checkStep();this.end();this.fireEvent("onTick",A);},draggedKnob:function(){this.step=this.toStep(this.drag.value.now[this.z]);this.checkStep();},checkStep:function(){if(this.previousChange!=this.step){this.previousChange=this.step; this.fireEvent("onChange",this.step);}},end:function(){if(this.previousEnd!==this.step){this.previousEnd=this.step;this.fireEvent("onComplete",this.step+""); }},toStep:function(A){return Math.round((A+this.options.offset)/this.max*this.options.steps);},toPosition:function(A){return this.max*A/this.options.steps; }});Slider.implement(new Events);Slider.implement(new Options);var SmoothScroll=Fx.Scroll.extend({initialize:function(B){this.parent(window,B);this.links=(this.options.links)?$$(this.options.links):$$(document.links); var A=window.location.href.match(/^[^#]*/)[0]+"#";this.links.each(function(D){if(D.href.indexOf(A)!=0){return ;}var C=D.href.substr(A.length);if(C&&$(C)){this.useLink(D,C); }},this);if(!window.webkit419){this.addEvent("onComplete",function(){window.location.hash=this.anchor;});}},useLink:function(B,A){B.addEvent("click",function(C){this.anchor=A; this.toElement(A);C.stop();}.bindWithEvent(this));}});var Sortables=new Class({options:{handles:false,onStart:Class.empty,onComplete:Class.empty,ghost:true,snap:3,onDragStart:function(A,B){B.setStyle("opacity",0.7); A.setStyle("opacity",0.7);},onDragComplete:function(A,B){A.setStyle("opacity",1);B.remove();this.trash.remove();}},initialize:function(D,B){this.setOptions(B); this.list=$(D);this.elements=this.list.getChildren();this.handles=(this.options.handles)?$$(this.options.handles):this.elements;this.bound={start:[],moveGhost:this.moveGhost.bindWithEvent(this)}; for(var C=0,A=this.handles.length;C0);var D=this.active.getPrevious();var C=this.active.getNext(); if(D&&A&&BC.getCoordinates().top){this.active.injectAfter(C);}this.previous=B;},serialize:function(A){return this.list.getChildren().map(A||function(B){return this.elements.indexOf(B); },this);},end:function(){this.previous=null;document.removeListener("mousemove",this.bound.move);document.removeListener("mouseup",this.bound.end);if(this.options.ghost){document.removeListener("mousemove",this.bound.moveGhost); this.fireEvent("onDragComplete",[this.active,this.ghost]);}this.fireEvent("onComplete",this.active);}});Sortables.implement(new Events,new Options);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)+"…"; }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;D0));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; //***********************************************************************************************************************************/ // LyteBox v3.22 // // Author: Markus F. Hay // Website: http://www.dolem.com/lytebox // Date: October 2, 2007 // License: Creative Commons Attribution 3.0 License (http://creativecommons.org/licenses/by/3.0/) // Browsers: Tested successfully on WinXP with the following browsers (using no DOCTYPE and Strict/Transitional/Loose DOCTYPES): // * Firefox: 2.0.0.7, 1.5.0.12 // * Internet Explorer: 7.0, 6.0 SP2, 5.5 SP2 // * Opera: 9.23 // // Releases: For up-to-date and complete release information, visit http://www.dolem.com/forum/showthread.php?tid=62 // * v3.22 (10/02/07) // * v3.21 (09/30/07) // * v3.20 (07/12/07) // * v3.10 (05/28/07) // * v3.00 (05/15/07) // * v2.02 (11/13/06) // // Credit: LyteBox was originally derived from the Lightbox class (v2.02) that was written by Lokesh Dhakar. For more // information please visit http://huddletogether.com/projects/lightbox2/ //***********************************************************************************************************************************/ Array.prototype.removeDuplicates = function () { for (var i = 1; i < this.length; i++) { if (this[i][0] == this[i-1][0]) { this.splice(i,1); } } } Array.prototype.empty = function () { for (var i = 0; i <= this.length; i++) { this.shift(); } } String.prototype.trim = function () { return this.replace(/^\s+|\s+$/g, ''); } function LyteBox() { /*** Start Global Configuration ***/ this.theme = 'grey'; // themes: grey (default), red, green, blue, gold this.hideFlash = true; // controls whether or not Flash objects should be hidden this.outerBorder = true; // controls whether to show the outer grey (or theme) border this.resizeSpeed = 8; // controls the speed of the image resizing (1=slowest and 10=fastest) this.maxOpacity = 80; // higher opacity = darker overlay, lower opacity = lighter overlay this.navType = 1; // 1 = "Prev/Next" buttons on top left and left (default), 2 = "<< prev | next >>" links next to image number this.autoResize = true; // controls whether or not images should be resized if larger than the browser window dimensions this.doAnimations = true; // controls whether or not "animate" Lytebox, i.e. resize transition between images, fade in/out effects, etc. this.borderSize = 12; // if you adjust the padding in the CSS, you will need to update this variable -- otherwise, leave this alone... /*** End Global Configuration ***/ /*** Configure Slideshow Options ***/ this.slideInterval = 4000; // Change value (milliseconds) to increase/decrease the time between "slides" (10000 = 10 seconds) this.showNavigation = true; // true to display Next/Prev buttons/text during slideshow, false to hide this.showClose = true; // true to display the Close button, false to hide this.showDetails = true; // true to display image details (caption, count), false to hide this.showPlayPause = true; // true to display pause/play buttons next to close button, false to hide this.autoEnd = true; // true to automatically close Lytebox after the last image is reached, false to keep open this.pauseOnNextClick = false; // true to pause the slideshow when the "Next" button is clicked this.pauseOnPrevClick = true; // true to pause the slideshow when the "Prev" button is clicked /*** End Slideshow Configuration ***/ if(this.resizeSpeed > 10) { this.resizeSpeed = 10; } if(this.resizeSpeed < 1) { resizeSpeed = 1; } this.resizeDuration = (11 - this.resizeSpeed) * 0.15; this.resizeWTimerArray = new Array(); this.resizeWTimerCount = 0; this.resizeHTimerArray = new Array(); this.resizeHTimerCount = 0; this.showContentTimerArray = new Array(); this.showContentTimerCount = 0; this.overlayTimerArray = new Array(); this.overlayTimerCount = 0; this.imageTimerArray = new Array(); this.imageTimerCount = 0; this.timerIDArray = new Array(); this.timerIDCount = 0; this.slideshowIDArray = new Array(); this.slideshowIDCount = 0; this.imageArray = new Array(); this.activeImage = null; this.slideArray = new Array(); this.activeSlide = null; this.frameArray = new Array(); this.activeFrame = null; this.checkFrame(); this.isSlideshow = false; this.isLyteframe = false; /*@cc_on /*@if (@_jscript) this.ie = (document.all && !window.opera) ? true : false; /*@else @*/ this.ie = false; /*@end @*/ this.ie7 = (this.ie && window.XMLHttpRequest); this.initialize(); } LyteBox.prototype.initialize = function() { this.updateLyteboxItems(); var objBody = this.doc.getElementsByTagName("body").item(0); if (this.doc.getElementById('lbOverlay')) { objBody.removeChild(this.doc.getElementById("lbOverlay")); objBody.removeChild(this.doc.getElementById("lbMain")); } var objOverlay = this.doc.createElement("div"); objOverlay.setAttribute('id','lbOverlay'); objOverlay.setAttribute((this.ie ? 'className' : 'class'), this.theme); if ((this.ie && !this.ie7) || (this.ie7 && this.doc.compatMode == 'BackCompat')) { objOverlay.style.position = 'absolute'; } objOverlay.style.display = 'none'; objBody.appendChild(objOverlay); var objLytebox = this.doc.createElement("div"); objLytebox.setAttribute('id','lbMain'); objLytebox.style.display = 'none'; objBody.appendChild(objLytebox); var objOuterContainer = this.doc.createElement("div"); objOuterContainer.setAttribute('id','lbOuterContainer'); objOuterContainer.setAttribute((this.ie ? 'className' : 'class'), this.theme); objLytebox.appendChild(objOuterContainer); var objIframeContainer = this.doc.createElement("div"); objIframeContainer.setAttribute('id','lbIframeContainer'); objIframeContainer.style.display = 'none'; objOuterContainer.appendChild(objIframeContainer); var objIframe = this.doc.createElement("iframe"); objIframe.setAttribute('id','lbIframe'); objIframe.setAttribute('name','lbIframe'); objIframe.style.display = 'none'; objIframeContainer.appendChild(objIframe); var objImageContainer = this.doc.createElement("div"); objImageContainer.setAttribute('id','lbImageContainer'); objOuterContainer.appendChild(objImageContainer); var objLyteboxImage = this.doc.createElement("img"); objLyteboxImage.setAttribute('id','lbImage'); objImageContainer.appendChild(objLyteboxImage); var objLoading = this.doc.createElement("div"); objLoading.setAttribute('id','lbLoading'); objOuterContainer.appendChild(objLoading); var objDetailsContainer = this.doc.createElement("div"); objDetailsContainer.setAttribute('id','lbDetailsContainer'); objDetailsContainer.setAttribute((this.ie ? 'className' : 'class'), this.theme); objLytebox.appendChild(objDetailsContainer); var objDetailsData =this.doc.createElement("div"); objDetailsData.setAttribute('id','lbDetailsData'); objDetailsData.setAttribute((this.ie ? 'className' : 'class'), this.theme); objDetailsContainer.appendChild(objDetailsData); var objDetails = this.doc.createElement("div"); objDetails.setAttribute('id','lbDetails'); objDetailsData.appendChild(objDetails); var objCaption = this.doc.createElement("span"); objCaption.setAttribute('id','lbCaption'); objDetails.appendChild(objCaption); var objHoverNav = this.doc.createElement("div"); objHoverNav.setAttribute('id','lbHoverNav'); objImageContainer.appendChild(objHoverNav); var objBottomNav = this.doc.createElement("div"); objBottomNav.setAttribute('id','lbBottomNav'); objDetailsData.appendChild(objBottomNav); var objPrev = this.doc.createElement("a"); objPrev.setAttribute('id','lbPrev'); objPrev.setAttribute((this.ie ? 'className' : 'class'), this.theme); objPrev.setAttribute('href','#'); objHoverNav.appendChild(objPrev); var objNext = this.doc.createElement("a"); objNext.setAttribute('id','lbNext'); objNext.setAttribute((this.ie ? 'className' : 'class'), this.theme); objNext.setAttribute('href','#'); objHoverNav.appendChild(objNext); var objNumberDisplay = this.doc.createElement("span"); objNumberDisplay.setAttribute('id','lbNumberDisplay'); objDetails.appendChild(objNumberDisplay); var objNavDisplay = this.doc.createElement("span"); objNavDisplay.setAttribute('id','lbNavDisplay'); objNavDisplay.style.display = 'none'; objDetails.appendChild(objNavDisplay); var objClose = this.doc.createElement("a"); objClose.setAttribute('id','lbClose'); objClose.setAttribute((this.ie ? 'className' : 'class'), this.theme); objClose.setAttribute('href','#'); objBottomNav.appendChild(objClose); var objPause = this.doc.createElement("a"); objPause.setAttribute('id','lbPause'); objPause.setAttribute((this.ie ? 'className' : 'class'), this.theme); objPause.setAttribute('href','#'); objPause.style.display = 'none'; objBottomNav.appendChild(objPause); var objPlay = this.doc.createElement("a"); objPlay.setAttribute('id','lbPlay'); objPlay.setAttribute((this.ie ? 'className' : 'class'), this.theme); objPlay.setAttribute('href','#'); objPlay.style.display = 'none'; objBottomNav.appendChild(objPlay); }; LyteBox.prototype.updateLyteboxItems = function() { var anchors = (this.isFrame) ? window.parent.frames[window.name].document.getElementsByTagName('a') : document.getElementsByTagName('a'); for (var i = 0; i < anchors.length; i++) { var anchor = anchors[i]; var relAttribute = String(anchor.getAttribute('rel')); if (anchor.getAttribute('href')) { if (relAttribute.toLowerCase().match('lytebox')) { anchor.onclick = function () { myLytebox.start(this, false, false); return false; } } else if (relAttribute.toLowerCase().match('lyteshow')) { anchor.onclick = function () { myLytebox.start(this, true, false); return false; } } else if (relAttribute.toLowerCase().match('lyteframe')) { anchor.onclick = function () { myLytebox.start(this, false, true); return false; } } } } }; LyteBox.prototype.start = function(imageLink, doSlide, doFrame) { if (this.ie && !this.ie7) { this.toggleSelects('hide'); } if (this.hideFlash) { this.toggleFlash('hide'); } this.isLyteframe = (doFrame ? true : false); var pageSize = this.getPageSize(); var objOverlay = this.doc.getElementById('lbOverlay'); var objBody = this.doc.getElementsByTagName("body").item(0); objOverlay.style.height = pageSize[1] + "px"; objOverlay.style.display = ''; this.appear('lbOverlay', (this.doAnimations ? 0 : this.maxOpacity)); var anchors = (this.isFrame) ? window.parent.frames[window.name].document.getElementsByTagName('a') : document.getElementsByTagName('a'); if (this.isLyteframe) { this.frameArray = []; this.frameNum = 0; if ((imageLink.getAttribute('rel') == 'lyteframe')) { var rev = imageLink.getAttribute('rev'); this.frameArray.push(new Array(imageLink.getAttribute('href'), imageLink.getAttribute('title'), (rev == null || rev == '' ? 'width: 400px; height: 400px; scrolling: auto;' : rev))); } else { if (imageLink.getAttribute('rel').indexOf('lyteframe') != -1) { for (var i = 0; i < anchors.length; i++) { var anchor = anchors[i]; if (anchor.getAttribute('href') && (anchor.getAttribute('rel') == imageLink.getAttribute('rel'))) { var rev = anchor.getAttribute('rev'); this.frameArray.push(new Array(anchor.getAttribute('href'), anchor.getAttribute('title'), (rev == null || rev == '' ? 'width: 400px; height: 400px; scrolling: auto;' : rev))); } } this.frameArray.removeDuplicates(); while(this.frameArray[this.frameNum][0] != imageLink.getAttribute('href')) { this.frameNum++; } } } } else { this.imageArray = []; this.imageNum = 0; this.slideArray = []; this.slideNum = 0; if ((imageLink.getAttribute('rel') == 'lytebox')) { this.imageArray.push(new Array(imageLink.getAttribute('href'), imageLink.getAttribute('title'))); } else { if (imageLink.getAttribute('rel').indexOf('lytebox') != -1) { for (var i = 0; i < anchors.length; i++) { var anchor = anchors[i]; if (anchor.getAttribute('href') && (anchor.getAttribute('rel') == imageLink.getAttribute('rel'))) { this.imageArray.push(new Array(anchor.getAttribute('href'), anchor.getAttribute('title'))); } } this.imageArray.removeDuplicates(); while(this.imageArray[this.imageNum][0] != imageLink.getAttribute('href')) { this.imageNum++; } } if (imageLink.getAttribute('rel').indexOf('lyteshow') != -1) { for (var i = 0; i < anchors.length; i++) { var anchor = anchors[i]; if (anchor.getAttribute('href') && (anchor.getAttribute('rel') == imageLink.getAttribute('rel'))) { this.slideArray.push(new Array(anchor.getAttribute('href'), anchor.getAttribute('title'))); } } this.slideArray.removeDuplicates(); while(this.slideArray[this.slideNum][0] != imageLink.getAttribute('href')) { this.slideNum++; } } } } var object = this.doc.getElementById('lbMain'); object.style.top = (this.getPageScroll() + (pageSize[3] / 15)) + "px"; object.style.display = ''; if (!this.outerBorder) { this.doc.getElementById('lbOuterContainer').style.border = 'none'; this.doc.getElementById('lbDetailsContainer').style.border = 'none'; } else { this.doc.getElementById('lbOuterContainer').style.borderBottom = ''; this.doc.getElementById('lbOuterContainer').setAttribute((this.ie ? 'className' : 'class'), this.theme); } this.doc.getElementById('lbOverlay').onclick = function() { myLytebox.end(); return false; } this.doc.getElementById('lbMain').onclick = function(e) { var e = e; if (!e) { if (window.parent.frames[window.name] && (parent.document.getElementsByTagName('frameset').length <= 0)) { e = window.parent.window.event; } else { e = window.event; } } var id = (e.target ? e.target.id : e.srcElement.id); if (id == 'lbMain') { myLytebox.end(); return false; } } this.doc.getElementById('lbClose').onclick = function() { myLytebox.end(); return false; } this.doc.getElementById('lbPause').onclick = function() { myLytebox.togglePlayPause("lbPause", "lbPlay"); return false; } this.doc.getElementById('lbPlay').onclick = function() { myLytebox.togglePlayPause("lbPlay", "lbPause"); return false; } this.isSlideshow = doSlide; this.isPaused = (this.slideNum != 0 ? true : false); if (this.isSlideshow && this.showPlayPause && this.isPaused) { this.doc.getElementById('lbPlay').style.display = ''; this.doc.getElementById('lbPause').style.display = 'none'; } if (this.isLyteframe) { this.changeContent(this.frameNum); } else { if (this.isSlideshow) { this.changeContent(this.slideNum); } else { this.changeContent(this.imageNum); } } }; LyteBox.prototype.changeContent = function(imageNum) { if (this.isSlideshow) { for (var i = 0; i < this.slideshowIDCount; i++) { window.clearTimeout(this.slideshowIDArray[i]); } } this.activeImage = this.activeSlide = this.activeFrame = imageNum; if (!this.outerBorder) { this.doc.getElementById('lbOuterContainer').style.border = 'none'; this.doc.getElementById('lbDetailsContainer').style.border = 'none'; } else { this.doc.getElementById('lbOuterContainer').style.borderBottom = ''; this.doc.getElementById('lbOuterContainer').setAttribute((this.ie ? 'className' : 'class'), this.theme); } this.doc.getElementById('lbLoading').style.display = ''; this.doc.getElementById('lbImage').style.display = 'none'; this.doc.getElementById('lbIframe').style.display = 'none'; this.doc.getElementById('lbPrev').style.display = 'none'; this.doc.getElementById('lbNext').style.display = 'none'; this.doc.getElementById('lbIframeContainer').style.display = 'none'; this.doc.getElementById('lbDetailsContainer').style.display = 'none'; this.doc.getElementById('lbNumberDisplay').style.display = 'none'; if (this.navType == 2 || this.isLyteframe) { object = this.doc.getElementById('lbNavDisplay'); object.innerHTML = '    || '; object.style.display = 'none'; } if (this.isLyteframe) { var iframe = myLytebox.doc.getElementById('lbIframe'); var styles = this.frameArray[this.activeFrame][2]; var aStyles = styles.split(';'); for (var i = 0; i < aStyles.length; i++) { if (aStyles[i].indexOf('width:') >= 0) { var w = aStyles[i].replace('width:', ''); iframe.width = w.trim(); } else if (aStyles[i].indexOf('height:') >= 0) { var h = aStyles[i].replace('height:', ''); iframe.height = h.trim(); } else if (aStyles[i].indexOf('scrolling:') >= 0) { var s = aStyles[i].replace('scrolling:', ''); iframe.scrolling = s.trim(); } else if (aStyles[i].indexOf('border:') >= 0) { // Not implemented yet, as there are cross-platform issues with setting the border (from a GUI standpoint) //var b = aStyles[i].replace('border:', ''); //iframe.style.border = b.trim(); } } this.resizeContainer(parseInt(iframe.width), parseInt(iframe.height)); } else { imgPreloader = new Image(); imgPreloader.onload = function() { var imageWidth = imgPreloader.width; var imageHeight = imgPreloader.height; if (myLytebox.autoResize) { var pagesize = myLytebox.getPageSize(); var x = pagesize[2] - 150; var y = pagesize[3] - 150; if (imageWidth > x) { imageHeight = Math.round(imageHeight * (x / imageWidth)); imageWidth = x; if (imageHeight > y) { imageWidth = Math.round(imageWidth * (y / imageHeight)); imageHeight = y; } } else if (imageHeight > y) { imageWidth = Math.round(imageWidth * (y / imageHeight)); imageHeight = y; if (imageWidth > x) { imageHeight = Math.round(imageHeight * (x / imageWidth)); imageWidth = x; } } } var lbImage = myLytebox.doc.getElementById('lbImage') lbImage.src = (myLytebox.isSlideshow ? myLytebox.slideArray[myLytebox.activeSlide][0] : myLytebox.imageArray[myLytebox.activeImage][0]); lbImage.width = imageWidth; lbImage.height = imageHeight; myLytebox.resizeContainer(imageWidth, imageHeight); imgPreloader.onload = function() {}; } imgPreloader.src = (this.isSlideshow ? this.slideArray[this.activeSlide][0] : this.imageArray[this.activeImage][0]); } }; LyteBox.prototype.resizeContainer = function(imgWidth, imgHeight) { this.wCur = this.doc.getElementById('lbOuterContainer').offsetWidth; this.hCur = this.doc.getElementById('lbOuterContainer').offsetHeight; this.xScale = ((imgWidth + (this.borderSize * 2)) / this.wCur) * 100; this.yScale = ((imgHeight + (this.borderSize * 2)) / this.hCur) * 100; var wDiff = (this.wCur - this.borderSize * 2) - imgWidth; var hDiff = (this.hCur - this.borderSize * 2) - imgHeight; if (!(hDiff == 0)) { this.hDone = false; this.resizeH('lbOuterContainer', this.hCur, imgHeight + this.borderSize*2, this.getPixelRate(this.hCur, imgHeight)); } else { this.hDone = true; } if (!(wDiff == 0)) { this.wDone = false; this.resizeW('lbOuterContainer', this.wCur, imgWidth + this.borderSize*2, this.getPixelRate(this.wCur, imgWidth)); } else { this.wDone = true; } if ((hDiff == 0) && (wDiff == 0)) { if (this.ie){ this.pause(250); } else { this.pause(100); } } this.doc.getElementById('lbPrev').style.height = imgHeight + "px"; this.doc.getElementById('lbNext').style.height = imgHeight + "px"; this.doc.getElementById('lbDetailsContainer').style.width = (imgWidth + (this.borderSize * 2) + (this.ie && this.doc.compatMode == "BackCompat" && this.outerBorder ? 2 : 0)) + "px"; this.showContent(); }; LyteBox.prototype.showContent = function() { if (this.wDone && this.hDone) { for (var i = 0; i < this.showContentTimerCount; i++) { window.clearTimeout(this.showContentTimerArray[i]); } if (this.outerBorder) { this.doc.getElementById('lbOuterContainer').style.borderBottom = 'none'; } this.doc.getElementById('lbLoading').style.display = 'none'; if (this.isLyteframe) { this.doc.getElementById('lbIframe').style.display = ''; this.appear('lbIframe', (this.doAnimations ? 0 : 100)); } else { this.doc.getElementById('lbImage').style.display = ''; this.appear('lbImage', (this.doAnimations ? 0 : 100)); this.preloadNeighborImages(); } if (this.isSlideshow) { if(this.activeSlide == (this.slideArray.length - 1)) { if (this.autoEnd) { this.slideshowIDArray[this.slideshowIDCount++] = setTimeout("myLytebox.end('slideshow')", this.slideInterval); } } else { if (!this.isPaused) { this.slideshowIDArray[this.slideshowIDCount++] = setTimeout("myLytebox.changeContent("+(this.activeSlide+1)+")", this.slideInterval); } } this.doc.getElementById('lbHoverNav').style.display = (this.showNavigation && this.navType == 1 ? '' : 'none'); this.doc.getElementById('lbClose').style.display = (this.showClose ? '' : 'none'); this.doc.getElementById('lbDetails').style.display = (this.showDetails ? '' : 'none'); this.doc.getElementById('lbPause').style.display = (this.showPlayPause && !this.isPaused ? '' : 'none'); this.doc.getElementById('lbPlay').style.display = (this.showPlayPause && !this.isPaused ? 'none' : ''); this.doc.getElementById('lbNavDisplay').style.display = (this.showNavigation && this.navType == 2 ? '' : 'none'); } else { this.doc.getElementById('lbHoverNav').style.display = (this.navType == 1 && !this.isLyteframe ? '' : 'none'); if ((this.navType == 2 && !this.isLyteframe && this.imageArray.length > 1) || (this.frameArray.length > 1 && this.isLyteframe)) { this.doc.getElementById('lbNavDisplay').style.display = ''; } else { this.doc.getElementById('lbNavDisplay').style.display = 'none'; } this.doc.getElementById('lbClose').style.display = ''; this.doc.getElementById('lbDetails').style.display = ''; this.doc.getElementById('lbPause').style.display = 'none'; this.doc.getElementById('lbPlay').style.display = 'none'; } this.doc.getElementById('lbImageContainer').style.display = (this.isLyteframe ? 'none' : ''); this.doc.getElementById('lbIframeContainer').style.display = (this.isLyteframe ? '' : 'none'); try { this.doc.getElementById('lbIframe').src = this.frameArray[this.activeFrame][0]; } catch(e) { } } else { this.showContentTimerArray[this.showContentTimerCount++] = setTimeout("myLytebox.showContent()", 200); } }; LyteBox.prototype.updateDetails = function() { var object = this.doc.getElementById('lbCaption'); var sTitle = (this.isSlideshow ? this.slideArray[this.activeSlide][1] : (this.isLyteframe ? this.frameArray[this.activeFrame][1] : this.imageArray[this.activeImage][1])); object.style.display = ''; object.innerHTML = (sTitle == null ? '' : sTitle); this.updateNav(); this.doc.getElementById('lbDetailsContainer').style.display = ''; object = this.doc.getElementById('lbNumberDisplay'); if (this.isSlideshow && this.slideArray.length > 1) { object.style.display = ''; object.innerHTML = "Imagem " + eval(this.activeSlide + 1) + " de " + this.slideArray.length; this.doc.getElementById('lbNavDisplay').style.display = (this.navType == 2 && this.showNavigation ? '' : 'none'); } else if (this.imageArray.length > 1 && !this.isLyteframe) { object.style.display = ''; object.innerHTML = "Imagem " + eval(this.activeImage + 1) + " de " + this.imageArray.length; this.doc.getElementById('lbNavDisplay').style.display = (this.navType == 2 ? '' : 'none'); } else if (this.frameArray.length > 1 && this.isLyteframe) { object.style.display = ''; object.innerHTML = "Page " + eval(this.activeFrame + 1) + " of " + this.frameArray.length; this.doc.getElementById('lbNavDisplay').style.display = ''; } else { this.doc.getElementById('lbNavDisplay').style.display = 'none'; } this.appear('lbDetailsContainer', (this.doAnimations ? 0 : 100)); }; LyteBox.prototype.updateNav = function() { if (this.isSlideshow) { if (this.activeSlide != 0) { var object = (this.navType == 2 ? this.doc.getElementById('lbPrev2') : this.doc.getElementById('lbPrev')); object.style.display = ''; object.onclick = function() { if (myLytebox.pauseOnPrevClick) { myLytebox.togglePlayPause("lbPause", "lbPlay"); } myLytebox.changeContent(myLytebox.activeSlide - 1); return false; } } else { if (this.navType == 2) { this.doc.getElementById('lbPrev2_Off').style.display = ''; } } if (this.activeSlide != (this.slideArray.length - 1)) { var object = (this.navType == 2 ? this.doc.getElementById('lbNext2') : this.doc.getElementById('lbNext')); object.style.display = ''; object.onclick = function() { if (myLytebox.pauseOnNextClick) { myLytebox.togglePlayPause("lbPause", "lbPlay"); } myLytebox.changeContent(myLytebox.activeSlide + 1); return false; } } else { if (this.navType == 2) { this.doc.getElementById('lbNext2_Off').style.display = ''; } } } else if (this.isLyteframe) { if(this.activeFrame != 0) { var object = this.doc.getElementById('lbPrev2'); object.style.display = ''; object.onclick = function() { myLytebox.changeContent(myLytebox.activeFrame - 1); return false; } } else { this.doc.getElementById('lbPrev2_Off').style.display = ''; } if(this.activeFrame != (this.frameArray.length - 1)) { var object = this.doc.getElementById('lbNext2'); object.style.display = ''; object.onclick = function() { myLytebox.changeContent(myLytebox.activeFrame + 1); return false; } } else { this.doc.getElementById('lbNext2_Off').style.display = ''; } } else { if(this.activeImage != 0) { var object = (this.navType == 2 ? this.doc.getElementById('lbPrev2') : this.doc.getElementById('lbPrev')); object.style.display = ''; object.onclick = function() { myLytebox.changeContent(myLytebox.activeImage - 1); return false; } } else { if (this.navType == 2) { this.doc.getElementById('lbPrev2_Off').style.display = ''; } } if(this.activeImage != (this.imageArray.length - 1)) { var object = (this.navType == 2 ? this.doc.getElementById('lbNext2') : this.doc.getElementById('lbNext')); object.style.display = ''; object.onclick = function() { myLytebox.changeContent(myLytebox.activeImage + 1); return false; } } else { if (this.navType == 2) { this.doc.getElementById('lbNext2_Off').style.display = ''; } } } this.enableKeyboardNav(); }; LyteBox.prototype.enableKeyboardNav = function() { document.onkeydown = this.keyboardAction; }; LyteBox.prototype.disableKeyboardNav = function() { document.onkeydown = ''; }; LyteBox.prototype.keyboardAction = function(e) { var keycode = key = escape = null; keycode = (e == null) ? event.keyCode : e.which; key = String.fromCharCode(keycode).toLowerCase(); escape = (e == null) ? 27 : e.DOM_VK_ESCAPE; if ((key == 'x') || (key == 'c') || (keycode == escape)) { myLytebox.end(); } else if ((key == 'p') || (keycode == 37)) { if (myLytebox.isSlideshow) { if(myLytebox.activeSlide != 0) { myLytebox.disableKeyboardNav(); myLytebox.changeContent(myLytebox.activeSlide - 1); } } else if (myLytebox.isLyteframe) { if(myLytebox.activeFrame != 0) { myLytebox.disableKeyboardNav(); myLytebox.changeContent(myLytebox.activeFrame - 1); } } else { if(myLytebox.activeImage != 0) { myLytebox.disableKeyboardNav(); myLytebox.changeContent(myLytebox.activeImage - 1); } } } else if ((key == 'n') || (keycode == 39)) { if (myLytebox.isSlideshow) { if(myLytebox.activeSlide != (myLytebox.slideArray.length - 1)) { myLytebox.disableKeyboardNav(); myLytebox.changeContent(myLytebox.activeSlide + 1); } } else if (myLytebox.isLyteframe) { if(myLytebox.activeFrame != (myLytebox.frameArray.length - 1)) { myLytebox.disableKeyboardNav(); myLytebox.changeContent(myLytebox.activeFrame + 1); } } else { if(myLytebox.activeImage != (myLytebox.imageArray.length - 1)) { myLytebox.disableKeyboardNav(); myLytebox.changeContent(myLytebox.activeImage + 1); } } } }; LyteBox.prototype.preloadNeighborImages = function() { if (this.isSlideshow) { if ((this.slideArray.length - 1) > this.activeSlide) { preloadNextImage = new Image(); preloadNextImage.src = this.slideArray[this.activeSlide + 1][0]; } if(this.activeSlide > 0) { preloadPrevImage = new Image(); preloadPrevImage.src = this.slideArray[this.activeSlide - 1][0]; } } else { if ((this.imageArray.length - 1) > this.activeImage) { preloadNextImage = new Image(); preloadNextImage.src = this.imageArray[this.activeImage + 1][0]; } if(this.activeImage > 0) { preloadPrevImage = new Image(); preloadPrevImage.src = this.imageArray[this.activeImage - 1][0]; } } }; LyteBox.prototype.togglePlayPause = function(hideID, showID) { if (this.isSlideshow && hideID == "lbPause") { for (var i = 0; i < this.slideshowIDCount; i++) { window.clearTimeout(this.slideshowIDArray[i]); } } this.doc.getElementById(hideID).style.display = 'none'; this.doc.getElementById(showID).style.display = ''; if (hideID == "lbPlay") { this.isPaused = false; if (this.activeSlide == (this.slideArray.length - 1)) { this.end(); } else { this.changeContent(this.activeSlide + 1); } } else { this.isPaused = true; } }; LyteBox.prototype.end = function(caller) { var closeClick = (caller == 'slideshow' ? false : true); if (this.isSlideshow && this.isPaused && !closeClick) { return; } this.disableKeyboardNav(); this.doc.getElementById('lbMain').style.display = 'none'; this.fade('lbOverlay', (this.doAnimations ? this.maxOpacity : 0)); this.toggleSelects('visible'); if (this.hideFlash) { this.toggleFlash('visible'); } if (this.isSlideshow) { for (var i = 0; i < this.slideshowIDCount; i++) { window.clearTimeout(this.slideshowIDArray[i]); } } if (this.isLyteframe) { this.initialize(); } }; LyteBox.prototype.checkFrame = function() { if (window.parent.frames[window.name] && (parent.document.getElementsByTagName('frameset').length <= 0)) { this.isFrame = true; this.lytebox = "window.parent." + window.name + ".myLytebox"; this.doc = parent.document; } else { this.isFrame = false; this.lytebox = "myLytebox"; this.doc = document; } }; LyteBox.prototype.getPixelRate = function(cur, img) { var diff = (img > cur) ? img - cur : cur - img; if (diff >= 0 && diff <= 100) { return 10; } if (diff > 100 && diff <= 200) { return 15; } if (diff > 200 && diff <= 300) { return 20; } if (diff > 300 && diff <= 400) { return 25; } if (diff > 400 && diff <= 500) { return 30; } if (diff > 500 && diff <= 600) { return 35; } if (diff > 600 && diff <= 700) { return 40; } if (diff > 700) { return 45; } }; LyteBox.prototype.appear = function(id, opacity) { var object = this.doc.getElementById(id).style; object.opacity = (opacity / 100); object.MozOpacity = (opacity / 100); object.KhtmlOpacity = (opacity / 100); object.filter = "alpha(opacity=" + (opacity + 10) + ")"; if (opacity == 100 && (id == 'lbImage' || id == 'lbIframe')) { try { object.removeAttribute("filter"); } catch(e) {} /* Fix added for IE Alpha Opacity Filter bug. */ this.updateDetails(); } else if (opacity >= this.maxOpacity && id == 'lbOverlay') { for (var i = 0; i < this.overlayTimerCount; i++) { window.clearTimeout(this.overlayTimerArray[i]); } return; } else if (opacity >= 100 && id == 'lbDetailsContainer') { try { object.removeAttribute("filter"); } catch(e) {} /* Fix added for IE Alpha Opacity Filter bug. */ for (var i = 0; i < this.imageTimerCount; i++) { window.clearTimeout(this.imageTimerArray[i]); } this.doc.getElementById('lbOverlay').style.height = this.getPageSize()[1] + "px"; } else { if (id == 'lbOverlay') { this.overlayTimerArray[this.overlayTimerCount++] = setTimeout("myLytebox.appear('" + id + "', " + (opacity+20) + ")", 1); } else { this.imageTimerArray[this.imageTimerCount++] = setTimeout("myLytebox.appear('" + id + "', " + (opacity+10) + ")", 1); } } }; LyteBox.prototype.fade = function(id, opacity) { var object = this.doc.getElementById(id).style; object.opacity = (opacity / 100); object.MozOpacity = (opacity / 100); object.KhtmlOpacity = (opacity / 100); object.filter = "alpha(opacity=" + opacity + ")"; if (opacity <= 0) { try { object.display = 'none'; } catch(err) { } } else if (id == 'lbOverlay') { this.overlayTimerArray[this.overlayTimerCount++] = setTimeout("myLytebox.fade('" + id + "', " + (opacity-20) + ")", 1); } else { this.timerIDArray[this.timerIDCount++] = setTimeout("myLytebox.fade('" + id + "', " + (opacity-10) + ")", 1); } }; LyteBox.prototype.resizeW = function(id, curW, maxW, pixelrate, speed) { if (!this.hDone) { this.resizeWTimerArray[this.resizeWTimerCount++] = setTimeout("myLytebox.resizeW('" + id + "', " + curW + ", " + maxW + ", " + pixelrate + ")", 100); return; } var object = this.doc.getElementById(id); var timer = speed ? speed : (this.resizeDuration/2); var newW = (this.doAnimations ? curW : maxW); object.style.width = (newW) + "px"; if (newW < maxW) { newW += (newW + pixelrate >= maxW) ? (maxW - newW) : pixelrate; } else if (newW > maxW) { newW -= (newW - pixelrate <= maxW) ? (newW - maxW) : pixelrate; } this.resizeWTimerArray[this.resizeWTimerCount++] = setTimeout("myLytebox.resizeW('" + id + "', " + newW + ", " + maxW + ", " + pixelrate + ", " + (timer+0.02) + ")", timer+0.02); if (parseInt(object.style.width) == maxW) { this.wDone = true; for (var i = 0; i < this.resizeWTimerCount; i++) { window.clearTimeout(this.resizeWTimerArray[i]); } } }; LyteBox.prototype.resizeH = function(id, curH, maxH, pixelrate, speed) { var timer = speed ? speed : (this.resizeDuration/2); var object = this.doc.getElementById(id); var newH = (this.doAnimations ? curH : maxH); object.style.height = (newH) + "px"; if (newH < maxH) { newH += (newH + pixelrate >= maxH) ? (maxH - newH) : pixelrate; } else if (newH > maxH) { newH -= (newH - pixelrate <= maxH) ? (newH - maxH) : pixelrate; } this.resizeHTimerArray[this.resizeHTimerCount++] = setTimeout("myLytebox.resizeH('" + id + "', " + newH + ", " + maxH + ", " + pixelrate + ", " + (timer+.02) + ")", timer+.02); if (parseInt(object.style.height) == maxH) { this.hDone = true; for (var i = 0; i < this.resizeHTimerCount; i++) { window.clearTimeout(this.resizeHTimerArray[i]); } } }; LyteBox.prototype.getPageScroll = function() { if (self.pageYOffset) { return this.isFrame ? parent.pageYOffset : self.pageYOffset; } else if (this.doc.documentElement && this.doc.documentElement.scrollTop){ return this.doc.documentElement.scrollTop; } else if (document.body) { return this.doc.body.scrollTop; } }; LyteBox.prototype.getPageSize = function() { var xScroll, yScroll, windowWidth, windowHeight; if (window.innerHeight && window.scrollMaxY) { xScroll = this.doc.scrollWidth; yScroll = (this.isFrame ? parent.innerHeight : self.innerHeight) + (this.isFrame ? parent.scrollMaxY : self.scrollMaxY); } else if (this.doc.body.scrollHeight > this.doc.body.offsetHeight){ xScroll = this.doc.body.scrollWidth; yScroll = this.doc.body.scrollHeight; } else { xScroll = this.doc.getElementsByTagName("html").item(0).offsetWidth; yScroll = this.doc.getElementsByTagName("html").item(0).offsetHeight; xScroll = (xScroll < this.doc.body.offsetWidth) ? this.doc.body.offsetWidth : xScroll; yScroll = (yScroll < this.doc.body.offsetHeight) ? this.doc.body.offsetHeight : yScroll; } if (self.innerHeight) { windowWidth = (this.isFrame) ? parent.innerWidth : self.innerWidth; windowHeight = (this.isFrame) ? parent.innerHeight : self.innerHeight; } else if (document.documentElement && document.documentElement.clientHeight) { windowWidth = this.doc.documentElement.clientWidth; windowHeight = this.doc.documentElement.clientHeight; } else if (document.body) { windowWidth = this.doc.getElementsByTagName("html").item(0).clientWidth; windowHeight = this.doc.getElementsByTagName("html").item(0).clientHeight; windowWidth = (windowWidth == 0) ? this.doc.body.clientWidth : windowWidth; windowHeight = (windowHeight == 0) ? this.doc.body.clientHeight : windowHeight; } var pageHeight = (yScroll < windowHeight) ? windowHeight : yScroll; var pageWidth = (xScroll < windowWidth) ? windowWidth : xScroll; return new Array(pageWidth, pageHeight, windowWidth, windowHeight); }; LyteBox.prototype.toggleFlash = function(state) { var objects = this.doc.getElementsByTagName("object"); for (var i = 0; i < objects.length; i++) { objects[i].style.visibility = (state == "hide") ? 'hidden' : 'visible'; } var embeds = this.doc.getElementsByTagName("embed"); for (var i = 0; i < embeds.length; i++) { embeds[i].style.visibility = (state == "hide") ? 'hidden' : 'visible'; } if (this.isFrame) { for (var i = 0; i < parent.frames.length; i++) { try { objects = parent.frames[i].window.document.getElementsByTagName("object"); for (var j = 0; j < objects.length; j++) { objects[j].style.visibility = (state == "hide") ? 'hidden' : 'visible'; } } catch(e) { } try { embeds = parent.frames[i].window.document.getElementsByTagName("embed"); for (var j = 0; j < embeds.length; j++) { embeds[j].style.visibility = (state == "hide") ? 'hidden' : 'visible'; } } catch(e) { } } } }; LyteBox.prototype.toggleSelects = function(state) { var selects = this.doc.getElementsByTagName("select"); for (var i = 0; i < selects.length; i++ ) { selects[i].style.visibility = (state == "hide") ? 'hidden' : 'visible'; } if (this.isFrame) { for (var i = 0; i < parent.frames.length; i++) { try { selects = parent.frames[i].window.document.getElementsByTagName("select"); for (var j = 0; j < selects.length; j++) { selects[j].style.visibility = (state == "hide") ? 'hidden' : 'visible'; } } catch(e) { } } } }; LyteBox.prototype.pause = function(numberMillis) { var now = new Date(); var exitTime = now.getTime() + numberMillis; while (true) { now = new Date(); if (now.getTime() > exitTime) { return; } } }; if (window.addEventListener) { window.addEventListener("load",initLytebox,false); } else if (window.attachEvent) { window.attachEvent("onload",initLytebox); } else { window.onload = function() {initLytebox();} } function initLytebox() { myLytebox = new LyteBox(); }var Posts = new Class( { initialize: function() { this.postSlide = new Array(); this.postToggle = new Array(); this.butClose = 'http://www.comunidadeoakley.com.br/wp/wp-content/themes/barriero/images/bt_minus.gif'; this.butOpen = 'http://www.comunidadeoakley.com.br/wp/wp-content/themes/barriero/images/bt_plus.gif'; }, makeLyteboxAble: function() { $$( 'div.entry' ).each( function( entry, i ) { entry.getElements( 'a' ).each( function( a, j ) { this.setLyteboxImageRelation( a, i ); }, this ); var gallery = entry.getElement( 'div.gallery' ); if ( gallery != null ) { gallery.getElements( 'a' ).each( function( a, j ) { this.setLyteboxGalleryRelation( a, i ); }, this ); } }, this ); }, setLyteboxImageRelation: function( a, i ) { if ( a.getAttribute( 'href' ).search( /(gif|jpg|png)$/i ) > 0 ) { a.setAttribute( 'rel', 'lytebox[' + i + ']' ); } }, setLyteboxGalleryRelation: function( a, i ) { a.setAttribute( 'rel', 'lytebox[gal' + i + ']' ); }, makePostsToggable: function() { var postWrap = $$( 'div.post_wrap' ); for ( i = 0; i < postWrap.length; i++ ) { this.makeToggable( postWrap[ i ] ); } }, makeToggable: function( postWrap ) { this.postToggle[ postWrap.id ] = postWrap.getParent().getElement( 'a.post_toggle' ); this.postSlide[ postWrap.id ] = new Fx.Slide( postWrap ); this.postToggle[ postWrap.id ].setHTML( '' ); this.postToggle[ postWrap.id ].addEvent( 'click', this.toggle.bindWithEvent( this, postWrap.id ) ); }, toggle: function( e, id ) { e = new Event( e ).stop(); var pod = $( id ).getElement( 'div.post_podcast' ); this.postSlide[ id ].toggle().chain( function() { if ( $( id ).getParent().getStyle( 'height' ) != '0px' ) { $( id ).getParent().setStyle( 'height', 'auto' ); if ( ( window.gecko || window.opera ) && ( pod != undefined ) ) { pod.setStyle( 'visibility', 'visible' ); } } else { if ( ( window.gecko || window.opera ) && ( pod != undefined ) ) { pod.setStyle( 'visibility', 'hidden' ); } } } ); var img = this.postToggle[ id ].getElement( 'img' ); if ( img.getProperty( 'src' ) == this.butClose ) { img.setProperty( 'src', this.butOpen ); } else { img.setProperty( 'src', this.butClose ); } } } ); var Sidebar = new Class( { initialize: function() { this.cookie = new Hash.Cookie( 'SortableSidebar', { duration: 3600 } ); this.slide = new Array(); this.toggle = new Array(); this.butMinus = 'http://www.comunidadeoakley.com.br/wp/wp-content/themes/barriero/images/bt_sidebar_minus.gif'; this.butPlus = 'http://www.comunidadeoakley.com.br/wp/wp-content/themes/barriero/images/bt_sidebar_plus.gif'; this.initializeCookie(); }, doToggle: function( e, id ) { e = new Event( e ).stop(); this.setToggle( id ); }, initializeCookie: function() { if ( this.cookie.get( 'order' ) && this.cookie.get( 'toggle' ) ) { return; } var theOrder = new Array(); var theToggle = new Array(); $( 'sidebar' ).getChildren().each( function( element, i ) { theOrder.push( element.id ); theToggle.push( { id: element.id, state: 'open' } ); } ); var settings = { order: theOrder, toggle: theToggle } this.cookie.extend( settings ); }, loadCookie: function() { var toggle = this.cookie.get( 'toggle' ); for ( i = 0; i < toggle.length; i++ ) { if ( !$( toggle[ i ].id ) ) { continue; } if ( toggle[ i ].state == 'close' ) { this.slide[ toggle[ i ].id ].toggle(); $( toggle[ i ].id ).getElement( 'img' ).setProperty( 'src', this.butPlus ); $( toggle[ i ].id ).getElement( 'div.widget_content' ).setStyle( 'visibility', 'hidden' ); } } /*var order = this.cookie.get( 'order' ); for ( i = 1; i < order.length; i++ ) { if ( !$( order[ i ] ) || !$( order[ i - 1 ] ) ) { continue; } $( order[ i ] ).injectAfter( $( order[ i - 1 ] ) ); }*/ }, makeSortable: function() { /* make sidebar sortable */ var sortables = new Sortables( $( 'sidebar' ), { 'handles': 'h3.widget_title', 'initialize': function() { this.elements.each( function( element, i ) { var title = element.getElement( 'h3.widget_title' ); title.id = element.id + '_title'; title.setStyle( 'cursor', 'move' ); }); } }); /* set order cookie */ sortables.addEvent( 'onComplete', this.setOrderCookie.bindAsEventListener( this ) ); }, makeToggable: function() { $( 'sidebar' ).getChildren().each( function( element, i ) { var content = element.getElement( 'div.widget_content' ); content.id = element.id + '_content'; this.slide[ element.id ] = new Fx.Slide( content.id ); this.toggle[ element.id ] = new Element( 'div' ); this.toggle[ element.id ].id = element.id + '_toggle'; this.toggle[ element.id ].addClass( 'toggle' ); this.toggle[ element.id ].addEvent( 'click', this.doToggle.bindWithEvent( this, element.id ) ); this.toggle[ element.id ].setHTML( '' ); var title_wrap = element.getElement( 'div.widget_title' ); title_wrap.adopt( this.toggle[ element.id ] ); title_wrap.getElement( 'br.clear' ).injectAfter( this.toggle[ element.id ] ); }, this ); }, setOrderCookie: function() { var theOrder = new Array(); $( 'sidebar' ).getChildren().each( function( element, i ) { theOrder.push( element.id ); } ); var settings = { order: theOrder }; this.cookie.extend( settings ); }, setToggle: function( id ) { this.slide[ id ].toggle(); if ( this.toggle[ id ].getElement( 'img' ).getProperty( 'src' ) == this.butMinus ) { this.toggle[ id ].getElement( 'img' ).setProperty( 'src', this.butPlus ); this.setToggleCookie( id, 'close' ); $( id ).getElement( 'div.widget_content' ).setStyle( 'visibility', 'hidden' ); } else { this.toggle[ id ].getElement( 'img' ).setProperty( 'src', this.butMinus ); this.setToggleCookie( id, 'open' ); $( id ).getElement( 'div.widget_content' ).setStyle( 'visibility', 'visible' ); } }, setToggleCookie: function( theId, theState ) { var theToggle = this.cookie.get( 'toggle' ); for ( i = 0; i < theToggle.length; i++ ) { if ( theToggle[ i ].id != theId ) { continue; } theToggle[ i ].state = theState; } var settings = { toggle: theToggle }; this.cookie.extend( settings ); var toggle = this.cookie.get( 'toggle' ); } } ); var Comments = new Class( { initialize: function() { this.spinner = new Element( 'img', { 'src': 'http://www.comunidadeoakley.com.br/wp/wp-content/themes/barriero/images/spinner.gif' } ); this.dummyList = new Element( 'ul' ); this.commentSlide = new Fx.Slide( $( 'commentlist' ) ); this.formTarget = 'http://www.comunidadeoakley.com.br/wp/wp-content/themes/barriero/php/wp-comments-post-dyn.php'; this.butClose = 'http://www.comunidadeoakley.com.br/wp/wp-content/themes/barriero/images/bt_minus.gif'; this.butOpen = 'http://www.comunidadeoakley.com.br/wp/wp-content/themes/barriero/images/bt_plus.gif'; }, commentSubmit: function( e ) { new Event( e ).stop(); this.spinner.setStyle( 'visibility', 'visible' ); $( 'commentform' ).send( { update: this.dummyList, onComplete: this.commentReceive.bindAsEventListener( this ) } ); }, commentReceive: function() { var li = this.dummyList.getElement( 'li' ); li.getElement( 'span.comm_i' ).setText( $( 'commentlist' ).getChildren().length + 1 ); if ( !li.getElement( 'em.approval' ) ) { this.updateCommentsNumber( $( 'comments' ).getElement( 'span.comments_number' ) ); this.updateCommentsNumber( $( 'content' ).getElement( 'div.post_comment_num' ).getElement( 'a' ) ); } var firstLi = $( 'commentlist' ).getElement( 'li' ); $( 'commentlist' ).adopt( this.dummyList.getElement( 'li' ) ); if ( firstLi ) { if ( !firstLi.hasClass( 'alt' ) ) { li.addClass( 'alt' ); } li.injectBefore( firstLi ); } this.spinner.setStyle( 'visibility', 'hidden' ); var pos = $( 'comments' ).getPosition(); window.scrollTo( pos.x, pos.y ); }, injectSpinner: function() { this.spinner.setStyle( 'visibility', 'hidden' ); $( 'commentform' ).adopt( this.spinner ); this.spinner.injectAfter( $( 'submit' ) ); }, makeCommentFormDynamic: function() { /* dynamic comment form */ if ( !$( 'commentform' ) ) { return; } this.injectSpinner(); $( 'commentform' ).setProperty( 'action', this.formTarget ); $( 'commentform' ).addEvent( 'submit', this.commentSubmit.bindWithEvent( this ) ); }, makeCommentListToggable: function() { if ( !$( 'comments_toggle' ) ) { return; } $( 'comments_toggle' ).setHTML( '' ); $( 'comments_toggle' ).addEvent( 'click', this.toggleComments.bindWithEvent( this ) ); }, toggleComments: function( e ) { e = new Event( e ).stop(); var commentToggle = $( 'comments_toggle' ).getElement( 'img' ); this.commentSlide.toggle(); if ( commentToggle.getProperty( 'src' ) == this.butClose ) { commentToggle.setProperty( 'src', this.butOpen ); } else { commentToggle.setProperty( 'src', this.butClose ); } }, updateCommentsNumber: function( element ) { var num = element.getText().slice( 0, element.getText().indexOf( ' ' ) ).trim(); if ( num == "Nenhum" ) { element.setHTML( 'Um comentário' ); } else { element.setHTML( ( $( 'commentlist' ).getChildren().length + 1 ) + ' comentários' ); } } } ); var SearchForm = new Class( { initialize: function() { this.url = 'http://www.comunidadeoakley.com.br'; this.loading = '
  • Pesquisando
  • ' this.ajax = null; this.slide = new Fx.Slide( 'results_dyn' ); this.origSFColor = $( 'search_query' ).getStyle( 'color' ); this.emptySFColor = '#666666'; this.emptySFText = 'Digite sua busca'; }, focusGained: function( e ) { if ( $( 'search_query' ).getStyle( 'color' ) == this.emptySFColor ) { $( 'search_query' ).setStyle( 'color', this.origSFColor ); $( 'search_query' ).value = ''; } }, focusLost: function( e ) { if ( $( 'search_query' ).getValue().trim() == '' ) { $( 'search_query' ).setStyle( 'color', this.emptySFColor ); $( 'search_query' ).value = this.emptySFText; } var slideOut = this.slideOut.bindAsEventListener( this ); setTimeout( slideOut, 1000 ); }, keyPressed: function( e ) { new Event( e ).stop; if ( $( 'search_query' ).getValue().trim().length < 3 ) { this.slide.slideOut(); return; } if ( $( 'search_dyn' ).getStyle( 'display' ) != 'block' ) { $( 'search_dyn' ).setStyle( 'display', 'block' ); } var date = new Date(); var data = 'seed=' + date.getTime() + '&search_dyn=1&' + $( 'search_form' ).toQueryString(); $( 'results_dyn' ).setHTML( this.loading ); this.slide.slideIn(); try { this.ajax.cancel(); } catch ( e ) { } this.ajax = new Ajax( this.url, { method: 'get', data: data, update: $( 'results_dyn' ) } ) this.ajax.addEvent( 'onComplete', this.slideIn.bindAsEventListener( this ) ); this.ajax.request(); }, makeDynamic: function() { /* dynamic search form */ this.slide.slideOut(); $( 'search_query' ).addEvent( 'keyup', this.keyPressed.bindAsEventListener( this ) ); $( 'search_query' ).addEvent( 'focus', this.focusGained.bindAsEventListener( this ) ); $( 'search_query' ).addEvent( 'blur', this.focusLost.bindAsEventListener( this ) ); $( 'search_query' ).setStyle( 'color', this.emptySFColor ); $( 'search_query' ).value = this.emptySFText; }, slideIn: function() { this.slide.slideIn(); }, slideOut: function() { this.slide.slideOut().chain( function() { $( 'search_dyn' ).setStyle( 'display', 'none' ); } ); } } ); window.removeEvent( 'load' ); window.addEvent( 'load', function() { fixIEBugs(); /* smooth scrolling through anchors */ new SmoothScroll(); }); function fixIEBugs() { /* remove last border from li (IE last-child) */ $$( 'li.widget_categories' ).each( function( element, i ) { var ul = element.getElement( 'div.widget_content ul' ); ul.getLast().setStyle( 'border-bottom', 'none' ); } ); }