var req = null; var height = 0;

/* 	Carte de France */

	function searchDpt(dpt){
		document.getElementById("search_departement").value = dpt;
		document.getElementById("search_form").submit();
	}

/* Page liste points de vente */

/* Valide le formulaire */

	function validateForm(){
		document.getElementById("form_affiner").submit();
	}

/* changer le tri */

	function orderBy(field){
		if ( document.getElementById("orderBy").value == field )
		{
			if ( document.getElementById("orderType").value == "ASC" )
			{
				document.getElementById("orderType").value = "DESC";
			}
			else
			{
				document.getElementById("orderType").value = "ASC";
			}
		}
		else{
			document.getElementById("orderBy").value = field;
			document.getElementById("orderType").value = "ASC";
		}
		validateForm();
	}
	
	function modifyIndexContrainte(index) {
		var v = document.getElementById(index).value;
		var tmp = v.split("*");
		var value = tmp[0];
		var contrainte = tmp[1];
		if ( document.getElementById("index_contrainte").value != contrainte )
		{
			document.getElementById("index_contrainte").value = contrainte;
			document.getElementById("flag_contrainte").value = "on";
			validateForm();
		}	
	}
	
/* Supprime un critere precedemment valide */
	function removeCritere(index){
		document.getElementById("toDelete").value = index;
		validateForm();
	}

/* modifier la ville */
	
	function modifVille(ville){
		document.getElementById('modif1').value = ville.toLowerCase();
		document.getElementById('modif2').value = ville.toLowerCase();
		validateForm();
	}
	
/* ajoute la gestion des evenements onclick sur le tableau de resultats */
	function addOnClickEvents () {
		var resultTable 		= document.getElementById("tab_resultat");
		if (resultTable)
		{
			var resultCells 		= resultTable.getElementsByTagName('td');	
			for (var i = 0; i<resultCells.length; i++)
			{	// on exclue les liens existants
				if(resultCells[i].firstChild.tagName != 'A' && resultCells[i].className != "suppr")
				{
					resultCells[i].onclick = function () {
						if (this.parentNode.className.substring(0, 10) != "ligne_info")
						{
							var pdv_id = this.parentNode.id;
							pdv_id = pdv_id.substring(3, pdv_id.length);
							getPopup(pdv_id);
						}
					}
					resultCells[i].onmouseover = function () {
						this.style.cursor = "pointer";
					}
				} 
				else if (resultCells[i].className == 'suppr' && resultCells[i].getElementsByTagName('a')[0])
				{
					resultCells[i].getElementsByTagName('a')[0].onclick = function () 
					{
						return confirm ("Voulez-vous vraiment supprimer ce point de vente\nde la liste de vos favoris ?");
					}
				}
			}
		}
	}
	
	var zoomLevelMM 	= 0;		var zoomLevel2MM 	= 0;		var echelleMM		= 0;
	
	
