[fusion-commits] r1487 - in sandbox/jx2: jx/lib templates/mapserver/standard widgets

svn_fusion at osgeo.org svn_fusion at osgeo.org
Thu Aug 28 11:02:33 EDT 2008


Author: pagameba
Date: 2008-08-28 11:02:33 -0400 (Thu, 28 Aug 2008)
New Revision: 1487

Modified:
   sandbox/jx2/jx/lib/jxlib.js
   sandbox/jx2/jx/lib/jxlib.uncompressed.js
   sandbox/jx2/jx/lib/jxskin_border.css
   sandbox/jx2/jx/lib/jxskin_delicious.css
   sandbox/jx2/templates/mapserver/standard/index.html
   sandbox/jx2/widgets/LayerManager.js
   sandbox/jx2/widgets/Legend.js
   sandbox/jx2/widgets/Maptip.js
   sandbox/jx2/widgets/Measure.js
   sandbox/jx2/widgets/Navigator.js
   sandbox/jx2/widgets/OverviewMap.js
   sandbox/jx2/widgets/SelectRadius.js
   sandbox/jx2/widgets/SelectionPanel.js
   sandbox/jx2/widgets/TaskPane.js
Log:
update with new jx build to fix a couple of minor issues, remove more Element. references, start fixing template

Modified: sandbox/jx2/jx/lib/jxlib.js
===================================================================
--- sandbox/jx2/jx/lib/jxlib.js	2008-08-28 14:43:25 UTC (rev 1486)
+++ sandbox/jx2/jx/lib/jxlib.js	2008-08-28 15:02:33 UTC (rev 1487)
@@ -1 +1,30 @@
-var MooTools={version:"1.2dev",build:""};var Native=function(J){J=J||{};var F=J.afterImplement||function(){};var G=J.generics;G=(G!==false);var H=J.legacy;var E=J.initialize;var B=J.protect;var A=J.name;var C=E||H;C.constructor=Native;C.$family={name:"native"};if(H&&E){C.prototype=H.prototype}C.prototype.constructor=C;if(A){var D=A.toLowerCase();C.prototype.$family={name:D};Native.typize(C,D)}var I=function(M,K,N,L){if(!B||L||!M.prototype[K]){M.prototype[K]=N}if(G){Native.genericize(M,K,B)}F.call(M,K,N);return M};C.implement=function(L,K,N){if(typeof L=="string"){return I(this,L,K,N)}for(var M in L){I(this,M,L[M],K)}return this};C.alias=function(M,K,N){if(typeof M=="string"){M=this.prototype[M];if(M){I(this,K,M,N)}}else{for(var L in M){this.alias(L,M[L],K)}}return this};return C};Native.implement=function(D,C){for(var B=0,A=D.length;B<A;B++){D[B].implement(C)}};Native.genericize=function(B,C,A){if((!A||!B[C])&&typeof B.prototype[C]=="function"){B[C]=function(){var D=Array.prototype.slice.call(arguments);return B.prototype[C].apply(D.shift(),D)}}};Native.typize=function(A,B){if(!A.type){A.type=function(C){return($type(C)===B)}}};Native.alias=function(E,B,A,F){for(var D=0,C=E.length;D<C;D++){E[D].alias(B,A,F)}};(function(B){for(var A in B){Native.typize(B[A],A)}})({"boolean":Boolean,"native":Native,object:Object});(function(B){for(var A in B){new Native({name:A,initialize:B[A],protect:true})}})({String:String,Function:Function,Number:Number,Array:Array,RegExp:RegExp,Date:Date});(function(B,A){for(var C=A.length;C--;C){Native.genericize(B,A[C],true)}return arguments.callee})(Array,["pop","push","reverse","shift","sort","splice","unshift","concat","join","slice","toString","valueOf","indexOf","lastIndexOf"])(String,["charAt","charCodeAt","concat","indexOf","lastIndexOf","match","replace","search","slice","split","substr","substring","toLowerCase","toUpperCase","valueOf"]);function $chk(A){return !!(A||A===0)}function $clear(A){clearTimeout(A);clearInterval(A);return null}function $defined(A){return(A!=undefined)}function $empty(){}function $arguments(A){return function(){return arguments[A]}}function $lambda(A){return(typeof A=="function")?A:function(){return A}}function $extend(C,A){for(var B in (A||{})){C[B]=A[B]}return C}function $unlink(C){var B;switch($type(C)){case"object":B={};for(var E in C){B[E]=$unlink(C[E])}break;case"hash":B=$unlink(C.getClean());break;case"array":B=[];for(var D=0,A=C.length;D<A;D++){B[D]=$unlink(C[D])}break;default:return C}return B}function $merge(){var E={};for(var D=0,A=arguments.length;D<A;D++){var B=arguments[D];if($type(B)!="object"){continue}for(var C in B){var G=B[C],F=E[C];E[C]=(F&&$type(G)=="object"&&$type(F)=="object")?$merge(F,G):$unlink(G)}}return E}function $pick(){for(var B=0,A=arguments.length;B<A;B++){if(arguments[B]!=undefined){return arguments[B]}}return null}function $random(B,A){return Math.floor(Math.random()*(A-B+1)+B)}function $splat(B){var A=$type(B);return(A)?((A!="array"&&A!="arguments")?[B]:B):[]}var $time=Date.now||function(){return new Date().getTime()};function $try(){for(var B=0,A=arguments.length;B<A;B++){try{return arguments[B]()}catch(C){}}return null}function $type(A){if(A==undefined){return false}if(A.$family){return(A.$family.name=="number"&&!isFinite(A))?false:A.$family.name}if(A.nodeName){switch(A.nodeType){case 1:return"element";case 3:return(/\S/).test(A.nodeValue)?"textnode":"whitespace"}}else{if(typeof A.length=="number"){if(A.callee){return"arguments"}else{if(A.item){return"collection"}}}}return typeof A}var Hash=new Native({name:"Hash",initialize:function(A){if($type(A)=="hash"){A=$unlink(A.getClean())}for(var B in A){this[B]=A[B]}return this}});Hash.implement({getLength:function(){var B=0;for(var A in this){if(this.hasOwnProperty(A)){B++}}return B},forEach:function(B,C){for(var A in this){if(this.hasOwnProperty(A)){B.call(C,this[A],A,this)}}},getClean:function(){var B={};for(var A in this){if(this.hasOwnProperty(A)){B[A]=this[A]}}return B}});Hash.alias("forEach","each");function $H(A){return new Hash(A)}Array.implement({forEach:function(C,D){for(var B=0,A=this.length;B<A;B++){C.call(D,this[B],B,this)}}});Array.alias("forEach","each");function $A(C){if(C.item){var D=[];for(var B=0,A=C.length;B<A;B++){D[B]=C[B]}return D}return Array.prototype.slice.call(C)}function $each(C,B,D){var A=$type(C);((A=="arguments"||A=="collection"||A=="array")?Array:Hash).each(C,B,D)}var Browser=new Hash({Engine:{name:"unknown",version:""},Platform:{name:(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase()},Features:{xpath:!!(document.evaluate),air:!!(window.runtime)},Plugins:{}});if(window.opera){Browser.Engine={name:"presto",version:(document.getElementsByClassName)?950:925}}else{if(window.ActiveXObject){Browser.Engine={name:"trident",version:(window.XMLHttpRequest)?5:4}}else{if(!navigator.taintEnabled){Browser.Engine={name:"webkit",version:(Browser.Features.xpath)?420:419}}else{if(document.getBoxObjectFor!=null){Browser.Engine={name:"gecko",version:(document.getElementsByClassName)?19:18}}}}}Browser.Engine[Browser.Engine.name]=Browser.Engine[Browser.Engine.name+Browser.Engine.version]=true;if(window.orientation!=undefined){Browser.Platform.name="ipod"}Browser.Platform[Browser.Platform.name]=true;Browser.Request=function(){return $try(function(){return new XMLHttpRequest()},function(){return new ActiveXObject("MSXML2.XMLHTTP")})};Browser.Features.xhr=!!(Browser.Request());Browser.Plugins.Flash=(function(){var A=($try(function(){return navigator.plugins["Shockwave Flash"].description},function(){return new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version")})||"0 r0").match(/\d+/g);return{version:parseInt(A[0]||0+"."+A[1]||0),build:parseInt(A[2]||0)}})();function $exec(B){if(!B){return B}if(window.execScript){window.execScript(B)}else{var A=document.createElement("script");A.setAttribute("type","text/javascript");A.text=B;document.head.appendChild(A);document.head.removeChild(A)}return B}Native.UID=1;var $uid=(Browser.Engine.trident)?function(A){return(A.uid||(A.uid=[Native.UID++]))[0]}:function(A){return A.uid||(A.uid=Native.UID++)};var Window=new Native({name:"Window",legacy:(Browser.Engine.trident)?null:window.Window,initialize:function(A){$uid(A);if(!A.Element){A.Element=$empty;if(Browser.Engine.webkit){A.document.createElement("iframe")}A.Element.prototype=(Browser.Engine.webkit)?window["[[DOMElement.prototype]]"]:{}}return $extend(A,Window.Prototype)},afterImplement:function(B,A){window[B]=Window.Prototype[B]=A}});Window.Prototype={$family:{name:"window"}};new Window(window);var Document=new Native({name:"Document",legacy:(Browser.Engine.trident)?null:window.Document,initialize:function(A){$uid(A);A.head=A.getElementsByTagName("head")[0];A.html=A.getElementsByTagName("html")[0];A.window=A.defaultView||A.parentWindow;if(Browser.Engine.trident4){$try(function(){A.execCommand("BackgroundImageCache",false,true)})}return $extend(A,Document.Prototype)},afterImplement:function(B,A){document[B]=Document.Prototype[B]=A}});Document.Prototype={$family:{name:"document"}};new Document(document);Array.implement({every:function(C,D){for(var B=0,A=this.length;B<A;B++){if(!C.call(D,this[B],B,this)){return false}}return true},filter:function(D,E){var C=[];for(var B=0,A=this.length;B<A;B++){if(D.call(E,this[B],B,this)){C.push(this[B])}}return C},clean:function(){return this.filter($defined)},indexOf:function(C,D){var A=this.length;for(var B=(D<0)?Math.max(0,A+D):D||0;B<A;B++){if(this[B]===C){return B}}return -1},map:function(D,E){var C=[];for(var B=0,A=this.length;B<A;B++){C[B]=D.call(E,this[B],B,this)}return C},some:function(C,D){for(var B=0,A=this.length;B<A;B++){if(C.call(D,this[B],B,this)){return true}}return false},associate:function(C){var D={},B=Math.min(this.length,C.length);for(var A=0;A<B;A++){D[C[A]]=this[A]}return D},link:function(C){var A={};for(var E=0,B=this.length;E<B;E++){for(var D in C){if(C[D](this[E])){A[D]=this[E];delete C[D];break}}}return A},contains:function(A,B){return this.indexOf(A,B)!=-1},extend:function(C){for(var B=0,A=C.length;B<A;B++){this.push(C[B])}return this},getLast:function(){return(this.length)?this[this.length-1]:null},getRandom:function(){return(this.length)?this[$random(0,this.length-1)]:null},include:function(A){if(!this.contains(A)){this.push(A)}return this},combine:function(C){for(var B=0,A=C.length;B<A;B++){this.include(C[B])}return this},erase:function(B){for(var A=this.length;A--;A){if(this[A]===B){this.splice(A,1)}}return this},empty:function(){this.length=0;return this},flatten:function(){var D=[];for(var B=0,A=this.length;B<A;B++){var C=$type(this[B]);if(!C){continue}D=D.concat((C=="array"||C=="collection"||C=="arguments")?Array.flatten(this[B]):this[B])}return D},hexToRgb:function(B){if(this.length!=3){return null}var A=this.map(function(C){if(C.length==1){C+=C}return C.toInt(16)});return(B)?A:"rgb("+A+")"},rgbToHex:function(D){if(this.length<3){return null}if(this.length==4&&this[3]==0&&!D){return"transparent"}var B=[];for(var A=0;A<3;A++){var C=(this[A]-0).toString(16);B.push((C.length==1)?"0"+C:C)}return(D)?B:"#"+B.join("")}});Function.implement({extend:function(A){for(var B in A){this[B]=A[B]}return this},create:function(B){var A=this;B=B||{};return function(D){var C=B.arguments;C=(C!=undefined)?$splat(C):Array.slice(arguments,(B.event)?1:0);if(B.event){C=[D||window.event].extend(C)}var E=function(){return A.apply(B.bind||null,C)};if(B.delay){return setTimeout(E,B.delay)}if(B.periodical){return setInterval(E,B.periodical)}if(B.attempt){return $try(E)}return E()}},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})},bindWithEvent: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})()},run:function(A,B){return this.apply(B,$splat(A))}});Number.implement({limit:function(B,A){return Math.min(A,Math.max(B,this))},round:function(A){A=Math.pow(10,A||0);return Math.round(this*A)/A},times:function(B,C){for(var A=0;A<this;A++){B.call(C,A,this)}},toFloat:function(){return parseFloat(this)},toInt:function(A){return parseInt(this,A||10)}});Number.alias("times","each");(function(B){var A={};B.each(function(C){if(!Number[C]){A[C]=function(){return Math[C].apply(null,[this].concat($A(arguments)))}}});Number.implement(A)})(["abs","acos","asin","atan","atan2","ceil","cos","exp","floor","log","max","min","pow","sin","sqrt","tan"]);String.implement({test:function(A,B){return((typeof A=="string")?new RegExp(A,B):A).test(this)},contains:function(A,B){return(B)?(B+this+B).indexOf(B+A+B)>-1:this.indexOf(A)>-1},trim:function(){return this.replace(/^\s+|\s+$/g,"")},clean:function(){return this.replace(/\s+/g," ").trim()},camelCase:function(){return this.replace(/-\D/g,function(A){return A.charAt(1).toUpperCase()})},hyphenate:function(){return this.replace(/[A-Z]/g,function(A){return("-"+A.charAt(0).toLowerCase())})},capitalize:function(){return this.replace(/\b[a-z]/g,function(A){return A.toUpperCase()})},escapeRegExp:function(){return this.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1")},toInt:function(A){return parseInt(this,A||10)},toFloat:function(){return parseFloat(this)},hexToRgb:function(B){var A=this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);return(A)?A.slice(1).hexToRgb(B):null},rgbToHex:function(B){var A=this.match(/\d{1,3}/g);return(A)?A.rgbToHex(B):null},stripScripts:function(B){var A="";var C=this.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi,function(){A+=arguments[1]+"\n";return""});if(B===true){$exec(A)}else{if($type(B)=="function"){B(A,C)}}return C},substitute:function(A,B){return this.replace(B||(/\\?\{([^}]+)\}/g),function(D,C){if(D.charAt(0)=="\\"){return D.slice(1)}return(A[C]!=undefined)?A[C]:""})}});Hash.implement({has:Object.prototype.hasOwnProperty,keyOf:function(B){for(var A in this){if(this.hasOwnProperty(A)&&this[A]===B){return A}}return null},hasValue:function(A){return(Hash.keyOf(this,A)!==null)},extend:function(A){Hash.each(A,function(C,B){Hash.set(this,B,C)},this);return this},combine:function(A){Hash.each(A,function(C,B){Hash.include(this,B,C)},this);return this},erase:function(A){if(this.hasOwnProperty(A)){delete this[A]}return this},get:function(A){return(this.hasOwnProperty(A))?this[A]:null},set:function(A,B){if(!this[A]||this.hasOwnProperty(A)){this[A]=B}return this},empty:function(){Hash.each(this,function(B,A){delete this[A]},this);return this},include:function(B,C){var A=this[B];if(A==undefined){this[B]=C}return this},map:function(B,C){var A=new Hash;Hash.each(this,function(E,D){A.set(D,B.call(C,E,D,this))},this);return A},filter:function(B,C){var A=new Hash;Hash.each(this,function(E,D){if(B.call(C,E,D,this)){A.set(D,E)}},this);return A},every:function(B,C){for(var A in this){if(this.hasOwnProperty(A)&&!B.call(C,this[A],A)){return false}}return true},some:function(B,C){for(var A in this){if(this.hasOwnProperty(A)&&B.call(C,this[A],A)){return true}}return false},getKeys:function(){var A=[];Hash.each(this,function(C,B){A.push(B)});return A},getValues:function(){var A=[];Hash.each(this,function(B){A.push(B)});return A},toQueryString:function(A){var B=[];Hash.each(this,function(F,E){if(A){E=A+"["+E+"]"}var D;switch($type(F)){case"object":D=Hash.toQueryString(F,E);break;case"array":var C={};F.each(function(H,G){C[G]=H});D=Hash.toQueryString(C,E);break;default:D=E+"="+encodeURIComponent(F)}if(F!=undefined){B.push(D)}});return B.join("&")}});Hash.alias({keyOf:"indexOf",hasValue:"contains"});var Event=new Native({name:"Event",initialize:function(A,F){F=F||window;var K=F.document;A=A||F.event;if(A.$extended){return A}this.$extended=true;var J=A.type;var G=A.target||A.srcElement;while(G&&G.nodeType==3){G=G.parentNode}if(J.test(/key/)){var B=A.which||A.keyCode;var M=Event.Keys.keyOf(B);if(J=="keydown"){var D=B-111;if(D>0&&D<13){M="f"+D}}M=M||String.fromCharCode(B).toLowerCase()}else{if(J.match(/(click|mouse|menu)/i)){K=(!K.compatMode||K.compatMode=="CSS1Compat")?K.html:K.body;var I={x:A.pageX||A.clientX+K.scrollLeft,y:A.pageY||A.clientY+K.scrollTop};var C={x:(A.pageX)?A.pageX-F.pageXOffset:A.clientX,y:(A.pageY)?A.pageY-F.pageYOffset:A.clientY};if(J.match(/DOMMouseScroll|mousewheel/)){var H=(A.wheelDelta)?A.wheelDelta/120:-(A.detail||0)/3}var E=(A.which==3)||(A.button==2);var L=null;if(J.match(/over|out/)){switch(J){case"mouseover":L=A.relatedTarget||A.fromElement;break;case"mouseout":L=A.relatedTarget||A.toElement}if(!(function(){while(L&&L.nodeType==3){L=L.parentNode}return true}).create({attempt:Browser.Engine.gecko})()){L=false}}}}return $extend(this,{event:A,type:J,page:I,client:C,rightClick:E,wheel:H,relatedTarget:L,target:G,code:B,key:M,shift:A.shiftKey,control:A.ctrlKey,alt:A.altKey,meta:A.metaKey})}});Event.Keys=new Hash({enter:13,up:38,down:40,left:37,right:39,esc:27,space:32,backspace:8,tab:9,"delete":46});Event.implement({stop:function(){return this.stopPropagation().preventDefault()},stopPropagation:function(){if(this.event.stopPropagation){this.event.stopPropagation()}else{this.event.cancelBubble=true}return this},preventDefault:function(){if(this.event.preventDefault){this.event.preventDefault()}else{this.event.returnValue=false}return this}});var Class=new Native({name:"Class",initialize:function(B){B=B||{};var A=function(E){for(var D in this){this[D]=$unlink(this[D])}for(var F in Class.Mutators){if(!this[F]){continue}Class.Mutators[F](this,this[F]);delete this[F]}this.constructor=A;if(E===$empty){return this}var C=(this.initialize)?this.initialize.apply(this,arguments):this;if(this.options&&this.options.initialize){this.options.initialize.call(this)}return C};$extend(A,this);A.constructor=Class;A.prototype=B;return A}});Class.implement({implement:function(){Class.Mutators.Implements(this.prototype,Array.slice(arguments));return this}});Class.Mutators={Implements:function(A,B){$splat(B).each(function(C){$extend(A,($type(C)=="class")?new C($empty):C)})},Extends:function(self,klass){var instance=new klass($empty);delete instance.parent;delete instance.parentOf;for(var key in instance){var current=self[key],previous=instance[key];if(current==undefined){self[key]=previous;continue}var ctype=$type(current),ptype=$type(previous);if(ctype!=ptype){continue}switch(ctype){case"function":if(!arguments.callee.caller){self[key]=eval("("+String(current).replace(/\bthis\.parent\(\s*(\))?/g,function(full,close){return"arguments.callee._parent_.call(this"+(close||", ")})+")")}self[key]._parent_=previous;break;case"object":self[key]=$merge(previous,current)}}self.parent=function(){return arguments.callee.caller._parent_.apply(this,arguments)};self.parentOf=function(descendant){return descendant._parent_.apply(this,Array.slice(arguments,1))}}};var Chain=new Class({chain:function(){this.$chain=(this.$chain||[]).extend(arguments);return this},callChain:function(){return(this.$chain&&this.$chain.length)?this.$chain.shift().apply(this,arguments):false},clearChain:function(){if(this.$chain){this.$chain.empty()}return this}});var Events=new Class({addEvent:function(C,B,A){C=Events.removeOn(C);if(B!=$empty){this.$events=this.$events||{};this.$events[C]=this.$events[C]||[];this.$events[C].include(B);if(A){B.internal=true}}return this},addEvents:function(A){for(var B in A){this.addEvent(B,A[B])}return this},fireEvent:function(C,B,A){C=Events.removeOn(C);if(!this.$events||!this.$events[C]){return this}this.$events[C].each(function(D){D.create({bind:this,delay:A,"arguments":B})()},this);return this},removeEvent:function(B,A){B=Events.removeOn(B);if(!this.$events||!this.$events[B]){return this}if(!A.internal){this.$events[B].erase(A)}return this},removeEvents:function(C){for(var D in this.$events){if(C&&C!=D){continue}var B=this.$events[D];for(var A=B.length;A--;A){this.removeEvent(D,B[A])}}return this}});Events.removeOn=function(A){return A.replace(/^on([A-Z])/,function(B,C){return C.toLowerCase()})};var Options=new Class({setOptions:function(){this.options=$merge.run([this.options].extend(arguments));if(!this.addEvent){return this}for(var A in this.options){if($type(this.options[A])!="function"||!(/^on[A-Z]/).test(A)){continue}this.addEvent(A,this.options[A]);delete this.options[A]}return this}});Document.implement({newElement:function(A,B){if(Browser.Engine.trident&&B){["name","type","checked"].each(function(C){if(!B[C]){return }A+=" "+C+'="'+B[C]+'"';if(C!="checked"){delete B[C]}});A="<"+A+">"}return $.element(this.createElement(A)).set(B)},newTextNode:function(A){return this.createTextNode(A)},getDocument:function(){return this},getWindow:function(){return this.defaultView||this.parentWindow},purge:function(){var C=this.getElementsByTagName("*");for(var B=0,A=C.length;B<A;B++){Browser.freeMem(C[B])}}});var Element=new Native({name:"Element",legacy:window.Element,initialize:function(A,B){var C=Element.Constructors.get(A);if(C){return C(B)}if(typeof A=="string"){return document.newElement(A,B)}return $(A).set(B)},afterImplement:function(A,B){if(!Array[A]){Elements.implement(A,Elements.multi(A))}Element.Prototype[A]=B}});Element.Prototype={$family:{name:"element"}};Element.Constructors=new Hash;var IFrame=new Native({name:"IFrame",generics:false,initialize:function(){var E=Array.link(arguments,{properties:Object.type,iframe:$defined});var C=E.properties||{};var B=$(E.iframe)||false;var D=C.onload||$empty;delete C.onload;C.id=C.name=$pick(C.id,C.name,B.id,B.name,"IFrame_"+$time());B=new Element(B||"iframe",C);var A=function(){var F=$try(function(){return B.contentWindow.location.host});if(F&&F==window.location.host){var H=new Window(B.contentWindow);var G=new Document(B.contentWindow.document);$extend(H.Element.prototype,Element.Prototype)}D.call(B.contentWindow,B.contentWindow.document)};(!window.frames[C.id])?B.addListener("load",A):A();return B}});var Elements=new Native({initialize:function(F,B){B=$extend({ddup:true,cash:true},B);F=F||[];if(B.ddup||B.cash){var G={},E=[];for(var C=0,A=F.length;C<A;C++){var D=$.element(F[C],!B.cash);if(B.ddup){if(G[D.uid]){continue}G[D.uid]=true}E.push(D)}F=E}return(B.cash)?$extend(F,this):F}});Elements.implement({filter:function(A,B){if(!A){return this}return new Elements(Array.filter(this,(typeof A=="string")?function(C){return C.match(A)}:A,B))}});Elements.multi=function(A){return function(){var B=[];var F=true;for(var D=0,C=this.length;D<C;D++){var E=this[D][A].apply(this[D],arguments);B.push(E);if(F){F=($type(E)=="element")}}return(F)?new Elements(B):B}};Window.implement({$:function(B,C){if(B&&B.$family&&B.uid){return B}var A=$type(B);return($[A])?$[A](B,C,this.document):null},$$:function(A){if(arguments.length==1&&typeof A=="string"){return this.document.getElements(A)}var F=[];var C=Array.flatten(arguments);for(var D=0,B=C.length;D<B;D++){var E=C[D];switch($type(E)){case"element":E=[E];break;case"string":E=this.document.getElements(E,true);break;default:E=false}if(E){F.extend(E)}}return new Elements(F)},getDocument:function(){return this.document},getWindow:function(){return this}});$.string=function(C,B,A){C=A.getElementById(C);return(C)?$.element(C,B):null};$.element=function(A,D){$uid(A);if(!D&&!A.$family&&!(/^object|embed$/i).test(A.tagName)){var B=Element.Prototype;for(var C in B){A[C]=B[C]}}return A};$.object=function(B,C,A){if(B.toElement){return $.element(B.toElement(A),C)}return null};$.textnode=$.whitespace=$.window=$.document=$arguments(0);Native.implement([Element,Document],{getElement:function(A,B){return $(this.getElements(A,true)[0]||null,B)},getElements:function(A,D){A=A.split(",");var C=[];var B=(A.length>1);A.each(function(E){var F=this.getElementsByTagName(E.trim());(B)?C.extend(F):C=F},this);return new Elements(C,{ddup:B,cash:!D})}});Element.Storage={get:function(A){return(this[A]||(this[A]={}))}};Element.Inserters=new Hash({before:function(B,A){if(A.parentNode){A.parentNode.insertBefore(B,A)}},after:function(B,A){if(!A.parentNode){return }var C=A.nextSibling;(C)?A.parentNode.insertBefore(B,C):A.parentNode.appendChild(B)},bottom:function(B,A){A.appendChild(B)},top:function(B,A){var C=A.firstChild;(C)?A.insertBefore(B,C):A.appendChild(B)}});Element.Inserters.inside=Element.Inserters.bottom;Element.Inserters.each(function(C,B){var A=B.capitalize();Element.implement("inject"+A,function(D){C(this,$(D,true));return this});Element.implement("grab"+A,function(D){C($(D,true),this);return this})});Element.implement({getDocument:function(){return this.ownerDocument},getWindow:function(){return this.ownerDocument.getWindow()},getElementById:function(D,C){var B=this.ownerDocument.getElementById(D);if(!B){return null}for(var A=B.parentNode;A!=this;A=A.parentNode){if(!A){return null}}return $.element(B,C)},set:function(D,B){switch($type(D)){case"object":for(var C in D){this.set(C,D[C])}break;case"string":var A=Element.Properties.get(D);(A&&A.set)?A.set.apply(this,Array.slice(arguments,1)):this.setProperty(D,B)}return this},get:function(B){var A=Element.Properties.get(B);return(A&&A.get)?A.get.apply(this,Array.slice(arguments,1)):this.getProperty(B)},erase:function(B){var A=Element.Properties.get(B);(A&&A.erase)?A.erase.apply(this,Array.slice(arguments,1)):this.removeProperty(B);return this},match:function(A){return(!A||Element.get(this,"tag")==A)},inject:function(B,A){Element.Inserters.get(A||"bottom")(this,$(B,true));return this},wraps:function(B,A){B=$(B,true);return this.replaces(B).grab(B,A)},grab:function(B,A){Element.Inserters.get(A||"bottom")($(B,true),this);return this},appendText:function(B,A){return this.grab(this.getDocument().newTextNode(B),A)},adopt:function(){Array.flatten(arguments).each(function(A){A=$(A,true);if(A){this.appendChild(A)}},this);return this},dispose:function(){return(this.parentNode)?this.parentNode.removeChild(this):this},clone:function(D,C){switch($type(this)){case"element":var H={};for(var G=0,E=this.attributes.length;G<E;G++){var B=this.attributes[G],L=B.nodeName.toLowerCase();if(Browser.Engine.trident&&(/input/i).test(this.tagName)&&(/width|height/).test(L)){continue}var K=(L=="style"&&this.style)?this.style.cssText:B.nodeValue;if(!$chk(K)||L=="uid"||(L=="id"&&!C)){continue}if(K!="inherit"&&["string","number"].contains($type(K))){H[L]=K}}var J=new Element(this.nodeName.toLowerCase(),H);if(D!==false){for(var I=0,F=this.childNodes.length;I<F;I++){var A=Element.clone(this.childNodes[I],true,C);if(A){J.grab(A)}}}return J;case"textnode":return document.newTextNode(this.nodeValue)}return null},replaces:function(A){A=$(A,true);A.parentNode.replaceChild(this,A);return this},hasClass:function(A){return this.className.contains(A," ")},addClass:function(A){if(!this.hasClass(A)){this.className=(this.className+" "+A).clean()}return this},removeClass:function(A){this.className=this.className.replace(new RegExp("(^|\\s)"+A+"(?:\\s|$)"),"$1").clean();return this},toggleClass:function(A){return this.hasClass(A)?this.removeClass(A):this.addClass(A)},getComputedStyle:function(B){if(this.currentStyle){return this.currentStyle[B.camelCase()]}var A=this.getWindow().getComputedStyle(this,null);return(A)?A.getPropertyValue([B.hyphenate()]):null},empty:function(){$A(this.childNodes).each(function(A){Browser.freeMem(A);Element.empty(A);Element.dispose(A)},this);return this},destroy:function(){Browser.freeMem(this.empty().dispose());return null},getSelected:function(){return new Elements($A(this.options).filter(function(A){return A.selected}))},toQueryString:function(){var A=[];this.getElements("input, select, textarea").each(function(B){if(!B.name||B.disabled){return }var C=(B.tagName.toLowerCase()=="select")?Element.getSelected(B).map(function(D){return D.value}):((B.type=="radio"||B.type=="checkbox")&&!B.checked)?null:B.value;$splat(C).each(function(D){if(D){A.push(B.name+"="+encodeURIComponent(D))}})});return A.join("&")},getProperty:function(C){var B=Element.Attributes,A=B.Props[C];var D=(A)?this[A]:this.getAttribute(C,2);return(B.Bools[C])?!!D:(A)?D:D||null},getProperties:function(){var A=$A(arguments);return A.map(function(B){return this.getProperty(B)},this).associate(A)},setProperty:function(D,E){var C=Element.Attributes,B=C.Props[D],A=$defined(E);if(B&&C.Bools[D]){E=(E||!A)?true:false}else{if(!A){return this.removeProperty(D)}}(B)?this[B]=E:this.setAttribute(D,E);return this},setProperties:function(A){for(var B in A){this.setProperty(B,A[B])}return this},removeProperty:function(D){var C=Element.Attributes,B=C.Props[D],A=(B&&C.Bools[D]);(B)?this[B]=(A)?false:"":this.removeAttribute(D);return this},removeProperties:function(){Array.each(arguments,this.removeProperty,this);return this}});(function(){var A=function(D,B,I,C,F,H){var E=D[I||B];var G=[];while(E){if(E.nodeType==1&&(!C||Element.match(E,C))){G.push(E);if(!F){break}}E=E[B]}return(F)?new Elements(G,{ddup:false,cash:!H}):$(G[0],H)};Element.implement({getPrevious:function(B,C){return A(this,"previousSibling",null,B,false,C)},getAllPrevious:function(B,C){return A(this,"previousSibling",null,B,true,C)},getNext:function(B,C){return A(this,"nextSibling",null,B,false,C)},getAllNext:function(B,C){return A(this,"nextSibling",null,B,true,C)},getFirst:function(B,C){return A(this,"nextSibling","firstChild",B,false,C)},getLast:function(B,C){return A(this,"previousSibling","lastChild",B,false,C)},getParent:function(B,C){return A(this,"parentNode",null,B,false,C)},getParents:function(B,C){return A(this,"parentNode",null,B,true,C)},getChildren:function(B,C){return A(this,"nextSibling","firstChild",B,true,C)},hasChild:function(B){B=$(B,true);return(!!B&&$A(this.getElementsByTagName(B.tagName)).contains(B))}})})();Element.Properties=new Hash;Element.Properties.style={set:function(A){this.style.cssText=A},get:function(){return this.style.cssText},erase:function(){this.style.cssText=""}};Element.Properties.tag={get:function(){return this.tagName.toLowerCase()}};Element.Properties.href={get:function(){return(!this.href)?null:this.href.replace(new RegExp("^"+document.location.protocol+"//"+document.location.host),"")}};Element.Properties.html={set:function(){return this.innerHTML=Array.flatten(arguments).join("")}};Native.implement([Element,Window,Document],{addListener:function(B,A){if(this.addEventListener){this.addEventListener(B,A,false)}else{this.attachEvent("on"+B,A)}return this},removeListener:function(B,A){if(this.removeEventListener){this.removeEventListener(B,A,false)}else{this.detachEvent("on"+B,A)}return this},retrieve:function(B,A){var D=Element.Storage.get(this.uid);var C=D[B];if($defined(A)&&!$defined(C)){C=D[B]=A}return $pick(C)},store:function(B,A){var C=Element.Storage.get(this.uid);C[B]=A;return this},eliminate:function(A){var B=Element.Storage.get(this.uid);delete B[A];return this}});Element.Attributes=new Hash({Props:{html:"innerHTML","class":"className","for":"htmlFor",text:(Browser.Engine.trident)?"innerText":"textContent"},Bools:["compact","nowrap","ismap","declare","noshade","checked","disabled","readonly","multiple","selected","noresize","defer"],Camels:["value","accessKey","cellPadding","cellSpacing","colSpan","frameBorder","maxLength","readOnly","rowSpan","tabIndex","useMap"]});Browser.freeMem=function(A){if(!A){return }if(Browser.Engine.trident&&(/object/i).test(A.tagName)){for(var B in A){if(typeof A[B]=="function"){A[B]=$empty}}Element.dispose(A)}if(A.uid&&A.removeEvents){A.removeEvents()}};(function(B){var C=B.Bools,A=B.Camels;B.Bools=C=C.associate(C);Hash.extend(Hash.combine(B.Props,C),A.associate(A.map(function(D){return D.toLowerCase()})));B.erase("Camels")})(Element.Attributes);window.addListener("unload",function(){window.removeListener("unload",arguments.callee);document.purge();if(Browser.Engine.trident){CollectGarbage()}});Element.Properties.events={set:function(A){this.addEvents(A)}};Native.implement([Element,Window,Document],{addEvent:function(E,G){var H=this.retrieve("events",{});H[E]=H[E]||{keys:[],values:[]};if(H[E].keys.contains(G)){return this}H[E].keys.push(G);var F=E,A=Element.Events.get(E),C=G,I=this;if(A){if(A.onAdd){A.onAdd.call(this,G)}if(A.condition){C=function(J){if(A.condition.call(this,J)){return G.call(this,J)}return false}}F=A.base||F}var D=function(){return G.call(I)};var B=Element.NativeEvents[F]||0;if(B){if(B==2){D=function(J){J=new Event(J,I.getWindow());if(C.call(I,J)===false){J.stop()}}}this.addListener(F,D)}H[E].values.push(D);return this},removeEvent:function(D,C){var B=this.retrieve("events");if(!B||!B[D]){return this}var G=B[D].keys.indexOf(C);if(G==-1){return this}var A=B[D].keys.splice(G,1)[0];var F=B[D].values.splice(G,1)[0];var E=Element.Events.get(D);if(E){if(E.onRemove){E.onRemove.call(this,C)}D=E.base||D}return(Element.NativeEvents[D])?this.removeListener(D,F):this},addEvents:function(A){for(var B in A){this.addEvent(B,A[B])}return this},removeEvents:function(B){var A=this.retrieve("events");if(!A){return this}if(!B){for(var C in A){this.removeEvents(C)}A=null}else{if(A[B]){while(A[B].keys[0]){this.removeEvent(B,A[B].keys[0])}A[B]=null}}return this},fireEvent:function(D,B,A){var C=this.retrieve("events");if(!C||!C[D]){return this}C[D].keys.each(function(E){E.create({bind:this,delay:A,"arguments":B})()},this);return this},cloneEvents:function(D,A){D=$(D);var C=D.retrieve("events");if(!C){return this}if(!A){for(var B in C){this.cloneEvents(D,B)}}else{if(C[A]){C[A].keys.each(function(E){this.addEvent(A,E)},this)}}return this}});Element.NativeEvents={click:2,dblclick:2,mouseup:2,mousedown:2,contextmenu:2,mousewheel:2,DOMMouseScroll:2,mouseover:2,mouseout:2,mousemove:2,selectstart:2,selectend:2,keydown:2,keypress:2,keyup:2,focus:2,blur:2,change:2,reset:2,select:2,submit:2,load:1,unload:1,beforeunload:2,resize:1,move:1,DOMContentLoaded:1,readystatechange:1,error:1,abort:1,scroll:1};(function(){var A=function(B){var C=B.relatedTarget;if(C==undefined){return true}if(C===false){return false}return($type(this)!="document"&&C!=this&&C.prefix!="xul"&&!this.hasChild(C))};Element.Events=new Hash({mouseenter:{base:"mouseover",condition:A},mouseleave:{base:"mouseout",condition:A},mousewheel:{base:(Browser.Engine.gecko)?"DOMMouseScroll":"mousewheel"}})})();Element.Properties.styles={set:function(A){this.setStyles(A)}};Element.Properties.opacity={set:function(A,B){if(!B){if(A==0){if(this.style.visibility!="hidden"){this.style.visibility="hidden"}}else{if(this.style.visibility!="visible"){this.style.visibility="visible"}}}if(!this.currentStyle||!this.currentStyle.hasLayout){this.style.zoom=1}if(Browser.Engine.trident){this.style.filter=(A==1)?"":"alpha(opacity="+A*100+")"}this.style.opacity=A;this.store("opacity",A)},get:function(){return this.retrieve("opacity",1)}};Element.implement({setOpacity:function(A){return this.set("opacity",A,true)},getOpacity:function(){return this.get("opacity")},setStyle:function(B,A){switch(B){case"opacity":return this.set("opacity",parseFloat(A));case"float":B=(Browser.Engine.trident)?"styleFloat":"cssFloat"}B=B.camelCase();if($type(A)!="string"){var C=(Element.Styles.get(B)||"@").split(" ");A=$splat(A).map(function(E,D){if(!C[D]){return""}return($type(E)=="number")?C[D].replace("@",Math.round(E)):E}).join(" ")}else{if(A==String(Number(A))){A=Math.round(A)}}this.style[B]=A;return this},getStyle:function(G){switch(G){case"opacity":return this.get("opacity");case"float":G=(Browser.Engine.trident)?"styleFloat":"cssFloat"}G=G.camelCase();var A=this.style[G];if(!$chk(A)){A=[];for(var F in Element.ShortStyles){if(G!=F){continue}for(var E in Element.ShortStyles[F]){A.push(this.getStyle(E))}return A.join(" ")}A=this.getComputedStyle(G)}if(A){A=String(A);var C=A.match(/rgba?\([\d\s,]+\)/);if(C){A=A.replace(C[0],C[0].rgbToHex())}}if(Browser.Engine.presto||(Browser.Engine.trident&&!$chk(parseInt(A)))){if(G.test(/^(height|width)$/)){var B=(G=="width")?["left","right"]:["top","bottom"],D=0;B.each(function(H){D+=this.getStyle("border-"+H+"-width").toInt()+this.getStyle("padding-"+H).toInt()},this);return this["offset"+G.capitalize()]-D+"px"}if(Browser.Engine.presto&&String(A).test("px")){return A}if(G.test(/(border(.+)Width|margin|padding)/)){return"0px"}}return A},setStyles:function(B){for(var A in B){this.setStyle(A,B[A])}return this},getStyles:function(){var A={};Array.each(arguments,function(B){A[B]=this.getStyle(B)},this);return A}});Element.Styles=new Hash({left:"@px",top:"@px",bottom:"@px",right:"@px",width:"@px",height:"@px",maxWidth:"@px",maxHeight:"@px",minWidth:"@px",minHeight:"@px",backgroundColor:"rgb(@, @, @)",backgroundPosition:"@px @px",color:"rgb(@, @, @)",fontSize:"@px",letterSpacing:"@px",lineHeight:"@px",clip:"rect(@px @px @px @px)",margin:"@px @px @px @px",padding:"@px @px @px @px",border:"@px @ rgb(@, @, @) @px @ rgb(@, @, @) @px @ rgb(@, @, @)",borderWidth:"@px @px @px @px",borderStyle:"@ @ @ @",borderColor:"rgb(@, @, @) rgb(@, @, @) rgb(@, @, @) rgb(@, @, @)",zIndex:"@",zoom:"@",fontWeight:"@",textIndent:"@px",opacity:"@"});Element.ShortStyles={margin:{},padding:{},border:{},borderWidth:{},borderStyle:{},borderColor:{}};["Top","Right","Bottom","Left"].each(function(G){var F=Element.ShortStyles;var B=Element.Styles;["margin","padding"].each(function(H){var I=H+G;F[H][I]=B[I]="@px"});var E="border"+G;F.border[E]=B[E]="@px @ rgb(@, @, @)";var D=E+"Width",A=E+"Style",C=E+"Color";F[E]={};F.borderWidth[D]=F[E][D]=B[D]="@px";F.borderStyle[A]=F[E][A]=B[A]="@";F.borderColor[C]=F[E][C]=B[C]="rgb(@, @, @)"});(function(){Element.implement({scrollTo:function(H,I){if(B(this)){this.getWindow().scrollTo(H,I)}else{this.scrollLeft=H;this.scrollTop=I}return this},getSize:function(){if(B(this)){return this.getWindow().getSize()}return{x:this.offsetWidth,y:this.offsetHeight}},getScrollSize:function(){if(B(this)){return this.getWindow().getScrollSize()}return{x:this.scrollWidth,y:this.scrollHeight}},getScroll:function(){if(B(this)){return this.getWindow().getScroll()}return{x:this.scrollLeft,y:this.scrollTop}},getScrolls:function(){var I=this,H={x:0,y:0};while(I&&!B(I)){H.x+=I.scrollLeft;H.y+=I.scrollTop;I=I.parentNode}return H},getOffsetParent:function(){var H=this;if(B(H)){return null}if(!Browser.Engine.trident){return H.offsetParent}while((H=H.parentNode)&&!B(H)){if(D(H,"position")!="static"){return H}}return null},getOffsets:function(){var I=this,H={x:0,y:0};if(B(this)){return H}while(I&&!B(I)){H.x+=I.offsetLeft;H.y+=I.offsetTop;if(Browser.Engine.gecko){if(!F(I)){H.x+=C(I);H.y+=G(I)}var J=I.parentNode;if(J&&D(J,"overflow")!="visible"){H.x+=C(J);H.y+=G(J)}}else{if(I!=this&&(Browser.Engine.trident||Browser.Engine.webkit)){H.x+=C(I);H.y+=G(I)}}I=I.offsetParent;if(Browser.Engine.trident){while(I&&!I.currentStyle.hasLayout){I=I.offsetParent}}}if(Browser.Engine.gecko&&!F(this)){H.x-=C(this);H.y-=G(this)}return H},getPosition:function(K){if(B(this)){return{x:0,y:0}}var L=this.getOffsets(),I=this.getScrolls();var H={x:L.x-I.x,y:L.y-I.y};var J=(K&&(K=$(K)))?K.getPosition():{x:0,y:0};return{x:H.x-J.x,y:H.y-J.y}},getCoordinates:function(J){if(B(this)){return this.getWindow().getCoordinates()}var H=this.getPosition(J),I=this.getSize();var K={left:H.x,top:H.y,width:I.x,height:I.y};K.right=K.left+K.width;K.bottom=K.top+K.height;return K},computePosition:function(H){return{left:H.x-E(this,"margin-left"),top:H.y-E(this,"margin-top")}},position:function(H){return this.setStyles(this.computePosition(H))}});Native.implement([Document,Window],{getSize:function(){var I=this.getWindow();if(Browser.Engine.presto||Browser.Engine.webkit){return{x:I.innerWidth,y:I.innerHeight}}var H=A(this);return{x:H.clientWidth,y:H.clientHeight}},getScroll:function(){var I=this.getWindow();var H=A(this);return{x:I.pageXOffset||H.scrollLeft,y:I.pageYOffset||H.scrollTop}},getScrollSize:function(){var I=A(this);var H=this.getSize();return{x:Math.max(I.scrollWidth,H.x),y:Math.max(I.scrollHeight,H.y)}},getPosition:function(){return{x:0,y:0}},getCoordinates:function(){var H=this.getSize();return{top:0,left:0,bottom:H.y,right:H.x,height:H.y,width:H.x}}});var D=Element.getComputedStyle;function E(H,I){return D(H,I).toInt()||0}function F(H){return D(H,"-moz-box-sizing")=="border-box"}function G(H){return E(H,"border-top-width")}function C(H){return E(H,"border-left-width")}function B(H){return(/^(?:body|html)$/i).test(H.tagName)}function A(H){var I=H.getDocument();return(!I.compatMode||I.compatMode=="CSS1Compat")?I.html:I.body}})();Native.implement([Window,Document,Element],{getHeight:function(){return this.getSize().y},getWidth:function(){return this.getSize().x},getScrollTop:function(){return this.getScroll().y},getScrollLeft:function(){return this.getScroll().x},getScrollHeight:function(){return this.getScrollSize().y},getScrollWidth:function(){return this.getScrollSize().x},getTop:function(){return this.getPosition().y},getLeft:function(){return this.getPosition().x}});Native.implement([Document,Element],{getElements:function(H,G){H=H.split(",");var C,E={};for(var D=0,B=H.length;D<B;D++){var A=H[D],F=Selectors.Utils.search(this,A,E);if(D!=0&&F.item){F=$A(F)}C=(D==0)?F:(C.item)?$A(C).concat(F):C.concat(F)}return new Elements(C,{ddup:(H.length>1),cash:!G})}});Element.implement({match:function(B){if(!B){return true}var D=Selectors.Utils.parseTagAndID(B);var A=D[0],E=D[1];if(!Selectors.Filters.byID(this,E)||!Selectors.Filters.byTag(this,A)){return false}var C=Selectors.Utils.parseSelector(B);return(C)?Selectors.Utils.filter(this,C,{}):true}});var Selectors={Cache:{nth:{},parsed:{}}};Selectors.RegExps={id:(/#([\w-]+)/),tag:(/^(\w+|\*)/),quick:(/^(\w+|\*)$/),splitter:(/\s*([+>~\s])\s*([a-zA-Z#.*:\[])/g),combined:(/\.([\w-]+)|\[(\w+)(?:([!*^$~|]?=)["']?(.*?)["']?)?\]|:([\w-]+)(?:\(["']?(.*?)?["']?\)|$)/g)};Selectors.Utils={chk:function(B,C){if(!C){return true}var A=$uid(B);if(!C[A]){return C[A]=true}return false},parseNthArgument:function(F){if(Selectors.Cache.nth[F]){return Selectors.Cache.nth[F]}var C=F.match(/^([+-]?\d*)?([a-z]+)?([+-]?\d*)?$/);if(!C){return false}var E=parseInt(C[1]);var B=(E||E===0)?E:1;var D=C[2]||false;var A=parseInt(C[3])||0;if(B!=0){A--;while(A<1){A+=B}while(A>=B){A-=B}}else{B=A;D="index"}switch(D){case"n":C={a:B,b:A,special:"n"};break;case"odd":C={a:2,b:0,special:"n"};break;case"even":C={a:2,b:1,special:"n"};break;case"first":C={a:0,special:"index"};break;case"last":C={special:"last-child"};break;case"only":C={special:"only-child"};break;default:C={a:(B-1),special:"index"}}return Selectors.Cache.nth[F]=C},parseSelector:function(E){if(Selectors.Cache.parsed[E]){return Selectors.Cache.parsed[E]}var D,H={classes:[],pseudos:[],attributes:[]};while((D=Selectors.RegExps.combined.exec(E))){var I=D[1],G=D[2],F=D[3],B=D[4],C=D[5],J=D[6];if(I){H.classes.push(I)}else{if(C){var A=Selectors.Pseudo.get(C);if(A){H.pseudos.push({parser:A,argument:J})}else{H.attributes.push({name:C,operator:"=",value:J})}}else{if(G){H.attributes.push({name:G,operator:F,value:B})}}}}if(!H.classes.length){delete H.classes}if(!H.attributes.length){delete H.attributes}if(!H.pseudos.length){delete H.pseudos}if(!H.classes&&!H.attributes&&!H.pseudos){H=null}return Selectors.Cache.parsed[E]=H},parseTagAndID:function(B){var A=B.match(Selectors.RegExps.tag);var C=B.match(Selectors.RegExps.id);return[(A)?A[1]:"*",(C)?C[1]:false]},filter:function(F,C,E){var D;if(C.classes){for(D=C.classes.length;D--;D){var G=C.classes[D];if(!Selectors.Filters.byClass(F,G)){return false}}}if(C.attributes){for(D=C.attributes.length;D--;D){var B=C.attributes[D];if(!Selectors.Filters.byAttribute(F,B.name,B.operator,B.value)){return false}}}if(C.pseudos){for(D=C.pseudos.length;D--;D){var A=C.pseudos[D];if(!Selectors.Filters.byPseudo(F,A.parser,A.argument,E)){return false}}}return true},getByTagAndID:function(B,A,D){if(D){var C=(B.getElementById)?B.getElementById(D,true):Element.getElementById(B,D,true);return(C&&Selectors.Filters.byTag(C,A))?[C]:[]}else{return B.getElementsByTagName(A)}},search:function(J,I,O){var B=[];var C=I.trim().replace(Selectors.RegExps.splitter,function(Z,Y,X){B.push(Y);return":)"+X}).split(":)");var K,F,E,V;for(var U=0,Q=C.length;U<Q;U++){var T=C[U];if(U==0&&Selectors.RegExps.quick.test(T)){K=J.getElementsByTagName(T);continue}var A=B[U-1];var L=Selectors.Utils.parseTagAndID(T);var W=L[0],M=L[1];if(U==0){K=Selectors.Utils.getByTagAndID(J,W,M)}else{var D={},H=[];for(var S=0,R=K.length;S<R;S++){H=Selectors.Getters[A](H,K[S],W,M,D)}K=H}var G=Selectors.Utils.parseSelector(T);if(G){E=[];for(var P=0,N=K.length;P<N;P++){V=K[P];if(Selectors.Utils.filter(V,G,O)){E.push(V)}}K=E}}return K}};Selectors.Getters={" ":function(H,G,I,A,E){var D=Selectors.Utils.getByTagAndID(G,I,A);for(var C=0,B=D.length;C<B;C++){var F=D[C];if(Selectors.Utils.chk(F,E)){H.push(F)}}return H},">":function(H,G,I,A,F){var C=Selectors.Utils.getByTagAndID(G,I,A);for(var E=0,D=C.length;E<D;E++){var B=C[E];if(B.parentNode==G&&Selectors.Utils.chk(B,F)){H.push(B)}}return H},"+":function(C,B,A,E,D){while((B=B.nextSibling)){if(B.nodeType==1){if(Selectors.Utils.chk(B,D)&&Selectors.Filters.byTag(B,A)&&Selectors.Filters.byID(B,E)){C.push(B)}break}}return C},"~":function(C,B,A,E,D){while((B=B.nextSibling)){if(B.nodeType==1){if(!Selectors.Utils.chk(B,D)){break}if(Selectors.Filters.byTag(B,A)&&Selectors.Filters.byID(B,E)){C.push(B)}}}return C}};Selectors.Filters={byTag:function(B,A){return(A=="*"||(B.tagName&&B.tagName.toLowerCase()==A))},byID:function(A,B){return(!B||(A.id&&A.id==B))},byClass:function(B,A){return(B.className&&B.className.contains(A," "))},byPseudo:function(A,D,C,B){return D.call(A,C,B)},byAttribute:function(C,D,B,E){var A=Element.prototype.getProperty.call(C,D);if(!A){return false}if(!B||E==undefined){return true}switch(B){case"=":return(A==E);case"*=":return(A.contains(E));case"^=":return(A.substr(0,E.length)==E);case"$=":return(A.substr(A.length-E.length)==E);case"!=":return(A!=E);case"~=":return A.contains(E," ");case"|=":return A.contains(E,"-")}return false}};Selectors.Pseudo=new Hash({empty:function(){return !(this.innerText||this.textContent||"").length},not:function(A){return !Element.match(this,A)},contains:function(A){return(this.innerText||this.textContent||"").contains(A)},"first-child":function(){return Selectors.Pseudo.index.call(this,0)},"last-child":function(){var A=this;while((A=A.nextSibling)){if(A.nodeType==1){return false}}return true},"only-child":function(){var B=this;while((B=B.previousSibling)){if(B.nodeType==1){return false}}var A=this;while((A=A.nextSibling)){if(A.nodeType==1){return false}}return true},"nth-child":function(G,E){G=(G==undefined)?"n":G;var C=Selectors.Utils.parseNthArgument(G);if(C.special!="n"){return Selectors.Pseudo[C.special].call(this,C.a,E)}var F=0;E.positions=E.positions||{};var D=$uid(this);if(!E.positions[D]){var B=this;while((B=B.previousSibling)){if(B.nodeType!=1){continue}F++;var A=E.positions[$uid(B)];if(A!=undefined){F=A+F;break}}E.positions[D]=F}return(E.positions[D]%C.a==C.b)},index:function(A){var B=this,C=0;while((B=B.previousSibling)){if(B.nodeType==1&&++C>A){return false}}return(C==A)},even:function(B,A){return Selectors.Pseudo["nth-child"].call(this,"2n+1",A)},odd:function(B,A){return Selectors.Pseudo["nth-child"].call(this,"2n",A)}});Element.Events.domready={onAdd:function(A){if(Browser.loaded){A.call(this)}}};(function(){var B=function(){if(Browser.loaded){return }Browser.loaded=true;window.fireEvent("domready");document.fireEvent("domready")};switch(Browser.Engine.name){case"webkit":(function(){(["loaded","complete"].contains(document.readyState))?B():arguments.callee.delay(50)})();break;case"trident":var A=document.createElement("div");(function(){($try(function(){A.doScroll("left");return $(A).inject(document.body).set("html","temp").dispose()}))?B():arguments.callee.delay(50)})();break;default:window.addEvent("load",B);document.addEvent("DOMContentLoaded",B)}})();var JSON=new Hash({encode:function(B){switch($type(B)){case"string":return'"'+B.replace(/[\x00-\x1f\\"]/g,JSON.$replaceChars)+'"';case"array":return"["+String(B.map(JSON.encode).filter($defined))+"]";case"object":case"hash":var A=[];Hash.each(B,function(E,D){var C=JSON.encode(E);if(C){A.push(JSON.encode(D)+":"+C)}});return"{"+A+"}";case"number":case"boolean":return String(B);case false:return"null"}return null},$specialChars:{"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},$replaceChars:function(A){return JSON.$specialChars[A]||"\\u00"+Math.floor(A.charCodeAt()/16).toString(16)+(A.charCodeAt()%16).toString(16)},decode:function(string,secure){if($type(string)!="string"||!string.length){return null}if(secure&&!(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(string.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,""))){return null}return eval("("+string+")")}});Native.implement([Hash,Array,String,Number],{toJSON:function(){return JSON.encode(this)}});var Cookie=new Class({Implements:Options,options:{path:false,domain:false,duration:false,secure:false,document:document},initialize:function(B,A){this.key=B;this.setOptions(A)},write:function(B){B=encodeURIComponent(B);if(this.options.domain){B+="; domain="+this.options.domain}if(this.options.path){B+="; path="+this.options.path}if(this.options.duration){var A=new Date();A.setTime(A.getTime()+this.options.duration*24*60*60*1000);B+="; expires="+A.toGMTString()}if(this.options.secure){B+="; secure"}this.options.document.cookie=this.key+"="+B;return this},read:function(){var A=this.options.document.cookie.match("(?:^|;)\\s*"+this.key.escapeRegExp()+"=([^;]*)");return(A)?decodeURIComponent(A[1]):null},dispose:function(){new Cookie(this.key,$merge(this.options,{duration:-1})).write("");return this}});Cookie.write=function(B,C,A){return new Cookie(B,A).write(C)};Cookie.read=function(A){return new Cookie(A).read()};Cookie.dispose=function(B,A){return new Cookie(B,A).dispose()};var Swiff=new Class({Implements:[Options],options:{id:null,height:1,width:1,container:null,properties:{},params:{quality:"high",allowScriptAccess:"always",wMode:"transparent",swLiveConnect:true},callBacks:{},vars:{}},toElement:function(){return this.object},initialize:function(L,M){this.instance="Swiff_"+$time();this.setOptions(M);M=this.options;var B=this.id=M.id||this.instance;var A=$(M.container);Swiff.CallBacks[this.instance]={};var E=M.params,G=M.vars,F=M.callBacks;var H=$extend({height:M.height,width:M.width},M.properties);var K=this;for(var D in F){Swiff.CallBacks[this.instance][D]=(function(N){return function(){return N.apply(K.object,arguments)}})(F[D]);G[D]="Swiff.CallBacks."+this.instance+"."+D}E.flashVars=Hash.toQueryString(G);if(Browser.Engine.trident){H.classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";E.movie=L}else{H.type="application/x-shockwave-flash";H.data=L}var J='<object id="'+B+'"';for(var I in H){J+=" "+I+'="'+H[I]+'"'}J+=">";for(var C in E){if(E[C]){J+='<param name="'+C+'" value="'+E[C]+'" />'}}J+="</object>";this.object=((A)?A.empty():new Element("div")).set("html",J).firstChild},replaces:function(A){A=$(A,true);A.parentNode.replaceChild(this.toElement(),A);return this},inject:function(A){$(A,true).appendChild(this.toElement());return this},remote:function(){return Swiff.remote.apply(Swiff,[this.toElement()].extend(arguments))}});Swiff.CallBacks={};Swiff.remote=function(obj,fn){var rs=obj.CallFunction('<invoke name="'+fn+'" returntype="javascript">'+__flash__argumentsToXML(arguments,2)+"</invoke>");return eval(rs)};var Fx=new Class({Implements:[Chain,Events,Options],options:{fps:50,unit:false,duration:500,link:"ignore",transition:function(A){return -(Math.cos(Math.PI*A)-1)/2}},initialize:function(A){this.subject=this.subject||this;this.setOptions(A);this.options.duration=Fx.Durations[this.options.duration]||this.options.duration.toInt();var B=this.options.wait;if(B===false){this.options.link="cancel"}},step:function(){var A=$time();if(A<this.time+this.options.duration){var B=this.options.transition((A-this.time)/this.options.duration);this.set(this.compute(this.from,this.to,B))}else{this.set(this.compute(this.from,this.to,1));this.complete()}},set:function(A){return A},compute:function(C,B,A){return Fx.compute(C,B,A)},check:function(A){if(!this.timer){return true}switch(this.options.link){case"cancel":this.cancel();return true;case"chain":this.chain(A.bind(this,Array.slice(arguments,1)));return false}return false},start:function(B,A){if(!this.check(arguments.callee,B,A)){return this}this.from=B;this.to=A;this.time=0;this.startTimer();this.onStart();return this},complete:function(){if(this.stopTimer()){this.onComplete()}return this},cancel:function(){if(this.stopTimer()){this.onCancel()}return this},onStart:function(){this.fireEvent("start",this.subject)},onComplete:function(){this.fireEvent("complete",this.subject);if(!this.callChain()){this.fireEvent("chainComplete",this.subject)}},onCancel:function(){this.fireEvent("cancel",this.subject).clearChain()},pause:function(){this.stopTimer();return this},resume:function(){this.startTimer();return this},stopTimer:function(){if(!this.timer){return false}this.time=$time()-this.time;this.timer=$clear(this.timer);return true},startTimer:function(){if(this.timer){return false}this.time=$time()-this.time;this.timer=this.step.periodical(Math.round(1000/this.options.fps),this);return true}});Fx.compute=function(C,B,A){return(B-C)*A+C};Fx.Durations={"short":250,normal:500,"long":1000};Fx.CSS=new Class({Extends:Fx,prepare:function(D,E,B){B=$splat(B);var C=B[1];if(!$chk(C)){B[1]=B[0];B[0]=D.getStyle(E)}var A=B.map(this.parse);return{from:A[0],to:A[1]}},parse:function(A){A=$lambda(A)();A=(typeof A=="string")?A.split(" "):$splat(A);return A.map(function(C){C=String(C);var B=false;Fx.CSS.Parsers.each(function(F,E){if(B){return }var D=F.parse(C);if($chk(D)){B={value:D,parser:F}}});B=B||{value:C,parser:Fx.CSS.Parsers.String};return B})},compute:function(D,C,B){var A=[];(Math.min(D.length,C.length)).times(function(E){A.push({value:D[E].parser.compute(D[E].value,C[E].value,B),parser:D[E].parser})});A.$family={name:"fx:css:value"};return A},serve:function(C,B){if($type(C)!="fx:css:value"){C=this.parse(C)}var A=[];C.each(function(D){A=A.concat(D.parser.serve(D.value,B))});return A},render:function(A,D,C,B){A.setStyle(D,this.serve(C,B))},search:function(A){if(Fx.CSS.Cache[A]){return Fx.CSS.Cache[A]}var B={};Array.each(document.styleSheets,function(E,D){var C=E.href;if(C&&C.contains("://")&&!C.contains(document.domain)){return }var F=E.rules||E.cssRules;Array.each(F,function(I,G){if(!I.style){return }var H=(I.selectorText)?I.selectorText.replace(/^\w+/,function(J){return J.toLowerCase()}):null;if(!H||!H.test("^"+A+"$")){return }Element.Styles.each(function(K,J){if(!I.style[J]||Element.ShortStyles[J]){return }K=String(I.style[J]);B[J]=(K.test(/^rgb/))?K.rgbToHex():K})})});return Fx.CSS.Cache[A]=B}});Fx.CSS.Cache={};Fx.CSS.Parsers=new Hash({Color:{parse:function(A){if(A.match(/^#[0-9a-f]{3,6}$/i)){return A.hexToRgb(true)}return((A=A.match(/(\d+),\s*(\d+),\s*(\d+)/)))?[A[1],A[2],A[3]]:false},compute:function(C,B,A){return C.map(function(E,D){return Math.round(Fx.compute(C[D],B[D],A))})},serve:function(A){return A.map(Number)}},Number:{parse:parseFloat,compute:Fx.compute,serve:function(B,A){return(A)?B+A:B}},String:{parse:$lambda(false),compute:$arguments(1),serve:$arguments(0)}});Fx.Tween=new Class({Extends:Fx.CSS,initialize:function(B,A){this.element=this.subject=$(B);this.parent(A)},set:function(B,A){if(arguments.length==1){A=B;B=this.property||this.options.property}this.render(this.element,B,A,this.options.unit);return this},start:function(C,E,D){if(!this.check(arguments.callee,C,E,D)){return this}var B=Array.flatten(arguments);this.property=this.options.property||B.shift();var A=this.prepare(this.element,this.property,B);return this.parent(A.from,A.to)}});Element.Properties.tween={set:function(A){var B=this.retrieve("tween");if(B){B.cancel()}return this.eliminate("tween").store("tween:options",$extend({link:"cancel"},A))},get:function(A){if(A||!this.retrieve("tween")){if(A||!this.retrieve("tween:options")){this.set("tween",A)}this.store("tween",new Fx.Tween(this,this.retrieve("tween:options")))}return this.retrieve("tween")}};Element.implement({tween:function(A,C,B){this.get("tween").start(arguments);return this},fade:function(C){var E=this.get("tween"),D="opacity",A;C=$pick(C,"toggle");switch(C){case"in":E.start(D,1);break;case"out":E.start(D,0);break;case"show":E.set(D,1);break;case"hide":E.set(D,0);break;case"toggle":var B=this.retrieve("fade:flag",this.get("opacity")==1);E.start(D,(B)?0:1);this.store("fade:flag",!B);A=true;break;default:E.start(D,arguments)}if(!A){this.eliminate("fade:flag")}return this},highlight:function(C,A){if(!A){A=this.retrieve("highlight:original",this.getStyle("background-color"));A=(A=="transparent")?"#fff":A}var B=this.get("tween");B.start("background-color",C||"#ffff88",A).chain(function(){this.setStyle("background-color",this.retrieve("highlight:original"));B.callChain()}.bind(this));return this}});Fx.Morph=new Class({Extends:Fx.CSS,initialize:function(B,A){this.element=this.subject=$(B);this.parent(A)},set:function(A){if(typeof A=="string"){A=this.search(A)}for(var B in A){this.render(this.element,B,A[B],this.options.unit)}return this},compute:function(E,D,C){var A={};for(var B in E){A[B]=this.parent(E[B],D[B],C)}return A},start:function(B){if(!this.check(arguments.callee,B)){return this}if(typeof B=="string"){B=this.search(B)}var E={},D={};for(var C in B){var A=this.prepare(this.element,C,B[C]);E[C]=A.from;D[C]=A.to}return this.parent(E,D)}});Element.Properties.morph={set:function(A){var B=this.retrieve("morph");if(B){B.cancel()}return this.eliminate("morph").store("morph:options",$extend({link:"cancel"},A))},get:function(A){if(A||!this.retrieve("morph")){if(A||!this.retrieve("morph:options")){this.set("morph",A)}this.store("morph",new Fx.Morph(this,this.retrieve("morph:options")))}return this.retrieve("morph")}};Element.implement({morph:function(A){this.get("morph").start(A);return this}});(function(){var A=Fx.prototype.initialize;Fx.prototype.initialize=function(B){A.call(this,B);var C=this.options.transition;if(typeof C=="string"&&(C=C.split(":"))){var D=Fx.Transitions;D=D[C[0]]||D[C[0].capitalize()];if(C[1]){D=D["ease"+C[1].capitalize()+(C[2]?C[2].capitalize():"")]}this.options.transition=D}}})();Fx.Transition=function(B,A){A=$splat(A);return $extend(B,{easeIn:function(C){return B(C,A)},easeOut:function(C){return 1-B(1-C,A)},easeInOut:function(C){return(C<=0.5)?B(2*C,A)/2:(2-B(2*(1-C),A))/2}})};Fx.Transitions=new Hash({linear:$arguments(0)});Fx.Transitions.extend=function(A){for(var B in A){Fx.Transitions[B]=new Fx.Transition(A[B])}};Fx.Transitions.extend({Pow:function(B,A){return Math.pow(B,A[0]||6)},Expo:function(A){return Math.pow(2,8*(A-1))},Circ:function(A){return 1-Math.sin(Math.acos(A))},Sine:function(A){return 1-Math.sin((1-A)*Math.PI/2)},Back:function(B,A){A=A[0]||1.618;return Math.pow(B,2)*((A+1)*B-A)},Bounce:function(D){var C;for(var B=0,A=1;1;B+=A,A/=2){if(D>=(7-4*B)/11){C=-Math.pow((11-6*B-11*D)/4,2)+A*A;break}}return C},Elastic:function(B,A){return Math.pow(2,10*--B)*Math.cos(20*B*Math.PI*(A[0]||1)/3)}});["Quad","Cubic","Quart","Quint"].each(function(B,A){Fx.Transitions[B]=new Fx.Transition(function(C){return Math.pow(C,[A+2])})});var Request=new Class({Implements:[Chain,Events,Options],options:{url:"",data:"",headers:{"X-Requested-With":"XMLHttpRequest",Accept:"text/javascript, text/html, application/xml, text/xml, */*"},async:true,format:false,method:"post",link:"ignore",isSuccess:null,emulation:true,urlEncoded:true,encoding:"utf-8",evalScripts:false,evalResponse:false},initialize:function(A){this.xhr=new Browser.Request();this.setOptions(A);this.options.isSuccess=this.options.isSuccess||this.isSuccess;this.headers=new Hash(this.options.headers)},onStateChange:function(){if(this.xhr.readyState!=4||!this.running){return }this.running=false;this.status=0;$try(function(){this.status=this.xhr.status}.bind(this));if(this.options.isSuccess.call(this,this.status)){this.response={text:this.xhr.responseText,xml:this.xhr.responseXML};this.success(this.response.text,this.response.xml)}else{this.response={text:null,xml:null};this.failure()}this.xhr.onreadystatechange=$empty},isSuccess:function(){return((this.status>=200)&&(this.status<300))},processScripts:function(A){if(this.options.evalResponse||(/(ecma|java)script/).test(this.getHeader("Content-type"))){return $exec(A)}return A.stripScripts(this.options.evalScripts)},success:function(B,A){this.onSuccess(this.processScripts(B),A)},onSuccess:function(){this.fireEvent("complete",arguments).fireEvent("success",arguments).callChain()},failure:function(){this.onFailure()},onFailure:function(){this.fireEvent("complete").fireEvent("failure",this.xhr)},setHeader:function(A,B){this.headers.set(A,B);return this},getHeader:function(A){return $try(function(){return this.xhr.getResponseHeader(A)}.bind(this))},check:function(A){if(!this.running){return true}switch(this.options.link){case"cancel":this.cancel();return true;case"chain":this.chain(A.bind(this,Array.slice(arguments,1)));return false}return false},send:function(I){if(!this.check(arguments.callee,I)){return this}this.running=true;var G=$type(I);if(G=="string"||G=="element"){I={data:I}}var D=this.options;I=$extend({data:D.data,url:D.url,method:D.method},I);var E=I.data,B=I.url,A=I.method;switch($type(E)){case"element":E=$(E).toQueryString();break;case"object":case"hash":E=Hash.toQueryString(E)}if(this.options.format){var H="format="+this.options.format;E=(E)?H+"&"+E:H}if(this.options.emulation&&["put","delete"].contains(A)){var F="_method="+A;E=(E)?F+"&"+E:F;A="post"}if(this.options.urlEncoded&&A=="post"){var C=(this.options.encoding)?"; charset="+this.options.encoding:"";this.headers.set("Content-type","application/x-www-form-urlencoded"+C)}if(E&&A=="get"){B=B+(B.contains("?")?"&":"?")+E;E=null}this.xhr.open(A.toUpperCase(),B,this.options.async);this.xhr.onreadystatechange=this.onStateChange.bind(this);this.headers.each(function(K,J){if(!$try(function(){this.xhr.setRequestHeader(J,K);return true}.bind(this))){this.fireEvent("exception",[J,K])}},this);this.fireEvent("request");this.xhr.send(E);if(!this.options.async){this.onStateChange()}return this},cancel:function(){if(!this.running){return this}this.running=false;this.xhr.abort();this.xhr.onreadystatechange=$empty;this.xhr=new Browser.Request();this.fireEvent("cancel");return this}});(function(){var A={};["get","post","put","delete","GET","POST","PUT","DELETE"].each(function(B){A[B]=function(){var C=Array.link(arguments,{url:String.type,data:$defined});return this.send($extend(C,{method:B.toLowerCase()}))}});Request.implement(A)})();Element.Properties.send={set:function(A){var B=this.retrieve("send");if(B){B.cancel()}return this.eliminate("send").store("send:options",$extend({data:this,link:"cancel",method:this.get("method")||"post",url:this.get("action")},A))},get:function(A){if(A||!this.retrieve("send")){if(A||!this.retrieve("send:options")){this.set("send",A)}this.store("send",new Request(this.retrieve("send:options")))}return this.retrieve("send")}};Element.implement({send:function(A){var B=this.get("send");B.send({data:this,url:A||B.options.url});return this}});Request.HTML=new Class({Extends:Request,options:{update:false,evalScripts:true,filter:false},processHTML:function(C){var B=C.match(/<body[^>]*>([\s\S]*?)<\/body>/i);C=(B)?B[1]:C;var A=new Element("div");return $try(function(){var D="<root>"+C+"</root>",G;if(Browser.Engine.trident){G=new ActiveXObject("Microsoft.XMLDOM");G.async=false;G.loadXML(D)}else{G=new DOMParser().parseFromString(D,"text/xml")}D=G.getElementsByTagName("root")[0];for(var F=0,E=D.childNodes.length;F<E;F++){var H=Element.clone(D.childNodes[F],true,true);if(H){A.grab(H)}}return A})||A.set("html",C)},success:function(D){var C=this.options,B=this.response;B.html=D.stripScripts(function(E){B.javascript=E});var A=this.processHTML(B.html);B.tree=A.childNodes;B.elements=A.getElements("*");if(C.filter){B.tree=B.elements.filter(C.filter)}if(C.update){$(C.update).empty().adopt(B.tree)}if(C.evalScripts){$exec(B.javascript)}this.onSuccess(B.tree,B.elements,B.html,B.javascript)}});Element.Properties.load={set:function(A){var B=this.retrieve("load");if(B){send.cancel()}return this.eliminate("load").store("load:options",$extend({data:this,link:"cancel",update:this,method:"get"},A))},get:function(A){if(A||!this.retrieve("load")){if(A||!this.retrieve("load:options")){this.set("load",A)}this.store("load",new Request.HTML(this.retrieve("load:options")))}return this.retrieve("load")}};Element.implement({load:function(){this.get("load").send(Array.link(arguments,{data:Object.type,url:String.type}));return this}});Request.JSON=new Class({Extends:Request,options:{secure:true},initialize:function(A){this.parent(A);this.headers.extend({Accept:"application/json","X-Request":"JSON"})},success:function(A){this.response.json=JSON.decode(A,this.options.secure);this.onSuccess(this.response.json,A)}});Fx.Slide=new Class({Extends:Fx,options:{mode:"vertical"},initialize:function(B,A){this.addEvent("complete",function(){this.open=(this.wrapper["offset"+this.layout.capitalize()]!=0);if(this.open&&Browser.Engine.webkit419){this.element.dispose().inject(this.wrapper)}},true);this.element=this.subject=$(B);this.parent(A);var C=this.element.retrieve("wrapper");this.wrapper=C||new Element("div",{styles:$extend(this.element.getStyles("margin","position"),{overflow:"hidden"})}).wraps(this.element);this.element.store("wrapper",this.wrapper).setStyle("margin",0);this.now=[];this.open=true},vertical:function(){this.margin="margin-top";this.layout="height";this.offset=this.element.offsetHeight},horizontal:function(){this.margin="margin-left";this.layout="width";this.offset=this.element.offsetWidth},set:function(A){this.element.setStyle(this.margin,A[0]);this.wrapper.setStyle(this.layout,A[1]);return this},compute:function(E,D,C){var B=[];var A=2;A.times(function(F){B[F]=Fx.compute(E[F],D[F],C)});return B},start:function(B,E){if(!this.check(arguments.callee,B,E)){return this}this[E||this.options.mode]();var D=this.element.getStyle(this.margin).toInt();var C=this.wrapper.getStyle(this.layout).toInt();var A=[[D,C],[0,this.offset]];var G=[[D,C],[-this.offset,0]];var F;switch(B){case"in":F=A;break;case"out":F=G;break;case"toggle":F=(this.wrapper["offset"+this.layout.capitalize()]==0)?A:G}return this.parent(F[0],F[1])},slideIn:function(A){return this.start("in",A)},slideOut:function(A){return this.start("out",A)},hide:function(A){this[A||this.options.mode]();this.open=false;return this.set([-this.offset,0])},show:function(A){this[A||this.options.mode]();this.open=true;return this.set([0,this.offset])},toggle:function(A){return this.start("toggle",A)}});Element.Properties.slide={set:function(B){var A=this.retrieve("slide");if(A){A.cancel()}return this.eliminate("slide").store("slide:options",$extend({link:"cancel"},B))},get:function(A){if(A||!this.retrieve("slide")){if(A||!this.retrieve("slide:options")){this.set("slide",A)}this.store("slide",new Fx.Slide(this,this.retrieve("slide:options")))}return this.retrieve("slide")}};Element.implement({slide:function(D,E){D=D||"toggle";var B=this.get("slide"),A;switch(D){case"hide":B.hide(E);break;case"show":B.show(E);break;case"toggle":var C=this.retrieve("slide:flag",B.open);B[(C)?"slideOut":"slideIn"](E);this.store("slide:flag",!C);A=true;break;default:B.start(D,E)}if(!A){this.eliminate("slide:flag")}return this}});Fx.Scroll=new Class({Extends:Fx,options:{offset:{x:0,y:0},wheelStops:true},initialize:function(B,A){this.element=this.subject=$(B);this.parent(A);var D=this.cancel.bind(this,false);if($type(this.element)!="element"){this.element=$(this.element.getDocument().body)}var C=this.element;if(this.options.wheelStops){this.addEvent("start",function(){C.addEvent("mousewheel",D)},true);this.addEvent("complete",function(){C.removeEvent("mousewheel",D)},true)}},set:function(){var A=Array.flatten(arguments);this.element.scrollTo(A[0],A[1])},compute:function(E,D,C){var B=[];var A=2;A.times(function(F){B.push(Fx.compute(E[F],D[F],C))});return B},start:function(C,H){if(!this.check(arguments.callee,C,H)){return this}var E=this.element.getSize(),F=this.element.getScrollSize();var B=this.element.getScroll(),D={x:C,y:H};for(var G in D){var A=F[G]-E[G];if($chk(D[G])){D[G]=($type(D[G])=="number")?D[G].limit(0,A):A}else{D[G]=B[G]}D[G]+=this.options.offset[G]}return this.parent([B.x,B.y],[D.x,D.y])},toTop:function(){return this.start(false,0)},toLeft:function(){return this.start(0,false)},toRight:function(){return this.start("right",false)},toBottom:function(){return this.start(false,"bottom")},toElement:function(B){var A=$(B).getPosition(this.element);return this.start(A.x,A.y)}});Fx.Elements=new Class({Extends:Fx.CSS,initialize:function(B,A){this.elements=this.subject=$$(B);this.parent(A)},compute:function(G,H,I){var C={};for(var D in G){var A=G[D],E=H[D],F=C[D]={};for(var B in A){F[B]=this.parent(A[B],E[B],I)}}return C},set:function(B){for(var C in B){var A=B[C];for(var D in A){this.render(this.elements[C],D,A[D],this.options.unit)}}return this},start:function(C){if(!this.check(arguments.callee,C)){return this}var H={},I={};for(var D in C){var F=C[D],A=H[D]={},G=I[D]={};for(var B in F){var E=this.prepare(this.elements[D],B,F[B]);A[B]=E.from;G[B]=E.to}}return this.parent(H,I)}});var Drag=new Class({Implements:[Events,Options],options:{snap:6,unit:"px",grid:false,style:true,limit:false,handle:false,invert:false,preventDefault:false,modifiers:{x:"left",y:"top"}},initialize:function(){var B=Array.link(arguments,{options:Object.type,element:$defined});this.element=$(B.element);this.document=this.element.getDocument();this.setOptions(B.options||{});var A=$type(this.options.handle);this.handles=(A=="array"||A=="collection")?$$(this.options.handle):$(this.options.handle)||this.element;this.mouse={now:{},pos:{}};this.value={start:{},now:{}};this.selection=(Browser.Engine.trident)?"selectstart":"mousedown";this.bound={start:this.start.bind(this),check:this.check.bind(this),drag:this.drag.bind(this),stop:this.stop.bind(this),cancel:this.cancel.bind(this),eventStop:$lambda(false)};this.attach()},attach:function(){this.handles.addEvent("mousedown",this.bound.start);return this},detach:function(){this.handles.removeEvent("mousedown",this.bound.start);return this},start:function(C){if(this.options.preventDefault){C.preventDefault()}this.fireEvent("beforeStart",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}if(this.options.style){this.value.now[D]=this.element.getStyle(this.options.modifiers[D]).toInt()}else{this.value.now[D]=this.element[this.options.modifiers[D]]}if(this.options.invert){this.value.now[D]*=-1}this.mouse.pos[D]=C.page[D]-this.value.now[D];if(A&&A[D]){for(var B=2;B--;B){if($chk(A[D][B])){this.limit[D][B]=$lambda(A[D][B])()}}}}if($type(this.options.grid)=="number"){this.options.grid={x:this.options.grid,y:this.options.grid}}this.document.addEvents({mousemove:this.bound.check,mouseup:this.bound.cancel});this.document.addEvent(this.selection,this.bound.eventStop)},check:function(A){if(this.options.preventDefault){A.preventDefault()}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){this.cancel();this.document.addEvents({mousemove:this.bound.drag,mouseup:this.bound.stop});this.fireEvent("start",this.element).fireEvent("snap",this.element)}},drag:function(A){if(this.options.preventDefault){A.preventDefault()}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.options.invert){this.value.now[B]*=-1}if(this.options.limit&&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]}else{if($chk(this.limit[B][0])&&(this.value.now[B]<this.limit[B][0])){this.value.now[B]=this.limit[B][0]}}}if(this.options.grid[B]){this.value.now[B]-=(this.value.now[B]%this.options.grid[B])}if(this.options.style){this.element.setStyle(this.options.modifiers[B],this.value.now[B]+this.options.unit)}else{this.element[this.options.modifiers[B]]=this.value.now[B]}}this.fireEvent("drag",this.element)},cancel:function(A){this.document.removeEvent("mousemove",this.bound.check);this.document.removeEvent("mouseup",this.bound.cancel);if(A){this.document.removeEvent(this.selection,this.bound.eventStop);this.fireEvent("cancel",this.element)}},stop:function(A){this.document.removeEvent(this.selection,this.bound.eventStop);this.document.removeEvent("mousemove",this.bound.drag);this.document.removeEvent("mouseup",this.bound.stop);if(A){this.fireEvent("complete",this.element)}}});Element.implement({makeResizable:function(A){return new Drag(this,$merge({modifiers:{x:"width",y:"height"}},A))}});Drag.Move=new Class({Extends:Drag,options:{droppables:[],container:false},initialize:function(C,B){this.parent(C,B);this.droppables=$$(this.options.droppables);this.container=$(this.options.container);if(this.container&&$type(this.container)!="element"){this.container=$(this.container.getDocument().body)}C=this.element;var D=C.getStyle("position");var A=(D!="static")?D:"absolute";if(C.getStyle("left")=="auto"||C.getStyle("top")=="auto"){C.position(C.getPosition(C.offsetParent))}C.setStyle("position",A);this.addEvent("start",function(){this.checkDroppables()},true)},start:function(B){if(this.container){var D=this.element,J=this.container,E=J.getCoordinates(D.offsetParent),F={},A={};["top","right","bottom","left"].each(function(K){F[K]=J.getStyle("padding-"+K).toInt();A[K]=D.getStyle("margin-"+K).toInt()},this);var C=D.offsetWidth+A.left+A.right,I=D.offsetHeight+A.top+A.bottom;var H=[E.left+F.left,E.right-F.right-C];var G=[E.top+F.top,E.bottom-F.bottom-I];this.options.limit={x:H,y:G}}this.parent(B)},checkAgainst:function(B){B=B.getCoordinates();var A=this.mouse.now;return(A.x>B.left&&A.x<B.right&&A.y<B.bottom&&A.y>B.top)},checkDroppables:function(){var A=this.droppables.filter(this.checkAgainst,this).getLast();if(this.overed!=A){if(this.overed){this.fireEvent("leave",[this.element,this.overed])}if(A){this.overed=A;this.fireEvent("enter",[this.element,A])}else{this.overed=null}}},drag:function(A){this.parent(A);if(this.droppables.length){this.checkDroppables()}},stop:function(A){this.checkDroppables();this.fireEvent("drop",[this.element,this.overed]);this.overed=null;return this.parent(A)}});Element.implement({makeDraggable:function(A){return new Drag.Move(this,A)}});Hash.Cookie=new Class({Extends:Cookie,options:{autoSave:true},initialize:function(B,A){this.parent(B,A);this.load()},save:function(){var A=JSON.encode(this.hash);if(!A||A.length>4096){return false}if(A=="{}"){this.dispose()}else{this.write(A)}return true},load:function(){this.hash=new Hash(JSON.decode(this.read(),true));return this}});Hash.Cookie.implement((function(){var A={};Hash.each(Hash.prototype,function(C,B){A[B]=function(){var D=C.apply(this.hash,arguments);if(this.options.autoSave){this.save()}return D}});return A})());var Color=new Native({initialize:function(B,C){if(arguments.length>=3){C="rgb";B=Array.slice(arguments,0,3)}else{if(typeof B=="string"){if(B.match(/rgb/)){B=B.rgbToHex().hexToRgb(true)}else{if(B.match(/hsb/)){B=B.hsbToRgb()}else{B=B.hexToRgb(true)}}}}C=C||"rgb";switch(C){case"hsb":var A=B;B=B.hsbToRgb();B.hsb=A;break;case"hex":B=B.hexToRgb(true);break}B.rgb=B.slice(0,3);B.hsb=B.hsb||B.rgbToHsb();B.hex=B.rgbToHex();return $extend(B,this)}});Color.implement({mix:function(){var A=Array.slice(arguments);var C=($type(A.getLast())=="number")?A.pop():50;var B=this.slice();A.each(function(D){D=new Color(D);for(var E=0;E<3;E++){B[E]=Math.round((B[E]/100*(100-C))+(D[E]/100*C))}});return new Color(B,"rgb")},invert:function(){return new Color(this.map(function(A){return 255-A}))},setHue:function(A){return new Color([A,this.hsb[1],this.hsb[2]],"hsb")},setSaturation:function(A){return new Color([this.hsb[0],A,this.hsb[2]],"hsb")},setBrightness:function(A){return new Color([this.hsb[0],this.hsb[1],A],"hsb")}});function $RGB(C,B,A){return new Color([C,B,A],"rgb")}function $HSB(C,B,A){return new Color([C,B,A],"hsb")}function $HEX(A){return new Color(A,"hex")}Array.implement({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}});String.implement({rgbToHsb:function(){var A=this.match(/\d{1,3}/g);return(A)?hsb.rgbToHsb():null},hsbToRgb:function(){var A=this.match(/\d{1,3}/g);return(A)?A.hsbToRgb():null}});var Group=new Class({initialize:function(){this.instances=Array.flatten(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 Asset=new Hash({javascript:function(F,D){D=$extend({onload:$empty,document:document,check:$lambda(true)},D);var B=new Element("script",{src:F,type:"text/javascript"});var E=D.onload.bind(B),A=D.check,G=D.document;delete D.onload;delete D.check;delete D.document;B.addEvents({load:E,readystatechange:function(){if(["loaded","complete"].contains(this.readyState)){E()}}}).setProperties(D);if(Browser.Engine.webkit419){var C=(function(){if(!$try(A)){return }$clear(C);E()}).periodical(50)}return B.inject(G.head)},css:function(B,A){return new Element("link",$merge({rel:"stylesheet",media:"screen",type:"text/css",href:B},A)).inject(document.head)},image:function(C,B){B=$merge({onload:$empty,onabort:$empty,onerror:$empty},B);var D=new Image();var A=$(D)||new Element("img");["load","abort","error"].each(function(E){var F="on"+E;var G=B[F];delete B[F];D[F]=function(){if(!D){return }if(!A.parentNode){A.width=D.width;A.height=D.height}D=D.onload=D.onabort=D.onerror=null;G.delay(1,A,A);A.fireEvent(E,A,1)}});D.src=A.src=C;if(D&&D.complete){D.onload.delay(1)}return A.setProperties(B)},images:function(D,C){C=$merge({onComplete:$empty,onProgress:$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,D.indexOf(F));B++;if(B==D.length){C.onComplete()}}});A.push(E)});return new Elements(A)}});var Sortables=new Class({Implements:[Events,Options],options:{snap:4,opacity:1,clone:false,revert:false,handle:false,constrain:false},initialize:function(A,B){this.setOptions(B);this.elements=[];this.lists=[];this.idle=true;this.addLists($$($(A)||A));if(!this.options.clone){this.options.revert=false}if(this.options.revert){this.effect=new Fx.Morph(null,$merge({duration:250,link:"cancel"},this.options.revert))}},attach:function(){this.addLists(this.lists);return this},detach:function(){this.lists=this.removeLists(this.lists);return this},addItems:function(){Array.flatten(arguments).each(function(A){this.elements.push(A);var B=A.retrieve("sortables:start",this.start.bindWithEvent(this,A));(this.options.handle?A.getElement(this.options.handle)||A:A).addEvent("mousedown",B)},this);return this},addLists:function(){Array.flatten(arguments).each(function(A){this.lists.push(A);this.addItems(A.getChildren())},this);return this},removeItems:function(){var A=[];Array.flatten(arguments).each(function(B){A.push(B);this.elements.erase(B);var C=B.retrieve("sortables:start");(this.options.handle?B.getElement(this.options.handle)||B:B).removeEvent("mousedown",C)},this);return $$(A)},removeLists:function(){var A=[];Array.flatten(arguments).each(function(B){A.push(B);this.lists.erase(B);this.removeItems(B.getChildren())},this);return $$(A)},getClone:function(B,A){if(!this.options.clone){return new Element("div").inject(document.body)}if($type(this.options.clone)=="function"){return this.options.clone.call(this,B,A,this.list)}return A.clone(true).setStyles({margin:"0px",position:"absolute",visibility:"hidden",width:A.getStyle("width")}).inject(this.list).position(A.getPosition(A.getOffsetParent()))},getDroppables:function(){var A=this.list.getChildren();if(!this.options.constrain){A=this.lists.concat(A).erase(this.list)}return A.erase(this.clone).erase(this.element)},insert:function(C,B){var A="inside";if(this.lists.contains(B)){this.list=B;this.drag.droppables=this.getDroppables()}else{A=this.element.getAllPrevious().contains(B)?"before":"after"}this.element.inject(B,A);this.fireEvent("sort",[this.element,this.clone])},start:function(B,A){if(!this.idle){return }this.idle=false;this.element=A;this.opacity=A.get("opacity");this.list=A.getParent();this.clone=this.getClone(B,A);this.drag=new Drag.Move(this.clone,{snap:this.options.snap,container:this.options.constrain&&this.element.getParent(),droppables:this.getDroppables(),onSnap:function(){B.stop();this.clone.setStyle("visibility","visible");this.element.set("opacity",this.options.opacity||0);this.fireEvent("start",[this.element,this.clone])}.bind(this),onEnter:this.insert.bind(this),onCancel:this.reset.bind(this),onComplete:this.end.bind(this)});this.clone.inject(this.element,"before");this.drag.start(B)},end:function(){this.drag.detach();this.element.set("opacity",this.opacity);if(this.effect){var A=this.element.getStyles("width","height");var B=this.clone.computePosition(this.element.getPosition(this.clone.offsetParent));this.effect.element=this.clone;this.effect.start({top:B.top,left:B.left,width:A.width,height:A.height,opacity:0.25}).chain(this.reset.bind(this))}else{this.reset()}},reset:function(){this.idle=true;this.clone.destroy();this.fireEvent("complete",this.element)},serialize:function(){var C=Array.link(arguments,{modifier:Function.type,index:$defined});var B=this.lists.map(function(D){return D.getChildren().map(C.modifier||function(E){return E.get("id")},this)},this);var A=C.index;if(this.lists.length==1){A=0}return $chk(A)&&A>=0&&A<this.lists.length?B[A]:B}});var Tips=new Class({Implements:[Events,Options],options:{onShow:function(A){A.setStyle("visibility","visible")},onHide:function(A){A.setStyle("visibility","hidden")},showDelay:100,hideDelay:100,className:null,offsets:{x:16,y:16},fixed:false},initialize:function(){var C=Array.link(arguments,{options:Object.type,elements:$defined});this.setOptions(C.options||null);this.tip=new Element("div").inject(document.body);if(this.options.className){this.tip.addClass(this.options.className)}var B=new Element("div",{"class":"tip-top"}).inject(this.tip);this.container=new Element("div",{"class":"tip"}).inject(this.tip);var A=new Element("div",{"class":"tip-bottom"}).inject(this.tip);this.tip.setStyles({position:"absolute",top:0,left:0,visibility:"hidden"});if(C.elements){this.attach(C.elements)}},attach:function(A){$$(A).each(function(D){var G=D.retrieve("tip:title",D.get("title"));var F=D.retrieve("tip:text",D.get("rel")||D.get("href"));var E=D.retrieve("tip:enter",this.elementEnter.bindWithEvent(this,D));var C=D.retrieve("tip:leave",this.elementLeave.bindWithEvent(this,D));D.addEvents({mouseenter:E,mouseleave:C});if(!this.options.fixed){var B=D.retrieve("tip:move",this.elementMove.bindWithEvent(this,D));D.addEvent("mousemove",B)}D.store("tip:native",D.get("title"));D.erase("title")},this);return this},detach:function(A){$$(A).each(function(C){C.removeEvent("mouseenter",C.retrieve("tip:enter")||$empty);C.removeEvent("mouseleave",C.retrieve("tip:leave")||$empty);C.removeEvent("mousemove",C.retrieve("tip:move")||$empty);C.eliminate("tip:enter").eliminate("tip:leave").eliminate("tip:move");var B=C.retrieve("tip:native");if(B){C.set("title",B)}});return this},elementEnter:function(B,A){$A(this.container.childNodes).each(Element.dispose);var D=A.retrieve("tip:title");if(D){this.titleElement=new Element("div",{"class":"tip-title"}).inject(this.container);this.fill(this.titleElement,D)}var C=A.retrieve("tip:text");if(C){this.textElement=new Element("div",{"class":"tip-text"}).inject(this.container);this.fill(this.textElement,C)}this.timer=$clear(this.timer);this.timer=this.show.delay(this.options.showDelay,this);this.position((!this.options.fixed)?B:{page:A.getPosition()})},elementLeave:function(A){$clear(this.timer);this.timer=this.hide.delay(this.options.hideDelay,this)},elementMove:function(A){this.position(A)},position:function(D){var B=window.getSize(),A=window.getScroll();var E={x:this.tip.offsetWidth,y:this.tip.offsetHeight};var C={x:"left",y:"top"};for(var F in C){var G=D.page[F]+this.options.offsets[F];if((G+E[F]-A[F])>B[F]){G=D.page[F]-this.options.offsets[F]-E[F]}this.tip.setStyle(C[F],G)}},fill:function(A,B){(typeof B=="string")?A.set("html",B):A.adopt(B)},show:function(){this.fireEvent("show",this.tip)},hide:function(){this.fireEvent("hide",this.tip)}});var SmoothScroll=new Class({Extends:Fx.Scroll,initialize:function(B,C){C=C||document;var E=C.getDocument(),D=C.getWindow();this.parent(E,B);this.links=(this.options.links)?$$(this.options.links):$$(E.links);var A=D.location.href.match(/^[^#]*/)[0]+"#";this.links.each(function(G){if(G.href.indexOf(A)!=0){return }var F=G.href.substr(A.length);if(F&&$(F)){this.useLink(G,F)}},this);if(!Browser.Engine.webkit419){this.addEvent("complete",function(){D.location.hash=this.anchor},true)}},useLink:function(B,A){B.addEvent("click",function(C){this.anchor=A;this.toElement(A);C.stop()}.bind(this))}});var Slider=new Class({Implements:[Events,Options],options:{onTick:function(A){if(this.options.snap){A=this.toPosition(this.step)}this.knob.setStyle(this.property,A)},snap:false,offset:0,range:false,wheel:false,steps:100,mode:"horizontal"},initialize:function(E,A,D){this.setOptions(D);this.element=$(E);this.knob=$(A);this.previousChange=this.previousEnd=this.step=-1;this.element.addEvent("mousedown",this.clickedElement.bind(this));if(this.options.wheel){this.element.addEvent("mousewheel",this.scrolledElement.bindWithEvent(this))}var F,B={},C={x:false,y:false};switch(this.options.mode){case"vertical":this.axis="y";this.property="top";F="offsetHeight";break;case"horizontal":this.axis="x";this.property="left";F="offsetWidth"}this.half=this.knob[F]/2;this.full=this.element[F]-this.knob[F]+(this.options.offset*2);this.min=$chk(this.options.range[0])?this.options.range[0]:0;this.max=$chk(this.options.range[1])?this.options.range[1]:this.options.steps;this.range=this.max-this.min;this.steps=this.options.steps||this.full;this.stepSize=Math.abs(this.range)/this.steps;this.stepWidth=this.stepSize*this.full/Math.abs(this.range);this.knob.setStyle("position","relative").setStyle(this.property,-this.options.offset);C[this.axis]=this.property;B[this.axis]=[-this.options.offset,this.full-this.options.offset];this.drag=new Drag(this.knob,{snap:0,limit:B,modifiers:C,onDrag:this.draggedKnob.bind(this),onStart:this.draggedKnob.bind(this),onComplete:function(){this.draggedKnob();this.end()}.bind(this)});if(this.options.snap){this.drag.options.grid=Math.ceil(this.stepWidth);this.drag.options.limit[this.axis][1]=this.full}},set:function(A){if(!((this.range>0)^(A<this.min))){A=this.min}if(!((this.range>0)^(A>this.max))){A=this.max}this.step=Math.round(A);this.checkStep();this.end();this.fireEvent("tick",this.toPosition(this.step));return this},clickedElement:function(C){var B=this.range<0?-1:1;var A=C.page[this.axis]-this.element.getPosition()[this.axis]-this.half;A=A.limit(-this.options.offset,this.full-this.options.offset);this.step=Math.round(this.min+B*this.toStep(A));this.checkStep();this.end();this.fireEvent("tick",A)},scrolledElement:function(A){var B=(this.options.mode=="horizontal")?(A.wheel<0):(A.wheel>0);this.set(B?this.step-this.stepSize:this.step+this.stepSize);A.stop()},draggedKnob:function(){var B=this.range<0?-1:1;var A=this.drag.value.now[this.axis];A=A.limit(-this.options.offset,this.full-this.options.offset);this.step=Math.round(this.min+B*this.toStep(A));this.checkStep()},checkStep:function(){if(this.previousChange!=this.step){this.previousChange=this.step;this.fireEvent("change",this.step)}},end:function(){if(this.previousEnd!==this.step){this.previousEnd=this.step;this.fireEvent("complete",this.step+"")}},toStep:function(A){var B=(A+this.options.offset)*this.stepSize/this.full*this.steps;return this.options.steps?Math.round(B-=B%this.stepSize):B},toPosition:function(A){return(this.full*Math.abs(this.min-A))/(this.steps*this.stepSize)-this.options.offset}});var Scroller=new Class({Implements:[Events,Options],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.listener=($type(this.element)!="element")?$(this.element.getDocument().body):this.element;this.timer=null;this.coord=this.getCoords.bind(this)},start:function(){this.listener.addEvent("mousemove",this.coord)},stop:function(){this.listener.removeEvent("mousemove",this.coord);this.timer=$clear(this.timer)},getCoords:function(A){this.page=(this.listener.get("tag")=="body")?A.client:A.page;if(!this.timer){this.timer=this.scroll.periodical(50,this)}},scroll:function(){var B=this.element.getSize(),A=this.element.getScroll(),E=this.element.getPosition(),D={x:0,y:0};for(var C in this.page){if(this.page[C]<(this.options.area+E[C])&&A[C]!=0){D[C]=(this.page[C]-this.options.area-E[C])*this.options.velocity}else{if(this.page[C]+this.options.area>(B[C]+E[C])&&B[C]+B[C]!=A[C]){D[C]=(this.page[C]-B[C]+this.options.area-E[C])*this.options.velocity}}}if(D.y||D.x){this.fireEvent("change",[A.x+D.x,A.y+D.y])}}});var Accordion=new Class({Extends:Fx.Elements,options:{display:0,show:false,height:true,width:false,opacity:true,fixedHeight:false,fixedWidth:false,wait:false,alwaysHide:false},initialize:function(){var C=Array.link(arguments,{container:Element.type,options:Object.type,togglers:$defined,elements:$defined});this.parent(C.elements,C.options);this.togglers=$$(C.togglers);this.container=$(C.container);this.previous=-1;if(this.options.alwaysHide){this.options.wait=true}if($chk(this.options.show)){this.options.display=false;this.previous=this.options.show}if(this.options.start){this.options.display=false;this.options.show=false}this.effects={};if(this.options.opacity){this.effects.opacity="fullOpacity"}if(this.options.width){this.effects.width=this.options.fixedWidth?"fullWidth":"offsetWidth"}if(this.options.height){this.effects.height=this.options.fixedHeight?"fullHeight":"scrollHeight"}for(var B=0,A=this.togglers.length;B<A;B++){this.addSection(this.togglers[B],this.elements[B])}this.elements.each(function(E,D){if(this.options.show===D){this.fireEvent("active",[this.togglers[D],E])}else{for(var F in this.effects){E.setStyle(F,0)}}},this);if($chk(this.options.display)){this.display(this.options.display)}},addSection:function(E,C,G){E=$(E);C=$(C);var F=this.togglers.contains(E);var B=this.togglers.length;this.togglers.include(E);this.elements.include(C);if(B&&(!F||G)){G=$pick(G,B-1);E.inject(this.togglers[G],"before");C.inject(E,"after")}else{if(this.container&&!F){E.inject(this.container);C.inject(this.container)}}var A=this.togglers.indexOf(E);E.addEvent("click",this.display.bind(this,A));if(this.options.height){C.setStyles({"padding-top":0,"border-top":"none","padding-bottom":0,"border-bottom":"none"})}if(this.options.width){C.setStyles({"padding-left":0,"border-left":"none","padding-right":0,"border-right":"none"})}C.fullOpacity=1;if(this.options.fixedWidth){C.fullWidth=this.options.fixedWidth}if(this.options.fixedHeight){C.fullHeight=this.options.fixedHeight}C.setStyle("overflow","hidden");if(!F){for(var D in this.effects){C.setStyle(D,0)}}return this},display:function(A){A=($type(A)=="element")?this.elements.indexOf(A):A;if((this.timer&&this.options.wait)||(A===this.previous&&!this.options.alwaysHide)){return this}this.previous=A;var B={};this.elements.each(function(E,D){B[D]={};var C=(D!=A)||(this.options.alwaysHide&&(E.offsetHeight>0));this.fireEvent(C?"background":"active",[this.togglers[D],E]);for(var F in this.effects){B[D][F]=C?0:E[this.effects[F]]}},this);return this.start(B)}});window.addEvent("load",function(){if(!("console" in window)||!("firebug" in window.console)){var B=["log","debug","info","warn","error","assert","dir","dirxml","group","groupEnd","time","timeEnd","count","trace","profile","profileEnd"];window.console={};for(var A=0;A<B.length;++A){window.console[B[A]]=function(){}}}});(function(){var A=navigator.userAgent.toLowerCase();var B=A.indexOf("msie")>-1,D=A.indexOf("msie 7")>-1;if(B&&!D){try{document.execCommand("BackgroundImageCache",false,true)}catch(C){}}})();if(typeof Jx=="undefined"){var Jx={};(function(){var C=document.getElementsByTagName("SCRIPT");for(var A=0;A<C.length;A++){var B=C[A].src;var D=/(.*)(js|lib\/)jxlib(.*)/.exec(B);if(D&&D[0]){Jx.aPixel=document.createElement("img");Jx.aPixel.src=D[1]+"/images/a_pixel.png";Jx.baseURL=Jx.aPixel.src.substring(0,Jx.aPixel.src.indexOf("images/a_pixel.png"))}}})()}Jx.applyPNGFilter=function(C){var A=Jx.baseURL+"images/a_pixel.png";if(C.src!=A){var B=C.src;C.src=A;C.runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+B+"',sizingMethod='scale')"}};Jx.imgQueue=[];Jx.imgLoaded={};Jx.imagesLoading=0;Jx.addToImgQueue=function(A){if(Jx.imgLoaded[A.src]){A.element.src=A.src}else{Jx.imgQueue.push(A);Jx.imgLoaded[A.src]=true}Jx.checkImgQueue()};Jx.checkImgQueue=function(){while(Jx.imagesLoading<2&&Jx.imgQueue.length>0){Jx.loadNextImg()}};Jx.loadNextImg=function(){var A=Jx.imgQueue.shift();if(A){++Jx.imagesLoading;A.element.onload=function(){--Jx.imagesLoading;Jx.checkImgQueue()};A.element.onerror=function(){--Jx.imagesLoading;Jx.checkImgQueue()};A.element.src=A.src}};Jx.createIframeShim=function(){return new Element("iframe",{"class":"jxIframeShim",scrolling:"no",frameborder:0})};Jx.UniqueId=new Class({uniqueIdRefs:null,initUniqueId:function(){this.uniqueIdRefs=[]},deregisterIds:function(){this.uniqueIdRefs=[]},registerIds:function(C,A){if(C.indexOf(A.id)!=-1){this.uniqueIdRefs[A.id]=A}for(var B=0;B<A.childNodes.length;B++){this.registerIds(C,A.childNodes[B])}},getObj:function(A){return this.uniqueIdRefs[A]||null}});Element.implement({getBoxSizing:function(){var B="content-box";if(Browser.Engine.trident||Browser.Engine.presto){var A=document.compatMode;if(A=="BackCompat"||A=="QuirksMode"){B="border-box"}else{B="content-box"}}else{if(arguments.length==0){node=document.documentElement}var C=this.getStyle("-moz-box-sizing");if(!C){C=this.getStyle("box-sizing")}B=(C?C:"content-box")}return B},getContentBoxSize:function(){var A=this.offsetWidth;var C=this.offsetHeight;var D=this.getPaddingSize();var B=this.getBorderSize();A=A-D.left-D.right-B.left-B.right;C=C-D.bottom-D.top-B.bottom-B.top;return{width:A,height:C}},getBorderBoxSize:function(){var A=this.offsetWidth;var B=this.offsetHeight;return{width:A,height:B}},getMarginBoxSize:function(){var C=this.getMarginSize();var A=this.offsetWidth+C.left+C.right;var B=this.offsetHeight+C.top+C.bottom;return{width:A,height:B}},setContentBoxSize:function(C){if(this.getBoxSizing()=="border-box"){var E=this.getPaddingSize();var B=this.getBorderSize();if(typeof C.width!="undefined"){var D=(C.width+E.left+E.right+B.left+B.right);if(D<0){D=0}this.style.width=D+"px"}if(typeof C.height!="undefined"){var A=(C.height+E.top+E.bottom+B.top+B.bottom);if(A<0){A=0}this.style.height=A+"px"}}else{if(typeof C.width!="undefined"){this.style.width=C.width+"px"}if(typeof C.height!="undefined"){this.style.height=C.height+"px"}}},setBorderBoxSize:function(C){if(this.getBoxSizing()=="content-box"){var F=this.getPaddingSize();var B=this.getBorderSize();var E=this.getMarginSize();if(typeof C.width!="undefined"){var D=(C.width-F.left-F.right-B.left-B.right-E.left-E.right);if(D<0){D=0}this.style.width=D+"px"}if(typeof C.height!="undefined"){var A=(C.height-F.top-F.bottom-B.top-B.bottom-E.top-E.bottom);if(A<0){A=0}this.style.height=A+"px"}}else{if(typeof C.width!="undefined"&&C.width>=0){this.style.width=C.width+"px"}if(typeof C.height!="undefined"&&C.height>=0){this.style.height=C.height+"px"}}},getPaddingSize:function(){var B=this.getNumber(this.getStyle("padding-left"));var C=this.getNumber(this.getStyle("padding-top"));var D=this.getNumber(this.getStyle("padding-right"));var A=this.getNumber(this.getStyle("padding-bottom"));return{left:B,top:C,right:D,bottom:A}},getBorderSize:function(){var B=this.getNumber(this.getStyle("border-left-width"));var C=this.getNumber(this.getStyle("border-top-width"));var D=this.getNumber(this.getStyle("border-right-width"));var A=this.getNumber(this.getStyle("border-bottom-width"));return{left:B,top:C,right:D,bottom:A}},getMarginSize:function(){var B=this.getNumber(this.getStyle("margin-left"));var C=this.getNumber(this.getStyle("margin-top"));var D=this.getNumber(this.getStyle("margin-right"));var A=this.getNumber(this.getStyle("margin-bottom"));return{left:B,top:C,right:D,bottom:A}},getNumber:function(B){var A=B==null||isNaN(parseInt(B))?0:parseInt(B);return A},getPageDimensions:function(){return{width:window.getWidth(),height:window.getHeight()}},descendantOf:function(B){var A=$(this.parentNode);if(A==B){return true}else{if(!A||!A.parentNode){return null}else{if(A.parentNode===A){return null}else{return A.descendantOf(B)}}}},findElement:function(B){if(this.tagName==B){return this}var A=$(this.parentNode);if(A){if(A.tagName==B){return A}else{if(!A.parentNode||A.parentNode==A){return null}else{return A.findElement(B)}}}else{return null}}});Jx.ContentLoader=new Class({contentIsLoaded:false,contentLoaded:function(){this.contentIsLoaded=true;this.fireEvent("contentLoaded",this)},contentLoadFailed:function(A){this.contentIsLoaded=true;this.fireEvent("contentLoadFailed",this)},loadContent:function(A){A=$(A);if(this.options.content){var B;if(this.options.content.domObj){B=$(this.options.content.domObj)}else{B=$(this.options.content)}if(B){A.appendChild(B);this.contentIsLoaded=true}else{A.innerHTML=this.options.content;this.contentIsLoaded=true}}else{if(this.options.contentURL){this.contentIsLoaded=false;new Request.HTML({url:this.options.contentURL,method:"get",update:A,onSuccess:this.contentLoaded.bind(this),onFailure:this.contentLoadFailed.bind(this),headers:{"If-Modified-Since":"Sat, 1 Jan 2000 00:00:00 GMT"}}).send()}else{this.contentIsLoaded=true}}if(this.contentIsLoaded){this.fireEvent("contentLoaded",this)}},processContent:function(A){$A(A.childNodes).each(function(B){if(B.tagName=="INPUT"||B.tagName=="SELECT"||B.tagName=="TEXTAREA"){if(B.type=="button"){B.addEvent("click",function(){this.fireEvent("click",this,B)})}else{B.addEvent("change",function(){this.fireEvent("change",B)})}}else{if(B.childNodes){this.processContent(B)}}},this)}});Jx.AutoPosition=new Class({position:function(F,C,N){F=$(F);C=$(C);var B=$splat(N.horizontal||["center center"]);var G=$splat(N.vertical||["center center"]);var E=$merge({top:0,right:0,bottom:0,left:0},N.offsets||{});var I;if(!$(F.parentNode)||F.parentNode==document.body){I=Element.getPageDimensions()}else{I=$(F.parentNode).getContentBoxSize()}var K=C.getCoordinates();var M=F.getMarginBoxSize();var D;var L;var J;var A;if(!B.some(function(O){var P=O.split(" ");if(P.length!=2){return false}if(!isNaN(parseInt(P[0]))){D=parseInt(P[0])}else{switch(P[0]){case"right":D=K.left+K.width;break;case"center":D=K.left+Math.round(K.width/2);break;case"left":default:D=K.left}}switch(P[1]){case"left":D-=E.left;L=D+M.width;break;case"right":D+=E.right;L=D;D=D-M.width;break;case"center":default:D=D-Math.round(M.width/2);L=D+M.width}return(D>=0&&L<=I.width)})){if(L>I.width){D=I.width-M.width}if(D<0){D=0}}F.setStyle("left",D);if(!G.some(function(O){var P=O.split(" ");if(P.length!=2){return false}if(!isNaN(parseInt(P[0]))){J=parseInt(P[0])}else{switch(P[0]){case"bottom":J=K.top+K.height;break;case"center":J=K.top+Math.round(K.height/2);break;case"top":default:J=K.top}}switch(P[1]){case"top":J-=E.top;A=J+M.height;break;case"bottom":J+=E.bottom;A=J;J=J-M.height;break;case"center":default:J=J-Math.round(M.height/2);A=J+M.height}return(J>=0&&A<=I.height)})){if(A>I.height){J=I.height-M.height}if(J<0){J=0}}F.setStyle("top",J);var H=F.retrieve("jxLayout");if(H){H.options.left=D;H.options.top=J}}});Jx.Chrome=new Class({chrome:null,makeChrome:function(A){var C=new Element("div",{"class":"jxChrome"});A.adopt(C);this.chromeOffsets=C.getPaddingSize();C.setStyle("padding",0);var B=C.getStyle("backgroundImage");if(!B.contains("http://")){B=null}else{B=B.slice(4,-1);if(B.charAt(0)=='"'){B=B.slice(1,-1)}C.setStyle("backgroundImage","none");["TL","TR","BL","BR"].each(function(D){C.adopt(new Element("div",{"class":"jxChrome"+D}).adopt(new Element("img",{src:B})))},this)}if(!window.opera){C.adopt(Jx.createIframeShim())}C.dispose();this.chrome=C},showChrome:function(B){B=$(B);var A;if(!this.chromeResizeHandler){this.chromeResizeHandler=this.showChrome.bind(this)}if(!this.chrome){this.makeChrome(B)}if(B&&this.chrome.parentNode!==B){var C=$(this.chrome.parentNode);if(C){A=C.retrieve("jxLayout");if(A){A.removeEvent("sizeChange",this.chromeResizeHandler)}}B.adopt(this.chrome);A=B.retrieve("jxLayout");if(A){A.addEvent("sizeChange",this.chromeResizeHandler)}}this.resizeChrome()},resizeChrome:function(){},hideChrome:function(){if(this.chrome){if(this.chrome.parentNode){var A=this.chrome.parentNode.retrieve("jxLayout");if(A){A.removeEvent("sizeChange",this.chromeResizeHandler)}}this.chrome.dispose()}}});Jx.Button=new Class({Implements:[Options,Events],domObj:null,options:{id:"",type:"Button",image:"",tooltip:"",label:"",enabled:true,toggle:false,halign:"center",valign:"middle",isActive:false,container:"div"},initialize:function(B){this.setOptions(B);var E=new Element(this.options.container,{"class":"jx"+this.options.type+"Container"});if(this.options.toggle){E.addClass("jx"+this.options.type+"Toggle")}var A=new Element("a",{"class":"jx"+this.options.type,href:"javascript:void(0)",title:this.options.tooltip,alt:this.options.tooltip,events:{click:this.clicked.bindWithEvent(this)}});if(this.options.isActive){A.addClass("jx"+this.options.type+"Active")}E.appendChild(A);var D=new Element("span",{"class":"jx"+this.options.type+"Content"});A.appendChild(D);if(this.options.image||!this.options.label){var C=new Element("img",{"class":"jx"+this.options.type+"Icon",src:Jx.aPixel.src});if(this.options.image.indexOf("a_pixel.png")==-1){C.setStyle("backgroundImage","url("+this.options.image+")")}D.appendChild(C)}l=new Element("span",{html:this.options.label});if(this.options.label){l.addClass("jx"+this.options.type+"Label")}D.appendChild(l);if(this.options.id){E.id=this.options.id}if(this.options.halign=="left"){E.addClass("jx"+this.options.type+"ContentLeft")}if(this.options.valign=="top"){E.addClass("jx"+this.options.type+"ContentTop")}this.domA=A;this.domLabel=l;this.domObj=E;this.setEnabled(this.options.enabled)},clicked:function(A){if(this.options.enabled){if(this.options.toggle){this.setActive(!this.options.isActive)}else{this.fireEvent("click",{obj:this,event:A})}}},setEnabled:function(A){this.options.enabled=A;if(this.options.enabled){this.domObj.removeClass("jx"+this.options.type+"Disabled")}else{this.domObj.addClass("jx"+this.options.type+"Disabled")}},isActive:function(){return this.options.isActive},setActive:function(A){if(this.options.isActive==A){return }this.options.isActive=A;if(this.options.isActive){this.domA.addClass("jx"+this.options.type+"Active");this.fireEvent("down",this)}else{this.domA.removeClass("jx"+this.options.type+"Active");this.fireEvent("up",this)}},setImage:function(A){if(this.domImg){this.domImg.set("src",A)}},setLabel:function(A){if(this.domLabel){this.domLabel.set("html",A)}},setTooltip:function(A){if(this.domImg){this.domImg.set({title:A,alt:A})}},addTo:function(B,A){B=$(B);A=A?$(A):null;if(A&&A.parentNode==B){B.insertBefore(this.domObj,A)}else{B.appendChild(this.domObj)}}});Jx.Button.Flyout=new Class({Extends:Jx.Button,Implements:[Jx.ContentLoader,Jx.AutoPosition,Jx.Chrome],content:null,initialize:function(A){if(!Jx.Button.Flyout.Stack){Jx.Button.Flyout.Stack=[]}this.parent(A);this.domA.addClass("jx"+this.options.type+"Flyout");this.contentContainer=new Element("div",{"class":"jxFlyout"});this.content=new Element("div",{"class":"jxFlyoutContent"});this.contentContainer.adopt(this.content);this.content.store("jxFlyout",this);this.loadContent(this.content);this.keypressWatcher=this.keypressHandler.bindWithEvent(this);this.hideWatcher=this.clickHandler.bindWithEvent(this)},clicked:function(C){if(!this.owner){this.owner=document.body;var B=$(this.domObj.parentNode);while(B!=document.body&&this.owner==document.body){var A=B.retrieve("jxFlyout");if(A){this.owner=A;break}else{B=$(B.parentNode)}}}if(Jx.Button.Flyout.Stack[Jx.Button.Flyout.Stack.length-1]==this){this.hide();return }else{if(this.owner!=document.body){if(this.owner.currentFlyout==this){this.hide();return }else{if(this.owner.currentFlyout){this.owner.currentFlyout.hide()}}this.owner.currentFlyout=this}else{while(Jx.Button.Flyout.Stack.length){Jx.Button.Flyout.Stack[Jx.Button.Flyout.Stack.length-1].hide()}}}Jx.Button.Flyout.Stack.push(this);this.options.isActive=true;this.domA.addClass("jx"+this.options.type+"Active");this.contentContainer.setStyle("visibility","hidden");document.body.adopt(this.contentContainer);this.showChrome(this.contentContainer);this.position(this.contentContainer,this.domObj,{horizontal:["left left","right right"],vertical:["bottom top","top bottom"],offsets:this.chromeOffsets});this.contentContainer.setStyle("visibility","");window.addEvent("keypress",this.keypressWatcher);document.addEvent("click",this.hideWatcher);this.fireEvent("open",this)},hide:function(){if(this.owner!=document.body){this.owner.currentFlyout=null}Jx.Button.Flyout.Stack.pop();this.setActive(false);this.contentContainer.dispose();window.removeEvent("keypress",this.keypressWatcher);document.removeEvent("click",this.hideWatcher);this.fireEvent("close",this)},clickHandler:function(B){B=new Event(B);var C=$(B.target);var A=Jx.Button.Flyout.Stack[Jx.Button.Flyout.Stack.length-1];if(!C.descendantOf(A.content)&&!C.descendantOf(A.domObj)){A.hide()}},keypressHandler:function(A){A=new Event(A);if(A.key=="esc"){Jx.Button.Flyout.Stack[Jx.Button.Flyout.Stack.length-1].hide()}}});Jx.Button.Multi=new Class({activeButton:null,buttons:null,initialize:function(){this.buttons=[];var A=new Element("div");this.tb=new Jx.Toolbar({parent:A,position:"right"});this.flyout=new Jx.Button.Flyout({content:A});this.flyout.domObj.firstChild.addClass("jxButtonMulti");this.domObj=new Element("div",{"class":"jxButtonMultiContainer"});this.domObj.grab(this.flyout.domObj)},add:function(){$A(arguments).each(function(B){if(!B instanceof Jx.Button){return }this.buttons.push(B);var A=new Jx.Button($merge(B.options,{onClick:this.setButton.bind(this,B)}));B.multiButton=A;this.tb.add(A);if(!this.activeButton){this.domObj.grab(B.domObj,"top");this.activeButton=B}},this)},remove:function(A){if(!A||!A.multiButton){return }if(this.tb.remove(A.multiButton)){A.multiButton=null;if(this.activeButton==A){if(!this.buttons.some(function(B){if(B!=A){this.setActiveButton(B);return true}else{return false}},this)){this.setActiveButton(null)}}this.flyout.content.style.height="";this.flyout.content.style.width="";this.buttons.erase(A)}},addTo:function(B,A){B=$(B);A=A?$(A):null;if(A&&A.parentNode==B){B.grab(this.domObj,"top")}else{B.adopt(this.domObj)}},setActiveButton:function(A){if(this.activeButton){this.activeButton.domObj.dispose()}if(A&&A.domObj){this.domObj.grab(A.domObj,"top")}this.activeButton=A},setButton:function(A){this.setActiveButton(A);A.clicked();this.flyout.hide()}});Jx.ColorPalette=new Class({Implements:[Options,Events],domObj:null,options:{color:"#000000",alpha:1},hexColors:["00","33","66","99","CC","FF"],initialize:function(C){this.setOptions(C);this.domObj=new Element("div",{id:this.options.id,"class":"jxColorPalette"});var H=new Element("div",{"class":"jxColorBar"});var Q=new Element("div",{"class":"jxColorPreview"});this.selectedSwatch=new Element("div",{"class":"jxColorSelected"});this.previewSwatch=new Element("div",{"class":"jxColorHover"});Q.adopt(this.selectedSwatch);Q.adopt(this.previewSwatch);H.adopt(Q);this.colorInputLabel=new Element("label",{"class":"jxColorLabel",html:"#"});H.adopt(this.colorInputLabel);var K=this.changed.bind(this);this.colorInput=new Element("input",{"class":"jxHexInput",type:"text",maxLength:6,events:{keyup:K,blur:K,change:K}});H.adopt(this.colorInput);this.alphaLabel=new Element("label",{"class":"jxAlphaLabel",html:"alpha (%)"});H.adopt(this.alphaLabel);this.alphaInput=new Element("input",{"class":"jxAlphaInput",type:"text",maxLength:3,events:{keyup:this.alphaChanged.bind(this)}});H.adopt(this.alphaInput);this.domObj.adopt(H);Q=new Element("div",{"class":"jxClearer"});this.domObj.adopt(Q);var I=this.swatchClick.bindWithEvent(this);var G=this.swatchOver.bindWithEvent(this);var P=new Element("table",{"class":"jxColorGrid"});var A=new Element("tbody");P.adopt(A);for(var N=0;N<12;N++){var B=new Element("tr");for(var L=-3;L<18;L++){var F=false;var J,O,R;if(L<0){if(L==-3||L==-1){J=O=R=0;F=true}else{if(N<6){J=O=R=N}else{if(N==6){J=5;O=0;R=0}else{if(N==7){J=0;O=5;R=0}else{if(N==8){J=0;O=0;R=5}else{if(N==9){J=5;O=5;R=0}else{if(N==10){J=0;O=5;R=5}else{if(N==11){J=5;O=0;R=5}}}}}}}}}else{J=parseInt(N/6)*3+parseInt(L/6);O=L%6;R=N%6}var D="#"+this.hexColors[J]+this.hexColors[O]+this.hexColors[R];var E=new Element("td");if(!F){E.setStyle("backgroundColor",D);var S=new Element("a",{"class":"colorSwatch "+(((J>2&&O>2)||(J>2&&R>2)||(O>2&&R>2))?"borderBlack":"borderWhite"),href:"#",title:D,alt:D,events:{mouseover:G,click:I}});S.store("swatchColor",D);E.adopt(S)}else{var M=new Element("span",{"class":"emptyCell"});E.adopt(M)}B.adopt(E)}A.adopt(B)}this.domObj.adopt(P);this.updateSelected()},swatchOver:function(B){var A=B.target;this.previewSwatch.setStyle("backgroundColor",A.retrieve("swatchColor"))},swatchClick:function(B){var A=B.target;this.options.color=A.retrieve("swatchColor");this.updateSelected();this.fireEvent("click",this)},changed:function(){var A=this.colorInput.value;if(A.substring(0,1)=="#"){A=A.substring(1)}if(A.toLowerCase().match(/^[0-9a-f]{6}$/)){this.options.color="#"+A.toUpperCase();this.updateSelected()}},alphaChanged:function(){var A=this.alphaInput.value;if(A.match(/^[0-9]{1,3}$/)){this.options.alpha=parseFloat(A/100);this.updateSelected()}},setColor:function(A){this.colorInput.value=A;this.changed()},setAlpha:function(A){this.alphaInput.value=A;this.alphaChanged()},updateSelected:function(){var A={backgroundColor:this.options.color};this.colorInput.value=this.options.color.substring(1);this.alphaInput.value=parseInt(this.options.alpha*100);if(this.options.alpha<1){A.opacity=this.options.alpha;A.filter="Alpha(opacity="+(this.options.alpha*100)+")"}else{A.opacity="";A.filter=""}this.selectedSwatch.setStyles(A);this.previewSwatch.setStyles(A);this.fireEvent("change",this)}});Jx.Button.Color=new Class({Extends:Jx.Button.Flyout,swatch:null,options:{color:"#000000",alpha:100},initialize:function(A){if(!Jx.Button.Color.ColorPalette){Jx.Button.Color.ColorPalette=new Jx.ColorPalette(this.options)}var B=new Element("span",{"class":"jxButtonSwatch"});this.selectedSwatch=new Element("span");B.appendChild(this.selectedSwatch);this.colorChangeFn=this.changed.bind(this);this.hideFn=this.hide.bind(this);Jx.Button.Flyout.prototype.initialize.apply(this,[A]);$(this.domObj.firstChild).addClass("jxButtonColor");this.domObj.firstChild.firstChild.insertBefore(B,this.domObj.firstChild.firstChild.firstChild);this.updateSwatch()},clicked:function(){if(Jx.Button.Color.ColorPalette.currentButton){Jx.Button.Color.ColorPalette.currentButton.hide()}Jx.Button.Color.ColorPalette.currentButton=this;Jx.Button.Color.ColorPalette.addEvent("change",this.colorChangeFn);Jx.Button.Color.ColorPalette.addEvent("click",this.hideFn);this.content.appendChild(Jx.Button.Color.ColorPalette.domObj);Jx.Button.Color.ColorPalette.domObj.setStyle("display","block");Jx.Button.Flyout.prototype.clicked.apply(this,arguments);Jx.Button.Color.ColorPalette.options.color=this.options.color;Jx.Button.Color.ColorPalette.options.alpha=this.options.alpha/100;Jx.Button.Color.ColorPalette.updateSelected()},hide:function(){this.setActive(false);Jx.Button.Color.ColorPalette.removeEvent("change",this.colorChangeFn);Jx.Button.Color.ColorPalette.removeEvent("click",this.hideFn);Jx.Button.Flyout.prototype.hide.apply(this,arguments);Jx.Button.Color.ColorPalette.currentButton=null},setColor:function(A){this.options.color=A;this.updateSwatch()},setAlpha:function(A){this.options.alpha=A;this.updateSwatch()},changed:function(A){var B=false;if(this.options.color!=A.options.color){this.options.color=A.options.color;B=true}if(this.options.alpha!=A.options.alpha*100){this.options.alpha=A.options.alpha*100;B=true}if(B){this.updateSwatch();this.fireEvent("change",this)}},updateSwatch:function(){var A={backgroundColor:this.options.color};if(this.options.alpha<100){A.filter="Alpha(opacity="+(this.options.alpha)+")";A.opacity=this.options.alpha/100}else{A.opacity="";A.filter=""}this.selectedSwatch.setStyles(A)}});Jx.ButtonSet=new Class({Implements:[Options,Events],buttons:null,initialize:function(A){this.setOptions(A);this.buttons=[];this.buttonChangedHandler=this.buttonChanged.bind(this)},add:function(){$A(arguments).each(function(A){A.domObj.addClass("jx"+A.options.type+"Set");A.addEvent("down",this.buttonChangedHandler);if(!this.activeButton){A.setActive(true)}this.buttons.push(A)},this)},remove:function(A){this.buttons.erase(A);if(this.activeButton==A){if(this.buttons.length){this.buttons[0].setActive(true)}A.removeEvent("down",this.buttonChangedHandler)}},setActiveButton:function(A){if(this.activeButton&&this.activeButton!=A){this.activeButton.setActive(false)}this.activeButton=A},buttonChanged:function(A){this.setActiveButton(A);this.fireEvent("change",this)}});Jx.Grid=new Class({Implements:[Options],domObj:null,model:null,options:{alternateRowColors:false,rowHeaders:false,columnHeaders:false,rowSelection:false,cellSelection:false},initialize:function(B,A){this.setOptions(A);this.domObj=$(B);var C=this.domObj.retrieve("jxLayout");if(C){C.addEvent("sizeChange",this.resize.bind(this))}this.rowColObj=new Element("div",{"class":"jxGridContainer"});this.colObj=new Element("div",{"class":"jxGridContainer"});this.colTable=new Element("table",{"class":"jxGridTable"});this.colTableHead=new Element("thead");this.colTable.appendChild(this.colTableHead);this.colTableBody=new Element("tbody");this.colTable.appendChild(this.colTableBody);this.colObj.appendChild(this.colTable);this.rowObj=new Element("div",{"class":"jxGridContainer"});this.rowTable=new Element("table",{"class":"jxGridTable"});this.rowTableHead=new Element("thead");this.rowTable.appendChild(this.rowTableHead);this.rowObj.appendChild(this.rowTable);this.gridObj=new Element("div",{"class":"jxGridContainer",styles:{overflow:"scroll"}});this.gridTable=new Element("table",{"class":"jxGridTable"});this.gridTableBody=new Element("tbody");this.gridTable.appendChild(this.gridTableBody);this.gridObj.appendChild(this.gridTable);this.domObj.appendChild(this.rowColObj);this.domObj.appendChild(this.rowObj);this.domObj.appendChild(this.colObj);this.domObj.appendChild(this.gridObj);this.gridObj.addEvent("scroll",this.onScroll.bind(this));this.gridObj.addEvent("click",this.onClickGrid.bindWithEvent(this));this.rowObj.addEvent("click",this.onClickRowHeader.bindWithEvent(this));this.colObj.addEvent("click",this.onClickColumnHeader.bindWithEvent(this));this.gridObj.addEvent("mousemove",this.onMouseMoveGrid.bindWithEvent(this));this.rowObj.addEvent("mousemove",this.onMouseMoveRowHeader.bindWithEvent(this));this.colObj.addEvent("mousemove",this.onMouseMoveColumnHeader.bindWithEvent(this))},onScroll:function(){this.colObj.scrollLeft=this.gridObj.scrollLeft;this.rowObj.scrollTop=this.gridObj.scrollTop},resize:function(){if(!this.model){return }var C=this.options.columnHeaders?this.model.getColumnHeaderHeight():1;var A=this.options.rowHeaders?this.model.getRowHeaderWidth():1;var B=Element.getContentBoxSize(this.domObj);this.rowColObj.setStyles({width:A-1,height:C-1});this.rowObj.setStyles({top:C,left:0,width:A-1,height:B.height-C-1});this.colObj.setStyles({top:0,left:A,width:B.width-A-1,height:C-1});this.gridObj.setStyles({top:C,left:A,width:B.width-A-1,height:B.height-C-1})},setModel:function(A){if(this.model){this.model.removeGridListener(this)}this.model=A;if(this.model){if(this.domObj.resize){this.domObj.resize()}this.model.addGridListener(this);this.createGrid();this.resize()}else{this.destroyGrid()}},destroyGrid:function(){var A=this.colTableHead.cloneNode(false);this.colTable.replaceChild(A,this.colTableHead);this.colTableHead=A;A=this.colTableBody.cloneNode(false);this.colTable.replaceChild(A,this.colTableBody);this.colTableBody=A;A=this.rowTableHead.cloneNode(false);this.rowTable.replaceChild(A,this.rowTableHead);this.rowTableHead=A;A=this.gridTableBody.cloneNode(false);this.gridTable.replaceChild(A,this.gridTableBody);this.gridTableBody=A},createGrid:function(){this.destroyGrid();if(this.model){var L=this.model;var E=L.getColumnCount();var Q=L.getRowCount();if(this.options.columnHeaders){var N=L.getColumnHeaderHeight();var P=new Element("tr");this.colTableHead.appendChild(P);var M=new Element("tr");this.colTableBody.appendChild(M);var C=new Element("th",{styles:{width:0,height:0}});P.appendChild(C);C=C.cloneNode(true);C.setStyle("height",N);M.appendChild(C);for(var K=0;K<E;K++){var J=L.getColumnWidth(K);C=new Element("th",{"class":"jxGridColHeadHide",styles:{width:J}});var B=new Element("p",{styles:{height:0,width:J}});C.appendChild(B);P.appendChild(C);C=new Element("th",{"class":"jxGridColHead",html:L.getColumnHeaderHTML(K)});M.appendChild(C)}var C=new Element("th",{styles:{width:1000,height:0}});P.appendChild(C);C=C.cloneNode(true);C.setStyle("height",N-1);C.className="jxGridColHead";M.appendChild(C)}if(this.options.rowHeaders){var H=L.getRowHeaderWidth();var O=new Element("tr");var G=new Element("td",{styles:{width:0,height:0}});O.appendChild(G);var C=new Element("th",{styles:{width:H,height:0}});O.appendChild(C);this.rowTableHead.appendChild(O);for(var K=0;K<Q;K++){var A=L.getRowHeight(K);var O=new Element("tr");var G=new Element("td",{"class":"jxGridRowHeadHide",styles:{width:0,height:A}});var B=new Element("p",{styles:{width:0,height:A}});G.appendChild(B);O.appendChild(G);var C=new Element("th",{"class":"jxGridRowHead",html:L.getRowHeaderHTML(K)});O.appendChild(C);this.rowTableHead.appendChild(O)}var O=new Element("tr");var G=new Element("td",{styles:{width:0,height:1000}});O.appendChild(G);var C=new Element("th",{"class":"jxGridRowHead",styles:{width:H,height:1000}});O.appendChild(C);this.rowTableHead.appendChild(O)}var N=L.getColumnHeaderHeight();var M=new Element("tr");this.gridTableBody.appendChild(M);var G=new Element("td",{styles:{width:0,height:0}});M.appendChild(G);for(var K=0;K<E;K++){var J=L.getColumnWidth(K);G=new Element("td",{"class":"jxGridColHeadHide",styles:{width:J}});var B=new Element("p",{styles:{width:J,height:0}});G.appendChild(B);M.appendChild(G)}for(var I=0;I<Q;I++){var A=L.getRowHeight(I);var D=A;var O=new Element("tr");this.gridTableBody.appendChild(O);var G=new Element("td",{"class":"jxGridRowHeadHide",styles:{width:0,height:A}});var B=new Element("p",{styles:{height:A}});G.appendChild(B);O.appendChild(G);for(var K=0;K<E;K++){var J=L.getColumnWidth(K);G=new Element("td",{"class":"jxGridCell"});G.innerHTML=L.getValueAt(I,K);O.appendChild(G);var F=G.getSize();if(F.height>D){D=F.height}}if(document.all){D-=1}if(this.options.rowHeaders){this.setRowHeaderHeight(I,D)}if(this.options.alternateRowColors){O.className=(I%2)?"jxGridRowOdd":"jxGridRowEven"}else{O.className="jxGridRowAll"}}}},setRowHeaderHeight:function(B,A){this.rowTableHead.childNodes[B+1].childNodes[0].childNodes[0].style.height=(A)+"px"},gridChanged:function(B,D,A,C){if(this.model==B){this.gridObj.childNodes[D].childNodes[A].innerHTML=C}},prelightRowHeader:function(B){var A=(B>=0&&B<this.rowTableHead.rows.length-1)?this.rowTableHead.rows[B+1].cells[1]:null;if(this.prelitRowHeader!=A){if(this.prelitRowHeader){this.prelitRowHeader.removeClass("jxGridRowHeaderPrelight")}this.prelitRowHeader=A;if(this.prelitRowHeader){this.prelitRowHeader.addClass("jxGridRowHeaderPrelight")}}},prelightColumnHeader:function(B){if(this.colTableBody.rows.length==0){return }var A=(B>=0&&B<this.colTableBody.rows[0].cells.length-1)?this.colTableBody.rows[0].cells[B+1]:null;if(this.prelitColumnHeader!=A){if(this.prelitColumnHeader){this.prelitColumnHeader.removeClass("jxGridColumnHeaderPrelight")}this.prelitColumnHeader=A;if(this.prelitColumnHeader){this.prelitColumnHeader.addClass("jxGridColumnHeaderPrelight")}}},prelightRow:function(B){var A=(B>=0&&B<this.gridTableBody.rows.length-1)?this.gridTableBody.rows[B+1]:null;if(this.prelitRow!=B){if(this.prelitRow){this.prelitRow.removeClass("jxGridRowPrelight")}this.prelitRow=A;if(this.prelitRow&&!this.prelitRow.hasClass("jxGridRowSelected")){this.prelightRowHeader(B);this.prelitRow.addClass("jxGridRowPrelight")}}},prelightColumn:function(A){this.prelightColumnHeader(A)},prelightCell:function(B,A){var C=(B>=0&&A>=0&&B<this.gridTableBody.rows.length-1&&A<this.gridTableBody.rows[B+1].cells.length-1)?this.gridTableBody.rows[B+1].cells[A+1]:null;if(this.prelitCell!=C){if(this.prelitCell){this.prelitCell.removeClass("jxGridCellPrelight")}this.prelitCell=C;if(this.prelitCell){this.prelitCell.addClass("jxGridCellPrelight");this.prelightRow(B);this.prelightColumn(A)}}},selectCell:function(B,A){var C=(B>=0&&A>=0&&B<this.gridTableBody.rows.length-1&&A<this.gridTableBody.rows[B+1].cells.length-1)?this.gridTableBody.rows[B+1].cells[A+1]:null;if(!C){return }if(this.selectedCell){this.selectedCell.addClass("jxGridCellSelected")}else{this.selectedCell.removeClass("jxGridCellSelected")}},selectRowHeader:function(C,B){var A=(C>=0&&C<this.rowTableHead.rows.length-1)?this.rowTableHead.rows[C+1].cells[1]:null;if(!A){return }if(B){A.addClass("jxGridRowHeaderSelected")}else{A.removeClass("jxGridRowHeaderSelected")}},selectRow:function(C,A){var B=(C>=0&&C<this.gridTableBody.rows.length-1)?this.gridTableBody.rows[C+1]:null;if(B){if(A){B.addClass("jxGridRowSelected")}else{B.removeClass("jxGridRowSelected")}}this.selectRowHeader(C,A)},selectColumnHeader:function(B,C){if(this.colTableBody.rows.length==0){return }var A=(B>=0&&B<this.colTableBody.rows[0].cells.length-1)?this.colTableBody.rows[0].cells[B+1]:null;if(A==null){return }if(C){A.addClass("jxGridColumnHeaderSelected")}else{A.removeClass("jxGridColumnHeaderSelected")}},selectColumn:function(A,C){if(A>=0&&A<this.gridTable.rows[0].cells.length){if(C){for(var B=0;B<this.gridTable.rows.length;B++){this.gridTable.rows[B].cells[this.selectedColumn+1].removeClass("jxGridColumnSelected")}}else{for(var B=0;B<this.gridTable.rows.length;B++){this.gridTable.rows[B].cells[A+1].addClass("jxGridColumnSelected")}}}this.selectColumnHeader(A,C)},onMouseMoveGrid:function(B){var A=this.getRowColumnFromEvent(B);this.prelightCell(A.row,A.column)},onMouseMoveRowHeader:function(B){var A=this.getRowColumnFromEvent(B);this.prelightRow(A.row)},onMouseMoveColumnHeader:function(B){var A=this.getRowColumnFromEvent(B);this.prelightColumn(A.column)},onClickGrid:function(B){var A=this.getRowColumnFromEvent(B);if(this.model.cellSelected){this.model.cellSelected(this,A.row,A.column)}},onClickRowHeader:function(B){var A=this.getRowColumnFromEvent(B);if(this.model.rowSelected){this.model.rowSelected(this,A.row)}},onClickColumnHeader:function(B){var A=this.getRowColumnFromEvent(B);if(this.model.columnSelected){this.model.columnSelected(this,A.column)}},getRowColumnFromEvent:function(D){var F=D.target;if(F.tagName!="TD"&&F.tagName!="TH"){return{row:-1,column:-1}}var C=F.parentNode;var A=F.cellIndex-1;var E=C.rowIndex-1;if(A==-1){for(var B=0;B<C.childNodes.length;B++){if(C.childNodes[B]==F){A=B-1;break}}}return{row:E,column:A}}});Jx.Layout=new Class({Implements:[Options,Events],options:{propagate:true,position:"absolute",left:0,right:0,top:0,bottom:0,width:null,height:null,minWidth:0,minHeight:0,maxWidth:-1,maxHeight:-1},initialize:function(B,A){this.setOptions(A);this.domObj=$(B);this.domObj.resize=this.resize.bind(this);this.domObj.setStyle("position",this.options.position);this.domObj.store("jxLayout",this);if(document.body==this.domObj.parentNode){window.addEvent("resize",this.windowResize.bindWithEvent(this));window.addEvent("load",this.resize.bind(this))}},windowResize:function(){if(this.resizeTimer){$clear(this.resizeTimer);this.resizeTimer=null}this.resizeTimer=this.resize.delay(100,this)},resize:function(K){this.resizeTimer=null;var B=false;if(K){for(var F in K){if(F=="forceResize"){continue}if(this.options[F]!=K[F]){B=true;this.options[F]=K[F]}}if(K.forceResize){B=true}}if(!$(this.domObj.parentNode)){return }var C;if(this.domObj.parentNode.tagName=="BODY"){C=Element.getPageDimensions()}else{C=$(this.domObj.parentNode).getContentBoxSize()}if(this.lastParentSize&&!B){B=(this.lastParentSize.width!=C.width||this.lastParentSize.height!=C.height)}else{B=true}this.lastParentSize=C;if(!B){return }var D,J,I,G;if(this.options.left!=null){D=this.options.left;if(this.options.right==null){if(this.options.width==null){I=C.width-D;if(I<this.options.minWidth){I=this.options.minWidth}if(this.options.maxWidth>=0&&I>this.options.maxWidth){I=this.options.maxWidth}}else{I=this.options.width}}else{if(this.options.width==null){I=C.width-D-this.options.right;if(I<this.options.minWidth){I=this.options.minWidth}if(this.options.maxWidth>=0&&I>this.options.maxWidth){I=this.options.maxWidth}}else{I=this.options.width}}}else{if(this.options.right==null){if(this.options.width==null){D=0;I=C.width;if(this.options.maxWidth>=0&&I>this.options.maxWidth){D=D+parseInt(I-this.options.maxWidth)/2;I=this.options.maxWidth}}else{I=this.options.width;D=parseInt((C.width-I)/2);if(D<0){D=0}}}else{if(this.options.width!=null){I=this.options.width;D=C.width-I-this.options.right;if(D<0){D=0}}else{D=0;I=C.width-this.options.right;if(I<this.options.minWidth){I=this.options.minWidth}if(this.options.maxWidth>=0&&I>this.options.maxWidth){D=I-this.options.maxWidth-this.options.right;I=this.options.maxWidth}}}}if(this.options.top!=null){J=this.options.top;if(this.options.bottom==null){if(this.options.height==null){G=C.height-J;if(G<this.options.minHeight){G=this.options.minHeight}if(this.options.maxHeight>=0&&G>this.options.maxHeight){G=this.options.maxHeight}}else{G=this.options.height;if(this.options.maxHeight>=0&&G>this.options.maxHeight){J=G-this.options.maxHeight;G=this.options.maxHeight}}}else{if(this.options.height==null){G=C.height-J-this.options.bottom;if(G<this.options.minHeight){G=this.options.minHeight}if(this.options.maxHeight>=0&&G>this.options.maxHeight){G=this.options.maxHeight}}else{G=this.options.height}}}else{if(this.options.bottom==null){if(this.options.height==null){J=0;G=C.height;if(G<this.options.minHeight){G=this.options.minHeight}if(this.options.maxHeight>=0&&G>this.options.maxHeight){J=parseInt((C.height-this.options.maxHeight)/2);G=this.options.maxHeight}}else{G=this.options.height;J=parseInt((C.height-G)/2);if(J<0){J=0}}}else{if(this.options.height!=null){G=this.options.height;J=C.height-G-this.options.bottom;if(J<0){J=0}}else{J=0;G=C.height-this.options.bottom;if(G<this.options.minHeight){G=this.options.minHeight}if(this.options.maxHeight>=0&&G>this.options.maxHeight){J=C.height-this.options.maxHeight-this.options.bottom;G=this.options.maxHeight}}}}var E={width:I};if(this.options.position=="absolute"){var H=$(this.domObj.parentNode).getPaddingSize();this.domObj.setStyles({position:this.options.position,left:D+H.left,top:J+H.top});E.height=G}else{if(this.options.height){E.height=this.options.height}}this.domObj.setBorderBoxSize(E);if(this.options.propagate){var A={forceResize:K?K.forceResize:false};$A(this.domObj.childNodes).each(function(L){if(L.resize&&L.getStyle("display")!="none"){L.resize(A)}})}this.fireEvent("sizeChange",this)}});Jx.Menu=new Class({Implements:[Jx.AutoPosition,Jx.Chrome],domObj:null,button:null,subDomObj:null,items:null,initialize:function(A){if(!Jx.Menu.Menus){Jx.Menu.Menus=[]}this.items=[];this.contentContainer=new Element("div",{"class":"jxMenuContainer"});this.subDomObj=new Element("ul",{"class":"jxMenu"});this.contentContainer.adopt(this.subDomObj);if(A){this.domObj=new Element("li",{id:A.id,events:{mouseover:this.onMouseOver.bindWithEvent(this)}});this.button=new Jx.Button($merge(A,{onClick:this.show.bind(this)}));this.button.domA.addClass("jxButtonMenu");this.domObj.adopt(this.button.domObj)}this.hideWatcher=this.hide.bindWithEvent(this);this.keypressWatcher=this.keypressHandler.bindWithEvent(this)},add:function(){$A(arguments).each(function(A){this.items.push(A);A.setOwner(this);this.subDomObj.adopt(A.domObj)},this)},deactivate:function(){this.hide()},actionPerformed:function(){this.hide()},onMouseOver:function(A){if(Jx.Menu.Menus[0]&&Jx.Menu.Menus[0]!=this){this.show({event:A})}},hide:function(A){if(A){if(A.target.descendantOf(this.domObj)||A.target.descendantOf(this.subDomObj)){return }}if(Jx.Menu.Menus[0]&&Jx.Menu.Menus[0]==this){Jx.Menu.Menus[0]=null}if(this.domA){this.domA.removeClass("jx"+this.button.options.type+"Active")}this.contentContainer.dispose();this.items.each(function(B){B.hide(A)});document.removeEvent("mousedown",this.hideWatcher);document.removeEvent("keyup",this.keypressWatcher)},show:function(B){var A=B.event;if(Jx.Menu.Menus[0]&&Jx.Menu.Menus[0]!=this){Jx.Menu.Menus[0].hide(A)}if(this.items.length==0){return }Jx.Menu.Menus[0]=this;this.contentContainer.setStyle("visibility","hidden");document.body.adopt(this.contentContainer);this.contentContainer.setContentBoxSize(this.subDomObj.getMarginBoxSize());this.showChrome(this.contentContainer);this.position(this.contentContainer,this.button.domObj,{horizontal:["left left"],vertical:["bottom top","top bottom"],offsets:this.chromeOffsets});this.contentContainer.setStyle("visibility","");if(this.domA){this.domA.addClass("jx"+this.button.options.type+"Active")}if(A){A.stop()}document.addEvent("mousedown",this.hideWatcher);document.addEvent("keyup",this.keypressWatcher)},setVisibleItem:function(A){if(this.visibleItem!=A){if(this.visibleItem&&this.visibleItem.hide){this.visibleItem.hide()}this.visibleItem=A;this.visibleItem.show()}},keypressHandler:function(A){A=new Event(A);if(A.key=="esc"){this.hide()}}});Jx.Menu.Item=new Class({Implements:[Options,Events],Extends:Jx.Button,owner:null,button:null,options:{enabled:true,image:Jx.baseURL+"images/a_pixel.png",label:"&nbsp;"},initialize:function(A){this.parent($merge(A,{container:"li",type:"MenuItem"}));this.domObj.addEvent("mouseover",this.onMouseOver.bindWithEvent(this));if(!this.options.enabled){this.domObj.addClass("jxMenuItemDisabled")}},setOwner:function(A){this.owner=A},hide:$empty,show:$empty,clicked:function(A){if(this.options.enabled){if(this.options.toggle){this.setActive(!this.options.isActive)}this.fireEvent("click",this);if(this.owner&&this.owner.deactivate){this.owner.deactivate(A.event)}}},propertyChanged:function(A){this.options.enabled=A.isEnabled();if(this.options.enabled){this.domObj.removeClass("jxMenuItemDisabled")}else{if(!this.domObj.hadClass("jxMenuItemDisabled")){this.domObj.addClass("jxMenuItemDisabled")}}},onMouseOver:function(A){if(this.owner&&this.owner.setVisibleItem){this.owner.setVisibleItem(this)}this.show(A)}});Jx.Menu.Separator=new Class({domObj:null,owner:null,initialize:function(){this.domObj=new Element("li",{"class":"jxMenuItem"});var A=new Element("span",{"class":"jxMenuSeparator",html:"&nbsp;"});this.domObj.appendChild(A)},setOwner:function(A){this.owner=A},hide:$empty,show:$empty});Jx.Menu.SubMenu=new Class({Extends:Jx.Menu.Item,Implements:[Options,Events,Jx.AutoPosition,Jx.Chrome],subDomObj:null,owner:null,visibleItem:null,items:null,initialize:function(A){this.open=false;this.items=[];this.parent(A);this.domA.addClass("jxButtonSubMenu");this.contentContainer=new Element("div",{"class":"jxMenuContainer"});this.subDomObj=new Element("ul",{"class":"jxSubMenu"});this.contentContainer.adopt(this.subDomObj)},setOwner:function(A){this.owner=A},show:function(){if(this.open||this.items.length==0){return }this.contentContainer.setStyle("visibility","hidden");document.body.adopt(this.contentContainer);this.contentContainer.setContentBoxSize(this.subDomObj.getMarginBoxSize());this.showChrome(this.contentContainer);this.position(this.contentContainer,this.domObj,{horizontal:["right left","left right"],vertical:["top top"],offsets:this.chromeOffsets});this.open=true;this.contentContainer.setStyle("visibility","");this.setActive(true)},hide:function(){if(!this.open){return }this.open=false;this.items.each(function(A){A.hide()});this.contentContainer.dispose();this.visibleItem=null},add:function(){var A=this;$A(arguments).each(function(B){A.items.push(B);B.setOwner(A);A.subDomObj.adopt(B.domObj)})},insertBefore:function(C,D){var B=false;for(var A=0;A<this.items.length;A++){if(this.items[A]==D){this.items.splice(A,0,C);this.subDomObj.insertBefore(C.domObj,D.domObj);B=true;break}}if(!B){this.add(C)}},remove:function(B){for(var A=0;A<this.items.length;A++){if(this.items[A]==B){this.items.splice(A,1);this.subDomObj.removeChild(B.domObj);break}}},processActionEvent:function(A){if(this.open){this.hide()}else{this.show()}if(A&&A.event){A.event.stop()}},deactivate:function(A){if(this.owner){this.owner.deactivate(A)}},isActive:function(){if(this.owner){return this.owner.isActive()}else{return false}},setActive:function(A){if(this.owner&&this.owner.setActive){this.owner.setActive(A)}},setVisibleItem:function(A){if(this.visibleItem!=A){if(this.visibleItem&&this.visibleItem.hide){this.visibleItem.hide()}this.visibleItem=A;this.visibleItem.show()}}});Jx.Menu.Context=new Class({Extends:Jx.Menu,initialize:function(A){this.parent();if($(A)){$(A).addEvent("contextmenu",this.show.bindWithEvent(this))}},show:function(A){if(this.items.length==0){return }this.contentContainer.setStyle("visibility","hidden");document.body.adopt(this.contentContainer);this.contentContainer.setContentBoxSize(this.subDomObj.getMarginBoxSize());this.position(this.contentContainer,document.body,{horizontal:[A.page.x+" left"],vertical:[A.page.y+" top",A.page.y+" bottom"],offsets:this.chromeOffsets});this.contentContainer.setStyle("visibility","");this.showChrome(this.contentContainer);document.addEvent("mousedown",this.hideWatcher);document.addEvent("keyup",this.keypressWatcher);A.stop()}});Jx.Panel=new Class({Implements:[Options,Events,Jx.UniqueId,Jx.ContentLoader],toolbarContainers:{top:null,right:null,bottom:null,left:null},options:{label:"&nbsp;",imageBaseUrl:Jx.baseURL+"images/",position:"absolute",height:null,collapse:true,detach:false,close:false,closed:false,hideTitle:false,type:"Panel"},initialize:function(O){this.toolbars=O.toolbars||[];this.setOptions(O);if($defined(this.options.height)&&!$defined(O.position)){this.options.position="relative"}this.initUniqueId();this.title=new Element("div",{"class":"jx"+this.options.type+"Title"});this.labelObj=new Element("span",{"class":"jx"+this.options.type+"Label",html:this.options.label});this.title.adopt(this.labelObj);var L=new Element("div",{"class":"jx"+this.options.type+"Controls"});var F=new Element("div");L.adopt(F);this.toolbar=new Jx.Toolbar({parent:F});this.title.adopt(L);var G=this;if(this.options.menu){this.menu=new Jx.Menu({image:Jx.baseURL+"images/panel_controls.png"});this.menu.domObj.addClass("jx"+this.options.type+"Menu");this.menu.domObj.addClass("jxButtonContentLeft");this.toolbar.add(this.menu)}if(this.options.collapse){var I=new Jx.Button({image:Jx.baseURL+"images/panel_controls.png",tooltip:"Collapse/Expand Panel",onClick:function(){G.toggleCollapse()}});I.domObj.addClass("jx"+this.options.type+"Collapse");this.toolbar.add(I);if(this.menu){var N=new Jx.Menu.Item({label:"Collapse",onClick:function(){G.toggleCollapse()}});var E=N.button;this.addEvent("collapse",function(){if(G.options.closed){E.setLabel("Expand")}else{E.setLabel("Collapse")}});this.menu.add(N)}}if(this.options.maximize){var I=new Jx.Button({image:Jx.baseURL+"images/panel_controls.png",tooltip:"Maximize Panel",onClick:function(){G.maximize()}});I.domObj.addClass("jx"+this.options.type+"Maximize");this.toolbar.add(I);if(this.menu){var N=new Jx.Menu.Item({label:"Maximize",onClick:function(){G.maximize()}});this.menu.add(N)}}if(this.options.close){var I=new Jx.Button({image:Jx.baseURL+"images/panel_controls.png",tooltip:"Close Panel",onClick:function(){G.close()}});I.domObj.addClass("jx"+this.options.type+"Close");this.toolbar.add(I);if(this.menu){var N=new Jx.Menu.Item({label:"Close",onClick:function(){G.close()}});this.menu.add(N)}}this.title.addEvent("dblclick",function(){G.toggleCollapse()});this.domObj=new Element("div",{"class":"jx"+this.options.type});if(this.options.id){this.domObj.id=this.options.id}if($(this.options.parent)){$(this.options.parent).adopt(this.domObj)}var H=new Jx.Layout(this.domObj,$merge(this.options,{propagate:false}));var M=this.layoutContent.bind(this);H.addEvent("sizeChange",M);if(!this.options.hideTitle){this.domObj.adopt(this.title)}this.contentContainer=new Element("div",{"class":"jx"+this.options.type+"ContentContainer"});this.domObj.adopt(this.contentContainer);for(var B=0;B<this.toolbars.length;B++){var A=this.toolbars[B];A.addEvent("add",M);A.addEvent("remove",M);var D=A.options.position;var K=this.toolbarContainers[D];if(!K){var K=new Element("div",{"class":"jxToolbarContainer jxBar"+D.capitalize()});new Jx.Layout(K);var C=new Element("div",{"class":"jxClearer"});K.appendChild(C);this.contentContainer.adopt(K);this.toolbarContainers[D]=K}var J=A.domObj;K.insertBefore(J,K.lastChild)}this.content=new Element("div",{"class":"jx"+this.options.type+"Content"});new Jx.Layout(this.contentContainer);new Jx.Layout(this.content);this.contentContainer.adopt(this.content);this.loadContent(this.content,O);this.toggleCollapse(this.options.closed)},layoutContent:function(){var G=0;var H=0;var A=0;var C=0;var J=0;var I;var D;var F;if(!this.options.hideTitle&&this.title.parentNode==this.domObj){G=this.title.getMarginBoxSize().height}var B=this.domObj.getContentBoxSize();if(B.height>G){this.contentContainer.setStyle("display","block");this.options.closed=false;this.contentContainer.resize({top:G,height:null,bottom:0});["left","right"].each(function(L){if(this.toolbarContainers[L]){this.toolbarContainers[L].style.width=""}},this);["top","bottom"].each(function(L){if(this.toolbarContainers[L]){this.toolbarContainers[L].style.height=""}},this);for(var E=0;E<this.toolbars.length;E++){D=this.toolbars[E];F=D.options.position;I=this.toolbarContainers[F];var K=I.getBorderBoxSize();switch(F){case"top":H=K.height;break;case"bottom":A=K.height;break;case"left":C=K.width;break;case"right":J=K.width;break}}I=this.toolbarContainers.top;if(I){I.resize({top:0,left:C,right:J,bottom:null,height:H,width:null})}I=this.toolbarContainers.bottom;if(I){I.resize({top:null,left:C,right:J,bottom:0,height:A,width:null})}I=this.toolbarContainers.left;if(I){I.resize({top:H,left:0,right:null,bottom:A,height:null,width:C})}I=this.toolbarContainers.right;if(I){I.resize({top:H,left:null,right:0,bottom:A,height:null,width:J})}this.content.resize({top:H,bottom:A,left:C,right:J})}else{this.contentContainer.setStyle("display","none");this.options.closed=true}},setLabel:function(A){this.labelObj.innerHTML=A},getLabel:function(){return this.labelObj.innerHTML},finalize:function(){this.domObj=null;this.deregisterIds()},maximize:function(){if(this.manager){this.manager.maximizePanel(this)}},setContent:function(A){this.content.innerHTML=A;this.bContentReady=true},setContentURL:function(B){this.bContentReady=false;this.setBusy(true);if(arguments[1]){this.onContentReady=arguments[1]}if(B.indexOf("?")==-1){B=B+"?"}var C={method:"get",onComplete:this.panelContentLoaded.bind(this),requestHeaders:["If-Modified-Since","Sat, 1 Jan 2000 00:00:00 GMT"]};var A=new Request(B,C).send()},panelContentLoaded:function(A){this.content.innerHTML=A.responseText;this.bContentReady=true;this.setBusy(false);if(this.onContentReady){window.setTimeout(this.onContentReady.bind(this),1)}},setBusy:function(A){this.busyCount+=A?1:-1;this.loadingObj.img.style.visibility=(this.busyCount>0)?"visible":"hidden"},addTo:function(B,A){B=$(B);A=A?$(A):null;if(A&&A.parentNode==B){B.insertBefore(this.domObj,A)}else{B.appendChild(this.domObj)}this.domObj.resize()},toggleCollapse:function(C){if($defined(C)){this.options.closed=C}else{this.options.closed=!this.options.closed}if(this.options.closed){if(!this.domObj.hasClass("jx"+this.options.type+"Min")){this.domObj.addClass("jx"+this.options.type+"Min");this.contentContainer.setStyle("display","none");var B=this.domObj.getMarginSize();var A=B.top+B.bottom;if(this.title.parentNode==this.domObj){A+=this.title.getMarginBoxSize().height}this.domObj.resize({height:A});this.fireEvent("collapse",this)}}else{if(this.domObj.hasClass("jx"+this.options.type+"Min")){this.domObj.removeClass("jx"+this.options.type+"Min");this.contentContainer.setStyle("display","block");this.domObj.resize({height:this.options.height});this.fireEvent("expand",this)}}},close:function(){this.domObj.dispose();this.fireEvent("close",this)}});Jx.Dialog=new Class({Extends:Jx.Panel,Implements:[Jx.AutoPosition,Jx.Chrome],blanket:null,options:{modal:true,position:"absolute",width:250,height:250,left:0,top:0,bottom:null,right:null,label:"New Dialog",id:"",parent:null,resize:false,move:true,close:true,collapse:true},initialize:function(A){if(!Jx.Dialog.Stack){Jx.Dialog.Stack=[];Jx.Dialog.ZIndex=[100]}this.isOpening=false;this.parent($merge({parent:document.body},A,{type:"Dialog",position:"absolute"}));this.options.parent=$(this.options.parent);if(!window.opera&&this.options.modal){this.blanket=new Element("div",{"class":"jxDialogModal",styles:{display:"none",zIndex:-1}});this.options.parent.adopt(this.blanket);(new Jx.Layout(this.blanket)).resize()}this.domObj.setStyle("display","none");this.options.parent.adopt(this.domObj);if(this.options.move){this.title.addClass("jxDialogMoveable");new Drag(this.domObj,{handle:this.title,onStart:(function(){this.contentContainer.setStyle("visibility","hidden")}).bind(this),onComplete:(function(){this.contentContainer.setStyle("visibility","");this.position(this.domObj,this.options.parent,{horizontal:[parseInt(this.domObj.style.left)+" left"],vertical:[parseInt(this.domObj.style.top)+" top"]});this.options.left=parseInt(this.domObj.style.left);this.options.top=parseInt(this.domObj.style.top);if(!this.options.closed){this.domObj.resize(this.options)}}).bind(this)})}if(this.options.resize){this.resizeHandle=new Element("div",{"class":"jxDialogResize",styles:{display:this.options.closed?"none":"block"}});this.domObj.appendChild(this.resizeHandle);this.resizeHandleSize=this.resizeHandle.getSize();this.resizeHandle.setStyles({bottom:this.resizeHandleSize.height,right:this.resizeHandleSize.width});this.domObj.makeResizable({handle:this.resizeHandle,onStart:(function(){this.contentContainer.setStyle("visibility","hidden")}).bind(this),onDrag:this.resizeChrome.bind(this),onComplete:(function(){var B=this.domObj.getMarginBoxSize();this.options.width=B.width;this.options.height=B.height;this.layoutContent();this.domObj.resize(this.options);this.contentContainer.setStyle("visibility","");this.fireEvent("resize")}).bind(this)})}this.domObj.addEvent("mousedown",(function(){Jx.Dialog.Stack.erase(this).push(this);Jx.Dialog.Stack.each(function(C,B){C.domObj.setStyle("zIndex",101+B)})}).bind(this))},sizeChanged:function(){if(!this.options.closed){this.layoutContent();this.resizeChrome()}},toggleCollapse:function(C){if($defined(C)){this.options.closed=C}else{this.options.closed=!this.options.closed}if(this.options.closed){if(!this.domObj.hasClass("jx"+this.options.type+"Min")){this.domObj.addClass("jx"+this.options.type+"Min")}this.contentContainer.setStyle("display","none");if(this.resizeHandle){this.resizeHandle.setStyle("display","none")}}else{if(this.domObj.hasClass("jx"+this.options.type+"Min")){this.domObj.removeClass("jx"+this.options.type+"Min")}this.contentContainer.setStyle("display","block");if(this.resizeHandle){this.resizeHandle.setStyle("display","block")}}if(this.options.closed){var B=this.domObj.getMarginSize();var A=this.title.getMarginBoxSize();this.domObj.resize({height:B.top+A.height+B.bottom});this.fireEvent("collapse")}else{this.domObj.resize(this.options);this.fireEvent("expand")}},setTitle:function(A){this.title.childNodes[0].innerHTML=A},show:function(){Jx.Dialog.Stack.push(this);if(this.options.modal){this.blanket.setStyles({zIndex:Jx.Dialog.ZIndex[0]++,visibility:"visible",display:"block"})}this.domObj.setStyles({zIndex:Jx.Dialog.ZIndex[0]++,display:"block"});if(this.options.closed){var B=this.domObj.getMarginSize();var A=this.title.getMarginBoxSize();this.domObj.resize({height:B.top+A.height+B.bottom})}else{this.domObj.resize(this.options)}this.showChrome(this.domObj);this.position(this.domObj,this.options.parent,{horizontal:[this.options.left+" left"],vertical:[this.options.top+" top"]});this.options.left=parseInt(this.domObj.style.left);this.options.top=parseInt(this.domObj.style.top)},hide:function(){Jx.Dialog.Stack.erase(this);Jx.Dialog.ZIndex[0]--;this.domObj.setStyle("display","none");if(this.options.modal){this.blanket.setStyle("visibility","hidden");Jx.Dialog.ZIndex[0]--}},open:function(){if(!this.isOpening){this.isOpening=true}if(this.contentIsLoaded){this.show();this.fireEvent("open",this);this.isOpening=false}},close:function(){this.isOpening=false;this.hide();this.fireEvent("close")},onContentLoaded:function(){if(this.isOpening){this.open()}}});Jx.PanelSet=new Class({panels:null,height:null,firstLayout:true,initialize:function(C,B){this.domObj=$(C);this.panels=B;var H=new Element("div",{styles:{position:"absolute"}});new Jx.Layout(H,{minHeight:0,maxHeight:0,height:0});var G=[H];B.each(function(I){G.push(I.domObj);I.options.hideTitle=true;I.contentContainer.resize({top:0});I.addEvent("expand",this.maximizePanel.bind(this,I));I.domObj.store("Jx.Panel",I)},this);this.splitter=new Jx.Splitter(this.domObj,{splitInto:B.length+1,layout:"vertical",elements:G});this.splitter.sizeChanged=this.sizeChanged.bind(this);for(var E=0;E<this.panels.length;E++){var A=this.panels[E];var F=this.splitter.bars[E];A.title.setStyle("visibility","hidden");document.body.adopt(A.title);var D=A.title.getBorderBoxSize();F.adopt(A.title);A.title.setStyle("visibility","");F.setStyle("height",D.height);F.removeClass("jxSplitterBar");F.addClass("jxPanelBar");A.manager=this}},sizeChanged:function(){if(this.firstLayout){if(this.panels[0].title.getBorderBoxSize().height!=0){for(var B=0;B<this.splitter.bars.length;B++){var A=this.panels[B];this.splitter.bars[B].style.height=A.title.getBorderBoxSize().height+"px";this.splitter.bars[B].store("size",null)}this.firstLayout=false;Jx.Splitter.prototype.sizeChanged.apply(this.splitter,[])}}else{Jx.Splitter.prototype.sizeChanged.apply(this.splitter,[])}},maximizePanel:function(A){var E=this.domObj.getContentBoxSize().height;var D=0;for(var C=1;C<this.splitter.elements.length;C++){var F=this.splitter.elements[C];D+=F.retrieve("leftBar").getBorderBoxSize().height;if(F!==A.domObj){var B=F.retrieve("Jx.Panel");var G=F.retrieve("jxLayout").options;F.resize({top:D,height:G.minHeight,bottom:null});D+=G.minHeight;F.retrieve("rightBar").style.top=D+"px"}else{break}}b=E;for(var C=this.splitter.elements.length-1;C>0;C--){F=this.splitter.elements[C];if(F!==A.domObj){var G=F.retrieve("jxLayout").options;b-=G.minHeight;F.resize({top:b,height:G.minHeight,bottom:null});b-=F.retrieve("leftBar").getBorderBoxSize().height;F.retrieve("leftBar").style.top=b+"px"}else{break}}A.domObj.resize({top:D,height:b-D,bottom:null})}});Jx.Combo=new Class({Implements:[Options,Events,Jx.AutoPosition],domObj:null,ul:null,currentSelection:null,initialize:function(A){this.setOptions(A);this.domObj=new Element("div",{"class":"jxCombo"});if(this.options.id){this.domObj.id=this.options.id}if(this.options.editable){this.domInput=new Element("input",{"class":"jxComboInput",type:"text",events:{change:this.valueChanged.bindWithEvent(this),keydown:this.onKeyPress.bindWithEvent(this)}})}else{this.domInput=new Element("span",{"class":"jxComboInput"})}this.domObj.appendChild(this.domInput);this.domA=new Element("a",{"class":"jxComboDiscloser",href:"javascript:void(0)",events:{click:this.toggle.bind(this)}});this.domButton=new Element("img",{"class":"png24",src:Jx.baseURL+"images/disclose2.png"});this.domA.appendChild(this.domButton);this.domObj.appendChild(this.domA);if(!window.opera){this.domObj.appendChild(Jx.createIframeShim())}this.domListDiv=new Element("div",{"class":"jxComboOptions"});this.domList=new Element("ul");this.domListDiv.appendChild(this.domList);this.keypressHandler=this.keypress.bindWithEvent(this);this.clickHandler=this.click.bindWithEvent(this)},onKeyPress:function(A){if(A.key=="enter"){this.valueChanged()}},valueChanged:function(){this.fireEvent("changed",this)},add:function(D,B){var A=new Element("li");var C=new Element("a",{href:"javascript:void(0)",events:{click:this.pick.bindWithEvent(this)}});if($type(D)=="string"){C.innerHTML=D}else{C.appendChild(D)}A.appendChild(C);if(arguments.length>1&&this.domList.childNodes.length>B){this.domList.insertBefore(A,this.domList.childNodes[B])}else{this.domList.appendChild(A)}if(this.getValue()==""){this.setValue(C.childNodes[0])}},remove:function(A){if(A>0&&A<this.domList.childNodes.length){this.domList.removeChild(this.domList.childNodes[A])}},pick:function(B){var A=B.target;if(A.tagName=="A"){this.currentSelection=A;this.setValue(this.currentSelection.childNodes[0]);this.valueChanged()}this.close()},setValue:function(A){if(this.options.editable){if(typeof (A)=="string"){this.domInput.value=A}else{if(A.nodeType&&A.nodeType==3){this.domInput.value=A.nodeValue}else{this.domInput.value=A.innerHTML}}}else{if(typeof (A)=="string"){this.domInput.innerHTML=A}else{if(A.nodeType&&A.nodeType==3){this.domInput.innerHTML=A.nodeValue}else{this.domInput.appendChild(A)}}}},getValue:function(){value="";if(this.options.editable){value=this.domInput.value}else{if(this.domInput.childNodes.length>0){if(this.domInput.childNodes[0].nodeType==3){value=this.domInput.innerHTML}else{value=this.domInput.childNodes[0]}}}return value},toggle:function(){if(this.domListDiv.style.display=="block"){this.close()}else{this.open()}},open:function(){this.position(this.domListDiv,this.domObj,{horizontal:["left left","right right"],vertical:["bottom top","top bottom"]});this.domListDiv.width="";this.domListDiv.setStyle("visibility","hidden");document.body.adopt(this.domListDiv);this.domListDiv.setBorderBoxSize({width:Math.max(this.domListDiv.getSize().x,this.domObj.getSize().x)});this.domListDiv.setStyle("visibility","");document.addEvents({keydown:this.keypressHandler,click:this.clickHandler})},keypress:function(A){if(A.key=="esc"){this.close()}},click:function(A){if(!A.target.descendantOf(this.domListDiv)&&!A.target.descendantOf(this.domObj)){this.close()}},close:function(){this.domListDiv.dispose();document.removeEvents({keydown:this.keypressHandler,click:this.clickHandler})},getSelection:function(){return this.currentSelection?this.currentSelection.name:""}});Jx.Splitter=new Class({Implements:[Options],domObj:null,elements:null,bars:null,firstUpdate:true,options:{useChildren:false,splitInto:2,elements:null,containerOptions:[],barOptions:[],layout:"horizontal",snaps:[]},initialize:function(A,I){this.setOptions(I);this.domObj=$(A);this.domObj.addClass("jxSplitContainer");this.domObj.setStyle("overflow","hidden");var H=this.domObj.retrieve("jxLayout");if(H){H.addEvent("sizeChange",this.sizeChanged.bind(this))}this.elements=[];this.bars=[];var G=2;if(this.options.useChildren){this.elements=this.domObj.getChildren();G=this.elements.length}else{G=this.options.elements?this.options.elements.length:this.options.splitInto;for(var E=0;E<G;E++){var C;if(this.options.elements&&this.options.elements[E]){C=$(this.options.elements[E]);if(!C){C=this.prepareElement();C.id=this.options.elements[E]}}else{C=this.prepareElement()}this.elements[E]=C;this.domObj.adopt(this.elements[E])}}this.elements.each(function(J){J.addClass("jxSplitArea")});for(var E=0;E<G;E++){if(!this.elements[E].retrieve("jxLayout")){new Jx.Layout(this.elements[E],this.options.containerOptions[E])}}for(var E=1;E<G;E++){this.bars[E-1]=this.prepareBar();this.bars[E-1].store("leftSide",this.elements[E-1]);this.bars[E-1].store("rightSide",this.elements[E]);this.elements[E-1].store("rightBar",this.bars[E-1]);this.elements[E].store("leftBar",this.bars[E-1]);this.domObj.adopt(this.bars[E-1])}this.establishConstraints();for(var E=0;E<this.options.barOptions.length;E++){if(!this.bars[E]){continue}var B=this.options.barOptions[E];if(B&&B.snap&&(B.snap=="before"||B.snap=="after")){var F;if(B.snap=="before"){F=this.bars[E].retrieve("leftSide")}else{if(B.snap=="after"){F=this.bars[E].retrieve("rightSide")}}var D=new Element("a",{"class":"jxSnap"+this.options.layout.capitalize()+B.snap.capitalize(),href:"javascript:void(0)"});this.bars[E].adopt(D);new Jx.Splitter.Snap(D,F,this)}}for(var E=0;E<this.options.snaps.length;E++){if(this.options.snaps[E]){new Jx.Splitter.Snap(this.options.snaps[E],this.elements[E],this)}}},prepareElement:function(){var A=new Element("div",{styles:{position:"absolute"}});return A},prepareBar:function(){var A=new Element("div",{"class":"jxSplitBar"+this.options.layout.capitalize(),title:"drag this bar to resize"});A.store("splitterObj",this);return A},establishConstraints:function(){var A={};var B;if(this.options.layout=="horizontal"){A.y=[0,0];B=this.dragHorizontal}else{A.x=[0,0];B=this.dragVertical}this.bars.each(function(C){new Drag(C,{limit:A,onSnap:function(D){D.addClass("jxSplitBarDrag")},onComplete:(function(D){D.removeClass("jxSplitBarDrag");if(D.retrieve("splitterObj")!=this){return }B.apply(this,[D])}).bind(this)})},this)},dragHorizontal:function(F){var A=parseInt(F.style.left);var H=F.retrieve("leftSide");var C=F.retrieve("rightSide");var D=H.retrieve("jxLayout");var G=C.retrieve("jxLayout");var E=this.domObj.getPaddingSize().left;var I,O,K;var N=F.retrieve("size");if(!N){N=F.getBorderBoxSize();F.store("size",N)}I=A+N.width-E;var B=this.domObj.getContentBoxSize();if(G.options.width!=null){O=G.options.width+G.options.left-I;K=B.width-I-O}else{O=B.width-G.options.right-I;K=G.options.right}if(O<0){O=0}if(O<G.options.minWidth){O=G.options.minWidth}if(G.options.maxWidth>=0&&O>G.options.maxWidth){O=G.options.maxWidth}I=B.width-K-O;A=I-N.width;var J,M;J=D.options.left;M=A-J;if(M<0){M=0}if(M<D.options.minWidth){M=D.options.minWidth}if(D.options.maxWidth>=0&&M>D.options.maxWidth){M=D.options.maxWidth}if(J+M!=A){A=J+M;var L=A+N.width-I;I+=L;O-=L}F.style.left=E+A+"px";if(D.options.width==null){var B=this.domObj.getContentBoxSize();H.resize({right:B.width-J-M})}else{H.resize({width:M})}if(G.options.width==null){C.resize({left:I})}else{C.resize({left:I,width:O})}},dragVertical:function(F){var J=parseInt(F.style.top);var D=F.retrieve("leftSide");var A=F.retrieve("rightSide");var E=D.retrieve("jxLayout");var H=A.retrieve("jxLayout");var N=this.domObj.getPaddingSize().top;var O=F.retrieve("size");if(!O){O=F.getBorderBoxSize();F.store("size",O)}var B=this.domObj.getContentBoxSize();var C,M,K;C=J+O.height-N;if(H.options.height!=null){M=H.options.height+H.options.top-C;K=B.height-C-M}else{M=B.height-H.options.bottom-C;K=H.options.bottom}if(M<0){M=0}if(M<H.options.minHeight){M=H.options.minHeight}if(H.options.maxHeight>=0&&M>H.options.maxHeight){M=H.options.maxHeight}C=B.height-K-M;J=C-O.height;var I,G;I=E.options.top;G=J-I;if(G<0){G=0}if(G<E.options.minHeight){G=E.options.minHeight}if(E.options.maxHeight>=0&&G>E.options.maxHeight){G=E.options.maxHeight}if(I+G!=J){J=I+G;var L=J+O.height-C;C+=L;M-=L}F.style.top=N+J+"px";if(E.options.height==null){D.resize({bottom:B.height-I-G})}else{D.resize({height:G})}if(H.options.height==null){A.resize({top:C})}else{A.resize({top:C,height:M})}},sizeChanged:function(){if(this.options.layout=="horizontal"){this.horizontalResize()}else{this.verticalResize()}},horizontalResize:function(){var O=this.domObj.getContentBoxSize().width;var D=O;for(var E=0;E<this.bars.length;E++){var L=this.bars[E];var Q=L.retrieve("size");if(!Q||Q.width==0){Q=L.getBorderBoxSize();L.store("size",Q)}O-=Q.width}var I=0;var H;for(var E=0;E<this.elements.length;E++){var K=this.elements[E];H=K.retrieve("jxLayout").options;if(H.width!=null){O-=parseInt(H.width)}else{var N=0;if(H.right!=0||H.left!=0){N=K.getBorderBoxSize().width}O-=N;I++}}if(I==0){O+=H.width;H.width=null;I=1}var G=parseInt(O/I);var P=O%I;var B=this.domObj.getPaddingSize().left;var C=0;for(var E=0;E<this.elements.length;E++){var K=this.elements[E];var J=K.retrieve("jxLayout");var H=J.options;if(H.width!=null){J.resize({left:C});C+=H.width}else{var M=G;if(I==1){M+=P}I--;var N=0;if(H.right!=0||H.left!=0){N=K.getBorderBoxSize().width+M}else{N=M}if(N<0){if(I>0){G=G+N/I}N=0}if(N<H.minWidth){if(I>0){G=G+(N-H.minWidth)/I}N=H.minWidth}if(H.maxWidth>=0&&N>H.maxWidth){if(I>0){G=G+(N-H.maxWidth)/I}N=K.options.maxWidth}var A=D-C-N;J.resize({left:C,right:A});C+=N}var F=K.retrieve("rightBar");if(F){F.setStyle("left",B+C);C+=F.retrieve("size").width}}},verticalResize:function(){var N=this.domObj.getContentBoxSize().height;var B=N;for(var D=0;D<this.bars.length;D++){var L=this.bars[D];var Q=L.retrieve("size");if(!Q||Q.height==0){Q=L.getBorderBoxSize();L.store("size",Q)}N-=Q.height}var I=0;var H;for(var D=0;D<this.elements.length;D++){var K=this.elements[D];H=K.retrieve("jxLayout").options;if(H.height!=null){N-=parseInt(H.height)}else{var G=0;if(H.bottom!=0||H.top!=0){G=K.getBorderBoxSize().height}N-=G;I++}}if(I==0){N+=H.height;H.height=null;I=1}var F=parseInt(N/I);var O=N%I;var P=this.domObj.getPaddingSize().top;var C=0;for(var D=0;D<this.elements.length;D++){var K=this.elements[D];var J=K.retrieve("jxLayout");var H=J.options;if(H.height!=null){J.resize({top:C});C+=H.height}else{var M=F;if(I==1){M+=O}I--;var G=0;if(H.bottom!=0||H.top!=0){G=K.getBorderBoxSize().height+M}else{G=M}if(G<0){if(I>0){F=F+G/I}G=0}if(G<H.minHeight){if(I>0){F=F+(G-H.minHeight)/I}G=H.minHeight}if(H.maxHeight>=0&&G>H.maxHeight){if(I>0){F=F+(G-H.maxHeight)/I}G=H.maxHeight}var A=B-C-G;J.resize({top:C,bottom:A});C+=G}var E=K.retrieve("rightBar");if(E){E.style.top=P+C+"px";C+=E.retrieve("size").height}}}});Jx.Splitter.Snap=new Class({snap:null,element:null,splitter:null,layout:"vertical",initialize:function(A,E,F){this.snap=A;this.element=E;var D=E.retrieve("jxLayout");D.addEvent("sizeChange",this.sizeChange.bind(this));this.splitter=F;this.layout=F.options.layout;var B=D.options;var C=this.element.getContentBoxSize();if(this.layout=="vertical"){this.originalSize=C.height;this.minimumSize=B.minHeight?B.minHeight:0}else{this.originalSize=C.width;this.minimumSize=B.minWidth?B.minWidth:0}A.addEvent("click",this.toggleElement.bind(this))},toggleElement:function(){var B=this.element.getContentBoxSize();var A={};if(this.layout=="vertical"){if(B.height==this.minimumSize){A.height=this.originalSize}else{this.originalSize=B.height;A.height=this.minimumSize}}else{if(B.width==this.minimumSize){A.width=this.originalSize}else{this.originalSize=B.width;A.width=this.minimumSize}}this.element.resize(A);this.splitter.sizeChanged()},sizeChange:function(){var A=this.element.getBorderBoxSize();if(this.layout=="vertical"){if(A.height==this.minimumSize){this.snap.addClass("jxSnapClosed");this.snap.removeClass("jxSnapOpened")}else{this.snap.addClass("jxSnapOpened");this.snap.removeClass("jxSnapClosed")}}else{if(A.width==this.minimumSize){this.snap.addClass("jxSnapClosed");this.snap.removeClass("jxSnapOpened")}else{this.snap.addClass("jxSnapOpened");this.snap.removeClass("jxSnapClosed")}}}});Jx.TabSet=new Class({Implements:[Options,Events],tabs:null,domObj:null,initialize:function(B,A){this.setOptions(A);this.tabs=[];this.domObj=$(B);if(!this.domObj.hasClass("jxTabSetContainer")){this.domObj.addClass("jxTabSetContainer")}this.selectionChangedFn=this.selectionChanged.bind(this)},resizeTabBox:function(){var B=Element.getContentBoxSize(this.domObj.parentNode);Element.setBorderBoxSize(this.domObj,{width:B.width,height:B.height});for(var A=0;A<this.domObj.childNodes.length;A++){if(this.domObj.childNodes[A].nodeType==3){continue}Element.setBorderBoxSize(this.domObj.childNodes[A],{height:B.height});if(this.domObj.childNodes[A].resize){this.domObj.childNodes[A].resize()}}},add:function(){$A(arguments).each(function(A){if(A instanceof Jx.Button.Tab){A.addEvent("down",this.selectionChangedFn);this.domObj.appendChild(A.content);if(!this.activeTab){A.setActive(true)}this.tabs.push(A)}},this)},remove:function(A){if(A instanceof Jx.Button.Tab&&this.tabs.indexOf(A)!=-1){this.tabs.erase(A);if(this.activeTab==A){if(this.tabs.length){this.tabs[0].setActive(true)}}A.removeEvent("down",this.selectionChangedFn);A.content.dispose()}},setActiveTab:function(A){if(this.activeTab&&this.activeTab!=A){this.activeTab.setActive(false)}this.activeTab=A;if(this.activeTab.content.resize){this.activeTab.content.resize()}},selectionChanged:function(A){this.setActiveTab(A);this.fireEvent("tabChange",this,A)}});Jx.TabSet=new Class({Implements:[Options,Events],tabs:null,domObj:null,initialize:function(B,A){this.setOptions(A);this.tabs=[];this.domObj=$(B);if(!this.domObj.hasClass("jxTabSetContainer")){this.domObj.addClass("jxTabSetContainer")}this.selectionChangedFn=this.selectionChanged.bind(this)},resizeTabBox:function(){var B=Element.getContentBoxSize(this.domObj.parentNode);Element.setBorderBoxSize(this.domObj,{width:B.width,height:B.height});for(var A=0;A<this.domObj.childNodes.length;A++){if(this.domObj.childNodes[A].nodeType==3){continue}Element.setBorderBoxSize(this.domObj.childNodes[A],{height:B.height});if(this.domObj.childNodes[A].resize){this.domObj.childNodes[A].resize()}}},add:function(){$A(arguments).each(function(A){if(A instanceof Jx.Button.Tab){A.addEvent("down",this.selectionChangedFn);this.domObj.appendChild(A.content);if(!this.activeTab){A.setActive(true)}this.tabs.push(A)}},this)},remove:function(A){if(A instanceof Jx.Button.Tab&&this.tabs.indexOf(A)!=-1){this.tabs.erase(A);if(this.activeTab==A){if(this.tabs.length){this.tabs[0].setActive(true)}}A.removeEvent("down",this.selectionChangedFn);A.content.dispose()}},setActiveTab:function(A){if(this.activeTab&&this.activeTab!=A){this.activeTab.setActive(false)}this.activeTab=A;if(this.activeTab.content.resize){this.activeTab.content.resize()}},selectionChanged:function(A){this.setActiveTab(A);this.fireEvent("tabChange",this,A)}});Jx.Button.Tab=new Class({Extends:Jx.Button,Implements:[Options,Events,Jx.ContentLoader],content:null,initialize:function(A){A=$merge(A,{type:"Tab",toggle:true});this.parent(A);this.content=new Element("div",{"class":"tabContent"});this.loadContent(this.content);new Jx.Layout(this.content,A);var B=this;this.addEvent("down",function(){B.content.addClass("tabContentActive")});this.addEvent("up",function(){B.content.removeClass("tabContentActive")})},clicked:function(A){this.setActive(true)}});Jx.Toolbar=new Class({Implements:[Options,Events],items:null,domObj:null,isActive:false,options:{position:"top",parent:null},initialize:function(B){this.setOptions(B);this.domObj=new Element("ul",{"class":"jxToolbar"});if(this.options.parent){var A=$(this.options.parent);if(!A.hasClass("jxToolbarContainer")){A.addClass("jxToolbarContainer");A.appendChild(this.domObj);var C=new Element("div",{"class":"jxClearer"});A.appendChild(C)}else{A.insertBefore(this.domObj,A.lastChild)}if(["top","right","bottom","left"].contains(this.options.position)){A.addClass("jxBar"+this.options.position.capitalize())}else{A.addClass("jxBarTop")}}this.deactivateWatcher=this.deactivate.bindWithEvent(this)},add:function(){for(var B=0;B<arguments.length;B++){var A=arguments[B];A.toolbar=this;if(A.domObj){A=A.domObj}if(A.tagName=="LI"){if(!A.hasClass("jxToolItem")){A.addClass("jxToolItem")}this.domObj.appendChild(A)}else{var C=new Jx.Toolbar.Item(A);this.domObj.appendChild(C.domObj)}}if(arguments.length>0){this.fireEvent("add",this)}},remove:function(B){if(B.domObj){B=B.domObj}var A=B.findElement("LI");if(A&&A.parentNode==this.domObj){B.dispose();this.fireEvent("remove",this)}else{return null}},deactivate:function(){this.items.each(function(A){A.hide()});this.setActive(false)},isActive:function(){return this.isActive},setActive:function(A){this.isActive=A;if(this.isActive){document.addEvent("click",this.deactivateWatcher);Event.observe(document,"click",this.deactivateWatcher)}else{document.removeEvent("click",this.deactivateWatcher)}},setVisibleItem:function(A){if(this.visibleItem&&this.visibleItem.hide&&this.visibleItem!=A){this.visibleItem.hide()}this.visibleItem=A;if(this.isActive()){this.visibleItem.show()}}});Jx.Toolbar.Item=new Class({domObj:null,initialize:function(A){this.al=[];this.domObj=new Element("li",{"class":"jxToolItem"});if(A){if(A.domObj){this.domObj.appendChild(A.domObj);if(A instanceof Jx.Tab){this.domObj.addClass("jxTabItem")}}else{this.domObj.appendChild(A);if(A.hasClass("jxTab")){this.domObj.addClass("jxTabItem")}}}}});Jx.Toolbar.Separator=new Class({domObj:null,initialize:function(){this.domObj=new Element("li",{"class":"jxToolItem"});this.domSpan=new Element("span",{"class":"separator"});this.domObj.appendChild(this.domSpan)}});Jx.TreeItem=new Class({Implements:[Options,Events],domObj:null,owner:null,options:{label:"",data:null,contextMenu:null,image:null,enabled:true,type:"Item",imageClass:""},initialize:function(A){this.setOptions(A);this.domObj=new Element("li",{"class":"jxTree"+this.options.type});if(this.options.id){this.domObj.id=this.options.id}this.domNode=new Element("img",{"class":"jxTreeImage",src:Jx.aPixel.src});this.domObj.appendChild(this.domNode);this.domImg=new Element("img",{"class":"jxTreeIcon",src:Jx.aPixel.src});if(this.options.image){this.domImg.setStyle("backgroundImage","url("+this.options.image+")")}if(this.options.imageClass){this.domImg.addClass(this.options.imageClass)}this.domA=new Element("a",{href:"javascript:void(0)",html:this.options.label,events:{click:this.selected.bindWithEvent(this),dblclick:this.selected.bindWithEvent(this),contextmenu:this.showMenu.bindWithEvent(this)}});this.domA.store("jxTreeItem",this);this.domA.appendChild(this.domImg);this.domObj.appendChild(this.domA);this.domObj.store("jxTreeItem",this);if(!this.options.enabled){this.domObj.addClass("jxDisabled")}},finalize:function(){this.finalizeItem()},finalizeItem:function(){if(!this.domObj){return }this.domA.removeEvents();this.options=null;this.domObj=null;this.owner=null},clone:function(){return new Jx.TreeItem(this.options)},update:function(B){var A=(arguments.length>1)?arguments[1]:(this.owner&&this.owner.isLastNode(this));if(A){this.domObj.removeClass("jxTree"+this.options.type);this.domObj.addClass("jxTree"+this.options.type+"Last")}else{this.domObj.removeClass("jxTree"+this.options.type+"Last");this.domObj.addClass("jxTree"+this.options.type)}},selected:function(A){this.lastEvent=A;this.fireEvent("click",this)},showMenu:function(A){this.lastEvent=A;this.fireEvent("click",this);if(this.contextMenu){this.contextMenu.show(this.lastEvent)}A.stop()},getName:function(){return this.options.label},setName:function(A){this.domA.set("html",A);this.options.label=A},propertyChanged:function(A){this.options.enabled=A.isEnabled();if(this.options.enabled){this.domObj.removeClass("jxDisabled")}else{this.domObj.addClass("jxDisabled")}}});Jx.TreeFolder=new Class({Extends:Jx.TreeItem,subDomObj:null,nodes:null,isOpen:false,options:{folderCloseImage:Jx.baseURL+"images/tree_folder.png",folderOpenImage:Jx.baseURL+"images/tree_folder_open.png"},initialize:function(A){this.parent($merge(A,{type:"Branch"}));this.domObj.childNodes[0].addEvent("click",this.clicked.bindWithEvent(this));this.nodes=[];this.subDomObj=new Element("ul",{"class":"jxTree"});this.domObj.appendChild(this.subDomObj);this.subDomObj.className="jxTree";if(this.options.isOpen){this.expand()}else{this.collapse()}},finalize:function(){this.finalizeFolder();this.finalizeItem();this.subDomObj=null},finalizeFolder:function(){this.domObj.childNodes[0].removeEvents();for(var A=this.nodes.length-1;A>=0;A--){this.nodes[A].finalize();if(this.nodes[A].domObj){this.subDomObj.removeChild(this.nodes[A].domObj)}this.nodes.pop()}},clone:function(){var A=new Jx.TreeFolder(this.options);this.nodes.each(function(B){A.append(B.clone())});return A},isLastNode:function(A){if(this.nodes.length==0){return false}else{return this.nodes[this.nodes.length-1]==A}},update:function(C){if(!this.parent){return }var B=false;if(arguments.length>1){B=arguments[1]}else{B=(this.owner&&this.owner.isLastNode(this))}var D="jxTree"+this.options.type;D+=B?"Last":"";D+=this.options.isOpen?"Open":"Closed";this.domObj.className=D;if(B){this.subDomObj.className="jxTree"}else{this.subDomObj.className="jxTree jxTreeNest"}if(this.nodes&&C){var A=this;this.nodes.each(function(F,E){F.update(false,E==A.nodes.length-1)})}},append:function(A){A.owner=this;this.nodes.push(A);this.subDomObj.appendChild(A.domObj);this.update(true)},insert:function(D,B){D.owner=this;if(!B){this.nodes.unshift(D);if(this.subDomObj.childNodes.length==0){this.subDomObj.appendChild(D.domObj)}else{this.subDomObj.insertBefore(D.domObj,this.subDomObj.childNodes[0])}}else{var A=false;for(var C=0;C<this.nodes.length;C++){if(this.nodes[C]==B){C=C+1;if(C<this.nodes.length){this.nodes.splice(C,0,D);this.subDomObj.insertBefore(D.domObj,this.subDomObj.childNodes[C]);A=true;break}}}if(!A){this.nodes.push(D);this.subDomObj.appendChild(D.domObj)}}this.update(true)},remove:function(B){B.owner=null;for(var A=0;A<this.nodes.length;A++){if(this.nodes[A]==B){this.nodes.splice(A,1);this.subDomObj.removeChild(this.subDomObj.childNodes[A]);break}}this.update(true)},replace:function(D,B){var A=false;for(var C=0;C<this.nodes.length;C++){if(this.nodes[C]==B){if(C<this.nodes.length){D.owner=this;this.nodes.splice(C,1,D);this.subDomObj.replaceChild(D.domObj,B.domObj);return true}}}return false},clicked:function(A){if(this.options.isOpen){this.collapse()}else{this.expand()}},expand:function(){this.options.isOpen=true;this.subDomObj.setStyle("display","block");this.update(true);this.fireEvent("disclosed",this)},collapse:function(){this.options.isOpen=false;this.subDomObj.setStyle("display","none");this.update(true);this.fireEvent("disclosed",this)},findChild:function(C){if(C.length==0){return this}if(C.length==1){for(var B=0;B<this.nodes.length;B++){if(this.nodes[B].getName()==C[0]){return this.nodes[B]}}return null}var A=C.shift();for(var B=0;B<this.nodes.length;B++){if(this.nodes[B].getName()==A&&this.nodes[B].findChild){return this.nodes[B].findChild(C)}}return null}});Jx.Tree=new Class({Extends:Jx.TreeFolder,initialize:function(A){this.parent();this.subDomObj=new Element("ul",{"class":"jxTreeRoot"});$(A).appendChild(this.subDomObj);this.nodes=[];this.isOpen=true},finalize:function(){this.clear();this.subDomObj.parentNode.removeChild(this.subDomObj)},clear:function(){for(var A=this.nodes.length-1;A>=0;A--){this.subDomObj.removeChild(this.nodes[A].domObj);this.nodes[A].finalize();this.nodes.pop()}},update:function(A){var B=true;if(this.subDomObj){if(B){this.subDomObj.removeClass("jxTreeNest")}else{this.subDomObj.addClass("jxTreeNest")}}if(this.nodes&&A){this.nodes.each(function(C){C.update(false)})}},append:function(A){A.owner=this;this.nodes.push(A);this.subDomObj.appendChild(A.domObj);this.update(true)}});
\ No newline at end of file
+/******************************************************************************
+ * MooTools 1.2
+ * Copyright (c) 2006-2007 [Valerio Proietti](http://mad4milk.net/).
+ * MooTools is distributed under an MIT-style license.
+ ******************************************************************************
+ * reset.css - Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+ * Code licensed under the BSD License: http://developer.yahoo.net/yui/license.txt
+ ******************************************************************************
+ * Jx UI Library, version 1.0
+ * Copyright (c) 2006-2008, DM Solutions Group Inc. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *****************************************************************************/
+var MooTools={version:"1.2dev",build:""};var Native=function(J){J=J||{};var F=J.afterImplement||function(){};var G=J.generics;G=(G!==false);var H=J.legacy;var E=J.initialize;var B=J.protect;var A=J.name;var C=E||H;C.constructor=Native;C.$family={name:"native"};if(H&&E){C.prototype=H.prototype}C.prototype.constructor=C;if(A){var D=A.toLowerCase();C.prototype.$family={name:D};Native.typize(C,D)}var I=function(M,K,N,L){if(!B||L||!M.prototype[K]){M.prototype[K]=N}if(G){Native.genericize(M,K,B)}F.call(M,K,N);return M};C.implement=function(L,K,N){if(typeof L=="string"){return I(this,L,K,N)}for(var M in L){I(this,M,L[M],K)}return this};C.alias=function(M,K,N){if(typeof M=="string"){M=this.prototype[M];if(M){I(this,K,M,N)}}else{for(var L in M){this.alias(L,M[L],K)}}return this};return C};Native.implement=function(D,C){for(var B=0,A=D.length;B<A;B++){D[B].implement(C)}};Native.genericize=function(B,C,A){if((!A||!B[C])&&typeof B.prototype[C]=="function"){B[C]=function(){var D=Array.prototype.slice.call(arguments);return B.prototype[C].apply(D.shift(),D)}}};Native.typize=function(A,B){if(!A.type){A.type=function(C){return($type(C)===B)}}};Native.alias=function(E,B,A,F){for(var D=0,C=E.length;D<C;D++){E[D].alias(B,A,F)}};(function(B){for(var A in B){Native.typize(B[A],A)}})({"boolean":Boolean,"native":Native,object:Object});(function(B){for(var A in B){new Native({name:A,initialize:B[A],protect:true})}})({String:String,Function:Function,Number:Number,Array:Array,RegExp:RegExp,Date:Date});(function(B,A){for(var C=A.length;C--;C){Native.genericize(B,A[C],true)}return arguments.callee})(Array,["pop","push","reverse","shift","sort","splice","unshift","concat","join","slice","toString","valueOf","indexOf","lastIndexOf"])(String,["charAt","charCodeAt","concat","indexOf","lastIndexOf","match","replace","search","slice","split","substr","substring","toLowerCase","toUpperCase","valueOf"]);function $chk(A){return !!(A||A===0)}function $clear(A){clearTimeout(A);clearInterval(A);return null}function $defined(A){return(A!=undefined)}function $empty(){}function $arguments(A){return function(){return arguments[A]}}function $lambda(A){return(typeof A=="function")?A:function(){return A}}function $extend(C,A){for(var B in (A||{})){C[B]=A[B]}return C}function $unlink(C){var B;switch($type(C)){case"object":B={};for(var E in C){B[E]=$unlink(C[E])}break;case"hash":B=$unlink(C.getClean());break;case"array":B=[];for(var D=0,A=C.length;D<A;D++){B[D]=$unlink(C[D])}break;default:return C}return B}function $merge(){var E={};for(var D=0,A=arguments.length;D<A;D++){var B=arguments[D];if($type(B)!="object"){continue}for(var C in B){var G=B[C],F=E[C];E[C]=(F&&$type(G)=="object"&&$type(F)=="object")?$merge(F,G):$unlink(G)}}return E}function $pick(){for(var B=0,A=arguments.length;B<A;B++){if(arguments[B]!=undefined){return arguments[B]}}return null}function $random(B,A){return Math.floor(Math.random()*(A-B+1)+B)}function $splat(B){var A=$type(B);return(A)?((A!="array"&&A!="arguments")?[B]:B):[]}var $time=Date.now||function(){return new Date().getTime()};function $try(){for(var B=0,A=arguments.length;B<A;B++){try{return arguments[B]()}catch(C){}}return null}function $type(A){if(A==undefined){return false}if(A.$family){return(A.$family.name=="number"&&!isFinite(A))?false:A.$family.name}if(A.nodeName){switch(A.nodeType){case 1:return"element";case 3:return(/\S/).test(A.nodeValue)?"textnode":"whitespace"}}else{if(typeof A.length=="number"){if(A.callee){return"arguments"}else{if(A.item){return"collection"}}}}return typeof A}var Hash=new Native({name:"Hash",initialize:function(A){if($type(A)=="hash"){A=$unlink(A.getClean())}for(var B in A){this[B]=A[B]}return this}});Hash.implement({getLength:function(){var B=0;for(var A in this){if(this.hasOwnProperty(A)){B++}}return B},forEach:function(B,C){for(var A in this){if(this.hasOwnProperty(A)){B.call(C,this[A],A,this)}}},getClean:function(){var B={};for(var A in this){if(this.hasOwnProperty(A)){B[A]=this[A]}}return B}});Hash.alias("forEach","each");function $H(A){return new Hash(A)}Array.implement({forEach:function(C,D){for(var B=0,A=this.length;B<A;B++){C.call(D,this[B],B,this)}}});Array.alias("forEach","each");function $A(C){if(C.item){var D=[];for(var B=0,A=C.length;B<A;B++){D[B]=C[B]}return D}return Array.prototype.slice.call(C)}function $each(C,B,D){var A=$type(C);((A=="arguments"||A=="collection"||A=="array")?Array:Hash).each(C,B,D)}var Browser=new Hash({Engine:{name:"unknown",version:""},Platform:{name:(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase()},Features:{xpath:!!(document.evaluate),air:!!(window.runtime)},Plugins:{}});if(window.opera){Browser.Engine={name:"presto",version:(document.getElementsByClassName)?950:925}}else{if(window.ActiveXObject){Browser.Engine={name:"trident",version:(window.XMLHttpRequest)?5:4}}else{if(!navigator.taintEnabled){Browser.Engine={name:"webkit",version:(Browser.Features.xpath)?420:419}}else{if(document.getBoxObjectFor!=null){Browser.Engine={name:"gecko",version:(document.getElementsByClassName)?19:18}}}}}Browser.Engine[Browser.Engine.name]=Browser.Engine[Browser.Engine.name+Browser.Engine.version]=true;if(window.orientation!=undefined){Browser.Platform.name="ipod"}Browser.Platform[Browser.Platform.name]=true;Browser.Request=function(){return $try(function(){return new XMLHttpRequest()},function(){return new ActiveXObject("MSXML2.XMLHTTP")})};Browser.Features.xhr=!!(Browser.Request());Browser.Plugins.Flash=(function(){var A=($try(function(){return navigator.plugins["Shockwave Flash"].description},function(){return new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version")})||"0 r0").match(/\d+/g);return{version:parseInt(A[0]||0+"."+A[1]||0),build:parseInt(A[2]||0)}})();function $exec(B){if(!B){return B}if(window.execScript){window.execScript(B)}else{var A=document.createElement("script");A.setAttribute("type","text/javascript");A.text=B;document.head.appendChild(A);document.head.removeChild(A)}return B}Native.UID=1;var $uid=(Browser.Engine.trident)?function(A){return(A.uid||(A.uid=[Native.UID++]))[0]}:function(A){return A.uid||(A.uid=Native.UID++)};var Window=new Native({name:"Window",legacy:(Browser.Engine.trident)?null:window.Window,initialize:function(A){$uid(A);if(!A.Element){A.Element=$empty;if(Browser.Engine.webkit){A.document.createElement("iframe")}A.Element.prototype=(Browser.Engine.webkit)?window["[[DOMElement.prototype]]"]:{}}return $extend(A,Window.Prototype)},afterImplement:function(B,A){window[B]=Window.Prototype[B]=A}});Window.Prototype={$family:{name:"window"}};new Window(window);var Document=new Native({name:"Document",legacy:(Browser.Engine.trident)?null:window.Document,initialize:function(A){$uid(A);A.head=A.getElementsByTagName("head")[0];A.html=A.getElementsByTagName("html")[0];A.window=A.defaultView||A.parentWindow;if(Browser.Engine.trident4){$try(function(){A.execCommand("BackgroundImageCache",false,true)})}return $extend(A,Document.Prototype)},afterImplement:function(B,A){document[B]=Document.Prototype[B]=A}});Document.Prototype={$family:{name:"document"}};new Document(document);Array.implement({every:function(C,D){for(var B=0,A=this.length;B<A;B++){if(!C.call(D,this[B],B,this)){return false}}return true},filter:function(D,E){var C=[];for(var B=0,A=this.length;B<A;B++){if(D.call(E,this[B],B,this)){C.push(this[B])}}return C},clean:function(){return this.filter($defined)},indexOf:function(C,D){var A=this.length;for(var B=(D<0)?Math.max(0,A+D):D||0;B<A;B++){if(this[B]===C){return B}}return -1},map:function(D,E){var C=[];for(var B=0,A=this.length;B<A;B++){C[B]=D.call(E,this[B],B,this)}return C},some:function(C,D){for(var B=0,A=this.length;B<A;B++){if(C.call(D,this[B],B,this)){return true}}return false},associate:function(C){var D={},B=Math.min(this.length,C.length);for(var A=0;A<B;A++){D[C[A]]=this[A]}return D},link:function(C){var A={};for(var E=0,B=this.length;E<B;E++){for(var D in C){if(C[D](this[E])){A[D]=this[E];delete C[D];break}}}return A},contains:function(A,B){return this.indexOf(A,B)!=-1},extend:function(C){for(var B=0,A=C.length;B<A;B++){this.push(C[B])}return this},getLast:function(){return(this.length)?this[this.length-1]:null},getRandom:function(){return(this.length)?this[$random(0,this.length-1)]:null},include:function(A){if(!this.contains(A)){this.push(A)}return this},combine:function(C){for(var B=0,A=C.length;B<A;B++){this.include(C[B])}return this},erase:function(B){for(var A=this.length;A--;A){if(this[A]===B){this.splice(A,1)}}return this},empty:function(){this.length=0;return this},flatten:function(){var D=[];for(var B=0,A=this.length;B<A;B++){var C=$type(this[B]);if(!C){continue}D=D.concat((C=="array"||C=="collection"||C=="arguments")?Array.flatten(this[B]):this[B])}return D},hexToRgb:function(B){if(this.length!=3){return null}var A=this.map(function(C){if(C.length==1){C+=C}return C.toInt(16)});return(B)?A:"rgb("+A+")"},rgbToHex:function(D){if(this.length<3){return null}if(this.length==4&&this[3]==0&&!D){return"transparent"}var B=[];for(var A=0;A<3;A++){var C=(this[A]-0).toString(16);B.push((C.length==1)?"0"+C:C)}return(D)?B:"#"+B.join("")}});Function.implement({extend:function(A){for(var B in A){this[B]=A[B]}return this},create:function(B){var A=this;B=B||{};return function(D){var C=B.arguments;C=(C!=undefined)?$splat(C):Array.slice(arguments,(B.event)?1:0);if(B.event){C=[D||window.event].extend(C)}var E=function(){return A.apply(B.bind||null,C)};if(B.delay){return setTimeout(E,B.delay)}if(B.periodical){return setInterval(E,B.periodical)}if(B.attempt){return $try(E)}return E()}},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})},bindWithEvent: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})()},run:function(A,B){return this.apply(B,$splat(A))}});Number.implement({limit:function(B,A){return Math.min(A,Math.max(B,this))},round:function(A){A=Math.pow(10,A||0);return Math.round(this*A)/A},times:function(B,C){for(var A=0;A<this;A++){B.call(C,A,this)}},toFloat:function(){return parseFloat(this)},toInt:function(A){return parseInt(this,A||10)}});Number.alias("times","each");(function(B){var A={};B.each(function(C){if(!Number[C]){A[C]=function(){return Math[C].apply(null,[this].concat($A(arguments)))}}});Number.implement(A)})(["abs","acos","asin","atan","atan2","ceil","cos","exp","floor","log","max","min","pow","sin","sqrt","tan"]);String.implement({test:function(A,B){return((typeof A=="string")?new RegExp(A,B):A).test(this)},contains:function(A,B){return(B)?(B+this+B).indexOf(B+A+B)>-1:this.indexOf(A)>-1},trim:function(){return this.replace(/^\s+|\s+$/g,"")},clean:function(){return this.replace(/\s+/g," ").trim()},camelCase:function(){return this.replace(/-\D/g,function(A){return A.charAt(1).toUpperCase()})},hyphenate:function(){return this.replace(/[A-Z]/g,function(A){return("-"+A.charAt(0).toLowerCase())})},capitalize:function(){return this.replace(/\b[a-z]/g,function(A){return A.toUpperCase()})},escapeRegExp:function(){return this.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1")},toInt:function(A){return parseInt(this,A||10)},toFloat:function(){return parseFloat(this)},hexToRgb:function(B){var A=this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);return(A)?A.slice(1).hexToRgb(B):null},rgbToHex:function(B){var A=this.match(/\d{1,3}/g);return(A)?A.rgbToHex(B):null},stripScripts:function(B){var A="";var C=this.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi,function(){A+=arguments[1]+"\n";return""});if(B===true){$exec(A)}else{if($type(B)=="function"){B(A,C)}}return C},substitute:function(A,B){return this.replace(B||(/\\?\{([^}]+)\}/g),function(D,C){if(D.charAt(0)=="\\"){return D.slice(1)}return(A[C]!=undefined)?A[C]:""})}});Hash.implement({has:Object.prototype.hasOwnProperty,keyOf:function(B){for(var A in this){if(this.hasOwnProperty(A)&&this[A]===B){return A}}return null},hasValue:function(A){return(Hash.keyOf(this,A)!==null)},extend:function(A){Hash.each(A,function(C,B){Hash.set(this,B,C)},this);return this},combine:function(A){Hash.each(A,function(C,B){Hash.include(this,B,C)},this);return this},erase:function(A){if(this.hasOwnProperty(A)){delete this[A]}return this},get:function(A){return(this.hasOwnProperty(A))?this[A]:null},set:function(A,B){if(!this[A]||this.hasOwnProperty(A)){this[A]=B}return this},empty:function(){Hash.each(this,function(B,A){delete this[A]},this);return this},include:function(B,C){var A=this[B];if(A==undefined){this[B]=C}return this},map:function(B,C){var A=new Hash;Hash.each(this,function(E,D){A.set(D,B.call(C,E,D,this))},this);return A},filter:function(B,C){var A=new Hash;Hash.each(this,function(E,D){if(B.call(C,E,D,this)){A.set(D,E)}},this);return A},every:function(B,C){for(var A in this){if(this.hasOwnProperty(A)&&!B.call(C,this[A],A)){return false}}return true},some:function(B,C){for(var A in this){if(this.hasOwnProperty(A)&&B.call(C,this[A],A)){return true}}return false},getKeys:function(){var A=[];Hash.each(this,function(C,B){A.push(B)});return A},getValues:function(){var A=[];Hash.each(this,function(B){A.push(B)});return A},toQueryString:function(A){var B=[];Hash.each(this,function(F,E){if(A){E=A+"["+E+"]"}var D;switch($type(F)){case"object":D=Hash.toQueryString(F,E);break;case"array":var C={};F.each(function(H,G){C[G]=H});D=Hash.toQueryString(C,E);break;default:D=E+"="+encodeURIComponent(F)}if(F!=undefined){B.push(D)}});return B.join("&")}});Hash.alias({keyOf:"indexOf",hasValue:"contains"});var Event=new Native({name:"Event",initialize:function(A,F){F=F||window;var K=F.document;A=A||F.event;if(A.$extended){return A}this.$extended=true;var J=A.type;var G=A.target||A.srcElement;while(G&&G.nodeType==3){G=G.parentNode}if(J.test(/key/)){var B=A.which||A.keyCode;var M=Event.Keys.keyOf(B);if(J=="keydown"){var D=B-111;if(D>0&&D<13){M="f"+D}}M=M||String.fromCharCode(B).toLowerCase()}else{if(J.match(/(click|mouse|menu)/i)){K=(!K.compatMode||K.compatMode=="CSS1Compat")?K.html:K.body;var I={x:A.pageX||A.clientX+K.scrollLeft,y:A.pageY||A.clientY+K.scrollTop};var C={x:(A.pageX)?A.pageX-F.pageXOffset:A.clientX,y:(A.pageY)?A.pageY-F.pageYOffset:A.clientY};if(J.match(/DOMMouseScroll|mousewheel/)){var H=(A.wheelDelta)?A.wheelDelta/120:-(A.detail||0)/3}var E=(A.which==3)||(A.button==2);var L=null;if(J.match(/over|out/)){switch(J){case"mouseover":L=A.relatedTarget||A.fromElement;break;case"mouseout":L=A.relatedTarget||A.toElement}if(!(function(){while(L&&L.nodeType==3){L=L.parentNode}return true}).create({attempt:Browser.Engine.gecko})()){L=false}}}}return $extend(this,{event:A,type:J,page:I,client:C,rightClick:E,wheel:H,relatedTarget:L,target:G,code:B,key:M,shift:A.shiftKey,control:A.ctrlKey,alt:A.altKey,meta:A.metaKey})}});Event.Keys=new Hash({enter:13,up:38,down:40,left:37,right:39,esc:27,space:32,backspace:8,tab:9,"delete":46});Event.implement({stop:function(){return this.stopPropagation().preventDefault()},stopPropagation:function(){if(this.event.stopPropagation){this.event.stopPropagation()}else{this.event.cancelBubble=true}return this},preventDefault:function(){if(this.event.preventDefault){this.event.preventDefault()}else{this.event.returnValue=false}return this}});var Class=new Native({name:"Class",initialize:function(B){B=B||{};var A=function(E){for(var D in this){this[D]=$unlink(this[D])}for(var F in Class.Mutators){if(!this[F]){continue}Class.Mutators[F](this,this[F]);delete this[F]}this.constructor=A;if(E===$empty){return this}var C=(this.initialize)?this.initialize.apply(this,arguments):this;if(this.options&&this.options.initialize){this.options.initialize.call(this)}return C};$extend(A,this);A.constructor=Class;A.prototype=B;return A}});Class.implement({implement:function(){Class.Mutators.Implements(this.prototype,Array.slice(arguments));return this}});Class.Mutators={Implements:function(A,B){$splat(B).each(function(C){$extend(A,($type(C)=="class")?new C($empty):C)})},Extends:function(self,klass){var instance=new klass($empty);delete instance.parent;delete instance.parentOf;for(var key in instance){var current=self[key],previous=instance[key];if(current==undefined){self[key]=previous;continue}var ctype=$type(current),ptype=$type(previous);if(ctype!=ptype){continue}switch(ctype){case"function":if(!arguments.callee.caller){self[key]=eval("("+String(current).replace(/\bthis\.parent\(\s*(\))?/g,function(full,close){return"arguments.callee._parent_.call(this"+(close||", ")})+")")}self[key]._parent_=previous;break;case"object":self[key]=$merge(previous,current)}}self.parent=function(){return arguments.callee.caller._parent_.apply(this,arguments)};self.parentOf=function(descendant){return descendant._parent_.apply(this,Array.slice(arguments,1))}}};var Chain=new Class({chain:function(){this.$chain=(this.$chain||[]).extend(arguments);return this},callChain:function(){return(this.$chain&&this.$chain.length)?this.$chain.shift().apply(this,arguments):false},clearChain:function(){if(this.$chain){this.$chain.empty()}return this}});var Events=new Class({addEvent:function(C,B,A){C=Events.removeOn(C);if(B!=$empty){this.$events=this.$events||{};this.$events[C]=this.$events[C]||[];this.$events[C].include(B);if(A){B.internal=true}}return this},addEvents:function(A){for(var B in A){this.addEvent(B,A[B])}return this},fireEvent:function(C,B,A){C=Events.removeOn(C);if(!this.$events||!this.$events[C]){return this}this.$events[C].each(function(D){D.create({bind:this,delay:A,"arguments":B})()},this);return this},removeEvent:function(B,A){B=Events.removeOn(B);if(!this.$events||!this.$events[B]){return this}if(!A.internal){this.$events[B].erase(A)}return this},removeEvents:function(C){for(var D in this.$events){if(C&&C!=D){continue}var B=this.$events[D];for(var A=B.length;A--;A){this.removeEvent(D,B[A])}}return this}});Events.removeOn=function(A){return A.replace(/^on([A-Z])/,function(B,C){return C.toLowerCase()})};var Options=new Class({setOptions:function(){this.options=$merge.run([this.options].extend(arguments));if(!this.addEvent){return this}for(var A in this.options){if($type(this.options[A])!="function"||!(/^on[A-Z]/).test(A)){continue}this.addEvent(A,this.options[A]);delete this.options[A]}return this}});Document.implement({newElement:function(A,B){if(Browser.Engine.trident&&B){["name","type","checked"].each(function(C){if(!B[C]){return }A+=" "+C+'="'+B[C]+'"';if(C!="checked"){delete B[C]}});A="<"+A+">"}return $.element(this.createElement(A)).set(B)},newTextNode:function(A){return this.createTextNode(A)},getDocument:function(){return this},getWindow:function(){return this.defaultView||this.parentWindow},purge:function(){var C=this.getElementsByTagName("*");for(var B=0,A=C.length;B<A;B++){Browser.freeMem(C[B])}}});var Element=new Native({name:"Element",legacy:window.Element,initialize:function(A,B){var C=Element.Constructors.get(A);if(C){return C(B)}if(typeof A=="string"){return document.newElement(A,B)}return $(A).set(B)},afterImplement:function(A,B){if(!Array[A]){Elements.implement(A,Elements.multi(A))}Element.Prototype[A]=B}});Element.Prototype={$family:{name:"element"}};Element.Constructors=new Hash;var IFrame=new Native({name:"IFrame",generics:false,initialize:function(){var E=Array.link(arguments,{properties:Object.type,iframe:$defined});var C=E.properties||{};var B=$(E.iframe)||false;var D=C.onload||$empty;delete C.onload;C.id=C.name=$pick(C.id,C.name,B.id,B.name,"IFrame_"+$time());B=new Element(B||"iframe",C);var A=function(){var F=$try(function(){return B.contentWindow.location.host});if(F&&F==window.location.host){var H=new Window(B.contentWindow);var G=new Document(B.contentWindow.document);$extend(H.Element.prototype,Element.Prototype)}D.call(B.contentWindow,B.contentWindow.document)};(!window.frames[C.id])?B.addListener("load",A):A();return B}});var Elements=new Native({initialize:function(F,B){B=$extend({ddup:true,cash:true},B);F=F||[];if(B.ddup||B.cash){var G={},E=[];for(var C=0,A=F.length;C<A;C++){var D=$.element(F[C],!B.cash);if(B.ddup){if(G[D.uid]){continue}G[D.uid]=true}E.push(D)}F=E}return(B.cash)?$extend(F,this):F}});Elements.implement({filter:function(A,B){if(!A){return this}return new Elements(Array.filter(this,(typeof A=="string")?function(C){return C.match(A)}:A,B))}});Elements.multi=function(A){return function(){var B=[];var F=true;for(var D=0,C=this.length;D<C;D++){var E=this[D][A].apply(this[D],arguments);B.push(E);if(F){F=($type(E)=="element")}}return(F)?new Elements(B):B}};Window.implement({$:function(B,C){if(B&&B.$family&&B.uid){return B}var A=$type(B);return($[A])?$[A](B,C,this.document):null},$$:function(A){if(arguments.length==1&&typeof A=="string"){return this.document.getElements(A)}var F=[];var C=Array.flatten(arguments);for(var D=0,B=C.length;D<B;D++){var E=C[D];switch($type(E)){case"element":E=[E];break;case"string":E=this.document.getElements(E,true);break;default:E=false}if(E){F.extend(E)}}return new Elements(F)},getDocument:function(){return this.document},getWindow:function(){return this}});$.string=function(C,B,A){C=A.getElementById(C);return(C)?$.element(C,B):null};$.element=function(A,D){$uid(A);if(!D&&!A.$family&&!(/^object|embed$/i).test(A.tagName)){var B=Element.Prototype;for(var C in B){A[C]=B[C]}}return A};$.object=function(B,C,A){if(B.toElement){return $.element(B.toElement(A),C)}return null};$.textnode=$.whitespace=$.window=$.document=$arguments(0);Native.implement([Element,Document],{getElement:function(A,B){return $(this.getElements(A,true)[0]||null,B)},getElements:function(A,D){A=A.split(",");var C=[];var B=(A.length>1);A.each(function(E){var F=this.getElementsByTagName(E.trim());(B)?C.extend(F):C=F},this);return new Elements(C,{ddup:B,cash:!D})}});Element.Storage={get:function(A){return(this[A]||(this[A]={}))}};Element.Inserters=new Hash({before:function(B,A){if(A.parentNode){A.parentNode.insertBefore(B,A)}},after:function(B,A){if(!A.parentNode){return }var C=A.nextSibling;(C)?A.parentNode.insertBefore(B,C):A.parentNode.appendChild(B)},bottom:function(B,A){A.appendChild(B)},top:function(B,A){var C=A.firstChild;(C)?A.insertBefore(B,C):A.appendChild(B)}});Element.Inserters.inside=Element.Inserters.bottom;Element.Inserters.each(function(C,B){var A=B.capitalize();Element.implement("inject"+A,function(D){C(this,$(D,true));return this});Element.implement("grab"+A,function(D){C($(D,true),this);return this})});Element.implement({getDocument:function(){return this.ownerDocument},getWindow:function(){return this.ownerDocument.getWindow()},getElementById:function(D,C){var B=this.ownerDocument.getElementById(D);if(!B){return null}for(var A=B.parentNode;A!=this;A=A.parentNode){if(!A){return null}}return $.element(B,C)},set:function(D,B){switch($type(D)){case"object":for(var C in D){this.set(C,D[C])}break;case"string":var A=Element.Properties.get(D);(A&&A.set)?A.set.apply(this,Array.slice(arguments,1)):this.setProperty(D,B)}return this},get:function(B){var A=Element.Properties.get(B);return(A&&A.get)?A.get.apply(this,Array.slice(arguments,1)):this.getProperty(B)},erase:function(B){var A=Element.Properties.get(B);(A&&A.erase)?A.erase.apply(this,Array.slice(arguments,1)):this.removeProperty(B);return this},match:function(A){return(!A||Element.get(this,"tag")==A)},inject:function(B,A){Element.Inserters.get(A||"bottom")(this,$(B,true));return this},wraps:function(B,A){B=$(B,true);return this.replaces(B).grab(B,A)},grab:function(B,A){Element.Inserters.get(A||"bottom")($(B,true),this);return this},appendText:function(B,A){return this.grab(this.getDocument().newTextNode(B),A)},adopt:function(){Array.flatten(arguments).each(function(A){A=$(A,true);if(A){this.appendChild(A)}},this);return this},dispose:function(){return(this.parentNode)?this.parentNode.removeChild(this):this},clone:function(D,C){switch($type(this)){case"element":var H={};for(var G=0,E=this.attributes.length;G<E;G++){var B=this.attributes[G],L=B.nodeName.toLowerCase();if(Browser.Engine.trident&&(/input/i).test(this.tagName)&&(/width|height/).test(L)){continue}var K=(L=="style"&&this.style)?this.style.cssText:B.nodeValue;if(!$chk(K)||L=="uid"||(L=="id"&&!C)){continue}if(K!="inherit"&&["string","number"].contains($type(K))){H[L]=K}}var J=new Element(this.nodeName.toLowerCase(),H);if(D!==false){for(var I=0,F=this.childNodes.length;I<F;I++){var A=Element.clone(this.childNodes[I],true,C);if(A){J.grab(A)}}}return J;case"textnode":return document.newTextNode(this.nodeValue)}return null},replaces:function(A){A=$(A,true);A.parentNode.replaceChild(this,A);return this},hasClass:function(A){return this.className.contains(A," ")},addClass:function(A){if(!this.hasClass(A)){this.className=(this.className+" "+A).clean()}return this},removeClass:function(A){this.className=this.className.replace(new RegExp("(^|\\s)"+A+"(?:\\s|$)"),"$1").clean();return this},toggleClass:function(A){return this.hasClass(A)?this.removeClass(A):this.addClass(A)},getComputedStyle:function(B){if(this.currentStyle){return this.currentStyle[B.camelCase()]}var A=this.getWindow().getComputedStyle(this,null);return(A)?A.getPropertyValue([B.hyphenate()]):null},empty:function(){$A(this.childNodes).each(function(A){Browser.freeMem(A);Element.empty(A);Element.dispose(A)},this);return this},destroy:function(){Browser.freeMem(this.empty().dispose());return null},getSelected:function(){return new Elements($A(this.options).filter(function(A){return A.selected}))},toQueryString:function(){var A=[];this.getElements("input, select, textarea").each(function(B){if(!B.name||B.disabled){return }var C=(B.tagName.toLowerCase()=="select")?Element.getSelected(B).map(function(D){return D.value}):((B.type=="radio"||B.type=="checkbox")&&!B.checked)?null:B.value;$splat(C).each(function(D){if(D){A.push(B.name+"="+encodeURIComponent(D))}})});return A.join("&")},getProperty:function(C){var B=Element.Attributes,A=B.Props[C];var D=(A)?this[A]:this.getAttribute(C,2);return(B.Bools[C])?!!D:(A)?D:D||null},getProperties:function(){var A=$A(arguments);return A.map(function(B){return this.getProperty(B)},this).associate(A)},setProperty:function(D,E){var C=Element.Attributes,B=C.Props[D],A=$defined(E);if(B&&C.Bools[D]){E=(E||!A)?true:false}else{if(!A){return this.removeProperty(D)}}(B)?this[B]=E:this.setAttribute(D,E);return this},setProperties:function(A){for(var B in A){this.setProperty(B,A[B])}return this},removeProperty:function(D){var C=Element.Attributes,B=C.Props[D],A=(B&&C.Bools[D]);(B)?this[B]=(A)?false:"":this.removeAttribute(D);return this},removeProperties:function(){Array.each(arguments,this.removeProperty,this);return this}});(function(){var A=function(D,B,I,C,F,H){var E=D[I||B];var G=[];while(E){if(E.nodeType==1&&(!C||Element.match(E,C))){G.push(E);if(!F){break}}E=E[B]}return(F)?new Elements(G,{ddup:false,cash:!H}):$(G[0],H)};Element.implement({getPrevious:function(B,C){return A(this,"previousSibling",null,B,false,C)},getAllPrevious:function(B,C){return A(this,"previousSibling",null,B,true,C)},getNext:function(B,C){return A(this,"nextSibling",null,B,false,C)},getAllNext:function(B,C){return A(this,"nextSibling",null,B,true,C)},getFirst:function(B,C){return A(this,"nextSibling","firstChild",B,false,C)},getLast:function(B,C){return A(this,"previousSibling","lastChild",B,false,C)},getParent:function(B,C){return A(this,"parentNode",null,B,false,C)},getParents:function(B,C){return A(this,"parentNode",null,B,true,C)},getChildren:function(B,C){return A(this,"nextSibling","firstChild",B,true,C)},hasChild:function(B){B=$(B,true);return(!!B&&$A(this.getElementsByTagName(B.tagName)).contains(B))}})})();Element.Properties=new Hash;Element.Properties.style={set:function(A){this.style.cssText=A},get:function(){return this.style.cssText},erase:function(){this.style.cssText=""}};Element.Properties.tag={get:function(){return this.tagName.toLowerCase()}};Element.Properties.href={get:function(){return(!this.href)?null:this.href.replace(new RegExp("^"+document.location.protocol+"//"+document.location.host),"")}};Element.Properties.html={set:function(){return this.innerHTML=Array.flatten(arguments).join("")}};Native.implement([Element,Window,Document],{addListener:function(B,A){if(this.addEventListener){this.addEventListener(B,A,false)}else{this.attachEvent("on"+B,A)}return this},removeListener:function(B,A){if(this.removeEventListener){this.removeEventListener(B,A,false)}else{this.detachEvent("on"+B,A)}return this},retrieve:function(B,A){var D=Element.Storage.get(this.uid);var C=D[B];if($defined(A)&&!$defined(C)){C=D[B]=A}return $pick(C)},store:function(B,A){var C=Element.Storage.get(this.uid);C[B]=A;return this},eliminate:function(A){var B=Element.Storage.get(this.uid);delete B[A];return this}});Element.Attributes=new Hash({Props:{html:"innerHTML","class":"className","for":"htmlFor",text:(Browser.Engine.trident)?"innerText":"textContent"},Bools:["compact","nowrap","ismap","declare","noshade","checked","disabled","readonly","multiple","selected","noresize","defer"],Camels:["value","accessKey","cellPadding","cellSpacing","colSpan","frameBorder","maxLength","readOnly","rowSpan","tabIndex","useMap"]});Browser.freeMem=function(A){if(!A){return }if(Browser.Engine.trident&&(/object/i).test(A.tagName)){for(var B in A){if(typeof A[B]=="function"){A[B]=$empty}}Element.dispose(A)}if(A.uid&&A.removeEvents){A.removeEvents()}};(function(B){var C=B.Bools,A=B.Camels;B.Bools=C=C.associate(C);Hash.extend(Hash.combine(B.Props,C),A.associate(A.map(function(D){return D.toLowerCase()})));B.erase("Camels")})(Element.Attributes);window.addListener("unload",function(){window.removeListener("unload",arguments.callee);document.purge();if(Browser.Engine.trident){CollectGarbage()}});Element.Properties.events={set:function(A){this.addEvents(A)}};Native.implement([Element,Window,Document],{addEvent:function(E,G){var H=this.retrieve("events",{});H[E]=H[E]||{keys:[],values:[]};if(H[E].keys.contains(G)){return this}H[E].keys.push(G);var F=E,A=Element.Events.get(E),C=G,I=this;if(A){if(A.onAdd){A.onAdd.call(this,G)}if(A.condition){C=function(J){if(A.condition.call(this,J)){return G.call(this,J)}return false}}F=A.base||F}var D=function(){return G.call(I)};var B=Element.NativeEvents[F]||0;if(B){if(B==2){D=function(J){J=new Event(J,I.getWindow());if(C.call(I,J)===false){J.stop()}}}this.addListener(F,D)}H[E].values.push(D);return this},removeEvent:function(D,C){var B=this.retrieve("events");if(!B||!B[D]){return this}var G=B[D].keys.indexOf(C);if(G==-1){return this}var A=B[D].keys.splice(G,1)[0];var F=B[D].values.splice(G,1)[0];var E=Element.Events.get(D);if(E){if(E.onRemove){E.onRemove.call(this,C)}D=E.base||D}return(Element.NativeEvents[D])?this.removeListener(D,F):this},addEvents:function(A){for(var B in A){this.addEvent(B,A[B])}return this},removeEvents:function(B){var A=this.retrieve("events");if(!A){return this}if(!B){for(var C in A){this.removeEvents(C)}A=null}else{if(A[B]){while(A[B].keys[0]){this.removeEvent(B,A[B].keys[0])}A[B]=null}}return this},fireEvent:function(D,B,A){var C=this.retrieve("events");if(!C||!C[D]){return this}C[D].keys.each(function(E){E.create({bind:this,delay:A,"arguments":B})()},this);return this},cloneEvents:function(D,A){D=$(D);var C=D.retrieve("events");if(!C){return this}if(!A){for(var B in C){this.cloneEvents(D,B)}}else{if(C[A]){C[A].keys.each(function(E){this.addEvent(A,E)},this)}}return this}});Element.NativeEvents={click:2,dblclick:2,mouseup:2,mousedown:2,contextmenu:2,mousewheel:2,DOMMouseScroll:2,mouseover:2,mouseout:2,mousemove:2,selectstart:2,selectend:2,keydown:2,keypress:2,keyup:2,focus:2,blur:2,change:2,reset:2,select:2,submit:2,load:1,unload:1,beforeunload:2,resize:1,move:1,DOMContentLoaded:1,readystatechange:1,error:1,abort:1,scroll:1};(function(){var A=function(B){var C=B.relatedTarget;if(C==undefined){return true}if(C===false){return false}return($type(this)!="document"&&C!=this&&C.prefix!="xul"&&!this.hasChild(C))};Element.Events=new Hash({mouseenter:{base:"mouseover",condition:A},mouseleave:{base:"mouseout",condition:A},mousewheel:{base:(Browser.Engine.gecko)?"DOMMouseScroll":"mousewheel"}})})();Element.Properties.styles={set:function(A){this.setStyles(A)}};Element.Properties.opacity={set:function(A,B){if(!B){if(A==0){if(this.style.visibility!="hidden"){this.style.visibility="hidden"}}else{if(this.style.visibility!="visible"){this.style.visibility="visible"}}}if(!this.currentStyle||!this.currentStyle.hasLayout){this.style.zoom=1}if(Browser.Engine.trident){this.style.filter=(A==1)?"":"alpha(opacity="+A*100+")"}this.style.opacity=A;this.store("opacity",A)},get:function(){return this.retrieve("opacity",1)}};Element.implement({setOpacity:function(A){return this.set("opacity",A,true)},getOpacity:function(){return this.get("opacity")},setStyle:function(B,A){switch(B){case"opacity":return this.set("opacity",parseFloat(A));case"float":B=(Browser.Engine.trident)?"styleFloat":"cssFloat"}B=B.camelCase();if($type(A)!="string"){var C=(Element.Styles.get(B)||"@").split(" ");A=$splat(A).map(function(E,D){if(!C[D]){return""}return($type(E)=="number")?C[D].replace("@",Math.round(E)):E}).join(" ")}else{if(A==String(Number(A))){A=Math.round(A)}}this.style[B]=A;return this},getStyle:function(G){switch(G){case"opacity":return this.get("opacity");case"float":G=(Browser.Engine.trident)?"styleFloat":"cssFloat"}G=G.camelCase();var A=this.style[G];if(!$chk(A)){A=[];for(var F in Element.ShortStyles){if(G!=F){continue}for(var E in Element.ShortStyles[F]){A.push(this.getStyle(E))}return A.join(" ")}A=this.getComputedStyle(G)}if(A){A=String(A);var C=A.match(/rgba?\([\d\s,]+\)/);if(C){A=A.replace(C[0],C[0].rgbToHex())}}if(Browser.Engine.presto||(Browser.Engine.trident&&!$chk(parseInt(A)))){if(G.test(/^(height|width)$/)){var B=(G=="width")?["left","right"]:["top","bottom"],D=0;B.each(function(H){D+=this.getStyle("border-"+H+"-width").toInt()+this.getStyle("padding-"+H).toInt()},this);return this["offset"+G.capitalize()]-D+"px"}if(Browser.Engine.presto&&String(A).test("px")){return A}if(G.test(/(border(.+)Width|margin|padding)/)){return"0px"}}return A},setStyles:function(B){for(var A in B){this.setStyle(A,B[A])}return this},getStyles:function(){var A={};Array.each(arguments,function(B){A[B]=this.getStyle(B)},this);return A}});Element.Styles=new Hash({left:"@px",top:"@px",bottom:"@px",right:"@px",width:"@px",height:"@px",maxWidth:"@px",maxHeight:"@px",minWidth:"@px",minHeight:"@px",backgroundColor:"rgb(@, @, @)",backgroundPosition:"@px @px",color:"rgb(@, @, @)",fontSize:"@px",letterSpacing:"@px",lineHeight:"@px",clip:"rect(@px @px @px @px)",margin:"@px @px @px @px",padding:"@px @px @px @px",border:"@px @ rgb(@, @, @) @px @ rgb(@, @, @) @px @ rgb(@, @, @)",borderWidth:"@px @px @px @px",borderStyle:"@ @ @ @",borderColor:"rgb(@, @, @) rgb(@, @, @) rgb(@, @, @) rgb(@, @, @)",zIndex:"@",zoom:"@",fontWeight:"@",textIndent:"@px",opacity:"@"});Element.ShortStyles={margin:{},padding:{},border:{},borderWidth:{},borderStyle:{},borderColor:{}};["Top","Right","Bottom","Left"].each(function(G){var F=Element.ShortStyles;var B=Element.Styles;["margin","padding"].each(function(H){var I=H+G;F[H][I]=B[I]="@px"});var E="border"+G;F.border[E]=B[E]="@px @ rgb(@, @, @)";var D=E+"Width",A=E+"Style",C=E+"Color";F[E]={};F.borderWidth[D]=F[E][D]=B[D]="@px";F.borderStyle[A]=F[E][A]=B[A]="@";F.borderColor[C]=F[E][C]=B[C]="rgb(@, @, @)"});(function(){Element.implement({scrollTo:function(H,I){if(B(this)){this.getWindow().scrollTo(H,I)}else{this.scrollLeft=H;this.scrollTop=I}return this},getSize:function(){if(B(this)){return this.getWindow().getSize()}return{x:this.offsetWidth,y:this.offsetHeight}},getScrollSize:function(){if(B(this)){return this.getWindow().getScrollSize()}return{x:this.scrollWidth,y:this.scrollHeight}},getScroll:function(){if(B(this)){return this.getWindow().getScroll()}return{x:this.scrollLeft,y:this.scrollTop}},getScrolls:function(){var I=this,H={x:0,y:0};while(I&&!B(I)){H.x+=I.scrollLeft;H.y+=I.scrollTop;I=I.parentNode}return H},getOffsetParent:function(){var H=this;if(B(H)){return null}if(!Browser.Engine.trident){return H.offsetParent}while((H=H.parentNode)&&!B(H)){if(D(H,"position")!="static"){return H}}return null},getOffsets:function(){var I=this,H={x:0,y:0};if(B(this)){return H}while(I&&!B(I)){H.x+=I.offsetLeft;H.y+=I.offsetTop;if(Browser.Engine.gecko){if(!F(I)){H.x+=C(I);H.y+=G(I)}var J=I.parentNode;if(J&&D(J,"overflow")!="visible"){H.x+=C(J);H.y+=G(J)}}else{if(I!=this&&(Browser.Engine.trident||Browser.Engine.webkit)){H.x+=C(I);H.y+=G(I)}}I=I.offsetParent;if(Browser.Engine.trident){while(I&&!I.currentStyle.hasLayout){I=I.offsetParent}}}if(Browser.Engine.gecko&&!F(this)){H.x-=C(this);H.y-=G(this)}return H},getPosition:function(K){if(B(this)){return{x:0,y:0}}var L=this.getOffsets(),I=this.getScrolls();var H={x:L.x-I.x,y:L.y-I.y};var J=(K&&(K=$(K)))?K.getPosition():{x:0,y:0};return{x:H.x-J.x,y:H.y-J.y}},getCoordinates:function(J){if(B(this)){return this.getWindow().getCoordinates()}var H=this.getPosition(J),I=this.getSize();var K={left:H.x,top:H.y,width:I.x,height:I.y};K.right=K.left+K.width;K.bottom=K.top+K.height;return K},computePosition:function(H){return{left:H.x-E(this,"margin-left"),top:H.y-E(this,"margin-top")}},position:function(H){return this.setStyles(this.computePosition(H))}});Native.implement([Document,Window],{getSize:function(){var I=this.getWindow();if(Browser.Engine.presto||Browser.Engine.webkit){return{x:I.innerWidth,y:I.innerHeight}}var H=A(this);return{x:H.clientWidth,y:H.clientHeight}},getScroll:function(){var I=this.getWindow();var H=A(this);return{x:I.pageXOffset||H.scrollLeft,y:I.pageYOffset||H.scrollTop}},getScrollSize:function(){var I=A(this);var H=this.getSize();return{x:Math.max(I.scrollWidth,H.x),y:Math.max(I.scrollHeight,H.y)}},getPosition:function(){return{x:0,y:0}},getCoordinates:function(){var H=this.getSize();return{top:0,left:0,bottom:H.y,right:H.x,height:H.y,width:H.x}}});var D=Element.getComputedStyle;function E(H,I){return D(H,I).toInt()||0}function F(H){return D(H,"-moz-box-sizing")=="border-box"}function G(H){return E(H,"border-top-width")}function C(H){return E(H,"border-left-width")}function B(H){return(/^(?:body|html)$/i).test(H.tagName)}function A(H){var I=H.getDocument();return(!I.compatMode||I.compatMode=="CSS1Compat")?I.html:I.body}})();Native.implement([Window,Document,Element],{getHeight:function(){return this.getSize().y},getWidth:function(){return this.getSize().x},getScrollTop:function(){return this.getScroll().y},getScrollLeft:function(){return this.getScroll().x},getScrollHeight:function(){return this.getScrollSize().y},getScrollWidth:function(){return this.getScrollSize().x},getTop:function(){return this.getPosition().y},getLeft:function(){return this.getPosition().x}});Native.implement([Document,Element],{getElements:function(H,G){H=H.split(",");var C,E={};for(var D=0,B=H.length;D<B;D++){var A=H[D],F=Selectors.Utils.search(this,A,E);if(D!=0&&F.item){F=$A(F)}C=(D==0)?F:(C.item)?$A(C).concat(F):C.concat(F)}return new Elements(C,{ddup:(H.length>1),cash:!G})}});Element.implement({match:function(B){if(!B){return true}var D=Selectors.Utils.parseTagAndID(B);var A=D[0],E=D[1];if(!Selectors.Filters.byID(this,E)||!Selectors.Filters.byTag(this,A)){return false}var C=Selectors.Utils.parseSelector(B);return(C)?Selectors.Utils.filter(this,C,{}):true}});var Selectors={Cache:{nth:{},parsed:{}}};Selectors.RegExps={id:(/#([\w-]+)/),tag:(/^(\w+|\*)/),quick:(/^(\w+|\*)$/),splitter:(/\s*([+>~\s])\s*([a-zA-Z#.*:\[])/g),combined:(/\.([\w-]+)|\[(\w+)(?:([!*^$~|]?=)["']?(.*?)["']?)?\]|:([\w-]+)(?:\(["']?(.*?)?["']?\)|$)/g)};Selectors.Utils={chk:function(B,C){if(!C){return true}var A=$uid(B);if(!C[A]){return C[A]=true}return false},parseNthArgument:function(F){if(Selectors.Cache.nth[F]){return Selectors.Cache.nth[F]}var C=F.match(/^([+-]?\d*)?([a-z]+)?([+-]?\d*)?$/);if(!C){return false}var E=parseInt(C[1]);var B=(E||E===0)?E:1;var D=C[2]||false;var A=parseInt(C[3])||0;if(B!=0){A--;while(A<1){A+=B}while(A>=B){A-=B}}else{B=A;D="index"}switch(D){case"n":C={a:B,b:A,special:"n"};break;case"odd":C={a:2,b:0,special:"n"};break;case"even":C={a:2,b:1,special:"n"};break;case"first":C={a:0,special:"index"};break;case"last":C={special:"last-child"};break;case"only":C={special:"only-child"};break;default:C={a:(B-1),special:"index"}}return Selectors.Cache.nth[F]=C},parseSelector:function(E){if(Selectors.Cache.parsed[E]){return Selectors.Cache.parsed[E]}var D,H={classes:[],pseudos:[],attributes:[]};while((D=Selectors.RegExps.combined.exec(E))){var I=D[1],G=D[2],F=D[3],B=D[4],C=D[5],J=D[6];if(I){H.classes.push(I)}else{if(C){var A=Selectors.Pseudo.get(C);if(A){H.pseudos.push({parser:A,argument:J})}else{H.attributes.push({name:C,operator:"=",value:J})}}else{if(G){H.attributes.push({name:G,operator:F,value:B})}}}}if(!H.classes.length){delete H.classes}if(!H.attributes.length){delete H.attributes}if(!H.pseudos.length){delete H.pseudos}if(!H.classes&&!H.attributes&&!H.pseudos){H=null}return Selectors.Cache.parsed[E]=H},parseTagAndID:function(B){var A=B.match(Selectors.RegExps.tag);var C=B.match(Selectors.RegExps.id);return[(A)?A[1]:"*",(C)?C[1]:false]},filter:function(F,C,E){var D;if(C.classes){for(D=C.classes.length;D--;D){var G=C.classes[D];if(!Selectors.Filters.byClass(F,G)){return false}}}if(C.attributes){for(D=C.attributes.length;D--;D){var B=C.attributes[D];if(!Selectors.Filters.byAttribute(F,B.name,B.operator,B.value)){return false}}}if(C.pseudos){for(D=C.pseudos.length;D--;D){var A=C.pseudos[D];if(!Selectors.Filters.byPseudo(F,A.parser,A.argument,E)){return false}}}return true},getByTagAndID:function(B,A,D){if(D){var C=(B.getElementById)?B.getElementById(D,true):Element.getElementById(B,D,true);return(C&&Selectors.Filters.byTag(C,A))?[C]:[]}else{return B.getElementsByTagName(A)}},search:function(J,I,O){var B=[];var C=I.trim().replace(Selectors.RegExps.splitter,function(Z,Y,X){B.push(Y);return":)"+X}).split(":)");var K,F,E,V;for(var U=0,Q=C.length;U<Q;U++){var T=C[U];if(U==0&&Selectors.RegExps.quick.test(T)){K=J.getElementsByTagName(T);continue}var A=B[U-1];var L=Selectors.Utils.parseTagAndID(T);var W=L[0],M=L[1];if(U==0){K=Selectors.Utils.getByTagAndID(J,W,M)}else{var D={},H=[];for(var S=0,R=K.length;S<R;S++){H=Selectors.Getters[A](H,K[S],W,M,D)}K=H}var G=Selectors.Utils.parseSelector(T);if(G){E=[];for(var P=0,N=K.length;P<N;P++){V=K[P];if(Selectors.Utils.filter(V,G,O)){E.push(V)}}K=E}}return K}};Selectors.Getters={" ":function(H,G,I,A,E){var D=Selectors.Utils.getByTagAndID(G,I,A);for(var C=0,B=D.length;C<B;C++){var F=D[C];if(Selectors.Utils.chk(F,E)){H.push(F)}}return H},">":function(H,G,I,A,F){var C=Selectors.Utils.getByTagAndID(G,I,A);for(var E=0,D=C.length;E<D;E++){var B=C[E];if(B.parentNode==G&&Selectors.Utils.chk(B,F)){H.push(B)}}return H},"+":function(C,B,A,E,D){while((B=B.nextSibling)){if(B.nodeType==1){if(Selectors.Utils.chk(B,D)&&Selectors.Filters.byTag(B,A)&&Selectors.Filters.byID(B,E)){C.push(B)}break}}return C},"~":function(C,B,A,E,D){while((B=B.nextSibling)){if(B.nodeType==1){if(!Selectors.Utils.chk(B,D)){break}if(Selectors.Filters.byTag(B,A)&&Selectors.Filters.byID(B,E)){C.push(B)}}}return C}};Selectors.Filters={byTag:function(B,A){return(A=="*"||(B.tagName&&B.tagName.toLowerCase()==A))},byID:function(A,B){return(!B||(A.id&&A.id==B))},byClass:function(B,A){return(B.className&&B.className.contains(A," "))},byPseudo:function(A,D,C,B){return D.call(A,C,B)},byAttribute:function(C,D,B,E){var A=Element.prototype.getProperty.call(C,D);if(!A){return false}if(!B||E==undefined){return true}switch(B){case"=":return(A==E);case"*=":return(A.contains(E));case"^=":return(A.substr(0,E.length)==E);case"$=":return(A.substr(A.length-E.length)==E);case"!=":return(A!=E);case"~=":return A.contains(E," ");case"|=":return A.contains(E,"-")}return false}};Selectors.Pseudo=new Hash({empty:function(){return !(this.innerText||this.textContent||"").length},not:function(A){return !Element.match(this,A)},contains:function(A){return(this.innerText||this.textContent||"").contains(A)},"first-child":function(){return Selectors.Pseudo.index.call(this,0)},"last-child":function(){var A=this;while((A=A.nextSibling)){if(A.nodeType==1){return false}}return true},"only-child":function(){var B=this;while((B=B.previousSibling)){if(B.nodeType==1){return false}}var A=this;while((A=A.nextSibling)){if(A.nodeType==1){return false}}return true},"nth-child":function(G,E){G=(G==undefined)?"n":G;var C=Selectors.Utils.parseNthArgument(G);if(C.special!="n"){return Selectors.Pseudo[C.special].call(this,C.a,E)}var F=0;E.positions=E.positions||{};var D=$uid(this);if(!E.positions[D]){var B=this;while((B=B.previousSibling)){if(B.nodeType!=1){continue}F++;var A=E.positions[$uid(B)];if(A!=undefined){F=A+F;break}}E.positions[D]=F}return(E.positions[D]%C.a==C.b)},index:function(A){var B=this,C=0;while((B=B.previousSibling)){if(B.nodeType==1&&++C>A){return false}}return(C==A)},even:function(B,A){return Selectors.Pseudo["nth-child"].call(this,"2n+1",A)},odd:function(B,A){return Selectors.Pseudo["nth-child"].call(this,"2n",A)}});Element.Events.domready={onAdd:function(A){if(Browser.loaded){A.call(this)}}};(function(){var B=function(){if(Browser.loaded){return }Browser.loaded=true;window.fireEvent("domready");document.fireEvent("domready")};switch(Browser.Engine.name){case"webkit":(function(){(["loaded","complete"].contains(document.readyState))?B():arguments.callee.delay(50)})();break;case"trident":var A=document.createElement("div");(function(){($try(function(){A.doScroll("left");return $(A).inject(document.body).set("html","temp").dispose()}))?B():arguments.callee.delay(50)})();break;default:window.addEvent("load",B);document.addEvent("DOMContentLoaded",B)}})();var JSON=new Hash({encode:function(B){switch($type(B)){case"string":return'"'+B.replace(/[\x00-\x1f\\"]/g,JSON.$replaceChars)+'"';case"array":return"["+String(B.map(JSON.encode).filter($defined))+"]";case"object":case"hash":var A=[];Hash.each(B,function(E,D){var C=JSON.encode(E);if(C){A.push(JSON.encode(D)+":"+C)}});return"{"+A+"}";case"number":case"boolean":return String(B);case false:return"null"}return null},$specialChars:{"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},$replaceChars:function(A){return JSON.$specialChars[A]||"\\u00"+Math.floor(A.charCodeAt()/16).toString(16)+(A.charCodeAt()%16).toString(16)},decode:function(string,secure){if($type(string)!="string"||!string.length){return null}if(secure&&!(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(string.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,""))){return null}return eval("("+string+")")}});Native.implement([Hash,Array,String,Number],{toJSON:function(){return JSON.encode(this)}});var Cookie=new Class({Implements:Options,options:{path:false,domain:false,duration:false,secure:false,document:document},initialize:function(B,A){this.key=B;this.setOptions(A)},write:function(B){B=encodeURIComponent(B);if(this.options.domain){B+="; domain="+this.options.domain}if(this.options.path){B+="; path="+this.options.path}if(this.options.duration){var A=new Date();A.setTime(A.getTime()+this.options.duration*24*60*60*1000);B+="; expires="+A.toGMTString()}if(this.options.secure){B+="; secure"}this.options.document.cookie=this.key+"="+B;return this},read:function(){var A=this.options.document.cookie.match("(?:^|;)\\s*"+this.key.escapeRegExp()+"=([^;]*)");return(A)?decodeURIComponent(A[1]):null},dispose:function(){new Cookie(this.key,$merge(this.options,{duration:-1})).write("");return this}});Cookie.write=function(B,C,A){return new Cookie(B,A).write(C)};Cookie.read=function(A){return new Cookie(A).read()};Cookie.dispose=function(B,A){return new Cookie(B,A).dispose()};var Swiff=new Class({Implements:[Options],options:{id:null,height:1,width:1,container:null,properties:{},params:{quality:"high",allowScriptAccess:"always",wMode:"transparent",swLiveConnect:true},callBacks:{},vars:{}},toElement:function(){return this.object},initialize:function(L,M){this.instance="Swiff_"+$time();this.setOptions(M);M=this.options;var B=this.id=M.id||this.instance;var A=$(M.container);Swiff.CallBacks[this.instance]={};var E=M.params,G=M.vars,F=M.callBacks;var H=$extend({height:M.height,width:M.width},M.properties);var K=this;for(var D in F){Swiff.CallBacks[this.instance][D]=(function(N){return function(){return N.apply(K.object,arguments)}})(F[D]);G[D]="Swiff.CallBacks."+this.instance+"."+D}E.flashVars=Hash.toQueryString(G);if(Browser.Engine.trident){H.classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";E.movie=L}else{H.type="application/x-shockwave-flash";H.data=L}var J='<object id="'+B+'"';for(var I in H){J+=" "+I+'="'+H[I]+'"'}J+=">";for(var C in E){if(E[C]){J+='<param name="'+C+'" value="'+E[C]+'" />'}}J+="</object>";this.object=((A)?A.empty():new Element("div")).set("html",J).firstChild},replaces:function(A){A=$(A,true);A.parentNode.replaceChild(this.toElement(),A);return this},inject:function(A){$(A,true).appendChild(this.toElement());return this},remote:function(){return Swiff.remote.apply(Swiff,[this.toElement()].extend(arguments))}});Swiff.CallBacks={};Swiff.remote=function(obj,fn){var rs=obj.CallFunction('<invoke name="'+fn+'" returntype="javascript">'+__flash__argumentsToXML(arguments,2)+"</invoke>");return eval(rs)};var Fx=new Class({Implements:[Chain,Events,Options],options:{fps:50,unit:false,duration:500,link:"ignore",transition:function(A){return -(Math.cos(Math.PI*A)-1)/2}},initialize:function(A){this.subject=this.subject||this;this.setOptions(A);this.options.duration=Fx.Durations[this.options.duration]||this.options.duration.toInt();var B=this.options.wait;if(B===false){this.options.link="cancel"}},step:function(){var A=$time();if(A<this.time+this.options.duration){var B=this.options.transition((A-this.time)/this.options.duration);this.set(this.compute(this.from,this.to,B))}else{this.set(this.compute(this.from,this.to,1));this.complete()}},set:function(A){return A},compute:function(C,B,A){return Fx.compute(C,B,A)},check:function(A){if(!this.timer){return true}switch(this.options.link){case"cancel":this.cancel();return true;case"chain":this.chain(A.bind(this,Array.slice(arguments,1)));return false}return false},start:function(B,A){if(!this.check(arguments.callee,B,A)){return this}this.from=B;this.to=A;this.time=0;this.startTimer();this.onStart();return this},complete:function(){if(this.stopTimer()){this.onComplete()}return this},cancel:function(){if(this.stopTimer()){this.onCancel()}return this},onStart:function(){this.fireEvent("start",this.subject)},onComplete:function(){this.fireEvent("complete",this.subject);if(!this.callChain()){this.fireEvent("chainComplete",this.subject)}},onCancel:function(){this.fireEvent("cancel",this.subject).clearChain()},pause:function(){this.stopTimer();return this},resume:function(){this.startTimer();return this},stopTimer:function(){if(!this.timer){return false}this.time=$time()-this.time;this.timer=$clear(this.timer);return true},startTimer:function(){if(this.timer){return false}this.time=$time()-this.time;this.timer=this.step.periodical(Math.round(1000/this.options.fps),this);return true}});Fx.compute=function(C,B,A){return(B-C)*A+C};Fx.Durations={"short":250,normal:500,"long":1000};Fx.CSS=new Class({Extends:Fx,prepare:function(D,E,B){B=$splat(B);var C=B[1];if(!$chk(C)){B[1]=B[0];B[0]=D.getStyle(E)}var A=B.map(this.parse);return{from:A[0],to:A[1]}},parse:function(A){A=$lambda(A)();A=(typeof A=="string")?A.split(" "):$splat(A);return A.map(function(C){C=String(C);var B=false;Fx.CSS.Parsers.each(function(F,E){if(B){return }var D=F.parse(C);if($chk(D)){B={value:D,parser:F}}});B=B||{value:C,parser:Fx.CSS.Parsers.String};return B})},compute:function(D,C,B){var A=[];(Math.min(D.length,C.length)).times(function(E){A.push({value:D[E].parser.compute(D[E].value,C[E].value,B),parser:D[E].parser})});A.$family={name:"fx:css:value"};return A},serve:function(C,B){if($type(C)!="fx:css:value"){C=this.parse(C)}var A=[];C.each(function(D){A=A.concat(D.parser.serve(D.value,B))});return A},render:function(A,D,C,B){A.setStyle(D,this.serve(C,B))},search:function(A){if(Fx.CSS.Cache[A]){return Fx.CSS.Cache[A]}var B={};Array.each(document.styleSheets,function(E,D){var C=E.href;if(C&&C.contains("://")&&!C.contains(document.domain)){return }var F=E.rules||E.cssRules;Array.each(F,function(I,G){if(!I.style){return }var H=(I.selectorText)?I.selectorText.replace(/^\w+/,function(J){return J.toLowerCase()}):null;if(!H||!H.test("^"+A+"$")){return }Element.Styles.each(function(K,J){if(!I.style[J]||Element.ShortStyles[J]){return }K=String(I.style[J]);B[J]=(K.test(/^rgb/))?K.rgbToHex():K})})});return Fx.CSS.Cache[A]=B}});Fx.CSS.Cache={};Fx.CSS.Parsers=new Hash({Color:{parse:function(A){if(A.match(/^#[0-9a-f]{3,6}$/i)){return A.hexToRgb(true)}return((A=A.match(/(\d+),\s*(\d+),\s*(\d+)/)))?[A[1],A[2],A[3]]:false},compute:function(C,B,A){return C.map(function(E,D){return Math.round(Fx.compute(C[D],B[D],A))})},serve:function(A){return A.map(Number)}},Number:{parse:parseFloat,compute:Fx.compute,serve:function(B,A){return(A)?B+A:B}},String:{parse:$lambda(false),compute:$arguments(1),serve:$arguments(0)}});Fx.Tween=new Class({Extends:Fx.CSS,initialize:function(B,A){this.element=this.subject=$(B);this.parent(A)},set:function(B,A){if(arguments.length==1){A=B;B=this.property||this.options.property}this.render(this.element,B,A,this.options.unit);return this},start:function(C,E,D){if(!this.check(arguments.callee,C,E,D)){return this}var B=Array.flatten(arguments);this.property=this.options.property||B.shift();var A=this.prepare(this.element,this.property,B);return this.parent(A.from,A.to)}});Element.Properties.tween={set:function(A){var B=this.retrieve("tween");if(B){B.cancel()}return this.eliminate("tween").store("tween:options",$extend({link:"cancel"},A))},get:function(A){if(A||!this.retrieve("tween")){if(A||!this.retrieve("tween:options")){this.set("tween",A)}this.store("tween",new Fx.Tween(this,this.retrieve("tween:options")))}return this.retrieve("tween")}};Element.implement({tween:function(A,C,B){this.get("tween").start(arguments);return this},fade:function(C){var E=this.get("tween"),D="opacity",A;C=$pick(C,"toggle");switch(C){case"in":E.start(D,1);break;case"out":E.start(D,0);break;case"show":E.set(D,1);break;case"hide":E.set(D,0);break;case"toggle":var B=this.retrieve("fade:flag",this.get("opacity")==1);E.start(D,(B)?0:1);this.store("fade:flag",!B);A=true;break;default:E.start(D,arguments)}if(!A){this.eliminate("fade:flag")}return this},highlight:function(C,A){if(!A){A=this.retrieve("highlight:original",this.getStyle("background-color"));A=(A=="transparent")?"#fff":A}var B=this.get("tween");B.start("background-color",C||"#ffff88",A).chain(function(){this.setStyle("background-color",this.retrieve("highlight:original"));B.callChain()}.bind(this));return this}});Fx.Morph=new Class({Extends:Fx.CSS,initialize:function(B,A){this.element=this.subject=$(B);this.parent(A)},set:function(A){if(typeof A=="string"){A=this.search(A)}for(var B in A){this.render(this.element,B,A[B],this.options.unit)}return this},compute:function(E,D,C){var A={};for(var B in E){A[B]=this.parent(E[B],D[B],C)}return A},start:function(B){if(!this.check(arguments.callee,B)){return this}if(typeof B=="string"){B=this.search(B)}var E={},D={};for(var C in B){var A=this.prepare(this.element,C,B[C]);E[C]=A.from;D[C]=A.to}return this.parent(E,D)}});Element.Properties.morph={set:function(A){var B=this.retrieve("morph");if(B){B.cancel()}return this.eliminate("morph").store("morph:options",$extend({link:"cancel"},A))},get:function(A){if(A||!this.retrieve("morph")){if(A||!this.retrieve("morph:options")){this.set("morph",A)}this.store("morph",new Fx.Morph(this,this.retrieve("morph:options")))}return this.retrieve("morph")}};Element.implement({morph:function(A){this.get("morph").start(A);return this}});(function(){var A=Fx.prototype.initialize;Fx.prototype.initialize=function(B){A.call(this,B);var C=this.options.transition;if(typeof C=="string"&&(C=C.split(":"))){var D=Fx.Transitions;D=D[C[0]]||D[C[0].capitalize()];if(C[1]){D=D["ease"+C[1].capitalize()+(C[2]?C[2].capitalize():"")]}this.options.transition=D}}})();Fx.Transition=function(B,A){A=$splat(A);return $extend(B,{easeIn:function(C){return B(C,A)},easeOut:function(C){return 1-B(1-C,A)},easeInOut:function(C){return(C<=0.5)?B(2*C,A)/2:(2-B(2*(1-C),A))/2}})};Fx.Transitions=new Hash({linear:$arguments(0)});Fx.Transitions.extend=function(A){for(var B in A){Fx.Transitions[B]=new Fx.Transition(A[B])}};Fx.Transitions.extend({Pow:function(B,A){return Math.pow(B,A[0]||6)},Expo:function(A){return Math.pow(2,8*(A-1))},Circ:function(A){return 1-Math.sin(Math.acos(A))},Sine:function(A){return 1-Math.sin((1-A)*Math.PI/2)},Back:function(B,A){A=A[0]||1.618;return Math.pow(B,2)*((A+1)*B-A)},Bounce:function(D){var C;for(var B=0,A=1;1;B+=A,A/=2){if(D>=(7-4*B)/11){C=-Math.pow((11-6*B-11*D)/4,2)+A*A;break}}return C},Elastic:function(B,A){return Math.pow(2,10*--B)*Math.cos(20*B*Math.PI*(A[0]||1)/3)}});["Quad","Cubic","Quart","Quint"].each(function(B,A){Fx.Transitions[B]=new Fx.Transition(function(C){return Math.pow(C,[A+2])})});var Request=new Class({Implements:[Chain,Events,Options],options:{url:"",data:"",headers:{"X-Requested-With":"XMLHttpRequest",Accept:"text/javascript, text/html, application/xml, text/xml, */*"},async:true,format:false,method:"post",link:"ignore",isSuccess:null,emulation:true,urlEncoded:true,encoding:"utf-8",evalScripts:false,evalResponse:false},initialize:function(A){this.xhr=new Browser.Request();this.setOptions(A);this.options.isSuccess=this.options.isSuccess||this.isSuccess;this.headers=new Hash(this.options.headers)},onStateChange:function(){if(this.xhr.readyState!=4||!this.running){return }this.running=false;this.status=0;$try(function(){this.status=this.xhr.status}.bind(this));if(this.options.isSuccess.call(this,this.status)){this.response={text:this.xhr.responseText,xml:this.xhr.responseXML};this.success(this.response.text,this.response.xml)}else{this.response={text:null,xml:null};this.failure()}this.xhr.onreadystatechange=$empty},isSuccess:function(){return((this.status>=200)&&(this.status<300))},processScripts:function(A){if(this.options.evalResponse||(/(ecma|java)script/).test(this.getHeader("Content-type"))){return $exec(A)}return A.stripScripts(this.options.evalScripts)},success:function(B,A){this.onSuccess(this.processScripts(B),A)},onSuccess:function(){this.fireEvent("complete",arguments).fireEvent("success",arguments).callChain()},failure:function(){this.onFailure()},onFailure:function(){this.fireEvent("complete").fireEvent("failure",this.xhr)},setHeader:function(A,B){this.headers.set(A,B);return this},getHeader:function(A){return $try(function(){return this.xhr.getResponseHeader(A)}.bind(this))},check:function(A){if(!this.running){return true}switch(this.options.link){case"cancel":this.cancel();return true;case"chain":this.chain(A.bind(this,Array.slice(arguments,1)));return false}return false},send:function(I){if(!this.check(arguments.callee,I)){return this}this.running=true;var G=$type(I);if(G=="string"||G=="element"){I={data:I}}var D=this.options;I=$extend({data:D.data,url:D.url,method:D.method},I);var E=I.data,B=I.url,A=I.method;switch($type(E)){case"element":E=$(E).toQueryString();break;case"object":case"hash":E=Hash.toQueryString(E)}if(this.options.format){var H="format="+this.options.format;E=(E)?H+"&"+E:H}if(this.options.emulation&&["put","delete"].contains(A)){var F="_method="+A;E=(E)?F+"&"+E:F;A="post"}if(this.options.urlEncoded&&A=="post"){var C=(this.options.encoding)?"; charset="+this.options.encoding:"";this.headers.set("Content-type","application/x-www-form-urlencoded"+C)}if(E&&A=="get"){B=B+(B.contains("?")?"&":"?")+E;E=null}this.xhr.open(A.toUpperCase(),B,this.options.async);this.xhr.onreadystatechange=this.onStateChange.bind(this);this.headers.each(function(K,J){if(!$try(function(){this.xhr.setRequestHeader(J,K);return true}.bind(this))){this.fireEvent("exception",[J,K])}},this);this.fireEvent("request");this.xhr.send(E);if(!this.options.async){this.onStateChange()}return this},cancel:function(){if(!this.running){return this}this.running=false;this.xhr.abort();this.xhr.onreadystatechange=$empty;this.xhr=new Browser.Request();this.fireEvent("cancel");return this}});(function(){var A={};["get","post","put","delete","GET","POST","PUT","DELETE"].each(function(B){A[B]=function(){var C=Array.link(arguments,{url:String.type,data:$defined});return this.send($extend(C,{method:B.toLowerCase()}))}});Request.implement(A)})();Element.Properties.send={set:function(A){var B=this.retrieve("send");if(B){B.cancel()}return this.eliminate("send").store("send:options",$extend({data:this,link:"cancel",method:this.get("method")||"post",url:this.get("action")},A))},get:function(A){if(A||!this.retrieve("send")){if(A||!this.retrieve("send:options")){this.set("send",A)}this.store("send",new Request(this.retrieve("send:options")))}return this.retrieve("send")}};Element.implement({send:function(A){var B=this.get("send");B.send({data:this,url:A||B.options.url});return this}});Request.HTML=new Class({Extends:Request,options:{update:false,evalScripts:true,filter:false},processHTML:function(C){var B=C.match(/<body[^>]*>([\s\S]*?)<\/body>/i);C=(B)?B[1]:C;var A=new Element("div");return $try(function(){var D="<root>"+C+"</root>",G;if(Browser.Engine.trident){G=new ActiveXObject("Microsoft.XMLDOM");G.async=false;G.loadXML(D)}else{G=new DOMParser().parseFromString(D,"text/xml")}D=G.getElementsByTagName("root")[0];for(var F=0,E=D.childNodes.length;F<E;F++){var H=Element.clone(D.childNodes[F],true,true);if(H){A.grab(H)}}return A})||A.set("html",C)},success:function(D){var C=this.options,B=this.response;B.html=D.stripScripts(function(E){B.javascript=E});var A=this.processHTML(B.html);B.tree=A.childNodes;B.elements=A.getElements("*");if(C.filter){B.tree=B.elements.filter(C.filter)}if(C.update){$(C.update).empty().adopt(B.tree)}if(C.evalScripts){$exec(B.javascript)}this.onSuccess(B.tree,B.elements,B.html,B.javascript)}});Element.Properties.load={set:function(A){var B=this.retrieve("load");if(B){send.cancel()}return this.eliminate("load").store("load:options",$extend({data:this,link:"cancel",update:this,method:"get"},A))},get:function(A){if(A||!this.retrieve("load")){if(A||!this.retrieve("load:options")){this.set("load",A)}this.store("load",new Request.HTML(this.retrieve("load:options")))}return this.retrieve("load")}};Element.implement({load:function(){this.get("load").send(Array.link(arguments,{data:Object.type,url:String.type}));return this}});Request.JSON=new Class({Extends:Request,options:{secure:true},initialize:function(A){this.parent(A);this.headers.extend({Accept:"application/json","X-Request":"JSON"})},success:function(A){this.response.json=JSON.decode(A,this.options.secure);this.onSuccess(this.response.json,A)}});Fx.Slide=new Class({Extends:Fx,options:{mode:"vertical"},initialize:function(B,A){this.addEvent("complete",function(){this.open=(this.wrapper["offset"+this.layout.capitalize()]!=0);if(this.open&&Browser.Engine.webkit419){this.element.dispose().inject(this.wrapper)}},true);this.element=this.subject=$(B);this.parent(A);var C=this.element.retrieve("wrapper");this.wrapper=C||new Element("div",{styles:$extend(this.element.getStyles("margin","position"),{overflow:"hidden"})}).wraps(this.element);this.element.store("wrapper",this.wrapper).setStyle("margin",0);this.now=[];this.open=true},vertical:function(){this.margin="margin-top";this.layout="height";this.offset=this.element.offsetHeight},horizontal:function(){this.margin="margin-left";this.layout="width";this.offset=this.element.offsetWidth},set:function(A){this.element.setStyle(this.margin,A[0]);this.wrapper.setStyle(this.layout,A[1]);return this},compute:function(E,D,C){var B=[];var A=2;A.times(function(F){B[F]=Fx.compute(E[F],D[F],C)});return B},start:function(B,E){if(!this.check(arguments.callee,B,E)){return this}this[E||this.options.mode]();var D=this.element.getStyle(this.margin).toInt();var C=this.wrapper.getStyle(this.layout).toInt();var A=[[D,C],[0,this.offset]];var G=[[D,C],[-this.offset,0]];var F;switch(B){case"in":F=A;break;case"out":F=G;break;case"toggle":F=(this.wrapper["offset"+this.layout.capitalize()]==0)?A:G}return this.parent(F[0],F[1])},slideIn:function(A){return this.start("in",A)},slideOut:function(A){return this.start("out",A)},hide:function(A){this[A||this.options.mode]();this.open=false;return this.set([-this.offset,0])},show:function(A){this[A||this.options.mode]();this.open=true;return this.set([0,this.offset])},toggle:function(A){return this.start("toggle",A)}});Element.Properties.slide={set:function(B){var A=this.retrieve("slide");if(A){A.cancel()}return this.eliminate("slide").store("slide:options",$extend({link:"cancel"},B))},get:function(A){if(A||!this.retrieve("slide")){if(A||!this.retrieve("slide:options")){this.set("slide",A)}this.store("slide",new Fx.Slide(this,this.retrieve("slide:options")))}return this.retrieve("slide")}};Element.implement({slide:function(D,E){D=D||"toggle";var B=this.get("slide"),A;switch(D){case"hide":B.hide(E);break;case"show":B.show(E);break;case"toggle":var C=this.retrieve("slide:flag",B.open);B[(C)?"slideOut":"slideIn"](E);this.store("slide:flag",!C);A=true;break;default:B.start(D,E)}if(!A){this.eliminate("slide:flag")}return this}});Fx.Scroll=new Class({Extends:Fx,options:{offset:{x:0,y:0},wheelStops:true},initialize:function(B,A){this.element=this.subject=$(B);this.parent(A);var D=this.cancel.bind(this,false);if($type(this.element)!="element"){this.element=$(this.element.getDocument().body)}var C=this.element;if(this.options.wheelStops){this.addEvent("start",function(){C.addEvent("mousewheel",D)},true);this.addEvent("complete",function(){C.removeEvent("mousewheel",D)},true)}},set:function(){var A=Array.flatten(arguments);this.element.scrollTo(A[0],A[1])},compute:function(E,D,C){var B=[];var A=2;A.times(function(F){B.push(Fx.compute(E[F],D[F],C))});return B},start:function(C,H){if(!this.check(arguments.callee,C,H)){return this}var E=this.element.getSize(),F=this.element.getScrollSize();var B=this.element.getScroll(),D={x:C,y:H};for(var G in D){var A=F[G]-E[G];if($chk(D[G])){D[G]=($type(D[G])=="number")?D[G].limit(0,A):A}else{D[G]=B[G]}D[G]+=this.options.offset[G]}return this.parent([B.x,B.y],[D.x,D.y])},toTop:function(){return this.start(false,0)},toLeft:function(){return this.start(0,false)},toRight:function(){return this.start("right",false)},toBottom:function(){return this.start(false,"bottom")},toElement:function(B){var A=$(B).getPosition(this.element);return this.start(A.x,A.y)}});Fx.Elements=new Class({Extends:Fx.CSS,initialize:function(B,A){this.elements=this.subject=$$(B);this.parent(A)},compute:function(G,H,I){var C={};for(var D in G){var A=G[D],E=H[D],F=C[D]={};for(var B in A){F[B]=this.parent(A[B],E[B],I)}}return C},set:function(B){for(var C in B){var A=B[C];for(var D in A){this.render(this.elements[C],D,A[D],this.options.unit)}}return this},start:function(C){if(!this.check(arguments.callee,C)){return this}var H={},I={};for(var D in C){var F=C[D],A=H[D]={},G=I[D]={};for(var B in F){var E=this.prepare(this.elements[D],B,F[B]);A[B]=E.from;G[B]=E.to}}return this.parent(H,I)}});var Drag=new Class({Implements:[Events,Options],options:{snap:6,unit:"px",grid:false,style:true,limit:false,handle:false,invert:false,preventDefault:false,modifiers:{x:"left",y:"top"}},initialize:function(){var B=Array.link(arguments,{options:Object.type,element:$defined});this.element=$(B.element);this.document=this.element.getDocument();this.setOptions(B.options||{});var A=$type(this.options.handle);this.handles=(A=="array"||A=="collection")?$$(this.options.handle):$(this.options.handle)||this.element;this.mouse={now:{},pos:{}};this.value={start:{},now:{}};this.selection=(Browser.Engine.trident)?"selectstart":"mousedown";this.bound={start:this.start.bind(this),check:this.check.bind(this),drag:this.drag.bind(this),stop:this.stop.bind(this),cancel:this.cancel.bind(this),eventStop:$lambda(false)};this.attach()},attach:function(){this.handles.addEvent("mousedown",this.bound.start);return this},detach:function(){this.handles.removeEvent("mousedown",this.bound.start);return this},start:function(C){if(this.options.preventDefault){C.preventDefault()}this.fireEvent("beforeStart",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}if(this.options.style){this.value.now[D]=this.element.getStyle(this.options.modifiers[D]).toInt()}else{this.value.now[D]=this.element[this.options.modifiers[D]]}if(this.options.invert){this.value.now[D]*=-1}this.mouse.pos[D]=C.page[D]-this.value.now[D];if(A&&A[D]){for(var B=2;B--;B){if($chk(A[D][B])){this.limit[D][B]=$lambda(A[D][B])()}}}}if($type(this.options.grid)=="number"){this.options.grid={x:this.options.grid,y:this.options.grid}}this.document.addEvents({mousemove:this.bound.check,mouseup:this.bound.cancel});this.document.addEvent(this.selection,this.bound.eventStop)},check:function(A){if(this.options.preventDefault){A.preventDefault()}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){this.cancel();this.document.addEvents({mousemove:this.bound.drag,mouseup:this.bound.stop});this.fireEvent("start",this.element).fireEvent("snap",this.element)}},drag:function(A){if(this.options.preventDefault){A.preventDefault()}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.options.invert){this.value.now[B]*=-1}if(this.options.limit&&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]}else{if($chk(this.limit[B][0])&&(this.value.now[B]<this.limit[B][0])){this.value.now[B]=this.limit[B][0]}}}if(this.options.grid[B]){this.value.now[B]-=(this.value.now[B]%this.options.grid[B])}if(this.options.style){this.element.setStyle(this.options.modifiers[B],this.value.now[B]+this.options.unit)}else{this.element[this.options.modifiers[B]]=this.value.now[B]}}this.fireEvent("drag",this.element)},cancel:function(A){this.document.removeEvent("mousemove",this.bound.check);this.document.removeEvent("mouseup",this.bound.cancel);if(A){this.document.removeEvent(this.selection,this.bound.eventStop);this.fireEvent("cancel",this.element)}},stop:function(A){this.document.removeEvent(this.selection,this.bound.eventStop);this.document.removeEvent("mousemove",this.bound.drag);this.document.removeEvent("mouseup",this.bound.stop);if(A){this.fireEvent("complete",this.element)}}});Element.implement({makeResizable:function(A){return new Drag(this,$merge({modifiers:{x:"width",y:"height"}},A))}});Drag.Move=new Class({Extends:Drag,options:{droppables:[],container:false},initialize:function(C,B){this.parent(C,B);this.droppables=$$(this.options.droppables);this.container=$(this.options.container);if(this.container&&$type(this.container)!="element"){this.container=$(this.container.getDocument().body)}C=this.element;var D=C.getStyle("position");var A=(D!="static")?D:"absolute";if(C.getStyle("left")=="auto"||C.getStyle("top")=="auto"){C.position(C.getPosition(C.offsetParent))}C.setStyle("position",A);this.addEvent("start",function(){this.checkDroppables()},true)},start:function(B){if(this.container){var D=this.element,J=this.container,E=J.getCoordinates(D.offsetParent),F={},A={};["top","right","bottom","left"].each(function(K){F[K]=J.getStyle("padding-"+K).toInt();A[K]=D.getStyle("margin-"+K).toInt()},this);var C=D.offsetWidth+A.left+A.right,I=D.offsetHeight+A.top+A.bottom;var H=[E.left+F.left,E.right-F.right-C];var G=[E.top+F.top,E.bottom-F.bottom-I];this.options.limit={x:H,y:G}}this.parent(B)},checkAgainst:function(B){B=B.getCoordinates();var A=this.mouse.now;return(A.x>B.left&&A.x<B.right&&A.y<B.bottom&&A.y>B.top)},checkDroppables:function(){var A=this.droppables.filter(this.checkAgainst,this).getLast();if(this.overed!=A){if(this.overed){this.fireEvent("leave",[this.element,this.overed])}if(A){this.overed=A;this.fireEvent("enter",[this.element,A])}else{this.overed=null}}},drag:function(A){this.parent(A);if(this.droppables.length){this.checkDroppables()}},stop:function(A){this.checkDroppables();this.fireEvent("drop",[this.element,this.overed]);this.overed=null;return this.parent(A)}});Element.implement({makeDraggable:function(A){return new Drag.Move(this,A)}});Hash.Cookie=new Class({Extends:Cookie,options:{autoSave:true},initialize:function(B,A){this.parent(B,A);this.load()},save:function(){var A=JSON.encode(this.hash);if(!A||A.length>4096){return false}if(A=="{}"){this.dispose()}else{this.write(A)}return true},load:function(){this.hash=new Hash(JSON.decode(this.read(),true));return this}});Hash.Cookie.implement((function(){var A={};Hash.each(Hash.prototype,function(C,B){A[B]=function(){var D=C.apply(this.hash,arguments);if(this.options.autoSave){this.save()}return D}});return A})());var Color=new Native({initialize:function(B,C){if(arguments.length>=3){C="rgb";B=Array.slice(arguments,0,3)}else{if(typeof B=="string"){if(B.match(/rgb/)){B=B.rgbToHex().hexToRgb(true)}else{if(B.match(/hsb/)){B=B.hsbToRgb()}else{B=B.hexToRgb(true)}}}}C=C||"rgb";switch(C){case"hsb":var A=B;B=B.hsbToRgb();B.hsb=A;break;case"hex":B=B.hexToRgb(true);break}B.rgb=B.slice(0,3);B.hsb=B.hsb||B.rgbToHsb();B.hex=B.rgbToHex();return $extend(B,this)}});Color.implement({mix:function(){var A=Array.slice(arguments);var C=($type(A.getLast())=="number")?A.pop():50;var B=this.slice();A.each(function(D){D=new Color(D);for(var E=0;E<3;E++){B[E]=Math.round((B[E]/100*(100-C))+(D[E]/100*C))}});return new Color(B,"rgb")},invert:function(){return new Color(this.map(function(A){return 255-A}))},setHue:function(A){return new Color([A,this.hsb[1],this.hsb[2]],"hsb")},setSaturation:function(A){return new Color([this.hsb[0],A,this.hsb[2]],"hsb")},setBrightness:function(A){return new Color([this.hsb[0],this.hsb[1],A],"hsb")}});function $RGB(C,B,A){return new Color([C,B,A],"rgb")}function $HSB(C,B,A){return new Color([C,B,A],"hsb")}function $HEX(A){return new Color(A,"hex")}Array.implement({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}});String.implement({rgbToHsb:function(){var A=this.match(/\d{1,3}/g);return(A)?hsb.rgbToHsb():null},hsbToRgb:function(){var A=this.match(/\d{1,3}/g);return(A)?A.hsbToRgb():null}});var Group=new Class({initialize:function(){this.instances=Array.flatten(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 Asset=new Hash({javascript:function(F,D){D=$extend({onload:$empty,document:document,check:$lambda(true)},D);var B=new Element("script",{src:F,type:"text/javascript"});var E=D.onload.bind(B),A=D.check,G=D.document;delete D.onload;delete D.check;delete D.document;B.addEvents({load:E,readystatechange:function(){if(["loaded","complete"].contains(this.readyState)){E()}}}).setProperties(D);if(Browser.Engine.webkit419){var C=(function(){if(!$try(A)){return }$clear(C);E()}).periodical(50)}return B.inject(G.head)},css:function(B,A){return new Element("link",$merge({rel:"stylesheet",media:"screen",type:"text/css",href:B},A)).inject(document.head)},image:function(C,B){B=$merge({onload:$empty,onabort:$empty,onerror:$empty},B);var D=new Image();var A=$(D)||new Element("img");["load","abort","error"].each(function(E){var F="on"+E;var G=B[F];delete B[F];D[F]=function(){if(!D){return }if(!A.parentNode){A.width=D.width;A.height=D.height}D=D.onload=D.onabort=D.onerror=null;G.delay(1,A,A);A.fireEvent(E,A,1)}});D.src=A.src=C;if(D&&D.complete){D.onload.delay(1)}return A.setProperties(B)},images:function(D,C){C=$merge({onComplete:$empty,onProgress:$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,D.indexOf(F));B++;if(B==D.length){C.onComplete()}}});A.push(E)});return new Elements(A)}});var Sortables=new Class({Implements:[Events,Options],options:{snap:4,opacity:1,clone:false,revert:false,handle:false,constrain:false},initialize:function(A,B){this.setOptions(B);this.elements=[];this.lists=[];this.idle=true;this.addLists($$($(A)||A));if(!this.options.clone){this.options.revert=false}if(this.options.revert){this.effect=new Fx.Morph(null,$merge({duration:250,link:"cancel"},this.options.revert))}},attach:function(){this.addLists(this.lists);return this},detach:function(){this.lists=this.removeLists(this.lists);return this},addItems:function(){Array.flatten(arguments).each(function(A){this.elements.push(A);var B=A.retrieve("sortables:start",this.start.bindWithEvent(this,A));(this.options.handle?A.getElement(this.options.handle)||A:A).addEvent("mousedown",B)},this);return this},addLists:function(){Array.flatten(arguments).each(function(A){this.lists.push(A);this.addItems(A.getChildren())},this);return this},removeItems:function(){var A=[];Array.flatten(arguments).each(function(B){A.push(B);this.elements.erase(B);var C=B.retrieve("sortables:start");(this.options.handle?B.getElement(this.options.handle)||B:B).removeEvent("mousedown",C)},this);return $$(A)},removeLists:function(){var A=[];Array.flatten(arguments).each(function(B){A.push(B);this.lists.erase(B);this.removeItems(B.getChildren())},this);return $$(A)},getClone:function(B,A){if(!this.options.clone){return new Element("div").inject(document.body)}if($type(this.options.clone)=="function"){return this.options.clone.call(this,B,A,this.list)}return A.clone(true).setStyles({margin:"0px",position:"absolute",visibility:"hidden",width:A.getStyle("width")}).inject(this.list).position(A.getPosition(A.getOffsetParent()))},getDroppables:function(){var A=this.list.getChildren();if(!this.options.constrain){A=this.lists.concat(A).erase(this.list)}return A.erase(this.clone).erase(this.element)},insert:function(C,B){var A="inside";if(this.lists.contains(B)){this.list=B;this.drag.droppables=this.getDroppables()}else{A=this.element.getAllPrevious().contains(B)?"before":"after"}this.element.inject(B,A);this.fireEvent("sort",[this.element,this.clone])},start:function(B,A){if(!this.idle){return }this.idle=false;this.element=A;this.opacity=A.get("opacity");this.list=A.getParent();this.clone=this.getClone(B,A);this.drag=new Drag.Move(this.clone,{snap:this.options.snap,container:this.options.constrain&&this.element.getParent(),droppables:this.getDroppables(),onSnap:function(){B.stop();this.clone.setStyle("visibility","visible");this.element.set("opacity",this.options.opacity||0);this.fireEvent("start",[this.element,this.clone])}.bind(this),onEnter:this.insert.bind(this),onCancel:this.reset.bind(this),onComplete:this.end.bind(this)});this.clone.inject(this.element,"before");this.drag.start(B)},end:function(){this.drag.detach();this.element.set("opacity",this.opacity);if(this.effect){var A=this.element.getStyles("width","height");var B=this.clone.computePosition(this.element.getPosition(this.clone.offsetParent));this.effect.element=this.clone;this.effect.start({top:B.top,left:B.left,width:A.width,height:A.height,opacity:0.25}).chain(this.reset.bind(this))}else{this.reset()}},reset:function(){this.idle=true;this.clone.destroy();this.fireEvent("complete",this.element)},serialize:function(){var C=Array.link(arguments,{modifier:Function.type,index:$defined});var B=this.lists.map(function(D){return D.getChildren().map(C.modifier||function(E){return E.get("id")},this)},this);var A=C.index;if(this.lists.length==1){A=0}return $chk(A)&&A>=0&&A<this.lists.length?B[A]:B}});var Tips=new Class({Implements:[Events,Options],options:{onShow:function(A){A.setStyle("visibility","visible")},onHide:function(A){A.setStyle("visibility","hidden")},showDelay:100,hideDelay:100,className:null,offsets:{x:16,y:16},fixed:false},initialize:function(){var C=Array.link(arguments,{options:Object.type,elements:$defined});this.setOptions(C.options||null);this.tip=new Element("div").inject(document.body);if(this.options.className){this.tip.addClass(this.options.className)}var B=new Element("div",{"class":"tip-top"}).inject(this.tip);this.container=new Element("div",{"class":"tip"}).inject(this.tip);var A=new Element("div",{"class":"tip-bottom"}).inject(this.tip);this.tip.setStyles({position:"absolute",top:0,left:0,visibility:"hidden"});if(C.elements){this.attach(C.elements)}},attach:function(A){$$(A).each(function(D){var G=D.retrieve("tip:title",D.get("title"));var F=D.retrieve("tip:text",D.get("rel")||D.get("href"));var E=D.retrieve("tip:enter",this.elementEnter.bindWithEvent(this,D));var C=D.retrieve("tip:leave",this.elementLeave.bindWithEvent(this,D));D.addEvents({mouseenter:E,mouseleave:C});if(!this.options.fixed){var B=D.retrieve("tip:move",this.elementMove.bindWithEvent(this,D));D.addEvent("mousemove",B)}D.store("tip:native",D.get("title"));D.erase("title")},this);return this},detach:function(A){$$(A).each(function(C){C.removeEvent("mouseenter",C.retrieve("tip:enter")||$empty);C.removeEvent("mouseleave",C.retrieve("tip:leave")||$empty);C.removeEvent("mousemove",C.retrieve("tip:move")||$empty);C.eliminate("tip:enter").eliminate("tip:leave").eliminate("tip:move");var B=C.retrieve("tip:native");if(B){C.set("title",B)}});return this},elementEnter:function(B,A){$A(this.container.childNodes).each(Element.dispose);var D=A.retrieve("tip:title");if(D){this.titleElement=new Element("div",{"class":"tip-title"}).inject(this.container);this.fill(this.titleElement,D)}var C=A.retrieve("tip:text");if(C){this.textElement=new Element("div",{"class":"tip-text"}).inject(this.container);this.fill(this.textElement,C)}this.timer=$clear(this.timer);this.timer=this.show.delay(this.options.showDelay,this);this.position((!this.options.fixed)?B:{page:A.getPosition()})},elementLeave:function(A){$clear(this.timer);this.timer=this.hide.delay(this.options.hideDelay,this)},elementMove:function(A){this.position(A)},position:function(D){var B=window.getSize(),A=window.getScroll();var E={x:this.tip.offsetWidth,y:this.tip.offsetHeight};var C={x:"left",y:"top"};for(var F in C){var G=D.page[F]+this.options.offsets[F];if((G+E[F]-A[F])>B[F]){G=D.page[F]-this.options.offsets[F]-E[F]}this.tip.setStyle(C[F],G)}},fill:function(A,B){(typeof B=="string")?A.set("html",B):A.adopt(B)},show:function(){this.fireEvent("show",this.tip)},hide:function(){this.fireEvent("hide",this.tip)}});var SmoothScroll=new Class({Extends:Fx.Scroll,initialize:function(B,C){C=C||document;var E=C.getDocument(),D=C.getWindow();this.parent(E,B);this.links=(this.options.links)?$$(this.options.links):$$(E.links);var A=D.location.href.match(/^[^#]*/)[0]+"#";this.links.each(function(G){if(G.href.indexOf(A)!=0){return }var F=G.href.substr(A.length);if(F&&$(F)){this.useLink(G,F)}},this);if(!Browser.Engine.webkit419){this.addEvent("complete",function(){D.location.hash=this.anchor},true)}},useLink:function(B,A){B.addEvent("click",function(C){this.anchor=A;this.toElement(A);C.stop()}.bind(this))}});var Slider=new Class({Implements:[Events,Options],options:{onTick:function(A){if(this.options.snap){A=this.toPosition(this.step)}this.knob.setStyle(this.property,A)},snap:false,offset:0,range:false,wheel:false,steps:100,mode:"horizontal"},initialize:function(E,A,D){this.setOptions(D);this.element=$(E);this.knob=$(A);this.previousChange=this.previousEnd=this.step=-1;this.element.addEvent("mousedown",this.clickedElement.bind(this));if(this.options.wheel){this.element.addEvent("mousewheel",this.scrolledElement.bindWithEvent(this))}var F,B={},C={x:false,y:false};switch(this.options.mode){case"vertical":this.axis="y";this.property="top";F="offsetHeight";break;case"horizontal":this.axis="x";this.property="left";F="offsetWidth"}this.half=this.knob[F]/2;this.full=this.element[F]-this.knob[F]+(this.options.offset*2);this.min=$chk(this.options.range[0])?this.options.range[0]:0;this.max=$chk(this.options.range[1])?this.options.range[1]:this.options.steps;this.range=this.max-this.min;this.steps=this.options.steps||this.full;this.stepSize=Math.abs(this.range)/this.steps;this.stepWidth=this.stepSize*this.full/Math.abs(this.range);this.knob.setStyle("position","relative").setStyle(this.property,-this.options.offset);C[this.axis]=this.property;B[this.axis]=[-this.options.offset,this.full-this.options.offset];this.drag=new Drag(this.knob,{snap:0,limit:B,modifiers:C,onDrag:this.draggedKnob.bind(this),onStart:this.draggedKnob.bind(this),onComplete:function(){this.draggedKnob();this.end()}.bind(this)});if(this.options.snap){this.drag.options.grid=Math.ceil(this.stepWidth);this.drag.options.limit[this.axis][1]=this.full}},set:function(A){if(!((this.range>0)^(A<this.min))){A=this.min}if(!((this.range>0)^(A>this.max))){A=this.max}this.step=Math.round(A);this.checkStep();this.end();this.fireEvent("tick",this.toPosition(this.step));return this},clickedElement:function(C){var B=this.range<0?-1:1;var A=C.page[this.axis]-this.element.getPosition()[this.axis]-this.half;A=A.limit(-this.options.offset,this.full-this.options.offset);this.step=Math.round(this.min+B*this.toStep(A));this.checkStep();this.end();this.fireEvent("tick",A)},scrolledElement:function(A){var B=(this.options.mode=="horizontal")?(A.wheel<0):(A.wheel>0);this.set(B?this.step-this.stepSize:this.step+this.stepSize);A.stop()},draggedKnob:function(){var B=this.range<0?-1:1;var A=this.drag.value.now[this.axis];A=A.limit(-this.options.offset,this.full-this.options.offset);this.step=Math.round(this.min+B*this.toStep(A));this.checkStep()},checkStep:function(){if(this.previousChange!=this.step){this.previousChange=this.step;this.fireEvent("change",this.step)}},end:function(){if(this.previousEnd!==this.step){this.previousEnd=this.step;this.fireEvent("complete",this.step+"")}},toStep:function(A){var B=(A+this.options.offset)*this.stepSize/this.full*this.steps;return this.options.steps?Math.round(B-=B%this.stepSize):B},toPosition:function(A){return(this.full*Math.abs(this.min-A))/(this.steps*this.stepSize)-this.options.offset}});var Scroller=new Class({Implements:[Events,Options],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.listener=($type(this.element)!="element")?$(this.element.getDocument().body):this.element;this.timer=null;this.coord=this.getCoords.bind(this)},start:function(){this.listener.addEvent("mousemove",this.coord)},stop:function(){this.listener.removeEvent("mousemove",this.coord);this.timer=$clear(this.timer)},getCoords:function(A){this.page=(this.listener.get("tag")=="body")?A.client:A.page;if(!this.timer){this.timer=this.scroll.periodical(50,this)}},scroll:function(){var B=this.element.getSize(),A=this.element.getScroll(),E=this.element.getPosition(),D={x:0,y:0};for(var C in this.page){if(this.page[C]<(this.options.area+E[C])&&A[C]!=0){D[C]=(this.page[C]-this.options.area-E[C])*this.options.velocity}else{if(this.page[C]+this.options.area>(B[C]+E[C])&&B[C]+B[C]!=A[C]){D[C]=(this.page[C]-B[C]+this.options.area-E[C])*this.options.velocity}}}if(D.y||D.x){this.fireEvent("change",[A.x+D.x,A.y+D.y])}}});var Accordion=new Class({Extends:Fx.Elements,options:{display:0,show:false,height:true,width:false,opacity:true,fixedHeight:false,fixedWidth:false,wait:false,alwaysHide:false},initialize:function(){var C=Array.link(arguments,{container:Element.type,options:Object.type,togglers:$defined,elements:$defined});this.parent(C.elements,C.options);this.togglers=$$(C.togglers);this.container=$(C.container);this.previous=-1;if(this.options.alwaysHide){this.options.wait=true}if($chk(this.options.show)){this.options.display=false;this.previous=this.options.show}if(this.options.start){this.options.display=false;this.options.show=false}this.effects={};if(this.options.opacity){this.effects.opacity="fullOpacity"}if(this.options.width){this.effects.width=this.options.fixedWidth?"fullWidth":"offsetWidth"}if(this.options.height){this.effects.height=this.options.fixedHeight?"fullHeight":"scrollHeight"}for(var B=0,A=this.togglers.length;B<A;B++){this.addSection(this.togglers[B],this.elements[B])}this.elements.each(function(E,D){if(this.options.show===D){this.fireEvent("active",[this.togglers[D],E])}else{for(var F in this.effects){E.setStyle(F,0)}}},this);if($chk(this.options.display)){this.display(this.options.display)}},addSection:function(E,C,G){E=$(E);C=$(C);var F=this.togglers.contains(E);var B=this.togglers.length;this.togglers.include(E);this.elements.include(C);if(B&&(!F||G)){G=$pick(G,B-1);E.inject(this.togglers[G],"before");C.inject(E,"after")}else{if(this.container&&!F){E.inject(this.container);C.inject(this.container)}}var A=this.togglers.indexOf(E);E.addEvent("click",this.display.bind(this,A));if(this.options.height){C.setStyles({"padding-top":0,"border-top":"none","padding-bottom":0,"border-bottom":"none"})}if(this.options.width){C.setStyles({"padding-left":0,"border-left":"none","padding-right":0,"border-right":"none"})}C.fullOpacity=1;if(this.options.fixedWidth){C.fullWidth=this.options.fixedWidth}if(this.options.fixedHeight){C.fullHeight=this.options.fixedHeight}C.setStyle("overflow","hidden");if(!F){for(var D in this.effects){C.setStyle(D,0)}}return this},display:function(A){A=($type(A)=="element")?this.elements.indexOf(A):A;if((this.timer&&this.options.wait)||(A===this.previous&&!this.options.alwaysHide)){return this}this.previous=A;var B={};this.elements.each(function(E,D){B[D]={};var C=(D!=A)||(this.options.alwaysHide&&(E.offsetHeight>0));this.fireEvent(C?"background":"active",[this.togglers[D],E]);for(var F in this.effects){B[D][F]=C?0:E[this.effects[F]]}},this);return this.start(B)}});window.addEvent("load",function(){if(!("console" in window)||!("firebug" in window.console)){var B=["log","debug","info","warn","error","assert","dir","dirxml","group","groupEnd","time","timeEnd","count","trace","profile","profileEnd"];window.console={};for(var A=0;A<B.length;++A){window.console[B[A]]=function(){}}}});(function(){var A=navigator.userAgent.toLowerCase();var B=A.indexOf("msie")>-1,D=A.indexOf("msie 7")>-1;if(B&&!D){try{document.execCommand("BackgroundImageCache",false,true)}catch(C){}}})();if(typeof Jx=="undefined"){var Jx={};(function(){var C=document.getElementsByTagName("SCRIPT");for(var A=0;A<C.length;A++){var B=C[A].src;var D=/(.*)(js|lib\/)jxlib(.*)/.exec(B);if(D&&D[0]){Jx.aPixel=document.createElement("img");Jx.aPixel.src=D[1]+"/images/a_pixel.png";Jx.baseURL=Jx.aPixel.src.substring(0,Jx.aPixel.src.indexOf("images/a_pixel.png"))}}})()}Jx.applyPNGFilter=function(C){var A=Jx.baseURL+"images/a_pixel.png";if(C.src!=A){var B=C.src;C.src=A;C.runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+B+"',sizingMethod='scale')"}};Jx.imgQueue=[];Jx.imgLoaded={};Jx.imagesLoading=0;Jx.addToImgQueue=function(A){if(Jx.imgLoaded[A.src]){A.element.src=A.src}else{Jx.imgQueue.push(A);Jx.imgLoaded[A.src]=true}Jx.checkImgQueue()};Jx.checkImgQueue=function(){while(Jx.imagesLoading<2&&Jx.imgQueue.length>0){Jx.loadNextImg()}};Jx.loadNextImg=function(){var A=Jx.imgQueue.shift();if(A){++Jx.imagesLoading;A.element.onload=function(){--Jx.imagesLoading;Jx.checkImgQueue()};A.element.onerror=function(){--Jx.imagesLoading;Jx.checkImgQueue()};A.element.src=A.src}};Jx.createIframeShim=function(){return new Element("iframe",{"class":"jxIframeShim",scrolling:"no",frameborder:0})};Jx.UniqueId=new Class({uniqueIdRefs:null,initUniqueId:function(){this.uniqueIdRefs=[]},deregisterIds:function(){this.uniqueIdRefs=[]},registerIds:function(C,A){if(C.indexOf(A.id)!=-1){this.uniqueIdRefs[A.id]=A}for(var B=0;B<A.childNodes.length;B++){this.registerIds(C,A.childNodes[B])}},getObj:function(A){return this.uniqueIdRefs[A]||null}});Element.implement({getBoxSizing:function(){var B="content-box";if(Browser.Engine.trident||Browser.Engine.presto){var A=document.compatMode;if(A=="BackCompat"||A=="QuirksMode"){B="border-box"}else{B="content-box"}}else{if(arguments.length==0){node=document.documentElement}var C=this.getStyle("-moz-box-sizing");if(!C){C=this.getStyle("box-sizing")}B=(C?C:"content-box")}return B},getContentBoxSize:function(){var A=this.offsetWidth;var C=this.offsetHeight;var D=this.getPaddingSize();var B=this.getBorderSize();A=A-D.left-D.right-B.left-B.right;C=C-D.bottom-D.top-B.bottom-B.top;return{width:A,height:C}},getBorderBoxSize:function(){var A=this.offsetWidth;var B=this.offsetHeight;return{width:A,height:B}},getMarginBoxSize:function(){var C=this.getMarginSize();var A=this.offsetWidth+C.left+C.right;var B=this.offsetHeight+C.top+C.bottom;return{width:A,height:B}},setContentBoxSize:function(C){if(this.getBoxSizing()=="border-box"){var E=this.getPaddingSize();var B=this.getBorderSize();if(typeof C.width!="undefined"){var D=(C.width+E.left+E.right+B.left+B.right);if(D<0){D=0}this.style.width=D+"px"}if(typeof C.height!="undefined"){var A=(C.height+E.top+E.bottom+B.top+B.bottom);if(A<0){A=0}this.style.height=A+"px"}}else{if(typeof C.width!="undefined"){this.style.width=C.width+"px"}if(typeof C.height!="undefined"){this.style.height=C.height+"px"}}},setBorderBoxSize:function(C){if(this.getBoxSizing()=="content-box"){var F=this.getPaddingSize();var B=this.getBorderSize();var E=this.getMarginSize();if(typeof C.width!="undefined"){var D=(C.width-F.left-F.right-B.left-B.right-E.left-E.right);if(D<0){D=0}this.style.width=D+"px"}if(typeof C.height!="undefined"){var A=(C.height-F.top-F.bottom-B.top-B.bottom-E.top-E.bottom);if(A<0){A=0}this.style.height=A+"px"}}else{if(typeof C.width!="undefined"&&C.width>=0){this.style.width=C.width+"px"}if(typeof C.height!="undefined"&&C.height>=0){this.style.height=C.height+"px"}}},getPaddingSize:function(){var B=this.getNumber(this.getStyle("padding-left"));var C=this.getNumber(this.getStyle("padding-top"));var D=this.getNumber(this.getStyle("padding-right"));var A=this.getNumber(this.getStyle("padding-bottom"));return{left:B,top:C,right:D,bottom:A}},getBorderSize:function(){var B=this.getNumber(this.getStyle("border-left-width"));var C=this.getNumber(this.getStyle("border-top-width"));var D=this.getNumber(this.getStyle("border-right-width"));var A=this.getNumber(this.getStyle("border-bottom-width"));return{left:B,top:C,right:D,bottom:A}},getMarginSize:function(){var B=this.getNumber(this.getStyle("margin-left"));var C=this.getNumber(this.getStyle("margin-top"));var D=this.getNumber(this.getStyle("margin-right"));var A=this.getNumber(this.getStyle("margin-bottom"));return{left:B,top:C,right:D,bottom:A}},getNumber:function(B){var A=B==null||isNaN(parseInt(B))?0:parseInt(B);return A},getPageDimensions:function(){return{width:window.getWidth(),height:window.getHeight()}},descendantOf:function(B){var A=$(this.parentNode);if(A==B){return true}else{if(!A||!A.parentNode){return null}else{if(A.parentNode===A){return null}else{return A.descendantOf(B)}}}},findElement:function(B){if(this.tagName==B){return this}var A=$(this.parentNode);if(A){if(A.tagName==B){return A}else{if(!A.parentNode||A.parentNode==A){return null}else{return A.findElement(B)}}}else{return null}}});Jx.ContentLoader=new Class({contentIsLoaded:false,loadContent:function(A){A=$(A);if(this.options.content){var B;if(this.options.content.domObj){B=$(this.options.content.domObj)}else{B=$(this.options.content)}if(B){A.appendChild(B);this.contentIsLoaded=true}else{A.innerHTML=this.options.content;this.contentIsLoaded=true}}else{if(this.options.contentURL){this.contentIsLoaded=false;new Request({url:this.options.contentURL,method:"get",update:A,onSuccess:(function(C){A.innerHTML=C;this.contentIsLoaded=true;this.fireEvent("contentLoaded",this)}).bind(this),onFailure:(function(){this.contentIsLoaded=true;this.fireEvent("contentLoadFailed",this)}).bind(this),headers:{"If-Modified-Since":"Sat, 1 Jan 2000 00:00:00 GMT"}}).send()}else{this.contentIsLoaded=true}}if(this.contentIsLoaded){this.fireEvent("contentLoaded",this)}},processContent:function(A){$A(A.childNodes).each(function(B){if(B.tagName=="INPUT"||B.tagName=="SELECT"||B.tagName=="TEXTAREA"){if(B.type=="button"){B.addEvent("click",function(){this.fireEvent("click",this,B)})}else{B.addEvent("change",function(){this.fireEvent("change",B)})}}else{if(B.childNodes){this.processContent(B)}}},this)}});Jx.AutoPosition=new Class({position:function(F,C,N){F=$(F);C=$(C);var B=$splat(N.horizontal||["center center"]);var G=$splat(N.vertical||["center center"]);var E=$merge({top:0,right:0,bottom:0,left:0},N.offsets||{});var I;if(!$(F.parentNode)||F.parentNode==document.body){I=Element.getPageDimensions()}else{I=$(F.parentNode).getContentBoxSize()}var K=C.getCoordinates();var M=F.getMarginBoxSize();var D;var L;var J;var A;if(!B.some(function(O){var P=O.split(" ");if(P.length!=2){return false}if(!isNaN(parseInt(P[0]))){D=parseInt(P[0])}else{switch(P[0]){case"right":D=K.left+K.width;break;case"center":D=K.left+Math.round(K.width/2);break;case"left":default:D=K.left}}switch(P[1]){case"left":D-=E.left;L=D+M.width;break;case"right":D+=E.right;L=D;D=D-M.width;break;case"center":default:D=D-Math.round(M.width/2);L=D+M.width}return(D>=0&&L<=I.width)})){if(L>I.width){D=I.width-M.width}if(D<0){D=0}}F.setStyle("left",D);if(!G.some(function(O){var P=O.split(" ");if(P.length!=2){return false}if(!isNaN(parseInt(P[0]))){J=parseInt(P[0])}else{switch(P[0]){case"bottom":J=K.top+K.height;break;case"center":J=K.top+Math.round(K.height/2);break;case"top":default:J=K.top}}switch(P[1]){case"top":J-=E.top;A=J+M.height;break;case"bottom":J+=E.bottom;A=J;J=J-M.height;break;case"center":default:J=J-Math.round(M.height/2);A=J+M.height}return(J>=0&&A<=I.height)})){if(A>I.height){J=I.height-M.height}if(J<0){J=0}}F.setStyle("top",J);var H=F.retrieve("jxLayout");if(H){H.options.left=D;H.options.top=J}}});Jx.Chrome=new Class({chrome:null,makeChrome:function(A){var C=new Element("div",{"class":"jxChrome"});A.adopt(C);this.chromeOffsets=C.getPaddingSize();C.setStyle("padding",0);var B=C.getStyle("backgroundImage");if(!B.contains("http://")){B=null}else{B=B.slice(4,-1);if(B.charAt(0)=='"'){B=B.slice(1,-1)}C.setStyle("backgroundImage","none");["TL","TR","BL","BR"].each(function(D){C.adopt(new Element("div",{"class":"jxChrome"+D}).adopt(new Element("img",{src:B})))},this)}if(!window.opera){C.adopt(Jx.createIframeShim())}C.dispose();this.chrome=C},showChrome:function(B){B=$(B);var A;if(!this.chromeResizeHandler){this.chromeResizeHandler=this.showChrome.bind(this)}if(!this.chrome){this.makeChrome(B)}if(B&&this.chrome.parentNode!==B){var C=$(this.chrome.parentNode);if(C){A=C.retrieve("jxLayout");if(A){A.removeEvent("sizeChange",this.chromeResizeHandler)}}B.adopt(this.chrome);A=B.retrieve("jxLayout");if(A){A.addEvent("sizeChange",this.chromeResizeHandler)}}this.resizeChrome()},resizeChrome:function(){},hideChrome:function(){if(this.chrome){if(this.chrome.parentNode){var A=this.chrome.parentNode.retrieve("jxLayout");if(A){A.removeEvent("sizeChange",this.chromeResizeHandler)}}this.chrome.dispose()}}});Jx.Button=new Class({Implements:[Options,Events],domObj:null,options:{id:"",type:"Button",image:"",tooltip:"",label:"",enabled:true,toggle:false,halign:"center",valign:"middle",isActive:false,container:"div"},initialize:function(B){this.setOptions(B);var E=new Element(this.options.container,{"class":"jx"+this.options.type+"Container"});if(this.options.toggle){E.addClass("jx"+this.options.type+"Toggle")}var A=new Element("a",{"class":"jx"+this.options.type,href:"javascript:void(0)",title:this.options.tooltip,alt:this.options.tooltip,events:{click:this.clicked.bindWithEvent(this)}});if(this.options.isActive){A.addClass("jx"+this.options.type+"Active")}E.appendChild(A);var D=new Element("span",{"class":"jx"+this.options.type+"Content"});A.appendChild(D);if(this.options.image||!this.options.label){var C=new Element("img",{"class":"jx"+this.options.type+"Icon",src:Jx.aPixel.src});if(this.options.image.indexOf("a_pixel.png")==-1){C.setStyle("backgroundImage","url("+this.options.image+")")}D.appendChild(C);if(this.options.imageClass){C.addClass(this.options.imageClass)}}l=new Element("span",{html:this.options.label});if(this.options.label){l.addClass("jx"+this.options.type+"Label")}D.appendChild(l);if(this.options.id){E.id=this.options.id}if(this.options.halign=="left"){E.addClass("jx"+this.options.type+"ContentLeft")}if(this.options.valign=="top"){E.addClass("jx"+this.options.type+"ContentTop")}this.domA=A;this.domLabel=l;this.domObj=E;this.setEnabled(this.options.enabled)},clicked:function(A){if(this.options.enabled){if(this.options.toggle){this.setActive(!this.options.isActive)}else{this.fireEvent("click",{obj:this,event:A})}}},setEnabled:function(A){this.options.enabled=A;if(this.options.enabled){this.domObj.removeClass("jx"+this.options.type+"Disabled")}else{this.domObj.addClass("jx"+this.options.type+"Disabled")}},isActive:function(){return this.options.isActive},setActive:function(A){if(this.options.isActive==A){return }this.options.isActive=A;if(this.options.isActive){this.domA.addClass("jx"+this.options.type+"Active");this.fireEvent("down",this)}else{this.domA.removeClass("jx"+this.options.type+"Active");this.fireEvent("up",this)}},setImage:function(A){if(this.domImg){this.domImg.set("src",A)}},setLabel:function(A){if(this.domLabel){this.domLabel.set("html",A)}},setTooltip:function(A){if(this.domImg){this.domImg.set({title:A,alt:A})}},addTo:function(B,A){B=$(B);A=A?$(A):null;if(A&&A.parentNode==B){B.insertBefore(this.domObj,A)}else{B.appendChild(this.domObj)}}});Jx.Button.Flyout=new Class({Extends:Jx.Button,Implements:[Jx.ContentLoader,Jx.AutoPosition,Jx.Chrome],content:null,initialize:function(A){if(!Jx.Button.Flyout.Stack){Jx.Button.Flyout.Stack=[]}this.parent(A);this.domA.addClass("jx"+this.options.type+"Flyout");this.contentContainer=new Element("div",{"class":"jxFlyout"});this.content=new Element("div",{"class":"jxFlyoutContent"});this.contentContainer.adopt(this.content);this.content.store("jxFlyout",this);this.loadContent(this.content);this.keypressWatcher=this.keypressHandler.bindWithEvent(this);this.hideWatcher=this.clickHandler.bindWithEvent(this)},clicked:function(C){if(!this.owner){this.owner=document.body;var B=$(this.domObj.parentNode);while(B!=document.body&&this.owner==document.body){var A=B.retrieve("jxFlyout");if(A){this.owner=A;break}else{B=$(B.parentNode)}}}if(Jx.Button.Flyout.Stack[Jx.Button.Flyout.Stack.length-1]==this){this.hide();return }else{if(this.owner!=document.body){if(this.owner.currentFlyout==this){this.hide();return }else{if(this.owner.currentFlyout){this.owner.currentFlyout.hide()}}this.owner.currentFlyout=this}else{while(Jx.Button.Flyout.Stack.length){Jx.Button.Flyout.Stack[Jx.Button.Flyout.Stack.length-1].hide()}}}Jx.Button.Flyout.Stack.push(this);this.options.isActive=true;this.domA.addClass("jx"+this.options.type+"Active");this.contentContainer.setStyle("visibility","hidden");document.body.adopt(this.contentContainer);this.showChrome(this.contentContainer);this.position(this.contentContainer,this.domObj,{horizontal:["left left","right right"],vertical:["bottom top","top bottom"],offsets:this.chromeOffsets});this.contentContainer.setStyle("visibility","");window.addEvent("keypress",this.keypressWatcher);document.addEvent("click",this.hideWatcher);this.fireEvent("open",this)},hide:function(){if(this.owner!=document.body){this.owner.currentFlyout=null}Jx.Button.Flyout.Stack.pop();this.setActive(false);this.contentContainer.dispose();window.removeEvent("keypress",this.keypressWatcher);document.removeEvent("click",this.hideWatcher);this.fireEvent("close",this)},clickHandler:function(B){B=new Event(B);var C=$(B.target);var A=Jx.Button.Flyout.Stack[Jx.Button.Flyout.Stack.length-1];if(!C.descendantOf(A.content)&&!C.descendantOf(A.domObj)){A.hide()}},keypressHandler:function(A){A=new Event(A);if(A.key=="esc"){Jx.Button.Flyout.Stack[Jx.Button.Flyout.Stack.length-1].hide()}}});Jx.Button.Multi=new Class({activeButton:null,buttons:null,initialize:function(){this.buttons=[];var A=new Element("div");this.tb=new Jx.Toolbar({parent:A,position:"right"});this.flyout=new Jx.Button.Flyout({content:A});this.flyout.domObj.firstChild.addClass("jxButtonMulti");this.domObj=new Element("div",{"class":"jxButtonMultiContainer"});this.domObj.grab(this.flyout.domObj)},add:function(){$A(arguments).each(function(B){if(!B instanceof Jx.Button){return }this.buttons.push(B);var A=new Jx.Button($merge(B.options,{onClick:this.setButton.bind(this,B)}));B.multiButton=A;this.tb.add(A);if(!this.activeButton){this.domObj.grab(B.domObj,"top");this.activeButton=B}},this)},remove:function(A){if(!A||!A.multiButton){return }if(this.tb.remove(A.multiButton)){A.multiButton=null;if(this.activeButton==A){if(!this.buttons.some(function(B){if(B!=A){this.setActiveButton(B);return true}else{return false}},this)){this.setActiveButton(null)}}this.flyout.content.style.height="";this.flyout.content.style.width="";this.buttons.erase(A)}},addTo:function(B,A){B=$(B);A=A?$(A):null;if(A&&A.parentNode==B){B.grab(this.domObj,"top")}else{B.adopt(this.domObj)}},setActiveButton:function(A){if(this.activeButton){this.activeButton.domObj.dispose()}if(A&&A.domObj){this.domObj.grab(A.domObj,"top")}this.activeButton=A},setButton:function(A){this.setActiveButton(A);A.clicked();this.flyout.hide()}});Jx.ColorPalette=new Class({Implements:[Options,Events],domObj:null,options:{color:"#000000",alpha:1},hexColors:["00","33","66","99","CC","FF"],initialize:function(C){this.setOptions(C);this.domObj=new Element("div",{id:this.options.id,"class":"jxColorPalette"});var H=new Element("div",{"class":"jxColorBar"});var Q=new Element("div",{"class":"jxColorPreview"});this.selectedSwatch=new Element("div",{"class":"jxColorSelected"});this.previewSwatch=new Element("div",{"class":"jxColorHover"});Q.adopt(this.selectedSwatch);Q.adopt(this.previewSwatch);H.adopt(Q);this.colorInputLabel=new Element("label",{"class":"jxColorLabel",html:"#"});H.adopt(this.colorInputLabel);var K=this.changed.bind(this);this.colorInput=new Element("input",{"class":"jxHexInput",type:"text",maxLength:6,events:{keyup:K,blur:K,change:K}});H.adopt(this.colorInput);this.alphaLabel=new Element("label",{"class":"jxAlphaLabel",html:"alpha (%)"});H.adopt(this.alphaLabel);this.alphaInput=new Element("input",{"class":"jxAlphaInput",type:"text",maxLength:3,events:{keyup:this.alphaChanged.bind(this)}});H.adopt(this.alphaInput);this.domObj.adopt(H);Q=new Element("div",{"class":"jxClearer"});this.domObj.adopt(Q);var I=this.swatchClick.bindWithEvent(this);var G=this.swatchOver.bindWithEvent(this);var P=new Element("table",{"class":"jxColorGrid"});var A=new Element("tbody");P.adopt(A);for(var N=0;N<12;N++){var B=new Element("tr");for(var L=-3;L<18;L++){var F=false;var J,O,R;if(L<0){if(L==-3||L==-1){J=O=R=0;F=true}else{if(N<6){J=O=R=N}else{if(N==6){J=5;O=0;R=0}else{if(N==7){J=0;O=5;R=0}else{if(N==8){J=0;O=0;R=5}else{if(N==9){J=5;O=5;R=0}else{if(N==10){J=0;O=5;R=5}else{if(N==11){J=5;O=0;R=5}}}}}}}}}else{J=parseInt(N/6)*3+parseInt(L/6);O=L%6;R=N%6}var D="#"+this.hexColors[J]+this.hexColors[O]+this.hexColors[R];var E=new Element("td");if(!F){E.setStyle("backgroundColor",D);var S=new Element("a",{"class":"colorSwatch "+(((J>2&&O>2)||(J>2&&R>2)||(O>2&&R>2))?"borderBlack":"borderWhite"),href:"#",title:D,alt:D,events:{mouseover:G,click:I}});S.store("swatchColor",D);E.adopt(S)}else{var M=new Element("span",{"class":"emptyCell"});E.adopt(M)}B.adopt(E)}A.adopt(B)}this.domObj.adopt(P);this.updateSelected()},swatchOver:function(B){var A=B.target;this.previewSwatch.setStyle("backgroundColor",A.retrieve("swatchColor"))},swatchClick:function(B){var A=B.target;this.options.color=A.retrieve("swatchColor");this.updateSelected();this.fireEvent("click",this)},changed:function(){var A=this.colorInput.value;if(A.substring(0,1)=="#"){A=A.substring(1)}if(A.toLowerCase().match(/^[0-9a-f]{6}$/)){this.options.color="#"+A.toUpperCase();this.updateSelected()}},alphaChanged:function(){var A=this.alphaInput.value;if(A.match(/^[0-9]{1,3}$/)){this.options.alpha=parseFloat(A/100);this.updateSelected()}},setColor:function(A){this.colorInput.value=A;this.changed()},setAlpha:function(A){this.alphaInput.value=A;this.alphaChanged()},updateSelected:function(){var A={backgroundColor:this.options.color};this.colorInput.value=this.options.color.substring(1);this.alphaInput.value=parseInt(this.options.alpha*100);if(this.options.alpha<1){A.opacity=this.options.alpha;A.filter="Alpha(opacity="+(this.options.alpha*100)+")"}else{A.opacity="";A.filter=""}this.selectedSwatch.setStyles(A);this.previewSwatch.setStyles(A);this.fireEvent("change",this)}});Jx.Button.Color=new Class({Extends:Jx.Button.Flyout,swatch:null,options:{color:"#000000",alpha:100},initialize:function(A){if(!Jx.Button.Color.ColorPalette){Jx.Button.Color.ColorPalette=new Jx.ColorPalette(this.options)}var B=new Element("span",{"class":"jxButtonSwatch"});this.selectedSwatch=new Element("span");B.appendChild(this.selectedSwatch);this.colorChangeFn=this.changed.bind(this);this.hideFn=this.hide.bind(this);Jx.Button.Flyout.prototype.initialize.apply(this,[A]);$(this.domObj.firstChild).addClass("jxButtonColor");this.domObj.firstChild.firstChild.insertBefore(B,this.domObj.firstChild.firstChild.firstChild);this.updateSwatch()},clicked:function(){if(Jx.Button.Color.ColorPalette.currentButton){Jx.Button.Color.ColorPalette.currentButton.hide()}Jx.Button.Color.ColorPalette.currentButton=this;Jx.Button.Color.ColorPalette.addEvent("change",this.colorChangeFn);Jx.Button.Color.ColorPalette.addEvent("click",this.hideFn);this.content.appendChild(Jx.Button.Color.ColorPalette.domObj);Jx.Button.Color.ColorPalette.domObj.setStyle("display","block");Jx.Button.Flyout.prototype.clicked.apply(this,arguments);Jx.Button.Color.ColorPalette.options.color=this.options.color;Jx.Button.Color.ColorPalette.options.alpha=this.options.alpha/100;Jx.Button.Color.ColorPalette.updateSelected()},hide:function(){this.setActive(false);Jx.Button.Color.ColorPalette.removeEvent("change",this.colorChangeFn);Jx.Button.Color.ColorPalette.removeEvent("click",this.hideFn);Jx.Button.Flyout.prototype.hide.apply(this,arguments);Jx.Button.Color.ColorPalette.currentButton=null},setColor:function(A){this.options.color=A;this.updateSwatch()},setAlpha:function(A){this.options.alpha=A;this.updateSwatch()},changed:function(A){var B=false;if(this.options.color!=A.options.color){this.options.color=A.options.color;B=true}if(this.options.alpha!=A.options.alpha*100){this.options.alpha=A.options.alpha*100;B=true}if(B){this.updateSwatch();this.fireEvent("change",this)}},updateSwatch:function(){var A={backgroundColor:this.options.color};if(this.options.alpha<100){A.filter="Alpha(opacity="+(this.options.alpha)+")";A.opacity=this.options.alpha/100}else{A.opacity="";A.filter=""}this.selectedSwatch.setStyles(A)}});Jx.ButtonSet=new Class({Implements:[Options,Events],buttons:null,initialize:function(A){this.setOptions(A);this.buttons=[];this.buttonChangedHandler=this.buttonChanged.bind(this)},add:function(){$A(arguments).each(function(A){A.domObj.addClass("jx"+A.options.type+"Set");A.addEvent("down",this.buttonChangedHandler);if(!this.activeButton){A.setActive(true)}this.buttons.push(A)},this)},remove:function(A){this.buttons.erase(A);if(this.activeButton==A){if(this.buttons.length){this.buttons[0].setActive(true)}A.removeEvent("down",this.buttonChangedHandler)}},setActiveButton:function(A){if(this.activeButton&&this.activeButton!=A){this.activeButton.setActive(false)}this.activeButton=A},buttonChanged:function(A){this.setActiveButton(A);this.fireEvent("change",this)}});Jx.Grid=new Class({Implements:[Options],domObj:null,model:null,options:{alternateRowColors:false,rowHeaders:false,columnHeaders:false,rowSelection:false,cellSelection:false},initialize:function(B,A){this.setOptions(A);this.domObj=$(B);var C=this.domObj.retrieve("jxLayout");if(C){C.addEvent("sizeChange",this.resize.bind(this))}this.rowColObj=new Element("div",{"class":"jxGridContainer"});this.colObj=new Element("div",{"class":"jxGridContainer"});this.colTable=new Element("table",{"class":"jxGridTable"});this.colTableHead=new Element("thead");this.colTable.appendChild(this.colTableHead);this.colTableBody=new Element("tbody");this.colTable.appendChild(this.colTableBody);this.colObj.appendChild(this.colTable);this.rowObj=new Element("div",{"class":"jxGridContainer"});this.rowTable=new Element("table",{"class":"jxGridTable"});this.rowTableHead=new Element("thead");this.rowTable.appendChild(this.rowTableHead);this.rowObj.appendChild(this.rowTable);this.gridObj=new Element("div",{"class":"jxGridContainer",styles:{overflow:"scroll"}});this.gridTable=new Element("table",{"class":"jxGridTable"});this.gridTableBody=new Element("tbody");this.gridTable.appendChild(this.gridTableBody);this.gridObj.appendChild(this.gridTable);this.domObj.appendChild(this.rowColObj);this.domObj.appendChild(this.rowObj);this.domObj.appendChild(this.colObj);this.domObj.appendChild(this.gridObj);this.gridObj.addEvent("scroll",this.onScroll.bind(this));this.gridObj.addEvent("click",this.onClickGrid.bindWithEvent(this));this.rowObj.addEvent("click",this.onClickRowHeader.bindWithEvent(this));this.colObj.addEvent("click",this.onClickColumnHeader.bindWithEvent(this));this.gridObj.addEvent("mousemove",this.onMouseMoveGrid.bindWithEvent(this));this.rowObj.addEvent("mousemove",this.onMouseMoveRowHeader.bindWithEvent(this));this.colObj.addEvent("mousemove",this.onMouseMoveColumnHeader.bindWithEvent(this))},onScroll:function(){this.colObj.scrollLeft=this.gridObj.scrollLeft;this.rowObj.scrollTop=this.gridObj.scrollTop},resize:function(){if(!this.model){return }var C=this.options.columnHeaders?this.model.getColumnHeaderHeight():1;var A=this.options.rowHeaders?this.model.getRowHeaderWidth():1;var B=Element.getContentBoxSize(this.domObj);this.rowColObj.setStyles({width:A-1,height:C-1});this.rowObj.setStyles({top:C,left:0,width:A-1,height:B.height-C-1});this.colObj.setStyles({top:0,left:A,width:B.width-A-1,height:C-1});this.gridObj.setStyles({top:C,left:A,width:B.width-A-1,height:B.height-C-1})},setModel:function(A){if(this.model){this.model.removeGridListener(this)}this.model=A;if(this.model){if(this.domObj.resize){this.domObj.resize()}this.model.addGridListener(this);this.createGrid();this.resize()}else{this.destroyGrid()}},destroyGrid:function(){var A=this.colTableHead.cloneNode(false);this.colTable.replaceChild(A,this.colTableHead);this.colTableHead=A;A=this.colTableBody.cloneNode(false);this.colTable.replaceChild(A,this.colTableBody);this.colTableBody=A;A=this.rowTableHead.cloneNode(false);this.rowTable.replaceChild(A,this.rowTableHead);this.rowTableHead=A;A=this.gridTableBody.cloneNode(false);this.gridTable.replaceChild(A,this.gridTableBody);this.gridTableBody=A},createGrid:function(){this.destroyGrid();if(this.model){var L=this.model;var E=L.getColumnCount();var Q=L.getRowCount();if(this.options.columnHeaders){var N=L.getColumnHeaderHeight();var P=new Element("tr");this.colTableHead.appendChild(P);var M=new Element("tr");this.colTableBody.appendChild(M);var C=new Element("th",{styles:{width:0,height:0}});P.appendChild(C);C=C.cloneNode(true);C.setStyle("height",N);M.appendChild(C);for(var K=0;K<E;K++){var J=L.getColumnWidth(K);C=new Element("th",{"class":"jxGridColHeadHide",styles:{width:J}});var B=new Element("p",{styles:{height:0,width:J}});C.appendChild(B);P.appendChild(C);C=new Element("th",{"class":"jxGridColHead",html:L.getColumnHeaderHTML(K)});M.appendChild(C)}var C=new Element("th",{styles:{width:1000,height:0}});P.appendChild(C);C=C.cloneNode(true);C.setStyle("height",N-1);C.className="jxGridColHead";M.appendChild(C)}if(this.options.rowHeaders){var H=L.getRowHeaderWidth();var O=new Element("tr");var G=new Element("td",{styles:{width:0,height:0}});O.appendChild(G);var C=new Element("th",{styles:{width:H,height:0}});O.appendChild(C);this.rowTableHead.appendChild(O);for(var K=0;K<Q;K++){var A=L.getRowHeight(K);var O=new Element("tr");var G=new Element("td",{"class":"jxGridRowHeadHide",styles:{width:0,height:A}});var B=new Element("p",{styles:{width:0,height:A}});G.appendChild(B);O.appendChild(G);var C=new Element("th",{"class":"jxGridRowHead",html:L.getRowHeaderHTML(K)});O.appendChild(C);this.rowTableHead.appendChild(O)}var O=new Element("tr");var G=new Element("td",{styles:{width:0,height:1000}});O.appendChild(G);var C=new Element("th",{"class":"jxGridRowHead",styles:{width:H,height:1000}});O.appendChild(C);this.rowTableHead.appendChild(O)}var N=L.getColumnHeaderHeight();var M=new Element("tr");this.gridTableBody.appendChild(M);var G=new Element("td",{styles:{width:0,height:0}});M.appendChild(G);for(var K=0;K<E;K++){var J=L.getColumnWidth(K);G=new Element("td",{"class":"jxGridColHeadHide",styles:{width:J}});var B=new Element("p",{styles:{width:J,height:0}});G.appendChild(B);M.appendChild(G)}for(var I=0;I<Q;I++){var A=L.getRowHeight(I);var D=A;var O=new Element("tr");this.gridTableBody.appendChild(O);var G=new Element("td",{"class":"jxGridRowHeadHide",styles:{width:0,height:A}});var B=new Element("p",{styles:{height:A}});G.appendChild(B);O.appendChild(G);for(var K=0;K<E;K++){var J=L.getColumnWidth(K);G=new Element("td",{"class":"jxGridCell"});G.innerHTML=L.getValueAt(I,K);O.appendChild(G);var F=G.getSize();if(F.height>D){D=F.height}}if(document.all){D-=1}if(this.options.rowHeaders){this.setRowHeaderHeight(I,D)}if(this.options.alternateRowColors){O.className=(I%2)?"jxGridRowOdd":"jxGridRowEven"}else{O.className="jxGridRowAll"}}}},setRowHeaderHeight:function(B,A){this.rowTableHead.childNodes[B+1].childNodes[0].childNodes[0].style.height=(A)+"px"},gridChanged:function(B,D,A,C){if(this.model==B){this.gridObj.childNodes[D].childNodes[A].innerHTML=C}},prelightRowHeader:function(B){var A=(B>=0&&B<this.rowTableHead.rows.length-1)?this.rowTableHead.rows[B+1].cells[1]:null;if(this.prelitRowHeader!=A){if(this.prelitRowHeader){this.prelitRowHeader.removeClass("jxGridRowHeaderPrelight")}this.prelitRowHeader=A;if(this.prelitRowHeader){this.prelitRowHeader.addClass("jxGridRowHeaderPrelight")}}},prelightColumnHeader:function(B){if(this.colTableBody.rows.length==0){return }var A=(B>=0&&B<this.colTableBody.rows[0].cells.length-1)?this.colTableBody.rows[0].cells[B+1]:null;if(this.prelitColumnHeader!=A){if(this.prelitColumnHeader){this.prelitColumnHeader.removeClass("jxGridColumnHeaderPrelight")}this.prelitColumnHeader=A;if(this.prelitColumnHeader){this.prelitColumnHeader.addClass("jxGridColumnHeaderPrelight")}}},prelightRow:function(B){var A=(B>=0&&B<this.gridTableBody.rows.length-1)?this.gridTableBody.rows[B+1]:null;if(this.prelitRow!=B){if(this.prelitRow){this.prelitRow.removeClass("jxGridRowPrelight")}this.prelitRow=A;if(this.prelitRow&&!this.prelitRow.hasClass("jxGridRowSelected")){this.prelightRowHeader(B);this.prelitRow.addClass("jxGridRowPrelight")}}},prelightColumn:function(A){this.prelightColumnHeader(A)},prelightCell:function(B,A){var C=(B>=0&&A>=0&&B<this.gridTableBody.rows.length-1&&A<this.gridTableBody.rows[B+1].cells.length-1)?this.gridTableBody.rows[B+1].cells[A+1]:null;if(this.prelitCell!=C){if(this.prelitCell){this.prelitCell.removeClass("jxGridCellPrelight")}this.prelitCell=C;if(this.prelitCell){this.prelitCell.addClass("jxGridCellPrelight");this.prelightRow(B);this.prelightColumn(A)}}},selectCell:function(B,A){var C=(B>=0&&A>=0&&B<this.gridTableBody.rows.length-1&&A<this.gridTableBody.rows[B+1].cells.length-1)?this.gridTableBody.rows[B+1].cells[A+1]:null;if(!C){return }if(this.selectedCell){this.selectedCell.addClass("jxGridCellSelected")}else{this.selectedCell.removeClass("jxGridCellSelected")}},selectRowHeader:function(C,B){var A=(C>=0&&C<this.rowTableHead.rows.length-1)?this.rowTableHead.rows[C+1].cells[1]:null;if(!A){return }if(B){A.addClass("jxGridRowHeaderSelected")}else{A.removeClass("jxGridRowHeaderSelected")}},selectRow:function(C,A){var B=(C>=0&&C<this.gridTableBody.rows.length-1)?this.gridTableBody.rows[C+1]:null;if(B){if(A){B.addClass("jxGridRowSelected")}else{B.removeClass("jxGridRowSelected")}}this.selectRowHeader(C,A)},selectColumnHeader:function(B,C){if(this.colTableBody.rows.length==0){return }var A=(B>=0&&B<this.colTableBody.rows[0].cells.length-1)?this.colTableBody.rows[0].cells[B+1]:null;if(A==null){return }if(C){A.addClass("jxGridColumnHeaderSelected")}else{A.removeClass("jxGridColumnHeaderSelected")}},selectColumn:function(A,C){if(A>=0&&A<this.gridTable.rows[0].cells.length){if(C){for(var B=0;B<this.gridTable.rows.length;B++){this.gridTable.rows[B].cells[this.selectedColumn+1].removeClass("jxGridColumnSelected")}}else{for(var B=0;B<this.gridTable.rows.length;B++){this.gridTable.rows[B].cells[A+1].addClass("jxGridColumnSelected")}}}this.selectColumnHeader(A,C)},onMouseMoveGrid:function(B){var A=this.getRowColumnFromEvent(B);this.prelightCell(A.row,A.column)},onMouseMoveRowHeader:function(B){var A=this.getRowColumnFromEvent(B);this.prelightRow(A.row)},onMouseMoveColumnHeader:function(B){var A=this.getRowColumnFromEvent(B);this.prelightColumn(A.column)},onClickGrid:function(B){var A=this.getRowColumnFromEvent(B);if(this.model.cellSelected){this.model.cellSelected(this,A.row,A.column)}},onClickRowHeader:function(B){var A=this.getRowColumnFromEvent(B);if(this.model.rowSelected){this.model.rowSelected(this,A.row)}},onClickColumnHeader:function(B){var A=this.getRowColumnFromEvent(B);if(this.model.columnSelected){this.model.columnSelected(this,A.column)}},getRowColumnFromEvent:function(D){var F=D.target;if(F.tagName!="TD"&&F.tagName!="TH"){return{row:-1,column:-1}}var C=F.parentNode;var A=F.cellIndex-1;var E=C.rowIndex-1;if(A==-1){for(var B=0;B<C.childNodes.length;B++){if(C.childNodes[B]==F){A=B-1;break}}}return{row:E,column:A}}});Jx.Layout=new Class({Implements:[Options,Events],options:{propagate:true,position:"absolute",left:0,right:0,top:0,bottom:0,width:null,height:null,minWidth:0,minHeight:0,maxWidth:-1,maxHeight:-1},initialize:function(B,A){this.setOptions(A);this.domObj=$(B);this.domObj.resize=this.resize.bind(this);this.domObj.setStyle("position",this.options.position);this.domObj.store("jxLayout",this);if(document.body==this.domObj.parentNode){window.addEvent("resize",this.windowResize.bindWithEvent(this));window.addEvent("load",this.resize.bind(this))}},windowResize:function(){if(this.resizeTimer){$clear(this.resizeTimer);this.resizeTimer=null}this.resizeTimer=this.resize.delay(100,this)},resize:function(K){this.resizeTimer=null;var B=false;if(K){for(var F in K){if(F=="forceResize"){continue}if(this.options[F]!=K[F]){B=true;this.options[F]=K[F]}}if(K.forceResize){B=true}}if(!$(this.domObj.parentNode)){return }var C;if(this.domObj.parentNode.tagName=="BODY"){C=Element.getPageDimensions()}else{C=$(this.domObj.parentNode).getContentBoxSize()}if(this.lastParentSize&&!B){B=(this.lastParentSize.width!=C.width||this.lastParentSize.height!=C.height)}else{B=true}this.lastParentSize=C;if(!B){return }var D,J,I,G;if(this.options.left!=null){D=this.options.left;if(this.options.right==null){if(this.options.width==null){I=C.width-D;if(I<this.options.minWidth){I=this.options.minWidth}if(this.options.maxWidth>=0&&I>this.options.maxWidth){I=this.options.maxWidth}}else{I=this.options.width}}else{if(this.options.width==null){I=C.width-D-this.options.right;if(I<this.options.minWidth){I=this.options.minWidth}if(this.options.maxWidth>=0&&I>this.options.maxWidth){I=this.options.maxWidth}}else{I=this.options.width}}}else{if(this.options.right==null){if(this.options.width==null){D=0;I=C.width;if(this.options.maxWidth>=0&&I>this.options.maxWidth){D=D+parseInt(I-this.options.maxWidth)/2;I=this.options.maxWidth}}else{I=this.options.width;D=parseInt((C.width-I)/2);if(D<0){D=0}}}else{if(this.options.width!=null){I=this.options.width;D=C.width-I-this.options.right;if(D<0){D=0}}else{D=0;I=C.width-this.options.right;if(I<this.options.minWidth){I=this.options.minWidth}if(this.options.maxWidth>=0&&I>this.options.maxWidth){D=I-this.options.maxWidth-this.options.right;I=this.options.maxWidth}}}}if(this.options.top!=null){J=this.options.top;if(this.options.bottom==null){if(this.options.height==null){G=C.height-J;if(G<this.options.minHeight){G=this.options.minHeight}if(this.options.maxHeight>=0&&G>this.options.maxHeight){G=this.options.maxHeight}}else{G=this.options.height;if(this.options.maxHeight>=0&&G>this.options.maxHeight){J=G-this.options.maxHeight;G=this.options.maxHeight}}}else{if(this.options.height==null){G=C.height-J-this.options.bottom;if(G<this.options.minHeight){G=this.options.minHeight}if(this.options.maxHeight>=0&&G>this.options.maxHeight){G=this.options.maxHeight}}else{G=this.options.height}}}else{if(this.options.bottom==null){if(this.options.height==null){J=0;G=C.height;if(G<this.options.minHeight){G=this.options.minHeight}if(this.options.maxHeight>=0&&G>this.options.maxHeight){J=parseInt((C.height-this.options.maxHeight)/2);G=this.options.maxHeight}}else{G=this.options.height;J=parseInt((C.height-G)/2);if(J<0){J=0}}}else{if(this.options.height!=null){G=this.options.height;J=C.height-G-this.options.bottom;if(J<0){J=0}}else{J=0;G=C.height-this.options.bottom;if(G<this.options.minHeight){G=this.options.minHeight}if(this.options.maxHeight>=0&&G>this.options.maxHeight){J=C.height-this.options.maxHeight-this.options.bottom;G=this.options.maxHeight}}}}var E={width:I};if(this.options.position=="absolute"){var H=$(this.domObj.parentNode).getPaddingSize();this.domObj.setStyles({position:this.options.position,left:D+H.left,top:J+H.top});E.height=G}else{if(this.options.height){E.height=this.options.height}}this.domObj.setBorderBoxSize(E);if(this.options.propagate){var A={forceResize:K?K.forceResize:false};$A(this.domObj.childNodes).each(function(L){if(L.resize&&L.getStyle("display")!="none"){L.resize(A)}})}this.fireEvent("sizeChange",this)}});Jx.Menu=new Class({Implements:[Jx.AutoPosition,Jx.Chrome],domObj:null,button:null,subDomObj:null,items:null,initialize:function(A){if(!Jx.Menu.Menus){Jx.Menu.Menus=[]}this.items=[];this.contentContainer=new Element("div",{"class":"jxMenuContainer"});this.subDomObj=new Element("ul",{"class":"jxMenu"});this.contentContainer.adopt(this.subDomObj);if(A){this.domObj=new Element("li",{id:A.id,events:{mouseover:this.onMouseOver.bindWithEvent(this)}});this.button=new Jx.Button($merge(A,{onClick:this.show.bind(this)}));this.button.domA.addClass("jxButtonMenu");this.domObj.adopt(this.button.domObj)}this.hideWatcher=this.hide.bindWithEvent(this);this.keypressWatcher=this.keypressHandler.bindWithEvent(this)},add:function(){$A(arguments).each(function(A){this.items.push(A);A.setOwner(this);this.subDomObj.adopt(A.domObj)},this)},deactivate:function(){this.hide()},actionPerformed:function(){this.hide()},onMouseOver:function(A){if(Jx.Menu.Menus[0]&&Jx.Menu.Menus[0]!=this){this.show({event:A})}},hide:function(A){if(A){if(A.target.descendantOf(this.domObj)||A.target.descendantOf(this.subDomObj)){return }}if(Jx.Menu.Menus[0]&&Jx.Menu.Menus[0]==this){Jx.Menu.Menus[0]=null}if(this.domA){this.domA.removeClass("jx"+this.button.options.type+"Active")}this.contentContainer.dispose();this.items.each(function(B){B.hide(A)});document.removeEvent("mousedown",this.hideWatcher);document.removeEvent("keyup",this.keypressWatcher)},show:function(B){var A=B.event;if(Jx.Menu.Menus[0]&&Jx.Menu.Menus[0]!=this){Jx.Menu.Menus[0].hide(A)}if(this.items.length==0){return }Jx.Menu.Menus[0]=this;this.contentContainer.setStyle("visibility","hidden");document.body.adopt(this.contentContainer);this.contentContainer.setContentBoxSize(this.subDomObj.getMarginBoxSize());this.showChrome(this.contentContainer);this.position(this.contentContainer,this.button.domObj,{horizontal:["left left"],vertical:["bottom top","top bottom"],offsets:this.chromeOffsets});this.contentContainer.setStyle("visibility","");if(this.domA){this.domA.addClass("jx"+this.button.options.type+"Active")}if(A){A.stop()}document.addEvent("mousedown",this.hideWatcher);document.addEvent("keyup",this.keypressWatcher)},setVisibleItem:function(A){if(this.visibleItem!=A){if(this.visibleItem&&this.visibleItem.hide){this.visibleItem.hide()}this.visibleItem=A;this.visibleItem.show()}},keypressHandler:function(A){A=new Event(A);if(A.key=="esc"){this.hide()}}});Jx.Menu.Item=new Class({Implements:[Options,Events],Extends:Jx.Button,owner:null,button:null,options:{enabled:true,image:Jx.baseURL+"images/a_pixel.png",label:"&nbsp;"},initialize:function(A){this.parent($merge(A,{container:"li",type:"MenuItem"}));this.domObj.addEvent("mouseover",this.onMouseOver.bindWithEvent(this));if(!this.options.enabled){this.domObj.addClass("jxMenuItemDisabled")}},setOwner:function(A){this.owner=A},hide:$empty,show:$empty,clicked:function(A){if(this.options.enabled){if(this.options.toggle){this.setActive(!this.options.isActive)}this.fireEvent("click",this);if(this.owner&&this.owner.deactivate){this.owner.deactivate(A.event)}}},propertyChanged:function(A){this.options.enabled=A.isEnabled();if(this.options.enabled){this.domObj.removeClass("jxMenuItemDisabled")}else{if(!this.domObj.hadClass("jxMenuItemDisabled")){this.domObj.addClass("jxMenuItemDisabled")}}},onMouseOver:function(A){if(this.owner&&this.owner.setVisibleItem){this.owner.setVisibleItem(this)}this.show(A)}});Jx.Menu.Separator=new Class({domObj:null,owner:null,initialize:function(){this.domObj=new Element("li",{"class":"jxMenuItem"});var A=new Element("span",{"class":"jxMenuSeparator",html:"&nbsp;"});this.domObj.appendChild(A)},setOwner:function(A){this.owner=A},hide:$empty,show:$empty});Jx.Menu.SubMenu=new Class({Extends:Jx.Menu.Item,Implements:[Options,Events,Jx.AutoPosition,Jx.Chrome],subDomObj:null,owner:null,visibleItem:null,items:null,initialize:function(A){this.open=false;this.items=[];this.parent(A);this.domA.addClass("jxButtonSubMenu");this.contentContainer=new Element("div",{"class":"jxMenuContainer"});this.subDomObj=new Element("ul",{"class":"jxSubMenu"});this.contentContainer.adopt(this.subDomObj)},setOwner:function(A){this.owner=A},show:function(){if(this.open||this.items.length==0){return }this.contentContainer.setStyle("visibility","hidden");document.body.adopt(this.contentContainer);this.contentContainer.setContentBoxSize(this.subDomObj.getMarginBoxSize());this.showChrome(this.contentContainer);this.position(this.contentContainer,this.domObj,{horizontal:["right left","left right"],vertical:["top top"],offsets:this.chromeOffsets});this.open=true;this.contentContainer.setStyle("visibility","");this.setActive(true)},hide:function(){if(!this.open){return }this.open=false;this.items.each(function(A){A.hide()});this.contentContainer.dispose();this.visibleItem=null},add:function(){var A=this;$A(arguments).each(function(B){A.items.push(B);B.setOwner(A);A.subDomObj.adopt(B.domObj)})},insertBefore:function(C,D){var B=false;for(var A=0;A<this.items.length;A++){if(this.items[A]==D){this.items.splice(A,0,C);this.subDomObj.insertBefore(C.domObj,D.domObj);B=true;break}}if(!B){this.add(C)}},remove:function(B){for(var A=0;A<this.items.length;A++){if(this.items[A]==B){this.items.splice(A,1);this.subDomObj.removeChild(B.domObj);break}}},processActionEvent:function(A){if(this.open){this.hide()}else{this.show()}if(A&&A.event){A.event.stop()}},deactivate:function(A){if(this.owner){this.owner.deactivate(A)}},isActive:function(){if(this.owner){return this.owner.isActive()}else{return false}},setActive:function(A){if(this.owner&&this.owner.setActive){this.owner.setActive(A)}},setVisibleItem:function(A){if(this.visibleItem!=A){if(this.visibleItem&&this.visibleItem.hide){this.visibleItem.hide()}this.visibleItem=A;this.visibleItem.show()}}});Jx.Menu.Context=new Class({Extends:Jx.Menu,initialize:function(A){this.parent();if($(A)){$(A).addEvent("contextmenu",this.show.bindWithEvent(this))}},show:function(A){if(this.items.length==0){return }this.contentContainer.setStyle("visibility","hidden");document.body.adopt(this.contentContainer);this.contentContainer.setContentBoxSize(this.subDomObj.getMarginBoxSize());this.position(this.contentContainer,document.body,{horizontal:[A.page.x+" left"],vertical:[A.page.y+" top",A.page.y+" bottom"],offsets:this.chromeOffsets});this.contentContainer.setStyle("visibility","");this.showChrome(this.contentContainer);document.addEvent("mousedown",this.hideWatcher);document.addEvent("keyup",this.keypressWatcher);A.stop()}});Jx.Panel=new Class({Implements:[Options,Events,Jx.UniqueId,Jx.ContentLoader],toolbarContainers:{top:null,right:null,bottom:null,left:null},options:{label:"&nbsp;",imageBaseUrl:Jx.baseURL+"images/",position:"absolute",height:null,collapse:true,detach:false,close:false,closed:false,hideTitle:false,type:"Panel"},initialize:function(O){this.toolbars=O.toolbars||[];this.setOptions(O);if($defined(this.options.height)&&!$defined(O.position)){this.options.position="relative"}this.initUniqueId();this.title=new Element("div",{"class":"jx"+this.options.type+"Title"});this.labelObj=new Element("span",{"class":"jx"+this.options.type+"Label",html:this.options.label});this.title.adopt(this.labelObj);var L=new Element("div",{"class":"jx"+this.options.type+"Controls"});var F=new Element("div");L.adopt(F);this.toolbar=new Jx.Toolbar({parent:F});this.title.adopt(L);var G=this;if(this.options.menu){this.menu=new Jx.Menu({image:Jx.baseURL+"images/panel_controls.png"});this.menu.domObj.addClass("jx"+this.options.type+"Menu");this.menu.domObj.addClass("jxButtonContentLeft");this.toolbar.add(this.menu)}if(this.options.collapse){var I=new Jx.Button({image:Jx.baseURL+"images/panel_controls.png",tooltip:"Collapse/Expand Panel",onClick:function(){G.toggleCollapse()}});I.domObj.addClass("jx"+this.options.type+"Collapse");this.toolbar.add(I);if(this.menu){var N=new Jx.Menu.Item({label:"Collapse",onClick:function(){G.toggleCollapse()}});var E=N.button;this.addEvent("collapse",function(){if(G.options.closed){E.setLabel("Expand")}else{E.setLabel("Collapse")}});this.menu.add(N)}}if(this.options.maximize){var I=new Jx.Button({image:Jx.baseURL+"images/panel_controls.png",tooltip:"Maximize Panel",onClick:function(){G.maximize()}});I.domObj.addClass("jx"+this.options.type+"Maximize");this.toolbar.add(I);if(this.menu){var N=new Jx.Menu.Item({label:"Maximize",onClick:function(){G.maximize()}});this.menu.add(N)}}if(this.options.close){var I=new Jx.Button({image:Jx.baseURL+"images/panel_controls.png",tooltip:"Close Panel",onClick:function(){G.close()}});I.domObj.addClass("jx"+this.options.type+"Close");this.toolbar.add(I);if(this.menu){var N=new Jx.Menu.Item({label:"Close",onClick:function(){G.close()}});this.menu.add(N)}}this.title.addEvent("dblclick",function(){G.toggleCollapse()});this.domObj=new Element("div",{"class":"jx"+this.options.type});if(this.options.id){this.domObj.id=this.options.id}if($(this.options.parent)){$(this.options.parent).adopt(this.domObj)}var H=new Jx.Layout(this.domObj,$merge(this.options,{propagate:false}));var M=this.layoutContent.bind(this);H.addEvent("sizeChange",M);if(!this.options.hideTitle){this.domObj.adopt(this.title)}this.contentContainer=new Element("div",{"class":"jx"+this.options.type+"ContentContainer"});this.domObj.adopt(this.contentContainer);for(var B=0;B<this.toolbars.length;B++){var A=this.toolbars[B];A.addEvent("add",M);A.addEvent("remove",M);var D=A.options.position;var K=this.toolbarContainers[D];if(!K){var K=new Element("div",{"class":"jxToolbarContainer jxBar"+D.capitalize()});new Jx.Layout(K);var C=new Element("div",{"class":"jxClearer"});K.appendChild(C);this.contentContainer.adopt(K);this.toolbarContainers[D]=K}var J=A.domObj;K.insertBefore(J,K.lastChild)}this.content=new Element("div",{"class":"jx"+this.options.type+"Content"});new Jx.Layout(this.contentContainer);new Jx.Layout(this.content);this.contentContainer.adopt(this.content);this.loadContent(this.content,O);this.toggleCollapse(this.options.closed)},layoutContent:function(){var G=0;var H=0;var A=0;var C=0;var J=0;var I;var D;var F;if(!this.options.hideTitle&&this.title.parentNode==this.domObj){G=this.title.getMarginBoxSize().height}var B=this.domObj.getContentBoxSize();if(B.height>G){this.contentContainer.setStyle("display","block");this.options.closed=false;this.contentContainer.resize({top:G,height:null,bottom:0});["left","right"].each(function(L){if(this.toolbarContainers[L]){this.toolbarContainers[L].style.width=""}},this);["top","bottom"].each(function(L){if(this.toolbarContainers[L]){this.toolbarContainers[L].style.height=""}},this);for(var E=0;E<this.toolbars.length;E++){D=this.toolbars[E];F=D.options.position;I=this.toolbarContainers[F];var K=I.getBorderBoxSize();switch(F){case"top":H=K.height;break;case"bottom":A=K.height;break;case"left":C=K.width;break;case"right":J=K.width;break}}I=this.toolbarContainers.top;if(I){I.resize({top:0,left:C,right:J,bottom:null,height:H,width:null})}I=this.toolbarContainers.bottom;if(I){I.resize({top:null,left:C,right:J,bottom:0,height:A,width:null})}I=this.toolbarContainers.left;if(I){I.resize({top:H,left:0,right:null,bottom:A,height:null,width:C})}I=this.toolbarContainers.right;if(I){I.resize({top:H,left:null,right:0,bottom:A,height:null,width:J})}this.content.resize({top:H,bottom:A,left:C,right:J})}else{this.contentContainer.setStyle("display","none");this.options.closed=true}},setLabel:function(A){this.labelObj.innerHTML=A},getLabel:function(){return this.labelObj.innerHTML},finalize:function(){this.domObj=null;this.deregisterIds()},maximize:function(){if(this.manager){this.manager.maximizePanel(this)}},setContent:function(A){this.content.innerHTML=A;this.bContentReady=true},setContentURL:function(B){this.bContentReady=false;this.setBusy(true);if(arguments[1]){this.onContentReady=arguments[1]}if(B.indexOf("?")==-1){B=B+"?"}var C={method:"get",onComplete:this.panelContentLoaded.bind(this),requestHeaders:["If-Modified-Since","Sat, 1 Jan 2000 00:00:00 GMT"]};var A=new Request(B,C).send()},panelContentLoaded:function(A){this.content.innerHTML=A.responseText;this.bContentReady=true;this.setBusy(false);if(this.onContentReady){window.setTimeout(this.onContentReady.bind(this),1)}},setBusy:function(A){this.busyCount+=A?1:-1;this.loadingObj.img.style.visibility=(this.busyCount>0)?"visible":"hidden"},addTo:function(B,A){B=$(B);A=A?$(A):null;if(A&&A.parentNode==B){B.insertBefore(this.domObj,A)}else{B.appendChild(this.domObj)}this.domObj.resize()},toggleCollapse:function(C){if($defined(C)){this.options.closed=C}else{this.options.closed=!this.options.closed}if(this.options.closed){if(!this.domObj.hasClass("jx"+this.options.type+"Min")){this.domObj.addClass("jx"+this.options.type+"Min");this.contentContainer.setStyle("display","none");var B=this.domObj.getMarginSize();var A=B.top+B.bottom;if(this.title.parentNode==this.domObj){A+=this.title.getMarginBoxSize().height}this.domObj.resize({height:A});this.fireEvent("collapse",this)}}else{if(this.domObj.hasClass("jx"+this.options.type+"Min")){this.domObj.removeClass("jx"+this.options.type+"Min");this.contentContainer.setStyle("display","block");this.domObj.resize({height:this.options.height});this.fireEvent("expand",this)}}},close:function(){this.domObj.dispose();this.fireEvent("close",this)}});Jx.Dialog=new Class({Extends:Jx.Panel,Implements:[Jx.AutoPosition,Jx.Chrome],blanket:null,options:{modal:true,position:"absolute",width:250,height:250,left:0,top:0,bottom:null,right:null,label:"New Dialog",id:"",parent:null,resize:false,move:true,close:true,collapse:true},initialize:function(A){if(!Jx.Dialog.Stack){Jx.Dialog.Stack=[];Jx.Dialog.ZIndex=[100]}this.isOpening=false;this.parent($merge({parent:document.body},A,{type:"Dialog",position:"absolute"}));this.options.parent=$(this.options.parent);if(!window.opera&&this.options.modal){this.blanket=new Element("div",{"class":"jxDialogModal",styles:{display:"none",zIndex:-1}});this.options.parent.adopt(this.blanket);(new Jx.Layout(this.blanket)).resize()}this.domObj.setStyle("display","none");this.options.parent.adopt(this.domObj);if(this.options.move){this.title.addClass("jxDialogMoveable");new Drag(this.domObj,{handle:this.title,onStart:(function(){this.contentContainer.setStyle("visibility","hidden")}).bind(this),onComplete:(function(){this.contentContainer.setStyle("visibility","");this.position(this.domObj,this.options.parent,{horizontal:[parseInt(this.domObj.style.left)+" left"],vertical:[parseInt(this.domObj.style.top)+" top"]});this.options.left=parseInt(this.domObj.style.left);this.options.top=parseInt(this.domObj.style.top);if(!this.options.closed){this.domObj.resize(this.options)}}).bind(this)})}if(this.options.resize){this.resizeHandle=new Element("div",{"class":"jxDialogResize",styles:{display:this.options.closed?"none":"block"}});this.domObj.appendChild(this.resizeHandle);this.resizeHandleSize=this.resizeHandle.getSize();this.resizeHandle.setStyles({bottom:this.resizeHandleSize.height,right:this.resizeHandleSize.width});this.domObj.makeResizable({handle:this.resizeHandle,onStart:(function(){this.contentContainer.setStyle("visibility","hidden")}).bind(this),onDrag:this.resizeChrome.bind(this),onComplete:(function(){var B=this.domObj.getMarginBoxSize();this.options.width=B.width;this.options.height=B.height;this.layoutContent();this.domObj.resize(this.options);this.contentContainer.setStyle("visibility","");this.fireEvent("resize")}).bind(this)})}this.domObj.addEvent("mousedown",(function(){Jx.Dialog.Stack.erase(this).push(this);Jx.Dialog.Stack.each(function(C,B){C.domObj.setStyle("zIndex",101+B)})}).bind(this))},sizeChanged:function(){if(!this.options.closed){this.layoutContent();this.resizeChrome()}},toggleCollapse:function(C){if($defined(C)){this.options.closed=C}else{this.options.closed=!this.options.closed}if(this.options.closed){if(!this.domObj.hasClass("jx"+this.options.type+"Min")){this.domObj.addClass("jx"+this.options.type+"Min")}this.contentContainer.setStyle("display","none");if(this.resizeHandle){this.resizeHandle.setStyle("display","none")}}else{if(this.domObj.hasClass("jx"+this.options.type+"Min")){this.domObj.removeClass("jx"+this.options.type+"Min")}this.contentContainer.setStyle("display","block");if(this.resizeHandle){this.resizeHandle.setStyle("display","block")}}if(this.options.closed){var B=this.domObj.getMarginSize();var A=this.title.getMarginBoxSize();this.domObj.resize({height:B.top+A.height+B.bottom});this.fireEvent("collapse")}else{this.domObj.resize(this.options);this.fireEvent("expand")}},setTitle:function(A){this.title.childNodes[0].innerHTML=A},show:function(){Jx.Dialog.Stack.push(this);if(this.options.modal){this.blanket.setStyles({zIndex:Jx.Dialog.ZIndex[0]++,visibility:"visible",display:"block"})}this.domObj.setStyles({zIndex:Jx.Dialog.ZIndex[0]++,display:"block"});if(this.options.closed){var B=this.domObj.getMarginSize();var A=this.title.getMarginBoxSize();this.domObj.resize({height:B.top+A.height+B.bottom})}else{this.domObj.resize(this.options)}this.showChrome(this.domObj);this.position(this.domObj,this.options.parent,{horizontal:[this.options.left+" left"],vertical:[this.options.top+" top"]});this.options.left=parseInt(this.domObj.style.left);this.options.top=parseInt(this.domObj.style.top)},hide:function(){Jx.Dialog.Stack.erase(this);Jx.Dialog.ZIndex[0]--;this.domObj.setStyle("display","none");if(this.options.modal){this.blanket.setStyle("visibility","hidden");Jx.Dialog.ZIndex[0]--}},open:function(){if(!this.isOpening){this.isOpening=true}if(this.contentIsLoaded){this.show();this.fireEvent("open",this);this.isOpening=false}},close:function(){this.isOpening=false;this.hide();this.fireEvent("close")},onContentLoaded:function(){if(this.isOpening){this.open()}}});Jx.PanelSet=new Class({panels:null,height:null,firstLayout:true,initialize:function(C,B){this.domObj=$(C);this.panels=B;var H=new Element("div",{styles:{position:"absolute"}});new Jx.Layout(H,{minHeight:0,maxHeight:0,height:0});var G=[H];B.each(function(I){G.push(I.domObj);I.options.hideTitle=true;I.contentContainer.resize({top:0});I.addEvent("expand",this.maximizePanel.bind(this,I));I.domObj.store("Jx.Panel",I)},this);this.splitter=new Jx.Splitter(this.domObj,{splitInto:B.length+1,layout:"vertical",elements:G});this.splitter.sizeChanged=this.sizeChanged.bind(this);for(var E=0;E<this.panels.length;E++){var A=this.panels[E];var F=this.splitter.bars[E];A.title.setStyle("visibility","hidden");document.body.adopt(A.title);var D=A.title.getBorderBoxSize();F.adopt(A.title);A.title.setStyle("visibility","");F.setStyle("height",D.height);F.removeClass("jxSplitterBar");F.addClass("jxPanelBar");A.manager=this}},sizeChanged:function(){if(this.firstLayout){if(this.panels[0].title.getBorderBoxSize().height!=0){for(var B=0;B<this.splitter.bars.length;B++){var A=this.panels[B];this.splitter.bars[B].style.height=A.title.getBorderBoxSize().height+"px";this.splitter.bars[B].store("size",null)}this.firstLayout=false;Jx.Splitter.prototype.sizeChanged.apply(this.splitter,[])}}else{Jx.Splitter.prototype.sizeChanged.apply(this.splitter,[])}},maximizePanel:function(A){var E=this.domObj.getContentBoxSize().height;var D=0;for(var C=1;C<this.splitter.elements.length;C++){var F=this.splitter.elements[C];D+=F.retrieve("leftBar").getBorderBoxSize().height;if(F!==A.domObj){var B=F.retrieve("Jx.Panel");var G=F.retrieve("jxLayout").options;F.resize({top:D,height:G.minHeight,bottom:null});D+=G.minHeight;F.retrieve("rightBar").style.top=D+"px"}else{break}}b=E;for(var C=this.splitter.elements.length-1;C>0;C--){F=this.splitter.elements[C];if(F!==A.domObj){var G=F.retrieve("jxLayout").options;b-=G.minHeight;F.resize({top:b,height:G.minHeight,bottom:null});b-=F.retrieve("leftBar").getBorderBoxSize().height;F.retrieve("leftBar").style.top=b+"px"}else{break}}A.domObj.resize({top:D,height:b-D,bottom:null})}});Jx.Combo=new Class({Implements:[Options,Events,Jx.AutoPosition],domObj:null,ul:null,currentSelection:null,initialize:function(A){this.setOptions(A);this.domObj=new Element("div",{"class":"jxCombo"});if(this.options.id){this.domObj.id=this.options.id}if(this.options.editable){this.domInput=new Element("input",{"class":"jxComboInput",type:"text",events:{change:this.valueChanged.bindWithEvent(this),keydown:this.onKeyPress.bindWithEvent(this)}})}else{this.domInput=new Element("span",{"class":"jxComboInput"})}this.domObj.appendChild(this.domInput);this.domA=new Element("a",{"class":"jxComboDiscloser",href:"javascript:void(0)",events:{click:this.toggle.bind(this)}});this.domButton=new Element("img",{"class":"png24",src:Jx.baseURL+"images/disclose2.png"});this.domA.appendChild(this.domButton);this.domObj.appendChild(this.domA);if(!window.opera){this.domObj.appendChild(Jx.createIframeShim())}this.domListDiv=new Element("div",{"class":"jxComboOptions"});this.domList=new Element("ul");this.domListDiv.appendChild(this.domList);this.keypressHandler=this.keypress.bindWithEvent(this);this.clickHandler=this.click.bindWithEvent(this)},onKeyPress:function(A){if(A.key=="enter"){this.valueChanged()}},valueChanged:function(){this.fireEvent("changed",this)},add:function(D,B){var A=new Element("li");var C=new Element("a",{href:"javascript:void(0)",events:{click:this.pick.bindWithEvent(this)}});if($type(D)=="string"){C.innerHTML=D}else{C.appendChild(D)}A.appendChild(C);if(arguments.length>1&&this.domList.childNodes.length>B){this.domList.insertBefore(A,this.domList.childNodes[B])}else{this.domList.appendChild(A)}if(this.getValue()==""){this.setValue(C.childNodes[0])}},remove:function(A){if(A>0&&A<this.domList.childNodes.length){this.domList.removeChild(this.domList.childNodes[A])}},pick:function(B){var A=B.target;if(A.tagName=="A"){this.currentSelection=A;this.setValue(this.currentSelection.childNodes[0]);this.valueChanged()}this.close()},setValue:function(A){if(this.options.editable){if(typeof (A)=="string"){this.domInput.value=A}else{if(A.nodeType&&A.nodeType==3){this.domInput.value=A.nodeValue}else{this.domInput.value=A.innerHTML}}}else{if(typeof (A)=="string"){this.domInput.innerHTML=A}else{if(A.nodeType&&A.nodeType==3){this.domInput.innerHTML=A.nodeValue}else{this.domInput.appendChild(A)}}}},getValue:function(){value="";if(this.options.editable){value=this.domInput.value}else{if(this.domInput.childNodes.length>0){if(this.domInput.childNodes[0].nodeType==3){value=this.domInput.innerHTML}else{value=this.domInput.childNodes[0]}}}return value},toggle:function(){if(this.domListDiv.style.display=="block"){this.close()}else{this.open()}},open:function(){this.position(this.domListDiv,this.domObj,{horizontal:["left left","right right"],vertical:["bottom top","top bottom"]});this.domListDiv.width="";this.domListDiv.setStyle("visibility","hidden");document.body.adopt(this.domListDiv);this.domListDiv.setBorderBoxSize({width:Math.max(this.domListDiv.getSize().x,this.domObj.getSize().x)});this.domListDiv.setStyle("visibility","");document.addEvents({keydown:this.keypressHandler,click:this.clickHandler})},keypress:function(A){if(A.key=="esc"){this.close()}},click:function(A){if(!A.target.descendantOf(this.domListDiv)&&!A.target.descendantOf(this.domObj)){this.close()}},close:function(){this.domListDiv.dispose();document.removeEvents({keydown:this.keypressHandler,click:this.clickHandler})},getSelection:function(){return this.currentSelection?this.currentSelection.name:""}});Jx.Splitter=new Class({Implements:[Options],domObj:null,elements:null,bars:null,firstUpdate:true,options:{useChildren:false,splitInto:2,elements:null,containerOptions:[],barOptions:[],layout:"horizontal",snaps:[]},initialize:function(A,I){this.setOptions(I);this.domObj=$(A);this.domObj.addClass("jxSplitContainer");this.domObj.setStyle("overflow","hidden");var H=this.domObj.retrieve("jxLayout");if(H){H.addEvent("sizeChange",this.sizeChanged.bind(this))}this.elements=[];this.bars=[];var G=2;if(this.options.useChildren){this.elements=this.domObj.getChildren();G=this.elements.length}else{G=this.options.elements?this.options.elements.length:this.options.splitInto;for(var E=0;E<G;E++){var C;if(this.options.elements&&this.options.elements[E]){C=$(this.options.elements[E]);if(!C){C=this.prepareElement();C.id=this.options.elements[E]}}else{C=this.prepareElement()}this.elements[E]=C;this.domObj.adopt(this.elements[E])}}this.elements.each(function(J){J.addClass("jxSplitArea")});for(var E=0;E<G;E++){if(!this.elements[E].retrieve("jxLayout")){new Jx.Layout(this.elements[E],this.options.containerOptions[E])}}for(var E=1;E<G;E++){this.bars[E-1]=this.prepareBar();this.bars[E-1].store("leftSide",this.elements[E-1]);this.bars[E-1].store("rightSide",this.elements[E]);this.elements[E-1].store("rightBar",this.bars[E-1]);this.elements[E].store("leftBar",this.bars[E-1]);this.domObj.adopt(this.bars[E-1])}this.establishConstraints();for(var E=0;E<this.options.barOptions.length;E++){if(!this.bars[E]){continue}var B=this.options.barOptions[E];if(B&&B.snap&&(B.snap=="before"||B.snap=="after")){var F;if(B.snap=="before"){F=this.bars[E].retrieve("leftSide")}else{if(B.snap=="after"){F=this.bars[E].retrieve("rightSide")}}var D=new Element("a",{"class":"jxSnap"+this.options.layout.capitalize()+B.snap.capitalize(),href:"javascript:void(0)"});this.bars[E].adopt(D);new Jx.Splitter.Snap(D,F,this)}}for(var E=0;E<this.options.snaps.length;E++){if(this.options.snaps[E]){new Jx.Splitter.Snap(this.options.snaps[E],this.elements[E],this)}}},prepareElement:function(){var A=new Element("div",{styles:{position:"absolute"}});return A},prepareBar:function(){var A=new Element("div",{"class":"jxSplitBar"+this.options.layout.capitalize(),title:"drag this bar to resize"});A.store("splitterObj",this);return A},establishConstraints:function(){var A={};var B;if(this.options.layout=="horizontal"){A.y=[0,0];B=this.dragHorizontal}else{A.x=[0,0];B=this.dragVertical}this.bars.each(function(C){new Drag(C,{limit:A,onSnap:function(D){D.addClass("jxSplitBarDrag")},onComplete:(function(D){D.removeClass("jxSplitBarDrag");if(D.retrieve("splitterObj")!=this){return }B.apply(this,[D])}).bind(this)})},this)},dragHorizontal:function(F){var A=parseInt(F.style.left);var H=F.retrieve("leftSide");var C=F.retrieve("rightSide");var D=H.retrieve("jxLayout");var G=C.retrieve("jxLayout");var E=this.domObj.getPaddingSize().left;var I,O,K;var N=F.retrieve("size");if(!N){N=F.getBorderBoxSize();F.store("size",N)}I=A+N.width-E;var B=this.domObj.getContentBoxSize();if(G.options.width!=null){O=G.options.width+G.options.left-I;K=B.width-I-O}else{O=B.width-G.options.right-I;K=G.options.right}if(O<0){O=0}if(O<G.options.minWidth){O=G.options.minWidth}if(G.options.maxWidth>=0&&O>G.options.maxWidth){O=G.options.maxWidth}I=B.width-K-O;A=I-N.width;var J,M;J=D.options.left;M=A-J;if(M<0){M=0}if(M<D.options.minWidth){M=D.options.minWidth}if(D.options.maxWidth>=0&&M>D.options.maxWidth){M=D.options.maxWidth}if(J+M!=A){A=J+M;var L=A+N.width-I;I+=L;O-=L}F.style.left=E+A+"px";if(D.options.width==null){var B=this.domObj.getContentBoxSize();H.resize({right:B.width-J-M})}else{H.resize({width:M})}if(G.options.width==null){C.resize({left:I})}else{C.resize({left:I,width:O})}},dragVertical:function(F){var J=parseInt(F.style.top);var D=F.retrieve("leftSide");var A=F.retrieve("rightSide");var E=D.retrieve("jxLayout");var H=A.retrieve("jxLayout");var N=this.domObj.getPaddingSize().top;var O=F.retrieve("size");if(!O){O=F.getBorderBoxSize();F.store("size",O)}var B=this.domObj.getContentBoxSize();var C,M,K;C=J+O.height-N;if(H.options.height!=null){M=H.options.height+H.options.top-C;K=B.height-C-M}else{M=B.height-H.options.bottom-C;K=H.options.bottom}if(M<0){M=0}if(M<H.options.minHeight){M=H.options.minHeight}if(H.options.maxHeight>=0&&M>H.options.maxHeight){M=H.options.maxHeight}C=B.height-K-M;J=C-O.height;var I,G;I=E.options.top;G=J-I;if(G<0){G=0}if(G<E.options.minHeight){G=E.options.minHeight}if(E.options.maxHeight>=0&&G>E.options.maxHeight){G=E.options.maxHeight}if(I+G!=J){J=I+G;var L=J+O.height-C;C+=L;M-=L}F.style.top=N+J+"px";if(E.options.height==null){D.resize({bottom:B.height-I-G})}else{D.resize({height:G})}if(H.options.height==null){A.resize({top:C})}else{A.resize({top:C,height:M})}},sizeChanged:function(){if(this.options.layout=="horizontal"){this.horizontalResize()}else{this.verticalResize()}},horizontalResize:function(){var O=this.domObj.getContentBoxSize().width;var D=O;for(var E=0;E<this.bars.length;E++){var L=this.bars[E];var Q=L.retrieve("size");if(!Q||Q.width==0){Q=L.getBorderBoxSize();L.store("size",Q)}O-=Q.width}var I=0;var H;for(var E=0;E<this.elements.length;E++){var K=this.elements[E];H=K.retrieve("jxLayout").options;if(H.width!=null){O-=parseInt(H.width)}else{var N=0;if(H.right!=0||H.left!=0){N=K.getBorderBoxSize().width}O-=N;I++}}if(I==0){O+=H.width;H.width=null;I=1}var G=parseInt(O/I);var P=O%I;var B=this.domObj.getPaddingSize().left;var C=0;for(var E=0;E<this.elements.length;E++){var K=this.elements[E];var J=K.retrieve("jxLayout");var H=J.options;if(H.width!=null){J.resize({left:C});C+=H.width}else{var M=G;if(I==1){M+=P}I--;var N=0;if(H.right!=0||H.left!=0){N=K.getBorderBoxSize().width+M}else{N=M}if(N<0){if(I>0){G=G+N/I}N=0}if(N<H.minWidth){if(I>0){G=G+(N-H.minWidth)/I}N=H.minWidth}if(H.maxWidth>=0&&N>H.maxWidth){if(I>0){G=G+(N-H.maxWidth)/I}N=K.options.maxWidth}var A=D-C-N;J.resize({left:C,right:A});C+=N}var F=K.retrieve("rightBar");if(F){F.setStyle("left",B+C);C+=F.retrieve("size").width}}},verticalResize:function(){var N=this.domObj.getContentBoxSize().height;var B=N;for(var D=0;D<this.bars.length;D++){var L=this.bars[D];var Q=L.retrieve("size");if(!Q||Q.height==0){Q=L.getBorderBoxSize();L.store("size",Q)}N-=Q.height}var I=0;var H;for(var D=0;D<this.elements.length;D++){var K=this.elements[D];H=K.retrieve("jxLayout").options;if(H.height!=null){N-=parseInt(H.height)}else{var G=0;if(H.bottom!=0||H.top!=0){G=K.getBorderBoxSize().height}N-=G;I++}}if(I==0){N+=H.height;H.height=null;I=1}var F=parseInt(N/I);var O=N%I;var P=this.domObj.getPaddingSize().top;var C=0;for(var D=0;D<this.elements.length;D++){var K=this.elements[D];var J=K.retrieve("jxLayout");var H=J.options;if(H.height!=null){J.resize({top:C});C+=H.height}else{var M=F;if(I==1){M+=O}I--;var G=0;if(H.bottom!=0||H.top!=0){G=K.getBorderBoxSize().height+M}else{G=M}if(G<0){if(I>0){F=F+G/I}G=0}if(G<H.minHeight){if(I>0){F=F+(G-H.minHeight)/I}G=H.minHeight}if(H.maxHeight>=0&&G>H.maxHeight){if(I>0){F=F+(G-H.maxHeight)/I}G=H.maxHeight}var A=B-C-G;J.resize({top:C,bottom:A});C+=G}var E=K.retrieve("rightBar");if(E){E.style.top=P+C+"px";C+=E.retrieve("size").height}}}});Jx.Splitter.Snap=new Class({snap:null,element:null,splitter:null,layout:"vertical",initialize:function(A,E,F){this.snap=A;this.element=E;var D=E.retrieve("jxLayout");D.addEvent("sizeChange",this.sizeChange.bind(this));this.splitter=F;this.layout=F.options.layout;var B=D.options;var C=this.element.getContentBoxSize();if(this.layout=="vertical"){this.originalSize=C.height;this.minimumSize=B.minHeight?B.minHeight:0}else{this.originalSize=C.width;this.minimumSize=B.minWidth?B.minWidth:0}A.addEvent("click",this.toggleElement.bind(this))},toggleElement:function(){var B=this.element.getContentBoxSize();var A={};if(this.layout=="vertical"){if(B.height==this.minimumSize){A.height=this.originalSize}else{this.originalSize=B.height;A.height=this.minimumSize}}else{if(B.width==this.minimumSize){A.width=this.originalSize}else{this.originalSize=B.width;A.width=this.minimumSize}}this.element.resize(A);this.splitter.sizeChanged()},sizeChange:function(){var A=this.element.getBorderBoxSize();if(this.layout=="vertical"){if(A.height==this.minimumSize){this.snap.addClass("jxSnapClosed");this.snap.removeClass("jxSnapOpened")}else{this.snap.addClass("jxSnapOpened");this.snap.removeClass("jxSnapClosed")}}else{if(A.width==this.minimumSize){this.snap.addClass("jxSnapClosed");this.snap.removeClass("jxSnapOpened")}else{this.snap.addClass("jxSnapOpened");this.snap.removeClass("jxSnapClosed")}}}});Jx.TabSet=new Class({Implements:[Options,Events],tabs:null,domObj:null,initialize:function(B,A){this.setOptions(A);this.tabs=[];this.domObj=$(B);if(!this.domObj.hasClass("jxTabSetContainer")){this.domObj.addClass("jxTabSetContainer")}this.selectionChangedFn=this.selectionChanged.bind(this)},resizeTabBox:function(){var B=Element.getContentBoxSize(this.domObj.parentNode);Element.setBorderBoxSize(this.domObj,{width:B.width,height:B.height});for(var A=0;A<this.domObj.childNodes.length;A++){if(this.domObj.childNodes[A].nodeType==3){continue}Element.setBorderBoxSize(this.domObj.childNodes[A],{height:B.height});if(this.domObj.childNodes[A].resize){this.domObj.childNodes[A].resize()}}},add:function(){$A(arguments).each(function(A){if(A instanceof Jx.Button.Tab){A.addEvent("down",this.selectionChangedFn);this.domObj.appendChild(A.content);if(!this.activeTab){A.setActive(true)}this.tabs.push(A)}},this)},remove:function(A){if(A instanceof Jx.Button.Tab&&this.tabs.indexOf(A)!=-1){this.tabs.erase(A);if(this.activeTab==A){if(this.tabs.length){this.tabs[0].setActive(true)}}A.removeEvent("down",this.selectionChangedFn);A.content.dispose()}},setActiveTab:function(A){if(this.activeTab&&this.activeTab!=A){this.activeTab.setActive(false)}this.activeTab=A;if(this.activeTab.content.resize){this.activeTab.content.resize()}},selectionChanged:function(A){this.setActiveTab(A);this.fireEvent("tabChange",this,A)}});Jx.TabSet=new Class({Implements:[Options,Events],tabs:null,domObj:null,initialize:function(B,A){this.setOptions(A);this.tabs=[];this.domObj=$(B);if(!this.domObj.hasClass("jxTabSetContainer")){this.domObj.addClass("jxTabSetContainer")}this.selectionChangedFn=this.selectionChanged.bind(this)},resizeTabBox:function(){var B=Element.getContentBoxSize(this.domObj.parentNode);Element.setBorderBoxSize(this.domObj,{width:B.width,height:B.height});for(var A=0;A<this.domObj.childNodes.length;A++){if(this.domObj.childNodes[A].nodeType==3){continue}Element.setBorderBoxSize(this.domObj.childNodes[A],{height:B.height});if(this.domObj.childNodes[A].resize){this.domObj.childNodes[A].resize()}}},add:function(){$A(arguments).each(function(A){if(A instanceof Jx.Button.Tab){A.addEvent("down",this.selectionChangedFn);this.domObj.appendChild(A.content);if(!this.activeTab){A.setActive(true)}this.tabs.push(A)}},this)},remove:function(A){if(A instanceof Jx.Button.Tab&&this.tabs.indexOf(A)!=-1){this.tabs.erase(A);if(this.activeTab==A){if(this.tabs.length){this.tabs[0].setActive(true)}}A.removeEvent("down",this.selectionChangedFn);A.content.dispose()}},setActiveTab:function(A){if(this.activeTab&&this.activeTab!=A){this.activeTab.setActive(false)}this.activeTab=A;if(this.activeTab.content.resize){this.activeTab.content.resize()}},selectionChanged:function(A){this.setActiveTab(A);this.fireEvent("tabChange",this,A)}});Jx.Button.Tab=new Class({Extends:Jx.Button,Implements:[Options,Events,Jx.ContentLoader],content:null,initialize:function(A){A=$merge(A,{type:"Tab",toggle:true});this.parent(A);this.content=new Element("div",{"class":"tabContent"});this.loadContent(this.content);new Jx.Layout(this.content,A);var B=this;this.addEvent("down",function(){B.content.addClass("tabContentActive")});this.addEvent("up",function(){B.content.removeClass("tabContentActive")})},clicked:function(A){this.setActive(true)}});Jx.Toolbar=new Class({Implements:[Options,Events],items:null,domObj:null,isActive:false,options:{position:"top",parent:null},initialize:function(B){this.setOptions(B);this.domObj=new Element("ul",{id:this.options.id,"class":"jxToolbar"});if(this.options.parent){var A=$(this.options.parent);if(!A.hasClass("jxToolbarContainer")){A.addClass("jxToolbarContainer");A.appendChild(this.domObj);var C=new Element("div",{"class":"jxClearer"});A.appendChild(C)}else{A.insertBefore(this.domObj,A.lastChild)}if(["top","right","bottom","left"].contains(this.options.position)){A.addClass("jxBar"+this.options.position.capitalize())}else{A.addClass("jxBarTop")}}this.deactivateWatcher=this.deactivate.bindWithEvent(this)},add:function(){for(var B=0;B<arguments.length;B++){var A=arguments[B];A.toolbar=this;if(A.domObj){A=A.domObj}if(A.tagName=="LI"){if(!A.hasClass("jxToolItem")){A.addClass("jxToolItem")}this.domObj.appendChild(A)}else{var C=new Jx.Toolbar.Item(A);this.domObj.appendChild(C.domObj)}}if(arguments.length>0){this.fireEvent("add",this)}},remove:function(B){if(B.domObj){B=B.domObj}var A=B.findElement("LI");if(A&&A.parentNode==this.domObj){B.dispose();this.fireEvent("remove",this)}else{return null}},deactivate:function(){this.items.each(function(A){A.hide()});this.setActive(false)},isActive:function(){return this.isActive},setActive:function(A){this.isActive=A;if(this.isActive){document.addEvent("click",this.deactivateWatcher)}else{document.removeEvent("click",this.deactivateWatcher)}},setVisibleItem:function(A){if(this.visibleItem&&this.visibleItem.hide&&this.visibleItem!=A){this.visibleItem.hide()}this.visibleItem=A;if(this.isActive()){this.visibleItem.show()}}});Jx.Toolbar.Item=new Class({domObj:null,initialize:function(A){this.al=[];this.domObj=new Element("li",{"class":"jxToolItem"});if(A){if(A.domObj){this.domObj.appendChild(A.domObj);if(A instanceof Jx.Tab){this.domObj.addClass("jxTabItem")}}else{this.domObj.appendChild(A);if(A.hasClass("jxTab")){this.domObj.addClass("jxTabItem")}}}}});Jx.Toolbar.Separator=new Class({domObj:null,initialize:function(){this.domObj=new Element("li",{"class":"jxToolItem"});this.domSpan=new Element("span",{"class":"separator"});this.domObj.appendChild(this.domSpan)}});Jx.TreeItem=new Class({Implements:[Options,Events],domObj:null,owner:null,options:{label:"",data:null,contextMenu:null,image:null,enabled:true,type:"Item",imageClass:""},initialize:function(A){this.setOptions(A);this.domObj=new Element("li",{"class":"jxTree"+this.options.type});if(this.options.id){this.domObj.id=this.options.id}this.domNode=new Element("img",{"class":"jxTreeImage",src:Jx.aPixel.src});this.domObj.appendChild(this.domNode);this.domImg=new Element("img",{"class":"jxTreeIcon",src:Jx.aPixel.src});if(this.options.image){this.domImg.setStyle("backgroundImage","url("+this.options.image+")")}if(this.options.imageClass){this.domImg.addClass(this.options.imageClass)}this.domA=new Element("a",{href:"javascript:void(0)",html:this.options.label,events:{click:this.selected.bindWithEvent(this),dblclick:this.selected.bindWithEvent(this),contextmenu:this.showMenu.bindWithEvent(this)}});this.domA.store("jxTreeItem",this);this.domA.appendChild(this.domImg);this.domObj.appendChild(this.domA);this.domObj.store("jxTreeItem",this);if(!this.options.enabled){this.domObj.addClass("jxDisabled")}},finalize:function(){this.finalizeItem()},finalizeItem:function(){if(!this.domObj){return }this.domA.removeEvents();this.options=null;this.domObj=null;this.owner=null},clone:function(){return new Jx.TreeItem(this.options)},update:function(B){var A=(arguments.length>1)?arguments[1]:(this.owner&&this.owner.isLastNode(this));if(A){this.domObj.removeClass("jxTree"+this.options.type);this.domObj.addClass("jxTree"+this.options.type+"Last")}else{this.domObj.removeClass("jxTree"+this.options.type+"Last");this.domObj.addClass("jxTree"+this.options.type)}},selected:function(A){this.lastEvent=A;this.fireEvent("click",this)},showMenu:function(A){this.lastEvent=A;this.fireEvent("click",this);if(this.contextMenu){this.contextMenu.show(this.lastEvent)}A.stop()},getName:function(){return this.options.label},setName:function(A){this.domA.set("html",A);this.options.label=A},propertyChanged:function(A){this.options.enabled=A.isEnabled();if(this.options.enabled){this.domObj.removeClass("jxDisabled")}else{this.domObj.addClass("jxDisabled")}}});Jx.TreeFolder=new Class({Extends:Jx.TreeItem,subDomObj:null,nodes:null,isOpen:false,options:{folderCloseImage:Jx.baseURL+"images/tree_folder.png",folderOpenImage:Jx.baseURL+"images/tree_folder_open.png"},initialize:function(A){this.parent($merge(A,{type:"Branch"}));this.domObj.childNodes[0].addEvent("click",this.clicked.bindWithEvent(this));this.nodes=[];this.subDomObj=new Element("ul",{"class":"jxTree"});this.domObj.appendChild(this.subDomObj);this.subDomObj.className="jxTree";if(this.options.isOpen){this.expand()}else{this.collapse()}},finalize:function(){this.finalizeFolder();this.finalizeItem();this.subDomObj=null},finalizeFolder:function(){this.domObj.childNodes[0].removeEvents();for(var A=this.nodes.length-1;A>=0;A--){this.nodes[A].finalize();if(this.nodes[A].domObj){this.subDomObj.removeChild(this.nodes[A].domObj)}this.nodes.pop()}},clone:function(){var A=new Jx.TreeFolder(this.options);this.nodes.each(function(B){A.append(B.clone())});return A},isLastNode:function(A){if(this.nodes.length==0){return false}else{return this.nodes[this.nodes.length-1]==A}},update:function(C){if(!this.parent){return }var B=false;if(arguments.length>1){B=arguments[1]}else{B=(this.owner&&this.owner.isLastNode(this))}var D="jxTree"+this.options.type;D+=B?"Last":"";D+=this.options.isOpen?"Open":"Closed";this.domObj.className=D;if(B){this.subDomObj.className="jxTree"}else{this.subDomObj.className="jxTree jxTreeNest"}if(this.nodes&&C){var A=this;this.nodes.each(function(F,E){F.update(false,E==A.nodes.length-1)})}},append:function(A){A.owner=this;this.nodes.push(A);this.subDomObj.appendChild(A.domObj);this.update(true)},insert:function(D,B){D.owner=this;if(!B){this.nodes.unshift(D);if(this.subDomObj.childNodes.length==0){this.subDomObj.appendChild(D.domObj)}else{this.subDomObj.insertBefore(D.domObj,this.subDomObj.childNodes[0])}}else{var A=false;for(var C=0;C<this.nodes.length;C++){if(this.nodes[C]==B){C=C+1;if(C<this.nodes.length){this.nodes.splice(C,0,D);this.subDomObj.insertBefore(D.domObj,this.subDomObj.childNodes[C]);A=true;break}}}if(!A){this.nodes.push(D);this.subDomObj.appendChild(D.domObj)}}this.update(true)},remove:function(B){B.owner=null;for(var A=0;A<this.nodes.length;A++){if(this.nodes[A]==B){this.nodes.splice(A,1);this.subDomObj.removeChild(this.subDomObj.childNodes[A]);break}}this.update(true)},replace:function(D,B){var A=false;for(var C=0;C<this.nodes.length;C++){if(this.nodes[C]==B){if(C<this.nodes.length){D.owner=this;this.nodes.splice(C,1,D);this.subDomObj.replaceChild(D.domObj,B.domObj);return true}}}return false},clicked:function(A){if(this.options.isOpen){this.collapse()}else{this.expand()}},expand:function(){this.options.isOpen=true;this.subDomObj.setStyle("display","block");this.update(true);this.fireEvent("disclosed",this)},collapse:function(){this.options.isOpen=false;this.subDomObj.setStyle("display","none");this.update(true);this.fireEvent("disclosed",this)},findChild:function(C){if(C.length==0){return this}if(C.length==1){for(var B=0;B<this.nodes.length;B++){if(this.nodes[B].getName()==C[0]){return this.nodes[B]}}return null}var A=C.shift();for(var B=0;B<this.nodes.length;B++){if(this.nodes[B].getName()==A&&this.nodes[B].findChild){return this.nodes[B].findChild(C)}}return null}});Jx.Tree=new Class({Extends:Jx.TreeFolder,initialize:function(A){this.parent();this.subDomObj=new Element("ul",{"class":"jxTreeRoot"});$(A).appendChild(this.subDomObj);this.nodes=[];this.isOpen=true},finalize:function(){this.clear();this.subDomObj.parentNode.removeChild(this.subDomObj)},clear:function(){for(var A=this.nodes.length-1;A>=0;A--){this.subDomObj.removeChild(this.nodes[A].domObj);this.nodes[A].finalize();this.nodes.pop()}},update:function(A){var B=true;if(this.subDomObj){if(B){this.subDomObj.removeClass("jxTreeNest")}else{this.subDomObj.addClass("jxTreeNest")}}if(this.nodes&&A){this.nodes.each(function(C){C.update(false)})}},append:function(A){A.owner=this;this.nodes.push(A);this.subDomObj.appendChild(A.domObj);this.update(true)}});
\ No newline at end of file

Modified: sandbox/jx2/jx/lib/jxlib.uncompressed.js
===================================================================
--- sandbox/jx2/jx/lib/jxlib.uncompressed.js	2008-08-28 14:43:25 UTC (rev 1486)
+++ sandbox/jx2/jx/lib/jxlib.uncompressed.js	2008-08-28 15:02:33 UTC (rev 1487)
@@ -5903,41 +5903,6 @@
      */ 
     contentIsLoaded: false,
     /**
-     * Method: contentLoaded
-     * 
-     * callback function that handles remote content
-     *
-     * Parameters: 
-     *
-     * element - {Object} the element to put the content into
-     *
-     * options - {Object} the options that were passed to loadContent originally, only
-     * used to get the optional onContentLoaded callback function.
-     *
-     * r - {XmlHttpRequest} the XmlHttpRequest object that has the content.
-     */
-    contentLoaded: function() { 
-        this.contentIsLoaded = true;
-        this.fireEvent('contentLoaded', this);
-    },
-    /**
-     * Method: contentLoadFailed
-     * 
-     * callback function that handles failure to load remote content
-     *
-     * Parameters: 
-     *
-     * options - {Object} the options that were passed to loadContent originally, only
-     * used to get the optional onContentLoadedFailed callback function.
-     *
-     * r - {XmlHttpRequest} the XmlHttpRequest object that has the failure code
-     */
-    contentLoadFailed: function(r) {
-        // we aren't waiting for content any more.
-        this.contentIsLoaded = true;
-        this.fireEvent('contentLoadFailed', this);
-    },
-    /**
      * Method: loadContent
      *
      * triggers loading of content based on options set for the current
@@ -5982,12 +5947,19 @@
             }
         } else if (this.options.contentURL) {
             this.contentIsLoaded = false;
-            new Request.HTML({
+            new Request({
                 url: this.options.contentURL, 
                 method:'get',
                 update: element,
-                onSuccess:this.contentLoaded.bind(this), 
-                onFailure: this.contentLoadFailed.bind(this),
+                onSuccess:(function(html) {
+                    element.innerHTML = html;
+                    this.contentIsLoaded = true;
+                    this.fireEvent('contentLoaded', this);
+                }).bind(this), 
+                onFailure: (function(){
+                    this.contentIsLoaded = true;
+                    this.fireEvent('contentLoadFailed', this);
+                }).bind(this),
                 headers: {'If-Modified-Since': 'Sat, 1 Jan 2000 00:00:00 GMT'}
             }).send();
         } else {
@@ -6324,7 +6296,7 @@
             this.chrome.dispose();
         }
     }
-});// $Id: button.js 777 2008-08-25 15:20:23Z pspencer $
+});// $Id: button.js 792 2008-08-28 12:57:49Z pspencer $
 /**
  * Class: Jx.Button
  * Jx.Button creates a clickable element that can be added to a web page.
@@ -6526,6 +6498,9 @@
                 i.setStyle('backgroundImage',"url("+this.options.image+")");
             }
             s.appendChild(i);
+            if (this.options.imageClass) {
+                i.addClass(this.options.imageClass);
+            }
         }
         
         l = new Element('span', {
@@ -12227,7 +12202,7 @@
     clicked : function(evt) {
         this.setActive(true);
     }
-});// $Id: toolbar.js 711 2008-08-13 20:38:33Z pspencer $
+});// $Id: toolbar.js 792 2008-08-28 12:57:49Z pspencer $
 /**
  * Class: Jx.Toolbar
  * A toolbar is a container object that contains other objects such as
@@ -12314,7 +12289,10 @@
     initialize : function(options) {
         this.setOptions(options);
         
-        this.domObj = new Element('ul', {'class':'jxToolbar'});
+        this.domObj = new Element('ul', {
+            id: this.options.id,
+            'class':'jxToolbar'
+        });
         
         if (this.options.parent) {
             var owner = $(this.options.parent);
@@ -12419,7 +12397,6 @@
         this.isActive = b;
         if (this.isActive) {
             document.addEvent('click', this.deactivateWatcher);
-            Event.observe(document, 'click', this.deactivateWatcher);
         } else {
             document.removeEvent('click', this.deactivateWatcher);
         }
@@ -12513,7 +12490,7 @@
         this.domObj.appendChild(this.domSpan);
     }
 });
-// $Id: treeitem.js 786 2008-08-27 15:03:41Z pspencer $
+// $Id: treeitem.js 792 2008-08-28 12:57:49Z pspencer $
 /**
  * Class: Jx.TreeItem 
  * An item in a tree.  An item is a leaf node that has no children.
@@ -12724,7 +12701,7 @@
             this.domObj.addClass('jxDisabled');
         }
     }
-});// $Id: treefolder.js 785 2008-08-26 21:28:39Z pspencer $
+});// $Id: treefolder.js 792 2008-08-28 12:57:49Z pspencer $
 /**
  * Class: Jx.TreeFolder
  * A Jx.TreeFolder is an item in a tree that can contain other items.  It is

Modified: sandbox/jx2/jx/lib/jxskin_border.css
===================================================================
--- sandbox/jx2/jx/lib/jxskin_border.css	2008-08-28 14:43:25 UTC (rev 1486)
+++ sandbox/jx2/jx/lib/jxskin_border.css	2008-08-28 15:02:33 UTC (rev 1487)
@@ -1 +1,24 @@
-body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}ol,ul{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;}q:before,q:after{content:'';}a{outline:none;}.png24{filter:expression(Jx.applyPNGFilter(this));}.jxClearer{display:block;position:relative;float:none;clear:both;font-size:0;line-height:0;width:0;height:0;margin:0;padding:0;}.jxDisabled{opacity:.4;filter:Alpha(opacity=40);}iframe.jxIframeShim{position:absolute;top:0;left:0;width:100%;height:100%;filter:Alpha(opacity:0);opacity:0;z-index:-1;}div.jxButtonContainer{display:block;position:relative;float:left;margin:1px;padding:0;border:none;}a.jxButton{display:block;position:relative;float:left;margin:0;padding:4px;border:1px solid #d9d9d9;background-repeat:no-repeat;text-decoration:none;}a.jxButton:hover{border-top:1px solid #fff;border-left:1px solid #fff;border-bottom:1px solid #999;border-right:1px solid #999;}a.jxButton:active{border-bottom:1px solid #fff;border-right:1px solid #fff;border-top:1px solid #999;border-left:1px solid #999;}a.jxButtonActive{background-color:#f0f0f0;border-bottom:1px solid #fff;border-right:1px solid #fff;border-top:1px solid #999;border-left:1px solid #999;}a.jxButtonActive:hover{border-bottom:1px solid #fff;border-right:1px solid #fff;border-top:1px solid #999;border-left:1px solid #999;}a.jxButtonActive:active{border-bottom:1px solid #fff;border-right:1px solid #fff;border-top:1px solid #999;border-left:1px solid #999;}.jxButtonDisabled a.jxButton:hover,.jxButtonDisabled a.jxButton:active{border:1px solid #d9d9d9;}span.jxButtonContent{display:block;position:relative;float:left;font-size:0;line-height:0;margin:0;padding:0;background-repeat:no-repeat;}span.jxButtonContent span{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:16px;}img.jxButtonIcon{position:relative;float:left;width:16px;height:16px;background-position:center center;background-repeat:no-repeat;}span.jxButtonContent span.jxButtonLabel{display:block;position:relative;float:left;cursor:pointer;margin:0;padding:0 4px;color:#000;background-position:right center;background-repeat:no-repeat;font-size:11px;}a.jxButtonMenu span.jxButtonContent,a.jxButtonFlyout span.jxButtonContent{background-image:url(../images/menu_item_arrow_d2.png);background-position:right center;background-repeat:no-repeat;}a.jxButtonMenu span.jxButtonContent span,a.jxButtonFlyout span.jxButtonContent span{padding-right:16px;}a.jxButtonMulti span.jxButtonLabel{padding-left:0;padding-right:0;}.jxFlyout{position:absolute;display:block;clear:both;float:none;z-index:100;margin:0;padding:0;border:1px solid #999;background-color:#fff;font-size:12px;line-height:14px;}.jxFlyout .jxBarRight,.jxFlyout .jxBarLeft{float:left;height:auto;width:auto;}.jxChrome{position:absolute;display:block;font-size:0;line-height:0;z-index:0;}.jxChromeTL{position:absolute;overflow:hidden;left:0;top:0;width:50%;height:50%;}.jxChromeTR{position:absolute;overflow:hidden;left:50%;top:0;width:50%;height:50%;}.jxChromeBL{position:absolute;overflow:hidden;left:0;top:50%;width:50%;height:50%;}.jxChromeBR{position:absolute;overflow:hidden;left:50%;top:50%;width:50%;height:50%;}.jxChromeTL img{position:absolute;top:0;left:0;}.jxChromeTR img{position:absolute;top:0;right:0;}.jxChromeBL img{position:absolute;bottom:0;left:0;}.jxChromeBR img{position:absolute;bottom:0;right:0;}.jxColorBar{position:relative;}table.jxColorGrid{position:relative;border-collapse:collapse;empty-cells:show;clear:both;}.jxColorGrid td{border:1px solid #000;}.jxColorGrid td.emptyCell{border:0 solid #000;}.jxColorGrid td.emptyCell span{display:block;width:7px;height:7px;line-height:0;font-size:0;border:0 solid #000;padding:1px;margin:0;}.jxColorGrid a.colorSwatch{display:block;width:7px;height:7px;line-height:0;font-size:0;border:0 solid #000;margin:0;padding:1px;}.jxColorGrid a.borderWhite:hover{border:1px solid #fff;padding:0;}.jxColorGrid a.borderBlack:hover{border:1px solid #000;padding:0;}input.jxHexInput{width:55px;vertical-align:middle;}input.jxAlphaInput{width:30px;vertical-align:middle;}div.jxColorPreview{float:left;position:relative;width:20px;height:20px;border:1px solid #000;margin:2px;vertical-align:middle;background-image:url('../images/grid.png');}span.jxButtonContent span.jxButtonSwatch{display:block;float:left;width:14px;height:14px;border:1px solid #000;background-image:url('../images/grid.png');padding-right:0!important;}span.jxButtonContent span.jxButtonSwatch span{display:block;width:14px;height:14px;position:absolute;padding-right:0;}div.jxColorPreview img{position:absolute;z-index:0;}div.jxColorPreview div.jxColorSelected{width:20px;height:10px;position:absolute;z-index:1;}div.jxColorPreview div.jxColorHover{width:20px;height:10px;position:absolute;bottom:0;z-index:1;}label.jxColorLabel,label.jxAlphaLabel{width:auto;font-family:Arial,sans-serif;font-size:12px;line-height:24px;padding:2px;vertical-align:middle;}a.jxColorClose{position:absolute;top:0;right:0;width:16px;height:16px;}a.jxColorClose img{width:16px;height:16px;}div.jxCombo{position:relative;display:block;padding:0;padding-right:22px;margin:0;border:0;font-family:Arial,Helvetica,sans-serif;font-size:11px;z-index:1;line-height:24px;float:left;}.jxComboDiscloser{position:absolute;right:3px;top:3px;}.jxComboDiscloser img{width:16px;height:16px;border:0;}.jxComboInput{position:relative;display:block;float:left;line-height:14px;height:14px;padding:5px 10px;border:1px solid #d9d9d9;}div.jxComboOptions{position:absolute;height:auto;background-color:#fff;overflow:auto;border:1px solid #333;color:#000;z-index:1;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:24px;}div.jxComboOptions ul{position:relative;display:block;margin:0;padding:0;border:none;list-style-type:none;}div.jxComboOptions li{position:relative;display:block;margin:0;padding:0;border:none;height:20px;}div.jxComboOptions a{position:relative;display:block;text-decoration:none;white-space:nowrap;line-height:20px;height:20px;color:#000;background-position:right top;background-repeat:no-repeat;padding:0 4px;}div.jxComboOptions a:hover{background-color:#E1EDFA;}div.jxComboOptions a.selected{font-weight:bold;background-color:#ffffb3;}.jxDialog .jxChrome{background-color:#000;padding:1px 3px 3px 1px;opacity:.2;}.jxDialog{display:block;z-index:1;border:1px solid #666;}.jxDialogContentContainer{z-index:1;background-color:#ccc;}.jxDialogModal{position:absolute;display:block;top:0;left:0;width:100%;height:100%;background-color:#000;opacity:.2;filter:Alpha(opacity=20);}.jxDialogContent{display:block;position:relative;overflow:auto;border-top:1px solid #fff;border-left:1px solid #fff;padding:0;z-index:1;}.jxDialogTitle{display:block;position:relative;text-align:center;background-color:#ccc;border-top:1px solid #fff;border-left:1px solid #fff;border-bottom:1px solid #999;height:22px;margin:0;padding:0;z-index:1;}.jxDialogMoveable{cursor:move;}.jxDialogLabel{font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:bold;line-height:21px;color:#000;white-space:nowrap;}.jxDialogResize{position:absolute;bottom:0;right:0;width:22px;height:22px;z-index:2;border:0;cursor:se-resize;background-image:url(../images/dialog_resize.png);z-index:1;}.jxDialogControls{position:absolute;top:3px;right:2px;height:16px;width:80px;}.jxDialogControls img{background-image:url('../images/panel_controls.png');background-repeat:no-repeat;border:0;margin:0;width:16px;height:16px;}.jxDialogClose img{background-position:0 -32px;}.jxDialogMenu img{background-position:0 -48px;}.jxDialogHelp img{background-position:0 -64px;}.jxDialogCollapse img{background-position:0 -16px;}.jxDialogMin .jxDialogCollapse img{background-position:0 0;}.jxDialogMax .jxDialogCollapse img{background-position:0 -16px;}.jxDialogLoading img{border:0;margin:0;width:16px;height:16px;visibility:hidden;position:absolute;top:1px;left:2px;}.jxDialogControls .jxButtonContainer,.jxDialogControls span.jxButtonContent,.jxDialogControls a.jxButton:hover span.jxButtonContent,.jxDialogControls a.jxButton:active span.jxButtonContent,.jxDialogControls a.jxButtonActive span.jxButtonContent,.jxDialogControls a.jxButtonActive:hover span.jxButtonContent,.jxDialogControls a.jxButtonActive:active span.jxButtonContent,.jxDialogControls .jxButtonDisabled a.jxButton span.jxButtonContent,.jxDialogControls .jxButtonDisabled a.jxButton:hover span.jxButtonContent,.jxDialogControls .jxButtonDisabled a.jxButton:active span.jxButtonContent,.jxDialogControls a.jxButton,.jxDialogControls a.jxButton:hover,.jxDialogControls a.jxButton:active,.jxDialogControls a.jxButtonActive,.jxDialogControls a.jxButtonActive:hover,.jxDialogControls a.jxButtonActive:active,.jxDialogControls .jxButtonDisabled a.jxButton,.jxDialogControls .jxButtonDisabled a.jxButton:hover,.jxDialogControls .jxButtonDisabled a.jxButton:active{padding:0;margin:0;border:none;background-color:transparent;background-image:none;}.jxDialogControls a.jxButtonMenu span.jxButtonContent,.jxDialogControls a.jxButtonFlyout span.jxButtonContent{background-image:none;}.jxDialogControls a.jxButtonMenu span.jxButtonContent span,.jxDialogControls a.jxButtonFlyout span.jxButtonContent span{padding-right:0;}.jxDialogControls .jxToolbarContainer{position:absolute;right:0;background-image:none;background-color:transparent;margin:0;padding:0;border:none;}.jxDialogControls ul.jxToolbar{float:right;background-image:none;background-color:transparent;margin:0;padding:0;border:none;}.jxDialogControls .jxBarTop,.jxDialogControls .jxBarBottom,.jxDialogControls .jxBarLeft,.jxDialogControls .jxBarRight{width:auto;height:auto;}.jxDialogControls .jxBarTop ul.jxToolbar,.jxDialogControls .jxBarBottom ul.jxToolbar,.jxDialogControls .jxBarLeft ul.jxToolbar,.jxDialogControls .jxBarRight ul.jxToolbar,.jxDialogControls .jxBarTop li.jxToolItem,.jxDialogControls .jxBarBottom li.jxToolItem,.jxDialogControls .jxBarLeft li.jxToolItem,.jxDialogControls .jxBarRight li.jxToolItem{background-image:none;background-color:transparent;margin:0;padding:0;border:none;}.jxGridContainer{position:absolute;top:0;left:0;border-left:0 solid #96a7b4;border-top:0 solid #96a7b4;border-right:1px solid #96a7b4;border-bottom:1px solid #96a7b4;overflow:hidden;font-family:Arial,Verdana,sans-serif;font-size:12px;font-weight:normal;}.jxGridTable{position:relative;table-layout:fixed;border-collapse:collapse;border-style:none;width:0;}.jxGridColHeadHide{height:0;line-height:0;font-size:0;background-color:#fff;white-space:normal;}.jxGridColHeadHide p,.jxGridRowHeadHide p{font-size:0;line-height:0;height:0;margin:0;padding:0;}.jxGridRowHeadHide{width:0;white-space:normal;}.jxGridCell{border-right:1px solid #cecece;border-bottom:1px solid #cecece;overflow:hidden;padding-left:3px;padding-right:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.jxGridColHead{border-top:0 solid #96a7b4;border-right:1px solid #96a7b4;border-bottom:1px solid #96a7b4;border-left:0 solid #96a7b4;background-color:#ebebeb;text-align:center;font-weight:bold;color:#45525f;}.jxGridRowHead{border-top:0 solid #96a7b4;border-right:1px solid #96a7b4;border-bottom:1px solid #96a7b4;border-left:0 solid #96a7b4;background-color:#ebebeb;text-align:center;font-weight:bold;color:#45525f;}.jxGridRowAll{background-color:#fff;}.jxGridRowOdd td{border-right:1px solid #999;border-bottom:1px solid #999;}.jxGridRowEven td{border-right:1px solid #999;border-bottom:1px solid #999;}.jxGridRowSelected{background-color:#dae6f2;}.jxGridColumnSelected{background-color:#dae6f2;}.jxGridCellSelected{background-color:#dae6f2;}.jxGridRowPrelight{background-color:#f2f2f2;}.jxGridRowHeaderPrelight{background-color:#dfdfdf;}.jxGridColumnHeaderPrelight{background-color:#dfdfdf;}.jxGridRowHeaderSelected{background-color:#6d7f8e;color:#fff;}.jxGridColumnHeaderSelected{background-color:#6d7f8e;color:#fff;}a.jxButtonMenu span.jxMenuItemSpan{padding-right:16px;}ul.jxMenu,ul.jxSubMenu{position:absolute;display:block;clear:both;float:none;z-index:100;list-style-type:none;margin:0;padding:0;border:1px solid #999;background-color:#fff;}li.jxMenuItemContainer{display:block;position:relative;margin:0;padding:0;}a.jxMenuItem{display:block;position:relative;text-decoration:none;background-image:none;border:1px solid #fff;font-family:Arial,Helvetica,sans-serif;font-size:11px;text-decoration:none;margin:0;padding:0;color:#000;}a.jxMenuItem:hover{background-image:none;border:1px solid #E1EDFA;background-color:#E1EDFA;}a.jxMenuItem:hover span.jxMenuItemContent{border:1px solid #E1EDFA;}span.jxMenuItemContent{display:block;position:relative;font-family:Arial,Helvetica,sans-serif;font-size:0;line-height:0;white-space:nowrap;padding:0;margin:0;border:1px solid #fff;}a.jxButtonSubMenu span.jxMenuItemContent,a.jxButtonSubMenu:hover span.jxMenuItemContent{background-image:url(../images/menu_item_arrow_r2.png);background-position:right top;background-repeat:no-repeat;padding-right:20px;}img.jxMenuItemIcon{position:absolute;top:0;left:0;display:inline;width:16px;height:16px;background-position:left center;background-repeat:no-repeat;}span.jxMenuItemContent span{display:block;position:relative;cursor:pointer;margin:0;padding:0 0 0 20px;font-size:16px;line-height:16px;}span.jxMenuItemContent span.jxMenuItemLabel{color:#000;font-size:12px;}ul.jxMenu a.jxMenuItemSelected{background-image:url(../images/menu_item_radio.png);background-position:2px top;background-repeat:no-repeat;}li.jxMenuItemDisabled span.jxMenuItemLabel{color:#ccc;}li.jxMenuItemDisabled a.jxMenuItem:hover{background-color:#fff;border:1px solid #fff;}ul.jxMenu span.jxMenuSeparator{display:block;font-size:10px;line-height:10px;background-image:url(../images/toolbar_separator_v.png);background-repeat:repeat-x;background-position:left center;}.jxPanel{display:block;position:relative;}.jxPanelContentContainer{overflow:hidden;}.jxPanelContent{position:relative;display:block;overflow:auto;border-top:1px solid #fff;border-bottom:1px solid #999;margin:0;padding:0;border-top:none;background-color:#fff;}.jxPanelTitle{display:block;position:relative;background-color:#ccc;border-top:1px solid #fff;border-bottom:1px solid #999;height:22px;margin:0;padding:0;}.jxPanelLabel{padding-left:25px;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:bold;line-height:21px;color:#000;white-space:nowrap;}.jxPanelControls{position:absolute;top:3px;right:2px;height:16px;width:80px;}.jxPanelControls img{background-image:url('../images/panel_controls.png');background-repeat:no-repeat;border:0;margin:0;width:16px;height:16px;}.jxPanelClose img{background-position:0 -32px;}.jxPanelMenu img{background-position:0 -48px;}.jxPanelHelp img{background-position:0 -64px;}.jxPanelCollapse img{background-position:0 -16px;}.jxPanelMin .jxPanelCollapse img{background-position:0 0;}.jxPanelMax .jxPanelCollapse img{background-position:0 -16px;}.jxPanelMaximize img{background-position:0 0;}.jxPanelLoading img{border:0;margin:0;width:16px;height:16px;visibility:hidden;position:absolute;top:1px;left:2px;}.jxPanelControls .jxButtonContainer,.jxPanelControls span.jxButtonContent,.jxPanelControls a.jxButton:hover span.jxButtonContent,.jxPanelControls a.jxButton:active span.jxButtonContent,.jxPanelControls a.jxButtonActive span.jxButtonContent,.jxPanelControls a.jxButtonActive:hover span.jxButtonContent,.jxPanelControls a.jxButtonActive:active span.jxButtonContent,.jxPanelControls .jxButtonDisabled a.jxButton span.jxButtonContent,.jxPanelControls .jxButtonDisabled a.jxButton:hover span.jxButtonContent,.jxPanelControls .jxButtonDisabled a.jxButton:active span.jxButtonContent,.jxPanelControls a.jxButton,.jxPanelControls a.jxButton:hover,.jxPanelControls a.jxButton:active,.jxPanelControls a.jxButtonActive,.jxPanelControls a.jxButtonActive:hover,.jxPanelControls a.jxButtonActive:active,.jxPanelControls .jxButtonDisabled a.jxButton,.jxPanelControls .jxButtonDisabled a.jxButton:hover,.jxPanelControls .jxButtonDisabled a.jxButton:active{padding:0;margin:0;border:none;background-color:transparent;background-image:none;}.jxPanelControls a.jxButtonMenu span.jxButtonContent,.jxPanelControls a.jxButtonFlyout span.jxButtonContent{background-image:none;}.jxPanelControls a.jxButtonMenu span.jxButtonContent span,.jxPanelControls a.jxButtonFlyout span.jxButtonContent span{padding-right:0;}.jxPanelControls .jxToolbarContainer{position:absolute;right:0;background-image:none;background-color:transparent;margin:0;padding:0;border:none;}.jxPanelControls ul.jxToolbar{background-image:none;background-color:transparent;margin:0;padding:0;border:none;float:right;}.jxPanelControls .jxBarTop,.jxPanelControls .jxBarBottom,.jxPanelControls .jxBarLeft,.jxPanelControls .jxBarRight{width:auto;height:auto;}.jxPanelControls .jxBarTop ul.jxToolbar,.jxPanelControls .jxBarBottom ul.jxToolbar,.jxPanelControls .jxBarLeft ul.jxToolbar,.jxPanelControls .jxBarRight ul.jxToolbar,.jxPanelControls .jxBarTop li.jxToolItem,.jxPanelControls .jxBarBottom li.jxToolItem,.jxPanelControls .jxBarLeft li.jxToolItem,.jxPanelControls .jxBarRight li.jxToolItem{background-image:none;background-color:transparent;margin:0;padding:0;border:none;}.jxSplitBarHorizontal{position:absolute;display:block;line-height:1px;width:10px;top:0;height:100%;background-color:#d9d9d9;cursor:col-resize;}.jxSplitBarVertical{position:absolute;display:block;line-height:1px;width:100%;left:0;height:10px;background-color:#d9d9d9;cursor:row-resize;}.jxSplitArea{overflow:hidden;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #fff;border-bottom:1px solid #fff;background-color:#eee;}.jxSplitBarDrag{background-color:#c9c9c9;}.jxSnapHorizontalBefore{position:absolute;display:block;top:50%;left:0;margin-top:-25px;width:10px;height:50px;z-index:1;overflow:hidden;background-color:#eee;}.jxSnapHorizontalAfter{position:absolute;display:block;top:50%;left:0;margin-top:-25px;width:10px;height:50px;z-index:1;overflow:hidden;background-color:#eee;}.jxSnapVerticalBefore{position:absolute;display:block;top:0;left:50%;margin-left:-25px;width:50px;height:10px;z-index:1;overflow:hidden;background-color:#eee;}.jxSnapVerticalAfter{position:absolute;display:block;top:0;left:50%;margin-left:-25px;width:50px;height:10px;z-index:1;overflow:hidden;background-color:#eee;}.jxTabSetContainer{position:relative;display:block;width:200px;height:200px;margin:0;padding:0;border:1px solid #999;}.jxTabSetContainer .jxToolbarContainer,.jxTabSetContainer ul.jxToolbar{z-index:auto;border:none;}.tabContent{display:none;position:relative;width:100%;height:100%;overflow:auto;}.tabContentActive{display:block;}.jxTabBoxTop,.jxTabBoxBottom,.jxTabBoxLeft,.jxTabBoxRight{overflow:visible;}.jxTabBoxTop .jxBarTop,.jxTabBoxBottom .jxBarBottom,.jxTabBoxLeft .jxBarLeft,.jxTabBoxRight .jxBarRight{position:absolute;}li.jxTabItem{margin:0;padding:0;}.jxBarTop li.jxTabItem,.jxBarBottom li.jxTabItem{border:none;}.jxBarLeft li.jxTabItem,.jxBarRight li.jxTabItem{border:none;}a.jxTab{display:block;position:relative;margin:0;padding:0;border:1px solid #999;background-repeat:no-repeat;text-decoration:none;color:#000;}a.jxTab:hover{background-color:#ccc;}a.jxTab:active{background-color:#fff;}a.jxTabActive{background-color:#fff;}span.jxTabContent{display:block;font-size:0;line-height:0;margin:0;padding:0;}img.jxTabIcon{position:relative;width:16px;height:16px;background-position:center center;background-repeat:no-repeat;}span.jxTabLabel{display:block;position:relative;cursor:pointer;margin:0;padding:0;color:#000;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:16px;}.jxTabBoxTop{margin-top:27px;}.jxTabBoxTop .jxBarTop{top:-27px;}.jxBarTop a.jxTab{float:left;margin:0 1px;padding:4px;}.jxBarTop span.jxTabContent{float:left;}.jxBarTop img.jxTabIcon{float:left;}.jxBarTop span.jxTabLabel{float:left;padding:0 4px 0 4px;}.jxBarTop a.jsTabActive{border-bottom:1px solid #fff;}.jxTabBoxBottom{margin-bottom:27px;}.jxTabBoxBottom .jxBarBottom{bottom:-27px;background-position:top;}.jxBarBottom a.jxTab{float:left;margin:0 1px;padding:4px;}.jxBarTop span.jxTabContent{float:left;}.jxBarTop img.jxTabIcon{float:left;}.jxBarTop span.jxTabLabel{float:left;padding:0 4px 0 4px;}.jxBarBottom a.jxTabActive{border-top:1px solid #fff;}.jxTabBoxLeft{margin-left:27px;}.jxTabBoxLeft .jxBarLeft{left:-27px;}.jxBarLeft a.jxTab{margin:1px 0 1px 2px;padding:4px;}.jxBarLeft a.jxTabActive{border-right:1px solid #fff;}.jxTabBoxRight{margin-right:27px;}.jxTabBoxRight .jxBarRight{right:-27px;background-position:left;}.jxBarRight a.jxTab{margin:1px 2px 1px 0;padding:7px;}.jxBarRight a.jxTabActive{border-left:1px solid #fff;}.jxToolbarContainer{display:block;position:relative;z-index:1;margin:0;padding:0;border:0;background-color:#d9d9d9;}.jxBarTop,.jxBarBottom{width:100%;height:auto;background-repeat:repeat-x;background-position:bottom;}.jxBarLeft,.jxBarRight{width:auto;height:100%;background-repeat:repeat-y;background-position:right;}.toolbarLabel{display:block;position:relative;float:left;margin:0;padding:0;font-family:Arial,Hevetica,sans-serif;font-size:11px;line-height:24px;color:#000;}ul.jxToolbar{display:block;position:relative;float:left;list-style-type:none;margin:0;padding:0;}.jxBarTop ul.jxToolbar,.jxBarBottom ul.jxToolbar{border-left:1px solid #fff;border-right:1px solid #999;border-top:1px solid #fff;}.jxBarLeft ul.jxToolbar,.jxBarRight ul.jxToolbar{border-left:1px solid #fff;border-top:1px solid #fff;border-bottom:1px solid #999;}li.jxToolItem{display:block;position:relative;float:left;font-size:0;line-height:0;padding:0;margin:0;}.jxBarTop li.jxToolItem,.jxBarBottom li.jxToolItem{border-top:none;border-right:none;border-bottom:1px solid #999;border-left:none;}.jxBarLeft li.jxToolItem,.jxBarRight li.jxToolItem{border-top:none;border-right:1px solid #999;border-bottom:none;border-left:none;}li.jxToolItem .separator{display:block;position:relative;float:left;font-size:0;line-height:0;width:8px;height:18px;border:0;margin:0;padding:4px;background-repeat:no-repeat;background-position:center center;}.jxBarTop li.jxToolItem span.separator,.jxBarBottom li.jxToolItem span.separator{background-image:url(../images/toolbar_separator_h.png);}.jxBarLeft li.jxToolItem span.separator,.jxBarRight li.jxToolItem span.separator{background-image:url(../images/toolbar_separator_v.png);}.jxBarLeft label.toolbarLabel,.jxBarLeft ul.jxToolbar,.jxBarLeft li.jxToolItem,.jxBarRight label.toolbarLabel,.jxBarRight ul.jxToolbar,.jxBarRight li.jxToolItem{clear:both;}.verticalToolbar{width:auto;}.verticalToolbar label.toolbarLabel,.verticalToolbar ul.jxToolbar,.verticalToolbar li.jxToolItem{clear:both;}.jxTree,.jxTreeRoot{position:relative;list-style:none;margin:0;padding:0;}.jxTreeNest{list-style:none;margin:0;padding:0;background-repeat:repeat-y;background-position:left top;}.jxTree li,.jxTreeRoot li{position:relative;margin:0;padding:0;background-repeat:no-repeat;background-position:left top;white-space:nowrap;width:100%;}.jxTree li{margin-left:16px;}.jxTree li.jxDisabled,.jxTreeRoot li.jxDisabled{opacity:.4;-moz-opacity:.4;filter:Alpha(opacity=40);}.jxTree a,.jxTreeRoot a{margin:0;padding:0;padding-left:2px;font-family:Arial,Helvetica,sans-serif;font-size:11px;color:#000;text-decoration:none;line-height:20px;}.jxTree a:hover,.jxTreeRoot a:hover{background-color:#E1EDFA;}.jxTree img,.jxTreeRoot img{border:0;width:16px;height:16px;}.jxTreeNest{background-image:url(../images/tree_vert_line.png);}.jxTreeNode{background-image:url(../images/tree_node.png);}.jxTreeNodeLast{background-image:url(../images/tree_last_node.png);}.jxTreeDropzone{text-decoration:underline;font-weight:bold;}.jxTreeSelectedNode{background-color:#AFD4FA;font-weight:bold;}.jxTreeCutNode{opacity:.4;-moz-opacity:.4;filter:Alpha(opacity=40);}.jxTreeCutNode a:hover{background-color:#fff;}.jxTreeNode a,.jxTreeNode img,.jxTreeNode input{vertical-align:middle;}.jxTreeNodeLast a,.jxTreeNodeLast img,.jxTreeNodeLast input{vertical-align:middle;}.jxTreeNodeIcon{margin:0;}
\ No newline at end of file
+/*
+ * reset.css - Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+ * Code licensed under the BSD License: http://developer.yahoo.net/yui/license.txt
+ *
+ * Copyright (c) 2006-2008, DM Solutions Group Inc.  All rights reserved
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}ol,ul{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;}q:before,q:after{content:'';}a{outline:none;}.png24{filter:expression(Jx.applyPNGFilter(this));}.jxClearer{display:block;position:relative;float:none;clear:both;font-size:0;line-height:0;width:0;height:0;margin:0;padding:0;}.jxDisabled{opacity:.4;filter:Alpha(opacity=40);}iframe.jxIframeShim{position:absolute;top:0;left:0;width:100%;height:100%;filter:Alpha(opacity:0);opacity:0;z-index:-1;}div.jxButtonContainer{display:block;position:relative;float:left;margin:1px;padding:0;border:none;}a.jxButton{display:block;position:relative;float:left;margin:0;padding:4px;border:1px solid #d9d9d9;background-repeat:no-repeat;text-decoration:none;}a.jxButton:hover{border-top:1px solid #fff;border-left:1px solid #fff;border-bottom:1px solid #999;border-right:1px solid #999;}a.jxButton:active{border-bottom:1px solid #fff;border-right:1px solid #fff;border-top:1px solid #999;border-left:1px solid #999;}a.jxButtonActive{background-color:#f0f0f0;border-bottom:1px solid #fff;border-right:1px solid #fff;border-top:1px solid #999;border-left:1px solid #999;}a.jxButtonActive:hover{border-bottom:1px solid #fff;border-right:1px solid #fff;border-top:1px solid #999;border-left:1px solid #999;}a.jxButtonActive:active{border-bottom:1px solid #fff;border-right:1px solid #fff;border-top:1px solid #999;border-left:1px solid #999;}.jxButtonDisabled a.jxButton:hover,.jxButtonDisabled a.jxButton:active{border:1px solid #d9d9d9;}span.jxButtonContent{display:block;position:relative;float:left;font-size:0;line-height:0;margin:0;padding:0;background-repeat:no-repeat;}span.jxButtonContent span{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:16px;}img.jxButtonIcon{position:relative;float:left;width:16px;height:16px;background-position:center center;background-repeat:no-repeat;}span.jxButtonContent span.jxButtonLabel{display:block;position:relative;float:left;cursor:pointer;margin:0;padding:0 4px;color:#000;background-position:right center;background-repeat:no-repeat;font-size:11px;}a.jxButtonMenu span.jxButtonContent,a.jxButtonFlyout span.jxButtonContent{background-image:url(../images/menu_item_arrow_d2.png);background-position:right center;background-repeat:no-repeat;}a.jxButtonMenu span.jxButtonContent span,a.jxButtonFlyout span.jxButtonContent span{padding-right:16px;}a.jxButtonMulti span.jxButtonLabel{padding-left:0;padding-right:0;}.jxFlyout{position:absolute;display:block;clear:both;float:none;z-index:100;margin:0;padding:0;border:1px solid #999;background-color:#fff;font-size:12px;line-height:14px;}.jxFlyout .jxBarRight,.jxFlyout .jxBarLeft{float:left;height:auto;width:auto;}.jxChrome{position:absolute;display:block;font-size:0;line-height:0;z-index:0;}.jxChromeTL{position:absolute;overflow:hidden;left:0;top:0;width:50%;height:50%;}.jxChromeTR{position:absolute;overflow:hidden;left:50%;top:0;width:50%;height:50%;}.jxChromeBL{position:absolute;overflow:hidden;left:0;top:50%;width:50%;height:50%;}.jxChromeBR{position:absolute;overflow:hidden;left:50%;top:50%;width:50%;height:50%;}.jxChromeTL img{position:absolute;top:0;left:0;}.jxChromeTR img{position:absolute;top:0;right:0;}.jxChromeBL img{position:absolute;bottom:0;left:0;}.jxChromeBR img{position:absolute;bottom:0;right:0;}.jxColorBar{position:relative;}table.jxColorGrid{position:relative;border-collapse:collapse;empty-cells:show;clear:both;}.jxColorGrid td{border:1px solid #000;}.jxColorGrid td.emptyCell{border:0 solid #000;}.jxColorGrid td.emptyCell span{display:block;width:7px;height:7px;line-height:0;font-size:0;border:0 solid #000;padding:1px;margin:0;}.jxColorGrid a.colorSwatch{display:block;width:7px;height:7px;line-height:0;font-size:0;border:0 solid #000;margin:0;padding:1px;}.jxColorGrid a.borderWhite:hover{border:1px solid #fff;padding:0;}.jxColorGrid a.borderBlack:hover{border:1px solid #000;padding:0;}input.jxHexInput{width:55px;vertical-align:middle;}input.jxAlphaInput{width:30px;vertical-align:middle;}div.jxColorPreview{float:left;position:relative;width:20px;height:20px;border:1px solid #000;margin:2px;vertical-align:middle;background-image:url('../images/grid.png');}span.jxButtonContent span.jxButtonSwatch{display:block;float:left;width:14px;height:14px;border:1px solid #000;background-image:url('../images/grid.png');padding-right:0!important;}span.jxButtonContent span.jxButtonSwatch span{display:block;width:14px;height:14px;position:absolute;padding-right:0;}div.jxColorPreview img{position:absolute;z-index:0;}div.jxColorPreview div.jxColorSelected{width:20px;height:10px;position:absolute;z-index:1;}div.jxColorPreview div.jxColorHover{width:20px;height:10px;position:absolute;bottom:0;z-index:1;}label.jxColorLabel,label.jxAlphaLabel{width:auto;font-family:Arial,sans-serif;font-size:12px;line-height:24px;padding:2px;vertical-align:middle;}a.jxColorClose{position:absolute;top:0;right:0;width:16px;height:16px;}a.jxColorClose img{width:16px;height:16px;}div.jxCombo{position:relative;display:block;padding:0;padding-right:22px;margin:0;border:0;font-family:Arial,Helvetica,sans-serif;font-size:11px;z-index:1;line-height:24px;float:left;}.jxComboDiscloser{position:absolute;right:3px;top:3px;}.jxComboDiscloser img{width:16px;height:16px;border:0;}.jxComboInput{position:relative;display:block;float:left;line-height:14px;height:14px;padding:5px 10px;border:1px solid #d9d9d9;}div.jxComboOptions{position:absolute;height:auto;background-color:#fff;overflow:auto;border:1px solid #333;color:#000;z-index:1;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:24px;}div.jxComboOptions ul{position:relative;display:block;margin:0;padding:0;border:none;list-style-type:none;}div.jxComboOptions li{position:relative;display:block;margin:0;padding:0;border:none;height:20px;}div.jxComboOptions a{position:relative;display:block;text-decoration:none;white-space:nowrap;line-height:20px;height:20px;color:#000;background-position:right top;background-repeat:no-repeat;padding:0 4px;}div.jxComboOptions a:hover{background-color:#E1EDFA;}div.jxComboOptions a.selected{font-weight:bold;background-color:#ffffb3;}.jxDialog .jxChrome{background-color:#000;padding:1px 3px 3px 1px;opacity:.2;}.jxDialog{display:block;z-index:1;border:1px solid #666;}.jxDialogContentContainer{z-index:1;background-color:#ccc;}.jxDialogModal{position:absolute;display:block;top:0;left:0;width:100%;height:100%;background-color:#000;opacity:.2;filter:Alpha(opacity=20);}.jxDialogContent{display:block;position:relative;overflow:auto;border-top:1px solid #fff;border-left:1px solid #fff;padding:0;z-index:1;}.jxDialogTitle{display:block;position:relative;text-align:center;background-color:#ccc;border-top:1px solid #fff;border-left:1px solid #fff;border-bottom:1px solid #999;height:22px;margin:0;padding:0;z-index:1;}.jxDialogMoveable{cursor:move;}.jxDialogLabel{font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:bold;line-height:21px;color:#000;white-space:nowrap;}.jxDialogResize{position:absolute;bottom:0;right:0;width:22px;height:22px;z-index:2;border:0;cursor:se-resize;background-image:url(../images/dialog_resize.png);z-index:1;}.jxDialogControls{position:absolute;top:3px;right:2px;height:16px;width:80px;}.jxDialogControls img{background-image:url('../images/panel_controls.png');background-repeat:no-repeat;border:0;margin:0;width:16px;height:16px;}.jxDialogClose img{background-position:0 -32px;}.jxDialogMenu img{background-position:0 -48px;}.jxDialogHelp img{background-position:0 -64px;}.jxDialogCollapse img{background-position:0 -16px;}.jxDialogMin .jxDialogCollapse img{background-position:0 0;}.jxDialogMax .jxDialogCollapse img{background-position:0 -16px;}.jxDialogLoading img{border:0;margin:0;width:16px;height:16px;visibility:hidden;position:absolute;top:1px;left:2px;}.jxDialogControls .jxButtonContainer,.jxDialogControls span.jxButtonContent,.jxDialogControls a.jxButton:hover span.jxButtonContent,.jxDialogControls a.jxButton:active span.jxButtonContent,.jxDialogControls a.jxButtonActive span.jxButtonContent,.jxDialogControls a.jxButtonActive:hover span.jxButtonContent,.jxDialogControls a.jxButtonActive:active span.jxButtonContent,.jxDialogControls .jxButtonDisabled a.jxButton span.jxButtonContent,.jxDialogControls .jxButtonDisabled a.jxButton:hover span.jxButtonContent,.jxDialogControls .jxButtonDisabled a.jxButton:active span.jxButtonContent,.jxDialogControls a.jxButton,.jxDialogControls a.jxButton:hover,.jxDialogControls a.jxButton:active,.jxDialogControls a.jxButtonActive,.jxDialogControls a.jxButtonActive:hover,.jxDialogControls a.jxButtonActive:active,.jxDialogControls .jxButtonDisabled a.jxButton,.jxDialogControls .jxButtonDisabled a.jxButton:hover,.jxDialogControls .jxButtonDisabled a.jxButton:active{padding:0;margin:0;border:none;background-color:transparent;background-image:none;}.jxDialogControls a.jxButtonMenu span.jxButtonContent,.jxDialogControls a.jxButtonFlyout span.jxButtonContent{background-image:none;}.jxDialogControls a.jxButtonMenu span.jxButtonContent span,.jxDialogControls a.jxButtonFlyout span.jxButtonContent span{padding-right:0;}.jxDialogControls .jxToolbarContainer{position:absolute;right:0;background-image:none;background-color:transparent;margin:0;padding:0;border:none;}.jxDialogControls ul.jxToolbar{float:right;background-image:none;background-color:transparent;margin:0;padding:0;border:none;}.jxDialogControls .jxBarTop,.jxDialogControls .jxBarBottom,.jxDialogControls .jxBarLeft,.jxDialogControls .jxBarRight{width:auto;height:auto;}.jxDialogControls .jxBarTop ul.jxToolbar,.jxDialogControls .jxBarBottom ul.jxToolbar,.jxDialogControls .jxBarLeft ul.jxToolbar,.jxDialogControls .jxBarRight ul.jxToolbar,.jxDialogControls .jxBarTop li.jxToolItem,.jxDialogControls .jxBarBottom li.jxToolItem,.jxDialogControls .jxBarLeft li.jxToolItem,.jxDialogControls .jxBarRight li.jxToolItem{background-image:none;background-color:transparent;margin:0;padding:0;border:none;}.jxGridContainer{position:absolute;top:0;left:0;border-left:0 solid #96a7b4;border-top:0 solid #96a7b4;border-right:1px solid #96a7b4;border-bottom:1px solid #96a7b4;overflow:hidden;font-family:Arial,Verdana,sans-serif;font-size:12px;font-weight:normal;}.jxGridTable{position:relative;table-layout:fixed;border-collapse:collapse;border-style:none;width:0;}.jxGridColHeadHide{height:0;line-height:0;font-size:0;background-color:#fff;white-space:normal;}.jxGridColHeadHide p,.jxGridRowHeadHide p{font-size:0;line-height:0;height:0;margin:0;padding:0;}.jxGridRowHeadHide{width:0;white-space:normal;}.jxGridCell{border-right:1px solid #cecece;border-bottom:1px solid #cecece;overflow:hidden;padding-left:3px;padding-right:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.jxGridColHead{border-top:0 solid #96a7b4;border-right:1px solid #96a7b4;border-bottom:1px solid #96a7b4;border-left:0 solid #96a7b4;background-color:#ebebeb;text-align:center;font-weight:bold;color:#45525f;}.jxGridRowHead{border-top:0 solid #96a7b4;border-right:1px solid #96a7b4;border-bottom:1px solid #96a7b4;border-left:0 solid #96a7b4;background-color:#ebebeb;text-align:center;font-weight:bold;color:#45525f;}.jxGridRowAll{background-color:#fff;}.jxGridRowOdd td{border-right:1px solid #999;border-bottom:1px solid #999;}.jxGridRowEven td{border-right:1px solid #999;border-bottom:1px solid #999;}.jxGridRowSelected{background-color:#dae6f2;}.jxGridColumnSelected{background-color:#dae6f2;}.jxGridCellSelected{background-color:#dae6f2;}.jxGridRowPrelight{background-color:#f2f2f2;}.jxGridRowHeaderPrelight{background-color:#dfdfdf;}.jxGridColumnHeaderPrelight{background-color:#dfdfdf;}.jxGridRowHeaderSelected{background-color:#6d7f8e;color:#fff;}.jxGridColumnHeaderSelected{background-color:#6d7f8e;color:#fff;}a.jxButtonMenu span.jxMenuItemSpan{padding-right:16px;}ul.jxMenu,ul.jxSubMenu{position:absolute;display:block;clear:both;float:none;z-index:100;list-style-type:none;margin:0;padding:0;border:1px solid #999;background-color:#fff;}li.jxMenuItemContainer{display:block;position:relative;margin:0;padding:0;}a.jxMenuItem{display:block;position:relative;text-decoration:none;background-image:none;border:1px solid #fff;font-family:Arial,Helvetica,sans-serif;font-size:11px;text-decoration:none;margin:0;padding:0;color:#000;}a.jxMenuItem:hover{background-image:none;border:1px solid #E1EDFA;background-color:#E1EDFA;}a.jxMenuItem:hover span.jxMenuItemContent{border:1px solid #E1EDFA;}span.jxMenuItemContent{display:block;position:relative;font-family:Arial,Helvetica,sans-serif;font-size:0;line-height:0;white-space:nowrap;padding:0;margin:0;border:1px solid #fff;}a.jxButtonSubMenu span.jxMenuItemContent,a.jxButtonSubMenu:hover span.jxMenuItemContent{background-image:url(../images/menu_item_arrow_r2.png);background-position:right top;background-repeat:no-repeat;padding-right:20px;}img.jxMenuItemIcon{position:absolute;top:0;left:0;display:inline;width:16px;height:16px;background-position:left center;background-repeat:no-repeat;}span.jxMenuItemContent span{display:block;position:relative;cursor:pointer;margin:0;padding:0 0 0 20px;font-size:16px;line-height:16px;}span.jxMenuItemContent span.jxMenuItemLabel{color:#000;font-size:12px;}ul.jxMenu a.jxMenuItemSelected{background-image:url(../images/menu_item_radio.png);background-position:2px top;background-repeat:no-repeat;}li.jxMenuItemDisabled span.jxMenuItemLabel{color:#ccc;}li.jxMenuItemDisabled a.jxMenuItem:hover{background-color:#fff;border:1px solid #fff;}ul.jxMenu span.jxMenuSeparator{display:block;font-size:10px;line-height:10px;background-image:url(../images/toolbar_separator_v.png);background-repeat:repeat-x;background-position:left center;}.jxPanel{display:block;position:relative;}.jxPanelContentContainer{overflow:hidden;}.jxPanelContent{position:relative;display:block;overflow:auto;border-top:1px solid #fff;border-bottom:1px solid #999;margin:0;padding:0;border-top:none;background-color:#fff;}.jxPanelTitle{display:block;position:relative;background-color:#ccc;border-top:1px solid #fff;border-bottom:1px solid #999;height:22px;margin:0;padding:0;}.jxPanelLabel{padding-left:25px;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:bold;line-height:21px;color:#000;white-space:nowrap;}.jxPanelControls{position:absolute;top:3px;right:2px;height:16px;width:80px;}.jxPanelControls img{background-image:url('../images/panel_controls.png');background-repeat:no-repeat;border:0;margin:0;width:16px;height:16px;}.jxPanelClose img{background-position:0 -32px;}.jxPanelMenu img{background-position:0 -48px;}.jxPanelHelp img{background-position:0 -64px;}.jxPanelCollapse img{background-position:0 -16px;}.jxPanelMin .jxPanelCollapse img{background-position:0 0;}.jxPanelMax .jxPanelCollapse img{background-position:0 -16px;}.jxPanelMaximize img{background-position:0 0;}.jxPanelLoading img{border:0;margin:0;width:16px;height:16px;visibility:hidden;position:absolute;top:1px;left:2px;}.jxPanelControls .jxButtonContainer,.jxPanelControls span.jxButtonContent,.jxPanelControls a.jxButton:hover span.jxButtonContent,.jxPanelControls a.jxButton:active span.jxButtonContent,.jxPanelControls a.jxButtonActive span.jxButtonContent,.jxPanelControls a.jxButtonActive:hover span.jxButtonContent,.jxPanelControls a.jxButtonActive:active span.jxButtonContent,.jxPanelControls .jxButtonDisabled a.jxButton span.jxButtonContent,.jxPanelControls .jxButtonDisabled a.jxButton:hover span.jxButtonContent,.jxPanelControls .jxButtonDisabled a.jxButton:active span.jxButtonContent,.jxPanelControls a.jxButton,.jxPanelControls a.jxButton:hover,.jxPanelControls a.jxButton:active,.jxPanelControls a.jxButtonActive,.jxPanelControls a.jxButtonActive:hover,.jxPanelControls a.jxButtonActive:active,.jxPanelControls .jxButtonDisabled a.jxButton,.jxPanelControls .jxButtonDisabled a.jxButton:hover,.jxPanelControls .jxButtonDisabled a.jxButton:active{padding:0;margin:0;border:none;background-color:transparent;background-image:none;}.jxPanelControls a.jxButtonMenu span.jxButtonContent,.jxPanelControls a.jxButtonFlyout span.jxButtonContent{background-image:none;}.jxPanelControls a.jxButtonMenu span.jxButtonContent span,.jxPanelControls a.jxButtonFlyout span.jxButtonContent span{padding-right:0;}.jxPanelControls .jxToolbarContainer{position:absolute;right:0;background-image:none;background-color:transparent;margin:0;padding:0;border:none;}.jxPanelControls ul.jxToolbar{background-image:none;background-color:transparent;margin:0;padding:0;border:none;float:right;}.jxPanelControls .jxBarTop,.jxPanelControls .jxBarBottom,.jxPanelControls .jxBarLeft,.jxPanelControls .jxBarRight{width:auto;height:auto;}.jxPanelControls .jxBarTop ul.jxToolbar,.jxPanelControls .jxBarBottom ul.jxToolbar,.jxPanelControls .jxBarLeft ul.jxToolbar,.jxPanelControls .jxBarRight ul.jxToolbar,.jxPanelControls .jxBarTop li.jxToolItem,.jxPanelControls .jxBarBottom li.jxToolItem,.jxPanelControls .jxBarLeft li.jxToolItem,.jxPanelControls .jxBarRight li.jxToolItem{background-image:none;background-color:transparent;margin:0;padding:0;border:none;}.jxSplitBarHorizontal{position:absolute;display:block;line-height:1px;width:10px;top:0;height:100%;background-color:#d9d9d9;cursor:col-resize;}.jxSplitBarVertical{position:absolute;display:block;line-height:1px;width:100%;left:0;height:10px;background-color:#d9d9d9;cursor:row-resize;}.jxSplitArea{overflow:hidden;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #fff;border-bottom:1px solid #fff;background-color:#eee;}.jxSplitBarDrag{background-color:#c9c9c9;}.jxSnapHorizontalBefore{position:absolute;display:block;top:50%;left:0;margin-top:-25px;width:10px;height:50px;z-index:1;overflow:hidden;background-color:#eee;}.jxSnapHorizontalAfter{position:absolute;display:block;top:50%;left:0;margin-top:-25px;width:10px;height:50px;z-index:1;overflow:hidden;background-color:#eee;}.jxSnapVerticalBefore{position:absolute;display:block;top:0;left:50%;margin-left:-25px;width:50px;height:10px;z-index:1;overflow:hidden;background-color:#eee;}.jxSnapVerticalAfter{position:absolute;display:block;top:0;left:50%;margin-left:-25px;width:50px;height:10px;z-index:1;overflow:hidden;background-color:#eee;}.jxTabSetContainer{position:relative;display:block;width:200px;height:200px;margin:0;padding:0;border:1px solid #999;}.jxTabSetContainer .jxToolbarContainer,.jxTabSetContainer ul.jxToolbar{z-index:auto;border:none;}.tabContent{display:none;position:relative;width:100%;height:100%;overflow:auto;}.tabContentActive{display:block;}.jxTabBoxTop,.jxTabBoxBottom,.jxTabBoxLeft,.jxTabBoxRight{overflow:visible;}.jxTabBoxTop .jxBarTop,.jxTabBoxBottom .jxBarBottom,.jxTabBoxLeft .jxBarLeft,.jxTabBoxRight .jxBarRight{position:absolute;}li.jxTabItem{margin:0;padding:0;}.jxBarTop li.jxTabItem,.jxBarBottom li.jxTabItem{border:none;}.jxBarLeft li.jxTabItem,.jxBarRight li.jxTabItem{border:none;}a.jxTab{display:block;position:relative;margin:0;padding:0;border:1px solid #999;background-repeat:no-repeat;text-decoration:none;color:#000;}a.jxTab:hover{background-color:#ccc;}a.jxTab:active{background-color:#fff;}a.jxTabActive{background-color:#fff;}span.jxTabContent{display:block;font-size:0;line-height:0;margin:0;padding:0;}img.jxTabIcon{position:relative;width:16px;height:16px;background-position:center center;background-repeat:no-repeat;}span.jxTabLabel{display:block;position:relative;cursor:pointer;margin:0;padding:0;color:#000;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:16px;}.jxTabBoxTop{margin-top:27px;}.jxTabBoxTop .jxBarTop{top:-27px;}.jxBarTop a.jxTab{float:left;margin:0 1px;padding:4px;}.jxBarTop span.jxTabContent{float:left;}.jxBarTop img.jxTabIcon{float:left;}.jxBarTop span.jxTabLabel{float:left;padding:0 4px 0 4px;}.jxBarTop a.jsTabActive{border-bottom:1px solid #fff;}.jxTabBoxBottom{margin-bottom:27px;}.jxTabBoxBottom .jxBarBottom{bottom:-27px;background-position:top;}.jxBarBottom a.jxTab{float:left;margin:0 1px;padding:4px;}.jxBarTop span.jxTabContent{float:left;}.jxBarTop img.jxTabIcon{float:left;}.jxBarTop span.jxTabLabel{float:left;padding:0 4px 0 4px;}.jxBarBottom a.jxTabActive{border-top:1px solid #fff;}.jxTabBoxLeft{margin-left:27px;}.jxTabBoxLeft .jxBarLeft{left:-27px;}.jxBarLeft a.jxTab{margin:1px 0 1px 2px;padding:4px;}.jxBarLeft a.jxTabActive{border-right:1px solid #fff;}.jxTabBoxRight{margin-right:27px;}.jxTabBoxRight .jxBarRight{right:-27px;background-position:left;}.jxBarRight a.jxTab{margin:1px 2px 1px 0;padding:7px;}.jxBarRight a.jxTabActive{border-left:1px solid #fff;}.jxToolbarContainer{display:block;position:relative;z-index:1;margin:0;padding:0;border:0;background-color:#d9d9d9;}.jxBarTop,.jxBarBottom{width:100%;height:auto;background-repeat:repeat-x;background-position:bottom;}.jxBarLeft,.jxBarRight{width:auto;height:100%;background-repeat:repeat-y;background-position:right;}.toolbarLabel{display:block;position:relative;float:left;margin:0;padding:0;font-family:Arial,Hevetica,sans-serif;font-size:11px;line-height:24px;color:#000;}ul.jxToolbar{display:block;position:relative;float:left;list-style-type:none;margin:0;padding:0;}.jxBarTop ul.jxToolbar,.jxBarBottom ul.jxToolbar{border-left:1px solid #fff;border-right:1px solid #999;border-top:1px solid #fff;}.jxBarLeft ul.jxToolbar,.jxBarRight ul.jxToolbar{border-left:1px solid #fff;border-top:1px solid #fff;border-bottom:1px solid #999;}li.jxToolItem{display:block;position:relative;float:left;font-size:0;line-height:0;padding:0;margin:0;}.jxBarTop li.jxToolItem,.jxBarBottom li.jxToolItem{border-top:none;border-right:none;border-bottom:1px solid #999;border-left:none;}.jxBarLeft li.jxToolItem,.jxBarRight li.jxToolItem{border-top:none;border-right:1px solid #999;border-bottom:none;border-left:none;}li.jxToolItem .separator{display:block;position:relative;float:left;font-size:0;line-height:0;width:8px;height:18px;border:0;margin:0;padding:4px;background-repeat:no-repeat;background-position:center center;}.jxBarTop li.jxToolItem span.separator,.jxBarBottom li.jxToolItem span.separator{background-image:url(../images/toolbar_separator_h.png);}.jxBarLeft li.jxToolItem span.separator,.jxBarRight li.jxToolItem span.separator{background-image:url(../images/toolbar_separator_v.png);}.jxBarLeft label.toolbarLabel,.jxBarLeft ul.jxToolbar,.jxBarLeft li.jxToolItem,.jxBarRight label.toolbarLabel,.jxBarRight ul.jxToolbar,.jxBarRight li.jxToolItem{clear:both;}.verticalToolbar{width:auto;}.verticalToolbar label.toolbarLabel,.verticalToolbar ul.jxToolbar,.verticalToolbar li.jxToolItem{clear:both;}.jxTree,.jxTreeRoot{position:relative;list-style:none;margin:0;padding:0;}.jxTreeNest{list-style:none;margin:0;padding:0;background-repeat:repeat-y;background-position:left top;}.jxTree li,.jxTreeRoot li{position:relative;margin:0;padding:0;background-repeat:no-repeat;background-position:left top;white-space:nowrap;width:100%;}.jxTree li{margin-left:16px;}.jxTree li.jxDisabled,.jxTreeRoot li.jxDisabled{opacity:.4;-moz-opacity:.4;filter:Alpha(opacity=40);}.jxTree a,.jxTreeRoot a{margin:0;padding:0;padding-left:2px;font-family:Arial,Helvetica,sans-serif;font-size:11px;color:#000;text-decoration:none;line-height:20px;}.jxTree a:hover,.jxTreeRoot a:hover{background-color:#E1EDFA;}.jxTree img,.jxTreeRoot img{border:0;width:16px;height:16px;}.jxTreeNest{background-image:url(../images/tree_vert_line.png);}.jxTreeNode{background-image:url(../images/tree_node.png);}.jxTreeNodeLast{background-image:url(../images/tree_last_node.png);}.jxTreeDropzone{text-decoration:underline;font-weight:bold;}.jxTreeSelectedNode{background-color:#AFD4FA;font-weight:bold;}.jxTreeCutNode{opacity:.4;-moz-opacity:.4;filter:Alpha(opacity=40);}.jxTreeCutNode a:hover{background-color:#fff;}.jxTreeNode a,.jxTreeNode img,.jxTreeNode input{vertical-align:middle;}.jxTreeNodeLast a,.jxTreeNodeLast img,.jxTreeNodeLast input{vertical-align:middle;}.jxTreeNodeIcon{margin:0;}
\ No newline at end of file

Modified: sandbox/jx2/jx/lib/jxskin_delicious.css
===================================================================
--- sandbox/jx2/jx/lib/jxskin_delicious.css	2008-08-28 14:43:25 UTC (rev 1486)
+++ sandbox/jx2/jx/lib/jxskin_delicious.css	2008-08-28 15:02:33 UTC (rev 1487)
@@ -1 +1,24 @@
-body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}ol,ul{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;}q:before,q:after{content:'';}a{outline:none;}.png24{filter:expression(Jx.applyPNGFilter(this));}.jxClearer{display:block;position:relative;float:none;clear:both;font-size:0;line-height:0;width:0;height:0;margin:0;padding:0;}.jxDisabled{opacity:.4;filter:Alpha(opacity=40);}iframe.jxIframeShim{position:absolute;top:0;left:0;width:100%;height:100%;filter:Alpha(opacity:0);opacity:0;z-index:-1;}div.jxButtonContainer{display:block;position:relative;float:left;margin:2px;padding:0;border:none;}a.jxButton{display:block;position:relative;float:left;margin:0;padding:0 0 0 3px;border:none;background-image:url(../images/delicious/button_bg.png);background-position:left -56px;background-repeat:no-repeat;text-decoration:none;}ul.jxToolbar a.jxButton{background-position:left top;}span.jxButtonContent{display:block;position:relative;float:left;font-size:0;line-height:0;margin:0;padding:6px 6px 6px 3px;border:none;background-image:url(../images/delicious/button_bg.png);background-position:right -56px;background-repeat:no-repeat;}ul.jxToolbar span.jxButtonContent{background-position:right top;}a.jxButton:hover{background-position:left -224px;}ul.jxToolbar a.jxButton:hover{background-position:left -56px;}a.jxButton:hover span.jxButtonContent{background-position:right -224px;}ul.jxToolbar a.jxButton:hover span.jxButtonContent{background-position:right -56px;}ul.jxToolbar a.jxButtonActive,a.jxButtonActive{background-position:left -168px;}ul.jxToolbar a.jxButtonActive span.jxButtonContent,a.jxButtonActive span.jxButtonContent{background-position:right -168px;}ul.jxToolbar a.jxButtonActive:hover,a.jxButtonActive:hover{background-position:left -224px;}ul.jxToolbar a.jxButtonActive:hover span.jxButtonContent,a.jxButtonActive:hover span.jxButtonContent{background-position:right -224px;}ul.jxToolbar a.jxButton:active,a.jxButton:active,ul.jxToolbar a.jxButtonActive:active,a.jxButtonActive:active{background-position:left -112px;}ul.jxToolbar a.jxButton:active span.jxButtonContent,a.jxButton:active span.jxButtonContent,ul.jxToolbar a.jxButtonActive:active span.jxButtonContent,a.jxButtonActive:active span.jxButtonContent{background-position:right -112px;}ul.jxToolbar .jxDisabled a.jxButton:hover,ul.jxToolbar .jxDisabled a.jxButton:active,.jxDisabled a.jxButton:hover,.jxDisabled a.jxButton:active{background-position:left top;}ul.jxToolbar .jxDisabled a.jxButton:hover span.jxButtonContent,ul.jxToolbar .jxDisabled a.jxButton:active span.jxButtonContent,.jxDisabled a.jxButton:hover span.jxButtonContent,.jxDisabled a.jxButton:active span.jxButtonContent{background-position:right top;}img.jxButtonIcon{position:relative;float:left;width:16px;height:16px;background-position:center center;background-repeat:no-repeat;}span.jxButtonContent span{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:16px;}span.jxButtonContent span.jxButtonLabel{display:block;position:relative;float:left;cursor:pointer;margin:0;padding:0 4px 0 4px;color:#000;font-size:11px;}a.jxButtonMenu span.jxButtonContent span,a.jxButtonFlyout span.jxButtonContent span{padding-right:16px;background-image:url(../images/delicious/emblems.png);background-position:right -16px;background-repeat:no-repeat;}a.jxButtonMulti span.jxButtonContent,a.jxButtonFlyout span.jxButtonContent{padding-left:0;padding-right:0;}a.jxButtonMulti span.jxButtonLabel{padding-left:0;padding-right:0;}.jxFlyout .jxChrome{background-image:url(../images/delicious/flyout_chrome.png);padding:5px 5px 7px 6px;}.jxFlyout{position:absolute;display:block;clear:both;float:none;z-index:100;margin:0;padding:0;font-size:12px;line-height:14px;}.jxFlyoutContent{position:relative;display:block;overflow:auto;margin:6px 6px 8px 7px;}.jxFlyout .jxBarRight,.jxFlyout .jxBarLeft{float:left;height:auto;width:auto;}.jxChrome{position:absolute;display:block;font-size:0;line-height:0;z-index:-1;width:100%;height:100%;top:0;left:0;}.jxChromeTL{position:absolute;overflow:hidden;left:0;top:0;width:50%;height:50%;}.jxChromeTR{position:absolute;overflow:hidden;left:50%;top:0;width:50%;height:50%;}.jxChromeBL{position:absolute;overflow:hidden;left:0;top:50%;width:50%;height:50%;}.jxChromeBR{position:absolute;overflow:hidden;left:50%;top:50%;width:50%;height:50%;}.jxChromeTL img{position:absolute;top:0;left:0;}.jxChromeTR img{position:absolute;top:0;right:0;}.jxChromeBL img{position:absolute;bottom:0;left:0;}.jxChromeBR img{position:absolute;bottom:0;right:0;}.jxColorBar{position:relative;}table.jxColorGrid{position:relative;border-collapse:collapse;empty-cells:show;clear:both;}.jxColorGrid td{border:1px solid #000;}.jxColorGrid td.emptyCell{border:0 solid #000;}.jxColorGrid td.emptyCell span{display:block;width:7px;height:7px;line-height:0;font-size:0;border:0 solid #000;padding:1px;margin:0;}.jxColorGrid a.colorSwatch{display:block;width:7px;height:7px;line-height:0;font-size:0;border:0 solid #000;margin:0;padding:1px;}.jxColorGrid a.borderWhite:hover{border:1px solid #fff;padding:0;}.jxColorGrid a.borderBlack:hover{border:1px solid #000;padding:0;}input.jxHexInput{width:55px;vertical-align:middle;}input.jxAlphaInput{width:30px;vertical-align:middle;}div.jxColorPreview{float:left;position:relative;width:20px;height:20px;border:1px solid #000;margin:2px;vertical-align:middle;background-image:url('../images/grid.png');}span.jxButtonContent span.jxButtonSwatch{display:block;float:left;width:14px;height:14px;border:1px solid #000;background-image:url('../images/grid.png');padding-right:0!important;}span.jxButtonContent span.jxButtonSwatch span{display:block;width:14px;height:14px;position:absolute;padding-right:0;}div.jxColorPreview img{position:absolute;z-index:0;}div.jxColorPreview div.jxColorSelected{width:20px;height:10px;position:absolute;z-index:1;}div.jxColorPreview div.jxColorHover{width:20px;height:10px;position:absolute;bottom:0;z-index:1;}label.jxColorLabel,label.jxAlphaLabel{width:auto;font-family:Arial,sans-serif;font-size:12px;line-height:24px;padding:2px;vertical-align:middle;}a.jxColorClose{position:absolute;top:0;right:0;width:16px;height:16px;}a.jxColorClose img{width:16px;height:16px;}div.jxCombo{position:relative;display:block;padding:0;padding-right:22px;margin:0;border:0;font-family:Arial,Helvetica,sans-serif;font-size:11px;z-index:1;line-height:24px;float:left;}.jxComboDiscloser{position:absolute;right:3px;top:3px;}.jxComboDiscloser img{width:16px;height:16px;border:0;}.jxComboInput{position:relative;display:block;float:left;line-height:14px;height:14px;padding:5px 10px;border:1px solid #f0f0f0;}div.jxComboOptions{position:absolute;height:auto;background-color:#fff;overflow:auto;border:1px solid #333;color:#000;z-index:1;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:24px;}div.jxComboOptions ul{position:relative;display:block;margin:0;padding:0;border:none;list-style-type:none;}div.jxComboOptions li{position:relative;display:block;margin:0;padding:0;border:none;height:20px;}div.jxComboOptions a{position:relative;display:block;text-decoration:none;white-space:nowrap;line-height:20px;height:20px;color:#000;background-image:none;border:1px solid #fff;padding:0 4px;}div.jxComboOptions a:hover{background-image:url(../images/graphic/menu_bg.png);background-repeat:repeat-x;border:1px solid #C5E0FF;background-color:#CDE5FF;}div.jxComboOptions a.selected{font-weight:bold;background-color:#ffffb3;}.jxDialog .jxChrome{background-image:url(../images/delicious/dialog_chrome.png);}.jxDialog{display:block;z-index:1;}.jxDialogContentContainer{z-index:1;margin:0 11px 13px 12px;border:1px solid #b7b7b7;background-color:#f0f0f0;}.jxDialogModal{position:absolute;display:block;top:0;left:0;width:100%;height:100%;background-color:#000;opacity:.2;filter:Alpha(opacity=20);}.jxDialogContent{display:block;position:relative;overflow:auto;padding:0;z-index:1;}.jxDialogTitle{display:block;position:relative;background-image:url(../images/a_pixel.png);text-align:center;height:24px;line-height:24px;z-index:1;margin:6px 6px 0 7px;}.jxDialogMin .jxDialogTitle{margin-bottom:8px;}.jxDialogMoveable{cursor:move;}.jxDialogLabel{font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:bold;line-height:21px;color:#000;white-space:nowrap;}.jxDialogResize{position:absolute;bottom:7px;right:6px;width:16px;height:16px;z-index:2;border:0;cursor:se-resize;background-image:url(../images/delicious/dialog_resize.png);}.jxDialogControls{position:absolute;top:3px;right:2px;height:16px;width:80px;}.jxDialogControls img{background-image:url('../images/panel_controls.png');background-repeat:no-repeat;border:0;margin:0;width:16px;height:16px;}.jxDialogClose img{background-position:0 -32px;}.jxDialogMenu img{background-position:0 -48px;}.jxDialogHelp img{background-position:0 -64px;}.jxDialogCollapse img{background-position:0 -16px;}.jxDialogMin .jxDialogCollapse img{background-position:0 0;}.jxDialogMax .jxDialogCollapse img{background-position:0 -16px;}.jxDialogLoading img{border:0;margin:0;width:16px;height:16px;visibility:hidden;position:absolute;top:1px;left:2px;}.jxDialogControls .jxButtonContainer,.jxDialogControls span.jxButtonContent,.jxDialogControls a.jxButton:hover span.jxButtonContent,.jxDialogControls a.jxButton:active span.jxButtonContent,.jxDialogControls a.jxButtonActive span.jxButtonContent,.jxDialogControls a.jxButtonActive:hover span.jxButtonContent,.jxDialogControls a.jxButtonActive:active span.jxButtonContent,.jxDialogControls .jxButtonDisabled a.jxButton span.jxButtonContent,.jxDialogControls .jxButtonDisabled a.jxButton:hover span.jxButtonContent,.jxDialogControls .jxButtonDisabled a.jxButton:active span.jxButtonContent,.jxDialogControls a.jxButton,.jxDialogControls a.jxButton:hover,.jxDialogControls a.jxButton:active,.jxDialogControls a.jxButtonActive,.jxDialogControls a.jxButtonActive:hover,.jxDialogControls a.jxButtonActive:active,.jxDialogControls .jxButtonDisabled a.jxButton,.jxDialogControls .jxButtonDisabled a.jxButton:hover,.jxDialogControls .jxButtonDisabled a.jxButton:active{padding:0;margin:0;border:none;background-color:transparent;background-image:none;}.jxDialogControls a.jxButtonMenu span.jxButtonContent,.jxDialogControls a.jxButtonFlyout span.jxButtonContent{background-image:none;}.jxDialogControls a.jxButtonMenu span.jxButtonContent span,.jxDialogControls a.jxButtonFlyout span.jxButtonContent span{padding-right:0;}.jxDialogControls .jxToolbarContainer{position:absolute;right:0;background-image:none;background-color:transparent;margin:0;padding:0;border:none;}.jxDialogControls ul.jxToolbar{float:right;background-image:none;background-color:transparent;margin:0;padding:0;border:none;}.jxDialogControls .jxBarTop,.jxDialogControls .jxBarBottom,.jxDialogControls .jxBarLeft,.jxDialogControls .jxBarRight{width:auto;height:auto;}.jxDialogControls .jxBarTop ul.jxToolbar,.jxDialogControls .jxBarBottom ul.jxToolbar,.jxDialogControls .jxBarLeft ul.jxToolbar,.jxDialogControls .jxBarRight ul.jxToolbar,.jxDialogControls .jxBarTop li.jxToolItem,.jxDialogControls .jxBarBottom li.jxToolItem,.jxDialogControls .jxBarLeft li.jxToolItem,.jxDialogControls .jxBarRight li.jxToolItem{background-image:none;background-color:transparent;margin:0;padding:0;border:none;}.jxGridContainer{position:absolute;top:0;left:0;border-left:0 solid #96a7b4;border-top:0 solid #96a7b4;border-right:1px solid #96a7b4;border-bottom:1px solid #96a7b4;overflow:hidden;font-family:Arial,Verdana,sans-serif;font-size:12px;font-weight:normal;}.jxGridTable{position:relative;table-layout:fixed;border-collapse:collapse;border-style:none;width:0;}.jxGridColHeadHide{height:0;line-height:0;font-size:0;background-color:#fff;white-space:normal;}.jxGridColHeadHide p,.jxGridRowHeadHide p{font-size:0;line-height:0;height:0;margin:0;padding:0;}.jxGridRowHeadHide{width:0;white-space:normal;}.jxGridCell{border-right:1px solid #cecece;border-bottom:1px solid #cecece;overflow:hidden;padding-left:3px;padding-right:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.jxGridColHead{border-top:0 solid #96a7b4;border-right:1px solid #96a7b4;border-bottom:1px solid #96a7b4;border-left:0 solid #96a7b4;background-color:#ebebeb;text-align:center;font-weight:bold;color:#45525f;}.jxGridRowHead{border-top:0 solid #96a7b4;border-right:1px solid #96a7b4;border-bottom:1px solid #96a7b4;border-left:0 solid #96a7b4;background-color:#ebebeb;text-align:center;font-weight:bold;color:#45525f;}.jxGridRowAll{background-color:#fff;}.jxGridRowOdd td{border-right:1px solid #999;border-bottom:1px solid #999;}.jxGridRowEven td{border-right:1px solid #999;border-bottom:1px solid #999;}.jxGridRowSelected{background-color:#dae6f2;}.jxGridColumnSelected{background-color:#dae6f2;}.jxGridCellSelected{background-color:#dae6f2;}.jxGridRowPrelight{background-color:#f2f2f2;}.jxGridRowHeaderPrelight{background-color:#dfdfdf;}.jxGridColumnHeaderPrelight{background-color:#dfdfdf;}.jxGridRowHeaderSelected{background-color:#6d7f8e;color:#fff;}.jxGridColumnHeaderSelected{background-color:#6d7f8e;color:#fff;}.jxMenuContainer .jxChrome{background-image:url(../images/delicious/flyout_chrome.png);padding:5px 5px 7px 6px;}a.jxButtonMenu span.jxMenuItemSpan{padding-right:16px;}.jxMenuContainer{position:absolute;display:block;z-index:200;padding:0;}ul.jxMenu,ul.jxSubMenu{display:block;position:relative;list-style-type:none;margin:0;padding:6px 6px 8px 7px;}li.jxMenuItemContainer{display:block;position:relative;margin:0;padding:0;}a.jxMenuItem{display:block;position:relative;text-decoration:none;border:1px solid #fff;font-family:Arial,Helvetica,sans-serif;font-size:11px;text-decoration:none;margin:2px 2px;padding:0;color:#000;}a.jxMenuItem:hover{background-image:url(../images/graphic/menu_bg.png);border:1px solid #C5E0FF;background-color:#CDE5FF;}a.jxMenuItem:hover span.jxMenuItemContent{border:1px solid #F4F9FF;border-bottom:1px solid #E4F0FF;}span.jxMenuItemContent{display:block;position:relative;font-family:Arial,Helvetica,sans-serif;font-size:0;line-height:0;white-space:nowrap;padding:0;margin:0;border:1px solid #fff;}a.jxButtonSubMenu span.jxMenuItemContent,a.jxButtonSubMenu:hover span.jxMenuItemContent{background-image:url(../images/delicious/emblems.png);background-position:right -48px;background-repeat:no-repeat;padding-right:20px;}img.jxMenuItemIcon{position:absolute;top:0;left:0;display:inline;width:16px;height:16px;background-position:left center;background-repeat:no-repeat;}span.jxMenuItemContent span{display:block;position:relative;cursor:pointer;margin:0;padding:0 0 0 20px;font-size:16px;line-height:16px;}span.jxMenuItemContent span.jxMenuItemLabel{color:#000;font-size:12px;}a.jxMenuItemActive img.jxMenuItemIcon{background-image:url(../images/delicious/emblems.png);background-position:2px -64px;background-repeat:no-repeat;}.jxMenuItemSet a.jxMenuItemActive img.jxMenuItemIcon{background-image:url(../images/delicious/emblems.png);background-position:2px -80px;background-repeat:no-repeat;}li.jxMenuItemDisabled span.jxMenuItemLabel{color:#ccc;}li.jxMenuItemDisabled a.jxMenuItem:hover{background-color:#fff;border:1px solid #fff;}ul.jxMenu span.jxMenuSeparator{display:block;font-size:10px;line-height:10px;background-image:url(../images/toolbar_separator_v.png);background-repeat:repeat-x;background-position:left center;}.jxPanel{display:block;position:relative;}.jxPanelContentContainer{overflow:hidden;background-color:#f0f0f0;}.jxPanelContent{position:relative;display:block;overflow:auto;background-color:#fff;margin:0;padding:0;}.jxPanelTitle{display:block;position:relative;background-image:url(../images/graphic/snap_bg.png);background-repeat:repeat-x;background-position:left top;height:22px;margin:0;padding:0;}.jxPanelLabel{padding-left:25px;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:bold;line-height:21px;color:#000;white-space:nowrap;}.jxPanelControls{position:absolute;top:3px;right:2px;height:16px;width:80px;}.jxPanelControls img{background-image:url('../images/panel_controls.png');background-repeat:no-repeat;border:0;margin:0;width:16px;height:16px;}.jxPanelClose img{background-position:0 -32px;}.jxPanelMenu img{background-position:0 -48px;}.jxPanelHelp img{background-position:0 -64px;}.jxPanelCollapse img{background-position:0 -16px;}.jxPanelMin .jxPanelCollapse img{background-position:0 0;}.jxPanelMax .jxPanelCollapse img{background-position:0 -16px;}.jxPanelMaximize img{background-position:0 0;}.jxPanelLoading img{border:0;margin:0;width:16px;height:16px;visibility:hidden;position:absolute;top:1px;left:2px;}.jxPanelControls .jxButtonContainer,.jxPanelControls span.jxButtonContent,.jxPanelControls a.jxButton:hover span.jxButtonContent,.jxPanelControls a.jxButton:active span.jxButtonContent,.jxPanelControls a.jxButtonActive span.jxButtonContent,.jxPanelControls a.jxButtonActive:hover span.jxButtonContent,.jxPanelControls a.jxButtonActive:active span.jxButtonContent,.jxPanelControls .jxButtonDisabled a.jxButton span.jxButtonContent,.jxPanelControls .jxButtonDisabled a.jxButton:hover span.jxButtonContent,.jxPanelControls .jxButtonDisabled a.jxButton:active span.jxButtonContent,.jxPanelControls a.jxButton,.jxPanelControls a.jxButton:hover,.jxPanelControls a.jxButton:active,.jxPanelControls a.jxButtonActive,.jxPanelControls a.jxButtonActive:hover,.jxPanelControls a.jxButtonActive:active,.jxPanelControls .jxButtonDisabled a.jxButton,.jxPanelControls .jxButtonDisabled a.jxButton:hover,.jxPanelControls .jxButtonDisabled a.jxButton:active{padding:0;margin:0;border:none;background-color:transparent;background-image:none;}.jxPanelControls a.jxButtonMenu span.jxButtonContent,.jxPanelControls a.jxButtonFlyout span.jxButtonContent{background-image:none;}.jxPanelControls a.jxButtonMenu span.jxButtonContent span,.jxPanelControls a.jxButtonFlyout span.jxButtonContent span{padding-right:0;}.jxPanelControls .jxToolbarContainer{position:absolute;right:0;background-image:none;background-color:transparent;margin:0;padding:0;border:none;}.jxPanelControls ul.jxToolbar{float:right;background-image:none;background-color:transparent;margin:0;padding:0;border:none;}.jxPanelControls .jxBarTop,.jxPanelControls .jxBarBottom,.jxPanelControls .jxBarLeft,.jxPanelControls .jxBarRight{width:auto;height:auto;}.jxPanelControls .jxBarTop ul.jxToolbar,.jxPanelControls .jxBarBottom ul.jxToolbar,.jxPanelControls .jxBarLeft ul.jxToolbar,.jxPanelControls .jxBarRight ul.jxToolbar,.jxPanelControls .jxBarTop li.jxToolItem,.jxPanelControls .jxBarBottom li.jxToolItem,.jxPanelControls .jxBarLeft li.jxToolItem,.jxPanelControls .jxBarRight li.jxToolItem{border:none;background-image:none;background-color:transparent;margin:0;padding:0;border:none;}.jxSplitBarHorizontal{position:absolute;line-height:1px;width:5px;height:100%;cursor:col-resize;background-color:#f0f0f0;}.jxSplitBarVertical{position:absolute;line-height:1px;width:100%;height:5px;cursor:row-resize;background-color:#f0f0f0;}.jxSplitContainer{margin:0;}.jxSplitArea{overflow:hidden;}.jxSplitBarDrag{background-color:#eee;}.jxTabSetContainer{position:relative;display:block;width:200px;height:200px;margin:0;padding:0;border:1px solid #d8d8d8;background-color:#fff;}.jxTabSetContainer .jxToolbarContainer{z-index:auto;}.tabContent{display:none;position:relative;width:100%;height:100%;overflow:auto;}.tabContentActive{display:block;}.jxTabBoxTop,.jxTabBoxBottom,.jxTabBoxLeft,.jxTabBoxRight{overflow:visible;}.jxTabBoxTop .jxBarTop,.jxTabBoxBottom .jxBarBottom,.jxTabBoxLeft .jxBarLeft,.jxTabBoxRight .jxBarRight{position:absolute;}li.jxTabItem{margin:0;padding:0;}.jxBarTop li.jxTabItem,.jxBarBottom li.jxTabItem{border:none;}.jxBarLeft li.jxTabItem,.jxBarRight li.jxTabItem{border:none;}a.jxTab{display:block;position:relative;margin:0;padding:0;border:none;background-repeat:no-repeat;text-decoration:none;color:#000;}a.jxTab:hover,a.jxTab:active,a.jxTabActive,a.jxTabActive:hover,a.jxTabActive:active,.jxDisabled a.jxButton:hover,.jxDisabled a.jxButton:active{border:none;}span.jxTabContent{display:block;font-size:0;line-height:0;margin:0;padding:0;background-repeat:no-repeat;}img.jxTabIcon{position:relative;width:16px;height:16px;background-position:center center;background-repeat:no-repeat;}span.jxTabLabel{display:block;position:relative;cursor:pointer;margin:0;padding:0;color:#000;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:16px;}.jxTabBoxTop{margin-top:27px;}.jxTabBoxTop .jxBarTop{top:-27px;}.jxBarTop a.jxTab{float:left;padding-left:6px;background-image:url(../images/graphic/tab_top_bg.png);background-position:left 2px;border-bottom:1px solid #999;}.jxBarTop span.jxTabContent{float:left;padding:6px 6px 6px 0;background-image:url(../images/graphic/tab_top_bg.png);background-position:right 2px;}.jxBarTop img.jxTabIcon{float:left;}.jxBarTop span.jxTabLabel{float:left;padding:0 4px 0 4px;}.jxBarTop a.jxTab:hover{background-position:left top;}.jxBarTop a.jxTab:hover span.jxTabContent{background-position:right top;}.jxBarTop a.jxTabActive{background-position:left -56px;border-bottom:1px solid #fff;}.jxBarTop a.jxTabActive span.jxTabContent{background-position:right -56px;}.jxTabBoxBottom{margin-bottom:27px;}.jxTabBoxBottom .jxBarBottom{bottom:-27px;}.jxBarBottom li.jxTabItem{float:left;}.jxBarBottom a.jxTab{float:left;padding-left:6px;background-image:url(../images/graphic/tab_bottom_bg.png);background-position:left -2px;border-top:1px solid #999;}.jxBarBottom span.jxTabContent{float:left;padding:6px 6px 6px 0;background-image:url(../images/graphic/tab_bottom_bg.png);background-position:right -2px;}.jxBarBottom img.jxTabIcon{float:left;}.jxBarBottom span.jxTabLabel{float:left;padding:0 4px 0 4px;}.jxBarBottom a.jxTab:hover{background-position:left top;}.jxBarBottom a.jxTab:hover span.jxTabContent{background-position:right top;}.jxBarBottom a.jxTabActive{background-position:left -56px;border-top:1px solid #fff;}.jxBarBottom a.jxTabActive span.jxTabContent{background-position:right -56px;}.jxTabBoxLeft{margin-left:27px;}.jxTabBoxLeft .jxBarLeft{left:-27px;}.jxBarLeft a.jxTab{padding-top:6px;background-image:url(../images/graphic/tab_left_bg.png);background-position:2px top;border-right:1px solid #999;}.jxBarLeft span.jxTabContent{padding:0 6px 6px 6px;background-image:url(../images/graphic/tab_left_bg.png);background-position:2px bottom;}.jxBarLeft a.jxTab:hover{background-position:left top;}.jxBarLeft a.jxTab:hover span.jxTabContent{background-position:left bottom;}.jxBarLeft a.jxTabActive{background-position:-56px top;border-right:1px solid #fff;}.jxBarLeft a.jxTabActive span.jxTabContent{background-position:-56px bottom;}.jxTabBoxRight{margin-right:27px;}.jxTabBoxRight .jxBarRight{right:-27px;}.jxBarRight a.jxTab{padding-top:6px;background-image:url(../images/graphic/tab_right_bg.png);background-position:-2px top;border-left:1px solid #999;}.jxBarRight span.jxTabContent{padding:0 6px 6px 6px;background-image:url(../images/graphic/tab_right_bg.png);background-position:-2px bottom;}.jxBarRight a.jxTab:hover{background-position:left top;}.jxBarRight a.jxTab:hover span.jxTabContent{background-position:left bottom;}.jxBarRight a.jxTabActive{background-position:-56px top;border-left:1px solid #fff;}.jxBarRight a.jxTabActive span.jxTabContent{background-position:-56px bottom;}.jxToolbarContainer{display:block;position:relative;z-index:1;margin:0;padding:0;border:0;background-color:#f0f0f0;}.jxBarTop,.jxBarBottom{width:100%;height:auto;background-repeat:repeat-x;background-position:bottom;}.jxBarLeft,.jxBarRight{width:auto;height:100%;background-repeat:repeat-y;background-position:right;}.toolbarLabel{display:block;position:relative;float:left;margin:0;padding:0;font-family:Arial,Hevetica,sans-serif;font-size:11px;line-height:24px;color:#000;}ul.jxToolbar{display:block;position:relative;float:left;list-style-type:none;margin:0;padding:0;}.jxBarTop ul.jxToolbar,.jxBarBottom ul.jxToolbar,.jxBarLeft ul.jxToolbar,.jxBarRight ul.jxToolbar{border:none;}li.jxToolItem{display:block;position:relative;float:left;font-size:0;line-height:0;padding:0;margin:0;}.jxBarTop li.jxToolItem,.jxBarBottom li.jxToolItem,.jxBarLeft li.jxToolItem,.jxBarRight li.jxToolItem{border:none;}li.jxToolItem .separator{display:block;position:relative;float:left;font-size:0;line-height:0;width:8px;height:20px;border:0;margin:0;padding:4px;background-repeat:no-repeat;background-position:center center;}.jxBarTop li.jxToolItem span.separator,.jxBarBottom li.jxToolItem span.separator{background-image:url(../images/toolbar_separator_h.png);}.jxBarLeft li.jxToolItem span.separator,.jxBarRight li.jxToolItem span.separator{background-image:url(../images/toolbar_separator_v.png);}.jxBarLeft label.toolbarLabel,.jxBarLeft ul.jxToolbar,.jxBarLeft li.jxToolItem,.jxBarRight label.toolbarLabel,.jxBarRight ul.jxToolbar,.jxBarRight li.jxToolItem{clear:both;}.verticalToolbar{width:auto;}.verticalToolbar label.toolbarLabel,.verticalToolbar ul.jxToolbar,.verticalToolbar li.jxToolItem{clear:both;}.jxTree,.jxTreeRoot{position:relative;display:block;list-style:none;margin:0;padding:0;}.jxTreeNest{list-style:none;margin:0;padding:0;background-repeat:repeat-y;background-position:left top;}.jxTree li,.jxTreeRoot li{position:relative;display:block;margin:0;padding:0;background-repeat:no-repeat;background-position:left top;white-space:nowrap;width:100%;font-size:0;line-height:0;}.jxTree li{margin-left:16px;}.jxTree li.jxDisabled,.jxTreeRoot li.jxDisabled{opacity:.4;-moz-opacity:.4;filter:Alpha(opacity=40);}.jxTree a,.jxTreeRoot a{position:relative;display:block;margin:0 0 0 14px;padding:0 0 0 20px;z-index:0;font-family:Arial,Helvetica,sans-serif;font-size:11px;color:#000;text-decoration:none;line-height:20px;height:20px;}.jxTree a:hover,.jxTreeRoot a:hover{background-image:url(../images/graphic/menu_bg.png);background-color:#CDE5FF;}.jxTreeNest{background-image:url(../images/tree_vert_line.png);}.jxTreeImage,.jxTreeIcon{position:absolute;display:inline;left:0;top:0;width:16px;height:20px;z-index:1;background-image:url(../images/delicious/tree.png);background-repeat:no-repeat;border:0;margin:0;}.jxTreeIcon{left:2px;}.jxTreeBranchOpen .jxTreeIcon,.jxTreeBranchLastOpen .jxTreeIcon{background-position:left -40px;}.jxTreeBranchOpen .jxTreeImage{background-position:left -100px;}.jxTreeBranchLastOpen .jxTreeImage{background-position:left -160px;}.jxTreeBranchClosed .jxTreeIcon,.jxTreeBranchLastClosed .jxTreeIcon{background-position:left -20px;}.jxTreeBranchClosed .jxTreeImage{background-position:left -80px;}.jxTreeBranchLastClosed .jxTreeImage{background-position:left -140px;}.jxTreeItem .jxTreeIcon,.jxTreeItemLast .jxTreeIcon{background-position:left 0;}.jxTreeItem .jxTreeImage{background-position:left -60px;}.jxTreeItemLast .jxTreeImage{background-position:left -120px;}.jxTreeItemSelected{background-color:#AFD4FA;font-weight:bold;}.jxTreeItem a,.jxTreeItem img,.jxTreeItem input,.jxTreeItemLast a,.jxTreeItemLast img,.jxTreeItemLast input,.jxTreeBranch a,.jxTreeBranch img,.jxTreeBranch input,.jxTreeBranchLast a,.jxTreeBranchLast img,.jxTreeBranchLast input{vertical-align:middle;}
\ No newline at end of file
+/*
+ * reset.css - Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+ * Code licensed under the BSD License: http://developer.yahoo.net/yui/license.txt
+ *
+ * Copyright (c) 2006-2008, DM Solutions Group Inc.  All rights reserved
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}ol,ul{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;}q:before,q:after{content:'';}a{outline:none;}.png24{filter:expression(Jx.applyPNGFilter(this));}.jxClearer{display:block;position:relative;float:none;clear:both;font-size:0;line-height:0;width:0;height:0;margin:0;padding:0;}.jxDisabled{opacity:.4;filter:Alpha(opacity=40);}iframe.jxIframeShim{position:absolute;top:0;left:0;width:100%;height:100%;filter:Alpha(opacity:0);opacity:0;z-index:-1;}div.jxButtonContainer{display:block;position:relative;float:left;margin:2px;padding:0;border:none;}a.jxButton{display:block;position:relative;float:left;margin:0;padding:0 0 0 3px;border:none;background-image:url(../images/delicious/button_bg.png);background-position:left -56px;background-repeat:no-repeat;text-decoration:none;}ul.jxToolbar a.jxButton{background-position:left top;}span.jxButtonContent{display:block;position:relative;float:left;font-size:0;line-height:0;margin:0;padding:6px 6px 6px 3px;border:none;background-image:url(../images/delicious/button_bg.png);background-position:right -56px;background-repeat:no-repeat;}ul.jxToolbar span.jxButtonContent{background-position:right top;}a.jxButton:hover{background-position:left -224px;}ul.jxToolbar a.jxButton:hover{background-position:left -56px;}a.jxButton:hover span.jxButtonContent{background-position:right -224px;}ul.jxToolbar a.jxButton:hover span.jxButtonContent{background-position:right -56px;}ul.jxToolbar a.jxButtonActive,a.jxButtonActive{background-position:left -168px;}ul.jxToolbar a.jxButtonActive span.jxButtonContent,a.jxButtonActive span.jxButtonContent{background-position:right -168px;}ul.jxToolbar a.jxButtonActive:hover,a.jxButtonActive:hover{background-position:left -224px;}ul.jxToolbar a.jxButtonActive:hover span.jxButtonContent,a.jxButtonActive:hover span.jxButtonContent{background-position:right -224px;}ul.jxToolbar a.jxButton:active,a.jxButton:active,ul.jxToolbar a.jxButtonActive:active,a.jxButtonActive:active{background-position:left -112px;}ul.jxToolbar a.jxButton:active span.jxButtonContent,a.jxButton:active span.jxButtonContent,ul.jxToolbar a.jxButtonActive:active span.jxButtonContent,a.jxButtonActive:active span.jxButtonContent{background-position:right -112px;}ul.jxToolbar .jxDisabled a.jxButton:hover,ul.jxToolbar .jxDisabled a.jxButton:active,.jxDisabled a.jxButton:hover,.jxDisabled a.jxButton:active{background-position:left top;}ul.jxToolbar .jxDisabled a.jxButton:hover span.jxButtonContent,ul.jxToolbar .jxDisabled a.jxButton:active span.jxButtonContent,.jxDisabled a.jxButton:hover span.jxButtonContent,.jxDisabled a.jxButton:active span.jxButtonContent{background-position:right top;}img.jxButtonIcon{position:relative;float:left;width:16px;height:16px;background-position:center center;background-repeat:no-repeat;}span.jxButtonContent span{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:16px;}span.jxButtonContent span.jxButtonLabel{display:block;position:relative;float:left;cursor:pointer;margin:0;padding:0 4px 0 4px;color:#000;font-size:11px;}a.jxButtonMenu span.jxButtonContent span,a.jxButtonFlyout span.jxButtonContent span{padding-right:16px;background-image:url(../images/delicious/emblems.png);background-position:right -16px;background-repeat:no-repeat;}a.jxButtonMulti span.jxButtonContent,a.jxButtonFlyout span.jxButtonContent{padding-left:0;padding-right:0;}a.jxButtonMulti span.jxButtonLabel{padding-left:0;padding-right:0;}.jxFlyout .jxChrome{background-image:url(../images/delicious/flyout_chrome.png);padding:5px 5px 7px 6px;}.jxFlyout{position:absolute;display:block;clear:both;float:none;z-index:100;margin:0;padding:0;font-size:12px;line-height:14px;}.jxFlyoutContent{position:relative;display:block;overflow:auto;margin:6px 6px 8px 7px;}.jxFlyout .jxBarRight,.jxFlyout .jxBarLeft{float:left;height:auto;width:auto;}.jxChrome{position:absolute;display:block;font-size:0;line-height:0;z-index:-1;width:100%;height:100%;top:0;left:0;}.jxChromeTL{position:absolute;overflow:hidden;left:0;top:0;width:50%;height:50%;}.jxChromeTR{position:absolute;overflow:hidden;left:50%;top:0;width:50%;height:50%;}.jxChromeBL{position:absolute;overflow:hidden;left:0;top:50%;width:50%;height:50%;}.jxChromeBR{position:absolute;overflow:hidden;left:50%;top:50%;width:50%;height:50%;}.jxChromeTL img{position:absolute;top:0;left:0;}.jxChromeTR img{position:absolute;top:0;right:0;}.jxChromeBL img{position:absolute;bottom:0;left:0;}.jxChromeBR img{position:absolute;bottom:0;right:0;}.jxColorBar{position:relative;}table.jxColorGrid{position:relative;border-collapse:collapse;empty-cells:show;clear:both;}.jxColorGrid td{border:1px solid #000;}.jxColorGrid td.emptyCell{border:0 solid #000;}.jxColorGrid td.emptyCell span{display:block;width:7px;height:7px;line-height:0;font-size:0;border:0 solid #000;padding:1px;margin:0;}.jxColorGrid a.colorSwatch{display:block;width:7px;height:7px;line-height:0;font-size:0;border:0 solid #000;margin:0;padding:1px;}.jxColorGrid a.borderWhite:hover{border:1px solid #fff;padding:0;}.jxColorGrid a.borderBlack:hover{border:1px solid #000;padding:0;}input.jxHexInput{width:55px;vertical-align:middle;}input.jxAlphaInput{width:30px;vertical-align:middle;}div.jxColorPreview{float:left;position:relative;width:20px;height:20px;border:1px solid #000;margin:2px;vertical-align:middle;background-image:url('../images/grid.png');}span.jxButtonContent span.jxButtonSwatch{display:block;float:left;width:14px;height:14px;border:1px solid #000;background-image:url('../images/grid.png');padding-right:0!important;}span.jxButtonContent span.jxButtonSwatch span{display:block;width:14px;height:14px;position:absolute;padding-right:0;}div.jxColorPreview img{position:absolute;z-index:0;}div.jxColorPreview div.jxColorSelected{width:20px;height:10px;position:absolute;z-index:1;}div.jxColorPreview div.jxColorHover{width:20px;height:10px;position:absolute;bottom:0;z-index:1;}label.jxColorLabel,label.jxAlphaLabel{width:auto;font-family:Arial,sans-serif;font-size:12px;line-height:24px;padding:2px;vertical-align:middle;}a.jxColorClose{position:absolute;top:0;right:0;width:16px;height:16px;}a.jxColorClose img{width:16px;height:16px;}div.jxCombo{position:relative;display:block;padding:0;padding-right:22px;margin:0;border:0;font-family:Arial,Helvetica,sans-serif;font-size:11px;z-index:1;line-height:24px;float:left;}.jxComboDiscloser{position:absolute;right:3px;top:3px;}.jxComboDiscloser img{width:16px;height:16px;border:0;}.jxComboInput{position:relative;display:block;float:left;line-height:14px;height:14px;padding:5px 10px;border:1px solid #f0f0f0;}div.jxComboOptions{position:absolute;height:auto;background-color:#fff;overflow:auto;border:1px solid #333;color:#000;z-index:1;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:24px;}div.jxComboOptions ul{position:relative;display:block;margin:0;padding:0;border:none;list-style-type:none;}div.jxComboOptions li{position:relative;display:block;margin:0;padding:0;border:none;height:20px;}div.jxComboOptions a{position:relative;display:block;text-decoration:none;white-space:nowrap;line-height:20px;height:20px;color:#000;background-image:none;border:1px solid #fff;padding:0 4px;}div.jxComboOptions a:hover{background-image:url(../images/graphic/menu_bg.png);background-repeat:repeat-x;border:1px solid #C5E0FF;background-color:#CDE5FF;}div.jxComboOptions a.selected{font-weight:bold;background-color:#ffffb3;}.jxDialog .jxChrome{background-image:url(../images/delicious/dialog_chrome.png);}.jxDialog{display:block;z-index:1;}.jxDialogContentContainer{z-index:1;margin:0 11px 13px 12px;border:1px solid #b7b7b7;background-color:#f0f0f0;}.jxDialogModal{position:absolute;display:block;top:0;left:0;width:100%;height:100%;background-color:#000;opacity:.2;filter:Alpha(opacity=20);}.jxDialogContent{display:block;position:relative;overflow:auto;padding:0;z-index:1;}.jxDialogTitle{display:block;position:relative;background-image:url(../images/a_pixel.png);text-align:center;height:24px;line-height:24px;z-index:1;margin:6px 6px 0 7px;}.jxDialogMin .jxDialogTitle{margin-bottom:8px;}.jxDialogMoveable{cursor:move;}.jxDialogLabel{font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:bold;line-height:21px;color:#000;white-space:nowrap;}.jxDialogResize{position:absolute;bottom:7px;right:6px;width:16px;height:16px;z-index:2;border:0;cursor:se-resize;background-image:url(../images/delicious/dialog_resize.png);}.jxDialogControls{position:absolute;top:3px;right:2px;height:16px;width:80px;}.jxDialogControls img{background-image:url('../images/panel_controls.png');background-repeat:no-repeat;border:0;margin:0;width:16px;height:16px;}.jxDialogClose img{background-position:0 -32px;}.jxDialogMenu img{background-position:0 -48px;}.jxDialogHelp img{background-position:0 -64px;}.jxDialogCollapse img{background-position:0 -16px;}.jxDialogMin .jxDialogCollapse img{background-position:0 0;}.jxDialogMax .jxDialogCollapse img{background-position:0 -16px;}.jxDialogLoading img{border:0;margin:0;width:16px;height:16px;visibility:hidden;position:absolute;top:1px;left:2px;}.jxDialogControls .jxButtonContainer,.jxDialogControls span.jxButtonContent,.jxDialogControls a.jxButton:hover span.jxButtonContent,.jxDialogControls a.jxButton:active span.jxButtonContent,.jxDialogControls a.jxButtonActive span.jxButtonContent,.jxDialogControls a.jxButtonActive:hover span.jxButtonContent,.jxDialogControls a.jxButtonActive:active span.jxButtonContent,.jxDialogControls .jxButtonDisabled a.jxButton span.jxButtonContent,.jxDialogControls .jxButtonDisabled a.jxButton:hover span.jxButtonContent,.jxDialogControls .jxButtonDisabled a.jxButton:active span.jxButtonContent,.jxDialogControls a.jxButton,.jxDialogControls a.jxButton:hover,.jxDialogControls a.jxButton:active,.jxDialogControls a.jxButtonActive,.jxDialogControls a.jxButtonActive:hover,.jxDialogControls a.jxButtonActive:active,.jxDialogControls .jxButtonDisabled a.jxButton,.jxDialogControls .jxButtonDisabled a.jxButton:hover,.jxDialogControls .jxButtonDisabled a.jxButton:active{padding:0;margin:0;border:none;background-color:transparent;background-image:none;}.jxDialogControls a.jxButtonMenu span.jxButtonContent,.jxDialogControls a.jxButtonFlyout span.jxButtonContent{background-image:none;}.jxDialogControls a.jxButtonMenu span.jxButtonContent span,.jxDialogControls a.jxButtonFlyout span.jxButtonContent span{padding-right:0;}.jxDialogControls .jxToolbarContainer{position:absolute;right:0;background-image:none;background-color:transparent;margin:0;padding:0;border:none;}.jxDialogControls ul.jxToolbar{float:right;background-image:none;background-color:transparent;margin:0;padding:0;border:none;}.jxDialogControls .jxBarTop,.jxDialogControls .jxBarBottom,.jxDialogControls .jxBarLeft,.jxDialogControls .jxBarRight{width:auto;height:auto;}.jxDialogControls .jxBarTop ul.jxToolbar,.jxDialogControls .jxBarBottom ul.jxToolbar,.jxDialogControls .jxBarLeft ul.jxToolbar,.jxDialogControls .jxBarRight ul.jxToolbar,.jxDialogControls .jxBarTop li.jxToolItem,.jxDialogControls .jxBarBottom li.jxToolItem,.jxDialogControls .jxBarLeft li.jxToolItem,.jxDialogControls .jxBarRight li.jxToolItem{background-image:none;background-color:transparent;margin:0;padding:0;border:none;}.jxGridContainer{position:absolute;top:0;left:0;border-left:0 solid #96a7b4;border-top:0 solid #96a7b4;border-right:1px solid #96a7b4;border-bottom:1px solid #96a7b4;overflow:hidden;font-family:Arial,Verdana,sans-serif;font-size:12px;font-weight:normal;}.jxGridTable{position:relative;table-layout:fixed;border-collapse:collapse;border-style:none;width:0;}.jxGridColHeadHide{height:0;line-height:0;font-size:0;background-color:#fff;white-space:normal;}.jxGridColHeadHide p,.jxGridRowHeadHide p{font-size:0;line-height:0;height:0;margin:0;padding:0;}.jxGridRowHeadHide{width:0;white-space:normal;}.jxGridCell{border-right:1px solid #cecece;border-bottom:1px solid #cecece;overflow:hidden;padding-left:3px;padding-right:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.jxGridColHead{border-top:0 solid #96a7b4;border-right:1px solid #96a7b4;border-bottom:1px solid #96a7b4;border-left:0 solid #96a7b4;background-color:#ebebeb;text-align:center;font-weight:bold;color:#45525f;}.jxGridRowHead{border-top:0 solid #96a7b4;border-right:1px solid #96a7b4;border-bottom:1px solid #96a7b4;border-left:0 solid #96a7b4;background-color:#ebebeb;text-align:center;font-weight:bold;color:#45525f;}.jxGridRowAll{background-color:#fff;}.jxGridRowOdd td{border-right:1px solid #999;border-bottom:1px solid #999;}.jxGridRowEven td{border-right:1px solid #999;border-bottom:1px solid #999;}.jxGridRowSelected{background-color:#dae6f2;}.jxGridColumnSelected{background-color:#dae6f2;}.jxGridCellSelected{background-color:#dae6f2;}.jxGridRowPrelight{background-color:#f2f2f2;}.jxGridRowHeaderPrelight{background-color:#dfdfdf;}.jxGridColumnHeaderPrelight{background-color:#dfdfdf;}.jxGridRowHeaderSelected{background-color:#6d7f8e;color:#fff;}.jxGridColumnHeaderSelected{background-color:#6d7f8e;color:#fff;}.jxMenuContainer .jxChrome{background-image:url(../images/delicious/flyout_chrome.png);padding:5px 5px 7px 6px;}a.jxButtonMenu span.jxMenuItemSpan{padding-right:16px;}.jxMenuContainer{position:absolute;display:block;z-index:200;padding:0;}ul.jxMenu,ul.jxSubMenu{display:block;position:relative;list-style-type:none;margin:0;padding:6px 6px 8px 7px;}li.jxMenuItemContainer{display:block;position:relative;margin:0;padding:0;}a.jxMenuItem{display:block;position:relative;text-decoration:none;border:1px solid #fff;font-family:Arial,Helvetica,sans-serif;font-size:11px;text-decoration:none;margin:2px 2px;padding:0;color:#000;}a.jxMenuItem:hover{background-image:url(../images/graphic/menu_bg.png);border:1px solid #C5E0FF;background-color:#CDE5FF;}a.jxMenuItem:hover span.jxMenuItemContent{border:1px solid #F4F9FF;border-bottom:1px solid #E4F0FF;}span.jxMenuItemContent{display:block;position:relative;font-family:Arial,Helvetica,sans-serif;font-size:0;line-height:0;white-space:nowrap;padding:0;margin:0;border:1px solid #fff;}a.jxButtonSubMenu span.jxMenuItemContent,a.jxButtonSubMenu:hover span.jxMenuItemContent{background-image:url(../images/delicious/emblems.png);background-position:right -48px;background-repeat:no-repeat;padding-right:20px;}img.jxMenuItemIcon{position:absolute;top:0;left:0;display:inline;width:16px;height:16px;background-position:left center;background-repeat:no-repeat;}span.jxMenuItemContent span{display:block;position:relative;cursor:pointer;margin:0;padding:0 0 0 20px;font-size:16px;line-height:16px;}span.jxMenuItemContent span.jxMenuItemLabel{color:#000;font-size:12px;}a.jxMenuItemActive img.jxMenuItemIcon{background-image:url(../images/delicious/emblems.png);background-position:2px -64px;background-repeat:no-repeat;}.jxMenuItemSet a.jxMenuItemActive img.jxMenuItemIcon{background-image:url(../images/delicious/emblems.png);background-position:2px -80px;background-repeat:no-repeat;}li.jxMenuItemDisabled span.jxMenuItemLabel{color:#ccc;}li.jxMenuItemDisabled a.jxMenuItem:hover{background-color:#fff;border:1px solid #fff;}ul.jxMenu span.jxMenuSeparator{display:block;font-size:10px;line-height:10px;background-image:url(../images/toolbar_separator_v.png);background-repeat:repeat-x;background-position:left center;}.jxPanel{display:block;position:relative;}.jxPanelContentContainer{overflow:hidden;background-color:#f0f0f0;}.jxPanelContent{position:relative;display:block;overflow:auto;background-color:#fff;margin:0;padding:0;}.jxPanelTitle{display:block;position:relative;background-image:url(../images/graphic/snap_bg.png);background-repeat:repeat-x;background-position:left top;height:22px;margin:0;padding:0;}.jxPanelLabel{padding-left:25px;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:bold;line-height:21px;color:#000;white-space:nowrap;}.jxPanelControls{position:absolute;top:3px;right:2px;height:16px;width:80px;}.jxPanelControls img{background-image:url('../images/panel_controls.png');background-repeat:no-repeat;border:0;margin:0;width:16px;height:16px;}.jxPanelClose img{background-position:0 -32px;}.jxPanelMenu img{background-position:0 -48px;}.jxPanelHelp img{background-position:0 -64px;}.jxPanelCollapse img{background-position:0 -16px;}.jxPanelMin .jxPanelCollapse img{background-position:0 0;}.jxPanelMax .jxPanelCollapse img{background-position:0 -16px;}.jxPanelMaximize img{background-position:0 0;}.jxPanelLoading img{border:0;margin:0;width:16px;height:16px;visibility:hidden;position:absolute;top:1px;left:2px;}.jxPanelControls .jxButtonContainer,.jxPanelControls span.jxButtonContent,.jxPanelControls a.jxButton:hover span.jxButtonContent,.jxPanelControls a.jxButton:active span.jxButtonContent,.jxPanelControls a.jxButtonActive span.jxButtonContent,.jxPanelControls a.jxButtonActive:hover span.jxButtonContent,.jxPanelControls a.jxButtonActive:active span.jxButtonContent,.jxPanelControls .jxButtonDisabled a.jxButton span.jxButtonContent,.jxPanelControls .jxButtonDisabled a.jxButton:hover span.jxButtonContent,.jxPanelControls .jxButtonDisabled a.jxButton:active span.jxButtonContent,.jxPanelControls a.jxButton,.jxPanelControls a.jxButton:hover,.jxPanelControls a.jxButton:active,.jxPanelControls a.jxButtonActive,.jxPanelControls a.jxButtonActive:hover,.jxPanelControls a.jxButtonActive:active,.jxPanelControls .jxButtonDisabled a.jxButton,.jxPanelControls .jxButtonDisabled a.jxButton:hover,.jxPanelControls .jxButtonDisabled a.jxButton:active{padding:0;margin:0;border:none;background-color:transparent;background-image:none;}.jxPanelControls a.jxButtonMenu span.jxButtonContent,.jxPanelControls a.jxButtonFlyout span.jxButtonContent{background-image:none;}.jxPanelControls a.jxButtonMenu span.jxButtonContent span,.jxPanelControls a.jxButtonFlyout span.jxButtonContent span{padding-right:0;}.jxPanelControls .jxToolbarContainer{position:absolute;right:0;background-image:none;background-color:transparent;margin:0;padding:0;border:none;}.jxPanelControls ul.jxToolbar{float:right;background-image:none;background-color:transparent;margin:0;padding:0;border:none;}.jxPanelControls .jxBarTop,.jxPanelControls .jxBarBottom,.jxPanelControls .jxBarLeft,.jxPanelControls .jxBarRight{width:auto;height:auto;}.jxPanelControls .jxBarTop ul.jxToolbar,.jxPanelControls .jxBarBottom ul.jxToolbar,.jxPanelControls .jxBarLeft ul.jxToolbar,.jxPanelControls .jxBarRight ul.jxToolbar,.jxPanelControls .jxBarTop li.jxToolItem,.jxPanelControls .jxBarBottom li.jxToolItem,.jxPanelControls .jxBarLeft li.jxToolItem,.jxPanelControls .jxBarRight li.jxToolItem{border:none;background-image:none;background-color:transparent;margin:0;padding:0;border:none;}.jxSplitBarHorizontal{position:absolute;line-height:1px;width:5px;height:100%;cursor:col-resize;background-color:#f0f0f0;z-index:1;}.jxSplitBarVertical{position:absolute;line-height:1px;width:100%;height:5px;cursor:row-resize;background-color:#f0f0f0;z-index:1;}.jxSplitContainer{margin:0;}.jxSplitArea{overflow:hidden;z-index:0;}.jxSplitBarDrag{background-color:#eee;}.jxTabSetContainer{position:relative;display:block;width:200px;height:200px;margin:0;padding:0;border:1px solid #d8d8d8;background-color:#fff;}.jxTabSetContainer .jxToolbarContainer{z-index:auto;}.tabContent{display:none;position:relative;width:100%;height:100%;overflow:auto;}.tabContentActive{display:block;}.jxTabBoxTop,.jxTabBoxBottom,.jxTabBoxLeft,.jxTabBoxRight{overflow:visible;}.jxTabBoxTop .jxBarTop,.jxTabBoxBottom .jxBarBottom,.jxTabBoxLeft .jxBarLeft,.jxTabBoxRight .jxBarRight{position:absolute;}li.jxTabItem{margin:0;padding:0;}.jxBarTop li.jxTabItem,.jxBarBottom li.jxTabItem{border:none;}.jxBarLeft li.jxTabItem,.jxBarRight li.jxTabItem{border:none;}a.jxTab{display:block;position:relative;margin:0;padding:0;border:none;background-repeat:no-repeat;text-decoration:none;color:#000;}a.jxTab:hover,a.jxTab:active,a.jxTabActive,a.jxTabActive:hover,a.jxTabActive:active,.jxDisabled a.jxButton:hover,.jxDisabled a.jxButton:active{border:none;}span.jxTabContent{display:block;font-size:0;line-height:0;margin:0;padding:0;background-repeat:no-repeat;}img.jxTabIcon{position:relative;width:16px;height:16px;background-position:center center;background-repeat:no-repeat;}span.jxTabLabel{display:block;position:relative;cursor:pointer;margin:0;padding:0;color:#000;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:16px;}.jxTabBoxTop{margin-top:27px;}.jxTabBoxTop .jxBarTop{top:-27px;}.jxBarTop a.jxTab{float:left;padding-left:6px;background-image:url(../images/graphic/tab_top_bg.png);background-position:left 2px;border-bottom:1px solid #999;}.jxBarTop span.jxTabContent{float:left;padding:6px 6px 6px 0;background-image:url(../images/graphic/tab_top_bg.png);background-position:right 2px;}.jxBarTop img.jxTabIcon{float:left;}.jxBarTop span.jxTabLabel{float:left;padding:0 4px 0 4px;}.jxBarTop a.jxTab:hover{background-position:left top;}.jxBarTop a.jxTab:hover span.jxTabContent{background-position:right top;}.jxBarTop a.jxTabActive{background-position:left -56px;border-bottom:1px solid #fff;}.jxBarTop a.jxTabActive span.jxTabContent{background-position:right -56px;}.jxTabBoxBottom{margin-bottom:27px;}.jxTabBoxBottom .jxBarBottom{bottom:-27px;}.jxBarBottom li.jxTabItem{float:left;}.jxBarBottom a.jxTab{float:left;padding-left:6px;background-image:url(../images/graphic/tab_bottom_bg.png);background-position:left -2px;border-top:1px solid #999;}.jxBarBottom span.jxTabContent{float:left;padding:6px 6px 6px 0;background-image:url(../images/graphic/tab_bottom_bg.png);background-position:right -2px;}.jxBarBottom img.jxTabIcon{float:left;}.jxBarBottom span.jxTabLabel{float:left;padding:0 4px 0 4px;}.jxBarBottom a.jxTab:hover{background-position:left top;}.jxBarBottom a.jxTab:hover span.jxTabContent{background-position:right top;}.jxBarBottom a.jxTabActive{background-position:left -56px;border-top:1px solid #fff;}.jxBarBottom a.jxTabActive span.jxTabContent{background-position:right -56px;}.jxTabBoxLeft{margin-left:27px;}.jxTabBoxLeft .jxBarLeft{left:-27px;}.jxBarLeft a.jxTab{padding-top:6px;background-image:url(../images/graphic/tab_left_bg.png);background-position:2px top;border-right:1px solid #999;}.jxBarLeft span.jxTabContent{padding:0 6px 6px 6px;background-image:url(../images/graphic/tab_left_bg.png);background-position:2px bottom;}.jxBarLeft a.jxTab:hover{background-position:left top;}.jxBarLeft a.jxTab:hover span.jxTabContent{background-position:left bottom;}.jxBarLeft a.jxTabActive{background-position:-56px top;border-right:1px solid #fff;}.jxBarLeft a.jxTabActive span.jxTabContent{background-position:-56px bottom;}.jxTabBoxRight{margin-right:27px;}.jxTabBoxRight .jxBarRight{right:-27px;}.jxBarRight a.jxTab{padding-top:6px;background-image:url(../images/graphic/tab_right_bg.png);background-position:-2px top;border-left:1px solid #999;}.jxBarRight span.jxTabContent{padding:0 6px 6px 6px;background-image:url(../images/graphic/tab_right_bg.png);background-position:-2px bottom;}.jxBarRight a.jxTab:hover{background-position:left top;}.jxBarRight a.jxTab:hover span.jxTabContent{background-position:left bottom;}.jxBarRight a.jxTabActive{background-position:-56px top;border-left:1px solid #fff;}.jxBarRight a.jxTabActive span.jxTabContent{background-position:-56px bottom;}.jxToolbarContainer{display:block;position:relative;z-index:1;margin:0;padding:0;border:0;background-color:#f0f0f0;}.jxBarTop,.jxBarBottom{width:100%;height:auto;background-repeat:repeat-x;background-position:bottom;}.jxBarLeft,.jxBarRight{width:auto;height:100%;background-repeat:repeat-y;background-position:right;}.toolbarLabel{display:block;position:relative;float:left;margin:0;padding:0;font-family:Arial,Hevetica,sans-serif;font-size:11px;line-height:24px;color:#000;}ul.jxToolbar{display:block;position:relative;float:left;list-style-type:none;margin:0;padding:0;}.jxBarTop ul.jxToolbar,.jxBarBottom ul.jxToolbar,.jxBarLeft ul.jxToolbar,.jxBarRight ul.jxToolbar{border:none;}li.jxToolItem{display:block;position:relative;float:left;font-size:0;line-height:0;padding:0;margin:0;}.jxBarTop li.jxToolItem,.jxBarBottom li.jxToolItem,.jxBarLeft li.jxToolItem,.jxBarRight li.jxToolItem{border:none;}li.jxToolItem .separator{display:block;position:relative;float:left;font-size:0;line-height:0;width:8px;height:20px;border:0;margin:0;padding:4px;background-repeat:no-repeat;background-position:center center;}.jxBarTop li.jxToolItem span.separator,.jxBarBottom li.jxToolItem span.separator{background-image:url(../images/toolbar_separator_h.png);}.jxBarLeft li.jxToolItem span.separator,.jxBarRight li.jxToolItem span.separator{background-image:url(../images/toolbar_separator_v.png);}.jxBarLeft label.toolbarLabel,.jxBarLeft ul.jxToolbar,.jxBarLeft li.jxToolItem,.jxBarRight label.toolbarLabel,.jxBarRight ul.jxToolbar,.jxBarRight li.jxToolItem{clear:both;}.verticalToolbar{width:auto;}.verticalToolbar label.toolbarLabel,.verticalToolbar ul.jxToolbar,.verticalToolbar li.jxToolItem{clear:both;}.jxTree,.jxTreeRoot{position:relative;display:block;list-style:none;margin:0;padding:0;}.jxTreeNest{list-style:none;margin:0;padding:0;background-repeat:repeat-y;background-position:left top;}.jxTree li,.jxTreeRoot li{position:relative;display:block;margin:0;padding:0;background-repeat:no-repeat;background-position:left top;white-space:nowrap;width:100%;font-size:0;line-height:0;}.jxTree li{margin-left:16px;}.jxTree li.jxDisabled,.jxTreeRoot li.jxDisabled{opacity:.4;-moz-opacity:.4;filter:Alpha(opacity=40);}.jxTree a,.jxTreeRoot a{position:relative;display:block;margin:0 0 0 14px;padding:0 0 0 20px;z-index:0;font-family:Arial,Helvetica,sans-serif;font-size:11px;color:#000;text-decoration:none;line-height:20px;height:20px;}.jxTree a:hover,.jxTreeRoot a:hover{background-image:url(../images/graphic/menu_bg.png);background-color:#CDE5FF;}.jxTreeNest{background-image:url(../images/tree_vert_line.png);}.jxTreeImage,.jxTreeIcon{position:absolute;display:inline;left:0;top:0;width:16px;height:20px;z-index:1;background-image:url(../images/delicious/tree.png);background-repeat:no-repeat;border:0;margin:0;}.jxTreeIcon{left:2px;}.jxTreeBranchOpen .jxTreeIcon,.jxTreeBranchLastOpen .jxTreeIcon{background-position:left -40px;}.jxTreeBranchOpen .jxTreeImage{background-position:left -100px;}.jxTreeBranchLastOpen .jxTreeImage{background-position:left -160px;}.jxTreeBranchClosed .jxTreeIcon,.jxTreeBranchLastClosed .jxTreeIcon{background-position:left -20px;}.jxTreeBranchClosed .jxTreeImage{background-position:left -80px;}.jxTreeBranchLastClosed .jxTreeImage{background-position:left -140px;}.jxTreeItem .jxTreeIcon,.jxTreeItemLast .jxTreeIcon{background-position:left 0;}.jxTreeItem .jxTreeImage{background-position:left -60px;}.jxTreeItemLast .jxTreeImage{background-position:left -120px;}.jxTreeItemSelected{background-color:#AFD4FA;font-weight:bold;}.jxTreeItem a,.jxTreeItem img,.jxTreeItem input,.jxTreeItemLast a,.jxTreeItemLast img,.jxTreeItemLast input,.jxTreeBranch a,.jxTreeBranch img,.jxTreeBranch input,.jxTreeBranchLast a,.jxTreeBranchLast img,.jxTreeBranchLast input{vertical-align:middle;}
\ No newline at end of file

Modified: sandbox/jx2/templates/mapserver/standard/index.html
===================================================================
--- sandbox/jx2/templates/mapserver/standard/index.html	2008-08-28 14:43:25 UTC (rev 1486)
+++ sandbox/jx2/templates/mapserver/standard/index.html	2008-08-28 15:02:33 UTC (rev 1487)
@@ -8,35 +8,7 @@
 
 <style type="text/css">
     @import url(../../../jx/lib/jxskin_delicious.css);
-
-    #Toolbar .jxToolbar {
-        /*width: 100%;*/
-    }
-
-    #TaskPane .jxPanelContent {
-        border-left: 1px solid #fff;
-    }
-
-    #Map {
-        position: relative;
-        border-right: 1px solid #999;
-        border-bottom: 1px solid #999;
-    }
-
-    #Statusbar {
-        overflow: hidden;
-        background-color: #d9d9d9;
-        font-family: Arial, Helvetica, sans-serif;
-        font-size: 11px;
-    }
-
-    #Statusbar .jxSplitterBar {
-        width: 1px;
-        border-left: 1px solid #999;
-        border-right: 1px solid #fff;
-        cursor: 'col-resize';
-    }
-
+    
     #Statusbar .spanCursorPosition,
     #Statusbar .inputEditableScale,
     #Statusbar .spanViewSize,
@@ -61,32 +33,49 @@
 window.onload = function() {
     /* make 'thePage' just fill the browser window and resize automagically
        the user resizes the browser */
-    new Jx.Layout('thePage');
-    /* the height of toolbars.  For jxskin-border,
-     * its 28 and for jxskin-graphic its 30 */
-    var h = 28;
-    new Jx.Layout('Main', {bottom: 22, right: 250});
-    new Jx.Layout('Statusbar', {height: 22, top: null});
-    new Jx.Layout('TaskPane', {bottom: 22, width: 250, left: null});
-    new Jx.Layout('Toolbar', {height: h, bottom: null});
-    new Jx.Layout('Splitter', {top: h});
+    new Jx.Layout('thePage').resize();
+    
+    var topToolbar = new Jx.Toolbar({id: 'Toolbar', position: 'top'});
+    var mainPanel = new Jx.Panel({
+        id: 'Main',
+        hideTitle: true,
+        toolbars: [topToolbar]
+    });
+    mainPanel.addTo('thePage')
+    new Jx.Layout('Main', {right: 250, bottom: 30});
+    new Jx.Layout('TaskPane', {width: 250, left: null, bottom: 30});
+    new Jx.Layout('Statusbar', {height: 30, top: null});
+    
+    new Jx.Splitter(mainPanel.content, {
+       elements: ['PanelPane', 'Map'],
+       containerOptions: [{width: 200}, {}]
+    });
 
-    var splitter = new Jx.Splitter('Splitter', {elements: [$('PanelPane'), $('Map')], containerOptions: [{width: 200}, {}]});
-
-    //new Jx.Splitter('Statusbar', {elements: [$('CursorPosition'), $('SelectionInfo'), $('EditableScale'), $('ViewSize'), $('PoweredBy')], containerOptions: [{}, {}, {}, {}, {width: 143, maxWidth: 143, minWidth: 143}]});
-
-    var p1 = new Jx.Panel({label: 'Legend'});
-    p1.content.id = 'Legend';
-    var p2 = new Jx.Panel({label: 'Selection'});
-    p2.content.id = 'SelectionPanel';
-    var p3 = new Jx.Panel({label: 'Overview Map'});
-    p3.content.id = 'OverviewMap';
+    var p1 = new Jx.Panel({
+        label: 'Legend', 
+        content: 'Legend', 
+        collapse: false, 
+        maximize: true
+    });
+    var p2 = new Jx.Panel({
+        label: 'Selection', 
+        content: 'SelectionPanel', 
+        collapse: false, 
+        maximize: true
+    });
+    var p3 = new Jx.Panel({
+        label: 'Overview Map', 
+        content: 'OverviewMap', 
+        collapse: false, 
+        maximize: true
+    });
     var pm = new Jx.PanelSet('PanelPane', [p1, p2, p3]);
-
-    $('thePage').resize();
-    $('thePage').style.visibility = 'visible';
-
-    Fusion.registerForEvent(Fusion.Event.FUSION_INITIALIZED, fusionInitialized);
+    
+    Fusion.registerForEvent(Fusion.Event.FUSION_INITIALIZED, function() {
+        $('thePage').resize({forceResize: true});
+        $('thePage').style.visibility = 'visible';
+        mainPanel.layoutContent();
+    });
     Fusion.registerForEvent(Fusion.Event.FUSION_ERROR, fusionError);
     Fusion.initialize();
 }
@@ -95,14 +84,6 @@
     console.log('Fusion Error: \n' + error.toString());
 }
 
-function fusionInitialized() {
-    $('thePage').resize({forceResize:true});
-    $('Toolbar').resize({forceResize:true});
-    //var map = Fusion.getWidgetById('Map');
-    //var l = new Jx.Layout($('Toolbar').childNodes[0]);
-    //l.resize();
-}
-
 </script>
 </head>
 
@@ -110,24 +91,20 @@
 
 <div id="thePage" style="visibility: hidden">
 
-  <div id="Main">
-    <div id="Toolbar"></div>
-    <div id="Splitter">
-      <div id="PanelPane"></div>
-      <div id="Map">
-        <div id="Navigator"></div>
-      </div>
-    </div>
-  </div>
+<div id="PanelPane">
+    <div id="Legend"></div>
+    <div id="SelectionPanel"></div>
+    <div id="OverviewMap"></div>
+</div>
+<div id="Map"><div id="Navigator"></div></div>
+<div id="Statusbar"></div>
+<div id="TaskPane"></div>
+<div id="PoweredBy" class="statusBarItem">
+<a href="http://mapserver.gis.umn.edu.org/" target="_blank">
+  <img src="images/PoweredBy_MapServer.gif" width="137" height="18" border="0">
+</a>
+</div>
 
-  <div id="TaskPane"></div>
-  <div id="Statusbar"></div>
-  <div id="PoweredBy" class="statusBarItem">
-    <a href="http://mapserver.gis.umn.edu.org/" target="_blank">
-      <img src="images/PoweredBy_MapServer.gif" width="137" height="18" border="0">
-    </a>
-  </div>
-
 </div>
 
 <div id="BusyIndicator" style="visibility: hidden;">

Modified: sandbox/jx2/widgets/LayerManager.js
===================================================================
--- sandbox/jx2/widgets/LayerManager.js	2008-08-28 14:43:25 UTC (rev 1486)
+++ sandbox/jx2/widgets/LayerManager.js	2008-08-28 15:02:33 UTC (rev 1487)
@@ -253,14 +253,14 @@
   },
   
   deleteLayer: function(layer, ev) {
-    var targetLI = Event.element(ev).parentNode;
+    var targetLI = (new Event(ev)).target.parentNode;
     var ul = targetLI.parentNode;
-    Element.remove(targetLI.id);
+    $(targetLI).dispose();
     this.updateLayer(layer.oMap, ul);
   },
   
   visChanged: function(layer2, ev) {
-    var target = Event.element(ev);
+    var target = (new Event(ev)).target;
     var layer = target.parentNode.layer;
     if (target.checked) {
       layer.show();

Modified: sandbox/jx2/widgets/Legend.js
===================================================================
--- sandbox/jx2/widgets/Legend.js	2008-08-28 14:43:25 UTC (rev 1486)
+++ sandbox/jx2/widgets/Legend.js	2008-08-28 15:02:33 UTC (rev 1487)
@@ -551,9 +551,9 @@
                             domElement:layer.legend.treeItem.domObj.childNodes[2], 
                             src: range.styles[0].getLegendImageURL(fScale, layer, this.getMap())
                         });
-                        Element.removeClassName(layer.legend.treeItem.domObj, 'jxDisabled');
+                        $(layer.legend.treeItem.domObj).removeClass('jxDisabled');
                     } else {
-                        Element.addClassName(layer.legend.treeItem.domObj, 'jxDisabled');
+                        $(layer.legend.treeItem.domObj).addClass('jxDisabled');
                     }
                 }               
             }

Modified: sandbox/jx2/widgets/Maptip.js
===================================================================
--- sandbox/jx2/widgets/Maptip.js	2008-08-28 14:43:25 UTC (rev 1486)
+++ sandbox/jx2/widgets/Maptip.js	2008-08-28 15:02:33 UTC (rev 1487)
@@ -212,7 +212,7 @@
             }
             if (!empty) {
                 var mapSize = this.getMap().getSize();
-                var size = Element.getDimensions(this.domObj);
+                var size = $(this.domObj).getBorderBoxSize();
                 if (this.oCurrentPosition.x < mapSize.w/2) {
                   this.domObj.style.left = (this.oMapTipPosition.x + this.offset.x) + 'px';
                 } else {
@@ -228,7 +228,7 @@
                 
                 if (!window.opera) {
                     contentDiv.appendChild(this.iframe);
-                    var size = Element.getContentBoxSize(this.domObj);
+                    var size = $(this.domObj).getContentBoxSize();
                     this.iframe.style.width = size.width + "px";
                     this.iframe.style.height = size.height + "px";
                 }

Modified: sandbox/jx2/widgets/Measure.js
===================================================================
--- sandbox/jx2/widgets/Measure.js	2008-08-28 14:43:25 UTC (rev 1486)
+++ sandbox/jx2/widgets/Measure.js	2008-08-28 15:02:33 UTC (rev 1487)
@@ -585,7 +585,7 @@
     },
     
     getSize: function() {
-        var size =  Element.getDimensions(this.domObj);
+        var size =  $(this.domObj).getBorderBoxSize();
         var imgSize = {width:19, height:4};
         if (size.width < imgSize.width) {
             size.width += imgSize.width;

Modified: sandbox/jx2/widgets/Navigator.js
===================================================================
--- sandbox/jx2/widgets/Navigator.js	2008-08-28 14:43:25 UTC (rev 1486)
+++ sandbox/jx2/widgets/Navigator.js	2008-08-28 15:02:33 UTC (rev 1487)
@@ -205,7 +205,7 @@
 
     checkPosition: function() {
         var nav = this.domObj;
-        var pDim = Element.getDimensions(nav.parentNode);
+        var pDim = $(nav.parentNode).getContentBoxSize();
         var nLeft, nTop;
         nLeft = parseInt(nav.style.left);
         nTop = parseInt(nav.style.top);

Modified: sandbox/jx2/widgets/OverviewMap.js
===================================================================
--- sandbox/jx2/widgets/OverviewMap.js	2008-08-28 14:43:25 UTC (rev 1486)
+++ sandbox/jx2/widgets/OverviewMap.js	2008-08-28 15:02:33 UTC (rev 1487)
@@ -100,7 +100,7 @@
           this.control.destroy();
         }
         
-        var size = Element.getContentBoxSize(this.domObj);
+        var size = $(this.domObj).getContentBoxSize();
         this.oSize = new OpenLayers.Size(size.width, size.height);
         
         this.mapObject.oLayerOL.isBaseLayer = true;  
@@ -129,7 +129,7 @@
     },
     
     sizeChanged: function() {
-        var size = Element.getContentBoxSize(this.domObj);
+        var size = $(this.domObj).getContentBoxSize();
         this.oSize = new OpenLayers.Size(size.width, size.height);
         if (size.width == 0 || size.height == 0) {
           return;   //don't try to load if the container is not visible

Modified: sandbox/jx2/widgets/SelectRadius.js
===================================================================
--- sandbox/jx2/widgets/SelectRadius.js	2008-08-28 14:43:25 UTC (rev 1486)
+++ sandbox/jx2/widgets/SelectRadius.js	2008-08-28 15:02:33 UTC (rev 1487)
@@ -157,7 +157,7 @@
         }
         if (this.radiusTip && this.radiusTipType == 'dynamic') {
             this.radiusTip.style.display = 'block';
-            var size = Element.getDimensions(this.radiusTip);
+            var size = $(this.radiusTip).getBorderBoxSize();
             this.radiusTip.style.top = (p.y - size.height*2) + 'px';
             this.radiusTip.style.left = p.x + 'px';
             var r = this.circle.radius;
@@ -195,7 +195,7 @@
         
         if (this.radiusTip && this.radiusTipType == 'dynamic') {
             this.radiusTip.style.display = 'block';
-            var size = Element.getDimensions(this.radiusTip);
+            var size = $(this.radiusTip).getBorderBoxSize();
             this.radiusTip.style.top = (p.y - size.height*2) + 'px';
             this.radiusTip.style.left = p.x + 'px';
             var r = this.circle.radius;

Modified: sandbox/jx2/widgets/SelectionPanel.js
===================================================================
--- sandbox/jx2/widgets/SelectionPanel.js	2008-08-28 14:43:25 UTC (rev 1486)
+++ sandbox/jx2/widgets/SelectionPanel.js	2008-08-28 15:02:33 UTC (rev 1487)
@@ -486,7 +486,7 @@
             return;
         }
         
-        Element.removeClassName(this.featureDiv, 'noSelection');
+        $(this.featureDiv).removeClass('noSelection');
         this.featureDiv.innerHTML = '';
         
         var nLayers = this.oSelection.getNumLayers();

Modified: sandbox/jx2/widgets/TaskPane.js
===================================================================
--- sandbox/jx2/widgets/TaskPane.js	2008-08-28 14:43:25 UTC (rev 1486)
+++ sandbox/jx2/widgets/TaskPane.js	2008-08-28 15:02:33 UTC (rev 1487)
@@ -96,8 +96,8 @@
             label: OpenLayers.i18n('taskList'), 
             right:0
         });
-        //Element.addClassName(this.taskMenu.domObj, 'taskMenu');
-        //Element.addClassName(this.taskMenu.button.domObj, 'jxButtonContentLeft');
+        $(this.taskMenu.domObj).addClass('taskMenu');
+        $(this.taskMenu.button.domObj).addClass('jxButtonContentLeft');
         this.toolbar.add(this.taskMenu);
         
         var iframeName = this.sName+'_IFRAME';
@@ -112,7 +112,7 @@
             label: OpenLayers.i18n('taskPane'), 
             content: this.iframe
         });
-        //Element.addClassName(this.domObj, 'taskPanePanel');
+        $(this.domObj).addClass('taskPanePanel');
         Fusion.addWidgetStyleSheet(widgetTag.location + 'TaskPane/TaskPane.css');
         
         this.domObj.appendChild(this.oTaskPane.domObj);



More information about the fusion-commits mailing list