var CALENDAR_TD_CLICK_BLOCK = false;
var SELECTED_DATE = "";
var msg = {
  "selected_day" : "Wybrałeś dzień:",
  "01" : "styczeń",
  "02" : "luty",
  "03" : "marzec",
  "04" : "kwiecień",
  "05" : "maj",
  "06" : "czerwiec",
  "07" : "lipiec",
  "08" : "sierpień",
  "09" : "wrzesień",
  "10" : "październik",
  "11" : "listopad",
  "12" : "grudzień"
};


function _over(e) {
  $(e).addClass('cssHilight');
}
function _out(e) {
  $(e).removeClass('cssHilight');
}

_calendar = function(d)
{
  var div = $('#calendar');
  CALENDAR_TD_CLICK_BLOCK = true;
  
  $('#calendar a').each(function() {
	$(this).css('cursor', 'wait');
	$(this).href = "javascript:;";
	$(this).onclick = function(){};
  });
  $('#calendar td').each(function() {
	$(this).css('cursor', 'wait'); 
    $(this).unbind('click');
    $(this).bind('mouseover', function(){ $(this).removeClass('cssHilight') }); 
  });
  
  div.fadeTo("fast", 0.33);
  
  var req = "pageId=booking&mode=ajax&bookingDate="+d+"&rand="+(new Date()).getTime();
  
  $.ajax({
    url    : "/cgi-bin/index.pl",
    type   : "POST",
    data   : req,
    success: function(r){
      div.fadeTo("fast", 1).html(r);
      $("#selected_date").css('visibility', 'hidden');
      SELECTED_DATE = "";
      CALENDAR_TD_CLICK_BLOCK = false;
    },
    error: function(){ alert("Serwer nie odpowiada, odśwież stronę i spróbuj ponownie!") }
  });
}


_date = function(d)
{
  if ( CALENDAR_TD_CLICK_BLOCK == true )
  {
    return;
  }
  var e = $("#td_"+d);
  var sd = $("#selected_date");
  
  
  
  var date = d.split("-");
  date[2] = date[2].replace(/^0/,'');
  
  if ( SELECTED_DATE )
  {
	if ( SELECTED_DATE != d )
	{
		$("#td_"+SELECTED_DATE).removeClass('cssSpecialDays');
	}
	else
	{
		sd.css('visibility', 'hidden');
	}
  }
  if ( e.hasClass("cssSpecialDays") )
  {
	  e.removeClass('cssSpecialDays');
	  
	  sd.html('');
	  SELECTED_DATE = "";
  }
  else
  {
	  e.addClass('cssSpecialDays');
      
	  sd.html(msg.selected_day +" <strong>"+date[2]+" "+msg[date[1]]+" "+date[0]+"</strong>");
      sd.css('visibility', 'visible');
	  
	  SELECTED_DATE = d;
  }
  $('#data').val(SELECTED_DATE);
  
}


