// check the entire form
function validate(theForm) {
   var valid = true;
   if ( !validateEmail(theForm.youremail.value) ) valid = false;
   if ( !validateName(theForm.yourname.value) ) valid = false;
   if ( !validateContactNo(theForm.yourcontactno.value) ) valid = false;
   if ( valid ) return true;
   else return false;
}

// test for a valid email entry
function validateEmail(emailString) {
   var valid = true;

   if ( emailString == "" ) {
   alert('Email field blank. Please ammend');
   feedback('eMess','x',7);

      valid = false;
   } else if ( !validEmailString(emailString) ) {
   alert('Incorrect email format'); 
   feedback('eMess','x',7);

      valid = false;
   } 
   else feedback('eMess','&#10004;',1);


   if ( valid ) return true;
   else return false;
}

// test for a valid password entry
function validateName(nameString) {
   var valid = true;

   if ( nameString == "" ) {
   alert('Name field blank. Please ammend');
   feedback('nMess','x',7);
      valid = false;
   } else if ( nameString.length <= 2 ){
   alert('Name too short. Please ammed');
   feedback('nMess','x',7);
      valid = false;
   }    else feedback('nMess','&#10004;',1);

   if ( valid ) return true;
   else return false;
}

// test for a valid email string
function validEmailString(emailString) {
   // regular expression works for most email strings
   var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
   if (filter.test(emailString)) return true;
   else return false;
}
function validateContactNo(numberString){
if(numberString.length != 11)
	{
 alert('Incorrect contact number format. Please ammend');
     feedback('cMess','x',7);

    valid = false;
 }
   else if ( numberString == "" ) {
   alert('Contact number field blank. Please ammend');
      feedback('cMess','x',7);

      valid = false;
   }    
   else feedback('cMess','&#10004;',1);

   if ( valid ) return true;
   else return false;

}
// blink a message into an HTML element
function feedback(item,mess,count) {
   // set the message text
   document.getElementById(item).innerHTML = mess;

   // set it's colour
   if ( count%2 == 1 ) {
      document.getElementById(item).style.color = 'white';
      document.getElementById(item).style.fontWeight = 'bold';
   } else {
      document.getElementById(item).style.color = 'red';
   document.getElementById(item).style.fontWeight = 'bold';

   }
   // set a timer to call this function again in 300ms
   count--;
   var foo = 'feedback(\'' + item + '\',\'' + mess + '\',' + count + ')';
   if ( count > 0 ) setTimeout(foo,300);
}