/* ouverture de popup */
	function getPopup(pdv_id){
		 var req = null;
		  if(window.XMLHttpRequest)
		  { 
		  	req = new XMLHttpRequest();
		  }
		  else if (window.ActiveXObject)
		  {  
	   		req = new ActiveXObject("Microsoft.XMLHTTP"); 
		  }
	
		  req.onreadystatechange = function()
		  {
		    if(req.readyState == 4)
		    {
		       if(req.status == 200)
		       {
		       		// Traitement sans erreurs
		       		
		       		// Supressions des autres popups
		       		var allDiv = document.getElementsByTagName("div");     		
		       		for ( i = 0 ; i < allDiv.length; i++)
		       		{
		       			if ( allDiv[i].className == "popup" )
		       			{
		       				allDiv[i].style.display = "none";
		       			}
		       		}
		       		var allTr = document.getElementsByTagName("tr");     		
		       		for ( i = 0 ; i < allTr.length; i++)
		       		{
		       			if ( allTr[i].className == "ligne_info_on" )
		       			{
		       				allTr[i].className = "ligne_info_off";
		       			}
		       		}
		       		document.getElementById("ligne_info_"+pdv_id).className = "ligne_info_on";
		       		document.getElementById("pdv_info_"+pdv_id).style.display = "block";
		      		document.getElementById("pdv_info_"+pdv_id).innerHTML = req.responseText;
		      		
		      		var height2 = document.getElementById("ligne_info_"+pdv_id).offsetTop;
		      		height2=height2+height;
					window.scrollTo(0,height2);
		      		
		      		echelleMM = 90;
		      		getMap(pdv_id);
		       }
		       else
		       {
		           // Supressions des autres popups
		       		var allDiv = document.getElementsByTagName("div");     		
		       		for ( i = 0 ; i < allDiv.length; i++)
		       		{
		       			if ( allDiv[i].className == "popup" )
		       			{
		       				allDiv[i].style.display = "none";
		       			}
		       		}
		       		var allTr = document.getElementsByTagName("tr");     		
		       		for ( i = 0 ; i < allTr.length; i++)
		       		{
		       			if ( allTr[i].className == "ligne_info_on" )
		       			{
		       				allTr[i].className = "ligne_info_off";
		       			}
		       		}
		       			           
		           // Traitement si erreur
		           document.getElementById("ligne_info_"+pdv_id).className = "ligne_info_on";
				   document.getElementById("pdv_info_"+pdv_id).style.display = "block";
		           document.getElementById("pdv_info_"+pdv_id).innerHTML = "Erreur au chargement : "+ req.status + " - " + req.statusText + " - " + req.responseText;
		       }
		    }
		   };
		   
		  req.open( "POST", "index.php", true);
		  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		  req.send("module=dbgestion&action=getPopupInfo&pdv_id=" + pdv_id); 

    }
    
/* affichage map des popups */
	function getMap(pdv_id){
				
		if(req != null){ req.abort(); } else { req = null; }
		  if(window.XMLHttpRequest)
		  { 
		  	req = new XMLHttpRequest();
		  }
		  else if (window.ActiveXObject)
		  {  
	   		req = new ActiveXObject("Microsoft.XMLHTTP"); 
		  }
		  req.onreadystatechange = function()
		  {
		    if(req.readyState == 4)
		    {
		       if(req.status == 200)
		       {
		       		document.getElementById("mc_carto"+pdv_id).innerHTML = req.responseText;
		       		if(req.responseText!=""){ 
		       			init_carto(pdv_id); 
		       		}
		       		else{
		       			document.getElementById("mc_carto"+pdv_id).innerHTML = "<img src='interface/plan_vide.gif' alt='plan non disponible' />";
		       		}
		      		//if(height!="0"){ viewBulle(pdv_id); }
		       }
		    }
		   };
		  req.open( "POST", "ajax.php", true);
		  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		  req.send("module=map&action=getMap&pdv_id=" + pdv_id + "&echelle=" + echelleMM); 
    }
    
/* Ferme le popup */
    function closePopup(pdv_id){
   	 document.getElementById("pdv_info_"+pdv_id).style.display = "none";
   	 document.getElementById("ligne_info_"+pdv_id).className = "ligne_info_off";
		var allDiv = document.getElementsByTagName("div");     		
		for ( i = 0 ; i < allDiv.length; i++)
		{
			if ( allDiv[i].className == "bulle" || allDiv[i].className == "bullebig" )
			{
				allDiv[i].style.display = "none";
			}
		}
    }

/* rollover au dessus d'une icone de service */
	function displayServiceName(service_name)
	{
		document.getElementById("service_name").innerHTML = service_name;
	}
	function removeServiceNameInfo()
	{
		document.getElementById("service_name").innerHTML = "";
	}
	
