if (GBrowserIsCompatible()) {

	map = new Object();
	legend = new Object();
	hotelIcon = new Object();
	restaurantIcon = new Object();
	hotelRestaurantIcon = new Object();
	festivalVenueIcon = new Object();

	legend = {
		"lodging_partners": {
			"westglow": {
				"name": "Westglow Resort & Spa",
				"lat": 36.136510,
				"lng": -81.714070,
				"icon": "lodgingrestaurantIcon"
			},
			"broyhill": {
				"name": "Broyhill Inn & Conference Center",
				"lat": 36.214712,
				"lng": -81.691005,
				"icon": "lodgingrestaurantIcon"
			},
			"bestwestern": {
				"name": "Best Western - Blue Ridge Plaza",
				"lat": 36.218042,
				"lng": -81.662540,
				"icon": "lodgingIcon"
			},
			"countryinn": {
				"name": "Country Inn &amp; Suites",
				"lat": 36.217842,
				"lng": -81.662940,
				"icon": "lodgingIcon"
			},
			"laquinta": {
				"name": "La Quinta Inn &amp; Suites",
				"lat": 36.216068,
				"lng": -81.668522,
				"icon": "lodgingIcon"
			},
			"sleepinn": {
				"name": "Sleep Inn",
				"lat": 36.216302,
				"lng": -81.668777,
				"icon": "lodgingIcon"
			},
			"hampton": {
				"name": "Hampton Inn",
				"lat": 36.203923,
				"lng": -81.670840,
				"icon": "lodgingIcon"
			},
			"super8": {
				"name": "Super 8 Motel",
				"lat": 36.204459,
				"lng": -81.693949,
				"icon": "lodgingIcon"
			},
			"chetola": {
				"name": "Chetola Resort",
				"lat": 36.138266,
				"lng": -81.671005,
				"icon": "lodgingrestaurantIcon"
			}
		},
		"restaurant_partners": {
			"rowlands": {
				"name": "Rowland's Restaurant at Westglow",
				"lat": 36.136510,
				"lng": -81.714070,
				"icon": "lodgingrestaurantIcon"
			},
			"manorhouse": {
				"name": "The Manor House at Chetola",
				"lat": 36.138266,
				"lng": -81.671005,
				"icon": "lodgingrestaurantIcon"
			},
			"jackson": {
				"name": "The Jackson Dining Room at the Broyhill Inn",
				"lat": 36.214712,
				"lng": -81.691005,
				"icon": "lodgingrestaurantIcon"
			},
			"bestcellarbr": {
				"name": "The Best Cellar",
				"lat": 36.132741,
				"lng": -81.671448,
				"icon": "restaurantIcon"
			},
			"bistro": {
				"name": "The Bistro",
				"lat": 36.223371,
				"lng": -81.663714,
				"icon": "restaurantIcon"
			},
			"gamekeeper": {
				"name": "Gamekeeper Restaurant",
				"lat": 36.168142,
				"lng": -81.716663,
				"icon": "restaurantIcon"
			},
			"louisianapurchase": {
				"name": "Louisiana Purchase",
				"lat": 36.158068,
				"lng": -81.870143,
				"icon": "restaurantIcon"
			},
			"makotos": {
				"name": "Makoto's Japanese Steakhouse & Sushi Bar",
				"lat": 36.196250,
				"lng": -81.653808,
				"icon": "restaurantIcon"
			},
			"peppers": {
				"name": "Pepper's Restaurant",
				"lat": 36.203266,
				"lng": -81.659588,
				"icon": "restaurantIcon"
			},
			"redonion": {
				"name": "The Red Onion Cafe",
				"lat": 36.215036,
				"lng": -81.674797,
				"icon": "restaurantIcon"
			}
		},
		"festival_venues": {
			"farthing": {
				"name": "Farthing Auditorium",
				"lat": 36.215410,
				"lng": -81.683050,
				"icon": "venueIcon"
			},
			"valborg": {
				"name": "Valborg Theatre",
				"lat": 36.216353,
				"lng": -81.680550,
				"icon": "venueIcon"
			},
			"holmes": {
				"name": "Holmes Convocation Center",
				"lat": 36.210110,
				"lng": -81.674370,
				"icon": "venueIcon"
			},
			"rosen": {
				"name": "Rosen Concert Hall",
				"lat": 36.216140,
				"lng": -81.684640,
				"icon": "venueIcon"
			},
			"tcva": {
				"name": "Turchin Center for the Visual Arts",
				"lat": 36.217046,
				"lng": -81.680012,
				"icon": "venueIcon"
			},
			"dragonfly": {
				"name": "Dragonfly Theater &amp; Pub",
				"lat": 36.200766,
				"lng": -81.658588,
				"icon": "venueIcon"
			},
			"plemmons": {
				"name": "Plemmons Student Union",
				"lat": 36.214753,
				"lng": -81.679550,
				"icon": "venueIcon"
			},
		}
	};

	lodgingIcon = new GIcon(G_DEFAULT_ICON);
	lodgingIcon.image = "http://www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png";
	lodgingIcon.iconSize = new GSize(32, 32);

	restaurantIcon = new GIcon(G_DEFAULT_ICON);
	restaurantIcon.image = "http://www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png";
	restaurantIcon.iconSize = new GSize(32, 32);

	venueIcon = new GIcon(G_DEFAULT_ICON);
	venueIcon.image = "http://www.google.com/intl/en_us/mapfiles/ms/micons/green-dot.png";
	venueIcon.iconSize = new GSize(32, 32);

	lodgingrestaurantIcon = new GIcon(G_DEFAULT_ICON);
	lodgingrestaurantIcon.image = "http://www.appsummer.org/images.default/lodging-restaurant-marker.png";
	lodgingrestaurantIcon.iconSize = new GSize(32, 32);

}

