

function init_liste_objet_3d() {
	// Liste des objets 3D
		var s='<select size="6" onchange="init_platforme(this.value)" onblur="button_focus();"  id="liste_objets">';
		var i=0; 
		for (i=0;i<objet_3d.length;i++) { // Objets 3d de base. Autres sont des objets d'animation complémentaires
			if (objet_3d[i].base) {
				var sel="";
				if (objet_3d[i].nom.indexOf(mobile, 0)>=0) sel='selected="selected"';
				s+='<option value="'+i+'" '+sel+ ' >'+objet_3d[i].nom+'</option>';
			}
		}
		s+='</select>';
		document.getElementById("choix_3d").innerHTML=s;
}
function init_site() {
	// Liste des sites
		var	s='<select size="6" id="sel_site" onchange="force_site(this.value)" onblur="button_focus();" class="liste_sites">';
		var i=0;var sel='selected="selected"';
		if (site.length>0) sel="";
		for (i=0;i<nom_lieu.length;i++) {
			if (nom_lieu[i].indexOf(site, 0)>=0 && site.length>0) {
				sel='selected="selected"';
				var f='force_site('+i+');update_map();info_wp();'
				setTimeout(f,2000);  // Donne temps para arrivé
			}
			s+='<option value="'+i+'" '+sel+ ' >'+nom_lieu[i]+'</option>';
			sel="";
		}
		s+='</select>';
		document.getElementById("les_sites").innerHTML=s;
}


function mode_auto(x){
	vehicule.auto=x;
	if(x){
		document.getElementById("manu_on").style.display="none";
		document.getElementById("auto_on").style.display="block";
		vehicule.timer_auto=-1;
	} else {
		document.getElementById("manu_on").style.display="block";
		document.getElementById("auto_on").style.display="none";
		vehicule.timer_auto=30;
		
	}
}
function timer_manu(){
	
	if(vehicule.timer_auto>0) {
		vehicule.timer_auto--;
		
	} else {
		mode_auto(true);
	}
	setTimeout("timer_manu();",1000);
}

/* Mise en page */
/****************/

function flip_flop_screen() {
		zoom_map=map.getZoom();
		map_type=map.getCurrentMapType();
		var t1=document.getElementById("map3d_container").style.top;
		var l1=document.getElementById("map3d_container").style.left;
		var w1=document.getElementById("map3d_container").style.width;
		var h1=document.getElementById("map3d_container").style.height;
		
		document.getElementById("map3d_container").style.top=document.getElementById("carte2d_container").style.top;
		document.getElementById("map3d_container").style.left=document.getElementById("carte2d_container").style.left;
		document.getElementById("map3d_container").style.width=document.getElementById("carte2d_container").style.width;
		document.getElementById("map3d_container").style.height=document.getElementById("carte2d_container").style.height;
		
		document.getElementById("carte2d_container").style.top=t1;
		document.getElementById("carte2d_container").style.left=l1;
		document.getElementById("carte2d_container").style.width=w1;
		document.getElementById("carte2d_container").style.height=h1;
		document.getElementById("carte2d_").style.width=w1;
		document.getElementById("carte2d_").style.height=h1;
		
		init_carte_2d();
}
//Haut et gauche de la page
function GetTop() {
	return Math.max(document.documentElement.scrollTop ,document.body.scrollTop) ;
}
function GetLeft() {
	return Math.max(document.documentElement.scrollLeft,document.body.scrollLeft);
}

