/* 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;

//alert("Screenie Loaded")
/* ############# 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 omegaLightBox(thisScreenshot, omegaoverride)
{
	if(omegaoverride)
	{ 
	screenImage = new Image();
	screenImage.src = thisScreenshot; nextShot = prevShot = fwdGifElement = backGifElement = null; 
	}
	else { 
	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 = "/new-hp/images/menu/closeGif.gif";
		closeGifElement.onclick = function(){setHide(true); hideScreenie()};
		closeGifElement.className = "closeGifStyle";

		if(prevShot){
		backGifElement = document.createElement("img");
		backGifElement.src = "/new-hp/images/menu/backGif.gif";
		backGifElement.onclick = function(){prevScreenshot()};
		backGifElement.className = "backGifStyle"; 
		}
		
		if(nextShot){
		fwdGifElement = document.createElement("img");
		fwdGifElement.src = "/new-hp/images/menu/fwdGif.gif";
		fwdGifElement.onclick = function(){nextScreenshot()};
		fwdGifElement.className = "fwdGifStyle";
		}
		
		screenie2Element = document.createElement("div");
		screenie2Element.id = "Screenie2";
		screenie2Element.className = "screenie2Style";
		screenie2Element.style.cursor = "pointer"; 
		if(nextShot){ screenie2Element.onclick = function(){nextScreenshot()}; }
		else { screenie2Element.onclick = function(){ closeGifElement.onclick()}; screenie2Element.title = "Close" }

		screenieElement = document.createElement("div");
		screenieElement.id = "Screenie";
		screenieElement.className = "screenieStyle";
		screenieElement.onmouseover = function(){setHide(false)};
		screenieElement.onmouseout = function(){setHide(true);};		
		screenieElement.appendChild(closeGifElement);
		if(prevShot){
		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);
		window.onscroll = window.onresize = 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); }
}

var currwidth;
var mod = (is_ie)?8:0
function resizeScreenshot()
{	 	 
 if (ticked >= 310 || screenImage.width - currwidth <= 2 )
  {  document.getElementById("Screenie").style.width = screenImage.width + "px"
  	 
	 ticked = 0;
	 animationLock = false;
    window.clearInterval(startTheAnimation);							//stop the animation
	}
	else
	{  
		//document.getElementById("Screenie").style.width = (screenImage.width*ticked/300) + "px";
		//ticked += 10;
		currwidth = document.getElementById("Screenie").style.width.slice(0,-2)
		currwidth -= (currwidth - screenImage.width - mod)/3
		
		document.getElementById("Screenie").style.width = currwidth + "px"
	}
	 //document.getElementById("output").innerHTML = "nimagewidth: " + screenImage.width  + " |  currwidth: " + currwidth;
}

function adjustBackgroundStuff()
{  docbody = (document.documentElement)?document.documentElement:document.body
	windowHeight = (window.innerHeight) ? window.innerHeight : docbody.clientHeight;
	windowWidth = (window.innerWidth) ? window.innerWidth : docbody.clientHeight;
	//document.getElementById("pictureFrame").style.top = "75px";
	document.getElementById("c0ver").style.width = docbody.scrollWidth + "px";
	document.getElementById("c0ver").style.height = docbody.scrollHeight + "px";
	scrolltop = (document.body.scrollTop)?document.body.scrollTop:docbody.scrollTop
	document.getElementById("pictureFrame").style.top = scrolltop + 30 + "px";
	
}

function setHide(thisValue) { hideMe = thisValue; }

function hideScreenie()
{ 
	if (hideMe)
	{   currwidth = 1; animationLock = false; window.clearInterval(startTheAnimation);
		document.getElementById("Screenie").style.width = "1px";
		//document.getElementById("Screenie").style.height = "1px";
		document.getElementById("dumpster").appendChild(document.getElementById("redBlock"));
	}
}

function nextScreenshot()
{ 
	if(!animationLock) slideShowResizer();
}

function prevScreenshot()
{ 
	if(!animationLock) slideShowResizerPrev();
}

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];
	}
	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];
	}
	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='images/photos/test.jpg'></a></div>
	outString = "";
	for(i = 0; i < shotsPerPage; i++)
	{
		n = shotsPerPage*currentPage+i;
		if(shotList[n])
		{
			thumbnail = shotList[n].replace(".jpg","-thumb.jpg");
			outString += "<div><a href='javascript:omegaLightBox("+n+")'><img src='"+thumbnail+"'></a></div>";
		}
	}
	document.getElementById("galleryPictures").innerHTML = outString;
	document.getElementById("pageNum").innerHTML = currentPage+1;
}

function galleryPrev()
{
	if(currentPage > 0) { currentPage--; }
	else { currentPage = numPages-1; }	
	printPages();
}

function galleryNext()
{
	if(currentPage < numPages-1) { currentPage++; }
	else { currentPage = 0; }
	printPages();
}

/*onLoad*/
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; } }

