function lightbox(){this.speed=30;this.container=null;this.box=null;this.animation=null;this.dimensions=null;this.interval=null;this.actualSize=[0,0];this.image=null;this.opened=false;this.objects={};this.actualOpacity=100;this.overlay=null;this.left_button=null;this.right_button=null;this.title=null;this.label=null;this.counter=null;this.loading_image=null;this.actualType=null;this.object=null;this.panel=null;this.side_panel=null;this.panel_group=null;this.min_width=300;this.min_height=200;this.panel_height=0;this.min_height_tmp=null;this.init=function(){this.createBox();this.replaceLinks();this.loading_image=new Image();this.loading_image.width=32;this.loading_image.height=32;this.loading_image.src="/_img/lightbox/loading.gif"};this.replaceLinks=function(content){var parent=true;if(typeof (content)=="undefined"){content=document;parent=false};var check={},nodes=content.getElementsByTagName('a');for(var i=0;i=0){var type=this.getType(node.href);if(type!=null){var index=node.className.indexOf("lightbox_"),key="a "+this.getObjectCount()+1;if(index>=0)key="m "+node.className.substring(index+9).split(" ").shift();key+=" "+type;if(typeof (this.objects[key])=="undefined")this.objects[key]=[];var x=null;if(typeof (check[key])=="undefined"){check[key]=[]}else if(typeof (check[key][node.href])!="undefined")x=check[key][node.href];if(x==null){x=this.objects[key].length;this.objects[key][x]={object:[node.href,node.title],status:"new",type:type}};if(typeof (check[key][node.href])=="undefined")check[key][node.href]=x;node.rel=key+"-"+x;if(parent){node.onclick=function(){var parts=this.rel.split("-"),index=parseInt(parts.pop(),10),key=parts.join("-");lightbox.open(key,index);return false}}else node.onclick=function(){var parts=this.rel.split("-"),index=parseInt(parts.pop(),10),key=parts.join("-");window.parent.lightbox.open(key,index);return false}}}};delete check};this.openLink=function(elem){if(typeof (elem.rel)!="undefined"){var parts=elem.rel.split("-"),index=parseInt(parts.pop(),10),key=parts.join("-");window.parent.lightbox.open(key,index)}};this.addPanel=function(contents,min_height,group){if(typeof (min_height)!="undefined"&&min_height!=null)this.panel_height=min_height;if(typeof (group)!="undefined")this.panel_group=group;this.side_panel=this.createPanel();while(contents.hasChildNodes())this.side_panel.appendChild(contents.firstChild);if(contents.parentNode)contents.parentNode.removeChild(contents)};this.createBox=function(){this.overlay=document.createElement('div');this.overlay.id="lightbox_overlay";this.overlay.style.display="none";this.overlay.style.position="absolute";this.overlay.style.top="0";this.overlay.style.left="0";this.overlay.style.zIndex=99996;this.overlay.appendChild(document.createTextNode('\u00a0'));this.overlay.onclick=function(){lightbox.close()};var overlay_instance=this.overlay;this.container=document.createElement('div');this.container.className="container";this.container.appendChild(document.createTextNode('\u00a0'));this.box=document.createElement('div');this.box.id="lightbox";this.box.style.position="absolute";this.box.style.display="none";this.box.style.zIndex=99997;var box_instance=this.box,close=document.createElement('a');close.href="javascript:void(0);";close.title="zavřít";close.style.zIndex=99999;close.onclick=function(){lightbox.close()};close.className="close";close.appendChild(document.createTextNode("\u00a0"));var l=document.createElement('span');l.appendChild(document.createTextNode("\u00a0"));this.left_button=document.createElement('a');this.left_button.href="javascript:void(0);";this.left_button.onclick=function(){lightbox.prev()};this.left_button.onmouseout=function(){box_instance.style.zIndex=99998;overlay_instance.style.zIndex=99995};this.left_button.onmouseover=function(){box_instance.style.zIndex=99999;overlay_instance.style.zIndex=99994};this.left_button.style.left="0";this.left_button.style.top="0";this.left_button.style.display="block";this.left_button.style.position="absolute";this.left_button.style.textAlign="left";this.left_button.style.zIndex="99";this.left_button.className="prev";this.left_button.appendChild(l);var r=document.createElement('span');r.appendChild(document.createTextNode("\u00a0"));this.right_button=document.createElement('a');this.right_button.href="javascript:void(0);";this.right_button.onclick=function(){lightbox.next()};this.right_button.onmouseout=function(){box_instance.style.zIndex=99998;overlay_instance.style.zIndex=99995};this.right_button.onmouseover=function(){box_instance.style.zIndex=99999;overlay_instance.style.zIndex=99994};this.right_button.style.right="0";this.right_button.style.top="0";this.right_button.style.display="block";this.right_button.style.position="absolute";this.right_button.style.textAlign="right";this.right_button.style.zIndex="99";this.right_button.className="next";this.right_button.appendChild(r);this.title=document.createElement('span');this.title.style.display="block";this.title.className="title";this.title.style.overflow="hidden";this.title.appendChild(document.createTextNode('\u00a0'));this.counter=document.createElement('span');this.counter.style.display="none";this.counter.className="counter";this.counter.appendChild(document.createTextNode('\u00a0'));this.label=document.createElement('div');this.label.style.overflow="hidden";this.label.appendChild(this.title);this.label.appendChild(this.counter);this.box.appendChild(this.left_button);this.box.appendChild(this.right_button);this.box.appendChild(close);this.box.appendChild(this.container);this.box.appendChild(this.label);var body=document.getElementsByTagName('body')[0];body.appendChild(this.box);body.appendChild(this.overlay)};this.createPanel=function(){var panel=document.createElement('div');panel.id="lightbox_panel";panel.style.display="none";panel.style.position="absolute";panel.style.zIndex=99999;var body=document.getElementsByTagName('body')[0];body.appendChild(panel);return panel};this.open=function(key,index){var parts=key.split(" ");if(this.side_panel&&(this.panel_group==null||this.panel_group.toLowerCase()==parts[1])){this.panel=this.side_panel;this.min_height_tmp=this.min_height;this.min_height=Math.max(this.panel_height,this.min_height)}else{this.panel=null;if(this.min_height_tmp!=null)this.min_height=this.min_height_tmp};if(this.objects[key].length<=1){this.counter.style.display="none"}else this.counter.style.display="block";if(this.opened===false){this.box.style.display="";if(this.panel!=null)this.panel.style.display="";if(this.dimensions==null)this.dimensions=this.getDimensions();this.setSize(this.min_width,this.min_height);this.setOverlay()}else if(this.dimensions==null)this.dimensions=this.getDimensions();this.opened=[key,index];lightbox.hideLabel();lightbox.hideButtons();this.actualType=this.objects[key][index]["type"];if(this.actualType=="image"){this.counter.firstChild.data="obrázek "+(index+1)+" z "+this.objects[key].length}else this.counter.firstChild.data="náhled "+(index+1)+" z "+this.objects[key].length;if(this.objects[key][index]["status"]=="loaded"){if(this.objects[key][index]["type"]=="image"){this.image=this.objects[key][index]["object"];this.setTitle(this.image.alt)}else{this.object=this.objects[key][index]["object"];this.setTitle(this.object.title)};this.removeContent();this.resizeBox()}else{this.removeContent();this.actualOpacity=100;this.setImage(this.loading_image);if(this.objects[key][index]["type"]=="image"){this.image=new Image();this.image.alt=this.objects[key][index]["object"][1];this.image.id="i"+index+"k"+key;this.image.onload=function(){var parts=this.id.substring(1).split("k"),index=parts.shift(),key=parts.join("k");lightbox.objects[key][index]["status"]="loaded";lightbox.setTitle(this.alt);lightbox.removeContent();lightbox.resizeBox()};this.image.src=this.objects[key][index]["object"][0];this.objects[key][index]["object"]=this.image}else{this.object=new Object();this.object.title=this.objects[key][index]["object"][1];this.object.key=key;this.object.index=index;var ajax=new Ajax(this.objects[key][index]["object"][0],null);ajax.onSuccess("lightbox.setData",this.object);ajax.onFailure("lightbox.set404Data",this.object);ajax.doRequest({raw:true});this.objects[key][index]["object"]=this.object}}};this.close=function(){this.opened=false;clearInterval(this.interval);this.interval=null;this.animation=null;this.overlay.style.display="none";this.box.style.display="none";this.dimensions=null;if(this.panel!=null)this.panel.style.display="none"};this.setOverlay=function(){this.overlay.style.width=this.dimensions["page"][0]+"px";this.overlay.style.height=this.dimensions["page"][1]+"px";this.overlay.style.display=""};this.setData=function(data,obj){var key=obj.key,index=obj.index,tag='',tag2='',tag_i=data.indexOf(tag);if(tag_i>=0)data=data.substring(tag_i+tag.length).split(tag2).shift();var tmp=document.createElement('div');tmp.id="lightbox_html";tmp.style.position="absolute";tmp.style.overflow="visible";tmp.style.top="-9999px";tmp.innerHTML=data;this.replaceLinks(tmp);var body=document.getElementsByTagName('body')[0];body.appendChild(tmp);obj.width=Math.max(tmp.scrollWidth+20,this.min_width);obj.height=Math.max(tmp.scrollHeight+20,this.min_height);body.removeChild(tmp);tmp.style.position="static";tmp.style.overflow="";tmp.style.top="0";obj.data=tmp;this.setTitle(obj.title);this.objects[key][index]["status"]="loaded";this.removeContent();this.resizeBox()};this.set404Data=function(data,obj){var key=obj.key,index=obj.index,tmp=document.createElement('div');tmp.id="lightbox_html";tmp.style.position="absolute";tmp.style.overflow="visible";tmp.style.top="-9999px";tmp.appendChild(document.createTextNode('Stránka nenalezena'));obj.width=Math.max(300,this.min_width);obj.height=Math.max(200,this.min_height);tmp.style.position="static";tmp.style.overflow="";tmp.style.top="0";obj.data=tmp;this.setTitle(obj.title);this.objects[key][index]["status"]="loaded";this.removeContent();this.resizeBox()};this.resizeBox=function(){var mh=this.dimensions["view"][1]-200,mw=this.dimensions["view"][0]-100;if(this.actualType=="image"){var h=this.image.height,w=this.image.width;if(w>mw||h>mh){if(w>h){var r=h/w;while(w>mw||h>mh){w--;h=Math.round(w*r)}}else{var r=w/h;while(w>mw||h>mh){h--;w=Math.round(h*r)}};this.image.width=w;this.image.height=h};if(wmw){w=mw;this.object.width=mw};if(h>mh)this.object.height=mh};var coef=1;if(w>this.actualSize[0]){coef=w/this.actualSize[0]}else if(w15)sp=15;this.animation=["w",w,w>this.actualSize[0]?sp:-sp];if(this.interval==null)this.interval=setInterval(function(){lightbox.animate()},20)};this.setTitle=function(str){if(this.dimensions==null)this.dimensions=this.getDimensions();this.title.firstChild.data=str;this.dimensions["label"]=this.label.scrollHeight};this.setImage=function(image){if(this.actualSize[1]>image.height){var top=Math.ceil((this.actualSize[1]-image.height)/2);image.style.position="relative";image.style.top=top+"px";image.style.zIndex=5};image.style.display="block";image.style.margin="0 auto";this.container.removeChild(this.container.firstChild);this.container.appendChild(image)};this.removeImage=function(){this.animation=["o",0,-Math.round(this.speed*0.3)];if(this.interval==null)this.interval=setInterval(function(){lightbox.animate()},20)};this.viewImage=function(){this.animation=["o",100,Math.round(this.speed*0.3)];this.setImage(this.image);this.setOpacity(0);if(this.interval==null)this.interval=setInterval(function(){lightbox.animate()},20)};this.setContent=function(){while(this.container.hasChildNodes())this.container.removeChild(this.container.firstChild);var node=this.object.data;node.style.width=this.actualSize[0]+"px";node.style.height=this.actualSize[1]+"px";this.container.appendChild(node)};this.removeContent=function(){while(this.container.hasChildNodes())this.container.removeChild(this.container.firstChild);this.container.appendChild(document.createTextNode('\u00a0'))};this.showLabel=function(){this.label.style.visibility=""};this.hideLabel=function(){this.label.style.visibility="hidden"};this.hideButtons=function(){this.left_button.style.display="none";this.right_button.style.display="none"};this.showButtons=function(){var group=this.objects[this.opened[0]],w=Math.ceil(this.actualSize[0]/3);if(w<120)w=120;if(group.length-1>this.opened[1]){this.right_button.style.display="";this.right_button.style.width=w+"px";this.right_button.style.height=this.actualSize[1]+"px";this.right_button.style.lineHeight=this.actualSize[1]+"px"};if(this.opened[1]>0){this.left_button.style.display="";this.left_button.style.width=w+"px";this.left_button.style.height=this.actualSize[1]+"px";this.left_button.style.lineHeight=this.actualSize[1]+"px"}};this.next=function(){var o=this.opened;this.open(o[0],o[1]+1)};this.prev=function(){var o=this.opened;this.open(o[0],o[1]-1)};this.animate=function(){if(this.animation[0]=="w"){if(this.animation[1]==this.actualSize[0]){var h=this.actualType=="image"?this.image.height:this.object.height;if(hthis.actualSize[1]){coef=h/this.actualSize[1]}else if(h15)sp=15;this.animation=["h",h,h>this.actualSize[1]?sp:-sp];return}else{var w=this.actualSize[0]+this.animation[2];if(this.animation[2]>0&&w>this.animation[1]){w=this.animation[1]}else if(this.animation[2]<0&&w0&&h>this.animation[1]){h=this.animation[1]}else if(this.animation[2]<0&&h0&&o>this.animation[1]){o=this.animation[1]}else if(this.animation[2]<0&&00){this.showButtons();this.showLabel()};clearInterval(this.interval);this.interval=null;this.animation=null;return}};this.setSize=function(width,height){var w=false,h=false;if(this.actualSize[0]!=width){this.container.style.width=width+"px";this.label.style.width=width+"px";w=true};if(this.actualSize[1]!=height){if(this.panel!=null)this.panel.style.height=(height+this.dimensions["label"]+2)+"px";this.container.style.height=height+"px";h=true};this.actualSize=[width,height];if(w){var left=Math.round(this.dimensions["scroll"][0]+this.dimensions["view"][0]/2-this.actualSize[0]/2-this.dimensions["panel"]/2);if(this.panel!=null){this.panel.style.left=left+"px";left+=22};this.box.style.left=(left+this.dimensions["panel"])+"px"};if(h){var top=Math.round(this.dimensions["scroll"][1]+this.dimensions["view"][1]/2-this.actualSize[1]/2-this.dimensions["label"]/2);if(this.panel!=null)this.panel.style.top=top+"px";this.box.style.top=top+"px"}};this.resize=function(){this.overlay.style.display="none";lightbox.dimensions=lightbox.getDimensions();lightbox.setOverlay()};this.getDimensions=function(){this.overlay.style.display="none";var top=0,left=0,viewportwidth=0,viewportheight=0,width=0,height=0;if(typeof window.innerWidth!='undefined'){viewportwidth=window.innerWidth;viewportheight=window.innerHeight};if(typeof document.documentElement!='undefined'){top=document.documentElement.scrollTop;left=document.documentElement.scrollLeft;if(viewportwidth==0&&viewportheight==0){viewportwidth=document.documentElement.clientWidth;viewportheight=document.documentElement.clientHeight};height=document.documentElement.scrollHeight;width=document.documentElement.scrollWidth}else{var node=document.getElementsByTagName('html')[0];left=node.scrollLeft;top=node.scrollTop;if(viewportwidth==0&&viewportheight==0){viewportwidth=node.clientWidth;viewportheight=node.clientHeight};width=node.scrollWidth;if(node.scrollHeight>height)height=node.scrollHeight};return{view:[viewportwidth,viewportheight],page:[width,height],scroll:[left,top],label:this.label.scrollHeight,panel:(this.panel!=null?this.panel.scrollWidth:0)}};this.getObjectCount=function(){var ret=0;for(var i in this.objects)ret++;return ret};this.setOpacity=function(value){if(typeof (this.container.firstChild.style)=="undefined")return;if(typeof (this.container.firstChild.style.opacity)!="undefined")this.container.firstChild.style.opacity=value/100;if(typeof (this.container.firstChild.style.mozOpacity)!="undefined")this.container.firstChild.style.mozOpacity=value/100;if(typeof (this.container.firstChild.style.filter)!="undefined")this.container.firstChild.style.filter='alpha(opacity='+(value)+')';this.actualOpacity=value};this.getType=function(url){var ext=url.split("?").shift().split(".").pop().toLowerCase();switch(ext){case'html':return'text';case'htm':return'text';case'txt':return'text';case'jpg':return'image';case'gif':return'image';case'jpeg':return'image';case'png':return'image';case'tga':return'image';case'tiff':return'image';case'bmp':return'image';default:return'text'}}};lightbox=new lightbox();window.onresize=function(){if(lightbox.opened!==false){if(navigator.appName=='Microsoft Internet Explorer'){setTimeout("lightbox.resize()",10)}else lightbox.resize()}else lightbox.dimensions=null}