
function simpleReservation(){
  $("span.dateDepart select").change(function() {
    var container = $(this).parents("span.dateDepart");
    var departYear = container.find("#dateDepartSearch");
    var departMonth = container.find("#ms");
    var departDay = container.find("#jrs");
    controlDepartDate(departYear, departMonth, departDay, container);
    return false;
  });

  $("div.blocSort a#reservationSimple").click(function() {
    var container = $("div.blocSearch");
    var dureeSejour = "";
    dureeSejour = container.find("#durreSejour").val();
    var cure ="";
    cure  = container.find("#programmeSoin").val();
    var destination = "";
    destination = container.find("#destination").val();
    var monYear = "";
    if(container.find("#ms").val() != "" && container.find("#dateDepartSearch").val() != ""){
      monYear = container.find("#ms").val() + "/" + container.find("#dateDepartSearch").val();
    }
    var day = "";
    day = container.find("#jrs").val();
    if(day == "" && monYear != ""){
      day = "01";
    }
    if(monYear == "" && day != ""){
      alert("Veuillez remplir votre année du depart!");
      return false;
    }

    var currentLanguage = $("#currentLanguage").val();

    var params = "c.DUREESEJOUR_"+currentLanguage+"=" + dureeSejour + "&c.CURES_"+currentLanguage+"=" + cure + "&c.DESTINATIONS_"+currentLanguage+"=" + destination + "&dd=" + $("span.dateDepart #dd").val()
                 + "&dmy=" + $("span.dateDepart #dmy").val() + "&aj=" + $("span.dateDepart #aj").val() + "&monYear=" + monYear + "&day=" + day;
    var url = "/fr/resultats.html?" + params;
    window.location.href=url;
    return false;
  });
}


