﻿// Fichier JScript
var ng ;

var w = 0 ;
var lg = 0 ;
var ht = 0 ;
var hp = 0 ;

var ad1 ;
var ad2 ;
var ad ;
var ai ;

var cd = 0;

var nd ;
var ni ;

var hu ;
var rf ;
var lf ;

var pd ;
var pi ;

var r ;

function FocusChamps(c){c.className = 'champfocus';}
function BlurChamps(c){c.className = 'champcontact';}

function isFloat(value) { return !isNaN(parseFloat(value)); }
function isInt(value) { return !isNaN(parseInt(value)); }

function ChangeDepartement(Param){
    if ( Param == ""){
        $('densitefoudre').innerHTML = 'Densité de foudroiement ?' ;
        $('ng').value = '' ;
        ng = 0 ;
    }else{
        $('densitefoudre').innerHTML = 'coups de foudre/km²/an' ;
        $('ng').value = Param ;
        ng = parseFloat(Param.replace(",", "."))  ;
    }
    CalculerNdNi();
      CalculerR1();
}

function ChangeNg(Param){
    if (isFloat(Param))
      {ng = parseFloat(Param.replace(",", ".")) ; }    
    else
      {$('ng').className = "champcontacterreur" ;}
      CalculerNdNi();
      CalculerR1();
}

function STRUCTUREChange(ID){
if ($(ID).value == ''){$(ID).value = 0}
 if( isFloat($(ID).value)){
    //Update des valeurs
    switch(ID) {
        case "w":
            w = $(ID).value ;
            break; 
        case "lg":
            lg = $(ID).value ;
            break; 
        case "ht":
            ht = $(ID).value ;
            break; 
        case "hp":
            hp = $(ID).value ;
            break; 
    }
 
    //Calcule de ad1  (Lg*W)+(6*Ht*(Lg+W))+(9*3,1415*Ht*Ht)
    ad1 = ( parseFloat(lg) * parseFloat(w) )  + (6 * parseFloat(ht) * ( parseFloat(lg) + parseFloat(w) ))  +( 9 * 3.1415 * parseFloat(ht) * parseFloat(ht)) ;
    if (ad1 != 0)
        $('ad1').innerHTML = Math.ceil(ad1) ;
    else
        $('ad1').innerHTML = '' ;
    
    //Calcule de ad2   
    ad2 =  9 * 3.1415 * hp * hp ;
    if ( ad2 != 0 )
        $('ad2').innerHTML = Math.ceil(ad2) ;
    else
        $('ad2').innerHTML = '' ;
        
    //Calcule de ad
    ad = Math.max(ad1, ad2)
    if ( ad != 0 ){
        $('ad').innerHTML = Math.ceil(ad) ;
        CalculerNdNi();
        CalculerR1();}
    else 
        {$('ad').innerHTML = '' ;
        CalculerNdNi();
        CalculerR1();
        }
        
 }else{
    $(ID).className = "champcontacterreur" ;
 }
}

function ChangeLigneElect(Param){
    $('ligne').innerHTML = '' ;
    ParafoudreObligatoire();
    switch (Param) {
        case '1' :
            $('ai').innerHTML = '' ; 
            ai = 0 ;
            break;
        case '2' :
            $('ai').innerHTML = 6600 ; 
            ai = 6600 ;
            break;
        case '3' :
            $('ai').innerHTML = 14400 ; 
            ai = 14400 ;
            break;
        default: 
            $('ligne').innerHTML = 'Ligne électrique ?' ;
            $('ai').innerHTML = '' ;
            ai = 0 ;
	        break;
    }
    CalculerNdNi();
    CalculerR1();
}

function ChangePosition(Param){
   $('emplacement').innerHTML = '' ;
   switch(Param) {
       case '1':
           $('cd').innerHTML = '0,25' ;
           cd = 0.25 ;
           break;
       case '2':
           $('cd').innerHTML = '0,5' ;
           cd = 0.5 ;
           break;
       case '3':
           $('cd').innerHTML = '1' ; 
           cd = 1 ;
           break;
       case '4':
           $('cd').innerHTML = '2' ;
           cd = 2 ;
           break;  
       default :            
           $('cd').innerHTML = '' ;
           cd = 0 ;
           $('emplacement').innerHTML = 'Emplacement ?' ;
           $('nd').innerHTML = '' ;
           $('ni').innerHTML = '' ;
           break; 
   }
   CalculerNdNi(); 
   CalculerR1();    
}

function CalculerNdNi(){
    if (ng != 0 && ai != 0 && cd != 0 && ad != 0){
        nd = Math.round(ng * ad * cd )/1000000 ;
        $('nd').innerHTML = nd ;
    } 
    else{$('nd').innerHTML = '' ;}
    if (ai != 0 && cd != 0 ){
        ni = Math.round(ng * ai * cd )/1000000  ;
        $('ni').innerHTML = ni ;
    }
}

