function productFormSubmit (itemList,vTextArea,vReqDiv,vReqName,vForm)
{
	var retVal = true;
	var productID = vForm.substr(7);
	itemRoot = document.getElementById(itemList);
	document.getElementById(vTextArea).value = "";
	for (i=0; i<itemRoot.childNodes.length; i++) {
		node = itemRoot.childNodes[i];
		if (node.nodeName=="LI") {
			document.getElementById(vTextArea).value = document.getElementById(vTextArea).value + "~" + node.innerHTML;
			if (i==0) {
				document.getElementById(vTextArea).value = document.getElementById(vTextArea).value.substring(1);
			}
  		}
   	}
	return true;
}

function checkRequired (theForm,reqFields,reqDivs)
{	var productID = theForm.substr(7);
	if (typeof document.forms[theForm].phone!='undefined'){
		if (! document.forms[theForm].phone.value.length){
			alert ('Phone Number is Required!');
			return false;
		}
		if (! document.forms[theForm].email.value.length){
			alert ('Email Address is Required!');
			return false;
		}
		if (! document.forms[theForm].name.value.length){
			alert ('Full Name is Required!');
			return false;
		}
		var valChar='0123456789 -.()+';
		for (var i=0; i < document.forms[theForm].phone.value.length; i++) {
    			var c=document.forms[theForm].phone.value.charAt(i);
			if( valChar.indexOf(c) == -1 ){
				alert ('Phone Number is Invalid!');
				return false;
			}
		}
		if (document.forms[theForm].phone.value.length<10){
			alert ('Phone Number is Invalid!');
			return false;
		}
		var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
	    	if(!pattern.test(document.forms[theForm].email.value)){         
    			alert ('Email is Invalid!');
			return false;
		}
	}
	if (document.getElementById('highVolume' + productID)) {
		alert ('Please call for the best pricing at this volume level');
		return false;
	}
	if (! document.forms[theForm][reqFields].value.length) {
		document.forms[theForm].submit();
		return false;	
	}
	var fieldArray = document.forms[theForm][reqFields].value.split(",");
	var divArray = document.forms[theForm][reqDivs].value.split(",");
	var reqSOfield = 'reqSubOptions' + productID;
	var ffield = "";
	for(var x=0; x<fieldArray.length; x++){
		theField = fieldArray[x];
		myOption = -1;
		if (document.forms[theForm][theField].length) {
			for (i=document.forms[theForm][theField].length-1; i > -1; i--) {
				if (document.forms[theForm][theField][i].checked) {
					myOption = i; i = -1;
				}
			}
		}
		else	{
			if (document.forms[theForm][theField].checked) myOption = 1;			
		}
		if (document.forms[theForm][reqSOfield].value.length)	{
			var reqSOlist = document.forms[theForm][reqSOfield].value.substr(1);
			var reqSOarray = reqSOlist.split(",");
			for(var o=0; o<reqSOarray.length; o++){
				reqSO = reqSOarray[o];
				if (document.forms[theForm][reqSO].value == "null" || !document.forms[theForm][reqSO].value.length) {
					ffield = document.forms[theForm][reqSO].id;
					myOption = -1;
					break;
				}
				else	{
					document.forms[theForm][reqSO].style.border = 'none';
				}	
			}
		}
		if (myOption == -1) {
			alert("You must select a Required Specification!");
			if (ffield.length)	{
				document.getElementById(divArray[x]).style.border = 'none';
				if (document.all)	{
					document.getElementById(ffield).parentNode.style.border = '1px solid red';
					document.getElementById(ffield).focus();
				}
				else	{
					document.getElementById(ffield).style.border = '1px solid red';					
				}
			}
			else		{
				document.getElementById(divArray[x]).style.border = '1px solid red';
			}
			return false;
			break;
		}	
	}
	document.forms[theForm].submit();
	return false;
}

function escapeHTML (str)
{
   	var dummyDiv = document.createElement('div');
	var dummyText = document.createTextNode(str);
	dummyDiv.appendChild(dummyText);
	return dummyDiv.innerHTML;
}
