// JavaScript Document
// rettet til til havnen
var Calendar = new function() 
{
	this.showImageWidth = 240;
	
	
	
	this.initcalendar = function()
	{
		var self = Calendar;
		
		var activitylist = document.getElementById("activitylist");
		if (activitylist)
		{
		
			var divs = activitylist.getElementsByTagName("div");
			var recordnumber = 1;
			for (var i = 0; i < divs.length; i++)
			{
				var thisdiv = divs[i];
				if (thisdiv.className == "entry") 
				{
					thisdiv.number = recordnumber;  // attached property
					attachEventListener(thisdiv, "mouseover", calendarshow);
					attachEventListener(thisdiv, "mouseout", calendarhide);
					recordnumber += 1;
				}
			}
		}
	}
	
	this.show = function(target)
	{
		var self = Calendar;
		
	
		var showroom = document.getElementById("lefttext"); // få fat i venstre spalte
		if (showroom)
		{
			
			while (showroom.firstChild)
			{
				showroom.removeChild(showroom.firstChild);
			}
			var recordnumber = target.number; // attached  
			var entryId = "hide" + recordnumber;
			
			
			
			var entry = document.getElementById(entryId);
			if (entry)
			{
				
				
				var fields = entry.getElementsByTagName("div");
				for (var i = 0; i < fields.length; i++)  // denne kan vi godt generalisere lidt mere
				{
					
					var field = fields[i];
					if (field.className == "itemPhoto")
					{
						
						if (field.innerHTML != '')
						{
							
							
							var showfield = document.createElement("img");
							
							showfield.src = field.innerHTML;
							showfield.width = self.showImageWidth;
							showfield.className = field.className;
							showroom.appendChild(showfield); 
						}
					}
					else
					{
						
						var showfield = document.createElement("div");
						showfield.innerHTML = field.innerHTML;
						showfield.className = field.className;
												
						showroom.appendChild(showfield); 
					}
					
				}
			}
		}
	}
	
	this.hide = function()
	{
		var self = Calendar;
		var showroom = document.getElementById("lefttext"); // få fat i venstre spalte
		if (showroom)
		{
			while (showroom.firstChild)
			{
				showroom.removeChild(showroom.firstChild);
			}
		}
	}
	this.showarrow = function(target)
	{
		var self = Calendar;
		var entrydivs = target.getElementsByTagName("div");
		for (var i = 0; i < entrydivs.length; i++)
		{
			var entrydiv = entrydivs[i];
			if (entrydiv.className == "arrowDiv")  /* burde være en udvidet test */
			{
				
				for (var ii = 0; ii < 4; ii++)
				{
					var arrow = document.createElement('div');
					arrow.className = "arrowOff";		/* burde være udvidet */
					entrydiv.appendChild(arrow);
				}
				target.stopmoving = "false";
				self.movearrow(target, entrydiv, 3);
			}
		}
		
	}
	this.removearrow = function(target)
	{
		var self = Calendar;
		var entrydivs = target.getElementsByTagName("div");
		for (var i = 0; i < entrydivs.length; i++)
		{
			var entrydiv = entrydivs[i];
			if (entrydiv.className == "arrowDiv")  /* burde være en udvidet test */
			{
				
				while (entrydiv.firstChild)
				{
					entrydiv.removeChild(entrydiv.firstChild);
				}
				
			}
		}
		
	}
	this.movearrow = function(target, arrowDiv, number)
	{
		var self = Calendar;
		if (target.stopmoving == "false")
		{
				
			var arrows = arrowDiv.getElementsByTagName('div');
							
			for (var i = 0; i < arrows.length; i++)
			{
				arrows[i].className = "arrowOff";
				
			}
			
			var arrows = arrowDiv.getElementsByTagName('div');
			arrows[number].className = 'arrowLeft';
			
			var speed = 100;
			number -= 1;
			if (number < 0)
			{
				number = 3;
				speed = 700;
			}
			
			setTimeout(function()
			{
				
				self.movearrow(target, arrowDiv, number);
			}, speed);
		}
	}
	
	
}
	
calendarshow = function(event)
{
	var target = typeof event.target != 'undefined' ? event.target : window.event.srcElement;
	while (target.className != "entry")
	{
		target = target.parentNode; // kravler op til img-elementet
	}
	Calendar.removearrow(target);  /* denne her var nøglen til det hele - fordi den kan fyre mouseover før mouseout på den forrige */
	Calendar.show(target);
	Calendar.showarrow(target);
}
	
calendarhide = function(event)
{
	var target = typeof event.target != 'undefined' ? event.target : window.event.srcElement;
	while (target.className != "entry")
	{
		target = target.parentNode; // kravler op til img-elementet
	}
	//Calendar.hide();
	target.stopmoving = "true";
	Calendar.removearrow(target);

}

addLoadListener(function()
{
  	Calendar.initcalendar();
});



