

	//******************************************************************************************************
	// fonctions globales	
	//******************************************************************************************************
 	
  	
  	
  	// -----------------------------------------------------------------------------
  	// masquage message attente
  	//-----------------------------------------------------------------------------	
  					
  	function masquerMessageAttente () {
  		document.getElementById("message_attente").style.visibility="hidden";
  	}
  	
  	// -----------------------------------------------------------------------------
  	// affichage message attente
  	//-----------------------------------------------------------------------------	
  					
  	function afficherMessageAttente () {
  		document.getElementById("message_attente").style.visibility="visible";
  	}
	
	//---------------------------------------------------------------------------------------------------	
	
		function enleveAccents(chaine) { 
			  var spec = new Array('a', 'e','e', 'o' ,'-');
			  var norm = new Array('à','é','è','ô','\'');
			  for (var compteurLettre = 0; compteurLettre< spec.length; compteurLettre++)  
			    chaine = chaine.replace(norm[compteurLettre], spec[compteurLettre]);  
		
		return chaine;  
		}

		
		
		
		
		//---------------------------------------------------------------------------------------------------	
		
		function initTooltip() {

  				var tooltip = document.createElement("div");
  				document.getElementById("carte").appendChild(tooltip);
  				tooltip.style.visibility="hidden";
  				
  				return tooltip;
		}


		//---------------------------------------------------------------------------------------------------	
		
		function showTooltip(marker) {
		    tooltip.innerHTML = marker.tooltip;
			var point=carte.getCurrentMapType().getProjection().fromLatLngToPixel(carte.getBounds().getSouthWest(),carte.getZoom());
			var offset=carte.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getPoint(),carte.getZoom());
			var anchor=marker.getIcon().iconAnchor;
			var width=marker.getIcon().iconSize.width;
			var pos = new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize(offset.x - point.x - anchor.x-width,- offset.y + point.y - 4)); 
			pos.apply(tooltip);
			tooltip.style.visibility="visible";
	    } // fin function tooltip



		//---------------------------------------------------------------------------------------------------
		// Affichage lat long dans entete pour positionner les icones
		  
		function  displayInfoLatLong() {  

				GEvent.addListener(carte, "click", function(overlay, point){
					carte.clearOverlays();
					if (point) {
						carte.addOverlay(new GMarker(point));
						carte.panTo(point);
						msg = point.lat()+"  "+point.lng();
						document.getElementById("entete").innerHTML = msg;
						}
				});
	    
		    }
	
			
		//---------------------------------------------------------------------------------------------------	
			
		function initialisation(tooltip) {
  				var tooltip = document.createElement("div");
  				document.getElementById("carte").appendChild(tooltip);
  				tooltip.style.visibility="hidden";
			}
		
		//---------------------------------------------------------------------------------------------------	
		
			    				function removeAccent(str) {  
									  var spec = new Array('a', 'e','e', 'o' ,'-');
									  var norm = new Array('à','é','è','ô','\'');
									  for (var i = 0; i < spec.length; i++)  
									    str = str.replace(norm[i], spec[i]);  
									  return str;  
								}
	
	
	
	//******************************************************************************************************
	// fonctions affichage villes	
	//******************************************************************************************************
	

	//---------------------------------------------------------------------------------------------------
	// Suite a selection departement dans liste deroulante
	//---------------------------------------------------------------------------------------------------
	
		function actualisationPage(choix) {
			alert(choix);
		}




		//---------------------------------------------------------------------------------------------------
		
		function createMarkerVille(point,nomVille,nombreChambres,bulleVille,bulleMaxVille) {
         		                         	
			var Icon = new GIcon(G_DEFAULT_ICON);
	
	  								   
		   Icon.iconSize=new GSize(10,10);
		   Icon.shadowSize=new GSize(0,0);
		   Icon.iconAnchor=new GPoint(5,5);
		   Icon.infoWindowAnchor=new GPoint(2,0);
		   Icon.image=iconeVilleNormal;
	
			var marker = new GMarker(point,Icon);
	
			 // save the info we need to use later for the side_bar
	        gmarkers[i] 			= marker;
	       	markerBulleVille[i] 	= bulleVille;
	        markerBulleMaxVille[i] 	= bulleMaxVille;
	        
	        // chaine html pour les tooltips des markers
			marker.tooltip = '<div class="tooltip_ville"><pre> '+ nomVille + ' - ' + nombreChambres + ' adresses </pre></div>';
			
			// configuration des actions sur marqueurs
			
			GEvent.addListener(marker, "click", 
				function() {
						marker.openInfoWindowHtml(bulleVille,{maxContent:bulleMaxVille});
						tooltip.style.visibility="hidden";
				}
			);
			GEvent.addListener(marker,"mouseover", function() {marker.setImage(iconeVilleOver); showTooltip(marker)}); 
			GEvent.addListener(marker,"mouseout", function() {marker.setImage(iconeVilleNormal);tooltip.style.visibility="hidden"});

	       	html_liste_villes += '<a class="a_ville_chambres" href="javascript:centrageVille(' + point.y + ',' + point.x + ',' +i+ ',markerBulleVille['+i+'],markerBulleMaxVille['+i+'],\'@\' )" onmouseover="villeLateraleOver('+i+')" onmouseout="villeLateraleOut('+i+') "><div class="lien_liste">' + nomVille + ' ( ' + nombreChambres + ' )</div></a>';

	        i++;
	        	 
	        return marker;		
		
				}
				
			
		//---------------------------------------------------------------------------------------------------
		// fonction en plus pour ne pas integrer les villes limitrophes dans la liste des villes
		
		function createMarkerVilleLimitrophe(point,nomVille,nombreChambres,bulleVille,bulleMaxVille) {
         		                         	
			var Icon = new GIcon(G_DEFAULT_ICON);
	
	  								   
		   Icon.iconSize=new GSize(10,10);
		   Icon.shadowSize=new GSize(0,0);
		   Icon.iconAnchor=new GPoint(5,5);
		   Icon.infoWindowAnchor=new GPoint(2,0);
		   Icon.image=iconeVilleLimitrophe;
	
			var marker = new GMarker(point,Icon);
	
			 // save the info we need to use later for the side_bar
	        gmarkers[i] 			= marker;
	       	markerBulleVille[i] 	= bulleVille;
	        markerBulleMaxVille[i] 	= bulleMaxVille;
	        
	        // chaine html pour les tooltips des markers
			marker.tooltip = '<div class="tooltip_ville_limitrophe"><pre> '+ nomVille + ' - ' + nombreChambres + ' adresses </pre></div>';
			
			// configuration des actions sur marqueurs
			
			GEvent.addListener(marker, "click", 
				function() {
						marker.openInfoWindowHtml(bulleVille,{maxContent:bulleMaxVille});
						tooltip.style.visibility="hidden";
				}
			);
			GEvent.addListener(marker,"mouseover", function() { showTooltip(marker)}); 
			GEvent.addListener(marker,"mouseout", function() {tooltip.style.visibility="hidden"});

	       	//html_liste_villes += '<a class="a_ville_chambres" href="javascript:centrageVille(' + point.y + ',' + point.x + ',' +i+ ',markerBulleVille['+i+'],markerBulleMaxVille['+i+'],\''+ nomVille +'\' )" onmouseover="villeLateraleOver('+i+')" onmouseout="villeLateraleOut('+i+') "><div class="lien_liste">' + nomVille + ' ( ' + nombreChambres + ' )</div></a>';

	        i++;
	        	 
	        return marker;		
		
				}
				
			//-------------------------------------------------------------------------------------------------------------------------
			
		
					
		function createMarkerVilleVide(point,nomVille) {
         		                         	
			var Icon = new GIcon(G_DEFAULT_ICON);
	
	  								   
		   Icon.iconSize=new GSize(10,10);
		   Icon.shadowSize=new GSize(0,0);
		   Icon.iconAnchor=new GPoint(5,5);
		   Icon.infoWindowAnchor=new GPoint(2,0);
		   Icon.image="";
	
			var marker = new GMarker(point,Icon);
	
			 // sauvegarde le marker pour utilisation dans les scripts
	        gmarkers[i] 			= marker;
	        
	        // chaine html pour les tooltips des markers
			marker.tooltip = '<div class="tooltip_ville_vide"><pre> '+ nomVille + ' </pre>';
	     
	        
	        // ajoute une ligne dans la liste
	        
	       	html_liste_villes += '<a class="a_ville_vides" href="javascript:centrageVille(' + lat + ',' + long + ',0,\'-\',\'-\',\'-\')" onmouseover="villeLateraleOverVide('+i+')" onmouseout="villeLateraleOutVide('+i+') "><div class="lien_liste_vide">' + ville_nom + '</div></a>'; 			  					
	       				            					        
	        i++;
	        	 
	        return marker;		
		
				}
				
			//-------------------------------------------------------------------------------------------------------------------------
			
			function createMarkerRechercheVille(point,nomVille,IDVille,nombreChambres,codeDepartement, departement) {
			   
			   // Recuperation du nom du departement, en miniscules, sans accents ( si utilisation des etiquettes )
            	var departementCible = departement.toLowerCase();
            	departementCible = enleveAccents(departementCible);
			   
			   
			   var Icon = new GIcon(G_DEFAULT_ICON);
		  								   
			   Icon.iconSize=new GSize(10,10);
			   Icon.shadowSize=new GSize(0,0);
			   Icon.iconAnchor=new GPoint(5,5);
			   Icon.infoWindowAnchor=new GPoint(2,0);
			   Icon.image=iconeVilleNormal;
		
				var marker = new GMarker(point,Icon);
		
				 // save the info we need to use later for the side_bar
		        gmarkers[i] 			= marker;        
		        	
		        
		        if ( nombreChambres >0 ) {
		        	html_liste_villes += '<a clas=".a_ville_chambres" href="javascript:transfertSelection(\'' + codeDepartement + '\','+IDVille +','+point.x+','+point.y+')" onmouseover="villeLateraleOver('+i+')" onmouseout="villeLateraleOut('+i+') "><div class="lien_liste">' + nomVille + '  - ' + nombreChambres + ' adr.</div></a>';
					marker.tooltip = '<div class="tooltip_ville"><pre> '+ nomVille + ' - '  + codeDepartement + ' '+ departement + ' </pre></div>';
		        	GEvent.addListener(marker,"mouseover", function() {marker.setImage(iconeVilleOver); showTooltip(marker)}); 
		        }
		        else {
		        	
		        	html_liste_villes += '<a class="a_ville_vides" href="javascript:transfertSelection(\'' + codeDepartement + '\',' +IDVille+','+point.x+','+point.y+')" onmouseover="villeLateraleOverRecherche('+i+')" onmouseout="villeLateraleOut('+i+') "><div class="lien_liste_recherche">' + nomVille + ' </div></a>';
		       		
		       		//html_liste_villes += '<a href="javascript:transfertSelection(\'' + codeDepartement + '\',\''+nomVille+'\','+point.x+','+point.y+')" onmouseover="villeLateraleOverRecherche('+i+')" onmouseout="villeLateraleOut('+i+') "><div class="lien_liste_recherche">' + nomVille + ' </div></a>';
		       		

		       		marker.tooltip = '<div class="tooltip_ville_recherche"><pre> '+ nomVille + ' - '  + codeDepartement + ' '+ departement + ' </pre></div>';
		       		GEvent.addListener(marker,"mouseover", function() {marker.setImage(iconeVilleOverVide); showTooltip(marker)}); 		           
		           }
		        
				
				// configuration des actions sur marqueurs
				
				GEvent.addListener(marker, "click",function()  { transfertSelection(codeDepartement,IDVille,point.x,point.y)});
				 
				GEvent.addListener(marker,"mouseout", function() {marker.setImage(iconeVilleNormal);tooltip.style.visibility="hidden"});
		

		       				            					        
		        i++;
	        
	 
	        return marker;		
		
				}
				


			    
		//---------------------------------------------------------------------------------------------------
		// fonction affichage icone et tooltip au survol barre laterale : ville avec chambre
		//---------------------------------------------------------------------------------------------------
			
		function villeLateraleOver(i) {
			        			showTooltip(gmarkers[i]);
			        			gmarkers[i].setImage(iconeVilleOver);		
			        			
			        		} 
			        		
		//---------------------------------------------------------------------------------------------------
		// fonction affichage icone et tooltip au survol barre laterale : ville sans chambre dans fenetre recherche
		//---------------------------------------------------------------------------------------------------
			
		function villeLateraleOverRecherche(i) {
			        			showTooltip(gmarkers[i]);
			        			gmarkers[i].setImage(iconeVilleOverVide);		
			        			
			        		} 
		
		//---------------------------------------------------------------------------------------------------
		// fonction affichage icone et tooltip au survol barre laterale : ville sans chambre
		//---------------------------------------------------------------------------------------------------
			
		function villeLateraleOverVide(i) {
			        			showTooltip(gmarkers[i]);
			        			        			
			        		} 	
		
		
		//---------------------------------------------------------------------------------------------------
		// fonction masquage icone et tooltip au survol barre laterale : ville avec chambre
		//---------------------------------------------------------------------------------------------------
		
		function villeLateraleOut(i) {
			        			tooltip.style.visibility="hidden";
			        			gmarkers[i].setImage(iconeVilleNormal);	
			        			
			        		} 
			        		
		//---------------------------------------------------------------------------------------------------
		// fonction masquage icone et tooltip au survol barre laterale : ville sans chambre
		//---------------------------------------------------------------------------------------------------
		
		function villeLateraleOutVide(i) {
			        			tooltip.style.visibility="hidden";
			        			
			        		} 
			        		
			        		
			
		//---------------------------------------------------------------------------------------------------
		// Fonction centrage suite a selection ville dans liste 
		//---------------------------------------------------------------------------------------------------
		
			function centrageVille(lat,long,i,bulle,bulleMax,ville) {
				
    			tooltip.style.visibility="hidden";
    			carte.setCenter(new GLatLng(lat,long),11);
    	
    			// Si la ville a des chambres, affichage de la bulle : si pas de chambre, le nom de la vilel n'est pas transmis
    			if (ville!='-' ) { 
    				gmarkers[i].openInfoWindowHtml(bulle,{maxContent:bulleMax});	
    			}
 					        										        						        			
			}
			
			
		//---------------------------------------------------------------------------------------------------
		// Fonction centrage suite a  recherche : zoom sur la ville choisie
		//---------------------------------------------------------------------------------------------------
		
			function centrageVilleRecherche(lat,long) {
			        			
    			tooltip.style.visibility="hidden";
    			carte.setCenter(new GLatLng(lat,long),11);
	        										        						        			
			}
		
		/*	  
		//---------------------------------------------------------------------------------------------------
		// Fonction affichage bulle suite a selection du marker : pas de zoom, pas de centrage :  PAS UTLISEE 05/10/2008
		//---------------------------------------------------------------------------------------------------
		
			function affichageBulleVille(i,bulle,bulleMax,ville) {      
				tooltip.style.visibility="hidden";
    			gmarkers[i].openInfoWindowHtml(bulle,{maxContent:bulleMax});	
			}
			*/

		//---------------------------------------------------------------------------------------------------
		// Fonction transfert ville selectionne dans page de recherche
		//---------------------------------------------------------------------------------------------------
		
			function transfertSelection ( codeDepartement,IDVille, long, lat ) {
				afficherMessageAttente();
				window.location.replace('choix_ville.php?code_departement='+codeDepartement+'&ville_recherche='+IDVille +'&lat_recherche=' + lat +'&long_recherche=' +long+'&date='+ Date("mdHis"));
			}
			



	//******************************************************************************************************
	// fonctions affichage departements
	//******************************************************************************************************
	
    	
		//----------------------------------------------------------------------
       	// Creation de la carte centree sur la france
        //----------------------------------------------------------------------
       				   
		function afficheCarteAccueil() {
			    
			    var lat=46.9;
    			var long=1.52 ;		       	
		       	var carte = new GMap2(document.getElementById("carte"));
		       				       	
		       	// Ajuste la transparence de la carte pour moins de contraste
		       	G_NORMAL_MAP.getTileLayers()[0].getOpacity = function () {return 0;};

		       	
		       	//carte.addControl(new GMapTypeControl());
		       	//carte.setMapType(G_SATELLITE_MAP);
		       	carte.setMapType(G_PHYSICAL_MAP);
		       	
		       	G_PHYSICAL_MAP.getTileLayers()[0].getOpacity = function () {return 0;};
		       	
		       	carte.setCenter(new GLatLng(lat,long),6);
  				carte.disableDragging();
  				carte.disableDoubleClickZoom();
	
	
    			return carte;
		}
		
		//---------------------------------------------------------------------------------------------------
    	function affiche_bordures_departements_france() {

		      //var forme_dep = new GGeoXml("http://toutesleschambresdhotes.com/kml/departements_ok.kml");
		      var forme_dep = new GGeoXml("http://toutesleschambresdhotes.com/kml/departements_base_white.kml");
		      carte.addOverlay(forme_dep);
    	}
		
		//----------------------------------------------------------------------
       	// Creation de la carte PHYSICAL
        //----------------------------------------------------------------------
       				   
		function afficheCarteAccueilPhysical() {
			    
			    var lat=46.9;
    			var long=1.65 ;		       	
		       	var carte = new GMap2(document.getElementById("carte"));
		       				       	
		       	// Ajuste la transparence de la carte pour moins de contraste
		       	G_NORMAL_MAP.getTileLayers()[0].getOpacity = function () {return 11;};
		       	
		       	//carte.addControl(new GMapTypeControl());
		       	//carte.setMapType(G_SATELLITE_MAP);
		       	carte.setMapType(G_PHYSICAL_MAP);
		       	
		       	carte.setCenter(new GLatLng(lat,long),6);
  				carte.disableDragging();
  				carte.disableDoubleClickZoom();
	
	
    			return carte;
		}
		
		//---------------------------------------------------------------------------------------------------
    	function affiche_bordures_departements_france_physical() {

		      //var forme_dep = new GGeoXml("http://toutesleschambresdhotes.com/kml/departements_ok.kml");
		      var forme_dep = new GGeoXml("http://toutesleschambresdhotes.com/kml/departements_base_white.kml");
		      carte.addOverlay(forme_dep);
    	}
    	    	
	    

   	
    	
  		// -----------------------------------------------------------------------------	
		// Creation Marqueur du centre des departements, configuration des actions mouseover et click					
		// -----------------------------------------------------------------------------	



    	function createMarkerDepartement(point,nomDepartement,codeDep,nbreChambresDep) {
		    
              
                // tableau des path des icones pour affichage a partir du survol de la barre laterale
		      	icone_dep_normal[i]		='images/icones/' + codeDep + '.png';
  	  			icone_dep_over[i]		='images/icones/' + codeDep + '_over.png';
                
                // definition des marqueurs	
    			var Icon = new GIcon(G_DEFAULT_ICON); 
				Icon.iconSize=new GSize(22,22);
				Icon.shadowSize=new GSize(0,0);
				Icon.iconAnchor=new GPoint(11,11);
				Icon.infoWindowAnchor=new GPoint(2,0);
   				Icon.image = icone_dep_normal[i];


				// creation du marqueur
        		var marker = new GMarker(point,Icon);

				 // save the info we need to use later for the side_bar
		        gmarkers[i] = marker;
        					    			
    			// chaine html pour les tooltips des markers
    			//marker.tooltip = '<div class="tooltip_dep"><img src="images/etiquettes/'+codeDep+'.png"></div>';
    			//marker.tooltip = '<div class="tooltip_ville"><pre> '+ nomDepartement + ' -  '+ nbreChambresDep +' adr. </pre></div>';
				marker.tooltip = '<div class="tooltip_ville"><pre> '+ nomDepartement + ' -  '+ nbreChambresDep +' adr. </pre></div>';
			
        		// affectation des fonctions mouseover et  click sur marqueur
        		GEvent.addListener(marker, "click", function() {window.location.replace('pages/choix_ville.php?code_departement='+ codeDep +'&date='+ Date("mdHis") )});
        		GEvent.addListener(marker, "mouseover", function() {marker.setImage('images/icones/' + codeDep + '_over.png');showTooltip(marker);});
        		GEvent.addListener(marker, "mouseout", function() {marker.setImage('images/icones/' + codeDep + '.png'); tooltip.style.visibility="hidden"});
        		
				        
		        // Ajout de la ligne dans la barre laterale

		     	// html_liste_departements += '<a href="pages/choix_ville.php?code_departement='+ codeDep +'" onmouseover="barreLateraleOver('+i+')" onmouseout="barreLateraleOut('+i+')"><div class="lien_liste">' + codeDep + " - " + nomDepartement + '</div></a>';    	
		     	//html_liste_departements += '<a href="javascript:transfertDepartement('+codeDep+', \'index\')" onmouseover="barreLateraleOver('+i+')" onmouseout="barreLateraleOut('+i+')"><div class="lien_liste">' + codeDep + " - " + nomDepartement + ' - ( ' + nbreChambresDep + ' ch ) </div></a>';
		     	if ( codeDep <10 )
		     	var codeDepListe = '0'+codeDep;
		     	else
		     	var codeDepListe=codeDep; 
		     	
		     	html_liste_departements += '<a href="javascript:transfertDepartement('+codeDep+', \'index\')" onmouseover="barreLateraleOver('+i+')" onmouseout="barreLateraleOut('+i+')"><div class="lien_liste">' + codeDepListe + " - " + nomDepartement + '<span class="nbre_chambres_departement_liste">  ' + nbreChambresDep + ' adr.</span></div></a>';
		     	
		     			     			     	
		        i++;
		        
		        return marker;		
			} // fin function create marker
		
  			
		
		//---------------------------------------------------------------------------------------------------
		// function affichage icone et tooltip au survol du menu deroulant
		
		function barreLateraleOver(i) {
	    			showTooltip(gmarkers[i]);
	    			gmarkers[i].setImage(icone_dep_over[i]);		
	    			
	    		} 
			        		
		//---------------------------------------------------------------------------------------------------
		// function masquage icone et tooltip a la sortie du menu deroulant
		
		function barreLateraleOut(i) {
        			tooltip.style.visibility="hidden"
        			gmarkers[i].setImage(icone_dep_normal[i]);		
        			
        		} 

			
			
		//---------------------------------------------------------------------------------------------------
		// Fonction transfert departement selectionne dans page de choix de ville
		//---------------------------------------------------------------------------------------------------
		
			function transfertDepartement ( codeDepartement, page ) {
				afficherMessageAttente();
				if (page=='index') 
					// on arrive de l'index
					window.location.replace('pages/choix_ville.php?code_departement='+ codeDepartement + '&date='+ Date("mdHis"));
				else 
					//on arrive de la page de choix villes
					window.location.replace('choix_ville.php?code_departement='+ codeDepartement + '&date='+ Date("mdHis"));
			}
