    /**
     * Takes a (x1,y1),(x2,y2),... string and converts it into an array of 
     * @param googlePointArrayString
     * @return
     */
    function createMarker(googlePointArrayString)
    {
    	var googlePointArray = [];
    	var longarray = googlePointArrayString.replace(/\(/g,"").replace(/\)/g,"").split(",");
    	for (var i = 0; i < longarray.length; i++)
    	{
    		if (i % 2 != 0)
    		{
    			var x = longarray[(i-1)];
    		    var y = longarray[i];
    			googlePointArray.push(new google.maps.LatLng(x, y));
    		}
    	}
    	return googlePointArray;
    }
    
    /**
     * Resize and re-centre the map to a size just big enough to contain all points.
     * Only if points is not empty.
     * @param aPoints - array of GLatLng objects
     */
    function reSizeAndReCentreMap(aPoints, aMap)
    {
        if (aPoints.length > 0)
    	{
    		var bounds = new google.maps.LatLngBounds();
    	
	    	for (var i = 0; i < aPoints.length; i++)
    		{
    			bounds.extend(aPoints[i]);
	    	}
    	
    		reFocusMap(bounds, aMap);
    	}
    }
    
    function reFocusMap(bounds, aMap)
    {
    	aMap.fitBounds(bounds);
		var newZoomLevel = aMap.getZoom();
		
		if (newZoomLevel > 17)
		{
			newZoomLevel = 17;
		}
		
		aMap.setCenter(bounds.getCenter(), newZoomLevel);
    }
    
    function showMeOnMap(position, aMap) 
    {
		var loc = new GLatLng(position.coords.latitude, position.coords.longitude);
		aMap.setCenter(loc, 18, G_SATELLITE_MAP);
    };

