(function(b){b.fn.easySlider=function(a){a=b.extend({prevId:"prevBtn",prevText:"Previous",nextId:"nextBtn",nextText:"Next",controlsShow:!0,controlsBefore:"",controlsAfter:"",controlsFade:!0,firstId:"firstBtn",firstText:"First",firstShow:!1,lastId:"lastBtn",lastText:"Last",lastShow:!1,vertical:!1,speed:700,auto:!0,pause:9500,continuous:!0,numeric:!1,numericId:"controls"},a);this.each(function(){function o(c){c=parseInt(c)+1;b("li","#"+a.numericId).removeClass("current");b("li#"+a.numericId+c).addClass("current")} function q(){c>i&&(c=0);c<0&&(c=i);a.vertical?b("ul",d).css("margin-left",c*m*-1):b("ul",d).css("margin-left",c*j*-1);n=!0;a.numeric&&o(c)}function g(e,f){if(n){n=!1;var k=c;switch(e){case "next":c=k>=i?a.continuous?c+1:i:c+1;break;case "prev":c=c<=0?a.continuous?c-1:0:c-1;break;case "first":c=0;break;case "last":c=i;break;default:c=e}var k=Math.abs(k-c),h=k*a.speed;a.vertical?(p=c*m*-1,b("ul",d).animate({marginTop:p},{queue:!1,duration:h,complete:q})):(p=c*j*-1,b("ul",d).animate({marginLeft:p},{queue:!1, duration:h,complete:q}));!a.continuous&&a.controlsFade&&(c==i?(b("a","#"+a.nextId).hide(),b("a","#"+a.lastId).hide()):(b("a","#"+a.nextId).show(),b("a","#"+a.lastId).show()),c==0?(b("a","#"+a.prevId).hide(),b("a","#"+a.firstId).hide()):(b("a","#"+a.prevId).show(),b("a","#"+a.firstId).show()));f&&clearTimeout(l);a.auto&&e=="next"&&!f&&(l=setTimeout(function(){g("next",!1)},k*a.speed+a.pause))}}var d=b(this),h=b("li",d).length,j=b("li",d).width(),m=b("li",d).height(),n=!0;d.width(j);d.height(m);d.css("overflow", "hidden");var i=h-1,c=0;b("ul",d).css("width",h*j);if(a.continuous){var e=b("div#slider ul div#MainCopy").children("li");e.sort(function(){return Math.round(Math.random())-0.5});for(var f=0;f<e.length;f++)b("div#slider ul div#MainCopy").append(e[f]);b("ul",d).prepend(b("ul li:last-child",d).clone().css("margin-left","-"+j+"px"));b("ul",d).append(b("ul li:nth-child(1)",d).clone());b("ul",d).css("width",(h+1)*j)}a.vertical||b("li",d).css("float","left");if(a.controlsShow)e=a.controlsBefore,a.numeric? e+='<ol id="'+a.numericId+'"></ol>':(a.firstShow&&(e+='<span id="'+a.firstId+'"><a href="javascript:void(0);">'+a.firstText+"</a></span>"),e+=' <span id="'+a.prevId+'"><a href="javascript:void(0);">'+a.prevText+"</a></span>",e+=' <span id="'+a.nextId+'"><a href="javascript:void(0);">'+a.nextText+"</a></span>",a.lastShow&&(e+=' <span id="'+a.lastId+'"><a href="javascript:void(0);">'+a.lastText+"</a></span>")),e+=a.controlsAfter,b(d).after(e);if(a.numeric)for(f=0;f<h;f++)b(document.createElement("li")).attr("id", a.numericId+(f+1)).html("<a rel="+f+' href="javascript:void(0);">'+(f+1)+"</a>").appendTo(b("#"+a.numericId)).click(function(){g(b("a",b(this)).attr("rel"),!0)});else b("a","#"+a.nextId).click(function(){g("next",!0)}),b("a","#"+a.prevId).click(function(){g("prev",!0)}),b("a","#"+a.firstId).click(function(){g("first",!0)}),b("a","#"+a.lastId).click(function(){g("last",!0)});var l;a.auto&&(l=setTimeout(function(){g("next",!1)},a.pause));b("#MainCopy a").bind("click",function(){clearTimeout(l)});a.numeric&& o(0);!a.continuous&&a.controlsFade&&(b("a","#"+a.prevId).hide(),b("a","#"+a.firstId).hide())})}})(jQuery);
