/*
 Author : Adige Miguel
Site URL: http://thegeektimes.com
version : 1.1 */

/* Carrousel */
var carrousel ={
    /* Variables */
    nbSlide : 0,
    nbCurrent : 1,
    elemCurrent : null,
    elem : null,
    timer : null,

    init : function(elem){
        this.nbSlide = elem.find('.slide').length; // Recherche des slides

        // Création de la pagination
        elem.append('<div class="nav"></div>');
        for(var i=1;i<=this.nbSlide;i++){
            elem.find('.nav').append('<span>'+i+'</span>');
        }

        // Lors du clique
        elem.find('.nav span').click(function(){
            carrousel.gotoSlide($(this).text());
        });

        // Intialisation du carrousel
        this.elem = elem;
        elem.find('.slide').hide(); // Tout les slide sont caché
        elem.find('.slide:first').show(); // Affichage de la première slide
        this.elemCurrent = elem.find('.slide:first'); // elemCurrent premier slide
        this.elem.find('.nav span:first').addClass('active'); // Ajout de la class active

        // Créaion du timer
        carrousel.play();

        // Lors du passage de la sourie sur élément
        elem.mouseover(carrousel.stop);

        // Lors de la sortie de la sourie sur élément
        elem.mouseout(carrousel.play);

    },

    gotoSlide : function(num){
        if(num == this.nbCurrent){return false;}
        this.elemCurrent.fadeOut(500); // Cahe la slide
        this.elem.find('#slide'+num).fadeIn(1000); // Cherche la slide suivant le clique et l'affiche
        this.elem.find('.nav span').removeClass('active'); // Suppresion de tout les class active
        this.elem.find('.nav span:eq('+(num-1)+')').addClass('active'); // Ajout de la class active
        this.nbCurrent = num;
        this.elemCurrent = this.elem.find('#slide'+num);
    },

    next : function(){
        var num = this.nbCurrent+1;
        if(num > this.nbSlide){
            num = 1;
        }
        this.gotoSlide(num);
        carrousel.timer = window.setTimeout("carrousel.next()",5000);
    },

    prev : function(){
        var num = this.nbCurrent-1;
        if(num < 1){
           num = this.nbSlide;
        }
        this.gotoSlide(num);
    },

    stop : function(){
        window.clearTimeout(carrousel.timer);
    },

    play : function(){
        window.clearTimeout(carrousel.timer);
        carrousel.timer = window.setTimeout("carrousel.next()",5000);
    }
}

$(function(){
    carrousel.init($('#carrousel'));
});

/* Slide new */

var slidenew ={
    /* Variables */
    nbSlide : 0,
    nbCurrent : 1,
    elemCurrent : null,
    elem : null,
    timer : null,

    init : function(elem){
        this.nbSlide = elem.find('.slidenew').length; // Recherche des slides

        // Création de la pagination
        elem.append('<div class="nav"></div>');
        for(var i=1;i<=this.nbSlide;i++){
            elem.find('.nav').append('<span>'+i+'</span>');
        }

        // Lors du clique
        elem.find('.nav span').click(function(){
            carrousel.gotoSlide($(this).text());
        });

        // Intialisation du carrousel
        this.elem = elem;
        elem.find('.slidenew').hide(); // Tout les slide sont caché
        elem.find('.slidenew:first').show(); // Affichage de la première slide
        this.elemCurrent = elem.find('.slidenew:first'); // elemCurrent premier slide
        this.elem.find('.nav span:first').addClass('active'); // Ajout de la class active

        // Créaion du timer
        carrousel.play();

        // Lors du passage de la sourie sur élément
        elem.mouseover(carrousel.stop);

        // Lors de la sortie de la sourie sur élément
        elem.mouseout(carrousel.play);

    },

    gotoSlide : function(num){
        if(num == this.nbCurrent){return false;}
        this.elemCurrent.fadeOut(500); // Cahe la slide
        this.elem.find('#slidenew'+num).fadeIn(1000); // Cherche la slide suivant le clique et l'affiche
        this.elem.find('.nav span').removeClass('active'); // Suppresion de tout les class active
        this.elem.find('.nav span:eq('+(num-1)+')').addClass('active'); // Ajout de la class active
        this.nbCurrent = num;
        this.elemCurrent = this.elem.find('#slidenew'+num);
    },

    next : function(){
        var num = this.nbCurrent+1;
        if(num > this.nbSlide){
            num = 1;
        }
        this.gotoSlide(num);
        carrousel.timer = window.setTimeout("carrousel.next()",5000);
    },

    prev : function(){
        var num = this.nbCurrent-1;
        if(num < 1){
           num = this.nbSlide;
        }
        this.gotoSlide(num);
    },

    stop : function(){
        window.clearTimeout(carrousel.timer);
    },

    play : function(){
        window.clearTimeout(carrousel.timer);
        carrousel.timer = window.setTimeout("carrousel.next()",5000);
    }
}

$(function(){
    slidenew.init($('.box-home #brandnews'));
});
