var cfe={};cfe.module={};cfe.addon={};cfe.version="0.9.4";cfe.generic=new Class({Implements:[new Options,new Events],type:"Generic",instance:0,options:{spacer:"",aliasType:"span",replaces:null,label:null,name:"",disabled:false},initialize:function(a){this.instance=this.constructor.prototype.instance++;
this.setOptions(a);if(!this.options.spacer){this.options.spacer=cfe.spacer;}this.buildWrapper();this.setupOriginal();this.addLabel($pick(this.o.getLabel(),this.setupLabel(this.options.label)));this.initializeAdv();this.build();},toElement:function(){return this.a;},toElements:function(){return[this.l,this.a];
},getLabel:function(){return this.l;},buildWrapper:function(){this.a=new Element(this.options.aliasType);this.setupWrapper();},setupWrapper:function(){this.a.addClass("js"+this.type).addEvents({mouseover:this.hover.bind(this),mouseout:this.unhover.bind(this),mousedown:this.press.bind(this),mouseup:this.release.bind(this),disable:this.disable.bind(this),enable:this.enable.bind(this)}).setStyle("cursor","pointer");
},setupOriginal:function(){if($defined(this.options.replaces)){this.o=this.options.replaces;this.a.inject(this.o,"before");}else{this.o=this.createOriginal();if(this.options.id){this.o.setProperty("id",this.options.id);}if(this.options.disabled){this.o.disable();}if(this.options.name){this.o.setProperty("name",this.options.name);
if(!$chk(this.o.id)){this.o.setProperty("id",this.options.name+this.instance);}}if(this.options.value){this.o.setProperty("value",this.options.value);}this.a.adopt(this.o);}this.a.addClass("js"+this.type+this.o.id.capitalize());this.o.addEvents({focus:this.setFocus.bind(this),blur:this.removeFocus.bind(this),change:this.update.bind(this),keydown:function(a){if(a.key=="space"){this.press();
}}.bind(this),keyup:function(a){if(a.key=="space"){this.release();}}.bind(this),onDisable:function(){this.a.fireEvent("disable");}.bind(this),onEnable:function(){this.a.fireEvent("enable");}.bind(this)});this.o.store("cfe",this);},isDisabled:function(){return this.o.getProperty("disabled");},createOriginal:function(){return new Element("img",{"src":this.options.spacer,"class":"spc"});
},hideOriginal:function(){this.o.setStyles({position:"absolute",left:"-9999px",opacity:0.01});if(Browser.Engine.trident&&!Browser.Features.query){this.o.setStyles({width:0,height:"1px"});}},setupLabel:function(){if($defined(this.options.label)){return new Element("label").set("html",this.options.label).setProperty("for",this.o.id);
}return null;},addLabel:function(a){if(!$defined(a)){return;}this.l=a;if(!this.dontRemoveForFromLabel){this.l.removeProperty("for");}this.l.addClass("js"+this.type+"L");if(this.o.id||this.o.name){this.l.addClass("for_"+(this.o.id||(this.o.name+this.o.value).replace("]","-").replace("[","")));}this.l.addEvents({mouseover:this.hover.bind(this),mouseout:this.unhover.bind(this),mousedown:this.press.bind(this),mouseup:this.release.bind(this)});
if(!this.o.implicitLabel||(this.o.implicitLabel&&!Browser.Engine.gecko)){this.l.addEvent("click",this.clicked.bindWithEvent(this));}this.addEvents({"onPress":function(){this.l.addClass("P");},"onRelease":function(){this.l.removeClass("P");},"onMouseOver":function(){this.l.addClass("H");},"onMouseOut":function(){this.l.removeClass("H");
this.l.removeClass("P");},"onFocus":function(){this.l.addClass("F");},"onBlur":function(){this.l.removeClass("F");},"onEnable":function(){this.l.removeClass("D");},"onDisable":function(){this.l.addClass("D");}});},initializeAdv:function(){if(!this.o.implicitLabel){this.a.addEvent("click",this.clicked.bindWithEvent(this));
}if(this.isDisabled()){this.a.fireEvent("disable");}},build:function(){},press:function(){if(!this.isDisabled()){this.a.addClass("P");this.fireEvent("onPress");}},release:function(){if(!this.isDisabled()){this.a.removeClass("P");this.fireEvent("onRelease");}},hover:function(){if(!this.isDisabled()){this.a.addClass("H");
this.fireEvent("onMouseOver");}},unhover:function(){if(!this.isDisabled()){this.a.removeClass("H");this.fireEvent("onMouseOut");this.release();}},setFocus:function(){this.a.addClass("F");this.fireEvent("onFocus");},removeFocus:function(){this.a.removeClass("F");this.fireEvent("onBlur");},clicked:function(){if(!this.isDisabled()){if($chk(this.o.click)){this.o.click();
}this.o.focus();this.fireEvent("onClick");}},update:function(){this.fireEvent("onUpdate");},enable:function(){this.a.removeClass("D");this.fireEvent("onEnable");},disable:function(){this.a.addClass("D");this.fireEvent("onDisable");}});Element.Helpers=new Class({disableTextSelection:function(){if(Browser.Engine.trident||Browser.Engine.presto){this.setProperty("unselectable","on");
}else{if(Browser.Engine.gecko){this.setStyle("MozUserSelect","none");}else{if(Browser.Engine.webkit){this.setStyle("KhtmlUserSelect","none");}}}},disable:function(){if($type(this)==="element"&&["button","input","option","optgroup","select","textarea"].contains(this.get("tag"))){this.setProperty("disabled",true);
this.fireEvent("onDisable");return true;}return false;},enable:function(){if($type(this)==="element"&&["button","input","option","optgroup","select","textarea"].contains(this.get("tag"))){this.setProperty("disabled",false);this.fireEvent("onEnable");return true;}return false;},toggleDisabled:function(){if($type(this)==="element"&&["button","input","option","optgroup","select","textarea"].contains(this.get("tag"))){this.setProperty("disabled",!this.getProperty("disabled"));
this.fireEvent(this.getProperty("disabled")?"onDisable":"onEnable");return true;}return false;},getLabel:function(){var a=null;if(this.id){a=$$("label[for="+this.id+"]")[0];}if(!a){a=this.getParent("label");if(a){this.implicitLabel=true;}}return a;},setSlidingDoors:function(e,d,f){var a=null;var b=this;
f=$pick(f,"sd");for(var c=e;c>0;c--){a=new Element(d);a.addClass(c==e?f:c==0?f+"Slide":f+"Slide"+c);a.grab(b);b=a;}b=null;return a;}});Element.implement(new Element.Helpers);cfe.replace=new Class({Implements:[new Options,new Events],options:{scope:false,spacer:"",onInit:$empty,onInitSingle:$empty,onBeforeInitSingle:$empty,onSetModuleOption:$empty,onRegisterModule:$empty,onUnregisterModule:$empty,onComplete:$empty},modules:{},moduleOptions:{},moduleOptionsAll:{},initialize:function(){this.options.spacer=cfe.spacer;
this.registerAllModules.bind(this)();},registerAllModules:function(){$each(cfe.module,function(b,a){if(a!="Generic"){this.registerModule(a);}}.bind(this));},registerModule:function(a){modObj=cfe.module[a];this.fireEvent("onRegisterModule",[a,modObj]);this.modules[a]=modObj;this.moduleOptions[a]={};return true;
},registerModules:function(a){$each(a,function(b){this.registerModule(b);},this);},unregisterModule:function(a){modObj=cfe.module[a];this.fireEvent("onUnregisterModule",[a,modObj]);delete this.modules[a];},unregisterModules:function(a){$each(a,function(b){this.unregisterModule(b);},this);},setModuleOption:function(b,a,c){modObj=cfe.module[b];
this.fireEvent("onSetModuleOption",[b,modObj,a,c]);if(!modObj){this.moduleOptionsAll[a]=c;}else{this.moduleOptions[b][a]=c;}},setModuleOptions:function(b,a){$each(a,function(d,c){this.setModuleOption(b,c,d);}.bind(this));},init:function(a){this.setOptions(this.options,a);if($type(this.options.scope)!="element"){this.options.scope=$(document.body);
}this.fireEvent("onInit");$each(this.modules,function(e,c,d){var b=e.prototype.selector;this.options.scope.getElements(b).each(function(g,f){var h={spacer:this.options.spacer,replaces:g};this.fireEvent("onBeforeInitSingle",[g,f,h]);var j=new e($merge(h,$merge(this.moduleOptions[c],this.moduleOptionsAll)));
this.fireEvent("onInitSingle",j);},this);},this);this.fireEvent("onComplete");}});cfe.module.checkbox=new Class({Extends:cfe.generic,instance:0,type:"Checkbox",selector:"input[type=checkbox]",options:{},toElements:function(){return[this.a,this.l];},initializeAdv:function(){this.parent();this.hideOriginal();
this.o.defaultChecked=this.o.checked;if(Browser.Engine.presto){if(!this.o.implicitLabel){this.a.addEvent("click",this.update.bind(this));if(this.l){this.l.addEvent("click",this.update.bind(this));}}else{this.o.addEvent("click",this.update.bind(this));}}if(Browser.Engine.trident){this.o.addEvent("click",this.update.bind(this));
}if(Browser.Engine.trident&&Browser.Engine.version>=6){if(this.l){this.l.removeEvents("click");}}},createOriginal:function(){return new Element("input",{type:"checkbox",checked:this.options.checked});},build:function(){new Element("img",{"src":this.options.spacer,"class":"spc"}).inject(this.a,"top");
this.update();},setStateTo:function(a){a?this.check():this.uncheck();},check:function(){this.a.addClass("A");this.fireEvent("onCheck");},uncheck:function(){this.a.removeClass("A");this.fireEvent("onUncheck");},update:function(){this.setStateTo(this.o.checked);this.parent();}});cfe.module.select=new Class({Extends:cfe.generic,Binds:["wheelListener","clickedOutsideListener"],instance:0,type:"Selector",selector:"select:not(select[multiple])",options:{size:4,scrolling:true,scrollSteps:5},initializeAdv:function(){this.parent();
this.hideOriginal();this.o.addEvent("keyup",this.keyup.bind(this));this.o.addEvent("keydown",this.keydown.bind(this));this.origOptions=this.o.getChildren();this.selectedIndex=this.o.selectedIndex||0;this.kind=[];if(this.options.size>this.origOptions.length||this.options.scrolling!=true){this.options.size=this.origOptions.length;
}},createOriginal:function(){var b=new Element("select");if($chk(this.options.options)){for(var a in this.options.options){b.adopt(new Element("option",{value:a,selected:this.options.options[a].selected?"selected":""}).set("html",this.options.options[a].label));}}return b;},build:function(){this.arrow=new Element("img",{"class":"js"+this.type+"Arrow","src":this.options.spacer,"styles":{"float":"right","display":"inline"}}).injectInside(this.a);
this.ai=new Element("span").addClass("js"+this.type+"Slide").injectInside(this.a).adopt(this.arrow);this.activeEl=new Element("span",{"class":"jsOptionSelected","styles":{"float":"left","display":"inline"}}).set("html",this.origOptions[0].get("text")).injectBefore(this.arrow);this.buildContainer();this.selectOption(this.selectedIndex,false,true);
},buildOption:function(b,a){var c=new Element("div",{"class":"jsOption jsOption"+a+(b.get("class")?" "+b.get("class"):""),"events":{"mouseover":this.highlightOption.pass([a,true],this),"mouseout":this.highlightOption.pass([a,true],this)}}).set("html",b.innerHTML);c.index=a;c.disableTextSelection();return c;
},setupScrolling:function(){this.scrollerWrapper=new Element("div",{"class":"js"+this.type+"ScrollerWrapper","styles":{height:this.gfxHeight}}).injectInside(this.cContent);this.scrollerTop=$(new cfe.generic()).addClass("scrollTop").addEvent("click",function(a){this.moveScroller.pass(-1*this.options.scrollSteps,this)();
}.bind(this));this.scrollerBottom=$(new cfe.generic()).addClass("scrollBottom").addEvent("click",function(a){this.moveScroller.pass(this.options.scrollSteps,this)();}.bind(this));this.scrollerKnob=new Element("span",{"class":"scrollKnob spc"});this.scrollerBack=new Element("div");this.scrollerBack.adopt(this.scrollerKnob);
this.scrollerWrapper.adopt([this.scrollerTop,this.scrollerBack,this.scrollerBottom]);this.scrollerBack.setStyle("height",this.gfxHeight-2*this.scrollerTop.getFirst().getHeight());this.sliderSteps=this.aliasOptions.getScrollSize().y-(this.options.size*this.aliasOptions.getScrollSize().y/this.aOptions.length);
this.slider=new Slider(this.scrollerBack,this.scrollerKnob,{steps:this.sliderSteps,mode:"vertical",onChange:function(a){this.aliasOptions.scrollTo(false,a);}.bind(this)}).set(0);},buildContainer:function(){this.container=new Element("div",{"class":"js"+this.type+"Container","styles":{"overflow":"hidden"}});
this.container.setSlidingDoors(4,"div","jsSelectorContent").injectInside(this.a);this.cContent=this.container.getParent();this.containerSlide=this.cContent.getParents(".jsSelectorContentSlide1")[0];this.aliasOptions=this.container;if(this.cContent.getStyle("width").toInt()===0){var a=true;}this.origOptions.each(function(c,b){this.buildOption(c,b).inject(this.aliasOptions);
}.bind(this));this.aOptions=this.aliasOptions.getChildren();this.gfxHeight=this.aOptions[0].getHeight()*this.options.size;this.gfxWidth=this.cContent.getWidth()-(this.cContent.getStyle("padding-left")).toInt()-this.cContent.getStyle("padding-right").toInt();if(this.options.scrolling){this.setupScrolling();
this.gfxWidth=this.gfxWidth-this.scrollerWrapper.getWidth();}if(this.gfxHeight!=0){this.aliasOptions.setStyle("height",this.gfxHeight);}if(this.gfxWidth!=0&&!a){this.aliasOptions.setStyle("width",this.gfxWidth);}},selectOption:function(b,a,c){b=b.limit(0,this.origOptions.length-1);this.highlightOption(b,c);
this.selectedIndex=b;this.activeEl.set("html",(this.aOptions[b]).innerHTML);if(!$chk(a)){this.hideContainer();}},highlightOption:function(a,b){a=a.limit(0,this.origOptions.length-1);if(this.highlighted){this.highlighted.removeClass("H");}this.highlighted=this.aOptions[a].addClass("H");this.highlightedIndex=a;
if(!b){this.scrollToSelectedItem(this.highlightedIndex);}},scrollToSelectedItem:function(a){if(this.options.scrolling){this.slider.set((this.sliderSteps/(this.aOptions.length-this.options.size))*a);}},moveScroller:function(b){var a=this.aliasOptions.getScroll().y;this.slider.set(a+b<this.sliderSteps?a+b:this.sliderSteps);
},hideContainer:function(){$(document.body).removeEvent("mousewheel",this.wheelListener);$(document.body).removeEvent("click",this.clickedOutsideListener);this.containerSlide.setStyle("display","none");this.isShown=false;},showContainer:function(){$(document.body).addEvent("mousewheel",this.wheelListener);
$(document.body).addEvent("click",this.clickedOutsideListener);this.containerSlide.setStyles({display:"block",position:"absolute",top:this.a.getTop(),left:this.a.getLeft(),"z-index":1000-this.instance});this.isShown=true;this.highlightOption(this.o.selectedIndex);},clicked:function(b){if(!this.isDisabled()){if($defined(b.target)){var a=$(b.target);
if(a.getParent()==this.aliasOptions){this.selectOption(a.index,true,true);this.hideContainer();this.parent();this.o.selectedIndex=a.index;this.o.fireEvent("change");return;}else{if(this.options.scrolling&&a.getParents("."+this.scrollerWrapper.getProperty("class"))[0]==this.scrollerWrapper){return;}}}this.toggle();
this.parent();}},toggle:function(){$chk(this.isShown)?this.hideContainer():this.showContainer();},keyup:function(a){if(a.alt&&(a.key=="up"||a.key=="down")){this.toggle();return;}switch(a.key){case"enter":case"space":this.toggle();break;case"up":this.updateOption(-1);break;case"down":this.updateOption(1);
break;case"esc":this.hideContainer();break;default:this.o.fireEvent("change");break;}},keydown:function(a){if(a.key=="tab"){this.hideContainer();}},wheelListener:function(a){a.stop();this.updateOption(-1*a.wheel);},updateOption:function(a){this.o.selectedIndex=(this.highlightedIndex+a).limit(0,this.origOptions.length-1);
this.o.fireEvent("change");},clickedOutsideListener:function(a){if($(a.target).getParent(".js"+this.type)!=this.a&&!((Browser.Engine.trident||(Browser.Engine.presto&&Browser.Engine.version>950))&&a.target==this.o)&&(!$chk(this.l)||(this.l&&$(a.target)!=this.l))){this.hideContainer();}},update:function(){this.parent();
this.selectOption(this.o.selectedIndex,true);}});cfe.module.submit=new Class({Extends:cfe.generic,type:"Submit",selector:"input[type=submit]",options:{slidingDoors:true},initializeAdv:function(){this.parent();this.hideOriginal();this.a.addClass("jsButton");},createOriginal:function(){return new Element("input",{type:"submit"});
},build:function(){this.lab=new Element("span").addClass("label").set("html",this.o.value).inject(this.a);this.lab.disableTextSelection();if($chk(this.options.slidingDoors)){var a=new Element("span",{"class":"js"+this.type});a.wraps(this.lab);this.a.addClass("js"+this.type+"Slide").removeClass("js"+this.type).adopt(a);
}}});cfe.module.text=new Class({Extends:cfe.generic,instance:0,type:"Text",selector:"input[type=text]",options:{slidingDoors:2},dontRemoveForFromLabel:true,setupWrapper:function(){this.a.addClass("js"+this.type).addEvents({disable:this.disable.bind(this),enable:this.enable.bind(this)});},createOriginal:function(){return new Element("input",{type:"text"});
},build:function(){if($chk(this.options.slidingDoors)){this.a.addClass("js"+this.type+"Slide");this.o.setSlidingDoors(this.options.slidingDoors-1,"span","js"+this.type).inject(this.a);this.o.setStyles({background:"none",padding:0,margin:0,border:"none"});}else{this.a.wraps(this.o);}}});cfe.module.file=new Class({Extends:cfe.generic,instance:0,type:"File",selector:"input[type=file]",options:{fileIcons:true,trimFilePath:true},getFilePath:function(){return this.v;
},toElements:function(){return[this.l,this.a,this.v];},initializeAdv:function(){if(!this.o.implicitLabel&&!Browser.Engine.webkit){this.a.addEvent("click",this.clicked.bindWithEvent(this));}if(this.isDisabled()){this.a.fireEvent("disable");}},build:function(){this.a.addEvent("mousemove",this.follow.bindWithEvent(this)).setStyle("overflow","hidden");
this.o.inject(this.a);this.initO();this.v=new Element("div",{"class":"js"+this.type+"Path hidden"}).inject(this.a,"after");if(this.options.fileIcons){this.fileIcon=new Element("img",{"src":this.options.spacer,"class":"fileIcon"}).inject(this.v);}this.path=new Element("span",{"class":"filePath"}).inject(this.v);
this.cross=$(new cfe.generic().addEvent("click",this.deleteCurrentFile.bind(this))).addClass("delete").inject(this.v);this.update();},createOriginal:function(){return new Element("input",{type:"file"});},initO:function(){this.o.addEvent("mouseout",this.update.bind(this));this.o.addEvent("change",this.update.bind(this));
this.o.setStyles({cursor:"pointer",opacity:"0",visibility:"visible",height:"100%",width:"auto",position:"relative"});},follow:function(a){this.o.setStyle("left",(a.client.x-this.a.getLeft()-(this.o.getWidth()-30)));if(Browser.Engine.trident){if(a.client.x<this.a.getLeft()||a.client.x>this.a.getLeft()+this.a.getWidth()){this.o.setStyle("left",-999);
}}},update:function(){if(this.o.value!=""){this.oldValue=this.o.getProperty("value");this.oldValue=this.options.trimFilePath?this.trimFilePath(this.oldValue):this.oldValue;this.path.set("html",this.oldValue);if(this.options.fileIcons){var a=this.oldValue.lastIndexOf(".");this.fileIcon.setProperty("class","fileIcon "+this.oldValue.substring(++a).toLowerCase());
}this.v.removeClass("hidden");}else{this.path.set("html","");this.v.addClass("hidden");}this.parent();},deleteCurrentFile:function(){var a=this.createOriginal();a.addClass(this.o.getProperty("class")).setProperties({name:this.o.name,id:this.o.id});a.replaces(this.o);this.o=a;this.initO();this.update();
},trimFilePath:function(b){var a=false;if(!(a=b.lastIndexOf("\\"))){if(!(a=b.lastIndexOf("/"))){a=0;}}return b.substring(++a);}});cfe.module.image=new Class({Extends:cfe.generic,type:"Image",selector:"input[type=image]",options:{statePrefix:"-cfeState-"},initializeAdv:function(){this.parent();this.a.wraps(this.o);
this.stateRegEx=new RegExp(this.options.statePrefix+"([HFP])");},createOriginal:function(){return new Element("input",{type:"image"});},setState:function(b){this.clearState();var a=this.o.src.lastIndexOf(".");this.o.src=this.o.src.substring(0,a)+this.options.statePrefix+b+this.o.src.substring(a);},clearState:function(){this.o.src=this.o.src.replace(this.stateRegEx,"");
},hover:function(){this.parent();this.setState("H");},unhover:function(){this.parent();this.clearState();if(this.a.hasClass("F")){this.setState("F");}},setFocus:function(){this.parent();if(!this.a.hasClass("P")){this.setState("F");}},removeFocus:function(){this.parent();this.clearState();},press:function(){this.parent();
this.setState("P");},release:function(){this.parent();this.clearState();if(this.a.hasClass("F")){this.setState("F");}},enable:function(){this.parent();this.clearState();},disable:function(){this.parent();this.setState("D");}});cfe.module.password=new Class({Extends:cfe.module.text,instance:0,type:"Password",selector:"input[type=password]",createOriginal:function(){return new Element("input",{type:"password"});
}});cfe.module.radio=new Class({Extends:cfe.module.checkbox,instance:0,type:"Radiobutton",selector:"input[type=radio]",createOriginal:function(){return new Element("input",{"type":"radio","checked":this.options.checked});},initializeAdv:function(){this.parent();if(!(Browser.Engine.trident||Browser.Engine.gecko)){this.o.addEvent("click",this.update.bind(this));
}},check:function(){this.parent();$$("input[name='"+this.o.get("name")+"']").each(function(a){if(a!=this.o&&a.retrieve("cfe")){a.retrieve("cfe").uncheck();}}.bind(this));}});cfe.module.reset=new Class({Extends:cfe.module.submit,type:"Reset",selector:"input[type=reset]",createOriginal:function(){return new Element("input",{type:"reset"});
},setupOriginal:function(){this.parent();this.o.addEvent("click",this.notifyReset.bind(this));},notifyReset:function(){(function(){$A(this.o.form.getElements("input, textarea, select")).each(function(a){a.fireEvent("change");});}).delay(40,this);}});cfe.module.select_multiple=new Class({Extends:cfe.module.select,instance:0,type:"Selector",selector:"select[multiple]",options:{size:4,scrolling:true,scrollSteps:5},build:function(){this.a.addClass("jsSelectorMultiple");
this.a.removeClass("jsSelector");this.buildContainer();this.o.addEvents({onDisable:function(){this.aliasOptions.getChildren().each(function(a){a.getChildren("input")[0].disable();});}.bind(this),onEnable:function(){this.aliasOptions.getChildren().each(function(a){a.getChildren("input")[0].enable();});
}.bind(this)});},buildOption:function(b,a){var c=new cfe.module.checkbox({label:b.innerHTML,checked:$chk(b.selected),aliasType:"div",disabled:this.isDisabled()});c.index=a;c.addEvents({"check":function(d){this.origOptions[d].selected=true;this.o.fireEvent("change");}.pass(a,this),"uncheck":function(d){this.origOptions[d].selected=false;
this.o.fireEvent("change");}.pass(a,this)});$(c).addClass("jsOption jsOption"+a+(b.get("class")?" ".el.get("class"):"")).disableTextSelection();c.getLabel().removeEvents().inject($(c));return $(c);},selectOption:function(a){a=a.limit(0,this.origOptions.length-1);this.highlightOption(a);},scrollToSelectedItem:function(a){},clicked:function(){if(!this.isDisabled()){this.o.focus();
this.fireEvent("onClick");}},update:function(){this.fireEvent("onUpdate");},keyup:function(a){switch(a.key){case"enter":case"space":break;case"up":this.updateOption(-1);break;case"down":this.updateOption(1);break;case"esc":this.hideContainer();break;default:this.o.fireEvent("change");break;}},keydown:function(){}});
cfe.module.textarea=new Class({Extends:cfe.module.text,instance:0,type:"Textarea",selector:"textarea",options:{slidingDoors:4},createOriginal:function(){return new Element("textarea");}});cfe.addon.dependencies=new Class({addDependencies:function(a,b){$each(b,function(c){this.addDependency(a,c);}.bind(this));
return true;},addDependency:function(a,b){if($type(a.retrieve("deps"))!=="array"){a.store("deps",[]);}if($type(b)==="string"){b=$(b);}if($type(b)==="element"){a.retrieve("deps").push(b);return true;}return false;},getDependencies:function(a){return a.retrieve("deps");},attachDependencies:function(c,b,a){var d=this.getDependencies(c);
if($type(d)==="array"){a.deps=d;return true;}return false;}});cfe.replace.implement(new cfe.addon.dependencies);cfe.replace.prototype.addEvent("onBeforeInitSingle",cfe.replace.prototype.attachDependencies);cfe.addon.dependencies.modules=new Class({resolveDependencies:function(){var a=this.o.retrieve("deps");
if(a){$each(a,function(c,b){c.checked=true;c.fireEvent("change");}.bind(this));}}});cfe.generic.implement(new cfe.addon.dependencies.modules);cfe.module.checkbox.prototype.addEvent("onCheck",function(){this.resolveDependencies();});cfe.addon.toggleCheckboxes=new Class({selectAll:function(a){(a||$(document.body)).getElements("input[type=checkbox]")[0].each(function(b){if(b.checked!=true){b.checked=true;
b.fireEvent("change");}});},deselectAll:function(a){(a||$(document.body)).getElements("input[type=checkbox]")[0].each(function(b){if(b.checked!=false){b.checked=false;b.fireEvent("change");}});}});cfe.replace.implement(new cfe.addon.toggleCheckboxes);cfe.addon.toolTips=new Class({options:$merge(this.parent,{enableTips:true,ttStyle:"label",ttClass:"jsQM"}),initToolTips:function(){if(!window.Tips||!this.options.enableTips){if(this.options.debug){this.throwMsg.bind(this)("CustomFormElements: initialization of toolTips failed.\nReason: Mootools Plugin 'Tips' not available.");
}return false;}switch(this.options.ttStyle){default:case"label":this.toolTipsLabel.bind(this)();break;}return true;},toolTipsLabel:function(){var a=this.options.scope.getElements("label");a.each(function(g,d){f=g.getProperty("for");if(!f){var b=g.getProperty("class");if($defined(b)){var f=b.match(/for_[a-zA-Z0-9\-]+/);
if(f){f=f.toString();el=$(f.replace(/for_/,""));}}if(!el){el=g.getElement("input");}}else{el=$(f);}if(el){if($chk(qmTitle=el.getProperty("title"))){el.setProperty("title","").setProperty("hint",qmTitle);var e=new Element("img",{"src":this.options.spacer,"class":this.options.ttClass,"title":qmTitle});
var c=g.getElement("span[class=label]");e.injectInside($chk(c)?c:g);}}},this);new Tips($$("."+this.options.ttClass+"[title]"));}});cfe.replace.implement(new cfe.addon.toolTips);cfe.replace.prototype.addEvent("onComplete",function(){this.initToolTips();});