addEvent(window, 'load',omegaScan);

function omegaScan(){
  anc = document.getElementsByTagName("a") 
  for(i=0; i<anc.length; i++)
  { if(anc[i].rel=="screenie"){ anc[i].onclick = addomega;  }
  }
}

function addomega()
{ omegaLightBox(this.href,1); return false; }

function omegaLightBox(thisImage,thisParam)
{
	hydraVision(thisImage);
}

/**/
/* Omega Skip's Lightbox - SAFETY NOT GUARANTEED! */
/* Memo to self: Clean up this code, for it is wretched */
/* ############# GLOBAL VARIABLES, DEFAULT VALUES ############# */
function addStylesheet(href, media) {
	document.getElementsByTagName("head")[0].appendChild(createElement('link', {
		'rel': 'stylesheet',
		'type': 'text/css',
		'media': media ? media : 'screen, projection',
		'href': href
	}));
}
function createElement(name, attrs, doc, xmlns) {
	var doc = doc ? doc : document;
	var elm;
	if(doc.createElementNS)
		elm = doc.createElementNS(xmlns ? xmlns : "http://www.w3.org/1999/xhtml", name);
	else
		elm = doc.createElement(name);
	if(attrs)
		for(attr in attrs)
			elm.setAttribute(attr, attrs[attr]);
	return elm;
}
function addEvent(obj, evType, fn) {
	if(obj.addEventListener) {
		obj.addEventListener(evType, fn, false);
		return true;
	} else if(obj.attachEvent)
		return obj.attachEvent("on" + evType, fn);
	return false;
}

function mgah(e)
{
	if(typeof e == 'string') return document.getElementById(e);
	return e;
}

/*##########################TOTALLY TEMPORARY###############################*/

ticked = 0;
hideMe = true;
sliderTicked = 0;
loadBarTicked = 0;
nowViewing = 0;
animationLock = false;
currentPage = 0;
shotsPerPage = 9;
firstLoad = true;
shotList = new Array();
slideShow = false;
slideShowDirection = 1;
screenImage = "";
crossfadeTime = 80;
topBrowserOffset = 70;
downloadString = false;

lightboxClosed = true;
dumpsterIsReady = false;
galleryPageImages = 12;
/* ############# FUNCTIONS ############# */

function linkHere() { document.location = "#" + (currentShotNumber - nowViewing); }

function hydraVision(thisScreenshot, noHiRes)
{
	lightboxClosed = false;
	showHiRes = (typeof noHiRes!= "undefined")?noHiRes:true;
	notViewingGallery = (typeof thisScreenshot == "string");
	if(notViewingGallery) hydraLightbox(thisScreenshot)
	else hydraGalleryLightbox(thisScreenshot)
}

function hydraLightbox(thisScreenshot)
{
	screenImage = new Image();
	screenImage.src = thisScreenshot;
	if(!dumpsterIsReady) { createLightboxFramework(); }
	hiResLinkElement.style.display = (showHiRes)?"block":"none";
	loadHydraScreenshot(thisScreenshot);
}

function hydraGalleryLightbox(thisScreenshot)
{
	nowViewing = eval(thisScreenshot);
	screenImage = new Image();
	crossfadeTime = (crossfadeTime!=80)?80:crossfadeTime;
	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(!dumpsterIsReady) { createLightboxFramework(); }
	hiResLinkElement.style.display = (showHiRes)?"block":"none";
	if (navigator.userAgent.toLowerCase().indexOf('mac') != -1) { macGalleryScroll(); }
	else loadHydraScreenshot(thisScreenshot);
}

