function test(src){
     var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
     var regex = new RegExp(emailReg);
     return regex.test(src);
}

function chkGeneric(src) {

var invalid_emails=new Array("AOL.com","Gmail.com","hotmail","msn","netscape.net","rocketmail.com","fastmail.fm","inbox.com","goowy.com","myway.com","lycos.com","yahoo","126.com","163.com","163.net","21cn.com","alice.it","attbi.com","attws.com","bellsouth.net","bharatmail.com","bigfoot.com","bright.net","ca.getm.com","cel.ie","chollian.net","citiz.net","comcast.net","cybrtyme.com","diig","dovatron.ie","e-kolay.net","excite.com","freescale.com","freescale.net","gmx.de","hitel.net","hitel.net","dolpal.net","dolpal.com","ispwest.com","lwg.com","minn.net","ms14.hinet.net","ms34.hinet.net","netian.com","pobox.com","sbcglobal.net","sina.com","sohu.com","t-online.de","verizon.com","wanadoo.fr","worldnet.att.net","worldonline.nl","zensufi.com");
	var x = 0;
	invalid_check = 0;

	for (x in invalid_emails)
		{
			 var splited_string=src.split("@");
			 var to_upper_string=splited_string[1].toUpperCase() ;
			 if (to_upper_string.indexOf(invalid_emails[x].toUpperCase())!=-1)
		{
			invalid_check = 1;
			break;
		 }
	}

return invalid_check;
				

}

function checkFields() {
	missinginfo = "";
	fieldForFocus = null;
	if (document.form1.firstname.value == "") {
		missinginfo += "\n     -  First or Given Name";
		fieldForFocus = document.form1.firstname;
	}
	if (document.form1.lastname.value == "") {
		missinginfo += "\n     -  Family, Last Name or Surname";
		if (fieldForFocus == null)
		fieldForFocus = document.form1.lastname;
	}
	if (document.form1.JobTitleSelect.value == "") {
		missinginfo += "\n     -  Job Title";
		if (fieldForFocus == null)
		fieldForFocus = document.form1.JobTitleSelect;
	}
	if (document.form1.company.value == "") {
		missinginfo += "\n     -  Company Name";
		if (fieldForFocus == null)
		fieldForFocus = document.form1.company;
	}
	if (document.form1.address.value == "") {
		missinginfo += "\n     -  Street Address";
		if (fieldForFocus == null)
		fieldForFocus = document.form1.address;
	}
	if (document.form1.city.value == "") {
		missinginfo += "\n     -  City";
		if (fieldForFocus == null)
		fieldForFocus = document.form1.city;
	}
	if (document.form1.state.value == "") {
		missinginfo += "\n     -  State";
		if (fieldForFocus == null)
		fieldForFocus = document.form1.state;
	}

	if (document.form1.zip.value == "") {
		missinginfo += "\n     -  Zip/Postal Code";
		if (fieldForFocus == null)
		fieldForFocus = document.form1.zip;
	}

	if (document.form1.countryselect.value == "") {
		missinginfo += "\n     -  Country";
		if (fieldForFocus == null)
		fieldForFocus = document.form1.countryselect;
	}
	if ((document.form1.telephone.value == "")) {
		missinginfo += "\n     -  Telephone";
		if (fieldForFocus == null)
		fieldForFocus = document.form1.telephone;
	}
	if ((document.form1.email.value == "")) {
		missinginfo += "\n     -  E-Mail Address";
		if (fieldForFocus == null)
		fieldForFocus = document.form1.email;
	}
	else if (!(test(document.form1.email.value))) {
		missinginfo += "\n     -  E-Mail Address - Please check the email format";
		if (fieldForFocus == null)
		fieldForFocus = document.form1.email;
	}
	else if (chkGeneric(document.form1.email.value)!= 0) {
		missinginfo += "\n     -  E-Mail Address - Please use company email only";
		if (fieldForFocus == null)
		fieldForFocus = document.form1.email;
	}



	if (missinginfo != "") {
		missinginfo =   "_____________________________________\n" +
		                "The following fields must be         \n" +
                                "properly filled in before continuing:\n" +
		missinginfo + "\n_____________________________________" +
		              "\nPlease re-enter and submit again.";
		alert(missinginfo);
		fieldForFocus.focus();
		return false;
	}
	else return true;
}