/*
 * extended-ext-ideelic
 * Copyright(c) 2006, Olivier Monod - M4AG.
 */


Ext.BLANK_IMAGE_URL='/extended-ext-ideelic/resources/images/default/s.gif';

Ext.History=(function(){var iframe,hiddenField;var ready=false;var currentToken;function getHash(){var href=top.location.href,i=href.indexOf("#");return i>=0?href.substr(i+1):null;}
function doSave(){hiddenField.value=currentToken;}
function handleStateChange(token){currentToken=token;Ext.History.fireEvent('change',token);}
function updateIFrame(token){var html=['<html><body><div id="state">',token,'</div></body></html>'].join('');try{var doc=iframe.contentWindow.document;doc.open();doc.write(html);doc.close();return true;}catch(e){return false;}}
function checkIFrame(){if(!iframe.contentWindow||!iframe.contentWindow.document){setTimeout(checkIFrame,10);return;}
var doc=iframe.contentWindow.document;var elem=doc.getElementById("state");var token=elem?elem.innerText:null;var hash=getHash();setInterval(function(){doc=iframe.contentWindow.document;elem=doc.getElementById("state");var newtoken=elem?elem.innerText:null;var newHash=getHash();if(newtoken!==token){token=newtoken;handleStateChange(token);top.location.hash=token;hash=token;doSave();}else if(newHash!==hash){hash=newHash;updateIFrame(newHash);}},50);ready=true;Ext.History.fireEvent('ready',Ext.History);}
function startUp(){currentToken=hiddenField.value;if(Ext.isIE){checkIFrame();}else{var hash=getHash();setInterval(function(){var newHash=getHash();if(newHash!==hash){hash=newHash;handleStateChange(hash);doSave();}},50);ready=true;Ext.History.fireEvent('ready',Ext.History);}}
return{fieldId:'x-history-field',iframeId:'x-history-frame',events:{},init:function(onReady,scope){hiddenField=Ext.get(Ext.History.fieldId).dom;if(Ext.isIE){iframe=Ext.get(Ext.History.iframeId).dom;}
this.addEvents('ready','change');startUp();},add:function(token,preventDup){if(preventDup!==false){if(this.getToken()==token){return true;}}
if(Ext.isIE){return updateIFrame(token);}else{top.location.hash=token;return true;}},back:function(){history.go(-1);},forward:function(){history.go(1);},getToken:function(){return ready?currentToken:getHash();}};})();Ext.apply(Ext.History,new Ext.util.Observable());

Ext.Window=function(el,config){Ext.Window.superclass.constructor.call(this,el,config);if(this.parentContentPanel){this.parent=this.parentContentPanel.getEl();Ext.EventManager.removeResizeListener(this.adjustViewport,this);this.parentContentPanel.on('resize',this.adjustParentViewport,this,true);this.parent.dom.insertBefore(this.el.dom,this.parent.dom.firstChild);if(this.modal){this.parent.dom.insertBefore(this.mask.dom,this.parent.dom.firstChild);this.parentScroller=this.parent.findParent('div.x-layout-panel-body',document.body,true);}}};Ext.extend(Ext.Window,Ext.BasicDialog,{getCenterXY:function(){return this.el.getAlignToXY(this.parent||document,'c-c');},getParentWidth:function(contentWidth){return(this.parent?this.parent.getWidth(contentWidth):Ext.lib.Dom.getViewWidth(contentWidth));},getParentHeight:function(contentHeight){return(this.parent?this.parent.getHeight(contentHeight):Ext.lib.Dom.getViewHeight(contentHeight));},getParentSize:function(contentSize){return[this.getParentWidth(contentSize),this.getParentHeight(contentSize)];},getParentXY:function(){return(this.parent?this.parent.getXY():[0,0]);},beforeShow:function(){this.expand();if(this.fixedcenter){this.xy=this.getCenterXY();}
if(this.modal){Ext.get(document.body).addClass("x-body-masked");this.mask.setSize(this.getParentWidth(),this.getParentHeight());this.mask.show();}
if(this.parentScroller)
this.parentScroller.clip();this.constrainXY();},constrainXY:function(){if(this.constraintoviewport!==false){this.viewSize=this.getParentSize();this.viewXY=this.getParentXY();var s=Ext.get(this.parent||document).getScroll();var x=this.xy[0],y=this.xy[1];var w=this.size.width,h=this.size.height;var vw=this.viewSize[0],vh=this.viewSize[1];var vx=this.viewXY[0],vy=this.viewXY[1];var moved=false;if(x+w+this.shadowOffset>vx+vw+s.left){x=vx+vw-w-this.shadowOffset;moved=true;}
if(y+h+this.shadowOffset>vy+vh+s.top){y=vy+vh-h-this.shadowOffset;moved=true;}
if(x-this.shadowOffset<vx){x=vx+this.shadowOffset;moved=true;}
if(y-this.shadowOffset<vy){y=vy+this.shadowOffset;moved=true;}
if(moved){this.xy=[x,y];if(this.isVisible()){this.el.setLocation(x,y);this.adjustAssets();}}}},adjustParentViewport:function(cp,w,h){if(!w||!h){w=this.getParentWidth();h=this.getParentHeight();}
this.viewSize=[w,h];if(this.modal&&this.el.isVisible()){this.mask.hide();this.mask.setSize(w,h);this.mask.show();}
if(this.isVisible()){this.constrainXY();}},startMove:function(){if(this.proxyDrag){this.proxy.show();}
if(this.constraintoviewport!==false){this.dd.constrainTo(this.parent||document.body,{right:this.shadowOffset,bottom:this.shadowOffset,left:this.shadowOffset,top:this.shadowOffset});}},hide:function(callback){if(this.fireEvent("beforehide",this)===false){return;}
if(this.shadow){this.shadow.hide();}
if(this.shim){this.shim.hide();}
if(this.animateTarget){this.animHide(callback);}else{this.el.hide();this.hideEl(callback);}
if(this.parentScroller)
this.parentScroller.unclip();return this;}});

