    //<![CDATA[

var map;
var markers;
var gMarkers = [];
var icon;
function createCookie(name,value,days) { 
	var expires;
	if (days) { 
		var date = new Date(); 
		date.setTime(date.getTime()+(days*24*60*60*1000)); 
		expires = "; expires="+date.toGMTString(); 
	} 
	else 
		expires = ""; 
	document.cookie = name+"="+value+expires+"; path=/"; 
} 
function readCookie(name) { 
	var nameEQ = name + "="; 
	var ca = document.cookie.split(';'); 
	for(var i=0;i < ca.length;i++) { 
		var c = ca[i]; 
		while (c.charAt(0)==' ') 
			c = c.substring(1,c.length); 
		if (c.indexOf(nameEQ) == 0) 
			return c.substring(nameEQ.length,c.length); 
	} 
	return null; 
} 

function select(i) {
  map.closeInfoWindow();
  map.removeOverlay(gMarkers[i]);
  createMarker(i, true);
  var theObj = document.getElementById("selected");
  var church = markers[i];
  theObj.innerHTML += church.getAttribute("name");
  if (church.getAttribute("url") != "")
	theObj.innerHTML += " (" + church.getAttribute("url") +")";
  theObj.innerHTML += "<br>" + church.getAttribute("address") + " " + church.getAttribute("phone") + "<br><br>";
}

    function load() {
	var theObj = document.getElementById("waitDiv"); 
	theObj.innerHTML = "<big>Loading Map...</big>"; 
	// keep executing (ie: draw what I asked for!!!), call initMap in 10 millisec 
	setTimeout("initMap();", 10); 
}
	
function createMarker(i, selected) {
	var item = markers[i];
	var point = new GLatLng(parseFloat(item.getAttribute("lat"))-100, -parseFloat(item.getAttribute("lng"))); 
	var name = item.getAttribute("name");
	var url = item.getAttribute("url");
	var adr = item.getAttribute("address");
	var phone = item.getAttribute("phone");
	var marker;
	if (selected)
		marker = new GMarker(point, G_DEFAULT_ICON);
	else
		marker = new GMarker(point, icon); 
	GEvent.addListener(marker, "click", function() 
		{ 
			var str;
			if (url != "")
				str = "<a href='" + url + "' target='_blank'><b>" + name + "</b></a>";
			else 
				str = name;
			str += "<br><br>";
			str += adr;
			str += "<br>" + phone;
			if (!selected)
				str += " <q onClick='select("+i+")' style='color:blue; background:orange; font-weight:bold'>Select this church</q><br>";
			marker.openInfoWindowHtml(str); 
		});
	map.addOverlay(marker); 
	gMarkers[i] = marker;
}

    function initMap() {
      if (GBrowserIsCompatible()) {
          map = new GMap2(document.getElementById("map"));
	    map.addControl(new GSmallMapControl()); 
	    map.addControl(new GMapTypeControl()); 

	var zoom = 4;
	var lat = 35.4419;
	var lng = -93.1419;
	var temp = readCookie("cmzoom");
	if (temp)
		zoom = temp;

	temp = readCookie("cmlat");
	if (temp)
		lat = temp;

	temp = readCookie("cmlng");
	if (temp)
		lng = temp;
		
	var cookie_map_type= readCookie("cmtype");
      var map_type = G_NORMAL_MAP;
	if (cookie_map_type) {
	    if (cookie_map_type=="1")
		map_type=G_SATELLITE_MAP;
	    else if (cookie_map_type=="2")
		map_type=G_HYBRID_MAP;
	}

       map.setCenter(new GLatLng(lat, lng), parseInt(zoom), map_type);


	    icon = new GIcon(); 
          icon.image = "http://www.chineseinus.com/ciu_files/shijia.gif"; 
	    icon.shadow = "http://www.chineseinus.com/ciu_files/shijia-shadow.gif"; 
	    icon.iconSize = new GSize(18, 30); 
	    icon.shadowSize = new GSize(40, 30); 
	    icon.iconAnchor = new GPoint(9, 30); 
	    icon.infoWindowAnchor = new GPoint(5, 1); 

	var theObj = document.getElementById("waitDiv"); 
	theObj.innerHTML = "<big>Loading church data ...</big>"; 

	        GDownloadUrl("cmdata.xml", function(data, responseCode) 
                     { 
		var xml = GXml.parse(data); 
		markers = xml.documentElement.getElementsByTagName("church"); 
		for (var i = 0; i < markers.length; i++) { 
			createMarker(i, false);
		} 
	        });
		theObj = document.getElementById("waitDiv"); 
		theObj.innerHTML = ""; 
      }
    }

	function Unload() {

		for (var i = 0; i < map.getMapTypes().length; i++) { 
			if (map.getCurrentMapType() == map.getMapTypes()[i]) { 
				var cookie_map_type = i; 
			} 
		} 
		createCookie("cmtype", cookie_map_type, 30);

		createCookie("cmzoom", map.getZoom(), 30);

		var center = map.getCenter();

		createCookie("cmlat", center.lat(), 30);

		createCookie("cmlng", center.lng(), 30);

		GUnload();
	}

    //]]>

