var Modalizer=new Class({defaultModalStyle:{display:"block",position:"fixed",top:0,left:0,"z-index":5000,"background-color":"#333",opacity:0.8},setModalOptions:function(A){this.modalOptions=$merge({width:(window.getScrollSize().x+300),height:(window.getScrollSize().y+300),elementsToHide:"select",onModalHide:$empty,onModalShow:$empty,hideOnClick:true,modalStyle:{},updateOnResize:true},this.modalOptions,A);return this},toElement:function(){return $("modalOverlay")},resize:function(){if($("modalOverlay")){$("modalOverlay").setStyles({width:(window.getScrollSize().x+300),height:(window.getScrollSize().y+300)})}},setModalStyle:function(A){this.modalOptions.modalStyle=A;this.modalStyle=$merge(this.defaultModalStyle,{width:this.modalOptions.width,height:this.modalOptions.height},A);if($("modalOverlay")){$("modalOverlay").setStyles(this.modalStyle)}return(this.modalStyle)},modalShow:function(B){this.setModalOptions(B);var A=null;if($("modalOverlay")){A=$("modalOverlay")}if(!A){A=new Element("div",{id:"modalOverlay"}).inject(document.body)}A.setStyles(this.setModalStyle(this.modalOptions.modalStyle));if(Browser.Engine.trident4){A.setStyle("position","absolute")}$("modalOverlay").removeEvents("click").addEvent("click",function(){this.modalHide(this.modalOptions.hideOnClick)}.bind(this));this.bound=this.bound||{};if(!this.bound.resize&&this.modalOptions.updateOnResize){this.bound.resize=this.resize.bind(this);window.addEvent("resize",this.bound.resize)}if($type(this.modalOptions.onModalShow)=="function"){this.modalOptions.onModalShow()}this.togglePopThroughElements(0);A.setStyle("display","block");return this},modalHide:function(A){if(A===false){return false}this.togglePopThroughElements(1);if($type(this.modalOptions.onModalHide)=="function"){this.modalOptions.onModalHide()}if($("modalOverlay")){$("modalOverlay").setStyle("display","none")}if(this.modalOptions.updateOnResize){this.bound=this.bound||{};if(!this.bound.resize){this.bound.resize=this.resize.bind(this)}window.removeEvent("resize",this.bound.resize)}return this},togglePopThroughElements:function(A){if(Browser.Engine.trident4||(Browser.Engine.gecko&&Browser.Platform.mac)){$$(this.modalOptions.elementsToHide).each(function(B){B.setStyle("opacity",A)})}}});