/*
	Scrolling Marquee
	Copyright (c) 2008. by MeanEYE [RCF]
	http://www.rcf-group.com
*/

var active_id = "";

function marquee_Create(id, vertical, direction, speed) {
	var holder = document.getElementById(id);
	var marquee = document.getElementById(id+"_content");
	var sLeft;
	var sTop;

	holder.setAttribute('id', id);
	holder.style.position = 'relative';
	holder.style.overflow = 'hidden';


	with (marquee.style) {
		position = 'absolute';
		left = '0px';
		top = '0px';
	}

	timerId = marquee_Start(id, vertical, direction, speed);
	holder.onmouseover = function() { active_id = id };
	holder.onmouseout = function() { active_id = "" };
}

function marquee_Start(id, vertical, direction, speed) {
	fCall = "marquee_Move('" + id + "', "+vertical+", "+direction+");";
	timerId = setInterval(fCall, speed);

	return timerId;
}

function marquee_GetDim(obj) {
	if (obj.clientWidth)
		return [obj.clientWidth, obj.clientHeight]; else
		return [obj.width, obj.height];
}

function marquee_Stop(timerId) {
	clearInterval(timerId);
}

function marquee_Move(id, vertical, direction) {
	var obj = document.getElementById(id+"_content");
	var holder = document.getElementById(id);
	var xPos = parseInt(obj.style.left);
	var yPos = parseInt(obj.style.top);

	if (id == active_id) return;

	direction = direction * 2;
	obj_dim = marquee_GetDim(obj);
	holder_dim = marquee_GetDim(holder);

	if (vertical == 1) {
		if (direction > 0) {
			if (yPos > holder_dim[1]) yPos = - obj_dim[1];
		} else {
			if (yPos + obj_dim[1] < 0) yPos = holder_dim[1];
		}
		obj.style.top = (yPos + direction) + "px";
	} else {
		if (direction > 0) {
			if (xPos > holder_dim[0]) xPos = - obj_dim[0];
		} else {
			if (xPos + obj_dim[0] < 0) xPos = holder_dim[0];
		}
		obj.style.left = (xPos + direction) + "px";
	}
}

