var xhr = null; 
function getXhr()
{
     if(window.XMLHttpRequest)xhr = new XMLHttpRequest(); 
else if(window.ActiveXObject)
  { 
  try{
     xhr = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (e) 
     {
     xhr = new ActiveXObject("Microsoft.XMLHTTP");
     }
  }
else 
  {
  alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
  xhr = false; 
  } 
  
  return xhr;
}


	function actualise_menu(modele){
		var xhr = getXhr()
		// On défini ce qu'on va faire quand on aura la réponse
		xhr.onreadystatechange = function(){
	
			  if(xhr.readyState == 4 && xhr.status == 200)
			  {
			    document.getElementById('contenu_menu').innerHTML = xhr.responseText;
			  }
}
		xhr.open("POST","programme-ajax/prevision/map_modele/actualise_menu.php",true);
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		xhr.send("modele="+modele+"");
		
		if(modele == 'gfs'){
		document.getElementById('gfslr').innerHTML = '| <a href="javascript:actualise_menu(\'gfslr\');">Longues écheances, de 192 à 384h</a> | <a href="gfs-txt-data.php">Données texte de GFS 1°</a>';
		}
		else if(modele == 'gfslr'){
		document.getElementById('gfslr').innerHTML = '| <a href="javascript:actualise_menu(\'gfs\');">Courtes écheances, de 06 à 180h</a> | <a href="gfs-txt-data.php">Données texte de GFS 1°</a>';
		}
	}



function change_map(echeance){
// On récupère les valeurs
var type_data = document.getElementById("type_data").value;
var modele = document.getElementById("modele").value;
var zoom_map = document.getElementById("zoom_map").value;

if(modele == 'cfs'){
}else{
document.getElementById("echeance_html").innerHTML =  "+"+echeance+"H";
}

document.getElementById("echeance").value = echeance;
	document.getElementById("map").src = "modeles/"+modele+"/"+type_data+"-"+echeance+""+zoom_map+".png";
}

function change_lat(zoom_map){
// On récupère les valeurs
var type_data = document.getElementById("type_data").value;
var echeance = document.getElementById("echeance").value;
var modele = document.getElementById("modele").value;


document.getElementById("latitude_html").innerHTML =  " - "+zoom_map+"°";

document.getElementById("zoom_map").value = "-"+zoom_map;
	document.getElementById("map").src = "modeles/"+modele+"/"+type_data+"-"+echeance+"-"+zoom_map+".png";
}

function change_lat1(zoom_map){
// On récupère les valeurs
var type_data = document.getElementById("type_data").value;
var echeance = document.getElementById("echeance").value;
var modele = document.getElementById("modele").value;


document.getElementById("latitude_html").innerHTML =  " - "+zoom_map+"";

document.getElementById("zoom_map").value = "-"+zoom_map;
	document.getElementById("map").src = "modeles/"+modele+"/"+type_data+"-"+echeance+"-"+zoom_map+".png";
}

function change_data(type_data){
// On récupère les valeurs
var echeance = document.getElementById("echeance").value;
var modele = document.getElementById("modele").value;
var zoom_map = document.getElementById("zoom_map").value;

document.getElementById("type_data").value = type_data;

	document.getElementById("map").src = "modeles/"+modele+"/"+type_data+"-"+echeance+""+zoom_map+".png";
}

function change_graph_gefs(){
var latitude = this.document.getElementById('latitude').value;
var longitude = this.document.getElementById('longitude').value;
var data = this.document.getElementById('data').value;
document.getElementById("html_data").innerHTML =  "Latitude : "+latitude+"° - Longitude "+longitude+"°";
document.getElementById('map').src = "graphiques/graph-gefs.png?data="+data+"&lo="+longitude+"&la="+latitude+"";
document.getElementById('mapmoy').src = "graphiques/graphmoy-gefs.png?data="+data+"&lo="+longitude+"&la="+latitude+"";
	}
	
	
	
	
	
	function change_data1(type_data){
// On récupère les valeurs
var echeance = document.getElementById("echeance").value;
var modele = document.getElementById("modele").value;
var zoom_map = document.getElementById("zoom_map").value;

document.getElementById("type_data").value = type_data;

	document.getElementById("map").src = "modeles/"+modele+"/"+echeance+"_"+type_data+".png";
}


function change_map1(echeance){
// On récupère les valeurs
var type_data = document.getElementById("type_data").value;
var modele = document.getElementById("modele").value;
var zoom_map = document.getElementById("zoom_map").value;

if(modele == 'cfs'){
}else{
document.getElementById("echeance_html").innerHTML =  "+"+echeance+"H";
}

document.getElementById("echeance").value = echeance;
document.getElementById("map").src = "modeles/"+modele+"/"+echeance+"_"+type_data+".png";
}












	function change_map_wrf(value,type,modele){
	
	function strlen(strVar){return(strVar.length)}
	
	var data = document.getElementById("data").value;
	var ech = document.getElementById("ech").value;
	var data_html = "";
	
	var date_wrf = document.getElementById("date_wrf").value;

	if(strlen(date_wrf) != 14){ var date_wrf_stock = ''; }else {var date_wrf_stock = "stock/"+date_wrf; }
	
	
	if(modele == 'wrffr'){
		/* Si le type = données */
		if(type == 'data'){
			//on regarde maintenant si la value est bonne
			if((value == 'tempe' || value == '850iso' || value == 'rr' || value == 'rr6h' || value == 'accumpc' || value == 'wind' || value == 'nebubc' || value == 'nebutot' || value == 'rh' || value == 'rh700' || value == 'cape' || value == 'vvel') && (ech >= 2 && ech <= 73)){
			//On modifie l'url de la carte
			document.getElementById("map_wrf").src = 'http://grib.meteorologic.net/map/'+date_wrf_stock+value+'-'+ech+'.png';
			document.getElementById("data").value = value;
			}
		
		}
		else if(type=='ech'){
			//on regarde maintenant si la data est bonne
			if((data == 'tempe' || data == '850iso' || data == 'rr' || data == 'rr6h' || data == 'accumpc' ||  data == 'wind' || data == 'nebubc' || data == 'nebutot' || data == 'rh' || data == 'rh700' || data == 'cape' || data == 'vvel') && (value >= 2 && value <= 73)){
			//On modifie l'url de la carte
			document.getElementById("map_wrf").src = 'http://grib.meteorologic.net/map/'+date_wrf_stock+data+'-'+value+'.png';
			document.getElementById("ech").value = value;
			
			
			var value_new = value;
			var value_new1 = value;
			//On s'occupe du moins
			if(value_new != 2){ document.getElementById("moins").innerHTML = "<< <a href=\"#\" onclick=\"javascript:change_map_wrf('"+(value_new-1)+"','ech','wrffr');return false;\">+ "+(value_new-2)+"H</a>"; } else {document.getElementById("moins").innerHTML = ""; }
			//Le plus
			if(value_new != 72){  document.getElementById("plus").innerHTML = "<a href=\"#\" onclick=\"javascript:change_map_wrf('"+(parseInt(value)+1)+"','ech','wrffr');return false;\">+ "+(value_new)+"H</a> >>"; }
			
			//On va faire un for sur les écheances
			for (i=1; i<=72; i++) {
			var ii = i;
					if (i == value){
					data_html += '<option value="'+(i+1)+'" selected>+'+(ii-1)+'h</option>';
					}else{
					data_html += '<option value="'+(i+1)+'">+'+(ii-1)+'h</option>';
					}
			
			//Fin du for
			}
			
			//On envoie les données en innerHTML
			document.getElementById("select_change").innerHTML = data_html;
			
			
			}
			
			
			
			}
		
	
	
	}
	
	else if(modele == 'wrfalpes'){
		/* Si le type = données */
		if(type == 'data'){
			//on regarde maintenant si la value est bonne
			if((value == 'tempe' || value == '850iso' || value == 'rr' || value == 'rr6h' || value == 'accumpc' ||  value == 'wind' || value == 'nebubc' || value == 'nebutot' || value == 'rh' || value == 'rh700' || value == 'cape' || value == 'vvel') && (ech >= 2 && ech <= 19)){
			//On modifie l'url de la carte
			document.getElementById("map_wrf").src = 'http://grib.meteorologic.net/map/'+value+'-alpes-'+ech+'.png';
			document.getElementById("data").value = value;
			}
		
		}
		else if(type=='ech'){
			//on regarde maintenant si la data est bonne
			if((data == 'tempe' || data == '850iso' || data == 'rr' || data == 'rr6h' || data == 'accumpc' ||  data == 'wind' || data == 'nebubc' || data == 'nebutot' || data == 'rh' || data == 'rh700' || data == 'cape' || data == 'vvel') && (value >= 2 && value <= 19)){
			//On modifie l'url de la carte
			document.getElementById("map_wrf").src = 'http://grib.meteorologic.net/map/'+data+'-alpes-'+value+'.png';
			document.getElementById("ech").value = value;
			
			
			
			
			var value_new = value;
			var value_new1 = value;
			//On s'occupe du moins
			if(value_new != 2){ document.getElementById("moins").innerHTML = "<< <a href=\"#\" onclick=\"javascript:change_map_wrf('"+(value_new-1)+"','ech','wrfalpes');return false;\">+ "+(value_new-2)+"H</a>"; } else {document.getElementById("moins").innerHTML = ""; }
			//Le plus
			if(value_new != 18){  document.getElementById("plus").innerHTML = "<a href=\"#\" onclick=\"javascript:change_map_wrf('"+(parseInt(value)+1)+"','ech','wrfalpes');return false;\">+ "+(value_new)+"H</a> >>"; }
			
			//On va faire un for sur les écheances
			for (i=1; i<=19; i++) {
			var ii = i;
					if (i == value){
					data_html += '<option value="'+(i+1)+'" selected>+'+(ii-1)+'h</option>';
					}else{
					data_html += '<option value="'+(i+1)+'">+'+(ii-1)+'h</option>';
					}
			
			//Fin du for
			}
			
			//On envoie les données en innerHTML
			document.getElementById("select_change").innerHTML = data_html;
			
			
			
			
			
			
			
			
			
			
			}
			
			
		
		}
		
	
	
	}
	
	
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	

	
function is_numeric (mixed_var) {
    return (typeof(mixed_var) === 'number' || typeof(mixed_var) === 'string') && mixed_var !== '' && !isNaN(mixed_var);
}
	
	
	
	
function change_map_wrf_ville(value,type,modele){
	
	function strlen(strVar){return(strVar.length)}
	
	var data = document.getElementById("data").value;
	var ech = document.getElementById("ech").value;
	var lat = document.getElementById("lat").value;
	var lon = document.getElementById("lon").value;
	var data_html = "";
	
	
	if(is_numeric(lat) == true &&  is_numeric(lon) == true && (modele == 'fr' || modele == 'medit')){

		/* Si le type = données */
		if(type == 'data'){
			//on regarde maintenant si la value est bonne
			if((value == 'accuneige' || value == 'accurr' || value == 'risqueorageux' || value == 'nebuhc' || value == 'nebumc' || value == 'windmoy' || value == 'rr' || value == 'neige' || value == 'tempe' || value == 'tempesol' || value == '850iso' || value == 'windchill' || value == 'humidex' || value == 'dewp' || value == 'hr' || value == 'rh700' || value == 'wind' || value == '850wind' || value == '700wind' || value == 'nebubc' || value == 'nebu' || value == 'cape' || value == 'vvel' || value == 'ko' || value == 'hr' || value == 'cisaillement' || value == 'storm') && (ech >= 1 && ech <= 60)){
			//On modifie l'url de la carte
			document.getElementById("map_wrf").src = 'http://pro.meteorologic.net/map.php?var='+value+'&ech='+ech+'&p='+modele+'&la='+lat+'&lo='+lon+'';
			document.getElementById("data").value = value;
			
			
			//On change la légende
			if(value == 'rr' || value == 'neige'){ document.getElementById("legende").src = 'images/wrf-legendes/rr.png'; }
			else if(value == 'tempe' || value == 'tempesol' || value == 'humidex' || value == 'windchill' || value == 'dewp'){ document.getElementById("legende").src = 'images/wrf-legendes/t2m.png'; }
			else if(value == 'wind' || value == 'windmoy' || value == '850wind' || value == '700wind' || value == 'cisaillement' || value == 'storm'){ document.getElementById("legende").src = 'images/wrf-legendes/wind.png'; }
			else if(value == '850iso'){ document.getElementById("legende").src = 'images/wrf-legendes/t850.png'; }
			else if(value == 'hr' || value == 'rh700'){ document.getElementById("legende").src = 'images/wrf-legendes/hr.png'; }
			else if(value == 'cape'){ document.getElementById("legende").src = 'images/wrf-legendes/cape.png'; }
			else if(value == 'nebubc' || value == 'nebu' || value == 'nebumc' || value == 'nebuhc'){ document.getElementById("legende").src = 'images/wrf-legendes/nebu.png'; }
			else if(value == 'vvel'){ document.getElementById("legende").src = 'images/wrf-legendes/vvel.png'; }
			else if(value == 'ko'){ document.getElementById("legende").src = 'images/wrf-legendes/ko.png'; }
			else if(value == 'risqueorageux'){ document.getElementById("legende").src = 'images/wrf-legendes/risqueorageux.png'; }
			else if(value == 'accurr' || value == 'accuneige'){ document.getElementById("legende").src = 'images/wrf-legendes/accu-rr.png'; }


			document.getElementById("anim").innerHTML = '<a href="modeles/wrf/anim.php?var='+value+'&p='+modele+'&la='+lat+'&lo='+lon+'" target="_blank">Animer</a>';

			  
			  
			  
			}
		
		}
		else if(type=='ech'){
			//on regarde maintenant si la data est bonne
			if((data == 'accuneige' || data == 'accurr' || data == 'risqueorageux' || data == 'nebuhc' || data == 'nebumc' || data == 'windmoy' || data == 'rr' || data == 'neige' || data == 'tempe' || data == 'tempesol' || data == '850iso' || data == 'windchill' || data == 'humidex' || data == 'dewp' || data == 'hr' || data == 'rh700' || data == 'wind' || data == '850wind' || data == '700wind' || data == 'nebubc' || data == 'nebu' || data == 'cape' || data == 'vvel' || data == 'ko' || data == 'hr' || data == 'cisaillement' || data == 'storm') && (ech >= 1 && ech <= 60)){
			//On modifie l'url de la carte
document.getElementById("map_wrf").src = 'http://pro.meteorologic.net/map.php?var='+data+'&ech='+value+'&p='+modele+'&la='+lat+'&lo='+lon+'';			
document.getElementById("ech").value = value;
			
			
			var value_new = value;
			var value_new1 = value;
			//On s'occupe du moins
			if(value_new != 2){ document.getElementById("moins").innerHTML = "<< <a href=\"#\" onclick=\"javascript:change_map_wrf_ville('"+(value_new-1)+"','ech','"+modele+"');return false;\">+ "+(value_new-1)+"H</a>"; } else {document.getElementById("moins").innerHTML = ""; }
			//Le plus
			if(value_new != 60){  document.getElementById("plus").innerHTML = "<a href=\"#\" onclick=\"javascript:change_map_wrf_ville('"+(parseInt(value)+1)+"','ech','"+modele+"');return false;\">+ "+(parseInt(value_new)+1)+"H</a> >>"; }
			
			if(modele == 'fr'){ var i_fin = 60; } else if(modele == 'medit'){ var i_fin = 27; }
			
			//On va faire un for sur les écheances
			for (i=1; i<=i_fin; i++) {
			var ii = i;
					if (i == value){
					data_html += '<option value="'+(i)+'" selected>+'+(ii)+'h</option>';
					}else{
					data_html += '<option value="'+(i)+'">+'+(ii)+'h</option>';
					}
			
			//Fin du for
			}
			
			//On envoie les données en innerHTML
			document.getElementById("select_change").innerHTML = data_html;
		
			}

		}

	}
//Fin de la function	
}


