// check the entire form
function contactvalidate(theForm) {
   var valid = true;
   if ( !validateEmailcontact(theForm.contactemail.value) ) valid = false;
   if ( !validateNamecontact(theForm.contactname.value) ) valid = false;
   if ( !validatePhonecontact(theForm.contactphone.value) ) valid = false;
   if ( valid ) return true;
   else return false;
}

// test for a valid email entry
function validateEmailcontact(emailString) {
   var valid = true;

   if ( emailString == "" ) {
      feedback('eContact','Enter your email!',7);
      valid = false;
   } else if ( !validEmailString(emailString) ) {
      feedback('eContact','Not valid!',7);
      valid = false;
   } else feedback('eContact','',1);

   if ( valid ) return true;
   else return false;
}

// test for a valid password entry
function validateNamecontact(nameString) {
   var valid = true;

   if ( nameString == "" ) {
      feedback('nContact','Enter your name!',7);
      valid = false;
   } else feedback('nContact','',1);
   if ( valid ) return true;
   else return false;
}
function validatePhonecontact(phoneString) {
   var valid = true;

   if ( phoneString == "" ) {
      feedback('pContact','Enter your phone!',7);
      valid = false;
   } else if ( !validNumString(phoneString) ) {
      feedback('pContact','Not number',7);
      valid = false;
   } else feedback('pContact','',1);
   if ( valid ) return true;
   else return false;
}
function validNumString(s){
  var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
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 = 'black';
   } else {
      document.getElementById(item).style.color = 'white';
   }

   // set a timer to call this function again in 300ms
   count--;
   var foo = 'feedback(\'' + item + '\',\'' + mess + '\',' + count + ')';
   if ( count > 0 ) setTimeout(foo,300);
}