
(function($){  

    $.fn.zvFader = function(vars) {       
        
        var element     = this;
        var timeOut     = 2000; /*(vars.timeOut != undefined) ? vars.timeOut : 4000;*/
        var currentUrl  = null;
        var currentNo   = 0;
        var timeOutFn   = null;
        var faderStat   = true;
        var mOver       = false;
        var urls        = $(element).attr("rel").split(",");
                    
        //da nam ne skace simo-tamo zawrapajmo sliku 
        if (urls.length > 0) {
          $(element).wrap('<div id="' + $(element).attr("Id") + 'wrapper" style="height:' + $(element).height() + 'px; position: relative; overflow: hidden;"></div>');
          $(urls).each(function(i) {
              $.get(urls[i], "", function(){});
          });
          $(element).attr("src", urls[0]);
          $("#"+$(element).attr("Id")+"wrapper").append("<img id='" + $(element).attr("Id") + "Next' src='" + urls[1] + "'>");
        }
        
        $(element).mouseover(function() {
            mOver = true;
        }).mouseout(function() {
            mOver   = false;
            fadeElement(true);
        });
        
        var fadeElement = function(isMouseOut) {
            var thisTimeOut = (isMouseOut) ? (timeOut/2) : timeOut;
            thisTimeOut = (faderStat) ? 6000 : thisTimeOut;
            if(urls.length > 0) {
                timeOutFn = setTimeout(startFader, thisTimeOut);
            }
        }
        
        var startFader = function(){
            
            currentNo = (currentNo>=(urls.length-1)) ? 0 : currentNo+1;
            //console.log(currentNo);
            currentUrl = urls[currentNo];
            
            if(!mOver) {
                $nextImg = $("#"+$(element).attr("Id")+"Next");
                $nextImg.attr("src", currentUrl);
//                $(element).fadeOut(timeOut/2);
//                $nextImg.fadeIn((timeOut/2), function(){
//                  
//                });
                if(!mOver) {
                  fadeElement(false);
                }
           }
        }
        
        startFader();

    };  

})(jQuery); 