Ext.MessageBoxWindow=function(){var dlg,opt,mask,waitTimer;var bodyEl,msgEl,textboxEl,textareaEl,progressEl,pp;var buttons,activeTextEl,bwidth;var handleButton=function(button){dlg.hide();Ext.callback(opt.fn,opt.scope||window,[button,activeTextEl.dom.value],1);};var handleHide=function(){if(opt&&opt.cls){dlg.el.removeClass(opt.cls);}
if(waitTimer){Ext.TaskMgr.stop(waitTimer);waitTimer=null;}};var updateButtons=function(b){var width=0;if(!b){buttons["ok"].hide();buttons["cancel"].hide();buttons["yes"].hide();buttons["no"].hide();dlg.footer.dom.style.display='none';return width;}
dlg.footer.dom.style.display='';for(var k in buttons){if(typeof buttons[k]!="function"){if(b[k]){buttons[k].show();buttons[k].setText(typeof b[k]=="string"?b[k]:Ext.MessageBox.buttonText[k]);width+=buttons[k].el.getWidth()+15;}else{buttons[k].hide();}}}
return width;};var handleEsc=function(d,k,e){if(opt&&opt.closable!==false){dlg.hide();}
if(e){e.stopEvent();}};return{getDialog:function(config){if(!dlg){dlg=new Ext.Window("x-msg-box",{parentContentPanel:config.parentContentPanel?config.parentContentPanel:null,animateTarget:config.animateTarget?config.animateTarget:null,autoCreate:true,shadow:true,draggable:true,resizable:false,constraintoviewport:true,fixedcenter:true,collapsible:false,shim:true,modal:true,width:400,height:100,buttonAlign:"center",closeClick:function(){if(opt&&opt.buttons&&opt.buttons.no&&!opt.buttons.cancel){handleButton("no");}else{handleButton("cancel");}}});dlg.on("hide",handleHide);mask=dlg.mask;dlg.addKeyListener(27,handleEsc);buttons={};var bt=this.buttonText;buttons["ok"]=dlg.addButton(bt["ok"],handleButton.createCallback("ok"));buttons["yes"]=dlg.addButton(bt["yes"],handleButton.createCallback("yes"));buttons["no"]=dlg.addButton(bt["no"],handleButton.createCallback("no"));buttons["cancel"]=dlg.addButton(bt["cancel"],handleButton.createCallback("cancel"));bodyEl=dlg.body.createChild({tag:"div",html:'<span class="ext-mb-text"></span><br /><input type="text" class="ext-mb-input"><textarea class="ext-mb-textarea"></textarea><div class="ext-mb-progress-wrap"><div class="ext-mb-progress"><div class="ext-mb-progress-bar">&#160;</div></div></div>'});msgEl=bodyEl.dom.firstChild;textboxEl=Ext.get(bodyEl.dom.childNodes[2]);textboxEl.enableDisplayMode();textboxEl.addKeyListener([10,13],function(){if(dlg.isVisible()&&opt&&opt.buttons){if(opt.buttons.ok){handleButton("ok");}else if(opt.buttons.yes){handleButton("yes");}}});textareaEl=Ext.get(bodyEl.dom.childNodes[3]);textareaEl.enableDisplayMode();progressEl=Ext.get(bodyEl.dom.childNodes[4]);progressEl.enableDisplayMode();var pf=progressEl.dom.firstChild;pp=Ext.get(pf.firstChild);pp.setHeight(pf.offsetHeight);}
return dlg;},updateText:function(text){if(!dlg.isVisible()&&!opt.width){dlg.resizeTo(this.maxWidth,100);}
msgEl.innerHTML=text||'&#160;';var w=Math.max(Math.min(opt.width||msgEl.offsetWidth,this.maxWidth),Math.max(opt.minWidth||this.minWidth,bwidth));if(opt.prompt){activeTextEl.setWidth(w);}
if(dlg.isVisible()){dlg.fixedcenter=false;}
dlg.setContentSize(w,bodyEl.getHeight());if(dlg.isVisible()){dlg.fixedcenter=true;}
return this;},updateProgress:function(value,text){if(text){this.updateText(text);}
pp.setWidth(Math.floor(value*progressEl.dom.firstChild.offsetWidth));return this;},isVisible:function(){return dlg&&dlg.isVisible();},hide:function(){if(this.isVisible()){dlg.hide();}},show:function(options){if(this.isVisible()){this.hide();}
var d=this.getDialog(options.config);opt=options;d.setTitle(opt.title||"&#160;");d.close.setDisplayed(opt.closable!==false);activeTextEl=textboxEl;opt.prompt=opt.prompt||(opt.multiline?true:false);if(opt.prompt){if(opt.multiline){textboxEl.hide();textareaEl.show();textareaEl.setHeight(typeof opt.multiline=="number"?opt.multiline:this.defaultTextHeight);activeTextEl=textareaEl;}else{textboxEl.show();textareaEl.hide();}}else{textboxEl.hide();textareaEl.hide();}
progressEl.setDisplayed(opt.progress===true);this.updateProgress(0);activeTextEl.dom.value=opt.value||"";if(opt.prompt){dlg.setDefaultButton(activeTextEl);}else{var bs=opt.buttons;var db=null;if(bs&&bs.ok){db=buttons["ok"];}else if(bs&&bs.yes){db=buttons["yes"];}
dlg.setDefaultButton(db);}
bwidth=updateButtons(opt.buttons);this.updateText(opt.msg);if(opt.cls){d.el.addClass(opt.cls);}
d.proxyDrag=opt.proxyDrag===true;d.modal=opt.modal!==false;d.mask=opt.modal!==false?mask:false;if(!d.isVisible()){document.body.appendChild(dlg.el.dom);d.animateTarget=null;d.show(options.animEl);}
return this;},progress:function(title,msg,config){this.show({config:config,title:title,msg:msg,buttons:false,progress:true,closable:false,minWidth:this.minProgressWidth});return this;},alert:function(title,msg,fn,scope,config){this.show({config:config,title:title,msg:msg,buttons:this.OK,fn:fn,scope:scope});return this;},wait:function(msg,title,config){this.show({config:config,title:title,msg:msg,buttons:false,closable:false,progress:true,modal:true,width:300,wait:true});waitTimer=Ext.TaskMgr.start({run:function(i){Ext.MessageBox.updateProgress(((((i+20)%20)+1)*5)*.01);},interval:1000});return this;},confirm:function(title,msg,fn,scope,config){this.show({config:config,title:title,msg:msg,buttons:this.YESNO,fn:fn,scope:scope});return this;},prompt:function(title,msg,fn,scope,multiline,config){this.show({config:config,title:title,msg:msg,buttons:this.OKCANCEL,fn:fn,minWidth:250,scope:scope,prompt:true,multiline:multiline});return this;},OK:{ok:true},YESNO:{yes:true,no:true},OKCANCEL:{ok:true,cancel:true},YESNOCANCEL:{yes:true,no:true,cancel:true},defaultTextHeight:75,maxWidth:600,minWidth:100,minProgressWidth:250,buttonText:{ok:"OK",cancel:"Cancel",yes:"Yes",no:"No"}};}();Ext.MsgW=Ext.MessageBoxWindow;

Ext.form.VTypes=function(){var alpha=/^[a-zA-Z_]+$/;var alphanum=/^[a-zA-Z0-9_]+$/;var pseudo=/^\w{4,20}$/;var passwd=/^\w{4,16}$/;var email=/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$/;return{'email':function(v){return email.test(v);},'emailText':'Cette adresse email ne semble pas valide, merci de la rectifier.','emailMask':/[a-z0-9_\.\-@]/i,'alpha':function(v){return alpha.test(v);},'alphaText':'This field should only contain letters and _','alphaMask':/[a-z_]/i,'alphanum':function(v){return alphanum.test(v);},'alphanumText':'This field should only contain letters, numbers and _','alphanumMask':/[a-z0-9_]/i,'pseudo':function(v){return pseudo.test(v);},'passwd':function(v){return passwd.test(v);}};}();

Ext.form.Field.prototype.msgTarget='side';Ext.form.TextField.prototype.blankText='Merci de renseigner ce champ.';Ext.form.Field.prototype.constructor=function(config){Ext.form.Field.superclass.constructor.call(this,config);this.addEvents({focus:true,blur:true,specialkey:true,change:true,invalid:true,valid:true});if(this.bullet){this.on('valid',this.setValidBullet.createDelegate(this));this.on('invalid',this.setInvalidBullet.createDelegate(this));}};Ext.form.Field.prototype.bulletInvalidCls='x-item-bullet-invalid';Ext.form.Field.prototype.bulletValidCls='x-item-bullet-valid';Ext.form.Field.prototype.onRender=function(ct){if(this.el){this.el=Ext.get(this.el);if(!this.target){ct.dom.appendChild(this.el.dom);}}else{var cfg=this.getAutoCreate();if(!cfg.name){cfg.name=this.name||this.id;}
if(this.inputType){cfg.type=this.inputType;}
if(this.tabIndex!==undefined){cfg.tabIndex=this.tabIndex;}
this.el=ct.createChild(cfg);}
var type=this.el.dom.type;if(type){if(type=='password'){type='text';}
this.el.addClass('x-form-'+type);}
if(!this.customSize&&(this.width||this.height)){this.setSize(this.width||"",this.height||"");}
if(this.style){this.el.applyStyles(this.style);delete this.style;}
if(this.readOnly){this.el.dom.readOnly=true;}
this.el.addClass([this.fieldClass,this.cls]);this.labelEl=ct.findParent('div.x-form-item',2,true).child('label');if(this.bullet){this.labelEl.addClass(this.bulletInvalidCls);}
if(this.iconType){var tm=Ext.util.TextMetrics.measure(this.labelEl,this.fieldLabel);var labelWidth=parseInt(this.labelEl.dom.style.width.substring(0,this.labelEl.dom.style.width.length-2));this.labelEl.dom.innerHTML='<div class="'+this.iconType+'" ext:qtip="'+this.iconText+'" style="margin-right:'+(labelWidth-24-tm.width)+'px'+'"></div>'+this.labelEl.dom.innerHTML;}
this.initValue();};Ext.form.Field.prototype.setValidBullet=function(){if(!this.transaction&&this.isValid&&this.getValue().length){this.labelEl.replaceClass(this.bulletInvalidCls,this.bulletValidCls);}};Ext.form.Field.prototype.setInvalidBullet=function(){this.labelEl.replaceClass(this.bulletValidCls,this.bulletInvalidCls);};

