
var localSearch = new GlocalSearch();

function usePointFromPostcode(postcode, callbackFunction) {
	
	localSearch.setSearchCompleteCallback(null, 
		function() {
			
			if (localSearch.results[0])
			{		
				var resultLat = localSearch.results[0].lat;
				var resultLng = localSearch.results[0].lng;
				var point = new GLatLng(resultLat,resultLng);
				callbackFunction(resultLat, resultLng);
			}else{
				//alert("Postcode not found!");
			}
		});	
		
	localSearch.execute(postcode + ", UK");
	
}


function SOPostCodeScript( postcode, returnFunction )
{
	postcode += "";
    usePointFromPostcode(postcode, returnFunction);
}


Number.prototype.toRad = function() {  // convert degrees to radians
  return this * Math.PI / 180;
}

function getDistanceFromLonLat(lat1,lon1,lat2,lon2){

	var R = 6371; // km
	var dLat = (lat2-lat1).toRad();
	var dLon = (lon2-lon1).toRad(); 
	var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
			Math.cos(lat1.toRad()) * Math.cos(lat2.toRad()) * 
			Math.sin(dLon/2) * Math.sin(dLon/2); 	
	var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
	
	var d = R * c;
	
	var miles = d * 0.621371192; // to get miles
	
	miles = Math.round(miles*100)/100;
	
	return miles
}
