if("undefined"===typeof Gangta||!Gangta)var Gangta={version:"1.0.0"};
Gangta.UI=Gangta.UI||{elementExtends:{disableHighlighting:function(a){a=$(a);a.onselectstart=function(){return!1};a.onmousedown=function(){return!1};return a},enableHighlighting:function(a){a=$(a);a.onselectstart=function(){return!0};a.onmousedown=function(){return!0};return a},addTooltip:function(a,b,c){a=$(a);a.setAttribute("title","header=["+b+"] body=["+c+"]");return a},confirmChoice:function(a){$(a).observe("click",function(a){confirmChoice()||Event.stop(a)})},hasPlaceholderText:function(a,b){b||
(b=a.defaultValue);$(a).observe("focus",function(){this.defaultValue===b&&this.defaultValue===this.value&&(this.value="")}.bindAsEventListener(a));$(a).observe("blur",function(){""===this.value&&(this.value=this.defaultValue)}.bindAsEventListener(a))}}};Element.addMethods(Gangta.UI.elementExtends);
Gangta.Page=Gangta.Page||{loadJS:function(a){var b=document.createElement("script");b.src=a;b.type="text/javascript";document.body.appendChild(b)},loadCSS:function(){},redirect:function(a){"self"==a&&(a=get_file_name());-1==a.indexOf("http://")&&(a=web_root+a);self.location=a}};Gangta.Controller=Class.create({initialize:function(){new Notifier(3E5);document.observe("state:idle",this.notifierOnIdle.bind(this)).observe("state:active",this.notifierOnActive.bind(this))},notifierOnIdle:function(){},notifierOnActive:function(){}});
function toggle_news_button(){var a=$("news-button");a.hasClassName("flash")?a.removeClassName("flash"):a.addClassName("flash")}function toggle_message_button(){var a=$("message-button");a.hasClassName("flash")?a.removeClassName("flash"):a.addClassName("flash")}function toggle_posts_button(){var a=$("posts-button");a.hasClassName("flash")?a.removeClassName("flash"):a.addClassName("flash")}function nav_on(a){a.setAttribute("defColour",a.style.backgroundColor);a.style.backgroundColor="#666666"}
function nav_off(a){a.style.backgroundColor=a.getAttribute("defColour")}var checkflag=!1;function check(a){if(!1==checkflag){for(var b=0,c=a.length;b<c;++b)a[b].checked=!0;checkflag=!0;return"Uncheck All"}b=0;for(c=a.length;b<c;++b)a[b].checked=!1;checkflag=!1;return"Check All"}function confirmChoice(){return confirm("Are you sure?")?!0:!1}function checkBox(a){return 0==a?(alert("Choose from the list"),!1):!0}
function showhide(a,b){for(var c=0,d=b.length;c<d;c++)obj=$("id"+b[c]),obj.style.display="none";"0"!=a&&(obj=$("id"+a),obj.style.display="block")}function commas(a){a=""+a;if(3<a.length){for(var b=a.length%3,c=0<b?a.substring(0,b):"",d=0,e=Math.floor(a.length/3);d<e;d++)c=0==b&&0==d?c+a.substring(b+3*d,b+3*d+3):c+(","+a.substring(b+3*d,b+3*d+3));return c}return a}function stripslashes(a){a=a.replace(/\\'/g,"'");a=a.replace(/\\"/g,'"');a=a.replace(/\\\\/g,"\\");return a=a.replace(/\\0/g,"\x00")}
function StartTimer(){setTimeout("UpdateTimer()",1024);resetmin=5;resetsec=0;0>min&&(min=resetmin,sec=resetsec);temp=10>sec?"0":"";$("idTimer").innerHTML='<span id="idMin" style="font-weight: normal;font-size: 11px">'+min+'</span> min(s) <span id="idSec" style="font-weight: bold;font-size: 11px">'+temp+sec+"</span> sec"}var t_red=255,t_green=255,t_blue=255;
function UpdateTimer(){setTimeout("UpdateTimer()",1024);sec--;0==min&&0==sec&&(min=resetmin,sec=resetsec,$("idTimer").style.color="rgb(255,255,255)",t_blue=t_green=t_red=255);0>sec&&(sec=59,min--);$("idMin").innerHTML=min;$("idSec").innerHTML=(10>sec?"0":"")+sec;0==min&&10>=sec&&(5>sec&&(t_red-=5),t_green-=4<sec?25:7,t_blue-=4<sec?25:7,$("idTimer").style.color="rgb("+t_red+","+t_green+","+t_blue+")")}
function gMSG_request(a,b){var c=new PBBG.Message;new Ajax.Request(a+"?"+b,{method:"get",onSuccess:function(a){console.log(c);c.show(a.responseText)},onFailure:function(){c.show("Failed to send request to server.")},onLoading:function(){c.loading()}})}function gta_ajax(a,b){new Ajax.Request(a,{method:b,onSuccess:function(a){MSG_onComplete(a)},onFailure:function(){MSG_onFailure()},onLoading:function(){MSG_onLoading()}})}function gta_get_ajax(a){gta_ajax(a,"get")}
function MSG_show(a){$("gMsg").innerHTML=a;$("gMsg").style.display="block";setTimeout("$('gMsg').fade();",3E3)}function MSG_onComplete(a){"undefined"!=typeof a&&(a=new PBBG.Request(a.responseText),MSG_show(a.getParam("message")))}function get_response(a){if(-1==a.indexOf("#sep#"))return a;for(var b=[],a=a.split("#sep#"),c=0,d=a.length;c<d;++c){var e=a[c].split(":val:");""!=e[1]&&(b[e[0]]=e[1])}return b}
function MSG_onFailure(){alert("Something went wrong.  Try again, if the problem persists contact a member of staff.")}
function MSG_onLoading(){$("gMsg").innerHTML="";$("gMsg").style.display="block";var a=document.createElement("div");a.className="page_msg_container";a.style.backgroundColor="#353535";a.style.backgroundImage="url(images/icons/loading.gif)";a.style.backgroundRepeat="no-repeat";a.style.backgroundPosition="3px 3px";var b=document.createElement("div");b.className="page_msg_inner1";var c=document.createElement("div");c.className="page_msg_inner2";var d=document.createElement("span");d.className="var";d.innerHTML=
"Loading...";var e=document.createElement("div");e.clear="both";c.appendChild(d);c.appendChild(e);b.appendChild(c);a.appendChild(b);$("gMsg").appendChild(a)}function print_r(a){if(a.constructor==Array||a.constructor==Object){document.write("<ul>");for(var b in a)a[b].constructor==Array||a[b].constructor==Object?(document.write("<li>["+b+"] => "+typeof a+"</li>"),document.write("<ul>"),print_r(a[b]),document.write("</ul>")):document.write("<li>["+b+"] => "+a[b]+"</li>");document.write("</ul>")}}
function get_file_name(){var a=document.location.href,b=-1==a.indexOf("?")?a.length:a.indexOf("?");return a.substring(a.lastIndexOf("/")+1,b)}function rd(a){"self"==a&&(a=get_file_name());-1==a.indexOf("http://")&&(a=web_root+a);self.location=a;return!0}function textarea_counter(a,b,c){var d=a.value.length-(a.value.length-a.value.replace("\r\n","").length);d>c?a.value=a.value.substring(0,c):b.value=c-d}String.prototype.trim=function(){return this.replace(/^\s+|\s+$/,"")};
function isset(a){return"undefined"!=typeof window[a]&&typeof("undefined"!=eval(a))}function urldecode(a){var b={},a=a.toString();b["'"]="%27";b["("]="%28";b[")"]="%29";b["*"]="%2A";b["~"]="%7E";b["!"]="%21";b["%20"]="+";for(replace in b){search=b[replace];var c=replace,d=[],d=a.split(search),a=d.join(c)}return a=decodeURIComponent(a)}function in_array(a,b,c){var d="";if(c)for(d in b){if(b[d]===a)return!0}else for(d in b)if(b[d]==a)return!0;return!1};
;var bodyHTML;$(document).observe("dom:loaded",function(){bodyHTML=document.getElementsByTagName("body")[0].innerHTML;null!=bodyHTML.match(/(header=\[|body=\[)/)&&("undefined"!=typeof document.attachEvent?(window.attachEvent("onload",init_new),document.attachEvent("onmousemove",moveMouse),document.attachEvent("onclick",checkMove)):(window.addEventListener("load",init_new,!1),document.addEventListener("mousemove",moveMouse,!1),document.addEventListener("click",checkMove,!1)))});
var oDv=document.createElement("div"),dvHdr=document.createElement("div"),dvBdy=document.createElement("div"),windowlock,boxMove,fixposx,fixposy,lockX,lockY,fixx,fixy,ox,oy,boxLeft,boxRight,boxTop,boxBottom,evt,mouseX,mouseY,boxOpen,totalScrollTop,totalScrollLeft;boxOpen=!1;oy=ox=10;lockY=lockX=0;function init_new(){oDv.appendChild(dvHdr);oDv.appendChild(dvBdy);oDv.style.position="absolute";oDv.style.visibility="hidden";document.body.appendChild(oDv)}
function defHdrStyle(){dvHdr.innerHTML="&nbsp;&nbsp;"+dvHdr.innerHTML;dvHdr.style.fontWeight="bold";dvHdr.style.width="100px";dvHdr.style.fontFamily="arial";dvHdr.style.border="1px solid #535353";dvHdr.style.padding="0";dvHdr.style.fontSize="12";dvHdr.style.color="#4B7A98";dvHdr.style.background="#535353";dvHdr.style.filter="alpha(opacity=100)";dvHdr.style.opacity="1.0"}
function defBdyStyle(){dvBdy.style.borderBottom="1px solid #535353";dvBdy.style.borderLeft="1px solid #535353";dvBdy.style.borderRight="1px solid #535353";dvBdy.style.width="100px";dvBdy.style.fontFamily="arial";dvBdy.style.fontSize="11";dvBdy.style.padding="0";dvBdy.style.color="#FFFFFF";dvBdy.style.background="#414141";dvBdy.style.filter="alpha(opacity=100)";dvBdy.style.opacity="1.0"}
function checkElemBO(a){return!a||"string"!=typeof a?!1:-1<a.indexOf("header")&&-1<a.indexOf("body")&&-1<a.indexOf("[")&&-1<a.indexOf("[")?!0:!1}
function scanBO(a){checkElemBO(a.title)?(a.boHDR=getParam("header",a.title),a.boBDY=getParam("body",a.title),a.boCSSBDY=getParam("cssbody",a.title),a.boCSSHDR=getParam("cssheader",a.title),a.IEbugfix="on"==getParam("hideselects",a.title)?!0:!1,a.fixX=parseInt(getParam("fixedrelx",a.title)),a.fixY=parseInt(getParam("fixedrely",a.title)),a.absX=parseInt(getParam("fixedabsx",a.title)),a.absY=parseInt(getParam("fixedabsy",a.title)),a.offY=""!=getParam("offsety",a.title)?parseInt(getParam("offsety",a.title)):
10,a.offX=""!=getParam("offsetx",a.title)?parseInt(getParam("offsetx",a.title)):10,a.fade="on"==getParam("fade",a.title)?!0:!1,a.fadespeed=""!=getParam("fadespeed",a.title)?getParam("fadespeed",a.title):0.04,a.delay=""!=getParam("delay",a.title)?parseInt(getParam("delay",a.title)):0,"on"==getParam("requireclick",a.title)?(a.requireclick=!0,document.all?a.attachEvent("onclick",showHideBox):a.addEventListener("click",showHideBox,!1),document.all?a.attachEvent("onmouseover",hideBox):a.addEventListener("mouseover",
hideBox,!1)):("off"!=getParam("doubleclickstop",a.title)&&(document.all?a.attachEvent("ondblclick",pauseBox):a.addEventListener("dblclick",pauseBox,!1)),"on"==getParam("singleclickstop",a.title)&&(document.all?a.attachEvent("onclick",pauseBox):a.addEventListener("click",pauseBox,!1))),a.windowLock="off"==getParam("windowlock",a.title).toLowerCase()?!1:!0,a.title="",a.hasbox=1):a.hasbox=2}
function getParam(a,b){var c=RegExp("([^a-zA-Z]"+a+"|^"+a+")\\s*=\\s*\\[\\s*(((\\[\\[)|(\\]\\])|([^\\]\\[]))*)\\s*\\]").exec(b);return c?c[2].replace("[[","[").replace("]]","]"):""}function Left(a){var b=0;if(a.calcLeft)return a.calcLeft;for(var c=a;a;)a.currentStyle&&!isNaN(parseInt(a.currentStyle.borderLeftWidth))&&0!=b&&(b+=parseInt(a.currentStyle.borderLeftWidth)),b+=a.offsetLeft,a=a.offsetParent;return c.calcLeft=b}
function Top(a){var b=0;if(a.calcTop)return a.calcTop;for(var c=a;a;)a.currentStyle&&!isNaN(parseInt(a.currentStyle.borderTopWidth))&&0!=b&&(b+=parseInt(a.currentStyle.borderTopWidth)),b+=a.offsetTop,a=a.offsetParent;return c.calcTop=b}var ah,ab;
function applyStyles(){ab&&oDv.removeChild(dvBdy);ah&&oDv.removeChild(dvHdr);dvHdr=document.createElement("div");dvBdy=document.createElement("div");CBE.boCSSBDY?dvBdy.className=CBE.boCSSBDY:defBdyStyle();CBE.boCSSHDR?dvHdr.className=CBE.boCSSHDR:defHdrStyle();dvHdr.innerHTML=CBE.boHDR;dvBdy.innerHTML=CBE.boBDY;ab=ah=!1;""!=CBE.boHDR&&(oDv.appendChild(dvHdr),ah=!0);""!=CBE.boBDY&&(oDv.appendChild(dvBdy),ab=!0)}var CSE,iterElem,LSE,CBE,LBE,width,height,ini=!1;
function SHW(){document.body&&0!=document.body.clientWidth&&(width=document.body.clientWidth,height=document.body.clientHeight);document.documentElement&&0!=document.documentElement.clientWidth&&document.body.clientWidth+20>=document.documentElement.clientWidth&&(width=document.documentElement.clientWidth,height=document.documentElement.clientHeight);return[width,height]}var ID=null;
function moveMouse(a){a?evt=a:evt=event;CSE=evt.target?evt.target:evt.srcElement;if(!CSE.hasbox)for(iElem=CSE;iElem.parentNode&&!iElem.hasbox;)scanBO(iElem),iElem=iElem.parentNode;if(CSE!=LSE&&!isChild(CSE,dvHdr)&&!isChild(CSE,dvBdy)){if(!CSE.boxItem){for(iterElem=CSE;2==iterElem.hasbox&&iterElem.parentNode;)iterElem=iterElem.parentNode;CSE.boxItem=iterElem}if((iterElem=CSE.boxItem)&&1==CSE.boxItem.hasbox)LBE=CBE,CBE=iterElem,CBE!=LBE&&(applyStyles(),CBE.requireclick||(CBE.fade?(null!=ID&&clearTimeout(ID),
ID=setTimeout("fadeIn("+CBE.fadespeed+")",CBE.delay)):(null!=ID&&clearTimeout(ID),COL=1,ID=setTimeout("oDv.style.visibility='visible';ID=null;",CBE.delay))),CBE.IEbugfix&&hideSelects(),fixposx=!isNaN(CBE.fixX)?Left(CBE)+CBE.fixX:CBE.absX,fixposy=!isNaN(CBE.fixY)?Top(CBE)+CBE.fixY:CBE.absY,lockY=lockX=0,boxMove=!0,ox=CBE.offX?CBE.offX:10,oy=CBE.offY?CBE.offY:10);else if(!isChild(CSE,dvHdr)&&!isChild(CSE,dvBdy)&&boxMove&&(!isChild(CBE,CSE)||"TABLE"!=CSE.tagName))CBE=null,null!=ID&&clearTimeout(ID),
fadeOut(),showSelects();LSE=CSE}else if((isChild(CSE,dvHdr)||isChild(CSE,dvBdy))&&boxMove){totalScrollTop=totalScrollLeft=0;for(iterElem=CSE;iterElem;)isNaN(parseInt(iterElem.scrollTop))||(totalScrollTop+=parseInt(iterElem.scrollTop)),isNaN(parseInt(iterElem.scrollLeft))||(totalScrollLeft+=parseInt(iterElem.scrollLeft)),iterElem=iterElem.parentNode;null!=CBE&&(boxLeft=Left(CBE)-totalScrollLeft,boxRight=parseInt(Left(CBE)+CBE.offsetWidth)-totalScrollLeft,boxTop=Top(CBE)-totalScrollTop,boxBottom=parseInt(Top(CBE)+
CBE.offsetHeight)-totalScrollTop,doCheck())}boxMove&&CBE&&(bodyScrollTop=document.documentElement&&document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop,bodyScrollLet=document.documentElement&&document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft,mouseX=evt.pageX?evt.pageX-bodyScrollLet:evt.clientX-document.body.clientLeft,mouseY=evt.pageY?evt.pageY-bodyScrollTop:evt.clientY-document.body.clientTop,CBE&&CBE.windowLock&&
(mouseY<-oy?lockY=-mouseY-oy:lockY=0,mouseX<-ox?lockX=-mouseX-ox:lockX=0,mouseY>SHW()[1]-oDv.offsetHeight-oy&&(lockY=-mouseY+SHW()[1]-oDv.offsetHeight-oy),mouseX>SHW()[0]-dvBdy.offsetWidth-ox&&(lockX=-mouseX-ox+SHW()[0]-dvBdy.offsetWidth)),oDv.style.left=fixposx||0==fixposx?fixposx+"px":bodyScrollLet+mouseX+ox+lockX+"px",oDv.style.top=fixposy||0==fixposy?fixposy+"px":bodyScrollTop+mouseY+oy+lockY+"px")}
function doCheck(){if(mouseX<boxLeft||mouseX>boxRight||mouseY<boxTop||mouseY>boxBottom)CBE.requireclick||fadeOut(),CBE.IEbugfix&&showSelects(),CBE=null}function pauseBox(a){a?evt=a:evt=event;boxMove=!1;evt.cancelBubble=!0}function showHideBox(){oDv.style.visibility="visible"!=oDv.style.visibility?"visible":"hidden"}function hideBox(){oDv.style.visibility="hidden"}var COL=0,stopfade=!1;function fadeIn(a){ID=null;COL=0;oDv.style.visibility="visible";fadeIn2(a)}
function fadeIn2(a){COL+=a;COL=1<COL?1:COL;oDv.style.filter="alpha(opacity="+parseInt(100*COL)+")";oDv.style.opacity=COL;1>COL&&setTimeout("fadeIn2("+a+")",20)}function fadeOut(){oDv.style.visibility="hidden"}function isChild(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1}var cSrc;function checkMove(a){a?evt=a:evt=event;cSrc=evt.target?evt.target:evt.srcElement;!boxMove&&!isChild(cSrc,oDv)&&(fadeOut(),CBE&&CBE.IEbugfix&&showSelects(),boxMove=!0,CBE=null)}
function showSelects(){var a=document.getElementsByTagName("select");for(i=0;i<a.length;i++)a[i].style.visibility="visible"}function hideSelects(){var a=document.getElementsByTagName("select");for(i=0;i<a.length;i++)a[i].style.visibility="hidden"};
;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,position:"top",overlayOpacity:0.65,overlayDuration:0.25,slideDownDuration:0.5,slideUpDuration:0.5,resizeDuration:0.25,inactiveFade:!0,transitions:!0,loadingString:"Please wait. Loading...",closeString:"Close window",closeValue:"&times;",params:{},method:"get",autoFocusing:!0,aspnet:!1,resizeCSSID:""},_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",style:"opacity: 0"});this.MBwindowwrapper=(new Element("div",{id:"MB_windowwrapper"})).update(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("<span>"+this.options.closeValue+"</span>");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.MBwindowwrapper});a.insert({top:this.MBoverlay});this._setPosition();
Event.observe(window,"scroll",function(){this._setPosition()}.bindAsEventListener(this));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._cleanUpContentIDs();
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()),Event.stopObserving(window,"scroll");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('<div class="MB_alert"><p>'+a+'</p><input type="button" onclick="Modalbox.hide()" value="OK" /></div>',{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.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.loadContent()}.bind(this)})}.bind(this)})):($(this.MBoverlay).setStyle({opacity:this.options.overlayOpacity}),
$(this.MBwindow).show(),this.loadContent());this._setWidthAndPosition=this._setWidthAndPosition.bindAsEventListener(this);Event.observe(window,"resize",this._setWidthAndPosition)},resize:function(a,b,d){$(this.MBoverlay).getWidth();var e=$(this.MBwindow).getHeight(),g=$(this.MBwindow).getWidth(),f=$(this.MBheader).getHeight(),c=$(this.MBcontent).getHeight(),b=e-f+b<c?c+f:e+b,c=$(this.MBwindow);c.getLayout();e=$(this.MBcontent);"top"==this.options.position&&(b+=10);c=parseInt(c.getStyle("margin-top"),
0)+parseInt(c.getStyle("margin-bottom"),0)+parseInt(c.getStyle("border-top-width"),0)+parseInt(c.getStyle("border-bottom-width"),0)+10;e=parseInt(e.getStyle("padding-top"))+parseInt(e.getStyle("padding-bottom"));b+c+e>document.viewport.getHeight()?(b=document.viewport.getHeight()-c-10,newcHeight=b-f-parseInt($(this.MBframe).getStyle("padding-bottom"),0)-parseInt($(this.MBcontent).getStyle("padding-bottom"),0),$(this.MBcontent).setStyle({height:newcHeight+"px"})):$(this.MBcontent).getStyle("height")&&
$(this.MBcontent).setStyle({height:""});a=g+a;this.options.width=a;d&&this.setOptions(d);this.options.transitions&&!Modalbox.animating?(Modalbox.animating=!0,new Effect.Morph(this.MBwindow,{style:"width:"+a+"px; height:"+b+"px;",duration:this.options.resizeDuration,beforeStart:function(a){a.element.setStyle({overflow:"hidden"})},afterFinish:function(a){a.element.setStyle({overflow:"visible"});this.event("_afterResize");this.event("afterResize");Modalbox.animating=!1}.bind(this)})):(this.MBwindow.setStyle({width:a+
"px",height:b+"px"}),setTimeout(function(){this.event("_afterResize");this.event("afterResize")}.bind(this),1))},resizeToContent:function(a){"undefined"==typeof a&&(a={});var b=$("MB_content").select("img"),d=b.length;if(b[0]&&"undefined"==typeof a.imagesloaded){var e=$A(),g=0;b.each(function(c,f){e[f]=new Image;e[f].src=c.src;e[f].onload=function(){g++;if(g==d){var c=!1;b.each(function(a){0==a.height&&(c=!0)});c||Modalbox.animating?Modalbox.resizeToContent():(a.imagesloaded=!0,Modalbox.resizeToContent(a))}}})}var f=
this.options.height-$(this.MBwindow).getHeight(),c=a.resizeCSSID&&$(a.resizeCSSID)?$(a.resizeCSSID).getWidth()-$(this.MBwindow).getWidth()+(parseInt($(this.MBcontent).getStyle("padding-left"),0)+parseInt($(this.MBcontent).getStyle("padding-right"),0))+15:0;0!=f&&(a&&this.setOptions(a),Modalbox.resize(c,f))},resizeToInclude:function(a,b){var d=$(a),d=d.getHeight()+parseInt(d.getStyle("margin-top"),0)+parseInt(d.getStyle("margin-bottom"),0)+parseInt(d.getStyle("border-top-width"),0)+parseInt(d.getStyle("border-bottom-width"),
0);0<d&&(b&&this.setOptions(b),Modalbox.resize(0,d))},_update:function(){$(this.MBcontent).update($(this.MBloading).update(this.options.loadingString));this.loadContent()},loadContent:function(){if(!1!=this.event("beforeLoad"))if("string"==typeof this.content)RegExp(/<\/?[^>]+>/gi).test(this.content)?this._insertContent(this.content.stripScripts(),function(){this.content.extractScripts().map(function(a){return eval(a.replace("<\!--","").replace("// --\>",""))}.bind(window))}.bind(this)):new Ajax.Request(this.content,
{method:this.options.method.toLowerCase(),parameters:this.options.params,onComplete:function(a){var b=new String(a.responseText);this._insertContent(a.responseText.stripScripts(),function(){b.extractScripts().map(function(a){return eval(a.replace("<\!--","").replace("// --\>",""))}.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);else throw Modalbox.hide(),"Modalbox Parameters Error: Please specify correct URL or HTML element (plain HTML or object)";
},_insertContent:function(a,b){$(this.MBcontent).hide().update("");if("string"==typeof a)this.MBcontent.update((new Element("div",{style:"display: none"})).update(a)).down().show();else if("object"==typeof a){var d=a.cloneNode(!0);a.id&&(a.id="MB_"+a.id);$(a).select("*[id]").each(function(a){a.id="MB_"+a.id});this.MBcontent.update(d).down("div").show();Prototype.Browser.IE&&$$("#MB_content select").invoke("setStyle",{visibility:""})}this.options.height==this._options.height?Modalbox.resize(this.options.width-
$(this.MBwindow).getWidth(),$(this.MBcontent).getHeight()-$(this.MBwindow).getHeight()+$(this.MBheader).getHeight(),{afterResize:function(){setTimeout(function(){this._putContent(b)}.bind(this),1)}.bind(this)}):(this._setWidth(),this.MBcontent.setStyle({overflow:"auto",height:$(this.MBwindow).getHeight()-$(this.MBheader).getHeight()-13+"px"}),setTimeout(function(){this._putContent(b)}.bind(this),1))},_putContent:function(a){this.MBcontent.show();this._findFocusableElements();this._setFocus();void 0!=
a&&a();this.event("afterLoad");this._setPosition()},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:0.75})},_initObservers:function(){$(this.MBclose).observe("click",this.hideObserver);this.options.overlayClose&&$(this.MBoverlay).observe("click",this.hideObserver);Prototype.Browser.Gecko?Event.observe(document,"keypress",this.kbdObserver):Event.observe(document,"keydown",
this.kbdObserver)},_removeObservers:function(){$(this.MBclose).stopObserving("click",this.hideObserver);this.options.overlayClose&&$(this.MBoverlay).stopObserving("click",this.hideObserver);Prototype.Browser.Gecko?Event.stopObserving(document,"keypress",this.kbdObserver):Event.stopObserving(document,"keydown",this.kbdObserver)},_setFocus:function(){if(!0==this.options.autoFocusing&&0<this.focusableElements.length){var a=this.focusableElements.find(function(a){return 1==a.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=hidden]):enabled, select, textarea, button, a[href]").invoke("addClassName","MB_focusable");this.focusableElements=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:""})},_cleanUpContentIDs:function(){"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_/,"")}))},_removeElements:function(){$(this.MBoverlay).remove();$(this.MBwindowwrapper).remove();Prototype.Browser.IE&&!navigator.appVersion.match(/\b7.0\b/)&&(this._prepareIE("",""),window.scrollTo(this.initScrollX,this.initScrollY));this._cleanUpContentIDs();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"})},_setWidthAndPosition:function(){$(this.MBwindow).setStyle({width:this.options.width+"px"})},_setPosition:function(){if("top"==this.options.position){var a=0;$("MB_window").setStyle({top:a+"px"})}else"middle"==this.options.position?(a=$("MB_window").getLayout(),a=document.viewport.getHeight()/2-a.get("height")/2,$("MB_window").setStyle({top:a+"px"})):"bottom"==this.options.position&&(a=$("MB_window").getLayout(),a=document.viewport.getHeight()-a.get("border-box-height"),$("MB_window").setStyle({top:a+
"px"}))},_getScrollTop:function(){var a;document.documentElement&&document.documentElement.scrollTop?a=document.documentElement.scrollTop: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);