Ext.form.TextFieldExtended=function(config){Ext.form.TextFieldExtended.superclass.constructor.call(this,config);if(this.urlRemoteVal){if(this.remoteValidation=='onValidate'){this.on('valid',this.startRemoteVal.createDelegate(this));}else if(this.remoteValidation=='onBlur'){this.on('blur',this.startRemoteVal.createDelegate(this));}}
this.addEvents({beforeRemoteVal:true,afterRemoteVal:true,errorRemoteVal:true,textChange:true});};Ext.extend(Ext.form.TextFieldExtended,Ext.form.TextField,{isRemoteValid:true,remoteValidation:null,urlRemoteVal:null,timeout:30,method:'POST',badServerRespText:'Error: bad server response during validation',badComText:'Error: validation unavailable',onRender:function(ct){Ext.form.TextFieldExtended.superclass.onRender.call(this,ct);this.remoteCheckIcon=ct.createChild({tag:'div',cls:'x-form-remote-wait'});this.remoteCheckIcon.hide();},filterValidation:function(e){this.fireEvent("textChange",this);Ext.form.TextFieldExtended.superclass.filterValidation.call(this,e);},alignRemoteCheckIcon:function(){this.remoteCheckIcon.alignTo(this.el,'tl-tr',[2,0]);},getParams:function(){var tfp=(this.name||this.id)+'='+this.getValue();var p=(this.paramsRemoteVal?this.paramsRemoteVal:'');if(p){if(typeof p=="object")
tfp+='&'+Ext.urlEncode(p);else if(typeof p=='string'&&p.length)
tfp+='&'+p;}
return tfp;},startRemoteVal:function(){var v=this.getValue();if(v.length&&(this.lastValue!=v||this.remoteValidation=='onBlur')){this.fireEvent("beforeRemoteVal",this);this.lastValue=v;if(this.transaction){this.abort();}
this.alignRemoteCheckIcon();this.remoteCheckIcon.show();var params=this.getParams();this.transaction=Ext.lib.Ajax.request(this.method,this.urlRemoteVal+(this.method=='GET'?'?'+params:''),{success:this.successRemoteVal,failure:this.failureRemoteVal,scope:this,timeout:(this.timeout*1000)},params);}
else if(!this.isRemoteValid){this.markInvalid(this.currentErrorTxt);}
else{this.fireEvent("afterRemoteVal",this,{values:null});}},abort:function(){if(this.transaction){Ext.lib.Ajax.abort(this.transaction);}},successRemoteVal:function(response){this.transaction=null;this.remoteCheckIcon.hide();var result=this.processResponse(response);if(result){if(result.errors){this.currentErrorTxt=result.errors;this.markInvalid(this.currentErrorTxt);this.isRemoteValid=false;this.fireEvent("errorRemoteVal",this,result);}else{this.isRemoteValid=true;this.clearInvalid();if(this.bullet){this.setValidBullet();}}
this.fireEvent("afterRemoteVal",this,result);}else{this.currentErrorTxt=this.badServerRespText;this.markInvalid(this.currentErrorTxt);this.isRemoteValid=false;this.fireEvent("errorRemoteVal",this,result);}},failureRemoteVal:function(response){this.transaction=null;this.remoteCheckIcon.hide();this.currentErrorTxt=this.badComText;this.markInvalid(this.currentErrorTxt);this.isRemoteValid=false;this.fireEvent("errorRemoteVal",this,false);},processResponse:function(response){return(!response.responseText?false:Ext.decode(response.responseText));},reset:function(){Ext.form.TextFieldExtended.superclass.reset.call(this);this.lastValue=null;},validateValue:function(value){if(Ext.form.TextFieldExtended.superclass.validateValue.call(this,value)){if(this.remoteValidation=='onBlur'){return this.isRemoteValid;}else{return true;}}
return false;},isValid:function(){return(this.validateValue(this.getRawValue())&&this.isRemoteValid);}});

Ext.form.ComboBoxExtended=function(config){Ext.form.ComboBoxExtended.superclass.constructor.call(this,config);};Ext.extend(Ext.form.ComboBoxExtended,Ext.form.ComboBox,{onRender:function(ct){Ext.form.ComboBoxExtended.superclass.onRender.call(this,ct);this.waitIcon=ct.createChild({tag:'div',cls:'x-form-remote-wait'});this.waitIcon.hide();this.waitIcon.alignTo(this.el,'tl-tr',[18,0]);},showWaitIcon:function(state){if(state){this.waitIcon.show();}else{this.waitIcon.hide();}},updateIconPosition:function(){this.waitIcon.alignTo(this.el,'tl-tr',[18,0]);}});

Ext.Element.createSlideBox=function(msg,w,closable){return{cls:"slide-box",style:"width:"+w,children:[{cls:"slide-box-l",children:[{cls:"slide-box-r",children:[{cls:"slide-box-c",children:[{cls:"slide-box-el-close",style:"display:"+(closable?"":"none")},{cls:"slide-box-msg",html:msg}]}]}]}]};};Ext.Element.prototype.isSlidedBox=false;Ext.Element.prototype.SlideBox=function(msg,config){if(!this.isSlidedBox){this.isSlidedBox=true;var maskEl,duration,w,closable;if(config){if(config.maskEl)maskEl=config.maskEl;if(config.duration)duration=config.duration;if(config.width)w=config.width;if(config.closable)closable=config.closable;}
if(maskEl){if(!this._mask){this._mask=Ext.DomHelper.append(this.dom,{tag:"div",cls:"ext-el-mask"},true);this.addClass("x-masked");}else{this.addClass("x-masked");this._mask.setDisplayed(true);}}
if(!this.slideBoxEl){Ext.DomHelper.useDom=false;this.slideBoxEl=Ext.DomHelper.append(this.dom,Ext.Element.createSlideBox(msg,w+'px',closable),true);}else{this.slideBoxEl.child('div.slide-box-msg').dom.innerHTML=msg;this.slideBoxEl.child('div.slide-box-el-close').dom.style.display=(closable?'':'none');if(w){this.slideBoxEl.setWidth(w+this.slideBoxEl.getPadding("lr"));}}
this.slideBoxEl.dom.style.position="absolute";this.slideBoxEl.alignTo(this,'t-t');if(closable){this.slideBoxEl.child('div.slide-box-el-close').removeAllListeners();this.slideBoxEl.child('div.slide-box-el-close').on('click',this.slideBoxClose.createDelegate(this,[maskEl]));this.slideBoxEl.slideIn('t');}else{this.slideBoxEl.slideIn('t').pause(duration?duration:1).slideOut('t',{callback:this.slideBoxHidden.createDelegate(this,[maskEl])});}}}
Ext.Element.prototype.slideBoxHidden=function(maskEl){if(maskEl){this._mask.setDisplayed(false);this.removeClass("x-masked");}
this.isSlidedBox=false;}
Ext.Element.prototype.slideBoxClose=function(maskEl){this.slideBoxEl.slideOut('t',{callback:this.slideBoxHidden.createDelegate(this,[maskEl])});}
SlideBox=function(ct,config){this.ct=Ext.get(ct);Ext.apply(this,config,{width:200,mask:true,maskEl:null,title:true,titleText:"",titleCls:""});}
SlideBox.prototype={isVisible:false,init:function(){this.el=Ext.DomHelper.append(this.ct.dom,{cls:"slide-box-class",children:[{cls:"slide-box-title-bg",children:[{cls:"slide-box-close"},{cls:"slide-box-title "+this.titleCls,html:this.titleText}]},{cls:"slide-box-l",children:[{cls:"slide-box-r",children:[{cls:"slide-box-c",children:[{cls:"slide-box-msg"}]}]}]}]},true);this.panel=this.el.child("div.slide-box-msg");this.setWidth();this.updatePosition();if(!this.maskEl){this.maskEl=this.ct;}
if(this.mask){this._mask=Ext.DomHelper.append(this.maskEl.dom,{tag:"div",cls:"slide-box-class-mask"},true);this._mask.setDisplayed(false);}
this.titleEl=this.el.child("div.slide-box-title-bg");if(this.title==false){this.titleEl.dom.style.display='none';}
this.el.child('div.slide-box-close').on('click',this.hide,this);this.el.hide();},setWidth:function(w){if(w){this.width=w;}
this.el.setWidth(this.width);},append:function(obj){return Ext.DomHelper.append(this.panel,obj,true);},show:function(){if(this._mask){this.maskEl.addClass("x-masked");this._mask.setDisplayed(true);}
this.el.slideIn('t');this.isVisible=true;},hide:function(){this.el.ghost('t',{callback:this.afterHidden.createDelegate(this),useDisplay:true});this.isVisible=false;},afterHidden:function(){if(this._mask){this._mask.setDisplayed(false);this.maskEl.removeClass("x-masked");}},updatePosition:function(){this.el.alignTo(this.ct,"t-t");},destroy:function(){if(this._mask){this._mask.remove();}
this.el.child('div.slide-box-close').removeAllListeners();this.el.remove();}};SlideBoxConfirm=function(ct,config,type,showOnCreate,notHideAfterClick){SlideBoxConfirm.superclass.constructor.call(this,ct,config);this.notHideAfterClick=notHideAfterClick;this.init();if(this.message)
this.append({cls:"slide-box-confirm-msg",children:this.message});this.createButtons(type);if(showOnCreate!=false)
this.show();};SlideBoxConfirm.OKCANCEL=1;SlideBoxConfirm.CANCEL=2;SlideBoxConfirm.OK=3;SlideBoxConfirm.PERSONALIZED=4;Ext.extend(SlideBoxConfirm,SlideBox,{createButtons:function(type){this.btsEl=Ext.DomHelper.append(this.el.child("div.slide-box-c"),{cls:"slide-box-confirm-bts"},true);switch(type){case SlideBoxConfirm.OKCANCEL:this.btCancel=new Ext.Button(this.btsEl,{text:"Non",handler:this.onCancel,scope:this,minWidth:60});this.btOk=new Ext.Button(this.btsEl,{text:"Oui",handler:this.onOk,scope:this,minWidth:60});this.btOk.focus();break;case SlideBoxConfirm.CANCEL:this.btCancel=new Ext.Button(this.btsEl,{text:"Annuler",handler:this.onCancel,scope:this,minWidth:60});this.btCancel.focus();break;case SlideBoxConfirm.OK:this.btOk=new Ext.Button(this.btsEl,{text:"OK",handler:this.onOk,scope:this,minWidth:60});this.btOk.focus();break;case SlideBoxConfirm.PERSONALIZED:break;}},onCancel:function(){this.hide();if(this.handlerCancel){this.handlerCancel.fn.apply(this.handlerCancel.scope,(typeof(this.handlerCancel.args)!="undefined"?this.handlerCancel.args:[]));}},onOk:function(){if(!this.notHideAfterClick){this.hide();}
if(this.handlerOk){this.handlerOk.fn.apply(this.handlerOk.scope,(typeof(this.handlerOk.args)!="undefined"?this.handlerOk.args:[]));}},afterHidden:function(){if(this._mask){this._mask.setDisplayed(false);this.maskEl.removeClass("x-masked");}
this.remove();},remove:function(){if(this.btCancel)
this.btCancel.destroy();if(this.btOk)
this.btOk.destroy();this.destroy();}});

