Files
caotek_monaa/caotek_mesavoirs/static/js/calcul_cv.js
2017-07-22 11:25:44 +02:00

120 lines
3.4 KiB
JavaScript

/*
*
* CONTROLES DE REMPLISSAGE DE CHAMP
*
*/
var CACHER = 'fast';
var AFFICHER = 'slow';
// Saisie de Revenu Fiscal de Référence
function revenuCheck(){
if(document.getElementById("rfr").value.length == 0){
document.getElementById("rfr").value = 0;
}
}
// Choix du montant de la mensualité
function mt_mens(){
document.getElementById("mtc").selectedIndex = document.getElementById("mtm").selectedIndex;
}
// Affichage des résultats
function resultat(){
$("#res").hide(CACHER);
$("#res").show(AFFICHER);
var rfr = document.getElementById("RFR");
var fisc = document.getElementById("FISC");
var tb = document.getElementById("TB");
var mtm = document.getElementById("MTM");
var mtc = document.getElementById("MTC");
var nbm = document.getElementById("NBM");
var tot = document.getElementById("TOT");
rfr.innerHTML = document.getElementById("rfr").value + " €";
fisc.innerHTML = document.getElementById("fisc").value;
tb.innerHTML = document.getElementById("tb").innerHTML;
mtm.innerHTML = document.getElementById("mtm").value + " €";
mtc.innerHTML = document.getElementById("mtc").value + " €";
nbm.innerHTML = document.getElementById("nbm").value + " mois";
// total = (Mt mensuel * Nb mensualités)+(Mt subv * Nb mensualités)
tot.innerHTML = (parseFloat(mtm.innerHTML)*parseInt(nbm.innerHTML)) + (parseFloat(mtc.innerHTML)*parseInt(nbm.innerHTML)) + " €";
}
/*
*
* XHTTP REQUEST
*
*/
var xhr = new XMLHttpRequest();
// Étape 1
function etape1(){
var rfr = document.getElementById("rfr").value.replace(",",".");
var fisc = parseFloat(document.getElementById("fisc").value);
var hand = document.getElementById("hand").value;
var mtrente = document.getElementById("mtrente").value;
// Test pour voir si rfr n'est pas un nombre
if(isNaN(rfr)){
document.getElementById("erreur1").style.display="block";
} else {
rfr = parseFloat(rfr);
// Test pour voir si c'est un nombre négatif
if(rfr<0){
document.getElementById("erreur1").style.display="block";
} else {
document.getElementById("erreur1").style.display="none";
xhr.open("GET", "/calcul_cv/E1CV/"+rfr+"/"+fisc+"/"+hand+"/"+mtrente,true);
xhr.onreadystatechange = c1;
xhr.send(null);
// On cache tous les blocs (etapes 2 et 3)
$("#etap2").hide(CACHER);
$("#res").hide(CACHER);
}
}
}
/*
*
* FONCTION CALLBACK
*
*/
function c1(){
if(xhr.readyState == 4){
var res = eval('(' + xhr.responseText + ')');
// On affiche l'étape 2
$("#etap2").show(AFFICHER);
// On affiche le taux de bonification
document.getElementById("tb").innerHTML = res.taux_bonif + " %";
// On regarde si le taux de bonif est différent de 0 afin de remplir le <select>
var mtm = document.getElementById("mtm");
var nbm = document.getElementById("nbm");
var mchqvac = document.getElementById("mchqvac");
document.getElementById("ptb").innerHTML = "";
mtm.innerHTML = "";
mtc.innerHTML = "";
if(res.taux_bonif != "0"){
mtm.style.display = "block";
nbm.style.display = "block";
mchqvac.style.display = "block";
// On remplit le select
for(var i = 0; i < res.montant.length; i++){
mtm.innerHTML += "<option>"+res.montant[i][0]+"</option>";
mtc.innerHTML += "<option>"+res.montant[i][1]+"</option>";
}
} else {
mtm.style.display = "none";
nbm.style.display = "none";
mchqvac.style.display = "none";
document.getElementById("ptb").innerHTML = "Vous ne pouvez pas commander de chèques vacances.";
}
}
}