/**
 * Simple slide show plugin.
 * @author  Denis Chmelyuk <D.Chmelyuk@gmail.com>
 */
(function($){
    $.fn.simpleSlider = function(settings){
        var defaults = {
            delay:  3000
        }
        settings = $.extend(defaults, settings);
        var options = {
            selector:   this.selector,
            interval:   false,
            available:  $(this.selector + " > div.slide").size(),
            counter:    0,
            first_load: true
        }
        
        var controls = {
            playSlide:  function() {
                if (options.interval === false) {
                    options.interval = window.setInterval(sys.showSlide, settings.delay)
                }
                else {
                    this.stopSlide();
                }
            },

            stopSlide:  function() {
                if (options.interval !== false) {
                    window.clearInterval(options.interval);
                    options.interval = false;
                }
            },

            gotoSlide: function(slideNum) {
                sys.showSlide(null, slideNum);
            }
        }

        var sys = {
            showSlide: function(fake, num) {
                if (typeof num != "undefined") {
                    options.counter = parseInt(num);
                    controls.stopSlide();
                    controls.playSlide();
                }

                $(options.selector + ' > div.navigation > a').removeClass('active');
                $( $(options.selector + ' > div.navigation > a').get(options.counter) ).addClass('active');
                
                if (options.first_load === true) {
                    $(options.selector + " > div.slide").css({display:'none'});
                    $( $(options.selector + " > div.slide").get(options.counter) ).css({display:'block'});
                    options.first_load = false;
                }
                else {
                    $(options.selector + " > div.slide").fadeOut();
                    $( $(options.selector + " > div.slide").get(options.counter) ).fadeIn();
                }

                options.counter++;
                if (options.counter >= options.available) options.counter = 0;
            },

            showPages: function() {
                $pages = "";
                for (var i = 0; i < options.available; i++ ) {
                    $pages += "<a href='javascript:void(null)' id='"+i+"' class='slide_nav'>"+parseInt(i+1)+"</a>";
                }
                $(options.selector + ' > div.navigation').append($pages);

            },

            initButtons: function() {
                $(options.selector + ' > div.navigation > a').bind('click', function(){
                    controls.gotoSlide($(this).attr('id'));
                });
            }
        }
        var init = function(){
            sys.showPages();
            sys.initButtons();
            sys.showSlide(null,0);
        }
        init();
//        return controls;
    }
})(jQuery);



(function($){
    $.fn.featuresSlide = function(settings) {
        var defaults = {
            delay: 15000 //15 sec
        } //defaults

        settings = $.extend(defaults, settings);

        var options = {
            interval    : false,
            available   : $('#features').find('ul.menu > li').size(),
            counter     : 0,
            first_load  : true
        } //options

        var controls = {
            playSlide: function() {
                if (options.interval === false) {
                    options.interval = window.setInterval(sys.showSlide, settings.delay)
                }
                else {
                    this.stopSlide();
                }
            },
            stopSlide:  function() {
                if (options.interval !== false) {
                    window.clearInterval(options.interval);
                    options.interval = false;
                }
            },

            gotoSlide: function(slideNum) {
                sys.showSlide(null, slideNum);
            }
        } //controls

        var sys = {
            showSlide: function(fake, num) {
                if (typeof num != "undefined") {
                    options.counter = parseInt(num);
                    controls.stopSlide();
                    controls.playSlide();
                }

                $('#features').find('ul.menu > li').removeClass('selected');
                $( $('#features').find('ul.menu > li').get(options.counter) ).addClass('selected');

                if (options.first_load === true) {
                    $('#features').find('div.slides > div.claim_1').css({display:'none'});
                    $( $('#features').find('div.slides > div.claim_1').get(options.counter) ).css({display:'block'});
                    options.first_load = false;
                }
                else {
                    $('#features').find('div.slides > div.claim_1').fadeOut();
                    $( $('#features').find('div.slides > div.claim_1').get(options.counter) ).fadeIn();
                }

                options.counter++;
                if (options.counter >= options.available) options.counter = 0;
            },
            initButtons: function() {
                $('#features').find('ul.menu > li').each(function(key, element){
                    $(element).bind('click', function(){
                        controls.gotoSlide( key );
                        return false;
                    });
                });
            }
        } //sys
        var init = function(){
            sys.initButtons();
            sys.showSlide(null,0);
        }
        init();
    }
})(jQuery);