function controlDepartDate(departYear, departMonth, departDay, container){
  var addDay = "";
  var myDate = new Date();
  var year = myDate.getFullYear();
  var month = myDate.getMonth() + 1;
  var day = myDate.getDay();
  //var container = $("div.formReservation");
  if(departYear.val() != "" && departMonth.val() =="" &&  departDay.val() == ""){
    departMonth.val('01');
    addDay = "182";
    container.find("#aj").val("182");
    container.find("#dmy").val("07" + "/" + departYear.val());
    container.find("#dd").val("02");
  }else if(departYear.val() != "" && departMonth.val()=="" &&  departDay.val() != ""){
    if(day > departDay.val()){
      month = month + 1;
      if(month == 13){
        month = "01";
        departMonth.val(month);
        year += 1;
        departYear.val(year);
      }
      else{
        if(month < 10){
          month = "0" + month;
        }
        departMonth.val(month);
      }
    }
    addDay = "4";
    container.find("#aj").val("4");
    container.find("#dmy").val(departMonth.val() + "/" + departYear.val());
    container.find("#dd").val(departDay.val());
  }else if(departMonth.val() != "" && departYear.val() == "" && departDay.val()== ""){
    if(month > departMonth.val()){
      year += 1 ;
      departYear.val(year);
    }else {
      departYear.val(year);
    }
    container.find("#aj").val("");
    container.find("#dmy").val(departMonth.val() + "/" + departYear.val());
    container.find("#dd").val("");
  }else if(departMonth.val() != "" && departYear.val() != "" && departDay.val() == ""){
    if(month == departMonth.val()){
      departMonth.val(departMonth);
    }if(month > departMonth.val()){
      year += 1 ;
      departYear.val(year);
    }else if(month < departMonth.val()){
      departYear.val(year);
    }
    container.find("#aj").val("");
    container.find("#dmy").val(departMonth.val() + "/" + departYear.val());
    container.find("#dd").val("");
  }else if(departDay.val() != "" && departYear.val() == "" && departMonth.val() ==""){
    //alert("Veuillez remplir votre année du depart!");
  }else if(departDay.val() != "" && departYear.val() == "" && departMonth.val() !=""){
    if(year < departYear.val()){
      departYear.val(departYear.val());
    }else if(year == departYear.val()){
      if(month > departMonth.val()){
        year = year + 1;
        departYear.val(year);
      }else if(month == departMonth.val()){
        if(day > departDay.val()){
          month = month + 1;
          if(month == 13){
            month = "01";
            departMonth.val(month);
            year += 1;
            departYear.val(year);
          }
          else{
            if(month < 10){
              month = "0" + month;
            }
            departMonth.val(month);
          }
        }
      }else{
        departYear.val(departYear);
      }
    }
    addDay = "4";
    container.find("#aj").val("4");
    container.find("#dmy").val(departMonth.val() + "/" + departYear.val());
    container.find("#dd").val(departDay.val());
  }else if(departDay.val() != "" && departYear.val() != "" && departMonth.val() !=""){
    if(month < 10 ){
      month = "0" + month ;
    }
    if(month > departMonth.val()){
      year += 1;
      departYear.val(year);
    }
    else if(month == departMonth.val())
    {
      if(day > departDay.val()){
        month = month + 1;
        if(month == 13){
          month = "01";
          departMonth.val(month);
          year += 1;
          departYear.val(year);
        }
        else{
          if(month < 10){
            month = "0" + month;
          }
          departMonth.val(month);
        }
      }
    }
    addDay = "4";
    container.find("#aj").val("4");
    container.find("#dmy").val(departMonth.val() + "/" + departYear.val());
    container.find("#dd").val(departDay.val());
  }
  return addDay;
}
function searchEngine(){
  $("div.formReservation select").change(function() {
    var container = $(this).parents("div.formReservation");
//    $("p.nbreSejour").replaceWith("<img id=\"loader\" src=\"/csvweb/fr/img/loader.gif\">");
    var params = "";
    var currentLanguage = $("#currentLanguage").val();

    params += "c.DUREESEJOUR_"+currentLanguage+"="
    var durationValue = container.find("#dureSejour").val();
    params += durationValue;

    params += "&c.CURES_"+currentLanguage+"="
    var cure = container.find("#programeSoin").val();
    params += cure;

    params += "&c.DESTINATIONS_"+currentLanguage+"="
    var destination = container.find("#Destination").val();
    params += destination;


    var departDay = container.find("#joursDate");
    var departYear = container.find("#anneeDate");
    var departMonth = container.find("#moisDate");

    var addDay = "";

    addDay = controlDepartDate(departYear, departMonth, departDay, container);

    var departYearMon = "";
    if(container.find("#moisDate").val() == "" && container.find("#anneeDate").val() == ""){
      departYearMon = "";
    }else{
      departYearMon = container.find("#moisDate").val() + "/" + container.find("#anneeDate").val();
    }
    params += "&month=";
    params += departMonth.val();

    params += "&year=";
    params += departYear.val();

    params += "&dd=";
    params += departDay.val();

    params += "&aj=";
    params += addDay;

    params += "&LANGUAGE=";
    params += currentLanguage

    var url = "/searchEngnie?" + params;

    if((container.find("#anneeDate").val() != "" && container.find("#moisDate").val() != "") || (container.find("#joursDate").val() == "" && container.find("#anneeDate").val() == "" && container.find("#moisDate").val() == "") ){
      $("p.nbreSejour").replaceWith("<img id=\"loader\" src=\"/csvweb/fr/img/loader.gif\">");
      searchProducts(url,  container);
    }

    return false;
  });

  $("div.recommencer input#recommencer").click(function(){
    var currentUrl = document.URL;
    var urlTable = currentUrl.split('?');
    var urlOrigine = urlTable[0];
    if (urlOrigine.indexOf("resultats.html") > -1) {
      window.location.href = "/fr/reservation-sejour-thalasso.html";
    } else {
      window.location.href = urlOrigine;
    }
    return false;
  });
  $("div.blocSort a#newSearch").click(function(){
	    var currentUrl = document.URL;
	    var urlTable = currentUrl.split('?');
	    var urlOrigine = urlTable[0];
	    if (urlOrigine.indexOf("resultats.html") > -1) {
	      window.location.href = "/fr/reservation-sejour-thalasso.html";
	    } else {
	      window.location.href = urlOrigine;
	    }
	    return false;
	  });

  $("div.btnVeuPartir input#veuxPartir").click(function(){
      var container = $("div.formReservation");
      var departDay = container.find("#joursDate").val();
      var departYear = container.find("#anneeDate").val();
      var departMonth = container.find("#moisDate").val();
      if(departDay != "" && (departYear == "" && departMonth == "")){
        alert("Veuillez remplir votre année du depart!");
        return false;
      }
    });

  $("div.formReservation").submit(function(){
    var container = $("div.formReservation");
    var month = container.find("#moisDate").val();
    var year = container.find("#anneeDate").val();
    var day = container.find("#joursDate").val();
    if(month != "" && year != ""){
      container.find("#monYear").val(month + "/" + year);
    }
    else {
      container.find("#monYear").val("");
    }
    if(day != ""){
      container.find("#day").val(day);
    }else{
      container.find("#day").val("");
    }
    if(month != "" && year != "" && day == ""){
      container.find("#day").val("01");
    }
  });
}

