$(function() {

	$.datepicker.regional['es'] = {
		closeText: 'Cerrar',
		prevText: '&#x3c;Ant',
		nextText: 'Sig&#x3e;',
		currentText: 'Hoy',
		monthNames: ['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'],
		monthNamesShort: ['Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','Dic'],
		dayNames: ['Domingo','Lunes','Martes','Mi&eacute;rcoles','Jueves','Viernes','S&aacute;bado'],
		dayNamesShort: ['Dom','Lun','Mar','Mi&eacute;','Juv','Vie','S&aacute;b'],
		dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','S&aacute;'],
		weekHeader: 'Sm',
		dateFormat: 'dd/mm/yy',
		firstDay: 1,
		isRTL: false,
		showMonthAfterYear: false,
		yearSuffix: ''
  };

	$.datepicker.regional['en'] = {
		closeText: 'Cerrar',
		prevText: '&#x3c;Ant',
		nextText: 'Sig&#x3e;',
		currentText: 'Hoy',
		monthNames: ['January','February','March','April','May','June','July','August','September','October','November','December'],
		monthNamesShort: ['Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','Dic'],
		dayNames: ['Domingo','Lunes','Martes','Mi&eacute;rcoles','Jueves','Viernes','S&aacute;bado'],
		dayNamesShort: ['Dom','Lun','Mar','Mi&eacute;','Juv','Vie','S&aacute;b'],
		dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','S&aacute;'],
		weekHeader: 'Sm',
		dateFormat: 'dd/mm/yy',
		firstDay: 1,
		isRTL: false,
		showMonthAfterYear: false,
		yearSuffix: ''
  };

	$.datepicker.regional['it'] = {
		closeText: 'Cerrar',
		prevText: '&#x3c;Ant',
		nextText: 'Sig&#x3e;',
		currentText: 'Hoy',
		monthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'],
		monthNamesShort: ['Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','Dic'],
		dayNames: ['Domingo','Lunes','Martes','Mi&eacute;rcoles','Jueves','Viernes','S&aacute;bado'],
		dayNamesShort: ['Dom','Lun','Mar','Mi&eacute;','Juv','Vie','S&aacute;b'],
		dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','S&aacute;'],
		weekHeader: 'Sm',
		dateFormat: 'dd/mm/yy',
		firstDay: 1,
		isRTL: false,
		showMonthAfterYear: false,
		yearSuffix: ''
  };
  
	$.datepicker.setDefaults($.datepicker.regional[lang]);

  var fecha = new Date();
  
  $(".booking_date").datepicker({ 
    showOn: 'button', 
    buttonImageOnly: true, 
    buttonImage: "/wp-content/themes/vlc-flats/images/calendario.png",
    minDate: new Date(fecha.getFullYear(), fecha.getMonth(), fecha.getDay()),
    maxDate: new Date(fecha.getFullYear()+1, fecha.getMonth(), fecha.getDay())
  });
  
  var nMaxH = 10;
  var aInfo = [];
  // aInfo[0]       = { 'max_pax': 6, 'max_apt': 10, 'max_pox': [ 0, 2, 2, 2, 2, 1, 0 ] };
  // aInfo[7240314] = { 'max_pax': 6, 'max_apt': 10, 'max_pox': [ 0, 2, 2, 2, 2, 1, 0 ] }; // 40 flats
  // aInfo[7240317] = { 'max_pax': 3, 'max_apt': 10, 'max_pox': [ 0, 2, 2, 1, 0, 0, 0 ] }; // 50 flats
  // aInfo[7240318] = { 'max_pax': 6, 'max_apt': 10, 'max_pox': [ 0, 2, 2, 2, 2, 1, 0 ] }; // 11 flats
  // aInfo[7240313] = { 'max_pax': 5, 'max_apt': 5,  'max_pox': [ 0, 2, 2, 2, 2, 1, 0 ] }; // 5 flats
  // aInfo[7240316] = { 'max_pax': 6, 'max_apt': 4,  'max_pox': [ 0, 2, 2, 1, 0, 0, 0 ] }; // 4 flats
  // aInfo[7240315] = { 'max_pax': 3, 'max_apt': 10, 'max_pox': [ 0, 2, 2, 2, 2, 1, 0 ] }; // Valenciaflats Rental
  aInfo[0]       = { 'max_pax': 6, 'max_apt': 10, 'max_pox': [ 0, 4, 4, 4, 4, 4, 4 ] };
  aInfo[7240314] = { 'max_pax': 6, 'max_apt': 10, 'max_pox': [ 0, 4, 4, 4, 4, 4, 4 ] }; // 40 flats
  aInfo[7240317] = { 'max_pax': 3, 'max_apt': 10, 'max_pox': [ 0, 4, 4, 4, 4, 4, 4 ] }; // 50 flats
  aInfo[7240318] = { 'max_pax': 6, 'max_apt': 10, 'max_pox': [ 0, 4, 4, 4, 4, 4, 4 ] }; // 11 flats
  aInfo[7240313] = { 'max_pax': 5, 'max_apt': 5,  'max_pox': [ 0, 4, 4, 4, 4, 4, 4 ] }; // 5 flats
  aInfo[7240316] = { 'max_pax': 6, 'max_apt': 4,  'max_pox': [ 0, 4, 4, 4, 4, 4, 4 ] }; // 4 flats
  aInfo[7240315] = { 'max_pax': 3, 'max_apt': 10, 'max_pox': [ 0, 4, 4, 4, 4, 4, 4 ] }; // Valenciaflats Rental

  var jApt  = $("#booking_aparthotel");
  var jHabs = $("#numhabs");
  var jConf = $("#habs_config");
  var fAptChange = function () {
    var id_apt   = jApt.val();
    id_apt = (id_apt=='' ? 0 : id_apt);
    var max_habs = aInfo[id_apt].max_apt;
    fFillSelect("#numhabs", 1, max_habs);
    for(var i=1; i<nMaxH; i++) {
      fFillSelect("#adults"+i,   1, aInfo[id_apt].max_pax);
      fFillSelect("#children"+i, 0, 4);
    }
    jHabs.change();
  };
  var fHabsChange = function () {
    var num_habs = jHabs.val();
    for(var i=1; i<=nMaxH; i++) {
      $("#hab"+i).css({ 'display': i<=num_habs ? 'block' : 'none' });
    }
  }
  var fAdultsChange = function () {
    var id_apt   = jApt.val();
    id_apt = (id_apt=='' ? 0 : id_apt);
    var jThis      = $(this);
    var num_adults = jThis.val();
    var id = "#"+jThis.attr("id").replace('adults', 'children');
    var max = aInfo[id_apt].max_pox[num_adults];
    fFillSelect(id, 0, max);
  }
  var fChildrenChange = function () {
    var jThis        = $(this);
    var jHabEdad     = jThis.parent().parent().find(".habedad");
    var num_children = jThis.val();
    jHabEdad.eq(0).css({ 'display': num_children>=1 ? 'block' : 'none' });
    jHabEdad.eq(1).css({ 'display': num_children>=2 ? 'block' : 'none' });
    jHabEdad.eq(2).css({ 'display': num_children>=3 ? 'block' : 'none' });
    jHabEdad.eq(3).css({ 'display': num_children>=4 ? 'block' : 'none' });
  }
  var fFillSelect = function (id, min, max) {
    var val  = $(id).val();
    var jSel = $(id).empty();
    for(k=min; k<=max; k++)
      jSel.append('<option value="'+k+'">'+k+'</option>');
    $(id).val(val);
  }
  for(var i=1; i<=nMaxH; i++) {
    $("#hab"+i+"edad1wrap").css({ 'display': 'none' });
    $("#hab"+i+"edad2wrap").css({ 'display': 'none' });
    $("#hab"+i+"edad3wrap").css({ 'display': 'none' });
    $("#hab"+i+"edad4wrap").css({ 'display': 'none' });
    $("#adults"+i  ).change(fAdultsChange);
    $("#children"+i).change(fChildrenChange);
    fFillSelect("#hab"+i+"edad1", 0, 12);
    fFillSelect("#hab"+i+"edad2", 0, 12);
    fFillSelect("#hab"+i+"edad3", 0, 12);
    fFillSelect("#hab"+i+"edad4", 0, 12);
  }
  jApt.change(fAptChange).change();
  jHabs.change(fHabsChange).change();
  
  $("#booking_dateIn").change(function () {
    var date = $(this).val().split("/");
    date = date[1]+"/"+date[0]+"/"+date[2];
    date = new Date(date);
    date.setTime(date.getTime()+(24*60*60*1000));
    var d_date  = date.getDate();
    var d_month = date.getMonth()+1;
    var d_year  = date.getYear();
    if(parseInt(d_date)<10)   d_date  = "0"+d_date; 
    if(parseInt(d_month)<10)  d_month = "0"+d_month; 
    if(parseInt(d_year)<1900) d_year += 1900;
    $("#booking_dateOut").val(d_date+"/"+d_month+"/"+d_year);
  });

  $("#booking_submit").click(function (e) {
    e.preventDefault();
    
    var today, dateIn, dateOut;
    today   = new Date();
    dateIn  = $("#booking_dateIn").val().split("/");
    dateOut = $("#booking_dateOut").val().split("/");
    dateIn  = dateIn[1]+"/"+dateIn[0]+"/"+dateIn[2];
    dateOut = dateOut[1]+"/"+dateOut[0]+"/"+dateOut[2];
    dateIn  = new Date(dateIn);
    dateOut = new Date(dateOut);
    today.setTime(today.getTime()-(24*60*60*1000));
    
    if(dateIn.getTime()<today.getTime())   { alert(sAlert1); return; }
    if(dateOut.getTime()<dateIn.getTime()) { alert(sAlert2); return; }
    
    $(this).closest("form").submit();
  });
  
});

