// -----------------------------------------------------------------------------------
//
//	Litebox
//	A combined effort between detrate and gannon
//	* v1.0 (07/03/06)
//	* v1.1 (05/09/09), A. Kaschner (marcam.de)
//
//	Source edited from Lightbox v2.02
//	by Lokesh Dhakar - http://www.huddletogether.com
//
//	For more information on this script, visit:
//	http://doknowevil.net/litebox
//
//	Licensed under the Creative Commons Attribution 2.5 License - http://creativecommons.org/licenses/by/2.5/
//	
//	Credit also due to those who have helped, inspired, and made their code available to the public.
//	Including: Scott Upton(uptonic.com), Peter-Paul Koch(quirksmode.org), Thomas Fuchs(mir.aculo.us), and others.
//
// -----------------------------------------------------------------------------------

//
//	Configuration
//
var fileBlankImage = "/cms/litebox/images/blank.gif";
var fileLoadingImage = "/cms/litebox/images/loading.gif";
var fileBottomNavCloseImage = "/cms/litebox/images/closelabel.gif";
var resizeSpeed = 6;	// controls the speed of the image resizing (1=slowest and 10=fastest)
var borderSize = 10;	//if you adjust the padding in the CSS, you will need to update this variable

// -----------------------------------------------------------------------------------