Ext.Bar3d=function(el,config){this.items=new Ext.util.MixedCollection(false,function(o){return o.id||(o.id=Ext.id());});Ext.apply(this,config,{small:false});Ext.Bar3d.superclass.constructor.call(this);this.initEl(el);};Ext.extend(Ext.Bar3d,Ext.util.Observable,{autoCreate:{tag:"table",cls:"x-bar",cellpadding:"0",cellspacing:"0",border:"0",children:[{tag:"tr"}]},itemNum:0,selectedItem:null,initEl:function(el){this.el=Ext.get(el);this.id=this.el.id||Ext.id();if(this.small){this.el.addClass('x-bar-ct-small');}
else{this.el.addClass('x-bar-ct');}
this.bar=this.el.insertFirst(this.autoCreate);this.ct=this.bar.child("tr",false);},add:function(){this.items.addAll(Array.prototype.slice.call(arguments,0));this.items.each(this.configItem,this);},configItem:function(item){item.on("selected",this.onSelItem,this);},onSelItem:function(selItem){if(this.selectedItem){this.selectedItem.setSelected(false);}
this.selectedItem=selItem;},render:function(){this.items.each(function(i){i.render(this.ct,(!this.itemNum?0:(this.items.getCount()-1==this.itemNum?2:1)),this.small);this.itemNum++;},this);if(this.label&&this.small){this.ct.insertSibling({tag:"tr",children:[{tag:"td",cls:"x-bar-small-label",colspan:this.itemNum,html:this.label}]},'after');}
return this;},select:function(item){this.items.get(item.id).setSelected(true);},remove:function(field){this.items.remove(field);}});Ext.Bar3d.Item=function(config){Ext.Bar3d.Item.superclass.constructor.call(this,config);Ext.apply(this,config);this.addEvents({click:true,selected:true});};Ext.extend(Ext.Bar3d.Item,Ext.Component,{clsUnSel:[['x-bar-l','x-bar-m'],['x-bar-m',''],['x-bar-r','x-bar-m']],clsSel:[['x-bar-l-sel','x-bar-m-sel'],['x-bar-m-sel',''],['x-bar-r-sel','x-bar-m-sel']],selected:false,render:function(ct,clsIndex,small){this.small=small;if(ct){this.clsIndex=clsIndex;if(small){this.el=ct.createChild({tag:"td",cls:this.clsUnSel[clsIndex][0],style:"cursor:"+(this.clickFn?"pointer;":"default;"),children:[{tag:"div",cls:this.clsIcon,"ext:qtip":this.label}]});}
else{this.el=ct.createChild({tag:"td",cls:this.clsUnSel[clsIndex][0],style:"cursor:"+(this.clickFn?"pointer;":"default;"),children:[{tag:"div",cls:this.clsUnSel[clsIndex][1],children:[{tag:"label",html:this.label}]}]});}
if(this.clickFn){this.el.on('click',this.onClick,this);}}},onClick:function(){this.setSelected(true);if(this.clickFn){this.clickFn.call(this.scope);}},setSelected:function(state){if(state&&!this.selected){this.el.removeListener('click',this.onClick);this.el.replaceClass(this.clsUnSel[this.clsIndex][0],this.clsSel[this.clsIndex][0]);if(!this.small){this.el.child('div').replaceClass(this.clsUnSel[this.clsIndex][1],this.clsSel[this.clsIndex][1]);}
this.selected=true;this.fireEvent("selected",this);}else if(!state&&this.selected){this.el.on('click',this.onClick,this);this.el.replaceClass(this.clsSel[this.clsIndex][0],this.clsUnSel[this.clsIndex][0]);if(!this.small){this.el.child('div').replaceClass(this.clsSel[this.clsIndex][1],this.clsUnSel[this.clsIndex][1]);}
this.selected=false;}
return this;}});

Ext.ColorPicker=function(ct,config,colors){this.addEvents({onColorOver:true,onColorSelect:true});if(typeof config=="object"){Ext.apply(this.config,config,this.defaultConfig);}else{this.config=this.defaultConfig;}
if(typeof colors=="array"){this.colors=colors;}else{this.colors=Ext.ColorPicker.defaultColors;}
this.ct=Ext.get(ct);this.init(ct);Ext.ColorPicker.superclass.constructor.call(this);}
Ext.extend(Ext.ColorPicker,Ext.util.Observable,{isBrowsing:false,isOverColor:false,colors:null,defaultConfig:{grid:{colorPerCol:6,colorPerRow:6},rect:{w:8,h:8},margin:{top:0,left:0},defaultColor:'#000000'},config:null,init:function(ct){Ext.DomHelper.useDom=false;Ext.DomHelper.append(this.ct,{cls:"cpick",style:"background-color:"+this.config.defaultColor,children:[{tag:"input",style:"display:none;",value:this.config.defaultColor}]});this.el=this.ct.child("div.cpick",false);this.field=this.el.child("input",true);this.paletteEl=new Ext.Layer({shadow:true,cls:"cpick-palette",constrain:false,dh:{tag:"div",cls:"x-layer",children:[{cls:"cpick-palette-ct"}]}});this.paletteEl.setSize((this.config.rect.w*this.config.grid.colorPerCol)+this.config.margin.left+3,(this.config.rect.h*this.config.grid.colorPerRow)+this.config.margin.top+3);this.paletteCtEl=this.paletteEl.child("div.cpick-palette-ct",false);this.paletteCtEl.setSize((this.config.rect.w*this.config.grid.colorPerCol)+this.config.margin.left+1,(this.config.rect.h*this.config.grid.colorPerRow)+this.config.margin.top+1);this.createColorBoxes();this.el.on("mouseover",function(){this.addClass("cpick-over");});this.el.on("mouseout",this.onElOut,this);this.el.on("click",this.browse,this);Ext.EventManager.onWindowResize(this.updatePos,this,true);},updatePos:function(){if(this.isBrowsing){this.paletteEl.alignTo(this.el,'tl-bl?',[2,-2]);}},onElOut:function(e){if(!this.isBrowsing){this.el.removeClass("cpick-over");}},browse:function(){if(!this.isBrowsing){this.el.addClass("cpick-over");this.paletteEl.alignTo(this.el,'tl-bl?',[2,-2]);this.paletteEl.show();this.isBrowsing=true;Ext.get(document).on("mousedown",this.collapseIf,this);}else{this.collapse();}},collapse:function(){if(this.isBrowsing){this.el.removeClass("cpick-over");this.paletteEl.hide();this.isBrowsing=false;Ext.get(document).un('mousedown',this.collapseIf,this);}},collapseIf:function(e){if(!e.within(this.el)&&!e.within(this.paletteEl)){this.fireEvent("onColorSelect",this.field.value);this.collapse();}},createColorBoxes:function(){var self=this;for(i=0;i<this.colors.length;i++){var pos={'top':(i%this.config.grid.colorPerCol)*this.config.rect.h,'left':Math.floor(i/this.config.grid.colorPerCol)*this.config.rect.w};var col=Ext.DomHelper.append(this.paletteCtEl,{cls:"cpick-color",style:"width:"+(this.config.rect.w-1)+"px;height:"+(this.config.rect.h-1)+"px;background-color:"+this.colors[i]+";top:"+(pos.top+this.config.margin.top)+"px;left:"+(pos.left+this.config.margin.left)+"px"});var cmask=Ext.get(Ext.DomHelper.append(this.paletteCtEl,{cls:"cpick-cmask-out",style:"width:"+(this.config.rect.w-1)+"px;height:"+(this.config.rect.h-1)+"px;top:"+(pos.top-1+this.config.margin.top)+"px;left:"+(pos.left-1+this.config.margin.left)+"px"}));cmask.color=this.colors[i];cmask.addClassOnOver("cpick-cmask-over");cmask.on("mouseover",function(){this.dom.className="cpick-cmask-over";self.onColorOver.call(self,this.color);});cmask.on("mouseout",function(){this.dom.className="cpick-cmask-out";});cmask.on("click",function(){self.setColor.call(self,this.color);});}},setSelectedColor:function(color){this.el.dom.style.backgroundColor=color;this.field.value=color;},onColorOver:function(color){this.isOverColor=true;this.fireEvent("onColorOver",color);},setColor:function(color){this.el.dom.style.backgroundColor=color;this.field.value=color;this.collapse();this.fireEvent("onColorSelect",color);}});Ext.ColorPicker.defaultColors=['#FF0000','#CC0000','#990000','#660000','#330000','#000000','#FF9900','#FF6600','#CC6600','#993300','#663300','#000000','#FFFF00','#FFCC00','#999900','#666600','#333300','#000000','#33FF33','#00CC00','#009900','#006600','#003300','#000000','#33CCFF','#3366FF','#3333FF','#000099','#000066','#000000','#CC66CC','#CC33CC','#993366','#663366','#330033','#000000'];

