/* Omega Skip's Lightbox - SAFETY NOT GUARANTEED! */
/* Memo to self: Clean up this code, for it is wretched */
/* ############# GLOBAL VARIABLES, DEFAULT VALUES ############# */

ticked = 0;
hideMe = true;
sliderTicked = 0;
nowViewing = 0;
animationLock = false;
currentPage = 0;
shotsPerPage = 12;
imgredir=""
nothumb = revorder = false


/* ############# FUNCTIONS ############# */

/*
<div id="dumpster" style="display:none;">
	<div id="redBlock">
		<div id="c0ver" onClick="hideScreenie();" class="coverStyle"></div>
		<div id="pictureFrame" onClick="hideScreenie();" class="pictureFrameStyle">
			<center>
				<div id="Screenie" onClick="nextScreenshot();" onMouseOver="hideMe = false;" onMouseOut="hideMe = true;" class="screenieStyle">
					<div id="Screenie2" class="screenieStyle" style="width:100%; height:100%; opacity:0; filter:alpha(opacity=0);"></div>
				</div>
			</center>
		</div>
	</div>
</div>
*/
function addEvent(obj, evType, fn)
{  
 if (obj.addEventListener){ obj.addEventListener(evType, fn, false); return true; }
 else if (obj.attachEvent){ var r = obj.attachEvent("on"+evType, fn); return r; } else { return false; }
}
 
galpg = entergal = null;
cpg = (document.location.href) ? document.location.href : document.location;
if(cpg.indexOf("#")>0)
{
	parr = cpg.split('#');
	cpg = parr[parr.length-1];
	pgend = cpg.indexOf('.');
	shtend = cpg.indexOf('-');
	shts = cpg.slice(shtend+1);
	galpg = cpg.slice(pgend+1, shtend);
	entergal = cpg.slice(cpg.indexOf('g') + 1, pgend);
}
 
function linkhere()
{ document.location = "#" + (currentPage + 1) +"."+ nowViewing +"-"+ shotsPerPage;
  //alert("#" + currentPage +"."+ nowViewing);
}

function omegaLightBox(thisScreenshot)
{
	nowViewing = thisScreenshot;
	screenImage = new Image();
	screenImage.src = shotList[nowViewing];
	nextShot = new Image();
	nextShot.src = (shotList[nowViewing+1]) ? shotList[nowViewing+1] : shotList[0];
	prevShot = new Image();
	prevShot.src = (shotList[nowViewing-1]) ? shotList[nowViewing-1] : shotList[shotList.length-1];
	/**/
	if(!document.getElementById("dumpster"))
	{ 
		closeGifElement = document.createElement("img");
		closeGifElement.src = imgredir + "images/closeGif.gif";
		closeGifElement.onclick = function(){setHide(true); hideScreenie()};
		closeGifElement.className = "closeGifStyle";

		backGifElement = document.createElement("img");
		backGifElement.src =  imgredir + "images/backGif.gif";
		if(!revorder) backGifElement.onclick = function(){nextScreenshot()};
		else backGifElement.onclick = function(){prevScreenshot()};
		backGifElement.className = "backGifStyle";
		
		fwdGifElement = document.createElement("img");
		fwdGifElement.src = imgredir + "images/fwdGif.gif";
		if(!revorder) fwdGifElement.onclick = function(){prevScreenshot()};
		else fwdGifElement.onclick = function(){nextScreenshot()};
		fwdGifElement.className = "fwdGifStyle";
		
		screenie2Element = document.createElement("div");
		screenie2Element.id = "Screenie2";
		screenie2Element.className = "screenie2Style";
		if(!revorder)  screenie2Element.onclick = function(){prevScreenshot()};
		else screenie2Element.onclick = function(){nextScreenshot()};

		screenieElement = document.createElement("div");
		screenieElement.id = "Screenie";
		screenieElement.className = "screenieStyle";
		screenieElement.onmouseover = function(){setHide(false)};
		screenieElement.onmouseout = function(){setHide(true);};		
		screenieElement.appendChild(closeGifElement);
		screenieElement.appendChild(fwdGifElement);
		screenieElement.appendChild(backGifElement);
		screenieElement.appendChild(screenie2Element);
		

		centerElement = document.createElement("center");
		centerElement.appendChild(screenieElement);
		
		pictureFrameElement = document.createElement("div");
		pictureFrameElement.id = "pictureFrame";
		pictureFrameElement.className = "pictureFrameStyle";
		pictureFrameElement.onclick = function(){hideScreenie()};
		pictureFrameElement.appendChild(centerElement);
		
		
		c0verElement = document.createElement("div");
		c0verElement.id = "c0ver";
		c0verElement.className = "c0verStyle";
		c0verElement.onclick = function(){hideScreenie()};
		
		redBlockElement = document.createElement("div");
		redBlockElement.id = "redBlock";
		redBlockElement.appendChild(c0verElement);
		redBlockElement.appendChild(pictureFrameElement);

		dumpsterElement = document.createElement("div");
		dumpsterElement.id = "dumpster";
		dumpsterElement.className = "dumpsterStyle";
		dumpsterElement.appendChild(redBlockElement);
		
		document.getElementsByTagName("body")[0].appendChild(dumpsterElement);
		addEvent(window, 'resize', adjustBackgroundStuff);

	}

	loadScreenshot(nowViewing);
	document.getElementsByTagName("body")[0].appendChild(document.getElementById("redBlock"));
}

