var Scroller = {
	init : function()
	{
		this.settings = new Settings();

		if (typeof(tmrInit) != "undefined")
			window.clearInterval(tmrInit);
		
		Scroller.build();
	},
	
	pausescroll : function()
	{
		window.clearInterval(tmrScroll);
	},
	
	resumescroll : function()
	{
		tmrScroll = setInterval("Scroller.move()", this.settings.Speed);
	},
	
	build : function()
	{
		var s = Scroller.settings;
		
		/* Relative positioned container */
		var ContentRContainer = document.createElement("div");
		ContentRContainer.style.width = s.Width + "px";
		ContentRContainer.style.height = s.Height + "px";
		ContentRContainer.style.overflow = "hidden";
		ContentRContainer.style.position = "relative";
		
		/* Absolute positioned container inside the relative one */
		var ContentAContainer = document.createElement("div");
		ContentAContainer.style.left = "0px";
		ContentAContainer.style.top = "0px";
		ContentAContainer.style.width = s.Width + "px";
		ContentAContainer.style.height = s.Height + "px";
		ContentAContainer.style.position = "absolute";
		
		/* Main container containing all objects */
		var ContentContainer = document.createElement("div");
		ContentContainer.className = s.ContainerClassName;
		ContentContainer.style.background = "yellow";
		ContentContainer.style.width = s.Width + "px";
		ContentContainer.style.height = s.Height + "px";
		ContentContainer.style.overflow = "hidden";
		ContentContainer.id="scroller_cc";
		ContentContainer.onclick = "test";
		
		var strContent = "<div onmouseover=\"Scroller.pausescroll()\" onmouseout=\"Scroller.resumescroll()\" class=\"" + s.ContainerClassName + "\" id=\"scroller_cc\" style=\"width:" + s.Width + "px; height:" + s.Height + "px; overflow:hidden\">";
		
		if (s.Direction == 2)
		{
			var tmpTop = s.Height;
			
			for (var x = 0; x < s.Content.length; x++)
			{
				strContent += "<span id=\"cb." + x + "\" class=\"" + s.ContentClassName + "\" style=\"width:" + s.ContentBlockWidth + "px; height:" + s.ContentBlockHeight + "px; display:block; position:relative; overflow:hidden; top:" + tmpTop + "\">";
				strContent += s.Content[x].src;
				strContent += "</span>";
				s.Content[x].top = tmpTop;
				tmpTop += s.ContentSpacer;
			}
		}
		strContent += "</div>";
		
		ContentAContainer.innerHTML = strContent;
		ContentRContainer.appendChild(ContentAContainer);
		
		if (!document.getElementById("dvScroller"))
		{
			alert("Cannot find div: 'dvScroller'.  Please fix.");
			return;
		}
		
		document.getElementById("dvScroller").appendChild(ContentRContainer);
		tmrScroll = setInterval("Scroller.move()", this.settings.Speed);
	},
	
	move : function()
	{
		var s = Scroller.settings;
		
		for (var x = 0; x < s.Content.length; x++)
		{
			if (s.Direction == 2) /* Scroll Vertically */
			{
				s.Content[x].top = s.Content[x].top - 1;
													
				if (s.Content[x].top == -((s.ContentBlockHeight * (x+1))))
				{
					if (x == 0)
					{
						s.Content[x].top = s.Content[s.Content.length-1].top + (s.ContentBlockHeight * s.Content.length) + s.ContentSpacer - 1;
					}
					else
						s.Content[x].top = s.Content[x-1].top + s.ContentSpacer;
				}
						
				document.getElementById("cb."+x).style.top = s.Content[x].top + "px";
			}
		}
	}
}

Scroller.init();