//------------------------------------------------------------------------------------------------------------------------------------------------------
//
//
//
// 
//
// 
//------------------------------------------------------------------------------------------------------------------------------------------------------
function GereControle(Controleur, Controle, Masquer) {
    var objControleur = document.getElementById(Controleur);
    var objControle = document.getElementById(Controle);
    if (Masquer=='1')
      objControle.style.visibility=(objControleur.checked==true)?'visible':'hidden';
    else
      objControle.disabled=(objControleur.checked==true)?false:true;
    return true;
}
// code associé pour l'utlisation de la fonctions
// <input type="checkbox" id="chkb_10" onClick="GereControle('chkb_10', 'texte_10', '1');" CHECKED>&nbsp;<label for="chkb_10">Contrôle de "texte_10"</label>
// &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// <input type="text" id="texte_10" value="Contenu de texte_10">


function bloquer_coche(nom){
          document.getElementById(nom).disabled = true;
          document.getElementById(nom).style.background = '#bdbdbd';
          document.getElementById(nom).style.color = '#7b7b7b';
}
function debloquer_coche(nom){
          document.getElementById(nom).disabled = false;
          document.getElementById(nom).style.background = '#ffffff';
          document.getElementById(nom).style.color = '#000000';
}
function bloquer(nom){
          document.getElementById(nom).readOnly = true;
          document.getElementById(nom).style.background = '#bdbdbd';
          document.getElementById(nom).style.color = '#7b7b7b';
}
function debloquer(nom){
          document.getElementById(nom).readOnly = false;
          document.getElementById(nom).style.background = '#ffffff';
          document.getElementById(nom).style.color = '#000000';
}
function desactiver(nom){
          document.getElementById(nom).readOnly = true;
          document.getElementById(nom).style.background = '#e5e5e5';
          document.getElementById(nom).style.color = '#7b7b7b';
}
function aller_a(nom){
         document.getElementById(nom).focus();
         document.getElementById(nom).select();
}
function aller_a_combo(nom){
         document.getElementById(nom).focus();
}
function si_champ_vide(nom){
  if (parseFloat(document.getElementById(nom).value)==0 || document.getElementById(nom).value=='') return true;
  else return false;
}
function si_champ_plein(nom){
  if (parseFloat(document.getElementById(nom).value)!=0 && document.getElementById(nom).value!='') return true;
  else return false;
}