function macGalleryScroll(thisScreenshot)
{
	macScreenshot = thisScreenshot;
	animationLock = true;
	isSafari = (navigator.userAgent.indexOf("Safari")==-1)?false:true;
	windowHeight = (window.innerHeight) ? window.innerHeight : documentBody.clientHeight;
	bodyHeight = document.getElementsByTagName("body")[0].offsetHeight;
	scrollDistance = (isSafari) ? document.documentElement.scrollTop : window.pageYOffset;
	deltaScroll = (bodyHeight-windowHeight-scrollDistance)/(crossfadeTime/10);
	macScrollDown = window.setInterval("scrollMac()",10);
}

function scrollMac()
{
	if (sliderTicked >= crossfadeTime+10)
  {
    window.clearInterval(macScrollDown);
		sliderTicked = 0;
		animationLock = false;
		loadHydraScreenshot(macScreenshot);
	}
	else
	{
		window.scrollBy(0,deltaScroll);
		sliderTicked += 10;
	}
}

function loadHydraScreenshot(thisScreenshot)
{   obs = document.getElementsByTagName("object")
	embs = document.getElementsByTagName("embed")
	for(i=0; i<obs.length;i++){ obs[i].style.visibility = "hidden" }
	for(i=0; i<embs.length;i++){ embs[i].style.visibility = "hidden" }
	getWindowDimensions();
	if(!downloadString) 
	{
		//downloadString = mgah("hiResStringContainer").innerHTML;
		downloadString = (mgah("hiResStringContainer"))?mgah("hiResStringContainer").innerHTML:"";
	}
	documentBody.appendChild(lightboxAnchor);
	if(screenImage.complete && !animationLock)
	{
		if(!lightboxClosed)
		{
			screenieElement.style.height = screenImage.height+"px";
			screenieElement.style.width = screenImage.width+"px";
			screenieElement.style.backgroundImage = "url('"+screenImage.src+"')";
			animationLock = (notViewingGallery);
			if(!notViewingGallery)
			{
				mgah("currentImageCounter").innerHTML = shotList.length-nowViewing;
				linkDivElement.value = document.location.href.split("#")[0]+"#"+(shotList.length - nowViewing);
			}
			hiResLinkElement.innerHTML = "<a href='"+screenImage.src.replace(".jpg","-hires.jpg")+"' target='_blank'>"+downloadString+"</a>";
			screenieElement.style.left = windowWidth/2-screenImage.width/2+"px";
			pictureFrameElement.style.display = "block";
		}
	}
	else { window.setTimeout("loadHydraScreenshot('"+thisScreenshot+"')",250); }
}

function getWindowDimensions()
{
/*
	docbody = (document.documentElement)?document.documentElement:document.body
	windowHeight = (window.innerHeight) ? window.innerHeight : docbody.clientHeight;
	windowWidth = (window.innerWidth) ? window.innerWidth : docbody.clientHeight;
	c0verElement.style.width = docbody.scrollWidth + "px";
	c0verElement.style.height = docbody.scrollHeight + "px";
	scrollDistance = (document.body.scrollTop)?document.body.scrollTop:docbody.scrollTop
	screenieElement.style.top = scrollDistance + topBrowserOffset + "px";	
*/

	windowHeight = (window.innerHeight) ? window.innerHeight : documentBody.clientHeight;
	windowWidth = (window.innerWidth) ? window.innerWidth : documentBody.clientWidth;
	c0verElement.style.width = documentBody.scrollWidth + "px";
	c0verElement.style.height = document.documentElement.scrollHeight + "px";
	if(navigator.userAgent.indexOf("MSIE")!=-1) c0verElement.style.height = (document.location.href.indexOf("wrath")!= -1)?document.documentElement.scrollHeight + "px":document.body.scrollHeight + "px";
	scrollDistance = (navigator.userAgent.indexOf("Safari")==-1) ? document.documentElement.scrollTop : window.pageYOffset;
	if(navigator.userAgent.indexOf("MSIE")!=-1) scrollDistance = (document.location.href.indexOf("wrath")!= -1)?document.documentElement.scrollTop:document.body.scrollTop;
	else if(document.location.href.indexOf("html")!= -1) scrollDistance = document.body.scrollTop;
	screenieElement.style.top = screenie2Element.style.top = scrollDistance + topBrowserOffset + "px";
}

function setHide(thisValue) { hideMe = thisValue; }

