// neonlib.js
// All contents copyright (c) 2002-2011 Neon Trail by BrainScan Software
// 5/26/2003 - Adjusted to work under Safari browser
// 5/26/2011 - Added popup div support

imgList = new MakeArray(0);

function MakeArray(n)
	{
	this.length=n;
	for(var i=1; i<n; i++)
		{
		this[i]=0;
		}
	return this;
	}

function FindImage(imgName)
	{
	for (i=1; i<=imgList.length; i++)
		{
		if (imgList[i].name == imgName)
			{
			return imgList[i];
			}
		}
	return 0;
	}

function InitImage(imgName, out, over, down, msg)
	{
	if (document.images)
		{
		img = FindImage(imgName);
		if (img == 0)
			{
			imgList.length = imgList.length + 1;
			imgList[imgList.length] = new MakeArray(0);
			img = imgList[imgList.length];
			img.name = imgName;
			img.out = out;
			img.over = over;
			img.down = down;
			img.msg = msg;
			}
		}
	}

function RollImage(imgName, mode)
	{
	if (document.images)
		{
		img = FindImage(imgName);
		if (img != 0)
			{
			if (mode == "out") {
				src=img.out;
			} else if (mode == "over") {
				src=img.over;
			} else if (mode == "down") {
				src=img.down;
			}

			if (src.length > 0)
				{
				document[imgName].src = src;
				if ((mode != "out") && (img.msg.length > 0))
					{
					window.status = img.msg;
					}
				}
			}
		}
	}

function doPopup(page,width,height)
	{
	var win = 0;
	win=window.open(page,'popup','height='+height+',width='+width+',top=20,left=20,scrollbars=yes,resizable=no');
	if(parseInt(navigator.appVersion) >= 4){win.window.focus();}
	return true;
	}


// popupDiv support

function div_popupFade(popupID) {
	var blanket = document.getElementById('blanket');
	var popup = document.getElementById(popupID);

	if (blanket.fade == "in") {
		step = blanket.fadestep + 1;
	} else {
		step = blanket.fadestep - 1;
	}
	blanket_opacity = 65 * step / 10.0;
	popup_opacity = 100 * step / 10.0;
	blanket.style.opacity = blanket_opacity/100;
	popup.style.opacity = popup_opacity/100;
	blanket.style.filter = 'alpha(opacity = '+ blanket_opacity + ')';
	popup.style.filter = 'alpha(opacity = '+ popup_opacity + ')';
	blanket.fadestep = step;
	
	if ((step != 0) & (step != 10)) {
		setTimeout("div_popupFade('" + popupID + "')",10);
	} else {
		if (blanket.fade == "out") {
			blanket.style.display = 'none';
			popup.style.display = 'none';
		}
	}
}

function div_popupToggle(popupID) {
	var blanket = document.getElementById('blanket');
	var popup = document.getElementById(popupID);

	if ( blanket.style.display == 'none' ) {
		blanket.fade = "in";
		blanket.fadestep = 0;
		div_popupFade(popupID);
		blanket.style.display = 'block';
		popup.style.display = 'block';

	} else {
		blanket.fade = "out";
		blanket.fadestep = 10;
		div_popupFade(popupID);
	}
}

function div_popupPosition(popupID) {
	if (typeof window.innerWidth != 'undefined') {
		viewport_height = window.innerHeight;
		viewport_width = window.innerWidth;
		viewport_left = window.pageXOffset;
		viewport_top = window.pageYOffset;
	} else {
		viewport_height = document.documentElement.clientHeight;
		viewport_width = document.documentElement.clientWidth;
		viewport_left = document.documentElement.scrollLeft;
		viewport_top = document.documentElement.scrollTop;
	}

	if ((viewport_height > document.body.parentNode.scrollHeight) && (viewport_height > document.body.parentNode.clientHeight)) {
		blanket_height = viewport_height;
	} else {
		if (document.body.parentNode.clientHeight > document.body.parentNode.scrollHeight) {
			blanket_height = document.body.parentNode.clientHeight;
		} else {
			blanket_height = document.body.parentNode.scrollHeight;
		}
	}

	var blanket = document.getElementById('blanket');
	blanket.style.height = blanket_height + 'px';

	var popUpDiv = document.getElementById(popupID);
	popup_height=popUpDiv.offsetHeight;
	popup_width=popUpDiv.offsetWidth;
	if (popup_height == 0) {
		popup_height = parseInt(popUpDiv.style.height);
	}
	if ((popup_height == 0) || (popup_height == 'undefined')) {
		popup_height = viewport_height;
	}
	if (popup_width == 0) {
		popup_width = parseInt(popUpDiv.style.width);
	}
	if ((popup_width == 0) || (popup_width == 'undefined')) {
		popup_width = viewport_width;
	}
	popup_top = Math.max(0,(viewport_height/2) - (popup_height/2) + (viewport_top));
	popup_left = Math.max(0,(viewport_width/2) - (popup_width/2) + (viewport_left));
	popUpDiv.style.top = popup_top + 'px';
	popUpDiv.style.left = popup_left + 'px';
}

function div_popup(popupID) {
	var el = document.getElementById(popupID);
	if ( el.style.display == 'none' ) {
		div_popupPosition(popupID);
	}
	div_popupToggle(popupID);		
}

