/* sbBox v1.0 Copyright Sitebuilders Finland Oy www.sitebuilders.fi 2009 */

var sbBox=new Class({Implements:[Options,Chain],options:{ajaxURL:"kayttoehdot.php",openButton:"sbBox",closeButton:"close",boxOpacity:1},initialize:function(b,a){this.setOptions(a);this.myModal=new sbModal({modalOpacity:0.8,hideOnClick:"false"});var c=this.myModal.sbModalEl();this.modalBox=new Element("div",{id:"boxAjax"});this.options.ajaxURL=b.href;b.addEvent("click",function(d){d.stop();this.myModal.showModal();this.modalBox.inject(document.body,"top");this.getBoxSize();this.zoomIn()}.bind(this))},getHtml:function(a){this.modalBox.set("html",a);$(this.options.closeButton).addEvent("click",function(b){b.stop();this.myModal.removeModal();this.fadeElements()}.bind(this))},zoomIn:function(){window.addEvent("resize",function(c){this.move()}.bind(this));var a=this.calculatePosition();this.modalBox.setStyles({height:0,opacity:0,width:0,left:a[2],top:a[3]});var b=new Fx.Morph(this.modalBox,{transition:Fx.Transitions.Sine.easeOut,onComplete:function(c){this.action()}.bind(this)});b.start({height:[0,this.boxSize.y],width:[0,this.boxSize.x],opacity:this.options.boxOpacity,left:a[0],top:a[1]})},action:function(){var a=new Request({url:this.options.ajaxURL,onComplete:function(b){this.getHtml(b)}.bind(this)}).get()},move:function(c,b){var a=this.calculatePosition();a[0]=(a[0]<0)?0:a[0];a[1]=(a[1]<0)?0:a[1];this.modalBox.morph({left:a[0],top:a[1]})},fadeElements:function(b){var a=new Fx.Tween(this.modalBox,{onComplete:function(c){c.destroy()}});a.start("opacity",0)},getBoxSize:function(a){this.modalBox.setStyles({visibility:"hidden",display:"block"});this.boxSize=this.modalBox.getSize();this.modalBox.setStyles({visibility:"visible",height:"0",overflow:"hidden"});return this.boxSize},getBoxRealSize:function(b){var a=this.modalBox.getStyles("width","height");this.boxSize.x=a.width.toInt();this.boxSize.y=a.height.toInt()},calculatePosition:function(c){var h=$(document.body).getSize();var a=this.boxSize;var i=this.modalBox.getStyles("border-top-width","padding-top");var d=this.modalBox.getStyles("border-left-width","padding-left");var f=i["border-top-width"].toInt()+i["padding-top"].toInt();var b=d["border-left-width"].toInt()+d["padding-left"].toInt();var k=h.x*0.5;var j=h.y*0.5;var g=this.boxSize.x*0.5;g=(g<0)?0:g;var e=this.boxSize.y*0.5;e=(e<0)?0:e;var l=k-g-b;_top=(h.y<this.boxSize.y)?0:j-e-f;return[l,_top,k,j]}});window.addEvent("domready",function(){this.links=$$(".sbBox");this.links.each(function(a){new sbBox(a,{ajaxURL:"kayttoehdot.php"})})});

/* sbModal v1.0 Copyright Sitebuilders Finaland Oy www.sitebuilders.fi 2009 */

var sbModal=new Class({Implements:[Options,Chain],options:{modalOpacity:0.7,bgId:"modalBg",hideOnClick:true},initialize:function(a){this.setOptions(a);this.mainBody=$(document.body);this.modalBg=new Element("div",{id:this.options.bgId});this.mask=new Element("iframe",{id:"iMask"});this.mainhtml=this.mainBody.getScrollSize();this.bgTween=new Fx.Tween(this.modalBg,{onComplete:function(b){b.destroy();this.onRemoveComplete()}.bind(this)});window.addEvent("resize",function(b){this.resizeModal()}.bind(this));if(this.options.hideOnClick==true){this.modalBg.addEvent("click",function(b){b.stop();this.removeModal()}.bind(this))}},sbModalEl:function(){return this.modalBg},showModal:function(){if(Browser.Engine.trident){this.mask.inject(this.mainBody,"top").setStyles({opacity:0.01,height:"100%",width:"100%",position:"absolute","z-index":10,left:0,top:0,background:"transparent"})}this.modalBg.inject(this.mainBody,"top").setStyles({opacity:"0","z-index":"100",height:this.mainhtml.y});this.modalBg.set("tween",{onComplete:function(a){this.onShowComplete()}.bind(this)});this.modalBg.tween("opacity",this.options.modalOpacity)},removeModal:function(){this.bgTween.start("opacity",0);this.mask.destroy()},resizeModal:function(){this.modalBg.setStyles({height:"100%","max-width":"100%"});this.mainhtml=document.body.getScrollSize();this.modalBg.setStyles({height:this.mainhtml.y,"max-width":"auto"})},onRemoveComplete:function(a){},onShowComplete:function(a){}});
