var nameerror = "No name has been entered\n";
var namevalid;
var telnumerror = "This telephone number is not a valid phone number\n";
var nonumerror = "No phone number has been entered\n";
var telnumvalid;
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;
	emailvalid = true;
	telnumvalid = true;
	
	 if ( document.contactform.name.value == "" ) {
		namevalid = false;
        valid = false;
		errors++;
		errormessage = nameerror;
    }
	
	 if (document.contactform.email.value=="") {
		emailvalid = false;
        valid = false;
		emailerror = "No email address has been 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 ( document.contactform.telnum.value == "" ) {
		telnumvalid = false;
		errors++;
		errormessage = errormessage + nonumerror;
    }
	
	 else {
		 var num = document.contactform.telnum.value;
		 var i;
		 for (i=0; i<num.length; i++) {
			 if ((telnumvalid)&&(numdelimiters.indexOf(num.charAt(i),0)==-1)){
				 telnumvalid = false;
				 valid = false;
				 errors++;
				 errormessage = errormessage + telnumerror;
			 }
		 }		 
	 }
	
	if ((errors == 1) && (telnumvalid)) {alert (errormessage);}
	else if (errors > 1) {alert ("There are the following errors:\n" + errormessage);}
	else if ((errors == 1) && (!telnumvalid)) {
		var nonumber = confirm("You have 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;
}