(function(){

    /**
     *  Handler do elementu slidera (jQuery)
     */
    var _slider = {};
    var _toggle = {};

    /**
     *  Obsługa slidera na SG
     */
    Italmarco.Slider = {

        init: function( slidesElement ){

            _slider = $(slidesElement);

            if(_slider.children().length > 1){
                Italmarco.Slider.createNavigation();

                _slider.cycle({
                    fx: 'scrollHorz',
                    timeout:  10000,
                    speed:  800,
                    pager: '.slider-navigation ul',
                    pagerAnchorBuilder: Italmarco.Slider.createNavigationElement
                });
            }
        },

        /**
         *  Tworzy elementy DOM dla nawigacji
         */
        createNavigation: function(){
            _slider.before('<div class="slider-navigation"><a href="#" class="toggle">Wznów/Zatrzymaj</a><ul></ul></div>');
            _toggle = $('.slider-navigation .toggle').click(Italmarco.Slider.toggleCycle);;
        },

        /**
         *  Podpowiada pluginowi jQueryCycle jak tworzyć elementy do przełaczania slajdów
         */
        createNavigationElement: function(idx, slide){
            return '<li><a href="#'+idx+'">'+ (idx+1) +'</a></li>';
        },

        /**
         *  Zatrzymuje/Wznawia animacje slidera; wywolywana kliknięciem na _toggle
         */
        toggleCycle: function(){
            _slider.cycle('toggle');
            _toggle.toggleClass('play');

            return false;
        }
    }
})();

