jQuery(document).ready(function(){
    
  var szer_message = (jQuery(document).width() / 2) -  (jQuery('.div_message').width() / 2) ;   // Okreslenie pozycji okienka z wiadomoscia
  
  /*       Walidacja pol       */
  var liczby = new RegExp(/[0-9]/);
  var email = new RegExp(/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/);

  jQuery('input[name="newsletter_submit"]').click(function(){                                    // Walidacja newsletter
          var check = newsletter_validate(this, 'input[name="newsletter_name"]', 'input[name="newsletter_email"]' );
          if(check == 'blad') return false;
});

  
  jQuery('button[name="recenzja_submit"]').click(function(){                                    // Walidacja recenzja
          var check = recenzja_validate(this, 'textarea[name="recenzja_tekst"]','input[name="recenzja_ocena"]');
          if(check == 'blad') return false;
});
  
    jQuery('button[name="checkout_payment_submit"]').click(function(){                                    // Walidacja checkout_payment
          var check = payment_validate(this, '.content_form input');
          if(check == 'blad') return false;
});
  
 // Walidacja pol tekstowych all
  jQuery('button[name$="_submit"]').not('button[name="koszyk_submit"],button[name="search_adv_submit"],button[name="recenzja_submit"],button[name="checkout_payment_submit"]').click(function(){        
       var check = text_validate(this, ':password,input[type="text"]:not(input[name="newsletter_email"],input[name="newsletter_name"],input[name="newsletter_submit"],input[name^="seek_"],input[name$="Faktura"])');
          if(check == 'blad') return false;
});
 
  jQuery('#kontakt_button').click(function(){                                    // Walidacja formularza kontaktowego
          var check = formularz_validate();
          if(check == 'blad') return false;
});
 

 jQuery('button[name="koszyk_submit"]').click(function(){                                    // Sprawdzanie ilosci produktow w koszyku if =0 => return false
    if(parseFloat(jQuery('input[name="koszyk_suma"]').val()) <= 0)
      return false;
 });
  
  

    /*    Koniec   Walidacja pol       */
 
  jQuery('.div_message').css('left', szer_message);                                        // Okienko z wiadomoscia
  jQuery('.div_message button').click(function(){
    jQuery('.div_message').fadeOut();
  });
    
  jQuery('#smaller').bind('click', function(){                                             // Regulacja wielkoscia czcionki w Content
    var obecna_brief = jQuery('.brief').css('fontSize');
    var obecna_autor = jQuery('.autor').css('fontSize');
    var obecna_autor = jQuery('.tytul').css('fontSize');
    var obecna_autor = jQuery('.podtytul').css('fontSize');
    var obecna_autor = jQuery('.book_autor a').css('fontSize');
    var obecna_tytul = jQuery('.book_tytul a').css('fontSize');
    var obecna_podtytul = jQuery('.lista_podtytul').css('fontSize');
      var nowa_brief = parseInt(obecna_brief) - 2;
      var nowa_autor = parseInt(obecna_autor) - 2;
      var nowa_tytul = parseInt(obecna_tytul) - 2;
      var nowa_podtytul = parseInt(obecna_podtytul) - 2;
       jQuery('.brief').css('fontSize', nowa_brief + 'px');
       jQuery('.tytul').css('fontSize', nowa_tytul + 'px');
       jQuery('.autor').css('fontSize', nowa_tytul + 'px');
       jQuery('.podtytul').css('fontSize', nowa_tytul + 'px');
       jQuery('.book_autor a').css('fontSize', nowa_autor + 'px');
       jQuery('.book_tytul a').css('fontSize', nowa_tytul + 'px');
       jQuery('.lista_podtytul').css('fontSize', nowa_podtytul + 'px');
      return false;
  });
  
 jQuery('#bigger').bind('click', function(){                                             // Regulacja wielkoscia czcionki w Content
    var obecna_brief = jQuery('.brief').css('fontSize');
    var obecna_autor = jQuery('.autor').css('fontSize');
    var obecna_autor = jQuery('.tytul').css('fontSize');
    var obecna_autor = jQuery('.podtytul').css('fontSize');
    var obecna_autor = jQuery('.book_autor a').css('fontSize');
    var obecna_tytul = jQuery('.book_tytul a').css('fontSize');
    var obecna_podtytul = jQuery('.lista_podtytul').css('fontSize');
      var nowa_brief = parseInt(obecna_brief) + 2;
      var nowa_autor = parseInt(obecna_autor) + 2;
      var nowa_tytul = parseInt(obecna_tytul) + 2;
      var nowa_podtytul = parseInt(obecna_podtytul) + 2;
       jQuery('.brief').css('fontSize', nowa_brief + 'px');
       jQuery('.tytul').css('fontSize', nowa_tytul + 'px');
       jQuery('.autor').css('fontSize', nowa_tytul + 'px');
       jQuery('.podtytul').css('fontSize', nowa_tytul + 'px');
       jQuery('.book_autor a').css('fontSize', nowa_autor + 'px');
       jQuery('.book_tytul a').css('fontSize', nowa_tytul + 'px');
       jQuery('.lista_podtytul').css('fontSize', nowa_podtytul + 'px');
      return false;
  });
 
jQuery('.newsletter').find('input').slice(0,2).each(function(){                            // Kasuje tekst w polach tekstowych newslettera
    if (jQuery(this).size()>0)
    jQuery(this).clearDefault();

});


jQuery('.div_lista_ksiazek select').change(function(){                                // Klikniecie w Pole Option wysyła Formularz
    this.form.submit();
});

jQuery('.plus, .minus').click(function(){                                                    // Powieksz szerokosc ceny jesli length > 3
    jQuery('.input_cena').each(function(){
      powieksz_width_ceny(this);
    });
});

  
jQuery('.koszyk_table td.koszyk_ilosc input').each(function(){                            // Tylko liczby do inputa w koszyku
    jQuery(this).bind('keypress', function(ev){               
    var znak = String.fromCharCode(ev.which);
    if(znak.search(liczby) == -1) return false; 
});
    
    
});    

/*
jQuery('.koszyk_usun input').each(function(){                                            // W koszyku po kliknieciu na usun usuwa pozycje z koszyka
    jQuery(this).click(function(){
      var index_produkt = jQuery('.koszyk_usun input').index(this);
      jQuery('.koszyk_table table tr').eq(index_produkt).remove();
      suma_produktow();
    });
});

*/
jQuery('.accordion .link').each(function(i){                                               // W karcie ksiażki rozwijany accordion
  var tresc = jQuery('.accordion .content').eq(i);
  
  jQuery(this).click(function(){
    if(jQuery(tresc).css('display') == "block") {
      tresc.slideUp();
      jQuery(this).text('rozwiń');
    }
    if(jQuery(tresc).css('display') == "none") {
      tresc.slideDown();
      jQuery(this).text('zwiń');
    }
  });
});

if(jQuery('#account_confirmFaktura').attr('checked'))                                   // W edycji profilu ustawia display bloku faktury
    jQuery('#dane_faktury').css('display','block');

jQuery('#account_confirmFaktura').click(function(){                                     // W edycji profilu ustawia display bloku faktury
    if(jQuery(this).attr('checked'))
        jQuery('#dane_faktury').slideDown();
    else
        jQuery('#dane_faktury').slideUp();
})

//jQuery('div.zamawiane:odd').after('<div class="hr"></div>');                              // W karcie ksiażki dodaje linie po zamawianych ksiazkach

if(jQuery('a.fancybox').size() > 0)
    jQuery('a.fancybox').fancybox({ 'overlay': true, showNavArrows: true});               // Fancybox w zakładce karta ksiażki dla zdjec
    
if(jQuery('a.fancyboxText').size() > 0)
    jQuery('a.fancyboxText').fancybox({ 'overlay': true, width: 800,autoDimensions: false });               // Fancybox w zakładce karta ksiażki dla tekstu
 
});

