/*  Copyright 2009  Denzel Chia 

    This file is part of Photo Lightbox.

    Photo Lightbox is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Photo Lightbox is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Photo Lightbox.  If not, see <http://www.gnu.org/licenses/>.

*/

var nextImageTiming=35000;var refArray=[];var plbImage=[];var showOverlay=true;var overlayOpacity=80;var idNumber=0;var newwidth=0;var newheight=0;var currentImageNo=0;var TimerId=0;var nextImageId;var MarqueeTimer=0;function getOffset(){var pageY;var pageX;var offset=[];if(typeof(window.pageYOffset)=='number'){pageY=window.pageYOffset;pageX=window.pageXOffset;}
else{pageY=document.documentElement.scrollTop;pageX=document.documentElement.scrollLeft;}
offset.push(pageX,pageY);return offset;}
function getWebpageWidthHeight(){var xWithScroll;var yWithScroll;var webpageWH=[];if(window.innerHeight&&window.scrollMaxY){xWithScroll=window.innerWidth+window.scrollMaxX;yWithScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xWithScroll=document.body.scrollWidth;yWithScroll=document.body.scrollHeight;}else if(document.documentElement&&document.documentElement.scrollHeight>document.documentElement.offsetHeight){xWithScroll=document.documentElement.scrollWidth;yWithScroll=document.documentElement.scrollHeight;}else{xWithScroll=document.body.offsetWidth;yWithScroll=document.body.offsetHeight;}
webpageWH.push(xWithScroll,yWithScroll);return webpageWH;}
function getMonitorWidthHeight(){var viewportwidth;var viewportheight;var viewportWH=[];if(typeof window.innerWidth!=='undefined'){viewportwidth=window.innerWidth;viewportheight=window.innerHeight;}
else{if(typeof document.documentElement!=='undefined'&&typeof document.documentElement.clientWidth!=='undefined'&&document.documentElement.clientWidth!==0){viewportwidth=document.documentElement.clientWidth;viewportheight=document.documentElement.clientHeight;}}
viewportWH.push(viewportwidth,viewportheight);return viewportWH;}
function fadeImage(id,opacStart,opacEnd,millisec,fps){var speed=Math.ceil(fps*(millisec/1000));var timer=0;if(opacStart>opacEnd){for(i=opacStart;i>=opacEnd;i--){setTimeout("setOpacity("+i+",'"+id+"')",(timer*speed));timer++;}}else if(opacStart<opacEnd){for(i=opacStart;i<=opacEnd;i++)
{setTimeout("setOpacity("+i+",'"+id+"')",(timer*speed));timer++;}}}
function setOpacity(opacity,id){var object=document.getElementById(id).style;object.opacity=(opacity/100);object.MozOpacity=(opacity/100);object.KhtmlOpacity=(opacity/100);object.filter="alpha(opacity="+opacity+")";}
function hideFlashVideo(){var FVObject=document.getElementsByTagName("object");for(i=0;i<FVObject.length;i++){FVObject[i].style.visibility="hidden";}
var FVEmbed=document.getElementsByTagName("embed");for(i=0;i<FVEmbed.length;i++){FVEmbed[i].style.visibility="hidden";}}
function showFlashVideo(){var FVObject=document.getElementsByTagName("object");for(i=0;i<FVObject.length;i++){FVObject[i].style.visibility="visible";}
var FVEmbed=document.getElementsByTagName("embed");for(i=0;i<FVEmbed.length;i++){FVEmbed[i].style.visibility="visible";}}
function preloadPhotoLightBoxImages(){preloadPLBImg=new Image();PLBImg_url=[];PLBImg_url[0]="'+pb_to_image+'console.png";PLBImg_url[1]="'+pb_to_image+'bgoverlay.png";PLBImg_url[2]="'+pb_to_image+'ajaxloader.gif";PLBImg_url[3]="'+pb_to_image+'prev.png";PLBImg_url[4]="'+pb_to_image+'next.png";PLBImg_url[5]="'+pb_to_image+'pause.png";PLBImg_url[6]="'+pb_to_image+'play.png";for(i=0;i<7;i++){preloadPLBImg.src=PLBImg_url[i];}}
function elem(div){var d=document.getElementById(div);return d;}
function style(div){this.div=elem(div);}
style.prototype.setMargin=function(margin){this.mar=margin;this.div.style.margin=this.mar;return this.div.style.margin;};style.prototype.setPadding=function(padding){this.pad=padding;this.div.style.padding=this.pad;return this.div.style.padding;};style.prototype.setWidth=function(width){this.wid=width;this.div.style.width=this.wid;return this.div.style.width;};style.prototype.setHeight=function(height){this.hei=height;this.div.style.height=this.hei;return this.div.style.height;};style.prototype.setBackground=function(background){this.bac=background;this.div.style.background=this.bac;return this.div.style.background;};style.prototype.setZindex=function(zindex){this.zin=zindex;this.div.style.zIndex=this.zin;return this.div.style.zIndex;};style.prototype.setColor=function(color){this.col=color;this.div.style.color=this.col;return this.div.style.color;};style.prototype.setFontsize=function(fontsize){this.fon=fontsize;this.div.style.fontSize=this.fon;return this.div.style.fontSize;};style.prototype.setTextalign=function(textalign){this.tex=textalign;this.div.style.textAlign=this.tex;return this.div.style.textAlign;};style.prototype.setFontfamily=function(fontfamily){this.fon=fontfamily;this.div.style.fontFamily=this.fon;return this.div.style.fontFamily;};style.prototype.setCursor=function(cursor){this.cur=cursor;this.div.style.cursor=this.cur;return this.div.style.cursor;};style.prototype.setPosition=function(position){this.pos=position;this.div.style.position=this.pos;return this.div.style.position;};style.prototype.setLeft=function(left){var monitorWidth=getMonitorWidthHeight();var xoffset=getOffset();var absoluteLeft=(monitorWidth[0]/2+xoffset[0]);this.lef=left;this.div.style.left=absoluteLeft+this.lef+"px";return this.div.style.left;};style.prototype.setTop=function(top){var yoffset=getOffset();var absoluteTop=yoffset[1];this.top=top;this.div.style.top=absoluteTop+this.top+"px";return this.div.style.top;};style.prototype.setDisplay=function(display){this.dis=display;this.div.style.display=this.dis;return this.div.style.display;};style.prototype.setOverflow=function(of){this.of=of;this.div.style.overflow=this.of;return this.div.style.overflow;};function hideElements(div){for(i=0;i<div.length;i++){document.getElementById(div[i]).style.display='none';}}
function createElem(elementName){var e=document.createElement(elementName);e.id=elementName;document.body.appendChild(e);}
function createLink(elementName){var plink=document.createElement("a");plink.id=elementName;document.body.appendChild(plink);}
function createPLBElements(){var wh=getWebpageWidthHeight();var arrayoffset=getOffset();var overlaywidth=(wh[0]+arrayoffset[0])+"px";var overlayheight=(wh[1]+arrayoffset[1])+"px";createElem('TranslucentOverlay');var TO=new style("TranslucentOverlay");TO.setPosition('absolute');TO.setBackground("#000000");TO.setWidth(overlaywidth);TO.setHeight(overlayheight);TO.setDisplay('none');TO.setMargin('0px');TO.setPadding('0px');TO.setZindex('9980');elem("TranslucentOverlay").style.top='0px';elem("TranslucentOverlay").style.left='0px';setOpacity(0,'TranslucentOverlay');createElem('loadingimage');var lo=new style('loadingimage');lo.setZindex('9991');lo.setMargin('0px');lo.setPadding('0px');lo.setDisplay('none');lo.setWidth('75px');lo.setHeight('16px');lo.setFontsize('14px');lo.setTextalign('center');lo.setColor('#FFA500');lo.setFontfamily('Verdana');elem('loadingimage').style.lineHeight='1.2em';createElem('console');var Co=new style('console');Co.setBackground("url("+pb_to_image+"console.png)");Co.setZindex('9989');Co.setMargin('0px');Co.setPadding('0px');Co.setDisplay('none');Co.setWidth('766px');Co.setHeight('71px');createElem('ImageTitle');var Itt=new style('ImageTitle');Itt.setZindex('9990');Itt.setColor('#FFA500');Itt.setMargin('0px');Itt.setPadding('0px 2px 0px 2px');Itt.setDisplay('none');Itt.setTextalign('center');Itt.setFontfamily('Verdana');Itt.setFontsize('12px');Itt.setWidth('305px');Itt.setHeight('16px');elem('ImageTitle').style.lineHeight='1.2em';createElem('ImageTargetDiv');var ITD=new style("ImageTargetDiv");ITD.setDisplay('none');ITD.setZindex('9999');ITD.setMargin('0px');ITD.setPadding('8px');createElem('close');var C=new style('close');C.setZindex('9990');C.setMargin('0px');C.setPadding('0px 2px 0px 2px');C.setTextalign('center');C.setDisplay('none');C.setCursor('pointer');C.setWidth('40px');C.setHeight('43px');createElem('ImageCounter');var IC=new style('ImageCounter');IC.setZindex('9990');IC.setColor('#FFA500');IC.setMargin('0px');IC.setPadding('0px 2px 0px 2px');IC.setDisplay('none');IC.setTextalign('center');IC.setFontfamily('Verdana');IC.setFontsize('12px');elem('ImageCounter').style.lineHeight='1.2em';createLink('nextImageLink');var nIL=new style('nextImageLink');nIL.setZindex('9990');nIL.setMargin('0px');nIL.setPadding('0px');nIL.setBackground("url("+pb_to_image+"next.png)");nIL.setDisplay('none');nIL.setWidth('32px');nIL.setHeight('17px');createLink('prevImageLink');var pIL=new style('prevImageLink');pIL.setZindex('9990');pIL.setMargin('0px');pIL.setPadding('0px');pIL.setBackground("url("+pb_to_image+"prev.png)");pIL.setDisplay('none');pIL.setWidth('32px');pIL.setHeight('17px');createElem('pause');var pau=new style('pause');pau.setZindex('9990');pau.setMargin('0px');pau.setPadding('0px');pau.setBackground("url("+pb_to_image+"pause.png)");pau.setTextalign('center');pau.setDisplay('none');pau.setCursor('pointer');pau.setWidth('49px');pau.setHeight('49px');createElem('play');var pla=new style('play');pla.setZindex('9990');pla.setMargin('0px');pla.setPadding('0px');pla.setBackground("url("+pb_to_image+"play.png)");pla.setTextalign('center');pla.setDisplay('none');pla.setCursor('pointer');pla.setWidth('49px');pla.setHeight('49px');createElem('info');var inf=new style('info');inf.setZindex('9990');inf.setMargin('0px');inf.setPadding('0px 2px 0px 2px');inf.setTextalign('center');inf.setDisplay('none');inf.setCursor('pointer');inf.setWidth('15px');inf.setHeight('15px');createElem('infotext');var inft=new style('infotext');inft.setZindex('9990');inft.setMargin('0px');inft.setPadding('0px 2px 0px 2px');inft.setTextalign('center');inft.setDisplay('none');inft.setCursor('pointer');inft.setColor('#ffffff');inft.setFontsize('12px');inft.setFontfamily('Verdana');elem('infotext').innerHTML='Photo Lightbox by Denzel Designs';}
var delayscroll=1000;var marqueespeed=2;function scrollmarquee(){if(parseInt(marquee.style.left)>(marqueeWidth*(-1)+8)){marquee.style.left=parseInt(marquee.style.left)-marqueespeed+"px";}
else{marquee.style.left=parseInt(marqueeContainerWidth)+"px";}}
function initializemarquee(){marquee=document.getElementById("MarqueeText");marquee.style.left='0px';marqueeWidth=marquee.offsetWidth;marqueeContainerWidth=document.getElementById("MarqueeContainer").offsetWidth;setTimeout('MarqueeTimer=setInterval("scrollmarquee()",100)',delayscroll);}
function hideOverlay(){var elementArray=[];elementArray.push('TranslucentOverlay','loadingimage','pause','play');hideElements(elementArray);}
function hidePLBox(){clearTimeout(TimerId);clearTimeout(MarqueeTimer);fadeImage('TranslucentOverlay',overlayOpacity,0,100,10);setTimeout(hideOverlay,100);var elements=[];elements.push("close","ImageCounter","ImageTargetDiv","nextImageLink","prevImageLink","console","ImageTitle","loadingimage","pause","play","info");hideElements(elements);showFlashVideo();elem('ImageTargetDiv').innerHTML="";}
function nextImage(){if(document.getElementById(nextImageId)===null){hidePLBox();}else{clearTimeout(TimerId);clearTimeout(MarqueeTimer);showimage(nextImageId);}}
function searchImageLinks(){var count=0;var linksInWebpage=document.getElementsByTagName("a");for(i=0;i<linksInWebpage.length;i++){if(linksInWebpage[i].getAttribute("href")){if(linksInWebpage[i].getAttribute("href").search(/(.*)\.(jpg|jpeg|gif|png|bmp|tif|tiff)/gi)!=-1){if(linksInWebpage[i].getAttribute("rel")!="exclude"){refArray[count]=linksInWebpage[i];count++;linksInWebpage[i].onclick=function(event){groupLinks(this);hideFlashVideo();return false;};}}}}}
function groupLinks(Obj){idNumber=0;var ID;for(f=0;f<refArray.length;f++){ID=(f)+'image';if(elem(ID)!==null){plbImage[f].removeAttribute('id');}}
var ObjRel=Obj.getAttribute('rel');if(ObjRel===null){plbImage[0]=Obj;plbImage[0].setAttribute('id','0image');var selectedImageId=plbImage[0].id;idNumber++;showimage(selectedImageId);if(showOverlay===true){elem('TranslucentOverlay').style.display="block";setOpacity(0,'TranslucentOverlay');fadeImage('TranslucentOverlay',0,overlayOpacity,100,15);}
return false;}
var ObjRel2=Obj.getAttribute('rel');if(ObjRel2!==null){var count2=0;for(v=0;v<refArray.length;v++){if(Obj.getAttribute('rel')==refArray[v].getAttribute('rel')){plbImage[count2]=refArray[v];plbImage[count2].setAttribute('id',idNumber+'image');count2++;idNumber++;}}
var selectedImagId=Obj.getAttribute('id');showimage(selectedImagId);}
if(showOverlay===true){elem('TranslucentOverlay').style.display="block";setOpacity(0,'TranslucentOverlay');fadeImage('TranslucentOverlay',0,overlayOpacity,100,15);elem('loadingimage').style.display="block";}}
function showimage(selectedImageId){elem('ImageTargetDiv').style.display='block';var load=new style('loadingimage');load.setPosition('absolute');load.setDisplay('block');load.setTop(+42);load.setLeft(+258);elem('loadingimage').innerHTML='<img src="'+pb_to_image+'ajaxloader.gif" alt="carregando" />';var cons=new style('console');cons.setDisplay('block');cons.setPosition('absolute');cons.setTop(+15);cons.setLeft(-393);var Ig=new style('ImageTitle');Ig.setDisplay('block');Ig.setPosition('absolute');Ig.setTop(+42);Ig.setLeft(-265);var clos=new style('close');clos.setDisplay('block');clos.setPosition('absolute');clos.setTop(+28);clos.setLeft(+205);var Icount=new style('ImageCounter');Icount.setDisplay('block');Icount.setPosition('absolute');Icount.setTop(+42);Icount.setLeft(-350);var nextL=new style('nextImageLink');nextL.setDisplay('block');nextL.setPosition('absolute');nextL.setTop(+42);nextL.setLeft(+160);var prevL=new style('prevImageLink');prevL.setDisplay('block');prevL.setPosition('absolute');prevL.setTop(+42);prevL.setLeft(+60);var paus=new style('pause');paus.setDisplay('block');paus.setPosition('absolute');paus.setTop(+26);paus.setLeft(+103);var play=new style('play');play.setPosition('absolute');play.setTop(+26);play.setLeft(+103);var inf=new style('info');inf.setDisplay('block');inf.setPosition('absolute');inf.setTop(+42);inf.setLeft(+346);var inft=new style('infotext');inft.setPosition('absolute');inft.setTop(+84);inft.setLeft(+165);elem('pause').onclick=function(event){clearTimeout(TimerId);elem('loadingimage').style.display="block";elem('loadingimage').innerHTML='Pausa';elem('play').style.display='block';elem('pause').style.display='none';};elem('play').onclick=function(event){clearTimeout(TimerId);nextImage();elem('loadingimage').style.display="block";elem('loadingimage').innerHTML='Iniciar';elem('play').style.display='none';elem('pause').style.display='block';};var imageIdNumber;imageIdNumber=selectedImageId;var imageIdNumberInteger=parseInt(imageIdNumber);currentImageNo=imageIdNumberInteger;var imageTitleText=elem(selectedImageId).getAttribute("title");if(imageTitleText===null){elem('ImageTitle').innerHTML='No Title';}else{var text='<div id="MarqueeContainer" style="position:relative;width:305px;height:16px;overflow:hidden;text-align:center">';text+='<div id="MarqueeText" style="width:100%;position:absolute;white-space:nowrap;text-align:center">';text+=imageTitleText;text+='</div></div>';elem('ImageTitle').innerHTML=text;}
var preloadCurrentImg=new Image();preloadCurrentImg.onerror=function(event){var ta=new style("ImageTargetDiv");ta.setPosition('absolute');ta.setTop(+100);ta.setLeft(-250);elem('ImageTargetDiv').innerHTML="Erro carregando a imagem, por algum dos seguintes motivos:<br/><br/>1) Link errado<br/>2) Imagem removida do servidor<br/>3) Erro de servidor";ta.setColor('#ffffff');elem('ImageCounter').innerHTML='0 of 0';var hideElemArray=[];hideElemArray.push('nextImageLink','prevImageLink');hideElements(hideElemArray);};preloadCurrentImg.onload=function(){var actualwidth=preloadCurrentImg.width;var actualheight=preloadCurrentImg.height;var monitorWidthHeight=getMonitorWidthHeight();newheight=(monitorWidthHeight[1]*0.7);newwidth=(newheight/actualheight)*actualwidth;if(newwidth>(monitorWidthHeight[0]*0.8)){newwidth=monitorWidthHeight[0]*0.8;}
var targ=new style("ImageTargetDiv");targ.setPosition('absolute');targ.setTop(+100);var xxoffset=getOffset();elem("ImageTargetDiv").style.left=((monitorWidthHeight[0]-newwidth)/2+xxoffset[0]-26)+"px";var CurrentImg=new Image();CurrentImg.id='CurrentImage';var CurrentImageID=(currentImageNo)+"image";var imageLink=elem(CurrentImageID).href;var imageWidth=newwidth;CurrentImg='<img src="'+imageLink+'" id="CurrentImage" width="'+imageWidth+'" alt="" />';elem('ImageTargetDiv').innerHTML=CurrentImg;var CI=new style('CurrentImage');CI.setDisplay('none');CI.setBackground("url("+pb_to_image+"bgoverlay.png)");CI.setPadding('10px');var count=currentImageNo+1;elem('ImageCounter').innerHTML=count;elem('ImageCounter').innerHTML+=' of ';elem('ImageCounter').innerHTML+=idNumber;nextImageId=(currentImageNo+1)+'image';if(elem(nextImageId)!==null){elem('nextImageLink').href=elem(nextImageId).getAttribute("href");preloadNextImage=new Image();preloadNextImage.src=elem('nextImageLink').href;elem('nextImageLink').onclick=function(event){clearTimeout(TimerId);clearTimeout(MarqueeTimer);elem('play').style.display='none';elem('pause').style.display='block';showimage(nextImageId);return false;};}
else{elem('nextImageLink').style.display='none';}
var prevImageId=(currentImageNo-1)+'image';if(elem(prevImageId)!==null){elem('prevImageLink').href=elem(prevImageId).getAttribute("href");preloadPrevImage=new Image();preloadPrevImage.src=elem('prevImageLink').href;elem('prevImageLink').onclick=function(event){clearTimeout(TimerId);clearTimeout(MarqueeTimer);elem('play').style.display='none';elem('pause').style.display='block';showimage(prevImageId);return false;};}
else{elem('prevImageLink').style.display='none';}
setOpacity(0,'CurrentImage');elem('CurrentImage').style.display="block";elem('loadingimage').style.display="none";fadeImage('CurrentImage',0,100,500,15);var m=elem('MarqueeText').innerHTML;if(m.length>46){initializemarquee();}};var preloadImageId=(currentImageNo)+"image";preloadCurrentImg.src=elem(preloadImageId).href;if(showOverlay===true){elem("TranslucentOverlay").onclick=function(event){hidePLBox();};}
elem('close').onclick=function(event){hidePLBox();};elem('info').onmouseover=function(event){elem('infotext').style.display='block';};elem('info').onmouseout=function(event){elem('infotext').style.display='none';};TimerId=setTimeout(nextImage,nextImageTiming);}
function initiatePLB(){searchImageLinks();createPLBElements();preloadPhotoLightBoxImages();}