function createmarkers(category) {

	removemarkers(category);

	for (var i01 in legend) {

		if (i01 == category) {

			eval("var i01obj = legend." + i01);

			for (var i02 in i01obj) {

				eval("var i02obj = legend." + i01 + "." + i02);
				eval("map.addOverlay(marker_" + i02 + " = createmarker('" + i02 + "', " + i02obj.lat + ", " + i02obj.lng + ", " + i02obj.icon + "))");

			}

		}

	}

	return false;

}

function createmarker(name, lat, lng, icon) {

	var point = new Object();
	point = new GLatLng(lat, lng);
	point.value = 'point_' + name;
	var marker = new Object();
	marker = new GMarker(point, {icon: icon});
	marker.value = 'marker_' + name;

	try {

		var overlay = document.getElementById('overlay_' + name).innerHTML;

	      GEvent.addListener(marker,"click", function() {

			map.openInfoWindowHtml(point, overlay, {maxWidth: 300});

		});

	}

	catch(err) {

		var overlay = "";

	}

	return marker;

}

function removemarkers(category) {

	for (var i01 in legend) {

		if (i01 == category) {

			eval("var i01obj = legend." + i01);

			for (var i02 in i01obj) {

				eval("var i02obj = legend." + i01 + "." + i02);
				eval("removemarker('" + i02 + "')");

			}

		}

	}

	return false;

}

function removemarker(name) {

	try {

		eval("map.removeOverlay(marker_" + name + ")");

	}

	catch(err) {

	}

	return false;

}

function showinfo(name) {

	if (GBrowserIsCompatible()) {

		var marker = eval('marker_' + name);
		var overlay = document.getElementById('overlay_' + name).innerHTML;
		map.openInfoWindowHtml(marker.getPoint(), overlay, {maxWidth: 300});

	}

	return false;

}