// Fonction lancée à chaque fois qu'on arrive dans la page avec modification=0
// Le script ne s'exécute que si certaines valeurs de la saisie détaillée sont à 0 (initialisation de la saisie détaillée)
// La fonction peut être lancée à partir d'un champ de saisie avec le paramètre modification=1
function calcul_des_valeurs_par_defaut_des_saisies_detaillees(type_de_saisie,modification){
  // modification me sert comme drapeau pour effectuer les modifications lorsqu'on appelle la fonction suite à la modification d'une donnée source dans la page

//alert (type_de_saisie);
  /********************************************  
       SAISIE DETAILLEE DE L'ENVELOPPE
  ********************************************/     
  if (type_de_saisie == 'saisie_detaillee_enveloppe' && document.getElementById('saisie_detaillee_enveloppe').value==1){
      var nombre_niveaux = parseFloat(document.getElementById('nb_niveaux').options[document.getElementById('nb_niveaux').selectedIndex].value);
      var surface_un_niveau = Math.round(parseFloat(document.getElementById('surface_habitable').value) / nombre_niveaux * 100) / 100; 
      
      // si on est en initialisation (surface_plancher_bas=0 et modification=1) ou si on a modifié un champ "maître" dans la page (modification=1) comme la surface ou le nombre de niveaux
      if ( si_champ_vide('env_surface_plancher_bas') || modification==1){
        if (nombre_niveaux == 1){
          document.getElementById('env_surface_plancher_bas').value=Math.round(surface_un_niveau * 100) / 100;
          document.getElementById('env_surface_plancher_niveau_1').value=0;
          bloquer('env_surface_plancher_niveau_1');
          document.getElementById('env_surface_plancher_niveau_2').value=0;
          bloquer('env_surface_plancher_niveau_2');
        }
        else if (nombre_niveaux == 2){
          document.getElementById('env_surface_plancher_bas').value=Math.round(surface_un_niveau * 100) / 100;
          document.getElementById('env_surface_plancher_niveau_1').value=Math.round(surface_un_niveau * 100) / 100;
          debloquer('env_surface_plancher_niveau_1');
          document.getElementById('env_surface_plancher_niveau_2').value=0;
          bloquer('env_surface_plancher_niveau_2');
        }
        else if (nombre_niveaux == 3){
          document.getElementById('env_surface_plancher_bas').value=Math.round(surface_un_niveau * 100) / 100;
          document.getElementById('env_surface_plancher_niveau_1').value=Math.round(surface_un_niveau * 100) / 100;
          debloquer('env_surface_plancher_niveau_1');
          document.getElementById('env_surface_plancher_niveau_2').value=Math.round(surface_un_niveau * 100) / 100;
          debloquer('env_surface_plancher_niveau_2');
        }
        // perimetre_plancher_bas = surface_habitable * 4.12
        // le *100 /100 est là pour l'arrondi à la deuxième décimale
        if (nombre_niveaux == 1){
          document.getElementById('env_perimetre_plancher_bas').value=Math.round(Math.sqrt(surface_un_niveau) * 4.12 * 100) / 100;
          document.getElementById('env_perimetre_plancher_niveau_1').value=0;
          bloquer('env_perimetre_plancher_niveau_1');
          document.getElementById('env_perimetre_plancher_niveau_2').value=0;
          bloquer('env_perimetre_plancher_niveau_2');
        }
        else if (nombre_niveaux == 2){
          document.getElementById('env_perimetre_plancher_bas').value=Math.round(Math.sqrt(surface_un_niveau) * 4.12 * 100) / 100;
          document.getElementById('env_perimetre_plancher_niveau_1').value=Math.round(Math.sqrt(surface_un_niveau) * 4.12 * 100) / 100;
          debloquer('env_perimetre_plancher_niveau_1');
          document.getElementById('env_perimetre_plancher_niveau_2').value=0;
          bloquer('env_perimetre_plancher_niveau_2');
        }
        else if (nombre_niveaux == 3){
          document.getElementById('env_perimetre_plancher_bas').value=Math.round(Math.sqrt(surface_un_niveau) * 4.12 * 100) / 100;
          document.getElementById('env_perimetre_plancher_niveau_1').value=Math.round(Math.sqrt(surface_un_niveau) * 4.12 * 100) / 100;
          debloquer('env_perimetre_plancher_niveau_1');
          document.getElementById('env_perimetre_plancher_niveau_2').value=Math.round(Math.sqrt(surface_un_niveau) * 4.12 * 100) / 100;
          debloquer('env_perimetre_plancher_niveau_2');
        }
        // surface_murs_exterieurs brute = perimetre_plancher_bas * hauteur_sous_plafond * nb_niveaux
        document.getElementById('env_surface_murs_exterieurs').value=Math.round(parseFloat(document.getElementById('env_perimetre_plancher_bas').value) * parseFloat(document.getElementById('hauteur_sous_plafond').options[document.getElementById('hauteur_sous_plafond').selectedIndex].value) * nombre_niveaux * 100) / 100;
        // surface_baies_vitrees = 10% surface_murs_exterieurs
        document.getElementById('env_surface_baies_vitrees').value=Math.round(parseFloat(document.getElementById('surface_habitable').value) * 0.15 * 100) / 100;
        // surface_portes_exterieures = 2
        document.getElementById('env_surface_portes_exterieures').value=2;
        // surface murs extérieurs nette
        document.getElementById('env_surface_murs_exterieurs').value=Math.round( (document.getElementById('env_surface_murs_exterieurs').value-document.getElementById('env_surface_baies_vitrees').value-document.getElementById('env_surface_portes_exterieures').value) *100) / 100;
        // surface_dernier_plafond = surface_plancher_bas
        document.getElementById('env_surface_dernier_plafond').value=Math.round(parseFloat(document.getElementById('env_surface_plancher_bas').value) * 100) / 100;
        // perimetre_dernier_plafond = perimetre_plancher_bas
        document.getElementById('env_perimetre_dernier_plafond').value=Math.round(parseFloat(document.getElementById('env_perimetre_plancher_bas').value) * 100) / 100;
        // surface_toiture = coté du toît * largeur du toît * 2
        // la largeur du pignon (largeur de la maison) est évaluée à l'aide du nombre d'or
        var largeur_pignon=parseFloat(document.getElementById('env_perimetre_dernier_plafond').value) / 4.12;
        // côté du toît = (largeur du pignon * sin (angle opposé)) / sin (angle du côté visé)
        var largeur_pente_toit=(largeur_pignon / 2) * 1.414; 
        var surface_cote_toit=largeur_pente_toit * largeur_pignon;
//        var surface_totale_toit=surface_cote_toit * 2;
        surface_totale_toit =  parseFloat(document.getElementById('env_surface_dernier_plafond').value);
//        alert('pente='+largeur_pente_toit+' surface 1 cote='+surface_cote_toit);
        document.getElementById('env_surface_toiture').value=Math.round(surface_totale_toit * 100) / 100;
      }
      else{
        if (nombre_niveaux == 1){
          bloquer('env_surface_plancher_niveau_1');
          bloquer('env_surface_plancher_niveau_2');
          bloquer('env_perimetre_plancher_niveau_1');
          bloquer('env_perimetre_plancher_niveau_2');
        }
        else if (nombre_niveaux == 2){
          debloquer('env_surface_plancher_niveau_1');
          bloquer  ('env_surface_plancher_niveau_2');
          debloquer('env_perimetre_plancher_niveau_1');
          bloquer  ('env_perimetre_plancher_niveau_2');
        }                                                                     
        else if (nombre_niveaux == 3){
          debloquer('env_surface_plancher_niveau_1');
          debloquer('env_surface_plancher_niveau_2');
          debloquer('env_perimetre_plancher_niveau_1');
          debloquer('env_perimetre_plancher_niveau_2');
        }
      }
  }  
  /********************************************  
          SAISIE DETAILLEE DES PAROIS
  ********************************************/     
  else if (type_de_saisie=='saisie_detaillee_paroi'){
  
      desactiver('env_surface_murs_exterieurs');
          desactiver('mur_s_mext_1');
          desactiver('mur_s_mext_2');
          desactiver('mur_s_mext_3');
      desactiver('env_surface_plancher_bas');
          desactiver('mur_s_plc_bas_1');
          desactiver('mur_s_plc_bas_2');
          desactiver('mur_s_plc_bas_3');
      desactiver('env_surface_plancher_niveau_1');
          desactiver('mur_s_plc_niv1_1');
          desactiver('mur_s_plc_niv1_2');
          desactiver('mur_s_plc_niv1_3');
      desactiver('env_surface_plancher_niveau_2');
          desactiver('mur_s_plc_niv2_1');
          desactiver('mur_s_plc_niv2_2');
          desactiver('mur_s_plc_niv2_3');
      desactiver('env_surface_toiture');
          desactiver('mur_s_toit_1');
          desactiver('mur_s_toit_2');
          desactiver('mur_s_toit_3');
      desactiver('env_surface_portes_exterieures');
          desactiver('mur_s_pext_1');
          desactiver('mur_s_pext_2');
          desactiver('mur_s_pext_3');
      desactiver('env_surface_baies_vitrees');
          desactiver('mur_s_bv_1');
          desactiver('mur_s_bv_2');
          desactiver('mur_s_bv_3');
  
      if ( si_champ_plein('env_surface_plancher_bas') && si_champ_vide('env_surface_plancher_niveau_1') && si_champ_vide('env_surface_plancher_niveau_2') ){
        var nombre_niveaux=1;
      }
      else if ( si_champ_plein('env_surface_plancher_bas') && si_champ_plein('env_surface_plancher_niveau_1') && si_champ_vide('env_surface_plancher_niveau_2') ){
        var nombre_niveaux=2;
      }
      else var nombre_niveaux=3;
  
      if( si_champ_plein('env_surface_murs_exterieurs') || modification==1 ){
    
          if ( si_champ_plein('env_surface_murs_exterieurs') && si_champ_vide('mur_p_mext_1') ){
            document.getElementById('mur_p_mext_1').value=100;
            document.getElementById('mur_s_mext_1').value=Math.round(parseFloat(document.getElementById('env_surface_murs_exterieurs').value) * 100) / 100;
            document.getElementById('mur_p_mext_2').value=0;
            document.getElementById('mur_s_mext_2').value=0;
            document.getElementById('mur_p_mext_3').value=0;
            document.getElementById('mur_s_mext_3').value=0;
          }
    
          if (nombre_niveaux==1){
            //bloquer('env_surface_plancher_niveau_1');  
            document.getElementById('mur_p_plc_niv1_1').value=0;
            bloquer('mur_p_plc_niv1_1');
            document.getElementById('mur_s_plc_niv1_1').value=0;
            bloquer('mur_s_plc_niv1_1');
            document.getElementById('mur_p_plc_niv1_2').value=0;
            bloquer('mur_p_plc_niv1_2');
            document.getElementById('mur_s_plc_niv1_2').value=0;
            bloquer('mur_s_plc_niv1_2');
            document.getElementById('mur_p_plc_niv1_3').value=0;
            bloquer('mur_p_plc_niv1_3');
            document.getElementById('mur_s_plc_niv1_3').value=0;
            bloquer('mur_s_plc_niv1_3');
        
            //bloquer('env_surface_plancher_niveau_2');  
            document.getElementById('mur_p_plc_niv2_1').value=0;
            bloquer('mur_p_plc_niv2_1');
            document.getElementById('mur_s_plc_niv2_1').value=0;
            bloquer('mur_s_plc_niv2_1');
            document.getElementById('mur_p_plc_niv2_2').value=0;
            bloquer('mur_p_plc_niv2_2');
            document.getElementById('mur_s_plc_niv2_2').value=0;
            bloquer('mur_s_plc_niv2_2');
            document.getElementById('mur_p_plc_niv2_3').value=0;
            bloquer('mur_p_plc_niv2_3');
            document.getElementById('mur_s_plc_niv2_3').value=0;
            bloquer('mur_s_plc_niv2_3');
          }
          else if (nombre_niveaux==2){
            //bloquer('env_surface_plancher_niveau_2');  
            document.getElementById('mur_p_plc_niv2_1').value=0;
            bloquer('mur_p_plc_niv2_1');
            document.getElementById('mur_s_plc_niv2_1').value=0;
            bloquer('mur_s_plc_niv2_1');
            document.getElementById('mur_p_plc_niv2_2').value=0;
            bloquer('mur_p_plc_niv2_2');
            document.getElementById('mur_s_plc_niv2_2').value=0;
            bloquer('mur_s_plc_niv2_2');
            document.getElementById('mur_p_plc_niv2_3').value=0;
            bloquer('mur_p_plc_niv2_3');
            document.getElementById('mur_s_plc_niv2_3').value=0;
            bloquer('mur_s_plc_niv2_3');
          }
      
          if ( si_champ_plein('env_surface_plancher_bas') && si_champ_vide('mur_p_plc_bas_1') ){
            document.getElementById('mur_p_plc_bas_1').value=100;
            document.getElementById('mur_s_plc_bas_1').value=Math.round(parseFloat(document.getElementById('env_surface_plancher_bas').value) * 100) / 100;
            document.getElementById('mur_p_plc_bas_2').value=0;
            document.getElementById('mur_s_plc_bas_2').value=0;
            document.getElementById('mur_p_plc_bas_3').value=0;
            document.getElementById('mur_s_plc_bas_3').value=0;
          }
          if ( si_champ_plein('env_surface_plancher_niveau_1') && si_champ_vide('mur_p_plc_niv1_1') ){
            document.getElementById('mur_p_plc_niv1_1').value=100;
            document.getElementById('mur_s_plc_niv1_1').value=Math.round(parseFloat(document.getElementById('env_surface_plancher_niveau_1').value) * 100) / 100;
            document.getElementById('mur_p_plc_niv1_2').value=0;
            document.getElementById('mur_s_plc_niv1_2').value=0;
            document.getElementById('mur_p_plc_niv1_3').value=0;
            document.getElementById('mur_s_plc_niv1_3').value=0;
          }
          if ( si_champ_plein('env_surface_plancher_niveau_2') && si_champ_vide('mur_p_plc_niv2_1') ){
            document.getElementById('mur_p_plc_niv2_1').value=100;
            document.getElementById('mur_s_plc_niv2_1').value=Math.round(parseFloat(document.getElementById('env_surface_plancher_niveau_2').value) * 100) / 100;
            document.getElementById('mur_p_plc_niv2_2').value=0;
            document.getElementById('mur_s_plc_niv2_2').value=0;
            document.getElementById('mur_p_plc_niv2_3').value=0;
            document.getElementById('mur_s_plc_niv2_3').value=0;
          }
    
          if ( si_champ_plein('env_surface_toiture') && si_champ_vide('mur_p_s_toit_1') ){
            document.getElementById('mur_p_s_toit_1').value=100;
            document.getElementById('mur_s_toit_1').value=Math.round(parseFloat(document.getElementById('env_surface_toiture').value) * 100) / 100;
            document.getElementById('mur_p_s_toit_2').value=0;
            document.getElementById('mur_s_toit_2').value=0;
            document.getElementById('mur_p_s_toit_3').value=0;
            document.getElementById('mur_s_toit_3').value=0;
          }
          if ( si_champ_plein('env_surface_portes_exterieures') && si_champ_vide('mur_p_pext_1') ){
            document.getElementById('mur_p_pext_1').value=100;
            document.getElementById('mur_s_pext_1').value=Math.round(parseFloat(document.getElementById('env_surface_portes_exterieures').value) * 100) / 100;
            document.getElementById('mur_p_pext_2').value=0;
            document.getElementById('mur_s_pext_2').value=0;
            document.getElementById('mur_p_pext_3').value=0;
            document.getElementById('mur_s_pext_3').value=0;
          }
          if ( si_champ_plein('env_surface_baies_vitrees') && si_champ_vide('mur_p_bv_1') ){
            document.getElementById('mur_p_bv_1').value=100;
            document.getElementById('mur_s_bv_1').value=Math.round(parseFloat(document.getElementById('env_surface_baies_vitrees').value) * 100) / 100;
            document.getElementById('mur_p_bv_2').value=0;
            document.getElementById('mur_s_bv_2').value=0;
            document.getElementById('mur_p_bv_3').value=0;
            document.getElementById('mur_s_bv_3').value=0;
          }
      }

      // contrôle de cohérence
      var alerte_coherence='';
      var total_surface=0;
    
      total_surface = Math.round( (parseFloat(document.getElementById('mur_s_mext_1').value)    + parseFloat(document.getElementById('mur_s_mext_2').value)   + parseFloat(document.getElementById('mur_s_mext_3').value)) *100) /100;
      if (Math.round(parseFloat(document.getElementById('env_surface_murs_exterieurs').value) * 100) / 100 != total_surface){
        CalculSurfacesParois('mur_p_mext_1', 'mur_s_mext_1', 'env_surface_murs_exterieurs', 'mur_p_mext_1', 'mur_s_mext_1', 'mur_p_mext_2', 'mur_s_mext_2', 'mur_p_mext_3', 'mur_s_mext_3');
        CalculSurfacesParois('mur_p_mext_2', 'mur_s_mext_2', 'env_surface_murs_exterieurs', 'mur_p_mext_1', 'mur_s_mext_1', 'mur_p_mext_2', 'mur_s_mext_2', 'mur_p_mext_3', 'mur_s_mext_3');
        CalculSurfacesParois('mur_p_mext_3', 'mur_s_mext_3', 'env_surface_murs_exterieurs', 'mur_p_mext_1', 'mur_s_mext_1', 'mur_p_mext_2', 'mur_s_mext_2', 'mur_p_mext_3', 'mur_s_mext_3');
        //if ( si_champ_vide('mur_s_mext_2') && si_champ_vide('mur_s_mext_3') ) document.getElementById('mur_s_mext_1').value=Math.round(parseFloat(document.getElementById('env_surface_murs_exterieurs').value) * 100) / 100;
        //else alerte_coherence+='Il y a incohérence sur la surface des murs exterieur\n';
      }
      
      total_surface = Math.round( (parseFloat(document.getElementById('mur_s_plc_bas_1').value)       + parseFloat(document.getElementById('mur_s_plc_bas_2').value)      + parseFloat(document.getElementById('mur_s_plc_bas_3').value)) * 100) / 100;
      if (Math.round(parseFloat(document.getElementById('env_surface_plancher_bas').value) * 100) / 100 != total_surface){
        CalculSurfacesParois('mur_p_plc_bas_1', 'mur_s_plc_bas_1', 'env_surface_plancher_bas', 'mur_p_plc_bas_1', 'mur_s_plc_bas_1', 'mur_p_plc_bas_2', 'mur_s_plc_bas_2', 'mur_p_plc_bas_3', 'mur_s_plc_bas_3');
        CalculSurfacesParois('mur_p_plc_bas_2', 'mur_s_plc_bas_2', 'env_surface_plancher_bas', 'mur_p_plc_bas_1', 'mur_s_plc_bas_1', 'mur_p_plc_bas_2', 'mur_s_plc_bas_2', 'mur_p_plc_bas_3', 'mur_s_plc_bas_3');
        CalculSurfacesParois('mur_p_plc_bas_3', 'mur_s_plc_bas_3', 'env_surface_plancher_bas', 'mur_p_plc_bas_1', 'mur_s_plc_bas_1', 'mur_p_plc_bas_2', 'mur_s_plc_bas_2', 'mur_p_plc_bas_3', 'mur_s_plc_bas_3');
        //if ( si_champ_vide('mur_s_plc_bas_2') && si_champ_vide('mur_s_plc_bas_3') ) document.getElementById('mur_s_plc_bas_1').value=Math.round(parseFloat(document.getElementById('env_surface_plancher_bas').value) * 100) / 100;
        //else alerte_coherence+='Il y a incohérence sur la surface du plancher bas\n';
      }

      total_surface = Math.round( (parseFloat(document.getElementById('mur_s_plc_niv1_1').value)  + parseFloat(document.getElementById('mur_s_plc_niv1_2').value) + parseFloat(document.getElementById('mur_s_plc_niv1_3').value)) * 100) / 100;
      if (Math.round(parseFloat(document.getElementById('env_surface_plancher_niveau_1').value) * 100) / 100 != total_surface){
        CalculSurfacesParois('mur_p_plc_niv1_1', 'mur_s_plc_niv1_1', 'env_surface_plancher_niveau_1', 'mur_p_plc_niv1_1', 'mur_s_plc_niv1_1', 'mur_p_plc_niv1_2', 'mur_s_plc_niv1_2', 'mur_p_plc_niv1_3', 'mur_s_plc_niv1_3');
        CalculSurfacesParois('mur_p_plc_niv1_2', 'mur_s_plc_niv1_2', 'env_surface_plancher_niveau_1', 'mur_p_plc_niv1_1', 'mur_s_plc_niv1_1', 'mur_p_plc_niv1_2', 'mur_s_plc_niv1_2', 'mur_p_plc_niv1_3', 'mur_s_plc_niv1_3');
        CalculSurfacesParois('mur_p_plc_niv1_3', 'mur_s_plc_niv1_3', 'env_surface_plancher_niveau_1', 'mur_p_plc_niv1_1', 'mur_s_plc_niv1_1', 'mur_p_plc_niv1_2', 'mur_s_plc_niv1_2', 'mur_p_plc_niv1_3', 'mur_s_plc_niv1_3');
        //if ( si_champ_vide('mur_s_plc_niv1_2') && si_champ_vide('mur_s_plc_niv1_3') ) document.getElementById('mur_s_plc_niv1_1').value=Math.round(parseFloat(document.getElementById('env_surface_plancher_niveau_1').value) * 100) / 100;
        //else alerte_coherence+='Il y a incohérence sur la surface du premier étage (niveau 1)\n';
      }

      total_surface = Math.round( (parseFloat(document.getElementById('mur_s_plc_niv2_1').value)  + parseFloat(document.getElementById('mur_s_plc_niv2_2').value) + parseFloat(document.getElementById('mur_s_plc_niv2_3').value)) * 100) / 100;
      if (Math.round(parseFloat(document.getElementById('env_surface_plancher_niveau_2').value) * 100) / 100 != total_surface){
        CalculSurfacesParois('mur_p_plc_niv2_1', 'mur_s_plc_niv2_1', 'env_surface_plancher_niveau_2', 'mur_p_plc_niv2_1', 'mur_s_plc_niv2_1', 'mur_p_plc_niv2_2', 'mur_s_plc_niv2_2', 'mur_p_plc_niv2_3', 'mur_s_plc_niv2_3');
        CalculSurfacesParois('mur_p_plc_niv2_2', 'mur_s_plc_niv2_2', 'env_surface_plancher_niveau_2', 'mur_p_plc_niv2_1', 'mur_s_plc_niv2_1', 'mur_p_plc_niv2_2', 'mur_s_plc_niv2_2', 'mur_p_plc_niv2_3', 'mur_s_plc_niv2_3');
        CalculSurfacesParois('mur_p_plc_niv2_3', 'mur_s_plc_niv2_3', 'env_surface_plancher_niveau_2', 'mur_p_plc_niv2_1', 'mur_s_plc_niv2_1', 'mur_p_plc_niv2_2', 'mur_s_plc_niv2_2', 'mur_p_plc_niv2_3', 'mur_s_plc_niv2_3');
        //if ( si_champ_vide('mur_s_plc_niv2_2') && si_champ_vide('mur_s_plc_niv2_3') ) document.getElementById('mur_s_plc_niv2_1').value=Math.round(parseFloat(document.getElementById('env_surface_plancher_niveau_2').value) * 100) / 100;
        //else alerte_coherence+='Il y a incohérence sur la surface du deuxième étage (niveau 2)\n';
      }

      total_surface = Math.round( (parseFloat(document.getElementById('mur_s_toit_1').value)            + parseFloat(document.getElementById('mur_s_toit_2').value)           + parseFloat(document.getElementById('mur_s_toit_3').value)) * 100) / 100;
      if (Math.round(parseFloat(document.getElementById('env_surface_toiture').value) * 100) / 100 != total_surface){
        CalculSurfacesParois('mur_p_s_toit_1', 'mur_s_toit_1', 'env_surface_toiture', 'mur_p_s_toit_1', 'mur_s_toit_1', 'mur_p_s_toit_2', 'mur_s_toit_2', 'mur_p_s_toit_3', 'mur_s_toit_3');
        CalculSurfacesParois('mur_p_s_toit_2', 'mur_s_toit_2', 'env_surface_toiture', 'mur_p_s_toit_1', 'mur_s_toit_1', 'mur_p_s_toit_2', 'mur_s_toit_2', 'mur_p_s_toit_3', 'mur_s_toit_3');
        CalculSurfacesParois('mur_p_s_toit_3', 'mur_s_toit_3', 'env_surface_toiture', 'mur_p_s_toit_1', 'mur_s_toit_1', 'mur_p_s_toit_2', 'mur_s_toit_2', 'mur_p_s_toit_3', 'mur_s_toit_3');
        //if ( si_champ_vide('mur_s_toit_2') && si_champ_vide('mur_s_toit_3') ) document.getElementById('mur_s_toit_1').value=Math.round(parseFloat(document.getElementById('env_surface_toiture').value) * 100) / 100;
        //else alerte_coherence+='Il y a incohérence sur la surface du toît\n';
      }

      total_surface = Math.round( (parseFloat(document.getElementById('mur_s_pext_1').value)  + parseFloat(document.getElementById('mur_s_pext_2').value) + parseFloat(document.getElementById('mur_s_pext_3').value)) * 100) / 100;
      if (Math.round(parseFloat(document.getElementById('env_surface_portes_exterieures').value) * 100) / 100 != total_surface){
        CalculSurfacesParois('mur_p_pext_1', 'mur_s_pext_1', 'env_surface_portes_exterieures', 'mur_p_pext_1', 'mur_s_pext_1', 'mur_p_pext_2', 'mur_s_pext_2', 'mur_p_pext_3', 'mur_s_pext_3');
        CalculSurfacesParois('mur_p_pext_2', 'mur_s_pext_2', 'env_surface_portes_exterieures', 'mur_p_pext_1', 'mur_s_pext_1', 'mur_p_pext_2', 'mur_s_pext_2', 'mur_p_pext_3', 'mur_s_pext_3');
        CalculSurfacesParois('mur_p_pext_3', 'mur_s_pext_3', 'env_surface_portes_exterieures', 'mur_p_pext_1', 'mur_s_pext_1', 'mur_p_pext_2', 'mur_s_pext_2', 'mur_p_pext_3', 'mur_s_pext_3');
        //if ( si_champ_vide('mur_s_pext_2') && si_champ_vide('mur_s_pext_3') ) document.getElementById('mur_s_pext_1').value=Math.round(parseFloat(document.getElementById('env_surface_portes_exterieures').value) * 100) / 100;
        //else alerte_coherence+='Il y a incohérence sur la surface des portes exterieurs\n';
      }

      total_surface = Math.round( (parseFloat(document.getElementById('mur_s_bv_1').value)      + parseFloat(document.getElementById('mur_s_bv_2').value)     + parseFloat(document.getElementById('mur_s_bv_3').value)) * 100) / 100;
      if (Math.round(parseFloat(document.getElementById('env_surface_baies_vitrees').value) * 100) / 100 != total_surface){
        CalculSurfacesParois('mur_p_bv_1', 'mur_s_bv_1', 'env_surface_baies_vitrees', 'mur_p_bv_1', 'mur_s_bv_1', 'mur_p_bv_2', 'mur_s_bv_2', 'mur_p_bv_3', 'mur_s_bv_3');
        CalculSurfacesParois('mur_p_bv_2', 'mur_s_bv_2', 'env_surface_baies_vitrees', 'mur_p_bv_1', 'mur_s_bv_1', 'mur_p_bv_2', 'mur_s_bv_2', 'mur_p_bv_3', 'mur_s_bv_3');
        CalculSurfacesParois('mur_p_bv_3', 'mur_s_bv_3', 'env_surface_baies_vitrees', 'mur_p_bv_1', 'mur_s_bv_1', 'mur_p_bv_2', 'mur_s_bv_2', 'mur_p_bv_3', 'mur_s_bv_3');
        //if ( si_champ_vide('mur_s_bv_2') && si_champ_vide('mur_s_bv_3') ) document.getElementById('mur_s_bv_1').value=Math.round(parseFloat(document.getElementById('env_surface_baies_vitrees').value) * 100) / 100;
        //else alerte_coherence+='Il y a incohérence sur la surface des baies vitrées\n';
      }

      if (alerte_coherence!='') alert(alerte_coherence);
  }
  
  /********************************************  
      SAISIE DETAILLEE DES BAIES VITREES
  ********************************************/     
  else if (type_de_saisie=='saisie_detaillee_orientation_bv'){
  
      desactiver('env_surface_baies_vitrees');
  
      desactiver('bv_total_s_bv_e');
      desactiver('bv_total_s_bv_o');
      desactiver('bv_total_s_bv_n');
      desactiver('bv_total_s_bv_s');

      desactiver('bv_s_bv_e_v1');
      desactiver('bv_s_bv_o_v1');
      desactiver('bv_s_bv_n_v1');
      desactiver('bv_s_bv_s_v1');

      desactiver('bv_s_bv_e_v2');
      desactiver('bv_s_bv_o_v2');
      desactiver('bv_s_bv_n_v2');
      desactiver('bv_s_bv_s_v2');

      desactiver('bv_s_bv_e_v3');
      desactiver('bv_s_bv_o_v3');
      desactiver('bv_s_bv_n_v3');
      desactiver('bv_s_bv_s_v3');

      desactiver('bv_total_p_bv_v1');
      desactiver('mur_s_bv_1');
      desactiver('bv_total_p_bv_v2');
      desactiver('mur_s_bv_2');
      desactiver('bv_total_p_bv_v3');
      desactiver('mur_s_bv_3');
      
      desactiver('bv_totale_saisie');
  
//alert(document.getElementById('mur_s_bv_1').value); 
//alert(document.getElementById('mur_s_bv_2').value); 
//alert(document.getElementById('mur_s_bv_3').value); 
//alert(si_champ_plein('mur_s_bv_1'));
//alert(si_champ_vide('mur_s_bv_2'));
//alert(si_champ_vide('mur_s_bv_3'));
     
      //if (parseFloat(document.getElementById('mur_s_bv_1').value)!=0 && parseFloat(document.getElementById('mur_s_bv_2').value)==0 && parseFloat(document.getElementById('mur_s_bv_3').value)==0){
      if ( si_champ_vide('mur_s_bv_1') && si_champ_vide('mur_s_bv_2') && si_champ_vide('mur_s_bv_3') ){
//alert(" 1 vitrage sans saisie detaillée parois");
        var nombre_structures=1;
        var pourcentage_zone_1 = 100;
        var pourcentage_zone_2 = 0;
        var pourcentage_zone_3 = 0;
      }
      //else if (parseFloat(document.getElementById('mur_s_bv_1').value)!=0 && parseFloat(document.getElementById('mur_s_bv_2').value)!=0 && parseFloat(document.getElementById('mur_s_bv_3').value)==0){
      else if ( si_champ_plein('mur_s_bv_1') && si_champ_vide('mur_s_bv_2') && si_champ_vide('mur_s_bv_3') ){
//alert(" 1 vitrage ");
        var nombre_structures=1;
        var pourcentage_zone_1 = document.getElementById('mur_s_bv_1').value / document.getElementById('env_surface_baies_vitrees').value * 100;
        var pourcentage_zone_2 = 0;
        var pourcentage_zone_3 = 0;
      }
      //else if (parseFloat(document.getElementById('mur_s_bv_1').value)!=0 && parseFloat(document.getElementById('mur_s_bv_2').value)!=0 && parseFloat(document.getElementById('mur_s_bv_3').value)==0){
      else if ( si_champ_plein('mur_s_bv_1') && si_champ_plein('mur_s_bv_2') && si_champ_vide('mur_s_bv_3') ){
//alert(" 2 vitrage ");
        var nombre_structures=2;
        var pourcentage_zone_1 = document.getElementById('mur_s_bv_1').value / document.getElementById('env_surface_baies_vitrees').value * 100;
        var pourcentage_zone_2 = document.getElementById('mur_s_bv_2').value / document.getElementById('env_surface_baies_vitrees').value * 100;
        var pourcentage_zone_3 = 0;
      }
      else{
//alert(" 3 vitrage ");
        var nombre_structures=3;
        var pourcentage_zone_1 = document.getElementById('mur_s_bv_1').value / document.getElementById('env_surface_baies_vitrees').value * 100;
        var pourcentage_zone_2 = document.getElementById('mur_s_bv_2').value / document.getElementById('env_surface_baies_vitrees').value * 100;
        var pourcentage_zone_3 = document.getElementById('mur_s_bv_3').value / document.getElementById('env_surface_baies_vitrees').value * 100;
      }

//alert(pourcentage_zone_1);
//alert(pourcentage_zone_2);
//alert(pourcentage_zone_3);

      // si tous les champs de la colonne sont vides (on suppose qu'on est dans le cas d'une initialisation) OU si on est en modification (réinitialisé)
      if ( (si_champ_vide('bv_p_bv_e_v1') && si_champ_vide('bv_p_bv_o_v1') && si_champ_vide('bv_p_bv_n_v1') && si_champ_vide('bv_p_bv_s_v1')) || modification==1){
          var valeur_zone_1=parseFloat(document.getElementById('env_surface_baies_vitrees').value) * pourcentage_zone_1 / 100;
          var valeur_zone_2=parseFloat(document.getElementById('env_surface_baies_vitrees').value) * pourcentage_zone_2 / 100;
          var valeur_zone_3=parseFloat(document.getElementById('env_surface_baies_vitrees').value) * pourcentage_zone_3 / 100;

//alert(document.getElementById('env_surface_baies_vitrees').value);
//alert(pourcentage_zone_1 + " vitrage1 " + valeur_zone_1);
//alert(pourcentage_zone_2 + " vitrage2 " + valeur_zone_2);
//alert(pourcentage_zone_3 + " vitrage3 " + valeur_zone_3);

      
          if ( si_champ_plein('env_surface_baies_vitrees') ){
            document.getElementById('bv_p_bv_e_v1').value=25;
            document.getElementById('bv_s_bv_e_v1').value=Math.round((valeur_zone_1 * 0.25) * 100) / 100;

            document.getElementById('bv_p_bv_o_v1').value=25;
            document.getElementById('bv_s_bv_o_v1').value=Math.round((valeur_zone_1 * 0.25) * 100) / 100;

            document.getElementById('bv_p_bv_n_v1').value=0;
            document.getElementById('bv_s_bv_n_v1').value=0;    
      
            document.getElementById('bv_p_bv_s_v1').value=50;
            document.getElementById('bv_s_bv_s_v1').value=Math.round((valeur_zone_1 * 0.5) * 100) / 100;    
      


            document.getElementById('bv_p_bv_e_v2').value=25;
            document.getElementById('bv_s_bv_e_v2').value=Math.round((valeur_zone_2 * 0.25) * 100) / 100;

            document.getElementById('bv_p_bv_o_v2').value=25;
            document.getElementById('bv_s_bv_o_v2').value=Math.round((valeur_zone_2 * 0.25) * 100) / 100;

            document.getElementById('bv_p_bv_n_v2').value=0;
            document.getElementById('bv_s_bv_n_v2').value=0;    
      
            document.getElementById('bv_p_bv_s_v2').value=50;
            document.getElementById('bv_s_bv_s_v2').value=Math.round((valeur_zone_2 * 0.5) * 100) / 100;    


            document.getElementById('bv_p_bv_e_v3').value=25;
            document.getElementById('bv_s_bv_e_v3').value=Math.round((valeur_zone_3 * 0.25) * 100) / 100;

            document.getElementById('bv_p_bv_o_v3').value=25;
            document.getElementById('bv_s_bv_o_v3').value=Math.round((valeur_zone_3 * 0.25) * 100) / 100;

            document.getElementById('bv_p_bv_n_v3').value=0;
            document.getElementById('bv_s_bv_n_v3').value=0;    
      
            document.getElementById('bv_p_bv_s_v3').value=50;
            document.getElementById('bv_s_bv_s_v3').value=Math.round((valeur_zone_3 * 0.5) * 100) / 100;    
      

            if ( si_champ_vide('mur_s_bv_1') && si_champ_vide('mur_s_bv_2') && si_champ_vide('mur_s_bv_3') )  {
              document.getElementById('mur_s_bv_1').value = document.getElementById('env_surface_baies_vitrees').value;
              document.getElementById('mur_s_bv_2').value = 0;
              document.getElementById('mur_s_bv_3').value = 0;
            }

            document.getElementById('bv_total_p_bv_v1').value=parseFloat(document.getElementById('bv_p_bv_e_v1').value) + parseFloat(document.getElementById('bv_p_bv_o_v1').value) + parseFloat(document.getElementById('bv_p_bv_n_v1').value) + parseFloat(document.getElementById('bv_p_bv_s_v1').value);
            document.getElementById('bv_total_p_bv_v2').value=parseFloat(document.getElementById('bv_p_bv_e_v2').value) + parseFloat(document.getElementById('bv_p_bv_o_v2').value) + parseFloat(document.getElementById('bv_p_bv_n_v2').value) + parseFloat(document.getElementById('bv_p_bv_s_v2').value);
            document.getElementById('bv_total_p_bv_v3').value=parseFloat(document.getElementById('bv_p_bv_e_v3').value) + parseFloat(document.getElementById('bv_p_bv_o_v3').value) + parseFloat(document.getElementById('bv_p_bv_n_v3').value) + parseFloat(document.getElementById('bv_p_bv_s_v3').value);

            document.getElementById('bv_total_s_bv_e').value=Math.round( (parseFloat(document.getElementById('bv_s_bv_e_v1').value) + parseFloat(document.getElementById('bv_s_bv_e_v2').value) + parseFloat(document.getElementById('bv_s_bv_e_v3').value)) * 100 ) / 100;
            document.getElementById('bv_total_s_bv_o').value=Math.round( (parseFloat(document.getElementById('bv_s_bv_o_v1').value) + parseFloat(document.getElementById('bv_s_bv_o_v2').value) + parseFloat(document.getElementById('bv_s_bv_o_v3').value)) * 100 ) / 100;
            document.getElementById('bv_total_s_bv_n').value=Math.round( (parseFloat(document.getElementById('bv_s_bv_n_v1').value) + parseFloat(document.getElementById('bv_s_bv_n_v2').value) + parseFloat(document.getElementById('bv_s_bv_n_v3').value)) * 100 ) / 100;
            document.getElementById('bv_total_s_bv_s').value=Math.round( (parseFloat(document.getElementById('bv_s_bv_s_v1').value) + parseFloat(document.getElementById('bv_s_bv_s_v2').value) + parseFloat(document.getElementById('bv_s_bv_s_v3').value)) * 100 ) / 100;
            
            document.getElementById('bv_totale_saisie').value=Math.round( (parseFloat(document.getElementById('bv_total_s_bv_e').value) + parseFloat(document.getElementById('bv_total_s_bv_o').value) + parseFloat(document.getElementById('bv_total_s_bv_n').value) + parseFloat(document.getElementById('bv_total_s_bv_s').value)) * 100) / 100;    
            
          }
          
      }else{
          var valeur_zone_1=parseFloat(document.getElementById('env_surface_baies_vitrees').value) * pourcentage_zone_1 / 100;
          var valeur_zone_2=parseFloat(document.getElementById('env_surface_baies_vitrees').value) * pourcentage_zone_2 / 100;
          var valeur_zone_3=parseFloat(document.getElementById('env_surface_baies_vitrees').value) * pourcentage_zone_3 / 100;

          if ( si_champ_plein('env_surface_baies_vitrees') ){
            document.getElementById('bv_s_bv_e_v1').value=Math.round((valeur_zone_1 * document.getElementById('bv_p_bv_e_v1').value/100) * 100) / 100;
            document.getElementById('bv_s_bv_o_v1').value=Math.round((valeur_zone_1 * document.getElementById('bv_p_bv_o_v1').value/100) * 100) / 100;
            document.getElementById('bv_s_bv_n_v1').value=Math.round((valeur_zone_1 * document.getElementById('bv_p_bv_n_v1').value/100) * 100) / 100;    
            document.getElementById('bv_s_bv_s_v1').value=Math.round((valeur_zone_1 * document.getElementById('bv_p_bv_s_v1').value/100) * 100) / 100;    
      


            document.getElementById('bv_s_bv_e_v2').value=Math.round((valeur_zone_2 * document.getElementById('bv_p_bv_e_v2').value/100) * 100) / 100;
            document.getElementById('bv_s_bv_o_v2').value=Math.round((valeur_zone_2 * document.getElementById('bv_p_bv_o_v2').value/100) * 100) / 100;
            document.getElementById('bv_s_bv_n_v2').value=Math.round((valeur_zone_2 * document.getElementById('bv_p_bv_n_v2').value/100) * 100) / 100;    
            document.getElementById('bv_s_bv_s_v2').value=Math.round((valeur_zone_2 * document.getElementById('bv_p_bv_s_v2').value/100) * 100) / 100;    


            document.getElementById('bv_s_bv_e_v3').value=Math.round((valeur_zone_3 * document.getElementById('bv_p_bv_e_v3').value/100) * 100) / 100;
            document.getElementById('bv_s_bv_o_v3').value=Math.round((valeur_zone_3 * document.getElementById('bv_p_bv_o_v3').value/100) * 100) / 100;
            document.getElementById('bv_s_bv_n_v3').value=Math.round((valeur_zone_3 * document.getElementById('bv_p_bv_n_v3').value/100) * 100) / 100;   
            document.getElementById('bv_s_bv_s_v3').value=Math.round((valeur_zone_3 * document.getElementById('bv_p_bv_s_v3').value/100) * 100) / 100;    
      

            if ( si_champ_vide('mur_s_bv_1') && si_champ_vide('mur_s_bv_2') && si_champ_vide('mur_s_bv_3') )  {
              document.getElementById('mur_s_bv_1').value = document.getElementById('env_surface_baies_vitrees').value;
              document.getElementById('mur_s_bv_2').value = 0;
              document.getElementById('mur_s_bv_3').value = 0;
            }

            document.getElementById('bv_total_p_bv_v1').value=parseFloat(document.getElementById('bv_p_bv_e_v1').value) + parseFloat(document.getElementById('bv_p_bv_o_v1').value) + parseFloat(document.getElementById('bv_p_bv_n_v1').value) + parseFloat(document.getElementById('bv_p_bv_s_v1').value);
            document.getElementById('bv_total_p_bv_v2').value=parseFloat(document.getElementById('bv_p_bv_e_v2').value) + parseFloat(document.getElementById('bv_p_bv_o_v2').value) + parseFloat(document.getElementById('bv_p_bv_n_v2').value) + parseFloat(document.getElementById('bv_p_bv_s_v2').value);
            document.getElementById('bv_total_p_bv_v3').value=parseFloat(document.getElementById('bv_p_bv_e_v3').value) + parseFloat(document.getElementById('bv_p_bv_o_v3').value) + parseFloat(document.getElementById('bv_p_bv_n_v3').value) + parseFloat(document.getElementById('bv_p_bv_s_v3').value);

            document.getElementById('bv_total_s_bv_e').value=Math.round( (parseFloat(document.getElementById('bv_s_bv_e_v1').value) + parseFloat(document.getElementById('bv_s_bv_e_v2').value) + parseFloat(document.getElementById('bv_s_bv_e_v3').value)) * 100 ) / 100;
            document.getElementById('bv_total_s_bv_o').value=Math.round( (parseFloat(document.getElementById('bv_s_bv_o_v1').value) + parseFloat(document.getElementById('bv_s_bv_o_v2').value) + parseFloat(document.getElementById('bv_s_bv_o_v3').value)) * 100 ) / 100;
            document.getElementById('bv_total_s_bv_n').value=Math.round( (parseFloat(document.getElementById('bv_s_bv_n_v1').value) + parseFloat(document.getElementById('bv_s_bv_n_v2').value) + parseFloat(document.getElementById('bv_s_bv_n_v3').value)) * 100 ) / 100;
            document.getElementById('bv_total_s_bv_s').value=Math.round( (parseFloat(document.getElementById('bv_s_bv_s_v1').value) + parseFloat(document.getElementById('bv_s_bv_s_v2').value) + parseFloat(document.getElementById('bv_s_bv_s_v3').value)) * 100 ) / 100;
            
            document.getElementById('bv_totale_saisie').value=Math.round( (parseFloat(document.getElementById('bv_total_s_bv_e').value) + parseFloat(document.getElementById('bv_total_s_bv_o').value) + parseFloat(document.getElementById('bv_total_s_bv_n').value) + parseFloat(document.getElementById('bv_total_s_bv_s').value)) * 100) / 100;    
            
          }
      }
      
      if (nombre_structures==1){
          document.getElementById('bv_p_bv_e_v2').value=0;
          bloquer('bv_p_bv_e_v2');
          document.getElementById('bv_s_bv_e_v2').value=0;
          bloquer('bv_s_bv_e_v2');
          document.getElementById('bv_p_bv_o_v2').value=0;
          bloquer('bv_p_bv_o_v2');
          document.getElementById('bv_s_bv_o_v2').value=0;
          bloquer('bv_s_bv_o_v2');
          document.getElementById('bv_p_bv_n_v2').value=0;
          bloquer('bv_p_bv_n_v2');
          document.getElementById('bv_s_bv_n_v2').value=0;    
          bloquer('bv_s_bv_n_v2');
          document.getElementById('bv_p_bv_s_v2').value=0;
          bloquer('bv_p_bv_s_v2');
          document.getElementById('bv_s_bv_s_v2').value=0;    
          bloquer('bv_s_bv_s_v2');
          document.getElementById('bv_total_p_bv_v2').value=0;
          //bloquer('bv_total_p_bv_v2');
          //bloquer('mur_s_bv_2');
            
          document.getElementById('bv_p_bv_e_v3').value=0;
          bloquer('bv_p_bv_e_v3');
          document.getElementById('bv_s_bv_e_v3').value=0;
          bloquer('bv_s_bv_e_v3');
          document.getElementById('bv_p_bv_o_v3').value=0;
          bloquer('bv_p_bv_o_v3');
          document.getElementById('bv_s_bv_o_v3').value=0;
          bloquer('bv_s_bv_o_v3');
          document.getElementById('bv_p_bv_n_v3').value=0;
          bloquer('bv_p_bv_n_v3');
          document.getElementById('bv_s_bv_n_v3').value=0;    
          bloquer('bv_s_bv_n_v3');
          document.getElementById('bv_p_bv_s_v3').value=0;
          bloquer('bv_p_bv_s_v3');
          document.getElementById('bv_s_bv_s_v3').value=0;    
          bloquer('bv_s_bv_s_v3');
          document.getElementById('bv_total_p_bv_v3').value=0;
          //bloquer('bv_total_p_bv_v3');
          //bloquer('mur_s_bv_3');
      }
      else if (nombre_structures==2){
          document.getElementById('bv_p_bv_e_v3').value=0;
          bloquer('bv_p_bv_e_v3');
          document.getElementById('bv_s_bv_e_v3').value=0;
          bloquer('bv_s_bv_e_v3');
          document.getElementById('bv_p_bv_o_v3').value=0;
          bloquer('bv_p_bv_o_v3');
          document.getElementById('bv_s_bv_o_v3').value=0;
          bloquer('bv_s_bv_o_v3');
          document.getElementById('bv_p_bv_n_v3').value=0;
          bloquer('bv_p_bv_n_v3');
          document.getElementById('bv_s_bv_n_v3').value=0;    
          bloquer('bv_s_bv_n_v3');
          document.getElementById('bv_p_bv_s_v3').value=0;
          bloquer('bv_p_bv_s_v3');
          document.getElementById('bv_s_bv_s_v3').value=0;    
          bloquer('bv_s_bv_s_v3');
          document.getElementById('bv_total_p_bv_v3').value=0;
          //bloquer('bv_total_p_bv_v3');
          //bloquer('mur_s_bv_3');
      }
      
  }


  /********************************************  
      SAISIE DETAILLEE DE l'usage de l'ECS
  ********************************************/     
  else if (type_de_saisie=='saisie_detaillee_usage_ecs'){

     desactiver('usg_bain_jour');
     desactiver('usg_bain_hebdo');
     desactiver('usg_bain_mois');
     desactiver('usg_bain_annee');
     desactiver('usg_douche_jour');
     desactiver('usg_douche_hebdo');
     desactiver('usg_douche_mois');
     desactiver('usg_douche_annee');
     desactiver('usg_lavabo_jour');
     desactiver('usg_lavabo_hebdo');
     desactiver('usg_lavabo_mois');
     desactiver('usg_lavabo_annee');
     desactiver('usg_evier_jour');
     desactiver('usg_evier_hebdo');
     desactiver('usg_evier_mois');
     desactiver('usg_evier_annee');
     desactiver('usg_total_jour');
     desactiver('usg_total_hebdo');
     desactiver('usg_total_mois');
     desactiver('usg_total_annee');
     desactiver('usg_volume_annee');
     desactiver('usg_taux_total');
     desactiver('usg_volume_1');
     desactiver('usg_volume_2');
     desactiver('usg_volume_3');
     desactiver('usg_volume_4');
     desactiver('usg_volume_5');
     desactiver('usg_volume_6');
     desactiver('usg_volume_7');
     desactiver('usg_cons_jour');
     desactiver('usg_cons_mois');
     desactiver('usg_cons_annee');
     
     // initialisation de variable intermédiaire
     if (document.getElementById('locale_occupation_hebdomadaire').value == 'PERM')
       nb_jour_hebdo = 7;
     else if (document.getElementById('locale_occupation_hebdomadaire').value == 'WE')
       nb_jour_hebdo = 2;
     else if (document.getElementById('locale_occupation_hebdomadaire').value == 'SEM')
       nb_jour_hebdo = 5;

     nb_mois_annee = 0;
     if (document.getElementById('locale_occupation_mensuelle').value == 'PERM'){
       nb_mois_annee = 12; 
       } else if (document.getElementById('locale_occupation_mensuelle').value == 'DETAIL'){
       if (document.getElementById('locale_occupation_mensuelle_detaillee_JAN').value == 1)
         nb_mois_annee = nb_mois_annee + 1;
       if (document.getElementById('locale_occupation_mensuelle_detaillee_FEV').value == 1)
         nb_mois_annee = nb_mois_annee + 1;
       if (document.getElementById('locale_occupation_mensuelle_detaillee_MARS').value == 1)
         nb_mois_annee = nb_mois_annee + 1;
       if (document.getElementById('locale_occupation_mensuelle_detaillee_AVR').value == 1)
         nb_mois_annee = nb_mois_annee + 1;
       if (document.getElementById('locale_occupation_mensuelle_detaillee_MAI').value == 1)
         nb_mois_annee = nb_mois_annee + 1;
       if (document.getElementById('locale_occupation_mensuelle_detaillee_JUIN').value == 1)
         nb_mois_annee = nb_mois_annee + 1;
       if (document.getElementById('locale_occupation_mensuelle_detaillee_JUIL').value == 1)
         nb_mois_annee = nb_mois_annee + 1;
       if (document.getElementById('locale_occupation_mensuelle_detaillee_AOU').value == 1)
         nb_mois_annee = nb_mois_annee + 1;
       if (document.getElementById('locale_occupation_mensuelle_detaillee_SEP').value == 1)
         nb_mois_annee = nb_mois_annee + 1;
       if (document.getElementById('locale_occupation_mensuelle_detaillee_OCT').value == 1)
         nb_mois_annee = nb_mois_annee + 1;
       if (document.getElementById('locale_occupation_mensuelle_detaillee_NOV').value == 1)
         nb_mois_annee = nb_mois_annee + 1;
       if (document.getElementById('locale_occupation_mensuelle_detaillee_DEC').value == 1)
         nb_mois_annee = nb_mois_annee + 1;   
     }
     

     dim1_baignoire = parseFloat(document.getElementById('usg_bain_taille').value.substring(0,2));
     dim2_baignoire = parseFloat(document.getElementById('usg_bain_taille').value.substring(3,6));
     
     if (document.getElementById('usg_lavabo_duree').value == 'ECO')
       type_usage_lavabo = 0.7; 
     else if (document.getElementById('usg_lavabo_duree').value == 'BD')
       type_usage_lavabo = 0.9; 
     else if (document.getElementById('usg_lavabo_duree').value == 'B')
       type_usage_lavabo = 1.25; 
     else if (document.getElementById('usg_lavabo_duree').value == 'MJET')
       type_usage_lavabo = 1.5; 

     if (document.getElementById('usg_evier_duree').value == 'ECO')
       type_usage_evier = 0.7; 
     else if (document.getElementById('usg_evier_duree').value == 'BD')
       type_usage_evier = 0.9; 
     else if (document.getElementById('usg_evier_duree').value == 'B')
       type_usage_evier = 1.25; 
     else if (document.getElementById('usg_evier_duree').value == 'MJET')
       type_usage_evier = 1.5; 

 
     taux_1 = parseFloat(document.getElementById('usg_taux_1').value.substring(3,6));      
     taux_2 = parseFloat(document.getElementById('usg_taux_2').value.substring(3,6)); 
     taux_3 = parseFloat(document.getElementById('usg_taux_3').value.substring(3,6)); 
     taux_4 = parseFloat(document.getElementById('usg_taux_4').value.substring(3,6)); 
     taux_5 = parseFloat(document.getElementById('usg_taux_5').value.substring(3,6)); 
     taux_6 = parseFloat(document.getElementById('usg_taux_6').value.substring(3,6)); 
     taux_7 = parseFloat(document.getElementById('usg_taux_7').value.substring(3,6)); 
          
  
     // calcul des resultats
     document.getElementById('usg_bain_hebdo').value   = Math.round((dim1_baignoire/100-0.2)*0.25*(dim2_baignoire/100-0.2)*1000) * document.getElementById('usg_bain_nombre').value;
     document.getElementById('usg_bain_jour').value    = Math.round(document.getElementById('usg_bain_hebdo').value / nb_jour_hebdo);
     document.getElementById('usg_bain_annee').value   = Math.round(document.getElementById('usg_bain_hebdo').value *(52/12) * nb_mois_annee);
     document.getElementById('usg_bain_mois').value    = Math.round(document.getElementById('usg_bain_annee').value / nb_mois_annee);

     document.getElementById('usg_douche_hebdo').value = Math.round(document.getElementById('usg_douche_debit').value * document.getElementById('usg_douche_nombre').value * document.getElementById('usg_douche_duree').value);
     document.getElementById('usg_douche_jour').value  = Math.round(document.getElementById('usg_douche_hebdo').value / nb_jour_hebdo);
     document.getElementById('usg_douche_annee').value = Math.round(document.getElementById('usg_douche_hebdo').value *(52/12) * nb_mois_annee);
     document.getElementById('usg_douche_mois').value  = Math.round(document.getElementById('usg_douche_annee').value / nb_mois_annee);

     document.getElementById('usg_lavabo_hebdo').value = Math.round(document.getElementById('usg_lavabo_debit').value * document.getElementById('usg_lavabo_nombre').value * type_usage_lavabo * 0.5);
     document.getElementById('usg_lavabo_jour').value  = Math.round(document.getElementById('usg_lavabo_hebdo').value / nb_jour_hebdo);
     document.getElementById('usg_lavabo_annee').value = Math.round(document.getElementById('usg_lavabo_hebdo').value *(52/12) * nb_mois_annee);;
     document.getElementById('usg_lavabo_mois').value  = Math.round(document.getElementById('usg_lavabo_annee').value / nb_mois_annee);

     document.getElementById('usg_evier_hebdo').value  = Math.round(document.getElementById('usg_evier_debit').value * document.getElementById('usg_evier_nombre').value * type_usage_evier * 0.5);
     document.getElementById('usg_evier_jour').value   = Math.round(document.getElementById('usg_evier_hebdo').value / nb_jour_hebdo);
     document.getElementById('usg_evier_annee').value  = Math.round(document.getElementById('usg_evier_hebdo').value *(52/12) * nb_mois_annee);
     document.getElementById('usg_evier_mois').value   = Math.round(document.getElementById('usg_evier_annee').value / nb_mois_annee);

     document.getElementById('usg_total_jour').value   = parseFloat(document.getElementById('usg_bain_jour').value)  + parseFloat(document.getElementById('usg_douche_jour').value)  + parseFloat(document.getElementById('usg_lavabo_jour').value)  + parseFloat(document.getElementById('usg_evier_jour').value);
     document.getElementById('usg_total_hebdo').value  = parseFloat(document.getElementById('usg_bain_hebdo').value) + parseFloat(document.getElementById('usg_douche_hebdo').value) + parseFloat(document.getElementById('usg_lavabo_hebdo').value) + parseFloat(document.getElementById('usg_evier_hebdo').value);
     document.getElementById('usg_total_mois').value   = parseFloat(document.getElementById('usg_bain_mois').value)  + parseFloat(document.getElementById('usg_douche_mois').value)  + parseFloat(document.getElementById('usg_lavabo_mois').value)  + parseFloat(document.getElementById('usg_evier_mois').value);
     document.getElementById('usg_total_annee').value  = parseFloat(document.getElementById('usg_bain_annee').value) + parseFloat(document.getElementById('usg_douche_annee').value) + parseFloat(document.getElementById('usg_lavabo_annee').value) + parseFloat(document.getElementById('usg_evier_annee').value);
     document.getElementById('usg_volume_annee').value = Math.round(parseFloat(document.getElementById('usg_total_annee').value) / 1000);

     document.getElementById('usg_taux_total').value   = taux_1 + taux_2 + taux_3 + taux_4 + taux_5 +taux_6 +taux_7;

     // calculer par l'année pour les problèmes d'arrondi
     volume_tranche_1_annuel = document.getElementById('usg_total_annee').value * taux_1 / 100 ;
     volume_tranche_2_annuel = document.getElementById('usg_total_annee').value * taux_2 / 100 ;
     volume_tranche_3_annuel = document.getElementById('usg_total_annee').value * taux_3 / 100 ;
     volume_tranche_4_annuel = document.getElementById('usg_total_annee').value * taux_4 / 100 ;
     volume_tranche_5_annuel = document.getElementById('usg_total_annee').value * taux_5 / 100 ;
     volume_tranche_6_annuel = document.getElementById('usg_total_annee').value * taux_6 / 100 ;
     volume_tranche_7_annuel = document.getElementById('usg_total_annee').value * taux_7 / 100 ;

     document.getElementById('usg_cons_annee').value = Math.round(volume_tranche_1_annuel + volume_tranche_2_annuel + volume_tranche_3_annuel + volume_tranche_4_annuel  + volume_tranche_5_annuel + volume_tranche_6_annuel + volume_tranche_7_annuel);
     document.getElementById('usg_cons_mois').value  = Math.round(document.getElementById('usg_cons_annee').value / nb_mois_annee);
     document.getElementById('usg_cons_jour').value  = Math.round(document.getElementById('usg_cons_annee').value / (52/12*nb_mois_annee) / nb_jour_hebdo);

     document.getElementById('usg_volume_1').value = Math.round(document.getElementById('usg_cons_jour').value * taux_1 / 100) ;
     document.getElementById('usg_volume_2').value = Math.round(document.getElementById('usg_cons_jour').value * taux_2 / 100) ;
     document.getElementById('usg_volume_3').value = Math.round(document.getElementById('usg_cons_jour').value * taux_3 / 100) ;
     document.getElementById('usg_volume_4').value = Math.round(document.getElementById('usg_cons_jour').value * taux_4 / 100) ;
     document.getElementById('usg_volume_5').value = Math.round(document.getElementById('usg_cons_jour').value * taux_5 / 100) ;
     document.getElementById('usg_volume_6').value = Math.round(document.getElementById('usg_cons_jour').value * taux_6 / 100) ;
     document.getElementById('usg_volume_7').value = Math.round(document.getElementById('usg_cons_jour').value * taux_7 / 100) ;

  }
  /********************************************  
      SAISIE DETAILLEE DES consommations
  ********************************************/     
  else if (type_de_saisie == 'saisie_detaillee_consommation'){

 energie_chauffage                   = pioche['cons_energie_chauffage'];
 energie_ecs                         = pioche['cons_energie_ecs'];
 energie_cuisine_1                   = pioche['cons_energie_cuisine_1'];
 energie_cuisine_2                   = pioche['cons_energie_cuisine_2'];
 energie_chaudiere_appoint_chauffage = pioche['cons_energie_chaudiere_appoint_chauffage'];
 energie_chaudiere_appoint_ecs       = pioche['cons_energie_chaudiere_appoint_ecs'];
 cheminee                            = pioche['cons_cheminee'];

/*alert(energie_chauffage);
 alert(energie_ecs); 
 alert(energie_cuisine_1);
 alert(energie_cuisine_2);
 alert(energie_chaudiere_appoint_chauffage);
 alert(energie_chaudiere_appoint_ecs);
 alert(cheminee);
*/ 
 
     if (energie_ecs == 'CHAUF' || energie_ecs == 'CHAUF_ENR')
        energie_ecs = energie_chauffage;
       
     // initialisation de variable intermédiaire
     active_ELEC = true;

     if (energie_chauffage == 'ELEC' || energie_chaudiere_appoint_chauffage == 'ELEC')  {
       document.getElementById('coche_fac_conso_elec_ch').checked = true; 
       gestion_coches_oui('locale','fac_conso_elec_ch',document.getElementById('coche_fac_conso_elec_ch').checked);
     }else{
       document.getElementById('coche_fac_conso_elec_ch').checked = false; 
       gestion_coches_oui('locale','fac_conso_elec_ch',document.getElementById('coche_fac_conso_elec_ch').checked);
     }
     if (energie_ecs == 'ELEC' || energie_chaudiere_appoint_ecs == 'ELEC')  {
       document.getElementById('coche_fac_conso_elec_ecs').checked = true; 
       gestion_coches_oui('locale','fac_conso_elec_ecs',document.getElementById('coche_fac_conso_elec_ecs').checked);
     }else{
       document.getElementById('coche_fac_conso_elec_ecs').checked = false; 
       gestion_coches_oui('locale','fac_conso_elec_ecs',document.getElementById('coche_fac_conso_elec_ecs').checked);
     }
     if (energie_cuisine_1 == 'ELEC' || energie_cuisine_2 == 'ELEC')  {
       document.getElementById('coche_fac_conso_elec_cuisine').checked = true; 
       gestion_coches_oui('locale','fac_conso_elec_cuisine',document.getElementById('coche_fac_conso_elec_cuisine').checked);
     }else{
       document.getElementById('coche_fac_conso_elec_cuisine').checked = false; 
       gestion_coches_oui('locale','fac_conso_elec_cuisine',document.getElementById('coche_fac_conso_elec_cuisine').checked);
     }
     document.getElementById('coche_fac_conso_elec_autre').checked = true; 
     gestion_coches_oui('locale','fac_conso_elec_autre',document.getElementById('coche_fac_conso_elec_autre').checked);


     if (energie_chauffage == 'GN' || energie_ecs == 'GN' || energie_cuisine_1 == 'GN' || energie_cuisine_2 == 'GN' || 
         energie_chaudiere_appoint_chauffage == 'GN' || energie_chaudiere_appoint_ecs == 'GN')
       active_GN = true;
      else
       active_GN = false; 

    if (energie_chauffage == 'GN' || energie_chaudiere_appoint_chauffage == 'GN')  {
      document.getElementById('coche_fac_conso_gn_ch').checked = true; 
      gestion_coches_oui('locale','fac_conso_gn_ch',document.getElementById('coche_fac_conso_gn_ch').checked);
    }else{
      document.getElementById('coche_fac_conso_gn_ch').checked = false; 
      gestion_coches_oui('locale','fac_conso_gn_ch',document.getElementById('coche_fac_conso_gn_ch').checked);
     }
    if (energie_ecs == 'GN' || energie_chaudiere_appoint_ecs == 'GN')  {
      document.getElementById('coche_fac_conso_gn_ecs').checked = true; 
      gestion_coches_oui('locale','fac_conso_gn_ecs',document.getElementById('coche_fac_conso_gn_ecs').checked);
    }else{
      document.getElementById('coche_fac_conso_gn_ecs').checked = false; 
      gestion_coches_oui('locale','fac_conso_gn_ecs',document.getElementById('coche_fac_conso_gn_ecs').checked);
     }
    if (energie_cuisine_1 == 'GN' || energie_cuisine_2 == 'GN')  {
      document.getElementById('coche_fac_conso_gn_cuisine').checked = true; 
      gestion_coches_oui('locale','fac_conso_gn_cuisine',document.getElementById('coche_fac_conso_gn_cuisine').checked);
    }else{
      document.getElementById('coche_fac_conso_gn_cuisine').checked = false; 
      gestion_coches_oui('locale','fac_conso_gn_cuisine',document.getElementById('coche_fac_conso_gn_cuisine').checked);
     }
    
    
 //alert(active_GN);

     if (energie_chauffage == 'PROP' || energie_ecs == 'PROP' || energie_cuisine_1 == 'PROP' || energie_cuisine_2 == 'PROP' || 
         energie_chaudiere_appoint_chauffage == 'PROP' || energie_chaudiere_appoint_ecs == 'PROP')
       active_PROP = true;
      else
       active_PROP = false; 
 
    if (energie_chauffage == 'PROP' || energie_chaudiere_appoint_chauffage == 'PROP')  {
      document.getElementById('coche_fac_conso_prop_ch').checked = true; 
      gestion_coches_oui('locale','fac_conso_prop_ch',document.getElementById('coche_fac_conso_prop_ch').checked);
    }else{
      document.getElementById('coche_fac_conso_prop_ch').checked = false; 
      gestion_coches_oui('locale','fac_conso_prop_ch',document.getElementById('coche_fac_conso_prop_ch').checked);
     }
    if (energie_ecs == 'PROP' || energie_chaudiere_appoint_ecs == 'PROP')  {
      document.getElementById('coche_fac_conso_prop_ecs').checked = true; 
      gestion_coches_oui('locale','fac_conso_prop_ecs',document.getElementById('coche_fac_conso_prop_ecs').checked);
    }else{
      document.getElementById('coche_fac_conso_prop_ecs').checked = false; 
      gestion_coches_oui('locale','fac_conso_prop_ecs',document.getElementById('coche_fac_conso_prop_ecs').checked);
     }
    if (energie_cuisine_1 == 'PROP' || energie_cuisine_2 == 'PROP')  {
      document.getElementById('coche_fac_conso_prop_cuisine').checked = true; 
      gestion_coches_oui('locale','fac_conso_prop_cuisine',document.getElementById('coche_fac_conso_prop_cuisine').checked);
    }else{
      document.getElementById('coche_fac_conso_prop_cuisine').checked = false; 
      gestion_coches_oui('locale','fac_conso_prop_cuisine',document.getElementById('coche_fac_conso_prop_cuisine').checked);
     }

// alert(active_PROP);

     if (energie_chauffage == 'BOUT' || energie_ecs == 'BOUT' || energie_cuisine_1 == 'BOUT' || energie_cuisine_2 == 'BOUT' || 
         energie_chaudiere_appoint_chauffage == 'BOUT' || energie_chaudiere_appoint_ecs == 'BOUT')
       active_BOUT = true;
      else
       active_BOUT = false; 

    if (energie_chauffage == 'BOUT' || energie_chaudiere_appoint_chauffage == 'BOUT')  {
      document.getElementById('coche_fac_conso_bout_ch').checked = true; 
      gestion_coches_oui('locale','fac_conso_bout_ch',document.getElementById('coche_fac_conso_bout_ch').checked);
    }else{
      document.getElementById('coche_fac_conso_bout_ch').checked = false; 
      gestion_coches_oui('locale','fac_conso_bout_ch',document.getElementById('coche_fac_conso_bout_ch').checked);
     }
    if (energie_ecs == 'BOUT' || energie_chaudiere_appoint_ecs == 'BOUT')  {
      document.getElementById('coche_fac_conso_bout_ecs').checked = true; 
      gestion_coches_oui('locale','fac_conso_bout_ecs',document.getElementById('coche_fac_conso_bout_ecs').checked);
    }else{
      document.getElementById('coche_fac_conso_bout_ecs').checked = false; 
      gestion_coches_oui('locale','fac_conso_bout_ecs',document.getElementById('coche_fac_conso_bout_ecs').checked);
     }
    if (energie_cuisine_1 == 'BOUT' || energie_cuisine_2 == 'BOUT')  {
      document.getElementById('coche_fac_conso_bout_cuisine').checked = true; 
      gestion_coches_oui('locale','fac_conso_bout_cuisine',document.getElementById('coche_fac_conso_bout_cuisine').checked);
    }else{
      document.getElementById('coche_fac_conso_bout_cuisine').checked = false; 
      gestion_coches_oui('locale','fac_conso_bout_cuisine',document.getElementById('coche_fac_conso_bout_cuisine').checked);
     }

//  alert(active_BOUT);

     if (energie_chauffage == 'FIOUL' || energie_ecs == 'FIOUL' || 
         energie_chaudiere_appoint_chauffage == 'FIOUL' || energie_chaudiere_appoint_ecs == 'FIOUL')
       active_FIOUL = true;
      else
       active_FIOUL = false; 

    if (energie_chauffage == 'FIOUL' || energie_chaudiere_appoint_chauffage == 'FIOUL')  {
      document.getElementById('coche_fac_conso_fioul_ch').checked = true; 
      gestion_coches_oui('locale','fac_conso_fioul_ch',document.getElementById('coche_fac_conso_fioul_ch').checked);
    }else{
      document.getElementById('coche_fac_conso_fioul_ch').checked = false; 
      gestion_coches_oui('locale','fac_conso_fioul_ch',document.getElementById('coche_fac_conso_fioul_ch').checked);
     }
    if (energie_ecs == 'FIOUL' || energie_chaudiere_appoint_ecs == 'FIOUL')  {
      document.getElementById('coche_fac_conso_fioul_ecs').checked = true; 
      gestion_coches_oui('locale','fac_conso_fioul_ecs',document.getElementById('coche_fac_conso_fioul_ecs').checked);
    }else{
      document.getElementById('coche_fac_conso_fioul_ecs').checked = false; 
      gestion_coches_oui('locale','fac_conso_fioul_ecs',document.getElementById('coche_fac_conso_fioul_ecs').checked);
     }

//  

     if (energie_chauffage == 'PELLET' || energie_ecs == 'PELLET' || 
         energie_chaudiere_appoint_chauffage == 'PELLET' || energie_chaudiere_appoint_ecs == 'PELLET' ||  cheminee == 'P_GRAN')  
       active_PELLET = true;
      else
       active_PELLET = false; 
    if (energie_chauffage == 'PELLET' || energie_chaudiere_appoint_chauffage == 'PELLET')  {
      document.getElementById('coche_fac_conso_pellet_ch').checked = true; 
      gestion_coches_oui('locale','fac_conso_pellet_ch',document.getElementById('coche_fac_conso_pellet_ch').checked);
    }else{
      document.getElementById('coche_fac_conso_pellet_ch').checked = false; 
      gestion_coches_oui('locale','fac_conso_pellet_ch',document.getElementById('coche_fac_conso_pellet_ch').checked);
     }
    if (cheminee == 'P_GRAN')  {
      document.getElementById('coche_fac_conso_pellet_autre').checked = true; 
      gestion_coches_oui('locale','fac_conso_pellet_autre',document.getElementById('coche_fac_conso_pellet_autre').checked);
    }else{
      document.getElementById('coche_fac_conso_pellet_autre').checked = false; 
      gestion_coches_oui('locale','fac_conso_pellet_autre',document.getElementById('coche_fac_conso_pellet_autre').checked);
     }

  //alert(active_PELLET);

     if (energie_chauffage == 'BUCHE' || energie_ecs == 'BUCHE' || 
         energie_chaudiere_appoint_chauffage == 'BUCHE' || energie_chaudiere_appoint_ecs == 'BUCHE' || 
         cheminee == 'AV_REG' || cheminee == 'INSERT' || cheminee == 'P_BOIS')
       active_BUCHE = true;
      else
       active_BUCHE = false; 

    if (energie_chauffage == 'BUCHE' || energie_chaudiere_appoint_chauffage == 'BUCHE')  {
      document.getElementById('coche_fac_conso_buche_ch').checked = true; 
      gestion_coches_oui('locale','fac_conso_buche_ch',document.getElementById('coche_fac_conso_buche_ch').checked);
    }else{
      document.getElementById('coche_fac_conso_buche_ch').checked = false; 
      gestion_coches_oui('locale','fac_conso_buche_ch',document.getElementById('coche_fac_conso_buche_ch').checked);
     }
    if (cheminee == 'AV_REG' || cheminee == 'INSERT' || cheminee == 'P_BOIS')  {
      document.getElementById('coche_fac_conso_buche_autre').checked = true; 
      gestion_coches_oui('locale','fac_conso_buche_autre',document.getElementById('coche_fac_conso_buche_autre').checked);
    }else{
      document.getElementById('coche_fac_conso_buche_autre').checked = false; 
      gestion_coches_oui('locale','fac_conso_buche_autre',document.getElementById('coche_fac_conso_buche_autre').checked);
     }

  //alert(active_BUCHE);




     // activation des zones autorisées
     if (active_ELEC == true) {
         debloquer('fac_abon_elec_1'); 
         debloquer('fac_conso_elec_1'); 
         debloquer('fac_conso_elec_2'); 
         debloquer('fac_conso_elec_3'); 
         debloquer_coche('fac_conso_elec_ch'); 
         debloquer_coche('fac_conso_elec_ecs'); 
         debloquer_coche('fac_conso_elec_cuisine'); 
         debloquer_coche('fac_conso_elec_autre'); 
     } else{
         document.getElementById('fac_abon_elec_1').value = 0;
         document.getElementById('fac_conso_elec_1').value = 0;
         document.getElementById('fac_conso_elec_2').value = 0;
         document.getElementById('fac_conso_elec_3').value = 0;
         document.getElementById('fac_conso_elec_ch').value = 0;
         document.getElementById('fac_conso_elec_ecs').value = 0;
         document.getElementById('fac_conso_elec_cuisine').value = 0;
         document.getElementById('fac_conso_elec_autre').value = 0;
         bloquer('fac_abon_elec_1'); 
         bloquer('fac_conso_elec_1'); 
         bloquer('fac_conso_elec_2'); 
         bloquer('fac_conso_elec_3'); 
         bloquer_coche('fac_conso_elec_ch'); 
         bloquer_coche('fac_conso_elec_ecs'); 
         bloquer_coche('fac_conso_elec_cuisine'); 
         bloquer_coche('fac_conso_elec_autre'); 
     }    
     if (active_GN == true) {
         debloquer('fac_abon_gn_1'); 
         debloquer('fac_conso_gn_1'); 
         debloquer('fac_conso_gn_2'); 
         debloquer('fac_conso_gn_3'); 
         debloquer_coche('fac_conso_gn_ch'); 
         debloquer_coche('fac_conso_gn_ecs'); 
         debloquer_coche('fac_conso_gn_cuisine'); 
     } else{
         document.getElementById('fac_abon_gn_1').value = 0;
         document.getElementById('fac_conso_gn_1').value = 0;
         document.getElementById('fac_conso_gn_2').value = 0;
         document.getElementById('fac_conso_gn_3').value = 0;
         document.getElementById('fac_conso_gn_ch').value = 0;
         document.getElementById('fac_conso_gn_ecs').value = 0;
         document.getElementById('fac_conso_gn_cuisine').value = 0;
         bloquer('fac_abon_gn_1'); 
         bloquer('fac_conso_gn_1'); 
         bloquer('fac_conso_gn_2'); 
         bloquer('fac_conso_gn_3'); 
         bloquer_coche('fac_conso_gn_ch'); 
         bloquer_coche('fac_conso_gn_ecs'); 
         bloquer_coche('fac_conso_gn_cuisine'); 
     }    
    
     if (active_PROP == true) {
        debloquer('fac_abon_prop_1'); 
        debloquer('fac_conso_prop_1'); 
        debloquer('fac_conso_prop_2'); 
        debloquer('fac_conso_prop_3'); 
        debloquer_coche('fac_conso_prop_ch'); 
        debloquer_coche('fac_conso_prop_ecs'); 
        debloquer_coche('fac_conso_prop_cuisine'); 
     }else{
        document.getElementById('fac_abon_prop_1').value = 0;
        document.getElementById('fac_conso_prop_1').value = 0;
        document.getElementById('fac_conso_prop_2').value = 0;
        document.getElementById('fac_conso_prop_3').value = 0;
        document.getElementById('fac_conso_prop_ch').value = 0;
        document.getElementById('fac_conso_prop_ecs').value = 0;
        document.getElementById('fac_conso_prop_cuisine').value = 0;
        bloquer('fac_abon_prop_1'); 
        bloquer('fac_conso_prop_1'); 
        bloquer('fac_conso_prop_2'); 
        bloquer('fac_conso_prop_3'); 
        bloquer_coche('fac_conso_prop_ch'); 
        bloquer_coche('fac_conso_prop_ecs'); 
        bloquer_coche('fac_conso_prop_cuisine'); 
     }    
     
     if (active_BOUT == true) {
        debloquer('fac_conso_bout_1'); 
        debloquer('fac_conso_bout_2'); 
        debloquer('fac_conso_bout_3'); 
        debloquer_coche('fac_conso_bout_ch'); 
        debloquer_coche('fac_conso_bout_ecs'); 
        debloquer_coche('fac_conso_bout_cuisine'); 
     }else{
        document.getElementById('fac_conso_bout_1').value = 0;
        document.getElementById('fac_conso_bout_2').value = 0;
        document.getElementById('fac_conso_bout_3').value = 0;
        document.getElementById('fac_conso_bout_ch').value = 0;
        document.getElementById('fac_conso_bout_ecs').value = 0;
        document.getElementById('fac_conso_bout_cuisine').value = 0;
        bloquer('fac_conso_bout_1'); 
        bloquer('fac_conso_bout_2'); 
        bloquer('fac_conso_bout_3'); 
        bloquer_coche('fac_conso_bout_ch'); 
        bloquer_coche('fac_conso_bout_ecs'); 
        bloquer_coche('fac_conso_bout_cuisine'); 
     }    
     
     if (active_FIOUL == true) {
        debloquer('fac_conso_fioul_1'); 
        debloquer('fac_conso_fioul_2'); 
        debloquer('fac_conso_fioul_3'); 
        debloquer_coche('fac_conso_fioul_ch'); 
        debloquer_coche('fac_conso_fioul_ecs'); 
     }else{
        document.getElementById('fac_conso_fioul_1').value = 0;
        document.getElementById('fac_conso_fioul_2').value = 0;
        document.getElementById('fac_conso_fioul_3').value = 0;
        document.getElementById('fac_conso_fioul_ch').value = 0;
        document.getElementById('fac_conso_fioul_ecs').value = 0;
        bloquer('fac_conso_fioul_1'); 
        bloquer('fac_conso_fioul_2'); 
        bloquer('fac_conso_fioul_3'); 
        bloquer_coche('fac_conso_fioul_ch'); 
        bloquer_coche('fac_conso_fioul_ecs'); 
     }    
     
     if (active_PELLET == true) {
        debloquer('fac_conso_pellet_1'); 
        debloquer('fac_conso_pellet_2'); 
        debloquer('fac_conso_pellet_3'); 
        debloquer_coche('fac_conso_pellet_ch'); 
     }else{
        document.getElementById('fac_conso_pellet_1').value = 0;
        document.getElementById('fac_conso_pellet_2').value = 0;
        document.getElementById('fac_conso_pellet_3').value = 0;
        document.getElementById('fac_conso_pellet_ch').value = 0;
        bloquer('fac_conso_pellet_1'); 
        bloquer('fac_conso_pellet_2'); 
        bloquer('fac_conso_pellet_3'); 
        bloquer_coche('fac_conso_pellet_ch'); 
     }    
     
//  alert(active_BUCHE);

     if (active_BUCHE == true) {
        debloquer('fac_conso_buche_1'); 
        debloquer('fac_conso_buche_2'); 
        debloquer('fac_conso_buche_3'); 
        debloquer_coche('fac_conso_buche_ch'); 
     }else{
        document.getElementById('fac_conso_buche_1').value = 0;
        document.getElementById('fac_conso_buche_2').value = 0;
        document.getElementById('fac_conso_buche_3').value = 0;
        document.getElementById('fac_conso_buche_ch').value = 0;
        bloquer('fac_conso_buche_1'); 
        bloquer('fac_conso_buche_2'); 
        bloquer('fac_conso_buche_3'); 
        bloquer_coche('fac_conso_buche_ch'); 
     }    
     


    }
  /********************************************  
      SAISIE DETAILLEE DES travaux
  ********************************************/     
  else if (type_de_saisie == 'saisie_detaillee_travaux'){

// alert ("coucou");    
     // recuparation des variables globales
     numero_futur                   = pioche['inv_numero_futur'];
     surface_plancher_bas           = pioche['inv_surface_plancher_bas'];
     surface_plancher_niveau_1      = pioche['inv_surface_plancher_niveau_1'];
     surface_plancher_niveau_2      = pioche['inv_surface_plancher_niveau_2'];
     surface_murs_exterieurs        = pioche['inv_surface_murs_exterieurs'];
     surface_baies_verticales       = pioche['inv_surface_baies_verticales'];
     surface_porte_exterieure       = pioche['inv_surface_porte_exterieure'];
     surface_dernier_plafond        = pioche['inv_surface_dernier_plafond'];
     surface_habitable              = pioche['inv_surface_habitable'];
     nombre_piece_total             = pioche['inv_nombre_piece_total'];
     nombre_fenetre                 = pioche['inv_nombre_fenetre'];
     nombre_radiateur               = pioche['inv_nombre_radiateur'];

// alert (nombre_radiateur);     
     
     nombre_porte_exterieure        = 1;
     nombre_ventilation             = 1;
     nombre_generateur_ch           = 1;
     nombre_generateur_ecs          = 1;
     nombre_stockage_ecs            = 1;
     nombre_photovoltaique          = 10;

    // affectation des quantités
    document.getElementById('inv_plancher_bas_qte').value       = surface_plancher_bas;   
    document.getElementById('inv_murs_exterieurs_qte').value    = surface_murs_exterieurs;   
    document.getElementById('inv_combles_qte').value            = surface_dernier_plafond;   
    document.getElementById('inv_baies_fenetres_qte').value     = nombre_fenetre;   
    document.getElementById('inv_portes_exterieures_qte').value = nombre_porte_exterieure;   
    document.getElementById('inv_ventilation_qte').value        = nombre_ventilation;   
    document.getElementById('inv_generateur_ch_qte').value      = nombre_generateur_ch;   
    document.getElementById('inv_generateur_ecs_qte').value     = nombre_generateur_ecs;   
    document.getElementById('inv_emetteur_ch_qte').value        = nombre_radiateur;   
    document.getElementById('inv_stockage_ecs_qte').value       = nombre_stockage_ecs;   
    document.getElementById('inv_photovoltaique_qte').value     = nombre_photovoltaique;   
     
    // calcul des montants
    document.getElementById('inv_plancher_bas_montant').value       = document.getElementById('inv_plancher_bas_prix_unitaire').value       * document.getElementById('inv_plancher_bas_qte').value;   
    document.getElementById('inv_murs_exterieurs_montant').value    = document.getElementById('inv_murs_exterieurs_prix_unitaire').value    * document.getElementById('inv_murs_exterieurs_qte').value;   
    document.getElementById('inv_combles_montant').value            = document.getElementById('inv_combles_prix_unitaire').value            * document.getElementById('inv_combles_qte').value;   
    document.getElementById('inv_baies_fenetres_montant').value     = document.getElementById('inv_baies_fenetres_prix_unitaire').value     * document.getElementById('inv_baies_fenetres_qte').value;   
    document.getElementById('inv_portes_exterieures_montant').value = document.getElementById('inv_portes_exterieures_prix_unitaire').value * document.getElementById('inv_portes_exterieures_qte').value;   
    document.getElementById('inv_ventilation_montant').value        = document.getElementById('inv_ventilation_prix_unitaire').value        * document.getElementById('inv_ventilation_qte').value;   
    document.getElementById('inv_generateur_ch_montant').value      = document.getElementById('inv_generateur_ch_prix_unitaire').value      * document.getElementById('inv_generateur_ch_qte').value;   
    document.getElementById('inv_generateur_ecs_montant').value     = document.getElementById('inv_generateur_ecs_prix_unitaire').value     * document.getElementById('inv_generateur_ecs_qte').value;   
    document.getElementById('inv_emetteur_ch_montant').value        = document.getElementById('inv_emetteur_ch_prix_unitaire').value        * document.getElementById('inv_emetteur_ch_qte').value;   
    document.getElementById('inv_stockage_ecs_montant').value       = document.getElementById('inv_stockage_ecs_prix_unitaire').value       * document.getElementById('inv_stockage_ecs_qte').value;   
    document.getElementById('inv_photovoltaique_montant').value     = document.getElementById('inv_photovoltaique_prix_unitaire').value     * document.getElementById('inv_photovoltaique_qte').value;   

// alert(document.getElementById('inv_photovoltaique_montant').value);
    
    // calcul des totaux et sous-totaux
    document.getElementById('inv_montant_isolation').value     =  Math.round(parseFloat(document.getElementById('inv_plancher_bas_montant').value) +
                                                                  parseFloat(document.getElementById('inv_murs_exterieurs_montant').value) +
                                                                  parseFloat(document.getElementById('inv_combles_montant').value) + 
                                                                  parseFloat(document.getElementById('inv_baies_fenetres_montant').value) +
                                                                  parseFloat(document.getElementById('inv_portes_exterieures_montant').value));

    document.getElementById('inv_montant_systeme').value       =  Math.round(parseFloat(document.getElementById('inv_ventilation_montant').value) +
                                                                  parseFloat(document.getElementById('inv_generateur_ch_montant').value) +
                                                                  parseFloat(document.getElementById('inv_generateur_ecs_montant').value) +
                                                                  parseFloat(document.getElementById('inv_emetteur_ch_montant').value) +
                                                                  parseFloat(document.getElementById('inv_stockage_ecs_montant').value) + 
                                                                  parseFloat(document.getElementById('inv_photovoltaique_montant').value)); 

    document.getElementById('inv_montant_autres').value       =   Math.round(parseFloat(document.getElementById('inv_photovoltaique_montant').value));


    if (si_champ_vide('inv_montant_subvention'))
       document.getElementById('inv_montant_subvention').value = 0;
    if (si_champ_vide('inv_montant_credit_impots'))
       document.getElementById('inv_montant_credit_impots').value = 0;
       
    document.getElementById('inv_montant_investissement').value  = Math.round(parseFloat(document.getElementById('inv_montant_isolation').value) +
                                                                   parseFloat(document.getElementById('inv_montant_systeme').value) +
                                                                   parseFloat(document.getElementById('inv_montant_autres').value));
    document.getElementById('inv_cout_reel_solution').value      = Math.round(parseFloat(document.getElementById('inv_montant_investissement').value) -
                                                                   parseFloat(document.getElementById('inv_montant_subvention').value) -
                                                                   parseFloat(document.getElementById('inv_montant_credit_impots').value));                                                               

    document.getElementById('inv_montant_investissement_min').value  = Math.round(parseFloat(document.getElementById('inv_montant_investissement').value) * 0.8);
    document.getElementById('inv_montant_subvention_min').value      = Math.round(parseFloat(document.getElementById('inv_montant_subvention').value) * 0.8);
    document.getElementById('inv_montant_credit_impots_min').value   = Math.round(parseFloat(document.getElementById('inv_montant_credit_impots').value) * 0.8);
    document.getElementById('inv_cout_reel_solution_min').value      = Math.round(parseFloat(document.getElementById('inv_cout_reel_solution').value) * 0.8);
                                                                     
    document.getElementById('inv_montant_investissement_max').value  = Math.round(parseFloat(document.getElementById('inv_montant_investissement').value) * 1.2);
    document.getElementById('inv_montant_subvention_max').value      = Math.round(parseFloat(document.getElementById('inv_montant_subvention').value) * 1.2);
    document.getElementById('inv_montant_credit_impots_max').value   = Math.round(parseFloat(document.getElementById('inv_montant_credit_impots').value) * 1.2);
    document.getElementById('inv_cout_reel_solution_max').value      = Math.round(parseFloat(document.getElementById('inv_cout_reel_solution').value) * 1.2);


   // déactivation des cellules                                  
    bloquer('inv_plancher_bas_existant');
    bloquer_coche('inv_plancher_bas_solution');
//    bloquer('inv_plancher_bas_qte');
    bloquer('inv_plancher_bas_unite');
    bloquer('inv_plancher_bas_prix_unitaire');
    bloquer('inv_plancher_bas_montant');
    bloquer('inv_murs_exterieurs_existant');
    bloquer_coche('inv_murs_exterieurs_solution');
//    bloquer('inv_murs_exterieurs_qte');
    bloquer('inv_murs_exterieurs_unite');
    bloquer('inv_murs_exterieurs_prix_unitaire');
    bloquer('inv_murs_exterieurs_montant');
    bloquer('inv_combles_existant');
    bloquer_coche('inv_combles_solution');
//    bloquer('inv_combles_qte');
    bloquer('inv_combles_unite');
    bloquer('inv_combles_prix_unitaire');
    bloquer('inv_combles_montant');
    bloquer('inv_baies_fenetres_existant');
    bloquer_coche('inv_baies_fenetres_solution');
//    bloquer('inv_baies_fenetres_qte');
    bloquer('inv_baies_fenetres_unite');
    bloquer('inv_baies_fenetres_prix_unitaire');
    bloquer('inv_baies_fenetres_montant');
    bloquer('inv_portes_exterieures_existant');
    bloquer_coche('inv_portes_exterieures_solution');
//    bloquer('inv_portes_exterieures_qte');
    bloquer('inv_portes_exterieures_unite');
    bloquer('inv_portes_exterieures_prix_unitaire');
    bloquer('inv_portes_exterieures_montant');
    bloquer('inv_montant_isolation');
    bloquer('inv_ventilation_existant');
    bloquer_coche('inv_ventilation_solution');
//    bloquer('inv_ventilation_qte');
    bloquer('inv_ventilation_unite');
    bloquer('inv_ventilation_prix_unitaire');
    bloquer('inv_ventilation_montant');
    bloquer('inv_generateur_ch_existant');
    bloquer_coche('inv_generateur_ch_solution');
//    bloquer('inv_generateur_ch_qte');
    bloquer('inv_generateur_ch_unite');
    bloquer('inv_generateur_ch_prix_unitaire');
    bloquer('inv_generateur_ch_montant');
    bloquer('inv_emetteur_ch_existant');
    bloquer_coche('inv_emetteur_ch_solution');
//    bloquer('inv_emetteur_ch_qte');
    bloquer('inv_emetteur_ch_unite');
    bloquer('inv_emetteur_ch_prix_unitaire');
    bloquer('inv_emetteur_ch_montant');
    bloquer('inv_generateur_ecs_existant');
    bloquer_coche('inv_generateur_ecs_solution');
//    bloquer('inv_generateur_ecs_qte');
    bloquer('inv_generateur_ecs_unite');
    bloquer('inv_generateur_ecs_prix_unitaire');
    bloquer('inv_generateur_ecs_montant');
    bloquer('inv_stockage_ecs_existant');
    bloquer_coche('inv_stockage_ecs_solution');
//    bloquer('inv_stockage_ecs_qte');
    bloquer('inv_stockage_ecs_unite');
    bloquer('inv_stockage_ecs_prix_unitaire');
    bloquer('inv_stockage_ecs_montant');
    bloquer('inv_montant_systeme');
    bloquer('inv_photovoltaique_existant');
    bloquer_coche('inv_photovoltaique_solution');
//    bloquer('inv_photovoltaique_qte');
    bloquer('inv_photovoltaique_unite');
    bloquer('inv_photovoltaique_prix_unitaire');
    bloquer('inv_photovoltaique_montant');
    bloquer('inv_montant_autres');

    bloquer('inv_montant_investissement');
//    bloquer('inv_montant_subvention');
//    bloquer('inv_montant_credit_impots');
    bloquer('inv_cout_reel_solution');

    bloquer('inv_montant_investissement_min');
    bloquer('inv_montant_subvention_min');
    bloquer('inv_montant_credit_impots_min');
    bloquer('inv_cout_reel_solution_min');

    bloquer('inv_montant_investissement_max');
    bloquer('inv_montant_subvention_max');
    bloquer('inv_montant_credit_impots_max');
    bloquer('inv_cout_reel_solution_max');
    
  }

}


