$(document).ready(function(){

  controls_set_functionality();
  check_step2_setting();
  


	$.ajaxSetup({
    complete: function(XMLHttpRequest, textStatus) {
      controls_set_functionality(); // the options for this ajax request
    }
  });

	$(".rekapitulace_div input[name^='form']").blur(function(){
 		save_form_data();
	});

	$(".rekapitulace_div textarea[name^='form']").blur(function(){
 		save_form_data();
	});

	$(".rekapitulace_div select[name^='form']").blur(function(){
		save_form_data();
	});

	$('select[name="zaznamu"]').change(function(){
		$('form#frmPocet').submit();
	});

	$('#prihlaste_se').click(function(){
		var login_form = '';



		login_form += "<form action='exe/login.php' method='post' enctype='multipart/form-data' onkeypress = 'if(event.keyCode == 13)this.submit();'>";
		login_form += '	<table id="popup_login">';
		login_form += '		<tr>';
		login_form += '			<td class="first">Email:</td>';
		login_form += '			<td><input class="inp focus" type="text" name="form[email]" value="" /></td>';
		login_form += '			<td class="first">Heslo:</td>';
		login_form += '			<td><input class="inp" type="password" name="form[heslo]" value="" /></td>';
		login_form += '		</tr>';
		login_form += '		<tr><td colspan="4"></td></tr>';
		login_form += '		<tr>';
		login_form += '			<td class="first" colspan="3"></td>';
		login_form += '			<td><input class="button" type="submit" value="přihlásit" name="login" style="float:right;" /></td>';
		login_form += '		</tr>';
		login_form += '	</table>';
		login_form += "</form>";


		$.popup.show("Přihlášení", login_form);


	});


	$('#karta_overit').click(function(){

//		dynamic_price(2, 0, 150);
		
		var kod = $('input[name="form[karta_kod]"]').val();
		var sel_card = $('select[name="form[karta_typ]"] option:selected').val();
		if ((sel_card != 0) && (kod.length>0)) {
		 	check_card_code(sel_card, kod);
		} else {
	 		$('#karta_overit').removeClass("overit");
 			$('#karta_overit').removeClass("ok");
 			$('#karta_overit').removeClass("err");
 			$('#karta_overit').addClass('overit');

			dynamic_price(2,99,0);
			$('input[name="form[karta_kod]"]').val('');

		}
	});


	$('#inp_radio_osobne_id').click(function(){
	  $('#pobocka_box').removeClass("hidden");
	  $('#postovne_box').addClass('hidden');
	  $('#postovne_box2').addClass('hidden');
	  $('tr.postovne').addClass("hidden");

   	if ($("input[name='form[postovne]']").val()>0) {
			if ($("select[name='form[stat]']").val()=='CR') {
				dynamic_price(1, 0, 0);
			} else {
				dynamic_price(1, 0, 0,$("select[name='form[stat]']").val());
			}
		}

// 		if ($('#postovne').html()== '150,-') {
//
// 			$('#postovne').html('');
// 			var cenatxt = $('#cena_celkem').html();
// 	    var cena = parseInt(cenatxt.substr(0,cenatxt.length-2));
//
// 			$('#cena_celkem').html((cena - 150)+",-");
// 		}
	});


	$('#inp_radio_dobirka_id').click(function(){
	  $('#postovne_box').removeClass("hidden");
	  $('#pobocka_box').addClass('hidden');
	  $('#postovne_box2').addClass("hidden");
	  $('tr.postovne').removeClass("hidden");

			if ($("select[name='form[stat]']").val()=='CR') {
				dynamic_price(1, 0, 150);
			} else {
				dynamic_price(1, 0, 7,$("select[name='form[stat]']").val());
			}

	});

	$('#inp_radio_faktura_id').click(function(){
	  $('#postovne_box2').removeClass("hidden");
	  $('#pobocka_box').addClass('hidden');
	  $('#postovne_box').addClass("hidden");
	  $('tr.postovne').removeClass("hidden");

			if ($("select[name='form[stat]']").val()=='CR') {
				dynamic_price(1, 0, 60);
			} else {
				dynamic_price(1, 0, 7,$("select[name='form[stat]']").val());
			}

	});

  $("select[name='form[stat]']").change(function(){

  	check_step2_setting();

//     if($(this).val()=='CR') {
// 	   	if ($("input[name='form[postovne]']").val()>0) {
// // 				alert ('-100');
// // 				dynamic_price(1, 0, $("input[name='form[postovne]']").val());
//
// 			 	if ($("input[@name='form[zpusob_platby]']:checked").val() == 'faktura')
// 			 	{
// 					dynamic_price(1, 0, 60);
// 				} else {
//   				dynamic_price(1, 0, 150);
// 				}
// 	   	} else {
//         dynamic_price(1, 0, 0,$("select[name='form[stat]']").val());
// 			}
// 		} else {
// 	   	if ($("input[name='form[postovne]']").val()>0) {
// // 				alert ('+100');
// 				dynamic_price(1, 0, $("input[name='form[postovne]']").val(),$("select[name='form[stat]']").val());
// 				dynamic_price(1, 0, 7,$("select[name='form[stat]']").val());
// 	   	} else {
//         dynamic_price(1, 0, 0,$("select[name='form[stat]']").val());
// 			}
// 		}


	});

  /**
   * odkazy do nového okna
   */
  $("a.t_out").live("click", function(){
    open($(this).attr("href"));
    return false;
  });
  

  /**
   * rozbalovací texty po kliknutí na odkaz
   */
  $('a.showbox').live("click", function(){
    $($(this).attr('href') + ' p:first-child').css('margin-top','0px');
    $($(this).attr('href')).toggle(100);
    return false;
  });
  

  /**
   * ----------------- FORMULARE obecne ------------------------------
   */
  $("input.numbersonly").live("keypress", function(e){
    return numbersonly(e, false);
  });

  $("input.numbersonly_dec").live("keypress", function(e){
    return numbersonly(e, true);
  });

  $("input.psconly").live("keypress", function(e){
    return psconly(e);
  });

  $("input.static").live("keypress", function(e){
     return false;
  });
  /**
   * ----------------- FORMULARE obecne KONEC------------------------------
   */
   

  /**
   * -------------------------------- LEVÉ MENU ----------------------------------------------
   */
  $("ul#menu_left > li:last-child > ul.submenu > li:last-child").addClass("menu_last_item");
  
  $("ul#menu_left > li > a").live("click", function() {
    var submenu = $(this).siblings('ul.submenu');
    if ( submenu.length ) {
      submenu.toggle();
      $(this).toggleClass('unwrapped');
      
      return false;
    }
  });
  /**
   * -------------------------------- LEVÉ MENU konec ----------------------------------------------
   */
   


  /**
   * odeslání ajaxového formuláře
   */
  $("form.ajax_form").submit(function(){
    var form_obj = this;
    $(this).append('<input type="hidden" name="ajax" value="ajax" />');
    $(this).ajaxSubmit(
      {
        success: function(data){
          $(form_obj).find(".form_err").remove();
          $(form_obj).find(".form_done").remove();
          $(form_obj).find(".form_err_main").remove();
          if ( data.zpracovano=='ok' ) {
            $(form_obj).before('<p class="form_done">' + data.ok_msg + '</p>');
            $(form_obj).clearForm();
            $(form_obj).css('display','none');
          }
          else {
            if ( data.err_msg.length ) {
              $(form_obj).prepend('<p class="form_err_main">' + data.err_msg + '</p>');
            }
            
            for ( var i=0;i<data.err_elements.length;i++ ) {
              $(form_obj).find('#' + data.err_elements[i].elem_id).after(' <span class="form_err">' + data.err_elements[i].err_msg + '</span>');
            }
          }
        },
        dataType: 'json'
      }
    );
    return false;
  });

	// FiltrGoods - nastaveni moznosti skryvat a zobrazovat se na tag a
 	$('#filtrControlId').click(function(event){
		var today = new Date();
		var expire = new Date();
		expire.setTime(today.getTime() + 3600000*24*2);
		if ($('#filtrGoodsId').css('display')=='none') {
			$('#filtrGoodsId').show("slow");
			$(this).text('Skrýt rozšířený výběr (filtr)');
 			document.cookie = "filtrHide=0;expires="+expire.toGMTString();
		} else {
			$('#filtrGoodsId').hide("slow");
			$(this).text('Rozšířený výběr (filtr)');
 			document.cookie = "filtrHide=1;expires="+expire.toGMTString();
		}
		event.preventDefault();
	});

});




