if(!window.Modalbox)var Modalbox={};
Modalbox.Methods={overrideAlert:!1,focusableElements:[],currFocused:0,initialized:!1,active:!0,options:{title:"ModalBox Window",overlayClose:!0,width:500,height:90,overlayOpacity:.65,overlayDuration:.25,slideDownDuration:.5,slideUpDuration:.5,resizeDuration:.25,inactiveFade:!0,transitions:!0,loadingString:"Please wait. Loading...",closeString:"Close window",closeValue:"\x26times;",params:{},method:"get",autoFocusing:!0,aspnet:!1},_options:{},setOptions:function(a){Object.extend(this.options,a||{})},
_init:function(a){Object.extend(this._options,this.options);this.setOptions(a);this.MBoverlay=new Element("div",{id:"MB_overlay",opacity:"0"});this.MBwindow=(new Element("div",{id:"MB_window",style:"display: none"})).update(this.MBframe=(new Element("div",{id:"MB_frame"})).update(this.MBheader=(new Element("div",{id:"MB_header"})).update(this.MBcaption=new Element("div",{id:"MB_caption"}))));this.MBclose=(new Element("a",{id:"MB_close",title:this.options.closeString,href:"#"})).update("\x3cspan\x3e"+
this.options.closeValue+"\x3c/span\x3e");this.MBheader.insert({bottom:this.MBclose});this.MBcontent=(new Element("div",{id:"MB_content"})).update(this.MBloading=(new Element("div",{id:"MB_loading"})).update(this.options.loadingString));this.MBframe.insert({bottom:this.MBcontent});a=this.options.aspnet?$(document.body).down("form"):$(document.body);a.insert({top:this.MBwindow});a.insert({top:this.MBoverlay});this.initScrollX=window.pageXOffset||document.body.scrollLeft||document.documentElement.scrollLeft;
this.initScrollY=window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop;this.hideObserver=this._hide.bindAsEventListener(this);this.kbdObserver=this._kbdHandler.bindAsEventListener(this);this._initObservers();this.initialized=!0},show:function(a,b){this.initialized||this._init(b);this.content=a;this.setOptions(b);this.options.title?$(this.MBcaption).update(this.options.title):($(this.MBheader).hide(),$(this.MBcaption).hide());"none"==this.MBwindow.style.display?(this._appear(),
this.event("onShow")):(this._update(),this.event("onUpdate"))},hide:function(a){if(this.initialized)a&&"function"!=typeof a.element&&Object.extend(this.options,a),this.event("beforeHide"),this.options.transitions?Effect.SlideUp(this.MBwindow,{duration:this.options.slideUpDuration,transition:Effect.Transitions.sinoidal,afterFinish:this._deinit.bind(this)}):($(this.MBwindow).hide(),this._deinit());else throw"Modalbox is not initialized.";},_hide:function(a){a.stop();if("MB_overlay"==a.element().id&&
!this.options.overlayClose)return!1;this.hide()},alert:function(a){Modalbox.show('\x3cdiv class\x3d"MB_alert"\x3e\x3cp\x3e'+a+'\x3c/p\x3e\x3cinput type\x3d"button" onclick\x3d"Modalbox.hide()" value\x3d"OK" /\x3e\x3c/div\x3e',{title:"Alert: "+document.title,width:300})},_appear:function(){Prototype.Browser.IE&&!navigator.appVersion.match(/\b7.0\b/)&&(window.scrollTo(0,0),this._prepareIE("100%","hidden"));this._setWidth();this._setPosition();this.options.transitions?($(this.MBoverlay).setStyle({opacity:0}),
new Effect.Fade(this.MBoverlay,{from:0,to:this.options.overlayOpacity,duration:this.options.overlayDuration,afterFinish:function(){new Effect.SlideDown(this.MBwindow,{duration:this.options.slideDownDuration,transition:Effect.Transitions.sinoidal,afterFinish:function(){this._setPosition();this.loadContent()}.bind(this)})}.bind(this)})):($(this.MBoverlay).setStyle({opacity:this.options.overlayOpacity}),$(this.MBwindow).show(),this._setPosition(),this.loadContent());this._setWidthAndPosition=this._setWidthAndPosition.bindAsEventListener(this);
Event.observe(window,"resize",this._setWidthAndPosition)},resize:function(a,b,c){var d=$(this.MBwindow).getHeight(),g=$(this.MBwindow).getWidth(),e=$(this.MBheader).getHeight(),f=$(this.MBcontent).getHeight();b=d-e+b<f?f+e-d:b;c&&this.setOptions(c);this.options.transitions?new Effect.ScaleBy(this.MBwindow,a,b,{duration:this.options.resizeDuration,afterFinish:function(){this.event("_afterResize");this.event("afterResize")}.bind(this)}):(this.MBwindow.setStyle({width:g+a+"px",height:d+b+"px"}),setTimeout(function(){this.event("_afterResize");
this.event("afterResize")}.bind(this),1))},resizeToContent:function(a){var b=this.options.height-this.MBwindow.offsetHeight;0!=b&&(a&&this.setOptions(a),Modalbox.resize(0,b))},resizeToInclude:function(a,b){a=$(a);a=a.getHeight()+parseInt(a.getStyle("margin-top"))+parseInt(a.getStyle("margin-bottom"))+parseInt(a.getStyle("border-top-width"))+parseInt(a.getStyle("border-bottom-width"));0<a&&(b&&this.setOptions(b),Modalbox.resize(0,a))},_update:function(){$(this.MBcontent).update("");this.MBcontent.appendChild(this.MBloading);
$(this.MBloading).update(this.options.loadingString);this.currentDims=[this.MBwindow.offsetWidth,this.MBwindow.offsetHeight];Modalbox.resize(this.options.width-this.currentDims[0],this.options.height-this.currentDims[1],{_afterResize:this._loadAfterResize.bind(this)})},loadContent:function(){if(0!=this.event("beforeLoad"))if("string"==typeof this.content)(new RegExp(/<\/?[^>]+>/gi)).test(this.content)?(this._insertContent(this.content.stripScripts()),this._putContent(function(){this.content.extractScripts().map(function(a){return eval(a.replace("\x3c!--",
"").replace("// --\x3e",""))}.bind(window))}.bind(this))):new Ajax.Request(this.content,{method:this.options.method.toLowerCase(),parameters:this.options.params,onSuccess:function(a){var b=new String(a.responseText);this._insertContent(a.responseText.stripScripts());this._putContent(function(){b.extractScripts().map(function(c){return eval(c.replace("\x3c!--","").replace("// --\x3e",""))}.bind(window))})}.bind(this),onException:function(a,b){Modalbox.hide();throw"Modalbox Loading Error: "+b;}});else if("object"==
typeof this.content)this._insertContent(this.content),this._putContent();else throw Modalbox.hide(),"Modalbox Parameters Error: Please specify correct URL or HTML element (plain HTML or object)";},_insertContent:function(a){$(this.MBcontent).hide().update("");if("string"==typeof a)setTimeout(function(){this.MBcontent.update(a)}.bind(this),1);else if("object"==typeof a){var b=a.cloneNode(!0);a.id&&(a.id="MB_"+a.id);$(a).select("*[id]").each(function(c){c.id="MB_"+c.id});this.MBcontent.appendChild(b);
this.MBcontent.down().show();Prototype.Browser.IE&&$$("#MB_content select").invoke("setStyle",{visibility:""})}},_putContent:function(a){this.options.height==this._options.height?setTimeout(function(){Modalbox.resize(0,$(this.MBcontent).getHeight()-$(this.MBwindow).getHeight()+$(this.MBheader).getHeight(),{afterResize:function(){this.MBcontent.show().makePositioned();this.focusableElements=this._findFocusableElements();this._setFocus();setTimeout(function(){void 0!=a&&a();this.event("afterLoad")}.bind(this),
1)}.bind(this)})}.bind(this),1):(this._setWidth(),this.MBcontent.setStyle({overflow:"auto",height:$(this.MBwindow).getHeight()-$(this.MBheader).getHeight()-13+"px"}),this.MBcontent.show(),this.focusableElements=this._findFocusableElements(),this._setFocus(),setTimeout(function(){void 0!=a&&a();this.event("afterLoad")}.bind(this),1))},activate:function(a){this.setOptions(a);this.active=!0;$(this.MBclose).observe("click",this.hideObserver);this.options.overlayClose&&$(this.MBoverlay).observe("click",
this.hideObserver);$(this.MBclose).show();this.options.transitions&&this.options.inactiveFade&&new Effect.Appear(this.MBwindow,{duration:this.options.slideUpDuration})},deactivate:function(a){this.setOptions(a);this.active=!1;$(this.MBclose).stopObserving("click",this.hideObserver);this.options.overlayClose&&$(this.MBoverlay).stopObserving("click",this.hideObserver);$(this.MBclose).hide();this.options.transitions&&this.options.inactiveFade&&new Effect.Fade(this.MBwindow,{duration:this.options.slideUpDuration,
to:.75})},_initObservers:function(){$(this.MBclose).observe("click",this.hideObserver);this.options.overlayClose&&$(this.MBoverlay).observe("click",this.hideObserver);Prototype.Browser.IE?Event.observe(document,"keydown",this.kbdObserver):Event.observe(document,"keypress",this.kbdObserver)},_removeObservers:function(){$(this.MBclose).stopObserving("click",this.hideObserver);this.options.overlayClose&&$(this.MBoverlay).stopObserving("click",this.hideObserver);Prototype.Browser.IE?Event.stopObserving(document,
"keydown",this.kbdObserver):Event.stopObserving(document,"keypress",this.kbdObserver)},_loadAfterResize:function(){this._setWidth();this._setPosition();this.loadContent()},_setFocus:function(){if(0<this.focusableElements.length&&1==this.options.autoFocusing){var a=this.focusableElements.find(function(b){return 1==b.tabIndex})||this.focusableElements.first();this.currFocused=this.focusableElements.toArray().indexOf(a);a.focus()}else $(this.MBclose).visible()&&$(this.MBclose).focus()},_findFocusableElements:function(){this.MBcontent.select("input:not([type~\x3dhidden]), select, textarea, button, a[href]").invoke("addClassName",
"MB_focusable");return this.MBcontent.select(".MB_focusable")},_kbdHandler:function(a){var b=a.element();switch(a.keyCode){case Event.KEY_TAB:a.stop();b!=this.focusableElements[this.currFocused]&&(this.currFocused=this.focusableElements.toArray().indexOf(b));a.shiftKey?0==this.currFocused?(this.focusableElements.last().focus(),this.currFocused=this.focusableElements.length-1):(this.currFocused--,this.focusableElements[this.currFocused].focus()):this.currFocused==this.focusableElements.length-1?(this.focusableElements.first().focus(),
this.currFocused=0):(this.currFocused++,this.focusableElements[this.currFocused].focus());break;case Event.KEY_ESC:this.active&&this._hide(a);break;case 32:this._preventScroll(a);break;case 0:32==a.which&&this._preventScroll(a);break;case Event.KEY_UP:case Event.KEY_DOWN:case Event.KEY_PAGEDOWN:case Event.KEY_PAGEUP:case Event.KEY_HOME:case Event.KEY_END:Prototype.Browser.WebKit&&!["textarea","select"].include(b.tagName.toLowerCase())?a.stop():("input"==b.tagName.toLowerCase()&&["submit","button"].include(b.type)||
"a"==b.tagName.toLowerCase())&&a.stop()}},_preventScroll:function(a){["input","textarea","select","button"].include(a.element().tagName.toLowerCase())||a.stop()},_deinit:function(){this._removeObservers();Event.stopObserving(window,"resize",this._setWidthAndPosition);this.options.transitions?Effect.toggle(this.MBoverlay,"appear",{duration:this.options.overlayDuration,afterFinish:this._removeElements.bind(this)}):(this.MBoverlay.hide(),this._removeElements());$(this.MBcontent).setStyle({overflow:"",
height:""})},_removeElements:function(){$(this.MBoverlay).remove();$(this.MBwindow).remove();Prototype.Browser.IE&&!navigator.appVersion.match(/\b7.0\b/)&&(this._prepareIE("",""),window.scrollTo(this.initScrollX,this.initScrollY));"object"==typeof this.content&&(this.content.id&&this.content.id.match(/MB_/)&&(this.content.id=this.content.id.replace(/MB_/,"")),this.content.select("*[id]").each(function(a){a.id=a.id.replace(/MB_/,"")}));this.initialized=!1;this.event("afterHide");this.setOptions(this._options)},
_setWidth:function(){$(this.MBwindow).setStyle({width:this.options.width+"px",height:this.options.height+"px"})},_setPosition:function(){$(this.MBwindow).setStyle({left:Math.round((Element.getWidth(document.body)-Element.getWidth(this.MBwindow))/2)+"px"})},_setWidthAndPosition:function(){$(this.MBwindow).setStyle({width:this.options.width+"px"});this._setPosition()},_getScrollTop:function(){if(document.documentElement&&document.documentElement.scrollTop)var a=document.documentElement.scrollTop;else document.body&&
(a=document.body.scrollTop);return a},_prepareIE:function(a,b){$$("html, body").invoke("setStyle",{width:a,height:a,overflow:b});$$("select").invoke("setStyle",{visibility:b})},event:function(a){if(this.options[a]){var b=this.options[a]();this.options[a]=null;if(void 0!=b)return b}return!0}};Object.extend(Modalbox,Modalbox.Methods);Modalbox.overrideAlert&&(window.alert=Modalbox.alert);
document.observe("dom:loaded",function(){Effect.ScaleBy=Class.create();Object.extend(Object.extend(Effect.ScaleBy.prototype,Effect.Base.prototype),{initialize:function(a,b,c,d){this.element=$(a);d=Object.extend({scaleFromTop:!0,scaleMode:"box",scaleByWidth:b,scaleByHeight:c},d||{});this.start(d)},setup:function(){this.elementPositioning=this.element.getStyle("position");this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;this.dims=null;"box"==this.options.scaleMode&&
(this.dims=[this.element.offsetHeight,this.element.offsetWidth]);/^content/.test(this.options.scaleMode)&&(this.dims=[this.element.scrollHeight,this.element.scrollWidth]);this.dims||(this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth]);this.deltaY=this.options.scaleByHeight;this.deltaX=this.options.scaleByWidth},update:function(a){var b=this.dims[0]+this.deltaY*a;a=this.dims[1]+this.deltaX*a;this.setDimensions(0<b?b:0,0<a?a:0)},setDimensions:function(a,b){var c=
{};c.width=b+"px";c.height=a+"px";a=Math.round((a-this.dims[0])/2);b=Math.round((b-this.dims[1])/2);"absolute"==this.elementPositioning||"fixed"==this.elementPositioning?(this.options.scaleFromTop||(c.top=this.originalTop-a+"px"),c.left=this.originalLeft-b+"px"):(this.options.scaleFromTop||(c.top=-a+"px"),c.left=-b+"px");this.element.setStyle(c)}})});