/* ---- Verification for site forms --------------------------------------- */
/* ------------------------------------------------------------------------ */
function checkSalesForm() {
	var first_name  = document.getElementById('first_name').value;
	var last_name = document.getElementById('last_name').value;
	var street = document.getElementById('street').value;
	var city = document.getElementById('city').value;
	var state = document.getElementById('state').value;
	var zip = document.getElementById('zip').value;
	var country = document.getElementById('country').value;
	var phone = document.getElementById('phone').value;
	var email = document.getElementById('email').value;
	var description = document.getElementById('description').value;

	var lead_source = document.getElementById('lead_source').value;
	var practice = document.getElementById('00N30000000dNPP').value;
	var product_interest = document.getElementById('00N30000000dNPU').value;
	var testing = document.getElementById('00N30000000i9VO').value;

	
	if (!verifyName(first_name, "first name") ||
		!verifyName(last_name, "last name") ||
		!verifyName(street, "street address") ||
		!verifyName(city, "city") ||
		!verifyName(state, "state") ||
		!verifyName(zip, "zip code") ||
		!verifyName(country, "country") ||
		!verifyName(phone, "phone")) {
		return false;
	} else if (empty(email)) {
		alert ("Please enter your email address");
		return false;
	} else if (!checkemail(email)) {
		alert ("Please enter a valid email address");
		return false;
	} else if (empty(description)){
		alert("Please describe your inquiry");
		return false;	
	} else if (empty(lead_source)) {
		alert ("Please select your lead source");
		return false;
	} else if (empty(practice)) {
		alert ("Please select your type of practice");
		return false;
	} else if (empty(product_interest)) {
		alert ("Please select your primary product of interest");
		return false;
	} else if (empty(testing)) {
		alert ("Please select if you are already doing in-house testing");
		return false;
	} else {
		return true;
	}
}

function checkContactForm() {
	var first_name  = document.getElementById('first_name').value;
	var last_name = document.getElementById('last_name').value;
	var phone = document.getElementById('phone').value;
	var fax = document.getElementById('fax').value;
	var email = document.getElementById('email').value;
	var message = document.getElementById('message').value;

	if (!verifyName(first_name, "first name") ||
		!verifyName(last_name, "last name")) {
		return false;
	} else if (empty(phone) && empty(fax) && empty(email)) {
		alert ("Please fill in at least one preference of contact");
		return false;
	} else if (!empty(email) && !checkemail(email)) {
		alert ("Please enter a valid email address");
		return false;
	} else if (empty(message)){
		alert("Please enter your comment");
		return false;	
	} else {
		return true;
	}
}

function checkBillForm() {
	var first_name  = document.getElementById('first_name').value;
	var last_name = document.getElementById('last_name').value;
	var address = document.getElementById('address').value;
	var city = document.getElementById('city').value;
	var state = document.getElementById('state').value;
	var zip = document.getElementById('zip').value;
	var country = document.getElementById('country').value;
	var freekit = document.getElementById('freekit');
	
	if (!verifyName(first_name, "first name") ||
		!verifyName(last_name, "last name") ||
		!verifyName(address, "address") ||
		!verifyName(city, "city") ||
		!verifyName(state, "state") ||
		!verifyName(zip, "zip code") ||
		!verifyName(country, "country")) {
		return false;
	} else if (!freekit.checked) {
		alert("Please verify that you would like to receive the free marketing kit by checking the checkbox");
		return false;
	} else {
		return true;
	}
}	

function checkTechForm() {
	var first_name  = document.getElementById('first_name').value;
	var last_name = document.getElementById('last_name').value;
	var phone = document.getElementById('phone').value;
	var fax = document.getElementById('fax').value;
	var email = document.getElementById('email').value;
	var serial = document.getElementById('serial').value;
	var message = document.getElementById('message').value;

	if (!verifyName(first_name, "first name") ||
		!verifyName(last_name, "last name")) {
		return false;
	} else if (empty(phone) && empty(fax) && empty(email)) {
		alert ("Please fill in at least one preference of contact");
		return false;
	} else if (!empty(email) && !checkemail(email)) {
		alert ("Please enter a valid email address");
		return false;
	} else if (empty(serial)) {
		alert ("Please enter your serial number");
		return false;
	} else if (serial.length < 6) {
		alert ("Please enter a valid serial number");
		return false;
	} else if (empty(message)){
		alert("Please enter your technical inquiry");
		return false;	
	} else {
		return true;
	}
}

