//Constante de texte;
var ct_res_non_conforme = "Résultat non conforme";
var ct_res_correct			= "Résultat correct";
var ct_res_s_o					= "S.O";
var ct_val_errone				= "Attention la valeur saisie est erronnée.";

//Variable ligne adressable;
var la_ligne_bouclee;

var la_via = 0;
var la_oa_o = 0;
var la_oa_t = 0;
var la_oa_m = 0;
var la_vira = 0;
var la_eole_4_a = 0;
var la_eole_2_a = 0;
var la_bama_d = 0;
var la_solarion = 0;
var la_madv = 0;
var la_brgv = 0; //Propre au mezzo forte
var la_bmal = 0;
var la_bmat = 0;
var la_diva = 0;
var la_mbasv_mbasvex = 0;
var la_atav = 0;
var la_atcav = 0;
var la_at420 = 0;
var la_gtve_gtvr = 0;
var la_mivplus = 0;

var la_oc_o_oc_t75 = 0;
var la_vo = 0;
var la_vot = 0;
var la_vi_vtv_vtpa = 0;
var la_si_so_stv_stp = 0;
var la_suv = 0;
var la_solar_solarion = 0;
var la_fors = 0;
var la_bm_bml_bbg_bbgl = 0;
var la_viex = 0;
var la_vtex = 0;
var la_voex = 0;
var la_virex = 0;
var la_dmex = 0;

var la_via_avec_coeff = 0;
var la_oa_o_avec_coeff = 0;
var la_oa_t_avec_coeff = 0;
var la_oa_m_avec_coeff = 0;
var la_vira_avec_coeff = 0;
var la_eole_4_a_avec_coeff = 0;
var la_eole_2_a_avec_coeff = 0;
var la_bama_d_avec_coeff = 0;
var la_solarion_avec_coeff = 0;
var la_madv_avec_coeff = 0;
var la_brgv_avec_coeff = 0; //Propre au mezzo forte;
var la_bmal_avec_coeff = 0;
var la_bmat_avec_coeff = 0;
var la_diva_avec_coeff = 0;
var la_mbasv_mbasvex_avec_coeff = 0;
var la_atav_avec_coeff = 0;
var la_atcav_avec_coeff = 0;
var la_at420_avec_coeff = 0;
var la_gtve_gtvr_avec_coeff = 0;
var la_mivplus_avec_coeff = 0;

var la_oc_o_oc_t75_avec_coeff = 0;
var la_vo_avec_coeff = 0;
var la_vot_avec_coeff = 0;
var la_vi_vtv_vtpa_avec_coeff = 0;
var la_si_so_stv_stp_avec_coeff = 0;
var la_suv_avec_coeff = 0;
var la_solar_solarion_avec_coeff = 0;
var la_fors_avec_coeff = 0;
var la_bm_bml_bbg_bbgl_avec_coeff = 0;
var la_viex_avec_coeff = 0;
var la_vtex_avec_coeff = 0;
var la_voex_avec_coeff = 0;
var la_virex_avec_coeff = 0;
var la_dmex_avec_coeff = 0;

//Variable du document
var res_intrinseque = 0;
var res_adressable = 0;
var res_adressable_secondaire = 0;
var res_intrinseque_avec_coeff = 0;
var res_adressable_avec_coeff = 0;
var res_adressable_secondaire_avec_coeff = 0;
var mezzo_forte = false;