$(document).ready(function(){
  
  $('*[title]').qtip({
      style: {
          name: 'dark',
          tip: true,
          border: {
              width: 1,
              radius: 5,
              color: '#c8c8c8'
          },
          padding: 4,
          color: '#313131',
          background: '#ebebeb',
          fontSize: '11px',
          fontFamily: 'Tahoma,Arial',
          lineHeight: '14px',
          textAlign: 'justify'
      },
      show: {
          solo: true,
          delay: 0
      },
      position: {
          adjust: {
            screen: true
          }
      }
  });
  
  $("input.postCode").mask("99-999");
  $("#profil_telefon").mask("999-999-999");
  
  $("#kwota_zapisz").click(function(){
      $("#div_kwota_dodatki").fadeOut('medium', function(){
        var kwota = $('#kwota_dodatki').val();
        $('#txt_kwota_dodatki').html(kwota);
        $("#row_doplata").fadeIn('medium');
      });
      
      return false;
  });
  
  $("#kwota_edytuj").click(function(){
      $("#row_doplata").fadeOut('medium', function(){
        $("#div_kwota_dodatki").fadeIn('medium');
        $('#kwota_dodatki').focus();
      });
      return false;
  });
  
  $("#fvCheckbox").click(function(){
      $("#daneFV").slideToggle('medium');
  });
  
  $("#changeDateButton").click(function(){
      $("#changeDateForm").submit();
  });
  
  $("#pointClose").click(function(){
      $("#pointDescription").fadeOut('medium', function(){
          $("#flashDisable").slideToggle('medium');
      });
  });
  $("#pointSelect").click(function(){
      $("#pointSelectForm").submit();
  });
  
  
  $("#paymentClick").click(function(){
    var req = "payment=begin&mode=ajax&nr="+$('#rid').val()+"&rand="+(new Date()).getTime();
    
    $.ajax({
      url    : "/cgi-bin/index.pl",
      type   : "POST",
      data   : req,
      success: function(){
        $("#paymentForm").submit();
      },
      error: function(){ alert("Serwer nie odpowiada, spróbuj ponownie!"); }
    });
  });
  
  
  $("#selectDateForm").submit(function(){
    if($('#data').val().length==0)
    {
      alert("Nie zaznaczyłeś dnia, w którym chcesz dokonać rezerwacji!");
      return false;
    }
    return true;
  });
  
  
  $("#notifyButton").click(function(){
    if($("#email").val().length==0 || $("#email").val()=="podaj adres e-mail")
    {
      alert("Podaj swój adres e-mail!");
      $("#email").focus();
      return false;
    }
    if (!/^[a-zA-Z0-9\-_\.]+?@[a-zA-Z0-9\-_\.]+?\.[a-zA-Z]{2,4}$/.test($("#email").val()))
    {
      alert("Podaj prawidłowy adres e-mail!");
      $("#email").focus();
      return false;
    }
    
    var id_miejsca = $("#miejsce").val();
    var req = "pageId=booking&subId=pending&cmd=add_new&data="+$("#data").val()+"&mapa="+$("#mapa").val()+"&miejsce="+$("#miejsce").val()+"&email="+$("#email").val()+"&rand="+(new Date()).getTime();
    
    $("#notify").fadeOut("slow", function(){
      $("#email").val('podaj adres e-mail');
    });
    
    $.ajax({
      url    : "/cgi-bin/index.pl",
      type   : "POST",
      data   : req,
      success: function(){
        
        var text = '<p>Dziękujemy, Twój adres e-mail został wpisany na listę oczekujących. Gdy tylko miejsce zostanie zwolnione, w wiadomości e-mail otrzymasz bezpośredni odsyłacz do formularza, który umożliwi Ci zarezerwowanie miejsca.</p><br />';
        text    += '<p class="lite">Wiadomości możesz oczekiwać w przeciągu najbliższych 15-30 minut.</p><br />';
        
        var ile = parseInt(miejsce[id_miejsca][2]);
        miejsce[id_miejsca][2] = ile+1;
        
        $("#msg").fadeOut("slow", function(){
          $("#msg").html(text);
          $("#msg").fadeIn("fast");
        });
        
        
        
      },
      error: function(){ alert("Serwer nie odpowiada, spróbuj ponownie!") }
    });
    
  });
  
  
});