function searchProducts(url, container){
  var sejourText = "";
  $.ajax({
        url: url,
        type: "GET",
        dataType: "text",
        success: function(msg){
      var botton = container.find("#veuxPartir");
      if(msg == "1" ){
        sejourText = container.find("#simpleSejours").val();
        botton.removeClass("noProduct");
        botton.removeAttr("disabled");
        $("#msg").show();
      }else if(msg == "0"){
    	  msg = "";
        sejourText = "aucun s&eacute;jour disponible";
        botton.addClass("noProduct");
        botton.attr("disabled","disabled");
        $("#msg").hide();
      }else{
        sejourText = container.find("#doubleSejours").val();
        botton.removeClass("noProduct");
        botton.removeAttr("disabled");
        $("#msg").show();
      }
      $("img#loader").replaceWith("<p class=\"nbreSejour\">"+ msg + "&nbsp;" + sejourText +"</p>");
        },
        error: function(){
          sejourText = container.find("#doubleSejours").val()
          $("img#loader").replaceWith("<p class=\"nbreSejour\">"+ "0" + "&nbsp;" + sejourText +"</p>");
        }
    });
}

function addOrUpdateValue(url, name, value) {
  var indexOfCrit = url.indexOf(name);
    if (indexOfCrit > -1) {
      var indexOfEquals = url.indexOf("=",indexOfCrit);
      var indexOfAnd = url.indexOf("&",indexOfCrit);
      if (indexOfEquals > indexOfCrit) {
        if (indexOfAnd > indexOfEquals) {
          var part1 = url.substring(0,indexOfEquals + 1);
          var part2 = url.substring(indexOfAnd);
          url = part1 + value + part2;
        } else {
          url = url.substring(0,indexOfEquals + 1) + value;
        }
      } else {
        url = url.replace(name,"");
        url = url + "&" + name + "=" + value;
      }
    } else {
      url = url + "&" + name + "=" + value;
    }
    return url;
}


$(document).ready(function(){
  /** Results filter  */
  $("#filterForm .blocSort select").change(function() {
    if (!$(this).hasClass("input")) {
      var url = "";
      url = $("#filterForm").attr("action");
      var name = $(this).attr("name");
      var value = $(this).val();
      url = addOrUpdateValue(url, name, value);
      url = addOrUpdateValue(url, "fin", "0");
      url = addOrUpdateValue(url, "lin", "5");
      window.location=url;
    }
  });

  $("div.formReservation select").change(function() {
    var update = $("#updateSearchEngine");
    var currentLanguage = $("#currentLanguage").val();

    if (update.length > 0) {
      var changed = $(this).attr("id");

      var container = $(this).parents("div.formReservation");
      var params = "";
      params += "c.DUREESEJOUR_"+currentLanguage+"="
      var durationValue = container.find("#dureSejour").val();
      params += durationValue;

      params += "&c.CURES_"+currentLanguage+"="
        var cure = container.find("#programeSoin").val();
      params += cure;

      params += "&c.DESTINATIONS_"+currentLanguage+"="
        var destination = container.find("#Destination").val();
      params += destination;

      params += "&c.PROD=OUI"

      $.ajax({
          url: "/"+currentLanguage.toLowerCase()+"/components/ajax/selectBox.jsp?updated=" + changed + "&" + params,
          type: "GET",
          dataType: "text",
          success: function(msg){
          var result = jQuery("<div/>").html(msg);
          result.find("select").each(function(){
             var sltId =  $(this).attr("id");
             var slt = $("#" + sltId);
             slt.html($(this).html());
          });
       }
      });
    }
  });
  $("div.blocSort select").change(function() {
	    var update = $("#updateSearchEngine");
	    var currentLanguage = $("#currentLanguage").val();

	    if (update.length > 0) {
	      var changed = $(this).attr("id");

	      var container = $(this).parents("div.blocSort");
	      var params = "";
	      params += "c.DUREESEJOUR_"+currentLanguage+"="
	      var durationValue = container.find("#durreSejour").val();
	      params += durationValue;

	      params += "&c.CURES_"+currentLanguage+"="
	        var cure = container.find("#programmeSoin").val();
	      params += cure;

	      params += "&c.DESTINATIONS_"+currentLanguage+"="
	        var destination = container.find("#destination").val();
	      params += destination;

	      params += "&c.PROD=OUI"

	      $.ajax({
	          url: "/"+currentLanguage.toLowerCase()+"/components/ajax/selectBox.jsp?updated=" + changed + "&" + params,
	          type: "GET",
	          dataType: "text",
	          success: function(msg){
	          var result = jQuery("<div/>").html(msg);
	          result.find("select").each(function(){
	             var sltId =  $(this).attr("id");
	             var slt = $("#" + sltId);
	             slt.html($(this).html());
	          });
	       }
	      });
	    }
	  });

});
