<!--
var NouveauContenu = null
function checkNumber(input, min, max, msg)
{
    msg = "La zone " + msg + " n'a pas une donnee correcte : " + input.value;

    var str = input.value;
    for (var i = 0; i < str.length; i++) {
        var ch = str.substring(i, i + 1)
        if ((ch < "0" || "9" < ch) && ch != '.') {
            alert(msg);
            return false;
        }
    }
    var num = parseFloat(str)
    if (num < min || max < num) {
        alert(msg + " n'est pas compris entre [" + min + ".." + max + "]");
        return false;
    }
    input.value = str;
    return true;
}

function entrevaleur(input)
{
    if (input.value != null && input.value.length != 0) {
        input.value = "" + eval(input.value);
        calculeimpot(input.form);
    }
}

function calculenbpart(form)
{
  if (form.etatcivil[0].checked || form.etatcivil[2].checked || form.etatcivil[3].checked){
     if (form.nbacharge[0].checked){
     form.nbpart.value=1
     }
     if (form.nbacharge[1].checked){
     form.nbpart.value=1.5
     }
     if (form.nbacharge[2].checked){
     form.nbpart.value=2
     }
     if (form.nbacharge[3].checked){
     form.nbpart.value=3
     }
     if (form.nbacharge[4].checked){
     form.nbpart.value=4
     }
     if (form.nbacharge[5].checked){
     form.nbpart.value=5
     }
     if (form.nbacharge[6].checked){
     form.nbpart.value=6
     }
     if (form.nbacharge[7].checked){
     form.nbpart.value=7
     }
  }
  if (form.etatcivil[1].checked){
     if (form.nbacharge[0].checked){
     form.nbpart.value=2
     }
     if (form.nbacharge[1].checked){
     form.nbpart.value=2.5
     }
     if (form.nbacharge[2].checked){
     form.nbpart.value=3
     }
     if (form.nbacharge[3].checked){
     form.nbpart.value=4
     }
     if (form.nbacharge[4].checked){
     form.nbpart.value=5
     }
     if (form.nbacharge[5].checked){
     form.nbpart.value=6
     }
     if (form.nbacharge[6].checked){
     form.nbpart.value=7
     }
     if (form.nbacharge[7].checked){
     form.nbpart.value=8
     }
  }
  if (form.etatcivil[4].checked){
     if (form.nbacharge[0].checked){
     form.nbpart.value=1.5
     }
     if (form.nbacharge[1].checked){
     form.nbpart.value=1.5
     }
     if (form.nbacharge[2].checked){
     form.nbpart.value=2
     }
     if (form.nbacharge[3].checked){
     form.nbpart.value=3
     }
     if (form.nbacharge[4].checked){
     form.nbpart.value=4
     }
     if (form.nbacharge[5].checked){
     form.nbpart.value=5
     }
     if (form.nbacharge[6].checked){
     form.nbpart.value=6
     }
     if (form.nbacharge[7].checked){
     form.nbpart.value=7
     }
  }
  calculeimpot(form)
}