function controls_set_functionality() {

  /**
   * *************************** FORMULARE obecne ***********************************
   */
  /**
   * zmizení defaultního textu po získání focusu
   */
  $("input.default_text")
    .addClass('default_text_style')
    .attr("default_text",function(){return $(this).val();})
    .focus(function(){
      $(this).removeClass('default_text_style');
      $(this).attr("before_click_text",$(this).val());
      if ( $(this).val()==$(this).attr("default_text") ) {
        $(this).val("");
      }
    })
    .blur(function(){
      if ( !$.trim($(this).val()) && $(this).attr("before_click_text") ) {
        $(this).addClass('default_text_style');
        $(this).val($(this).attr("before_click_text"));
      }
    });
  /**
   * *************************** FORMULARE obecne KONEC ***********************************
   */

}


//pouze čísla a případně desetinný oddělovač
function numbersonly(e, dec) {
  var key;
  var keychar;

  if (window.event)
    key = window.event.keyCode;
  else if (e)
    key = e.which;
  else
    return true;

  keychar = String.fromCharCode(key);

  if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) )
    return true;
  else if ( ("0123456789").indexOf(keychar) > -1 )
    return true;
  else if ( dec && ((".,").indexOf(keychar) > -1) ) {
    return true;
  }
  else
   return false;
}



