var msgStr = "Oops! It seems that the form has been completed improperly:\n\n";
var valid = true;

function form_validate_dates(ArrivalDate,DepartureDate){
  if(validateFormatDate(ArrivalDate) && validateFormatDate(DepartureDate)){
    if(DateGreatherToday(ArrivalDate)){
      if(!validateDates(ArrivalDate,DepartureDate)){
        msgStr += " - The departure date should be later than the arrival date\n";
        valid = false;
      }
    }
    else{
      msgStr += " - The arrival date should be in the future\n";
      valid = false;
    }
    if(validateDaysbetweenDates(ArrivalDate,DepartureDate)>366){
      msgStr += " - The stay should be one year or less\n";
      valid = false;
    }
  }
  else {
    msgStr += " - The format of the arrival/departure date is not correct\n";
    valid = false;
  }

}

function form_validate_dates_for_reports(FromDate,ToDate){
  if(validateFormatDate(FromDate) && validateFormatDate(ToDate)){
    if(!DateGreatherToday(FromDate) && !DateGreatherToday(ToDate)){
      if(!validateDates(FromDate,ToDate)){
        msgStr += " - The first date should be later than the second date\n";
        valid = false;
      }
    }
    else{
      msgStr += " - The dates should be in the past\n";
      valid = false;
    }
    if(validateDaysbetweenDates(FromDate,ToDate)>9){
      msgStr += " - The period should be no greater than 9 days\n";
      valid = false;
    }
  }
  else {
    msgStr += " - The format of the first/second date is not correct\n";
    valid = false;
  }

}

function form_validate_name(Name){
  if(!validateBlank(Name)){
    msgStr += " - Please provide us with your name\n";
    valid = false;
  }
}

function form_validate_email(Email){
  if(!validateBlank(Email)){
    msgStr += " - Please provide us with your email\n";
    valid = false;
  }
  else{
    if(!validateEmail(Email)){
      msgStr += " - Email addres doesn't seem to be valid\n";
      valid = false;
    }
  }
}

function form_validate_phone(Phone){
  if(validateBlank(Phone) && !validatePhone(Phone)){
    msgStr += " - Please enter a valid phone number\n";
    valid = false;
  }
}

function form_validate_AgentCertified(AgentCertified){
  if(!AgentCertified.checked){
    msgStr += " - Your must be a certified travel agent in order to submit an inquiry as a travel agent. If you are not a travel agent, please uncheck the \"I am a certified travel agent\" option.\n";
    valid = false;
  }
}

function form_validate_TravelerPassword(TravelerPassword,ConfirmPassword){
  if(!validateBlank(TravelerPassword)){
    msgStr += " - Please select a Password\n";
    valid = false;
  }
  else{
    if(TravelerPassword.value != ConfirmPassword.value){
      msgStr += " - Password diferent of Confirm password try again\n";
      valid = false;
    }
  }
}


function validateBasicSearchForm() {
  var ArrivalDate = document.getElementById("InquiryArrival");
  var DepartureDate = document.getElementById("InquiryDeparture");

  msgStr = "Oops! It seems that the form has been completed improperly:\n\n";
  valid = true;

  form_validate_dates(ArrivalDate,DepartureDate);
  if(!valid){
    alert(msgStr);
    return false;
  }
  return valid;
}

function validateInquiryPrivateForm() {
  var Name = document.getElementById("Name");
  var ArrivalDate = document.getElementById("InquiryArrival");
  var DepartureDate = document.getElementById("InquiryDeparture");
  var Email = document.getElementById("Email");
  var Phone = document.getElementById("Phone");
  
  msgStr = "Oops! It seems that the form has been completed improperly:\n\n";
  valid = true;

  form_validate_name(Name);
  form_validate_email(Email);
  form_validate_phone(Phone);
  form_validate_dates(ArrivalDate,DepartureDate);
  
  if(!valid){
    alert(msgStr);
    return false;
  }
  return confirm("To submit your inquiry, please verify that the information is correct and then click 'OK'.");
}

function validateInquiryForm() {
  var Name = document.getElementById("Name");
  var ArrivalDate = document.getElementById("InquiryArrival");
  var DepartureDate = document.getElementById("InquiryDeparture");
  var Email = document.getElementById("Email");
  var Phone = document.getElementById("Phone");
  
  msgStr = "Oops! It seems that the form has been completed improperly:\n\n";
  valid = true;

  form_validate_name(Name);
  form_validate_email(Email);
  form_validate_phone(Phone);
  form_validate_dates(ArrivalDate,DepartureDate);

  var propertyTypes = document.inquiryForm.elements['PropertyTypeID'];
  var propertytypeselected = false;
  for(var i=0;i<propertyTypes.length;i++){
    if(propertyTypes[i].checked) propertytypeselected = true;
  }
  if(!propertytypeselected){
    msgStr += " - At least one property type should be selected\n";
    valid = false;
  }

  if(!valid){
    alert(msgStr);
    return false;
  }
  return confirm("To submit your inquiry, please verify that the information is correct and then click 'OK'.");
}

