var Modalbox=new Class({Implements:[Options,Events],options:{customclass:"ig-modaltype-default",width:null,height:null,position:{absolute:{}},title:"",showtitle:true,closetext:window.translations["media-js-Close"],top:0,left:0,zindex:null,modalpadding:10,adopt:null,adoptclone:null,ismodal:true,draggable:false,fadein:true,fadeout:true,blanketcolor:"#000",blanketopacity:0.6,shadowcolor:"#000000",shadowopacity:0.7,shadowwidth:4,defaultfocus:null,preventScrolling:false,onOpen:Class.empty,onClose:Class.empty,onBeforeClose:Class.empty,onAdopt:Class.empty,onBeforeAdopt:Class.empty,onSetContents:Class.empty,onBeforeSetContents:Class.empty,onAdoptClone:Class.empty,onBeforeAdoptClone:Class.empty,onBeforeDrag:Class.empty,onStartDrag:Class.empty,onDrag:Class.empty,onDragComplete:Class.empty},initialize:function(p){var j=this;this.setOptions(p);this.randguid=Math.floor(Math.random()*1000000000);if(p.position&&p.position.absolute){this.options.position=p.position;this.options.preventScrolling=false;this.toppos=null}if(this.options.preventScrolling){var l=$(document.body);this.bodyoverflow=l.getStyle("overflow");l.setStyle("overflow","hidden")}if(!$("mymodalcontainer")){this.mymodalcontainer=new Element("div",{id:"mymodalcontainer"});this.mymodalcontainer.inject(document.body,"bottom")}else{this.mymodalcontainer=$("mymodalcontainer")}this.mymodal=new Element("div",{id:this.randguid+"mymodal","class":"modalcontainer"});this.mymodal.inject(this.mymodalcontainer,"bottom");if(this.options.zindex){this.mymodal.setStyle("z-index",this.options.zindex)}this.mymodal.modalobj=this;this.mymodalfront=new Element("div",{id:this.randguid+"mymodalfront","class":"modalfront"});if(this.options.width){this.mymodalfront.setStyle("width",this.options.width)}if(this.options.height){this.mymodalfront.setStyle("height",this.options.height)}this.mymodalfront.addClass(this.options.customclass);this.mymodalfront.setStyle("opacity",0);this.mymodalfront.inject(this.mymodal,"top");this.mymodalshad=new Element("div",{id:this.randguid+"mymodalshad","class":"modalshadow"});this.mymodalshad.inject(this.mymodal,"top");this.mymodalshad.setStyle("opacity",0);if(this.options.shadowcolor){this.mymodalshad.setStyle("background-color",this.options.shadowcolor)}if(this.options.showtitle){this.titlepart=new Element("div",{id:this.randguid+"titlepart","class":"modaltitle"});this.titlemessage=new Element("h1",{id:this.randguid+"titlemessage","class":"heading2"});this.titlemessage.injectInside(this.titlepart);this.titlemessagespan=new Element("span",{id:this.randguid+"title"}).set("html",this.options.title);this.titlemessagespan.injectInside(this.titlemessage);this.closebuttonspan=new Element("span",{"class":"meta"});this.closebuttonspan.injectInside(this.titlemessage);this.closebutton=new Element("a",{id:this.randguid+"closebutton","class":"closebutton"}).set("html",this.options.closetext);this.closebutton.injectInside(this.closebuttonspan);this.titlepart.injectInside(this.mymodalfront);this.closebutton.mymodaltarget=this;this.closebutton.onclick=function(){this.mymodaltarget.close();return false}}this.bodypart=new Element("div",{id:this.randguid+"bodypart","class":"modalbody"});this.bodypart.inject(this.mymodalfront,"bottom");if(typeof(this.options.modalpadding)!="undefined"){}if(this.options.ismodal){if($("blanket")){var k=$("blanket");if(k.boxes){k.boxes.push(this.randguid)}}else{var k=new Element("div",{id:"blanket","class":"modalblanket"});k.setStyle("opacity",0);if(this.options.blanketcolor){k.setStyle("background-color",this.options.blanketcolor)}k.inject(this.mymodalcontainer,"top");k.boxes=Array();k.boxes.push(this.randguid);if(this.options.fadein){var i=new Fx.Tween(k,{duration:200});i.start("opacity",this.options.blanketopacity);var n=$("page").getSize();k.setStyles({height:n.y+screen.height,width:"105%"})}else{k.setStyle("opacity",1)}}if(Browser.Engine.name=="trident"&&Browser.Engine.version<7){this.iframeshim=new Element("iframe",{src:"javascript:;",frameborder:"0",scrolling:"0"});this.iframeshim.setStyles({"z-index":"500",position:"absolute",left:"0",top:"0",width:"100%",filter:"progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)",height:screen.height});this.iframeshim.inject(this.mymodalcontainer,"top")}}if(this.options.fadein){var o=new Fx.Tween(this.mymodalfront,{duration:200});var m=new Fx.Tween(this.mymodalshad,{duration:200});m.obj=this;o.start("opacity",1);m.start("opacity",j.options.shadowopacity).chain(function(){if(this.obj.options.defaultfocus){if(this.obj.bodypart.getElement(this.obj.options.defaultfocus)){this.obj.bodypart.getElement(this.obj.options.defaultfocus).select()}}})}else{this.mymodalfront.setStyle("opacity",1);this.mymodalshad.setStyle("opacity",this.options.blanketopacity)}if(this.options.draggable){if(this.options.showtitle){this.mymodal.makeDraggable({handle:this.titlepart});this.titlepart.setStyle("cursor","move")}else{this.mymodal.makeDraggable({handle:this.mymodal});this.mymodal.setStyle("cursor","move")}}if(this.options.adoptclone){this.adoptclone(this.options.adoptclone)}if(this.options.adopt){this.adopt(this.options.adopt)}this.adjustposition();window.thismodal=this;this.fireEvent("onOpen")},close:function(){if(Browser.Engine.name=="trident"&&Browser.Engine.version<7){if(this.iframeshim&&this.iframeshim.dispose){this.iframeshim.dispose()}}this.fireEvent("onBeforeClose");var f=false;if($("blanket")){var e=$("blanket");if(e.boxes){for(var g=0;g<e.boxes.length;g++){if(e.boxes[g]==this.randguid){e.boxes.splice(g,1)}}if(e.boxes.length==0){f=true}}}if(this.options.fadeout){this.fadefxfront=new Fx.Tween(this.mymodalfront,{duration:200});this.fadefxshad=new Fx.Tween(this.mymodalshad,{duration:200});this.fadefxshad.obj=this;if($("blanket")){if(f){var h=new Fx.Tween($("blanket"),{duration:200});h.start("opacity",0)}}this.fadefxfront.start("opacity",0);this.fadefxshad.start("opacity",0).chain(function(){if(!this.obj.isclone){if(this.obj.options.adopt){this.obj.mymodalcontainer.adopt(this.obj.options.adopt);this.obj.options.adopt.addClass("hide")}}if($(this.obj.randguid+"mymodal")){$(this.obj.randguid+"mymodal").destroy()}if($("blanket")&&f){$("blanket").destroy();var a=$$("div.ig-form-validation-popup-modal");if(a){a.destroy()}var b=$$("div.js-selectedicon");if(b){b.setStyle("background-color","Transparent")}}});this.fireEvent("onClose")}else{if(!this.isclone){this.options.adopt.inject(this.mymodalcontainer,"top");this.options.adopt.addClass("hide")}if($(this.randguid+"mymodal")){$(this.randguid+"mymodal").destroy()}if($("blanket")&&f){$("blanket").destroy()}this.fireEvent("onClose")}if(this.options.preventScrolling){$(document.body).setStyle("overflow",this.bodyoverflow)}window.removeEvents("keyup")},setcontents:function(b){this.fireEvent("onBeforeSetContents");this.bodypart.innerHTML=b;this.adjustposition();this.fireEvent("setContents")},settitle:function(b){this.titlemessagespan.set("html",b)},adopt:function(b){b=$(b);this.isclone=false;b.removeClass("hide");this.fireEvent("onBeforeAdopt");this.bodypart.empty();this.bodypart.adopt(b);this.adjustposition();this.fireEvent("onAdopt")},adoptclone:function(p){p=$(p);this.isclone=true;this.fireEvent("onBeforeAdoptClone");var l=p;var m=l.clone();m.removeClass("hide");if(l.id){m.id=this.randguid+l.id}var n=l.getElementsByTagName("*");var r=m.getElementsByTagName("*");for(var o=0;o<n.length;o++){if(n[o].id){var k=n[o].id;r[o].id=this.randguid+k}if(n[o].attributes.getNamedItem("for")){var i=n[o].attributes.getNamedItem("for").value;var q=document.createAttribute("for");q.value=this.randguid+i;r[o].attributes.setNamedItem(q)}r[o].onclick=n[o].onclick;r[o].onmouseover=n[o].onmouseover;r[o].onmouseout=n[o].onmouseout;r[o].onfocus=n[o].onfocus;r[o].onsubmit=n[o].onsubmit;r[o].onblur=n[o].onblur;r[o].onkeyup=n[o].onkeyup;r[o].className=n[o].className;r[o].dataobj=n[o].dataobj;if(r[o].isvalid){r[o].isvalid.length=0}}m.inject(this.bodypart,"top");if(typeof(applyvalidators)=="function"){applyvalidators(m)}if(typeof(applyformvalidation)=="function"){applyformvalidation(m)}if(typeof(jstrimspace)=="function"){jstrimspace()}this.adjustposition();this.fireEvent("onAdoptClone")},adjustposition:function(){var l={width:Window.getWidth(),height:Window.getHeight(),top:Window.getScrollTop(),left:Window.getScrollLeft(),right:Window.getScrollLeft()+Window.getWidth(),bottom:Window.getScrollTop()+Window.getHeight()};if(this.options.height){l.height=this.options.height}if(this.options.position.absolute){this.mymodal.setStyle("position","absolute");this.mymodal.setStyle("left",(Window.getWidth()/2)+"px");this.mymodal.setStyle("margin-left","-"+(this.mymodalfront.getSize()["x"]/2)+"px");var k=this.mymodalfront.getSize()["y"];var n=Window.getHeight();var j=Window.getScrollTop();if(this.options.position.absolute.top){j+=this.options.position.absolute.top}else{if(k<n){j+=(Math.floor(n/2)-Math.floor(k/2))}else{j+=60}}this.toppos=j;this.mymodal.setStyle("top",this.toppos);this.mymodal.setStyle("width",(this.mymodalfront.getSize()["x"]+this.options.shadowwidth));modalwidth=(this.mymodalfront.getSize()["x"]+this.options.shadowwidth);this.mymodal.setStyle("width",modalwidth)}if(this.options.position.screen){this.mymodal.setStyle("left",(Math.floor(Window.getWidth()/2)-(this.mymodalfront.getSize()["x"]/2)));var j=(Math.floor(Window.getHeight()/2)-(this.mymodalfront.getSize()["y"]/2));this.mymodal.setStyle("top",j<=this.options.shadowwidth?this.options.shadowwidth:j);this.mymodal.setStyle("width",(this.mymodalfront.getSize()["x"]+this.options.shadowwidth));k=(this.mymodalfront.getSize()["y"]+this.options.shadowwidth);modalwidth=(this.mymodalfront.getSize()["x"]+this.options.shadowwidth);if(k>l.height){this.mymodalfront.setStyle("height",l.height-this.options.shadowwidth*2);this.bodypart.setStyle("height",l.height-this.options.shadowwidth*2-this.titlepart.getSize()["y"]-this.options.modalpadding*2);this.bodypart.setStyle("overflow","auto")}else{this.mymodal.setStyle("height",k)}this.mymodal.setStyle("width",modalwidth)}if(this.options.position.align){var i=this.options.position.align.element;var m=i.getCoordinates();this.mymodal.setStyle("position","absolute");this.mymodal.setStyle("width",(this.mymodalfront.getSize()["x"]+this.options.shadowwidth));this.mymodal.setStyle("height",(this.mymodalfront.getSize()["y"]+this.options.shadowwidth));var h=this.mymodal.getCoordinates();if(h.width>(l.width-m.right)){if(h.height>(l.height-(m.bottom-Window.getScrollTop()))){this.mymodal.setStyle("left",m.left-h.width+this.options.shadowwidth);this.mymodal.setStyle("top",m.bottom-h.height+this.options.shadowwidth)}else{this.mymodal.setStyle("left",m.left-h.width+this.options.shadowwidth);this.mymodal.setStyle("top",m.top+this.options.shadowwidth)}}else{if(h.height>(l.height-(m.top-Window.getScrollTop()))){this.mymodal.setStyle("left",m.right+this.options.shadowwidth);this.mymodal.setStyle("top",m.bottom-h.height)}else{this.mymodal.setStyle("left",m.right+this.options.shadowwidth);this.mymodal.setStyle("top",m.top+this.options.shadowwidth)}}}this.mymodalshad.setStyle("width",(this.mymodalfront.getSize()["x"])+(this.options.shadowwidth*2));this.mymodalshad.setStyle("height",(this.mymodalfront.getSize()["y"])+(this.options.shadowwidth*2));this.mymodalshad.setStyle("top",(this.options.shadowwidth*-1));this.mymodalshad.setStyle("left",(this.options.shadowwidth*-1))}});
