	//<![CDATA[

	var map;
    var gmarkers = [];
    var gicons = [];
    
    gicons["2"] = new GIcon(G_DEFAULT_ICON,"/wp-content/themes/cct/images/marker_i.png");
    gicons["3"] = new GIcon(G_DEFAULT_ICON,"/wp-content/themes/cct/images/marker_i.png");
    gicons["4"] = new GIcon(G_DEFAULT_ICON,"/wp-content/themes/cct/images/marker_i.png");
    gicons["5"] = new GIcon(G_DEFAULT_ICON,"/wp-content/themes/cct/images/marker_i.png");
    gicons["6"] = new GIcon(G_DEFAULT_ICON,"/wp-content/themes/cct/images/marker_i.png");
    gicons["7"] = new GIcon(G_DEFAULT_ICON,"/wp-content/themes/cct/images/marker_i.png");
    gicons["8"] = new GIcon(G_DEFAULT_ICON,"/wp-content/themes/cct/images/marker_i.png");
    gicons["9"] = new GIcon(G_DEFAULT_ICON,"/wp-content/themes/cct/images/marker_i.png");
    gicons["10"] = new GIcon(G_DEFAULT_ICON,"/wp-content/themes/cct/images/marker_i.png");
	
	
		function getUrlParam(name) {
			var query = window.location.search.substring(1);
			var vars = query.split("&");

			for (var i = 0; i < vars.length; i++) {
				var pair = vars[i].split("=");
				if(pair[0]==name) {
					return pair[1];
				}
			}
			return "";
		}
	
		if (GBrowserIsCompatible()) {
	
      // A function to create the marker and set up the event window
      function createMarker(point,name,html,category,post_id) {
        var marker = new GMarker(point,{title: name, icon: gicons[category]});
        // === Store the category and name info as a marker properties ===
        marker.mycategory = category;                                 
        marker.myname = name;
		marker.myid = post_id;
		marker.html = html;
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });
        gmarkers.push(marker);
        return marker;
      }

	  // create the map
	  //var myPano = new GStreetviewPanorama(document.getElementById("pano"));
	  var map = new GMap2(document.getElementById("map_canvas"));
      map.addControl(new GMapTypeControl());
      map.setCenter(new GLatLng(-34.78789,149.25395), 8);
      map.setUIToDefault();

	  
      // Read the data
      GDownloadUrl("/wp-content/themes/cct/mapxml.php", function(doc) {
        var xmlDoc = GXml.parse(doc);
        var markers = xmlDoc.documentElement.getElementsByTagName("marker");
        for (var i = 0; i < markers.length; i++) {
          // obtain the attribues of each marker
          var lat = parseFloat(markers[i].getAttribute("lat"));
          var lng = parseFloat(markers[i].getAttribute("lon"));
          var point = new GLatLng(lat,lng);
          var address = markers[i].getAttribute("address");
          var city = markers[i].getAttribute("city");
          var state = markers[i].getAttribute("state");
          var postcode = markers[i].getAttribute("postcode");
          var phone = markers[i].getAttribute("phone");
          var thumbnail = markers[i].getAttribute("thumbnail");
          var description = markers[i].getAttribute("description");
          var link = markers[i].getAttribute("link");
          var name = markers[i].getAttribute("name");
          var category = markers[i].getAttribute("category");
		  var post_id = markers[i].getAttribute("marker_id");          
          
          
          
          // create the marker information window
          var html = '<div id="map_popup">';
          html += '<div class="map_popup_content">';
          html += '<h3><a href="http://'+link+'" title="'+name+'" target="_blank">'+name+'</a></h3>';
		  if(thumbnail) {html += '<img src="'+thumbnail+'" class="map_thumb" alt="thumbnail"/>';}
          if(description) {html += '<p>'+description+'</p>';}
          if(phone) {html += '<p><strong>Phone:</strong> '+phone+'</p>';}
          if(address) {html += '<p><strong>Address:</strong> '+address+', '+city+', '+state+' '+postcode+'</p>';}
          html += '<p><strong>Get Directions:</strong> <a href="http://maps.google.com/maps?q=to+'+lat+','+lng+'" title="To here" target="_blank">To here</a> | <a href="http://maps.google.com/maps?q=from+'+lat+','+lng+'" title="From here" target="_blank">From here</a></p>';
          html += '</div></div>';
          
          // create the marker
          var marker = createMarker(point,name,html,category,post_id);
          map.addOverlay(marker);
        }
        // == show or hide the categories initially ==
		
		
		
		var markerId = getUrlParam("marker");
		var categoryId = getUrlParam("category");
		
		if (markerId != '') {
			hideall();
			showmarker(markerId);
		} else if(categoryId != '') {
			hideall();
			show(categoryId);
		} else {
			showall();
		}
		
      });
    }
	else {alert("Sorry, the Google Maps API is not compatible with this browser");}
	
			// == shows all markers of a particular category, and ensures the checkbox is checked ==
      function show(category) {
        for (var i=0; i<gmarkers.length; i++) {
          if (gmarkers[i].mycategory == category) {
            gmarkers[i].show();
          }
        }
        document.getElementById(category+"visitor").checked = true;       

      }
	  
	  // == shows a specific marker
      function showmarker(markerId) {
        for (var i=0; i<gmarkers.length; i++) {
          if (gmarkers[i].myid == markerId) {
            gmarkers[i].show();
			gmarkers[i].openInfoWindowHtml(gmarkers[i].html);
			map.panTo(gmarkers[i].getLatLng());
			document.getElementById(gmarkers[i].mycategory+"visitor").checked = true;
          }
        }
      }
	  
	  // == hides all markers of a particular category, and ensures the checkbox is cleared ==
      function hide(category) {	  
        for (var i=0; i<gmarkers.length; i++) {
          if (gmarkers[i].mycategory == category) {
            gmarkers[i].hide();
          }
        }
        // == clear the checkbox ==
        document.getElementById(category+"visitor").checked = false;
        // == close the info window, in case its open on a marker that we just hid
        map.closeInfoWindow();
      }
	  
	  // == hides all markers 
      function hideall() {	  
        for (var i=0; i<gmarkers.length; i++) {
            gmarkers[i].hide();
        }
      }
      
	  // == hides all markers 
      function showall() {	  
        for (var i=0; i<gmarkers.length; i++) {
            gmarkers[i].show();
            document.getElementById(gmarkers[i].mycategory+"visitor").checked = true;
        }
      }
	  
	  // == a checkbox has been clicked ==
      function boxclick(box,category) {
        if (box.checked) {
          show(category);
        } else {
          hide(category);
        }
      }

      function myclick(i) {
        GEvent.trigger(gmarkers[i],"click");
      }
	  
	//]]>