formSubmit = function()
{
  if($("#godzina").val()==0)
  {
	alert("Wskaż godzinę przybycia do klubu!");
	return false;
  }
  if($("#profil_imie").val().length==0)
  {
	alert("Podaj swoje imię!");
    $("#profil_imie").focus();
	return false;
  }
  if($("#profil_nazwisko").val().length==0)
  {
	alert("Podaj swoje nazwisko!");
    $("#profil_nazwisko").focus();
	return false;
  }
  if($("#profil_ulica").val().length==0)
  {
	alert("Podaj adres zamieszkania!");
    $("#profil_ulica").focus();
	return false;
  }
  if($("#profil_nr_domu").val().length==0)
  {
	alert("Podaj numer domu!");
    $("#profil_nr_domu").focus();
	return false;
  }
  if($("#profil_kod_pocztowy").val().length==0)
  {
	alert("Podaj kod pocztowy!");
    $("#profil_kod_pocztowy").focus();
	return false;
  }
  if(!$("#profil_kod_pocztowy").val().match(/^\d\d-\d\d\d$/))
  {
	alert("Wprowadź kod pocztowy w formacie 00-000!");
    $("#profil_kod_pocztowy").focus();
	return false;
  }
  if($("#profil_miasto").val().length==0)
  {
	alert("Podaj nazwę miasta!");
    $("#profil_miasto").focus();
	return false;
  }
  if($("#profil_telefon").val().length==0)
  {
	alert("Podaj telefon kontaktowy!");
    $("#profil_telefon").focus();
	return false;
  }
  if(!$("#profil_telefon").val().match(/^\d\d\d-\d\d\d-\d\d\d$/))
  {
	alert("Wprowadź telefon kontaktowy w formacie 000-000-000!");
    $("#profil_telefon").focus();
	return false;
  }
  if (!/^[a-zA-Z0-9\-_\.]+?@[a-zA-Z0-9\-_\.]+?\.[a-zA-Z]{2,4}$/.test($("#profil_email").val()))
  {
    alert("Podaj prawidłowy adres e-mail!");
    $("#profil_email").focus();
    return false;
  }
  if($("#privacy").attr("checked")==false)
  {
    alert("Aby zakończyć proces rezerwacji, musisz zaakceptować warunki Polityki Prywatności! Wyrażenie zgody jest dobrowolne, jednakże niezbędne w procesie rezerwacji.");
    return false;
  }
  if($("#age").attr("checked")==false)
  {
    alert("Tylko osoby, które ukończyły 21. lat mogą dokonać rezerwacji miejsca. Nie potwierdziłeś swojego wieku!");
    return false;
  }
  return true;
}


function punkt(id)
{
  // reset
  $("#notify").hide();
  $("#pointSelect").show();
  $("#pointDescription").removeClass('wide');
  
  var status = miejsce[id][1];
  
  var msg_text = '<p>' + panorama[miejsce[id][0]][0] + ' - ' + miejsce[id][3] + '</p>'; // mapa + nazwa stolika
  msg_text    += '<p class="lite" style="color: #B6B6B6;">' + miejsce[id][4] + '</p>'; // opis
  
  var cena = (miejsce[id][5]>0) ? 'Koszt rezerwacji: ' + miejsce[id][5] + ' zł' : 'Zarezerwuj to miejsce bezpłatnie!';
  
  if ( status == "BLOCK" )
  {
    msg_text += '<p style="padding-top: 10px; color: #EEE8AA;" class="lite">Wybrane miejsce zostało już zarezerwowane przez innego klienta.<br />Prosimy wybrać inne miejsce.</p>';
    $("#pointSelect").css('display', 'none');
    cena = 'Koszt rezerwacji: ' + miejsce[id][5] + ' zł';
  }
  else if ( status == "PENDING" )
  {
    msg_text += '<p style="padding-top: 10px; color: #EEE8AA;" class="lite">Wybrane miejsce jest w trakcie rezerwacji przez innego klienta. Możesz wpisać się na listę oczekujących, jeśli rezerwacja poprzedniego klienta nie zostanie potwierdzona w ciągu <strong>30 minut</strong>, zostaniesz o tym poinformowany.';
    msg_text += ' Liczba osób <strong>oczekujących</strong> na to miejsce: <strong>'+miejsce[id][2]+'</strong>.</p><br />';
    
    $("#notify").show();
    $("#pointSelect").hide();
    $("#pointDescription").addClass('wide');
  }
  
  
  $('.corner').corner();
  $("#flashDisable").slideToggle('medium', function(){
    $("#pointDescription").fadeIn('medium');
  });
  
  $("#msg").html(msg_text);
  $("#msg_cena").html(cena);
  
  $("#mapa").val(miejsce[id][0]);
  $("#miejsce").val(id);
}
function generuj_punkty(id)
{
  
}

function check_digit(e)
{
  var v = e.value;
  if (v.indexOf(",") > -1) {
    e.value = e.value.replace(/,/g, '.');
  }
  else if (isNaN(v))
  {
    e.value = 0.00;
  }
}