Ext.Toolpane=function(config){Ext.Toolpane.superclass.constructor.call(this);this.init(config);};Ext.Toolpane.zSeed=99999;Ext.extend(Ext.Toolpane,Ext.util.Observable,{tpArrFixedH:[],tpArrRestH:[],tpRestH:null,init:function(config){Ext.apply(this,config);this.container=Ext.get(this.container?this.container:document.body);var dh=Ext.DomHelper;dh.useDom=false;this.tpRestHeight=this.height-11;this.el=dh.append(this.container,{cls:"toolpane",style:"width:"+this.width+"px;height:"+this.height+"px;z-index:"+Ext.Toolpane.zSeed++,children:[{cls:"toolpane-pane",style:"height:"+this.tpRestHeight+"px;width:"+(this.width-2)+"px"}]},true);this.topbar=this.el.insertFirst({cls:"toolpane-topbar",style:"width:"+this.width+"px",children:[{cls:"toolpane-bg toolpane-tl"},{cls:"toolpane-bg toolpane-t",style:"width:"+(this.width-8)+"px",children:[{cls:"toolpane-move"}]},{cls:"toolpane-bg toolpane-tr"}]});this.topbar.insertSibling({children:[{cls:"toolpane-bg toolpane-l",style:"height:"+(this.height-11)+"px"},{cls:"toolpane-bg toolpane-c",style:"height:"+(this.height-11)+"px;width:"+(this.width-8)+"px"},{cls:"toolpane-bg toolpane-r",style:"height:"+(this.height-11)+"px"},{cls:"toolpane-bg toolpane-bl"},{cls:"toolpane-bg toolpane-b",style:"width:"+(this.width-8)+"px"},{cls:"toolpane-bg toolpane-br"}]},'after');this.pane=this.el.child("div.toolpane-pane",false);this.initPosition();if(this.position=='TR')
Ext.EventManager.onWindowResize(this.updatePosition,this);var dd=new Ext.dd.DD(this.el.dom.id,"ToolpaneDrag");dd.setHandleElId(this.topbar.id);dd.endDrag=this.endMove.createDelegate(this);dd.startDrag=this.startMove.createDelegate(this);dd.onDrag=this.onDrag.createDelegate(this);dd.scroll=false;this.dd=dd;},initPosition:function(){if(this.container){var s=this.container.getSize();this.viewSize=[s.width,s.height];}else{this.viewSize=[Ext.lib.Dom.getViewWidth(),Ext.lib.Dom.getViewHeight()];}
switch(this.position){case'TL':this.el.dom.style.left=this.offsets[0]+"px";this.el.dom.style.top=this.offsets[1]+"px";break;case'TR':this.el.dom.style.right=this.offsets[0]+"px";this.el.dom.style.top=this.offsets[1]+"px";break;}
this.xy=this.el.getXY();},updatePosition:function(nW,nH){this.el.alignTo(document.body,this.position,[-this.offsets[0]-this.width,this.offsets[1]],false);},endMove:function(){this.xy=this.el.getXY();this.viewSize=[Ext.lib.Dom.getViewWidth(),Ext.lib.Dom.getViewHeight()];this.offsets=[this.viewSize[0]-this.xy[0]-this.width,this.xy[1]];},startMove:function(){if(this.constraintoviewport){this.dd.constrainTo(this.container,{right:0,bottom:0});}},onDrag:function(){},addTogglePanel:function(config){var tp=new Ext.Toolpane.TogglePanel(Ext.apply(config,{ct:this.pane}));tp.on("collapsed",this.tpExpandCollapsed,this);tp.on("expand",this.tpExpandCollapsed,this);if(typeof(config.height)=="number"){this.tpRestHeight-=config.height;this.tpArrFixedH.push(tp);}else if(config.height=="rest"){tp.setRestHeight(this.tpRestHeight);this.tpArrRestH.push(tp);}
return tp;},tpExpandCollapsed:function(yMove){this.tpRestHeight+=yMove;for(var i=0;i<this.tpArrRestH.length;i++){this.tpArrRestH[i].setRestHeight(Math.floor(this.tpRestHeight/this.tpArrRestH.length));}}});Ext.Toolpane.TogglePanel=function(config){Ext.apply(this,config,{title:"Toggle panel",height:50,statusColor:"red",statusFontsize:"10px"});this.addEvents({collapsed:true,expand:true,newPaneHeight:true});Ext.Toolpane.TogglePanel.superclass.constructor.call(this,config);this.render();};Ext.Toolpane.TogglePanel.COLLAPSED=0;Ext.Toolpane.TogglePanel.EXPANDED=1;Ext.extend(Ext.Toolpane.TogglePanel,Ext.util.Observable,{restHeight:"auto",render:function(){Ext.DomHelper.UseDom=false;this.el=Ext.DomHelper.append(this.ct,{cls:"tp-toggle-el",children:[{cls:"tp-toggle-header-l-open",children:[{cls:"tp-toggle-header-r"},{cls:"tp-toggle-header-c",html:this.title,style:(this.color?"color:"+this.color+";":"")+(this.fontsize?"font-size:"+this.fontsize:"")}]},{cls:"tp-toggle-pane"},(this.statusBar?{cls:"tp-toggle-status-l",children:[{cls:"tp-toggle-status-r"},{cls:"tp-toggle-status-c",html:"",style:(this.statusColor?"color:"+this.statusColor+";":"")+(this.statusFontsize?"font-size:"+this.statusFontsize:"")}]}:{})]},true);if(typeof(this.height)=="number"){this.el.setHeight(this.height);}else if(this.height=="rest"){}
this.title=this.el.child("div.tp-toggle-header-l-open",false);this.pane=this.el.child("div.tp-toggle-pane",false);if(this.statusBar){this.statusBarEl=this.el.child("div.tp-toggle-status-c",false);}
this.state=Ext.Toolpane.TogglePanel.EXPANDED;this.title.on('click',this.expandCollapse,this);},expandCollapse:function(){if(this.state==Ext.Toolpane.TogglePanel.EXPANDED){this.collapse();}else{this.expand();}},collapse:function(){if(this.state==Ext.Toolpane.TogglePanel.EXPANDED){this.pane.slideOut('t',{useDisplay:true,callback:this.afterCollapse,scope:this});this.state=Ext.Toolpane.TogglePanel.COLLAPSED;this.title.replaceClass('tp-toggle-header-l-open','tp-toggle-header-l-close');}},afterCollapse:function(){var h=this.title.getHeight();this.el.setHeight(h);if(typeof(this.height)=="number"){this.fireEvent("collapsed",this.height-h-(this.statusBar?this.statusBarEl.getHeight():0));}},expand:function(){if(this.state==Ext.Toolpane.TogglePanel.COLLAPSED){if(typeof(this.height)=="number"){this.fireEvent("expand",(this.title.getHeight()+(this.statusBar?this.statusBarEl.getHeight():0))-this.height);this.el.setHeight(this.height);}else if(this.height=="rest"){this.el.dom.style.height=this.restHeight+"px";}
this.pane.slideIn();this.state=Ext.Toolpane.TogglePanel.EXPANDED;this.title.replaceClass('tp-toggle-header-l-close','tp-toggle-header-l-open');}},setRestHeight:function(h){this.fireEvent("newPaneHeight",h-this.title.getHeight()-(this.statusBar?this.statusBarEl.getHeight():0));this.restHeight=h;if(this.state==Ext.Toolpane.TogglePanel.EXPANDED){this.el.dom.style.height=this.restHeight+"px";}},getPaneHeight:function(){return(this.restHeight-this.title.getHeight()-(this.statusBar?this.statusBarEl.getHeight():0));},setStatusBarText:function(txt){if(this.statusBar){this.statusBarEl.dom.innerHTML=txt;}}});

