//////////////////////////////////////////////////////////
//														//
// 	Script privé - Benny59 - www.tvradio-nord.new.fr	//
//														//
// 		Pour tous renseignements benny59@gmail.com		//
//														//
//////////////////////////////////////////////////////////



//////////////////////////////////////////////////////////////////////////////
//							Declaration des variables						//
//////////////////////////////////////////////////////////////////////////////

	//declaration des variable pour la saisie
var degla1,minla1,secla1;
var deglo1,minlo1,seclo1;	
var degla2,minla2,secla2;
var deglo2,minlo2,seclo2;
	
	//declaration des variable du sens
var sens_latitude1,sens_longitude1,sens_latitude2,sens_longitude2;
 	
	//declaration des variables du resultat
var distance,angle;
var distance_res,angle_res;

	//declaration des constantes radian
var radian_latitude = 57.29577951;
var radian_longitude = 1.570796327;

	//declaration des degres decimaux et radian intermediare
var degre_dec_la1,degre_dec_lo1;
var degre_dec_la2,degre_dec_lo2;
var radian_la1,radian_lo1;
var radian_la2,radian_lo2;

var calcul_inter;
var sin,cos,acos;
var a,b,c,cosa,cosb,cosc,sinb,sinc,cos_angle,angle,angle_final;
var test;



//////////////////////////////////////////////////////////////////////////////
//						Fonctions utilisées pour le calcul					//
//////////////////////////////////////////////////////////////////////////////


function saisie_dep(form) //saisie du menu deroulant depart
 {	
	var selec_dep;
	selec_dep = calcul.coordep.options[calcul.coordep.selectedIndex].value;
	return selec_dep;
 }


function saisie_ar(form) //saisie du menu deroulant arrivé
 {	
	var selec_ar;
	selec_ar = calcul.coorar.options[calcul.coorar.selectedIndex].value;
	return selec_ar;
 }


