/*Class: XBox [Built on MooTools framework: www.mootools.net]Author: Martin Jezek 2009Version: 1.3*/  var XBox=new Class({Implements:Options,options:{image:"Obrázek",of:"z"},initialize:function(options){this.setOptions(options);this.addXboxWall();this.addXboxBody();this.addTweens();this.applyXbox();},now:0,images_count:0,scroll_top:0,page_height:0,resizeXbox:function(){window.scrollTo(0,this.scroll_top);$("xbox_wall").setStyle("width",document.getWidth());$("xbox_wall").setStyle("height",this.page_height);$("xbox_wall").setStyle("height",window.getScrollHeight()+50);},addXboxWall:function(){this.xbox_wall=new Element("div",{"id":"xbox_wall"});this.xbox_wall.setOpacity(.85);this.xbox_wall.setStyle("width",window.getScrollWidth());this.xbox_wall.setStyle("height",window.getScrollHeight());this.xbox_wall.inject(document.body);this.page_height=window.getScrollHeight();},addXboxBody:function(){this.xbox_body=new Element("div",{"id":"xbox_body"});this.xbox_body.set('html','<div id="xbox_body_content"><div class="wysiwyg" id="xbox_html"></div><p id="xbox_image_title"></p><span id="xbox_image_close"></span><a href="#prev" id="xbox_image_prev"></a><a href="#next" id="xbox_image_next"></a></div>');this.xbox_body.inject(document.body);this.xboxImage=new Image();$("xbox_body_content").appendChild(this.xboxImage);this.xboxImage=$("xbox_body_content").getElements("img")[0];this.xboxImage.inject($("xbox_html"),"after")this.xboxImage.id="xbox_image";$("xbox_image_close").addEvent("click",this.removeXbox.bindWithEvent(this));$("xbox_body").addEvent("click",this.removeXbox.bindWithEvent(this));$("xbox_wall").addEvent("click",this.removeXbox.bindWithEvent(this));$("xbox_body_content").addEvent("click",function(event){event.stopPropagation();});$("xbox_image_next").addEvent("click",this.switchXboxImage.bind(this,{step:1}));$("xbox_image_prev").addEvent("click",this.switchXboxImage.bind(this,{step:-1}));},removeXbox:function(event){this.now=0;$("xbox_wall").setStyle("display","none");$("xbox_body").setStyle("display","none");$("xbox_wall").setStyle("width",document.getWidth());$("xbox_wall").setStyle("height",window.getScrollHeight());event.stopPropagation();},addTweens:function(){this.tween_height=new Fx.Tween($("xbox_body_content"),{property:"height"});this.tween_width=new Fx.Tween($("xbox_body_content"),{property:"width"});this.tween_opacity=new Fx.Tween($("xbox_image"),{property:"opacity",duration:400});this.tween_html_opacity=new Fx.Tween($("xbox_html"),{property:"opacity",duration:400});},applyXbox:function(){$$("a.xbox").each(function(image,index){image.addEvent("click",this.showXbox.bind(this,{src:image,index:index}));},this);window.addEvent("resize",this.resizeXbox.bind(this));this.images_count=$$("a.xbox").length;$$(".htmlbox").each(function(html){html.addEvent("click",this.showXbox.bind(this,{html:html}));},this);},showXbox:function(image){$("xbox_html").innerHTML="";$("xbox_html").setStyle("display","none");$("xbox_image").setStyle("display","none");$("xbox_body_content").setStyle("width",300);$("xbox_body_content").setStyle("height",200);this.scroll_top=window.getScrollTop();$("xbox_body").setStyle("top",this.scroll_top+50);$("xbox_wall").setStyle("display","block");$("xbox_body").setStyle("display","block");if(typeof(image.html)!="undefined"){this.showXboxHTML(image.html);}else{this.now=image.index;this.showXboxImage();}return false;},showXboxHTML:function(html){if($("xbox_body_content").hasClass("disabled")){$("xbox_body_content").removeClass("disabled");}$("xbox_html").fade(0);$("xbox_image_prev").setStyle("display","none");$("xbox_image_next").setStyle("display","none");$("xbox_image_close").setStyle("display","none");$("xbox_image_title").setStyle("display","none");$(html.rel).setStyle("display","block");this.xboxHtmlWidth=$(html.rel).getStyle("width");this.xboxHtmlHeight=$(html.rel).getStyle("height");$(html.rel).setStyle("display","none");if(html.rel!=""){(function(){$("xbox_body_content").addClass("disabled");this.tween_width.start($("xbox_body_content").getStyle("width"),this.xboxHtmlWidth).chain(function(){this.tween_height.start($("xbox_body_content").getStyle("height"),this.xboxHtmlHeight).chain(function(){(function(){$("xbox_html").innerHTML=$(html.rel).innerHTML;$("xbox_html").setStyle("display","block");this.tween_html_opacity.start(0,1);$("xbox_image_close").setStyle("display","block");this.resizeXbox();}).bind(this).delay(100);}.bind(this));}.bind(this));}).bind(this).delay(750);}},showXboxImage:function(){if($("xbox_body_content").hasClass("disabled")){$("xbox_body_content").removeClass("disabled");}$("xbox_image").setStyle("display","none");$("xbox_image").fade(0);$("xbox_image_close").setStyle("display","none");$("xbox_image_title").setStyle("display","none");$("xbox_image_prev").setStyle("display","none");$("xbox_image_next").setStyle("display","none");this.xboxImageTemp=new Image();this.xboxImageTemp.onload=this.onImageTempLoad.bind(this);this.xboxImageTemp.src=$$("a.xbox")[this.now].href;$("xbox_image_title").innerHTML=$$("a.xbox")[this.now].title;if(this.images_count>1){$("xbox_image_title").innerHTML+="<span>"+this.options.image+" "+(this.now+1)+" "+this.options.of+" "+this.images_count+"</span>";}},onImageTempLoad:function(){(function(){$("xbox_body_content").addClass("disabled");this.tween_width.start($("xbox_body_content").getStyle("width"),this.xboxImageTemp.width).chain(function(){this.tween_height.start($("xbox_body_content").getStyle("height"),this.xboxImageTemp.height).chain(function(){$("xbox_image").src=this.xboxImageTemp.src;$("xbox_image_prev").setStyle("height",this.xboxImageTemp.height);$("xbox_image_next").setStyle("height",this.xboxImageTemp.height);(function(){$("xbox_image").setStyle("display","block");this.tween_opacity.start(0,1);this.resizeXbox();$("xbox_image_close").setStyle("display","block");$("xbox_image_title").setStyle("display","block");$("xbox_image_prev").setStyle("display","block");$("xbox_image_next").setStyle("display","block");this.showXboxNavigation();}).bind(this).delay(100);}.bind(this));}.bind(this));}).bind(this).delay(750);},showXboxNavigation:function(){if(this.images_count>1&&this.now==0){$("xbox_image_next").setStyle("display","block");$("xbox_image_prev").setStyle("display","none");}else if(this.images_count>1&&this.now==this.images_count-1){$("xbox_image_next").setStyle("display","none");$("xbox_image_prev").setStyle("display","block");}else if(this.images_count>1){$("xbox_image_next").setStyle("display","block");$("xbox_image_prev").setStyle("display","block");}else{$("xbox_image_next").setStyle("display","none");$("xbox_image_prev").setStyle("display","none");}},switchXboxImage:function(image){$("xbox_image_next").blur();$("xbox_image_prev").blur();this.now=this.now+image.step;this.showXboxImage();return false;}});
