var interval = null;

var slidebar = 
{
	init:function()
	{
		var id = 1;
		while( document.getElementById("slidebar"+id) )
		{
			slidebar.set( document.getElementById("slidebar"+id) )
			id++;
		}
	},
	set:function(obj)
	{
		obj.className = "slidebarA";		
		obj.data = Array();

		var pos    = obj.data["pos"]    = 1;
		var start  = obj.data["start"]  = 0;
		var height = obj.data["height"] = obj.offsetHeight-10;
		var width  = obj.data["width"]  = obj.offsetWidth;

		var imgs = obj.getElementsByTagName("IMG");
		var y = imgs.length;
		for(var x=0;x<y;x++)
		{
			var div = document.createElement("div");
			div.style.backgroundImage = 'url(' + imgs[x].src + ')';
			
			div.data = Array();

			imgs[x].style.display = "block";

			div.style.height = height+"px";
			div.style.width  = imgs[x].offsetWidth * height / imgs[x].offsetHeight+ "px";
			div.data["width"] = parseInt(div.style.width);			
			div.style.top = "5px";
			div.style.display = "none";

			if( imgs[x].getAttribute("big") )
			{
				div.className = "clickable";
				div.setAttribute("big", imgs[x].getAttribute("big"))
				div.onclick = function()
				{
					var url = this.getAttribute("big");
					window.open(url,'brugesGuides','toolbar:false');
				}
			}
			div.className+=" fotos";
			imgs[x].style.display = "none";

			obj.appendChild(div);
		}

		obj.onmouseover=function(){window.clearInterval(window.interval); window.interval = null;}
		obj.onmouseout=function()
		{
			if(window.interval != null) window.clearInterval(window.interval);
			window.interval = window.setInterval(function(){slidebar.slide(obj)},100);
		}

		interval = window.setInterval(function(){slidebar.slide(obj)},100);
	},
	slide:function(obj)
	{
		var again = false;
		var pos = --obj.data.pos;

		var divs = obj.getElementsByTagName("DIV");
		var y = divs.length;
		for(var x=obj.data.start; /*x<y*/ ;x++)
		{
			if(x == y) x=0;

			if(x == obj.data.start)
			{
				if(again == false)
				{
					again = true;
				}
				else 
				{
					clearInterval(interval);
					throw new Error("slidebar: Not enough foto's");
				}

				if( divs[x].data.width + pos == 0 )
				{
					again = false;
					divs[x].style.display = "none";
					divs[x].style.width = divs[x].data.width + "px";
					divs[x].style.backgroundPosition = "0px 0px";
					pos = 5;
					obj.data.pos = 5;
					++obj.data.start;
					if( obj.data.start == y ) obj.data.start = 0;
				}
				else
				{
					divs[x].style.backgroundPosition = pos+"px 0px";
					divs[x].style.left = "0px";
					divs[x].style.display = "block";
					divs[x].style.width = divs[x].data.width + pos + "px";
					pos = pos + parseInt(divs[x].data.width) + 5;
				}
				continue;
			}
			divs[x].style.left = pos+"px";
			divs[x].style.display = "block";

			pos = pos + parseInt(divs[x].data.width) + 5;
			if(pos > obj.data.width)
			{
				if( pos - 5 - obj.data.width > 0)
				divs[x].style.width = divs[x].data.width - pos +5 + obj.data.width + "px";
				break;
			}
		}
	}
}
window.onload = slidebar.init;
