var map = null;
var geocoder = null;
var addressFound = false;
var addressArray = null;
var addressInfo = null;

var G_SMALL_ICON = new GIcon();
G_SMALL_ICON.image = "/images/map/mm_20_red.png";
//G_SMALL_ICON.shadow = "";
G_SMALL_ICON.shadow = "/images/map/mm_20_shadow.png";
G_SMALL_ICON.iconSize = new GSize(12, 20);
G_SMALL_ICON.shadowSize = new GSize(22, 20);
G_SMALL_ICON.iconAnchor = new GPoint(6, 20);
G_SMALL_ICON.infoWindowAnchor = new GPoint(5, 1);

var G_ARROW_ICON = new GIcon();
G_ARROW_ICON.image = "/images/map/arrow.png";
//G_ARROW_ICON.shadow = "";
G_ARROW_ICON.shadow = "/images/map/arrowshadow.png";
G_ARROW_ICON.iconSize = new GSize(39, 34);
G_ARROW_ICON.shadowSize = new GSize(39, 34);
G_ARROW_ICON.iconAnchor = new GPoint(19, 34);
G_ARROW_ICON.infoWindowAnchor = new GPoint(19, 34);

var G_MERCHANT_ICON = new GIcon( G_DEFAULT_ICON, '/images/map/mm_merchant6.png' );
G_MERCHANT_ICON.iconSize = new GSize(18, 25);
G_MERCHANT_ICON.shadowSize = new GSize(36, 22);
G_MERCHANT_ICON.iconAnchor = new GPoint(0, 22);
G_MERCHANT_ICON.infoWindowAnchor = new GPoint(11, 1); 

var G_MULTI_ICON = new GIcon( G_DEFAULT_ICON, '/images/map/markerMulti.png' );
G_MULTI_ICON.iconSize = new GSize(18, 25);
G_MULTI_ICON.shadowSize = new GSize(36, 22);
G_MULTI_ICON.iconAnchor = new GPoint(0, 22);
G_MULTI_ICON.infoWindowAnchor = new GPoint(11, 1); 

var G_PLUS_ICON = new GIcon();
G_PLUS_ICON.image = "/images/map/markerPlus3.png";
G_PLUS_ICON.iconSize = new GSize(24, 24);
G_PLUS_ICON.iconAnchor = new GPoint(12, 12);
G_PLUS_ICON.infoWindowAnchor = new GPoint(12, 12);

var G_ICONS = {
	'DEFAULT': G_DEFAULT_ICON,
	'ARROW': G_ARROW_ICON,
	'A': new GIcon( G_DEFAULT_ICON, '/images/map/markerA.png' ),
	'H': new GIcon( G_DEFAULT_ICON, '/images/map/markerH.png' ),
	'M': new GIcon( G_DEFAULT_ICON, '/images/map/markerM.png' ),
	'T': new GIcon( G_DEFAULT_ICON, '/images/map/markerT.png' ),
	'U': new GIcon( G_DEFAULT_ICON, '/images/map/markerU.png' ),
	'P': new GIcon( G_DEFAULT_ICON, '/images/map/markerP.png' ),
	'PLUS': G_PLUS_ICON,
	'RED': G_SMALL_ICON,
	'PURPLE': new GIcon( G_SMALL_ICON, '/images/map/mm_20_purple.png' ),
	'BLACK': new GIcon( G_SMALL_ICON, '/images/map/mm_20_black.png' ),
	'WHITE': new GIcon( G_SMALL_ICON, '/images/map/mm_20_white.png' ),
	'GRAY': new GIcon( G_SMALL_ICON, '/images/map/mm_20_gray.png' ),
	'GREEN': new GIcon( G_SMALL_ICON, '/images/map/mm_20_green.png' ),
	'BLUE': new GIcon( G_SMALL_ICON, '/images/map/mm_20_blue.png' ),
	'ORANGE': new GIcon( G_SMALL_ICON, '/images/map/mm_20_orange.png' ),
	'YELLOW': new GIcon( G_SMALL_ICON, '/images/map/mm_20_yellow.png' ),
	'BROWN': new GIcon( G_SMALL_ICON, '/images/map/mm_20_brown.png' ),
	'MULTI': G_MULTI_ICON,
	'MERCHANT': G_MERCHANT_ICON
};