function hideLightbox()
{
	if(hideMe)
	{   	for(i=0; i<obs.length;i++){ obs[i].style.visibility = "visible" }
			for(i=0; i<embs.length;i++){ embs[i].style.visibility = "visible" }
		screenieElement.style.width = "1px";
		screenieElement.style.height = "1px";
		dumpsterElement.appendChild(lightboxAnchor);
		window.setTimeout("animationLock = false;",50);
		hideMe = false;
		pictureFrameElement.style.display = "none";
		lightboxClosed = true;
	}
}

function nextScreenshot()
{
	if(!animationLock)
	{
		backGifElement.style.backgroundPosition = "0 top";
		fwdGifElement.style.backgroundPosition = "0 bottom";
		goToNextShot();
	}
}

function prevScreenshot()
{
	if(!animationLock)
	{
		backGifElement.style.backgroundPosition = "0 bottom";
		fwdGifElement.style.backgroundPosition = "0 top";
		goToPrevShot();
	}
}

function goToNextShot()
{
	animationLock = true;
	if(nextShot.complete)
	{
		screenieElement.style.cursor = "default";
		nowViewing = (shotList[nowViewing+1]) ? nowViewing+1 : 0;
		screenie2Element.style.backgroundImage = "url('"+nextShot.src+"')";
		deltaY = nextShot.height - screenImage.height;
		deltaX = nextShot.width - screenImage.width;
		screenie2Element.onclick = function(){nextScreenshot()};
		screenieElement.onclick = function(){setHide(false);nextScreenshot()};
		if(navigator.userAgent.toLowerCase().indexOf('firefox') != -1 && deltaX != 0)
		{
			//crossfadeTime = 10;
		}
		nextFade = window.setInterval("fadeToNextShot()",10);
		if(nowViewing%shotsPerPage == 0) galleryNext();
	}
	else
	{
		screenieElement.style.cursor = "wait";
		window.setTimeout("goToNextShot()",250);
	}
}

function goToPrevShot()
{
	animationLock = true;
	if(prevShot.complete)
	{
		if(nowViewing%shotsPerPage == 0) galleryPrev();
		screenieElement.style.cursor = "default";
		nowViewing = (shotList[nowViewing-1]) ? nowViewing-1 : shotList.length-1;
		screenie2Element.style.backgroundImage = "url('"+prevShot.src+"')";
		deltaY = prevShot.height - screenImage.height;
		deltaX = prevShot.width - screenImage.width;
		screenie2Element.onclick = function(){prevScreenshot()};
		screenieElement.onclick = function(){setHide(false);prevScreenshot()};
		if(navigator.userAgent.toLowerCase().indexOf('firefox') != -1 && deltaX != 0)
		{
			//crossfadeTime = 10;
		}
		prevFade = window.setInterval("fadeToPrevShot()",10);
	}
	else
	{
		screenieElement.style.cursor = "wait";
		window.setTimeout("goToPrevShot()",250);
	}
}

function fadeToNextShot()
{
	if (sliderTicked >= crossfadeTime+10)
  {
    window.clearInterval(nextFade);
		screenieElement.style.backgroundImage = "url('"+shotList[nowViewing]+"')";
		screenie2Element.style.opacity = 0;
		screenie2Element.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];
		linkDivElement.value = document.location.href.split("#")[0]+"#"+(shotList.length - nowViewing);
		hiResLinkElement.innerHTML = "<a href='"+screenImage.src.replace(".jpg","-hires.jpg")+"' target='_blank'>"+downloadString+"</a>";
		mgah("currentImageCounter").innerHTML = shotList.length-nowViewing;
	}
	else
	{
		animationProgress = sliderTicked/crossfadeTime
		screenie2Element.style.opacity = animationProgress;
		screenie2Element.style.filter = "alpha(opacity="+(animationProgress)*100+")";
		screenieElement.style.width = screenie2Element.style.width = (screenImage.width+(deltaX*animationProgress)) + "px";
		screenieElement.style.height = screenie2Element.style.height = (screenImage.height+(deltaY*animationProgress)) + "px";
		screenieElement.style.left = screenie2Element.style.left = windowWidth/2-(screenImage.width+(deltaX*animationProgress))/2+"px";
		sliderTicked += 10;
	}
}

