// JavaScript Document

  function PrictiDen(dateString) {         /* Pricte den  dateString - yyyy/mm/dd */
    var myDate = new Date(dateString);      
    myDate.setTime(myDate.getTime()  + 1 *24*60*60*1000)
    return myDate;
  }

  function DatumZobrazeni(myDate) {
    return ""+myDate.getDate()+"."+(myDate.getMonth() + 1)+"."+myDate.getFullYear();
  }


  var pocet = new Array(0,0,0,0,0,0,0,0);
  var ceny = new Array(1380, 1780,  2500, 3000, 2800, 500, 300, 300);
  
  var puvodni_pocet_dni = 1;
  /*
  var myDate = new Date(dateString);      
  myDate.setTime(myDate.getTime()  + 1 *24*60*60*1000)
  return ""+myDate.getDate()+"."+(myDate.getMonth() + 1)+"."+myDate.getFullYear();*/
  
  function InicializaceRezervace() {
    ZmenaData();
    ZapisPocetDni();
  }
    
  function ZmenaData() {
   
    var cena = 0;
    for (i = 0; i < pocet.length; i++) {
       cena += pocet[i] * ceny[i] * puvodni_pocet_dni;
    }
             
    if (cena > 0) {
      cena *= SpocitejPocetDni() / puvodni_pocet_dni;  
      if (js_lang == "cs")
        $(" #cena ").text(cena + ",- Kè");
      else
        $(" #cena ").text(cena + ",- CZK");  
               
    } 
    else { 
  
      $("  .polozka_cislo  ").each(function() {
        $( this ).val("0");   
      });    
     
      ZapisCenu(cena);       
    }
    
    puvodni_pocet_dni = SpocitejPocetDni();                    
  }
    
  function SpocitejPocetDni() {
    
    if ( $("#datepicker3_hidden").val() <  $("#datepicker4_hidden").val() ) { 

      var datum_od = new Date( $("#datepicker3_hidden").val() );
      var datum_do = new Date( $("#datepicker4_hidden").val() ); 

      var pocet_ms = datum_do.getTime() - datum_od.getTime();
      pocet_dni = Math.ceil(pocet_ms / (24*60*60*1000));
  
      return pocet_dni;
    }
    else {
      alert("Datum od musí být menší jak datum do");
      return false;
    }     
  }
  
  function ZapisCenu(cena) {
    if (js_lang == "cs")
      $(" #cena ").text("0,- Kè");
    else
      $(" #cena ").text("0,- CZK");
      
    $(" .hidden_celkova_cena ").val(cena);       
  } 
  
  function ZapisPocetDni() {
  
    ZmenaData();
    var pocet_dni = SpocitejPocetDni();
    
    if (pocet_dni) {
      pocet_dni *= 1;
            
      switch (js_lang) {
        case "cs":
          if (pocet_dni == 1)
            var sklonovani = "den";
          else if (pocet_dni < 5)
            var sklonovani = "dny";
          else if (pocet_dni > 4)
            var sklonovani = "dní";
          var cena_text =  "Cena / "+pocet_dni+" "+sklonovani+":";
          break;
          
        case "en":
          if (pocet_dni == 1)
            var sklonovani = "day";
          else if (pocet_dni > 1)
            var sklonovani = "days";
          var cena_text =  "Price / "+pocet_dni+" "+sklonovani+":";
          break;
          
        case "de":
          if (pocet_dni == 1)
            var sklonovani = "Tag";
          else if (pocet_dni > 1)
            var sklonovani = "Tage";        
          var cena_text =  "Preis / "+pocet_dni+" "+sklonovani+":";
          break;
          
        case "it":
          if (pocet_dni == 1)
            var sklonovani = "giorno";
          else if (pocet_dni > 1)
            var sklonovani = "giorni"; 
          var cena_text =  "Prezzo / "+pocet_dni+" "+sklonovani+":";
          break;
      }
              
      $(" #cena_text ").text(cena_text);
      $(" .hidden_pocet_dni ").val(pocet_dni);
    }
  }
  
  function Spocitej(prvek, index)
  {
    var i, cena;
    var hodnota = $(prvek).val();
    
    if (isNaN(hodnota))
      hodnota = 0;
    else
      hodnota *= 1;
    pocet[index] = hodnota;
    
    cena = 0;
  
    for (i = 0; i < pocet.length; i++) {
       cena += pocet[i] * ceny[i];
    }
  
    var pocet_dni = SpocitejPocetDni();
    
    cena *= pocet_dni; 
    

    ZapisCenu(cena);
    ZapisPocetDni();
    
  } 
  
