if (GBrowserIsCompatible()) {
	
			document.getElementById("Alberta-Check").checked = false;
        	document.getElementById("Quebec-Check").checked = false;
        	document.getElementById("Saskatchewan-Check").checked = false;
			document.getElementById("Ontario-Check").checked = false;
        	document.getElementById("Manitoba-Check").checked = false;
        	document.getElementById("NewBrunswick-Check").checked = false;
			document.getElementById("BritishColumbia-Check").checked = false;	
			document.getElementById("labelToggle-Check").checked = true;	
			
			var c_d = new Date();
			var c_t = c_d.getTime();
			var allmarkers = [];
			var markers;
			var mgr;
			var size = { width: 16, height: 16 };
			var gmarkers = [];
	     
          	var map = new GMap2(document.getElementById("circulation-map"));  
	  		var Tsize = new GSize(202, 100);
      		map.addControl(new GOverviewMapControl(Tsize));
      		map.setCenter(new GLatLng(parameters.centerlat,parameters.centerlon), parameters.zoomlevel);
			mgr = new MarkerManager(map, {trackMarkers:true});
			map.disableDoubleClickZoom();
			
			var baseIcon = new GIcon();
			baseIcon.shadow = "shadow.png";
			baseIcon.iconSize = new GSize(16, 16);
			baseIcon.shadowSize = new GSize(23, 21);
			baseIcon.iconAnchor = new GPoint(9, 34);
			baseIcon.infoWindowAnchor = new GPoint(9, 2);
			baseIcon.infoShadowAnchor = new GPoint(18, 25);
			
			var _DragTxt
			
			if ( parameters.language == 'En'){
            
            _DragTxt = 'Drag a region on the map (click here to reset)'
            
            }else{
            
            _DragTxt = 'Faites glisser une r&eacute;gion sur la carte (cliquez ici pour r&eacute;initialiser)'
            
            }
			
		 var otherOpts = { 
			  buttonStartingStyle: {},
			  buttonHTML: '<img style="float:left" title="Drag Zoom In" src="assets/images/zoomin-'+parameters.language+'.png">',
			  buttonStyle: {width:'74px', height:'79px'},
			  buttonZoomingHTML: _DragTxt,
			  buttonZoomingStyle: {width:'74px', height:'79px', color:'#ffffff'},
			  backButtonHTML: '<img style="float:left" title="Zoom Back Out" src="assets/images/zoomout-'+parameters.language+'.png">',  
			  backButtonStyle: {display:'none',marginTop:'5px',width:'74px', height:'79px' },
			  backButtonEnabled: true, 
			  overlayRemoveTime: 1500} 

      	map.addControl(new DragZoomControl({}, otherOpts, {}), new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(10,15)));
		
		jQuery(".provinceSelect").click(function(){		
		var province = jQuery(this).attr("title");			
			if (this.checked)
			{			
				jQuery("#"+province+" .publicationLabel").css({display:"block"})
				showMarker(province);
				relocate(province)
			}
			else
			{
				jQuery("#"+province+" .publicationLabel").css({display:"none"})	
				hideMarker(province);
			}
											 
		})
		
		
		
		function createMarker(point,icon,name,province,pubid) {
			jQuery("<li class='publicationLabel' style='display:none' />").html(name).click(function(){	GEvent.trigger(marker,'click');	}).appendTo("#selectPubMarker" + " #" + province );	
			jQuery(".publicationLabel").hover(function(){
					
					jQuery(this).addClass("selectLabel")
					
					},
				function(){
					
					jQuery(this).removeClass("selectLabel")
					
					}
										 
										 )
			var iconimg = "assets/images/googlemap/" + icon + ".png";
			var icon = new GIcon(baseIcon);
			icon.iconAnchor = new GPoint(size.width >> 1, size.height >> 1);
		  	icon.infoWindowAnchor = new GPoint(size.width >> 1, size.height >> 1);
			icon.image = iconimg;
			markerOptions = { icon:icon,labelText:name,labelOffset: new GSize(10, -6) };
        	var marker = new LabeledMarker(point,markerOptions);			
			var pageId;
			if ( parameters.language == 'En' )
				{ pageId =  141} 
			else if ( parameters.language == 'Fr' )
				{ pageId =  163} 
			
        	GEvent.addListener(marker, "click", function() {
            	  marker.openExtInfoWindow( map, "opacity_window", "<div>Loading...</div>",
						{
						ajaxUrl: "index.php?id=" + pageId + "&pubid=" + pubid + "&language=" + parameters.language + "&a=" + c_t, beakOffset: 18
						}
            	);				
				
				
				//marker.openInfoWindowHtml("Marker Clicked");
							
				
			
			}); 	
			markerGroups[province].push(marker);
			marker.hide();
			return marker;
		}	
				
	GDownloadUrl("xmls/publictiondetails-" + parameters.language + ".xml?a=" + c_t, function(doc) {																							   	var xmlDoc = GXml.parse(doc);
	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("lng"));
			  	var pubid = parseFloat(markers[i].getAttribute("id"));
			  	var point = new GLatLng(lat,lng);
			  	//var label = markers[i].getAttribute("label");
			  	var label = markers[i].getElementsByTagName("label")[0].firstChild.nodeValue;
			  	var provinceRaw = markers[i].getElementsByTagName("province")[0].firstChild.nodeValue;
				var province = provinceRaw.replace(" ","")				
				var icon = markers[i].getAttribute("icon");				
			  	var marker = createMarker(point,icon,label,province,pubid);			
				gmarkers.push(marker);								
		 	}
		 	mgr.addMarkers(gmarkers, parameters.zoomstart, parameters.zoomend);
		 	mgr.refresh();			 
      		});	
			
	function toggleLabels() {
      var showLabels = document.getElementById("labelsCheckbox").checked;
      for (groupName in markerGroups) {
        for (var i = 0; i < markerGroups[groupName].length; i++) {
          var marker = markerGroups[groupName][i];
          marker.setLabelVisibility(showLabels);
        }
      }
    }
	
	function showGroup(province) {
		
		
	
    }
	
	function jumpprovince(targ,selObj,restore){
		province = selObj.options[selObj.selectedIndex].value; 
		showGroup(province);					
	}
	
	
	function hideMarker(province){		
		for (var i = 0; i < markerGroups[province].length; i++) {
        var marker = markerGroups[province][i];
		marker.hide();		 
			}	
		 map.closeExtInfoWindow();
		}
		
	function showMarker(province){
		
		for (var i = 0; i < markerGroups[province].length; i++) {
        	var marker = markerGroups[province][i];
			marker.show();		 
			}
			
			
		relocate(province);
			
		}
		
		
	function relocate(province){		
       
		switch (province){			
			case "Alberta" :			
			map.panTo(new GLatLng(51.292669,-114.013444));
			//parent.document.getElementById("lightwindow_title_bar_title").innerHTML = "Province - Alberta"
			break;
			case "Manitoba" :			
			map.panTo(new GLatLng(49.182601,-97.928009));
			//parent.document.getElementById("lightwindow_title_bar_title").innerHTML = "Province - Manitoba"
			break;
			case "BritishColumbia" :			
			map.panTo(new GLatLng(49.246293,-123.134766));
			//parent.document.getElementById("lightwindow_title_bar_title").innerHTML = "Province - British Columbia"
			break;
			case "NewBrunswick" :			
			map.panTo(new GLatLng(40.487206,-74.439899));
			//parent.document.getElementById("lightwindow_title_bar_title").innerHTML = "Province - New Brunswick"
			break;
			case "Ontario" :			
			map.panTo(new GLatLng(43.65595,-79.40094));
			//parent.document.getElementById("lightwindow_title_bar_title").innerHTML = "Province - Ontario"
			break;
			case "Quebec" :	
			map.panTo(new GLatLng(45.399019,-74.026375));
			//parent.document.getElementById("lightwindow_title_bar_title").innerHTML = "Province - Quebec"
			break;
			case "Saskatchewan" :			
			map.panTo(new GLatLng(52.939916,-106.450864));
			//parent.document.getElementById("lightwindow_title_bar_title").innerHTML = "Province - Saskatchewan"
			break;		
			}
			
			
			
		}

	function toggleClustering() {
		cluster.clusteringEnabled=!cluster.clusteringEnabled;
		cluster.refresh(true); // true required to force a full update of the markers - otherwise the update would occur next time that the map is zoomed or the active markers change
	}
	
	function toggleLabels() {
      var showLabels = document.getElementById("labelToggle-Check").checked;
      for (groupName in markerGroups) {
        for (var i = 0; i < markerGroups[groupName].length; i++) {
          var marker = markerGroups[groupName][i];
          marker.setLabelVisibility(showLabels);
        }
      }
    }
		
	var allowedBounds = new GLatLngBounds(new GLatLng(39.5000, -160.0000), new GLatLng(60.0000, -50.0000));			
		function checkBounds() {	
			  if(allowedBounds.contains(map.getCenter())) {
				  return;
			  }
			  var C = map.getCenter();
			  var X = C.lng();
			  var Y = C.lat();
			  var AmaxX = allowedBounds.getNorthEast().lng();
			  var AmaxY = allowedBounds.getNorthEast().lat();
			  var AminX = allowedBounds.getSouthWest().lng();
			  var AminY = allowedBounds.getSouthWest().lat();
			  if (X < AminX) {X = AminX;}
			  if (X > AmaxX) {X = AmaxX;}
			  if (Y < AminY) {Y = AminY;}
			  if (Y > AmaxY) {Y = AmaxY;}
			  map.setCenter(new GLatLng(Y,X));
          	}
		var mt = map.getMapTypes();
        // Overwrite the getMinimumResolution() and getMaximumResolution() methods
       	for (var i=0; i<mt.length; i++) {
          mt[i].getMinimumResolution = function() {return 4;}
          mt[i].getMaximumResolution = function() {return 15;}
         }
		GEvent.addListener(map, "move", function() {
        	//checkBounds();
		});	
		
}
else{	
	alert("Sorry, the Google Maps API is not compatible with this browser");
}   

