/* scripting by Rens van Dongen | bartklerks@mosymuis.nl | copyright 2006 */

if ( window != top )
{
	top.location.href = location.href;
}

String.prototype.ucFirst = function ()
{
   return this.substr(0,1).toUpperCase() + this.substr(1,this.length);
}


window.onload = function ()
{
	var menuBlock = document.getElementById('menuBlock');
	for( i=0; i < menuBlock.getElementsByTagName('a').length; i++ )
	{
		menuBlock.getElementsByTagName('a')[i].onmouseover = menuLinkOver;
		menuBlock.getElementsByTagName('a')[i].onmouseout = menuLinkOut;
	}
	
	checkThumbs();
}

function checkThumbs()
{
	var thumbImages = document.getElementsByTagName('img');
	
	for( i=0; i < thumbImages.length; i++ )
	{
		if ( thumbImages[i].className == 'thumbNormal' )
		{
			thumbImages[i].onmouseover = thumbLinkOver;
			thumbImages[i].onmouseout = thumbLinkOut;
		}
	}
}

function menuLinkOver()
{
	if ( this.className == 'menuPassive' )

	{
		document.getElementById(this.name+'Icon').src = 'graphics/menu'+this.name.ucFirst()+'Aan.png';
	}
}

function menuLinkOut()
{
	if ( this.className == 'menuPassive' )
	{
		document.getElementById(this.name+'Icon').src = 'graphics/menu'+this.name.ucFirst()+'Uit.png';
	}
}

function thumbLinkOver()
{
	this.style.borderColor = '#F3A016';
}

function thumbLinkOut()
{
	this.style.borderColor = '#FFFFFF';
}

function laadPagina(obj)
{
	updateMenu(obj.name);
	
	document.getElementById('contentBlock').innerHTML = 'Laden...';
	document.getElementById('fotoBlock').innerHTML = 'Laden...';

	xmlhttpRequest(obj.href+'?nolayout=true', 'dumpPagina');
	xmlhttpRequest('fotos.php?dump='+obj.name, 'dumpFotos');
	
	window.scroll(0,0);
}

function dumpPagina(content)
{
	document.getElementById('contentBlock').innerHTML = unescape(content);
	
	checkThumbs();
}

function removeContents(obj)
{
	while ( obj.firstChild )
	{
		obj.removeChild(obj.firstChild);
	}
}

function dumpFotos(fotoData)
{
	eval(unescape(fotoData));
	
	removeContents(document.getElementById('fotoBlock'));
	
	for ( i = 0; i < fotoArray.length; i++ )
	{
		thumbParagraph = document.createElement('p');
		document.getElementById('fotoBlock').appendChild(thumbParagraph);
		
		thumbLink = document.createElement('a');
		thumbLink.href = 'fotos/'+fotoArray[i][0]+'.jpg';
		thumbLink.title = fotoArray[i][1];
		thumbLink.onclick = function() { return eval('openFoto(this);') };
		thumbLink.target = '_blank';
		thumbParagraph.appendChild(thumbLink);

		thumbImg = document.createElement('img');
		thumbImg.className = 'thumbNormal';
		thumbImg.src = 'thumbs/'+fotoArray[i][0]+'.jpg';
		thumbImg.alt = fotoArray[i][1];
		thumbImg.title = '';
		thumbImg.onmouseover = thumbLinkOver;
		thumbImg.onmouseout = thumbLinkOut;
		thumbLink.appendChild(thumbImg);
	}

}

function updateMenu(actief)
{
	var menuBlock = document.getElementById('menuBlock');
	
	for( i=0; i < menuBlock.getElementsByTagName('a').length; i++ )
	{
		var menuHuidig = menuBlock.getElementsByTagName('a')[i];
		
		if ( menuHuidig.name == actief )
		{
			document.getElementById(menuHuidig.name+'Icon').src = 'graphics/menu'+menuHuidig.name.ucFirst()+'Aan.png';
			menuHuidig.className = 'menuActive';
		}
		else
		{		
			document.getElementById(menuHuidig.name+'Icon').src = 'graphics/menu'+menuHuidig.name.ucFirst()+'Uit.png';
			menuHuidig.className = 'menuPassive';
		}
	}
}

