var fnameerror = "First name not entered\n";
var fnamevalid;
var lnameerror = "Second name not entered\n";
var lnamevalid;
var homenumbererror = "Home number is not a valid number\n";
var homenumbervalid;
var mobnumbererror = "Mobile number is not a valid number\n";
var mobnumbervalid;
var emailerror = "This is not a valid email address\n";
var emailvalid;
var valid;
var errors;
var errormessage;
var numdelimiters = "0123456789()-+ ";

function validateemail(email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   if(reg.test(email) == false) {
      return false;
   }
   else {return true;}
}

function validate() {
	errors = 0;
	errormessage = "";
	
	valid = true;
	fnamevalid = true;
	lnamevalid = true;
	emailvalid = true;
	homenumbervalid = true;
	mobnumbervalid = true;
	
	 if ( document.contactform.fname.value == "" ) {
		fnamevalid = false;
        valid = false;
		errors++;
		errormessage = fnameerror;
    }
	
	 if ( document.contactform.lname.value == "" ) {
		snamevalid = false;
        valid = false;
		errors++;
		errormessage = errormessage + lnameerror;
    }
	
	 if ( document.contactform.homenumber.value == "" ) {
		homenumbervalid = false;
    }
	
	 else {
		 var telnum = document.contactform.homenumber.value;
		 var i;
		 for (i=0; i<telnum.length; i++) {
			 if ((homenumbervalid)&&(numdelimiters.indexOf(telnum.charAt(i),0)==-1)){
				 homenumbervalid = false;
				 valid = false;
				 errors++;
				 errormessage = errormessage + homenumbererror;
			 }
		 }		 
	 }
	
	 if ( document.contactform.mobnumber.value == "" ) {
		mobnumbervalid = false;
    }
	
	 else {
		 var telnum = document.contactform.mobnumber.value;
		 var i;
		 for (i=0; i<telnum.length; i++) {
			 if ((mobnumbervalid)&&(numdelimiters.indexOf(telnum.charAt(i),0)==-1)){
				 mobnumbervalid = false;
				 valid = false;
				 errors++;
				 errormessage = errormessage + mobnumbererror;
			 }
		 }		 
	 }
		 
	
	 if (document.contactform.email.value=="") {
		emailvalid = false;
        valid = false;
		emailerror = "Email address not entered\n";
		errors++;
		errormessage = errormessage + emailerror;
    }
	
	else {	
		tempemail = document.contactform.email.value;
		if (!validateemail(tempemail)) {
			emailvalid = false;
    	    valid = false;
			emailerror = "This is not a valid email address\n";
			errors++;
			errormessage = errormessage + emailerror;
    	}
	}
	
	if (errors == 1) {alert (errormessage);}
	else if (errors > 1) {alert ("There are the following errors:\n" + errormessage);}
	else if (!homenumbervalid && !mobnumbervalid) {
		var nonumber = confirm("You have a not entered a telephone number.\nIf you want to proceed press OK or press CANCEL if you would like to enter a number");
		valid = nonumber;
	}
    return valid;
}
