/*
*Author:karry
*Version:1.0
*Time:2008-11-20
*jquery1.2.6
*图片连续循环滚动
*/
(function($) {
    var flagRoll = false;
	var width;
    $.fn.imageScroll = function(options) {
            var opts = $.extend({}, $.fn.imageScroll.defaults, options);
            $(this).each(function() {
                var $myThis = $(this);
                 $myThis.css("position","absolute");
                 width =  $myThis.width();
                 $myThis.css("width","3000");
                 $myThis.css("top",0);
                    $myThis.css("left",0);
                       $myThis.css("text-align","left");
                 var wrapId = "imageScroll"+$myThis.attr("id");
                 $myThis.wrap("<div id='"+wrapId+"'></div>");
                 $("#"+wrapId).css("width",width+"px");
                 $("#"+wrapId).css("height",$myThis.height()+"px");
                 $("#"+wrapId).css("position","relative");
                 $("#"+wrapId).css("overflow","hidden");

				function slid_left (){
					left_time = setInterval(function(){
							var left =  getScrollValue($myThis,$myThis.css("left"),true);
							   $myThis.animate({"left":(left+"px")},opts.scrollSpeed);
						   },opts.timeUnit);
				}
				function slid_right (){
					return right_time = setInterval(function() {
                         var left = getScrollValue($myThis, $myThis.css("left"),false);
                         $myThis.animate({"left":(left + "px")}, opts.scrollSpeed);
                     }, opts.timeUnit);
				}

                if(opts.scrollUnit==0)
                {
                    opts.scrollUnit = $myThis.children(":first-child").width();  
                }
                 if(opts.scrollSize==0)
                 {
                    opts.scrollSize =  $myThis.children().size();
                 }
                var html =   $myThis.html();
                  $myThis.append(html);

                      $(opts.leftControlId+","+opts.rightControlId+",#con_slider").mouseover(function(){ clearInterval(left_time)}).mouseout(function(){ slid_left()});
					  //$(opts.rightControlId).mouseover(function(){ clearInterval(left_time)}).mouseout(function(){slid_left()});
					  $(opts.leftControlId).bind("click",function(){bindEvent($myThis,true); return false;});
                      $(opts.rightControlId).bind("click",function(){bindEvent($myThis,false); return false;});
                
                 if(opts.direction=="left")
                 {
//                       setInterval(function(){var left =  getScrollValue($myThis,$myThis.css("left"),true);
//                           $myThis.animate({"left":(left+"px")},opts.scrollSpeed);
//                       },opts.timeUnit);
					slid_left()

                 }
                 else if (opts.direction == "right")
                 {
//                     setInterval(function() {
//                         var left = getScrollValue($myThis, $myThis.css("left"),false);
//                         $myThis.animate({"left":(left + "px")}, opts.scrollSpeed);
//                     }, opts.timeUnit);
						slid_right();
                 }
                }
            );
        function bindEvent($myThis,isLeft) {
			var left = getScrollValue($myThis, $myThis.css("left"), isLeft);
			   $myThis.animate({"left":(left+"px")},opts.scrollSpeed);
//            if (!flagRoll)
//            {
//                flagRoll = true;
//                var left = getScrollValue($myThis, $myThis.css("left"), isLeft);
//				
//                $myThis.animate({"left":(left + "px")}, opts.scrollSpeed, function() {
//                    flagRoll = false;
//                });
//            }
        }
        //获取移动后的left值
        //isLeft--是否向右滚动
        function getScrollValue($obj,leftValue,isLeft)
        {

            var reg = /-?\d+/;
            leftValue =Number(leftValue.match(reg));
            if(isLeft)
            {   
				leftValue -= opts.scrollUnit; 
			}
            else {
				leftValue += opts.scrollUnit;
			}
            if (Math.abs(leftValue) > (opts.scrollSize) * opts.scrollUnit)
            {
                leftValue = 0;				
            }

            if(leftValue>0)
            {
                leftValue = (opts.scrollSize) * opts.scrollUnit*(-1); 
            }

             return leftValue;
        }
    }
    $.fn.imageScroll.defaults = {
        direction:"left",
        manualControl:false, 
        leftControlId:".btnToLeft",
        rightControlId:".btnToRight",
        scrollUnit:0,
        scrollSize:0,
        timeUnit:2000,
        scrollSpeed:1000
    }
})(jQuery);
$(function(){
 	$("#con_slide").imageScroll({
        direction:"left", // 默认向左滚动。可设置为“right”,向右滚动
        manualControl:false, //默认自动滚动，若设为true，则手动控制滚动，则下面两个控制按钮的设置才有意义
        rightControlId:"#con_slide_left_btn",//向左滚动的按钮的ID值（或是其他用JQUERY对象能查找到的对象）
        leftControlId:"#con_slide_right_btn", //向右滚动的控制按钮的ID值（或是其他用JQUERY对象能查找到的对象）
        scrollUnit:354,//每次滚动的单位，像素表示，默认则自动获取第一个子容器的宽度
        scrollSize:7,//滚动的次数，默认自动获取子容器的个数
        timeUnit:4000,//滚动间隔时间-，单位毫秒，默认为2000毫秒
        scrollSpeed:500//滚动的速度（一次滚动所花费的时间），单位为毫秒，时间越长，滚动越慢。
    });		
	$("#site_con_slide").imageScroll({
        direction:"left", // 默认向左滚动。可设置为“right”,向右滚动
        manualControl:false, //默认自动滚动，若设为true，则手动控制滚动，则下面两个控制按钮的设置才有意义
        rightControlId:"#con_slide_left_btn",//向左滚动的按钮的ID值（或是其他用JQUERY对象能查找到的对象）
        leftControlId:"#con_slide_right_btn", //向右滚动的控制按钮的ID值（或是其他用JQUERY对象能查找到的对象）
        scrollUnit:472,//每次滚动的单位，像素表示，默认则自动获取第一个子容器的宽度
        scrollSize:6,//滚动的次数，默认自动获取子容器的个数
        timeUnit:4000,//滚动间隔时间-，单位毫秒，默认为2000毫秒
        scrollSpeed:500//滚动的速度（一次滚动所花费的时间），单位为毫秒，时间越长，滚动越慢。
    });	
})
