jQuery.fn.galleryScroll=function(a){a=jQuery.extend({btPrev:"a.link-prev",btNext:"a.link-next",holderList:"div",scrollElParent:"ul",scrollEl:"li",slideNum:false,duration:1E3,step:false,circleSlide:true,disableClass:"disable",funcOnclick:null,autoSlide:false,innerMargin:0,stepWidth:false},a);return this.each(function(){function n(){jQuery(a.btNext,c).trigger("click")}function w(){jQuery(a.slideNum,c).find("a").click(function(){jQuery(a.btPrev,c).removeClass("prev-"+a.disableClass);jQuery(a.btNext, c).removeClass("next-"+a.disableClass);var g=jQuery(a.slideNum,c).find("a").index(jQuery(this));b=f*g-a.innerMargin;j=u=0;if(g==0)j=1;if(b+f>e){b=b-(b-e)-f+a.innerMargin;a.circleSlide||jQuery(a.btNext,c).addClass("next-"+a.disableClass)}k.animate({marginLeft:-b+"px"},{queue:false,duration:a.duration});!a.circleSlide&&b==0&&jQuery(a.btPrev,c).addClass("prev-"+a.disableClass);jQuery.fn.galleryScroll.numListActive(b,jQuery(a.slideNum,c),d,l);if(i){clearTimeout(i);i=setTimeout(function(){n(a.autoSlide)}, a.autoSlide)}return false})}var c=jQuery(this),v=jQuery(a.holderList,c),d=v.width(),k=jQuery(a.scrollElParent,v),o=jQuery(a.scrollEl,k).outerWidth(true),e=jQuery(a.scrollEl,k).length*o,b=-a.innerMargin,u=0,f=0,p=a.autoSlide,i=null;f=a.step?a.step*o:d;if(a.stepWidth)f=a.stepWidth;a.circleSlide||a.innerMargin==b&&jQuery(a.btPrev,c).addClass("prev-"+a.disableClass);if(a.slideNum&&!a.step)for(var l=0,t=0;t<e;){t+=d;if(t>e)l=t-e}if(p){i=setTimeout(function(){n(p)},p);k.hover(function(){clearTimeout(i)}, function(){i=setTimeout(function(){n(p)},p)})}jQuery(a.btNext,c).bind("click",function(){jQuery(a.btPrev,c).removeClass("prev-"+a.disableClass);if(a.circleSlide)if(b+f>e-d+a.innerMargin)if(b!=e-d+a.innerMargin)b=e-d+a.innerMargin;else{j=1;b=-a.innerMargin}else{b+=f;j=0}else if(b+f>e-d-a.innerMargin){if(b!=e-d-a.innerMargin){b=e-d+a.innerMargin;jQuery(a.btNext,c).addClass("next-"+a.disableClass);j=0}}else{b+=f;if(b==e-d-a.innerMargin){jQuery(a.btNext,c).addClass("next-"+a.disableClass);j=0}}k.animate({marginLeft:-b+ "px"},{queue:false,duration:a.duration});if(i){clearTimeout(i);i=setTimeout(function(){n(a.autoSlide)},a.autoSlide)}a.slideNum&&!a.step&&jQuery.fn.galleryScroll.numListActive(b,jQuery(a.slideNum,c),d,l);jQuery.isFunction(a.funcOnclick)&&a.funcOnclick.apply(c);return false});var j=1;jQuery(a.btPrev,c).bind("click",function(){jQuery(a.btNext,c).removeClass("next-"+a.disableClass);if(b-f>=-f-a.innerMargin&&b-f<=-a.innerMargin)if(j!=1){b=-a.innerMargin;j=1}else if(a.circleSlide){b=e-d+a.innerMargin;u= 1;j=0}else b=-a.innerMargin;else{b-=f;u=0}if(!a.circleSlide&&b==a.innerMargin){jQuery(this).addClass("prev-"+a.disableClass);j=0}!a.circleSlide&&b==-a.innerMargin&&jQuery(this).addClass("prev-"+a.disableClass);k.animate({marginLeft:-b+"px"},{queue:false,duration:a.duration});a.slideNum&&!a.step&&jQuery.fn.galleryScroll.numListActive(b,jQuery(a.slideNum,c),d,l);if(i){clearTimeout(i);i=setTimeout(function(){n(a.autoSlide)},a.autoSlide)}jQuery.isFunction(a.funcOnclick)&&a.funcOnclick.apply(c);return false}); if(e<=d){jQuery(a.btPrev,c).addClass("prev-"+a.disableClass).unbind("click");jQuery(a.btNext,c).addClass("next-"+a.disableClass).unbind("click")}jQuery.fn.galleryScroll.numListCreate=function(g,h,q,r){var m="",s=1;for(h=h+r;h>0;){m+='<li><a href="">'+s+"</a></li>";s++;h-=q}jQuery(g).html("<ul>"+m+"</ul>")};jQuery.fn.galleryScroll.numListActive=function(g,h,q,r){if(h){jQuery("a",h).removeClass("active");var m=q-r-1,s=0;if(g!=0)for(;g>m;){m=s*q-r-1+a.innerMargin;s++}g=(m+r+1+a.innerMargin)/q-1;jQuery("a", h).eq(g).addClass("active")}};if(a.slideNum&&!a.step){jQuery.fn.galleryScroll.numListCreate(jQuery(a.slideNum,c),e,d,l);jQuery.fn.galleryScroll.numListActive(b,jQuery(a.slideNum,c),d,l);w()}jQuery(window).resize(function(){d=v.width();o=jQuery(a.scrollEl,k).outerWidth(true);e=jQuery(a.scrollEl,k).length*o;f=a.step?a.step*o:d;if(a.slideNum&&!a.step){for(var g=0,h=0;h<e;){h+=d;if(h>e)g=h-e}jQuery.fn.galleryScroll.numListCreate(jQuery(a.slideNum,c),e,d,g);jQuery.fn.galleryScroll.numListActive(b,jQuery(a.slideNum, c),d,g);w()}if(e-d<b-a.innerMargin){a.circleSlide||jQuery(a.btNext,c).addClass("next-"+a.disableClass);k.animate({marginLeft:-(e-d+a.innerMargin)},{queue:false,duration:a.duration})}})})};