/**
* 2010-01-26
* zhaipeng.cn
* update : 2010/11/6
*/
(function ($)
{
	
	$.fn.marquee2left=function (options)
	{
		var options=$.extend(
		{
			sw:false , //移动多宽的一小格 
			speed: 20,
			offset:1,
			width:false,
			sleep:2000 , 
			inttimer:false,
			outtimer:false,
			f:'left',both:true,innerWidth:false
		},options);
		var obj=this;
		obj.css("overflowX","hidden");
		if( options.width == false){
		   options.width= obj.width();
		}
		
		if(options.innerWidth == false){ 
		   options.innerWidth = obj.children().width();
		}
		
		var me=obj.get(0);
		
		obj.mouseover(stop);
		obj.mouseout(start);
		
		var i = 0 ;
 		var preLeft=0;
		var stopscroll;
		start();
		var t;
		
        function run(){
			
			 if(stopscroll == true){ 
			    stop();
				return ;
			 }
			 
			 preLeft = me.scrollLeft;
			 if(options.f == 'left'){
				 me.scrollLeft += 1;
				 if( me.scrollLeft + options.width >= options.innerWidth ){
					    stop();
					    if(options.both == true){
						    options.f = 'right';
						    options.outtimer = setTimeout(start , options.sleep);
						}else{
							
							options.outtimer = setTimeout( lReload , options.sleep);
				    	}
				}
						 
			 }
			 
			 if(options.f == 'right'){ 
				 me.scrollLeft -=1;
			     if(me.scrollLeft <= 0 ){
					  stop();
					  if(options.both == true){
					     options.f = 'left'; 
						 options.outtimer = setTimeout(start , options.sleep);
					  }else{
						 options.outtimer = setTimeout(rReload , options.sleep );
					  }
				 }	  
			 }
			 
			 if( options.sw != false && options.sw > 0  ){
				    if( me.scrollLeft % options.sw == 0 &&  me.scrollLeft!= options.innerWidth && me.scrollLeft != 0 ){ 
					   stop();
					   options.outtimer = setTimeout(start , options.sleep);
					}
			 }
			 
			 debug();
		}
		
	    function lReload(){
			me.scrollLeft = 0;
			start(); 
		}
		
		function rReload(){
		    me.scrollLeft = options.innerWidth - options.width ;
			start();
		}

		function start()
		{
			if(options.outtimer){
			   clearTimeout(options.outtimer);
			}
		    options.inttimer=setInterval( run ,options.speed);
		}

		function stop()
		{ 
		
			if(options.outtimer){
			   clearTimeout(options.outtimer);
			}
			if(options.inttimer){
			   clearInterval(options.inttimer);
			}
		}
		
		function debug(){
		  window.status = ' scrollLeft : '+ me.scrollLeft + ' f:' + options.f + '  inner:' + options.innerWidth + ' width : '+ options.width + ' sleep : '+ options.sleep + ' sw : '+options.sw ;
		}

	}

})(jQuery)