function increment(obiekt,price){                                                           // Inkrementuje ilosc w danym produkcie i wylicza cene oraz sume
                            
     var cena =  parseFloat(price);
    var ilosc = jQuery(obiekt).prev();
    var current = parseInt(jQuery(ilosc).val());
    var index = jQuery('.plus').index(obiekt);
    var price_current = jQuery('.koszyk_cena').eq(index).find('input').first();
    var cena_current = parseFloat(jQuery(price_current).val());
     jQuery(ilosc).val(current + 1);
     
     jQuery(price_current).val(cena_current + cena);
     
     suma_produktow();


}

function decrement(obiekt,price){                                                           // Dekrementuje ilosc w danym produkcie i wylicza cene oraz sume
                            
     var cena =  parseFloat(price);
    var ilosc = jQuery(obiekt).next();
    var current = parseInt(jQuery(ilosc).val());
    var index = jQuery('.minus').index(obiekt);
    var price_current = jQuery('.koszyk_cena').eq(index).find('input').first();
    var cena_current = parseFloat(jQuery(price_current).val());
    
    if(current > 1) {jQuery(ilosc).val(current - 1);
     
      jQuery(price_current).val(cena_current - cena);
     if(jQuery(ilosc).val() <=0 ) jQuery(price_current).val(0.0);
     
     suma_produktow();
    }
}

