var f;
var checkState = true;
var msg = "";
var ph_msg = "Phone Number. Must be 10 digits or in the form NNN-NNN-NNNN.";
var sec = "\n----------------------------------------------------------";

function GetDropDownValue(dropdown) {
	var SelValue = null;
	var myindex  = dropdown.selectedIndex;

	SelValue = dropdown.options[myindex].text;

	return SelValue;
}

function GetRadioButtonValue( radioObject ) {
	var RadioValue=null;
	
	for (var i=0; i <radioObject.length; i++) {
		if (radioObject[i].checked) {
			RadioValue = radioObject[i].value;
			break;
		}
	}
	return RadioValue;
}
function isZIPCode (s) {
	var digits = "0123456789";
	var ZIPCodeDelimiters = "-";
	var validZIPCodeChars = digits + ZIPCodeDelimiters;
	var digitsInZIPCode1 = 5;
	var digitsInZIPCode2 = 9;
   return (isInteger(s) &&  ((s.length == digitsInZIPCode1) || (s.length == digitsInZIPCode2)));
}
/*
function reformatZIPCode (ZIPString){
	if (ZIPString.length == 5) return ZIPString;
	else return (ZIPString.substring(0,5));	
}
*/
function isDigit (c){ 
  return ((c >= "0") && (c <= "9"));
}
function isInteger (s){ 
	var i; 
     comma=",. ";
     ss=stripCharsInBag (s, comma);
	for (i = 0; i < ss.length; i++){  
        var c = ss.charAt(i);
        if (!isDigit(c)) return false;   
	}  
     return true;
}
function stripCharsInBag (s, bag){
	var i;
    	var returnString = "";
    	for (i = 0; i < s.length; i++){ 
     	var c = s.charAt(i);
	     if (bag.indexOf(c) == -1) returnString += c;    
	}  
  return returnString;
}
function PhoneNumberValidation(pn){
	//alert(pn);
	var matchNum = pn.match(/^\d{10}$/);
	var matchNumD = pn.match(/^\d{3}-\d{3}-\d{4}$/);
	if ( (matchNum + matchNumD) == 0 ) {
		//msg = msg + '\nInvalid Phone Number. Must be 10 digits or in the form NNN-NNN-NNNN.';
		return false;
	} else return true;
}
function isValidEmail(str) {
   return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
}

function validateForm() {//Name,CompanyName,address,city,State,Zip,email,phone
//alert ("validateForm");
f=window.document.forms[0];
     checkState = false;
     msg = "";
	if (f.Name.value == "") {
		msg= msg + ("\nName");
	}	
	if (f.CompanyName.value == "") {
		msg= msg + ("\nCompany Name");
	}
	if (f.address.value == "") {
		msg= msg + ("\nAddress");
	}
	if (f.city.value == "") {
		msg= msg + ("\nCity");
	}
	if (GetDropDownValue(f.State) == "Select State") {
		msg=msg+ ("\nState");
	}
	if (f.Zip.value == "") {
		msg= msg + ("\nZip");
	} else if(isZIPCode(f.Zip.value))  {
	} else {
		msg= msg + ("\nZip - Wrong Format ( 5 digits only expected)");
	}
	if(f.email.value == "") {
		msg= msg + ("\nEmail Address");
	} else if (!isValidEmail(f.email.value)) {
		msg= msg + ("\n Email Address - Wrong Format ( yourname@yourdomain.com)");
	}
	if (f.phone.value == "") {
		msg= msg + ("\nPhone Number");
	} else if (!PhoneNumberValidation(f.phone.value)) {
		msg=msg + "\n" + ph_msg;
	}
	
	//Put the message together if validation fails or continue
	if (msg.length>0){
                alert("Please complete the following before continuing:\n"+msg);
	} else {
	     checkState = true;
	}
     return checkState;
}
