/*
============================================
Google Maps API
============================================
API Key:   http://code.google.com/apis/maps/signup.html
Map Icons: http://www.visual-case.it/cgi-bin/vc/GMapsIcons.pl
*/
//--- Custom API Key ----
var strApiKey = "ABQIAAAARtZp-LurgPnWrEwiHKcX_BSXVsIyFbs20fHoPZIkWZqEZYmWQBQUraBeUU40-1-3ccEy9LSPq8j-TA";
//-----------------------

strURL = location.href.toLowerCase();
if (strURL.indexOf("localhost") > 0) {
	strApiKey = "ABQIAAAARtZp-LurgPnWrEwiHKcX_BT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTv8q3iwJhYljSDajiWW3r9PaxWGg";
}
document.write('<scr'+'ipt src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=' + strApiKey + '" type="text/javascript"></scr'+'ipt>');

//<![CDATA[
var map = null;
var geocoder = null;

function load(map) {
	if (GBrowserIsCompatible()) {
		var strHTML = '<div style="text-align:center;">';
		if (strLogo != "") {
			strHTML += '<img src="' + strLogo + '" border="0"><br />';
		}
		if (strHeading != "") {
			strHTML += '<strong>' + strHeading + '</strong><br />';
		}
		if ((strAddress + strCity + strState + strZip) != "") {
			var strFullAddress = strAddress + ", " + strCity + ", " + strState + " " + strZip;
			if (strAddress != "") {
				strHTML += strAddress + '<br />';
			}
			if (strCity != "") {
				strHTML += strCity;
			}
			if (strState != "" && strCity != "") {
				strHTML += ', ' + strState;
			}
			else {
				strHTML += strState;
			}
			if (strZip != "") {
				strHTML += ' ' + strZip;
			}
		}
		else if (strLatitude != "" && strLongitude != "") {
			var strFullAddress = strLatitude + "," + strLongitude;
			if (booLatLong) {
				strHTML += '<i>Lat:</i> ' + strLatitude + ' | <i>Long:</i> ' + strLongitude;
			}
		}
		if (booOptions) {
			strHTML += '<br /><span style="font-size:smaller;">' +
					   '<a href="http://maps.google.com/maps?q=' + strFullAddress + '" target="_blank">Full Map</a> | ' +
					   '<a href="http://maps.google.com/maps?lsm=1&daddr=' + strFullAddress + '" target="_blank">Directions (To)</a> | ' +
					   '<a href="http://maps.google.com/maps?lsm=1&saddr=' + strFullAddress + '" target="_blank">Directions (From)</a>' +
					   '</span>';
		}
		else {
			if (strHTML.substring(strHTML.length-6) == "<br />") {
				strHTML = strHTML.substring(0,strHTML.length-6);
			}
		}
		strHTML += '</div>';

		var strControlValue = "";
		switch (strControl.toLowerCase()) {
			case "large":
				strControlValue = "new GLargeMapControl()";
				break;
			case "small":
				strControlValue = "new GSmallMapControl()";
				break;
			default:
				strControlValue = "new GLargeMapControl3D()";
				break;
		}
		map.addControl(eval(strControlValue));

		if (booScale) {
			map.addControl(new GScaleControl());
		}

		if (booOverview) {
			map.addControl(new GOverviewMapControl());
			intShiftX = -40;
		}

		var strMapTypeValue = "";
		switch (strMapType) {
			case "satellite":
				strMapTypeValue = "G_SATELLITE_MAP";
				break;
			case "hybrid":
				strMapTypeValue = "G_HYBRID_MAP";
				break;
			case "physical":
				strMapTypeValue = "G_PHYSICAL_MAP";
				break;
			case "earth":
				strMapTypeValue = "G_SATELLITE_3D_MAP";
				break;
			default:
				strMapTypeValue = "G_NORMAL_MAP";
				break;
		}
		map.addControl(new GMapTypeControl());
		map.setMapType(eval(strMapTypeValue));

		if (booIcon) {
			var objIcon = new GIcon();
			objIcon.image            = icoImgURL;
			objIcon.iconSize         = new GSize(icoImgSizeX,icoImgSizeY);
			objIcon.iconAnchor       = new GPoint(icoImgAnchrX,icoImgAnchrY);
			objIcon.shadow           = icoShwURL;
			objIcon.shadowSize       = new GSize(icoShwSizeX,icoShwSizeY);
			objIcon.infoShadowAnchor = new GPoint(icoShwAnchrX,icoShwAnchrY);
			objIcon.transparent      = icoImgTrans;
			objIcon.infoWindowAnchor = new GPoint(icoWinAnchrX,icoWinAnchrY);
		}

		if (booLatLong == true && strLatitude != "" && strLongitude != "") {
			var point = new GLatLng(strLatitude, strLongitude);
			map.setCenter(point, intZoom);

			if (booIcon) {
				var marker = new GMarker(point, objIcon);
			}
			else {
				var marker = new GMarker(point);
			}
			map.addOverlay(marker);

			strHTML += '<div style="font-size:smaller; color:#C0C0C0; text-align:center;">' +
					   '<i>Lat, Long:</i> ' + point + '</div>';

			if (booWindow) {
				marker.openInfoWindowHtml(strHTML);
			}

			if (booClick) {
				GEvent.addListener(marker, "click", function() {
					marker.openInfoWindowHtml(strHTML);
				});
			}

			return marker;
		}
		else if ((strAddress + strCity + strState + strZip) != "") {
			geocoder = new GClientGeocoder();
			if (geocoder) {
				geocoder.getLatLng(
					strFullAddress,
					function(point) {
						if (!point) {
							alert("[x] Address Not Found:\n\n" + strFullAddress);
						} else {
							map.setCenter(point, intZoom);
							map.setMapType(eval(strMapTypeValue));

							if (booIcon) {
								var marker = new GMarker(point, objIcon);
							}
							else {
								var marker = new GMarker(point);
							}
							map.addOverlay(marker);

							if (intShiftX != 0 || intShiftY != 0) {
								var panshift = new GSize(intShiftX,intShiftY);
								map.panBy(panshift);
							}

							if (booWindow) {
								marker.openInfoWindowHtml(strHTML);
							}

							if (booClick) {
								GEvent.addListener(marker, "click", function() {
									marker.openInfoWindowHtml(strHTML);
								});
							}

							return marker;
						}
					}
				);
			}
		}
	}
}
//]]>