//------------------------------------------------------------------------------------------------------------------------------------------------------
//
//
//
// 
//
// 
//------------------------------------------------------------------------------------------------------------------------------------------------------
function CalculDonneesEnveloppe(
                                var_surface_rdc,
                                var_surface_niv1,
                                var_surface_niv2,
                                var_perimetre_rdc,
                                var_perimetre_niv1,
                                var_perimetre_niv2,
                                var_surface_mur,
                                var_surface_bv,
                                var_surface_portes,
                                var_surface_plaffond,
                                var_perimetre_plaffond,
                                var_surface_toit
                                ){
  var element_actif = document.activeElement.id;                                                 
  var ancien_element_actif = last_focus;
  var touche = event.keyCode;
  var nombre_niveaux=document.getElementById('nb_niveaux').options[document.getElementById('nb_niveaux').selectedIndex].value;
  var surface_un_niveau=document.getElementById('surface_habitable').value/nombre_niveaux; 
  
  // gestion des valeurs


  // gestion des déplacements
  if (element_actif == 'env_surface_plancher_niveau_1' && nombre_niveaux<2)         aller_a('env_perimetre_plancher_bas');
  else if (element_actif == 'env_surface_plancher_niveau_2' && nombre_niveaux<3)    aller_a('env_perimetre_plancher_bas');
  else if (element_actif == 'env_perimetre_plancher_niveau_1' && nombre_niveaux<2)  aller_a('env_surface_murs_exterieurs');
  else if (element_actif == 'env_perimetre_plancher_niveau_2' && nombre_niveaux<3)  aller_a('env_surface_murs_exterieurs');
}