function saisie(form) //saisie des valeurs
 {
 
 	//test du sens de direction
 var i,j;
 var test = new Array();
 j=1;
     for ( i=0; i<form.length;i++) 
		{
        	 if (form[i].checked) 
        	 {
         	  
        	  test[j]=form[i].value; 
        	  
        	  j=j+1;
        	 }
     	}
     	
 if (test[1]=='N1')
     sens_latitude1=1;
     else sens_latitude1=-1;
 
 if (test[2]=='E1')
     sens_longitude1=1;
     else sens_longitude1=-1;
     
 if (test[3]=='N2')
     sens_latitude2=1;
     else sens_latitude2=-1; 
     
 if (test[4]=='E2')
     sens_longitude2=1;
     else sens_longitude2=-1; 
     
     
     
 		// test du menu deroulant depart
	if (saisie_dep()==0)
	{ 
	}
  
	
	if (saisie_dep()==1) //Arras
	{
		form.degdepla.value= 50;
		form.mindepla.value= 17;
		form.degdeplo.value= 02;
 		form.mindeplo.value= 47;
	}
 	
 	
	if (saisie_dep()==2) //Avesnes sur Helpe
	{
		form.degdepla.value= 50;
		form.mindepla.value= 07;
		form.degdeplo.value= 03;
 		form.mindeplo.value= 56;
	}
	
	if (saisie_dep()==3) //Béthune
	{
		form.degdepla.value= 50;
		form.mindepla.value= 32;
		form.degdeplo.value= 02;
 		form.mindeplo.value= 38;
	}
 	
 	
	if (saisie_dep()==4) //Boulogne sur Mer
	{
		form.degdepla.value= 50;
		form.mindepla.value= 43;
		form.degdeplo.value= 01;
 		form.mindeplo.value= 37;
	}
	
	if (saisie_dep()==5) //Calais
	{
		form.degdepla.value= 50;
		form.mindepla.value= 57;
		form.degdeplo.value= 01;
 		form.mindeplo.value= 51;
	}
 	
 	
	if (saisie_dep()==6) //Cambrai
	{
		form.degdepla.value= 50;
		form.mindepla.value= 10;
		form.degdeplo.value= 03;
 		form.mindeplo.value= 14;
	}
	
	if (saisie_dep()==7) //Douai
	{
		form.degdepla.value= 50;
		form.mindepla.value= 22;
		form.degdeplo.value= 03;
 		form.mindeplo.value= 04;
	}
 	
 	
	if (saisie_dep()==8) //Dunkerque
	{
		form.degdepla.value= 51;
		form.mindepla.value= 03;
		form.degdeplo.value= 02;
 		form.mindeplo.value= 22;
	}
	
	if (saisie_dep()==9) //Lens
	{
		form.degdepla.value= 50;
		form.mindepla.value= 26;
		form.degdeplo.value= 02;
 		form.mindeplo.value= 50;
	}
 	
 	
	if (saisie_dep()==10) //Lille
	{
		form.degdepla.value= 50;
		form.mindepla.value= 38;
		form.degdeplo.value= 03;
 		form.mindeplo.value= 04;
	}

	if (saisie_dep()==11) //Maubeuge
	{
		form.degdepla.value= 50;
		form.mindepla.value= 17;
		form.degdeplo.value= 03;
 		form.mindeplo.value= 58;
	}
 	
 	
	if (saisie_dep()==12) //Montreuil
	{
		form.degdepla.value= 50;
		form.mindepla.value= 28;
		form.degdeplo.value= 01;
 		form.mindeplo.value= 46;
	}
	
	if (saisie_dep()==13) //st Omer
	{
		form.degdepla.value= 50;
		form.mindepla.value= 45;
		form.degdeplo.value= 02;
 		form.mindeplo.value= 15;
	}
 	
 	
	if (saisie_dep()==14) //Valenciennes
	{
		form.degdepla.value= 50;
		form.mindepla.value= 21;
		form.degdeplo.value= 03;
 		form.mindeplo.value= 32;
	}
	

	if (saisie_dep()==20) //Benny
	{
		form.degdepla.value= 50;
		form.mindepla.value= 14;
		form.degdeplo.value= 03;
 		form.mindeplo.value= 19;
	}
	
	if (saisie_dep()==21) //Sat
	{
		form.degdepla.value= 50;
		form.mindepla.value= 28;
		form.degdeplo.value= 02;
 		form.mindeplo.value= 32;
	}
	
	
	
	
	
 		// test du menu deroulant arrivé
	if (saisie_ar()==0)
	{ 
	}

	if (saisie_ar()==1) //Cambrai- Tilloy Lez Cambrai
	{
		form.degarla.value= 50;
 		form.minarla.value= 12;
 		form.degarlo.value= 03;
 		form.minarlo.value= 13;
 	}
 	
	
	if (saisie_ar()==2) //Dunkerques - Mont des Ctas
	{
		form.degarla.value= 50;
 		form.minarla.value= 47;
 		form.degarlo.value= 02;
 		form.minarlo.value= 40;
 	}
 	
 	
	if (saisie_ar()==3) //Dunkerques - Tour de Reuze
	{
		form.degarla.value= 51;
		form.minarla.value= 02;
 		form.degarlo.value= 02;
 		form.minarlo.value= 22;
	}
	
	if (saisie_ar()==4) //lille - Lambersart
	{
		form.degarla.value= 50;
		form.minarla.value= 38;
 		form.degarlo.value= 03;
 		form.minarlo.value= 02;
	}
	
		if (saisie_ar()==7) //lille - Wattignies
	{
		form.degarla.value= 50;
		form.minarla.value= 35;
 		form.degarlo.value= 03;
 		form.minarlo.value= 01;
	}

	if (saisie_ar()==5) //Maubeuge
	{
		form.degarla.value= 50;
		form.minarla.value= 16;
 		form.degarlo.value= 03;
 		form.minarlo.value= 59;
	}

	if (saisie_ar()==6) //Valenciennes - Marly
	{
		form.degarla.value= 50;
		form.minarla.value= 20;
 		form.degarlo.value= 03;
 		form.minarlo.value= 33;
	}
	
	if (saisie_ar()==10) //Boulogne sur Mer - Mont Lambert
	{
		form.degarla.value= 50;
		form.minarla.value= 43;
 		form.degarlo.value= 01;
 		form.minarlo.value= 39;
	}
	
	if (saisie_ar()==11) //Le Touquet - Lefaux
	{
		form.degarla.value= 50;
		form.minarla.value= 33;
 		form.degarlo.value= 01;
 		form.minarlo.value= 38;
	}

	if (saisie_ar()==12) //Lille - Bouvigny
	{
		form.degarla.value= 50;
		form.minarla.value= 25;
 		form.degarlo.value= 02;
 		form.minarlo.value= 39;
	}
	
	if (saisie_ar()==13) //St Omer - Wisques
	{
		form.degarla.value= 50;
		form.minarla.value= 43;
 		form.degarlo.value= 02;
 		form.minarlo.value= 11;
	}
	
		if (saisie_ar()==20) //Abbeville - limeux (80)
	{
		form.degarla.value= 50;
		form.minarla.value= 00;
 		form.degarlo.value= 01;
 		form.minarlo.value= 49;
	}
	
	if (saisie_ar()==21) //Hirson - landousy (02)
	{
		form.degarla.value= 49;
		form.minarla.value= 52;
 		form.degarlo.value= 04;
 		form.minarlo.value= 01;
	}
	
			if (saisie_ar()==22) //Amiens - Saint Just (60)
	{
		form.degarla.value= 49;
		form.minarla.value= 30;
 		form.degarlo.value= 02;
 		form.minarlo.value= 24;
	}
	
	if (saisie_ar()==23) //Reims - Hautvillers (51)
	{
		form.degarla.value= 49;
		form.minarla.value= 05;
 		form.degarlo.value= 03;
 		form.minarlo.value= 56;
	}
	
		if (saisie_ar()==30) //Anderlues - Belgique
	{
		form.degarla.value= 50;
		form.minarla.value= 22;
 		form.degarlo.value= 04;
 		form.minarlo.value= 14;
	}
	
	if (saisie_ar()==31) //Bruxelles - Belgique
	{
		form.degarla.value= 50;
		form.minarla.value= 51;
 		form.degarlo.value= 04;
 		form.minarlo.value= 21;
	}
	
		if (saisie_ar()==32) //Liege - Belgique
	{
		form.degarla.value= 50;
		form.minarla.value= 34;
 		form.degarlo.value= 05;
 		form.minarlo.value= 33;
	}
	
	if (saisie_ar()==33) //Léglise - Belgique
	{
		form.degarla.value= 49;
		form.minarla.value= 48;
 		form.degarlo.value= 05;
 		form.minarlo.value= 39;
	}
	
		if (saisie_ar()==34) //Profondeville - Belgique
	{
		form.degarla.value= 50;
		form.minarla.value= 21;
 		form.degarlo.value= 04;
 		form.minarlo.value= 51;
	}
	
	if (saisie_ar()==35) //Tournai - Belgique
	{
		form.degarla.value= 50;
		form.minarla.value= 35;
 		form.degarlo.value= 03;
 		form.minarlo.value= 19;
	}
	
	if (saisie_ar()==36) //Wavre - Belgique
	{
		form.degarla.value= 50;
		form.minarla.value= 44;
 		form.degarlo.value= 04;
 		form.minarlo.value= 35;
	}
	
		if (saisie_ar()==40) //Antwerpen - Belgique
	{
		form.degarla.value= 51;
		form.minarla.value= 13;
 		form.degarlo.value= 04;
 		form.minarlo.value= 24;
	}
	
	/*if (saisie_ar()==41) //Bruxelles - Belgique
	{
		form.degarla.value= 50;
		form.minarla.value= 50;
 		form.degarlo.value= 04;
 		form.minarlo.value= 21;
	}*/
	
	if (saisie_ar()==42) //Egem - Belgique
	{
		form.degarla.value= 51;
		form.minarla.value= 01;
 		form.degarlo.value= 03;
 		form.minarlo.value= 14;
	}
	
	if (saisie_ar()==43) //Genk - Belgique
	{
		form.degarla.value= 50;
		form.minarla.value= 56;
 		form.degarlo.value= 05;
 		form.minarlo.value= 30;
	}
	
	if (saisie_ar()==44) //Schoten - Belgique
	{
		form.degarla.value= 51;
		form.minarla.value= 17;
 		form.degarlo.value= 04;
 		form.minarlo.value= 32;
	}
	
	if (saisie_ar()==45) //Sint Pieters Leeuw - Belgique
	{
		form.degarla.value= 50;
		form.minarla.value= 46;
 		form.degarlo.value= 04;
 		form.minarlo.value= 13;
	}
	
	if (saisie_ar()==46) //Veltem - Belgique
	{
		form.degarla.value= 50;
		form.minarla.value= 53;
 		form.degarlo.value= 04;
 		form.minarlo.value= 37;
	}
	
	
	
	if (saisie_ar()==50) //Belmont - Anglais
	{
		form.degarla.value= 53;
		form.minarla.value= 20;
 		form.degarlo.value= 00;
 		form.minarlo.value= 10;
 		sens_longitude2=-1;
	}
	
	if (saisie_ar()==51) //Crystal Palace - Anglais
	{
		form.degarla.value= 51;
		form.minarla.value= 25;
 		form.degarlo.value= 00;
 		form.minarlo.value= 04;
 		sens_longitude2=-1;
	}
	
	if (saisie_ar()==52) //Dover - Anglais
	{
		form.degarla.value= 51;
		form.minarla.value= 06;
 		form.degarlo.value= 01;
 		form.minarlo.value= 14;
	}
	
	if (saisie_ar()==53) //Emley Hoor - Anglais
	{
		form.degarla.value= 53;
		form.minarla.value= 36;
 		form.degarlo.value= 01;
 		form.minarlo.value= 39;
 		sens_longitude2=-1;
	}
	
	if (saisie_ar()==54) //Mendip - Anglais
	{
		form.degarla.value= 51;
		form.minarla.value= 14;
 		form.degarlo.value= 02;
 		form.minarlo.value= 37;
 		sens_longitude2=-1;
	}
	
	if (saisie_ar()==55) //Sandy Heath - Anglais
	{
		form.degarla.value= 52;
		form.minarla.value= 07;
 		form.degarlo.value= 00;
 		form.minarlo.value= 14;
 		sens_longitude2=-1;
	}
	
	if (saisie_ar()==56) //Sudbury - Anglais
	{
		form.degarla.value= 52;
		form.minarla.value= 00;
 		form.degarlo.value= 00;
 		form.minarlo.value= 47;
	}
	
		if (saisie_ar()==57) //Sutton Coldfield - Anglais
	{
		form.degarla.value= 52;
		form.minarla.value= 36;
 		form.degarlo.value= 01;
 		form.minarlo.value= 50;
 		sens_longitude2=-1;
	}
	
	if (saisie_ar()==58) //Tacolneston - Anglais
	{
		form.degarla.value= 52;
		form.minarla.value= 31;
 		form.degarlo.value= 01;
 		form.minarlo.value= 08;
	}
	
	if (saisie_ar()==59) //Winter Hill - Anglais
	{
		form.degarla.value= 53;
		form.minarla.value= 37;
 		form.degarlo.value= 02;
 		form.minarlo.value= 30;
 		sens_longitude2=-1;
	}
	
	
	
	if (saisie_ar()==60) //Goes - Pays Bas
	{
		form.degarla.value= 51;
		form.minarla.value= 31;
 		form.degarlo.value= 03;
 		form.minarlo.value= 53;
	}
	
	if (saisie_ar()==61) //Lopik - Pays Bas
	{
		form.degarla.value= 52;
		form.minarla.value= 01;
 		form.degarlo.value= 05;
 		form.minarlo.value= 03;
	}
	
	if (saisie_ar()==62) //Rotterdam - Pays Bas
	{
		form.degarla.value= 51;
		form.minarla.value= 52;
 		form.degarlo.value= 04;
 		form.minarlo.value= 26;
 	}

	
	
	if (saisie_ar()==70) //Aachen - Allemange
	{
		form.degarla.value= 50;
		form.minarla.value= 47;
 		form.degarlo.value= 06;
 		form.minarlo.value= 15;
	}
	
	if (saisie_ar()==71) //Bremen - Allemange
	{
		form.degarla.value= 53;
		form.minarla.value= 06;
 		form.degarlo.value= 08;
 		form.minarlo.value= 48;
	}
	
	if (saisie_ar()==72) //Dusseldorf - Allemange
	{
		form.degarla.value= 51;
		form.minarla.value= 13;
 		form.degarlo.value= 06;
 		form.minarlo.value= 45;
	}
	
	if (saisie_ar()==73) //Essen - Allemange
	{
		form.degarla.value= 51;
		form.minarla.value= 27;
 		form.degarlo.value= 07;
 		form.minarlo.value= 00;
	}
	
	if (saisie_ar()==74) //Hamburg - Allemange
	{
		form.degarla.value= 53;
		form.minarla.value= 33;
 		form.degarlo.value= 09;
 		form.minarlo.value= 58;
	}
	
	if (saisie_ar()==75) //Langenberg - Allemange
	{
		form.degarla.value= 51;
		form.minarla.value= 21;
 		form.degarlo.value= 07;
 		form.minarlo.value= 08;
	}
	
	if (saisie_ar()==76) //Minden - Allemange
	{
		form.degarla.value= 52;
		form.minarla.value= 15;
 		form.degarlo.value= 08;
 		form.minarlo.value= 56;
	}
	
		if (saisie_ar()==77) //Osnabruck - Allemange
	{
		form.degarla.value= 52;
		form.minarla.value= 23;
 		form.degarlo.value= 08;
 		form.minarlo.value= 02;
	}
	
		if (saisie_ar()==80) //Dudelange - Luxembourg
	{
		form.degarla.value= 49;
		form.minarla.value= 28;
 		form.degarlo.value= 06;
 		form.minarlo.value= 06;
	}


	
	
	

		// affectation de la saisie latitude de depart avec une variable aadditionnable
	degla1=form.degdepla.value;
	minla1=form.mindepla.value;
	secla1=form.secdepla.value;

	degla1=(degla1*1);
	minla1=(minla1*1);
	secla1=(secla1*1);
	
	
		// affectation de la saisie longitude de depart avec une variable aadditionnable
	deglo1=form.degdeplo.value;
	minlo1=form.mindeplo.value;
	seclo1=form.secdeplo.value;

	deglo1=(deglo1*1);
	minlo1=(minlo1*1);
	seclo1=(seclo1*1);

		// affectation de la saisie latitude d'arrive avec une variable aadditionnable
	degla2=form.degarla.value;
	minla2=form.minarla.value;
	secla2=form.secarla.value;

	degla2=(degla2*1);
	minla2=(minla2*1);
	secla2=(secla2*1);
	
	
		// affectation de la saisie longitude d'arrive avec une variable aadditionnable
	deglo2=form.degarlo.value;
	minlo2=form.minarlo.value;
	seclo2=form.secarlo.value;

	deglo2=(deglo2*1);
	minlo2=(minlo2*1);
	seclo2=(seclo2*1);
	
	
		//Calcul du degre decimaux et du radian pour la latitude de départ
	degre_dec_la1 = sens_latitude1 * (degla1 + (minla1/60) + (secla1/3600));
	radian_la1 = degre_dec_la1 / radian_latitude;
	
		//Calcul du degre decimaux et du radian pour la longitude de départ
	degre_dec_lo1 = sens_longitude1 * (deglo1 + (minlo1/60) + (seclo1/3600));
	radian_lo1 = degre_dec_lo1 / radian_latitude;


		//Calcul du degre decimaux et du radian pour la latitude d'arrive
	degre_dec_la2 =  sens_latitude2 * (degla2 + (minla2/60) + (secla2/3600));
	radian_la2 = degre_dec_la2 / radian_latitude;
	
		//Calcul du degre decimaux et du radian pour la longitude d'arrive
	degre_dec_lo2 = sens_longitude2 * (deglo2 + (minlo2/60) + (seclo2/3600));
	radian_lo2 = degre_dec_lo2 / radian_latitude;

	

	
		//Caclul de la distance
	sin= Math.sin(radian_la1)*Math.sin(radian_la2);
	cos= Math.cos(radian_la1)*Math.cos(radian_la2)*Math.cos(radian_lo1-radian_lo2);
	acos=Math.acos(sin+cos);
	
	calcul_inter = radian_latitude *(1000/9)*acos;//*Math.acos(Math.sin(radian_la1)*Math.sin(radian_la2))+(Math.cos(radian_la1)*Math.cos(radian_la2)*Math.cos(radian_lo1-radian_lo2)));
	

	
		//calcul de l'angle
	a=radian_longitude-radian_la2;
	cosa=Math.cos(a);
	b=radian_longitude-radian_la1;
	cosb=Math.cos(b);
	sinb=Math.sin(b);
	c=acos;
	cosc=Math.cos(c);
	sinc=Math.sin(c);
	
	cos_angle= (cosa-(cosb*cosc))/(sinb*sinc);
		
		//correction trigonometrique de l'angle
	if (cos_angle>1)
	{
		cos_angle=1;
		if (cos_angle<-1)
		cos_angle=-1;
	}
	
	angle=Math.acos(cos_angle);
	
	angle_calculé=angle*radian_latitude;
	
	
		//correction eventuel de l'angle
	if (degre_dec_lo1==degre_dec_lo2 && degre_dec_la2>degre_dec_la1)
		angle_final=0;
		else if (degre_dec_lo1==degre_dec_lo2 && degre_dec_la2<degre_dec_la1)
				angle_final=180;
				else if(degre_dec_lo1==degre_dec_lo2 && degre_dec_la2==degre_dec_la1)
						angle_final=0; 
						else if (degre_dec_lo1<degre_dec_lo2 && degre_dec_la2==degre_dec_la1)
								angle_final=90;
								else if(degre_dec_lo1>degre_dec_lo2 && degre_dec_la2==degre_dec_la1)
										angle_final=270; 
										else if(degre_dec_lo1<degre_dec_lo2)
												angle_final=angle_calculé;
												else angle_final=360-angle_calculé; 
	
	
	
		//affectation des variables de sortie pour l'affichage
	distance_res= Math.ceil(calcul_inter);
	angle_res=Math.ceil(angle_final);

 }



function resultat(form) //affichage de la distance et de l'angle calculés
 {
	form.distance.value = distance_res;
	form.angle.value = angle_res;
 }


//couleur dans menu  STYLE="background-color:#8CAFDF;color:#000000"
