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(d){var b=this;this.setOptions(d);this.randguid=Math.floor(Math.random()*1000000000);if(d.position&&d.position.absolute){this.options.position=d.position;this.options.preventScrolling=false;this.toppos=null}if(this.options.preventScrolling){var h=$(document.body);this.bodyoverflow=h.getStyle("overflow");h.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};document.addEvent("keyup",function(i){if(i.key=="esc"){var j=($(i.target).tagName)?$(i.target).tagName.toLowerCase():"";if(j!="input"&&j!="textarea"){if(b.close){b.close()}return false}else{$(i.target).blur();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 a=$("blanket");if(a.boxes){a.boxes.push(this.randguid)}}else{var a=new Element("div",{id:"blanket","class":"modalblanket"});a.setStyle("opacity",0);if(this.options.blanketcolor){a.setStyle("background-color",this.options.blanketcolor)}a.inject(this.mymodalcontainer,"top");a.boxes=Array();a.boxes.push(this.randguid);if(this.options.fadein){var c=new Fx.Tween(a,{duration:200});c.start("opacity",this.options.blanketopacity);var f=$("page").getSize();a.setStyles({height:f.y+screen.height,width:"105%"})}else{a.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 e=new Fx.Tween(this.mymodalfront,{duration:200});var g=new Fx.Tween(this.mymodalshad,{duration:200});g.obj=this;e.start("opacity",1);g.start("opacity",b.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 c=false;if($("blanket")){var d=$("blanket");if(d.boxes){for(var b=0;ba.height){this.mymodalfront.setStyle("height",a.height-this.options.shadowwidth*2);this.bodypart.setStyle("height",a.height-this.options.shadowwidth*2-this.titlepart.getSize()["y"]-this.options.modalpadding*2);this.bodypart.setStyle("overflow","auto")}else{this.mymodal.setStyle("height",b)}this.mymodal.setStyle("width",modalwidth)}if(this.options.position.align){var d=this.options.position.align.element;var g=d.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 e=this.mymodal.getCoordinates();if(e.width>(a.width-g.right)){if(e.height>(a.height-(g.bottom-Window.getScrollTop()))){this.mymodal.setStyle("left",g.left-e.width+this.options.shadowwidth);this.mymodal.setStyle("top",g.bottom-e.height+this.options.shadowwidth)}else{this.mymodal.setStyle("left",g.left-e.width+this.options.shadowwidth);this.mymodal.setStyle("top",g.top+this.options.shadowwidth)}}else{if(e.height>(a.height-(g.top-Window.getScrollTop()))){this.mymodal.setStyle("left",g.right+this.options.shadowwidth);this.mymodal.setStyle("top",g.bottom-e.height)}else{this.mymodal.setStyle("left",g.right+this.options.shadowwidth);this.mymodal.setStyle("top",g.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))}});