/*
 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";
	}
}

// Correct Header Margins 
function setHeader() {
	if (document.documentElement.clientWidth) {
		var logoObj = document.getElementById("logoCol");
		var weatherObj = document.getElementById("weatherwidget");

		var lc = logoObj.clientWidth;
		var mw = 0;

		if (tableWidth == 975) mw = 40;
		var lw = lc + mw + 71;

		if (lw > 430 && tableWidth == 760) weatherObj.style.display = "none";
		else weatherObj.style.marginLeft = lw + "px";

		if (logoObj.offsetTop != 8) logoObj.style.marginTop = 8 + "px";
	}
}


// Ajax 
function ajaxFunction(whichID, url, refreshRate, nodyn) {
	var xmlHttp, this_url;
	var idObj = document.getElementById(whichID);

	if (url) {
		this_url = url + (new Date).getTime();

		try { xmlHttp=new XMLHttpRequest(); }
		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);
		}

		else return false;

		xmlHttp.onreadystatechange=function() {
			if (nodyn == "true" ||
					(xmlHttp.readyState == 4 && 
					xmlHttp.status == 200)
			) idObj.innerHTML = xmlHttp.responseText;
		}

		if (refreshRate) setTimeout("ajaxFunction('" + whichID + "', '" + url + "', " + refreshRate + ")", refreshRate);
	}

	else idObj.innerHTML = "&nbsp;";
}


// Load document.getElementById() from Ajax
// 	In AJAX, change this:
// 	document.getElementById('someContainer').innerHTML = something.responseText;
//
// 	To this:
// 	loadHTMLFragment('someContainer', something.responseText);
function loadHTMLFragment(elemId, HTMLFragment) { 
	if (document && 
	    document.getElementById && 
	    document.getElementById(elemId) && 
	    document.createElement && 
	    document.appendChild && 
	    document.getElementsByTagName) {
		var el = document.getElementById(elemId);
		el.innerHTML = "&nbsp;" + HTMLFragment;				// The &nbsp; is a hack to cause IE to process the script elements if the first node in the HTMLFragment is a script element. 

		var d = el.getElementsByTagName('script');
		var t = d.length;

		for (var x=0; x < t; x++) {
			var newScript = document.createElement('script');
			newScript.type = "text/javascript";
			newScript.text = d[x].text;
			el.appendChild(newScript);
		}

		for (var y=0; y < t; y++) el.removeChild(el.getElementsByTagName("script")[0]);
	}
}

// Flip Background Image on Input Fields 
function setInputBackground(whichInput, bgImgName) {
	var wiObj = document.login.elements[whichInput];

	if (bgImgName && (wiObj.value == "")) wiObj.style.backgroundImage= "url(http://images.gowilkes.com/" + bgImgName + ".png)";
	else wiObj.style.backgroundImage="none";
}


// 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');
	var pbi = document.getElementById("changeFont");
	if (!default_font_size) default_font_size = 12;

	if (!font_size || font_size == null || font_size == "") font_size = default_font_size;
	if (pbi) pbi.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());
}

// 		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 "";
}