//pouze čísla a mezera
function psconly(myfield, e) {
  var key;
  var keychar;

  if (window.event)
    key = window.event.keyCode;
  else if (e)
    key = e.which;
  else
    return true;

  keychar = String.fromCharCode(key);

  if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) )
    return true;
  else if (((' 0123456789').indexOf(keychar) > -1))
    return true;
  else
   return false;
}

function check_step2_setting() {
// 	if ($('input#inp_radio_osobne_id').checked) {
// 	  $('#pobocka_box').removeClass("hidden");
// 	}
// 	if ($('input#inp_radio_dobirka_id').checked) {
// 	  $('#postovne_box').removeClass("hidden");
// 	  $('tr.postovne').removeClass("hidden");
//
// 		var cenatxt = $('#cena_celkem').html();
//     var cena = parseInt(cenatxt.substr(0,cenatxt.length-2));
//
// 		if (cena < 1000) {
// 			$('#postovne').html('90,-');
// 			$('#cena_celkem').html((cena + 90)+",-");
// 		}
// 		else
// 		{
// 			$('#postovne').html('zdarma');
// 		}
// 	}

	 if ($("input[@name='form[zpusob_platby]']:checked").val() == 'osobne') {
	  $('#pobocka_box').removeClass("hidden");
		if ($("select[name='form[stat]']").val()=='SR') {
			dynamic_price(1, 0, 0,$("select[name='form[stat]']").val());
		} else {
      dynamic_price(1, 0, 0);
		}
	 }
   else if ($("input[@name='form[zpusob_platby]']:checked").val() == 'dobirka')
	 {
		$('#postovne_box').removeClass("hidden");
	  $('tr.postovne').removeClass("hidden");


//    	if ($("input[name='form[postovne]']").val()==0) {
			if ($("select[name='form[stat]']").val()=='CR') {
				dynamic_price(1, 0, 150);
			} else {
				dynamic_price(1, 0, 7,$("select[name='form[stat]']").val());
			}
// 		}



	 }
	 else if ($("input[@name='form[zpusob_platby]']:checked").val() == 'faktura')
	 {
	  $('#postovne_box').removeClass("hidden");
	  $('tr.postovne').removeClass("hidden");


//    	if ($("input[name='form[postovne]']").val()==0) {
			if ($("select[name='form[stat]']").val()=='CR') {
				dynamic_price(1, 0, 60);
			} else {
				dynamic_price(1, 0, 7,$("select[name='form[stat]']").val());
			}
// 		}


	 } else {
			$('#pobocka_box').removeClass("hidden");
			if ($("select[name='form[stat]']").val()=='SR') {
				dynamic_price(1, 0, 0,$("select[name='form[stat]']").val());
		} else {
      dynamic_price(1, 0, 0);
		}
	 }


}

