
    //<![CDATA[
    var $j = jQuery.noConflict();
	var map;
	var geocoder;
	var markeroptions;
	var htmldirections;
	var productlist;


    function load() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
		geocoder = new GClientGeocoder();
        map.setCenter(new GLatLng(54.8,-125.7333), 5);
		map.addControl(new GSmallMapControl());
		map.addControl(new GScaleControl());
		map.addControl(new GMapTypeControl());
		
		var mapicon = new GIcon();
        mapicon.image="/assets/member/storeLocator/gap_map_icon.png"; // REPLACE WITH FINAL HOSTING ADDRESS
        mapicon.iconSize = new GSize(56, 39);
        mapicon.iconAnchor = new GPoint(20, 21);
        mapicon.infoWindowAnchor = new GPoint(20, 1);
		markeroptions = { icon:mapicon };
      }
    }
	
    function addAddressToMap(street, city, province, postal, country, telephone, plist, latitude, longitude) {
    
        var address = street + ' ' + postal;
        var dest;
        productlist = plist;
        
        if (latitude != null && longitude != null){
            dest = latitude + ', ' + longitude;
 	       }
        else {
            dest = address;
	        }
        
        htmldirections = "<font style=\"font-size:12px; padding:10px 0 10px 0;margin:10px 0 10px 0;\">"+ street + "<br/>" + city + ", " + province + " " + postal + ", " + country + "<br/> Tel: " + telephone + "<br/><a href=\"http://maps.google.com/?daddr=" + dest + "\" target=\"_blank\"><font style=\"font-size:12px;\">Driving Directions >></font></a></font><br/>";
        
        map.clearOverlays();
        
        geocoder.getLatLng(address, function(point) {
            if (!point && latitude == null && longitude == null) { 
                alert(address + " not found");
	            }
            else if (!point && latitude != null && longitude != null) {
                point = new GLatLng(latitude, longitude);
                createPoint(point);
	            }
            else {
                createPoint(point);
	            }
            
            function createPoint(point) {
                map.setCenter(point, 15);
                var marker = new GMarker(point, markeroptions);
                map.addOverlay(marker);
                
		        function openInfoWindow(){
       	            marker.openInfoWindowHtml(htmldirections);
		        }
		        openInfoWindow();
		        GEvent.addListener(marker, "click", function() { openInfoWindow()});
            	}
			}
		);
	}

	function createLinks(province)
	{
		var links = "<span class=\"storelisttitle\">" + window[province][0][0] + "</span><br/>";
		
		for (i = 1; i < window[province].length; i++)
		{
			links += "<a href=\"javascript:void(0)\" onclick=\"addAddressToMap(" + window[province][i][1] + ");return false;\">" + window[province][i][0] + "</a><br />";
		}
		
		return links;
	}


		$j(document).ready(function(){
			$j("#site_nav_locator").addClass("site_nav_locator_selected");
			closeAddr();
			$j("#locations").hide();
			$j("#locations").html( createLinks("BC") ); 
		    $j("#locations").slideDown("slow");
			
			$j("#locations").find("a").click(function(){
	            closeAddr();
	            $j(this).hide();
	            $j(this).after("<div id=\"addr\"> <a href=\"#\"><img id=\"closeaddr\" src=\"/assets/member/storeLocator/storeLocatorClose.gif\" width=\"15\" height=\"15\" alt=\"close\"/></a> <span class=\"addrTitle\">" + $j(this).text() + "</span><br />"+ htmldirections + "<br/><div class=\"productlist\"><span class=\"productlisttitle\">This store carries:</span><br />" + productlist + "</div></div>");
	            $j("#addr").fadeIn("fast");
	            $j("#addr + br").hide();
	            $j("#closeaddr").click(function() {closeAddr();});
			});
          
	        function closeAddr()
			{
				$j("#locations").find("a").show();
				$j("#locations").find("br").show();
				$j("#addr").remove();
			}
		})