//Globals!
var DELIVERY = {};	//GLOBAL Delivery object

// ====== Array for decoding the failure codes ======
function LoadPosition( )
{
	DELIVERY.yuzenIcon = new GIcon(G_DEFAULT_ICON);
	DELIVERY.yuzenIcon.image = "images/Page/yuzenMark.png";
	DELIVERY.yuzenIcon.shadow = "images/Page/yuzenMarkShadow.PNG";
	DELIVERY.yuzenIcon.iconSize = new GSize(32,32);
	DELIVERY.yuzenIcon.shadowSize = new GSize(59, 32);
	DELIVERY.yuzenIcon.iconAnchor = new GPoint(9,23);
	DELIVERY.yuzenIcon.infoWindowAnchor = new GPoint(19,0);
	var position = new GLatLng( DELIVERY.yuzen.lat, DELIVERY.yuzen.lng );
	var marker = new GMarker( position, DELIVERY.yuzenIcon );
	GEvent.addListener(marker, 'click', function() { marker.openInfoWindowHtml( DELIVERY.yuzen.infowindowtext ); } );
	
	DELIVERY.gmap.setCenter(position);
	DELIVERY.gmap.addOverlay(marker);
}

function LoadZoneBoundary( data, responseCode )
{
	var xmlDoc = GXml.parse( data );
	
	// ========= Now process the polylines ===========
	var zone = xmlDoc.documentElement.getElementsByTagName("zone");

	var label = zone[0].getAttribute("name");
	var fillColor = zone[0].getAttribute("FillColor");
	var fillLineColor = zone[0].getAttribute("LineColor");
	
	var points = zone[0].getElementsByTagName("point");
	var pts = [];
	for (var i = 0; i < points.length; i++) 
	{
	   pts[i] = new GLatLng(	parseFloat(points[i].getAttribute("lat")),
								parseFloat(points[i].getAttribute("lng")));
	}
	
	DELIVERY.polyShape = new GPolygon(pts, fillLineColor, 4.0, 1.0, fillColor, 0.25);
	DELIVERY.gmap.addOverlay( DELIVERY.polyShape );
	
	var bounds = DELIVERY.polyShape.getBounds();
	DELIVERY.gmap.setCenter( bounds.getCenter() );
	DELIVERY.gmap.setZoom( DELIVERY.gmap.getBoundsZoomLevel( bounds ) );
}


function initialize() 
{
	if(GBrowserIsCompatible()) 
	{
		if(!document.getElementById('wagt_maps')) { return false; }
		
		DELIVERY.gmap = new GMap2(document.getElementById('wagt_maps'));
		DELIVERY.gmap.enableScrollWheelZoom();
		DELIVERY.gmap.enableDoubleClickZoom();
		DELIVERY.gmap.addControl(new GSmallMapControl());
		DELIVERY.gmap.addControl(new GMapTypeControl());
		DELIVERY.gmap.addControl(new google.maps.LocalSearch(), new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(12,20)));
		
		DELIVERY.yuzen = { street: '8451 SE 68th St, Suite 104', city: 'Mercer Island', state: 'Wa', zip: '98040', country: 'USA', infowindow: 'default',
				  	infowindowtext: '<span style="font: 12px Verdana, Arial, Helvetica, sans-serif; color: #000;"><strong>Address:</strong><br />8451 SE 68th St, Suite 104<br />Mercer Island, Wa 98040 USA</span>',
				  	full: '8451 SE 68th St, Suite 104, Mercer Island, Wa, 98040, USA', lat: '47.540998', lng: '-122.224478', isdefault: true };

		DELIVERY.deliverAddress = "Delivery Address";
		DELIVERY.deliveryAddressResponse = 0;
		
		
		LoadPosition();
		GDownloadUrl("Scripts/ZoneCoord.xml", LoadZoneBoundary );	
	} 
	else
	{
		alert("Browswer is incompatible for loading google maps.");
		return false;
	}
	
	return true;
}

GSearch.setOnLoadCallback(initialize);
