/* ------------------------------------------------------------------------
	s3Slider
	
	Developped By: Boban Karišik -> http://www.serie3.info/
        CSS Help: Mészáros Róbert -> http://www.perspectived.com/
	Version: 1.0
	
	Copyright: Feel free to redistribute the script/modify it, as
			   long as you leave my infos at the top.
------------------------------------------------------------------------- */


(function($){  
	
    $.fn.s3Slider = function(vars) {       
       // alert('hello');
        var element     = this;
        var yet_click   = false;
        var timeOut     = (vars.timeOut != undefined) ? vars.timeOut : 4000;
        var current     = null;
        var currNo      = 0;
        var timeOutFn   = null;
        var faderStat   = true;
        var mOver       = false;
        var items       = $("#" + element[0].id + "Content ." + element[0].id + "Image");
        var itemsSpan   = $("#" + element[0].id + "Content ." + element[0].id + "Image span");
        var rotate      = true;
        
        
         $('#next').click(function(){         		
				makeSlider(false, true);
				yet_click = true;
				
		 });
		 
		  $('#prev').click(function(){
				makeSlider(true, false);
				yet_click = true;
				
		 });
		 
		  $('#rotate').click(function(){
				if(rotate == true) {
					rotate = false;
					$('#rotate').attr('src', "/products/zeooptimizer/prepay/video/img2/play_but.gif");					
				}
				else{
					rotate = true;	
					$('#rotate').attr('src', "/products/zeooptimizer/prepay/video/img2/pause_but.gif");
				}
				
				makeSlider(false, false);
				
		 });
            
        items.each(function(i) {
    
            $(items[i]).mouseover(function() {
               mOver = true;
            });
            
            $(items[i]).mouseout(function() {
                mOver   = false;
                fadeElement(true);
            });
            
        });
        
        var fadeElement = function(isMouseOut) {
            var thisTimeOut = (isMouseOut) ? (timeOut/2) : timeOut;
            thisTimeOut = (faderStat) ? 10 : thisTimeOut;
            if(items.length > 0) {
             	
             	
             	if(rotate == false){
		            if(yet_click == true){
		            	$('#next').click();
		            	yet_click = false;
		            }
             	}
             	else{
             		
             		timeOutFn = setTimeout(makeSlider, thisTimeOut);
             	}
            } else {
                console.log("Poof..");
            }
        }
        
        var makeSlider = function(isPrev, isNext) {
        	
        	//alert('Fuck');
        	var ADD = 0;
        	
        	if(isNext == true){
        		ADD = 1;
        	}else if (isPrev == true){
        		ADD = -1;
        	}else{
        		ADD = 1;
        	}
        	
            current = (current != null) ? current : items[(items.length-1)];
            
            currNo      = jQuery.inArray(current, items) + 1;  
           // alert(currNo);
           // alert(items.length)  ;      
            currNo = (currNo == items.length) ? 0 : (currNo - 1);
           // alert(currNo);
            var newMargin   = $(element).width() * currNo;
            if(faderStat == true) {
                if(!mOver) {
                    $(items[currNo]).fadeIn((timeOut/6), function() {
                        if($(itemsSpan[currNo]).css('bottom') == 0) {
                            $(itemsSpan[currNo]).slideUp((timeOut/6), function() {
                                faderStat = false;
                                current = items[currNo];
                                if(!mOver) {
                                    fadeElement(false);
                                }
                            });
                        } else {
                            $(itemsSpan[currNo]).slideDown((timeOut/6), function() {
                                faderStat = false;
                                current = items[currNo];
                                if(!mOver) {
                                    fadeElement(false);
                                }
                            });
                        }
                    });
                }
            } else {
                if(!mOver) {
                    if($(itemsSpan[currNo]).css('bottom') == 0) {
                        $(itemsSpan[currNo]).slideDown((timeOut/6), function() {
                            $(items[currNo]).fadeOut((timeOut/6), function() {
                                faderStat = true;
                                current = items[(currNo+ADD)];
                                if(!mOver) {
                                    fadeElement(false);
                                }
                            });
                        });
                    } else {
                        $(itemsSpan[currNo]).slideUp((timeOut/6), function() {
                        $(items[currNo]).fadeOut((timeOut/6), function() {
                                faderStat = true;
                                current = items[(currNo+ADD)];
                                if(!mOver) {
                                    fadeElement(false);
                                }
                            });
                        });
                    }
                }
            }
        }
        
        makeSlider(false, false);

    };  

})(jQuery);  