/*
* Game Scroller for onArcade 2.2
* Copyright © 2010 Hans Mäesalu & Eveterm OÜ, All Rights Reserved
*/

function game_scroller() {
	var here = this;

	this.files = [];
	this.div = doc_id("games_scroller");
	this.div_width = this.div.offsetWidth;
	this.ul;
	this.ul_width;
	this.title;
	this.width;
	this.height;
	this.x_pos = 0;

	this.get_x_pos = function(event) {
		event = event || window.event;
		var mouse_x = (event.pageX) ? event.pageX : (event.clientX + document.body.scrollLeft - document.body.clientLeft);
		var div_x = get_position(this.div)[0];
		return (mouse_x - div_x);
	};
	this.mouse_move = function(event) {
		here.x_pos = here.get_x_pos(event);
		here.ul.style.left = "-" + (here.x_pos * ((here.ul_width - here.div_width) / here.div_width))  + "px";
	};
	
	this.show_title = function() {
		here.title.firstChild.data = this.alt;
		here.title.style.display = "block";
		var left_pos = here.x_pos;
		if (left_pos + here.title.offsetWidth > here.div_width) {
			left_pos = here.div_width - here.title.offsetWidth - 5;
		}
		here.title.style.left = left_pos + "px";
	};
	this.hide_title = function() {
		here.title.style.display = "none";
	};

	this.init = function() {
		this.div.innerHTML = "";
		this.div.style.height = (this.height + 8) + "px";

		this.ul = document.createElement("ul");
		var li, link, img;
		for (i in this.files) {
			li = document.createElement("li");
			link = document.createElement("a");
			link.href = this.files[i][1];
			img = document.createElement("img");
			img.style.width = this.width + "px";
			img.style.height = this.height + "px";
			img.src = this.files[i][2];
			img.alt = this.files[i][0];
			img.id = "is_" + i;
			img.onmouseover = this.show_title;
			img.onmouseout = this.hide_title;
			link.appendChild(img);
			li.appendChild(link);
			this.ul.appendChild(li);
		}
		this.div.appendChild(this.ul);

		this.title = document.createElement("div");
		this.title.className = "title";
		this.title.style.top = (this.height - 15) + "px";
		this.title.appendChild(document.createTextNode(""));
		this.div.appendChild(this.title);

		this.ul_width = (this.width + 4) * this.files.length + 8;
		this.ul.style.width = this.ul_width + "px";
		this.div.onmousemove = this.mouse_move;
	};
}