function ChangeDangerP(Param){
     $('danger').innerHTML = '' ;
     switch(parseInt(Param)) {
           case 1 :
               $('hu').innerHTML = '1' ;
               hu = 1 ;
               break;
           case 2 :
               $('hu').innerHTML = '2' ;
               hu = 2 ;
               break;
           case 3 :
               $('hu').innerHTML = '5' ;
               hu = 5 ;
               break;
           case 4 :
               $('hu').innerHTML = '5' ;
               hu = 5 ;
               break; 
           case 5 : 
               $('hu').innerHTML = '10' ;
               hu = 10 ;
               break; 
           default :            
               $('danger').innerHTML = 'Danger ?' ;
               $('hu').innerHTML = '' ;
               hu = 0 ;
               break;
     } 
     CalculerR1();              
}
function ChangeIncendie(Param){
     $('incendie').innerHTML = '' ;
     switch(parseInt(Param)) {
           case 1 :
               $('rf').innerHTML = '0,1' ;
               rf = 0.1 ;
               break;
           case 2 :
               $('rf').innerHTML = '0,01' ;
               rf = 0.01 ;
               break;
           case 3 :
               $('rf').innerHTML = '0,001' ;
               rf = 0.001 ;
               break;
           default :            
               $('incendie').innerHTML = 'Risque incendie ?' ;
               $('rf').innerHTML = '' ;
               rf = 0 ;
               break;
     }  
     CalculerR1();             
}
function ChangeOccupation(Param){
     $('occupation').innerHTML = '' ;
     switch(parseInt(Param)) {
           case 1 :
               $('lf').innerHTML = '0,1' ;
               lf = 0.1 ;
               break;
           case 2 :
               $('lf').innerHTML = '0,01' ;
               lf = 0.01 ;
               break;
           default :            
               $('occupation').innerHTML = 'Risque incendie ?' ;
               $('lf').innerHTML = '' ;
               lf = 0 ;
               break;
     }       
     CalculerR1();       
}
//**** Protection
function ChangeParatonnerre(){
     $('incendie').innerHTML = '' ;
     switch(parseInt(Param)) {
           case 1 :
               $('pd').innerHTML = '1' ;
               pd = 1 ;
               break;
           case 2 :
               $('pd').innerHTML = '1' ;
               pd = 1 ;
               break;
           default :            
               $('incendie').innerHTML = 'Risque incendie ?' ;
               $('pd').innerHTML = '' ;
               rf = 0 ;
               break;
     }  
     CalculerR1();             
}
function ChangeRisque(){
     $('incendie').innerHTML = '' ;
     switch(parseInt(Param)) {
           case 1 :
               $('rf').innerHTML = '0,1' ;
               rf = 1 ;
               break;
           case 2 :
               $('rf').innerHTML = '0,01' ;
               rf = 2 ;
               break;
           case 3 :
               $('rf').innerHTML = '0,001' ;
               rf = 5 ;
               break;
           default :            
               $('incendie').innerHTML = 'Risque incendie ?' ;
               $('rf').innerHTML = '' ;
               rf = 0 ;
               
               break;
     } 
     CalculerR1();              
}

function CalculerPd(){
    ParafoudreObligatoire() ;
    if ( $('ctl00_ContentPlaceHolder1_DDParatonnerre').value == 1 ){ 
        //Paratonerre Absent
        $('pd').innerHTML = '1' ;
        pd = 1 ;
        $('ctl00_ContentPlaceHolder1_DDRisque').selectedIndex  = '' ;
    }else{
        $('protection').innerHTML = '' ;
        switch ($('ctl00_ContentPlaceHolder1_DDRisque').value ) {
             case '1' :
                 $('pd').innerHTML = '0,2' ;
                 pd = 0.2 ;
                 break;
             case '2' :
                 $('pd').innerHTML = '0,1' ;
                 pd = 0.1 ;
                 break;
             case '3' :
                 $('pd').innerHTML = '0,05' ;
                 pd = 0.05 ;
                 break;
             case '4' :
                 $('pd').innerHTML = '0,02' ;
                 pd = 0.02 ;
                 break;
             default :            
                 $('pd').innerHTML = 'Anomalie' ;
                 $('protection').innerHTML = 'Niveau de protection ?' ;
                 pd = 0 ;
        }       
    }
    CalculerR1();
}
function CalculerPi(){
    ParafoudreObligatoire() ;
    if ( $('ctl00_ContentPlaceHolder1_DDParafoudre').value == 1 ){ 
        //Parafoudre Absent
        $('ligneP').innerHTML = '' ;
        $('pi').innerHTML = '1' ;
        pi = 1 ;
        $('ctl00_ContentPlaceHolder1_DDLigne').selectedIndex  = '' ; 
            if($('ctl00_ContentPlaceHolder1_DDParatonnerre').value==2){
                $('protectionLigne').innerHTML = 'Parafoudre obligatoire à l\'origine de l\'installation';
            }
        
    }else{
        $('ligneP').innerHTML = 'Type I  -  I imp ≥' ;
        //=SI(H54=1;SI(H55=1;0,03;SI(H55=2;0,02;SI(H55=3;0,01;"Anomalie")));1)
        switch ($('ctl00_ContentPlaceHolder1_DDLigne').value ) {
             case '1' :
                 $('pi').innerHTML = '0,03' ;
                 pi = 0.03 ;
                 $('protectionLigne').innerHTML = '' ;
                 break;
             case '2' :
                 $('pi').innerHTML = '0,02' ;
                 $('protectionLigne').innerHTML = 'm= Nombre de lignes élec.<br />n = Nombre de cond ./ligne' ;
                 pi = 0.02 ;
                 break;
             case '3' :
                 $('pi').innerHTML = '0,01' ;
                 $('protectionLigne').innerHTML = 'm= Nombre de lignes élec.<br />n = Nombre de cond ./ligne' ;
                 pi = 0.01 ;
                 break;
             default :            
                 $('pi').innerHTML = 'Anomalie' ; 
                 pi = 0 ;
        }    
    }
    CalculerR1();
}