function writemap() {

	if (GBrowserIsCompatible()) {

		document.getElementById("overlays").style.display = "none";

		document.getElementById("mapwrapper").innerHTML = '<div class="box" style="float: right; width: 750px;"><h3 style="margin-bottom: 0;">Map</h3><div id="map" style="height: 700px;"></div></div><div style="margin-right: 760px;"><div class="box"><h3>Legend</h3><div class="guts" style="max-height: 200px; overflow: auto; font-size: 90%;"><p><img src="http://www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png" width="32" height="32" alt="" /> Hotels [ <a href="" onclick="return removemarkers(\'lodging_partners\');">Hide</a> | <a href="" onclick="return createmarkers(\'lodging_partners\');">Show</a> ]</p><p><img src="http://www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png" width="32" height="32" alt="" /> Restaurants [ <a href="" onclick="return removemarkers(\'restaurant_partners\');">Hide</a> | <a href="" onclick="return createmarkers(\'restaurant_partners\');">Show</a> ]</p><p><img src="http://www.appsummer.org/images.default/lodging-restaurant-marker.png" width="32" height="32" alt="" /> Hotels w/Restaurants</p><p><img src="http://www.google.com/intl/en_us/mapfiles/ms/micons/green-dot.png" width="32" height="32" alt="" /> Festival Venues [ <a href="" onclick="return removemarkers(\'festival_venues\');">Hide</a> | <a href="" onclick="return createmarkers(\'festival_venues\');">Show</a> ]</p></div></div><div class="box"><h3>Hotels</h3><div class="guts" style="max-height: 130px; overflow: auto;"><p><a href="" onclick="return showinfo(\'westglow\');">Westglow Spa &amp; Resort</a></p><p><a href="" onclick="return showinfo(\'bestwestern\');">Best Western - Blue Ridge Plaza</a></p><p><a href="" onclick="return showinfo(\'countryinn\');">Country Inn &amp; Suites</a></p><p><a href="" onclick="return showinfo(\'laquinta\');">La Quinta Inn & Suites</a></p><p><a href="" onclick="return showinfo(\'sleepinn\');">Sleep Inn</a></p><p><a href="" onclick="return showinfo(\'hampton\');">Hampton Inn</a></p><p><a href="" onclick="return showinfo(\'super8\');">Super 8 Motel</a></p><p><a href="" onclick="return showinfo(\'chetola\');">Chetola Resort</a></p><p><a href="" onclick="return showinfo(\'broyhill\');">Broyhill Inn &amp; Conference Center</a></p></div></div><div class="box"><h3>Restaurants</h3><div class="guts" style="max-height: 130px; overflow: auto;"><p><a href="" onclick="return showinfo(\'rowlands\');">Rowland\'s Restaurant at Westglow</a></p><p><a href="" onclick="return showinfo(\'manorhouse\');">The Manor House at Chetola</a></p><p><a href="" onclick="return showinfo(\'jackson\');">The Jackson Dining Room at the Broyhill Inn</a></p><p><a href="" onclick="return showinfo(\'bestcellarbr\');">The Best Cellar</a></p><p><a href="" onclick="return showinfo(\'bistro\');">The Bistro</a></p><p><a href="" onclick="return showinfo(\'gamekeeper\');">Gamekeeper Restaurant</a></p><p><a href="" onclick="return showinfo(\'louisianapurchase\');">Louisiana Purchase</a></p><p><a href="" onclick="return showinfo(\'makotos\');">Makoto\'s Japanese Steakhouse &amp; Sushi Bar</a></p><p><a href="" onclick="return showinfo(\'peppers\');">Pepper\'s Restaurant</a></p><p><a href="" onclick="return showinfo(\'redonion\');">The Red Onion Caf&eacute;</a></p></div></div><div class="box"><h3>Festival Venues</h3><div class="guts" style="max-height: 130px; overflow: auto;"><p><a href="" onclick="return showinfo(\'farthing\');">Farthing Auditorium</a></p><p><a href="" onclick="return showinfo(\'rosen\');">Rosen Concert Hall</a></p><p><a href="" onclick="return showinfo(\'valborg\');">Valborg Theatre</a></p><p><a href="" onclick="return showinfo(\'holmes\');">The Holmes Center</a></p><p><a href="" onclick="return showinfo(\'tcva\');">Turchin Center for the Visual Arts</a></p><p><a href="" onclick="return showinfo(\'dragonfly\');">Dragonfly Theater &amp; Pub</a></p><p><a href="" onclick="return showinfo(\'plemmons\');">Plemmons Student Union</a></p></div></div></div>';

		map = new GMap2(document.getElementById("map"));
		map.setCenter(new GLatLng(36.174664, -81.763257), 12);
		map.addControl(new GLargeMapControl());

		createmarkers("restaurant_partners");
		createmarkers("lodging_partners");
		createmarkers("festival_venues");

	}

}