//------------------------------------------------------------------------------------------------------------------------------------------------------
//
//
//
// 
//
// 
//------------------------------------------------------------------------------------------------------------------------------------------------------
function CalculSurfacesVitrees(var_surface_totale,var_v1_est,var_v1_ouest,var_v1_nord,var_v1_sud,
                                                  var_v2_est,var_v2_ouest,var_v2_nord,var_v2_sud,
                                                  var_v3_est,var_v3_ouest,var_v3_nord,var_v3_sud,
                                                  var_totale_v1,var_totale_v2,var_totale_v3,
                                                  res_v1_est,res_v1_ouest,res_v1_nord,res_v1_sud,
                                                  res_v2_est,res_v2_ouest,res_v2_nord,res_v2_sud,
                                                  res_v3_est,res_v3_ouest,res_v3_nord,res_v3_sud, 
                                                  res_totale_v1,res_totale_v2,res_totale_v3, 
                                                  res_totale_est,res_totale_ouest,res_totale_nord,res_totale_sud,res_totale_saisie){
var re = /^[0-9]*$/;

var touche = event.keyCode;

//alert("Voici la touche frappée : " + touche );

                                                 
    // vitrage type 1
     var surf_v1_est    = 0; 
     var surf_v1_ouest  = 0; 
     var surf_v1_nord   = 0; 
     var surf_v1_sud    = 0; 
     var Qte_v1_est     = 0; 
     var Qte_v1_ouest   = 0; 
     var Qte_v1_nord    = 0; 
     var Qte_v1_sud     = 0; 
      
     // vitrage type 2
     var surf_v2_est    = 0; 
     var surf_v2_ouest  = 0; 
     var surf_v2_nord   = 0; 
     var surf_v2_sud    = 0;
     var Qte_v2_est     = 0; 
     var Qte_v2_ouest   = 0; 
     var Qte_v2_nord    = 0; 
     var Qte_v2_sud     = 0;

     // vitrage type 3
     var surf_v3_est    = 0;
     var surf_v3_ouest  = 0; 
     var surf_v3_nord   = 0; 
     var surf_v3_sud    = 0; 
     var Qte_v3_est     = 0;
     var Qte_v3_ouest   = 0; 
     var Qte_v3_nord    = 0; 
     var Qte_v3_sud     = 0; 

     // surface totale par orientation
     var surf_est       = 0;
     var surf_ouest     = 0;
     var surf_nord      = 0;
     var surf_sud       = 0;
     var surf_totale_v1 = 0;
     var surf_totale_v2 = 0;
     var surf_totale_v3 = 0;
     var surf_saisie_totale = 0;
     
     // pourcentage total par type de vitrage
     var Qte_totale_v1 = 0;
     var Qte_totale_v2 = 0;
     var Qte_totale_v3 = 0;

     var element_actif = document.activeElement.id;                                                 
     var ancien_element_actif = last_focus;

 //alert("element actif =  " + element_actif + " " );
                                                      
//    document.getElementById(var_surface_totale).value = 24;
//    document.getElementById(var_totale_v1).value      = 8;
//    document.getElementById(var_totale_v2).value      = 8;
//    document.getElementById(var_totale_v3).value      = 8;

     // récupérer les valeurs du tableau
     // pourcentage  par type de vitrage et par orientation
     // surface totale vitréee
     if (si_champ_plein(var_surface_totale))   { surface_totale_vitree = Math.round(parseFloat(document.getElementById(var_surface_totale).value) * 100) / 100; }  else {document.getElementById(var_surface_totale).value    = surface_totale_vitree; } 
     // vitrage type 1
//   alert(" % V1 par orientation =  " + document.getElementById(var_v1_est).value + " " + document.getElementById(var_v1_ouest).value + " " + document.getElementById(var_v1_nord).value + " " + document.getElementById(var_v1_sud).value);
     if (si_champ_plein(var_v1_est))           { Qte_v1_est      = Math.round(parseFloat(document.getElementById(var_v1_est).value) * 100) / 100;  } else {document.getElementById(var_v1_est).value    = Qte_v1_est; }
     if (si_champ_plein(var_v1_ouest))         { Qte_v1_ouest    = Math.round(parseFloat(document.getElementById(var_v1_ouest).value) * 100) / 100;} else {document.getElementById(var_v1_ouest).value  = Qte_v1_ouest; }
     if (si_champ_plein(var_v1_nord))          { Qte_v1_nord     = Math.round(parseFloat(document.getElementById(var_v1_nord).value) * 100) / 100; } else {document.getElementById(var_v1_nord).value   = Qte_v1_nord; }
     if (si_champ_plein(var_v1_sud))           { Qte_v1_sud      = Math.round(parseFloat(document.getElementById(var_v1_sud).value) * 100) / 100;  } else {document.getElementById(var_v1_sud).value    = Qte_v1_sud; }
//     alert(" % V1 par orientation =  " + Qte_v1_est + " " + Qte_v1_ouest + " " + Qte_v1_nord + " " + Qte_v1_sud);

     
     // vitrage type 2
     if (si_champ_plein(var_v2_est))           { Qte_v2_est      = Math.round(parseFloat(document.getElementById(var_v2_est).value) * 100) / 100;    } else {document.getElementById(var_v2_est).value    = Qte_v2_est; }
     if (si_champ_plein(var_v2_ouest))         { Qte_v2_ouest    = Math.round(parseFloat(document.getElementById(var_v2_ouest).value) * 100) / 100;  } else {document.getElementById(var_v2_ouest).value  = Qte_v2_ouest; }
     if (si_champ_plein(var_v2_nord))          { Qte_v2_nord     = Math.round(parseFloat(document.getElementById(var_v2_nord).value) * 100) / 100;   } else {document.getElementById(var_v2_nord).value   = Qte_v2_nord; }
     if (si_champ_plein(var_v2_sud))           { Qte_v2_sud      = Math.round(parseFloat(document.getElementById(var_v2_sud).value) * 100) / 100;    } else {document.getElementById(var_v2_sud).value    = Qte_v2_sud; }
      
     // vitrage type 3
     if (si_champ_plein(var_v3_est))           { Qte_v3_est      = Math.round(parseFloat(document.getElementById(var_v3_est).value) * 100) / 100;    } else {document.getElementById(var_v3_est).value    = Qte_v3_est; }
     if (si_champ_plein(var_v3_ouest))         { Qte_v3_ouest    = Math.round(parseFloat(document.getElementById(var_v3_ouest).value) * 100) / 100;  } else {document.getElementById(var_v3_ouest).value  = Qte_v3_ouest; }
     if (si_champ_plein(var_v3_nord))          { Qte_v3_nord     = Math.round(parseFloat(document.getElementById(var_v3_nord).value) * 100) / 100;   } else {document.getElementById(var_v3_nord).value   = Qte_v3_nord; }
     if (si_champ_plein(var_v3_sud))           { Qte_v3_sud      = Math.round(parseFloat(document.getElementById(var_v3_sud).value) * 100) / 100;    } else {document.getElementById(var_v3_sud).value    = Qte_v3_sud; }
     
     // surface totale par zone    
     if (si_champ_plein(var_totale_v1))        { surf_totale_v1  = Math.round(parseFloat(document.getElementById(var_totale_v1).value) * 100) / 100; } else {document.getElementById(var_totale_v1).value    = surface_totale_vitree;
                                                                                                                                                                document.getElementById(var_totale_v2).value    = surf_totale_v2;
                                                                                                                                                                document.getElementById(var_totale_v3).value    = surf_totale_v3; }
     if (si_champ_plein(var_totale_v2))        { surf_totale_v2  = Math.round(parseFloat(document.getElementById(var_totale_v2).value) * 100) / 100; } else {document.getElementById(var_totale_v2).value    = surf_totale_v2; }
     if (si_champ_plein(var_totale_v3))        { surf_totale_v3  = Math.round(parseFloat(document.getElementById(var_totale_v3).value) * 100) / 100; } else {document.getElementById(var_totale_v3).value    = surf_totale_v3; }
  
     //  dans le cas ou il n'y a pas eu de saisie detaillée des parois
     if (surf_totale_v1 == 0)
        {document.getElementById(var_totale_v1).value    = surface_totale_vitree;
         document.getElementById(var_totale_v2).value    = 0;
         document.getElementById(var_totale_v3).value    = 0; 
         surf_totale_v1                                  = surface_totale_vitree;
         surf_totale_v2                                  = 0;
         surf_totale_v3                                  = 0;
        }
     //   dans le cas ou il y a 0 m2 en vitrage de type  2
     if (surf_totale_v2 == 0) {
      bloquer(var_v2_est);
      bloquer(var_v2_ouest);
      bloquer(var_v2_nord);
      bloquer(var_v2_sud); 
     }

     //   dans le cas ou il y a 0 m2 en vitrage de type  3
     if (surf_totale_v3 == 0) {
      bloquer(var_v3_est);
      bloquer(var_v3_ouest);
      bloquer(var_v3_nord);
      bloquer(var_v3_sud); 
     }
 
 
     // déplacements sur cohérence des données en entrée
     // surface totale vitrage type V3 = 0
//      if ((surf_totale_v3 == 0) && (element_actif == "p_bv_e_v3"))  
//         { document.getElementById(var_v1_ouest).focus(); document.getElementById(var_v1_ouest).select();  }
//      if ((surf_totale_v3 == 0) && (element_actif == "p_bv_o_v3"))
//         { document.getElementById(var_v1_nord).focus(); document.getElementById(var_v1_nord).select();  }
//      if ((surf_totale_v3 == 0) && (element_actif == "p_bv_n_v3")) 
//         { document.getElementById(var_v1_sud).focus(); document.getElementById(var_v1_sud).select();  }
//      if ((surf_totale_v3 == 0) && (element_actif == "p_bv_s_v3"))
//         { document.getElementById(var_v1_est).focus(); document.getElementById(var_v1_est).select();  }
     
      // surface totale vitrage type V2 = 0
      if ((surf_totale_v2 == 0) && (element_actif == "bv_s_bv_e_v1")) aller_a(var_v1_ouest);  
      if ((surf_totale_v2 == 0) && (element_actif == "bv_s_bv_o_v1")) aller_a(var_v1_nord);
      if ((surf_totale_v2 == 0) && (element_actif == "bv_s_bv_n_v1")) aller_a(var_v1_sud); 
      if ((surf_totale_v2 == 0) && (element_actif == "bv_s_bv_s_v1")) aller_a(var_v1_est);

      //  déplacement avec la touche TAB
       // cas particulier de la première variable
      if ((element_actif == "bv_p_bv_e_v1")) aller_a(var_v1_est);   

      if ((element_actif == "bv_s_bv_s_v3") && ( Qte_v3_est + Qte_v3_ouest + Qte_v3_nord + Qte_v3_sud == 100)) aller_a(var_v1_est); 
      else if ((element_actif == "bv_s_bv_s_v3") && ( Qte_v3_est + Qte_v3_ouest + Qte_v3_nord + Qte_v3_sud != 100)) aller_a(var_v3_sud); 
      if ((element_actif == "bv_s_bv_e_v3")) aller_a(var_v3_ouest); 
      if ((element_actif == "bv_s_bv_o_v3")) aller_a(var_v3_nord); 
      if ((element_actif == "bv_s_bv_n_v3")) aller_a(var_v3_sud);
 
      if ((element_actif == "bv_s_bv_e_v1")) aller_a(var_v1_ouest); 
      if ((element_actif == "bv_s_bv_o_v1")) aller_a(var_v1_nord); 
      if ((element_actif == "bv_s_bv_n_v1")) aller_a(var_v1_sud); 
      if ((element_actif == "bv_s_bv_s_v1") && (Qte_v1_est + Qte_v1_ouest + Qte_v1_nord + Qte_v1_sud == 100)){
          if (surf_totale_v2 == 0) aller_a(var_v1_est);
          else aller_a(var_v2_est);
      }  
      else if ((element_actif == "bv_s_bv_s_v1") && ( Qte_v1_est + Qte_v1_ouest + Qte_v1_nord + Qte_v1_sud != 100)) aller_a(var_v1_sud);

      if ((element_actif == "bv_s_bv_e_v2")) aller_a(var_v2_ouest); 
      if ((element_actif == "bv_s_bv_o_v2")) aller_a(var_v2_nord);
      if ((element_actif == "bv_s_bv_n_v2")) aller_a(var_v2_sud);
      if ((element_actif == "bv_s_bv_s_v2") && ( Qte_v2_est + Qte_v2_ouest + Qte_v2_nord + Qte_v2_sud == 100) ){
          if (surf_totale_v3 == 0) aller_a(var_v1_est); 
          else aller_a(var_v3_est);
      }    
      else if ((element_actif == "bv_s_bv_s_v2") && ( Qte_v2_est + Qte_v2_ouest + Qte_v2_nord + Qte_v2_sud != 100)) aller_a(var_v2_sud);  

     // déplacements sur cohérence des données en entrée
      // Quantité V1 > 100%
      if ((Qte_v1_est + Qte_v1_ouest + Qte_v1_nord + Qte_v1_sud > 100) && (element_actif == "bv_s_bv_e_v1")) aller_a(var_v1_est); 
      if ((Qte_v1_est + Qte_v1_ouest + Qte_v1_nord + Qte_v1_sud > 100) && (element_actif == "bv_s_bv_o_v1")) aller_a(var_v1_ouest); 
      if ((Qte_v1_est + Qte_v1_ouest + Qte_v1_nord + Qte_v1_sud > 100) && (element_actif == "bv_s_bv_n_v1")) aller_a(var_v1_nord); 
      if ((Qte_v1_est + Qte_v1_ouest + Qte_v1_nord + Qte_v1_sud > 100) && (element_actif == "bv_s_bv_s_v1")) aller_a(var_v1_sud); 
     
       // Quantité V2 > 100%
      if ((Qte_v2_est + Qte_v2_ouest + Qte_v2_nord + Qte_v2_sud > 100) && (element_actif == "bv_s_bv_e_v2")) aller_a(var_v2_est); 
      if ((Qte_v2_est + Qte_v2_ouest + Qte_v2_nord + Qte_v2_sud > 100) && (element_actif == "bv_s_bv_o_v2")) aller_a(var_v2_ouest); 
      if ((Qte_v2_est + Qte_v2_ouest + Qte_v2_nord + Qte_v2_sud > 100) && (element_actif == "bv_s_bv_n_v2")) aller_a(var_v2_nord); 
      if ((Qte_v2_est + Qte_v2_ouest + Qte_v2_nord + Qte_v2_sud > 100) && (element_actif == "bv_s_bv_s_v2")) aller_a(var_v2_sud); 

      // Quantité V3 > 100%
      if ((Qte_v3_est + Qte_v3_ouest + Qte_v3_nord + Qte_v3_sud > 100) && (element_actif == "bv_s_bv_e_v3")) aller_a(var_v3_est); 
      if ((Qte_v3_est + Qte_v3_ouest + Qte_v3_nord + Qte_v3_sud > 100) && (element_actif == "bv_s_bv_o_v3")) aller_a(var_v3_ouest); 
      if ((Qte_v3_est + Qte_v3_ouest + Qte_v3_nord + Qte_v3_sud > 100) && (element_actif == "bv_s_bv_n_v3")) aller_a(var_v3_nord); 
      if ((Qte_v3_est + Qte_v3_ouest + Qte_v3_nord + Qte_v3_sud > 100) && (element_actif == "bv_s_bv_s_v3")) aller_a(var_v3_sud); 
    
     //   alert("je suis dans calcul surface vitree " + var_surface_totale + " " + Qte_v1_est );
     
     // calculer le tableau
     // surface par type de vitrage et par orientation
     // vitrage type 1
     surf_v1_est    = surf_totale_v1 * Qte_v1_est / 100; 
     surf_v1_ouest  = surf_totale_v1 * Qte_v1_ouest / 100; 
     surf_v1_nord   = surf_totale_v1 * Qte_v1_nord / 100; 
     surf_v1_sud    = surf_totale_v1 * Qte_v1_sud / 100; 

     surf_v1_est    = Math.round(surf_v1_est * 100) / 100; 
     surf_v1_ouest  = Math.round(surf_v1_ouest * 100) / 100; 
     surf_v1_nord   = Math.round(surf_v1_nord * 100) / 100; 
     surf_v1_sud    = Math.round(surf_v1_sud * 100) / 100; 
      
     // vitrage type 2
     surf_v2_est    = surf_totale_v2 * Qte_v2_est / 100; 
     surf_v2_ouest  = surf_totale_v2 * Qte_v2_ouest / 100; 
     surf_v2_nord   = surf_totale_v2 * Qte_v2_nord / 100; 
     surf_v2_sud    = surf_totale_v2 * Qte_v2_sud / 100; 

     surf_v2_est    = Math.round(surf_v2_est * 100) / 100; 
     surf_v2_ouest  = Math.round(surf_v2_ouest * 100) / 100; 
     surf_v2_nord   = Math.round(surf_v2_nord * 100) / 100; 
     surf_v2_sud    = Math.round(surf_v2_sud * 100) / 100; 

     // vitrage type 3
     surf_v3_est    = surf_totale_v3 * Qte_v3_est / 100; 
     surf_v3_ouest  = surf_totale_v3 * Qte_v3_ouest / 100; 
     surf_v3_nord   = surf_totale_v3 * Qte_v3_nord / 100; 
     surf_v3_sud    = surf_totale_v3 * Qte_v3_sud / 100; 

     surf_v3_est    = Math.round(surf_v3_est * 100) / 100; 
     surf_v3_ouest  = Math.round(surf_v3_ouest * 100) / 100; 
     surf_v3_nord   = Math.round(surf_v3_nord * 100) / 100; 
     surf_v3_sud    = Math.round(surf_v3_sud * 100) / 100; 

     // surface totale par orientation
     surf_est     =   parseFloat(surf_v1_est)   + parseFloat(surf_v2_est)   + parseFloat(surf_v3_est);
     surf_ouest   =   parseFloat(surf_v1_ouest) + parseFloat(surf_v2_ouest) + parseFloat(surf_v3_ouest);
     surf_nord    =   parseFloat(surf_v1_nord)  + parseFloat(surf_v2_nord)  + parseFloat(surf_v3_nord);
     surf_sud     =   parseFloat(surf_v1_sud)   + parseFloat(surf_v2_sud)   + parseFloat(surf_v3_sud);
     
     surf_est   = Math.round(surf_est * 100) / 100;
     surf_ouest = Math.round(surf_ouest * 100) / 100;
     surf_nord  = Math.round(surf_nord * 100) / 100;
     surf_sud   = Math.round(surf_sud * 100) / 100;

     // pourcentage total par type de vitrage
     Qte_totale_v1  = parseFloat(Qte_v1_est) + parseFloat(Qte_v1_ouest) + parseFloat(Qte_v1_nord) + parseFloat(Qte_v1_sud);
     Qte_totale_v2  = parseFloat(Qte_v2_est) + parseFloat(Qte_v2_ouest) + parseFloat(Qte_v2_nord) + parseFloat(Qte_v2_sud);
     Qte_totale_v3  = parseFloat(Qte_v3_est) + parseFloat(Qte_v3_ouest) + parseFloat(Qte_v3_nord) + parseFloat(Qte_v3_sud);

     Qte_totale_v1  = Math.round(Qte_totale_v1 * 100) / 100;
     Qte_totale_v2  = Math.round(Qte_totale_v2 * 100) / 100;
     Qte_totale_v3  = Math.round(Qte_totale_v3 * 100) / 100;
     
     // saisie totale
     surf_saisie_totale = parseFloat(surf_est) + parseFloat(surf_ouest) + parseFloat(surf_nord) + parseFloat(surf_sud);
     surf_saisie_totale = Math.round(surf_saisie_totale * 100) / 100;
     
     //alert(" les calculs sont finis " + Qte_totale_v1 + " " + Qte_v1_est + " " + Qte_v1_ouest + " " + Qte_v1_nord + " " + Qte_v1_sud);

      // renvoyer les résultats
/*
     surface_totale_vitree = surface_totale_vitree.toPrecision(3);
     surf_totale_v1 = surf_totale_v1.toPrecision(3);
     surf_totale_v2 = surf_totale_v2.toPrecision(3);
     surf_totale_v3 = surf_totale_v3.toPrecision(3);
 */
     document.getElementById(var_surface_totale).value  = Math.round(surface_totale_vitree * 100) / 100;
     document.getElementById(var_totale_v1).value  = Math.round(surf_totale_v1 * 100) / 100;
     document.getElementById(var_totale_v2).value  = Math.round(surf_totale_v2 * 100) / 100;
     document.getElementById(var_totale_v3).value  = Math.round(surf_totale_v3 * 100) / 100;
     // vitrage type 1  
 
     document.getElementById(res_v1_est).value          = surf_v1_est; 
     document.getElementById(res_v1_ouest).value        = surf_v1_ouest; 
     document.getElementById(res_v1_nord).value         = surf_v1_nord; 
     document.getElementById(res_v1_sud).value          = surf_v1_sud; 
 
     // vitrage type 2  
     document.getElementById(res_v2_est).value          = surf_v2_est; 
     document.getElementById(res_v2_ouest).value        = surf_v2_ouest; 
     document.getElementById(res_v2_nord).value         = surf_v2_nord; 
     document.getElementById(res_v2_sud).value          = surf_v2_sud; 
     
     // vitrage type 3  
     document.getElementById(res_v3_est).value          = surf_v3_est; 
     document.getElementById(res_v3_ouest).value        = surf_v3_ouest; 
     document.getElementById(res_v3_nord).value         = surf_v3_nord; 
     document.getElementById(res_v3_sud).value          = surf_v3_sud; 

     // totaux par type de vitrage
     document.getElementById(res_totale_v1).value       = Qte_totale_v1;
     document.getElementById(res_totale_v2).value       = Qte_totale_v2;
     document.getElementById(res_totale_v3).value       = Qte_totale_v3;

     // totaux par orientation 
     document.getElementById(res_totale_est).value      = surf_est;
     document.getElementById(res_totale_ouest).value    = surf_ouest;
     document.getElementById(res_totale_nord).value     = surf_nord;
     document.getElementById(res_totale_sud).value      = surf_sud;

     // totale saisie
     document.getElementById(res_totale_saisie).value   = surf_saisie_totale;


 }

