var original;

function getViewportSize () {
	var size = [0, 0];
	if (typeof window.innerWidth != 'undefined')
		size = [window.innerWidth, window.innerHeight];
	else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight))
		size = [document.documentElement.clientWidth, document.documentElement.clientHeight];
	else
		size = [document.getElementsByTagName('body')[0].clientWidth, document.getElementsByTagName('body')[0].clientHeight];
	
	return size;
}

function toggleBox (width, height) {
	if (document.getElementById('lightbox').style.display == 'block') {
		document.getElementById('overlay').style.display = 'none';
		document.getElementById('lightbox').style.display = 'none';
		document.getElementById('lightbox').innerHTML = original;
	}
	else if (document.getElementById('lightbox').style.display == 'none') {
		if (width == null)
			width = 600;
		if (height == null)
			height = 463;

		var viewport = getViewportSize ();

		if (typeof window.pageYOffset == 'number')
			var yoffset = window.pageYOffset;
		else if (document.body && document.body.scrollTop)
			var yoffset = document.body.scrollTop;
		else if (typeof document.documentElement.scrollTop != undefined)
			var yoffset = document.documentElement.scrollTop;

		document.getElementById('lightbox').style.left = Math.floor (((viewport[0]-width)/2)-7) + "px";
		document.getElementById('lightbox').style.top = Math.floor (((viewport[1]-height)/2)+yoffset) + "px";
		document.getElementById('lightbox').style.width = width + "px";
		document.getElementById('lightbox').style.height = height + "px";
		document.getElementById('lightbox').style.display = 'block';

		document.getElementById('overlay').style.width = viewport[0] + "px";
		document.getElementById('overlay').style.height = Math.floor (viewport[1]+yoffset) + "px";
		document.getElementById('overlay').style.display = 'block';
	}
}

function prepAjax () {
	var linkitems = document.getElementById("container").getElementsByTagName("a");
	var ajaxitems = [];
	for (var i = 0; i < linkitems.length; i++) {
		if (linkitems[i].getAttribute('rel') != undefined)
			ajaxitems[ajaxitems.length] = linkitems[i];
	}

	for (i = 0; i < ajaxitems.length; i++) {
		ajaxitems[i].onclick = function () {
			var filename = this.getAttribute ("href");
			var target = this.getAttribute ("rel");

			var fileHandle = false;
			if (window.XMLHttpRequest)
				fileHandle = new XMLHttpRequest();
			else if (window.ActiveXObject){
				try { fileHandle = new ActiveXObject("Msxml2.XMLHTTP"); }
				catch (e){
					try { fileHandle = new ActiveXObject("Microsoft.XMLHTTP"); }
					catch (e) {}
				}
			}
			else
				return false;
			
			original = document.getElementById(target).innerHTML;

			fileHandle.onreadystatechange = function () {
				if (fileHandle.readyState == 4 && (fileHandle.status == 200 || window.location.href.indexOf ("http") == -1)) {
					if (target == 'lightbox')
						document.getElementById(target).innerHTML = document.getElementById(target).innerHTML + fileHandle.responseText;
					else
						document.getElementById(target).innerHTML = fileHandle.responseText;
				}
			}

			fileHandle.open ('GET', filename, true);
			fileHandle.send (null);
			if (target == 'lightbox')
				toggleBox ();
			else
				document.getElementById(target).style.display = 'block';
			return false;
		}
	}
}

function toggle (target) {
	if (document.getElementById(target).style.display == 'block')
		document.getElementById(target).style.display = 'none';
	else
		document.getElementById(target).style.display = 'block';
	return false;
}