// 源头 目标 名称 速度 宽度 高度 方向 步长 步长时间
function Marquee(sSource, sTarget, sName, iSpeed, iWidth, iHeight, iDirection, iSteps, iStepsTime){
	var source = document.getElementById(sSource); // Source HTML
	var target = document.getElementById(sTarget); // Target HTML
	var name = sName; // Object Name
	var speed = (iSpeed) ? iSpeed : 50; // Speed
	var width = iWidth; // Width
	var height = iHeight; // Height
	var bTime = true; // Time
	var Marquee00, Marquee01, Marquee02;
	var iStep = 0;
	
	// 运动
	this._marquee = function(){
		direction[iDirection] = direction[iDirection].toLowerCase(); // Direction
		if (bTime){
			switch (direction[iDirection]){
			case "top": if((Marquee02.offsetHeight - Marquee00.scrollTop) <= 0){ Marquee00.scrollTop -= Marquee01.offsetHeight; }else{ Marquee00.scrollTop++; }; break;
			case "down": if((Marquee02.offsetHeight - Marquee00.scrollTop) >= height){ Marquee00.scrollTop += Marquee01.offsetHeight; }else{ Marquee00.scrollTop--; }; break;
			case "right": if((Marquee02.offsetWidth - Marquee00.scrollLeft) <= 0){ Marquee00.scrollLeft -= Marquee01.offsetWidth; }else{ Marquee00.scrollLeft++; }; break;
			case "left": if((Marquee02.offsetWidth - Marquee00.scrollLeft) >= width){ Marquee00.scrollLeft += Marquee01.offsetWidth; }else{ Marquee00.scrollLeft--; }; break;
			};
		};

		if (iSteps != 0){
			if (bTime){
				if (iStep >= iSteps){ bTime = false; iStep = 0; }else{ iStep++; };
			}else{
				if (iStep >= iStepsTime){ bTime = true; iStep = 0;}else{ iStep++; };
			};
		};
	};
	
	// 初建
	this._execute = function(){
		direction[iDirection] = direction[iDirection].toLowerCase(); // Direction
		var sHTML = '<div id="Marquee00'+ name +'" style="width:'+ width +'px; height:'+ height +'px; overflow:hidden;">';
			sHTML += '<table border="0" cellspacing="0" cellspacing="0">';
			sHTML += '<tr><td></td><td id="Marqueedown'+ name +'"></td><td></td></tr>';
			sHTML += '<tr><td id="Marqueeright'+ name +'"></td><td id="Marquee01'+ name +'">'+ source.innerHTML +'</td><td id="Marqueeleft'+ name +'"></td></tr>';
			sHTML += '<tr><td></td><td id="Marqueetop'+ name +'"></td><td></td></tr>';
			sHTML += '</table></div>';
		target.innerHTML = sHTML;
		source.style.display = "none";
		document.getElementById("Marquee"+ direction[iDirection] + name).innerHTML = source.innerHTML;

		Marquee00 = document.getElementById("Marquee00" + name);
		Marquee01 = document.getElementById("Marquee01" + name);
		Marquee02 = document.getElementById("Marquee"+ direction[iDirection] + name);

		if (iSteps == 0){
			Marquee00.onmouseover = function(){ bTime = false; };
			Marquee00.onmouseout = function(){ bTime = true; };
		};

		setInterval(this._marquee, speed);
	};

	this._execute();
};
