$(function() {
	$('#elm1').jdNewsScroll({step: 4, delay: 50});
	$('#elm2').jdNewsScroll({step: 4, delay: 50});
	$('#elm3').jdNewsScroll({step: 2, delay: 50});
	$('#elm4').jdNewsScroll({step: 2, delay: 50});
});
(function($){
 	var ELMS = [];
 	$.fn.jdNewsScroll = function(settings) {
		settings = $.extend({}, arguments.callee.defaults, settings);
		$(this).each(function(){
			this.$settings	= settings;
			this.$pause 	= false;
			this.$counter	= 50;
			$(this).hover(function(){ $(this).jdNewsScrollPause(true) }, function(){ $(this).jdNewsScrollPause(false) });
			ELMS.push(this);
		});
		return this;
	};
	$.fn.jdNewsScroll.defaults = {
		delay: 	60,
		step:	2
	};
	$.fn.jdNewsScrollPause = function(pause) {
		return this.each(function() {
			this.$pause = pause;
		});
	}
	setInterval(scroll, 85);
	function scroll() {
		for (var i = 0; i < ELMS.length; i++) {
			var elm = ELMS[i];
			if (elm && !elm.$pause) {
				if (elm.$counter == 0) {
					var ul 	= $('> ul', elm)[0];
					if (!elm.$steps) {
						elm.$steps 	= $('> li:last-child', ul).outerHeight();
						elm.$step	= 0;
					}
					if ((elm.$steps + elm.$step) <= 0) {
						elm.$counter 	= elm.$settings.delay;
						elm.$steps 		= false;
						$(ul).css('top', '0').find('> li:last-child').after($('> li:first-child', ul));
					} else {
						elm.$step -= elm.$settings.step;
						if (-elm.$step > elm.$steps) {
							elm.$step = -elm.$steps;
						}
						ul.style.top = elm.$step + 'px';
					}
				} else {
					elm.$counter--;
				}
			}
		}
	};
})(jQuery);