var Modalizer=new Class({defaultModalStyle:{display:"block",position:"absolute",top:0,left:0,"z-index":5000,"background-color":"#333",opacity:0.8},setModalOptions:function(A){this.modalOptions=$merge({width:(window.getScrollSize().x),height:(window.getScrollSize().y),elementsToHide:"select",hideOnClick:true,modalStyle:{},updateOnResize:true,layerId:"modalOverlay",onModalHide:$empty,onModalShow:$empty},this.modalOptions,A);return this},toElement:function(){if(!this.modalOptions.layerId){this.setModalOptions()}return $(this.modalOptions.layerId)||new Element("div",{id:this.modalOptions.layerId}).inject(document.body)},resize:function(){if($(this)){$(this).setStyles({width:(window.getScrollSize().x),height:(window.getScrollSize().y)})}},setModalStyle:function(A){this.modalOptions.modalStyle=A;this.modalStyle=$merge(this.defaultModalStyle,{width:this.modalOptions.width,height:this.modalOptions.height},A);if($(this)){$(this).setStyles(this.modalStyle)}return(this.modalStyle)},modalShow:function(A){this.setModalOptions(A);$(this).setStyles(this.setModalStyle(this.modalOptions.modalStyle));$(this).removeEvents("click").addEvent("click",function(){this.modalHide(this.modalOptions.hideOnClick);this.fireEvent("onModalClick")}.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);$(this).setStyle("display","block");return this},modalHide:function(A,B){if(A===false){return false}this.togglePopThroughElements(1);if($type(this.modalOptions.onModalHide)=="function"){this.modalOptions.onModalHide()}$(this).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)})}}});