$(document).ready(function() {
  
    $.validator.addMethod(
        "cyfryMyslnikRegex", function(value, element) {
        return this.optional(element) || /^[0-9\A-Z\-\s]+$/i.test(value);
    }, "{__TLUMACZ:BLAD_TYLKO_CYFRY_MYSLNIK}");
    $.validator.addMethod("cyfryMyslnikPlusRegex", function(value, element) {
        return this.optional(element) || /^[0-9\-+\s]+$/i.test(value);
    }, "{__TLUMACZ:BLAD_TYLKO_CYFRY_MYSLNIK}");  

    $.validator.addMethod("cyfryliteryRegex", function(value, element) {
        return this.optional(element) || /[a-zа-я].*[0-9]|[0-9].*[a-zа-я]/i.test(value);
    }, "{__TLUMACZ:BLAD_LITERY_CYFRY}");

    $("#email").keyup(function () {
        $("#haslo").val('');
    });
    
    $("#logowanie").validate({
      onkeyup: false,
      onfocusout: false,
      onclick: false,
      focusInvalid: false,
      focusCleanup: true,    
      rules: {
        email: { required: true, remote: "{__SSL:inne/logowanie.php?login}&tok={__TOKEN_LOGOWANIE}" },
        haslo: { required: true,
                 remote: {
                    url: "{__SSL:inne/logowanie.php?spr}&tok={__TOKEN_SPRAWDZENIE}",
                    type: 'POST',
                    data: {
                      email: function() { return $("#email").val(); },
                      haslo: function() { return $("#haslo").val(); }      
                    }              
                 }
        }                     
      },
      messages: {
        email: { email: '{__TLUMACZ:BLAD_ZLY_EMAIL}', required: '{__TLUMACZ:BLAD_WYMAGANE_POLE}', remote: '{__TLUMACZ:BLAD_LOGIN_ISTNIEJE}' },
        haslo: { required: '{__TLUMACZ:BLAD_WYMAGANE_POLE}', remote: '{__TLUMACZ:BLAD_HASLO_NIEPOPRAWNE}' }                       
      },
      submitHandler: function() {
        PreloadWlacz();
        var sear = $('#logowanie').serialize(); 
        $.post("{__SSL:inne/do_logowania_zamowienie.php}?tok={__TOKEN_LOGOWANIE_OKNO}", { data: sear }, function(data) { 
            PreloadWylaczSzybko();              
            $.colorbox( { html:data, maxWidth:'90%', maxHeight:'90%', open:true, initialWidth:50, initialHeight:50, overlayClose:false, escKey:false, onLoad: function() {
               $('#cboxClose').hide();
            }});
        });
      }
	  
    });
    
    $("#rejestracja").validate({
      rules: {
        regulamin: {required: true},
        przetwarzanie: {required: true},
        email_nowy: { email: true, required: true, remote: "{__SSL:inne/rejestracja.php?email_nowy}&tok={__TOKEN_REJESTRACJA}" },
        nick: { remote: "{__SSL:inne/rejestracja.php?nick}&tok={__TOKEN_REJESTRACJA}" },
        imieFaktura: { required: function() { return ( ( $("input[name='osobowoscRachunek']:checked", "#rejestracja").val() == "1" ) && !$('#dane_platnika').prop('checked') ) } },
        nazwiskoFaktura: { required: function() { return ( ( $("input[name='osobowoscRachunek']:checked", "#rejestracja").val() == "1" ) && !$('#dane_platnika').prop('checked') ) } },
        ulicaFaktura: { required: function() { return !$('#dane_platnika').prop('checked') } },
        kod_pocztowyFaktura: { required: function() { return !$('#dane_platnika').prop('checked') }, cyfryMyslnikRegex: true },
        miastoFaktura: { required: function() { return !$('#dane_platnika').prop('checked') } },   
        nazwa_firmy: { required: function() { return ( $("input[name='osobowosc']:checked", "#rejestracja").val() == "0" ) } },
        nip_firmy: { required: function() { return ( $("input[name='osobowosc']:checked", "#rejestracja").val() == "0" ) }, cyfryMyslnikRegex: true },
        regon_firmy: {
            required: function() {var wynik = true; if ( $("input[name='osobowosc']:checked", "#rejestracja").val() == "1" ) { wynik = false; } return wynik;},
            remote: "{__SSL:inne/rejestracja.php?regon}&tok={__TOKEN_REGON}"
        },           
        nazwa_firmyFaktura: { required: function() { return ($("input[name='osobowoscRachunek']:checked", "#rejestracja").val() == '0' && !$('#dane_platnika').prop('checked')) } },
        nip_firmyFaktura: { required: function() { return ($("input[name='osobowoscRachunek']:checked", "#rejestracja").val() == '0' && !$('#dane_platnika').prop('checked')) }, cyfryMyslnikRegex: true },
        haslo_nowe: { required: function() { return ($("input[name='gosc']:checked", "#rejestracja").val() == '0') } },
        haslopowtorz_nowe: { required: function() { return ($("input[name='gosc']:checked", "#rejestracja").val() == '0') }, equalTo: "#haslo_nowe" },
        kod_pocztowy: { cyfryMyslnikRegex: true },
        telefon: { cyfryMyslnikPlusRegex: true },
        peselFaktura: { digits: true, minlength: 11 },
        pesel: { digits: true, minlength: 11 },
        ulica: { cyfryliteryRegex: true }
      },
      messages: {
        imie: { required: '{__TLUMACZ:BLAD_WYMAGANE_POLE}' },
        nazwisko: { required: '{__TLUMACZ:BLAD_WYMAGANE_POLE}' },
        email_nowy: { email: '{__TLUMACZ:BLAD_ZLY_EMAIL}', required: '{__TLUMACZ:BLAD_WYMAGANE_POLE}', remote: '{__TLUMACZ:BLAD_EMAIL_ISTNIEJE}' },
        data_urodzenia: { required: '{__TLUMACZ:BLAD_WYMAGANE_POLE}' },
        nazwa_firmy: { required: '{__TLUMACZ:BLAD_WYMAGANE_POLE}' },
        nip_firmy: { required: '{__TLUMACZ:BLAD_WYMAGANE_POLE}' },
        regon_firmy: { remote: '{__TLUMACZ:BLAD_ZLY_REGON}', required: '{__TLUMACZ:BLAD_WYMAGANE_POLE}' },
        ulica: { required: '{__TLUMACZ:BLAD_WYMAGANE_POLE}' },
        kod_pocztowy: { required: '{__TLUMACZ:BLAD_WYMAGANE_POLE}' },
        miasto: { required: '{__TLUMACZ:BLAD_WYMAGANE_POLE}' },
        telefon: { required: '{__TLUMACZ:BLAD_WYMAGANE_POLE}' },
        regulamin: { required: '{__TLUMACZ:BLAD_WYMAGANE_POLE}' },
        przetwarzanie: { required: '{__TLUMACZ:BLAD_WYMAGANE_POLE}' },
        imieFaktura: {required: '{__TLUMACZ:BLAD_WYMAGANE_POLE}'},
        nazwiskoFaktura: {required: '{__TLUMACZ:BLAD_WYMAGANE_POLE}'},
        ulicaFaktura: {required: '{__TLUMACZ:BLAD_WYMAGANE_POLE}'},
        kod_pocztowyFaktura: {required: '{__TLUMACZ:BLAD_WYMAGANE_POLE}'},
        miastoFaktura: {required: '{__TLUMACZ:BLAD_WYMAGANE_POLE}'},
        nick: { remote: '{__TLUMACZ:BLAD_NICK_ISTNIEJE}' },
        haslo_nowe: { required: '{__TLUMACZ:BLAD_WYMAGANE_POLE}' },
        haslopowtorz_nowe: { required: '{__TLUMACZ:BLAD_WYMAGANE_POLE}', equalTo: '{__TLUMACZ:BLAD_HASLA_SA_ROZNE}' },
        peselFaktura: { digits: '{__TLUMACZ:BLAD_TYLKO_LICZBY}', minlength: '{__TLUMACZ:BLAD_ZA_MALO_ZNAKOW_FORM}' },
        pesel: { digits: '{__TLUMACZ:BLAD_TYLKO_LICZBY}', minlength: '{__TLUMACZ:BLAD_ZA_MALO_ZNAKOW_FORM}' }
      },
      errorPlacement: function(error, element) {
        if (element.hasClass('regulamin')) {
            error.appendTo('#error-regulamin');
        } else {
            error.insertAfter(element);
        }
      },
      
      submitHandler: function() {
        PreloadWlacz();
        var sear = $('#rejestracja').serialize(); 
        $.post("{__SSL:inne/do_rejestracji_zamowienie.php}?tok={__TOKEN_REJESTRACJA_OKNO}", { data: sear }, function(data) {            
            if ( data != '' ) {
                PreloadWylaczSzybko();
                $.colorbox( { html:data, maxWidth:'90%', maxHeight:'90%', scrolling:false, open:true, initialWidth:50, initialHeight:50, overlayClose:false, escKey:false, onLoad: function() {
                   $('#cboxClose').hide();
                }}); 
            } else {                
                $(location).attr('href','zamowienie-potwierdzenie.html');
            }
        });
      }
	  
    });

    if ($('.datepicker').length) {
        $('input.datepicker').Zebra_DatePicker({
          view: 'years',
          format: 'd-m-Y',
          inside: false,
          readonly_element: true,
          show_icon: true
        });
    }
    
    if ($('.datefields').length) {
        $('input.datefields').Zebra_DatePicker({
          format: 'd-m-Y',
          inside: false,
          readonly_element: true,
          show_icon: true
        });
    }       
    
    // sprawdza czy jest pole wojewodztwo
    if ($('#selection').length) {
        $("#selection").change( function() {
          PreloadWlacz();
          $.ajax({
            type: "POST",
            data: "data=" + $(this).val(),
            url: "{__SSL:inne/wybor_wojewodztwa.php}?tok={__TOKEN_REJESTRACJA}",
            success: function(msg){
              PreloadWylaczSzybko();
              if (msg != '') { 
                $("#selectionresult").html(msg).show(); 
              } else { 
                $("#selectionresult").html('<em>Brak</em>'); 
              }
            }
          });
        });
    }

    // sprawdza czy jest pole wojewodztwo do platnosci
    if ($('#selectionFirma').length) {
        $("#selectionFirma").change( function() {
          PreloadWlacz();
          $.ajax({
            type: "POST",
            data: "data=" + $(this).val(),
            url: "{__SSL:inne/wybor_wojewodztwa_faktura.php}?tok={__TOKEN_REJESTRACJA}",
            success: function(msg){
              PreloadWylaczSzybko();
              if (msg != '') { 
                $("#selectionresultFirma").html(msg).show(); 
              } else { 
                $("#selectionresultFirma").html('<em>Brak</em>'); 
              }
            }
          });
        });
    }

    // pokazuje lub ukrywa formularz na dane platnika w zamowieniu
    $('#dane_platnika').change(function(){
        if (this.checked) {
            $('#DanePlatnika').slideUp();
        } else {
            $('#DanePlatnika').slideDown();
        }                   
    });    
    
    // pokazuje lub ukrywa pole hasla
    $('#gosc').change(function(){
        if (this.checked) {
            $('#HasloKonta').slideDown();
        } else {
            $('#HasloKonta').slideUp();
        }                   
    });        

    //wlacza przycisk submit jesli dziala u klienta javascript
    $('#submitButton').removeAttr('disabled');
    $("#submitButton").attr('class', 'przycisk');  

    $('#submitButtonNowyKlient').removeAttr('disabled');
    $("#submitButtonNowyKlient").attr('class', 'przycisk');  
    
    // integracja z fb
    $('#LogowanieFacebook').click(function() {
        //
        PreloadWlacz();
        $.post("{__SSL:inne/facebook.php}?logowanieKoszykUrl&tok={__TOKEN_LOGOWANIE}", function(data){ 
          document.location = data;
        });
        //
    });    
    
    // jezeli jest jakis komunikat o bledzie
    if ( $('#InformacjaIntegracje').length && $('#InformacjaIntegracje').html() != '-' && $('#InformacjaIntegracje').html() != '' ) {
        //
        $.colorbox( { html:'<div id="PopUpInfo">' + $('#InformacjaIntegracje').html() + '</div>', initialWidth:50, initialHeight:50, maxWidth:'90%', maxHeight:'90%' } );
        //
    }    
    
    // integracja z fb
    $('#RejestracjaFacebook').click(function() {
        //
        PreloadWlacz();
        $.post("{__SSL:inne/facebook.php}?rejestracjaKoszykUrl&tok={__TOKEN_REJESTRACJA}", function(data){ 
          document.location = data;
        });
        //
    });    

    // jezeli nie ma bledu
    if ( $('#InformacjaIntegracje').length && $('#InformacjaIntegracje').html() == '-' ) {
        PreloadWlacz();
        $.post("{__SSL:inne/do_logowania_zamowienie.php}?tok={__TOKEN_LOGOWANIE_OKNO}", { data: 'fb' }, function(data) { 
            PreloadWylaczSzybko();         
            $.colorbox( { html:data, maxWidth:'90%', maxHeight:'90%', scrolling: false, open:true, initialWidth:50, initialHeight:50, overlayClose:false, escKey:false, onLoad: function() {
               $('#cboxClose').hide();
            }}); 
        });      
    }    

});

function ZmienOsobowoscKoszyk(nr, typ) {
    //
    if ( nr == 1 ) {
         $('#osobaFizyczna' + typ).slideDown();
         $('#osobaPrawna' + typ).slideUp();
    }
    if ( nr == 2 ) {
         $('#osobaFizyczna' + typ).slideUp();
         $('#osobaPrawna' + typ).slideDown();
    }
    //
}