(function($) {
    /**
     * Tabs - jQuery plugin for accessible, unobtrusive tabs
     * @requires jQuery v1.0.3
     *
     * http://stilbuero.de/tabs/
     *
     * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
     * Dual licensed under the MIT and GPL licenses:
     * http://www.opensource.org/licenses/mit-license.php
     * http://www.gnu.org/licenses/gpl.html
     *
     * Version: 2.7.2 - stripped by me ;)
     */
    $.fn.tabsLite = function() {
      return this.each(function(){
          var tabs = $('a', $('ul.tabs-nav', this));
          var containers = $('div.tabs-container', this);
          containers.not(':eq(0)').addClass('tabs-hide');
          tabs.bind('click', function(event) {
              var toShow = $(this.hash), toHide = containers.filter(':visible');
              $(this).parents('li:eq(0)').addClass('tabs-selected').siblings().removeClass('tabs-selected');
              toHide.addClass('tabs-hide').css({display: '', overflow: '', height: '', opacity: ''});
              toShow.removeClass('tabs-hide').css({overflow: '', height: '', opacity: ''});
              if ($.browser.msie) {
                  toHide[0].style.filter = '';
                  toShow[0].style.filter = '';
              }
              return false;
          });
      });
    };
    
    $.fn.defaultText = function(settings) {
        settings = $.extend({
            txt: ''
        }, settings || {});
        return this.each(function() {
            $(this).val(settings.txt);
            $(this).focus(function() {
               $(this).val(($(this).val() == settings.txt) ? '' : $(this).val());
            }).blur(function() {
               $(this).val(($(this).val() == '') ? settings.txt : $(this).val());
            }).click(function(elment) {
               $(this).val(($(this).val() == settings.txt) ? '' : $(this).val());
            });
        }); 
    };
    
    $.fn.limitProducts = function() {
        return function(element) {
            function resizeElement(el) {
                var width = $(window).width();
                $(el.data.item).removeClass().addClass('frame')
                if(width <= 800) {
                    $(el.data.item).addClass('frame50');
                }
                else if(width <= 1024) {
                    $(el.data.item).addClass('frame33-3');
                }
            }
            resizeElement({data: { item: element}}); 
            $(window).bind('resize', {item: element}, resizeElement);  
        }(this);
    };
    
    $.fn.raty = function(settings) {
        settings = $.extend({
            ctrlFinalPrice: $('#raty-wartosc'),
            ctrlOprocentowanie: $('#raty-f10-oprocentowanie'),
            ctrlSumaKosztow: $('#raty-f10-suma'),
            ctrlCzasSplaty: $('#raty-f10-czas'),
            ctrlRataMiesieczna: $('#raty-f10-rata'),
            ctrlWplataWstepna: $('#raty-f10-wplata'),
            errorClass: 'raty-blad',
            errorMsg: '<b>[Błąd]</b>'
        }, settings || {});
        
        return $(this).keyup(function() {
            var wplataWstepna = NaN;
            var finalPrice = parseFloat($(settings.ctrlFinalPrice).val());
            var oprocentowanie = parseFloat($(settings.ctrlOprocentowanie).text());
            wplataWstepna = parseFloat($(this).val().replace(/,/, '.'))
            if(isNaN(wplataWstepna)) { 
                $(this).addClass(settings.errorClass);
                $(settings.ctrlRataMiesieczna).html(settings.errorMsg);
                $(settings.ctrlWplataWstepna).html(settings.errorMsg);
                $(settings.ctrlSumaKosztow).html(settings.errorMsg);
            }
            else {
                if((wplataWstepna < 0) || (wplataWstepna > finalPrice)) {
                    $(this).addClass(settings.errorClass);
                    $(settings.ctrlRataMiesieczna).html(settings.errorMsg);
                    $(settings.ctrlWplataWstepna).html(settings.errorMsg);
                    $(settings.ctrlSumaKosztow).html(settings.errorMsg);
                }
                else {
                    $(this).removeClass(settings.errorClass);
                    var sumaKosztow = (finalPrice - wplataWstepna)+((finalPrice - wplataWstepna)*(oprocentowanie/100)) + wplataWstepna;
                    var czasSplaty = parseFloat($(settings.ctrlCzasSplaty).text());
                    var rataMiesieczna = ((finalPrice - wplataWstepna)+((finalPrice - wplataWstepna)*(oprocentowanie/100)))/czasSplaty;
                    $(settings.ctrlWplataWstepna).html(wplataWstepna.toString().replace(/\./, ','));
                    $(settings.ctrlRataMiesieczna).html((Math.round(rataMiesieczna*100)/100).toString().replace(/\./, ','));
                    $(settings.ctrlSumaKosztow).html((Math.round(sumaKosztow*100)/100).toString().replace(/\./, ',')); 
                }
            }
        });
    };
})(jQuery);

$(document).ready(function(){
    $('ul.frame').limitProducts();
    $.browser.msie6 = $.browser.msie6 || $.browser.msie && typeof XMLHttpRequest == 'function';
    if($.browser.msie6) {
        //$('img[@src$=.png], document').pngfix();
        $("#pmenu li[a]").each(function(i) {
            $(this).hover(function(){
                $(this).addClass("hover-ie6");
            },function(){
                $(this).removeClass("hover-ie6");
            });
        });
    }
    $("#search-text").defaultText({txt: 'Wpisz nazwę produktu lub model...'});
    $("#login-password").defaultText({txt: 'Hasło'});
    $("#login-email").defaultText({txt: 'Adres Email'});
});