function calculetableaufrais(nbkm,nbjours,puissance,frais)
{
    if ((nbjours.value != null && nbjours.value.length != 0) &&
        (nbkm.value != null && nbkm.value.length != 0) &&
        (puissance.value != null && puissance.value.length != 0)){

        nbkmannuel=nbkm.value*nbjours.value
        if (nbkmannuel<=5000) {
              if (puissance.value<=3) {
                  frais.value=nbkmannuel*0.393
                     NouveauContenu +=  '0.393)' 
             }
               if (puissance.value==4) {
                  frais.value=nbkmannuel*0.473
                     NouveauContenu +=  '0.473)' 
             }
               if (puissance.value==5) {
                  frais.value=nbkmannuel*0.520
                     NouveauContenu +=  '0.520)' 
             }
               if (puissance.value==6) {
                  frais.value=nbkmannuel*0.544
                     NouveauContenu +=  '0.544)' 
             }
               if (puissance.value==7) {
                  frais.value=nbkmannuel*0.569
                     NouveauContenu +=  '0.569)' 
             }
               if (puissance.value==8) {
                  frais.value=nbkmannuel*0.601
                     NouveauContenu +=  '0.601)' 
             }
               if (puissance.value==9) {
                  frais.value=nbkmannuel*0.616
                     NouveauContenu +=  '0.616)' 
             }
               if (puissance.value==10) {
                  frais.value=nbkmannuel*0.649
                     NouveauContenu +=  '0.649)' 
             }
               if (puissance.value==11) {
                  frais.value=nbkmannuel*0.661
                     NouveauContenu +=  '0.661)' 
             }
               if (puissance.value==12) {
                  frais.value=nbkmannuel*0.695
                     NouveauContenu +=  '0.695)' 
             }
               if (puissance.value>12) {
                  frais.value=nbkmannuel*0.707
                     NouveauContenu +=  '0.707)' 
            }
        }
        if ((nbkmannuel>5000) && (nbkmannuel<=20000)) {
              if (puissance.value<=3) {
                  frais.value=((nbkmannuel*0.236) + 783)
                       NouveauContenu +=  '0.236) + 783' 
             }
               if (puissance.value==4) {
                  frais.value=((nbkmannuel*0.266) + 1038)
                       NouveauContenu +=  '0.266) + 1038' 
             }
               if (puissance.value==5) {
                  frais.value=((nbkmannuel*0.291) + 1143)
                       NouveauContenu +=  '0.291) + 1143' 
             }
               if (puissance.value==6) {
                  frais.value=((nbkmannuel*0.305) + 1198)
                       NouveauContenu +=  '0.305) + 1198' 
             }
               if (puissance.value==7) {
                  frais.value=((nbkmannuel*0.324) + 1223)
                       NouveauContenu +=  '0.324) + 1223' 
             }
               if (puissance.value==8) {
                  frais.value=((nbkmannuel*0.342) + 1298)
                       NouveauContenu +=  '0.342) + 1298' 
             }
               if (puissance.value==9) {
                  frais.value=((nbkmannuel*0.357) + 1298)
                       NouveauContenu +=  '0.357) + 1298' 
             }
               if (puissance.value==10) {
                  frais.value=((nbkmannuel*0.380) + 1343)
                       NouveauContenu +=  '0.380) + 1343' 
             }
               if (puissance.value==11) {
                  frais.value=((nbkmannuel*0.398) + 1318)
                       NouveauContenu +=  '0.398) + 1318' 
             }
               if (puissance.value==12) {
                  frais.value=((nbkmannuel*0.414) + 1403)
                       NouveauContenu +=  '0.414) + 1403' 
             }
               if (puissance.value>12) {
                  frais.value=((nbkmannuel*0.430) + 1383)
                       NouveauContenu +=  '0.430) + 1383' 
             }
         }
        if (nbkmannuel>20000) {
              if (puissance.value<=3) {
                  frais.value=nbkmannuel*0.275
                     NouveauContenu +=  '0.275)' 
             }
               if (puissance.value==4) {
                  frais.value=nbkmannuel*0.318
                     NouveauContenu +=  '0.318)' 
             }
               if (puissance.value==5) {
                  frais.value=nbkmannuel*0.348
                     NouveauContenu +=  '0.348)' 
             }
               if (puissance.value==6) {
                  frais.value=nbkmannuel*0.365
                     NouveauContenu +=  '0.365)' 
             }
               if (puissance.value==7) {
                  frais.value=nbkmannuel*0.385
                     NouveauContenu +=  '0.385)' 
             }
               if (puissance.value==8) {
                  frais.value=nbkmannuel*0.407
                     NouveauContenu +=  '0.407)' 
             }
               if (puissance.value==9) {
                  frais.value=nbkmannuel*0.422
                     NouveauContenu +=  '0.422)' 
             }
               if (puissance.value==10) {
                  frais.value=nbkmannuel*0.447
                     NouveauContenu +=  '0.447)' 
             }
               if (puissance.value==11) {
                  frais.value=nbkmannuel*0.464
                     NouveauContenu +=  '0.464)' 
             }
               if (puissance.value==12) {
                  frais.value=nbkmannuel*0.484
                     NouveauContenu +=  '0.484)' 
             }
               if (puissance.value>12) {
                  frais.value=nbkmannuel*0.499
                     NouveauContenu +=  '0.499)' 
             }
        }
    } else {
       frais.value=""
    }
}
function calculefrais(form){
     with (Math) {
      calculetableaufrais(form.nbkmvous,form.nbjoursvous,form.puissancevous,form.fraisreelkmvous)
      form.fraisreelkmvous.value=floor(form.fraisreelkmvous.value*100)/100
     if (form.fraisnourvous[0].checked){                    form.fraisrepasvous.value=floor((((form.nbjoursvous.value)*4.30)-(form.ticketrepasvous.value*form.nbjoursvous.value))*1000)/1000
form.fraisreelvous.value=form.fraisreelkmvous.value*1+form.fraisrepasvous.value*1
     } else {
          form.fraisrepasvous.value=""
          form.fraisreelvous.value=form.fraisreelkmvous.value
     }


  if ((form.fraisreelvous.value == null || form.fraisreelvous.value == 0 || form.fraisreelvous.value.length == 0)) {
         form.vosfrais.value=""
  } else {
     if ((0.1*form.votresalaire.value)>form.fraisreelvous.value )      { 
         alert ("Vos frais reels ne sont pas interressants")
         form.vosfrais.value=""
     } else {
         form.vosfrais.value=form.fraisreelvous.value
     }   
  }
     if ((form.votresalaire.value == null || form.votresalaire.value.length == 0)) {
         return;
     } else {
         calculenbpart(form)
     }

}
}