//------------------------------------------------------------------------------------------------------------------------------------------------------
//
//
//
// 
//
// 
//------------------------------------------------------------------------------------------------------------------------------------------------------
function CalculSurfacesParois(
                              pourcentage, 
                              surface_calculee, 
                              valeur_test, 
                              pourcentage_zone1, 
                              surface_zone1, 
                              pourcentage_zone2, 
                              surface_zone2, 
                              pourcentage_zone3, 
                              surface_zone3
                             ){
    var surface    = 0; 
    var surface_z1 = 0; 
    var surface_z2 = 0; 
    var surface_z3 = 0; 
    var total=Math.round(parseFloat(document.getElementById(valeur_test).value) * 100) / 100;
    var calcul = 0;
    var calcul_surf = 0;
    var surf   = 0;
    var re = /^[0-9,.]*$/;

    var touche = event.keyCode;
    var element_actif = document.activeElement.id;                                                 
    var ancien_element_actif = last_focus;
/*
    document.getElementById(valeur_test).readOnly         = true;
    document.getElementById(surface_zone1).readOnly       = true;
    document.getElementById(surface_zone2).readOnly       = true;
    document.getElementById(surface_zone3).readOnly       = true; 
*/    
    
    
    if (si_champ_plein(pourcentage))       {surface    = Math.round(parseFloat(document.getElementById(pourcentage).value) * 100) / 100; } else {document.getElementById(pourcentage).value = surface; }
    if (si_champ_plein(pourcentage_zone1)) {surface_z1 = Math.round(parseFloat(document.getElementById(pourcentage_zone1).value) * 100) / 100; } else {document.getElementById(pourcentage_zone1).value = surface_z1; } 
    if (si_champ_plein(pourcentage_zone2)) {surface_z2 = Math.round(parseFloat(document.getElementById(pourcentage_zone2).value) * 100) / 100; } else {document.getElementById(pourcentage_zone3).value = surface_z2; } 
    if (si_champ_plein(pourcentage_zone3)) {surface_z3 = Math.round(parseFloat(document.getElementById(pourcentage_zone3).value) * 100) / 100; } else {document.getElementById(pourcentage_zone3).value = surface_z3; } 

/*
    if (!re.test(surface)){
        alert("Veuillez n'entrer que des caractères numériques");  }
*/ 

    if (touche == 9) {
        //document.getElementById(pourcentage).value = surface.toPrecision(4);
        document.getElementById(pourcentage).focus();
        document.getElementById(pourcentage).select();  
    }

    //else{
// alert (" debut " + surface); 
    if (pourcentage==pourcentage_zone1 && (surface > 100 || surface == 0)){
        surface=100;
        surface_z1 = surface;
        document.getElementById(pourcentage).value       = surface; 
        document.getElementById(pourcentage_zone1).value = surface; 
    }
 
    if  (touche == 9){
        document.getElementById(pourcentage_zone1).value = surface_z1; 
        document.getElementById(pourcentage_zone2).value = surface_z2; 
        document.getElementById(pourcentage_zone3).value = surface_z3;
    } 
        
          var valeur_inter=0;
          if (pourcentage==pourcentage_zone1){
            if (surface<100){
              if (si_champ_vide(pourcentage_zone3)){
//                document.getElementById(pourcentage).value=surface;
                calcul = 100 - surface;
                calcul_surf = calcul*total/100;
                document.getElementById(pourcentage_zone2).value = Math.round(calcul * 100) / 100;
                document.getElementById(surface_zone2).value     = Math.round(calcul_surf * 100) / 100;
              }
              else{
                valeur_inter=parseFloat(document.getElementById(pourcentage_zone1).value) + parseFloat(document.getElementById(pourcentage_zone2).value) + parseFloat(document.getElementById(pourcentage_zone3).value);
 //alert (" zone 1 " + valeur_inter);
               if (valeur_inter>=100){
                  calcul = 0
                  document.getElementById(pourcentage_zone3).value = 0;
                  document.getElementById(surface_zone3).value     = 0;
                  calcul= 100-surface;
                  calcul_surf = calcul*total/100;
                  document.getElementById(pourcentage_zone2).value = Math.round(calcul * 100) / 100;
                  document.getElementById(surface_zone2).value     = Math.round(calcul_surf * 100) / 100;
               }
                else{
                  calcul= 100-valeur_inter;
                  calcul_surf = calcul*total/100;
                  document.getElementById(pourcentage_zone2).value = Math.round(calcul * 100) / 100;
                  document.getElementById(surface_zone2).value     = Math.round(calcul_surf * 100) / 100;
                }
              }
            }
            else{
              calcul = 0;
              document.getElementById(pourcentage_zone2).value  =0;
              document.getElementById(surface_zone2).value      =0; 
              document.getElementById(pourcentage_zone3).value  =0;
              document.getElementById(surface_zone3).value      =0;
            }
          }
          else if(pourcentage==pourcentage_zone2){
            valeur_inter=parseFloat(document.getElementById(pourcentage_zone1).value)+ parseFloat(document.getElementById(pourcentage_zone2).value);
            if (valeur_inter<100){
//alert (" zone 2 < 100 : " + valeur_inter);
              calcul= 100-valeur_inter;
              calcul_surf = calcul*total/100;
              document.getElementById(pourcentage_zone3).value = Math.round(calcul * 100) / 100;
              document.getElementById(surface_zone3).value     = Math.round(calcul_surf * 100) / 100;
            }
            else{
//alert (" zone 2 > 100 : " + valeur_inter);
              calcul= 100-parseFloat(document.getElementById(pourcentage_zone1).value);
              calcul_surf = calcul * total / 100;
//alert (" zone 2 " + calcul + " " + calcul_surf);
              surface = calcul;
              document.getElementById(pourcentage).value       = Math.round(calcul * 100) / 100;
              document.getElementById(pourcentage_zone2).value = Math.round(calcul * 100) / 100;
              document.getElementById(surface_zone2).value     = Math.round(calcul_surf * 100) / 100;
// alert ( document.getElementById(pourcentage_zone2).value + " " + document.getElementById(surface_zone2).value);
              calcul= 0;
              document.getElementById(pourcentage_zone3).value= 0;
              document.getElementById(surface_zone3).value  =   0;
            }
          }
          else if(pourcentage==pourcentage_zone3){    
              calcul= 100 - (parseFloat(document.getElementById(pourcentage_zone1).value)+parseFloat(document.getElementById(pourcentage_zone2).value));
              calcul_surf = calcul * total / 100;
              document.getElementById(pourcentage).value       = Math.round(calcul * 100) / 100;
              document.getElementById(pourcentage_zone3).value = Math.round(calcul * 100) / 100;
              document.getElementById(surface_zone3).value     = Math.round(calcul_surf * 100) / 100;
          }
        
          var resultat=surface * total / 100;
//alert ( " resultat " + resultat );
          document.getElementById(surface_calculee).value = Math.round(resultat * 100) / 100; 
 
          if (touche == 9) {
            document.getElementById(pourcentage).focus();
            document.getElementById(pourcentage).select();  
          }
    //}
}



