	function pause(numberMillis) {
		var now = new Date();
		var exitTime = now.getTime() + numberMillis;
		while (true) {
			now = new Date();
			if (now.getTime() > exitTime)
				return;
		}
	}
	
	function showOverlay(elem){
		var objBody = document.getElementsByTagName("body").item(0);
		// create overlay div and hardcode some functional styles but only if the overlay doesnt already exist!
		if (document.getElementById('overlayL')){
			var objOverlay = document.getElementById('overlayL')
			var tmp = objOverlay.style.display
		}
		else{
			// overlay object does not exist	
			var objOverlay = document.createElement("div");
			objOverlay.setAttribute('id','overlayL');
			objOverlay.onclick = function () {hideOverlay(); return false;}
			objOverlay.style.display = 'none';
			objOverlay.style.position = 'absolute';
			objOverlay.style.top = '0';
			objOverlay.style.left = '0';
			objOverlay.style.zIndex = '90';
			objOverlay.style.width = '100%';
			objBody.insertBefore(objOverlay, objBody.firstChild);		
		}
		var arrayPageSize = getPageSize();
		var arrayPageScroll = getPageScroll();
		// set height of Overlay to take up whole page and show
		objOverlay.style.height = (arrayPageSize[1] + 'px');
		objOverlay.style.display = 'block';
		// we need to pause a little for internet explorer's rubbish rendering to catch up :)
		if (document.all){
			pause(250);
		} 
		arrayPageSize = getPageSize();
		objOverlay.style.height = (arrayPageSize[1] + 'px');
		if (elem!=''){
			document.body.appendChild(elem);
			//objOverlay.appendChild(elem);
		}
	}
	
	function hideOverlay(){
		var objOverlay = document.getElementById('overlayL')
		objOverlay.style.display='none'	
		// remove map if it exists
		if (document.getElementById('googlemap')){
				var elem = document.getElementById('googlemap')
				elem.parentNode.removeChild(elem)
		}
	}
	
	function showGoogle(elem, lat, lon, name){
		var arrayPageSize = getPageSize();
		var arrayPageScroll = getPageScroll();
		
		var boxTop = arrayPageScroll[1] + ((arrayPageSize[3] - 35 - 410) / 2);
		var boxLeft = ((arrayPageSize[0] - 20 - 600) / 2);
	
		var aClose = document.createElement('a')
		var txtClose = document.createTextNode('X')
		aClose.appendChild(txtClose)
		if (document.getElementById('googlemap')){
			var elem = document.getElementById('googlemap')
			elem.parentNode.removeChild(elem)
		}
		var iframe = document.createElement('iframe')
		iframe.style.top = (boxTop < 0) ? "0px" : boxTop + "px";
		iframe.style.left = (boxLeft < 0) ? "0px" : boxLeft + "px";
		iframe.className = 'googlepopup'
		iframe.id = 'googlemap'
		iframe.style.position = 'absolute'
		iframe.style.overflow = 'hidden'
		iframe.style.width = "600px"
		iframe.style.height = "416px"
		iframe.style.border = "3px solid #ccc"
		iframe.frameborder = "0"
		iframe.scrolling = "no"
		iframe.style.zIndex=9999
		//iframe.src = 'maps.htm'
		showOverlay(iframe)
		iframe.src = 'http://www.learningpool.org/learning/maps.asp?lat=' + lat + '&lon=' + lon + '&name=' + name
		//elem.appendChild(aClose)
		//elem.appendChild(iframe)
	}