var letenka = {

  pocetOsob : 0,
  cenik : new Array(),
 
  nastavPocet : function(){
    var pO = $("#objednavkaForm input[name=pocetOsob]").attr("value");
    var pocetOsob = parseInt(pO);
    if((pocetOsob > 4) == false || pocetOsob!=pO-0){
      pocetOsob = 0;
    }
    if(letenka.pocetOsob != pocetOsob){
      letenka.pocetOsob = pocetOsob;
      letenka.count();
    }
  },
  
  validate : function(){
    try{
      var good = true;
      
      // zkontroluj údaje
      $("#objednavkaForm .required").each(function(){
        if(this.value == ""){
            $(this).addClass("noEmpty");
          good = false;
        }
      });    
      if(good == false){
        alert("Vyplňte všechny potřebné údaje.");
        return false;
      }
    
      // typ letu
      var typLetu = $("#objednavkaForm input[name=typLetu]");
      checked = -1;
      for(i=0; i<typLetu.length; i++){
        if(typLetu[i].checked){
          checked = i;
          break;
        }
      }
      if(checked == -1){
        alert("Vyberte způsob platby.");
        return false;
      }
    
      // doruceni
      var zpusobyDoruceni = $("#objednavkaForm input[name=zpusobDoruceni]");
      var checked = -1;
      for(i=0; i<zpusobyDoruceni.length; i++){
        if(zpusobyDoruceni[i].checked && $(zpusobyDoruceni[i]).attr("disabled") == ""){
          checked = i;
          break;
        }
      }
      if(checked == -1){
        alert("Vyberte způsob doručení.");
        return false;
      }
      // platba
      var zpusobyPlatby = $("#objednavkaForm input[name=zpusobPlatby]");
      checked = -1;
      for(i=0; i<zpusobyPlatby.length; i++){
        if(zpusobyPlatby[i].checked && $(zpusobyPlatby[i]).attr("disabled") == ""){
          checked = i;
          break;
        }
      }
      if(checked == -1){
        alert("Vyberte způsob platby.");
        return false;
      }
      
      if(letenka.pocetOsob == 0){
        alert("Počet osob musí být minimálně 5.");
        return false;
      }
      
        
      

      return true;
      
    }catch(e){
      alert(e);
      return false;
    }
  },
  
  
  disablePayments : function(){
    var zpusobyDoruceni = $("#objednavkaForm input[name=zpusobDoruceni]");
    var checked = -1;
    for(i=0; i<zpusobyDoruceni.length; i++){
      if(zpusobyDoruceni[i].checked){
        checked = i;
        break;
      }
    }
    
    if(checked == -1) return false;
    var zpusobyPlatby = $("#objednavkaForm input[name=zpusobPlatby]");
    zpusobyPlatby.each(function(){
      $(this).attr("disabled", "");
    });
    
    var zpusobyPlatbyLabel = $("#objednavkaForm .zpusobPlatbyLabel");
    zpusobyPlatbyLabel.each(function(){
      $(this).removeClass("textDisabled");
    });
    
     /* NASTAVENI ZAKAZU
     * 
     * case cislo znamena zvolene cislo volby (cisluje se od 0)
     * volba je spolecna az do "break;", proto muze byt vice polozek pod sebou
     * 
     * zpusobyPlatby[cislo] je volici zatrzitko - kolecko
     * zpusobyPlatbyLabel[cislo] je popisek
     * */
    switch(checked){
      case 0:
      case 1:
        $(zpusobyPlatby[2]).attr("disabled", "disabled");
        $(zpusobyPlatbyLabel[2]).addClass("textDisabled");
        break;
      case 2:
      case 3:
      case 4:
        $(zpusobyPlatby[0]).attr("disabled", "disabled");
        $(zpusobyPlatby[1]).attr("disabled", "disabled");
        $(zpusobyPlatbyLabel[0]).addClass("textDisabled");
        $(zpusobyPlatbyLabel[1]).addClass("textDisabled");
        break;
	  case 5:
		$(zpusobyPlatby[0]).attr("disabled", "disabled");
        $(zpusobyPlatby[2]).attr("disabled", "disabled");
        $(zpusobyPlatby[3]).attr("disabled", "disabled");
        $(zpusobyPlatby[4]).attr("disabled", "disabled");
        $(zpusobyPlatbyLabel[0]).addClass("textDisabled");
        $(zpusobyPlatbyLabel[2]).addClass("textDisabled");
        $(zpusobyPlatbyLabel[3]).addClass("textDisabled");
        $(zpusobyPlatbyLabel[4]).addClass("textDisabled");
		break;
    }
    
  
  
  },
  
  count : function(){
    
    var cenaSluzby = 0;
    var cenaDopravy = 0;
    
    $("#objednavkaForm input[name=typLetu]").each(function(){
      if(this.checked){
        cenaSluzby += letenka.cenik['skupinove-lety'][this.value] * letenka.pocetOsob;
      }
    });
    
    //sluzby + priplatky
    $(".sluzby-priplatky").each(function(){
      if(this.checked){
        cenaSluzby += letenka.cenik['letenka-sluzby-a-priplatky'][this.value];
      }
    });
    
    //zpusob doruceni
    $("#objednavkaForm input[name=zpusobDoruceni]").each(function(){
      if(this.checked){
        cenaDopravy = letenka.cenik['zpusob-doruceni'][$(this).attr("value")];
      }
    });
    
    $("#cenaSluzby span").html(cenaSluzby);
    $("#cenaDopravy span").html(cenaDopravy);
    $("#celkovaCena span").html(cenaSluzby + cenaDopravy);
  
  },
  
 
}



$(document).ready(function(){

  

  $("#zboziDorucitJinamDiv").hide();
  $("#fakturovatNaFirmuDiv").hide();
  

  $("#zboziDorucitJinamCheckbox").click(function(){
    if($(this).attr("checked") == ""){
      $("#zboziDorucitJinamDiv").slideUp();  
    }else{
      $("#zboziDorucitJinamDiv").slideDown();  
    }
  });
  $("#fakturovatNaFirmuCheckbox").click(function(){
    if($(this).attr("checked") == ""){
      $("#fakturovatNaFirmuDiv").slideUp();  
    }else{
      $("#fakturovatNaFirmuDiv").slideDown();  
    }
  });
  
  $("#fakturovatNaFirmuCheckbox").click(function(){
    if($(this).attr("checked") == ""){
      $("#fakturovatNaFirmuDiv").slideUp();  
    }else{
      $("#fakturovatNaFirmuDiv").slideDown();  
    }
  });
  
  
  $("#objednavkaForm").submit(function(){
          $(".noEmpty").removeClass("noEmpty");
    if(letenka.validate()){
      return true;
    }else{
      return false;
    }
  });
  
  
  $(".sluzby-priplatky").click(function(){
    letenka.count();
    return true;
  });
  
  $("#objednavkaForm input[name=typLetu]").click(function(){
    letenka.count();
    return true;
  });


  $("#objednavkaForm input[name=zpusobDoruceni]").click(function(){
    letenka.count();
    letenka.disablePayments();
    return true;
  });    
    
  letenka.count();
  
  setInterval("letenka.nastavPocet()", 1000);
  



});
