// JavaScript Document
/*********** remember me               ***********************************************/
/*********** Version 1.0               ***********************************************/
/*********** Author Yoann Phung Van    ***********************************************/
/*********** Affiche aleatoirement un des elements************************************/

/* exemple d'utilisation
$(document).ready(function(){
		$("").randomDisplay({
			class_name : "div.random",
			hideAllBeforeDisplay : false
		});
});
*/

jQuery.fn.randomdisplay = function(o,url) {
	
	// Paramètres par defaut
	var settings = jQuery.extend({
		class_name : "div.random",
		hideAllBeforeDisplay : false,
        cycle: false
	}, o);
	
	randomdisplay();
	
	function randomdisplay(){		
		var selection = $(settings.class_name);
		if(!selection ){return;}
		var listeReco = new Array();
		var nbElemReco = 0;
		var rand_no = 0;
		if(settings.hideAllBeforeDisplay){
		  selection.css("display", "none");
		}
		selection.each(function(i){
		   listeReco[nbElemReco++] = this.id;
		});
		if(nbElemReco>0){
			rand_no = Math.ceil(nbElemReco*Math.random())-1;
			if(rand_no>=0 && listeReco.length){
				$("#"+listeReco[rand_no]).css("display", "block");
			}
		}
	}
    
    if(settings.cycle == true){        
        var i = 0;
        var refreshId = setInterval(function(){
            var selection = $(settings.class_name);
            selection.parent().css({"position":"relative"});
            selection.each(function() {
                if($(this).is(':visible')){
                    if(i == 0){
                        $(this).css({"display":"none"});
                    }
                    if($(this).next()){
                        $(this).next().css({"display":"block"});
                        i = 1;
                    } else {
                        $(settings.class_name+":first").css({"display":"block"});
                    }                    
                } else {
                    $(settings.class_name+":first").css({"display":"block"});
                }
            });
            i = 0;
        }, 6000); // Every 6 secondes the next element will be displayed and the current hidden
    }
};
