jQuery.fn.setupBase = function(base, options) {
    for (extra in base) {
        var self = this;
        if (base[extra] instanceof Array) {
            for (var i = 0; i < base[extra].length; i++)
            base[extra][i].call(self, options);
        } else {
            base[extra].call(self, options);
        }
    }
};

jQuery(function($) {

    var $$ = function(param) {
        var node = $(param)[0];
        var id = $.data(node);
        $.cache[id] = $.cache[id] || {};
        $.cache[id].node = node;
        return $.cache[id];
    };

    $.fn.menu = function(options) {
        options = options || {};
        this.setupBase(options.base || $.fn.menu.base, options);

        // Initialize
        this.each(function() {
            var menu = $(this);
            $$(menu).menus = $();

            $(this).children('li').mouseenter(function(event) {
                var li = $(this).closest('li');
                menu.trigger('menu:enter', [li]);
            });

            $(this).children('li').mouseleave(function(event) {
                var li = $(this).closest('li');
                menu.trigger('menu:leave', [li]);
            });

            $(this).children('li').each(function() {
                var ul = $(this).children('ul');
                $$(menu).menus = $$(menu).menus.add(ul);
            });

            menu.trigger('menu:initialize');

        });

        return this;
    };

    $.fn.menu.base = {
        initialize: [function(options) {
            this.bind('menu:initialize',
            function() {
                $(this).children('li').each(function() {
                    var ul = $(this).children('ul');
                    ul.hide('fast');
                });
            });
        }],
        enter: [function(options) {
            this.bind('menu:enter',
            function(e, li) {
                li.children('a,span').addClass('open');
                li.addClass('hover');
                var ul = li.children('ul');
                ul.show('fast');
            });
        }],
        leave: [function(options) {
            this.bind('menu:leave',
            function(e, li) {
                li.removeClass('hover');
                li.children('a,span').removeClass('open');
                li.children('ul').stop(true, true).hide('fast');
            });
        }]
    };

    $.delayedMenuBase = $.extend({},
    $.fn.menu.base);

    $.delayedMenuBase['leave'] = [function(options) {
        this.bind('menu:leave',
        function(e, li) {
            li.removeClass('hover');
            window.setTimeout(function() {
                if (!li.hasClass('hover')) {
                    li.children('a,span').removeClass('open');
                    li.children('ul').stop(true, true).hide('fast');
                }
            },
            300);
        });
    }];
});

$(document).ready(function() {
    
    $('.sectionNavigation').menu();
    //$('.sectionNavigation > li:last > a, .sectionNavigation > li:last > span').css({
    //    border: 'none'
    //});
	
	
	// podswietlenie buta
	$('.listing .product').mouseover(function() {
		$(this).addClass('over');
	}).mouseleave(function() {
		$(this).removeClass('over');
	});
	
	//obsługa przycisku szukaj
	$('#id_search_submit').click(function() {
		$('#SearchText').submit();
		//alert('Handler for .click() called.');
	});
});