function ParafoudreObligatoire(){
  if ($('ctl00_ContentPlaceHolder1_DDParafoudre').value == 2 && $('ctl00_ContentPlaceHolder1_DDParatonnerre').value == 1 &&  $('ctl00_ContentPlaceHolder1_DDLigneElect').value == 2 ) 
       $('protectionLigne').innerHTML = '<strong> Parafoudre obligatoire </strong>' ;
  else
       $('protectionLigne').innerHTML = '' ; 
}



function CalculerR1(){
    if ( isNaN(pi)) 
        pi = 0.03 ;
    if ( isNaN(pd)) 
        pd = 0.2 ;
    if (nd != 0 && pd != 0 && hu != 0 && lf != 0){
    //  SI(Ai<>"";(Nd*Pd*h*rf*Lf)+(Ni*Pi*h*rf*Lf);Nd*Pd*h*rf*Lf)
        if (ai != 0) {
           // alert('(nd('+nd+')*pd('+pd +')*hu('+hu +')*rf('+rf +')*lf('+lf+'))+(ni('+ni +')*pi('+pi +')*hu('+ hu +')*rf('+ rf+')*lf('+lf+'))');
            r = (nd*pd*hu*rf*lf)+(ni*pi*hu*rf*lf) ;
           // alert('ai= '+ ai +' r = ' + r) ;
            $('r1').innerHTML = notationscientifique(r)  ;
        }else{
            //alert('(nd('+nd+')*pd('+pd +')*hu('+hu +')*rf('+rf +')*lf('+lf+'))');
            r = (nd*pd*hu*rf*lf) ;
            //alert('ai =' + ai +' r = ' + r) ;
            $('r1').innerHTML =notationscientifique(r)  ;
        }
     }else{$('Resultat').innerHTML = "ANALYSE INCOMPLETE" ;
     }
     Resultat()
}
function Resultat(){
        //alert(r + ' > 0.00001')
        if ( r > 0.00001 ){
        $('Resultat').innerHTML = "RISQUE NON ACCEPTABLE DES MESURES COMPLEMENTAIRES DE PROTECTION DOIVENT ETRE PRISES" ;
        }else{
        $('Resultat').innerHTML = "LA PROTECTION EST SATISFAISANTE" ; 
        }
}

function notationscientifique(number){
    var retour = '';
    if (isFloat(number)){
        var x = 1 ;
        var e = 0 ;
        while (number < x){
            e = e - 1 ;
            x = x / 10 ;
        }  
        while (number > x){
            e = e + 1 ;
            x = x * 10 ;
        }   
        number = number / x ;
        e = e - 1 ; 
        retour = Math.round(number * 1000)/100   +'E'+ e ;  
    }else{ 
        retour = 'erreur' ;
    }    
    return retour ;
}

//function notationscientifique(c){
//    var number ;
//    c.value =  c.value.replace(',','.') ;
//    if (isFloat(c.value)){
//        number = c.value ;
//        alert('Nombre valide :' + number);
//        var x = 1 ;
//        var e = 0 ;
//        while (number < x){
//            e = e - 1 ;
//            x = x / 10 ;
//        }  
//        while (number > x){
//            e = e + 1 ;
//            x = x * 10 ;
//        }   
//        number = number / x ;
//        e = e - 1 ; 
//        alert( Math.round(number * 1000)/100   +'E'+ e);
//    }else{ 
//        c.className = "champcontacterreur" ;
//    }    
//}
