                      function validateFormOnSubmit(theForm) {                       
   			var reason = "";
   
   			  reason += validateEmpty(theForm.name,"Name");// Name is default value  
   			  reason += validateNumber(theForm.contactNumber,"Contact Number"); 
   			  reason += validateEmail(theForm.email,"E-mail");
   			  
   			  reason += validateEmpty(theForm.subject,"Subject");// 
   			  reason += validateEmpty(theForm.comments,"Query");    			   
   			 
   
   			  if (reason != "") {
   			    alert("Some fields need correction:\n\n" + reason);
   			    return false;
   			  }
   
   			  return true;
   			}
   
   			function validateEmpty(fld,deflt) {  
   			    var error = "";
                           
   			    if (fld.value.length == 0 || fld.value == deflt) {
   			        fld.style.background = 'Yellow';
   			        error = "Please enter "+deflt+".\n"
   			    } else {
   			        fld.style.background = 'White';
   			    }
   			    return error;
   			}
   
   			function validateUsername(fld) {   			
   			    var error = "";
   			    var illegalChars = /\W/; // allow letters, numbers, and underscores
   
   			    if (fld.value == "") {
   			        fld.style.background = 'Yellow';
   			        error = "You didn't enter a username.\n";
   			    } else if ((fld.value.length < 5) || (fld.value.length > 15)) {
   			        fld.style.background = 'Yellow';
   			        error = "The username is the wrong length.\n";
   			    } else if (illegalChars.test(fld.value)) {
   			        fld.style.background = 'Yellow';
   			        error = "The username contains illegal characters.\n";
   			    } else {
   			        fld.style.background = 'White';
   			    }
   			    return error;
   			}
   
   			function trim(s)
   			{
   			  return s.replace(/^\s+|\s+$/, '');
   			}
   
   			function validateEmail(fld,deflt) {
   			    var error="";
   			    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
   			    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
   			    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
   
   			    if (fld.value == "" || fld.value == deflt) {
   			        fld.style.background = 'Yellow';
   			        error = "Please enter "+deflt+".\n"
   			    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
   			        fld.style.background = 'Yellow';
   			        error = "Please enter a valid email address.\n";
   			    } else if (fld.value.match(illegalChars)) {
   			        fld.style.background = 'Yellow';
   			        error = "The email address contains illegal characters.\n";
   			    } else {
   			        fld.style.background = 'White';
   			    }
   			    return error;
   			}
   
   			function validateNumber(fld,deflt) {
   			    var error = "";
   			    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');
   
   			    if (fld.value == "" || fld.value == deflt) {
   				error = "Please enter "+deflt+".\n"
   				fld.style.background = 'Yellow';
   			    } else if (isNaN(parseInt(fld.value))) {
   				error = "The "+deflt+" contains illegal characters.\n";
   				fld.style.background = 'Yellow';
   			    }else {
   			        fld.style.background = 'White';
   			    }
   			    return error;
   			}
   
   			function validatePhone(fld) {
   			    var error = "";
   			    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');
   
   			   if (fld.value == "") {
   			        error = "You didn't enter a phone number.\n";
   			        fld.style.background = 'Yellow';
   			    } else if (isNaN(parseInt(stripped))) {
   			        error = "The phone number contains illegal characters.\n";
   			        fld.style.background = 'Yellow';
   			    } else if (!(stripped.length == 10)) {
   			        error = "The phone number is the wrong length. Make sure you included an area code.\n";
   			        fld.style.background = 'Yellow';
   			    }
   			    return error;
			}
