/* ------------------------------------------------------------------------
	s3Slider
	Inspired By: Boban Karisik -> http://www.serie3.info/
------------------------------------------------------------------------- */

(function($){  

    $.fn.s3Slider = function(vars) {       
        
        var element     = this;
        var timeOut     = (vars.timeOut != undefined) ? vars.timeOut : 4000;
        var txtTimeOut  = (vars.txtTimeOut != undefined) ? vars.txtTimeOut : timeOut/6;
        var fadeTimeOut = (vars.fadeTimeOut != undefined) ? vars.fadeTimeOut : 400;
        var current     = null;
        var timeOutFn   = null;
        var faderStat   = true;
        var items       = $("#" + element[0].id + "Content ." + element[0].id + "Image");
        var itemsSpan   = $("#" + element[0].id + "Content ." + element[0].id + "Image span");
            
        
        var fadeElement = function() {
            var thisTimeOut = timeOut;
            thisTimeOut = (faderStat) ? fadeTimeOut : thisTimeOut;
            if(items.length > 0) {
                timeOutFn = setTimeout(makeSlider, thisTimeOut);
            }
        }
        var markFade = function(c,b) {
            faderStat = b;
            current = items[c];
            fadeElement();
        }
        
        var makeSlider = function() {
            current = (current != null) ? current : items[(items.length-1)];
            var currNo      = jQuery.inArray(current, items) + 1
            currNo = (currNo == items.length) ? 0 : (currNo - 1);
            var hasText = $(itemsSpan[currNo]).text().length>0;
            if(faderStat == true) {
                $(items[currNo]).fadeIn(fadeTimeOut, function() {
                	if(hasText){
	                    $(itemsSpan[currNo]).slideDown(txtTimeOut, markFade(currNo,false));
                	}
                	else
                	{
                		markFade(currNo,false);
                	}
                });
            } 
            else {
                $(itemsSpan[currNo]).slideUp(txtTimeOut, function() {
                    $(items[currNo]).fadeOut(fadeTimeOut, markFade(currNo+1,true));
                    });
            }
        }
        
        makeSlider();

    };  

})(jQuery);  
