///////////////////////////////////////////////////////////////////////////////////////////////////
//
// Javascript Functions for Header 
//
///////////////////////////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////////////////////////
// Navigation 
function loadNav_2(x) {
	var show_n;

	for (var n=0; n <= 6; n++) {
		show_n = "mainnav_" + n;

		if (n == x) document.getElementById(show_n).style.display = "block";
		else document.getElementById(show_n).style.display = "none";
	}
}


///////////////////////////////////////////////////////////////////////////////////////////////////
// Refresh from Database  
function ajaxFunction(whichID, url, refreshRate) {
	var xmlHttp, this_url;

	if (url) {
		this_url = url + (new Date).getTime();				// add timestamp

		// Firefox, Opera 8.0+, Safari 
		try { xmlHttp=new XMLHttpRequest(); }

		// Internet Explorer 
		catch (e) {
			try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }
			catch (e) {
				try { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }
				catch (e) { return false; }
			}
		}

		if (xmlHttp) {
			xmlHttp.open("GET", this_url, true);
			xmlHttp.send(null);	// xmlHttp.send("");
		}

		else return false;

		xmlHttp.onreadystatechange=function() {
			if ((xmlHttp.readyState == 4) && (xmlHttp.status == 200)) {
				var whichFrame = xmlHttp.responseText;

				if (document.getElementById) { document.getElementById(whichID).innerHTML = whichFrame; }
				else if (document.all) { document.all[whichID].innerHTML = whichFrame; }
				else if (document.layers) { 
					document.layers[whichID].document.write(whichFrame);
					document.layers[whichID].document.close();
				}
			}
		}

		if (refreshRate) setTimeout("ajaxFunction('" + whichID + "', '" + url + "', " + refreshRate + ")", refreshRate);
	}

	else {
		if (document.getElementById) { document.getElementById(whichID).innerHTML = "&nbsp;"; }
		else if (document.all) { document.all[whichID].innerHTML = "&nbsp;"; }
		else if (document.layers) { 
			document.layers[whichID].document.write("&nbsp;");
			document.layers[whichID].document.close();
		}
	}
}


///////////////////////////////////////////////////////////////////////////////////////////////////
// Flip Background Image on Input Fields 
function setInputBackground(whichInput, bgImgName) {
	if ((bgImgName) && (document.login.elements[whichInput].value == ""))
		document.login.elements[whichInput].style.backgroundImage= "url(" + relative_path + "images/" + bgImgName + ".gif)";

	else
		document.login.elements[whichInput].style.backgroundImage="none";
}


///////////////////////////////////////////////////////////////////////////////////////////////////
// Run Games  
function goGames(feature) {
	if (feature == "0") { return false }
	else if (feature == "pong") { openPong() }
	else if (feature == "tetris") { openTetris() }
	else  {
		url = home + "/cgi-bin/games.cgi?game=" + feature;

    var l = (screen.availWidth - 675) / 2;
    var t = (screen.availHeight - 400) / 2;
    var cfg  = "width=675,height=400";
			cfg += ",top=" + t;
			cfg += ",left=" + l;
			cfg += ",resizable,titlebar=1";

		window.open(url, 'Games', cfg)
	}
}


// Pong, from Games.cgi page
function openPong() {
   var l = (screen.availWidth - 450) / 2;
   var t = (screen.availHeight - 350) / 2;
   var cfg  = "width=450,height=350";
		cfg += ",top=" + t;
		cfg += ",left=" + l;
		cfg += ",resizable,titlebar=1";

	window.open(home + '/games/pong.html', 'Games', cfg)
}

// Tetris, from Games.cgi page
function openTetris() {
	var arrImage=new Array(
		home + "/games/block0.gif",
		home + "/games/block1.gif",
		home + "/games/block2.gif",
		home + "/games/block3.gif",
		home + "/games/block4.gif",
		home + "/games/block5.gif",
		home + "/games/block6.gif",
		home + "/games/blockb.gif"
	)

	for (i=0; i < arrImage.length; i++) {
		arrImage[i] = new Image();
		arrImage[i].src = arrImage[i];
	}

   var l = (screen.availWidth - 360) / 2;
   var t = (screen.availHeight - 400) / 2;
   var cfg  = "width=360,height=400";
		cfg += ",top=" + t;
		cfg += ",left=" + l;
		cfg += ",resizable,titlebar=1";

	if (document.layers) { window.open(home + '/games/tetrisnn.htm', 'Games', cfg) }
	else if (document.all) { window.open(home + '/games/tetrisie.htm', 'Games', cfg) }
	else { alert("Sorry, but your browser does not support this game. Please try one of the other games.") }
}


// Change Font Size 
var min = 8;
var max = 18;

function changeFontSize(which, default_font_size) {
	var s;
	var p = document.getElementsByTagName("p");
	var pbi = document.getElementById("changeFont");

	if (!default_font_size) default_font_size = 12;

	for (i=0; i < p.length; i++) {
		if (p[i].style.fontSize) s = parseInt(p[i].style.fontSize.replace("px", ""));
		else s = default_font_size;

		if (which == "up") { if (s != max) s += 1; }
		else if (which == "down") { if (s != min) s -= 1; }
		else { s = default_font_size; setCookie('font_size', '', -1); }


		p[i].style.fontSize = s + "px";
	}

	if (pbi) {
		if (pbi.style.fontSize) s = parseInt(pbi.style.fontSize.replace("px", ""));
		else s = default_font_size;

		if (which == "up") { if (s != max) s += 1; }
		else if (which == "down") { if (s != min) s -= 1; }
		else { s = default_font_size; setCookie('font_size', '', -1); }

		pbi.style.fontSize = s + "px";
	}

	if (which) setCookie('font_size', s);
}

function defaultFontSize(default_font_size) {
	var font_size = getCookie('font_size');
	if (!default_font_size) default_font_size = 12;

	if (!font_size || font_size == null || font_size == "") font_size = default_font_size;
	if (document.getElementById("changeFont")) document.getElementById("changeFont").style.fontSize = font_size + "px";

	var p = document.getElementsByTagName("p");
	for (i=0; i < p.length; i++) p[i].style.fontSize = font_size + "px";
}


// Cookies
// 		Usage: setCookie('username', username, 365);
function setCookie(c_name, value, expiredays) {
	var exdate = new Date();

	exdate.setDate(exdate.getDate() + expiredays);
	document.cookie = c_name + "=" + escape(value) + "; path=/" + ((expiredays == null) ? "" : "; expires=" + exdate.toGMTString());
	// + "; path=/" 
}

// 		Usage: var username=getCookie('username');
//					 if (username != null && username != "") { 
function getCookie(c_name) {
	if (document.cookie.length > 0) {
		c_start = document.cookie.indexOf(c_name + "=");

		if (c_start != -1) {
			c_start = c_start + c_name.length+1;
			c_end = document.cookie.indexOf(";",c_start);

			if (c_end == -1) c_end = document.cookie.length;

			return unescape(document.cookie.substring(c_start, c_end));
		}
	}

	return "";
}