function liczba_produktu(obiekt,price){                                                       // Wylicza cene po ilosci danego produktu
  var liczba = parseInt(jQuery(obiekt).val());
  var index = jQuery('.koszyk_ilosc input').index(obiekt);
  var iloczyn = parseFloat(liczba * parseFloat(price));
    jQuery('.koszyk_cena input').eq(index).val(iloczyn);
    
    suma_produktow();
  
}

function suma_produktow(){                                                                  // Podlicza na poczatku sume produktów w koszyku
  var suma = 0.0;
  var ilosc_elem = jQuery('.koszyk_cena').find('input').size() - 1;
  for(var i=0;i<ilosc_elem;i++){
    suma = suma + parseFloat(jQuery('.koszyk_cena').eq(i).find('input').first().val());
  }
  suma = parseFloat(suma);
  var wynik = jQuery('.koszyk_table_suma').find('input').first().val(suma);
  
}

function powieksz_width_ceny(obiekt){                                                     // Powieksz szerokosc ceny jesli length > 3                                            
   if(jQuery(obiekt).val().length >= 5) 
      jQuery(obiekt).css('maxWidth', '35px');
   
   
  }
  
 function UstalOpcje(sortowanie, limity_status, limity_liczba){                                                          // Na liscie ksiazek ustawia selecty w sortowaniu produktow takie jakie przeslane przez POST
      jQuery('#lista_ksiazek_sort option').each(function(){
        if(sortowanie == jQuery(this).val())
          jQuery(this).attr('selected','selected');
      });
      jQuery('#lista_ksiazek_show option').each(function(){
        if(limity_status == jQuery(this).val())
          jQuery(this).attr('selected','selected');
      });
      jQuery('#lista_ksiazek_ilosc option').each(function(){
        if(limity_liczba == jQuery(this).val())
          jQuery(this).attr('selected','selected');
      });
     
 }
 
 function pokazPlatnosci(platnosci){                                                                        // Na edycji zamowienia po kliknieciu na wysylke pokazuje dostepne metody platnosci
        var tablica = platnosci.split(',');
        
     jQuery('input[id^="checkout_payment"]').attr('checked',false);
     jQuery('table[id^="table_payment"]').stop().fadeOut('fast');
     
      for(platnosc in tablica) 
        jQuery("table#table_payment"+tablica[platnosc]).stop().fadeIn('fast');
 }
 
 function getAkcja()                                                                            // Potrzebna dla wysyłania Newslettera
{
	ln=document.getElementById('letter').newsletter_akcja.length;
	for(i=0;i<ln;i++) {
		if(document.getElementById('letter').newsletter_akcja[i].checked) {
			return document.getElementById('letter').newsletter_akcja[i].value;
		}
	}
}

    /*    Walidacja pol funkcje       */
    
 function text_validate(submit, pole_input){                             // Walidacja pol tekstowych
            var blad = "";
            var name = jQuery(':text[id$="_name"]').first();
            var surname = jQuery(':text[id$="_surname"]').first();
            var addressStreet = jQuery(':text[id$="_addressStreet"]').first();
            var addressCity = jQuery(':text[id$="_addressCity"]').first();
            var tel = jQuery(':text[id$="_tel"]').first();
            var email = jQuery(':text[id$="_email"]').first();
            var addressPostalCode = jQuery(':text[id$="_addressPostalCode"]').first();
            var password = jQuery(':password[id$="_password"]').first();
            var passwordRe = jQuery(':password[id$="_passwordRe"]').first();
            var regulamin = jQuery(':checkbox[id$="_regulationsConfirmed"]').first();
            var radio = jQuery(':radio[id^="checkout_shipping"]');
            var pole = jQuery(pole_input).not('input[name$="_firma"],input[name$="_nip"],input[name$="_fax"]');
            var pole_errors = jQuery('.form_errors');
            
            pole_errors.html('');
            
            email.css('backgroundColor','#FFF');
            pole.css('backgroundColor','#FFF');
   
      jQuery(pole).each(function(i){                                                              // Pola tekstowe z gwiazdka nie moga byc puste
          if(jQuery(pole).eq(i).val().length <= 0 || jQuery(pole).eq(i).val() == "Imię"){ 
        jQuery(pole).eq(i).css('backgroundColor','#EABCBC');
     
         pole_errors.html('<b>Pola</b> na czerwono nie mogą być puste, ');
        
        blad = "blad";  }
      });
 
    if(ilosc_elem_strona(':text[id$="_email"]') > 0){
      if(email_validate(email,pole_errors))
        blad = "blad"; }
    if(ilosc_elem_strona(':text[id$="_name"]') > 0){    
      if(dlugosc_validate(name,pole_errors,2))
        blad = "blad";}
    /*if(ilosc_elem_strona(':text[id$="_addressPostalCode"]') > 0){ 
      if(addressPostalCode_validate(addressPostalCode,pole_errors))
        blad = "blad";}
    */
    if(ilosc_elem_strona(':text[id$="_surname"]') > 0){    
      if(dlugosc_validate(surname,pole_errors,2))
        blad = "blad";}
    if(ilosc_elem_strona(':text[id$="_addressStreet"]') > 0){    
      if(dlugosc_validate(addressStreet,pole_errors,5))
        blad = "blad";}
   if(ilosc_elem_strona(':text[id$="_addressCity"]') > 0){    
      if(dlugosc_validate(addressCity,pole_errors,3))
        blad = "blad";}
   if(ilosc_elem_strona(':text[id$="_tel"]') > 0){    
      if(dlugosc_validate(tel,pole_errors,3))
        blad = "blad";}
        
    if(ilosc_elem_strona(':checkbox[id$="_regulationsConfirmed"]') > 0){    
      if(checked_validate(regulamin,pole_errors,1))
        blad = "blad";}
     if(ilosc_elem_strona(':radio[id^="checkout_shipping"]') > 0){   
      if(checked_validate(radio,pole_errors,2))
        blad = "blad";}   
   
      if(ilosc_elem_strona(':password[id$="_password"]') > 0 && ilosc_elem_strona(':password[id$="_passwordRe"]') > 0){    
      if(equal_validate(password,passwordRe,pole_errors,3))
        blad = "blad";}
         
     if(jQuery(pole_errors).html() != null) jQuery(pole_errors).fadeIn();
     
         return blad;
 }
 
 
 function email_validate(pole,opis){                                                        // Walidacja pola E-mail w All
  var poprawny = new RegExp(/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/);
  var index = jQuery('.content_form input, .content_form select').index(pole);
      var komorka =  jQuery('tr').eq(index).find('td.column_info');
      komorka.html('*');
  
    if(pole.val().search(poprawny) == -1){ 
        pole.css('backgroundColor','#EABCBC');
        
        opis.append('<b>Błędny</b> adres E-mail, ');
        komorka.html('<b>Błędny</b> adres e-mail');
        
        return true;
        } else
        return false;
  
 }
  function addressPostalCode_validate(pole,opis){                                                        // Walidacja pola addressPostalCode pocztowy w All
  var poprawny = new RegExp(/^[0-9]{2}-[0-9]{3}$/);
  var index = jQuery('.content_form input, .content_form select').index(pole);
      var komorka =  jQuery('tr').eq(index).find('td.column_info');
      komorka.html('*');
  
    if(pole.val().search(poprawny) == -1){ 
        pole.css('backgroundColor','#EABCBC');

        komorka.html('<b>Błędny</b> kod pocztowy');
        
        return true;
        } else
        return false;
  
 }
 
   function checked_validate(inputy,opis,rodzaj){                                                        // Walidacja pola radio lub checkbox czy zaznaczone
            var inputy_ilosc = jQuery(inputy).size();
            var inputy_checked = 'false';
            
     for(var i=0;i<inputy_ilosc;i++){
          if(inputy.eq(i).attr('checked') == true){ 
        inputy_checked = 'true';
          continue;
          }
      }

      if(inputy_checked == 'false') {
         if(rodzaj == 1) opis.append('<b>Regulamin</b> nie zaakceptowany, ');
         if(rodzaj == 2) opis.append('<b>Nie wybrana</b> żadna opcja, ');
      
       return true;
        } else
        return false;
  
 }
 
 function dlugosc_validate(pole,opis,number){                                               // Walidacja dlugosci pola w All
  var index = jQuery('.content_form input, .content_form select').index(pole);
      var komorka =  jQuery('tr').eq(index).find('td.column_info');
      komorka.html('*');
      if(pole.val().length < number){
        pole.css('backgroundColor','#EABCBC');

        komorka.html('<b>Minimum</b> '+number+' znaki');
        
        return true;
        } else
        return false;
        
      }
  
   function equal_validate(pole,pole2,opis,number){                                          // Walidacja hasel - musza byc identyczne oraz skladac sie z min. 3 znakow
  var index = jQuery('.content_form input, .content_form select').index(pole);
  var index2 = jQuery('.content_form input, .content_form select').index(pole2);
      var komorka =  jQuery('tr').eq(index).find('td.column_info');
      var komorka2 =  jQuery('tr').eq(index2).find('td.column_info');
      komorka.html('*'); komorka2.html('*');
      if((pole.val() !=  pole2.val()) || pole.val().length < number || pole2.val().length < number){
        pole.css('backgroundColor','#EABCBC');
        pole2.css('backgroundColor','#EABCBC');

        komorka.html('<b>Hasła</b> muszą być identyczne i zawierać min. 3 znaki');
        komorka2.html('<b>Hasła</b> muszą być identyczne i zawierać min. 3 znaki');
        
        return true;
        } else
        return false;
        
      }
 
 function ilosc_elem_strona(obiekt){                                                    // Sprawdza czy dany element znajduje się w Content Middle
    var ilosc = jQuery(obiekt).size();
    return ilosc;
  
 }
 
 function newsletter_validate(submit, pole_input, pole_email){                 // Walidacja newsletter
            var blad = "";
            var poprawny = new RegExp(/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/);
            var email = jQuery(pole_email);
            var pole = jQuery(pole_input);
            
            email.css('backgroundColor','#FFF');
            pole.css('backgroundColor','#FFF');

      if(jQuery(pole).val().length <= 0 || jQuery(pole).val() == "Imię"){ 
        jQuery(pole).css('backgroundColor','#EABCBC');

        blad = "blad";  }
        
      if(email.val().search(poprawny) == -1){ 
        email.css('backgroundColor','#EABCBC');

        blad = "blad";  } 
            
         return blad;
 }
 
