//-- Preload images
if (document.images) {
	var aryPreload = new Array();
	var aryImages = Array(
		"/common/images/nav_on.jpg",
		"/common/images/hd_about.png",
		"/common/images/hd_consult.png",
		"/common/images/hd_contact.png",
		"/common/images/hd_engage.png",
		"/common/images/hd_home.png",
		"/common/images/hd_method.png",
		"/common/images/hd_news.png",
		"/common/images/hd_resources.png",
		"/common/images/hd_store.png",
		"/common/images/not_available_default.jpg"
	);
	for (var i=0; i<aryImages.length; i++) {
		aryPreload[i] = new Image();
		aryPreload[i].src = aryImages[i];
	}
}

function formatPhone(field, event) {
	if (field.value.replace(/^\s+|\s+$/g, "") == "") {
		return true;
	}
	event = event || window.event;
	code = event.which || event.keyCode;
	//-- ignore backspace, tab, shift, ctrl, left arrow, right arrow, del
	if ((code != 8) && (code != 9) && (code != 16) && (code != 17) && (code != 37) && (code != 39) && (code != 46)) {
		if (field.value.match(/^[01]?\s?\(\d{1,2}$/) ||
			field.value.match(/^[01]?\s?\(\d{3}\)\s\d{1,2}$/) ||
			field.value.match(/^[01]?\s?\(\d{3}\)\s\d{3}-\d{1,4}$/) || 
			field.value.match(/^[01]?\s?\(\d{3}\)\s\d{3}-\d{4}\s[x]{1}\s[\d]{1,5}$/)
		) {
			return true;
		}
		var proceed = true;
		if (proceed) proceed = !field.value.match(/^([01])\s$/);
		if (proceed) proceed = !field.value.match(/^([01]?\s?)(\()$/);
		if (proceed) proceed = !field.value.match(/^([01]?\s?)(\([0-9]{3}\))\s$/);
		if (proceed) proceed = !field.value.match(/^([01]?\s?)(\([0-9]{3}\))\s([0-9]{3})\-$/);
		if (proceed) proceed = !field.value.match(/^([01]?\s?)(\([0-9]{3}\))\s([0-9]{3})\-([0-9]{4})([ex\s])$/);
		if (proceed) {
			var temp = field.value.replace(/[^0-9]/g, "");
			var cursor = temp.length;
			var prefix = temp.replace(/^([01]?)([0-9]*)$/, "$1").length;
			temp = temp.replace(/^([01]?)([0-9]{0,3})([0-9]{0,3})([0-9]{0,4})([0-9]*)$/, "$1 ($2) $3-$4 x $5");
			if (cursor < (11+prefix)) temp = temp.replace(/\s*x\s*$/, "");
			if (cursor < (6+prefix)) temp = temp.replace(/\-\s*$/, "");
			if (cursor < (3+prefix)) temp = temp.replace(/\)\s*$/, "");
			if (cursor < (1+prefix)) temp = temp.replace(/\s\(*$/, "");
			if (!cursor) temp = "";
			if (cursor > (15+prefix)) temp = temp.substring(0,temp.length-(cursor-(15+prefix)));
			temp = temp.replace(/^\s+|\s+$/g, "");
			field.value = temp;
		} else {
			if (field.value.match(/^([01]?\s?)(\([0-9]{3}\))\s([0-9]{3})\-([0-9]{4})([ex\s])$/)) {
				field.value = field.value.replace(/([ex\s])$/, " x ");
			} else {
				field.value = field.value;
			}
		}
		field.focus();
	}
	return true;
}

function toggleSubnav(objElement) {
	var parent = objElement.parentNode.parentNode;
	var children = parent.getElementsByTagName("UL");
	var sAgent = navigator.userAgent;
	if (sAgent.indexOf("MSIE 5") >= 0) {
		//-- Code for IE5.5 and lower (needs to be tested)
		parent = document.getElementById("nav");
		var links = parent.getElementsByTagName("A");
		for (var i=0; i<links.length; i++) {
			if (links[i].className == "toggle selected" && links[i] != objElement) {
				links[i].className = "toggle";
				var lists = links[i].parentNode.getElementsByTagName("UL");
				for (var j=0; j<lists.length; j++) {
					lists[j].style.display = "none";
				}
			}
		}
		for (var k=0; k<children.length; k++) {
			children[k].style.display = (children[k].style.display == "block" ? "none" : children[k].style.display);
		}
	} else {
		//-- Code for decent browsers
		$("ul#nav li.nav div.navtoggle a.toggle").not(objElement).removeClass("selected");
		if (children.length > 0) {
			$(children).slideToggle("fast");
			$("ul.subnav").not(children).slideUp("fast");
		}
	}
	objElement.className = (objElement.className == "toggle" ? "toggle selected" : "toggle");
	return false;
}