var alertbox=new Class({Implements:[Chain],getOptions:function(){return{focusel:"",name:"alertbox",zIndex:65555,onReturn:false,onReturnFunction:$empty,BoxStyles:{width:500},OverlayStyles:{"background-color":"#000",opacity:0.7},showDuration:200,showEffect:Fx.Transitions.linear,closeDuration:100,closeEffect:Fx.Transitions.linear,moveDuration:500,moveEffect:Fx.Transitions.Back.easeOut,onShowStart:$empty,onShowComplete:$empty,onCloseStart:$empty,onCloseComplete:function(A){this.options.onReturnFunction(this.options.onReturn)}.bind(this)}},initialize:function(A){this.i=0;this.setOptions(this.getOptions(),A);this.Overlay=new Element("div",{id:"BoxOverlay",styles:{display:"none","z-index":this.options.zIndex,position:"absolute",top:"0",left:"0","background-color":this.options.OverlayStyles["background-color"],opacity:0,height:window.getScrollHeight()+"px",width:window.getScrollWidth()+"px"}});this.Content=new Element("div",{id:this.options.name+"-BoxContenedor"});this.Contenedor=new Element("div",{id:this.options.name+"-BoxContent"}).adopt(this.Content);this.InBox=new Element("div",{id:this.options.name+"-InBox"}).adopt(this.Contenedor);this.Box=new Element("div",{id:this.options.name+"-Box",styles:{display:"none","z-index":this.options.zIndex+2,position:"absolute",top:"0",left:"0",width:this.options.BoxStyles.width+"px"}}).adopt(this.InBox);this.Overlay.injectInside(document.body);this.Box.injectInside(document.body);window.addEvent("resize",function(){if(this.options.display==1){this.Overlay.setStyles({height:window.getScrollHeight()+"px",width:window.getScrollWidth()+"px"});this.replaceBox()}}.bind(this));window.addEvent("scroll",this.replaceBox.bind(this))},preloadImages:function(){var A=new Array(2);A[0]=new Image();A[1]=new Image();A[2]=new Image();A[0].src=this.Box.getStyle("background-image").replace(new RegExp("url\\('?([^']*)'?\\)","gi"),"$1");A[1].src=this.InBox.getStyle("background-image").replace(new RegExp("url\\('?([^']*)'?\\)","gi"),"$1");A[2].src=this.Contenedor.getStyle("background-image").replace(new RegExp("url\\('?([^']*)'?\\)","gi"),"$1")},display:function(A){if(this.Transition){this.Transition.cancel()}if(this.options.display==0&&A!=0||A==1){if(Browser.Engine.trident4){$$("select","object","embed").each(function(B){B.style.visibility="hidden"})}this.Overlay.setStyle("display","block");this.options.display=1;this.fireEvent("onShowStart",[this.Overlay]);this.Transition=new Fx.Tween(this.Overlay,{property:"opacity",duration:this.options.showDuration,transition:this.options.showEffect,onComplete:function(){sizes=window.getSize();scrollito=window.getScroll();this.Box.setStyles({display:"block",left:(scrollito.x+(sizes.x-this.options.BoxStyles.width)/2).toInt()});this.replaceBox();this.fireEvent("onShowComplete",[this.Overlay])}.bind(this)}).start(this.options.OverlayStyles.opacity)}else{if(Browser.Engine.trident4){$$("select","object","embed").each(function(B){B.style.visibility="visible"})}this.queue.delay(500,this);this.Box.setStyles({display:"none",top:0});this.Content.empty();this.options.display=0;this.fireEvent("onCloseStart",[this.Overlay]);if(this.i==1){this.Transition=new Fx.Tween(this.Overlay,{property:"opacity",duration:this.options.closeDuration,transition:this.options.closeEffect,onComplete:function(){this.fireEvent("onCloseComplete",[this.Overlay]);if(this.options.focusel!='')$(this.options.focusel).focus()}.bind(this)}).start(0)}}},replaceBox:function(){if(this.options.display==1){sizes=window.getSize();scrollito=window.getScroll();if(this.MoveBox){this.MoveBox.cancel()}this.MoveBox=new Fx.Morph(this.Box,{duration:this.options.moveDuration,transition:this.options.moveEffect}).start({left:(scrollito.x+(sizes.x-this.options.BoxStyles.width)/2).toInt(),top:(scrollito.y+(sizes.y-this.Box.offsetHeight)/2).toInt()})}},queue:function(){this.i--;this.callChain()},messageBox:function(C,D,B,A){this.chain(function(){B=$extend({textBoxBtnOk:ALERT_OK,textBoxBtnClose:ALERT_CLOSE,textBoxBtnCancel:ALERT_KO,textBoxInputPrompt:null,password:false,onComplete:$empty},B||{});this.options.onReturnFunction=B.onComplete;this.ContenedorBotones=new Element("div",{id:this.options.name+"-Buttons"});if(C=="alert"||C=="info"||C=="error"){this.AlertBtnOk=new Element("a",{id:"BoxAlertBtnOk","class":"btn",name:"BoxAlertBtnOk"});var E=document.createTextNode(B.textBoxBtnClose);this.AlertBtnOk.appendChild(E);this.AlertBtnOk.addEvent("click",function(){this.options.onReturn=true;this.display(0)}.bind(this));if(C=="alert"){this.clase="BoxAlert"}else{if(C=="error"){this.clase="BoxError"}else{if(C=="info"){this.clase="BoxInfo"}}}this.Content.setProperty("class",this.clase).set("html",D+"<br /><br /><br />");this.AlertBtnOk.injectInside(this.ContenedorBotones);this.ContenedorBotones.injectInside(this.Content);this.display(1)}else{if(C=="confirm"){this.ConfirmBtnOk=new Element("a",{id:"BoxConfirmBtnOk","class":"btn",name:"BoxConfirmBtnOk",styles:{"margin-right":"6px"}});var E=document.createTextNode(B.textBoxBtnOk);this.ConfirmBtnOk.appendChild(E);this.ConfirmBtnCancel=new Element("a",{id:"BoxConfirmBtnCancel","class":"btn",name:"BoxConfirmBtnCancel"});E=document.createTextNode(B.textBoxBtnCancel);this.ConfirmBtnCancel.appendChild(E);this.ConfirmBtnOk.addEvent("click",function(){this.options.onReturn=true;this.display(0)}.bind(this));this.ConfirmBtnCancel.addEvent("click",function(){this.options.onReturn=false;this.display(0)}.bind(this));this.Content.setProperty("class","BoxConfirm").set("html",D+"<br /><br /><br />");this.ConfirmBtnOk.injectInside(this.ContenedorBotones);this.ConfirmBtnCancel.injectInside(this.ContenedorBotones);this.ContenedorBotones.injectInside(this.Content);this.display(1)}else{if(C=="prompt"){this.PromptBtnOk=new Element("a",{id:"BoxPromptBtnOk","class":"btn",name:"BoxPromptBtnOk",styles:{"margin-right":"16px"}});var E=document.createTextNode(B.textBoxBtnOk);this.PromptBtnOk.appendChild(E);this.PromptBtnCancel=new Element("a",{id:"BoxPromptBtnCancel","class":"btn",name:"BoxPromptBtnCancel"});E=document.createTextNode(B.textBoxBtnCancel);this.PromptBtnCancel.appendChild(E);C=B.password?"password":"text";this.PromptInput=new Element("input",{id:"BoxPromptInput",type:C,value:A,"class":"champs",styles:{width:"250px"}});this.divclear=new Element("div",{"class":"clear",styles:{"margin-bottom":"16px"}});this.PromptBtnOk.addEvent("click",function(){this.options.onReturn=this.PromptInput.value;this.display(0)}.bind(this));this.PromptBtnCancel.addEvent("click",function(){this.options.onReturn=false;this.display(0)}.bind(this));this.Content.setProperty("class","BoxPrompt").set("html",D+"<br />");this.PromptInput.injectInside(this.Content);this.divclear.injectInside(this.Content);this.PromptBtnOk.injectInside(this.ContenedorBotones);this.PromptBtnCancel.injectInside(this.ContenedorBotones);this.ContenedorBotones.injectInside(this.Content);this.display(1)}else{this.options.onReturn=false;this.display(0)}}}});this.i++;if(this.i==1){this.callChain()}},alert:function(B,A){this.messageBox("alert",B,A)},info:function(B,A){this.messageBox("info",B,A)},error:function(B,A){this.messageBox("error",B,A)},confirm:function(B,A){this.messageBox("confirm",B,A)},prompt:function(C,A,B){this.messageBox("prompt",C,B,A)}});alertbox.implement(new Events,new Options);window.addEvent("domready",function(){myalert=new alertbox()});document.onkeypress=function(e){if(typeof(myalert)!='undefined'){var ev=window.event;if(window.event){key=window.event.keyCode;}else{key=e.which;}if((key==13||key==32)&&(typeof(myalert)!='undefined')){if(myalert.options.display==1){myalert.display(0);return false;}else{return true;}}}return true;}