window.onload = function () {
	postProcessHTML();
	try{
	      if(loadGMap) load();;
	}catch(e){}
}

window.onunload = function () {
	GUnload();
}

/*Google maps loader*/
function load() {
  if (GBrowserIsCompatible()) {
	lat = 50.930846;
	long = -1.432772;
	
	var map = new GMap2(document.getElementById("map"));
	map.setCenter(new GLatLng(lat, long), 15);
	
	map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());
	
	map.enableScrollWheelZoom();
	
	var point = new GLatLng(lat, long);
	var marker = new GMarker(point);
	
    map.addOverlay(marker);
	
	//marker.openInfoWindowHtml("<p>Wessex Cardiology</p>");
  }
}

/****************************************************************
 * Postprocess html to:
 * 1. Generate compact form labels
  * --------------------------------------------
 * n.b. Any operation requiring iteration over the divs in the document should be
 * added as a new case in this function such that the browser only has to loop
 * once through the divs collection
 ***************************************************************/
function postProcessHTML() {
	var divs = document.getElementsByTagName('div');

	for (var i=0;i<divs.length;i++) {
		switch(divs[i].className) {
			case 'compactlabel':
				if(isEmpty(divs[i].getElementsByTagName('input')[0].value)){
					divs[i].getElementsByTagName('label')[0].className="";
				}
			
				divs[i].getElementsByTagName('input')[0].onfocus=toggleLabel('hide',divs[i].getElementsByTagName('label')[0],divs[i].getElementsByTagName('input')[0]);
				divs[i].getElementsByTagName('label')[0].onclick=toggleLabel('hide',divs[i].getElementsByTagName('label')[0],divs[i].getElementsByTagName('input')[0]);
				divs[i].getElementsByTagName('input')[0].onblur=toggleLabel('show',divs[i].getElementsByTagName('label')[0],divs[i].getElementsByTagName('input')[0]);
			break;
		}
	}
}


function toggleLabel(state,labelElement,inputElement) {
	if(state=='show') {
		var returnFunction = function () {
			if(isEmpty(inputElement.value)){
				labelElement.className="";
			}
		}
	} else {
		var returnFunction = function () {labelElement.className="hide";}
	}
  return returnFunction;
}

function isEmpty(inputStr) {
	return (null == inputStr || "" == inputStr);
}