function loadScreenshot(thisScreenshot)
{
	adjustBackgroundStuff();
  if(screenImage.complete && !animationLock)
	{	
		document.getElementById("Screenie").style.height = screenImage.height + "px";
		document.getElementById("Screenie").style.width = "1px";
		document.getElementById("Screenie").style.backgroundImage = "url('"+screenImage.src+"')";
		animationLock = true;
		startTheAnimation = window.setInterval("resizeScreenshot()",10);
	}
	else { window.setTimeout("loadScreenshot('"+thisScreenshot+"')",250); }
}


function resizeScreenshot()
{ targwidth =  screenImage.width;
  targwidth = (!targwidth % 2)?targwidth--:targwidth
	if (ticked >= 210)
  {
		ticked = 0;
		animationLock = false;
    window.clearInterval(startTheAnimation);							//stop the animation
	}
	else
	{
		document.getElementById("Screenie").style.width = (targwidth*ticked/200) + "px";
		ticked += 10;
	}
}

function adjustBackgroundStuff()
{
	windowHeight = (window.innerHeight) ? window.innerHeight : document.body.clientHeight;
	windowWidth = (window.innerWidth) ? window.innerWidth : document.body.clientHeight;
	//document.getElementById("pictureFrame").style.top = "75px";
	document.getElementById("c0ver").style.width = document.body.scrollWidth + "px";
	document.getElementById("c0ver").style.height = document.body.scrollHeight + "px";
	document.getElementById("pictureFrame").style.top = document.body.scrollTop + 60 + "px";
	
}

function setHide(thisValue) { hideMe = thisValue; }

function hideScreenie()
{
	if (hideMe)
	{  
		document.getElementById("Screenie").style.width = "1px";
		document.getElementById("Screenie").style.height = "1px";
		document.getElementById("dumpster").appendChild(document.getElementById("redBlock"));
	}
}

function dispImgData()
{  }

function prevScreenshot()
{
	if(!animationLock)
	{
		if(!revorder) { backGifElement.src = imgredir + "images/backGif.gif";
						fwdGifElement.src = imgredir + "images/fwdGif_on.gif";	}
		else		  { backGifElement.src = imgredir + "images/backGif_on.gif"; 
						fwdGifElement.src = imgredir + "images/fwdGif.gif";	}
		slideShowResizerPrev();
		dispImgData();
	}
}

function nextScreenshot()
{
	if(!animationLock)
	{
		if(!revorder) { backGifElement.src = imgredir + "images/backGif_on.gif";
						fwdGifElement.src = imgredir + "images/fwdGif.gif"; }
		else		  { backGifElement.src = imgredir + "images/backGif.gif";
						fwdGifElement.src = imgredir + "images/fwdGif_on.gif";	}
		slideShowResizer();
		dispImgData();
	}
}

function resizeNewScreenshot()
{
	if (sliderTicked >= 160)
  {
    window.clearInterval(startTheResizer);							//stop the animation
		document.getElementById("Screenie").style.backgroundImage = "url('"+shotList[nowViewing]+"')";
		document.getElementById("Screenie2").style.opacity = 0;
		document.getElementById("Screenie2").style.filter = "alpha(opacity=0)";
		sliderTicked = 0;
		animationLock = false;
		delete prevShot;
		prevShot = screenImage;
		delete screenImage;
		screenImage = nextShot;
		delete nextShot;
		nextShot = new Image();
		nextShot.src = (shotList[nowViewing+1]) ? shotList[nowViewing+1] : shotList[0];
		dispImgData();
	}
	else
	{
		document.getElementById("Screenie2").style.opacity = sliderTicked/150;
		document.getElementById("Screenie2").style.filter = "alpha(opacity="+(sliderTicked/150)*100+")"; //;
		document.getElementById("Screenie").style.width = (screenImage.width+(deltaX*sliderTicked/150)) + "px";
		document.getElementById("Screenie").style.height = (screenImage.height+(deltaY*sliderTicked/150)) + "px";
		sliderTicked += 10;
	}
}

