	/* PUBLIC VARS */
	
	
	/* PRIVATE VARS */
	
	var gmap = null;
	

	/* INIT MAP */	

	function gmap_init() {
		if (GBrowserIsCompatible()) {						
			
	        gmap = new GMap2(document.getElementById(gmap_id_map));
	        
	        gmap.enableDoubleClickZoom();
	   		gmap.enableContinuousZoom();	     
	        
	        gmap.setCenter(new GLatLng(gmap_lat, gmap_lng), gmap_initZoom);
		    
		    gmap.addControl(new GScaleControl());
		    gmap.savePosition(); 

		    if(gmap_enable_debug){
		    	gmap_init_debug();
		    }
		    
		    if(gmap_enable_events){
		    	gmap_init_events();
		    }
		    
		    if(gmap_enable_customTiles){		    	
		    	if(gmap_enable_debug){ gmap_init_tileData(); }		    	
		    	gmap_init_custom_tiles(gmap_customTileLevels[0],gmap_customTileLevels[1]);
		    }
		    
		    if(gmap_enable_customControls){
		    	gmap_init_customControls();
		    }

	        if(gmap_enable_debug){ gmap_debug_show("MAP SETUP COMPLETE",1) }
	        
		}else{
			document.getElementById(mapId).innerHTML = 'Sorry, your browser is not supported for viewing results on a map.<br /><br />Please use either <a href="http://www.mozilla.com/firefox/" target="_blank">Firefox</a> or <a href="http://www.microsoft.com/windows/ie/ie6/" target="_blank">Internet Explorer</a>.';
		}
    }
    
	/* PAGE LOAD / UNLOAD EVENT HANDLERS  */

	function onPageLoad() {
		gmap_init();
	}
	
	function onPageUnLoad() {
		GUnload();
	}
	
	function addLoadEvent(fn) {	
		if (!window.loadEvents) {
			window.loadEvents = [];
			var loadFn = function() { for (var i=0,f;(f=window.loadEvents[i]);i++) f(); }
			if (window.addEventListener) 
				window.addEventListener('load', loadFn, false)
			else if (window.attachEvent) 
				window.attachEvent('onload', loadFn);
		}
		
		window.loadEvents.push(fn);
	}
	
	function addUnLoadEvent(fn) {	
		if (!window.unloadEvents) {
			window.unloadEvents = [];
			var unloadFn = function() { for (var i=0,f;(f=window.unloadEvents[i]);i++) f(); }
			if (window.addEventListener) 
				window.addEventListener('unload', unloadFn, false)
			else if (window.attachEvent) 
				window.attachEvent('onunload', unloadFn);
		}
		
		window.unloadEvents.push(fn);
	}
	
	addLoadEvent(onPageLoad);	
	addUnLoadEvent(onPageUnLoad);	