jQuery.fn.extend({
	dongRolling : function(o){
		if (o!=null){
			var speed = o.speed;//30
			var direction = o.direction;//"up" , "down" , "left" , "right"
		}
		if (speed==null){
			speed=30;
		}
		if (direction==null){
			direction="left";
		}
		
		var objThis = this;
		var thisStop = false;
		
		objThis.css({padding:0 , margin:0 , listStyleType:"none" , position:"relative" , overflow:"hidden" , display:"block"});
		objThis.find("li").css({padding:0 , margin:0 , listStyleType:"none" , position:"absolute" , top:0 , left:0 , zIndex:0 , display:"block"});
		
		var x=0;
		$.each(objThis.find("li") , function(i,n){
			var t = $(n);
			t.css({ left:x });
			x+=t.width();
		});
		
		if (pxToInt(objThis.find("li:last").css("left"))+objThis.find("li:last").width() >= objThis.width()){
			$.each(objThis.find("li") , function(i,n){
				function doMain(t){
					if (thisStop==false){
						if (direction=="up"){
							//var x = pxToInt(t.css("left"))-speed;
						}else if(direction=="down"){
							//var x = pxToInt(t.css("left"))-speed;
						}else if(direction=="left"){
							var x = pxToInt(t.css("left"))-speed;
						}else if(direction=="right"){
							var x = pxToInt(t.css("left"))+speed;
						}
						
						if (x<=-t.width()){
							x = pxToInt(objThis.find("li:last").css("left"))+objThis.find("li:last").width();
							objThis.find("li:last").after(t);
							t.css({ left:x });
							doMain(t);
						}else{
							t.animate(
								{left:x} , 
								"normal" , 
								"linear" , 
								function(){
									doMain(t);
								}
							);
						}
					}
				}
				
				//doMain($(n));
				
//				objThis.mouseover(function(){
//					thisStop = true;
//					objThis.find("li").stop();
//				});
//				objThis.mouseout(function(){
//					thisStop = false;
//					doMain($(n));
//				});
			});
		}
		
		function pxToInt(px){
			try{
				px = px.replace("px","");
				px = parseInt(px);
			}catch(e){
				px=0;
			}
			return px;
		}
	}
});