// window.onbeforeunload = function() {
//   if ($('.osobni_informace').length > 0) {
// 		save_form_data();
// 	}
//
// };

// $(window).unload(function() {
//   if ($('.osobni_informace').length > 0) {
// 		save_form_data();
// 	}
// });


function save_form_data() {
		var formdata = new Array();

		var inputs = new Array();
		inputs = $(".osobni_informace input[name^='form']");
		
 		for(i=0;i<inputs.length;i++){
			var tempInput = $(inputs[i]);
			var jmeno = tempInput.attr("name").substring(5,tempInput.attr("name").length-1);
			var classa = tempInput.attr("class");
			if (classa=='inp_radio') {
				formdata[i] = tempInput.attr("checked");
			} else {
				formdata[i] = tempInput.val();
			}
		}
		formdata[i++] = $(".osobni_informace select[name='form[odber_pobocka]']").val();
		formdata[i++] = $(".osobni_informace textarea").val().replace( /\n/g, '§' );
		formdata[i++] = $(".osobni_informace select[name='form[stat]']").val();

// 		alert (formdata.length);

		var param = "";

 		for(i=0;i<formdata.length;i++){
			param = param+"i"+i+"="+formdata[i]+"&";
		}

		param = param.substring(0,param.length-1);

// 		alert (param);

		$.ajax({
		   type: "POST",
		   url: "/save_form_data.php",
		   data: param,
// 		   dataType: 'json',
		   success: function(response){
// 		     alert( response );
		   }
		 });


		return false;

}

function check_card_code(sel_card, kod) {
// 		alert("kod " + kod);
// 		alert("sel_card " + sel_card);
// 		var ret = 0;
		var check = true;

		var vyjimky = ['2081204465886','2071204465771'];
    for (i=0;i<vyjimky.length;i++) {
			if (kod==vyjimky[i]) {
// 			  check = false;
			}
		}

		if (check) {
		  switch (sel_card)
      {
        case "1": // sphere
			$.ajax({
			   type: "GET",
			   url: "check_sphere.php",
			   data: "kod_karty="+kod,
			   success: function(response){
			     evaluate_code(response);
			   }
			 });
          break;
        case "2": // assante
          $.ajax({
            type: "GET",
            url: "check_assante.php",
            data: "kod_karty="+kod,
            success: function(response){
              evaluate_code(response);
            }
          });
          break;
        break;
      }  
		} else {
      evaluate_code(99);
		}
}

function evaluate_code(ret) {
	var vysledek = 0;

	if ((ret==1) || (ret==2) || (ret==5)) {
		vysledek = 10; // platny kod, sleva 10 procent
	} else if ((ret==3) || (ret==4)) {
		vysledek = 15; // platny kod, sleva 15 procent
	} else if (ret==20) {
		vysledek = 10; // platny Assante kod, sleva 10 procent
	} else {
		vysledek = 0; // neplatny kod
	}

	if (vysledek==0) {
 		$('#karta_overit').removeClass("overit");
 		$('#karta_overit').removeClass("ok");
 		$('#karta_overit').removeClass("err");
 		$('#karta_overit').addClass('err');
 		
 		alert("Kód je neplatný");
 		
 	} else if ((vysledek==10) || (vysledek==15)) {
 		$('#karta_overit').removeClass("overit");
 		$('#karta_overit').removeClass("ok");
 		$('#karta_overit').removeClass("err");
 		$('#karta_overit').addClass('ok');

 		alert("Kód je v pořádku");
  }

	dynamic_price(2,ret,vysledek);

}


