var sInvalidChars = "!@#$%^&*()\:;'<>?,/`~";
var sInvalidNumbers = "!@#$%^&*_+=QWERTYUIOP{}|[]\ASDFGHJKL:;'ZXCVBNM<>?,/`~qwertyuiopasdfghjklzxcvbnm";
	
function check_string(s, bad_chars){
	var i;
	var found = -1;
	var atPosMinusSign = 0;
	var atPos = 0;
		for (i = 0; i < bad_chars.length; i++){
			found = s.indexOf(bad_chars.charAt(i));
		   	if (found > -1)
		   	break;
		}
	return 	found;
}

function doValidation() {
	var formName;
	var InvalidMailAddress;
	var arrErrMes = new Array();
	arrErrMes[0] = "You have entered invalid characters in the email field.";
	arrErrMes[1] = "You forgot an '@' sign in your e-mail address.";
	arrErrMes[2] = "You forgot a '.' following the @ sign in your e-mail address.";
	 
	formName = document.txtContactForm;
	InvalidMailAddress = 0
	
	if (formName.txtName.value == ""){
		var sText = "Please provide your name.";
		alert(sText);
		formName.txtName.focus()
		return false;
	}
		if (formName.txtCompany.value == ""){
		var sText = "Please provide your company name.";
		alert(sText);
		formName.txtCompany.focus()
		return false;
	}

	if (formName.txtJobTitle.value == ""){
		var sText = "Please provide your job title.";
		alert(sText);
		formName.txtJobTitle.focus()
		return false;
	}
	
	if (formName.txtLocation.value == ""){
		var sText = "Please provide your location.";
		alert(sText);
		formName.txtLocation.focus()
		return false;
	}
	if (formName.txtEmail.value == ""){
		var sText = "Please provide your email.";
		alert(sText);
		formName.txtEmail.focus()
		return false;
	}
	if (formName.txtEmail.value != ""){
		ErrId = EmailValidation(formName.txtEmail.value);
		if (ErrId > 0){
			alert(arrErrMes[ErrId - 1]);
			formName.txtEmail.focus()
			return false;
		}
	}
	if ((formName.checkAsia.checked == true) || (formName.checkEuro.checked == true) || (formName.checkTrader.checked == true) ||
		(formName.checkGFII.checked == true) || (formName.checkIII.checked == true) || (formName.checkMutual.checked == true) ||
		(formName.checkFinancial.checked == true) || (formName.checkFIF.checked == true) || (formName.checkUS.checked == true) ||
		(formName.checkTraderForum.checked == true)) var OneChecked = true
	if (OneChecked != true){
		var sText = "Please select at lease one of the areas you are interested on"
		alert(sText);
		return false;
	}
		
	if (formName.textbox.value == ""){
		var sText = "You forgot to submit your enquiry.";
		alert(sText);
		formName.textbox.focus()
		return false;
	}
	
	

}

function EmailValidation(EmailValue) {
	var bad_email_chars = "`\"\\/ (){}[]|<>/,&+=*'%?!~#^:;";
	var errorCode = 0
	
	
	// Check for bad characters
	if (check_string(EmailValue, bad_email_chars) > -1) {
		errorCode = 1;
		return errorCode;
	}

	// Check for an @ sign
	var at_sign = EmailValue.indexOf("@");
	if (at_sign < 0) {
		var msg = "Oops!  You forgot an '@' sign in your e-mail address.  Please enter an address such as ";
		msg = msg + EmailValue + "@aol.com";
		errorCode = 2;
		return errorCode;
	}
	// Check for a dot
	var dot = EmailValue.substring(at_sign, EmailValue.length + 1).indexOf(".");
	if (dot < 0) {
		var msg = "Oops, you forgot a '.' following the @ sign in your e-mail address.  Please enter an address such as ";
		msg = msg + EmailValue + ".com";
		errorCode = 3;
		return errorCode;
	}
	return errorCode;

}

