function checkForm(formCheck) {

   var submitOK = false;
   var fieldCounter = 0;
   var errorMessage = "There is an error on the following required data:\n\n";


   //validate name

   if (formCheck.sname.value == ""){
      errorMessage += "You haven't entered your name\n";
   } else {
      var validCharactersRegExp = /[^a-z\d \.,\(\)\/&\-]/i;
      if (validCharactersRegExp.test(formCheck.sname.value)){
         errorMessage += "Invalid character/s in your name\n";
      } else {
         fieldCounter++;
      }
   }

   //validate contact no

   if (formCheck.stelno.value == ""){
      errorMessage += "You haven't entered your contact telephone number\n";
   } else {
      var invalidCharactersRegExp = /[^\d]/;
      if (invalidCharactersRegExp.test(formCheck.stelno.value)){
         errorMessage += "Invalid character/s in your contact telephone number\n";
      } else {
         fieldCounter++;
      }
   }

   //validate e-mail

   function checkemail(str) {
      var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
      var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
      var isOK = !r1.test(str) && r2.test(str);
      if (!isOK) {
         return false;
      }
      return true;
   }

   if (checkemail(formCheck.email.value) == false) {
      errorMessage += "Your E-mail address is incorrect please try again\n";
   } else if (formCheck.email.value == "") {
      errorMessage += "You haven't entered E-mail address please try again\n";
   } else {
      fieldCounter++;
   }

   //validate calltime

/*    if (formCheck.calltime.value == ""){
      errorMessage += "You haven't entered the best time to call your friend\n";
   } else {
      fieldCounter++;
   }
*/
   //send response

   errorMessage += "\nPlease make the necessary amendments and\nre-submit the form.";

   if (fieldCounter >= 3) {
      submitOK = true;
   } else {
      alert (errorMessage);
   }

   return submitOK;
}