function calculefraisconjoint(form){
     with (Math) {
     calculetableaufrais(form.nbkmconjoint,form.nbjoursconjoint,form.puissanceconjoint,form.fraisreelkmconjoint)
     form.fraisreelkmconjoint.value=floor(form.fraisreelkmconjoint.value*100)/100
     if (form.fraisnourconjoint[0].checked){         form.fraisrepasconjoint.value=floor((((form.nbjoursconjoint.value)*4.30)-(form.ticketrepasconjoint.value*form.nbjoursconjoint.value))*1000)/1000
form.fraisreelconjoint.value=form.fraisreelkmconjoint.value*1+form.fraisrepasconjoint.value*1
     } else {
           form.fraisrepasconjoint.value=""
           form.fraisreelconjoint.value=form.fraisreelkmconjoint.value
     }


  if ((form.fraisreelconjoint.value == null || form.fraisreelconjoint.value == 0 || form.fraisreelconjoint.value.length == 0)) {
         form.fraisconjoint.value=""
  } else {

     if ((0.1*form.salaireconjoint.value)>form.fraisreelconjoint.value ) { 
         alert ("Les frais reels pour le conjoint ne sont pas interressants")
         form.fraisconjoint.value=""
    } else {
        form.fraisconjoint.value=form.fraisreelconjoint.value
    }   
  }
    if ((form.salaireconjoint.value == null || form.salaireconjoint.value.length == 0)) {
        return;
    } else {
        calculenbpart(form)
    }
}
} 