function payment_validate(submit, inputy){                                              //Walidacja checkout_payment
    var blad = "";
    var radio = jQuery(inputy+':radio');
    var radio_ilosc = jQuery(radio).size();
    var radio_checked = 'false';
    var pole_errors = jQuery('.form_errors');
    
    pole_errors.html('');
    
    for(var i=0;i<radio_ilosc;i++){ 
          if(radio.eq(i).attr('checked') == true){ 
        radio_checked = 'true';
          continue;
          }
      }

      if(radio_checked == 'false') {
          pole_errors.html('<b>Nie</b> wybrano żadnej opcji, ');
          blad = "blad";
      }
      
      if(jQuery('#checkout_payment_platnosci').attr('checked') == true){      // Gdy wybrane platnosci.pl
        if(jQuery('#checkout_payment_kanal').val() == '0' && jQuery('#checkout_payment_payback').val() == ""){
          pole_errors.html('<b>Wybierz</b> kanał płatności lub Login PayBack, ');
          blad = "blad";
        }
        
      }
      
      if(jQuery(pole_errors).html() != null) jQuery(pole_errors).fadeIn();
      return blad;
    
}
 
 function recenzja_validate(submit, pole_textarea, pole_radio){               // Walidacja recenzji
            var blad = "";
            var textarea = jQuery(pole_textarea);
            var radio = jQuery(pole_radio);
            var radio_ilosc = jQuery(radio).size();
            var radio_checked = 'false';
            var pole_errors = jQuery('.form_errors');
            
            pole_errors.html('');
            
            textarea.css('backgroundColor','#FFF');
            radio.css('backgroundColor','#FFF');

      if(jQuery(textarea).val().length <= 0 || jQuery(textarea).val() == null){ 
        jQuery(textarea).css('backgroundColor','#EABCBC');
        
         pole_errors.html('<b>Recenzja</b> musi zawierać tekst oraz ocenę, ');
        
       blad = "blad"; }
      
      for(var i=0;i<radio_ilosc;i++){
          if(radio.eq(i).attr('checked') == true){ 
        radio_checked = 'true';
          continue;
          }
      }

      if(radio_checked == 'false') {
          pole_errors.html('<b>Recenzja</b> musi zawierać tekst oraz ocenę, ');
          blad = "blad";
      }
      
      if(jQuery(pole_errors).html() != null) jQuery(pole_errors).fadeIn();
      return blad;
 }
 
 function formularz_validate(){               // Walidacja formularzu kontaktowego
            var blad = "";
            var textarea = jQuery('[name="kontakt_tresc"]');
	    var email = jQuery('[name="kontakt_email"]');
            var pole_errors = jQuery('.form_errors');
            
            pole_errors.html('');
            
            textarea.css('backgroundColor','#FFF');
            email.css('backgroundColor','#FFF');

      if(jQuery(textarea).val().length <= 0 || jQuery(textarea).val() == null){ 
        jQuery(textarea).css('backgroundColor','#EABCBC');
        
         pole_errors.html('<b>Formularz</b> musi zawierać tekst oraz adres e-amil, ');
        
       blad = "blad"; }
      
      if(email_validate(email,pole_errors))
        blad = "blad";
      
      if(jQuery(pole_errors).html() != null) jQuery(pole_errors).fadeIn();
      return blad;
 }
 
 
    /*    Koniec   Walidacja pol funkcje       */
