function validateForm() {
  var theForm = document.contactForm;
  if (theForm.fullName.value == "") {
  	alert("Please enter a value for the \"Full Name\" field.");
  	return false;
  }
  if (hasSymbols(theForm.fullName.value) == true) {
    alert("You have an invalid symbol in the \"Full Name\" field.");
    return false;
  }
  if (theForm.company.value == "") {
  	alert("Please enter a value for the \"Company Name\" field.");
  	return false;
  }
  if (hasSymbols(theForm.company.value) == true) {
    alert("You have an invalid symbol in the \"Company\" field.");
    return false;
  }
  if (theForm.email.value == "") {
  	alert("Please enter a value for the \"Email Address\" field.");
  	return false;
  }
  if (validateEmail(theForm.email.value) == false) {
  	alert("Please enter a valid \"Email Address\" address.");
  	return false;
  }
  if (theForm.workPhone.value.length > 0) {
  	if (validatePhoneNumber(theForm.workPhone.value) == false) {
  		alert("Please enter a valid \"Work Phone Number\".");
  		return false;
  	}
  	if (hasSymbols(theForm.workPhone.value) == true) {
      alert("You have an invalid symbol in the \"Work Phone Number\" field.");
      return false;
    }
  }
  if (theForm.cellPhone.value.length > 0) {
  	if (validatePhoneNumber(theForm.cellPhone.value) == false) {
  		alert("Please enter a valid \"Mobile Phone Number\".");
  		return false;
  	}
  	if (hasSymbols(theForm.cellPhone.value) == true) {
      alert("You have an invalid symbol in the \"Mobile Phone Number\" field.");
      return false;
    }
  }
  if (theForm.reachableNumber.value == "none") {
  	alert("Please Specify At Least One Contact Number");
    return false;
  }
  if (theForm.programOfInterest.value.length == 0) {
  	alert("Please Specify your Interest");
    return false;
  }
  
  return true;
}


function validateDemoForm() {
  var theForm = document.contactForm;
  if (theForm.connectionNumber.value == "")  {
    alert("Please select a value for \"Your Number Here\".");
    return false;
  }
  else {
    if (validatePhoneNumber(theForm.connectionNumber.value) == false) {
      alert("Please enter a valid phone number in \"Your Number Here\"");
      return false;
    }
    if (hasSymbols(theForm.connectionNumber.value) == true) {
      alert("You have an invalid symbol in the \"Your Number Here\" field.");
      return false;
    }
  }

  if (theForm.fullName.value == "") {
    alert("Please enter a value for the \"Full Name\" field.");
    return false;
  }
  if (hasSymbols(theForm.fullName.value) == true) {
    alert("You have an invalid symbol in the \"Full Name\" field.");
    return false;
  }
  if (theForm.company.value == "") {
    alert("Please enter a value for the \"Company\" field.");
    return false;
  }
  if (hasSymbols(theForm.company.value) == true) {
    alert("You have an invalid symbol in the \"Company\" field.");
    return false;
  }
  if (theForm.phoneNumber.value == "")  {
    alert("Please select a value for the \"Phone Number\".");
    return false;
  }
  else {
    if (validatePhoneNumber(theForm.phoneNumber.value) == false) {
      alert("Please enter a valid \"Phone Number\" number.");
      return false;
    }
    if (hasSymbols(theForm.phoneNumber.value) == true) {
      alert("You have an invalid symbol in the \"Phone Number\" field.");
      return false;
    }
  }

  if (theForm.connectionNumber.value == theForm.phoneNumber.value) {
      alert("Please ensure that \"Your Number Here\" and \"Phone Number\" are not the same number. \nThe first number represents the call center number, while the second number represents the end user's phone number.");
      return false;
  }

  if (theForm.email.value == "") {
    alert("Please enter a value for the \"Email Address\" field.");
    return false;
  }
  if (validateEmail(theForm.email.value) == false) {
    alert("Please enter a valid \"Email Address\".");
    return false;
  }
 
  return true;
}

function validateEmail(email) {
  return (email.indexOf(".") > 2) && (email.indexOf("@") > 0);
}

function validatePhoneNumber(phoneNumber) {
  var stripped = phoneNumber.replace(/[\(\)\.\-\ ]/g, '');
  stripped = parseInt(stripped);
  if (isNaN(stripped)) {
  	return false;
  }
  stripped = stripped + "";
  if (!(stripped.length == 10)) {
  	return false;
  }
  return true;
}

function checkPhoneNumbers() {
  var reachableNumber = document.getElementById("reachableNumber");
  var workNumber = document.getElementById("workPhone").value;
  var cellNumber = document.getElementById("cellPhone").value;
  var count = 0;
  reachableNumber.options.length=0;
  reachableNumber.options[0]=new Option("No Numbers Entered Above", "none", false, false);
  if (workNumber.length >0) {
  	reachableNumber.options[count]=new Option("Work Phone Number", "work", false, false);
  	count ++;
  }
  if (cellNumber.length >0) {
  	reachableNumber.options[count]=new Option("Mobile Phone Number", "cell", false, false);
  	count ++;
  }
}

function submitForm() {
  var theForm = document.contactForm;
  theForm.submit();
}

function clearText() {
  var phoneNumber = document.getElementById("phoneNumber");
  if (phoneNumber.value == "Use a different number to above") {
    phoneNumber.value = "";
    phoneNumber.style.color = "#000000";
  }
}

function setText() {
  var phoneNumber = document.getElementById("phoneNumber");
  if (phoneNumber.value == "") {
    phoneNumber.value = "Use a different number to above";
    phoneNumber.style.color = "#999999";
  }
}

function validateCTCForm() {
	var phone = document.getElementById("phoneNumber").value;
	if(phone.length != 10){
		alert("Please enter a valid phone number");
		return false;
	}
}

function hasSymbols(value) {
  var symbols = new Array("!", "@", "#", "%", "$", "^", "&", "*", "(", ")", "+");
  for(var i=0; i<symbols.length; i++) {
    if (value.indexOf(symbols[i]) >= 0) {
      return true;
    }
  }
  return false;
}