function createRequestObject(){
    if(navigator.appName=="Microsoft Internet Explorer"){
    	var ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
    	var ro = new XMLHttpRequest();
    }
    return ro;
}

function GetMyLocation() {
    if(GBrowserIsCompatible()){
    	var GSearch = new GlocalSearch();
		var GZone = ", UK";
    	var GResults = document.getElementById("results");
    	var GPostcode = document.getElementById('Postcode').value;
		var Practices = "<ol>";
        if(GPostcode!=""){
        	GSearch.setSearchCompleteCallback(null, 
			function() {
				if (GSearch.results[0]){		
					var GLatitude = GSearch.results[0].lat;
					var GLongitude = GSearch.results[0].lng;
					var http = createRequestObject();
					http.open('get','rpc.php?action=GetMyLocation&Latitude='+GLatitude+'&Longitude='+GLongitude);
    					function dataResponse() {
        					if(http.readyState == 4){
            				var JSONObject = eval('(' + http.responseText + ')');
    							for(x=0;x<JSONObject.practices.length;x++){
									var Id = JSONObject.practices[x].Id;
        							var Name = Base64.decode(JSONObject.practices[x].Name);
									var Address = Base64.decode(JSONObject.practices[x].Address);
        							var Distance = Base64.decode(JSONObject.practices[x].Distance);
        							var Latitude = Base64.decode(JSONObject.practices[x].Latitude);
        							var Longitude = Base64.decode(JSONObject.practices[x].Longitude);
        							Practices += '<li style="margin-bottom:10px;"><strong>'+Name+' <em>('+Distance+'km)</em></strong> <a href="javascript:GetDirections('+GLatitude+','+GLongitude+','+Latitude+','+Longitude+');">Get directions</a><br />'+Address+'</li>';
        						}
								GResults.innerHTML = "</ol>"+Practices;
        					}
    					}
    				http.onreadystatechange = dataResponse;
    				http.send(null);
				}
			});	
			GSearch.setAddressLookupMode(GlocalSearch.ADDRESS_LOOKUP_ENABLED);
    		GSearch.execute(GPostcode + GZone);
        }
    } else {
        alert("Sorry, your browser does not support Google Maps!");
    }
}

var map;
var gdir;
var geocoder = null;
var addressMarker;
	
function GetDirections(StartLatitude,StartLongitude,EndLatitude,EndLongitude) {
	document.getElementById('directions').innerHTML="";
    if (GBrowserIsCompatible()){
        map = new GMap2(document.getElementById("map"));
        gdir = new GDirections(map, document.getElementById("directions"));
		gdir.load("from: "+StartLatitude+", "+StartLongitude+" to: "+EndLatitude+", "+EndLongitude);
		
    } else {
        alert("your browser does not support Google Maps!");
    }
}