Ext.Toolpane2=function(config){Ext.Toolpane2.superclass.constructor.call(this);this.init(config);};Ext.Toolpane2.zSeed=80000;Ext.Toolpane2.BORDER_WIDTH=2*12;Ext.extend(Ext.Toolpane2,Ext.util.Observable,{isVisible:true,init:function(config){Ext.apply(this,config);this.container=Ext.get(this.container?this.container:document.body);var dh=Ext.DomHelper;dh.useDom=false;this.el=dh.append(this.container,{cls:(this.css?this.css+" ":"")+"tp2",style:"width:"+this.width+"px;height:"+this.height+"px;z-index:"+Ext.Toolpane2.zSeed++,children:[{cls:"tp2-pane",style:"height:"+(this.height-Ext.Toolpane2.BORDER_WIDTH)+"px;width:"+(this.width-Ext.Toolpane2.BORDER_WIDTH)+"px"}]},true);this.topbar=this.el.insertFirst({cls:"tp2-topbar",style:"width:"+this.width+"px",children:[{cls:"tp2-bg tp2-tl"},{cls:"tp2-bg tp2-t",style:"width:"+(this.width-Ext.Toolpane2.BORDER_WIDTH)+"px",children:[]},{cls:"tp2-bg tp2-tr"}]});this.topbar.insertSibling({children:[{cls:"tp2-bg tp2-l",style:"height:"+(this.height-Ext.Toolpane2.BORDER_WIDTH)+"px"},{cls:"tp2-bg tp2-c",style:"height:"+(this.height-Ext.Toolpane2.BORDER_WIDTH)+"px;width:"+(this.width-Ext.Toolpane2.BORDER_WIDTH)+"px"},{cls:"tp2-bg tp2-r",style:"height:"+(this.height-Ext.Toolpane2.BORDER_WIDTH)+"px"},{cls:"tp2-bg tp2-bl"},{cls:"tp2-bg tp2-b",style:"width:"+(this.width-Ext.Toolpane2.BORDER_WIDTH)+"px"},{cls:"tp2-bg tp2-br"}]},'after');this.pane=this.el.child("div.tp2-pane",false);this.initPosition();if(this.position=='TR'||this.position=='C')
Ext.EventManager.onWindowResize(this.updatePosition,this);if(!this.notMovable){var dd=new Ext.dd.DD(this.el.dom.id,"Toolpane2Drag");dd.setHandleElId(this.topbar.id);dd.endDrag=this.endMove.createDelegate(this);dd.startDrag=this.startMove.createDelegate(this);dd.onDrag=this.onDrag.createDelegate(this);dd.scroll=false;this.dd=dd;}},updateHeight:function(){this.pane.dom.style.height='auto';var h=this.pane.getHeight();this.el.dom.style.height=(h+Ext.Toolpane2.BORDER_WIDTH)+'px';this.el.child("div.tp2-l",true).style.height=h+"px";this.el.child("div.tp2-c",true).style.height=h+"px";this.el.child("div.tp2-r",true).style.height=h+"px";this.pane.dom.style.height=h+"px";this.height=h+Ext.Toolpane2.BORDER_WIDTH;},initPosition:function(){if(this.container){var s=this.container.getSize();this.viewSize=[s.width,s.height];}else{this.viewSize=[Ext.lib.Dom.getViewWidth(),Ext.lib.Dom.getViewHeight()];}
switch(this.position){case'TL':this.el.dom.style.left=this.offsets[0]+"px";this.el.dom.style.top=this.offsets[1]+"px";this.xy=this.el.getXY();break;case'TR':this.el.dom.style.right=this.offsets[0]+"px";this.el.dom.style.top=this.offsets[1]+"px";this.xy=this.el.getXY();break;case'C':var middle=Math.floor(Ext.lib.Dom.getViewWidth()/2);this.el.dom.style.left=(middle+this.offsets[0])+"px";this.el.dom.style.top=this.offsets[1]+"px";this.xy=this.el.getXY();this.xy[0]-=middle;break;}},updatePosition:function(nW,nH){switch(this.position){case'TR':this.el.dom.style.left=nW-(this.viewSize[0]-this.xy[0])+"px";this.viewSize=[nW,nH];this.xy=this.el.getXY();break;case'C':var middle=Math.floor(nW/2);this.el.dom.style.left=(middle+this.xy[0])+"px";this.viewSize=[nW,nH];this.xy=this.el.getXY();this.xy[0]-=middle;break;}},endMove:function(){if(this.position=='C'){var middle=Math.floor(Ext.lib.Dom.getViewWidth()/2);this.xy[0]-=middle;}},startMove:function(){if(this.constraintoviewport){this.dd.constrainTo(this.container,{right:0,bottom:0});}},onDrag:function(){this.xy=this.el.getXY();},hide:function(){if(this.isVisible){this.el.dom.style.display='none';this.isVisible=false;}},show:function(){if(!this.isVisible){this.el.dom.style.display='block';this.isVisible=true;}}});

