var fileLoadingImage="/design/lightbox/loading.gif",fileBottomNavCloseImage="/design/lightbox/close.gif",resizeSpeed=7,borderSize=10;var imageArray=new Array;var activeImage;if(resizeSpeed>10){resizeSpeed=10}
if(resizeSpeed<1){resizeSpeed=1}
resizeDuration=(11-resizeSpeed)*0.15;Object.extend(Element,{getWidth:function(i){i=$(i);return i.offsetWidth},setWidth:function(i,I){i=$(i);i.style.width=I+"px"},setHeight:function(i,I){i=$(i);i.style.height=I+"px"},setTop:function(i,I){i=$(i);i.style.top=I+"px"},setSrc:function(i,I){i=$(i);i.src=I},setHref:function(i,I){i=$(i);i.href=I},setInnerHTML:function(i,I){i=$(i);i.innerHTML=I}});Array.prototype.removeDuplicates=function(){var I=this;for(i=1;i<I.length;i++){if(I[i][0]==I[i-1][0]){I.splice(i,1)}}}
Array.prototype.empty=function(){var I=this;for(i=0;i<=I.length;i++){I.shift()}}
var Lightbox=Class.create();Lightbox.prototype={initialize:function(){if(!document.getElementsByTagName){return}
var E=document.getElementsByTagName('a');for(var r=0;r<E.length;r++){var Q=E[r],q=String(Q.getAttribute('rel'));if(Q.getAttribute('href')&&(q.toLowerCase().match('lightbox'))){Q.onclick=function(){myLightbox.start(this);return false}}}
var e=document.getElementsByTagName("body").item(0),X=document.createElement("div");X.setAttribute('id','overlay');X.style.display='none';X.onclick=function(){myLightbox.end();return false}
e.appendChild(X);var v=document.createElement("div");v.setAttribute('id','lightbox');v.style.display='none';e.appendChild(v);var o=document.createElement("div");o.setAttribute('id','outerImageContainer');v.appendChild(o);var l=document.createElement("div");l.setAttribute('id','imageContainer');o.appendChild(l);var z=document.createElement("img");z.setAttribute('id','lightboxImage');l.appendChild(z);var x=document.createElement("div");x.setAttribute('id','hoverNav');l.appendChild(x);var S=document.createElement("a");S.setAttribute('id','prevLink');S.setAttribute('href','#');x.appendChild(S);var s=document.createElement("a");s.setAttribute('id','nextLink');s.setAttribute('href','#');x.appendChild(s);var k=document.createElement("div");k.setAttribute('id','loading');l.appendChild(k);var O=document.createElement("a");O.setAttribute('id','loadingLink');O.setAttribute('href','#');O.onclick=function(){myLightbox.end();return false}
k.appendChild(O);var W=document.createElement("img");W.setAttribute('src',fileLoadingImage);O.appendChild(W);var I=document.createElement("div");I.setAttribute('id','imageDataContainer');I.className='clearfix';v.appendChild(I);var V=document.createElement("div");V.setAttribute('id','imageData');I.appendChild(V);var c=document.createElement("div");c.setAttribute('id','imageDetails');V.appendChild(c);var K=document.createElement("span");K.setAttribute('id','caption');c.appendChild(K);var Z=document.createElement("span");Z.setAttribute('id','numberDisplay');c.appendChild(Z);var w=document.createElement("div");w.setAttribute('id','bottomNav');V.appendChild(w);var i=document.createElement("a");i.setAttribute('id','bottomNavClose');i.setAttribute('href','#');i.onclick=function(){myLightbox.end();return false}
w.appendChild(i);var C=document.createElement("img");C.setAttribute('src',fileBottomNavCloseImage);i.appendChild(C)},start:function(i){hideSelectBoxes();var I=getPageSize();Element.setHeight('overlay',I[1]);new Effect.Appear('overlay',{duration:0.2,from:0.0,to:0.8});imageArray=[];imageNum=0;if(!document.getElementsByTagName){return}
var C=document.getElementsByTagName('a'),o='';if((i.getAttribute('rel')=='lightbox')){o=i.getAttribute('title')?i.getAttribute('title'):(i.getAttribute('alt_title')?i.getAttribute('alt_title'):'');imageArray.push(new Array(i.getAttribute('href'),o))}else{for(var v=0;v<C.length;v++){var l=C[v];if(l.getAttribute('href')&&(l.getAttribute('rel')==i.getAttribute('rel'))){o=l.getAttribute('title')?l.getAttribute('title'):(l.getAttribute('alt_title')?l.getAttribute('alt_title'):'');imageArray.push(new Array(l.getAttribute('href'),o))}}
imageArray.removeDuplicates();while(imageArray[imageNum][0]!=i.getAttribute('href')){imageNum++}}
var I=getPageSize(),O=getPageScroll(),c=O[1]+(I[3]/15);Element.setTop('lightbox',c);Element.show('lightbox');this.changeImage(imageNum)},changeImage:function(i){activeImage=i;Element.show('loading');Element.hide('lightboxImage');Element.hide('hoverNav');Element.hide('prevLink');Element.hide('nextLink');Element.hide('imageDataContainer');Element.hide('numberDisplay');imgPreloader=new Image;imgPreloader.onload=function(){Element.setSrc('lightboxImage',imageArray[activeImage][0]);myLightbox.resizeImageContainer(imgPreloader.width,imgPreloader.height)}
imgPreloader.src=imageArray[activeImage][0]},resizeImageContainer:function(I,i){var l=this;l.wCur=Element.getWidth('outerImageContainer');l.hCur=Element.getHeight('outerImageContainer');l.xScale=((I+(borderSize*2))/l.wCur)*100;l.yScale=((i+(borderSize*2))/l.hCur)*100;wDiff=(l.wCur-borderSize*2)-I;hDiff=(l.hCur-borderSize*2)-i;if(!(hDiff==0)){new Effect.Scale('outerImageContainer',l.yScale,{scaleX:false,duration:resizeDuration,queue:'front'})}
if(!(wDiff==0)){new Effect.Scale('outerImageContainer',l.xScale,{scaleY:false,delay:resizeDuration,duration:resizeDuration})}
if((hDiff==0)&&(wDiff==0)){if(navigator.appVersion.indexOf("MSIE")!=-1){pause(250)}else{pause(100)}}
Element.setHeight('prevLink',i);Element.setHeight('nextLink',i);Element.setWidth('imageDataContainer',I+(borderSize*2));l.showImage()},showImage:function(){Element.hide('loading');new Effect.Appear('lightboxImage',{duration:0.5,queue:'end',afterFinish:function(){myLightbox.updateDetails()}});this.preloadNeighborImages()},updateDetails:function(){Element.show('caption');Element.setInnerHTML('caption',imageArray[activeImage][1]);if(imageArray.length>1){Element.show('numberDisplay');Element.setInnerHTML('numberDisplay',"Ôîòî "+eval(activeImage+1)+" èç "+imageArray.length)}
new Effect.Parallel([new Effect.SlideDown('imageDataContainer',{sync:true,duration:resizeDuration+0.25,from:0.0,to:1.0}),new Effect.Appear('imageDataContainer',{sync:true,duration:1.0})],{duration:0.65,afterFinish:function(){myLightbox.updateNav()}})},updateNav:function(){Element.show('hoverNav');if(activeImage!=0){Element.show('prevLink');document.getElementById('prevLink').onclick=function(){myLightbox.changeImage(activeImage-1);return false}}
if(activeImage!=(imageArray.length-1)){Element.show('nextLink');document.getElementById('nextLink').onclick=function(){myLightbox.changeImage(activeImage+1);return false}}
this.enableKeyboardNav()},enableKeyboardNav:function(){document.onkeydown=this.keyboardAction},disableKeyboardNav:function(){document.onkeydown=''},keyboardAction:function(i){if(i==null){keycode=event.keyCode}else{keycode=i.which}
key=String.fromCharCode(keycode).toLowerCase();if((key=='x')||(key=='o')||(key=='c')){myLightbox.end()}else if(key=='p'){if(activeImage!=0){myLightbox.disableKeyboardNav();myLightbox.changeImage(activeImage-1)}}else if(key=='n'){if(activeImage!=(imageArray.length-1)){myLightbox.disableKeyboardNav();myLightbox.changeImage(activeImage+1)}}},preloadNeighborImages:function(){if((imageArray.length-1)>activeImage){preloadNextImage=new Image;preloadNextImage.src=imageArray[activeImage+1][0]}
if(activeImage>0){preloadPrevImage=new Image;preloadPrevImage.src=imageArray[activeImage-1][0]}},end:function(){this.disableKeyboardNav();Element.hide('lightbox');new Effect.Fade('overlay',{duration:0.2});showSelectBoxes()}}
function getPageScroll(){var i;if(self.pageYOffset){i=self.pageYOffset}else if(document.documentElement&&document.documentElement.scrollTop){i=document.documentElement.scrollTop}else if(document.body){i=document.body.scrollTop}
arrayPageScroll=new Array('',i)
return arrayPageScroll}
function getPageSize(){var o,l;if(window.innerHeight&&window.scrollMaxY){o=document.body.scrollWidth;l=window.innerHeight+window.scrollMaxY}else if(document.body.scrollHeight>document.body.offsetHeight){o=document.body.scrollWidth;l=document.body.scrollHeight}else{o=document.body.offsetWidth;l=document.body.offsetHeight}
var I,i;if(self.innerHeight){I=self.innerWidth;i=self.innerHeight}else if(document.documentElement&&document.documentElement.clientHeight){I=document.documentElement.clientWidth;i=document.documentElement.clientHeight}else if(document.body){I=document.body.clientWidth;i=document.body.clientHeight}
if(l<i){pageHeight=i}else{pageHeight=l}
if(o<I){pageWidth=I}else{pageWidth=o}
arrayPageSize=new Array(pageWidth,pageHeight,I,i)
return arrayPageSize}
function getKey(i){if(i==null){keycode=event.keyCode}else{keycode=i.which}
key=String.fromCharCode(keycode).toLowerCase();if(key=='x'){}}
function listenKey(){document.onkeypress=getKey}
function showSelectBoxes(){selects=document.getElementsByTagName("select");for(i=0;i!=selects.length;i++){selects[i].style.visibility="visible"}}
function hideSelectBoxes(){selects=document.getElementsByTagName("select");for(i=0;i!=selects.length;i++){selects[i].style.visibility="hidden"}}
function pause(i){var l=new Date;var I=l.getTime()+i;while(true){l=new Date;if(l.getTime()>I)return}}
function initLightbox(){myLightbox=new Lightbox}
Event.observe(window,'load',initLightbox,false);