function fadeToPrevShot()
{
	if (sliderTicked >= crossfadeTime+10)
  {
    window.clearInterval(prevFade);
		screenieElement.style.backgroundImage = "url('"+shotList[nowViewing]+"')";
		screenie2Element.style.opacity = 0;
		screenie2Element.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];
		linkDivElement.value = document.location.href.split("#")[0]+"#"+(shotList.length - nowViewing);
		hiResLinkElement.innerHTML = "<a href='"+screenImage.src.replace(".jpg","-hires.jpg")+"' target='_blank'>"+downloadString+"</a>";
		mgah("currentImageCounter").innerHTML = shotList.length-nowViewing;
	}
	else
	{
		animationProgress = sliderTicked/crossfadeTime
		screenie2Element.style.opacity = animationProgress;
		screenie2Element.style.filter = "alpha(opacity="+(animationProgress)*100+")"; //;
		screenieElement.style.width = screenie2Element.style.width = (screenImage.width+(deltaX*animationProgress)) + "px";
		screenieElement.style.height = screenie2Element.style.height = (screenImage.height+(deltaY*animationProgress)) + "px";
		screenieElement.style.left = screenie2Element.style.left = windowWidth/2-(screenImage.width+(deltaX*animationProgress))/2+"px";
		sliderTicked += 10;
	}
}

function createLightboxFramework()
{
	documentBody = document.getElementsByTagName("body")[0];
	addStylesheet("/wrath/css/lightboxstyles.css");
	if(!notViewingGallery)
	{
		backGifElement = createElement("a");
		backGifElement.onclick = function(){prevScreenshot()};
		backGifElement.onmouseover = function(){ this.style.backgroundPosition = "0 100%"; };
		backGifElement.onmouseout = function(){ this.style.backgroundPosition = "0 0"; };
		backGifElement.className = "backGifStyle";

		fwdGifElement = createElement("a");
		fwdGifElement.onclick = function(){nextScreenshot()};
		fwdGifElement.onmouseover = function(){ this.style.backgroundPosition = "0 100%"; };
		fwdGifElement.onmouseout = function(){ this.style.backgroundPosition = "0 0"; };
		fwdGifElement.className = "fwdGifStyle";

		linkDivElement = createElement("input");
		linkDivElement.className = "linkHereStyle";
		linkDivElement.size = "50";
		linkDivElement.onclick = function() { animationLock = true; this.select(); window.setTimeout("animationLock = false",50) }

		imageCounterElement = createElement("div");
		imageCounterElement.className = "imageCounterStyle";
		imageCounterElement.innerHTML = "<span id='currentImageCounter'></span> / "+shotList.length;
	}

	closeGifElement = createElement("div");
	closeGifElement.onclick = function(){this.style.backgroundPosition = "0 top"; setHide(true); animationLock = true; hideLightbox()};
	closeGifElement.onmouseover = function(){ this.style.backgroundPosition = "0 100%"; };
	closeGifElement.onmouseout = function(){ this.style.backgroundPosition = "0 0"; };
	closeGifElement.className = "closeDivStyle";

	hiResLinkElement = createElement("div");
	hiResLinkElement.onclick = function() { animationLock = true; window.setTimeout("animationLock = false",50) }
	hiResLinkElement.className = "hiResLinkStyle";

	screenie2Element = createElement("div");
	screenie2Element.id = "Screenie2";
	screenie2Element.className = "screenie2Style";
	screenie2Element.onclick = function(){setHide(false); nextScreenshot()};

	screenieElement = createElement("div");
	screenieElement.id = "Screenie";
	screenieElement.className = "screenieStyle";
	screenieElement.onclick = function(){setHide(false); nextScreenshot()};	
	
	screenieElement.appendChild(createBorderElement("top"));
	screenieElement.appendChild(createBorderElement("right"));
	screenieElement.appendChild(createBorderElement("bottom"));
	screenieElement.appendChild(createBorderElement("left"));
	screenieElement.appendChild(createBorderElement("topLeft"));
	screenieElement.appendChild(createBorderElement("topRight"));
	screenieElement.appendChild(createBorderElement("bottomRight"));
	screenieElement.appendChild(createBorderElement("bottomLeft"));

	screenieElement.appendChild(hiResLinkElement);
	screenieElement.appendChild(closeGifElement);
	if(!notViewingGallery)
	{
		screenieElement.appendChild(fwdGifElement);
		screenieElement.appendChild(linkDivElement);
		screenieElement.appendChild(backGifElement);
		screenieElement.appendChild(imageCounterElement);
	}

	centerElement = createElement("center");
	centerElement.appendChild(screenieElement);

	pictureFrameElement = createElement("div");
	pictureFrameElement.id = "pictureFrame";
	pictureFrameElement.className = "pictureFrameStyle";
	pictureFrameElement.style.display = "none";
	pictureFrameElement.onclick = (notViewingGallery)? function(){setHide(true); hideLightbox()} : function(){hideLightbox()};
	pictureFrameElement.appendChild(screenieElement);
	pictureFrameElement.appendChild(screenie2Element);

	c0verElement = createElement("div");
	c0verElement.id = "c0ver";
	c0verElement.className = "c0verStyle";
	c0verElement.onclick = function(){setHide(true); hideLightbox()};
	if (navigator.userAgent.toLowerCase().indexOf('mac') == -1)
	{
		c0verElement.style.opacity = "0.7";
		c0verElement.style.backgroundColor = "#000000";
		c0verElement.style.filter = "alpha(opacity=70)";
	}

	lightboxAnchor = createElement("div");
	lightboxAnchor.id = "lightboxAnchorDiv";
	lightboxAnchor.className = "lightboxAnchorStyle";
	lightboxAnchor.appendChild(c0verElement);
	lightboxAnchor.appendChild(pictureFrameElement);

	dumpsterElement = createElement("div");
	dumpsterElement.id = "dumpster";
	dumpsterElement.className = "dumpsterStyle";
	dumpsterElement.appendChild(lightboxAnchor);

	document.getElementsByTagName("body")[0].appendChild(dumpsterElement);
	addEvent(window, 'resize', getWindowDimensions);
	dumpsterIsReady = true;
}

