(function($){

$(function(){
	var elmRoot= $('#gen');
	if(elmRoot.length == 0){return;}
	
	var scroller = elmRoot.find('> ul'),
		items = scroller.find('> li'),
		itemNum = items.length,
		iCur = 0;
	scroller.css('position', 'absolute');
	scroller.html(scroller.html() + scroller.html());
	items= scroller.find('> li');
    
    var scHeight = elmRoot[0].offsetHeight;
    
	function getScrollDuration(){
		return Math.abs(50 * ((parseInt(scroller.css('top'), 10) || 0) - scrollArea[1]));
	}
    
    var scrollPropName = 'top';
    var scrollArea= [0, -items[itemNum].offsetTop];
    
    // 这个地方比较诡异，需要注意
	var scrollProp= {};
	scrollProp[scrollPropName]= scrollArea[1];
    scroller.css(scrollPropName, scrollArea[0]);
	function _scroll(){
		scroller.animate(scrollProp,
						 {"duration": getScrollDuration(),
						  "easing": "linear",
						  'complete': function(){scroller.css(scrollPropName, scrollArea[0]);_scroll();}
						 });
	}
    
	function startScroll(start){
		scroller.stop();
		// 明确给定说 start 才 start
		(start === true) && _scroll();
	}
	elmRoot.hover(startScroll, function(){startScroll(true);});
	startScroll(true);
    
});

})(jQuery)
