/*
 *  Written by: Bill Dortch, hIdaho Design <bdortch@hidaho.com>
 *  The following functions are released to the public domain.
 */

	// create or update a cookie
function setCookie(name, value, expires, path, domain, secure)
{
	document.cookie =
		name + '=' + escape(value)
	 + ((expires) ? '; expires=' + expires.toGMTString() : '')
	 + ((path)	 ? '; path='	 + path						: '')
	 + ((domain)  ? '; domain='  + domain					 : '')
	 + ((secure)  ? '; secure'									: '');
}

	// return the value of the cookie specified by 'name'.
function getCookie(name)
{
	var arg  = name + '=';
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen)
	{
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg) return getCookieVal(j);
		i = document.cookie.indexOf(' ', i) + 1;
		if (i == 0) break; 
	}
	return null;
}

	// return the decoded value of a cookie
function getCookieVal(offset)
{
	var endstr = document.cookie.indexOf(';', offset);
	if (endstr == -1) endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function delCookie(name, value, path, domain)
{
	if (getCookie(name))
		document.cookie =
			name + '=' + escape(value)
		 + ((path)	? '; path='	+ path	: '')
		 + ((domain) ? '; domain=' + domain : '')
		 + '; expires=Thu, 01-Jan-70 00:00:01 GMT';
}

	// correct for Mac 2x bug
function fixCookie(date)
{
	var base = new Date(0);
	var skew = base.getTime();									 // dawn of (Unix) time - should be 0
	if (skew > 0) date.setTime(date.getTime() - skew);	 // except on the Mac - ahead of its time
}

function setLang(id)
{
	var langEn  = document.getElementById('en-3');
	var langEs  = document.getElementById('es-2');
	var langNl  = document.getElementById('nl-1');
	var current = document.getElementById(id);

// lang flags
	langEn.style.opacity =
		langEs.style.opacity =
		langNl.style.opacity = .3;
	current.style.opacity = 1;

	langEn.style.filter =
		langEs.style.filter =
		langNl.style.filter = 'alpha(opacity=30)';
	current.style.filter = 'alpha(opacity=100)';

	var elms = document.getElementsByTagName('*');
	for (var i = 0; i < elms.length; i++)
	{
	// lang elements in page
		if (elms[i].className != '' && (elms[i].className.indexOf('en-3') != -1 || elms[i].className.indexOf('es-2') != -1 || elms[i].className.indexOf('nl-1') != -1))
			elms[i].style.display = 'none';
		if (elms[i].className.indexOf(id) != -1)
			elms[i].style.display = 'inherit';
	}
}

function init()
{
	if (getCookie('lang'))
		setLang(getCookie('lang'));
	else
		setLang('en-3');

	imgs = document.images;
	for (i = 0;i < imgs.length; i++)
	{
		if (imgs[i].className == 'flag')
			imgs[i].onclick =
			function()
			{
				setLang(this.id);

			// non-volatile cookie persists ~10 years
				var expDate = new Date();
					expDate.setTime(expDate.getTime() + (1000 * 60 * 60 * 24 * 365 * 10));
			// correct for Mac date bug
				fixCookie(expDate);
				setCookie('lang', this.id, expDate);
			};

		if (imgs[i].className.indexOf('thumbnail') != -1)
		{
			imgs[i].onclick =
			function(event)
			{
				var currentImg = this.cloneNode(false);
					currentImg.className = '';
					if (getCookie('lang') == 'nl-1')
						currentImg.title = ' klik om te verbergen ';
					if (getCookie('lang') == 'es-2')
						currentImg.title = ' pulsar para esconder ';
					if (getCookie('lang') == 'en-3')
						currentImg.title = ' click to hide ';
					currentImg.style.width  = ((this.className.indexOf('-l') == -1) ? 600 : 800) + 'px';
					currentImg.style.height = ((this.className.indexOf('-l') == -1) ? 800 : 600) + 'px';

				var imageHolder = document.getElementById('imageHolder');
					if (imageHolder.firstChild && imageHolder.firstChild.src == currentImg.src)
					{
						imageHolder.style.visibility = 'hidden';
						imageHolder.removeChild(imageHolder.firstChild);
					}
					else
					{
						if (imageHolder.hasChildNodes())
							imageHolder.replaceChild(currentImg, imageHolder.firstChild);
						else
							imageHolder.appendChild(currentImg);
						imageHolder.style.left = document.getElementById('tekst').offsetLeft + 'px';
						imageHolder.style.top = '9em';
						imageHolder.style.visibility = 'visible';
					}

				if (window.event && this.currentStyle) // Safari is schizo, thinks it is xPloder if I don't test for 'currentStyle' and immediately hides the img layer
					window.event.cancelBubble = true;
				else
					event.stopPropagation();
			};
		}
	}
}

	window.onload = init;
	window.onclick =		 // xPloder don't know 'window.onclick'
	document.onclick =
	function()
	{
		var imageHolder = document.getElementById('imageHolder');
			if (imageHolder.firstChild)
			{
				imageHolder.style.visibility = 'hidden';
				imageHolder.removeChild(imageHolder.firstChild);
			}
	};