function validateInquiryFormAgent() {
  var Name = document.getElementById("Name");
  var ArrivalDate = document.getElementById("InquiryArrival");
  var DepartureDate = document.getElementById("InquiryDeparture");
  var Phone = document.getElementById("Phone");
  
  msgStr = "Oops! It seems that the form has been completed improperly:\n\n";
  valid = true;

  form_validate_name(Name);
  form_validate_phone(Phone);
  form_validate_dates(ArrivalDate,DepartureDate);

  var propertyTypes = document.inquiryForm.elements['PropertyTypeID'];
  var propertytypeselected = false;
  for(var i=0;i<propertyTypes.length;i++){
    if(propertyTypes[i].checked) propertytypeselected = true;
  }
  if(!propertytypeselected){
    msgStr += " - At least one property type should be selected\n";
    valid = false;
  }

  if(!valid){
    alert(msgStr);
    return false;
  }
  return confirm("To submit your inquiry, please verify that the information is correct and then click 'OK'.");
}

function validateInquiryFormSingUpAgent() {
  var Name = document.getElementById("Name");
  var ArrivalDate = document.getElementById("InquiryArrival");
  var DepartureDate = document.getElementById("InquiryDeparture");
  var Email = document.getElementById("Email");
  var Phone = document.getElementById("Phone");
  var AgentCertified = document.getElementById("AgentCertified");
  var TravelerPassword = document.getElementById("AgentPass");
  var ConfirmPassword = document.getElementById("AgentPass2");
  
  msgStr = "Oops! It seems that the form has been completed improperly:\n\n";
  valid = true;

  form_validate_name(Name);
  form_validate_email(Email);
  form_validate_phone(Phone);
  form_validate_dates(ArrivalDate,DepartureDate);
  form_validate_AgentCertified(AgentCertified);
  form_validate_TravelerPassword(TravelerPassword,ConfirmPassword);
  

  var propertyTypes = document.inquiryForm.elements['PropertyTypeID'];
  var propertytypeselected = false;
  for(var i=0;i<propertyTypes.length;i++){
    if(propertyTypes[i].checked) propertytypeselected = true;
  }
  if(!propertytypeselected){
    msgStr += " - At least one property type should be selected\n";
    valid = false;
  }

  if(!valid){
    alert(msgStr);
    return false;
  }
  return confirm("To submit your inquiry, please verify that the information is correct and then click 'OK'.");
}



function validatePLSForm() {
  var Name = document.getElementById("Name");
  var ArrivalDate = document.getElementById("InquiryArrival");
  var DepartureDate = document.getElementById("InquiryDeparture");
  var Email = document.getElementById("Email");
  var Phone = document.getElementById("Phone");
  var Budget = document.getElementById("Budget");
  
  msgStr = "Oops! It seems that the form has been completed improperly:\n\n";
  valid = true;

  form_validate_name(Name);
  form_validate_email(Email);
  form_validate_phone(Phone);
  form_validate_dates(ArrivalDate,DepartureDate);

  if(!validateBlank(Budget)){
    msgStr += " - Please provide a budget\n";
    valid = false;
  }

  var propertyTypes = document.PLSform.elements['PropertyTypeID'];
  var propertytypeselected = false;
  for(var i=0;i<propertyTypes.length;i++){
    if(propertyTypes[i].checked) propertytypeselected = true;
  }
  if(!propertytypeselected){
    msgStr += " - At least one property type should be selected\n";
    valid = false;
  }
  
  if(!valid){
    alert(msgStr);
    return false;
  }
  return confirm("To submit your inquiry, please verify that the information is correct and then click 'OK'.");
}

function validateBookForm() {
  var Name = document.getElementById("Name");
  var Email = document.getElementById("Email");
  var Phone = document.getElementById("Phone");

  var msgStr = "Oops! It seems that the form has been completed improperly:\n\n";
  var valid = true;

  form_validate_name(Name);
  form_validate_email(Email);
  form_validate_phone(Phone);

  if(!valid){
    alert(msgStr);
    return false;
  }
  return valid;
}

function validateModifyForm() {
  var ArrivalDate = document.getElementById("InquiryArrival");
  var DepartureDate = document.getElementById("InquiryDeparture");
  var Phone = document.getElementById("Phone");

  var msgStr = "Oops! It seems that the form has been completed improperly:\n\n";
  var valid = true;

  form_validate_phone(Phone);
  form_validate_dates(ArrivalDate,DepartureDate);

  var propertyTypes = document.searchinquiry.elements['PropertyTypeID'];
  var propertytypeselected = false;
  for(var i=0;i<propertyTypes.length;i++){
    if(propertyTypes[i].checked) propertytypeselected = true;
  }
  if(!propertytypeselected){
    msgStr += " - At least one property type should be selected\n";
    valid = false;
  }

  if(!valid){
    alert(msgStr);
    return false;
  }
  return confirm("To submit your inquiry, please verify that the information is correct and then click 'OK'.");
}