// JavaScript Document
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function CheckForm(f) {
	var retVal;	
	var msg;
	var digits = "0123456789";
	var phoneNumberDelimiters = "()- ";
	var validWorldPhoneChars = phoneNumberDelimiters + "+";
	var minDigitsInIPhoneNumber = 11;
	var matchpost = (/^im\d\s\d[a-zA-Z][a-zA-Z]/gi)


		function validEmail(email) {
			invalidChars = " /:,;"
	
			if (email == "") {
				return false
			}
			for (i=0; i<invalidChars.length; i++) {
				badChar = invalidChars.charAt(i)
				if (email.indexOf(badChar,0) > -1) {
					return false
				}
			}
			atPos = email.indexOf("@",1)
			if (atPos == -1) {
				return false
			}
			if (email.indexOf("@",atPos+1) > -1) {
				return false
			}
			periodPos = email.indexOf(".",atPos)
			if (periodPos == -1) {
				return false
			}
			if (periodPos+3 > email.length)	{
				return false
			}
			return true
		}
function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++){   
    var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false; }
    return true;}
function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    for (i = 0; i < s.length; i++){   
    var c = s.charAt(i);
    if (bag.indexOf(c) == -1) returnString += c;
    }return returnString;
}
function checkInternationalPhone(strPhone){
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}	
	retVal = true;
	msg = 'There are errors on this form.\nSome required fields have not been filled in correctly:\n\n';	
	if(f.FirstName.value=='') {
		msg += 'Please enter your First Name.\n';
		retVal = false;
	}
	if(f.LastName.value=='') {
		msg += 'Please enter your Last Name.\n';
		retVal = false;
	}
		if(f.CompanyName.value=='') {
		msg += 'Please enter your Company Name.\n';
		retVal = false;
	}
	if(f.Address1.value=='') {
		msg += 'Please enter the first line of your address in the Address1 field.\n';
		retVal = false;
	}
	if(f.Town.value=='') {
		msg += 'Please enter your Town.\n';
		retVal = false;
	}		
	if (f.PostCode.value=='' ){
		msg += 'Please enter a Postcode.\n';
		retVal = false;
	}
	if (f.TelNumber.value=='' || checkInternationalPhone(f.TelNumber.value)==false){
	msg += 'Please enter a valid Daytime Telephone Number.\n';
		retVal = false;
	}
	if (f.Mobile.value!='' && checkInternationalPhone(f.Mobile.value)==false){
	msg += 'The Mobile Number you entered is not valid.\n';
		retVal = false;
	}
		if (f.FaxNo.value!='' && checkInternationalPhone(f.FaxNo.value)==false){
	msg += 'The Fax Number you entered is not valid.\n';
		retVal = false;
	}
	if (!validEmail(f.EMail.value)) {
	msg += 'Please enter a valid e-mail address.\n';
		retVal = false;
	}
	if (f.Password.value == "" || f.Password.value.length <5 ) {
	msg += 'Please choose a password between 5 and 8 characters in length.\n';
		retVal = false;
	}		
	if (f.Password.value != f.confirmPass.value) {
	msg += 'The confirm password did not match the original password.\n';
		retVal = false;
		}
		
	if (f.accept.checked == false){
		msg += 'You must accept the terms of use before you can register.\n';
		retVal = false;		
	}

	if(!retVal) {
		alert(msg + '\n\nPlease correct the errors before continuing.');
	}
	return retVal;
}
