var oListObj = new Array();
var oConst = new Object();
oConst.w = 500;
oConst.h = 20;
oConst.i = 0;
oConst.wait = 5000;
oConst.speed = 16;
oConst.speedWait = 10;

function oInit(){
	var o = getOkazuXmlObj();
	o.loadXMLDoc();
}

function getOkazuXmlObj(){
    var obj = new kXmlHttp("/oList.php","GET", false, put2obj);
    return obj;
}

function put2obj(){
	var xml = this.req.responseXML;
	var site = xml.getElementsByTagName("site");
	var i;
	for(i = 0; i < site.length; i++){
		oListObj[i] = new Object();
		oListObj[i].id = site[i].getElementsByTagName("oid")[0].firstChild.nodeValue;
		oListObj[i].url = site[i].getElementsByTagName("url")[0].firstChild.nodeValue;
		oListObj[i].shopId = site[i].getElementsByTagName("shopId")[0].firstChild.nodeValue;
		oListObj[i].desc = site[i].getElementsByTagName("desc")[0].firstChild.nodeValue;
	}
	rollingLinx();
	var interval = setInterval("rollingLinx()",oConst.wait);
}
function rollingLinx(){
	var n = oConst.i;
	var o = document.getElementById("okazu");
	var div = document.getElementById("okazu-inner");
		if(!div){
		var div = document.createElement("div");
		div.setAttribute("id", "okazu-inner");
		div.style.position = "absolute";
		div.style.width = oConst.w * 2 + "px";
		div.style.height = oConst.h + "px";
		div.style.overflow = "hidden";
		div.style.left = "0px";
		div.style.top = "0px";
		div.style.margin = 0;
		div.style.padding = 0;
		o.appendChild(div);
	}
	var iDiv = document.getElementById("okazu-inner").getElementsByTagName("div");	
	if(!iDiv.length){
		iDiv = new Array();
		for(i = 0; i < 2; i++){
			iDiv[i] = document.createElement("div");
			iDiv[i].style.position = "absolute";
			iDiv[i].style.overflow = "hidden";
			iDiv[i].style.width = oConst.w + "px";
			iDiv[i].style.left = (oConst.w * i) + "px";
			iDiv[i].style.height = oConst.h + "px";
			div.appendChild(iDiv[i]);
		}
	}else{
		div.removeChild(iDiv[0]);
		div.style.left = "0px";
		var i = iDiv.length;
		iDiv[(iDiv.length-1)].style.left = "0px";
		iDiv[i] = document.createElement("div");
		iDiv[i].style.position = "absolute";
//		iDiv[i].style.left = "0px";
		iDiv[i].style.left = (oConst.w * i) + "px";
		iDiv[i].style.overflow = "hidden";
		iDiv[i].style.width = oConst.w + "px";
		iDiv[i].style.height = oConst.h + "px";
		div.appendChild(iDiv[i]);
	}
	var site = oListObj[n];
	iDiv[1].innerHTML = '<a href="/alink.php?tgt=' + site.id + '" target="_blank">' + site.desc + '</a>';
//alert(div.style.left);
	oConst.i++;
	if(oListObj.length == oConst.i){
		oConst.i = 0;
	}
	var dist = oConst.w * -1;
//alert("doMove('okazu-inner',dost, 0 ,10)");
	oConst.interval = setInterval("doMove('okazu-inner'," + dist + ", 0 ," + oConst.speed + ")", oConst.speedWait);
}

function doMove(tgt, dx, dy, speed){

	var obj = document.getElementById(tgt);
	var ox = parseInt(obj.style.left.replace(/px/, ""));
	var oy = parseInt(obj.style.top.replace(/px/, ""));
	var diffX = dx - ox;
	var diffY = dy - oy;
	var rateX = 1;
	var rateY = 1;
	if(Math.abs(diffX) - (speed * 2) <= 0){
		var speedX = Math.round(Math.abs(diffX) / 4);
	}else{
	var speedX = speed;
	}
	if(Math.abs(diffY) - (speed * 2) <= 0){
		var speedY = Math.round(Math.abs(diffY) / 4);
	}else{
		var speedY = speed;
	}
	if(speedX == 0 && ox != dx){
		speedX++;
	}
	if(speedY == 0 && oy != dy){
		speedY++;
	}


//	var rateX = (Math.abs(diffX) / speed);
//	var rateY = (Math.abs(diffY) / speed);
/*
	if(rateX < 1){
		speedX = Math.round(speed * rateX);
	}
	if(rateY < 1){
		speedY = Math.round(speed * rateY);
	}
*/
	if(dx < ox){
		speedX *= -1;
	}
	if(dy < oy){
		speedY *= -1;
	}
	ox += speedX;
	oy += speedY;
	obj.style.left = ox + "px";
	obj.style.top = oy + "px";
//alert(oy + " " + dy + " " + speedX + " " + rateX);
	if(ox == dx && oy == dy){
		clearInterval(oConst.interval);
		oConst.interval = null;
	}

}	
addEvent(window, "load", oInit);
