(function($) { $.fn.easySlider = function(options){ var defaults = { prevId: 'prevBtn', nextId: 'nextBtn', controlsShow: true, vertical: false, speed: 400, auto: true, pause: 6000, continuous: true, fadeSlide: false
}; var options = $.extend(defaults, options); this.each(function() { var obj = $(this); var s = $("li", obj).length; var w = $("li", obj).width(); var h = $("li", obj).height(); var clickable = true; obj.width(w); obj.height(h); obj.css("overflow","hidden"); var ts = s-1; var t = 0; $("ul", obj).css('width',s*w); if(options.continuous){ $("ul", obj).prepend($("ul li:last-child", obj).clone().css("margin-left","-"+ w +"px")); $("ul", obj).append($("ul li:nth-child(2)", obj).clone()); $("ul", obj).css('width',(s+1)*w);}; if(!options.vertical) $("li", obj).css('float','left'); $("a","#"+options.nextId).click(function(){animate("next",true);}); $("a","#"+options.prevId).click(function(){animate("prev",true);}); function adjust(){ if(t>ts) t=0; if(t<0) t=ts; if(!options.vertical) { $("ul",obj).css("margin-left",(t*w*-1));} else { $("ul",obj).css("margin-left",(t*h*-1));}
clickable = true;}; function fadeInSlide() { if(t>ts) t=0; if(t<0) t=ts; $("ul",obj).css("margin-left",(t*w*-1)); $("ul",obj).animate( { opacity: 1 }, { duration:options.speed } ); clickable = true;}
function animate(dir,clicked){ if (clickable){ clickable = false; var ot = t; switch(dir){ case "next":
t = (ot>=ts) ? (options.continuous ? t+1 : ts) : t+1; break; case "prev":
t = (t<=0) ? (options.continuous ? t-1 : 0) : t-1; break; default:
t = dir; break;}; var diff = Math.abs(ot-t); var speed = diff*options.speed; if(options.fadeSlide) { p = (t*w*-1); $("ul",obj).animate( { opacity: 0}, { queue:false, duration:speed, complete:fadeInSlide } );} else { if(!options.vertical) { p = (t*w*-1); $("ul",obj).animate( { marginLeft: p }, { queue:false, duration:speed, complete:adjust } );} else { p = (t*h*-1); $("ul",obj).animate( { marginTop: p }, { queue:false, duration:speed, complete:adjust } );};}; if(clicked) { clearTimeout(timeout); timeout = setTimeout(function(){ animate("next",false);},diff*options.speed+options.pause*1.2);}
if(options.auto && dir=="next" && !clicked){; timeout = setTimeout(function(){ animate("next",false);},diff*options.speed+options.pause);};};}; var timeout; if (s>1) { if(options.auto){; timeout = setTimeout(function(){ animate("next",false);},options.pause);};}
});};})(jQuery); 
