var album = function () 
{
	var album = null;
	var klassenaam = 'album';
	
	function vorigeFoto ( foto )
	{
		var vorige = foto.previousSibling;
		if ( !vorige ){ return foto.parentNode.lastChild;}
		while ( !vorige.getAttribute )
		{
			vorige = vorige.previousSibling;
			if ( null === vorige )
			{
				vorige = foto.parentNode.lastChild;
			}
		}
		return vorige;
	}
	function volgendeFoto ( foto )
	{
		var volgende = foto.nextSibling;
		if ( !volgende ){ return foto.parentNode.firstChild;}
		while ( !volgende.getAttribute )
		{
			volgende = volgende.nextSibling;
			if ( null === volgende )
			{
				volgende = foto.parentNode.firstChild;
			}
		}
		return volgende;
	}
	function fotoWeergeven ()
	{
		var foto = null;
		if ( '' !== window.location.hash )
		{
			var id = window.location.hash.substr( 1 );
			foto = document.getElementById( id );	
		}
		if (
			null === foto
			||
			(
				( foto.localName && 'li' !== foto.localName )
				||
				( foto.nodeName && 'LI' !== foto.nodeName )
			)
		)
		{
			foto = album.getElementsByTagName( 'li' )[0];
		}
		var actieve_foto = document.getElementsByClassName( 'actief' );
		if ( 0 < actieve_foto.length )
		{
			actieve_foto = actieve_foto[0];
			actieve_foto.className = actieve_foto.className.replace( 'actief' , '' )
		}
		foto.className += ' actief';
		toevoegenNavigatie( foto );
	}
	function toevoegenNavigatie ( foto )
	{
		var nav = foto.getElementsByClassName( 'controle_elementen' , foto );
		if ( 0 < nav.length )
		{
			return;
		}
		var navigatie_elementen = document.createElement( 'ul' );
		
		var vorige 				= document.createElement( 'li' );
		var volgende 			= document.createElement( 'li' );
		
		var vorige_link 		= document.createElement( 'a' );
		var volgende_link		= document.createElement( 'a' );
		
		var vorige_tekst 		= document.createTextNode ( 'Previous' );
		var volgende_tekst 		= document.createTextNode ( 'Next' );
		
		var vorige_foto			= vorigeFoto( foto );
		var volgende_foto		= volgendeFoto( foto );
		
		var vorige_id			= vorige_foto[ 'id' ];
		var volgende_id			= volgende_foto[ 'id' ];
		
		vorige_link.appendChild( vorige_tekst );
		vorige_link.setAttribute ( 'href' , '#' + vorige_id );
		volgende_link.appendChild( volgende_tekst );
		volgende_link.setAttribute ( 'href' , '#' + volgende_id );
		
		vorige.appendChild( vorige_link );
		volgende.appendChild( volgende_link );
		
		navigatie_elementen.appendChild( vorige );
		navigatie_elementen.appendChild( volgende );
		navigatie_elementen.setAttribute( 'class' , 'controle_elementen' );
		
		foto.insertBefore( navigatie_elementen , foto.childNodes[0] );
	}

	function start ()
	{
		// ophalen en opslaan van stuff
		var albums = document.getElementsByClassName( klassenaam );
		var index = null;
		for ( index in albums )
		{
			album = albums[ index ];
			if ( !album.nodeType || ( /*Node.ELEMENT_NODE*/1 != album.nodeType ) )
				continue;

			album.className += ' interactief';
			fotoWeergeven();
		}
	} 
	return {
		start : start ,
		foto : fotoWeergeven
	}
}();

if ( document && document.addEventListener )
	document.addEventListener( 'DOMContentLoaded' , init , false );
	
if ( window && window.addEventListener )
	window.addEventListener( 'hashchange' , album.foto , false );
else if ( window && window.attachEvent )
{
	window.attachEvent( 'onhashchange' , album.foto );
}
