var kamModalHandler=new Class({Implements:[Options,Events],currentBody:null,container:null,contentEl:null,kamMask:null,grabDiv:null,useRequest:true,trigger:null,currentState:"hidden",href:null,initialize:function(a,d,c){var b=this;this.href=c;(d)?this.useRequest=true:this.useRequest=false;this.grabDiv=a;this.currentBody=$("body");if(this.currentBody==null){this.currentBody=$$("body")[0]}this.kamMask=new Mask(this.currentBody,{hideOnClick:true,onHide:function(){this.container.destroy();this.currentState="hidden"}.bind(this),onShow:function(){this.currentState="visible";this.centreContent(0);this.fireEvent("maskVisible",this)}.bind(this)});window.addEvent("resize",function(){if(this.currentState=="visible"){this.centreContent(0)}}.bind(this));window.addEvent("scroll",function(e){if(this.currentState=="visible"){this.centreContent(0)}}.bind(this))},showMask:function(){if(this.useRequest){this.getAjax(this.href)}else{this.getDiv();this.kamMask.show()}},hideMask:function(){this.kamMask.hide()},getDiv:function(){this.contentEl=$(this.grabDiv);if(this.contentEl==null){alert("error finding content div")}this.container=new Element("div",{id:"kamMaskInner",styles:{display:"none",position:"absolute","z-index":"9999999",overflow:"hidden"}});this.contentEl.clone().inject(this.container);this.currentBody.grab(this.container)},getAjax:function(b){var a=this;var c=new Request.HTML({method:"get",url:b,useSpinner:true,spinnerTarget:this.currentBody,spinnerOptions:{id:"kamAjaxSpinner"},evalScripts:true,onRequest:function(){},onSuccess:function(f,d,e){if(typeof(pageTracker)!="undefined"){pageTracker._trackPageview(b)}a.displayMask(f,d);a.kamMask.show()},onFailure:function(d){alert("Page request failed "+d.getAllResponseHeaders())},onException:function(e,d){alert("Page request failed")}}).send()},displayMask:function(c,b){for(var a=0;a<b.length;a++){var d=b[a];if(d.id==this.grabDiv.toString()){this.contentEl=$(d);break}}if(this.contentEl==null){alert("error finding content div")}this.container=new Element("div",{id:"kamMaskInner",styles:{display:"none",position:"absolute","z-index":"9999999",overflow:"hidden"}});this.container.grab(this.contentEl);this.currentBody.grab(this.container)},centreContent:function(e){if(this.container!=null&&this.contentEl!=null){var c=this.contentEl.measure(function(){return this.getSize()});var b=window.getScroll();var a=parseFloat(c.y);var d=parseFloat(c.x);var g=(window.getSize().x-d)/2;var f=((window.getSize().y-a)/2)+b.y;if(this.container.getSize().y>window.getSize().y){f=0}(f<0)?f=0:f=f;this.container.setStyles({height:a,width:d,left:g+e,top:f,"z-index":"9999999",display:"block"})}}});