function calcul_ligne_adressable(obj2calc)
{
	if(isNaN(obj2calc.value) == false) //obj2calc.value != "" && obj2calc.value != undefined && 
	{
		 val2set = Math.ceil(obj2calc.value);
	}
	else
	{		
		alert(ct_val_errone);
		obj2calc.focus();
		obj2calc.select();
		val2set = 0;
		return false;
	}
	//Piano ou  mezzo ou forte?
	if (frm.chk_cassiopee_mezzo_forte.checked == true) mezzo_forte = true;
	//Ligne conventionnelle
	if(obj2calc.id == "la_via")
	{
		if (mezzo_forte == true) coeff = 5.6;
		else										 coeff = 1.5;		
		la_via 						= val2set;
		la_via_avec_coeff = Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_oa_o")
	{
		if (mezzo_forte == true) coeff = 5.6;
		else										 coeff = 3;			
		la_oa_o 						= val2set;
		la_oa_o_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_oa_t")
	{
		if (mezzo_forte == true) coeff = 5.6;
		else										 coeff = 1.5;				
		la_oa_t 						= val2set;
		la_oa_t_avec_coeff = Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_oa_m")
	{
		if (mezzo_forte == true) coeff = 5.6;
		else										 coeff = 3;			
		la_oa_m 						= val2set;
		la_oa_m_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_vira")
	{
		if (mezzo_forte == true) coeff = 5.6;
		else										 coeff = 5.5;				
		la_vira 						= val2set;
		la_vira_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_eole_4_a")
	{
		if (mezzo_forte == true) coeff = 22.4;
		else										 coeff = 40;			
		la_eole_4_a 						= val2set;
		la_eole_4_a_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_eole_2_a")
	{
		if (mezzo_forte == true) coeff = 11.2;
		else										 coeff = 20;				
		la_eole_2_a 						= val2set;
		la_eole_2_a_avec_coeff = Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_bama_d")
	{
		if (mezzo_forte == true) coeff = 5.6;
		else										 coeff = 10;					
		la_bama_d 					 = val2set;
		la_bama_d_avec_coeff = Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_solarion")
	{
		if (mezzo_forte == true) coeff = 30;
		else										 coeff = 60;						
		la_solarion 						= val2set;
		la_solarion_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_madv")
	{
		if (mezzo_forte == true) coeff = 5.6;
		else										 coeff = 1.5;
		la_madv 						= val2set;
		la_madv_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_brgv")
	{
		if (mezzo_forte == true) coeff = 5.6;
		else										 coeff = 5.6;
		la_brgv 						= val2set;
		la_brgv_avec_coeff 	= Math.ceil(val2set * coeff);
	}

	//Ligne intrinseque
	if(obj2calc.id == "la_bmal")
	{
		if (mezzo_forte == true) coeff = 5.6;
		else										 coeff = 1.5;	
		la_bmal 						= val2set;
		la_bmal_avec_coeff = Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_bmat")
	{
		if (mezzo_forte == true) coeff = 5.6;
		else										 coeff = 1.5;	
		la_bmat 						= val2set;
		la_bmat_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_diva")
	{
		if (mezzo_forte == true) coeff = 5.6;
		else										 coeff = 1.5;	
		la_diva 						= val2set;
		la_diva_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	//cas spécial du mbasv mbasvex
	if(obj2calc.id == "la_mbasv_mbasvex")
	{
		if (mezzo_forte == true) coeff = 0;
		else										 coeff = 1.5;		
		la_mbasv_mbasvex 							= val2set;
		la_mbasv_mbasvex_avec_coeff 	= Math.ceil(val2set * coeff);
		//Si la valeur est supérieure à zéro alors on affiche le block pour la ligne secondaire
		if (la_mbasv_mbasvex > 0)	afficheBlockId("mbasv_mbasvex");
		else											masqueBlockId("mbasv_mbasvex");
	}
	
	if(obj2calc.id == "la_atav")
	{
		if (mezzo_forte == true) coeff = 5.6;
		else										 coeff = 1.5;		
		la_atav 						= val2set;
		la_atav_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_atcav")
	{
		if (mezzo_forte == true) coeff = 5.6;
		else										 coeff = 3;		
		la_atcav 							= val2set;
		la_atcav_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_at420")
	{
		if (mezzo_forte == true) coeff = 5.6;
		else										 coeff = 3;			
		la_at420 							= val2set;
		la_at420_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_gtve_gtvr")
	{
		if (mezzo_forte == true) coeff = 5.6;
		else										 coeff = 3;				
		la_gtve_gtvr 							= val2set;
		la_gtve_gtvr_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_mivplus")
	{
		if (mezzo_forte == true) coeff = 0;
		else										 coeff = 0;				
		la_mivplus 							= val2set;
		la_mivplus_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_oc_o_oc_t75")
	{
		if (mezzo_forte == true) coeff = 0.9;
		else										 coeff = 0.9;		
		la_oc_o_oc_t75 							= val2set;
		la_oc_o_oc_t75_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_vo")
	{
		if (mezzo_forte == true) coeff = 2;
		else										 coeff = 2;				
		la_vo 						= val2set;
		la_vo_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_vot")
	{
		if (mezzo_forte == true) coeff = 2.5;
		else										 coeff = 2.5;				
		la_vot 							= val2set;
		la_vot_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_vi_vtv_vtpa")
	{
		if (mezzo_forte == true) coeff = 0.9;
		else										 coeff = 0.9;				
		la_vi_vtv_vtpa 							= val2set;
		la_vi_vtv_vtpa_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_si_so_stv_stp")
	{
		if (mezzo_forte == true) coeff = 1;
		else										 coeff = 1;				
		la_si_so_stv_stp 							= val2set;
		la_si_so_stv_stp_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_suv")
	{
		if (mezzo_forte == true) coeff = 3.5;
		else										 coeff = 3.5;			
		la_suv 							= val2set;
		la_suv_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_solar_solarion")
	{
		if (mezzo_forte == true) coeff = 5;
		else										 coeff = 5;				
		la_solar_solarion 							= val2set;
		la_solar_solarion_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_fors")
	{
		if (mezzo_forte == true) coeff = 10;
		else										 coeff = 10;				
		la_fors 							= val2set;
		la_fors_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_bm_bml_bbg_bbgl")
	{
		if (mezzo_forte == true) coeff = 0.2;
		else										 coeff = 0.2;				
		la_bm_bml_bbg_bbgl 							= val2set;
		la_bm_bml_bbg_bbgl_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_viex")
	{
		if (mezzo_forte == true) coeff = 3;
		else										 coeff = 3;						
		la_viex 							= val2set;
		la_viex_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_vtex")
	{
		if (mezzo_forte == true) coeff = 3;
		else										 coeff = 3;						
		la_vtex 							= val2set;
		la_vtex_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_voex")
	{
		if (mezzo_forte == true) coeff = 5;
		else										 coeff = 5;						
		la_voex 							= val2set;
		la_voex_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_virex")
	{
		if (mezzo_forte == true) coeff = 5;
		else										 coeff = 5;						
		la_virex 							= val2set;
		la_virex_avec_coeff 	= Math.ceil(val2set * coeff);
	}
	if(obj2calc.id == "la_dmex")
	{
		if (mezzo_forte == true) coeff = 3;
		else										 coeff = 3;								
		la_dmex 							= val2set;
		la_dmex_avec_coeff 	= Math.ceil(val2set * coeff);
	}
}

function calc_resultat_ligne_adressable()
{
	var res_correct = false;
	var resultat_pcent_res;
	var resultat_calc;
	
	//Ligne bouclée?
	if (frm.chk_la_ligne_bouclee.checked == true) la_ligne_bouclee = true;
	else																					la_ligne_bouclee = false;
	
	//Résultat sans coefficient multiplicateur
	res_adressable 		 				= la_via + la_oa_o + la_oa_t + la_oa_m + la_vira + la_eole_4_a + la_eole_2_a + la_bama_d + la_solarion + la_madv + la_brgv + la_bmal + la_bmat + la_diva + la_mbasv_mbasvex + la_atav + la_atcav + la_at420 + la_gtve_gtvr + la_mivplus;
	res_adressable_secondaire = la_oc_o_oc_t75 + la_vo + la_vot + la_vi_vtv_vtpa + la_si_so_stv_stp + la_suv + la_solar_solarion + la_fors + la_bm_bml_bbg_bbgl;
	res_intrinseque 	 				= la_viex + la_vtex + la_voex + la_virex + la_dmex;

	//Resultat avec coefficient multiplicateur
	res_adressable_avec_coeff 		 				= la_via_avec_coeff + la_oa_o_avec_coeff + la_oa_t_avec_coeff + la_oa_m_avec_coeff + la_vira_avec_coeff + la_eole_4_a_avec_coeff + la_eole_2_a_avec_coeff + la_bama_d_avec_coeff + la_solarion_avec_coeff + la_madv_avec_coeff + la_brgv_avec_coeff + la_bmal_avec_coeff + la_bmat_avec_coeff + la_diva_avec_coeff + la_mbasv_mbasvex_avec_coeff + la_atav_avec_coeff + la_atcav_avec_coeff + la_at420_avec_coeff + la_gtve_gtvr_avec_coeff + la_mivplus_avec_coeff;
	res_adressable_secondaire_avec_coeff 	= la_oc_o_oc_t75_avec_coeff + la_vo_avec_coeff + la_vot_avec_coeff + la_vi_vtv_vtpa_avec_coeff + la_si_so_stv_stp_avec_coeff + la_suv_avec_coeff + la_solar_solarion_avec_coeff + la_fors_avec_coeff + la_bm_bml_bbg_bbgl_avec_coeff;
	res_intrinseque_avec_coeff 	 					= la_viex_avec_coeff + la_vtex_avec_coeff + la_voex_avec_coeff + la_virex_avec_coeff + la_dmex_avec_coeff;
	
	nb_total_detecteur 						= res_adressable + res_adressable_secondaire + res_intrinseque;
	nb_total_detecteur_avec_coeff = res_adressable_avec_coeff + res_adressable_secondaire_avec_coeff + res_intrinseque_avec_coeff;
	
	
	//Cas mezzo forte
	if (mezzo_forte == true)
	{
		if (la_ligne_bouclee == true) //Cas ligne bouclée
		{
			//Calcul correct?
			if (nb_total_detecteur > 128 || res_adressable_avec_coeff > 720 || res_adressable_secondaire > 32 || res_intrinseque > 32 || (res_adressable_secondaire >= 1 && res_intrinseque >= 1)) resultat_calc = ct_res_non_conforme;
			else																														 
			{
				resultat_calc = ct_res_correct;
				res_correct 	= true;
			}
			
			//Calcul du pourcentage de réserve
			if (res_correct == true) resultat_pcent_res = Math.ceil((((720 - nb_total_detecteur_avec_coeff)/720)*100));
			else										 resultat_pcent_res = ct_res_s_o;
		}
		else //Cas ligne non bouclée
		{
			//Calcul correct?
			if (nb_total_detecteur > 32 || res_adressable_avec_coeff > 360 || res_adressable_secondaire_avec_coeff > 30 || res_intrinseque_avec_coeff > 30) resultat_calc = ct_res_non_conforme;			
			else
			{
				resultat_calc = ct_res_correct;
				res_correct		= true;
			}
			
			//Calcul du pourcentage de réserve
			if (res_correct == true) resultat_pcent_res = Math.ceil((((360-res_adressable_avec_coeff)/360)*100));
			else										 resultat_pcent_res = ct_res_s_o;
		}
	}
	else //Cas piano
	{
		if (la_ligne_bouclee == true) //Cas ligne bouclée
		{
			//Calcul correct?
			if (nb_total_detecteur > 128 || nb_total_detecteur_avec_coeff > 400 || res_adressable_secondaire_avec_coeff > 30 || res_intrinseque_avec_coeff > 30 || res_adressable_secondaire > 32 || res_intrinseque > 32 || (res_adressable_secondaire >= 1 && res_intrinseque >= 1)) resultat_calc = ct_res_non_conforme;
			else
			{
				resultat_calc = ct_res_correct;
				res_correct 	= true;
			}
		
			//Calcul du pourcentage de réserve
			if (res_correct == true) 	resultat_pcent_res = Math.ceil((((400 - nb_total_detecteur_avec_coeff)/400)*100));
			else							 				resultat_pcent_res = ct_res_s_o;
		}
		else //Cas ligne non bouclée
		{
			//Calcul correct?
			if (nb_total_detecteur >32 || nb_total_detecteur_avec_coeff > 400 || (res_adressable_secondaire_avec_coeff + res_adressable_avec_coeff) > 32 || res_intrinseque_avec_coeff > 30) resultat_calc = ct_res_non_conforme;
			else
			{
				resultat_calc = ct_res_correct;
				res_correct 	= true;
			}
			
			//Calcul du pourcentage de réserve
			if (res_correct == true) 	resultat_pcent_res = Math.ceil((((400-res_adressable_avec_coeff)/400)*100));
			else							 				resultat_pcent_res = ct_res_s_o;
		}
	}
	
	//Reporte si le résultat est conforme ou non
	Element.update("conforme", resultat_calc);
	//Si le résultat est non conforme on le met en rouge
	if (resultat_calc == ct_res_non_conforme) Element.setStyle("conforme" , {color:'#FF0000'});
	else																			Element.setStyle("conforme" , {color:'#5AA5DE'});
	
	//Set la valeur du pourcentage de réserve sur la ligne qui est donc le résultat du calcul précédent
	//resultat_pcent_res = String(resultat_pcent_res);
	//Element.update("pcent_res", resultat_pcent_res);
	barre_resultat.setPercent(resultat_pcent_res / 100);
}
