// initialise main menu
var g_arrMenu = new Array('latest', 'writing', 'credits');

// image cache controls
var g_objImageCache = new Object();
var g_iImageIndex = 0;

// cache images
function cacheImage(sFilename) {
	g_objImageCache[g_iImageIndex] = new Image();
	g_objImageCache[g_iImageIndex].src = sFilename;
	g_iImageIndex++;
}

function DoMenu() {
	for (iIndex = 0; iIndex < g_arrMenu.length; iIndex++) {
		if (g_arrMenu[iIndex] == g_CurrentVisMenu) {
			ExpandMenu();	
		} else {
			CollapseMenu(g_arrMenu[iIndex]);
		}
	}
	return false;
}

function ExpandMenu() {
	for (iExp = 0; iExp < g_arrSubMenu.length; iExp++) {
		if ((g_arrSubMenu[iExp][0] == g_CurrentVisMenu) && (g_arrSubMenu[iExp][2] != true)) {
			var objMenu = new getDOMObject(g_arrSubMenu[iExp][1]);
			objMenu.style.display = 'block';
			g_arrSubMenu[iExp][2] = true;
			break;
		}
	}
}

function CollapseMenu(sMenu) {
	for (iCol = (g_arrSubMenu.length - 1); iCol > -1; iCol--) {
		if ((g_arrSubMenu[iCol][0] == sMenu) && (g_arrSubMenu[iCol][2] == true)) {
			var objMenu = new getDOMObject(g_arrSubMenu[iCol][1]);
			objMenu.style.display = 'none';
			g_arrSubMenu[iCol][2] = false;
			break;
		}
	}
}

function getDOMObject(strID) {
	if (document.getElementById) {
		this.obj = document.getElementById(strID);
		this.style = document.getElementById(strID).style;
	} else if (document.all) {
		this.obj = document.all[strID];
		this.style = document.all[strID].style;
	} else if (document.layers) {
		this.obj = getDOMObjectNN4(document,strID);
		this.style = this.obj;
	}
}

function getDOMObjectNN4(object, strID) {
	var x = object.layers;
	var foundLayer;
	for (var i=0;i<x.length;i++) {
		if (x[i].id == strID)
			foundLayer = x[i];
		else if (x[i].layers.length)
			var tmp = getDOMObjectNN4(x[i], strID);
		if (tmp)
			foundLayer = tmp;
	}
	return foundLayer;
}

function IsValidEmail(sEmail) {
   var objRegExp = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
   return objRegExp.test(sEmail);
}

function validateContact(objForm) {
	bValid = true;
	
	// name
	if (objForm.contactname.value.length < 1) {
		alert('Please enter your name');
		bValid = false;	
	}
	
	// email
	if ((IsValidEmail(objForm.contactemail.value) != true) && (bValid == true)) {
		alert('The email address you entered is invalid');
		bValid = false;	
	}					
	
	// message
	if ((objForm.contactmessage.value.length < 1) && (bValid == true)) {
		alert('Please enter a message');
		bValid = false;	
	}			
	
	// return
	return bValid;	
}