﻿(function($) {
	$.fn.loopedSlider = function(options){
		var defaults = {
			 PicSlider : ""
		    ,TxtSlider : ""
		    ,NavSlider : ""
		    ,SlideSpeed: 300
		    ,CurNum : 1
		    ,AllNum : 3
		};
		var o = $.extend(defaults,options);
		var strDir = "lft";
		var intPreNum = 0;
		//-----------------------------------------------
        var IsOnSliding = false;		            //幻灯是否播放中？
		var mstSliderInterVal = null;
		//-----------------------------------------------
		var objPicUL = $(o.PicSlider);
	    var objTxtUL = $(o.TxtSlider);
	    var objNavUL = $(o.NavSlider);
		//----图片初始化-------------------------------------------
		objPicUL.parent().css({position:'relative'});
		var intPicWidth = objPicUL.width();
		objPicUL.css({position:'absolute',width:o.AllNum*intPicWidth});
		//----文字初始化-------------------------------------------
		objTxtUL.parent().css({position:'relative'});
		var intTxtWidth = objTxtUL.width();
		objTxtUL.css({position:'absolute',width:o.AllNum*intTxtWidth});
		//----导航初始化-------------------------------------------
		setNavi(1);
		//-----------------------------------------------
        this.each(function(){
			autoStart();
		});
		
		objNavUL.children().click(function(){
			var intCur = parseInt($(this).attr("rel"));
			if (IsOnSliding==false){
				goSlider(intCur);
			};
			autoStart();
		});
		
		
		function autoStart(){
		    clearInterval(mstSliderInterVal);
			mstSliderInterVal = setInterval(function(){if(IsOnSliding==false) goSlider(0);},o.SlideSpeed);
		};
		
		function setNavi(intCur){
			var objCur = objNavUL.children().eq(intCur-1);
			var strTxt = objCur.attr("txt");
			var strSim = objCur.attr("sim");
			objCur.html(strSim + "-" + strTxt);
			objCur.attr("class","on");
			
			var objOth = objNavUL.children().not("[rel='"+intCur+"']");
			objOth.each(function(){
				$(this).html($(this).attr("sim"));
				$(this).attr("class","of");
			});
		};
		
		///播放图片。
		function goSlider(intClk){
			IsOnSliding=true;
			intPreNum = o.CurNum;
		    //====================================================================
			if (intClk>0 && intClk!=o.CurNum){
				intCur = intClk;
				if (intCur>intPreNum)
					strDir="lft"
				else
					strDir="rgt"
			} else {
				if (strDir=="lft"){
					var intCur = o.CurNum+1;
				} else {
					var intCur = o.CurNum-1;
				};
			};
		    //====================================================================
			if (intCur==o.AllNum || intCur==1) {
				if (strDir=="lft") 
					strDir = "rgt";
				else
					strDir = "lft";
			};
			var intPicLft = -1*(intCur-1)*intPicWidth;
			var intTxtLft = -1*(intCur-1)*intTxtWidth;
			//alert(intCur);
		    //====================================================================
            objPicUL.animate({left:intPicLft},800);
            objTxtUL.animate({left:intTxtLft},800,function(){IsOnSliding=false;});
			setNavi(intCur);
		    //====================================================================
			o.CurNum = intCur;
		};
	};
})(jQuery);
