var SexyAlertBox=new Class({Implements:[Options,Chain],getOptions:function(){return{name:"SexyAlertBox",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(b){this.options.onReturnFunction(this.options.onReturn)}.bind(this)}},initialize:function(b){this.i=0;this.setOptions(this.getOptions(),b);this.Overlay=new Element("div",{id:"BoxOverlay",styles:{display:"none",position:"absolute",top:"0",left:"0",opacity:0,"z-index":this.options.zIndex,"background-color":this.options.OverlayStyles["background-color"],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);this.preloadImages();window.addEvent("resize",function(){if(this.options.display==1){this.Overlay.setStyles({height:window.getScrollHeight()+"px",width:window.getScrollWidth()+"px"});this.replaceBox()}}.bind(this));this.Box.addEvent("keydown",function(a){if(a.key=="esc"){this.options.onReturn=false;this.display(0)}}.bind(this));window.addEvent("scroll",this.replaceBox.bind(this))},preloadImages:function(){var b=new Array(2);b[0]=new Image();b[1]=new Image();b[2]=new Image();b[0].src=this.Box.getStyle("background-image").replace(new RegExp("url\\('?([^']*)'?\\)","gi"),"$1");b[1].src=this.InBox.getStyle("background-image").replace(new RegExp("url\\('?([^']*)'?\\)","gi"),"$1");b[2].src=this.Contenedor.getStyle("background-image").replace(new RegExp("url\\('?([^']*)'?\\)","gi"),"$1")},togFlashObjects:function(d){var e=new Array("embed","iframe","object");for(y=0;y<e.length;y++){var f=document.getElementsByTagName(e[y]);for(i=0;i<f.length;i++){f[i].style.visibility=d}}},display:function(b){if(this.Transition){this.Transition.cancel()}if(this.options.display==0&&b!=0||b==1){if(Browser.Engine.trident4){$$("select","object","embed").each(function(a){a.style.visibility="hidden"})}this.togFlashObjects("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(a){a.style.visibility="visible"})}this.togFlashObjects("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])}.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()});this.focusin.delay(this.options.moveDuration,this)}},focusin:function(){if($chk($("BoxAlertBtnOk"))){$("BoxAlertBtnOk").focus()}else{if($chk($("BoxPromptInput"))){$("BoxPromptInput").focus()}else{if($chk($("BoxConfirmBtnOk"))){$("BoxConfirmBtnOk").focus()}}}},queue:function(){this.i--;this.callChain()},messageBox:function(h,g,e,f){this.Overlay.setStyles({height:window.getScrollHeight()+"px",width:window.getScrollWidth()+"px"});this.chain(function(){e=$extend({textBoxBtnOk:"OK",textBoxBtnCancel:"Cancel",textBoxInputPrompt:null,password:false,onComplete:$empty},e||{});this.options.onReturnFunction=e.onComplete;this.ContenedorBotones=new Element("div",{id:this.options.name+"-Buttons"});if(h=="alert"||h=="info"||h=="error"){this.AlertBtnOk=new Element("input",{id:"BoxAlertBtnOk",type:"submit",value:e.textBoxBtnOk,styles:{width:"70px"}});this.AlertBtnOk.addEvent("click",function(){this.options.onReturn=true;this.display(0)}.bind(this));if(h=="alert"){this.clase="BoxAlert"}else{if(h=="error"){this.clase="BoxError"}else{if(h=="info"){this.clase="BoxInfo"}}}this.Content.setProperty("class",this.clase).set("html",g);this.AlertBtnOk.injectInside(this.ContenedorBotones);this.ContenedorBotones.injectInside(this.Content);this.display(1)}else{if(h=="wait"){this.clase="BoxWait";this.Content.setProperty("class",this.clase).set("html",g);this.ContenedorBotones.injectInside(this.Content);this.display(1)}else{if(h=="confirm"){this.ConfirmBtnOk=new Element("input",{id:"BoxConfirmBtnOk",type:"submit",value:e.textBoxBtnOk,styles:{"min-width":"70px"}});this.ConfirmBtnCancel=new Element("input",{id:"BoxConfirmBtnCancel",type:"submit",value:e.textBoxBtnCancel,styles:{"min-width":"70px"}});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",g);this.ConfirmBtnOk.injectInside(this.ContenedorBotones);this.ConfirmBtnCancel.injectInside(this.ContenedorBotones);this.ContenedorBotones.injectInside(this.Content);this.display(1)}else{if(h=="prompt"){this.PromptBtnOk=new Element("input",{id:"BoxPromptBtnOk",type:"submit",value:e.textBoxBtnOk,styles:{width:"70px"}});this.PromptBtnCancel=new Element("input",{id:"BoxPromptBtnCancel",type:"submit",value:e.textBoxBtnCancel,styles:{width:"70px"}});h=e.password?"password":"text";this.PromptInput=new Element("input",{id:"BoxPromptInput",type:h,value:f,styles:{width:"250px"}});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",g+"<br />");this.PromptInput.injectInside(this.Content);new Element("br").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(c,d){this.messageBox("alert",c,d)},wait:function(c,d){this.messageBox("wait",c,d)},info:function(c,d){this.messageBox("info",c,d)},error:function(c,d){this.messageBox("error",c,d)},confirm:function(c,d){this.messageBox("confirm",c,d)},prompt:function(f,e,d){this.messageBox("prompt",f,d,e)}});SexyAlertBox.implement(new Events,new Options);window.addEvent("domready",function(){Sexy=new SexyAlertBox()});