/*****************************
*
*	All the code below (until the Floating Top Bar script by DynamicDrive)
*	was created by Eli Delventhal and is Copyright © Factory Games,
*	2010, All Rights Reserved. http://www.factory-games.com/
*
*	If you want to re-use this code, include these comments in the top
*	to do it legally. No warranties, etc. for if this breaks your computer.
*	This code is completely AS-IS, the user risks everything to use it.
*
******************************/

var loadedImage;

//Call this to open the image panel.
//This will show a loading gif until load has finished.
//Once the load has finished, it will call finishShowingPanel().
function showImagePanel(imageURL)
{
	//Turn on the magic floaty-ness.
	staticbar();
	
	//Resize the window to contain the loading graphic.
	var dialog = document.getElementById("dialog");
	var newWidth = "300px";
	var newHeight = "300px";
	var newMarginX = "-150px";
	var newMarginY = "-150px";
	dialog.style.width = newWidth;
	dialog.style.height = newHeight;
	dialog.style.marginLeft = newMarginX;
	dialog.style.marginTop = newMarginY;
	
	//Assign the loading graphic to the window.
	document.getElementById("PopupImage").src = "images/Loading.gif";
	
	//Make everything visible.
	document.getElementById("centerpoint").style.visibility = "visible";
	document.getElementById("fadeoverlay").style.visibility = "visible";
	dialog.style.visibility = "visible";
	
	//Start loading the image that we want and attach an event handler for when it finishes.
	loadedImage = new Image();
	loadedImage.src = imageURL;
	loadedImage.onLoad = finishShowingPanel();
};

//Called automatically when the image we want to view has finished loading.
function finishShowingPanel()
{
	//Change the dimensions of the dialog to reflect those of the image.
	var newWidth = loadedImage.width + "px";
	var newHeight = loadedImage.height + "px";
	var newMarginX = (loadedImage.width/2)*(-1) + "px";
	var newMarginY = (loadedImage.height/2)*(-1) + "px";
	
	//Double check to see if this fuck-suck gave a 0.
	//Why? Because onLoad doesn't appear to ACTUALLY work.
	if (newWidth == "0px" || newHeight == "0px")
	{
		setTimeout("finishShowingPanel()", 50);
		return;
	}
	
	//Actually change the dialog size once we got a truly loaded image.
	var dialog = document.getElementById("dialog");
	dialog.style.width = newWidth;
	dialog.style.height = newHeight;
	dialog.style.marginLeft = newMarginX;
	dialog.style.marginTop = newMarginY;
	
	//Change the image in the dialog to the now loaded image.
	document.getElementById("PopupImage").src = loadedImage.src;
};

//Call this to close the image panel.
function closeImagePanel()
{
	closebar();
	document.getElementById("centerpoint").style.visibility = "hidden";
	document.getElementById("fadeoverlay").style.visibility = "hidden";
	document.getElementById("dialog").style.visibility = "hidden";
};

/***********************************************
* Floating Top Bar script- © Dynamic Drive (www.dynamicdrive.com)
* Sliding routine by Roy Whittle (http://www.javascript-fx.com/)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

var persistclose = 0 //set to 0 or 1. 1 means once the bar is manually closed, it will remain closed for browser session
var startX = 30 //set x offset of bar in pixels
var startY = 5 //set y offset of bar in pixels
var verticalpos = "fromtop" //enter "fromtop" or "frombottom"
var staticbarCalled = false;

function iecompattest()
{
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function get_cookie(Name)
{
	var search = Name + "="
	var returnvalue = "";
	if (document.cookie.length > 0)
	{
		offset = document.cookie.indexOf(search)
		
		if (offset != -1)
		{
			offset += search.length
			end = document.cookie.indexOf(";", offset);
			if (end == -1)
				end = document.cookie.length;
			returnvalue=unescape(document.cookie.substring(offset, end))
		}
	}
	
	return returnvalue;
}

function closebar()
{
	if (persistclose)
		document.cookie = "remainclosed=1"
	document.getElementById("dialog").style.visibility = "hidden"
}

function staticbar()
{
	if (staticbarCalled)
	{
		return;
	}
	
	staticbarCalled = true;
	barheight = document.getElementById("dialog").offsetHeight
	var ns = (navigator.appName.indexOf("Netscape") != -1) || window.opera;
	var d = document;
	function ml(id)
	{
		var el=d.getElementById(id);
		if (!persistclose || persistclose && get_cookie("remainclosed")=="")
			el.style.visibility = "visible"
		if(d.layers)el.style=el;
			el.sP = function(x,y){this.style.left=x+"px";this.style.top=y+"px";};
			el.x = startX;
		if (verticalpos=="fromtop")
			el.y = startY;
		else
		{
			el.y = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
			el.y -= startY;
		}
		return el;
	}
	window.stayTopLeft=function()
	{
		if (verticalpos=="fromtop")
		{
			var pY = ns ? pageYOffset : iecompattest().scrollTop;
			ftlObj.y += (pY + startY - ftlObj.y)/8;
		}
		else
		{
			var pY = ns ? pageYOffset + innerHeight - barheight: iecompattest().scrollTop + iecompattest().clientHeight - barheight;
			ftlObj.y += (pY - startY - ftlObj.y)/8;
		}
		ftlObj.sP(ftlObj.x, ftlObj.y);
		setTimeout("stayTopLeft()", 10);
	}
	
	ftlObj = ml("dialog");
	stayTopLeft();
}