(function($){$.fn.cSlider=function(options){var optionObj=$.extend({},$.fn.cSlider.defaults,options);var slider=this;var itemWidth=$("."+optionObj.slide).outerWidth();var itemHeight=$("."+optionObj.slide).outerHeight();var numberOfSlides=1;var currentSlide=1;var oldSlide=0;var timeOutId="";var positionArray=new Array;var init=function(){$("."+optionObj.slide,slider).wrapAll('<div class="cSliderItemHolder"><div class="cSliderItemSpace"></div></div>');$(".cSliderItemHolder").css({overflow:"hidden",height:itemHeight+"px"});if(!optionObj.itemHolderCustomWidth){$(".cSliderItemHolder").css({width:itemWidth+"px"});}$(".cSliderItemSpace").find("."+optionObj.slide).each(function(i){$(this).css({float:"left"});$(this).attr("id","cSlide"+(i+1));$(".cSliderItemSpace").css({width:(itemWidth*(i+1))+"px"});numberOfSlides=i+1;});if(numberOfSlides==2){$(".cSliderItemSpace").css({width:(itemWidth*(4))+"px"});$(".cSliderItemSpace").append($(".cSliderItemSpace").html());}else if(numberOfSlides==1){optionObj.autoSlide=false;optionObj.slideButtons=false;optionObj.showNavigation=false;optionObj.pager=false;}if(numberOfSlides>1){prevStep(0);}if(optionObj.showNavigation){navigationButtons();}if(optionObj.pager){sliderPager();}if(optionObj.slideButtons){$("."+optionObj.slideButtonClass+":first").addClass(optionObj.slideButtonClass+"Active");$("."+optionObj.slideButtonClass).bind("click",function(){moveToCurrent(this);});}nextSlide();};var navigationButtons=function(){$(".cSliderItemHolder").css({position:"relative"});$(".cSliderItemHolder").append("<a class=\""+optionObj.nextBtn+"\"></a>");$(".cSliderItemHolder").append("<a class=\""+optionObj.prevBtn+"\"></a>");$("."+optionObj.prevBtn).css({position:"absolute",left:"0px",top:"0px",display:"block",height:itemHeight+"px",outline:"none",cursor:"pointer"}).bind("click",function(){slide(true,"back");});$("."+optionObj.nextBtn).css({position:"absolute",right:"0px",top:"0px",display:"block",height:itemHeight+"px",outline:"none",cursor:"pointer"}).bind("click",function(){slide(true,"forward");});};var sliderPager=function(){$(".cSliderItemHolder").css({position:"relative"});$(".cSliderItemHolder").append("<div class=\"cSliderPager\"></div>");for(var i=1;i<=numberOfSlides;i++){$(".cSliderPager").append("<a class=\"cSliderPagerItem\" rev=\""+i+"\">"+(optionObj.pagerNumber?i:"")+"</a>");}$(".cSliderPager").css({position:"absolute"});$(".cSliderPagerItem").css({cursor:"pointer",display:"block"});$(".cSliderPagerItem:first").addClass(optionObj.slideButtonClass+"Active");$(".cSliderPagerItem").bind("click",function(){moveToCurrent(this);});};var nextStep=function(x){if(x==-2){$(".cSliderItemSpace").css({marginLeft:-itemWidth+"px"});var temp=$(".cSliderItemSpace ."+optionObj.slide+":first");temp.remove();$(".cSliderItemSpace").append(temp);}else{x=0-x;for(i=1;i<x;i++){$(".cSliderItemSpace").css({marginLeft:-itemWidth+"px"});var temp=$(".cSliderItemSpace ."+optionObj.slide+":first");temp.remove();$(".cSliderItemSpace").append(temp);}}};var prevStep=function(x){$(".cSliderItemSpace").css({marginLeft:-itemWidth+"px"});var temp=$(".cSliderItemSpace ."+optionObj.slide+":last");temp.remove();$(".cSliderItemSpace").prepend(temp);};var moveToCurrent=function(obj){if($(".cSliderItemSpace").is(":not(:animated)")){clearTimeout(timeOutId);for(var i in positionArray){if(positionArray[i]=="cSlide"+$(obj).attr("rev")){position=i;}}if(position>1){x=-(position);direction="forward";}else{x=(position);direction="back";}currentSlide=$(obj).attr("rev");doAnimate(x,direction);}};var changeActive=function(){if(optionObj.pager){$(".cSliderPagerItem").each(function(){$(this).removeClass("cSliderPagerItemActive");if(parseInt($(this).attr("rev"))==currentSlide){$(this).addClass("cSliderPagerItemActive");}});}if(optionObj.slideButtons){$("."+optionObj.slideButtonClass).each(function(){$(this).removeClass(optionObj.slideButtonClass+"Active");if(parseInt($(this).attr("rev"))==currentSlide){$(this).addClass(optionObj.slideButtonClass+"Active");}});}};var slide=function(clicked,clickDirection){if($(".cSliderItemSpace").is(":not(:animated)")){oldSlide=currentSlide;if(clicked){clearTimeout(timeOutId);if(clickDirection=="back"){currentSlide--;x=0;}else if(clickDirection=="forward"){currentSlide++;x=-2;}}else{if(optionObj.counterClock){currentSlide--;x=0;}else{currentSlide++;x=-2;}}if(currentSlide>numberOfSlides){currentSlide=1;}else if(currentSlide<1){currentSlide=numberOfSlides;}doAnimate(x,clickDirection);}};var doAnimate=function(x,clickDirection){changeActive();$(".cSliderItemSpace").animate({marginLeft:(x*itemWidth)+"px"},optionObj.animationSpeed,function(){if(clickDirection=="back"){prevStep(x);}else if(clickDirection=="forward"){nextStep(x);}else if(optionObj.counterClock){prevStep(x);}else{nextStep(x);}nextSlide();});};var nextSlide=function(){$("."+optionObj.slide).each(function(i){positionArray[i]=$(this).attr("id");});if(optionObj.autoSlide){timeOutId=setTimeout(function(){slide(false,null);},optionObj.showTime);}};init();return this;};})(jQuery);$.fn.cSlider.defaults={nextBtn:"cSliderNextBtn",prevBtn:"cSliderPrevBtn",slide:"cSliderItem",showNavigation:true,animationSpeed:2000,showTime:2000,autoSlide:false,slideButtons:false,slideButtonClass:"cSliderButton",pager:false,pagerNumber:false,counterClock:false,itemHolderCustomWidth:false};
