//<![CDATA[
gmapNQ = 
{
		debugMode	: false, // Mettre true pour avoir les erreurs
		map_id : '',
		map : null,	
		geocoder : null,
		cursorScroll_id : "",
		fondScroll_id : "",
		max_zoom : 19,

		debug : function(o) 
		{
			if (dest.debugMode) 
			{
				try 
				{
					if (o) 
					{
						s = '';cpt=0;
						for (t in o) 
						{
							s += "\n" + t + " : " + o[t];
							if (++cpt > 10) {alert(s);s = '';cpt=0;};
						}
						if (cpt > 0) alert(s);
					}
				} 
				catch (ex) 
				{
					alert("debugCatch" + ex);
				}
			}
		},
      	
		init : function (map) 
		{
			gmapNQ.map = map;
			
			GEvent.addListener(gmapNQ.map, 'zoomend', function(oldLevel, newLevel) {
			 gmapNQ.placeCursorScroll(newLevel);
			});
			
			/*gmapNQ.map_id = id_map;
			
			
	        gmapNQ.map = new google.maps.Map2(Dom.get(gmapNQ.map_id), {backgroundColor:"#9CB2CE"});
	        gmapNQ.map.setCenter(new GLatLng(45.4673, 5.9951), 1);
			
			gmapNQ.map.enableDoubleClickZoom();*/
			
			/*
			//gmapNQ.map.enableScrollWheelZoom();
			gmapNQ.map.addControl(new GLargeMapControl());
			gmapNQ.map.addControl(new GHierarchicalMapTypeControl(), new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,20)));
			gmapNQ.map.addMapType(G_PHYSICAL_MAP);
			gmapNQ.map.setMapType(G_PHYSICAL_MAP); 
			
			GEvent.addListener(gmapNQ.mm, 'changed', function(bounds, markerCount) {
				
			});
			
			GEvent.addListener(gmapNQ.map, 'zoomend', function(oldLevel, newLevel) {
				
			});
    	
    		GEvent.addListener(gmapNQ.map, 'moveend', function(o) {
		  		
			});*/

		},
		
		configZoomControl : function (id_zoom_plus, id_zoom_moins)
		{
			YAHOO.util.Event.addListener(id_zoom_plus, 'click', function(e) { gmapNQ.zoom('plus'); });
			YAHOO.util.Event.addListener(id_zoom_moins, 'click', function(e) { gmapNQ.zoom('moins'); });
		},
		
		configDeplaControl : function (id_gauche_depla,id_haut_depla,id_droite_depla,id_bas_depla)
		{
			YAHOO.util.Event.addListener(id_droite_depla, 'click', function(e) { gmapNQ.deplace('right'); });
			YAHOO.util.Event.addListener(id_gauche_depla, 'click', function(e) { gmapNQ.deplace('left'); });
			YAHOO.util.Event.addListener(id_haut_depla, 'click', function(e) { gmapNQ.deplace('up'); });
			YAHOO.util.Event.addListener(id_bas_depla, 'click', function(e) { gmapNQ.deplace('down'); });
		},
		
		configTypeControl : function (id_sat,id_physic,id_hybride,id_normal)
		{
			if(id_sat != null ){YAHOO.util.Event.addListener(id_sat, 'click', function(e) { gmapNQ.changeType('sattellite'); });};
			if(id_physic != null ){YAHOO.util.Event.addListener(id_physic, 'click', function(e) { gmapNQ.changeType('physic'); });};
			if(id_hybride != null ){YAHOO.util.Event.addListener(id_hybride, 'click', function(e) { gmapNQ.changeType('hybride'); });};
			if(id_normal != null ){YAHOO.util.Event.addListener(id_normal, 'click', function(e) { gmapNQ.changeType('normal'); });};
		},
		
		
		zoom :function (type)
		{
			if(type == 'plus') { gmapNQ.map.zoomIn();} else { gmapNQ.map.zoomOut(); };
			gmapNQ.placeCursorScroll(-1);
		},

		deplace : function (type)
		{
			switch(type)
			{
				case 'up':
					deplacement = new GSize(0,100);
					break;
				case 'down':
					deplacement = new GSize(0,-100);
					break;
				case 'left':
					deplacement = new GSize(100,0);
					break;
				case 'right':
					deplacement = new GSize(-100,0);
					break;
			}
			gmapNQ.map.panBy(deplacement);
		},

		configScrollZoomControl : function(id_scroll, id_fond)
		{
			gmapNQ.cursorScroll_id = id_scroll;
			gmapNQ.fondScroll_id = id_fond;
			gmapNQ.placeCursorScroll(-1);
			YAHOO.util.Event.addListener(gmapNQ.fondScroll_id, 'click', gmapNQ.clickFond);
		},
		  
		  clickFond : function(e) 
		  { 
		   
		   var t_reg_fond = Dom.getRegion(gmapNQ.fondScroll_id);
		   var longueur_fond = t_reg_fond['right'] - t_reg_fond['left'];
		   
		   var bord_gauche_fond = t_reg_fond['left'];
		   var bord_gauche_curseur = e.clientX;
		   
		   var delta = parseInt(bord_gauche_curseur) - parseInt(bord_gauche_fond);
		   
		   var zoomSuiv = delta *gmapNQ.max_zoom / longueur_fond;
		   
		   gmapNQ.map.setZoom(parseInt(zoomSuiv));
		   gmapNQ.placeCursorScroll(parseInt(zoomSuiv));
		  },

		  placeCursorScroll : function(zoomParticulier)
		  {
		   gmapNQ.map.closeExtInfoWindow();
		   
		   var zoomEncour = 0;
		   if(zoomParticulier == -1)
		   {
			zoomEncour = gmapNQ.map.getZoom();
		   }
		   else
		   {
			zoomEncour = zoomParticulier;
		   }

		   var t_reg_fond = Dom.getRegion(gmapNQ.fondScroll_id);
		   
		   var hauteurFond = t_reg_fond['right'] - t_reg_fond['left'];

		   var hauteurJauge = (hauteurFond/gmapNQ.max_zoom)*zoomEncour;

		   Dom.setStyle(gmapNQ.cursorScroll_id,'marginLeft',hauteurJauge+'px'); 
		  },

		changeType : function (type)
		{
			switch(type)
			{
				case 'hybride':
					gmapNQ.map.setMapType(G_HYBRID_MAP);
					break;
				case 'normal':
					gmapNQ.map.setMapType(G_NORMAL_MAP);
					YAHOO.util.Dom.get('btnNavSat').className = 'btnNav';
					YAHOO.util.Dom.get('btnNavPlan').className = 'btnNav_over';									
					break;
				case 'sattellite':
					gmapNQ.map.setMapType(G_SATELLITE_MAP);
					YAHOO.util.Dom.get('btnNavSat').className = 'btnNav_over';
					YAHOO.util.Dom.get('btnNavPlan').className = 'btnNav';	
					break;
				case 'physic':
					gmapNQ.map.setMapType(G_PHYSICAL_MAP);
					break;
			}
		}		
};
//]]>