function dynamic_price(radek, typ, hodnota, stat) {
	// radek: 	1 - sleva, 2 - postovne
	// typ:   	0 - castka, ostatni - typ slevy
	// hodnota: o kolik se meni (castka nebo procento)
	
	var puv_celkem = $("input[name='form[puv_celk_cena]']").val();
	var akt_celkem = $("input[name='form[akt_celk_cena]']").val();
	var akt_sleva = $("input[name='form[sleva]']").val();
	var akt_postovne = $("input[name='form[postovne]']").val();
	var celkem_plus_sleva = (parseInt(puv_celkem)-(Math.round(puv_celkem * (akt_sleva / 100))));
	var kurs = $("input[name='form[kurs]']").val();


// 	alert("puv_celkem: "+puv_celkem+" akt_celkem: "+akt_celkem+" sleva: "+akt_sleva+" postovne: "+akt_postovne+" celkem_plus_sleva: "+celkem_plus_sleva);

//  	alert("radek: "+radek+" typ: "+typ+" hodnota: "+hodnota);

// 	alert(parseInt(hodnota));

	if ( radek == 1 ) // POSTOVNE
	{
// 	  alert(akt_postovne);
// 	  alert(hodnota);
		if ( akt_postovne == 0 ) // POSTOVNE BUDEME PRICITAT
		{
			if ((puv_celkem < 1000) || (stat=='SR')) {
// 				alert(celkem_plus_sleva+" "+akt_celkem);
					if (stat=='SR') {
						$('#postovne').html(hodnota+' EUR');
						$('#kurs').show();
						$('#cena_celkem').html(printNumber(eur_cz(parseInt(celkem_plus_sleva),kurs) + hodnota)+" EUR");
						$("input[name='form[akt_celk_cena]']").val(parseInt(celkem_plus_sleva) + printNumber(cz_eur(hodnota,kurs)));

					} else {
						$('#postovne').html(hodnota+' Kč');
						$('#kurs').hide();
						$('#cena_celkem').html((parseInt(celkem_plus_sleva) + hodnota)+" Kč");
						$("input[name='form[akt_celk_cena]']").val(parseInt(celkem_plus_sleva) + hodnota);
					}

			} else {
	 			$('#postovne').html('zdarma');
  		}
			$("input[name='form[postovne]']").val(hodnota);
		}
		else if ( (akt_postovne > 0) && (hodnota == 0)) // POSTOVNE BUDEME ODECITAT
		{
// 			alert(celkem_plus_sleva+" "+akt_celkem);
// 				alert(stat);
			if (puv_celkem < 1000 || (stat=='SR')) {
// 				alert(akt_postovne);
				$('#postovne').html('');
				if (stat=='SR') {
					$('#cena_celkem').html(printNumber(eur_cz(parseInt(celkem_plus_sleva),kurs)+" EUR"));
					$('#kurs').show();
				} else {
					$('#cena_celkem').html((parseInt(celkem_plus_sleva))+" Kč");
					$('#kurs').hide();
				}
				$("input[name='form[postovne]']").val('0');
				$("input[name='form[akt_celk_cena]']").val(parseInt(celkem_plus_sleva));
  		}

		}
		else if ( (akt_postovne > 0) && (hodnota != 0)) // POSTOVNE NA NOVOU HODNOTU, ODECTEME A PRICTEME
		{
			if (puv_celkem < 1000 || (stat=='SR')) {

// 				$('#postovne').html('');
					if (stat=='SR') {
						$('#postovne').html(hodnota+' EUR');
						$("input[name='form[akt_celk_cena]']").val(printNumber(eur_cz(parseInt(celkem_plus_sleva),kurs) + hodnota));
						$('#cena_celkem').html(printNumber(eur_cz(parseInt(celkem_plus_sleva),kurs) + hodnota)+" EUR");
						$('#kurs').show();
					} else {
						$('#kurs').hide();
						$('#postovne').html(hodnota+' Kč');
						$("input[name='form[akt_celk_cena]']").val(parseInt(celkem_plus_sleva) + hodnota);
						$('#cena_celkem').html((parseInt(celkem_plus_sleva) + hodnota)+" Kč");
					}

// 	    	$('#cena_celkem').html((parseInt(akt_celkem) - akt_postovne)+",-");
				$("input[name='form[postovne]']").val(hodnota);
  		} else {
 	 			$('#postovne').html('zdarma');
				$('#cena_celkem').html((parseInt(celkem_plus_sleva))+" Kč");
				$('#kurs').hide();

			}
		}

	}
	else if ( radek == 2 ) // SLEVA
	{
		var sleva_hlaska = "Sleva";
		var sleva_procento = 0;

		if (typ==1 || typ==2) {
		  sleva_hlaska = "Sleva Sphere STANDARD (10% z ceny)";
		  sleva_procento = 10;
		} else if (typ==3 || typ==4) {
		  sleva_hlaska = "Sleva Sphere VIP (15% z ceny)";
		  sleva_procento = 15;
		} else if (typ==5) {
		  sleva_hlaska = "Sleva Sphere STUDENT (10% z ceny)";
		  sleva_procento = 10;
		} else if (typ==20) {
		  sleva_hlaska = "Zákaznická karta Assante (sleva 10% z ceny)";
		  sleva_procento = 10;
		} else if (akt_sleva==5){
		  sleva_hlaska = "Sleva stálého zákazníka (5% z ceny)";
		  sleva_procento = 5;
		} else {
		  sleva_procento = 0;
		}

		 var posta = 0;
		 if (akt_postovne > 0 && puv_celkem < 1000 || stat=='SR') {
				posta = akt_postovne;
		 }

		
		if (akt_sleva==5 && typ > 20) {

		  $('tr.sleva_zakaznika').removeClass("hidden");
   		$('#sleva_text').html(sleva_hlaska);
			$("input[name='form[akt_celk_cena]']").val((parseInt(puv_celkem))-Math.round(parseInt(puv_celkem) * sleva_procento / 100)+(parseInt(posta)));
			

		} else if (akt_sleva==0 && typ > 20) {

		  $('tr.sleva_zakaznika').addClass("hidden");
			$("input[name='form[akt_celk_cena]']").val(Math.round(parseInt(puv_celkem)+parseInt(posta)));
			

		} else if (typ > 0 && typ < 21) {

		  $('tr.sleva_zakaznika').removeClass("hidden");
   		$('#sleva_text').html(sleva_hlaska);
			$("input[name='form[akt_celk_cena]']").val((parseInt(puv_celkem))-Math.round(parseInt(puv_celkem) * sleva_procento / 100)+(parseInt(posta)));
		}

    $('#sleva_castka').html(Math.round(parseInt(puv_celkem) * sleva_procento / 100));
   	$('#cena_celkem').html((parseInt(puv_celkem))-Math.round(parseInt(puv_celkem) * sleva_procento / 100)+(parseInt(posta))+" Kč");


// 2081204465886  2071204465771


	}

}

function eur_cz(cz,kurs)
{
	var num = Math.round((cz / kurs)*10)/10;
// 	num = num.toString();
// 	num.replace(".", ",");
	return num;
}

function cz_eur(cz,kurs)
{
	var num = Math.round((cz * kurs)*10)/10;
// 	num = num.toString();
// 	num.replace(".", ",");
	return num;

}

function printNumber(number)
{
	res = number.toString();
	res = res.replace(".", ",");
	return res;
}
