/* unobtrusive javascript-fotoalbum */
/* ©2007 arthur van zuylen, www.2parts.nl */

addEvent(window,'load',getFotoos);

/* initialiseer album */
function getFotoos() {
	// check of javascript voldoende wordt ondersteund door de browser en of de fotonavigatie en de fotocontainer bestaan op de pagina
	if (	
			!document.getElementById ||
			!document.getElementById('archiefnavigatie') ||
			!document.getElementById('cover') ||
			!document.getElementById('fotocontroller') ||
			!document.getElementById('fotolink') ||
			!document.getElementById('fotobeschrijving') ||
			!document.getElementById('fotodata')
		) {
		
		return;
	}
	
	// haal gegevens op uit de DOM
	var plaatjeslink = document.getElementById('archiefnavigatie').getElementsByTagName('a');
	var hoofdfoto = document.getElementById('cover');
	var fotocontroller = document.getElementById('fotocontroller');
	var link = fotocontroller.getElementsByTagName('a');
	var fotobeschrijving = document.getElementById('fotobeschrijving');
	var fotodata = document.getElementById('fotodata').getElementsByTagName('a');
	
	// defineer variabelen
	var teller = link[1].getAttribute('rel');	
	var beschrijving = new Array();
	var nummers = new Array();
	
	// zet plaatjesgegevens in arrays [komen uit "id"-, "name"- en "rel"-attribuut!]
	var aantal = fotodata.length;
	for(var i=1;i<=aantal;i++) {
		beschrijving[i] = '<h3>' + fotodata[i-1].getAttribute('name').split('|')[0] + '</h3>' + fotodata[i-1].getAttribute('name').split('|')[1] + '<br>';
		nummers[i] = fotodata[i-1].getAttribute('rel');
	}
	
	// haal indexen op voor terug/vooruit [komen uit "rel"-attribuut!]
	var terug = link[0].getAttribute('rel');
	var vooruit = link[2].getAttribute('rel');
	
	// maak mouseover die de functie showFoto(naam) aanroept 
	link[0].onclick = function() {
		
		teller--;
		terug--;
		vooruit = terug + 2;
		
		if(terug < 1) {
			terug = aantal;
		}
		
		if(vooruit > aantal) {
			vooruit = 1;
		}
		
		if(teller < 1) {
			teller = aantal;
		}
		
		// bepaal op basis van de href welke foto getoond moet worden
		var nummer = this.href.split('nummer=')[1];
		
		// toon de bijbehorende foto
		showFoto(nummer);
		updateFotoLink(teller);
		updateLinks();
		updateInfo(teller);
		
		return false;
	}
	
	
	// maak mouseover die de functie showFoto(naam) aanroept 
	link[2].onclick = function() {
		
		teller++;
		vooruit++;
		terug = vooruit-2;
		
		if(terug < 1) {
			terug = aantal;
		}
		
		if(vooruit > aantal) {
			vooruit = 1;
		}
		
		if(teller > aantal) {
			teller = 1;
		}
		
		// bepaal op basis van de href welke foto getoond moet worden
		var nummer = this.href.split('nummer=')[1];
		
		// toon de bijbehorende foto
		showFoto(nummer);
		updateFotoLink(teller);
		updateLinks();
		updateInfo(teller);
				
		return false;
	}
	
	// toon foto
	function showFoto(nr) {
		hoofdfoto.src = 'covers/TS_' + nr + '.gif';	
		hoofdfoto.alt = 'TS_' + nr;
	}
	
	// update controllerlinks
	function updateLinks() {
		link[0].href = 'index.php?nummer=' + nummers[terug];
		link[2].href = 'index.php?nummer=' + nummers[vooruit];
	}
	
	// update foto- en tekstlink
	function updateFotoLink(nr) {
		plaatjeslink[0].href = 'index.php?nummer=' + nummers[teller];
		link[1].href = 'index.php?nummer=' + nummers[teller];
		link[1].innerHTML = '#' + nummers[nr];
	}
	
	// update beschrijving
	function updateInfo(nr) {
		var credit = beschrijving[nr];
		fotobeschrijving.innerHTML = credit;
	}
}