/* ouverture popup to print	*/
    function printPopup(pdv_id){
    	window.open('index.php?module=dbgestion&action=getPopupInfo&pdv_id=' + pdv_id + '&print=ok' + '&zoomLevel=' + zoomLevelMM + '&echelle=' + echelleMM ,'_blank','width=830,height=330,scrollbars=yes');
    }
    
    


	function init_carto(pdv_id){
		
		var nozoom="no";

		echelleMM					= document.getElementById("mc_echelle"+pdv_id).innerHTML;
		
		if((echelleMM>=300)){							zoomLevelMM=8; 	}
		if((echelleMM>=225) && (echelleMM<300)){		zoomLevelMM=7; 	}
		if((echelleMM>=150) && (echelleMM<225)){		zoomLevelMM=6; 	}
		if((echelleMM>=90) && (echelleMM<150)){			zoomLevelMM=5; 	}
		if((echelleMM>=60) && (echelleMM<90)){			zoomLevelMM=4; 	}
		if((echelleMM>=45) && (echelleMM<60)){			zoomLevelMM=3;	}
		if((echelleMM>=30) && (echelleMM<45)){			zoomLevelMM=2; 	}
		if((echelleMM<30)){								zoomLevelMM=1; 	}
			 			
		zoomLevel2MM 				= zoomLevelMM;
		
		//initialisation de la zone carte	
		document.getElementById("mc_carto"+pdv_id).style.width = "500px";
		document.getElementById("mc_carto"+pdv_id).style.height = "300px";
		
		document.getElementById("zoom_java_tools"+pdv_id).style.display = "block";
		
		//zoom avec la barre de zoom
	    new Control.Slider('zoom_niveau'+pdv_id,'zoom_barre'+pdv_id,{onSlide:function(v){zoomLevel2MM=v; testZoom(); },sliderValue:zoomLevelMM,handleImage:'zoom_curseur'+pdv_id,axis:'vertical',range:$R(1,8),values:[1,2,3,4,5,6,7,8]});
		
		function testZoom(){
			if(zoomLevel2MM!=zoomLevelMM){
				zoomLevelMM=zoomLevel2MM;
				calculEchelleMM();
				getMap(pdv_id);
			}			
		}
		
/* zoom avec les boutons interface */
		document.getElementById('zoom_plus'+pdv_id).onclick= function() { 
			 if(zoomLevelMM>1){ zoomLevelMM=zoomLevelMM-1; }
			 new Control.Slider('zoom_niveau'+pdv_id,'zoom_barre'+pdv_id,{sliderValue:zoomLevelMM,handleImage:'zoom_curseur'+pdv_id,axis:'vertical',range:$R(1,8),values:[1,2,3,4,5,6,7,8]}); 
			 calculEchelleMM();
			 getMap(pdv_id);				
		}
		document.getElementById('zoom_moins'+pdv_id).onclick= function() {
			 	if(zoomLevelMM<8){ zoomLevelMM=zoomLevelMM+1; }
			 new Control.Slider('zoom_niveau'+pdv_id,'zoom_barre'+pdv_id,{sliderValue:zoomLevelMM,handleImage:'zoom_curseur'+pdv_id,axis:'vertical',range:$R(1,8),values:[1,2,3,4,5,6,7,8]}); 
			 calculEchelleMM();
			 getMap(pdv_id);			
		}
		
/* zoom avec molette souris */
		document.getElementById('mc_carto'+pdv_id).onmouseover= function() { 
		  if (window.addEventListener){
		    // mozilla
		    window.addEventListener('DOMMouseScroll', zoommap, false);
		  }
		  // ie opera
		  window.onmousewheel = document.onmousewheel = zoommap;
		}
		document.getElementById('mc_carto'+pdv_id).onmouseout= function() { 
		  if (window.removeEventListener){
		    // mozilla
		    window.removeEventListener('DOMMouseScroll', zoommap, false);
		  }
		  // ie opera
		  window.onmousewheel = document.onmousewheel = '';
		}
		function zoommap(event){
			
			if(nozoom=="no"){
				var delta = 0;
				if (!event) event = window.event;
				if (event.wheelDelta) {
					delta = event.wheelDelta/120; 
					if (window.opera) delta = -delta;
				} else if (event.detail) {
					delta = -event.detail/3;
					nozoom="yes";
				}
				if (delta){	
					if(delta<0){
					 	if(zoomLevelMM<8){ zoomLevelMM=zoomLevelMM+1; }
					} else{
					 	if(zoomLevelMM>1){ zoomLevelMM=zoomLevelMM-1; }
					}	
				 	new Control.Slider('zoom_niveau'+pdv_id,'zoom_barre'+pdv_id,{sliderValue:zoomLevelMM,handleImage:'zoom_curseur'+pdv_id,axis:'vertical',range:$R(1,8),values:[1,2,3,4,5,6,7,8]}); 			 	
					calculEchelleMM();
					getMap(pdv_id);							
				}
			}
		}
	}
	
