var cenacelkem = 999999;
var objdata = {};
objdata["jidla"] = [];
objdata["celkcena"] = 0; objdata["pozn"] = "";	//jen u pizzy

$(document).ready(function(){

	$('#content .tableHeader a').click(function(){
		var mainParent = $(this).parent().parent();
		var table = $(this).parent().parent().find('div.table');
		var tableHeight = $(table).find('table').height();
		
		if ($(table).height() == 30){
			$('.tableHeader a', mainParent).attr('class','open');
			$(table).animate({ 'height' : tableHeight + 'px' }, 500);
			$(mainParent).attr('class','show');
		} else {
			$('.tableHeader a', mainParent).attr('class','close');
			$(table).animate({ 'height':'30px' }, 500, function(){
				$(mainParent).attr('class','hide');
			});
		}
	});
	
	$('#login_error').click(function(){
		$(this).hide();
	});

/** Funkce pro objednavani denniho menu */

function is_vyplneno() {
  var i = 0;
  $('#dennimenunabidka div input.foodCount').each(function () {
    if (parseInt($(this).val()) > 0) i += 1;
  });
  $('#dennimenunabidka div input.akcnifoodCount').each(function () {
    if (parseInt($(this).val()) > 0) i += 1;
  });
  if (i < 1) {
    alert('Chyba - musíte si vybrat nějaké hlavní jídlo.'); 
    return false; 
  } else
    return true;
}

//   $('#dennimenunabidka div input').each(function () { $(this).hide(); });

function zpracuj_jidla_form() {
  objdata["jidla"] = [];
  cenacelkem = 0;
  var v = '';
  var i = 0;
  //nacteni ID jidel, ktery se maji objednat (POLEVKA A HLAVNI JIDLO)
  $('#dennimenunabidka div input.foodCount').each(function () {
    if (parseInt($(this).val()) > 0) {
      var objpolozka = {};
      var pozn = '';
      var id = parseInt($(this).attr('name'));
      var pocet = parseInt($('#'+id+'_pocet').val());
      var pol1 = parseInt($('#'+id+'_pol1').val());
      var pol2 = parseInt($('#'+id+'_pol2').val());
      var poradijidla = parseInt($('#'+id+'_poradi').val());
      /*var pol2cena = 19; uprava na vikendy: */
      var pol2cena = parseInt($('#polevka_cena').val())+4;	//vcetne obalu pokud je to zvlsat polevka
      var cenaobalu = parseInt($('#'+id+'_cenaobalu').val());
      
      if ($(this).is('.vcetnepolevky')) {
	pol2 = pocet;
	pol2cena = 4;
      }
      var cena = parseInt($('#'+id+'_cena').val());
      //kontrola
      if (pol1 > pocet) {
	alert('Chyba - nejde víc polovičních porcí, prosím opravte.');
	return;
      }
      /* libovolny pocet polevek->zakomentovano if (pol2 > pocet) {
	alert('Chyba - nejde objednat více polévek než hlavních jídel, prosím opravte.');
	return;
      } */
      if (pol1 > 0) {
	pozn += ', z toho '+ pol1 +' poloviční porce';
      }
      if (pol2 > 0 || $(this).is('.vcetnepolevky')) {
	pozn += ', '+ pol2 +' včetně polévky';
      }
      //vypocet ceny
      var cenaj = (pocet - pol1) * cena + 0.7 * pol1 * cena + pol2cena * pol2 + pocet * cenaobalu;
      
      //naplneni promenne pro JSON
      objpolozka['jid'] = id;
      objpolozka['pocet'] = pocet;
      objpolozka['pol1'] = pol1;
      objpolozka['pol2'] = pol2;
      objpolozka['nazev'] = $(this).attr('title');
      objpolozka['poradi'] = poradijidla;
      objdata['jidla'].push(objpolozka);
      
      //generovani textu do souhrnu
      v += '<div class="polozkajidla"><span class="souhrn-pocet">' + pocet + 'x</span> <span class="souhrn-nazev">' + $(this).attr('title') + '</span>'+ pozn + ' <div class="souhrn-cena">' + cenaj + ',- Kč</div><div class="clear"></div></div><br />';
      
      cenacelkem += cenaj;
    }
  });
    //nacteni ID jidel, ktery se maji objednat MOUCNIKY, SALATY - OSTATNI
  $('#dennimenunabidka div input.otherfoodCount').each(function () {
    if (parseInt($(this).val()) > 0) {
      var objpolozka = {};
      var pozn = '';
      var id = parseInt($(this).attr('name'));
      var pocet = parseInt($('#'+id+'_ostatni').val());
      var cena = parseInt($('#'+id+'_cena').val());
      //vypocet ceny
      var cenaj = pocet * cena;
      
      //naplneni promenne pro JSON
      objpolozka['jid'] = id;
      objpolozka['pocet'] = pocet;
      objpolozka['pol1'] = 0;
      objpolozka['pol2'] = 0;
      objpolozka['nazev'] = $(this).attr('title');
      objdata['jidla'].push(objpolozka);

      //generovani textu do souhrnu
      v += '<div class="souhrn-polozka"><span class="souhrn-pocet">' + pocet + 'x</span> <span class="souhrn-nazev">' + $(this).attr('title') + '</span> <div class="souhrn-cena">' + cenaj + ',- Kč</div><div class="clear"></div></div><br />';
      
      cenacelkem += cenaj;
    }
  });
  //nacteni ID jidel, ktery se maji objednat AKCNI
  $('#dennimenunabidka div input.akcnifoodCount').each(function () {
    if (parseInt($(this).val()) > 0) {
      var objpolozka = {};
      var pozn = '';
      var id = parseInt($(this).attr('name'));
      var pocet = parseInt($('#'+id+'_pocet').val());
      var cena = parseInt($('#'+id+'_cena').val());
      //vypocet ceny
      var cenaj = pocet * (cena + 5);
      
      //naplneni promenne pro JSON
      objpolozka['jid'] = id;
      objpolozka['pocet'] = pocet;
      objpolozka['pol1'] = 0;
      objpolozka['pol2'] = 0;
      objpolozka['nazev'] = $(this).attr('title');
      objdata['jidla'].push(objpolozka);

      //generovani textu do souhrnu
      v += '<div class="souhrn-polozka"><span class="souhrn-pocet">' + pocet + 'x</span> <span class="souhrn-nazev">' + $(this).attr('title') + '</span> <div class="souhrn-cena">' + cenaj + ',- Kč</div><div class="clear"></div></div><br />';
      
      cenacelkem += cenaj;
    }
  });
    cenacelkem = Math.round(cenacelkem);
  $('#celkcena').html(cenacelkem);

  return v;
}

//kontrola - upravené aurem_jqc
function kontrola_objformu() {
  var chyby="";
  $(".jqc_form1 .jqc_text:visible").each(function() {
    var d = jQuery.trim($(this).val());
    if (d=="") {
      $(this).css( "background", "#ff8888" );
      chyby+=" - nevyplněné pole "+$(this).attr("name")+"\n";
    } else {
      $(this).css( "background", "#613419" );
    }
  });
  $(".jqc_form1 .jqc_num:visible").each(function() {
    var d = jQuery.trim($(this).val());
    if (!d.match(/^[0-9\+\-\ ]+$/)) {
      $(this).css( "background", "#ff8888" );
      chyby+=" - číslo v poli "+$(this).attr("name")+"\n";
    } else {
      $(this).css( "background", "#613419" );
    }
  });
  $(".jqc_form1 .jqc_email:visible").each(function() {
    var d = jQuery.trim($(this).val());
    if (!d.match(/^.+@.+\.[a-zA-Z]+$/)) {
      $(this).css( "background", "#ff8888" );
      chyby+=" - chybný email v poli "+$(this).attr("name")+"\n";
    } else {
      $(this).css( "background", "#613419" );
    }
  });
  if (!$('#rules:visible').is(':checked')) {
		 chyby+=" - souhlas s obchodními podmínkami"+"\n";
	}
 if (chyby!="") {
    alert("Špatně vyplněný formulář:\n"+chyby+"prosím, opravte...");
    return false;
  } else {
    return true;
  }
}

//check - pocet hlavnich jidel
$('.checkpol0').click(function () {
  var cb = $(this).attr("id").split("_",2);
  $(this).hide(); 
  $("#" + cb[1] + "_pocet").attr('value', 1);
  $("#" + cb[1] + "_pocet").fadeIn();
  
  zpracuj_jidla_form();
});

//moucniky
$('.checkpolm').click(function () {
  var cb = $(this).attr("id").split("_",2);
  $(this).hide(); 
  $("#" + cb[1] + "_ostatni").attr('value', 1);
  $("#" + cb[1] + "_ostatni").fadeIn();
  
  zpracuj_jidla_form();
});

//check - pocet polovicnich
$('.checkpol1').click(function () {
  var cb = $(this).attr("id").split("_",2);
  $(this).hide();
  //$("#" + cb[1] + "_pol1").attr('value', parseInt($('#' + cb[1] + '_pocet').val())); 
  $("#" + cb[1] + "_pol1").attr('value', 1);
  $("#" + cb[1] + "_pol1_text").fadeIn();
  $("#" + cb[1] + "_pol1").fadeIn();
  //taky hlavni jidla pocet
  $("#" + "checkpol0_" + cb[1] ).hide(); 
  $("#" + cb[1] + "_pocet:hidden").attr('value', 1);
  $("#" + cb[1] + "_pocet:hidden").fadeIn();
  //kontrola
  var pocet = parseInt($('#'+cb[1]+'_pocet').val());
  if (isNaN(pocet)) pocet = 0;
  var pol1 = parseInt($('#'+cb[1]+'_pol1').val());
  if (pol1 > pocet) {
    $('#'+cb[1]+'_pocet').attr('value', pol1);
  }
  
  zpracuj_jidla_form();
});

//check - pocet polevek
$('.checkpol2').click(function () {
  var cb = $(this).attr("id").split("_",2);
  $(this).hide();
  $("#" + cb[1] + "_pol2").attr('value', 1);
  $("#" + cb[1] + "_pol2").fadeIn();
    //kontrola
  var pocet = parseInt($('#'+cb[1]+'_pocet').val());
  if (isNaN(pocet)) pocet = 0;
  var pol2 = parseInt($('#'+cb[1]+'_pol2').val());
  /* if (pol2 > pocet) {
    alert('Chyba - nelze objednat více polévek než hlavních jídel, prosím opravte.');
    return false;
  } */
});

$('.checkvcetnepolevky').click(function () {
//   var cb = $(this).attr("id").split("_",2);
//   $("#" + cb[1] + "_pol2").attr('value', $('#'+cb+'_pocet').val());
});

$('#dennimenunabidka div input').keyup(function () {
  zpracuj_jidla_form();
});

$('.checkpol1, .checkpol2').click(function () {
  zpracuj_jidla_form();
});

$('.objednani').click(function () {
  //kontrola, jesstli je neco vybrano
  if (!is_vyplneno()) return;
  //zneaktivneni formulare na vyber jidla
  $('#dennimenunabidka div input').each(function () {
    $(this).attr('readonly', 'readonly');
    $(this).attr('disabled', 'disabled');
  });
  $('#dennimenunabidka div').addClass('inactive');
  $('p.poprveinfo').hide();
  //zobrzeni obj.formu
  $('#formObjednani').slideDown();
  //pocitani ceny a prehledu
  $('#objednavkasouhrn').html('<p>'+zpracuj_jidla_form()+'</p>');
  //zmena tlacitek
  $('input.objednani').hide();
  $('.rules_div').show();
  $('.objbutton').show();
  //pripadne zobrazeni registrace
  if ($(this).is('.withRegister')) {
    $('.registracniudaje').show();
  }
});

$('#znovuvybrat').click(function () {
  $('#dennimenunabidka div input').each(function () {
    $(this).removeAttr('readonly');
    $(this).removeAttr('disabled');
  });
  $('#dennimenunabidka div').removeClass('inactive');
  $('input.objednani').show();
  $('.rules_div').hide();
  $('.objbutton').hide();
  $('#formObjednani').slideUp();
  $('.registracniudaje').hide();
});

$('#objednat').click(function () {
  //kontrola
  if (!kontrola_objformu()) return false;

	//schovat se, aby se nekliko vickrat
	$(this).hide();
  
  //objednavka
  objdata['datum'] = $('#datum').val();
  objdata['jmeno'] = $('#jmeno').val();
  objdata['ulice'] = $('#ulice').val();
  objdata['mesto'] = $('#mesto').val();
  objdata['psc'] = $('#psc').val();
  objdata['tel'] = $('#tel').val();
  objdata['email'] = $('#email').val();
  objdata['pozn'] = $('#pozn').val();
  objdata['zakcislo'] = $('#zakcislo').val();
  
  //registrace
  objdata['login'] = $('#login').val();
  objdata['pass1'] = $('#pass1').val();
  objdata['pass2'] = $('#pass2').val();
  
  //alert('Ladění: Objednávka bude odeslána na server: '+JSON.stringify(objdata));
  
  $.post('/?api-json=objednat', 'r='+JSON.stringify(objdata), function (data) {
    $('.objpre').hide();
//        $('.objfinal').html('<div class="dekujeme"><p class="big">Odesláno, děkujeme!</p><p>Vaši objednávka byla v pořádku odeslána, můžete se těšit na svůj oběd :)</p></div><p>'+data+'</p>');
    $('.objfinal').html('<div class="dekujeme"><p class="big">Odesláno, děkujeme!</p><p>Vaši objednávka byla v pořádku odeslána, můžete se těšit na svůj oběd :)</p><p>'+data+'</p></div>');
    $('.objfinal').fadeIn('slow');
  });
  
});

//-----------PIZZA------------

function get_ingredience(pid, p) {
  var id = pid+'_'+p;
  var v = '<div id="seznamingredienci_'+id+'" class="ingredience_'+pid+'" style="display: none;">\
  <div class="checkbox clearfix">\
  <input type="checkbox" id="kecup_'+id+'" title="Kečup" value="10" class="doplnkovyp" />\
<label for="kecup_'+id+'"><strong>Kečup</strong> 30g (+10 Kč)</label>\
</div>\
<div class="checkbox clearfix">\
<input type="checkbox" id="kurecimaso_'+id+'" title="Kuřecí maso" value="20" class="doplnkovyp" />\
<label for="kurecimaso_'+id+'"><strong>Kuřecí maso</strong> 80g (+20 Kč)</label>\
</div>\
<div class="checkbox clearfix">\
<input type="checkbox" id="uzenina_'+id+'" title="Uzenina" value="20" class="doplnkovyp" />\
<label for="uzenina_'+id+'"><strong>Uzenina</strong> 80g (+20 Kč)</label>\
</div>\
<div class="checkbox clearfix">\
<input type="checkbox" id="syr_'+id+'" title="Sýr" value="20" class="doplnkovyp" />\
<label for="syr_'+id+'"><strong>Sýr</strong> 80g (+20 Kč)</label>\
</div>\
<div class="checkbox clearfix">\
<input type="checkbox" id="tunak_'+id+'" title="Tuňák" value="20" class="doplnkovyp" />\
<label for="tunak_'+id+'"><strong>Tuňák</strong> 80g (+20 Kč)</label>\
</div>\
<div class="checkbox clearfix">\
<input type="checkbox" id="ananas_'+id+'" title="Ananas" value="12" class="doplnkovyp" />\
<label for="ananas"><strong>Ananas</strong> 50g (+12 Kč)</label>\
</div>\
</div>';
  return v;
}

$('.pizzaingrcheck').click(function () {
  //kontrola
  var cb = $(this).attr("id").split("_",2);
  var pocet = parseInt($("#"+cb[1]+"_pocet").attr('value'));
  if (pocet < 1) { alert('Napřed si musíte vybrat počet pizz'); return false; }
  //prekryti a vygenerovani seznamu pizz pro ingredience
  $("#pizzaingrn_" + cb[1]).hide();
  var t = '<select id="ingredience_'+cb[1]+'" class="ingredienceselect">';
  for (var i = 1; i <= pocet; i++) {
    t += '<option value="'+i+'">'+i+'. pizza</option>';
  }
  t += '</select> <p class="pocetpizz">ze '+pocet+' ks</p>';
  for (var i = 1; i <= pocet; i++) {
    t += get_ingredience(cb[1], i);
  }
  $("#pizzaingra_" + cb[1]).html(t);
  $("#pizzaingra_" + cb[1]).fadeIn();
 
  //zorazeni prvni
  $('#seznamingredienci_'+cb[1]+'_1').fadeIn();
  
  //zobrazeni dalsich pri zmene selectu
  $('select.ingredienceselect').change(function () { //alert('hu');
  var cb = $(this).attr("id").split("_",2);
  var cp = parseInt($(this).attr('value')); //alert(cp);
  $('.ingredience_'+cb[1]).hide();
  $('#seznamingredienci_'+cb[1]+'_'+cp).fadeIn();
  });
  
  //prepocitani ceny pro nove elementy (ingredience)
  $('#dennipizzanabidka input:checkbox').click(function () {
    zpracuj_pizza_form();
  });
});

function is_pizza_vyplneno() {
  var i = 0;
  $('input.foodCount').each(function () {
    if (parseInt($(this).val()) > 0) i += 1;
  });
  if (i < 1) {
    alert('Chyba - musíte si vybrat alespoň jednu pizzu.'); 
    return false; 
  } else
    return true;
}

function zpracuj_pizza_form() {
  objdata["jidla"] = [];
  cenacelkem = 0;
  var v = '';
  var i = 0;
  //nacteni ID jidel, ktery se maji objednat
  $('input.foodCount').each(function () {
    if (parseInt($(this).val()) > 0) {
      var objpolozka = {};
      var pozn = '';
      var id = parseInt($(this).attr('name'));
      var pocet = parseInt($('#'+id+'_pocet').val());
      var cena = parseInt($('#'+id+'_cena').val());
      var extracena = 0;
      
      //ingredience
      // 1.pro vsechny pizzy tohodle druhu
      $('.ingredience_'+id).each(function () {
	// 2.projdu vsechny ingredience
	var mpozn = '';
	$('#'+$(this).attr('id')+' '+'.doplnkovyp').each(function () {
	  if ($(this).is(':checked')) {
	    mpozn += ' '+$(this).attr('title')+',';
	    var exc = parseInt($(this).attr('value'));
	    if (isNaN(exc)) extracena += 0; else extracena += exc;
	  }
	});
	if (mpozn != '') pozn += ' navíc:' + mpozn.slice(0, mpozn.length-1) + ',';
      });

      //vypocet ceny
      var cenaj = pocet * cena + pocet * 10 + extracena;
      
      //naplneni promenne pro JSON
      objpolozka['jid'] = id;
      objpolozka['pocet'] = pocet;
      objpolozka['nazev'] = $(this).attr('title')+' '+pozn.slice(0, pozn.length-1)+'  '+cenaj+',-';
      objdata['jidla'].push(objpolozka);
      
      //generovani textu do souhrnu
      v += '<div class="polozkajidla"><span class="souhrn-pocet">' + pocet + 'x</span> <span class="souhrn-nazev">' + $(this).attr('title') + '</span> ' + pozn.slice(0, pozn.length-1) + '<div class="souhrn-cena">' + cenaj + ',- Kč</div><div class="clear"></div></div><br />';
      
      cenacelkem += cenaj;
    }
  });
  cenacelkem = Math.round(cenacelkem);
  objdata['celkcena'] = cenacelkem;
  $('#celkcena').html(cenacelkem);

  return v;
}

$('#dennipizzanabidka input').keyup(function () {
  zpracuj_pizza_form();
});

$('#dennipizzanabidka input:checkbox').click(function () {
  zpracuj_pizza_form();
});

$('.pizza-objednani').click(function () {
  //kontrola, jesstli je neco vybrano
  if (!is_pizza_vyplneno()) return;
  //zneaktivneni formulare na vyber jidla
  $('#dennipizzanabidka input').each(function () {
    $(this).attr('readonly', 'readonly');
    $(this).attr('disabled', 'disabled');
  });
  $('#dennipizzanabidka').addClass('inactive');
  $('p.poprveinfo').hide();
  //zobrzeni obj.formu
  $('#formObjednani').slideDown();
  //pocitani ceny a prehledu
  $('#objednavkasouhrn').html('<p>'+zpracuj_pizza_form()+'</p>');
  //zmena tlacitek
  $('input.pizza-objednani').hide();
  $('.rules_div').show();
  $('.objbutton').show();
  //pripadne zobrazeni registrace
  if ($(this).is('.withRegister')) {
    $('.registracniudaje').show();
  }
});

$('#pizza-znovuvybrat').click(function () {
  $('#dennipizzanabidka input').each(function () {
    $(this).removeAttr('readonly');
    $(this).removeAttr('disabled');
  });
  $('#dennipizzanabidka').removeClass('inactive');
  $('input.pizza-objednani').show();
  $('.rules_div').hide();
  $('.objbutton').hide();
  $('#formObjednani').slideUp();
  $('.registracniudaje').hide();
});

$('#pizza-objednat').click(function () {
  //kontrola
  if (!kontrola_objformu()) return false;
  
  //objednavka
  objdata['datum'] = $('#datum').val();
  objdata['jmeno'] = $('#jmeno').val();
  objdata['ulice'] = $('#ulice').val();
  objdata['mesto'] = $('#mesto').val();
  objdata['psc'] = $('#psc').val();
  objdata['tel'] = $('#tel').val();
  objdata['email'] = $('#email').val();
  objdata['pozn'] = $('#pozn').val();
  objdata['zakcislo'] = $('#zakcislo').val();
  
  //registrace
  objdata['login'] = $('#login').val();
  objdata['pass1'] = $('#pass1').val();
  objdata['pass2'] = $('#pass2').val();
  
  //alert('Ladění: Objednávka bude odeslána na server: '+JSON.stringify(objdata));
  
  $.post('/?api-json=objednat', 'r='+JSON.stringify(objdata), function (data) {
    $('.objpre').hide();
    $('.objfinal').html('<div class="dekujeme"><p class="big">Odesláno, děkujeme!</p><p>Vaši objednávka byla v pořádku odeslána, můžete se těšit na svou pizzu :)</p></div><p>'+data+'</p>');
    $('.objfinal').fadeIn('slow');
  });
});

//----------rezervace--------

//kontrola - upravené aurem_jqc
function kontrola_rezformu() {
  var chyby="";
  $(".jqc_form1 .jqc_text:visible").each(function() {
    var d = jQuery.trim($(this).val());
    if (d=="") {
      $(this).css( "background", "#ff8888" );
      chyby+=" - nevyplněné pole "+$(this).attr("name")+"\n";
    } else {
      $(this).css( "background", "#613419" );
    }
  });
  $(".jqc_form1 .jqc_num:visible").each(function() {
    var d = jQuery.trim($(this).val());
    if (!d.match(/^[0-9\+\-\ ]+$/)) {
      $(this).css( "background", "#ff8888" );
      chyby+=" - číslo v poli "+$(this).attr("name")+"\n";
    } else {
      $(this).css( "background", "#613419" );
    }
  });
  $(".jqc_form1 .jqc_email:visible").each(function() {
    var d = jQuery.trim($(this).val());
    if (!d.match(/^.+@.+\.[a-zA-Z]+$/)) {
      $(this).css( "background", "#ff8888" );
      chyby+=" - chybný email v poli "+$(this).attr("name")+"\n";
    } else {
      $(this).css( "background", "#613419" );
    }
  });
 if (chyby!="") {
    alert("Špatně vyplněný formulář:\n"+chyby+"prosím, opravte...");
    return false;
  } else {
    return true;
  }
}

$('.rezervace-form').submit(function() {
  if (!kontrola_rezformu()) return false;
  $.post('/?api-json=rezervace', $(this).serialize(), function (data) {
    $('.rezervace-form').hide();
    $('#rezervace-resp').html('<div class="dekujeme"><p class="big">Rezervace odeslána, děkujeme!</p><p>V případě, že je rezervovaný stůl na danou dobu obsazen, budeme Vás kontaktovat a nabídneme Vám jiné zajímavé místo.</p><p>Tešíme se na Vás!</p></div>');
    $('#rezervace-resp').fadeIn('slow');
  });
  return false;
});


});
