
document.onclick = mclose;

var node = 0;
var timeout = 250;
var closetimer = 0;

function mopen(id) {
	mcancelclosetime();
	mclose();
	node = document.getElementById(id);
   if(node) {
      node.style.display = "block";
   }
}

function mclose() {
	if(node) {
		node.style.display = "none";
	}
}

function mclosetime() {
	closetimer = window.setTimeout(mclose, timeout);
}

function mcancelclosetime() {
	if(closetimer) {
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

function checkForm(form) {
	if(form.quantity.value == "") {
		alert("Please enter a quantity.");
		form.quantity.focus();
		return false;
	}
	else if(form.country.value == "US" && form.state.value == "") {
		alert("Please enter a state.");
		form.state.focus();
		return false;
	}
	else if(form.city.value == "") {
		alert("Please enter a city.");
		form.city.focus();
		return false;
	}
	else if(form.zip.value == "") {
		alert("Please enter a zip code.");
		form.zip.focus();
		return false;
	}
	else if(form.country.value == "Please Select") {
		alert("Please enter a country.");
		form.country.focus();
		return false;
	}
	else {
		return true;
	}
}

function clearRow(id) {
	var item = document.getElementById('itemdiv'+id);
	item.innerHTML = "";
	item.removeNode(true);
}

function checkQuickQuoteForm(form) {
	if(form.company.value == "") {
		alert("Please enter a company.");
		form.company.focus();
		return false;
	}
	else if(form.phone.value == "") {
		alert("Please enter a phone number.");
		form.phone.focus();
		return false;
	}
	else if(form.zip.value == "") {
		alert("Please enter a zip code.");
		form.zip.focus();
		return false;
	}
	else if(form.email.value == "") {
		alert("Please enter an email address.");
		form.email.focus();
		return false;
	}
	else {
		return true;
	}
}

function countAndSubmit(id, count, form) {
	if(checkQuickQuoteForm(form)) {
		form.action=id+"?count="+count;
		form.submit();
	}
}

function createItem(fieldSpotId, oldNodeId, id, node, count) {
	var fieldSpot = document.getElementById(fieldSpotId);
	saveFields(id, node);
	var focusId = addItem(fieldSpot, count, oldNodeId);
	loadFields(id, node);
	var oldNode = document.getElementById(oldNodeId);
	if(oldNode != null) {
		oldNode.selectedIndex = 0;
	}
	document.getElementById(focusId).focus();
	return count;
}

function loadFields(id, form) {
	var tmp = getCookieValue("form"+id);
	var data = eval(' (' + tmp + ') ');
	var debug = "";
   if(form) {
      var elements = form.elements;
      for(i = 0; i < elements.length; i++) {
         var node = elements.item(i);
         var val = data[node.name];
         if(val != null) {
            debug = debug + val + "\n";
            node.value = val;
         }
      }
   }
}


function saveFields(id, form) {
	var elements = form.elements;
	var debug = "";
	var data = "{\n";
	for(i = 0; i < elements.length; i++) {
		var node = elements.item(i);
		if(node.name != null) {
			data = data + "'" + node.name + "': '" + node.value + "'";
			if(i != elements.length - 1) { data = data + ","; }
		}
	}
	data = data + "}";
	setCookie("form"+id, data, 365);
}

function deleteCookie(cookieName) {
	if (!cookieName.length) {
		alert ('No cookie name specified'); 
		return;
	} 

	var  ck = document.cookie;
	var  cn = cookieName + "=";
	var pos = ck.indexOf (cn);

	if (pos != -1) {
		var start = pos + cn.length;
		var end   = ck.indexOf (";", start);               
		if (end == -1) end = ck.length;
		var cookieValue= ck.substring (start, end);
		var expDate = new Date(); 
		expDate.setTime(expDate.getTime() - 1000 * 60 * 60 * 24 * 365); 
		expDate = expDate.toGMTString(); 
		var cookieString = cookieName + "=" + cookieValue + ";expires=" + expDate; 
		document.cookie = cookieString; 
	}
	return;
}


function getCookieValue(cookiename) {
	var  ck = document.cookie;
	var  cn = cookiename + "=";
	var pos = ck.indexOf (cn);
	if (pos != -1) {
		var start = pos + cn.length;
		var end   = ck.indexOf (";", start);
		if (end == -1) end = ck.length;
		var cookieValue= ck.substring (start, end);
		return (unescape(cookieValue));
	}
	return (null);
}

String.prototype.trim = function () {
	return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

function getCookies() {
	var  ck = document.cookie;
	var  ix=0;
	var strs = ck.split (';');
	for (ix=0; ix <strs.length; ix++) {
		var ckvar= strs[ix].split('=');
		var cv= getCookieValue(ckvar[0]);
		if(ckvar[0].trim() == "form194") {
			var val = cv;
			var data = eval(' (' + val + ') ');
			document.write("<br/>new value " + data.face0 + "<br/>");

		} else {

		}
	}
	return ;
}

function setCookie(cookieName,cookieValue,nDays) {
	if (!cookieName.length) {
		alert ('No cookie name specified');
		return;
	} 
	var today = new Date();
	var expire = new Date();
	if (nDays==null || nDays < 1 ) nDays=1;
	expire.setTime(today.getTime() + 3600000*24*nDays);
	document.cookie = cookieName+"="+escape(cookieValue)
		+ ";expires="+expire.toGMTString();
}

function getAndDeleteCookies() {
	var  ck = document.cookie;
	var  ix=0;
	var strs = ck.split (';');
	for (ix=0; ix < strs.length; ix++) {
		var ckvar= strs[ix].split('=');
		document.write ("<br>Deleting Cookie Name " + ckvar[0]);
		deleteCookie(ckvar[0]);
	}
	return ;
}

function getCheckBoxValues(chkObj) {
	var ix=0;
	var values="";
	for (ix=0; ix <chkObj.length;ix++) {
		if (chkObj[ix].checked) {
			values += chkObj[ix].value + ',';
		}
	}
	return (values);	
}