/* calcul echelleMM par rapport au zoomLevelMM */
	function calculEchelleMM(){
		if(zoomLevelMM==8){	echelleMM=300; 	}
		if(zoomLevelMM==7){	echelleMM=225; 	}
		if(zoomLevelMM==6){	echelleMM=150; 	}
		if(zoomLevelMM==5){	echelleMM=90; 	}
		if(zoomLevelMM==4){	echelleMM=60; 	}
		if(zoomLevelMM==3){	echelleMM=45; 	}
		if(zoomLevelMM==2){	echelleMM=30; 	}
		if(zoomLevelMM==1){	echelleMM=15; 	}
	}

	function validateFormItineraire(iti){
		document.getElementById("itineraire_"+iti).submit();
	}
	
	// Code ajax pour l'ajout d'un pdv aux favoris
	function addToFavorites(pdv_id)
	{	// fermeture de la popup eventuellement ouverte
		if (document.getElementById("alert").style.display != 'none')
		{
			closeAlert();
		}
		var req = null;
		if(window.XMLHttpRequest)
		{ 
			req = new XMLHttpRequest();
		}
		else if (window.ActiveXObject)
		{  
	   		req = new ActiveXObject("Microsoft.XMLHTTP"); 
		}
		req.onreadystatechange = function()
		{
			if(req.readyState == 4)
			{
				var infoBox = document.getElementById("alert");
				if(req.status == 200)
				{
					// Traitement sans erreur
					//affichage d'un message de confirmation
					infoBox.innerHTML =		req.responseText+infoBox.innerHTML; // NE PAS ALLER A LA LIGNE
				}
				else
				{		           
					// Traitement si erreur
					infoBox.getElementsByTagName('div')[0].innerHTML = "Erreur lors de l'enregistrement.<br />Le point de vente n'a pas pu &ecirc;tre ajout&eacute; &agrave; votre liste."+infoBox.innerHTML;
				}
				//var top = ordonnee(document.getElementById('pdv'+pdv_id));
				var top = 200;
				infoBox.style.top = top-50+'px'; // -50px pour ajouter l'affichage
				with(infoBox.style)
				{	
					display 		= "block";
					margin 			= "0";
					width 			= "400px";
					position 		= "absolute";
					left 			= "150px";
					zIndex			= "100";
					padding			= "20px";
					color 			= "#000";
					fontWeight 		= "bold";
					background		= "#fff";
					border			= "1px solid #00A6EB";
				}
			}
		};
		req.open("POST", "index.php", true);
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.send("module=internaute&action=addFavorite&pdv_id=" + pdv_id);
	}
	
	function closeAlert() {
		document.body.style.overflow = 'auto';
		var infoBox = document.getElementById("alert");
		infoBox.innerHTML = '<a href="javascript:closeAlert();" title="fermer cette fen&ecirc;tre" class="close">Fermer</a>';
		with(infoBox.style) {
			display 		= "none";
			zIndex			= "0";
		}
		var select = document.getElementsByTagName('select');
		for(var i = 0; i<select.length; i++)
		{
			select[i].style.display = "inline";
		}
	}