function calculeimpot(form) { 
     with (Math) {
    reduc(form)
    if ((form.votresalaire.value == null || form.votresalaire.value.length == 0) ||
        (form.nbpart.value == null || form.nbpart.value.length == 0)) {
        return;
    }

    if (!checkNumber(form.votresalaire, 1, 10000000, "Votre salaire")) {
        form.apayer.value = "pas de calcul";
        return;
    }

     if ((form.vosfrais.value == null || form.vosfrais.value.length == 0)) {
        vosdixpourcent = floor(form.votresalaire.value/10)
     } else {
        vosdixpourcent = floor(form.vosfrais.value)
    }
    if (vosdixpourcent < 421) { 
        vosdixpourcent=421
    }
    if (vosdixpourcent > form.votresalaire.value) { 
        vosdixpourcent=form.votresalaire.value
    } 
    if (vosdixpourcent > 14157) { 
        vosdixpourcent=14157
    }
    form.vousmoinsdix.value = floor(form.votresalaire.value - vosdixpourcent)

 if (form.salaireconjoint.value == null || form.salaireconjoint.value.length == 0) {
     form.conjointmoinsdix.value = ""
} else {
     if ((form.fraisconjoint.value == null || form.fraisconjoint.value.length == 0)) {
        conjointdixpourcent = floor(form.salaireconjoint.value/10)
     } else {
        conjointdixpourcent = floor(form.fraisconjoint.value)
    }
    if (conjointdixpourcent < 421) { 
        conjointdixpourcent=421
    }
    if (conjointdixpourcent > form.salaireconjoint.value) { 
        conjointdixpourcent=form.salaireconjoint.value
    } 
    if (conjointdixpourcent > 14157) { 
        conjointdixpourcent=14157
    }
    form.conjointmoinsdix.value = floor(form.salaireconjoint.value - conjointdixpourcent)
  }  


form.revenuimposable.value=floor(form.vousmoinsdix.value/1+form.conjointmoinsdix.value/1
-form.chargesadeduc2.value/1)

    form.quotient.value=floor(form.revenuimposable.value/form.nbpart.value)

     if ((form.quotient.value<=5963)) {
     form.baseimpo.value = 0
     } 
     if ((form.quotient.value>5963&&form.quotient.value<=11896)) {
     form.baseimpo.value = (form.revenuimposable.value*0.055)-(327.97*form.nbpart.value)
     } 
     if ((form.quotient.value>11896&&form.quotient.value<=26420)) {
     form.baseimpo.value = (form.revenuimposable.value*0.14)-(1339.13*form.nbpart.value)
     } 
     if ((form.quotient.value>26420&&form.quotient.value<=70830)) {
     form.baseimpo.value = (form.revenuimposable.value*0.30)-(5566.33*form.nbpart.value)
     } 
     if ((form.quotient.value>70830)) {
     form.baseimpo.value =(form.revenuimposable.value*0.41)-(13357.63*form.nbpart.value)
     } 
     if ((form.baseimpo.value<878)) {
           form.baseimpo.value =floor(form.baseimpo.value -(439-(form.baseimpo.value/2)))
     } else {
          form.baseimpo.value =floor(form.baseimpo.value)
     } 
}
    reduc(form)
}

function chargeadeduc(form)
{
    with (Math) {
        if (form.GI.value>0) {   
              if (form.GI.value>5698) {
                   form.GIok.value=5698
              } else {
                    form.GIok.value=form.GI.value
              }
        } else {
             form.GIok.value=""
        }
        if (form.GJ.value>0) {
              if (form.GJ.value>5698) {
                   form.GJok.value=5698
              } else {
                    form.GJok.value=form.GJ.value
              }
        } else {
             form.GJok.value=""
        }
        if (form.GP.value>0) {
             form.GPok.value=form.GP.value            
        } else {
             form.GPok.value=""
        }
        form.chargesadeduc.value=floor(form.GIok.value)+floor(form.GJok.value)+floor(form.GPok.value)
        if (form.chargesadeduc.value>0) {
             form.chargesadeduc2.value=form.chargesadeduc.value
             calculeimpot(form)            
        } else {
             form.chargesadeduc.value=""
             form.chargesadeduc2.value=""
        }

    }
}