Ext.BasicDialog=function(el,config){this.el=Ext.get(el);var dh=Ext.DomHelper;if(!this.el&&config&&config.autoCreate){if(typeof config.autoCreate=="object"){if(!config.autoCreate.id){config.autoCreate.id=el;}
this.el=dh.append(document.body,config.autoCreate,true);}else{this.el=dh.append(document.body,{tag:"div",id:el,style:'visibility:hidden;'},true);}}
el=this.el;el.setDisplayed(true);el.hide=this.hideAction;this.id=el.id;el.addClass("x-dlg");Ext.apply(this,config);this.proxy=el.createProxy("x-dlg-proxy");this.proxy.hide=this.hideAction;this.proxy.setOpacity(.5);this.proxy.hide();if(config.width){el.setWidth(config.width);}
if(config.height){el.setHeight(config.height);}
this.size=el.getSize();if(typeof config.x!="undefined"&&typeof config.y!="undefined"){this.xy=[config.x,config.y];}
else if(typeof config.y!="undefined"){this.xy=el.getCenterXY(true);this.xy[1]=config.y;}
else{this.xy=el.getCenterXY(true);}
this.header=el.child("/.x-dlg-hd");this.body=el.child("/.x-dlg-bd");this.footer=el.child("/.x-dlg-ft");if(!this.header){this.header=el.createChild({tag:"div",cls:"x-dlg-hd",html:"&#160;"},this.body?this.body.dom:null);}
if(!this.body){this.body=el.createChild({tag:"div",cls:"x-dlg-bd"});}
this.header.unselectable();if(this.title){this.header.update(this.title);}
this.focusEl=el.createChild({tag:"a",href:"#",cls:"x-dlg-focus",tabIndex:"-1"});this.focusEl.swallowEvent("click",true);this.header.wrap({cls:"x-dlg-hd-right"}).wrap({cls:"x-dlg-hd-left"},true);this.bwrap=this.body.wrap({tag:"div",cls:"x-dlg-dlg-body"});if(this.footer){this.bwrap.dom.appendChild(this.footer.dom);}
this.bg=this.el.createChild({tag:"div",cls:"x-dlg-bg",html:'<div class="x-dlg-bg-left"><div class="x-dlg-bg-right"><div class="x-dlg-bg-center">&#160;</div></div></div>'});this.centerBg=this.bg.child("div.x-dlg-bg-center");if(this.autoScroll!==false&&!this.autoTabs){this.body.setStyle("overflow","auto");}
this.toolbox=this.el.createChild({cls:"x-dlg-toolbox"});if(this.closable!==false){this.el.addClass("x-dlg-closable");this.close=this.toolbox.createChild({cls:"x-dlg-close"});this.close.on("click",this.closeClick,this);this.close.addClassOnOver("x-dlg-close-over");}
if(this.collapsible!==false){this.collapseBtn=this.toolbox.createChild({cls:"x-dlg-collapse"});this.collapseBtn.on("click",this.collapseClick,this);this.collapseBtn.addClassOnOver("x-dlg-collapse-over");this.header.on("dblclick",this.collapseClick,this);}
if(this.resizable!==false){this.el.addClass("x-dlg-resizable");this.resizer=new Ext.Resizable(el,{minWidth:this.minWidth||80,minHeight:this.minHeight||80,handles:this.resizeHandles||"all",pinned:true});this.resizer.on("beforeresize",this.beforeResize,this);this.resizer.on("resize",this.onResize,this);}
if(this.draggable!==false){el.addClass("x-dlg-draggable");if(!this.proxyDrag){var dd=new Ext.dd.DD(el.dom.id,"WindowDrag");}
else{var dd=new Ext.dd.DDProxy(el.dom.id,"WindowDrag",{dragElId:this.proxy.id});}
dd.setHandleElId(this.header.id);dd.endDrag=this.endMove.createDelegate(this);dd.startDrag=this.startMove.createDelegate(this);dd.onDrag=this.onDrag.createDelegate(this);dd.scroll=false;this.dd=dd;}
if(this.modal){this.mask=dh.append(document.body,{tag:"div",cls:"x-dlg-mask"},true);this.mask.enableDisplayMode("block");this.mask.hide();this.el.addClass("x-dlg-modal");}
if(this.shadow){this.shadow=new Ext.Shadow({mode:typeof this.shadow=="string"?this.shadow:"sides",offset:this.shadowOffset});}else{this.shadowOffset=0;}
if(Ext.useShims&&this.shim!==false){this.shim=this.el.createShim();this.shim.hide=this.hideAction;this.shim.hide();}else{this.shim=false;}
if(this.autoTabs){this.initTabs();}
this.events={"keydown":true,"move":true,"resize":true,"beforehide":true,"hide":true,"beforeshow":true,"show":true};el.on("keydown",this.onKeyDown,this);el.on("mousedown",this.toFront,this);Ext.EventManager.onWindowResize(this.adjustViewport,this,true);this.el.hide();Ext.DialogManager.register(this);Ext.BasicDialog.superclass.constructor.call(this);};Ext.extend(Ext.BasicDialog,Ext.util.Observable,{shadowOffset:5,minHeight:80,minWidth:200,minButtonWidth:75,defaultButton:null,buttonAlign:"right",tabTag:'div',firstShow:true,setTitle:function(text){this.header.update(text);return this;},closeClick:function(){this.hide();},collapseClick:function(){this[this.collapsed?"expand":"collapse"]();},collapse:function(){if(!this.collapsed){this.collapsed=true;this.el.addClass("x-dlg-collapsed");this.restoreHeight=this.el.getHeight();this.resizeTo(this.el.getWidth(),this.header.getHeight());}},expand:function(){if(this.collapsed){this.collapsed=false;this.el.removeClass("x-dlg-collapsed");this.resizeTo(this.el.getWidth(),this.restoreHeight);}},initTabs:function(){var tabs=this.getTabs();while(tabs.getTab(0)){tabs.removeTab(0);}
this.el.select(this.tabTag+'.x-dlg-tab').each(function(el){var dom=el.dom;tabs.addTab(Ext.id(dom),dom.title);dom.title="";});tabs.activate(0);return tabs;},beforeResize:function(){this.resizer.minHeight=Math.max(this.minHeight,this.getHeaderFooterHeight(true)+40);},onResize:function(){this.refreshSize();this.syncBodyHeight();this.adjustAssets();this.focus();this.fireEvent("resize",this,this.size.width,this.size.height);},onKeyDown:function(e){if(this.isVisible()){this.fireEvent("keydown",this,e);}},resizeTo:function(width,height){this.el.setSize(width,height);this.size={width:width,height:height};this.syncBodyHeight();if(this.fixedcenter){this.center();}
if(this.isVisible()){this.constrainXY();this.adjustAssets();}
this.fireEvent("resize",this,width,height);return this;},setContentSize:function(w,h){h+=this.getHeaderFooterHeight()+this.body.getMargins("tb");w+=this.body.getMargins("lr")+this.bwrap.getMargins("lr")+this.centerBg.getPadding("lr");h+=this.body.getPadding("tb")+this.bwrap.getBorderWidth("tb")+this.body.getBorderWidth("tb")+this.el.getBorderWidth("tb");w+=this.body.getPadding("lr")+this.bwrap.getBorderWidth("lr")+this.body.getBorderWidth("lr")+this.bwrap.getPadding("lr")+this.el.getBorderWidth("lr");if(this.tabs){h+=this.tabs.stripWrap.getHeight()+this.tabs.bodyEl.getMargins("tb")+this.tabs.bodyEl.getPadding("tb");w+=this.tabs.bodyEl.getMargins("lr")+this.tabs.bodyEl.getPadding("lr");}
this.resizeTo(w,h);return this;},addKeyListener:function(key,fn,scope){var keyCode,shift,ctrl,alt;if(typeof key=="object"&&!(key instanceof Array)){keyCode=key["key"];shift=key["shift"];ctrl=key["ctrl"];alt=key["alt"];}else{keyCode=key;}
var handler=function(dlg,e){if((!shift||e.shiftKey)&&(!ctrl||e.ctrlKey)&&(!alt||e.altKey)){var k=e.getKey();if(keyCode instanceof Array){for(var i=0,len=keyCode.length;i<len;i++){if(keyCode[i]==k){fn.call(scope||window,dlg,k,e);return;}}}else{if(k==keyCode){fn.call(scope||window,dlg,k,e);}}}};this.on("keydown",handler);return this;},getTabs:function(){if(!this.tabs){this.el.addClass("x-dlg-auto-tabs");this.body.addClass(this.tabPosition=="bottom"?"x-tabs-bottom":"x-tabs-top");this.tabs=new Ext.TabPanel(this.body.dom,this.tabPosition=="bottom");}
return this.tabs;},addButton:function(config,handler,scope){var dh=Ext.DomHelper;if(!this.footer){this.footer=dh.append(this.bwrap,{tag:"div",cls:"x-dlg-ft"},true);}
if(!this.btnContainer){var tb=this.footer.createChild({tag:"div",cls:"x-dlg-btns x-dlg-btns-"+this.buttonAlign,html:'<table cellspacing="0"><tbody><tr></tr></tbody></table><div class="x-clear"></div>'},null,true);this.btnContainer=tb.firstChild.firstChild.firstChild;}
var bconfig={handler:handler,scope:scope,minWidth:this.minButtonWidth,hideParent:true};if(typeof config=="string"){bconfig.text=config;}else{if(config.tag){bconfig.dhconfig=config;}else{Ext.apply(bconfig,config);}}
var btn=new Ext.Button(this.btnContainer.appendChild(document.createElement("td")),bconfig);this.syncBodyHeight();if(!this.buttons){this.buttons=[];}
this.buttons.push(btn);return btn;},setDefaultButton:function(btn){this.defaultButton=btn;return this;},getHeaderFooterHeight:function(safe){var height=0;if(this.header){height+=this.header.getHeight();}
if(this.footer){var fm=this.footer.getMargins();height+=(this.footer.getHeight()+fm.top+fm.bottom);}
height+=this.bwrap.getPadding("tb")+this.bwrap.getBorderWidth("tb");height+=this.centerBg.getPadding("tb");return height;},syncBodyHeight:function(){var bd=this.body,cb=this.centerBg,bw=this.bwrap;var height=this.size.height-this.getHeaderFooterHeight(false);bd.setHeight(height-bd.getMargins("tb"));var hh=this.header.getHeight();var h=this.size.height-hh;cb.setHeight(h);bw.setLeftTop(cb.getPadding("l"),hh+cb.getPadding("t"));bw.setHeight(h-cb.getPadding("tb"));bw.setWidth(this.el.getWidth(true)-cb.getPadding("lr"));bd.setWidth(bw.getWidth(true));if(this.tabs){this.tabs.syncHeight();if(Ext.isIE){this.tabs.el.repaint();}}},restoreState:function(){var box=Ext.state.Manager.get(this.stateId||(this.el.id+"-state"));if(box&&box.width){this.xy=[box.x,box.y];this.resizeTo(box.width,box.height);}
return this;},beforeShow:function(){this.expand();if(this.fixedcenter){this.xy=this.el.getCenterXY(true);}
if(this.modal){Ext.get(document.body).addClass("x-body-masked");this.mask.setSize(Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true));this.mask.show();}
this.constrainXY();},animShow:function(){var b=Ext.get(this.animateTarget,true).getBox();this.proxy.setSize(b.width,b.height);this.proxy.setLocation(b.x,b.y);this.proxy.show();this.proxy.setBounds(this.xy[0],this.xy[1],this.size.width,this.size.height,true,.35,this.showEl.createDelegate(this));},show:function(animateTarget){if(this.fireEvent("beforeshow",this)===false){return;}
if(this.syncHeightBeforeShow){this.syncBodyHeight();}else if(this.firstShow){this.firstShow=false;this.syncBodyHeight();}
this.animateTarget=animateTarget||this.animateTarget;if(!this.el.isVisible()){this.beforeShow();if(this.animateTarget){this.animShow();}else{this.showEl();}}
return this;},showEl:function(){this.proxy.hide();this.el.setXY(this.xy);this.el.show();this.adjustAssets(true);this.toFront();this.focus();this.fireEvent("show",this);},focus:function(){if(this.defaultButton){this.defaultButton.focus();}else{this.focusEl.focus();}},constrainXY:function(){if(this.constraintoviewport!==false){if(!this.viewSize){if(this.container){var s=this.container.getSize();this.viewSize=[s.width,s.height];}else{this.viewSize=[Ext.lib.Dom.getViewWidth(),Ext.lib.Dom.getViewHeight()];}}
var s=Ext.get(this.container||document).getScroll();var x=this.xy[0],y=this.xy[1];var w=this.size.width,h=this.size.height;var vw=this.viewSize[0],vh=this.viewSize[1];var moved=false;if(x+w>vw+s.left){x=vw-w;moved=true;}
if(y+h>vh+s.top){y=vh-h;moved=true;}
if(x<s.left){x=s.left;moved=true;}
if(y<s.top){y=s.top;moved=true;}
if(moved){this.xy=[x,y];if(this.isVisible()){this.el.setLocation(x,y);this.adjustAssets();}}}},onDrag:function(){if(!this.proxyDrag){this.xy=this.el.getXY();this.adjustAssets();}},adjustAssets:function(doShow){var x=this.xy[0],y=this.xy[1];var w=this.size.width,h=this.size.height;if(doShow===true){if(this.shadow){this.shadow.show(this.el);}
if(this.shim){this.shim.show();}}
if(this.shadow&&this.shadow.isVisible()){this.shadow.show(this.el);}
if(this.shim&&this.shim.isVisible()){this.shim.setBounds(x,y,w,h);}},adjustViewport:function(w,h){if(!w||!h){w=Ext.lib.Dom.getViewWidth();h=Ext.lib.Dom.getViewHeight();}
this.viewSize=[w,h];if(this.modal&&this.mask.isVisible()){this.mask.setSize(w,h);this.mask.setSize(Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true));}
if(this.isVisible()){this.constrainXY();}},destroy:function(removeEl){if(this.isVisible()){this.animateTarget=null;this.hide();}
Ext.EventManager.removeResizeListener(this.adjustViewport,this);if(this.tabs){this.tabs.destroy(removeEl);}
if(this.shim){this.shim.remove();}
if(this.proxy){this.proxy.remove();}
if(this.resizer){this.resizer.destroy();}
if(this.close){this.close.removeAllListeners();this.close.remove();}
if(this.mask){this.mask.remove();}
if(this.dd){this.dd.unreg();}
if(this.buttons){for(var i=0,len=this.buttons.length;i<len;i++){this.buttons[i].destroy();}}
this.el.removeAllListeners();if(removeEl===true){this.el.update("");this.el.remove();}
Ext.DialogManager.unregister(this);},startMove:function(){if(this.proxyDrag){this.proxy.show();}
if(this.constraintoviewport!==false){this.dd.constrainTo(document.body,{right:this.shadowOffset,bottom:this.shadowOffset});}},endMove:function(){if(!this.proxyDrag){Ext.dd.DD.prototype.endDrag.apply(this.dd,arguments);}else{Ext.dd.DDProxy.prototype.endDrag.apply(this.dd,arguments);this.proxy.hide();}
this.refreshSize();this.adjustAssets();this.focus();this.fireEvent("move",this,this.xy[0],this.xy[1]);},toFront:function(){Ext.DialogManager.bringToFront(this);return this;},toBack:function(){Ext.DialogManager.sendToBack(this);return this;},center:function(){var xy=this.el.getCenterXY(true);this.moveTo(xy[0],xy[1]);return this;},moveTo:function(x,y){this.xy=[x,y];if(this.isVisible()){this.el.setXY(this.xy);this.adjustAssets();}
return this;},alignTo:function(element,position,offsets){this.xy=this.el.getAlignToXY(element,position,offsets);if(this.isVisible()){this.el.setXY(this.xy);this.adjustAssets();}
return this;},anchorTo:function(el,alignment,offsets,monitorScroll){var action=function(){this.alignTo(el,alignment,offsets);};Ext.EventManager.onWindowResize(action,this);var tm=typeof monitorScroll;if(tm!='undefined'){Ext.EventManager.on(window,'scroll',action,this,{buffer:tm=='number'?monitorScroll:50});}
action.call(this);return this;},isVisible:function(){return this.el.isVisible();},animHide:function(callback){var b=Ext.get(this.animateTarget).getBox();this.proxy.show();this.proxy.setBounds(this.xy[0],this.xy[1],this.size.width,this.size.height);this.el.hide();this.proxy.setBounds(b.x,b.y,b.width,b.height,true,.35,this.hideEl.createDelegate(this,[callback]));},hide:function(callback){if(this.fireEvent("beforehide",this)===false){return;}
if(this.shadow){this.shadow.hide();}
if(this.shim){this.shim.hide();}
if(this.animateTarget){this.animHide(callback);}else{this.el.hide();this.hideEl(callback);}
return this;},hideEl:function(callback){this.proxy.hide();if(this.modal){this.mask.hide();Ext.get(document.body).removeClass("x-body-masked");}
this.fireEvent("hide",this);if(typeof callback=="function"){callback();}},hideAction:function(){this.setLeft("-10000px");this.setTop("-10000px");this.setStyle("visibility","hidden");},refreshSize:function(){this.size=this.el.getSize();this.xy=this.el.getXY();Ext.state.Manager.set(this.stateId||this.el.id+"-state",this.el.getBox());},setZIndex:function(index){if(this.modal){this.mask.setStyle("z-index",index);}
if(this.shim){this.shim.setStyle("z-index",++index);}
if(this.shadow){this.shadow.setZIndex(++index);}
this.el.setStyle("z-index",++index);if(this.proxy){this.proxy.setStyle("z-index",++index);}
if(this.resizer){this.resizer.proxy.setStyle("z-index",++index);}
this.lastZIndex=index;},getEl:function(){return this.el;}});Ext.DialogManager=function(){var list={};var accessList=[];var front=null;var sortDialogs=function(d1,d2){return(!d1._lastAccess||d1._lastAccess<d2._lastAccess)?-1:1;};var orderDialogs=function(){accessList.sort(sortDialogs);var seed=Ext.DialogManager.zseed;for(var i=0,len=accessList.length;i<len;i++){if(accessList[i]){accessList[i].setZIndex(seed+(i*10));}}};return{zseed:9000,register:function(dlg){list[dlg.id]=dlg;accessList.push(dlg);},unregister:function(dlg){delete list[dlg.id];if(!accessList.indexOf){for(var i=0,len=accessList.length;i<len;i++){if(accessList[i]==dlg){accessList.splice(i,1);return;}}}else{var i=accessList.indexOf(dlg);if(i!=-1){accessList.splice(i,1);}}},get:function(id){return typeof id=="object"?id:list[id];},bringToFront:function(dlg){dlg=this.get(dlg);if(dlg!=front){front=dlg;dlg._lastAccess=new Date().getTime();orderDialogs();}
return dlg;},sendToBack:function(dlg){dlg=this.get(dlg);dlg._lastAccess=-(new Date().getTime());orderDialogs();return dlg;},hideAll:function(){for(var id in list){if(list[id]&&typeof list[id]!="function"&&list[id].isVisible()){list[id].hide();}}}};}();Ext.LayoutDialog=function(el,config){config.autoTabs=false;Ext.LayoutDialog.superclass.constructor.call(this,el,config);this.body.setStyle({overflow:"hidden",position:"relative"});this.layout=new Ext.BorderLayout(this.body.dom,config);this.layout.monitorWindowResize=false;this.el.addClass("x-dlg-auto-layout");this.center=Ext.BasicDialog.prototype.center;this.on("show",this.layout.layout,this.layout,true);};Ext.extend(Ext.LayoutDialog,Ext.BasicDialog,{endUpdate:function(){this.layout.endUpdate();},beginUpdate:function(){this.layout.beginUpdate();},getLayout:function(){return this.layout;},showEl:function(){Ext.LayoutDialog.superclass.showEl.apply(this,arguments);if(Ext.isIE7){this.layout.layout();}},syncBodyHeight:function(){Ext.LayoutDialog.superclass.syncBodyHeight.call(this);if(this.layout){this.layout.layout();}}});