function popup_googlemap(nom_de_la_page, nom_interne_de_la_fenetre){
  window.open (nom_de_la_page, nom_interne_de_la_fenetre, config='height=380, width=445, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, directories=no, status=no')
}

Array.prototype.count = function() {
    return this.length;
}

function cacher_aide(nom_zone){

  document.getElementById(nom_zone).style.display='none';
  
  // on affiche les combos
  var oSelects = document.getElementsByTagName('SELECT');
  if (oSelects.length > 0) {
      for (i = 0; i < oSelects.length; i++) {
          oSelects[i].style.visibility = 'visible';
      }
  }

}

function alerte(nom_zone,titre,message){

  // on cache les combos
  var oSelects = document.getElementsByTagName('SELECT');
  if (oSelects.length > 0) {
      for (i = 0; i < oSelects.length; i++) {
          oSelects[i].style.visibility = 'hidden';
      }
  }

/*  
  dd.elements.clientarea.write(message); 
  
  dd.elements.titlebar.show(); 
*/  
  if(nom_zone=='aide' || nom_zone=='aide_resultats'){
    var couleur='white';
    var position='550px'; // position du bouton de fermeture
    if(nom_zone=='aide') var nom_zone_texte='aide_texte';
    else if (nom_zone=='aide_resultats') var nom_zone_texte='aide_resultats_texte'; 
  }
  else if (nom_zone=='conseils_curseurs'){
    var couleur='white';
    var position='780px'; // position du bouton de fermeture
    var nom_zone_texte='conseils_curseurs_texte'; 
  }
  document.getElementById(nom_zone).style.visibility='visible';
  document.getElementById(nom_zone).style.display='block'; 
  document.getElementById(nom_zone).innerHTML="";
//  document.getElementById(nom_zone).innerHTML+="<p><font color=\"white\">"+titre+"</font><br /><br />"+message+"</p>";
//  document.getElementById(nom_zone).innerHTML+="<div style=\"position:absolute;left:555px;top:6px;width:25px;height:25px;cursor: pointer;background-image:url(images/PRO/fermer_aide.png); \" onclick=\"cacher_aide('"+nom_zone+"');\"></div>";
  document.getElementById(nom_zone).innerHTML="<div id=\"titlebar\" style=\"position:absolute;left:12px;top:8px;font-weight: bold;font-family:Verdana,sans-serif;font-size:10pt;color="+couleur+";\">"+titre+"</div>";
  document.getElementById(nom_zone).innerHTML+="<div style=\"position:absolute;left:"+position+";top:6px;width:25px;height:25px;cursor: pointer;background-image:url(images/standard/PRO/fermer_aide.png); \" onclick=\"cacher_aide('"+nom_zone+"');\"></div>";
  document.getElementById(nom_zone).innerHTML+="<span id=\""+nom_zone_texte+"\"></span>";
  document.getElementById(nom_zone_texte).innerHTML=message;
} 

