//Declare Browser Name & Version Vars
var browserName = navigator.appName;
var browserVer = parseInt(navigator.appVersion);

var navStates;

// Load state form cookie.
function loadNavStates() {
	var storedStates;
	if(storedStates = document.cookie.match(/navbar=([^;]*)/)) {
		// Extract the current state.
		storedStates = unescape(storedStates[1]).split(",");
	}
			
	navStates = new Object();
	for (var i in storedStates) {
		var id = storedStates[i];
		if (id != "") {
			navStates[id] = true;
			setNavState(document.getElementById(id), "open");
		}
	}
}

// Save nav bar state
function saveNavStates() {
	var cookie = "";
	for (var item in navStates) {
		if (navStates[item]) {
			cookie += item + ",";
		}
	}
	
	// Trim trailing comma and set cookie.
	cookie = cookie.replace(/,$/, "");
	document.cookie = "navbar=" + escape(cookie) + "; path=/";
}

// Left-nav manipulation
function toggleNavState(item) {
	if (item.className == "closed") {
		setNavState(item, "open");
	} else {
		setNavState(item, "closed");
	}
	
	return false;
}

function navOpenAll() {
	var items = getAllNavMenus();
	for (var i in items) {
		setNavState(items[i], "open");
	}
	
	return false;
}

function navCloseAll() {
	var items = getAllNavMenus();
	for (var i in items) {
		setNavState(items[i], "closed");
	}
	
	return false;
}

function setNavState(item, state) {
	if (!item) return;
	item.className = state;
	
	// Save state.
	navStates[item.getAttribute("id")] = (state == "open");
	saveNavStates();
}

function getAllNavMenus() {
	var menus = new Array();
	
	var listItems = document.getElementById("leftnav").getElementsByTagName("li");
	for (var i=0; i < listItems.length; i++) {
		var id = listItems[i].getAttribute("id") || "";
		if (id.match("nav_")) {
			menus.push(listItems[i]);
		}
	}
	
	return menus;
}

// Open a popup window
function OpenPopUp(url, name, width, height) {
	window.open(url, name, 'toolbar=yes,location=no,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=yes,copyhistory=no,WIDTH=' + width + ',HEIGHT=' + height);
}

function newWindow(url) {
	window.open(url);
}

// Limit the field to numerals only.
function numeralsOnly(evt) {
	evt = (evt) ? evt : event;
	var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : ((evt.which) ? evt.which : 0));
	return (charCode <= 31 || (charCode >= 48 && charCode <= 57));
}

// Format a price for display.
function formatPrice(price) {
	var formattedPrice = "$" + Math.floor(price * 100);
	if (formattedPrice == "$0") formattedPrice = "$000";
	formattedPrice = formattedPrice.substr(0, formattedPrice.length - 2) + "." + formattedPrice.substr(formattedPrice.length - 2, formattedPrice.length);
	return formattedPrice;
}

// Switch tabs
function switchToTab(tab) {
	// Figure out which tab to switch to.
	var id = tab.getAttribute("id");
	var target = id.split(/_/)[0] + "_content";
	//alert(target);
	
	// Find the tabbed contents.
	var children = tab.parentNode.parentNode.childNodes;
	var contents;
	for (i=0; i < children.length; i++) {
		if (children[i].className == "contents") {
			contents = children[i];
			break;
		}
	}
	
	// Set the selected content pane.
	children = contents.childNodes;
	for (i=0; i < children.length; i++) {
		var child = children[i];
		if (child.className && child.className.match(/content/)) {
			if (child.getAttribute("id") == target) {
				child.className = "selected content";
			} else {
				child.className = "content";
			}
		}
	}
	
	// Set the selected tab.
	children = tab.parentNode.getElementsByTagName("li");
	for (i=0; i < children.length; i++) {
		var child = children[i];
		
		if (child.getAttribute("id") == id) {
			child.className = "selected";
		} else {
			child.className = "";
		}
	}
	
	return false;
}

// Search field placeholder maniplation.
function hidePlaceholder(field) {
	if (field.className == "ph") {
		field.value = "";
		field.className = "";
	}
}

function showPlaceholder(field) {
	// Don't do this in Safari as it already supports this function.
	if (! navigator.userAgent.match(/Safari/i)) {
		var placeholder = field.getAttribute("placeholder");
		if (field.value == "" || field.value == placeholder) {
			field.value = placeholder;
			field.className = "ph";
		}
	}
}

// Overture UNIVERSAL tag.
/*
var pm_tagname    = "universalTag.txt";
var pm_tagversion = "1.4";
var pm_accountid  = "BKGF8F2FG8Q5SM2B78CVG78KJ4";
var pm_scripthost = "srv.perf.overture.com";
var pm_customargs = "";
var pm_querystr = "?" + "ver=" + pm_tagversion + "&aid=" + pm_accountid + pm_customargs;
var pm_tag = "<SCR" + "IPT LANGUAGE='JavaScript' " + "SRC=//" + pm_scripthost + "/collweb/ScriptServlet" + pm_querystr + "></SCR" + "IPT>";
document.write(pm_tag);
*/
