/***********************************************************************

Author:     Sander Tiekstra
Company:    Tiekstramedia
URL:        http://www.tiekstramedia.nl
			http://www.4rn0.nl

***********************************************************************/


/* Initialize behaviour on page or DOM load
-------------------------------------------------------------------- */
if (document.addEventListener) { document.addEventListener('DOMContentLoaded',init,null); }
/*@cc_on @*/ /*@if (@_win32) document.write("<script defer src=../_js/init.js><"+"/script>"); /*@end @*/   
window.onload = init;

function init() {

	if (arguments.callee.done) {
		return;
	}
	
	arguments.callee.done = true;
	
	if (typeof(document.getElementById) == 'undefined') {
		document.getElementById = function(id) {
			return document.all[id];
		};
	}
	
	setBtns();
	setCollectionNav();
	setSlideshow();
}

function setBtns()
{
	var as = document.getElementsByTagName("a");
	for (i=0; i<as.length; i++)
	{
		as[i].onfocus = function() { this.blur(); }
		if (as[i].rel == "external") {
			as[i].target = "_blank";
		}
		
	}
	
	if (document.getElementById('submit')) {
		document.getElementById('submit').onfocus = function() { this.blur(); }
	}
}

function setCollectionNav() {
	if(!document.getElementById("aBadkamers") || !document.getElementById("aKeukens") || !document.getElementById("imgBadkamers") || !document.getElementById("imgKeukens")) return;
	document.getElementById("aBadkamers").onmouseover = function() {
		document.getElementById("imgBadkamers").className = "active";
	}
	document.getElementById("aBadkamers").onmouseout = function() {
		document.getElementById("imgBadkamers").className = "";
	}
	
	document.getElementById("aKeukens").onmouseover = function() {
		document.getElementById("imgKeukens").className = "active";
	}
	document.getElementById("aKeukens").onmouseout = function() {
		document.getElementById("imgKeukens").className = "";
	}
	
	document.getElementById("imgBadkamers").onmouseover = function() {
		document.getElementById("aBadkamers").parentNode.className = "active";
	}
	document.getElementById("imgBadkamers").onmouseout = function() {
		document.getElementById("aBadkamers").parentNode.className = "";
	}
	
	document.getElementById("imgKeukens").onmouseover = function() {
		document.getElementById("aKeukens").parentNode.className = "active";
	}
	document.getElementById("imgKeukens").onmouseout = function() {
		document.getElementById("aKeukens").parentNode.className = "";
	}
}

function setSlideshow() {
	if (!document.getElementById('slideShow')) return;
	var slideShow = document.getElementById('slideShow');
	var list = slideShow.getElementsByTagName('ul')[0];
	list.style.display = "none";
	document.getElementsByTagName('body')[0].appendChild(list);
	var imageCount = list.getElementsByTagName('li').length;
	var imageNr = 0;

	document.getElementById('slideShow').innerHTML = "<a id=\"prevImage\" title=\"Vorige\" href=\"#\">Vorige</a><a id=\"nextImage\" title=\"Volgende\" href=\"#\">Volgende</a><img src=\"../_images/blank.gif\" id=\"slideshowImage\" />";;
	var image = document.getElementById('slideshowImage');
	setImage();
	
	slideShow.getElementsByTagName('a')[0].onclick = function() { gotoPreviousImage(); return false; }
	slideShow.getElementsByTagName('a')[0].onfocus = function() { this.blur(); }
	slideShow.getElementsByTagName('a')[1].onclick = function() { gotoNextImage(); return false; }
	slideShow.getElementsByTagName('a')[1].onfocus = function() { this.blur(); }
	
	function gotoPreviousImage() {
		if (imageNr > 0) {
			imageNr--;
			setImage();
		}
	}
	
	function gotoNextImage() {
		if (imageNr < imageCount - 1) {
			imageNr++;
			setImage();
		}
	}
	
	function setImage() {
		$(image).fadeTo("slow", 0, function() {
			image.src = list.getElementsByTagName('li')[imageNr].firstChild.href;
			$(image).fadeTo("slow", .99,
				function setButtons() {
					var prev = document.getElementById('prevImage');
					var next = document.getElementById('nextImage');
					var image = document.getElementById('slideshowImage');
					prev.style.height = next.style.height = image.offsetHeight + "px";
					prev.style.width = next.style.width = next.style.left  = image.offsetWidth / 2 + "px";
					
					if (imageNr !== imageCount - 1) {
						next.style.display = "block";
					}
					if (imageNr !== 0) {
						prev.style.display = "block";
					}
				}
			);
		});
		var prev = document.getElementById('prevImage');
		var next = document.getElementById('nextImage');
		prev.style.display = next.style.display = "none";
		
		if (document.getElementById('slideShowTitleOn')) {
			document.getElementById('slideShowTitleOn').innerHTML = list.getElementsByTagName('li')[imageNr].firstChild.title;
		}
					
		if (document.getElementById('slideShowNr')) {
			document.getElementById('slideShowNr').innerHTML = (imageNr + 1) + "/" + imageCount;
		}

	}
}