function envoyer_lien_accueil(lien){
//    var emailok=valid_accueil();
    var emailok=true;
    if (emailok==true) window.location.href=lien+'?nouv=1';
}
function envoyer_form_newbie(){
    var emailok=true;
    if (document.getElementById('infos_legales').checked==false) emailok=false;
    if (document.getElementById('adherent_raison_sociale').value=="") emailok=false;
    if (document.getElementById('adherent_activite').value=="") emailok=false;
    if (document.getElementById('adherent_adresse_mail').value=="") emailok=false;
    if (document.getElementById('contact_nom').value=="") emailok=false;
    if (document.getElementById('contact_prenom').value=="") emailok=false;
    if (document.getElementById('contact_adresse_mail').value=="") emailok=false;

    if (emailok==true) document.forms.form_accueil.submit();
    else alert('Toutes les informations obligatoires ne sont pas saisies');
}

function envoyer_form_accueil(){
    var champ_mail=document.getElementById('contact_adresse_mail');  
    if (champ_mail.value!='' && emailCheck(champ_mail.id,champ_mail.value)==false){  
      alert("l'adresse email est invalide");
      champ_mail.focus();
      champ_mail.select();
    }
    else if(document.getElementById('contact_nom')=='' || document.getElementById('contact_prenom')=='' || champ_mail.value==''){
      alert("l'un des champs obligatoire n'est pas renseigné");
      champ_mail.focus();
      champ_mail.select();
    }
    else document.forms.form_accueil.submit();
}

function envoyer_form_nouveau(){
    var champ_mail=document.getElementById('client_adresse_mail');
    if (champ_mail.value!='' && emailCheck(champ_mail.id,champ_mail.value)==false){
      alert("l'adresse email est invalide");
      champ_mail.focus();
      champ_mail.select();
    }
    else document.forms.form_nouveau.submit();
}

function swap(ident){
    if (ident=='zone_saisie_2'){
        document.getElementById('zone_saisie_1').style.display='none'; 
        document.getElementById('zone_saisie_2').style.display='block'; 
    }
    else{
        document.getElementById('zone_saisie_2').style.display='none'; 
        document.getElementById('zone_saisie_1').style.display='block'; 
    }
}

  function maxLength(t,m){
    var l = t.value.length;
    if (l > m){
      alert("vous avez atteint la limite autorisée de "+ m + "caractères");
      t.value = t.value.substring(0,m);
    }
  }
 
 function aucune_reglementation(valeur){
     if(valeur=='AV_1975') alert('Remarque : il n\'existe aucune réglementation  pour les habitations construites avant 1975.');
 }
  
function envoyer_form_renseignements() {
    var etat=affiche_envoyer();
    if (etat=="block") document.forms['form1'].submit();
    //else document.getElementById('affiche_envoyer').style.display='none';
}

function affiche_envoyer(){
    if (document.getElementById('nom').value!="" && document.getElementById('prenom').value!="" && document.getElementById('email').value!=""){
        //document.getElementById('affiche_envoyer').style.display='block';
        return "block";
    }
    else{
        alert("Vous n'avez pas saisi toutes les informations obligatoires !");
        //document.getElementById('affiche_envoyer').style.display='none';
        return "none";
    }
    //return document.getElementById('affiche_envoyer').style.display;
}

function envoyer_form_principal_outil(sens) {
      document.getElementById('bas_page').innerHTML="<img src='images/standard/PRO/loading.gif' height='20' width='519' />";
      //document.getElementById('bas_page').style.background='url(images/standard/PRO/loading.gif) no-repeat center middle';
      if (sens=='pre') document.getElementById('page').value--;
      else document.getElementById('page').value++;
      document.forms['form1'].submit();
}
function envoi_etape_outil(etape,page){
      document.getElementById('bas_page').innerHTML="<img src='images/standard/PRO/loading.gif' height='20' width='519' />";
      //document.getElementById('bas_page').style.background='url(images/standard/PRO/loading.gif) no-repeat center middle';
      document.getElementById('etape').value=etape;
      document.getElementById('page').value=page;
      document.forms['form1'].submit();
}

// Envoi de données en GET vers l'édition PDF ou l'enregistrement XML
function go_form_pdf(target,type){
      var parametres="";
      for (var i=0; i<document.form1.elements.length; i++){
        //alert(document.form1.elements[i].value);
        if (document.form1.elements[i].id=="introduction_titre" || document.form1.elements[i].id=="introduction_texte1"){
          var temp=nl2br_12(document.form1.elements[i].value);
          parametres+=document.form1.elements[i].name+"="+temp+"&"; 
        }
        //else if (document.form1.elements[i].id!="") parametres+=document.form1.elements[i].name+"="+document.form1.elements[i].value+"&";
      }
      var taille=parametres.length-1;
      parametres=parametres.substring(0, taille);
      target=target+"?"+parametres;
      //alert(target);
      
      if (type=="pdf") NewWin=window.open(target,'NWin');
      else location.href=target+"?"+parametres;
      //self.location.reload();
}

//------------------------------------------------------------------------------------------------------------------------------------------------------
//
//
//
// 
//
// 
//------------------------------------------------------------------------------------------------------------------------------------------------------
function CalculUsageECS(usg_bain_taille, usg_bain_nombre,                     usg_bain_jour,   usg_bain_hebdo,   usg_bain_mois,   usg_bain_annee, 
                        usg_douche_debit,usg_douche_nombre, usg_douche_duree, usg_douche_jour, usg_douche_hebdo, usg_douche_mois, usg_douche_annee, 
                        usg_lavabo_debit,usg_lavabo_nombre, usg_lavabo_duree, usg_lavabo_jour, usg_lavabo_hebdo, usg_lavabo_mois, usg_lavabo_annee, 
                        usg_evier_debit, usg_evier_nombre,  usg_evier_duree,  usg_evier_jour,  usg_evier_hebdo,  usg_evier_mois,  usg_evier_annee, 
                        usg_total_jour,  usg_total_hebdo,   usg_total_mois,   usg_total_annee, 
                        usg_volume_annee, 
                        usg_tranche_1, usg_tranche_2, usg_tranche_3, usg_tranche_4, usg_tranche_5, usg_tranche_6, usg_tranche_7, 
                        usg_taux_1,    usg_taux_2,    usg_taux_3,    usg_taux_4,    usg_taux_5,    usg_taux_6,    usg_taux_7,    usg_taux_total, 
                        usg_volume_1,  usg_volume_2,  usg_volume_3,  usg_volume_4,  usg_volume_5,  usg_volume_6,  usg_volume_7, 
                        usg_cons_jour, usg_cons_mois, usg_cons_annee){

    var re = /^[0-9,.]*$/;

    var touche = event.keyCode;
    var element_actif = document.activeElement.id;                                                 
    var ancien_element_actif = last_focus;
                        
     desactiver(usg_bain_jour);
     desactiver(usg_bain_hebdo);
     desactiver(usg_bain_mois);
     desactiver(usg_bain_annee);
     desactiver(usg_douche_jour);
     desactiver(usg_douche_hebdo);
     desactiver(usg_douche_mois);
     desactiver(usg_douche_annee);
     desactiver(usg_lavabo_jour);
     desactiver(usg_lavabo_hebdo);
     desactiver(usg_lavabo_mois);
     desactiver(usg_lavabo_annee);
     desactiver(usg_evier_jour);
     desactiver(usg_evier_hebdo);
     desactiver(usg_evier_mois);
     desactiver(usg_evier_annee);
     desactiver(usg_total_jour);
     desactiver(usg_total_hebdo);
     desactiver(usg_total_mois);
     desactiver(usg_total_annee);
     desactiver(usg_volume_annee);
     desactiver(usg_taux_total);
     desactiver(usg_volume_1);
     desactiver(usg_volume_2);
     desactiver(usg_volume_3);
     desactiver(usg_volume_4);
     desactiver(usg_volume_5);
     desactiver(usg_volume_6);
     desactiver(usg_volume_7);
     desactiver(usg_cons_jour);
     desactiver(usg_cons_mois);
     desactiver(usg_cons_annee);
     
      // initialisation de variable intermédiaire
     if (document.getElementById('locale_occupation_hebdomadaire').value == 'PERM')
       nb_jour_hebdo = 7;
     else if (document.getElementById('locale_occupation_hebdomadaire').value == 'WE')
       nb_jour_hebdo = 2;
     else if (document.getElementById('locale_occupation_hebdomadaire').value == 'SEM')
       nb_jour_hebdo = 5;

     nb_mois_annee = 0;
     if (document.getElementById('locale_occupation_mensuelle').value == 'PERM'){
       nb_mois_annee = 12; 
       } else if (document.getElementById('locale_occupation_mensuelle').value == 'DETAIL'){
       if (document.getElementById('locale_occupation_mensuelle_detaillee_JAN').value == 1)
         nb_mois_annee = nb_mois_annee + 1;
       if (document.getElementById('locale_occupation_mensuelle_detaillee_FEV').value == 1)
         nb_mois_annee = nb_mois_annee + 1;
       if (document.getElementById('locale_occupation_mensuelle_detaillee_MARS').value == 1)
         nb_mois_annee = nb_mois_annee + 1;
       if (document.getElementById('locale_occupation_mensuelle_detaillee_AVR').value == 1)
         nb_mois_annee = nb_mois_annee + 1;
       if (document.getElementById('locale_occupation_mensuelle_detaillee_MAI').value == 1)
         nb_mois_annee = nb_mois_annee + 1;
       if (document.getElementById('locale_occupation_mensuelle_detaillee_JUIN').value == 1)
         nb_mois_annee = nb_mois_annee + 1;
       if (document.getElementById('locale_occupation_mensuelle_detaillee_JUIL').value == 1)
         nb_mois_annee = nb_mois_annee + 1;
       if (document.getElementById('locale_occupation_mensuelle_detaillee_AOU').value == 1)
         nb_mois_annee = nb_mois_annee + 1;
       if (document.getElementById('locale_occupation_mensuelle_detaillee_SEP').value == 1)
         nb_mois_annee = nb_mois_annee + 1;
       if (document.getElementById('locale_occupation_mensuelle_detaillee_OCT').value == 1)
         nb_mois_annee = nb_mois_annee + 1;
       if (document.getElementById('locale_occupation_mensuelle_detaillee_NOV').value == 1)
         nb_mois_annee = nb_mois_annee + 1;
       if (document.getElementById('locale_occupation_mensuelle_detaillee_DEC').value == 1)
         nb_mois_annee = nb_mois_annee + 1;   
     }
     

     dim1_baignoire = parseFloat(document.getElementById(usg_bain_taille).value.substring(0,2));
     dim2_baignoire = parseFloat(document.getElementById(usg_bain_taille).value.substring(3,6));
     
     if (document.getElementById(usg_lavabo_duree).value == 'ECO')
       type_usage_lavabo = 0.7; 
     else if (document.getElementById(usg_lavabo_duree).value == 'BD')
       type_usage_lavabo = 0.9; 
     else if (document.getElementById(usg_lavabo_duree).value == 'B')
       type_usage_lavabo = 1.25; 
     else if (document.getElementById(usg_lavabo_duree).value == 'MJET')
       type_usage_lavabo = 1.5; 

     if (document.getElementById(usg_evier_duree).value == 'ECO')
       type_usage_evier = 0.7; 
     else if (document.getElementById(usg_evier_duree).value == 'BD')
       type_usage_evier = 0.9; 
     else if (document.getElementById(usg_evier_duree).value == 'B')
       type_usage_evier = 1.25; 
     else if (document.getElementById(usg_evier_duree).value == 'MJET')
       type_usage_evier = 1.5; 

 
     taux_1 = parseFloat(document.getElementById(usg_taux_1).value.substring(3,6));      
     taux_2 = parseFloat(document.getElementById(usg_taux_2).value.substring(3,6)); 
     taux_3 = parseFloat(document.getElementById(usg_taux_3).value.substring(3,6)); 
     taux_4 = parseFloat(document.getElementById(usg_taux_4).value.substring(3,6)); 
     taux_5 = parseFloat(document.getElementById(usg_taux_5).value.substring(3,6)); 
     taux_6 = parseFloat(document.getElementById(usg_taux_6).value.substring(3,6)); 
     taux_7 = parseFloat(document.getElementById(usg_taux_7).value.substring(3,6)); 
          
  
     // calcul des resultats
     document.getElementById(usg_bain_hebdo).value   = Math.round((dim1_baignoire/100-0.2)*0.25*(dim2_baignoire/100-0.2)*1000) * document.getElementById(usg_bain_nombre).value;
     document.getElementById(usg_bain_jour).value    = Math.round(document.getElementById(usg_bain_hebdo).value / nb_jour_hebdo);
     document.getElementById(usg_bain_annee).value   = Math.round(document.getElementById(usg_bain_hebdo).value *(52/12) * nb_mois_annee);
     document.getElementById(usg_bain_mois).value    = Math.round(document.getElementById(usg_bain_annee).value / nb_mois_annee);

     document.getElementById(usg_douche_hebdo).value = Math.round(document.getElementById(usg_douche_debit).value * document.getElementById(usg_douche_nombre).value * document.getElementById(usg_douche_duree).value);
     document.getElementById(usg_douche_jour).value  = Math.round(document.getElementById(usg_douche_hebdo).value / nb_jour_hebdo);
     document.getElementById(usg_douche_annee).value = Math.round(document.getElementById(usg_douche_hebdo).value *(52/12) * nb_mois_annee);
     document.getElementById(usg_douche_mois).value  = Math.round(document.getElementById(usg_douche_annee).value / nb_mois_annee);

     document.getElementById(usg_lavabo_hebdo).value = Math.round(document.getElementById(usg_lavabo_debit).value * document.getElementById(usg_lavabo_nombre).value * type_usage_lavabo * 0.5);
     document.getElementById(usg_lavabo_jour).value  = Math.round(document.getElementById(usg_lavabo_hebdo).value / nb_jour_hebdo);
     document.getElementById(usg_lavabo_annee).value = Math.round(document.getElementById(usg_lavabo_hebdo).value *(52/12) * nb_mois_annee);;
     document.getElementById(usg_lavabo_mois).value  = Math.round(document.getElementById(usg_lavabo_annee).value / nb_mois_annee);

     document.getElementById(usg_evier_hebdo).value  = Math.round(document.getElementById(usg_evier_debit).value * document.getElementById(usg_evier_nombre).value * type_usage_evier * 0.5);
     document.getElementById(usg_evier_jour).value   = Math.round(document.getElementById(usg_evier_hebdo).value / nb_jour_hebdo);
     document.getElementById(usg_evier_annee).value  = Math.round(document.getElementById(usg_evier_hebdo).value *(52/12) * nb_mois_annee);
     document.getElementById(usg_evier_mois).value   = Math.round(document.getElementById(usg_evier_annee).value / nb_mois_annee);

     document.getElementById(usg_total_jour).value   = parseFloat(document.getElementById(usg_bain_jour).value)  + parseFloat(document.getElementById(usg_douche_jour).value)  + parseFloat(document.getElementById(usg_lavabo_jour).value)  + parseFloat(document.getElementById(usg_evier_jour).value);
     document.getElementById(usg_total_hebdo).value  = parseFloat(document.getElementById(usg_bain_hebdo).value) + parseFloat(document.getElementById(usg_douche_hebdo).value) + parseFloat(document.getElementById(usg_lavabo_hebdo).value) + parseFloat(document.getElementById(usg_evier_hebdo).value);
     document.getElementById(usg_total_mois).value   = parseFloat(document.getElementById(usg_bain_mois).value)  + parseFloat(document.getElementById(usg_douche_mois).value)  + parseFloat(document.getElementById(usg_lavabo_mois).value)  + parseFloat(document.getElementById(usg_evier_mois).value);
     document.getElementById(usg_total_annee).value  = parseFloat(document.getElementById(usg_bain_annee).value) + parseFloat(document.getElementById(usg_douche_annee).value) + parseFloat(document.getElementById(usg_lavabo_annee).value) + parseFloat(document.getElementById(usg_evier_annee).value);
     document.getElementById(usg_volume_annee).value = Math.round(parseFloat(document.getElementById(usg_total_annee).value) / 1000);

     document.getElementById(usg_taux_total).value   = taux_1 + taux_2 + taux_3 + taux_4 + taux_5 +taux_6 +taux_7;

     // calculer par l'année pour les problèmes d'arrondi
     volume_tranche_1_annuel = document.getElementById(usg_total_annee).value * taux_1 / 100 ;
     volume_tranche_2_annuel = document.getElementById(usg_total_annee).value * taux_2 / 100 ;
     volume_tranche_3_annuel = document.getElementById(usg_total_annee).value * taux_3 / 100 ;
     volume_tranche_4_annuel = document.getElementById(usg_total_annee).value * taux_4 / 100 ;
     volume_tranche_5_annuel = document.getElementById(usg_total_annee).value * taux_5 / 100 ;
     volume_tranche_6_annuel = document.getElementById(usg_total_annee).value * taux_6 / 100 ;
     volume_tranche_7_annuel = document.getElementById(usg_total_annee).value * taux_7 / 100 ;

     document.getElementById(usg_cons_annee).value = Math.round(volume_tranche_1_annuel + volume_tranche_2_annuel + volume_tranche_3_annuel + volume_tranche_4_annuel  + volume_tranche_5_annuel + volume_tranche_6_annuel + volume_tranche_7_annuel);
     document.getElementById(usg_cons_mois).value  = Math.round(document.getElementById(usg_cons_annee).value / nb_mois_annee);
     document.getElementById(usg_cons_jour).value  = Math.round(document.getElementById(usg_cons_annee).value / (52/12*nb_mois_annee) / nb_jour_hebdo);

     document.getElementById(usg_volume_1).value = Math.round(document.getElementById(usg_cons_jour).value * taux_1 / 100) ;
     document.getElementById(usg_volume_2).value = Math.round(document.getElementById(usg_cons_jour).value * taux_2 / 100) ;
     document.getElementById(usg_volume_3).value = Math.round(document.getElementById(usg_cons_jour).value * taux_3 / 100) ;
     document.getElementById(usg_volume_4).value = Math.round(document.getElementById(usg_cons_jour).value * taux_4 / 100) ;
     document.getElementById(usg_volume_5).value = Math.round(document.getElementById(usg_cons_jour).value * taux_5 / 100) ;
     document.getElementById(usg_volume_6).value = Math.round(document.getElementById(usg_cons_jour).value * taux_6 / 100) ;
     document.getElementById(usg_volume_7).value = Math.round(document.getElementById(usg_cons_jour).value * taux_7 / 100) ;

     if (parseFloat(document.getElementById(usg_taux_total).value) != 100 && element_actif == "usg_taux_1") aller_a_combo(usg_taux_2);
     if (parseFloat(document.getElementById(usg_taux_total).value) != 100 && element_actif == "usg_taux_2") aller_a_combo(usg_taux_3);
     if (parseFloat(document.getElementById(usg_taux_total).value) != 100 && element_actif == "usg_taux_3") aller_a_combo(usg_taux_4);
     if (parseFloat(document.getElementById(usg_taux_total).value) != 100 && element_actif == "usg_taux_4") aller_a_combo(usg_taux_5);
     if (parseFloat(document.getElementById(usg_taux_total).value) != 100 && element_actif == "usg_taux_5") aller_a_combo(usg_taux_6);
     if (parseFloat(document.getElementById(usg_taux_total).value) != 100 && element_actif == "usg_taux_6") aller_a_combo(usg_taux_7);
     if (parseFloat(document.getElementById(usg_taux_total).value) != 100 && element_actif == "usg_taux_7") aller_a_combo(usg_taux_1);
     
     
}

