var map=null;
var plotMarker=null;
var addressMarker=null;
var g_editButton = null;
var g_isLahoreViewSet = false;
var gA_Marker=null;
var gB_Marker=null;
var g_mapXyLL = null;

var fromDirAddress = null;
var toDirAddress = null;
/* 
//#####################
*/
function initgmap() {
    if (GBrowserIsCompatible()) 
	{
		var  mapTypes = [G_NORMAL_MAP,G_SATELLITE_MAP,G_HYBRID_MAP];
		for(var i = 0; i < mapTypes.length; i++){
			mapTypes[i].getMaximumResolution = function(latlng){ return 18;};
			mapTypes[i].getMinimumResolution = function(latlng){ return 1;};
		}
//
		map = new GMap2(document.getElementById("map_canvas"),{mapTypes:mapTypes});
//		customUI = map.getDefaultUI();
//		customUI.maptypes.terrain = false;
//		map.setUI(customUI);
		
		mapDir = document.getElementById("map_dir");
		gdir = new GDirections(map, mapDir);
		GEvent.addListener(gdir,'load',onDirectionLoad);
		GEvent.addListener(gdir,'addoverlay',onDirectionAdd);
		
		map.addControl(new GMapTypeControl());
		map.addControl(new GLargeMapControl3D());
		map.addControl(new GScaleControl());
		map.enableContinuousZoom();
		map.enableDoubleClickZoom();
		map.enableScrollWheelZoom();

	 }//endif	
  }  
/* 

//#####################

*/
function showLocation(location, zoom, marker)
{
	map.checkResize();
	if(!location)
	{
		map.setCenter(new GLatLng(31.4869428108,74.325256347), 11);
	}else
	{
		var loc_data = location.split('::');
		var latlng  = loc_data[0].split(',');
		var desc    = loc_data[1];
		var lat = parseFloat(latlng[0]);
		var lng = parseFloat(latlng[1]);
		showHouse(lat,lng,desc, zoom,marker);
	}
}
function showDir(fLat, fLng, fDesc, tLat, tLng, tDesc)
{
	var travelMode;
//		if($('#mode').val() == 'driving')
//			travelMode = G_TRAVEL_MODE_WALKING;
//		else

		travelMode = G_TRAVEL_MODE_DRIVING;
		map.clearOverlays();
		
		var fromP = new GLatLng(fLat,fLng);
		fromMark = new GMarker(fromP);
		
		var toP = new GLatLng(tLat,tLng);
		toMark = new GMarker(toP);
		
		fromDirAddress = fDesc;
		toDirAddress = tDesc;
		
		// map.addOverlay(fromMark);
		// map.addOverlay(toMark);
		gdir.load("from: " + fLat +','+ fLng + " to: " + tLat +','+tLng , {"travelMode":travelMode});
}
function onDirectionLoad()
{
	distance = gdir.getDistance();
	$('#distance_km').html(distance.html);
}
function onDirectionAdd()
{
	var fromImg = $("img[src='http://maps.gstatic.com/intl/en_ALL/mapfiles/icon_greenA.png']");
	if(fromImg.length)
	{
		fromImg.parent().next().html(fromDirAddress);
		$("img[src='http://maps.gstatic.com/intl/en_ALL/mapfiles/icon_greenB.png']").parent().next().html(toDirAddress);
	}
	else
		setTimeout('onDirectionAdd()', 1000);
}
function showDirections(from, to)
{
	if(!location)
	{
		map.setCenter(new GLatLng(31.4869428108,74.325256347), 11);
	}else
	{
		var fData = from.split('::');
		var fLatLng  = fData[0].split(',');
		var fDesc    = fData[1];
		var fLat = parseFloat(fLatLng[0]);
		var fLng = parseFloat(fLatLng[1]);
		
		var tData = to.split('::');
		var tLatLng  = tData[0].split(',');
		var tDesc    = tData[1];
		var tLat = parseFloat(tLatLng[0]);
		var tLng = parseFloat(tLatLng[1]);
		showDir(fLat, fLng, fDesc, tLat, tLng, tDesc);
		
	}
}

function showHouse(lat,lng,desc,zoom, marker)
{
	map.checkResize();
		if(desc == '')
			desc = document.getElementById('dv_houseAddress').innerHTML;
		var point = new GLatLng(parseFloat(lat),parseFloat(lng));
		if(plotMarker){map.removeOverlay(plotMarker);}
		plotMarker = new GMarker(point);

		GEvent.addListener(plotMarker,"click", function(point) {
			plotMarker.openInfoWindowHtml('<br><p><b>' + desc + '</b></p>');		
		});

		//map.openInfoWindowHtml(plotMarker,);		
		map.clearOverlays();
		if(marker)
			map.addOverlay(plotMarker);
		
		//plotMarker.openInfoWindowHtml('<br><p><b>' + desc + '</b></p>');		

		map.setCenter(point,zoom);
		
		//dropMarker(plotMarker, 200);
		
		$('#dv_found').show();
		$('#dv_notFound').hide();
}
function removeHouse()
{
	map.clearOverlays();
}