$(document).ready(function() {

    if (js_lang != "en")
      $.datepicker.setDefaults($.datepicker.regional[js_lang]);   

    var datum_aktualni = new Date(); 

    $( "#datepicker1" ).datepicker({ 
        dateFormat: 'dd.mm.yy',
        minDate: datum_aktualni,
        altFormat: 'yy/mm/dd',
        altField: '#datepicker1_hidden',
        onSelect: function(dateText, inst) { 
          if ( $("#datepicker1_hidden").val() >=  $("#datepicker2_hidden").val() ) { 
            
            var myDate = PrictiDen( $("#datepicker1_hidden").val() );  
            var noveDatum = DatumZobrazeni(myDate);
         
            $( "#datepicker2" ).datepicker( "option", "minDate", noveDatum  );   
            $( "#datepicker2" ).datepicker( "setDate" , noveDatum   );  
          }
          else {
            var myDate = PrictiDen( $("#datepicker1_hidden").val() );  
            var noveDatum = DatumZobrazeni(myDate);
            
            $( "#datepicker2" ).datepicker( "option", "minDate", noveDatum  );
          } 
        }
    });

        
    $("#datepicker2").datepicker( { 
      dateFormat: 'dd.mm.yy', 
      altFormat: 'yy/mm/dd',
      altField: '#datepicker2_hidden',
      minDate: '+1',
      onSelect: function(dateText, inst) {  
          if ( $("#datepicker1_hidden").val() >  $("#datepicker2_hidden").val() ) { 
            $( "#datepicker1" ).datepicker( "setDate" , dateText   );  
          }
      }        
    });
    
  
    $( "#datepicker3" ).datepicker({ 
        dateFormat: 'dd.mm.yy',
        minDate: datum_aktualni,
        altFormat: 'yy/mm/dd',
        altField: '#datepicker3_hidden',
        onSelect: function(dateText, inst) { 
          if ( $("#datepicker3_hidden").val() >=  $("#datepicker4_hidden").val() ) { 
                      
            var myDate = PrictiDen( $("#datepicker3_hidden").val() );  
            var noveDatum = DatumZobrazeni(myDate);                 
          
            $( "#datepicker4" ).datepicker( "option", "minDate", noveDatum  );   
            $( "#datepicker4" ).datepicker( "setDate" , noveDatum   );  
            

          }
          else {                     
            var myDate = PrictiDen( $("#datepicker3_hidden").val() );  
            var noveDatum = DatumZobrazeni(myDate);                 
                    
            $( "#datepicker4" ).datepicker( "option", "minDate", noveDatum  );    
          }
          ZapisPocetDni();
        }       
    });
    
    
    $("#datepicker4").datepicker( { 
      dateFormat: 'dd.mm.yy', 
      altFormat: 'yy/mm/dd',
      altField: '#datepicker4_hidden',
      minDate: '+1',
      onSelect: function(dateText, inst) {  

     /*     if ( $("#datepicker3_hidden").val() >  $("#datepicker4_hidden").val() ) { 
            $( "#datepicker3" ).datepicker( "setDate" , dateText   );  
          }     */
          ZapisPocetDni();
      }, 
      
      beforeShow: function(input, inst) {
          var myDate = PrictiDen( $("#datepicker3_hidden").val() );  
          var noveDatum = DatumZobrazeni(myDate);              
          $( "#datepicker4" ).datepicker( "option", "minDate", noveDatum  );  
      } 
    });  
      

    
    $(" .polozka_cislo ").blur(function() {
      if (this.value == '') this.value = '0';  
    });
    
    $(" .polozka_cislo ").focus(function() {    
      if (this.value == '0') this.value = '';
    });          
    
    $(" .sipka_uber").click(function() {
       var hodnota = $( this ).parent().parent().children("input").val();
       hodnota *= 1;
       
       var input = $( this ).parent().parent().children("input");
       if (hodnota > 0) {
          $(input).val( hodnota - 1 );
          
          var poc = $( input ).attr("class");
          if (poc.length > 16) {
            cislo = poc.substring(16) * 1;
           
            Spocitej(input, cislo); 
          }    
       }
      
    }); 

    $(" .sipka_pridej").click(function() {

       var hodnota = $( this ).parent().parent().children("input").val();
       
       var input = $( this ).parent().parent().children("input"); 
       $( input ).val( (hodnota*1) + 1);
       var poc = $( input ).attr("class");
       
       if (poc.length > 16) {
          cislo = poc.substring(16) * 1;
       
          Spocitej(input, cislo);
       }
       
    }); 
    
    $(" #tab_pokoje input ").change(function() {
      var poc = $(this).attr("class"); 
      cislo = poc.substring(16) * 1;    
      Spocitej(this, cislo);
    });               
});
