var AlertWindow=new Class({Implements:[Events,Options],options:{startWidth:200,startHeight:50,minWidth:400,minHeight:75,resize:true,classStyle:false,elements:false,ignoreMessage:false,noMessage:false,containerCss:false,extraCss:false,modalPosition:"top",trigger_data:null},initialize:function(A){this.setOptions(A);var D=window.getScrollSize();this.overDiv=new Element("div",{id:"overlay","class":"window_overlay",styles:{opacity:0,width:D.x,height:D.y}}).injectInside(document.body);this.bgTween=new Fx.Morph(this.overDiv,{wait:false});this.eventPosition=this.position.bind(this);var C=this.options.elements||$$(this.options.classStyle||".alerts");C.each(function(E){var F=new Hash(JSON.decode(E.get("rel")));E.store("data",F);E.addEvent("click",this.click.pass(E,this))},this);if(this.options.trigger_data){this.fakeLink=new Element("a",{text:"trigger",href:"#",rel:this.options.trigger_data,id:"modalFakeTrigger"}).injectInside(document.body,"first");var B=new Hash(JSON.decode(this.options.trigger_data));this.fakeLink.store("data",B);this.fakeLink.addEvent("click",this.click.pass(this.fakeLink,this))}},add:function(A){var B=new Hash(JSON.decode(A.get("rel")));A.store("data",B);A.addEvent("click",this.click.pass(A,this))},closeAlert:function(){var A=this.elem.retrieve("data");if(A.content!=="ajax"&&!this.options.ignoreMessage){$(A.content).set({html:$("messageContainer").get("html")})}this.messageBox.dispose();this.overDiv.removeEvents();this.bgTween.start({opacity:0}).chain(function(){this.overDiv.setStyle("display","none")}.bind(this));if(Browser.Engine.trident4){this.showHideElements("visible")}this.fireEvent("onClose",this.elem)},position:function(D){var E=window.getSize();var A=window.getScroll();var C=E.y+A.y;var G=E.x+A.x;if(D){var I=$("overall")?$("overall").getSize():window.getScrollSize();this.overDiv.setStyles({height:I.y,width:I.x})}var H=this.messageBox.getSize();var B=((E.x-H.x)/2+A.x);var F=A.y;if(this.options.modalPosition!=="top"){F+=(E.y-H.y)/2}this.messageBox.morph({top:F.toInt(),left:B})},click:function(B){var A=$("overall")?$("overall").getSize():window.getScrollSize();this.overDiv.setStyles({width:A.x,height:A.y});this.elem=B;this.message(B);this.fireEvent("onStart",B);return false},showHideElements:function(A){$$("select").each(function(B){B.setStyle("visibility",A)})},message:function(A){if(Browser.Engine.trident4){this.showHideElements("hidden")}this.overDiv.setStyles({display:"block"});this.bgTween.start({opacity:0.8});window.addEvents({scroll:this.eventPosition.bind(this),resize:this.eventPosition.pass(true).bind(this)});this.messageBox=new Element("div",{id:"messageBox","class":"messageBoxContainer "+(this.options.extraCss||""),styles:{width:this.options.startWidth,height:this.options.startHeight,opacity:1,left:((window.getWidth()-this.options.startWidth)/2),top:-1000,overflow:"hidden"}}).injectInside(document.body);if(A){this.addMessage(A)}},addMessage:function(B){var D=B.retrieve("data");if(D.content=="ajax"){var A=new Request({url:B.get("href"),method:"get",data:{a:Math.random()},onRequest:function(){$("messageBox").addClass("messageLoading")},onComplete:function(E){$("messageBox").setStyle("background","#FFFFFF");this.injectMessage(E);this.resizeMessage()}.bind(this)}).send()}else{if(D.content=="frame"){var C='<iframe src="'+D.furl+'" frameborder="0" scrolling="no" width="'+D.width+'" height="'+D.height+'"></iframe>';this.injectMessage(C);this.resizeMessage()}else{if(!this.options.noMessage){this.injectMessage($(D.content).get("html"));$(D.content).empty();this.resizeMessage()}else{this.injectMessage("");this.resizeMessage()}}}},injectMessage:function(A){new Element("div",{id:"messageContainer","class":this.options.containerCss||"messageContainer",html:A}).injectInside($("messageBox"));this.fireEvent("onMessageReady",{link:this.elem,message:$("messageBox")})},resizeMessage:function(){this.messageMorph=new Fx.Morph(this.messageBox,{duration:200});this.messageBox.set("morph",{duration:200,wait:false,transition:"sine:out"});var D=$("messageContainer").getScrollSize();var C=window.getSize();var B=window.getScroll();var E=D.x<this.options.minWidth?this.options.minWidth:D.x;var A=D.y<this.options.minHeight?this.options.minHeight:D.y;if(E>C.x){E=C.x-40;$("messageContainer").setStyles({width:E,overflow:"scroll"})}if(A>C.y){A=C.y-80;$("messageContainer").setStyles({height:A-40,overflow:"scroll"})}var G=B.y;if(this.options.modalPosition!=="top"){G+=(C.y-A)/2}var F=(C.x-E)/2+B.x;this.messageMorph.start({width:E,height:A,top:G,left:F}).chain(function(){this.messageBox.setStyle("overflow","visible");var H=new Element("div",{"class":"closeBar"}).injectInside($("messageBox"));new Element("a",{"class":"closeBtn",events:{click:function(){this.closeAlert()}.bind(this)}}).injectInside(H);this.overDiv.addEvent("click",function(){this.closeAlert()}.bind(this));this.fireEvent("onComplete",{link:this.elem,message:$("messageBox")})}.bind(this))}});