function reduc(form)
{
    with (Math) {
    if (form.donUD.value == null || form.donUD.value.length == 0)  {
         form.donUDOK.value=""
         form.donUDreduc.value=0
    } else {
         if (form.donUD.value>513) {
              form.donUDOK.value=513
         } else {
             form.donUDOK.value=form.donUD.value
         }
         form.donUDreduc.value=floor(0.99+(0.75*form.donUDOK.value))
    }
    if (form.donUF.value == null || form.donUF.value.length == 0)  {
         form.donUFOK.value=""
         form.donUFreduc.value=0
    } else {
         if (form.donUF.value>(0.20*form.revenuimposable.value)) {
              form.donUFOK.value=floor(0.20*form.revenuimposable.value)
         } else {
             form.donUFOK.value=form.donUF.value
         }
         form.donUFreduc.value=floor(0.99+(0.66*form.donUFOK.value))
    }
    if (form.fraisgardeun.value == null || form.fraisgardeun.value.length == 0)  {
         form.fraisgardeunOK.value=""
         form.fraisgardeunreduc.value=0
    } else {
        if (form.fraisgardeun.value>2300) {
             form.fraisgardeunOK.value=2300
         } else {
             form.fraisgardeunOK.value=form.fraisgardeun.value
         }
         form.fraisgardeunreduc.value=floor(0.99+(0.50*form.fraisgardeunOK.value))
    }
    if (form.fraisgardedeux.value == null || form.fraisgardedeux.value.length == 0)  {
         form.fraisgardedeuxOK.value=""
         form.fraisgardedeuxreduc.value=0
    } else {
        if (form.fraisgardedeux.value>2300) {
             form.fraisgardedeuxOK.value=2300
         } else {
             form.fraisgardedeuxOK.value=form.fraisgardedeux.value
         }
         form.fraisgardedeuxreduc.value=floor(0.99+(0.50*form.fraisgardedeuxOK.value))
    }
  if (form.etatcivil[1].checked){
     if (form.nbacharge[0].checked){
         seuil=16000
     } else {
         if (form.nbacharge[1].checked){
            seuil=16400
         } else {
             if (form.nbacharge[2].checked){
                seuil=16800
             } else {
                seuil=16800+(400*((form.nbpart.value)-3))
             }
          }
     }
 } else {
     if (form.nbacharge[0].checked){
         seuil=8000
     } else {
         if (form.nbacharge[1].checked){
            seuil=8400
         } else {
             if (form.nbacharge[2].checked){
                seuil=8800
             } else {
                seuil=8800+(400*((form.nbpart.value)-2))
             }
          }
     }
}
    if (form.depenses.value == null || form.depenses.value.length == 0)  {
         form.depensesOK.value=""
         form.depensesreduc.value=0
    } else {
         if (form.depenses.value>seuil) {
              form.depensesOK.value=seuil
         } else {
             form.depensesOK.value=form.depenses.value
         }
         form.depensesreduc.value=floor(0.99+(0.25*form.depensesOK.value))
    }
    if (form.prestcomp.value == null || form.prestcomp.value.length == 0)  {
         form.prestcompOK.value=""
         form.prestcompreduc.value=0
    } else {
         if (form.prestcomp.value>30500) {
              form.prestcompOK.value=30500
         } else {
             form.prestcompOK.value=form.prestcomp.value
         }
         form.prestcompreduc.value=floor(0.99+(0.25*form.prestcompOK.value))
    }
    if (form.interetemploi.value == null || form.interetemploi.value.length == 0)  {
         form.interetemploiOK.value=""
         form.interetemploireduc.value=0
    } else {
         if (form.interetemploi.value>12000) {
              form.interetemploiOK.value=12000
         } else {
             form.interetemploiOK.value=form.interetemploi.value
         }
         form.interetemploireduc.value=floor(0.99+(0.50*form.interetemploiOK.value))
    }
    if (form.enfantsEA.value == null || form.enfantsEA.value.length == 0)  {
        form.enfantsEAreduc.value=0
    } else {
        form.enfantsEAreduc.value=form.enfantsEA.value*61
    }
    if (form.enfantsEC.value == null || form.enfantsEC.value.length == 0)  {
        form.enfantsECreduc.value=0
    } else {
        form.enfantsECreduc.value=form.enfantsEC.value*153
    }
    if (form.enfantsEF.value == null || form.enfantsEF.value.length == 0)  {
        form.enfantsEFreduc.value=0
    } else {
        form.enfantsEFreduc.value=form.enfantsEF.value*183
    }
    if (form.teledeclar[0].checked){
        form.teledeclarreduc.value=20 
    } else {
        form.teledeclarreduc.value=0
    }

form.totalreduc.value=(floor(form.donUDreduc.value)+floor(form.donUFreduc.value)
+floor(form.fraisgardeunreduc.value)+floor(form.fraisgardedeuxreduc.value)
+floor(form.depensesreduc.value)+floor(form.prestcompreduc.value)+floor(form.interetemploireduc.value)
+floor(form.enfantsEAreduc.value)+floor(form.enfantsECreduc.value)
+floor(form.enfantsEFreduc.value)+floor(form.teledeclarreduc.value))

form.totalreduc2.value=form.totalreduc.value
    form.apayer.value = floor(form.baseimpo.value)-floor(form.totalreduc2.value)
   if (form.apayer.value<0.001) form.apayer.value=0;
}
}