function resizeNewScreenshotPrev()
{
	if (sliderTicked >= 160)
  {
    window.clearInterval(startTheResizerPrev);							//stop the animation
		document.getElementById("Screenie").style.backgroundImage = "url('"+shotList[nowViewing]+"')";
		document.getElementById("Screenie2").style.opacity = 0;
		document.getElementById("Screenie2").style.filter = "alpha(opacity=0)";
		sliderTicked = 0;
		animationLock = false;
		delete nextShot;
		nextShot = screenImage;
		delete screenImage;
		screenImage = prevShot;
		delete prevShot;
		prevShot = new Image();
		prevShot.src = (shotList[nowViewing-1]) ? shotList[nowViewing-1] : shotList[shotList.length-1];
		dispImgData();
	}
	else
	{
		document.getElementById("Screenie2").style.opacity = sliderTicked/150;
		document.getElementById("Screenie2").style.filter = "alpha(opacity="+(sliderTicked/150)*100+")"; //;
		document.getElementById("Screenie").style.width = (screenImage.width+(deltaX*sliderTicked/150)) + "px";
		document.getElementById("Screenie").style.height = (screenImage.height+(deltaY*sliderTicked/150)) + "px";
		sliderTicked += 10;
	}
}

function pause() { alert("STOP! Hammertime!"); }

function slideShowResizer()
{
	animationLock = true;
	if(nextShot.complete)
	{   document.getElementById("Screenie").style.cursor = "default";
		nowViewing = (shotList[nowViewing+1]) ? nowViewing+1 : 0;
		document.getElementById("Screenie2").style.backgroundImage = "url('"+nextShot.src+"')";
		deltaY = nextShot.height - screenImage.height;
		deltaX = nextShot.width - screenImage.width;
		screenie2Element.onclick = function(){nextScreenshot()};
		startTheResizer = window.setInterval("resizeNewScreenshot()",10);
	}
	else
	{	
		document.getElementById("Screenie").style.cursor = "wait";
		window.setTimeout("slideShowResizer()",250);
	}
}

function slideShowResizerPrev()
{
	animationLock = true;
	if(prevShot.complete)
	{	document.getElementById("Screenie").style.cursor = "default";
		nowViewing = (shotList[nowViewing-1]) ? nowViewing-1 : shotList.length-1;
		document.getElementById("Screenie2").style.backgroundImage = "url('"+prevShot.src+"')";
		deltaY = prevShot.height - screenImage.height;
		deltaX = prevShot.width - screenImage.width;
		screenie2Element.onclick = function(){prevScreenshot()};
		startTheResizerPrev = window.setInterval("resizeNewScreenshotPrev()",10);
	}
	else
	{	
		document.getElementById("Screenie").style.cursor = "wait";
		window.setTimeout("slideShowResizerPrev()",250);
	}
}


/* -- N.E.D.M. -- */

function printPages()
{
	numPages = Math.ceil(shotList.length/shotsPerPage);//)'><img src='../../../blizzcon07/includes/scripts/images/photos/test.jpg'></a></div>
	outString = "";
	for(i = 0; i < shotsPerPage; i++)
	{
		if(!revorder) n = shotList.length-(shotsPerPage*currentPage+i)-1;
		else { n = (shotsPerPage*currentPage+i); }
		if(shotList[n])
		{	altag = ""
		    if(shotListData[nowViewing])
		    { altag = shotListData[n].replace(/<b class0='title'>/,"");
			  altag = altag.replace(/<b class0 = 'title'>/,""); 
			  altag = altag.replace(/<\/b><br>/," ");
		      endpos = altag.indexOf("<br>")
			  altag = altag.slice(0,endpos); }
			if(nothumb)thumbnail = shotList[n]
			else {thumbnail = shotList[n].replace(".jpg","-thumb.jpg");}
			outString += "<div><div><a href='javascript:omegaLightBox("+n+")'><img alt='"+altag+"' src='"+thumbnail+"'></a></div></div>";
		}
	}
	if(document.getElementById("galleryPictures"))
	{
		document.getElementById("galleryPictures").innerHTML = outString;
		document.getElementById("pageNum").innerHTML = "" + Number(currentPage+1) + " of " + numPages + ""; 
	}
}

function galleryPrev()
{
	if(currentPage > 0) { currentPage--; }
	else { currentPage = numPages-1; }
	printPages();
}

function galleryNext()
{
	if(currentPage < numPages-1) { currentPage++; }
	else { currentPage = 0; }
	printPages();
}

function ThumbSize(size) 
{ currimage = shotsPerPage * currentPage; 
document.getElementById("galleryPictures").className = "pictureGallery " + size;
shotsPerPage = (size=="sixteen")?16:(size=="nine")?9:4;
 currentPage = Math.floor(currimage / shotsPerPage);
printPages();
if(currentPage > numPages){currentPage = numPages-1; printPages();}
}