function hydraAttribute(thisElement,thisAttribute,thisValue)
{
	var newAttribute = document.createAttribute(thisAttribute);
	newAttribute.value = thisValue;
	thisElement.setAttributeNode(newAttribute);
}

function createBorderElement(thisElement)
{
	var newElement = createElement("div");
	newElement.className = thisElement+"DivStyle";
	return newElement;
}

function pause() { alert("HALT! Hammerzeit!"); }

function addshots(dir,filename,endnum)
{
	startnum = 0;
	for(i=endnum; i>0; i--)
	{
		shotList[endnum-i] = "" + dir + "/" + filename + (i) +".jpg";
	}
	currentShotNumber = shotList.length;
	printPages();
}

function printPages()
{
	numPages = Math.ceil(shotList.length/shotsPerPage);
	if(document.location.href.split("#")[1] > 0 && firstLoad)
	{
		calculatedIndex = currentShotNumber - document.location.href.split("#")[1];
		currentPage = Math.floor(calculatedIndex/shotsPerPage);
	}
	outString = "";
	alertString = "Opening image: ";
	for(i = 0; i < shotsPerPage; i++)
	{
		n = shotsPerPage*currentPage+i;
		if(shotList[n])
		{
			thumbnail = shotList[n].replace(".jpg","-thumb.jpg");
			outString += "<div><span style='background-image:url("+thumbnail+")'><div><a href='javascript:void(0)' onclick='hydraVision("+n+"); return false'></a></div></span></div>";
		}
	}
	mgah("galleryPictures").innerHTML = outString;
	mgah("currentPageSpan").innerHTML = Number(currentPage+1);
	mgah("maxPageSpan").innerHTML = numPages;
	if(document.location.href.split("#")[1] != null && firstLoad)
	{
		if(document.location.href.split("#")[1] > 0) { window.setTimeout('hydraVision(calculatedIndex)',250); }
		else { window.setTimeout('hydraVision(0)',250); }
		firstLoad = false;
	}
}

function galleryPrev()
{
	if(currentPage > 0) { currentPage--; }
	else { currentPage = numPages-1; }
	printPages();
}

function galleryNext()
{
	if(currentPage < numPages-1) { currentPage++; }
	else { currentPage = 0; }
	printPages();
}

function galleryLast()
{
	currentPage = numPages-1;
	printPages();
}

function galleryFirst()
{
	currentPage = 0;
	printPages();
}

function ThumbSize(size)
{
	currimage = shotsPerPage * currentPage;
	shotsPerPage = (size=="sixteen")?16:(size=="twelve")?12:9;
	document.getElementById("galleryPictures").className = "pictureGallery " + size;
	currentPage = Math.floor(currimage / shotsPerPage);
	printPages();
	if(currentPage > numPages)
	{
		currentPage = numPages-1;
		printPages();
	}
}

function selectThis()
{
	this.select();
}