function MM_findObj(n, d) { //v4.01
  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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

var map;
var zoomlevel;

function usePointFromPostcode(postcode, callbackFunction) {
	callBack = function() {
		if (localSearch.results[0]) {		
			var resultLat = localSearch.results[0].lat;
			var resultLng = localSearch.results[0].lng;
			var point = new GLatLng(resultLat,resultLng);
			callbackFunction(point);
		} else{
			// Postcode not found!
		}
	}
	localSearch.setSearchCompleteCallback(null, callBack);
	localSearch.execute(postcode)
}

function placeMarkerAtPoint(point) {	
	var addrpnt = new GMarker(point, smlicon);
	map.addOverlay(addrpnt);
	map.setCenter(point, zoomlevel);
	MM_showHideLayers('map','','show');
}

function mapLoad(postcode, shadow, image, zoom) {
	map = new GMap2(document.getElementById("map"));
	localSearch = new GlocalSearch();
	var start = new GLatLng(52.816900, -2.086960);
 	map.setCenter(start, 3);
	zoomlevel = zoom;
	
	//
	map.addControl(new GSmallMapControl());
 	//map.addControl(new GMapTypeControl());
 	//map.addControl(new GScaleControl()) ;
 	//map.addControl(new GOverviewMapControl()) ;
	//
 	smlicon = new GIcon();
	smlicon.image = image;
	smlicon.shadow = shadow;
	smlicon.iconSize = new GSize(37, 29);
	smlicon.shadowSize = new GSize(37, 29);
	smlicon.iconAnchor = new GPoint(15, 29);
	smlicon.infoWindowAnchor = new GPoint(15, 29);
	//
	//alert("hello");
	
	// 52.759613,-1.709586
	
	
	
	if(postcode.length < 10) {
		usePointFromPostcode(postcode, placeMarkerAtPoint);
	} else {
		//alert(postcode);
		
		var thisPostcode = postcode.split(",");
		//alert();
		//alert();
		
		
		placeMarkerAtPoint(new GLatLng(thisPostcode[0],thisPostcode[1]));
	}
}

window.onunload = GUnload;
