// pre-load a selection of images
function preLoadImg() {
	var d=document;
	if(d.images){
		if(!d.preLoadedImgs)
			d.preLoadedImgs=new Array();
		var i,j=d.preLoadedImgs.length,a=preLoadImg.arguments;
		for(i=0; i<a.length; i++) {
			if (a[i].indexOf("#")!=0){
				d.preLoadedImgs[j]=new Image;
				d.preLoadedImgs[j++].src=a[i];
			}
		}
	}
}

// find an object within the page
function findObj(n, d) {
	var p,i,x;
	if (!d) d=document;
	if ((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document;
		n=n.substring(0,p);
	}
	if (!(x=d[n])&&d.all) x=d.all[n];
	for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for (i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
	if (!x && d.getElementById) x=d.getElementById(n);
	return x;
}

// swop an image (or more than one at the same time)
function swopImg() {
	var i,j=0,x,a=swopImg.arguments;
	document.swopImgs=new Array;
	for(i=0;i<(a.length-1);i+=2) {
		if ((x=findObj(a[i]))!=null){
			document.swopImgs[j++]=x;
			if(!x.oSrc) x.oSrc=x.src;
			x.src=a[i+1];
		}
	}
}

// restore a currently swopped image (and any others left 'un-swopped')
function restoreImg() {
	var i,x,a=document.swopImgs;
	for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++)
		x.src=x.oSrc;
}

// show a sub menu
function showSubNav(id) {
	if (document.navTimeout) clearTimeout(document.navTimeout);
	if (document.navShown!=id) {
		doHideSubNav();
		swopImg(id,'/assets/nav/'+id+'_1.gif');
		document.navShown = id;
		// return; // disable
		var a = findObj(id+'_sub');
		if (a!=null) a.style.display = "block";
	}
}

// call for a menu to be hidden
function hideSubNav() {
	document.navTimeout = setTimeout(doHideSubNav,100);
}

// actually do the hide
function doHideSubNav() {
	restoreImg();
	if(document.navShown) {
		var a = findObj(document.navShown+'_sub');
		if (a!=null) a.style.display = "none";
	}
	document.navTimeout = null;
	document.navShown = null;
}

function loadNavImgs() {
	preLoadImg('/assets/nav/visible_energy_1.gif', '/assets/nav/product_range_1.gif', '/assets/nav/about_geo_1.gif', '/assets/nav/get_involved_1.gif', '/assets/nav/resources_1.gif', '/assets/nav/contact_geo_1.gif');
}

// print the page
function printPage() {
	window.print();
}

// toggle the sitemap
function toggleSiteMap() {
	// load the object
	var siteMap = findObj('siteMapContent');
	// find out if is is hidden
	if (siteMap.style.display == 'block')
        siteMap.style.display = 'none';
	else
        siteMap.style.display = 'block';
}