function effacer(form)
{
    form.votresalaire.value = "";
    form.salaireconjoint.value = "";
    form.nbpart.value = "";
    form.fraisgardeun.value="";
    form.fraisgardedeux.value="";
    form.depensesacquisition.value="";
    form.interetemploi.value="";
}
function AfficheFormuleReelVous(form)
{
     with (Math) {

 var NouvelleFenetre = window.open("","","width=350,height=325")

  NouveauContenu = '<html><head><title>Formule de calcul de vos frais r&eacuteels</title></head><body background="bgnd_too.jpg" text="#23238E"'+
        'link="#3232CD" vlink="#236B8E" alink="#32CD99" ><center>'+
        '<h2>Formule de calcul<br>de vos frais r&eacute;els</h2>'

  NouveauContenu +='<b>Trajet domicile-travail : </b><br>' + form.nbjoursvous.value + 
' jours x ((' + form.nbkmvous.value + ' km x ' 

      calculetableaufrais(form.nbkmvous,form.nbjoursvous ,form.puissancevous,form.fraisreelkmvous)
      form.fraisreelkmvous.value=floor(form.fraisreelkmvous.value*100)/100
  NouveauContenu +=   ') = '  + form.fraisreelkmvous.value + '<br><br>'

     if (form.fraisnourvous[0].checked){          
  NouveauContenu +=   '<b>Frais de repas :</b><br><br>du 1/01/2009 au 31/12/2009<br>' + form.nbjoursvous.value + ' jours x ( 4.30 - '+ form.ticketrepasvous.value + ' [Ticket Repas] ) = ' 
 NouveauContenu +=  floor((100*form.nbjoursvous.value*(4.30-form.ticketrepasvous.value)))/100 +'<br>'
     }
 NouveauContenu +='<form><input type=button value="Fermer" onClick="self.close()"></form>'+
        '</body></html>'
 NouvelleFenetre.document.write(NouveauContenu)
}
}
function AfficheFormuleReelConjoint(form)
{
     with (Math) {

 var NouvelleFenetre = window.open("","2","width=350,height=325")

  NouveauContenu = '<html><head><title>Formule de calcul des frais r&eacuteels du conjoint</title></head><body background="bgnd_too.jpg" text="#23238E"'+
        'link="#3232CD" vlink="#236B8E" alink="#32CD99" ><center>'+
        '<h2>Formule de calcul<br>des frais r&eacute;els du conjoint</h2>'

  NouveauContenu +='<b>Trajet domicile-travail : </b><br>' + form.nbjoursconjoint.value + 
' jours x ((' + form.nbkmconjoint.value + ' km x ' 

      calculetableaufrais(form.nbkmconjoint,form.nbjoursconjoint ,form.puissanceconjoint,form.fraisreelkmconjoint)
      form.fraisreelkmconjoint.value=floor(form.fraisreelkmconjoint.value*100)/100
  NouveauContenu +=   ') = '  + form.fraisreelkmconjoint.value + '<br><br>'

     if (form.fraisnourconjoint[0].checked){          
NouveauContenu +=   '<b>Frais de repas :</b><br><br>du 1/01/2009 au 31/12/2009<br>' + form.nbjoursconjoint.value + ' jours x ( 4.30 - '+ form.ticketrepasconjoint.value + ' [Ticket Repas] ) = ' 
NouveauContenu +=  floor((100*form.nbjoursconjoint.value*(4.30-form.ticketrepasconjoint.value)))/100 +'<br>'
     }

 NouveauContenu +='<form><input type=button value="Fermer" onClick="self.close()"></form>'+
        '</body></html>'
 NouvelleFenetre.document.write(NouveauContenu)
}
}
// -->