function checkRegForm() {
	var first_name  = document.getElementById('first_name').value;
	var last_name = document.getElementById('last_name').value;
	var organization = document.getElementById('organization').value;
	var title = document.getElementById('title').value;
	var address1 = document.getElementById('address1').value;
	var city = document.getElementById('city').value;
	var state = document.getElementById('state').value;
	var zip = document.getElementById('zip').value;
	var country = document.getElementById('country').value;
	var phone = document.getElementById('phone').value;
	var email = document.getElementById('email').value;
	var serial = document.getElementById('serial').value;
	var mysystem = document.register_form.mysystem;
	var facility_type = document.register_form.facility_type;
	
	if (!verifyDate()) {
		return false;
	} else if (!verifyName(first_name, "first name") ||
		!verifyName(last_name, "last name") ||
		!verifyName(organization, "organization") ||
		!verifyName(title, "title") ||
		!verifyName(address1, "address") ||
		!verifyName(city, "city") ||
		!verifyName(state, "state") ||
		!verifyName(zip, "zip code") ||
		!verifyName(country, "country") ||
		!verifyName(phone, "phone")) {
		return false;
	} else if (empty(email)) {
		alert ("Please enter your email address");
		return false;
	} else if (!checkemail(email)) {
		alert ("Please enter a valid email address");
		return false;
	} else if (!selectedRadio(mysystem)) {
		alert ("Please select your Cholestech system");
		return false;
	} else if (empty(serial)) {
		alert ("Please enter your serial number");
		return false;
	} else if (serial.length < 6) {
		alert ("Please enter a valid serial number");
		return false;
	} else if (!selectedRadio(facility_type)) {
		alert ("Please select your facility type");
		return false;
	} else if (!verifyFacility('physician')) {
		return false;
	} else if (!verifyFacility('other')) {
		return false;
	} else {
		return true;
	}
}

function verifyDate(){
	var month = document.getElementById('month').value;
	var day = document.getElementById('day').value;
	var year = document.getElementById('year').value;
	if (empty(month)) {
		alert("Please select the month you received your system");
		return false;
	} else if (empty(day)) {
		alert("Please select the day you received your system");
		return false;
	} else if (empty(year)) {
		alert("Please select the year you received your system");
		return false;
	} else {
	  return true;
	}
}

function verifyName(x, type) {
	if (empty(x)) {
		pleaseEnter(type);
		return false;
	} else if (x.length < 2) {
		enterValid(type);
		return false;
	}
	return true;
}

function selectedRadio(x) {
	for (i=0; i<x.length; i++) {
		if (x[i].checked) {
			return true;
		}
	}
	return false;
}

function verifyFacility(x) {
	var fac = document.getElementById('facility_'+x);
	var fill = document.getElementById(x+'_fill').value;
	if (fac.checked && empty(fill)) {
		alert("Please specifiy the \'"+x+"\' facility");
		return false;
	} else {
		return true;
	}
}

//etc.
function enterValid(x) {
	alert("Please enter a valid "+x);
	return;
}

function pleaseEnter(x) {
	alert("Please enter your "+x);
	return;
}

function isString(x) { return typeof x == 'string'; }

function checkemail(str) {
	var testresults=true;
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	var emailPat=/^(.+)@(.+)$/; 
	var matchArray=str.match(emailPat); 
	if (matchArray==null) {	testresults=false; }
	// check length for user name and domain
	//else { 
	//	var user=matchArray[1];
	//	var domain=matchArray[2]; 
	//	if (user.length < 1 || doman.length < 1){ testresults=false; }		
	//}
	if (!filter.test(str)) { testresults=false; }

	return testresults;
}

function validLength(x, str) {
	if (x.length < 2) {
		alert("Please enter a valid "+str);
		return false;
	}
	else {
		return true;
	}
}

function empty(x){
	return (x=="");
}



/* ------------------------------------------------------------------------ */
/* ---- verifyQuiz -------------------------------------------------------- */
function verifyQuiz(n, x) {
	for (i=1; i<(x+1); i++) {
		q=eval("document."+n+"quiz.q"+i);
		for (j=0; j<4; j++) {
			if(q[j].checked) {
				break;
			} else if (!q[j].checked && j==3) {
				alert("Please answer question number "+i);
				return false;
			}
		}

	}
	return true;
}


/* ---- parseGetVars ------------------------------------------------------ */
function parseGetVars() {
  var temp = location.search.substring(1);
  var emailto = temp.split("=");
  return emailto[1];
}

function getEmailto() {
  emailto = parseGetVars();
  if (emailto) {
    document.getElementById("emailto").value = parseGetVars();
  } else {
	document.getElementById("emailto").value = "";
  }
}
