var map;
var mylocation = "start";
//google.load("maps", "2.x");
//icon.image = "http://propertyearth.propertylogic.net/images/layout/propertyearth/magnifying_glass.png";

var icon;/*= new GIcon();
icon.iconSize = new GSize(20, 34);
icon.shadowSize = new GSize(36, 34);
icon.iconAnchor = new GPoint(5, 34);
icon.infoWindowAnchor = new GPoint(5, 2);
icon.infoShadowAnchor = new GPoint(14, 25);
icon = (G_DEFAULT_ICON, "marker1.png");
var markers = [];*/

function initialize(lat, long, zoom, pin) 
{
	if (GBrowserIsCompatible()) 
	{
		map = new GMap2(document.getElementById("map_canvas"));
		map.setCenter(new GLatLng(lat, long), zoom);
		map.setUIToDefault();
		icon = new GIcon();
		if(pin != false)
		{
			icon.image = pin;
			icon.iconSize = new GSize(20, 34);
			icon.shadowSize = new GSize(36, 34);
			icon.iconAnchor = new GPoint(5, 34);
			icon.infoWindowAnchor = new GPoint(5, 2);
			icon.infoShadowAnchor = new GPoint(14, 25);
		}
		else
		{
			icon = (G_DEFAULT_ICON, "marker1.png");
		}
	}
}

function initialize_with_mapviews(lat, long, zoom, pin, views)
{
        if (GBrowserIsCompatible())
        {
               
			   map = new GMap2(document.getElementById("map_canvas"), views);
                map.setCenter(new GLatLng(lat, long), zoom);
                map.setUIToDefault();
				icon = new GIcon();
                if(pin != false)
                {
                        icon.image = pin;
                        icon.iconSize = new GSize(20, 34);
                        icon.shadowSize = new GSize(36, 34);
                        icon.iconAnchor = new GPoint(5, 34);
                        icon.infoWindowAnchor = new GPoint(5, 2);
                        icon.infoShadowAnchor = new GPoint(14, 25);
                }
                else
                {
                        icon = (G_DEFAULT_ICON, "marker1.png");
                }
        }
}


//function addMarker(propertyid,lat, long, image, address, price, bedrooms, itemid)
function addMarker(lat, long, html)
{
        //icon.shadow = "fingershadow.png";
        //icon.transparent = "fingertran.png";
        //icon.printImage = "fingerie.gif";
        //icon.mozPrintImage = "fingerff.gif";

	var point = new GLatLng(lat, long);
	map.addOverlay(new GMarker(point, icon));

	if(html != '')
	{
		var marker = createMarker(point,html,icon);	
		map.addOverlay(marker);
	}
}

function addClusterMarker(lat, long, html)
{
	var point = new GLatLng(lat, long);
	//var marker = new GMarker(point, icon);
	var marker = createMarker(point,html,icon);	
	markers.push(marker);
	

	//var marker = createMarker(point,html,icon);	
	//map.addOverlay(marker);

}

function buildClusters()
{
	var markerCluster = new MarkerClusterer(map, markers);
}

function createMarker(point,html,icon) 
{
	//var marker = new GMarker(point);
	var marker = new GMarker(point,icon);
	GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(html);});
	
	return marker;
}

function addMarkerDirections(lat, long, html, postcode)
{
        var point = new GLatLng(lat, long);
        map.addOverlay(new GMarker(point));

	var gdir=new GDirections(map, document.getElementById("directions"));

	//var saddr = google.loader.ClientLocation.latitude + "," + google.loader.ClientLocation.longitude;
	var saddr = postcode;
        var daddr = point.lat() + "," + point.lng();
        
	gdir.load("from: "+saddr+" to: "+daddr);
	
	map.addOverlay(marker);
}

function createMarkerFromPostcode(postcode, countryCode) 
{
	var localSearch = new GlocalSearch();
  
    	localSearch.setSearchCompleteCallback(null, 
		function() 
		{ 
			if (localSearch.results[0]) 
			{    
				var resultLat = localSearch.results[0].lat;
       				var resultLng = localSearch.results[0].lng;
        			addMarker(resultLat, resultLng, '');
				centerMap(resultLat, resultLng, 15);
			}
			else
			{
				alert("Postcode not found!");
			}
		});  
		
    
    localSearch.execute(postcode + ", " + countryCode);
}

function centerMap(lat, long, zoom)
{
	map.setCenter(new GLatLng(lat, long), zoom);
}



