var letenka = {

  cenik : new Array(),
  i : 0,

  init : function(){
    $(".udajeOPasazeroviCheckbox").each(function(){
      if($(this).attr("checked") == ""){
        $(this).parent().next().hide();  
      }else{
        $(this).parent().next().slideDown();  
      }
    });
    
    $(".udajeOPasazeroviCheckbox").click(function(){
      if($(this).attr("checked") == ""){
        $(this).parent().next().slideUp();  
      }else{
        $(this).parent().next().slideDown();  
      }
    });
    
    $(".odebratLetenku").click(function(){
      $(this).parent().parent().remove();
      letenka.i--;
      letenka.count();
      return false;
    });
    
    $(".sluzby-priplatkyI").click(function(){
      letenka.count();
      return true;
    });

    $("#objednavkaForm input[name=zpusobDoruceni]").click(function(){
      letenka.count();
      letenka.disablePayments();
      return true;
    });  
    $(".druhTricka").unbind("change").change(function(){
        var select =  $(this).parent().next().find("select");
        if(this.value == "m"){
            if(($(select).find("option[value=XXL]").html()) == null){
                $(select).append("  <option value=\"XXL\">XXL</option>");
            }
        }else{
            $(select).find("option[value=XXL]").remove();
        }        
    })
    
    letenka.count();
  }, 
  
  get : function(type){
    letenka.i++;
    $.ajax({
      type: "POST",
      url: prefix + 'jAjax.php',
      data: "do="+type+"&i="+letenka.i,
      async: true,
      dataType: "json",
      success: function(data){
        if(data.text){
          $("#letenky").append(data.text);
          letenka.init();
        }
      }
    })
  },
  
  validate : function(){
   // try{
      var good = true;

      // zkontroluj údaje
      $("#objednavkaForm .required").each(function(){
        if(this.value == ""){
          good = false;
          $(this).addClass("noEmpty");
        }
      });    
      if(good == false){
        alert("Vyplňte všechny potřebné údaje.");
        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;
      }
      
      // zpočítej letenky a balení
      var letenky = $(".letenkaI");
      var darkoveBaleni = $(".darkoveBaleniI");
      if(letenky.length == 0 && darkoveBaleni.length == 0){
        alert("Musíte mít vloženou alespoň jednu letenku nebo dárkové balení.");
        return false;
      }
	  var form = $("#objednavkaForm input");
	  var send = "";
	  //data for sending
    var i=0;
    while (i >= 0) {
	    if(!form[i]){
            break;
        }
        if(form[i].type=="checkbox"){
            if(form[i].checked == false){
                i++;
                continue;
            }
        }
		if(form[i].value){
			//adding what to validate to send data
			send += form[i].name + "=" + Url.encode(form[i].value) + "&";
		}
		
		i++;
	}

	//sending more options
	success = false;
	send += "do=pgCheckLetenka";
     
	  // ajax query
	$.ajax({
		type: "POST",
		url: prefix + 'jAjax.php',
		data: send,
		async: false,
		dataType: "json",
		success: function(data){
			
            if(data.messages){
                $("#sencha-messages").hide();
                $("#sencha-messages").html(data.messages);
                messagesInit();
                $("#sencha-messages").show("fast");
            }
          
            success = data.text;	// returning
		}
	});
	
	
    return success;
      
    //}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:
        $(zpusobyPlatby[0]).attr("disabled", "disabled");
        $(zpusobyPlatby[1]).attr("disabled", "disabled");
        $(zpusobyPlatbyLabel[0]).addClass("textDisabled");
        $(zpusobyPlatbyLabel[1]).addClass("textDisabled");
        break;
      case 4:
		$(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;
    //letenka
    $(".letenkaI").each(function(){
      cenaSluzby += letenka.cenik['letenka-cena'];
    });
    
    //darkove baleni
    $(".darkoveBaleniI").each(function(){
      cenaSluzby += letenka.cenik['darkove-baleni-cena'];
    });
    
    //sluzby + priplatky
    $(".sluzby-priplatkyI").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){
        //  value = 
        cenaDopravy = letenka.cenik['zpusob-doruceni'][$(this).attr("value")];
      }
    });
    
    $("#cenaSluzby span").html(cenaSluzby);
    $("#cenaDopravy span").html(cenaDopravy);
    $("#celkovaCena span").html(cenaSluzby + cenaDopravy);
    
  
  }
  
  
  
  
}



$(document).ready(function(){

  letenka.init();

  $("#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();  
    }
  });
  
  $("#pridatLetenku").click(function(){
    letenka.get("pgLetenkaForm");
    letenka.init();
    return false;
  });
  
  $("#pridatDarkove").click(function(){
    letenka.get("pgDarkoveBaleniForm");
    letenka.init();
    return false;
  });
  
  $("#objednavkaForm").submit(function(){
      $(".noEmpty").removeClass("noEmpty");
    if(letenka.validate()){
      return true;
    }else{
      return false;
    }
  });
  



});