function verplaatsFotoLayers()
{
	document.getElementById('transparantieContainer').style.top = document.all ? document.body.scrollTop+'px' : window.pageYOffset+'px';
	document.getElementById('overlayContainer').style.top = document.all ? document.body.scrollTop+'px' : window.pageYOffset+'px';
	
	verplaatsFotoTimer = window.setTimeout(verplaatsFotoLayers, 1);
}

function openFoto(obj)
{
	var transparantieContainer = document.createElement('div');
	transparantieContainer.id = 'transparantieContainer';
	document.body.appendChild(transparantieContainer);
	
	var overlayContainer = document.createElement('div');
	overlayContainer.id = 'overlayContainer';
	document.body.appendChild(overlayContainer);

	var fotoContainer = document.createElement('div');
	fotoContainer.id = 'fotoContainer';
	overlayContainer.appendChild(fotoContainer);

	var popupFoto = document.createElement('img');
	popupFoto.id = 'popupFoto';
	popupFoto.src = obj.href;
	popupFoto.alt = obj.title;
	popupFoto.title = '';
	fotoContainer.appendChild(popupFoto);
	
	var sluitLinkAnchor = document.createElement('a');
	sluitLinkAnchor.onclick = sluitFoto;
	fotoContainer.appendChild(sluitLinkAnchor);

	var sluitLinkPlaatje = document.createElement('img');
	sluitLinkPlaatje.src = 'graphics/sluitLink.gif';
	sluitLinkPlaatje.alt = 'Sluiten';
	sluitLinkPlaatje.title = '';
	sluitLinkPlaatje.style.width = '166px';
	sluitLinkPlaatje.style.height = '31px';
	sluitLinkAnchor.appendChild(sluitLinkPlaatje);

	popupTitelKop = document.createElement('h2');
	overlayContainer.appendChild(popupTitelKop);
	popupTitelTekst = document.createTextNode(obj.title);
	popupTitelKop.appendChild(popupTitelTekst);

	if ( document.all )
	{
		transparantieContainer.style.position = 'absolute';
		overlayContainer.style.position = 'absolute';
		verplaatsFotoLayers();
	}
	

	return false;
}

function sluitFoto()
{
	if ( document.all )
	{
		clearTimeout(verplaatsFotoTimer);
	}
	

	document.body.removeChild(document.body.lastChild);
	document.body.removeChild(document.body.lastChild);
}

function xmlhttpRequest(url, callFunction)
{
	if ( window.XMLHttpRequest )
	{
		var xmlhttp = new XMLHttpRequest();
		xmlhttp.async = true;
		xmlhttp.onreadystatechange = function() { xmlhttpChange(callFunction, xmlhttp) };
		xmlhttp.open("GET", url, true);
		xmlhttp.setRequestHeader( "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" );
		xmlhttp.send(null);
		
		return true;
	}
	else if ( window.ActiveXObject )
	{
		var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		if ( xmlhttp )
		{
			xmlhttp.onreadystatechange = function() { xmlhttpChange(callFunction, xmlhttp) };
			xmlhttp.open("GET", url, true);
			xmlhttp.setRequestHeader( "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" );
			xmlhttp.send();
			
			return true;
		}
		else
		{
			return false;
		}
	}
	else
	{
		return false;
	}
}

function xmlhttpChange(callFunction, xmlhttp)
{
	for ( i = 0; i < 10000; i++ )
	{
		if ( xmlhttp.readyState == 4 && xmlhttp.status == 200 )
		{
			eval(callFunction+"('"+escape(xmlhttp.responseText)+"');");
			break;
		}
	}
}