var imageArray=new Array;var activeImage;if(resizeSpeed>10){resizeSpeed=10}if(resizeSpeed<1){resizeSpeed=1}resizeDuration=(11-resizeSpeed)*100;Object.extend(Element,{hide:function(){for(var b=0;b<arguments.length;b++){var a=$(arguments[b]);a.style.display="none"}},show:function(){for(var b=0;b<arguments.length;b++){var a=$(arguments[b]);a.style.display=""}},getWidth:function(a){a=$(a);return a.offsetWidth},setWidth:function(b,a){b=$(b);b.style.width=a+"px"},getHeight:function(a){a=$(a);return a.offsetHeight},setHeight:function(a,b){a=$(a);a.style.height=b+"px"},setTop:function(b,a){b=$(b);b.style.top=a+"px"},setSrc:function(a,b){a=$(a);a.src=b},setInnerHTML:function(a,b){a=$(a);a.innerHTML=b}});Array.prototype.removeDuplicates=function(){for(i=1;i<this.length;i++){if(this[i][0]==this[i-1][0]){this.splice(i,1)}}};Array.prototype.empty=function(){for(i=0;i<=this.length;i++){this.shift()}};var Lightbox=Class.create();Lightbox.prototype={initialize:function(){if(!document.getElementsByTagName){return}var p=document.getElementsByClassName("litebox");for(var l=0;l<p.length;l++){var f=p[l];var w=String(f.getAttribute("rel"));if(f.getAttribute("href")&&(w.toLowerCase().match("lightbox"))){f.onclick=function(){myLightbox.start(this);return false}}}var x=document.getElementsByTagName("body").item(0);var g=document.createElement("div");g.setAttribute("id","overlay");g.onclick=function(){myLightbox.end();return false};x.appendChild(g);var o=document.createElement("div");o.setAttribute("id","lightbox");o.style.display="none";x.appendChild(o);var v=document.createElement("div");v.setAttribute("id","outerImageContainer");o.appendChild(v);var n=document.createElement("div");n.setAttribute("id","imageContainer");v.appendChild(n);var j=document.createElement("img");j.setAttribute("id","lightboxImage");n.appendChild(j);var s=document.createElement("div");s.setAttribute("id","hoverNav");n.appendChild(s);var t=document.createElement("a");t.setAttribute("id","prevLink");t.setAttribute("href","#");s.appendChild(t);var c=document.createElement("a");c.setAttribute("id","nextLink");c.setAttribute("href","#");s.appendChild(c);var u=document.createElement("div");u.setAttribute("id","loading");n.appendChild(u);var a=document.createElement("a");a.setAttribute("id","loadingLink");a.setAttribute("href","#");a.onclick=function(){myLightbox.end();return false};u.appendChild(a);var m=document.createElement("img");m.setAttribute("src",fileLoadingImage);a.appendChild(m);var e=document.createElement("div");e.setAttribute("id","imageDataContainer");e.className="clearfix";o.appendChild(e);var d=document.createElement("div");d.setAttribute("id","imageData");e.appendChild(d);var r=document.createElement("div");r.setAttribute("id","imageDetails");d.appendChild(r);var h=document.createElement("span");h.setAttribute("id","caption");r.appendChild(h);var b=document.createElement("span");b.setAttribute("id","numberDisplay");r.appendChild(b);var q=document.createElement("div");q.setAttribute("id","bottomNav");d.appendChild(q);var y=document.createElement("a");y.setAttribute("id","bottomNavClose");y.setAttribute("href","#");y.onclick=function(){myLightbox.end();return false};q.appendChild(y);var k=document.createElement("img");k.setAttribute("src",fileBottomNavCloseImage);y.appendChild(k);overlayEffect=new Fx.Style(g,"opacity",{duration:300});overlayEffect.hide();imageEffect=new Fx.Style(j,"opacity",{duration:350,onComplete:function(){imageDetailsEffect.custom(0,1)}});imageEffect.hide();imageDetailsEffect=new Fx.Style("imageDataContainer","opacity",{duration:400,onComplete:function(){navEffect.custom(0,1)}});imageDetailsEffect.hide();navEffect=new Fx.Style("hoverNav","opacity",{duration:100});navEffect.hide()},start:function(g){hideSelectBoxes();var c=getPageSize();Element.setHeight("overlay",c[1]);overlayEffect.custom(0,0.8);imageArray=[];imageNum=0;if(!document.getElementsByTagName){return}if((g.getAttribute("rel")=="lightbox")){imageArray.push(new Array(g.getAttribute("href"),g.getAttribute("title")))}else{var e=document.getElementsByClassName("litebox");for(var d=0;d<e.length;d++){var b=e[d];if(b.getAttribute("href")&&(b.getAttribute("rel")==g.getAttribute("rel"))){imageArray.push(new Array(b.getAttribute("href"),b.getAttribute("title")))}}imageArray.removeDuplicates();while(imageArray[imageNum][0]!=g.getAttribute("href")){imageNum++}}var c=getPageSize();var a=getPageScroll();var f=a[1]+(c[3]/15);Element.setTop("lightbox",f);Element.show("lightbox");this.changeImage(imageNum)},changeImage:function(a){activeImage=a;Element.show("loading");imageDetailsEffect.hide();imageEffect.hide();navEffect.hide();Element.hide("prevLink");Element.hide("nextLink");Element.hide("numberDisplay");Element.setSrc("lightboxImage",fileBlankImage);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(b,a){this.wCur=Element.getWidth("outerImageContainer");this.hCur=Element.getHeight("outerImageContainer");if(1){var c=resizeImage(b,a);Element.setWidth("lightboxImage",c[0]);Element.setHeight("lightboxImage",c[1]);b=c[0];a=c[1]}wDiff=(this.wCur-borderSize*2)-b;hDiff=(this.hCur-borderSize*2)-a;reHeight=new Fx.Style("outerImageContainer","height",{duration:resizeDuration});reHeight.custom(Element.getHeight("outerImageContainer"),a+(borderSize*2));reWidth=new Fx.Style("outerImageContainer","width",{duration:resizeDuration,onComplete:function(){imageEffect.custom(0,1)}});reWidth.custom(Element.getWidth("outerImageContainer"),b+(borderSize*2));if((hDiff==0)&&(wDiff==0)){if(navigator.appVersion.indexOf("MSIE")!=-1){pause(250)}else{pause(100)}}Element.setHeight("prevLink",a);Element.setHeight("nextLink",a);Element.setWidth("imageDataContainer",b+(borderSize*2));Element.setWidth("hoverNav",b+(borderSize*2));this.showImage()},showImage:function(){Element.hide("loading");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","Image "+eval(activeImage+1)+" of "+imageArray.length)}myLightbox.updateNav()},updateNav:function(){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(a){if(a==null){keycode=event.keyCode}else{keycode=a.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");imageEffect.toggle();overlayEffect.custom(0.8,0);showSelectBoxes()}};function getPageSizeAll(){var a=new Array;a[0]=(document.documentElement&&document.documentElement.clientWidth)||window.innerWidth||self.innerWidth||document.body.clientWidth;a[1]=(document.documentElement&&document.documentElement.clientHeight)||window.innerHeight||self.innerHeight||document.body.clientHeight;a[2]=(document.documentElement&&document.documentElement.scrollLeft)||window.pageXOffset||self.pageXOffset||document.body.scrollLeft;a[3]=(document.documentElement&&document.documentElement.scrollTop)||window.pageYOffset||self.pageYOffset||document.body.scrollTop;a[4]=(document.documentElement&&document.documentElement.scrollWidth)?document.documentElement.scrollWidth:(document.body.scrollWidth>document.body.offsetWidth)?document.body.scrollWidth:document.body.offsetWidth;a[5]=(document.documentElement&&document.documentElement.scrollHeight)?document.documentElement.scrollHeight:(document.body.scrollHeight>document.body.offsetHeight)?document.body.scrollHeight:document.body.offsetHeight;return a}function getPageScroll(){var a=getPageSizeAll();var b=new Array(a[2],a[3]);return b}function getPageSize(){var a=getPageSizeAll();var b=new Array(a[4],a[5],a[0],a[1]);return b}function resizeImage(e,c){var a=new Array(e,c);var d=getPageSizeAll();if(d[2]||d[3]){d[0]-=30;d[1]-=30}if((a[0]>d[0])||(a[1]>d[1])){var b,j=1,g=1;var f=0.95,h=0.85;if(a[0]>(d[0]*f)){j=(d[0]*f)/a[0]}if(a[1]>(d[1]*h)){g=(d[1]*h)/a[1]}b=Math.min(j,g);a[0]*=b;a[1]*=b}return a}function getKey(a){if(a==null){keycode=event.keyCode}else{keycode=a.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(b){var a=new Date();var c=a.getTime()+b;while(true){a=new Date();if(a.getTime()>c){return}}}function initLightbox(){myLightbox=new Lightbox()};

