Prototype.X={Version:"0.1.2",Required:{Prototype:"1.6.0.2",Scripty:"1.8.1"},Require:function(){if(typeof Prototype=="undefined"||typeof Element=="undefined"||typeof Element.Methods=="undefined"||this.convertVersionString(Prototype.Version||0)<this.convertVersionString(this.Required.Prototype)){throw ("Prototype.Xtensions require Prototype.js >= "+this.Required.Prototype)}if(typeof Scriptaculous=="undefined"||typeof Effect=="undefined"||this.convertVersionString(Scriptaculous.Version||0)<this.convertVersionString(this.Required.Scripty)){throw ("Prototype.Xtensions require Scriptaculous >= "+this.Required.Scripty)}},convertVersionString:function(a){var b=a.replace(/_.*|\./g,"");b=parseInt(b+"0".times(4-b.length));return a.indexOf("_")>-1?b-1:b}};Prototype.X.Require();Prototype.X.Registry={};(function(){var d=navigator;var c=ua=navigator.userAgent;var b=d.appVersion;var a=parseFloat(b);Prototype.X.Browser={IE:(Prototype.Browser.IE)?parseFloat(b.split("MSIE ")[1])||0:0,Firefox:(Prototype.Browser.Gecko)?parseFloat(ua.split("Firefox/")[1])||0:0,Camino:(Prototype.Browser.Gecko)?parseFloat(ua.split("Camino/")[1])||0:0,Flock:(Prototype.Browser.Gecko)?parseFloat(ua.split("Flock/")[1])||0:0,Opera:(Prototype.Browser.Opera)?a:0,AIR:(ua.indexOf("AdobeAIR")>=0)?1:0,Mozilla:(Prototype.Browser.Gecko||!this.Khtml)?a:0,Khtml:(b.indexOf("Konqueror")>=0&&this.safari)?a:0,Safari:(function(){var e=Math.max(b.indexOf("WebKit"),b.indexOf("Safari"),0);return(e)?(parseFloat(b.split("Version/")[1])||((parseFloat(b.substr(e+7))>=419.3)?3:2)||2):0})()}})();$unixTime=function(a){var b=new Date();b=b.getTime();if(a==true){b=b/1000}return b};Object.extend(String.prototype,{ucfirst:function(){return this.charAt(0).toUpperCase()+this.substring(1)}});Object.extend(Number.prototype,{minute:function(){return this*60},hour:function(){return this*3600},day:function(){return this*86400},week:function(){return this*604800},month:function(){return this*2629743.83},year:function(){return this*31556926},time:function(){return(this.toMs())+$unixTime()},toSeconds:function(){return this*1000},toMs:function(){return this/1000}});Object.extend(Class,{accessors:{createAccessors:function(b,a){var a=(!Object.isArray(a))?Object.keys(a):a;a.each(function(d){var c=(d.camelize()).ucfirst();(function(e,f){f["get"+c]=function(){return b[e]};f["set"+c]=function(g){b[e]=g;return f}})(d,this)},this)},setOptions:function(b,d,c){var a=(Object.isUndefined(c))?false:c;if(!b){b={}}Object.extend(b,d||{});if(c){this.createAccessors(b,b)}}}});var EventManager=Class.create({initialize:function(a){this.scope=a;this.events=new Hash()},addObserver:function(a){return this.events.set(a,new Hash())},observe:function(a,d){var c=this.events.get(a);if(!c){c=this.addObserver(a)}if(!Object.isFunction(d)){throw ("EventManager.observe : callback must be an js function")}var b=this.events.get(a).keys().length;c.set(b,d.bind(this.scope));return this},notify:function(b){var c=this.events.get(b);if(c){var a=$A(arguments).slice(1);c.each(function(d){if(Object.isFunction(d[1])){d[1].apply(this.scope,a)}})}return this}});var Cookie={events:new EventManager(this),isEnabled:function(){this.set("enabled","ok");var a=this.get("enabled");this.unset("enabled");return(a=="ok")?true:false},observe:function(a,b){this.events.observe(a,b);return this},set:function(b,h,k,g){var c="";var d=k||{};var i=(d.path)?"; path="+d.path:"; path=/";var f=(d.domain)?"; domain="+d.domain:"";var a=(d.secure==true)?"; secure":"";var e=new Date();if(Object.isNumber(d)){e.setTime(e.getTime()+(d*1000));c="; expires="+e.toGMTString()}else{if(d.expires){e.setTime(e.getTime()+(d.expires*1000));c="; expires="+e.toGMTString()}}document.cookie=b+"="+h+c+i+f+a;if(!g){this.events.notify("set",b,h,k)}return this},get:function(b){this.events.notify("get",b);var e=b+"=";var a=document.cookie.split(";");for(var d=0;d<a.length;d++){var f=a[d];while(f.charAt(0)==" "){f=f.substring(1,f.length)}if(f.indexOf(e)==0){return f.substring(e.length,f.length)}}return null},unset:function(a){this.events.notify("unset",a);this.set(a,"",-1,true);return this}};var History={__altered:false,__currentHash:null,__previousHash:null,__iframe:false,__title:false,init:function(){var a=this;var b=location.hash.substring(1);this.hash=$H(b.toQueryParams());this.__currentHash=b;this.__previousHash=b;this.__title=document.title;if(Prototype.Browser.IE&&Prototype.X.Browser.IE<9){document.observe("dom:loaded",function(c){if(!$("px-historyframe")){History.__iframe=new Element("iframe",{name:"px-historyframe",id:"px-historyframe",src:"",width:"0",height:"0",style:{visibility:"hidden"}});document.body.appendChild(History.__iframe);History.setHashOnIframe(a.hash.toQueryString())}})}},set:function(b,a){this.__previousHash=this.hash.toQueryString();this.hash.set(b,a);this.apply()},get:function(a){return this.hash.get(a)},unset:function(a){this.hash.unset(a);this.apply()},update:function(){this.__previousHash=this.hash.toQueryString();var b=window.location.hash.substring(1);if(Prototype.Browser.IE&&Prototype.X.Browser.IE<9&&this.__iframe){var a=this.getHashOnIframe();if(a!=b){b=a}}this.hash=$H(b.toQueryParams());this.__currentHash=b},apply:function(){var a=this.hash.toQueryString();window.location.hash=a;if(Prototype.Browser.IE&&Prototype.X.Browser.IE<9&&this.__iframe){if(this.__currentHash!=a){this.setHashOnIframe(a)}else{if(a!=this.getHashOnIframe()){this.setHashOnIframe(a)}}}},isAltered:function(){if(this.__altered==true){return true}this.__altered=false;return(History.__currentHash!=History.__previousHash)},setHashOnIframe:function(c){try{var b=History.__iframe.contentWindow.document;b.open();b.write('<html><body id="history">'+c+"</body></html>");b.close()}catch(a){}},getHashOnIframe:function(){var a=this.__iframe.contentWindow.document;if(a&&a.body.id=="history"){return a.body.innerText}else{return this.hash.toQueryString()}},setTitle:function(a){if(document.title){document.title=a}},getTitle:function(){return this.__title}};History.init();History.Registry={hash:new Hash(),set:function(a){if(typeof(a)!="object"){throw ("History.Registry.set : $config must be an javascript object")}if(!a.id||!Object.isString(a.id)){throw ("History.Registry.set : $config.id must be an string")}if(!a.onStateChange||!Object.isFunction(a.onStateChange)){throw ("History.Registry.set : $config.onStateChange must be an javascript callback function")}if(!a.defaultValue||!Object.isString(a.defaultValue)){a.defaultValue=""}this.hash.set(a.id,a)},get:function(a){return this.hash.get(a)},unset:function(a){this.hash.unset(a)}};History.Observer={delay:0.2,interval:null,started:false,start:function(){if(this.started){return}this.interval=new PeriodicalExecuter(History.Observer.dispatch,this.delay);this.started=true},stop:function(){if(!this.started){return}this.interval.stop();this.started=false},dispatch:function(){History.update();if(History.isAltered()){History.hash.each(function(b){var a=History.Registry.get(b.key);if(a){a.onStateChange.bind(History)(b.value)}})}}};Ajax.History={types:["Request","Updater"],observe:function(d,h,f,c){var b=Ajax.History.Registry.get(h);var a=0;var e=false;if(this.types.indexOf(d)==-1){throw ("Ajax.History.observer() -> type "+d+" is invalid !")}if(b==undefined){a=(c.history.state)?c.history.state:0;var g=new Hash();g.set(a,c);Ajax.History.Registry.set(h,g)}else{a=(c.history.state)?c.history.state:this.getCurrentVersion(h);b.set(a,c)}this.addCallback(d,h);return a},addCallback:function(a,b){History.Observer.start();History.__altered=true;if(!Object.isUndefined(History.Registry.get(b))){return}History.Registry.set({id:b,onStateChange:function(e){var c=Ajax.History.Registry.get(b).get(e.toString());var d=null;if(Object.isUndefined(c)){return}if(c.history.cache==true&&c.history.__request){new Ajax.Cache(c.history.__request)}else{if(a=="Request"){d=new Ajax.Request(c.history.__url,c)}else{if(a=="Updater"){d=new Ajax.Updater(c.container,c.history.__url,c)}}c.history.__request=d}History.__altered=false;if(Object.isFunction(c.history.onStateChange)){c.history.onStateChange(e)}}})},getCurrentVersion:function(b){var a=Ajax.History.Registry.get(b);return Object.isUndefined(a)?0:a.keys().length}};Ajax.History.Registry=new Hash();Ajax.History.Features={id:null,state:false,cache:false,onStateChange:null,__url:null,__request:null};Ajax.History.Request=Class.create({initialize:function(c,a){this.options={};Object.extend(this.options,a);if(this.options.history){var d=Object.clone(Ajax.History.Features);Object.extend(d,this.options.history);this.options.history=d;this.options.history.__url=c;if(Object.isUndefined(a.history.id)){throw ("Ajax.History.Request error : you must define historyId")}else{var e=this.options.history.id}var b=Ajax.History.observe("Request",e,c,this.options);History.set(e,b)}else{return new Ajax.Request(c,this.options)}}});Ajax.History.Updater=Class.create({initialize:function(e,c,a){this.options={};Object.extend(this.options,a);if(this.options.history){var d=Object.clone(Ajax.History.Features);Object.extend(d,this.options.history);this.options.history=d;this.options.history.__url=c;if(Object.isUndefined(a.history.id)){var f=(Object.isString(e))?e:e.id}else{var f=this.options.history.id}this.options.container=e;var b=Ajax.History.observe("Updater",f,c,this.options);History.set(f,b)}else{return new Ajax.Updater(e,c,this.options)}}});Ajax.Cache=Class.create(Ajax.Base,{_complete:false,initialize:function($super,a){$super(a.options);a._complete=false;this.transport=a.transport;this.request(a.url);return this},request:function(b){this.url=b;this.method=this.options.method;var d=Object.clone(this.options.parameters);try{var a=new Ajax.Response(this);if(this.options.onCreate){this.options.onCreate(a)}Ajax.Responders.dispatch("onCreate",this,a);if(this.options.asynchronous){this.respondToReadyState.bind(this).defer(1)}this.onStateChange()}catch(c){this.dispatchException(c)}}});Object.extend(Ajax.Cache.prototype,{respondToReadyState:Ajax.Request.prototype.respondToReadyState,onStateChange:Ajax.Request.prototype.onStateChange,success:Ajax.Request.prototype.getStatus,getStatus:Ajax.Request.prototype.getStatus,isSameOrigin:Ajax.Request.prototype.isSameOrigin,getHeader:Ajax.Request.prototype.getHeader,evalResponse:Ajax.Request.prototype.evalResponse,dispatchException:Ajax.Request.prototype.dispatchException});Ajax.Request=Class.create(Ajax.Request,{initialize:function($super,b,a){$super(b,a);return this}});Ajax.Request.Events=["Uninitialized","Loading","Loaded","Interactive","Complete"];Ajax.Updater=Class.create(Ajax.Updater,{initialize:function($super,a,c,b){$super(a,c,b);return this}});Prototype.X.Registry.Tabs={};var Tabs=Class.create(Class.accessors,{initialize:function(c,a){var d=this;this.items=[];this.options={element:null,elementId:null,tabsId:null,tabsContainer:null,domTabs:{},requests:{},selectEvent:"click",defaultActive:0,currentActive:null,history:true,sortable:false,sortableOptions:{tag:"li",overlap:"horizontal",constraint:"horizontal"},deletable:false},this.setOptions(this.options,a,true);this.setElement(c);this.setElementId(this.getElement().id);this.setTabsId(this.getElementId().camelize());var b=this.getElement().firstDescendant().childElements();this.setDomTabs(b);this.setTabsContainer(this.getElement().firstDescendant());this.__buildItems();this.__selectByDefault()},__buildItems:function(){var c=this;var a=this.getElement().childElements();var b=this.getDomTabs();a.shift();b.each(function(g,f){if(!c.items[f]){var e={};var d=c.options.requests[a[f].id];if(d){e=d}c.items[f]=new TabsItem(c,{item:g,panel:a[f],request:e,effect:c.effect})}})},__selectByDefault:function(){var c=this;if(this.getHistory()){History.Observer.start();History.Registry.set({id:this.getTabsId(),onStateChange:function(e){var d=c.get(e,false);if(d){if(Prototype.Browser.Opera){d.__select()}else{d.select()}}this.setTitle(this.getTitle()+" ("+e.ucfirst()+")")}});var b=History.get(this.getTabsId());var a=this.get(b,false);if(b&&a){a.select()}else{this.get(this.getDefaultActive()).select()}}else{this.get(this.getDefaultActive()).select()}},makeSortable:function(a){if(this.getSortable()){return}var b=Object.extend(this.getSortableOptions(),a||{});Sortable.create(this.getTabsContainer().identify(),b);this.setSortable(true)},show:function(c,b){var a=this.get(c);if(a){a.show(b)}},hide:function(b){var a=this.get(b);if(a){a.hide()}},select:function(b){var a=this.get(b);if(a){a.select()}},selectFirst:function(){this.items.each(function(b,a){if(b.getDisplay()){b.select();throw $break}})},selectLast:function(){this.items.last().select()},unSelectAll:function(a){a=(Object.isUndefined(a))?false:a;this.items.each(function(c,b){if(a){if(c!=a){c.unSelect()}}else{c.unSelect()}})},get:function(b,d){var e=this;var a="Error on Tabs.get() : index "+b+" is undefined ! ";if(Object.isUndefined(d)){d=true}if(Object.isNumber(b)){if(!this.items[b]){if(d){throw (a)}else{return false}}return this.items[b]}else{if(Object.isString(b)){var c=false;var f=null;this.getDomTabs().each(function(h,k){if(e.items[k]){var g=e.items[k];var i=g.getPanel().id;if(i==b){c=true;f=g}}});if(!c){if(d){throw (a)}else{return false}}return f}}if(d){throw (a)}else{return false}}});var TabsItem=Class.create(Class.accessors,{initialize:function(b,a){this.options={tabs:null,item:null,panel:null,display:true,request:null,loaded:false,titleElement:null,selected:false,iframe:null};this.setOptions(this.options,a,true);this.setTabs(b);this.__getTitleElement();this.__setEvents();this.__voidAhref();this.events=new EventManager(this)},__setEvents:function(){var b=this;var a=this.getTabs().getSelectEvent();$(this.getItem()).observe(a,this.select.bindAsEventListener(this))},__getTitleElement:function(){this.setTitleElement(this.getItem().firstDescendant())},__voidAhref:function(){var b=this.getItem().firstDescendant();if(b.hasAttribute("href")){b.href="javascript:void(0)"}},observe:function(a,b){this.events.observe(a,b);return this},getTitle:function(){return this.getTitleElement().innerHTML},setTitle:function(a){this.getTitleElement().update(a)},select:function(){if(this.getTabs().getHistory()){History.set(this.getTabs().getTabsId(),this.getPanel().id);History.setTitle(History.getTitle()+" ("+this.getPanel().id.ucfirst()+")")}this.__select()},__select:function(){if(this.getTabs().getHistory()){History.setTitle(History.getTitle()+" ("+this.getPanel().id.ucfirst()+")")}this.getTabs().unSelectAll(this);this.getItem().className="tab-show";this.getPanel().className="panel-show";this.getPanel().show();this.load();this.events.notify("select",this);this.setSelected(true)},unSelect:function(){this.getItem().className="tab-hide";this.getPanel().className="panel-hide";if(this.getSelected()){this.events.notify("unselect",this)}this.setSelected(false)},show:function(a){if(this.getDisplay()){return}this.events.notify("show",this);this.getItem().show();this.getPanel().show();this.setDisplay(true);if(a===true){this.select()}},hide:function(){if(!this.getDisplay()){return}this.events.notify("hide",this);this.getItem().hide();this.getPanel().hide();this.setDisplay(false);this.getTabs().selectFirst()},toggle:function(a){if(!this.getDisplay()){return this.show(a)}this.hide()},load:function(k){var f=this;var k=Object.extend(k||{},this.getRequest().options||{});if(this.getRequest().url!=null&&!this.getLoaded()){var i=this.getRequest().type;if(i=="ajax"){k=Object.clone(Object.extend({onLoading:function(l,n,m){m.setTitle("Loading...")}},k));var e=k.onCreate;k.onCreate=(function(l){if(Object.isFunction(e)){e(l,f)}}).bind(this);var h=k.onSuccess;k.onSuccess=(function(l,m){f.setLoaded(true);if(Object.isFunction(h)){h(l,m,f)}}).bind(this);var b=k.onFailure;k.onFailure=(function(l,m){if(Object.isFunction(b)){b(l,m,f)}}).bind(this);var c=k.onComplete;k.onComplete=(function(l,m){f.setTitle(f.options.tmpTitle);if(Object.isFunction(c)){c(l,m,f)}}).bind(this);var a=k.onLoading;k.onLoading=(function(l,m){f.options.tmpTitle=f.getTitle();if(Object.isFunction(a)){a(l,m,f)}}).bind(this);var d=k.onLoaded;k.onLoaded=(function(l,m){if(Object.isFunction(d)){d(l,m,f)}}).bind(this);var g=k.onException;k.onException=(function(m,l){if(Object.isFunction(g)){g(m,l,f)}}).bind(this);new Ajax.Updater(this.getPanel(),this.getRequest().url,Object.extend({onLoading:function(l){l.setTitle("Loading...")}},k||{}))}else{if(i=="iframe"){this.iframe=new Element("iframe",{name:this.getRequest().id,id:this.getRequest().id,src:this.getRequest().url});this.getPanel().update(this.iframe);this.setLoaded(true)}}}},reload:function(a){this.setLoaded(false);this.load(a)}});Element.addMethods({tabs:function(c,b){var d=c.id.camelize();if(!Prototype.X.Registry.Tabs[d]){Prototype.X.Registry.Tabs[d]={};var a=new Tabs(c,b);Prototype.X.Registry.Tabs[d].instance=a;return a}var a=Prototype.X.Registry.Tabs[d].instance;a.setOptions(a.options,b,true);return a}});String.prototype.parseColor=function(){var a="#";if(this.slice(0,4)=="rgb("){var c=this.slice(4,this.length-1).split(",");var b=0;do{a+=parseInt(c[b]).toColorPart()}while(++b<3)}else{if(this.slice(0,1)=="#"){if(this.length==4){for(var b=1;b<4;b++){a+=(this.charAt(b)+this.charAt(b)).toLowerCase()}}if(this.length==7){a=this.toLowerCase()}}}return(a.length==7?a:(arguments[0]||this))};Element.collectTextNodes=function(a){return $A($(a).childNodes).collect(function(b){return(b.nodeType==3?b.nodeValue:(b.hasChildNodes()?Element.collectTextNodes(b):""))}).flatten().join("")};Element.collectTextNodesIgnoreClass=function(a,b){return $A($(a).childNodes).collect(function(c){return(c.nodeType==3?c.nodeValue:((c.hasChildNodes()&&!Element.hasClassName(c,b))?Element.collectTextNodesIgnoreClass(c,b):""))}).flatten().join("")};Element.setContentZoom=function(a,b){a=$(a);a.setStyle({fontSize:(b/100)+"em"});if(Prototype.Browser.WebKit){window.scrollBy(0,0)}return a};Element.getInlineOpacity=function(a){return $(a).style.opacity||""};Element.forceRerendering=function(a){try{a=$(a);var c=document.createTextNode(" ");a.appendChild(c);a.removeChild(c)}catch(b){}};Array.prototype.call=function(){var a=arguments;this.each(function(b){b.apply(this,a)})};var Effect={_elementDoesNotExistError:{name:"ElementDoesNotExistError",message:"The specified DOM element does not exist, but is required for this effect to operate"},tagifyText:function(a){if(typeof Builder=="undefined"){throw ("Effect.tagifyText requires including script.aculo.us' builder.js library")}var b="position:relative";if(Prototype.Browser.IE){b+=";zoom:1"}a=$(a);$A(a.childNodes).each(function(c){if(c.nodeType==3){c.nodeValue.toArray().each(function(d){a.insertBefore(Builder.node("span",{style:b},d==" "?String.fromCharCode(160):d),c)});Element.remove(c)}})},multiple:function(b,c){var e;if(((typeof b=="object")||(typeof b=="function"))&&(b.length)){e=b}else{e=$(b).childNodes}var a=Object.extend({speed:0.1,delay:0},arguments[2]||{});var d=a.delay;$A(e).each(function(g,f){new c(g,Object.extend(a,{delay:f*a.speed+d}))})},PAIRS:{slide:["SlideDown","SlideUp"],blind:["BlindDown","BlindUp"],appear:["Appear","Fade"]},toggle:function(b,e){b=$(b);e=(e||"appear").toLowerCase();var a=Object.extend({queue:{position:"end",scope:(b.id||"global"),limit:1}},arguments[2]||{});Effect[b.visible()?Effect.PAIRS[e][1]:Effect.PAIRS[e][0]](b,a);var d=new RegExp("[_]+","g");var c=b.id.split(d);$("tree_"+c[1]).innerHTML=b.visible()?"+":"-"}};var Effect2=Effect;Effect.Transitions={linear:Prototype.K,sinoidal:function(a){return(-Math.cos(a*Math.PI)/2)+0.5},reverse:function(a){return 1-a},flicker:function(a){var a=((-Math.cos(a*Math.PI)/4)+0.75)+Math.random()/4;return(a>1?1:a)},wobble:function(a){return(-Math.cos(a*Math.PI*(9*a))/2)+0.5},pulse:function(b,a){a=a||5;return(Math.round((b%(1/a))*a)==0?((b*a*2)-Math.floor(b*a*2)):1-((b*a*2)-Math.floor(b*a*2)))},none:function(a){return 0},full:function(a){return 1}};Effect.ScopedQueue=Class.create();Object.extend(Object.extend(Effect.ScopedQueue.prototype,Enumerable),{initialize:function(){this.effects=[];this.interval=null},_each:function(a){this.effects._each(a)},add:function(b){var c=new Date().getTime();var a=(typeof b.options.queue=="string")?b.options.queue:b.options.queue.position;switch(a){case"front":this.effects.findAll(function(d){return d.state=="idle"}).each(function(d){d.startOn+=b.finishOn;d.finishOn+=b.finishOn});break;case"with-last":c=this.effects.pluck("startOn").max()||c;break;case"end":c=this.effects.pluck("finishOn").max()||c;break}b.startOn+=c;b.finishOn+=c;if(!b.options.queue.limit||(this.effects.length<b.options.queue.limit)){this.effects.push(b)}if(!this.interval){this.interval=setInterval(this.loop.bind(this),15)}},remove:function(a){this.effects=this.effects.reject(function(b){return b==a});if(this.effects.length==0){clearInterval(this.interval);this.interval=null}},loop:function(){var c=new Date().getTime();for(var b=0,a=this.effects.length;b<a;b++){this.effects[b]&&this.effects[b].loop(c)}}});Effect.Queues={instances:$H(),get:function(a){if(typeof a!="string"){return a}if(!this.instances[a]){this.instances[a]=new Effect.ScopedQueue()}return this.instances[a]}};Effect.Queue=Effect.Queues.get("global");Effect.DefaultOptions={transition:Effect.Transitions.sinoidal,duration:1,fps:100,sync:false,from:0,to:1,delay:0,queue:"parallel"};Effect.Base=function(){};Effect.Base.prototype={position:null,start:function(options){function codeForEvent(options,eventName){return((options[eventName+"Internal"]?"this.options."+eventName+"Internal(this);":"")+(options[eventName]?"this.options."+eventName+"(this);":""))}if(options.transition===false){options.transition=Effect.Transitions.linear}this.options=Object.extend(Object.extend({},Effect.DefaultOptions),options||{});this.currentFrame=0;this.state="idle";this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.fromToDelta=this.options.to-this.options.from;this.totalTime=this.finishOn-this.startOn;this.totalFrames=this.options.fps*this.options.duration;eval('this.render = function(pos){ if(this.state=="idle"){this.state="running";'+codeForEvent(options,"beforeSetup")+(this.setup?"this.setup();":"")+codeForEvent(options,"afterSetup")+'};if(this.state=="running"){pos=this.options.transition(pos)*'+this.fromToDelta+"+"+this.options.from+";this.position=pos;"+codeForEvent(options,"beforeUpdate")+(this.update?"this.update(pos);":"")+codeForEvent(options,"afterUpdate")+"}}");this.event("beforeStart");if(!this.options.sync){Effect.Queues.get(typeof this.options.queue=="string"?"global":this.options.queue.scope).add(this)}},loop:function(c){if(c>=this.startOn){if(c>=this.finishOn){this.render(1);this.cancel();this.event("beforeFinish");if(this.finish){this.finish()}this.event("afterFinish");return}var b=(c-this.startOn)/this.totalTime,a=Math.round(b*this.totalFrames);if(a>this.currentFrame){this.render(b);this.currentFrame=a}}},cancel:function(){if(!this.options.sync){Effect.Queues.get(typeof this.options.queue=="string"?"global":this.options.queue.scope).remove(this)}this.state="finished"},event:function(a){if(this.options[a+"Internal"]){this.options[a+"Internal"](this)}if(this.options[a]){this.options[a](this)}},inspect:function(){var a=$H();for(property in this){if(typeof this[property]!="function"){a[property]=this[property]}}return"#<Effect:"+a.inspect()+",options:"+$H(this.options).inspect()+">"}};Effect.Parallel=Class.create();Object.extend(Object.extend(Effect.Parallel.prototype,Effect.Base.prototype),{initialize:function(a){this.effects=a||[];this.start(arguments[1])},update:function(a){this.effects.invoke("render",a)},finish:function(a){this.effects.each(function(b){b.render(1);b.cancel();b.event("beforeFinish");if(b.finish){b.finish(a)}b.event("afterFinish")})}});Effect.Event=Class.create();Object.extend(Object.extend(Effect.Event.prototype,Effect.Base.prototype),{initialize:function(){var a=Object.extend({duration:0},arguments[0]||{});this.start(a)},update:Prototype.emptyFunction});Effect.Opacity=Class.create();Object.extend(Object.extend(Effect.Opacity.prototype,Effect.Base.prototype),{initialize:function(b){this.element=$(b);if(!this.element){throw (Effect._elementDoesNotExistError)}if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout)){this.element.setStyle({zoom:1})}var a=Object.extend({from:this.element.getOpacity()||0,to:1},arguments[1]||{});this.start(a)},update:function(a){this.element.setOpacity(a)}});Effect.Move=Class.create();Object.extend(Object.extend(Effect.Move.prototype,Effect.Base.prototype),{initialize:function(b){this.element=$(b);if(!this.element){throw (Effect._elementDoesNotExistError)}var a=Object.extend({x:0,y:0,mode:"relative"},arguments[1]||{});this.start(a)},setup:function(){this.element.makePositioned();this.originalLeft=parseFloat(this.element.getStyle("left")||"0");this.originalTop=parseFloat(this.element.getStyle("top")||"0");if(this.options.mode=="absolute"){this.options.x=this.options.x-this.originalLeft;this.options.y=this.options.y-this.originalTop}},update:function(a){this.element.setStyle({left:Math.round(this.options.x*a+this.originalLeft)+"px",top:Math.round(this.options.y*a+this.originalTop)+"px"})}});Effect.MoveBy=function(b,a,c){return new Effect.Move(b,Object.extend({x:c,y:a},arguments[3]||{}))};Effect.Scale=Class.create();Object.extend(Object.extend(Effect.Scale.prototype,Effect.Base.prototype),{initialize:function(b,c){this.element=$(b);if(!this.element){throw (Effect._elementDoesNotExistError)}var a=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:"box",scaleFrom:100,scaleTo:c},arguments[2]||{});this.start(a)},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle("position");this.originalStyle={};["top","left","width","height","fontSize"].each(function(b){this.originalStyle[b]=this.element.style[b]}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var a=this.element.getStyle("font-size")||"100%";["em","px","%","pt"].each(function(b){if(a.indexOf(b)>0){this.fontSize=parseFloat(a);this.fontSizeType=b}}.bind(this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;this.dims=null;if(this.options.scaleMode=="box"){this.dims=[this.element.offsetHeight,this.element.offsetWidth]}if(/^content/.test(this.options.scaleMode)){this.dims=[this.element.scrollHeight,this.element.scrollWidth]}if(!this.dims){this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth]}},update:function(a){var b=(this.options.scaleFrom/100)+(this.factor*a);if(this.options.scaleContent&&this.fontSize){this.element.setStyle({fontSize:this.fontSize*b+this.fontSizeType})}this.setDimensions(this.dims[0]*b,this.dims[1]*b)},finish:function(a){if(this.restoreAfterFinish){this.element.setStyle(this.originalStyle)}},setDimensions:function(a,e){var f={};if(this.options.scaleX){f.width=Math.round(e)+"px"}if(this.options.scaleY){f.height=Math.round(a)+"px"}if(this.options.scaleFromCenter){var c=(a-this.dims[0])/2;var b=(e-this.dims[1])/2;if(this.elementPositioning=="absolute"){if(this.options.scaleY){f.top=this.originalTop-c+"px"}if(this.options.scaleX){f.left=this.originalLeft-b+"px"}}else{if(this.options.scaleY){f.top=-c+"px"}if(this.options.scaleX){f.left=-b+"px"}}}this.element.setStyle(f)}});Effect.Highlight=Class.create();Object.extend(Object.extend(Effect.Highlight.prototype,Effect.Base.prototype),{initialize:function(b){this.element=$(b);if(!this.element){throw (Effect._elementDoesNotExistError)}var a=Object.extend({startcolor:"#ffff99"},arguments[1]||{});this.start(a)},setup:function(){if(this.element.getStyle("display")=="none"){this.cancel();return}this.oldStyle={};if(!this.options.keepBackgroundImage){this.oldStyle.backgroundImage=this.element.getStyle("background-image");this.element.setStyle({backgroundImage:"none"})}if(!this.options.endcolor){this.options.endcolor=this.element.getStyle("background-color").parseColor("#ffffff")}if(!this.options.restorecolor){this.options.restorecolor=this.element.getStyle("background-color")}this._base=$R(0,2).map(function(a){return parseInt(this.options.startcolor.slice(a*2+1,a*2+3),16)}.bind(this));this._delta=$R(0,2).map(function(a){return parseInt(this.options.endcolor.slice(a*2+1,a*2+3),16)-this._base[a]}.bind(this))},update:function(a){this.element.setStyle({backgroundColor:$R(0,2).inject("#",function(b,c,d){return b+(Math.round(this._base[d]+(this._delta[d]*a)).toColorPart())}.bind(this))})},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}))}});Effect.ScrollTo=Class.create();Object.extend(Object.extend(Effect.ScrollTo.prototype,Effect.Base.prototype),{initialize:function(a){this.element=$(a);this.start(arguments[1]||{})},setup:function(){Position.prepare();var b=Position.cumulativeOffset(this.element);if(this.options.offset){b[1]+=this.options.offset}var a=window.innerHeight?window.height-window.innerHeight:document.body.scrollHeight-(document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight);this.scrollStart=Position.deltaY;this.delta=(b[1]>a?a:b[1])-this.scrollStart},update:function(a){Position.prepare();window.scrollTo(Position.deltaX,this.scrollStart+(a*this.delta))}});Effect.Fade=function(c){c=$(c);var a=c.getInlineOpacity();var b=Object.extend({from:c.getOpacity()||1,to:0,afterFinishInternal:function(d){if(d.options.to!=0){return}d.element.hide().setStyle({opacity:a})}},arguments[1]||{});return new Effect.Opacity(c,b)};Effect.Appear=function(b){b=$(b);var a=Object.extend({from:(b.getStyle("display")=="none"?0:b.getOpacity()||0),to:1,afterFinishInternal:function(c){c.element.forceRerendering()},beforeSetup:function(c){c.element.setOpacity(c.options.from).show()}},arguments[1]||{});return new Effect.Opacity(b,a)};Effect.Puff=function(b){b=$(b);var a={opacity:b.getInlineOpacity(),position:b.getStyle("position"),top:b.style.top,left:b.style.left,width:b.style.width,height:b.style.height};return new Effect.Parallel([new Effect.Scale(b,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(b,{sync:true,to:0})],Object.extend({duration:1,beforeSetupInternal:function(c){Position.absolutize(c.effects[0].element)},afterFinishInternal:function(c){c.effects[0].element.hide().setStyle(a)}},arguments[1]||{}))};Effect.BlindUp=function(a){a=$(a);a.makeClipping();return new Effect.Scale(a,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(b){b.element.hide().undoClipping()}},arguments[1]||{}))};Effect.BlindDown=function(b){b=$(b);var a=b.getDimensions();return new Effect.Scale(b,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:a.height,originalWidth:a.width},restoreAfterFinish:true,afterSetup:function(c){c.element.makeClipping().setStyle({height:"0px"}).show()},afterFinishInternal:function(c){c.element.undoClipping()}},arguments[1]||{}))};Effect.SwitchOff=function(b){b=$(b);var a=b.getInlineOpacity();return new Effect.Appear(b,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(c){new Effect.Scale(c.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(d){d.element.makePositioned().makeClipping()},afterFinishInternal:function(d){d.element.hide().undoClipping().undoPositioned().setStyle({opacity:a})}})}},arguments[1]||{}))};Effect.DropOut=function(b){b=$(b);var a={top:b.getStyle("top"),left:b.getStyle("left"),opacity:b.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(b,{x:0,y:100,sync:true}),new Effect.Opacity(b,{sync:true,to:0})],Object.extend({duration:0.5,beforeSetup:function(c){c.effects[0].element.makePositioned()},afterFinishInternal:function(c){c.effects[0].element.hide().undoPositioned().setStyle(a)}},arguments[1]||{}))};Effect.Shake=function(b){b=$(b);var a={top:b.getStyle("top"),left:b.getStyle("left")};return new Effect.Move(b,{x:20,y:0,duration:0.05,afterFinishInternal:function(c){new Effect.Move(c.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(d){new Effect.Move(d.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(e){new Effect.Move(e.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(f){new Effect.Move(f.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(g){new Effect.Move(g.element,{x:-20,y:0,duration:0.05,afterFinishInternal:function(h){h.element.undoPositioned().setStyle(a)}})}})}})}})}})}})};Effect.SlideDown=function(c){c=$(c).cleanWhitespace();var a=c.down().getStyle("bottom");var b=c.getDimensions();return new Effect.Scale(c,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:b.height,originalWidth:b.width},restoreAfterFinish:true,afterSetup:function(d){d.element.makePositioned();d.element.down().makePositioned();if(window.opera){d.element.setStyle({top:""})}d.element.makeClipping().setStyle({height:"0px"}).show()},afterUpdateInternal:function(d){d.element.down().setStyle({bottom:(d.dims[0]-d.element.clientHeight)+"px"})},afterFinishInternal:function(d){d.element.undoClipping().undoPositioned();d.element.down().undoPositioned().setStyle({bottom:a})}},arguments[1]||{}))};Effect.SlideUp=function(b){b=$(b).cleanWhitespace();var a=b.down().getStyle("bottom");return new Effect.Scale(b,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:"box",scaleFrom:100,restoreAfterFinish:true,beforeStartInternal:function(c){c.element.makePositioned();c.element.down().makePositioned();if(window.opera){c.element.setStyle({top:""})}c.element.makeClipping().show()},afterUpdateInternal:function(c){c.element.down().setStyle({bottom:(c.dims[0]-c.element.clientHeight)+"px"})},afterFinishInternal:function(c){c.element.hide().undoClipping().undoPositioned().setStyle({bottom:a});c.element.down().undoPositioned()}},arguments[1]||{}))};Effect.Squish=function(a){return new Effect.Scale(a,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(b){b.element.makeClipping()},afterFinishInternal:function(b){b.element.hide().undoClipping()}})};Effect.Grow=function(c){c=$(c);var b=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});var a={top:c.style.top,left:c.style.left,height:c.style.height,width:c.style.width,opacity:c.getInlineOpacity()};var g=c.getDimensions();var h,f;var e,d;switch(b.direction){case"top-left":h=f=e=d=0;break;case"top-right":h=g.width;f=d=0;e=-g.width;break;case"bottom-left":h=e=0;f=g.height;d=-g.height;break;case"bottom-right":h=g.width;f=g.height;e=-g.width;d=-g.height;break;case"center":h=g.width/2;f=g.height/2;e=-g.width/2;d=-g.height/2;break}return new Effect.Move(c,{x:h,y:f,duration:0.01,beforeSetup:function(i){i.element.hide().makeClipping().makePositioned()},afterFinishInternal:function(i){new Effect.Parallel([new Effect.Opacity(i.element,{sync:true,to:1,from:0,transition:b.opacityTransition}),new Effect.Move(i.element,{x:e,y:d,sync:true,transition:b.moveTransition}),new Effect.Scale(i.element,100,{scaleMode:{originalHeight:g.height,originalWidth:g.width},sync:true,scaleFrom:window.opera?1:0,transition:b.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(k){k.effects[0].element.setStyle({height:"0px"}).show()},afterFinishInternal:function(k){k.effects[0].element.undoClipping().undoPositioned().setStyle(a)}},b))}})};Effect.Shrink=function(c){c=$(c);var b=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var a={top:c.style.top,left:c.style.left,height:c.style.height,width:c.style.width,opacity:c.getInlineOpacity()};var f=c.getDimensions();var e,d;switch(b.direction){case"top-left":e=d=0;break;case"top-right":e=f.width;d=0;break;case"bottom-left":e=0;d=f.height;break;case"bottom-right":e=f.width;d=f.height;break;case"center":e=f.width/2;d=f.height/2;break}return new Effect.Parallel([new Effect.Opacity(c,{sync:true,to:0,from:1,transition:b.opacityTransition}),new Effect.Scale(c,window.opera?1:0,{sync:true,transition:b.scaleTransition,restoreAfterFinish:true}),new Effect.Move(c,{x:e,y:d,sync:true,transition:b.moveTransition})],Object.extend({beforeStartInternal:function(g){g.effects[0].element.makePositioned().makeClipping()},afterFinishInternal:function(g){g.effects[0].element.hide().undoClipping().undoPositioned().setStyle(a)}},b))};Effect.Pulsate=function(c){c=$(c);var b=arguments[1]||{};var a=c.getInlineOpacity();var e=b.transition||Effect.Transitions.sinoidal;var d=function(f){return e(1-Effect.Transitions.pulse(f,b.pulses))};d.bind(e);return new Effect.Opacity(c,Object.extend(Object.extend({duration:2,from:0,afterFinishInternal:function(f){f.element.setStyle({opacity:a})}},b),{transition:d}))};Effect.Fold=function(b){b=$(b);var a={top:b.style.top,left:b.style.left,width:b.style.width,height:b.style.height};b.makeClipping();return new Effect.Scale(b,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(c){new Effect.Scale(b,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(d){d.element.hide().undoClipping().setStyle(a)}})}},arguments[1]||{}))};Effect.Morph=Class.create();Object.extend(Object.extend(Effect.Morph.prototype,Effect.Base.prototype),{initialize:function(c){this.element=$(c);if(!this.element){throw (Effect._elementDoesNotExistError)}var b=Object.extend({style:{}},arguments[1]||{});if(typeof b.style=="string"){if(b.style.indexOf(":")==-1){var d="",a="."+b.style;$A(document.styleSheets).reverse().each(function(e){if(e.cssRules){cssRules=e.cssRules}else{if(e.rules){cssRules=e.rules}}$A(cssRules).reverse().each(function(f){if(a==f.selectorText){d=f.style.cssText;throw $break}});if(d){throw $break}});this.style=d.parseStyle();b.afterFinishInternal=function(e){e.element.addClassName(e.options.style);e.transforms.each(function(f){if(f.style!="opacity"){e.element.style[f.style]=""}})}}else{this.style=b.style.parseStyle()}}else{this.style=$H(b.style)}this.start(b)},setup:function(){function a(b){if(!b||["rgba(0, 0, 0, 0)","transparent"].include(b)){b="#ffffff"}b=b.parseColor();return $R(0,2).map(function(c){return parseInt(b.slice(c*2+1,c*2+3),16)})}this.transforms=this.style.map(function(g){var f=g[0],e=g[1],d=null;if(e.parseColor("#zzzzzz")!="#zzzzzz"){e=e.parseColor();d="color"}else{if(f=="opacity"){e=parseFloat(e);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout)){this.element.setStyle({zoom:1})}}else{if(Element.CSS_LENGTH.test(e)){var c=e.match(/^([\+\-]?[0-9\.]+)(.*)$/);e=parseFloat(c[1]);d=(c.length==3)?c[2]:null}}}var b=this.element.getStyle(f);return{style:f.camelize(),originalValue:d=="color"?a(b):parseFloat(b||0),targetValue:d=="color"?a(e):e,unit:d}}.bind(this)).reject(function(b){return((b.originalValue==b.targetValue)||(b.unit!="color"&&(isNaN(b.originalValue)||isNaN(b.targetValue))))})},update:function(a){var d={},b,c=this.transforms.length;while(c--){d[(b=this.transforms[c]).style]=b.unit=="color"?"#"+(Math.round(b.originalValue[0]+(b.targetValue[0]-b.originalValue[0])*a)).toColorPart()+(Math.round(b.originalValue[1]+(b.targetValue[1]-b.originalValue[1])*a)).toColorPart()+(Math.round(b.originalValue[2]+(b.targetValue[2]-b.originalValue[2])*a)).toColorPart():b.originalValue+Math.round(((b.targetValue-b.originalValue)*a)*1000)/1000+b.unit}this.element.setStyle(d,true)}});Effect.Transform=Class.create();Object.extend(Effect.Transform.prototype,{initialize:function(a){this.tracks=[];this.options=arguments[1]||{};this.addTracks(a)},addTracks:function(a){a.each(function(b){var c=$H(b).values().first();this.tracks.push($H({ids:$H(b).keys().first(),effect:Effect.Morph,options:{style:c}}))}.bind(this));return this},play:function(){return new Effect.Parallel(this.tracks.map(function(a){var b=[$(a.ids)||$$(a.ids)].flatten();return b.map(function(c){return new a.effect(c,Object.extend({sync:true},a.options))})}).flatten(),this.options)}});Element.CSS_PROPERTIES=$w("backgroundColor backgroundPosition borderBottomColor borderBottomStyle borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth borderRightColor borderRightStyle borderRightWidth borderSpacing borderTopColor borderTopStyle borderTopWidth bottom clip color fontSize fontWeight height left letterSpacing lineHeight marginBottom marginLeft marginRight marginTop markerOffset maxHeight maxWidth minHeight minWidth opacity outlineColor outlineOffset outlineWidth paddingBottom paddingLeft paddingRight paddingTop right textIndent top width wordSpacing zIndex");Element.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;String.prototype.parseStyle=function(){var b=document.createElement("div");b.innerHTML='<div style="'+this+'"></div>';var c=b.childNodes[0].style,a=$H();Element.CSS_PROPERTIES.each(function(d){if(c[d]){a[d]=c[d]}});if(Prototype.Browser.IE&&this.indexOf("opacity")>-1){a.opacity=this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]}return a};Element.morph=function(a,b){new Effect.Morph(a,Object.extend({style:b},arguments[2]||{}));return a};["getInlineOpacity","forceRerendering","setContentZoom","collectTextNodes","collectTextNodesIgnoreClass","morph"].each(function(a){Element.Methods[a]=Element[a]});Element.Methods.visualEffect=function(b,c,a){s=c.dasherize().camelize();effect_class=s.charAt(0).toUpperCase()+s.substring(1);new Effect[effect_class](b,a);return $(b)};Element.addMethods();var Window=Class.create();Window.keepMultiModalWindow=false;Window.hasEffectLib=(typeof Effect!="undefined");Window.resizeEffectDuration=0.4;Window.prototype={initialize:function(){var c;var b=0;if(arguments.length>0){if(typeof arguments[0]=="string"){c=arguments[0];b=1}else{c=arguments[0]?arguments[0].id:null}}if(!c){c="window_"+new Date().getTime()}if($(c)){alert("Window "+c+" is already registered in the DOM! Make sure you use setDestroyOnClose() or destroyOnClose: true in the constructor")}this.options=Object.extend({className:"dialog",blurClassName:null,minWidth:100,minHeight:20,resizable:true,closable:true,minimizable:true,maximizable:true,draggable:true,userData:null,showEffect:(Window.hasEffectLib?Effect.Appear:Element.show),hideEffect:(Window.hasEffectLib?Effect.Fade:Element.hide),showEffectOptions:{},hideEffectOptions:{},effectOptions:null,parent:document.body,title:"&nbsp;",url:null,onload:Prototype.emptyFunction,width:200,height:300,opacity:1,recenterAuto:true,wiredDrag:false,closeCallback:null,destroyOnClose:false,gridX:1,gridY:1},arguments[b]||{});if(this.options.blurClassName){this.options.focusClassName=this.options.className}if(typeof this.options.top=="undefined"&&typeof this.options.bottom=="undefined"){this.options.top=this._round(Math.random()*500,this.options.gridY)}if(typeof this.options.left=="undefined"&&typeof this.options.right=="undefined"){this.options.left=this._round(Math.random()*500,this.options.gridX)}if(this.options.effectOptions){Object.extend(this.options.hideEffectOptions,this.options.effectOptions);Object.extend(this.options.showEffectOptions,this.options.effectOptions);if(this.options.showEffect==Element.Appear){this.options.showEffectOptions.to=this.options.opacity}}if(Window.hasEffectLib){if(this.options.showEffect==Effect.Appear){this.options.showEffectOptions.to=this.options.opacity}if(this.options.hideEffect==Effect.Fade){this.options.hideEffectOptions.from=this.options.opacity}}if(this.options.hideEffect==Element.hide){this.options.hideEffect=function(){Element.hide(this.element);if(this.options.destroyOnClose){this.destroy()}}.bind(this)}if(this.options.parent!=document.body){this.options.parent=$(this.options.parent)}this.element=this._createWindow(c);this.element.win=this;this.eventMouseDown=this._initDrag.bindAsEventListener(this);this.eventMouseUp=this._endDrag.bindAsEventListener(this);this.eventMouseMove=this._updateDrag.bindAsEventListener(this);this.eventOnLoad=this._getWindowBorderSize.bindAsEventListener(this);this.eventMouseDownContent=this.toFront.bindAsEventListener(this);this.eventResize=this._recenter.bindAsEventListener(this);this.topbar=$(this.element.id+"_top");this.bottombar=$(this.element.id+"_bottom");this.content=$(this.element.id+"_content");Event.observe(this.topbar,"mousedown",this.eventMouseDown);Event.observe(this.bottombar,"mousedown",this.eventMouseDown);Event.observe(this.content,"mousedown",this.eventMouseDownContent);Event.observe(window,"load",this.eventOnLoad);Event.observe(window,"resize",this.eventResize);Event.observe(window,"scroll",this.eventResize);Event.observe(this.options.parent,"scroll",this.eventResize);if(this.options.draggable){var a=this;[this.topbar,this.topbar.up().previous(),this.topbar.up().next()].each(function(d){d.observe("mousedown",a.eventMouseDown);d.addClassName("top_draggable")});[this.bottombar.up(),this.bottombar.up().previous(),this.bottombar.up().next()].each(function(d){d.observe("mousedown",a.eventMouseDown);d.addClassName("bottom_draggable")})}if(this.options.resizable){this.sizer=$(this.element.id+"_sizer");Event.observe(this.sizer,"mousedown",this.eventMouseDown)}this.useLeft=null;this.useTop=null;if(typeof this.options.left!="undefined"){this.element.setStyle({left:parseFloat(this.options.left)+"px"});this.useLeft=true}else{this.element.setStyle({right:parseFloat(this.options.right)+"px"});this.useLeft=false}if(typeof this.options.top!="undefined"){this.element.setStyle({top:parseFloat(this.options.top)+"px"});this.useTop=true}else{this.element.setStyle({bottom:parseFloat(this.options.bottom)+"px"});this.useTop=false}this.storedLocation=null;this.setOpacity(this.options.opacity);if(this.options.zIndex){this.setZIndex(this.options.zIndex)}if(this.options.destroyOnClose){this.setDestroyOnClose(true)}this._getWindowBorderSize();this.width=this.options.width;this.height=this.options.height;this.visible=false;this.constraint=false;this.constraintPad={top:0,left:0,bottom:0,right:0};if(this.width&&this.height){this.setSize(this.options.width,this.options.height)}this.setTitle(this.options.title);Windows.register(this)},destroy:function(){this._notify("onDestroy");Event.stopObserving(this.topbar,"mousedown",this.eventMouseDown);Event.stopObserving(this.bottombar,"mousedown",this.eventMouseDown);Event.stopObserving(this.content,"mousedown",this.eventMouseDownContent);Event.stopObserving(window,"load",this.eventOnLoad);Event.stopObserving(window,"resize",this.eventResize);Event.stopObserving(window,"scroll",this.eventResize);Event.stopObserving(this.content,"load",this.options.onload);if(this._oldParent){var c=this.getContent();var a=null;for(var b=0;b<c.childNodes.length;b++){a=c.childNodes[b];if(a.nodeType==1){break}a=null}if(a){this._oldParent.appendChild(a)}this._oldParent=null}if(this.sizer){Event.stopObserving(this.sizer,"mousedown",this.eventMouseDown)}if(this.options.url){this.content.src=null}if(this.iefix){Element.remove(this.iefix)}Element.remove(this.element);Windows.unregister(this)},setCloseCallback:function(a){this.options.closeCallback=a},getContent:function(){return this.content},setContent:function(h,g,b){var a=$(h);if(null==a){throw"Unable to find element '"+h+"' in DOM"}this._oldParent=a.parentNode;var f=null;var e=null;if(g){f=Element.getDimensions(a)}if(b){e=Position.cumulativeOffset(a)}var c=this.getContent();this.setHTMLContent("");c=this.getContent();c.appendChild(a);a.show();if(g){this.setSize(f.width,f.height)}if(b){this.setLocation(e[1]-this.heightN,e[0]-this.widthW)}},setHTMLContent:function(a){if(this.options.url){this.content.src=null;this.options.url=null;var b='<div id="'+this.getId()+'_content" class="'+this.options.className+'_content"> </div>';$(this.getId()+"_table_content").innerHTML=b;this.content=$(this.element.id+"_content")}this.getContent().innerHTML=a},setAjaxContent:function(b,a,d,c){this.showFunction=d?"showCenter":"show";this.showModal=c||false;a=a||{};this.setHTMLContent("");this.onComplete=a.onComplete;if(!this._onCompleteHandler){this._onCompleteHandler=this._setAjaxContent.bind(this)}a.onComplete=this._onCompleteHandler;new Ajax.Request(b,a);a.onComplete=this.onComplete},_setAjaxContent:function(a){Element.update(this.getContent(),a.responseText);if(this.onComplete){this.onComplete(a)}this.onComplete=null;this[this.showFunction](this.showModal)},setURL:function(a){if(this.options.url){this.content.src=null}this.options.url=a;var b="<iframe frameborder='0' name='"+this.getId()+"_content'  id='"+this.getId()+"_content' src='"+a+"' width='"+this.width+"' height='"+this.height+"'> </iframe>";$(this.getId()+"_table_content").innerHTML=b;this.content=$(this.element.id+"_content")},getURL:function(){return this.options.url?this.options.url:null},refresh:function(){if(this.options.url){$(this.element.getAttribute("id")+"_content").src=this.options.url}},setCookie:function(b,c,o,e,a){b=b||this.element.id;this.cookie=[b,c,o,e,a];var m=WindowUtilities.getCookie(b);if(m){var n=m.split(",");var k=n[0].split(":");var i=n[1].split(":");var l=parseFloat(n[2]),f=parseFloat(n[3]);var g=n[4];var d=n[5];this.setSize(l,f);if(g=="true"){this.doMinimize=true}else{if(d=="true"){this.doMaximize=true}}this.useLeft=k[0]=="l";this.useTop=i[0]=="t";this.element.setStyle(this.useLeft?{left:k[1]}:{right:k[1]});this.element.setStyle(this.useTop?{top:i[1]}:{bottom:i[1]})}},getId:function(){return this.element.id},setDestroyOnClose:function(){this.options.destroyOnClose=true},setConstraint:function(a,b){this.constraint=a;this.constraintPad=Object.extend(this.constraintPad,b||{});if(this.useTop&&this.useLeft){this.setLocation(parseFloat(this.element.style.top),parseFloat(this.element.style.left))}},_initDrag:function(b){if(Event.element(b)==this.sizer&&this.isMinimized()){return}if(Event.element(b)!=this.sizer&&this.isMaximized()){return}if(Prototype.Browser.IE&&this.heightN==0){this._getWindowBorderSize()}this.pointer=[this._round(Event.pointerX(b),this.options.gridX),this._round(Event.pointerY(b),this.options.gridY)];if(this.options.wiredDrag){this.currentDrag=this._createWiredElement()}else{this.currentDrag=this.element}if(Event.element(b)==this.sizer){this.doResize=true;this.widthOrg=this.width;this.heightOrg=this.height;this.bottomOrg=parseFloat(this.element.getStyle("bottom"));this.rightOrg=parseFloat(this.element.getStyle("right"));this._notify("onStartResize")}else{this.doResize=false;var a=$(this.getId()+"_close");if(a&&Position.within(a,this.pointer[0],this.pointer[1])){this.currentDrag=null;return}this.toFront();if(!this.options.draggable){return}this._notify("onStartMove")}Event.observe(document,"mouseup",this.eventMouseUp,false);Event.observe(document,"mousemove",this.eventMouseMove,false);WindowUtilities.disableScreen("__invisible__","__invisible__",this.overlayOpacity);document.body.ondrag=function(){return false};document.body.onselectstart=function(){return false};this.currentDrag.show();Event.stop(b)},_round:function(b,a){return a==1?b:b=Math.floor(b/a)*a},_updateDrag:function(b){var a=[this._round(Event.pointerX(b),this.options.gridX),this._round(Event.pointerY(b),this.options.gridY)];var l=a[0]-this.pointer[0];var k=a[1]-this.pointer[1];if(this.doResize){var i=this.widthOrg+l;var d=this.heightOrg+k;l=this.width-this.widthOrg;k=this.height-this.heightOrg;if(this.useLeft){i=this._updateWidthConstraint(i)}else{this.currentDrag.setStyle({right:(this.rightOrg-l)+"px"})}if(this.useTop){d=this._updateHeightConstraint(d)}else{this.currentDrag.setStyle({bottom:(this.bottomOrg-k)+"px"})}this.setSize(i,d);this._notify("onResize")}else{this.pointer=a;if(this.useLeft){var c=parseFloat(this.currentDrag.getStyle("left"))+l;var g=this._updateLeftConstraint(c);this.pointer[0]+=g-c;this.currentDrag.setStyle({left:g+"px"})}else{this.currentDrag.setStyle({right:parseFloat(this.currentDrag.getStyle("right"))-l+"px"})}if(this.useTop){var f=parseFloat(this.currentDrag.getStyle("top"))+k;var e=this._updateTopConstraint(f);this.pointer[1]+=e-f;this.currentDrag.setStyle({top:e+"px"})}else{this.currentDrag.setStyle({bottom:parseFloat(this.currentDrag.getStyle("bottom"))-k+"px"})}this._notify("onMove")}if(this.iefix){this._fixIEOverlapping()}this._removeStoreLocation();Event.stop(b)},_endDrag:function(a){WindowUtilities.enableScreen("__invisible__");if(this.doResize){this._notify("onEndResize")}else{this._notify("onEndMove")}Event.stopObserving(document,"mouseup",this.eventMouseUp,false);Event.stopObserving(document,"mousemove",this.eventMouseMove,false);Event.stop(a);this._hideWiredElement();this._saveCookie();document.body.ondrag=null;document.body.onselectstart=null},_updateLeftConstraint:function(b){if(this.constraint&&this.useLeft&&this.useTop){var a=this.options.parent==document.body?WindowUtilities.getPageSize().windowWidth:this.options.parent.getDimensions().width;if(b<this.constraintPad.left){b=this.constraintPad.left}if(b+this.width+this.widthE+this.widthW>a-this.constraintPad.right){b=a-this.constraintPad.right-this.width-this.widthE-this.widthW}}return b},_updateTopConstraint:function(c){if(this.constraint&&this.useLeft&&this.useTop){var a=this.options.parent==document.body?WindowUtilities.getPageSize().windowHeight:this.options.parent.getDimensions().height;var b=this.height+this.heightN+this.heightS;if(c<this.constraintPad.top){c=this.constraintPad.top}if(c+b>a-this.constraintPad.bottom){c=a-this.constraintPad.bottom-b}}return c},_updateWidthConstraint:function(a){if(this.constraint&&this.useLeft&&this.useTop){var b=this.options.parent==document.body?WindowUtilities.getPageSize().windowWidth:this.options.parent.getDimensions().width;var c=parseFloat(this.element.getStyle("left"));if(c+a+this.widthE+this.widthW>b-this.constraintPad.right){a=b-this.constraintPad.right-c-this.widthE-this.widthW}}return a},_updateHeightConstraint:function(b){if(this.constraint&&this.useLeft&&this.useTop){var a=this.options.parent==document.body?WindowUtilities.getPageSize().windowHeight:this.options.parent.getDimensions().height;var c=parseFloat(this.element.getStyle("top"));if(c+b+this.heightN+this.heightS>a-this.constraintPad.bottom){b=a-this.constraintPad.bottom-c-this.heightN-this.heightS}}return b},_createWindow:function(a){var f=this.options.className;var d=document.createElement("div");d.setAttribute("id",a);d.className="dialog";var e;if(this.options.url){e='<iframe frameborder="0" name="'+a+'_content"  id="'+a+'_content" src="'+this.options.url+'"> </iframe>'}else{e='<div id="'+a+'_content" class="'+f+'_content"> </div>'}var g=this.options.closable?"<div class='"+f+"_close' id='"+a+"_close' onclick='Windows.close(\""+a+"\", event)'> </div>":"";var h=this.options.minimizable?"<div class='"+f+"_minimize' id='"+a+"_minimize' onclick='Windows.minimize(\""+a+"\", event)'> </div>":"";var i=this.options.maximizable?"<div class='"+f+"_maximize' id='"+a+"_maximize' onclick='Windows.maximize(\""+a+"\", event)'> </div>":"";var c=this.options.resizable?"class='"+f+"_sizer' id='"+a+"_sizer'":"class='"+f+"_se'";var b="../themes/default/blank.gif";d.innerHTML=g+h+i+"      <table id='"+a+"_row1' class=\"top table_window\">        <tr>          <td class='"+f+"_nw'></td>          <td class='"+f+"_n'><div id='"+a+"_top' class='"+f+"_title title_window'>"+this.options.title+"</div></td>          <td class='"+f+"_ne'></td>        </tr>      </table>      <table id='"+a+"_row2' class=\"mid table_window\">        <tr>          <td class='"+f+"_w'></td>            <td id='"+a+"_table_content' class='"+f+"_content' valign='top'>"+e+"</td>          <td class='"+f+"_e'></td>        </tr>      </table>        <table id='"+a+"_row3' class=\"bot table_window\">        <tr>          <td class='"+f+"_sw'></td>            <td class='"+f+"_s'><div id='"+a+"_bottom' class='status_bar'><span style='float:left; width:1px; height:1px'></span></div></td>            <td "+c+"></td>        </tr>      </table>    ";Element.hide(d);this.options.parent.insertBefore(d,this.options.parent.firstChild);Event.observe($(a+"_content"),"load",this.options.onload);return d},changeClassName:function(a){var b=this.options.className;var c=this.getId();$A(["_close","_minimize","_maximize","_sizer","_content"]).each(function(d){this._toggleClassName($(c+d),b+d,a+d)}.bind(this));this._toggleClassName($(c+"_top"),b+"_title",a+"_title");$$("#"+c+" td").each(function(d){d.className=d.className.sub(b,a)});this.options.className=a},_toggleClassName:function(c,b,a){if(c){c.removeClassName(b);c.addClassName(a)}},setLocation:function(c,b){c=this._updateTopConstraint(c);b=this._updateLeftConstraint(b);var a=this.currentDrag||this.element;a.setStyle({top:c+"px"});a.setStyle({left:b+"px"});this.useLeft=true;this.useTop=true},getLocation:function(){var a={};if(this.useTop){a=Object.extend(a,{top:this.element.getStyle("top")})}else{a=Object.extend(a,{bottom:this.element.getStyle("bottom")})}if(this.useLeft){a=Object.extend(a,{left:this.element.getStyle("left")})}else{a=Object.extend(a,{right:this.element.getStyle("right")})}return a},getSize:function(){return{width:this.width,height:this.height}},setSize:function(c,b,a){c=parseFloat(c);b=parseFloat(b);if(!this.minimized&&c<this.options.minWidth){c=this.options.minWidth}if(!this.minimized&&b<this.options.minHeight){b=this.options.minHeight}if(this.options.maxHeight&&b>this.options.maxHeight){b=this.options.maxHeight}if(this.options.maxWidth&&c>this.options.maxWidth){c=this.options.maxWidth}if(this.useTop&&this.useLeft&&Window.hasEffectLib&&Effect.ResizeWindow&&a){new Effect.ResizeWindow(this,null,null,c,b,{duration:Window.resizeEffectDuration})}else{this.width=c;this.height=b;var f=this.currentDrag?this.currentDrag:this.element;f.setStyle({width:c+this.widthW+this.widthE+"px"});f.setStyle({height:b+this.heightN+this.heightS+"px"});if(!this.currentDrag||this.currentDrag==this.element){var d=$(this.element.id+"_content");d.setStyle({height:b+"px"});d.setStyle({width:c+"px"})}}},updateHeight:function(){this.setSize(this.width,this.content.scrollHeight,true)},updateWidth:function(){this.setSize(this.content.scrollWidth,this.height,true)},toFront:function(){if(this.element.style.zIndex<Windows.maxZIndex){this.setZIndex(Windows.maxZIndex+1)}if(this.iefix){this._fixIEOverlapping()}},getBounds:function(b){if(!this.width||!this.height||!this.visible){this.computeBounds()}var a=this.width;var c=this.height;if(!b){a+=this.widthW+this.widthE;c+=this.heightN+this.heightS}var d=Object.extend(this.getLocation(),{width:a+"px",height:c+"px"});return d},computeBounds:function(){if(!this.width||!this.height){var a=WindowUtilities._computeSize(this.content.innerHTML,this.content.id,this.width,this.height,0,this.options.className);if(this.height){this.width=a+5}else{this.height=a+5}}this.setSize(this.width,this.height);if(this.centered){this._center(this.centerTop,this.centerLeft)}},show:function(b){this.visible=true;if(b){if(typeof this.overlayOpacity=="undefined"){var a=this;setTimeout(function(){a.show(b)},10);return}Windows.addModalWindow(this);this.modal=true;this.setZIndex(Windows.maxZIndex+1);Windows.unsetOverflow(this)}else{if(!this.element.style.zIndex){this.setZIndex(Windows.maxZIndex+1)}}if(this.oldStyle){this.getContent().setStyle({overflow:this.oldStyle})}this.computeBounds();this._notify("onBeforeShow");if(this.options.showEffect!=Element.show&&this.options.showEffectOptions){this.options.showEffect(this.element,this.options.showEffectOptions)}else{this.options.showEffect(this.element)}this._checkIEOverlapping();WindowUtilities.focusedWindow=this;this._notify("onShow")},showCenter:function(a,c,b){this.centered=true;this.centerTop=c;this.centerLeft=b;this.show(a)},isVisible:function(){return this.visible},_center:function(c,b){var d=WindowUtilities.getWindowScroll(this.options.parent);var a=WindowUtilities.getPageSize(this.options.parent);if(typeof c=="undefined"){c=(a.windowHeight-(this.height+this.heightN+this.heightS))/2}c+=d.top;if(typeof b=="undefined"){b=(a.windowWidth-(this.width+this.widthW+this.widthE))/2}b+=d.left;this.setLocation(c,b);this.toFront()},_recenter:function(b){if(this.centered){var a=WindowUtilities.getPageSize(this.options.parent);var c=WindowUtilities.getWindowScroll(this.options.parent);if(this.pageSize&&this.pageSize.windowWidth==a.windowWidth&&this.pageSize.windowHeight==a.windowHeight&&this.windowScroll.left==c.left&&this.windowScroll.top==c.top){return}this.pageSize=a;this.windowScroll=c;if($("overlay_modal")){$("overlay_modal").setStyle({height:(a.pageHeight+"px")})}if(this.options.recenterAuto){this._center(this.centerTop,this.centerLeft)}}},hide:function(){this.visible=false;if(this.modal){Windows.removeModalWindow(this);Windows.resetOverflow()}this.oldStyle=this.getContent().getStyle("overflow")||"auto";this.getContent().setStyle({overflow:"hidden"});this.options.hideEffect(this.element,this.options.hideEffectOptions);if(this.iefix){this.iefix.hide()}if(!this.doNotNotifyHide){this._notify("onHide")}},close:function(){if(this.visible){if(this.options.closeCallback&&!this.options.closeCallback(this)){return}if(this.options.destroyOnClose){var a=this.destroy.bind(this);if(this.options.hideEffectOptions.afterFinish){var b=this.options.hideEffectOptions.afterFinish;this.options.hideEffectOptions.afterFinish=function(){b();a()}}else{this.options.hideEffectOptions.afterFinish=function(){a()}}}Windows.updateFocusedWindow();this.doNotNotifyHide=true;this.hide();this.doNotNotifyHide=false;this._notify("onClose")}},minimize:function(){if(this.resizing){return}var a=$(this.getId()+"_row2");if(!this.minimized){this.minimized=true;var d=a.getDimensions().height;this.r2Height=d;var c=this.element.getHeight()-d;if(this.useLeft&&this.useTop&&Window.hasEffectLib&&Effect.ResizeWindow){new Effect.ResizeWindow(this,null,null,null,this.height-d,{duration:Window.resizeEffectDuration})}else{this.height-=d;this.element.setStyle({height:c+"px"});a.hide()}if(!this.useTop){var b=parseFloat(this.element.getStyle("bottom"));this.element.setStyle({bottom:(b+d)+"px"})}}else{this.minimized=false;var d=this.r2Height;this.r2Height=null;if(this.useLeft&&this.useTop&&Window.hasEffectLib&&Effect.ResizeWindow){new Effect.ResizeWindow(this,null,null,null,this.height+d,{duration:Window.resizeEffectDuration})}else{var c=this.element.getHeight()+d;this.height+=d;this.element.setStyle({height:c+"px"});a.show()}if(!this.useTop){var b=parseFloat(this.element.getStyle("bottom"));this.element.setStyle({bottom:(b-d)+"px"})}this.toFront()}this._notify("onMinimize");this._saveCookie()},maximize:function(){if(this.isMinimized()||this.resizing){return}if(Prototype.Browser.IE&&this.heightN==0){this._getWindowBorderSize()}if(this.storedLocation!=null){this._restoreLocation();if(this.iefix){this.iefix.hide()}}else{this._storeLocation();Windows.unsetOverflow(this);var g=WindowUtilities.getWindowScroll(this.options.parent);var b=WindowUtilities.getPageSize(this.options.parent);var f=g.left;var e=g.top;if(this.options.parent!=document.body){g={top:0,left:0,bottom:0,right:0};var d=this.options.parent.getDimensions();b.windowWidth=d.width;b.windowHeight=d.height;e=0;f=0}if(this.constraint){b.windowWidth-=Math.max(0,this.constraintPad.left)+Math.max(0,this.constraintPad.right);b.windowHeight-=Math.max(0,this.constraintPad.top)+Math.max(0,this.constraintPad.bottom);f+=Math.max(0,this.constraintPad.left);e+=Math.max(0,this.constraintPad.top)}var c=b.windowWidth-this.widthW-this.widthE;var a=b.windowHeight-this.heightN-this.heightS;if(this.useLeft&&this.useTop&&Window.hasEffectLib&&Effect.ResizeWindow){new Effect.ResizeWindow(this,e,f,c,a,{duration:Window.resizeEffectDuration})}else{this.setSize(c,a);this.element.setStyle(this.useLeft?{left:f}:{right:f});this.element.setStyle(this.useTop?{top:e}:{bottom:e})}this.toFront();if(this.iefix){this._fixIEOverlapping()}}this._notify("onMaximize");this._saveCookie()},isMinimized:function(){return this.minimized},isMaximized:function(){return(this.storedLocation!=null)},setOpacity:function(a){if(Element.setOpacity){Element.setOpacity(this.element,a)}},setZIndex:function(a){this.element.setStyle({zIndex:a});Windows.updateZindex(a,this)},setTitle:function(a){if(!a||a==""){a="&nbsp;"}Element.update(this.element.id+"_top",a)},getTitle:function(){return $(this.element.id+"_top").innerHTML},setStatusBar:function(b){var a=$(this.getId()+"_bottom");if(typeof(b)=="object"){if(this.bottombar.firstChild){this.bottombar.replaceChild(b,this.bottombar.firstChild)}else{this.bottombar.appendChild(b)}}else{this.bottombar.innerHTML=b}},_checkIEOverlapping:function(){if(!this.iefix&&(navigator.appVersion.indexOf("MSIE")>0)&&(navigator.userAgent.indexOf("Opera")<0)&&(this.element.getStyle("position")=="absolute")){new Insertion.After(this.element.id,'<iframe id="'+this.element.id+'_iefix" style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" src="javascript:false;" frameborder="0" scrolling="no"></iframe>');this.iefix=$(this.element.id+"_iefix")}if(this.iefix){setTimeout(this._fixIEOverlapping.bind(this),50)}},_fixIEOverlapping:function(){Position.clone(this.element,this.iefix);this.iefix.style.zIndex=this.element.style.zIndex-1;this.iefix.show()},_getWindowBorderSize:function(b){var c=this._createHiddenDiv(this.options.className+"_n");this.heightN=Element.getDimensions(c).height;c.parentNode.removeChild(c);var c=this._createHiddenDiv(this.options.className+"_s");this.heightS=Element.getDimensions(c).height;c.parentNode.removeChild(c);var c=this._createHiddenDiv(this.options.className+"_e");this.widthE=Element.getDimensions(c).width;c.parentNode.removeChild(c);var c=this._createHiddenDiv(this.options.className+"_w");this.widthW=Element.getDimensions(c).width;c.parentNode.removeChild(c);var c=document.createElement("div");c.className="overlay_"+this.options.className;document.body.appendChild(c);var a=this;setTimeout(function(){a.overlayOpacity=($(c).getStyle("opacity"));c.parentNode.removeChild(c)},10);if(Prototype.Browser.IE){this.heightS=$(this.getId()+"_row3").getDimensions().height;this.heightN=$(this.getId()+"_row1").getDimensions().height}if(Prototype.Browser.WebKit&&Prototype.Browser.WebKitVersion<420){this.setSize(this.width,this.height)}if(this.doMaximize){this.maximize()}if(this.doMinimize){this.minimize()}},_createHiddenDiv:function(b){var a=document.body;var c=document.createElement("div");c.setAttribute("id",this.element.id+"_tmp");c.className=b;c.style.display="none";c.innerHTML="";a.insertBefore(c,a.firstChild);return c},_storeLocation:function(){if(this.storedLocation==null){this.storedLocation={useTop:this.useTop,useLeft:this.useLeft,top:this.element.getStyle("top"),bottom:this.element.getStyle("bottom"),left:this.element.getStyle("left"),right:this.element.getStyle("right"),width:this.width,height:this.height}}},_restoreLocation:function(){if(this.storedLocation!=null){this.useLeft=this.storedLocation.useLeft;this.useTop=this.storedLocation.useTop;if(this.useLeft&&this.useTop&&Window.hasEffectLib&&Effect.ResizeWindow){new Effect.ResizeWindow(this,this.storedLocation.top,this.storedLocation.left,this.storedLocation.width,this.storedLocation.height,{duration:Window.resizeEffectDuration})}else{this.element.setStyle(this.useLeft?{left:this.storedLocation.left}:{right:this.storedLocation.right});this.element.setStyle(this.useTop?{top:this.storedLocation.top}:{bottom:this.storedLocation.bottom});this.setSize(this.storedLocation.width,this.storedLocation.height)}Windows.resetOverflow();this._removeStoreLocation()}},_removeStoreLocation:function(){this.storedLocation=null},_saveCookie:function(){if(this.cookie){var a="";if(this.useLeft){a+="l:"+(this.storedLocation?this.storedLocation.left:this.element.getStyle("left"))}else{a+="r:"+(this.storedLocation?this.storedLocation.right:this.element.getStyle("right"))}if(this.useTop){a+=",t:"+(this.storedLocation?this.storedLocation.top:this.element.getStyle("top"))}else{a+=",b:"+(this.storedLocation?this.storedLocation.bottom:this.element.getStyle("bottom"))}a+=","+(this.storedLocation?this.storedLocation.width:this.width);a+=","+(this.storedLocation?this.storedLocation.height:this.height);a+=","+this.isMinimized();a+=","+this.isMaximized();WindowUtilities.setCookie(a,this.cookie)}},_createWiredElement:function(){if(!this.wiredElement){if(Prototype.Browser.IE){this._getWindowBorderSize()}var b=document.createElement("div");b.className="wired_frame "+this.options.className+"_wired_frame";b.style.position="absolute";this.options.parent.insertBefore(b,this.options.parent.firstChild);this.wiredElement=$(b)}if(this.useLeft){this.wiredElement.setStyle({left:this.element.getStyle("left")})}else{this.wiredElement.setStyle({right:this.element.getStyle("right")})}if(this.useTop){this.wiredElement.setStyle({top:this.element.getStyle("top")})}else{this.wiredElement.setStyle({bottom:this.element.getStyle("bottom")})}var a=this.element.getDimensions();this.wiredElement.setStyle({width:a.width+"px",height:a.height+"px"});this.wiredElement.setStyle({zIndex:Windows.maxZIndex+30});return this.wiredElement},_hideWiredElement:function(){if(!this.wiredElement||!this.currentDrag){return}if(this.currentDrag==this.element){this.currentDrag=null}else{if(this.useLeft){this.element.setStyle({left:this.currentDrag.getStyle("left")})}else{this.element.setStyle({right:this.currentDrag.getStyle("right")})}if(this.useTop){this.element.setStyle({top:this.currentDrag.getStyle("top")})}else{this.element.setStyle({bottom:this.currentDrag.getStyle("bottom")})}this.currentDrag.hide();this.currentDrag=null;if(this.doResize){this.setSize(this.width,this.height)}}},_notify:function(a){if(this.options[a]){this.options[a](this)}else{Windows.notify(a,this)}}};var Windows={windows:[],modalWindows:[],observers:[],focusedWindow:null,maxZIndex:0,overlayShowEffectOptions:{duration:0.5},overlayHideEffectOptions:{duration:0.5},addObserver:function(a){this.removeObserver(a);this.observers.push(a)},removeObserver:function(a){this.observers=this.observers.reject(function(b){return b==a})},notify:function(a,b){this.observers.each(function(c){if(c[a]){c[a](a,b)}})},getWindow:function(a){return this.windows.detect(function(b){return b.getId()==a})},getFocusedWindow:function(){return this.focusedWindow},updateFocusedWindow:function(){this.focusedWindow=this.windows.length>=2?this.windows[this.windows.length-2]:null},register:function(a){this.windows.push(a)},addModalWindow:function(a){if(this.modalWindows.length==0){WindowUtilities.disableScreen(a.options.className,"overlay_modal",a.overlayOpacity,a.getId(),a.options.parent)}else{if(Window.keepMultiModalWindow){$("overlay_modal").style.zIndex=Windows.maxZIndex+1;Windows.maxZIndex+=1;WindowUtilities._hideSelect(this.modalWindows.last().getId())}else{this.modalWindows.last().element.hide()}WindowUtilities._showSelect(a.getId())}this.modalWindows.push(a)},removeModalWindow:function(a){this.modalWindows.pop();if(this.modalWindows.length==0){WindowUtilities.enableScreen()}else{if(Window.keepMultiModalWindow){this.modalWindows.last().toFront();WindowUtilities._showSelect(this.modalWindows.last().getId())}else{this.modalWindows.last().element.show()}}},register:function(a){this.windows.push(a)},unregister:function(a){this.windows=this.windows.reject(function(b){return b==a})},closeAll:function(){this.windows.each(function(a){Windows.close(a.getId())})},closeAllModalWindows:function(){WindowUtilities.enableScreen();this.modalWindows.each(function(a){if(a){a.close()}})},minimize:function(c,a){var b=this.getWindow(c);if(b&&b.visible){b.minimize()}Event.stop(a)},maximize:function(c,a){var b=this.getWindow(c);if(b&&b.visible){b.maximize()}Event.stop(a)},close:function(c,a){var b=this.getWindow(c);if(b){b.close()}if(a){Event.stop(a)}},blur:function(b){var a=this.getWindow(b);if(!a){return}if(a.options.blurClassName){a.changeClassName(a.options.blurClassName)}if(this.focusedWindow==a){this.focusedWindow=null}a._notify("onBlur")},focus:function(b){var a=this.getWindow(b);if(!a){return}if(this.focusedWindow){this.blur(this.focusedWindow.getId())}if(a.options.focusClassName){a.changeClassName(a.options.focusClassName)}this.focusedWindow=a;a._notify("onFocus")},unsetOverflow:function(a){this.windows.each(function(b){b.oldOverflow=b.getContent().getStyle("overflow")||"auto";b.getContent().setStyle({overflow:"hidden"})});if(a&&a.oldOverflow){a.getContent().setStyle({overflow:a.oldOverflow})}},resetOverflow:function(){this.windows.each(function(a){if(a.oldOverflow){a.getContent().setStyle({overflow:a.oldOverflow})}})},updateZindex:function(a,b){if(a>this.maxZIndex){this.maxZIndex=a;if(this.focusedWindow){this.blur(this.focusedWindow.getId())}}this.focusedWindow=b;if(this.focusedWindow){this.focus(this.focusedWindow.getId())}}};var Dialog={dialogId:null,onCompleteFunc:null,callFunc:null,parameters:null,confirm:function(d,c){if(d&&typeof d!="string"){Dialog._runAjaxRequest(d,c,Dialog.confirm);return}d=d||"";c=c||{};var f=c.okLabel?c.okLabel:"Ok";var a=c.cancelLabel?c.cancelLabel:"Cancel";c=Object.extend(c,c.windowParameters||{});c.windowParameters=c.windowParameters||{};c.className=c.className||"alert";var b="class ='"+(c.buttonClass?c.buttonClass+" ":"")+" ok_button'";var e="class ='"+(c.buttonClass?c.buttonClass+" ":"")+" cancel_button'";var d="      <div class='"+c.className+"_message'>"+d+"</div>        <div class='"+c.className+"_buttons'>          <input type='button' value='"+f+"' onclick='Dialog.okCallback()' "+b+"/>          <input type='button' value='"+a+"' onclick='Dialog.cancelCallback()' "+e+"/>        </div>    ";return this._openDialog(d,c)},alert:function(c,b){if(c&&typeof c!="string"){Dialog._runAjaxRequest(c,b,Dialog.alert);return}c=c||"";b=b||{};var d=b.okLabel?b.okLabel:"Ok";b=Object.extend(b,b.windowParameters||{});b.windowParameters=b.windowParameters||{};b.className=b.className||"alert";var a="class ='"+(b.buttonClass?b.buttonClass+" ":"")+" ok_button'";var c="      <div class='"+b.className+"_message'>"+c+"</div>        <div class='"+b.className+"_buttons'>          <input type='button' value='"+d+"' onclick='Dialog.okCallback()' "+a+"/>        </div>";return this._openDialog(c,b)},info:function(b,a){if(b&&typeof b!="string"){Dialog._runAjaxRequest(b,a,Dialog.info);return}b=b||"";a=a||{};a=Object.extend(a,a.windowParameters||{});a.windowParameters=a.windowParameters||{};a.className=a.className||"alert";var b="<div id='modal_dialog_message' class='"+a.className+"_message'>"+b+"</div>";if(a.showProgress){b+="<div id='modal_dialog_progress' class='"+a.className+"_progress'>  </div>"}a.ok=null;a.cancel=null;return this._openDialog(b,a)},setInfoMessage:function(a){$("modal_dialog_message").update(a)},closeInfo:function(){Windows.close(this.dialogId)},_openDialog:function(e,d){var c=d.className;if(!d.height&&!d.width){d.width=WindowUtilities.getPageSize(d.options.parent||document.body).pageWidth/2}if(d.id){this.dialogId=d.id}else{var b=new Date();this.dialogId="modal_dialog_"+b.getTime();d.id=this.dialogId}if(!d.height||!d.width){var a=WindowUtilities._computeSize(e,this.dialogId,d.width,d.height,5,c);if(d.height){d.width=a+5}else{d.height=a+5}}d.effectOptions=d.effectOptions;d.resizable=d.resizable||false;d.minimizable=d.minimizable||false;d.maximizable=d.maximizable||false;d.draggable=d.draggable||false;d.closable=d.closable||false;var f=new Window(d);f.getContent().innerHTML=e;f.showCenter(true,d.top,d.left);f.setDestroyOnClose();f.cancelCallback=d.onCancel||d.cancel;f.okCallback=d.onOk||d.ok;return f},_getAjaxContent:function(a){Dialog.callFunc(a.responseText,Dialog.parameters)},_runAjaxRequest:function(c,b,a){if(c.options==null){c.options={}}Dialog.onCompleteFunc=c.options.onComplete;Dialog.parameters=b;Dialog.callFunc=a;c.options.onComplete=Dialog._getAjaxContent;new Ajax.Request(c.url,c.options)},okCallback:function(){var a=Windows.focusedWindow;if(!a.okCallback||a.okCallback(a)){$$("#"+a.getId()+" input").each(function(b){b.onclick=null});a.close()}},cancelCallback:function(){var a=Windows.focusedWindow;$$("#"+a.getId()+" input").each(function(b){b.onclick=null});a.close();if(a.cancelCallback){a.cancelCallback(a)}}};if(Prototype.Browser.WebKit){var array=navigator.userAgent.match(new RegExp(/AppleWebKit\/([\d\.\+]*)/));Prototype.Browser.WebKitVersion=parseFloat(array[1])}var WindowUtilities={getWindowScroll:function(parent){var T,L,W,H;parent=parent||document.body;if(parent!=document.body){T=parent.scrollTop;L=parent.scrollLeft;W=parent.scrollWidth;H=parent.scrollHeight}else{var w=window;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft}else{if(w.document.body){T=body.scrollTop;L=body.scrollLeft}}if(w.innerWidth){W=w.innerWidth;H=w.innerHeight}else{if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight}else{W=body.offsetWidth;H=body.offsetHeight}}}}return{top:T,left:L,width:W,height:H}},getPageSize:function(d){d=d||document.body;var c,g;var e,b;if(d!=document.body){c=d.getWidth();g=d.getHeight();b=d.scrollWidth;e=d.scrollHeight}else{var f,a;if(window.innerHeight&&window.scrollMaxY){f=document.body.scrollWidth;a=window.innerHeight+window.scrollMaxY}else{if(document.body.scrollHeight>document.body.offsetHeight){f=document.body.scrollWidth;a=document.body.scrollHeight}else{f=document.body.offsetWidth;a=document.body.offsetHeight}}if(self.innerHeight){c=self.innerWidth;g=self.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight){c=document.documentElement.clientWidth;g=document.documentElement.clientHeight}else{if(document.body){c=document.body.clientWidth;g=document.body.clientHeight}}}if(a<g){e=g}else{e=a}if(f<c){b=c}else{b=f}}return{pageWidth:b,pageHeight:e,windowWidth:c,windowHeight:g}},disableScreen:function(c,a,d,e,b){WindowUtilities.initLightbox(a,c,function(){this._disableScreen(c,a,d,e)}.bind(this),b||document.body)},_disableScreen:function(c,b,e,f){var d=$(b);var a=WindowUtilities.getPageSize(d.parentNode);if(f&&Prototype.Browser.IE){WindowUtilities._hideSelect();WindowUtilities._showSelect(f)}d.style.height=(a.pageHeight+"px");d.style.display="none";if(b=="overlay_modal"&&Window.hasEffectLib&&Windows.overlayShowEffectOptions){d.overlayOpacity=e;new Effect.Appear(d,Object.extend({from:0,to:e},Windows.overlayShowEffectOptions))}else{d.style.display="block"}},enableScreen:function(b){b=b||"overlay_modal";var a=$(b);if(a){if(b=="overlay_modal"&&Window.hasEffectLib&&Windows.overlayHideEffectOptions){new Effect.Fade(a,Object.extend({from:a.overlayOpacity,to:0},Windows.overlayHideEffectOptions))}else{a.style.display="none";a.parentNode.removeChild(a)}if(b!="__invisible__"){WindowUtilities._showSelect()}}},_hideSelect:function(a){if(Prototype.Browser.IE){a=a==null?"":"#"+a+" ";$$(a+"select").each(function(b){if(!WindowUtilities.isDefined(b.oldVisibility)){b.oldVisibility=b.style.visibility?b.style.visibility:"visible";b.style.visibility="hidden"}})}},_showSelect:function(a){if(Prototype.Browser.IE){a=a==null?"":"#"+a+" ";$$(a+"select").each(function(b){if(WindowUtilities.isDefined(b.oldVisibility)){try{b.style.visibility=b.oldVisibility}catch(c){b.style.visibility="visible"}b.oldVisibility=null}else{if(b.style.visibility){b.style.visibility="visible"}}})}},isDefined:function(a){return typeof(a)!="undefined"&&a!=null},initLightbox:function(e,c,a,b){if($(e)){Element.setStyle(e,{zIndex:Windows.maxZIndex+1});Windows.maxZIndex++;a()}else{var d=document.createElement("div");d.setAttribute("id",e);d.className="overlay_"+c;d.style.display="none";d.style.position="absolute";d.style.top="0";d.style.left="0";d.style.zIndex=Windows.maxZIndex+1;Windows.maxZIndex++;d.style.width="100%";b.insertBefore(d,b.firstChild);if(Prototype.Browser.WebKit&&e=="overlay_modal"){setTimeout(function(){a()},10)}else{a()}}},setCookie:function(b,a){document.cookie=a[0]+"="+escape(b)+((a[1])?"; expires="+a[1].toGMTString():"")+((a[2])?"; path="+a[2]:"")+((a[3])?"; domain="+a[3]:"")+((a[4])?"; secure":"")},getCookie:function(c){var b=document.cookie;var e=c+"=";var d=b.indexOf("; "+e);if(d==-1){d=b.indexOf(e);if(d!=0){return null}}else{d+=2}var a=document.cookie.indexOf(";",d);if(a==-1){a=b.length}return unescape(b.substring(d+e.length,a))},_computeSize:function(e,a,b,g,d,f){var i=document.body;var c=document.createElement("div");c.setAttribute("id",a);c.className=f+"_content";if(g){c.style.height=g+"px"}else{c.style.width=b+"px"}c.style.position="absolute";c.style.top="0";c.style.left="0";c.style.display="none";c.innerHTML=e;i.insertBefore(c,i.firstChild);var h;if(g){h=$(c).getDimensions().width+d}else{h=$(c).getDimensions().height+d}i.removeChild(c);return h}};Effect.ResizeWindow=Class.create();Object.extend(Object.extend(Effect.ResizeWindow.prototype,Effect.Base.prototype),{initialize:function(g,f,e,d,a){this.window=g;this.window.resizing=true;var c=g.getSize();this.initWidth=parseFloat(c.width);this.initHeight=parseFloat(c.height);var b=g.getLocation();this.initTop=parseFloat(b.top);this.initLeft=parseFloat(b.left);this.width=d!=null?parseFloat(d):this.initWidth;this.height=a!=null?parseFloat(a):this.initHeight;this.top=f!=null?parseFloat(f):this.initTop;this.left=e!=null?parseFloat(e):this.initLeft;this.dx=this.left-this.initLeft;this.dy=this.top-this.initTop;this.dw=this.width-this.initWidth;this.dh=this.height-this.initHeight;this.r2=$(this.window.getId()+"_row2");this.content=$(this.window.getId()+"_content");this.contentOverflow=this.content.getStyle("overflow")||"auto";this.content.setStyle({overflow:"hidden"});if(this.window.options.wiredDrag){this.window.currentDrag=g._createWiredElement();this.window.currentDrag.show();this.window.element.hide()}this.start(arguments[5])},update:function(b){var c=Math.floor(this.initWidth+this.dw*b);var a=Math.floor(this.initHeight+this.dh*b);var e=Math.floor(this.initTop+this.dy*b);var d=Math.floor(this.initLeft+this.dx*b);if(window.ie){if(Math.floor(a)==0){this.r2.hide()}else{if(Math.floor(a)>1){this.r2.show()}}}this.r2.setStyle({height:a});this.window.setSize(c,a);this.window.setLocation(e,d)},finish:function(a){if(this.window.options.wiredDrag){this.window._hideWiredElement();this.window.element.show()}this.window.setSize(this.width,this.height);this.window.setLocation(this.top,this.left);this.r2.setStyle({height:null});this.content.setStyle({overflow:this.contentOverflow});this.window.resizing=false}});Effect.ModalSlideDown=function(b){var c=WindowUtilities.getWindowScroll();var a=b.getStyle("height");b.setStyle({top:-(parseFloat(a)-c.top)+"px"});b.show();return new Effect.Move(b,Object.extend({x:0,y:parseFloat(a)},arguments[1]||{}))};Effect.ModalSlideUp=function(b){var a=b.getStyle("height");return new Effect.Move(b,Object.extend({x:0,y:-parseFloat(a)},arguments[1]||{}))};PopupEffect=Class.create();PopupEffect.prototype={initialize:function(a){this.html=$(a);this.options=Object.extend({className:"popup_effect",duration:0.4},arguments[1]||{})},show:function(d,b){var a=Position.cumulativeOffset(this.html);var c=this.html.getDimensions();var f=d.win.getBounds();this.window=d.win;if(!this.div){this.div=document.createElement("div");this.div.className=this.options.className;this.div.style.height=c.height+"px";this.div.style.width=c.width+"px";this.div.style.top=a[1]+"px";this.div.style.left=a[0]+"px";this.div.style.position="absolute";document.body.appendChild(this.div)}if(this.options.fromOpacity){this.div.setStyle({opacity:this.options.fromOpacity})}this.div.show();var e="top:"+f.top+";left:"+f.left+";width:"+f.width+";height:"+f.height;if(this.options.toOpacity){e+=";opacity:"+this.options.toOpacity}new Effect.Morph(this.div,{style:e,duration:this.options.duration,afterFinish:this._showWindow.bind(this)})},hide:function(d,b){var a=Position.cumulativeOffset(this.html);var c=this.html.getDimensions();this.window.visible=true;var f=this.window.getBounds();this.window.visible=false;this.window.element.hide();this.div.style.height=f.height;this.div.style.width=f.width;this.div.style.top=f.top;this.div.style.left=f.left;if(this.options.toOpacity){this.div.setStyle({opacity:this.options.toOpacity})}this.div.show();var e="top:"+a[1]+"px;left:"+a[0]+"px;width:"+c.width+"px;height:"+c.height+"px";if(this.options.fromOpacity){e+=";opacity:"+this.options.fromOpacity}new Effect.Morph(this.div,{style:e,duration:this.options.duration,afterFinish:this._hideDiv.bind(this)})},_showWindow:function(){this.div.hide();this.window.element.show()},_hideDiv:function(){this.div.hide()}};var dbx;function dbxManager(a){dbx=this;if(!/^[-_a-z0-9]+$/i.test(a)){alert('Error from dbxManager:\n"'+a+'" is an invalid session ID');return}this.supported=!(document.getElementsByTagName("*").length==0||(navigator.vendor=="KDE"&&typeof window.sidebar=="undefined"));if(!this.supported){return}this.etype=typeof document.addEventListener!="undefined"?"addEventListener":typeof document.attachEvent!="undefined"?"attachEvent":"none";this.eprefix=(this.etype=="attachEvent"?"on":"");if(typeof window.opera!="undefined"&&parseFloat(navigator.userAgent.toLowerCase().split(/opera[\/ ]/)[1].split(" ")[0],10)<7.5){this.etype="none"}if(this.etype=="none"){this.supported=false;return}this.running=0;this.sid=a;this.savedata={};this.cookiestate=this.getCookieState()}dbxManager.prototype.setCookieState=function(){var a=new Date();a.setTime(a.getTime()+(365*24*60*60*1000));var b="";for(j in this.savedata){if(typeof this.savedata[j]!="function"){b+=this.savedata[j]}}this.state=b.replace(/^(.+)&$/,"$1");this.cookiestring=this.state.replace(/,/g,"|");this.cookiestring=this.cookiestring.replace(/=/g,":");if(typeof this.onstatechange=="undefined"||this.onstatechange()){document.cookie="dbx-"+this.sid+"="+this.cookiestring+"; expires="+a.toGMTString()+"; path=/"}};dbxManager.prototype.getCookieState=function(){this.cookiestate=null;if(document.cookie){if(document.cookie.indexOf("dbx-"+this.sid)!=-1){this.cookie=document.cookie.split("dbx-"+this.sid+"=")[1].split(";")[0].split("&");for(var a in this.cookie){if(typeof this.cookie[a]!="function"){this.cookie[a]=this.cookie[a].replace(/\|/g,",");this.cookie[a]=this.cookie[a].replace(/:/g,"=");this.cookie[a]=this.cookie[a].split("=");this.cookie[a][1]=this.cookie[a][1].split(",")}}this.cookiestate={};for(a in this.cookie){if(typeof this.cookie[a]!="function"){this.cookiestate[this.cookie[a][0]]=this.cookie[a][1]}}}}return this.cookiestate};dbxManager.prototype.addDataMember=function(b,a){this.savedata[b]=a};dbxManager.prototype.createElement=function(a){return typeof document.createElementNS!="undefined"?document.createElementNS("http://www.w3.org/1999/xhtml",a):document.createElement(a)};dbxManager.prototype.getTarget=function(f,c,b){if(typeof b!="undefined"){var d=b}else{d=typeof f.target!="undefined"?f.target:f.srcElement}var a=new RegExp(c,"");while(!a.test(d.className)){d=d.parentNode}return d};function dbxGroup(k,m,a,l,v,b,f,e,g,n,p,o,t,u){if(!/^[-_a-z0-9]+$/i.test(k)){alert('Error from dbxGroup:\n"'+k+'" is an invalid container ID');return}this.container=document.getElementById(k);if(this.container==null||!dbx.supported){return}var h=this;this.gid=k;this.dragok=false;this.box=null;this.vertical=m=="vertical";this.threshold=parseInt(a,10);this.restrict=l=="yes";this.resolution=parseInt(v,10);this.toggles=b=="yes";this.defopen=f!="closed";this.vocab={open:e,close:g,move:n,toggle:p,kmove:o,ktoggle:t,syntax:u};this.container.style.position="relative";this.container.style.display="block";if(typeof window.opera!="undefined"){this.container.style.display="run-in"}this.boxes=[];this.buttons=[];this.order=[];this.eles=this.container.getElementsByTagName("*");for(var q=0;q<this.eles.length;q++){if(/dbx\-box/i.test(this.eles[q].className)&&!/dbx\-dummy/i.test(this.eles[q].className)){this.eles[q].style.position="relative";this.eles[q].style.display="block";this.boxes.push(this.eles[q]);this.eles[q].className+=" dbx-box-open";this.eles[q].className+=" dbxid"+this.order.length;this.order.push(this.order.length.toString()+"+");this.eles[q][dbx.etype](dbx.eprefix+"mousedown",function(i){if(!i){i=window.event}h.mousedown(i,dbx.getTarget(i,"dbx-box"))},false)}if(/dbx\-handle/i.test(this.eles[q].className)){this.eles[q].style.position="relative";this.eles[q].style.display="block";this.eles[q].className+=" dbx-handle-cursor";this.eles[q].setAttribute("title",this.eles[q].getAttribute("title")==null||this.eles[q].title==""?this.vocab.move:this.vocab.syntax.replace("%mytitle%",this.eles[q].title).replace("%dbxtitle%",this.vocab.move));if(this.toggles){this.buttons.push(this.addToggleBehavior(this.eles[q]))}else{this.eles[q][dbx.etype](dbx.eprefix+"key"+(typeof document.uniqueID!="undefined"||navigator.vendor=="Apple Computer, Inc."?"down":"press"),function(i){if(!i){i=window.event}return h.keypress(i,dbx.getTarget(i,"dbx-handle"))},false);this.eles[q][dbx.etype](dbx.eprefix+"focus",function(i){if(!i){i=window.event}h.createTooltip(null,dbx.getTarget(i,"dbx-handle"))},false);this.eles[q][dbx.etype](dbx.eprefix+"blur",function(){h.removeTooltip()},false)}}}dbx.addDataMember(this.gid,this.order.join(","));var w=this.container.appendChild(dbx.createElement("span"));w.className="dbx-box dbx-dummy";w.style.display="block";w.style.width="0";w.style.height="0";w.style.overflow="hidden";if(this.vertical){w.className+=" dbx-offdummy"}this.boxes.push(w);if(dbx.cookiestate!=null&&typeof dbx.cookiestate[this.gid]!="undefined"){var d=dbx.cookiestate[this.gid].length;if(d==this.boxes.length-1){for(q=0;q<d;q++){var c=parseInt(dbx.cookiestate[this.gid][q],10);this.container.insertBefore(this.boxes[c],w);if(this.toggles&&/\-$/.test(dbx.cookiestate[this.gid][q])){this.toggleBoxState(this.buttons[c],false)}}this.getBoxOrder()}}else{if(!this.defopen&&this.toggles){var r=this.buttons.length;for(q=0;q<r;q++){this.toggleBoxState(this.buttons[q],true)}}}document[dbx.etype](dbx.eprefix+"mouseout",function(i){if(typeof i.target=="undefined"){i=window.event;i.relatedTarget=i.toElement}if(i.relatedTarget==null){h.mouseup(i)}},false);document[dbx.etype](dbx.eprefix+"mousemove",function(i){h.mousemove(i);return !h.dragok},false);document[dbx.etype](dbx.eprefix+"mouseup",function(i){h.mouseup(i)},false);this.keydown=false;document[dbx.etype](dbx.eprefix+"keydown",function(){h.keydown=true},false);document[dbx.etype](dbx.eprefix+"keyup",function(){h.keydown=false},false)}dbxGroup.prototype.addToggleBehavior=function(){};dbxGroup.prototype.toggleBoxState=function(a,c){var d=(/dbx\-toggle\-open/.test(a.className));var b=dbx.getTarget(null,"dbx-box",a);dbx.box=b;dbx.toggle=a;if(typeof dbx.container=="undefined"){dbx.group=dbx.getTarget(null,"dbx-group",b)}else{dbx.group=dbx.container}if((!d&&(typeof dbx.onboxopen=="undefined"||dbx.onboxopen()))||(d&&(typeof dbx.onboxclose=="undefined"||dbx.onboxclose()))){a.className="dbx-toggle dbx-toggle-"+(d?"closed":"open");a.title=this.vocab.toggle.replace("%toggle%",d?this.vocab.open:this.vocab.close);if(typeof a.isactive!="undefined"){a.className+=" dbx-toggle-hilite-"+(d?"closed":"open")}b.className=b.className.replace(/[ ](dbx-box-)(open|closed)/," $1"+(d?"closed":"open"));if(c){this.getBoxOrder()}}};dbxGroup.prototype.shiftBoxPosition=function(l,f,g){var n=dbx.getTarget(null,"dbx-box",f);dbx.group=this.container;dbx.box=n;dbx.event=l;if(typeof dbx.onboxdrag=="undefined"||dbx.onboxdrag()){var h=[];var k=this.boxes.length;for(var d=0;d<k;d++){h[d]=[d,this.boxes[d][this.vertical?"offsetTop":"offsetLeft"]];if(n==this.boxes[d]){this.idref=d}}h.sort(this.compare);for(d=0;d<k;d++){if(h[d][0]==this.idref){if((g&&d<k-2)||(!g&&d>0)){var o=this.boxes[h[d+(g?1:-1)][0]];if(this.resolution>0){var m={x:n.offsetLeft,y:n.offsetTop};var a={x:o.offsetLeft,y:o.offsetTop}}var c={insert:(g?o:n),before:(g?n:o)};this.container.insertBefore(c.insert,c.before);if(this.resolution>0){var b={sibling:new dbxAnimator(this,o,a,this.resolution,true,f),parent:new dbxAnimator(this,n,m,this.resolution,true,f)}}else{f.focus()}break}}}this.getBoxOrder()}};dbxGroup.prototype.compare=function(d,c){return d[1]-c[1]};dbxGroup.prototype.createTooltip=function(d,a){if(this.keydown){this.tooltip=this.container.appendChild(dbx.createElement("span"));this.tooltip.style.visibility="hidden";this.tooltip.className="dbx-tooltip";if(d!=null){this.tooltip.appendChild(document.createTextNode(this.vocab.kmove+this.vocab.ktoggle.replace("%toggle%",d?this.vocab.close:this.vocab.open)))}else{this.tooltip.appendChild(document.createTextNode(this.vocab.kmove))}var b=dbx.getTarget(null,"dbx-box",a);this.tooltip.style.left=b.offsetLeft+"px";this.tooltip.style.top=b.offsetTop+"px";var c=this.tooltip;window.setTimeout(function(){if(c!=null){c.style.visibility="visible"}},500)}};dbxGroup.prototype.removeTooltip=function(){if(this.tooltip!=null){this.tooltip.parentNode.removeChild(this.tooltip);this.tooltip=null}};dbxGroup.prototype.mousedown=function(c,b){var a=typeof c.target!="undefined"?c.target:c.srcElement;if(a.nodeName=="#text"){a=a.parentNode}if(!/dbx\-(toggle|box|group)/i.test(a.className)){while(!/dbx\-(handle|box|group)/i.test(a.className)){a=a.parentNode}}if(/dbx\-handle/i.test(a.className)){this.removeTooltip();this.released=false;this.initial={x:c.clientX,y:c.clientY};this.current={x:0,y:0};this.createCloneBox(b);if(typeof c.preventDefault!="undefined"){c.preventDefault()}if(typeof document.onselectstart!="undefined"){document.onselectstart=function(){return false}}}};dbxGroup.prototype.mousemove=function(b){if(this.dragok&&this.box!=null){this.positive=this.vertical?(b.clientY>this.current.y?true:false):(b.clientX>this.current.x?true:false);this.current={x:b.clientX,y:b.clientY};var a={x:this.current.x-this.initial.x,y:this.current.y-this.initial.y};if(((a.x>=0&&a.x<=this.threshold)||(a.x<=0&&a.x>=0-this.threshold))&&((a.y>=0&&a.y<=this.threshold)||(a.y<=0&&a.y>=0-this.threshold))){this.current.x-=a.x;this.current.y-=a.y}if(this.released||a.x>this.threshold||a.x<(0-this.threshold)||a.y>this.threshold||a.y<(0-this.threshold)){dbx.group=this.container;dbx.box=this.box;dbx.event=b;if(typeof dbx.onboxdrag=="undefined"||dbx.onboxdrag()){this.released=true;if(!this.restrict||!this.vertical){this.boxclone.style.left=(this.current.x-this.difference.x)+"px"}if(!this.restrict||this.vertical){this.boxclone.style.top=(this.current.y-this.difference.y)+"px"}this.moveOriginalToPosition(this.current.x,this.current.y);if(typeof b.preventDefault!="undefined"){b.preventDefault()}}}}return true};dbxGroup.prototype.mouseup=function(a){if(this.box!=null){this.moveOriginalToPosition(a.clientX,a.clientY);this.removeCloneBox();this.getBoxOrder();if(typeof document.onselectstart!="undefined"){document.onselectstart=function(){return true}}}this.dragok=false};dbxGroup.prototype.keypress=function(b,a){if(/^(3[7-9])|(40)$/.test(b.keyCode)){this.removeTooltip();if((this.vertical&&/^(38|40)$/.test(b.keyCode))||(!this.vertical&&/^(37|39)$/.test(b.keyCode))){this.shiftBoxPosition(b,a,/^[3][78]$/.test(b.keyCode)?false:true);if(typeof b.preventDefault!="undefined"){b.preventDefault()}else{return false}typeof b.stopPropagation!="undefined"?b.stopPropagation():b.cancelBubble=true;this.keydown=false}}return true};dbxGroup.prototype.getBoxOrder=function(){this.order=[];var a=this.eles.length;for(var b=0;b<a;b++){if(/dbx\-box/i.test(this.eles[b].className)&&!/dbx\-(clone|dummy)/i.test(this.eles[b].className)){this.order.push(this.eles[b].className.split("dbxid")[1]+(/dbx\-box\-open/i.test(this.eles[b].className)?"+":"-"))}}dbx.savedata[this.gid]=this.order.join(",");dbx.setCookieState()};dbxGroup.prototype.createClone=function(){var a=this.container.appendChild(arguments[0].cloneNode(true));a.className+=" dbx-clone";a.style.position="absolute";a.style.visibility="hidden";a.style.zIndex=arguments[1];a.style.left=arguments[2].x+"px";a.style.top=arguments[2].y+"px";a.style.width=arguments[0].offsetWidth+"px";a.style.height=arguments[0].offsetHeight+"px";return a};dbxGroup.prototype.createCloneBox=function(a){this.box=a;this.position={x:this.box.offsetLeft,y:this.box.offsetTop};this.difference={x:(this.initial.x-this.position.x),y:(this.initial.y-this.position.y)};this.boxclone=this.createClone(this.box,30000,this.position);this.boxclone.style.cursor="move";this.dragok=true};dbxGroup.prototype.removeCloneBox=function(){this.container.removeChild(this.boxclone);this.box.style.visibility="visible";this.box=null};dbxGroup.prototype.moveOriginalToPosition=function(b,a){var k={xy:this.vertical?a-this.difference.y:b-this.difference.x,wh:this.vertical?this.boxclone.offsetHeight:this.boxclone.offsetWidth};this.box.style.visibility="hidden";this.boxclone.style.visibility="visible";var g=this.boxes.length;for(var f=0;f<g;f++){var c={xy:this.vertical?this.boxes[f].offsetTop:this.boxes[f].offsetLeft,wh:this.vertical?this.boxes[f].offsetHeight:this.boxes[f].offsetWidth};if((this.positive&&k.xy+k.wh>c.xy&&k.xy<c.xy)||(!this.positive&&k.xy<c.xy&&k.xy+k.wh>c.xy)){if(this.boxes[f]==this.box){return}var m=this.box.nextSibling;while(m.className==null||!/dbx\-box/.test(m.className)){m=m.nextSibling}if(this.boxes[f]==m){return}if(this.resolution>0){if(this.box[this.vertical?"offsetTop":"offsetLeft"]<c.xy){var e=this.boxes[f].previousSibling;while(e.className==null||!/dbx\-box/.test(e.className)){e=e.previousSibling}}else{e=this.boxes[f]}var h={x:e.offsetLeft,y:e.offsetTop}}var l={x:this.box.offsetLeft,y:this.box.offsetTop};this.container.insertBefore(this.box,this.boxes[f]);this.initial.x+=(this.box.offsetLeft-l.x);this.initial.y+=(this.box.offsetTop-l.y);if(this.resolution>0&&e!=this.box){var d=new dbxAnimator(this,e,h,this.resolution,false,null)}else{}break}}};function dbxAnimator(b,d,g,e,i,c){this.caller=b;this.box=d;this.timer=null;var h=g[this.caller.vertical?"y":"x"];var a=this.box[this.caller.vertical?"offsetTop":"offsetLeft"];if(h!=a){if(dbx.running>this.caller.boxes.length-1){return}var f=this.caller.createClone(this.box,29999,arguments[2]);f.style.visibility="visible";this.box.style.visibility="hidden";this.animateClone(f,h,a>h?a-h:0-(h-a),this.caller.vertical?"top":"left",e,i,c)}}dbxAnimator.prototype.animateClone=function(f,d,g,a,e,h,b){var i=this;var c=0;dbx.running++;this.timer=window.setInterval(function(){c++;d+=g/e;f.style[a]=d+"px";if(c==e){window.clearTimeout(i.timer);i.timer=null;dbx.running--;i.caller.container.removeChild(f);i.box.style.visibility="visible";if(h){if(b!=null&&b.parentNode.style.visibility!="hidden"){b.focus()}else{if(i.caller.toggles){var k=i.caller.buttons[parseInt(i.box.className.split("dbxid")[1],10)];if(k!=null&&typeof k.isactive!="undefined"){k.focus()}}}}}},20)};if(typeof window.attachEvent!="undefined"){window.attachEvent("onunload",function(){var e=["mousedown","mousemove","mouseup","mouseout","click","keydown","keyup","focus","blur","selectstart","statechange","boxdrag","boxopen","boxclose"];var d=e.length;var b=document.all.length;for(var c=0;c<b;c++){for(var a=0;a<d;a++){document.all[c]["on"+e[a]]=null}}})}window.onload=function(){var b=new dbxManager("main");b.onstatechange=function(){str=this.state.replace(/[+-]/g,"");alert("ordre d'affichage : "+str);return true};var a=new dbxGroup("dbx_categorie","vertical","7","yes","10","yes","open","open","close","Vous pouvez déplacer cette section dans un ordre différent","click to %toggle% this box","use the arrow keys to move this box",", or press the enter key to %toggle% it","%mytitle%  [%dbxtitle%]")};