/**
 * 文字滚动插件
 * @author youjue
 */
(function($){
	$.fn.scroll = function(options){
		settings = $.extend({
			line:1,  //滚动行数
			speed:500,  //移动速度
			timer:1000,  //滚动间隔时间
			up:"btnUp",  //向上滚动按钮id
			down:"btnDown" //向下滚动按钮id
		}, options || {});
		
		var _btnUp = $("#" + settings.up); //向上滚动按钮
		var _btnDown = $("#" + settings.down); //向下滚动按钮
		var timerID;
		var _this = this.eq(0).find("ul:first");
		var lineH=_this.find("li:first").height();
        var upHeight=0-settings.line*lineH;
		//滚动函数
		var scrollUp = function(){
			_btnUp.unbind("click", scrollUp);
			_this.animate(
			   {marginTop:upHeight},
			   settings.speed,
			   function(){
				  for(i=1;i<=settings.line;i++){
				  	_this.find("li:first").appendTo(_this);
				  }
				  _this.css({marginTop:0});
				  _btnUp.bind("click", scrollUp);
			   }
			);
		};
		//向下翻页函数
		var scrollDown = function(){
			_btnDown.unbind("click",scrollDown);
            for(i=1;i<=settings.line;i++){
                _this.find("li:last").show().prependTo(_this);
            }
            _this.css({marginTop:upHeight});
            _this.animate(
			      {marginTop:0},
				  settings.speed,
				  function(){
                     _btnDown.bind("click",scrollDown);
                  }
		     );
		};
		//自动播放
        var autoPlay = function(){
            if (settings.timer) {
			   	   timerID = window.setInterval(scrollUp, settings.timer);
			}
        };
        var autoStop = function(){
			if (settings.timer) {
				window.clearInterval(timerID);
			}
		};
        //鼠标事件绑定
        _this.hover(autoStop,autoPlay).mouseout();
        _btnUp.css("cursor","pointer").click( scrollUp ).hover(autoStop,autoPlay);
        _btnDown.css("cursor","pointer").click( scrollDown ).hover(autoStop,autoPlay);
	};
})(jQuery);