function info_wp() {
	nb_wp=(nb_wp+1)%10;
	if (nb_wp==0 || update_on==false) { 
			var lat1=Math.PI*lati[idx_lat]/180;
			var lng1=Math.PI*lngi[idx_lat]/180;
			var lat2=Math.PI*Platef[0].lat/180;
			var lng2=Math.PI*Platef[0].lng/180;
			var dist =0+ 60*180*Math.acos(Math.sin(lat1)*Math.sin(lat2) + Math.cos(lat1)*Math.cos(lat2)*Math.cos(lng1-lng2))/Math.PI;	
			if (dist >10) {
				dist=Math.floor(dist);
			} else {
				dist=Math.floor(dist*10)/10;
			}
			var alti=Math.floor(Platef[0].alti_sol);// Quand on survol la terre
			if (Platef[0].alti<Platef[0].alti_sol) { //quand on est en mer
				alti=Math.floor(Platef[0].alti);
			}
			document.getElementById("distance").innerHTML="Dist. : "+dist+ " nm"; //dist
			var m_fond=null;
			switch(objet_3d[Platef[0].num_objet].type) {
									case 0:  // helico
										m_fond="Ground Alt. : "+Math.floor(Platef[0].alti_sol)+ " m";
									break;
									case 1:  //avion
										m_fond="Ground Alt. : "+Math.floor(Platef[0].alti_sol)+ " m";
									break;
 									
			}
			;
			document.getElementById("ground_alti").innerHTML=m_fond;
			disp_sonde(alti_sol,alti);
	}
	update_map();
	disp_alti(Platef[0].alti);
	disp_attitude(Platef[0].heading,-Platef[0].tilt,Platef[0].roll);
	disp_cap(Platef[0].heading)
	if (update_on) setTimeout("info_wp() ",200);
	
}
var cligno_red=false;
function cligno_run_pause() {
	
	if(cligno_red || update_on) {
		cligno_red=false;
		document.getElementById("b_run_pause").style.color="#FFFFFF"
	} else {
		cligno_red=true;
		document.getElementById("b_run_pause").style.color="#FF0000"
	}
	 setTimeout("cligno_run_pause();",200);
}

/* Gestion Clavier */
/*------------------*/
leftButtonDown = false;
rightButtonDown = false;
hautButtonDown = false;
basButtonDown = false;

function keyDown(event) {
	button_focus();
  if (!event) {
    event = window.event;
  }
   if (event.keyCode >= 37 && event.keyCode <= 40) { mode_auto(false);} // Force manuel
  if (event.keyCode == 37) {  // Left.
    leftButtonDown = true;
    event.returnValue = false;
  } else if (event.keyCode == 39) {  // Right.
    rightButtonDown = true;
    event.returnValue = false;
  } else if (event.keyCode == 38) {  // Up.
    hautButtonDown = true;
    event.returnValue = false;
  } else if (event.keyCode == 40) {  // Down.
    basButtonDown = true;
    event.returnValue = false;
  } else {
    return true;
  }
  return false;
}

function keyUp(event) {
  if (!event) {
    event = window.event;
  }
  if (event.keyCode == 37) {  // Left.
    leftButtonDown = false;
    event.returnValue = false;
  } else if (event.keyCode == 39) {  // Right.
    rightButtonDown = false;
    event.returnValue = false;
  } else if (event.keyCode == 38) {  // Up.
    hautButtonDown = false;
    event.returnValue = false;
  } else if (event.keyCode == 40) {  // Down.
    basButtonDown = false;
    event.returnValue = false;
  }
  return false;
}
function button_focus() {
	document.getElementById("b_run_pause").focus();
}



 /* BOUTONS */
 /***********/
function b_run_pause() {
	if (update_on) {
		update_on=false;
		
	} else {
		
		update_on=true;
		validation_lieu();
		if (init_3d_ok) Plateform_view();
		setTimeout("force_mise_jour_position();",160);
		info_wp();
		
	}
}

function force_mise_jour_position() {
				var date_t=new Date();
				var le_temps=date_t.getTime();
				var t0=le_temps-t_last_modif;
				if (update_on && t0>70) {  // On a pris du retard-delicat
					origine="force";
					mise_jour_position ();
				}
				if (update_on) setTimeout("force_mise_jour_position();",60); // pour eviter gel image si plus de rafraichissement
}
		

function b_speed(x) {
	
	k_speed=k_speed*x;
	document.getElementById("speed").innerHTML="Speed x "+k_speed;
}


