//<![CDATA[

function draw_map( location_id, data )
{
	if( GBrowserIsCompatible() )
	{
		data.map = new GMap2( document.getElementById( "map_" + location_id ) );
		data.map.addControl( new GLargeMapControl() );
		data.map.addControl( new GMapTypeControl() );
		data.map.enableDoubleClickZoom();
		data.map.setCenter( new GLatLng( 38, -98 ), 3 );
		data.kml = new GGeoXml( "http://maps.wbu.com/kml/" + location_id + ".kml?rand=" + ( new Date() ).valueOf(), function()
		{
			add_store_overlay( data );
		});
	}
}

function add_store_overlay( data )
{
	if( data.kml.loadedCorrectly() )
	{
		data.kml.gotoDefaultViewport( data.map );
		data.map.setZoom( 15 );
		data.map.addOverlay( data.kml );
	}
}

function get_directions( e, data )
{
	if( window.event ) window.event.cancelBubble = true;
	if( e.stopPropagation ) e.stopPropagation();
	origin = document.getElementById( "address_" + data.location_id );
	if( origin && origin.value )
	{
		data.panel = document.getElementById( "directions_" + data.location_id );
		dest = data.kml.getDefaultCenter().toUrlValue();
		data.dir = new GDirections( data.map, data.panel );
		data.panel.innerHTML = "<p align=\"center\">Loading...</p>";
		data.load_listener = GEvent.addListener( data.dir, "load", function()
		{
			data.panel.innerHTML = "";
			data.map.clearOverlays();
			GEvent.removeListener( data.load_listener );
			GEvent.removeListener( data.error_listener );
		});
		data.error_listener = GEvent.addListener( data.dir, "error", function()
		{
			data.panel.innerHTML = "<br />There was an error with your address. Please enter it again.";
			GEvent.removeListener( data.load_listener );
			GEvent.removeListener( data.error_listener );
		});
		data.dir.load( "from: " + origin.value + " to: " + dest );
	}
	return false; // Again, really prevent the form submit.
}

//]]>