//***************************************************************************************************************************************
//
//  fonction de mise à jour des tarifs des energies en fonction de la selection du type de contrat
//
//***************************************************************************************************************************************
function maj_tarif_contrat(energie,contrat,v_abonnement,v_tarif_HP,v_tarif_HC,m_abonnement,m_tarif_HP,m_tarif_HC){

 
    if (energie == "ELEC") {
       for (i=0; i <=13; i++) { 
           var var_contrat     = "tar_ELEC_contrat_"    + i;          
           var var_abonnement  = "tar_ELEC_abonnement_" + i;
           var var_tarif_hp    = "tar_ELEC_tarif_hp_" + i;
           var var_tarif_hc    = "tar_ELEC_tarif_hc_" + i;
           if (pioche[var_contrat] == document.getElementById(contrat).value)  {
               document.getElementById(v_abonnement).value   =  pioche[var_abonnement];
               document.getElementById(v_tarif_HP).value     =  pioche[var_tarif_hp];
               document.getElementById(v_tarif_HC).value     =  pioche[var_tarif_hc];
               document.getElementById(m_abonnement).value   =  document.getElementById(v_abonnement).value;
               document.getElementById(m_tarif_HP).value     =  document.getElementById(v_tarif_HP).value;
               document.getElementById(m_tarif_HC).value     =  document.getElementById(v_tarif_HC).value;
           }   
       }
    }
  
    if (energie == "GN") {
       for (i=0; i <=3; i++) { 
           var var_contrat     = "tar_GN_contrat_"    + i;          
           var var_abonnement  = "tar_GN_abonnement_" + i;
           var var_tarif_hp    = "tar_GN_tarif_hp_" + i;
           var var_tarif_hc    = "tar_GN_tarif_hc_" + i;
           if (pioche[var_contrat] == document.getElementById(contrat).value)  {
               document.getElementById(v_abonnement).value   =  pioche[var_abonnement];
               document.getElementById(v_tarif_HP).value     =  pioche[var_tarif_hp];
               document.getElementById(v_tarif_HC).value     =  pioche[var_tarif_hc];
               document.getElementById(m_abonnement).value   =  document.getElementById(v_abonnement).value;
               document.getElementById(m_tarif_HP).value     =  document.getElementById(v_tarif_HP).value;
               document.getElementById(m_tarif_HC).value     =  document.getElementById(v_tarif_HC).value;
           }   
       }
    }

    if (energie == "PROP") {
       for (i=0; i <=0; i++) { 
           var var_contrat     = "tar_PROP_contrat_"    + i;          
           var var_abonnement  = "tar_PROP_abonnement_" + i;
           var var_tarif_hp    = "tar_PROP_tarif_hp_" + i;
           var var_tarif_hc    = "tar_PROP_tarif_hc_" + i;
           if (pioche[var_contrat] == document.getElementById(contrat).value)  {
               document.getElementById(v_abonnement).value   =  pioche[var_abonnement];
               document.getElementById(v_tarif_HP).value     =  pioche[var_tarif_hp];
               document.getElementById(v_tarif_HC).value     =  pioche[var_tarif_hc];
               document.getElementById(m_abonnement).value   =  document.getElementById(v_abonnement).value;
               document.getElementById(m_tarif_HP).value     =  document.getElementById(v_tarif_HP).value;
               document.getElementById(m_tarif_HC).value     =  document.getElementById(v_tarif_HC).value;
           }   
       }
    }

    if (energie == "FIOUL") {
       for (i=0; i <=0; i++) { 
           var var_contrat     = "tar_FIOUL_contrat_"    + i;          
           var var_abonnement  = "tar_FIOUL_abonnement_" + i;
           var var_tarif_hp    = "tar_FIOUL_tarif_hp_" + i;
           var var_tarif_hc    = "tar_FIOUL_tarif_hc_" + i;
           if (pioche[var_contrat] == document.getElementById(contrat).value)  {
               document.getElementById(v_abonnement).value   =  pioche[var_abonnement];
               document.getElementById(v_tarif_HP).value     =  pioche[var_tarif_hp];
               document.getElementById(v_tarif_HC).value     =  pioche[var_tarif_hc];
               document.getElementById(m_abonnement).value   =  document.getElementById(v_abonnement).value;
               document.getElementById(m_tarif_HP).value     =  document.getElementById(v_tarif_HP).value;
               document.getElementById(m_tarif_HC).value     =  document.getElementById(v_tarif_HC).value;
           }   
       }
    }

    if (energie == "PELLET") {
       for (i=0; i <=0; i++) { 
           var var_contrat     = "tar_PELLET_contrat_"    + i;          
           var var_abonnement  = "tar_PELLET_abonnement_" + i;
           var var_tarif_hp    = "tar_PELLET_tarif_hp_" + i;
           var var_tarif_hc    = "tar_PELLET_tarif_hc_" + i;
           if (pioche[var_contrat] == document.getElementById(contrat).value)  {
               document.getElementById(v_abonnement).value   =  pioche[var_abonnement];
               document.getElementById(v_tarif_HP).value     =  pioche[var_tarif_hp];
               document.getElementById(v_tarif_HC).value     =  pioche[var_tarif_hc];
               document.getElementById(m_abonnement).value   =  document.getElementById(v_abonnement).value;
               document.getElementById(m_tarif_HP).value     =  document.getElementById(v_tarif_HP).value;
               document.getElementById(m_tarif_HC).value     =  document.getElementById(v_tarif_HC).value;
           }   
       }
    }

    if (energie == "BUCHE") {
       for (i=0; i <=0; i++) { 
           var var_contrat     = "tar_BUCHE_contrat_"    + i;          
           var var_abonnement  = "tar_BUCHE_abonnement_" + i;
           var var_tarif_hp    = "tar_BUCHE_tarif_hp_" + i;
           var var_tarif_hc    = "tar_BUCHE_tarif_hc_" + i;
           if (pioche[var_contrat] == document.getElementById(contrat).value)  {
               document.getElementById(v_abonnement).value   =  pioche[var_abonnement];
               document.getElementById(v_tarif_HP).value     =  pioche[var_tarif_hp];
               document.getElementById(v_tarif_HC).value     =  pioche[var_tarif_hc];
               document.getElementById(m_abonnement).value   =  document.getElementById(v_abonnement).value;
               document.getElementById(m_tarif_HP).value     =  document.getElementById(v_tarif_HP).value;
               document.getElementById(m_tarif_HC).value     =  document.getElementById(v_tarif_HC).value;
           }   
       }
    }
    
    if (energie == "SOLAIRE") {
       for (i=0; i <=0; i++) { 
           var var_contrat     = "tar_SOLAIRE_contrat_"    + i;          
           var var_abonnement  = "tar_SOLAIRE_abonnement_" + i;
           var var_tarif_hp    = "tar_SOLAIRE_tarif_hp_" + i;
           var var_tarif_hc    = "tar_SOLAIRE_tarif_hc_" + i;
           if (pioche[var_contrat] == document.getElementById(contrat).value)  {
               document.getElementById(v_abonnement).value   =  pioche[var_abonnement];
               document.getElementById(v_tarif_HP).value     =  pioche[var_tarif_hp];
               document.getElementById(v_tarif_HC).value     =  pioche[var_tarif_hc];
               document.getElementById(m_abonnement).value   =  document.getElementById(v_abonnement).value;
               document.getElementById(m_tarif_HP).value     =  document.getElementById(v_tarif_HP).value;
               document.getElementById(m_tarif_HC).value     =  document.getElementById(v_tarif_HC).value;
           }   
       }
    }
    
    if (energie == "BOUT") {
       for (i=0; i <=0; i++) { 
           var var_contrat     = "tar_BOUT_contrat_"    + i;          
           var var_abonnement  = "tar_BOUT_abonnement_" + i;
           var var_tarif_hp    = "tar_BOUT_tarif_hp_" + i;
           var var_tarif_hc    = "tar_BOUT_tarif_hc_" + i;
           if (pioche[var_contrat] == document.getElementById(contrat).value)  {
               document.getElementById(v_abonnement).value   =  pioche[var_abonnement];
               document.getElementById(v_tarif_HP).value     =  pioche[var_tarif_hp];
               document.getElementById(v_tarif_HC).value     =  pioche[var_tarif_hc];
               document.getElementById(m_abonnement).value   =  document.getElementById(v_abonnement).value;
               document.getElementById(m_tarif_HP).value     =  document.getElementById(v_tarif_HP).value;
               document.getElementById(m_tarif_HC).value     =  document.getElementById(v_tarif_HC).value;
           }   
       }
    }
  
}
//******************************************************************************************************************************************


//------------------------------------------------------------------------------------------------------------------------------------------------------
//
//
//
// 
//
// 
//------------------------------------------------------------------------------------------------------------------------------------------------------
function CalculTravaux(){
//sol_pb,qte_pb,sol_mext,qte_mext,sol_ph,qte_ph,sol_bv,qte_bv,sol_pext,qte_pext,sol_ven,qte_ven,sol_gen,qte_gen,sol_eme,qte_eme,sol_ecs,qte_ecs,sol_sto,qte_sto,sol_svo,qte_svo

    var re = /^[0-9,.]*$/;

    var touche = event.keyCode;
    var element_actif = document.activeElement.id;                                                 
    var ancien_element_actif = last_focus;
    

   // recuperer les prix unitaires et les unités des solutions sélectionnnées
     
    // calcul des montants
    document.getElementById('inv_plancher_bas_montant').value       = document.getElementById('inv_plancher_bas_prix_unitaire').value       * document.getElementById('inv_plancher_bas_qte').value;   
    document.getElementById('inv_murs_exterieurs_montant').value    = document.getElementById('inv_murs_exterieurs_prix_unitaire').value    * document.getElementById('inv_murs_exterieurs_qte').value;   
    document.getElementById('inv_combles_montant').value            = document.getElementById('inv_combles_prix_unitaire').value            * document.getElementById('inv_combles_qte').value;   
    document.getElementById('inv_baies_fenetres_montant').value     = document.getElementById('inv_baies_fenetres_prix_unitaire').value     * document.getElementById('inv_baies_fenetres_qte').value;   
    document.getElementById('inv_portes_exterieures_montant').value = document.getElementById('inv_portes_exterieures_prix_unitaire').value * document.getElementById('inv_portes_exterieures_qte').value;   
    document.getElementById('inv_ventilation_montant').value        = document.getElementById('inv_ventilation_prix_unitaire').value        * document.getElementById('inv_ventilation_qte').value;   
    document.getElementById('inv_generateur_ch_montant').value      = document.getElementById('inv_generateur_ch_prix_unitaire').value      * document.getElementById('inv_generateur_ch_qte').value;   
    document.getElementById('inv_generateur_ecs_montant').value     = document.getElementById('inv_generateur_ecs_prix_unitaire').value     * document.getElementById('inv_generateur_ecs_qte').value;   
    document.getElementById('inv_emetteur_ch_montant').value        = document.getElementById('inv_emetteur_ch_prix_unitaire').value        * document.getElementById('inv_emetteur_ch_qte').value;   
    document.getElementById('inv_stockage_ecs_montant').value       = document.getElementById('inv_stockage_ecs_prix_unitaire').value       * document.getElementById('inv_stockage_ecs_qte').value;   
    document.getElementById('inv_photovoltaique_montant').value     = document.getElementById('inv_photovoltaique_prix_unitaire').value     * document.getElementById('inv_photovoltaique_qte').value;   

    // calcul des totaux et sous-totaux
    document.getElementById('inv_montant_isolation').value     =  Math.round(parseFloat(document.getElementById('inv_plancher_bas_montant').value) +
                                                                  parseFloat(document.getElementById('inv_murs_exterieurs_montant').value) +
                                                                  parseFloat(document.getElementById('inv_combles_montant').value) + 
                                                                  parseFloat(document.getElementById('inv_baies_fenetres_montant').value) +
                                                                  parseFloat(document.getElementById('inv_portes_exterieures_montant').value));

    document.getElementById('inv_montant_systeme').value       =  Math.round(parseFloat(document.getElementById('inv_ventilation_montant').value) +
                                                                  parseFloat(document.getElementById('inv_generateur_ch_montant').value) +
                                                                  parseFloat(document.getElementById('inv_generateur_ecs_montant').value) +
                                                                  parseFloat(document.getElementById('inv_emetteur_ch_montant').value) +
                                                                  parseFloat(document.getElementById('inv_stockage_ecs_montant').value) + 
                                                                  parseFloat(document.getElementById('inv_photovoltaique_montant').value)); 

    document.getElementById('inv_montant_autres').value       =   Math.round(parseFloat(document.getElementById('inv_photovoltaique_montant').value));

    document.getElementById('inv_montant_investissement').value  = Math.round(parseFloat(document.getElementById('inv_montant_isolation').value) +
                                                                   parseFloat(document.getElementById('inv_montant_systeme').value) +
                                                                   parseFloat(document.getElementById('inv_montant_autres').value));
    document.getElementById('inv_cout_reel_solution').value      = Math.round(parseFloat(document.getElementById('inv_montant_investissement').value) -
                                                                   parseFloat(document.getElementById('inv_montant_subvention').value) -
                                                                   parseFloat(document.getElementById('inv_montant_credit_impots').value));                                                               

    document.getElementById('inv_montant_investissement_min').value  = Math.round(parseFloat(document.getElementById('inv_montant_investissement').value) * 0.8);
    document.getElementById('inv_montant_subvention_min').value      = Math.round(parseFloat(document.getElementById('inv_montant_subvention').value) * 0.8);
    document.getElementById('inv_montant_credit_impots_min').value   = Math.round(parseFloat(document.getElementById('inv_montant_credit_impots').value) * 0.8);
    document.getElementById('inv_cout_reel_solution_min').value      = Math.round(parseFloat(document.getElementById('inv_cout_reel_solution').value) * 0.8);
                                                                     
    document.getElementById('inv_montant_investissement_max').value  = Math.round(parseFloat(document.getElementById('inv_montant_investissement').value) * 1.2);
    document.getElementById('inv_montant_subvention_max').value      = Math.round(parseFloat(document.getElementById('inv_montant_subvention').value) * 1.2);
    document.getElementById('inv_montant_credit_impots_max').value   = Math.round(parseFloat(document.getElementById('inv_montant_credit_impots').value) * 1.2);
    document.getElementById('inv_cout_reel_solution_max').value      = Math.round(parseFloat(document.getElementById('inv_cout_reel_solution').value) * 1.2);

    
    }

