function lclass(){var D,F,C=[],B=null,G=null,H,E,A;for(E=0;E<arguments.length;E++){A=arguments[E];if(typeof A=="string"){D=A
}else{if(typeof A=="function"){F=A}else{if(A instanceof Array){C=C.concat(A)}else{if(typeof A=="object"){if(B==null){B=A}else{if(G==null){G=A
}}}}}}}if(!F){F={__base:null,base:null,prototype:{}}}H=B.cons||function(){};copyFields(H.prototype,F.prototype);for(E=0;E<C.length;
E++){copyFields(H.prototype,C[E].prototype)}copyFields(H.prototype,B);copyFields(H,G);H.base=F;H.prototype._instanceOf=lclass._instanceOf;
H.prototype.__class=H;if(D){window[D]=H}if(H.cons){H.cons.apply(H)}return H}lclass._instanceOf=function(B){var A;for(A=this.__class;
A.base;A=A.base){if(B==A){return true}}return false};function copyFields(C,B){var A;for(A in B){C[A]=B[A]}}function mergeFields(C,B){var A;
for(A in B){if(typeof C[A]=="undefined"){C[A]=B[A]}}}function $P(B,C){var A;if(typeof B!="object"){return C}for(A in B){if(typeof C[A]!="undefined"){C[A]=B[A]
}}return C}function $PM(B,A,C){copyFields(B,$P(A,C))}mergeFields(Array.prototype,{removeAt:function(A){this.splice(A,1)},insertAt:function(A,B){this.splice(A,0,B)
},contains:function(B){var A;for(A=0;A<this.length;A++){if(this[A]==B){return true}}return false},indexOf:function(B){var A;
for(A=0;A<this.length;A++){if(this[A]==B){return A}}return false},remove:function(B){var A;for(A=0;A<this.length;A++){if((this[A].equals&&this[A].equals(B))||this[A]==B){this.removeAt(A);
A--}}},filter:function(C){var A,B=[];for(A=0;A<this.length;A++){if(C(this[A])){B.push(this[A])}}return B},map:function(C){var A,B=[];
for(A=0;A<this.length;A++){B[A]=C(this[A])}return B},clone:function(){var A,B=[];for(A=0;A<this.length;A++){B[A]=this[A]}return B
},append:function(B){var A;for(A=0;A<B.length;A++){this.push(B[A])}}});mergeFields(Array,{fromValue:function(A,D){if(typeof D=="undefined"){D=1
}var B,C=new Array(D);for(B=0;B<D;B++){C[B]=A}return C},fromCollection:function(C){var A,B=new Array(C.length);for(A=0;A<C.length;
A++){B[A]=C[A]}return B}});mergeFields(String.prototype,{lastIndexOf:function(B){var A;for(A=this.length-1;A>=0;A--){if(this.charAt(A)==B){return A
}}return -1},trim:function(){return this.replace(/^\s+/,"").replace(/\s+$/,"")},repeat:function(C){var B="",A;for(A=0;A<C;
A++){B+=this}return B},startsWith:function(A){return this.substring(0,A.length)==A},beginsWith:function(A){return this.startsWith(A)
},endsWith:function(A){return(this.length>=A.length)&&(this.substring(this.length-A.length)==A)},hexDec:function(){var B=0,C=1,E="0123456789ABCDEF",A,D;
for(A=this.length-1;A>=0;A--){D=E.indexOf(this.charAt(A).toUpperCase());if(D==-1){return null}B+=D*C;C*=16}return B},classToCamelCase:function(){return this.replace(/-([a-z])/g,function(A,B){return B.toUpperCase()
})},camelCaseToClass:function(){return this.replace(/([a-z])([A-Z])/g,function(B,C,A){return C+"-"+A.toLowerCase()})},format:function(){var B=[this];
var A;for(A=0;A<arguments.length;A++){B[A+1]=arguments[A]}return String.format.apply(window,B)}});mergeFields(String,{format:function(){fstr=arguments[0];
parms=arguments;return fstr.replace(/\{(\d+?)\}/g,function(B,A){A=parseInt(A);if(A<0){return"(String.format: invalid index)"
}else{if(A>=parms.length-1){return"(String.format: too few arguments)"}else{return parms[parseInt(A)+1]}}})}});mergeFields(Number.prototype,{toHex:function(B){var A="",D="0123456789ABCDEF",C=this;
while(C>0){A=D.charAt(C&15)+A;C>>=4}if(A==""){A="0"}if(B&&A.length<B){A="0".repeat(B-A.length)+A}return A}});mergeFields(RegExp.prototype,{scan:function(B){var A,C=[];
while(A=this.exec(B)){C.push(A)}return C}});mergeFields(Math,{sgn:function(A){if(A>0){return 1}else{if(A<0){return -1}else{return 0
}}}});lclass("LDelegate",{cons:function(A,B){if(A._instanceOf&&A._instanceOf(LDelegate)){this.obj=A.obj;this.func=A.func}else{if(A.length&&A.length==2){this.obj=A[0]||window;
this.func=A[1]}else{if(typeof A=="function"){this.obj=window;this.func=A}else{if(typeof A=="object"&&typeof B=="function"){this.obj=A;
this.func=B}}}}},apply:function(A){return this.func.apply(this.obj,A)},call:function(){return this.apply(arguments)},equals:function(A){return(this.obj==A.obj&&this.func==A.func)
}});lclass("LBrowser",{},{cons:function(){LBrowser.isIE=(navigator.userAgent.indexOf("MSIE")!=-1)}});lclass("LRect",{cons:function(B,D,A,C){this.x1=B;
this.y1=D;this.x2=A;this.y2=C},contains:function(A){return(A.x>=this.x1&&A.x<=this.x2&&A.y>=this.y1&&A.y<=this.y2)}});lclass("Serializer",{},{serialize:function(C){var A,B;
if(typeof C=="string"){return'"'+this.escape(C)+'"'}else{if(typeof C=="number"){return C}else{if(typeof C=="boolean"){return C?"true":"false"
}else{if(C===null){return"null"}else{if(C instanceof Array){B="[";for(A=0;A<C.length;A++){if(typeof (C[A])=="function"){continue
}if(B!="["){B+=","}B+=Serializer.serialize(C[A])}return B+"]"}else{if(typeof C=="object"){B="{";for(A in C){if(typeof (C[A])=="function"){continue
}if(B!="{"){B+=","}B+=A+":"+Serializer.serialize(C[A])}return B+"}"}}}}}}},unserialize:function(A){this.data=A;this.p=0;return this.doUnserialize()
},doUnserialize:function(){var C,B,D;if(this.data.charAt(this.p)>="0"&&this.data.charAt(this.p)<="9"){D="";for(;this.data.charAt(this.p)>="0"&&this.data.charAt(this.p)<="9";
this.p++){D+=this.data.charAt(this.p)}return parseInt(D)}else{if(this.data.charAt(this.p)=='"'){D="";var A=false;for(this.p++;
true;this.p++){if(A){switch(this.data.charAt(this.p)){case"n":D+="\n";break;case"r":D+="\r";break;case"\\":D+="\\";break}A=false;
continue}if(this.data.charAt(this.p)=="\\"){A=true;continue}else{if(this.data.charAt(this.p)=='"'){break}}D+=this.data.charAt(this.p)
}this.p++;return this.unescape(D)}else{if(this.data.substring(this.p,this.p+4)=="true"){this.p+=4;return true}else{if(this.data.substring(this.p,this.p+5)=="false"){this.p+=5;
return false}else{if(this.data.substring(this.p,this.p+4)=="null"){this.p+=4;return null}else{if(this.data.charAt(this.p)=="{"){D={};
while(this.data.charAt(this.p)!="}"){B="";for(this.p++;this.data.charAt(this.p)!=":";this.p++){B+=this.data.charAt(this.p)
}this.p++;D[B]=this.doUnserialize()}this.p++;return D}else{if(this.data.charAt(this.p)=="["){D=[];while(this.data.charAt(this.p)!="]"){this.p++;
D.push(this.doUnserialize())}this.p++;return D}}}}}}}},escape:function(A){return A.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r")
},unescape:function(A){return A.replace(/\\\\/g,"\\").replace(/\\"/g,'"').replace(/\\n/g,"\n").replace(/\\r/g,"\r")}});lclass("LEvent",{cons:function(A){this.e=A
},thisElement:function(){return this._thisElement},target:function(){return this.e.target},type:function(){return this.e.type
},keyCode:function(){return this.e.keyCode||this.e.which},wheelDelta:function(){if(this.e.wheelDelta){if(window.opera){return this.e.wheelDelta/120
}else{return this.e.wheelDelta/-120}}else{if(this.e.detail){return this.e.detail/3}}},preventDefault:function(){if(this.e.preventDefault){this.e.preventDefault()
}this.e.returnValue=false},getAttribute:function(A){return this.e[A]},stop:function(){if(this.e.stopPropagation){this.e.stopPropagation()
}this.e.cancelBubble=true},preventDefault:function(){if(this.e.preventDefault){this.e.preventDefault()}this.e.returnValue=false
},mousePosition:function(){if(this.e.pageX){return{x:this.e.pageX,y:this.e.pageY}}else{if(this.e.clientX){return{x:document.body.scrollLeft+this.e.clientX,y:document.body.scrollTop+this.e.clientY}
}else{return{x:0,y:0}}}},clientMousePosition:function(){if(this.e.clientX){return{x:this.e.clientX,y:this.e.clientY}}else{return{x:0,y:0}
}}},{KEY_ENTER:13,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_SPACE:32});lclass("LEventHandling",{attachEvent:function(D,C,B){var E=this.n||this,A=false;
if(!this.eventHandlers){this.eventHandlers={}}if(!this.eventHandlers[D]){this.eventHandlers[D]=[];A=true}this.eventHandlers[D].push(new LDelegate(C,B));
if(A&&!E._instanceOf){if(E.addEventListener){E.addEventListener(D,LEventHandling.__eventHandler,false)}else{if(!E["on"+D]){E["on"+D]=LEventHandling.__eventHandler
}}}},detachEvent:function(D,C,B){var A;var E=this.n||this;if(this.eventHandlers&&(A=this.eventHandlers[D])){A.remove(new LDelegate(C,B));
if(A.length==0){if(!E._instanceOf){if(E.removeEventListener){E.removeEventListener(D,LEventHandling.__eventHandler,false)
}else{E["on"+D]=null}}this.eventHandlers[D]=null}}},fireEvent:function(B,A){var C=this.n||this;var A=A||{};try{A.type=B}catch(B){}if(C.eventHandlers&&C.eventHandlers[B]){return LEventHandling.__eventHandler.apply(this,[A])
}else{return true}}},{__eventHandler:function(D){var D=D||window.event;D=new LEvent(D);D._thisElement=this.__lutilObj||this;
var B;if(!D._thisElement.eventHandlers){return true}B=D._thisElement.eventHandlers[D.type()];var A,E=true,C;if(B){for(A=0;
A<B.length;A++){C=B[A].call(D);if(typeof C!="undefined"){E=C}}}if(typeof E!="undefined"){D.returnValue=E;if(!E){D.preventDefault()
}return E}}});lclass("LWindow",[LEventHandling],{cons:function(){window.__lutilObj=this;window.onscroll=function(A){window.__lutilObj.fireEvent("scroll",A)
};window.onresize=function(A){window.__lutilObj.fireEvent("resize",A)};window.onload=function(A){window.__lutilObj.fireEvent("load",A)
};window.onunload=function(A){window.__lutilObj.fireEvent("unload",A)}}});lwindow=new LWindow();lclass("LTimer",[LEventHandling],{cons:function(A,C,B){this._time=A;
if(typeof C!="undefined"){this.attachEvent("expire",C,B)}this._repeat=false;this._running=false},setTime:function(A){if(!this.running()){this._time=A
}},time:function(){return this._time},setRepeat:function(A){if(!this.running()){this._repeat=A}return this},repeat:function(){return this._repeat
},running:function(){return this._running},start:function(){if(this.running()){return }this._running=true;var A=this;this._id=(this.repeat()?setInterval:setTimeout)(function(){A._running=false;
A.fireEvent("expire")},this._time)},reset:function(){this.stop();this.start()},stop:function(){this._running=false;this.repeat()?clearInterval(this._id):clearTimeout(this._id)
}});lclass("LNode",{cons:function(A){this.n=A;this.n.__lutilObj=this;if(LBrowser.isIE){LNode.__ieNodeList.push(A)}},node:function(){return this.n
},parentNode:function(){return this.n.parentNode?(this.n.parentNode.__lutilObj||$(this.n.parentNode)):null},firstChild:function(){return this.n.firstChild?(this.n.firstChild.__lutilObj||$(this.n.firstChild)):null
},lastChild:function(){return this.n.lastChild?(this.n.lastChild.__lutilObj||$(this.n.lastChild)):null},nextSibling:function(){return this.n.nextSibling?(this.n.nextSibling.__lutilObj||$(this.n.nextSibling)):null
},prevSibling:function(){return this.n.prevSibling?(this.n.prevSibling.__lutilObj||$(this.n.prevSibling)):null},destroy:function(){this.removeSelf()
},removeSelf:function(){this.n.parentNode.removeChild(this.n)}},{__ieCleanup:function(){var A,B,C,D;for(A=0;A<LNode.__ieNodeList.length;
A++){C=LNode.__ieNodeList[A];for(B in C.eventHandlers){C.n["on"+B]=null}C.eventHandlers=null;C.n.__lutilObj=null}LNode.__ieNodeList=null
},ELEMENT:1,TEXT:3});lclass("LEntityRef",LNode,{cons:function(A){this.n=document.createEntityReference(A)}});if(LBrowser.isIE){LNode.__ieNodeList=[];
lwindow.attachEvent("unload",LNode.__ieCleanup)}lclass("LDocument",LNode,[LEventHandling],{cons:function(){this.n=document;
this.n.__lutilObj=this},scrollPosition:function(){if(typeof self.pageXOffset!="undefined"){return{x:self.pageXOffset,y:self.pageYOffset}
}else{if(document.body&&typeof document.body.scrollTop!="undefined"){return{x:document.body.scrollLeft,y:document.body.scrollTop}
}else{if(document.documentElement&&typeof document.documentElement.scrollTop!="undefined"){return{x:document.documentElement.scrollLeft,y:document.documentElement.scrollTop}
}else{return{x:0,y:0}}}}},viewportSize:function(){if(typeof window.innerWidth!="undefined"){return{w:window.innerWidth,h:window.innerHeight}
}else{if(typeof document.documentElement!="undefined"&&typeof document.documentElement.clientWidth!="undefined"&&document.documentElement.clientWidth!=0){return{w:document.documentElement.clientWidth,h:document.documentElement.clientHeight}
}else{var A=document.getElementsByTagName("body")[0];return{w:A.clientWidth,h:A.clientHeight}}}}});ldocument=new LDocument();
lclass("LElementNode",LNode,[LEventHandling],{cons:function(B){if(typeof B=="string"){this.n=document.createElement(B)}else{this.n=B
}if(LBrowser.isIE){LNode.__ieNodeList.push(this)}this.n.__lutilObj=this;if(arguments.length>1){var A;for(A=1;A<arguments.length;
A++){this.append(arguments[A])}}},text:function(){var B="",A;for(A=0;A<this.n.childNodes.length;A++){if(this.n.childNodes[A].nodeType==3){B+=this.n.childNodes[A].nodeValue
}}return B},setText:function(A){if(this.n.childNodes.length==1&&this.n.firstChild.nodeType==LNode.TEXT){this.n.firstChild.nodeValue=A
}else{this.empty();this.n.appendChild(document.createTextNode(A))}return this},setHTML:function(A){this.n.innerHTML=A},appendHTML:function(A){this.n.innerHTML+=A
},style:function(A){if(typeof A=="object"){this.apply(A);return this}else{return this.n.style}},getStyle:function(D){var C=D.classToCamelCase();
var B=D.camelCaseToClass();var A;if(A=this.n.style[C]){return A}if(document.defaultView&&document.defaultView.getComputedStyle){return document.defaultView.getComputedStyle(this.n,"").getPropertyValue(B)
}else{if(this.n.currentStyle){return this.n.currentStyle[C]}}return""},apply:function(B){var A,C;for(A in B){if(typeof A=="string"){C=(A.indexOf("-")!=-1)?A.classToCamelCase():A;
if(typeof B[A]=="string"){this.n.style[C]=B[A]}else{if(B[A]._instanceOf&&B[A]._instanceOf(LCSSValue)){if(B[A].apply){B[A].apply(this)
}else{this.n.style[C]=B[A].toCss()}}}}}return this},append:function(){var C,B,A;for(C=0;C<arguments.length;C++){B=arguments[C];
if(B._instanceOf&&B._instanceOf(LNode)){this.n.appendChild(B.n)}else{if(B._instanceOf&&B._instanceOf(LCustomElementNode)){this.n.appendChild(B.n.n)
}else{if(typeof B=="string"||typeof B=="number"){this.n.appendChild(document.createTextNode(B))}else{if(typeof B=="object"){for(C in B){A=C;
if(C=="_class"){this.n.className=B[C];continue}this.n.setAttribute(A,B[C])}}}}}}return this},insertBefore:function(B,A){if(typeof A=="undefined"){$(B).parentNode().insertBefore(this,B)
}else{this.n.insertBefore($(B).n,$(A).n)}},replaceWith:function(A){this.n.parentNode.replaceChild($(A).n,this.n)},setAttribute:function(A,B){this.n.setAttribute(A,B)
},getAttribute:function(A){return this.n.getAttribute(A)},setSelected:function(A){var B;for(B=0;B<this.n.options.length;B++){if(this.n.options[B].value==A){this.n.selectedIndex=B;
break}}},selectedIndex:function(){return this.n.selectedIndex},setSelectedIndex:function(A){this.n.selectedIndex=A},value:function(){return this.n.value
},setValue:function(A){this.n.value=A},checked:function(){return this.n.checked},setChecked:function(A){this.n.checked=A},setSelectionText:function(A){if(typeof this.n.selectionStart!="undefined"){var B=this.n.selectionStart;
this.n.value=this.n.value.substr(0,B)+A+this.n.value.substr(this.n.selectionEnd);this.n.selectionStart=this.n.selectionEnd=B+1
}},offsetLeft:function(){return this._getOffset("offsetLeft")},offsetTop:function(){return this._getOffset("offsetTop")},position:function(){return{x:this.offsetLeft(),y:this.offsetTop()}
},offsetPosition:function(){return{x:this.n.offsetLeft,y:this.n.offsetTop}},offsetHeight:function(){return this.n.offsetHeight
},offsetWidth:function(){return this.n.offsetWidth},dimensions:function(){return{w:this.offsetWidth(),h:this.offsetHeight()}
},_getOffset:function(B){var C,A=0;for(C=this.n;C;C=C.offsetParent){A+=C[B]}return A},clientHeight:function(){return this.n.clientHeight
},clientWidth:function(){return this.n.clientWidth},geometry:function(){return new LRect(this.offsetLeft(),this.offsetTop(),this.offsetLeft()+this.offsetWidth()-1,this.offsetTop()+this.offsetHeight()-1)
},setGeometry:function(A){this.n.style.left=A.x+"px";this.n.style.top=A.y+"px";this.n.style.width=A.w+"px";this.n.style.height=A.h+"px"
},contentDimensions:function(){var B,A;A={width:this.n.style.width,height:this.n.style.height,display:this.n.style.display};
this.n.style.width="auto";this.n.style.height="auto";this.n.style.display="";B={w:this.n.clientWidth,h:this.n.clientHeight};
this.n.style.width=A.width;this.n.style.height=A.height;this.n.style.display=A.display;return B},contentHeight:function(){var B,A;
A={height:this.n.style.height||"auto",display:this.n.style.display||"",visibility:this.n.style.visibility||"visible"};this.n.style.height="auto";
this.n.style.visibility="hidden";this.n.style.display="";B=this.n.clientHeight;this.n.style.height=A.height;this.n.style.display=A.display;
this.n.style.visibility=A.visibility;return B},className:function(){return this.n.className},setClass:function(A){this.n.className=A;
return this},hasClass:function(A){return this.n.className.match(new RegExp("^"+A+"\\b|\\b"+A+"\\b|\\b"+A+"$"))},addClass:function(A){if(!this.hasClass(A)){this.n.className+=" "+A
}return this},removeClass:function(A){this.n.className=this.n.className.replace(new RegExp("^"+A+"\\b|\\b"+A+"\\b|\\b"+A+"$")," ").replace(/ {2,}/," ");
return this},toggleClass:function(A){this.hasClass(A)?this.removeClass(A):this.addClass(A);return this},empty:function(A){while(this.n.firstChild){this.n.removeChild(this.n.firstChild)
}return this},getElementsByTagName:function(A){return Array.fromCollection(this.n.getElementsByTagName(A))}});lclass("LCustomElementNode",{});
var a=function(A){return function(){var B=arguments;this.nl.forEach(function(C){C[A].apply(C,B)});return this.nl}};lclass("LElementNodeList",{cons:function(A){this.nl=A
},each:function(A,B){this.nl.forEach(A,B)},setText:a("setText"),addClass:a("addClass"),removeClass:a("removeClass"),toggleClass:a("toggleClass"),setClass:a("setClass"),append:a("append"),attachEvent:a("attachEvent"),apply:a("apply")});
delete a;lclass("LTextNode",LNode,{cons:function(A){this.n=A},text:function(){return this.n.nodeValue},setText:function(A){this.n.nodeValue=A
}});lclass("LCSSValue",{});lclass("LCSSColor",LCSSValue,{cons:function(C,D,B){var A;if(typeof D=="undefined"){C=C.trim().toLowerCase();
if(LCSSColor.namedColors[C]){this.r=LCSSColor.namedColors[C].r;this.g=LCSSColor.namedColors[C].g;this.b=LCSSColor.namedColors[C].b
}else{if(A=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i.exec(C)){this.r=parseInt(A[1]);this.g=parseInt(A[2]);this.b=parseInt(A[3])
}else{if(A=/^#([0-9A-F]{3})$/i.exec(C)){this.r=A[1].charAt(0).hexDec()*17;this.g=A[1].charAt(1).hexDec()*17;this.b=A[1].charAt(2).hexDec()*17
}else{if(A=/^#([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i.exec(C)){this.r=A[1].hexDec();this.g=A[2].hexDec();this.b=A[3].hexDec()
}else{if(typeof C=="number"){this.r=parseInt(C);this.g=parseInt(C);this.b=parseInt(C)}else{this.r=0;this.g=0;this.b=0}}}}}}else{this.r=C;
this.g=D;this.b=B}},tween:function(A,B){return new LCSSColor(this.r+(A.r-this.r)*B,this.g+(A.g-this.g)*B,this.b+(A.b-this.b)*B)
},toCss:function(){return"rgb("+Math.floor(this.r)+","+Math.floor(this.g)+","+Math.floor(this.b)+")"}},{cons:function(){},fromHSV:function(E,D,A){var G,H,F,C,B;
B=Math.floor(E*60)%6;G=E*60-B;H=A*(1-D);F=A*(1-G*D);C=A*(1-(1-G)*D);switch(B){case 0:return new LCSSColor(A,C,H);case 1:return new LCSSColor(F,A,H);
case 2:return new LCSSColor(H,A,C);case 3:return new LCSSColor(H,F,A);case 4:return new LCSSColor(C,H,A);case 5:return new LCSSColor(A,H,F)
}return new LCSSColor(0,0,0)}});LCSSColor.namedColors={};LCSSColor.namedColors={maroon:new LCSSColor("#800000"),red:new LCSSColor("#FF0000"),orange:new LCSSColor("#FFA500"),yellow:new LCSSColor("#FFFF00"),olive:new LCSSColor("#808000"),purple:new LCSSColor("#800080"),fuchsia:new LCSSColor("#FF00FF"),white:new LCSSColor("#FFFFFF"),lime:new LCSSColor("#00FF00"),green:new LCSSColor("#008000"),navy:new LCSSColor("#000080"),blue:new LCSSColor("#0000FF"),aqua:new LCSSColor("#00FFFF"),teal:new LCSSColor("#008080"),black:new LCSSColor("#000000"),silver:new LCSSColor("#C0C0C0"),gray:new LCSSColor("#808080")};
lclass("LCSSOpacity",LCSSValue,{cons:function(A){this.o=parseFloat(A)},tween:function(A,B){return new LCSSOpacity(this.o+(A.o-this.o)*B)
},apply:function(A){A.style().mozOpacity=this.o;A.style().opacity=this.o;A.style().filter="alpha(opacity="+Math.floor(this.o*100)+")"
}});lclass("LCSSLength",LCSSValue,{cons:function(B,A){if(typeof A=="undefined"){if(m=/^(-?[\d\.]+)(em|ex|px|in|cm|mm|pt|pc|%)$/.exec(B.trim())){this.v=parseFloat(m[1]);
this.u=m[2]}else{this.v=parseFloat(B);this.u="px"}}else{this.v=parseFloat(B);this.u=A}},tween:function(A,B){return new LCSSLength(this.v+(A.v-this.v)*B,this.u)
},toCss:function(){return this.v+this.u}});lclass("LCSSOther",LCSSValue,{cons:function(A){this.v=A},tween:function(A,B){return new LCSSOther(this.v)
},toCss:function(){return this.v}});lclass("LCSSSelector",{cons:function(D){var A=/(\*)|([a-z][a-z0-9_-]*)|( *> *)|( *\+ *)|( +)|:([a-z-]+)(?:\(([^\)]+)\))?|\.([a-z][a-z0-9_-]*)|#([a-z][a-z0-9_-]*)|\[([a-z][a-z0-9_-]*)(?:=?([^\]]*))?\]/gi.scan(D);
var C,D,B,E=[],F;this.parts=[];for(C=0;C<A.length;C++){D=A[C];for(B=1;B<=10;B++){if(D[B]){F={t:B};switch(B){case LCSSSelector.ATTRIB:case LCSSSelector.PSEUDO:F.p1=D[B];
if(typeof D[B+1]!="undefined"){F.p2=D[B+1]}break;case LCSSSelector.ALL:case LCSSSelector.CHILD:case LCSSSelector.DESCENDANT:case LCSSSelector.SIBLING:break;
default:F.p1=D[B]}E.push(F);break}}if(F.t==LCSSSelector.CHILD||F.t==LCSSSelector.DESCENDANT||F.t==LCSSSelector.SIBLING){this.parts.append(E);
E=[]}}if(E.length){this.parts.append(E)}},select:function(C){var G,E=[],D,B,A,F,H;for(B=0;B<this.parts.length;B++){G=this.parts[B];
switch(G.t){case LCSSSelector.CHILD:D=[];for(A=0;A<E.length;A++){for(H=E[A].firstChild;H;H=H.nextSibling){if(H.nodeType==1){D.push(H)
}}}E=D;break;case LCSSSelector.DESCENDANT:if(E.length==0){return[]}D=[];for(A=0;A<E.length;A++){D=D.concat(Array.fromCollection(E[A].getElementsByTagName("*")))
}E=D;break;case LCSSSelector.SIBLING:if(E.length==0){return[]}D=[];for(A=0;A<E.length;A++){for(H=E[A].nextSibling;H&&H.nodeType!=1;
H=H.nextSibling){}if(H){D.push(H)}}E=D;break;case LCSSSelector.ELEMENT:if(E.length==0){if(typeof C!="undefined"){E=$(C).getElementsByTagName(G.p1)
}else{E=Array.fromCollection(document.getElementsByTagName(G.p1))}}else{E=E.filter(function(I){return I.nodeName.toUpperCase()==G.p1.toUpperCase()
})}break;case LCSSSelector.KLASS:if(E.length==0){if(typeof C!="undefined"){E=$(C).getElementsByTagName("*")}else{E=Array.fromCollection(document.getElementsByTagName("*"))
}}E=E.filter(function(I){return I.className.match(new RegExp("^"+G.p1+"\\b|\\b"+G.p1+"\\b|\\b"+G.p1+"$","i"))});break;case LCSSSelector.ID:if(E.length==0){if(typeof C!="undefined"){E.push($(C).getElementById(G.p1).n)
}else{E.push(document.getElementById(G.p1))}}E=E.filter(function(I){return I.getAttribute("id").toUpperCase()==G.p1.toUpperCase()
});break;case LCSSSelector.ATTRIB:E=E.filter(function(I){return I.getAttribute(G.p1)&&(!G.p2||(I.getAttribute(G.p1).toUpperCase()==G.p2.toUpperCase()))
});break;case LCSSSelector.PSEUDO:switch(G.p1.toLowerCase()){case"first-child":E=E.filter(function(I){var J;for(J=I.parentNode.firstChild;
J&&J.nodeType!=1;J=J.nextSibling){}return(J==I)});break}break}if(E.length==0){return[]}}return $(E)},_fragmentSortFunc:function(C,B){var A=[LCSSSelector.ID,LCSSSelector.ALL,LCSSSelector.ELEMENT,LCSSSelector.KLASS,LCSSSelector.PSEUDO,LCSSSelector.CHILD,LCSSSelector.DESCENDANT,LCSSSelector.SIBLING];
return A.indexOf[B.t]-A.indexOf[C.t]}},{ALL:1,ELEMENT:2,CHILD:3,SIBLING:4,DESCENDANT:5,PSEUDO:6,KLASS:8,ID:9,ATTRIB:10});
function $S(C,B){var A=new LCSSSelector(C).select(B);if(A.length==0){return null}else{return A[0]}}function $L(B,A){return new LElementNodeList(new LCSSSelector(B).select(A))
}function $C(B,A){return new LCSSSelector(B).select(A)}function $(A){var C,B;if(arguments.length==1){if(!A){return null}else{if(A instanceof Array){C=[];
for(B=0;B<A.length;B++){C[B]=$(A[B])}return C}else{if(typeof A=="string"){C=document.getElementById(A);if(!C){return null
}return C.__lutilObj||new LElementNode(C)}else{if(typeof A=="object"&&A._instanceOf&&A._instanceOf(LElementNode)){return A
}else{if(typeof A=="object"&&A._instanceOf&&A._instanceOf(LCSSSelector)){return A.select()}else{if(A.nodeType){if(A.nodeType==1){return A.__lutilObj||new LElementNode(A)
}else{if(A.nodeType==3){return A.__lutilObj||new LTextNode(A)}}}}}}}}}else{C=[];for(B=0;B<arguments.length;B++){C[B]=$(arguments[B])
}return C}}lclass("LAnimation",[LEventHandling],{cons:function(G){var D,H,C,I,B,A,E,F;this.timelines=[];this._fps=20;this._tweenFunc=LAnimation.linearTween;
this._storems=null;this._loop=false;this.timer=new LTimer(50,this,this._tick);this.timer.setRepeat(true);for(D=0;D<G.length;
D++){if(!G[D]){continue}C=$(G[D][0]);if(C){I=this.timeline(C);for(H=1;H<G[D].length;H++){B=G[D][H][0];A=G[D][H][1].split(/;/);
for(E=0;E<A.length;E++){F=this.keyframe(I,B,A[E],false)}}}}},updateTimelines:function(){var B,C,A;for(B=0;B<this.timelines.length;
B++){for(C in this.timelines[B][1]){this.timelines[B][1][C].sort(this._sortFunc);if(this.timelines[B][1][C][0].auto){this.timelines[B][1][C].shift();
this.keyframe(this.timelines[B][1],0,d=(C+":"+this.timelines[B][0].getStyle(C)),true)}else{if(this.timelines[B][1][C][0].frame!=0){this.keyframe(this.timelines[B][1],0,d=(C+":"+this.timelines[B][0].getStyle(C)),true)
}}}}},fps:function(){return this._fps},setFps:function(A){this._fps=A},timeline:function(A){for(i=0;i<this.timelines.length;
i++){if(this.timelines[i][0]==A){return this.timelines[i][1]}}this.timelines.push([A,{}]);return this.timelines[this.timelines.length-1][1]
},keyframe:function(I,B,F,H){var E,A,D,G,C;if(!(E=/^\s*([a-zA-Z-]+?)([:>])\s*([^;]*);?\s*$/.exec(F))){return }A=E[1].classToCamelCase();
if(typeof I[A]=="undefined"){I[A]=[]}G=(E[2]==">"?true:false);switch(A){case"color":case"backgroundColor":D=new LCSSColor(E[3]);
break;case"opacity":D=new LCSSOpacity(E[3]);break;case"width":case"height":case"left":case"top":case"right":case"bottom":case"marginTop":case"marginRight":case"marginBottom":case"marginLeft":D=new LCSSLength(E[3]);
break;default:D=new LCSSOther(E[3])}I[A][H?"unshift":"push"](C=new LAnimationKeyframe(D,B,G,H));return C},start:function(){if(this.paused()){this.resume();
return }this.updateTimelines();this.startms=new Date().getTime();this.timer.setTime(1000/this._fps);this.timer.start();this._tick()
},setTween:function(A){this._tweenFunc=A;return this},loop:function(){return this._loop},setLoop:function(A){this._loop=A;
return this},stop:function(){this.timer.stop()},pause:function(){this.timer.stop();this._storems=new Date().getTime()-this.startms
},paused:function(){return this._storems!=null},resume:function(){if(this.paused()){this.gotoMs(this._storems);this._storems=null;
this.timer.start()}},toggle:function(){this.paused()?this.resume():this.pause()},gotoMs:function(A){this.startms=new Date().getTime()-A;
this._tick()},rewind:function(){this.gotoMs(0)},_tick:function(){var C,B,G,J,E,D,I,H,F=false,A=new Date().getTime()-this.startms;
for(ei=0;ei<this.timelines.length;ei++){for(B in this.timelines[ei][1]){J=this.timelines[ei][1][B];C=this.timelines[ei][0];
E=null;D=null;for(G=0;G<J.length;G++){if(J[G].frame>A){D=J[G];if(G>0){E=J[G-1]}break}}if(D==null){E=J[J.length-1]}else{F=true
}if(E==null){E=J[0]}if(D==null||!D.tween){if(E.val.apply){E.val.apply(C)}else{C.style()[B]=E.val.toCss()}}else{if(E!=null){if(A==E.frame){I=0
}else{I=(A-E.frame)/(D.frame-E.frame)}H=E.val.tween(D.val,this._tweenFunc(I));if(H.apply){H.apply(C)}else{C.style()[B]=H.toCss()
}}}}}if(!F){this.fireEvent("finish",null);if(this.loop()){this.rewind()}else{this.stop()}}},_sortFunc:function(B,A){return B.frame-A.frame
},_getUnit:function(A){return/([a-zA-Z%]*)$/.exec(A)[1]}},{linearTween:function(A){return A},smoothEnd:function(A){return Math.sin(A*Math.PI*0.5)
},smoothStart:function(A){return 1-Math.cos(A*Math.PI*0.5)}});lclass("LAnimationKeyframe",{cons:function(C,B,A,D){this.val=C;
this.frame=B;this.tween=A;this.auto=D}});lclass("LEffect",{cons:function(el,init,stop){this.init=init;this._stop=stop;if(el._effect){el._effect.stop();
return }el._effect=this;with(this.anim=new LAnimation(el)){setFps(20);attachEvent("finish",function(){el._effect=null})}init(this.anim);
this.anim.start();return a},stop:function(){this.anim.stop();if(this._stop){this._stop()}}});var LEffects={blindDown:function(A,B){var A=$(A);
new LEffect(A,function(C){C.setTween(LAnimation.smoothEnd);C.keyframe("height: "+A.offsetHeight()+"px",0,false);C.keyframe("height: "+A.contentHeight()+"px",B||1000,true)
},null)},blindUp:function(A,B){var A=$(A);new LEffect(A,function(C){C.setTween(LAnimation.smoothEnd);C.keyframe("height: "+A.offsetHeight()+"px",0,false);
C.keyframe("height: 0px",B||1000,true)})},fadeIn:function(A,B){new LEffect($(A),function(C){C.keyframe("opacity: 0.0",0,false);
C.keyframe("opacity: 1.0",B||1000,true)})},fadeOut:function(A,B){new LEffect($(A),function(C){C.keyframe("opacity: 1.0",0,false);
C.keyframe("opacity: 0.0",B||1000,true)})},doEffect:function(el){var a;if(el._effectInProgress){return }el._effectInProgess=true;
with(a=new LAnimation(el)){setFps(20);attachEvent("finish",function(){el._effectInProgress=false})}return a}};
