function IsEmail(str) 
{
    supported = 0;

    if(window.RegExp) {
        tempStr = "a";
        tempReg = new RegExp(tempStr);
        if(tempReg.test(tempStr))
            supported = 1;
    }

    if(!supported)
        return(str.indexOf(".") > 2) && (str.indexOf("@") > 0);

    r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
    r2 = new RegExp("^.+\\@[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,4})([ ]*)$");
    return(!r1.test(str) && r2.test(str));
}

function IsName(str) 
{
    r1 = new RegExp("^[a-zA-Z]+[-a-zA-Z' ]+[ ]*$");
    return(r1.test(str));
}

function IsEmpty(str) 
{
    strObj = new String(str);
    r = /(\s+)/g;
    strObj = strObj.replace(r, "");
    if(strObj.length == 0)
        return true;
    else 
        return false;
}

function validate_booking_form() 
{
    var error_string = "";
    
    if (!IsName(document.getElementById('booking_contact_name').value))
        error_string += "Your Name cannot be left blank.\n";

    if (!IsEmail(document.getElementById('booking_email_address').value))
        error_string += "Invalid Email Address.\n";
    
    if (IsEmpty(document.getElementById('booking_arrival').value))
        error_string += "Invalid Arrival Date.\n";

    if (IsEmpty(document.getElementById('booking_departure').value))
        error_string += "Invalid Departure Date.\n";
    
    if (document.getElementById('booking_traveling_couple').selectedIndex == 0 &&
        document.getElementById('booking_traveling_men').selectedIndex == 0 &&
        document.getElementById('booking_traveling_women').selectedIndex == 0)
        error_string += "Please select your number(s) traveling.\n";

    if (document.getElementById('booking_traveling_total').selectedIndex == 0)
        error_string += "Total Number of Travelers cannot be 0.\n";

    if (document.getElementById('booking_reservation_type_1').checked == false &&
        document.getElementById('booking_reservation_type_2').checked == false &&
        document.getElementById('booking_reservation_type_3').checked == false &&
        document.getElementById('booking_reservation_type_4').checked == false &&
        document.getElementById('booking_reservation_type_5').checked == false)
        error_string += "Please select a Type of Room/Camping.\n";
    
    if (error_string != "") 
    {
        error_string = "Please Fix the following Field(s):\n\n" + error_string;
        alert(error_string);
        return false;
    }
    
    return true;
}

/*
function validate_booking_form_OLD()
{
    var error_strong = "";
    
    if (document.getElementById('booking_contact_name').value == '')
        error_string += "
  if (theForm.ContactName.value == "")
  {
    alert("Please enter a value for the \"ContactName\" field.");
    theForm.ContactName.focus();
    return (false);
  }

  if (theForm.ContactName.value.length < 2)
  {
    alert("Please enter at least 2 characters in the \"ContactName\" field.");
    theForm.ContactName.focus();
    return (false);
  }

  if (theForm.Email.value == "")
  {
    alert("Please enter a value for the \"Email\" field.");
    theForm.Email.focus();
    return (false);
  }

  if (theForm.Email.value.length < 3)
  {
    alert("Please enter at least 3 characters in the \"Email\" field.");
    theForm.Email.focus();
    return (false);
  }

  if (theForm.arrival.value == "")
  {
    alert("Please enter a value for the \"arrival\" field.");
    theForm.arrival.focus();
    return (false);
  }

  if (theForm.arrival.value.length < 8)
  {
    alert("Please enter at least 8 characters in the \"arrival\" field.");
    theForm.arrival.focus();
    return (false);
  }

  if (theForm.arrival.value.length > 10)
  {
    alert("Please enter at most 10 characters in the \"arrival\" field.");
    theForm.arrival.focus();
    return (false);
  }

  if (theForm.departure.value == "")
  {
    alert("Please enter a value for the \"departure\" field.");
    theForm.departure.focus();
    return (false);
  }

  if (theForm.departure.value.length < 8)
  {
    alert("Please enter at least 8 characters in the \"departure\" field.");
    theForm.departure.focus();
    return (false);
  }

  if (theForm.departure.value.length > 10)
  {
    alert("Please enter at most 10 characters in the \"departure\" field.");
    theForm.departure.focus();
    return (false);
  }

  if (theForm.couplestraveling.value.length > 2)
  {
    alert("Please enter at most 2 characters in the \"couplestraveling\" field.");
    theForm.couplestraveling.focus();
    return (false);
  }

  var checkOK = "0123456789-,";
  var checkStr = theForm.couplestraveling.value;
  var allValid = true;
  var validGroups = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    if (ch != ",")
      allNum += ch;
  }
  if (!allValid)
  {
    alert("Please enter only digit characters in the \"couplestraveling\" field.");
    theForm.couplestraveling.focus();
    return (false);
  }

  if (theForm.mentraveling.value.length > 2)
  {
    alert("Please enter at most 2 characters in the \"mentraveling\" field.");
    theForm.mentraveling.focus();
    return (false);
  }

  var checkOK = "0123456789-,";
  var checkStr = theForm.mentraveling.value;
  var allValid = true;
  var validGroups = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    if (ch != ",")
      allNum += ch;
  }
  if (!allValid)
  {
    alert("Please enter only digit characters in the \"mentraveling\" field.");
    theForm.mentraveling.focus();
    return (false);
  }

  if (theForm.womentraveling.value.length > 2)
  {
    alert("Please enter at most 2 characters in the \"womentraveling\" field.");
    theForm.womentraveling.focus();
    return (false);
  }

  var checkOK = "0123456789-,";
  var checkStr = theForm.womentraveling.value;
  var allValid = true;
  var validGroups = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    if (ch != ",")
      allNum += ch;
  }
  if (!allValid)
  {
    alert("Please enter only digit characters in the \"womentraveling\" field.");
    theForm.womentraveling.focus();
    return (false);
  }

  if (theForm.numbertraveling.value == "")
  {
    alert("Please enter a value for the \"numbertraveling\" field.");
    theForm.numbertraveling.focus();
    return (false);
  }

  if (theForm.numbertraveling.value.length < 1)
  {
    alert("Please enter at least 1 characters in the \"numbertraveling\" field.");
    theForm.numbertraveling.focus();
    return (false);
  }

  if (theForm.numbertraveling.value.length > 2)
  {
    alert("Please enter at most 2 characters in the \"numbertraveling\" field.");
    theForm.numbertraveling.focus();
    return (false);
  }

  var checkOK = "0123456789-,";
  var checkStr = theForm.numbertraveling.value;
  var allValid = true;
  var validGroups = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    if (ch != ",")
      allNum += ch;
  }
  if (!allValid)
  {
    alert("Please enter only digit characters in the \"numbertraveling\" field.");
    theForm.numbertraveling.focus();
    return (false);
  }
  return (true);
}
*/