// JavaScript Document

function checkWholeForm(theForm) { 
    var why = "";
	why += isEmpty(theForm.realname.value, 'Contact Name');
    why += checkEmail(theForm.email.value);
    why += checkPhone(theForm.contactPhone.value);
    if(theForm.name == 'booking')  {
	  why += isEmpty(theForm.arrivalDate.value, 'Arrival Date');
	  why += isEmpty(theForm.departureDate.value, 'Departure Date');
	  why += isEmpty(theForm.adults.value, 'Adults');
	  why += isEmpty(theForm.children.value, 'Children');
	}
	
if (why != "") {
	 alert (why);
     return false;
}
return true;
}

// email
function checkEmail (strng) {
var error="";
if (strng == "") {
   error = "You didn't enter an email address.\n";
}
    var emailFilter=/^.+@.+\..{2,3}$/;
    if (!(emailFilter.test(strng))) { 
       error = "Please enter a valid email address.\n";
    }
    else {
//test email for illegal characters
       var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
         if (strng.match(illegalChars)) {
          error = "The email address contains illegal characters.\n";
       }
    }
return error;    
}

// phone number - strip out delimiters and check for 10 digits
function checkPhone (strng) {
var error = "";
if (strng == "") {
   error = "You didn't enter a phone number.\n";
}

var stripped = strng.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters
    if (isNaN(parseInt(stripped))) {
       error = "The phone number contains illegal characters.\n";
    }
return error;
}

// non-empty textbox
function isEmpty(strng1, strng2) {
var error = "";
  if (strng1.length == 0) {
     error = strng2 + " has not been filled in.\n"
  }
return error;	  
}
