var noPass;
var errors = 'Please Update the fields selected in red above\n\n';

function CheckBlank(fname, fdisplayname) {
	var fname = fname;
	var fdisplayname = fdisplayname;
	value = document.getElementById(fname).value;
	if ((value == '') || (value == "-Select-")) {
		errors = errors + fdisplayname + ' is required\n';
		document.getElementById(fname).style.border = 'solid 2px #CC0000'; 
		document.getElementById(fname).style.color = '#CC0000';
		noPass = 1;
	} else {
		document.getElementById(fname).style.border = 'solid 1px #7F9DB9'; 
		document.getElementById(fname).style.color = '#000000'; 
		return true;
	}
}

function validate() {
	errors = 'Please Update the fields selected in red above\n\n';
	noPass = 0;
	

	CheckBlank('first_name', 'First Name');
	CheckBlank('last_name', 'Last Name');
	
	//Email
	var email = document.getElementById('email').value;
	if (validateEmail(email, 1, 1) == false) {
		errors = errors + "Email Address is Invalid\n";
		document.getElementById('email').style.border = 'solid 2px #CC0000';
		noPass = 1;
	} else {
		document.getElementById('email').style.color = '#000000'; 
		document.getElementById('email').style.border = 'solid 1px #7F9DB9';
	}
	
	CheckBlank('country', 'Country');
	
	if (noPass == 1) { 
		alert(errors);
		window.location = '#top';
		return false;
	} else {
		document.webtolead.submit();
		return true;	
	}
}

function validateEmail(addr,man,db) {
	var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
	var atPos = addr.indexOf('@',0);
	var suffix = addr.substring(addr.lastIndexOf('.')+1);

	if ((addr == '') && (man == 1)) {
	   if ((db == 0)) alert('Email address is mandatory');
	   noPass = 1;
	   return false;
	}
	for (i = 0; i<invalidChars.length; i++) {
	   if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
		  if (db == 0) alert('Email address contains invalid characters');
		  noPass = 1;
		  return false;
	   }
	}
	for (i = 0; i<addr.length; i++) {
	   if (addr.charCodeAt(i)>127) {
		  if (db == 0) alert("Email address contains non ascii characters.");
		  noPass = 1;
		  return false;
	   }
	}
	
	if (atPos == -1) {
	   if (db == 0) alert('Email address must contain an @');
	   noPass = 1;
	   return false;
	}
	if (atPos == 0) {
	   if (db == 0) alert('Email address must not start with @');
	   noPass = 1;
	   return false;
	}
	if (addr.indexOf('@', atPos + 1) > - 1) {
	   if (db == 0) alert('Email address must contain only one @');
	   noPass = 1;
	   return false;
	}
	if (addr.indexOf('.', atPos) == -1) {
	   if (db == 0) alert('Email address must contain a period in the domain name');
	   noPass = 1;
	   return false;
	}
	if (addr.indexOf('@.',0) != -1) {
	   if (db == 0) alert('Period must not immediately follow @ in email address');
	   noPass = 1;
	   return false;
	}
	if (addr.indexOf('.@',0) != -1){
	   if (db == 0) alert('Period must not immediately precede @ in email address');
	   noPass = 1;
	   return false;
	}
	if (addr.indexOf('..',0) != -1) {
	   if (db == 0) alert('Two periods must not be adjacent in email address');
	   noPass = 1;
	   return false;
	}
}