function loadTargetMap( targetName, uniLat, uniLng ) {
	if( GBrowserIsCompatible() ) {
		map = new GMap2( document.getElementById( "map" ) );
		map.enableDoubleClickZoom( true );
		map.addControl( new GSmallMapControl() );
		map.setCenter( new GLatLng( uniLat, uniLng ), 12 );
		map.enableScrollWheelZoom();
		map.enableContinuousZoom();
		
		var marker = new PdMarker( new GLatLng( uniLat, uniLng ), G_ICONS[ 'U' ], targetName );
		map.addOverlay( marker );
		marker.setTooltip( '<b>' + targetName + '</b>' );
	} else {
		alert( 'Sorry the map will not work.\nYour browser does not appear to be compatible with Google Maps.' );
	}
}

function loadPropertyMap2( targetHtml, propLat, propLng, uniName, uniLat, uniLng ) {
	if( GBrowserIsCompatible() ) {
		map = new GMap2( document.getElementById( "map" ) );
		map.enableDoubleClickZoom( true );
		map.addControl( new GSmallMapControl() );
		map.setCenter( new GLatLng( propLat, propLng ), 12 );
		map.enableScrollWheelZoom();
		map.enableContinuousZoom();
		
		var marker = new PdMarker( new GLatLng( propLat, propLng ), G_ICONS[ 'P' ] );
		map.addOverlay( marker );
		if( targetHtml ) {
			marker.openInfoWindowHtml( targetHtml );
		}
		// GEvent.addListener( marker, "click", function() { window.location.href = propLink; } );
		
		if( uniName != '' && uniLat != 0 & uniLng != 0 ) {
			var marker = new PdMarker( new GLatLng( uniLat, uniLng ), G_ICONS[ 'U' ], uniName );
			map.addOverlay( marker );
			marker.setTooltip( '<b>' + uniName + '</b>' );
		}
		
	} else {
		alert( 'Sorry the map will not work.\nYour browser does not appear to be compatible with Google Maps.' );
	}
}

function addMarker( latitude, longitude, icon, description, url ) {
	var m = new PdMarker( new GLatLng( latitude, longitude ), G_ICONS[ icon ] );
	GEvent.addListener(m, "mouseover", function() {
		m.setImage("/images/map/mm_20_yellow.png"); // change graphic
		m.topMarkerZIndex(); // bring marker to top
	});
	GEvent.addListener(m, "mouseout", function() {
		m.restoreImage();
		m.restoreMarkerZIndex();
	});
	
	map.addOverlay( m );
	// tool tip info window
	m.setTooltip( description );
	m.setDetailWinHTML( description );
	m.setShowDetailOnClick( true );
	// click goes to listing
	//GEvent.addListener( m, "click",  function() { window.location.href = url; } );
	GEvent.addListener( m, "click",  function() { window.open (url); } );
}


function addMultiMarker( latitude, longitude, description ) {
	var m = new PdMarker( new GLatLng( latitude, longitude ), G_MULTI_ICON );
	GEvent.addListener(m, "mouseover", function() {
		m.setImage("/images/map/markerMulti2.png"); // change graphic
		m.topMarkerZIndex(); // bring marker to top
	});
	GEvent.addListener(m, "mouseout", function() {
		m.restoreImage();
		m.restoreMarkerZIndex();
	});
	
	map.addOverlay( m );
	// tool tip info window
	m.setTooltip( description );
	m.setDetailWinHTML( description );
	m.setShowDetailOnClick( true );
}

