// JavaScript Document
function nbrTotalRemb(Form){
	
	var nbrTotalRemb=(Form.nbrRembAn.value)*(Form.validite.value);
	return nbrTotalRemb;
	}
	
function nbrRembDiffere(Form){
	
	var nbrRembDiffereVar=(Form.differe.value/12)*(Form.nbrRembAn.value);
	return nbrRembDiffereVar;
	}
	
function montCredit(Form) {
var montCreditVar=parseFloat(Form.montCreditReel.value +"."+ Form.montCreditDecim.value);
Form.montCredit.value=montCreditVar;
}
	
function montantGranti(Form){
	Form.qGaranti.value=80;
	Form.montantGranti.value=Form.montCredit.value*(Form.qGaranti.value/100);
	if(Form.montantGranti.value<=50000000){
		if(Form.montantGranti.value<4000000) {
		//Le montant de garantie FGAR doit être superieur à 4 000 000,00 DA
		alert("Le crédit bancaire sollicité doit être superieur ou égal à 5 000 000,00 DA");
		return 0;
		
		} else return 1;
		
		} else { Form.montantGranti.value=50000000;
					Form.qGaranti.value= (Form.montantGranti.value * 100) / Form.montCredit.value;
					if(Form.qGaranti.value<10) {
						//Le Taux de grantie FGAR doit être superieur à 10 %
						alert("Le crédit bancaire sollicité doit être inferieur ou égal à 500 000 000,00 DA");
						return 0;
						} else 	return 1;
		} 
}

function primHTInit(Form) {
	var primHT=(0.01*Form.montantGranti.value)/Form.nbrRembAn.value;
	return primHT;
}

function amorti(Form) {
	var amorti=Form.montantGranti.value/((Form.nbrRembAn.value)*(Form.validite.value-(Form.differe.value/12)));
	return amorti;

}


function calculfraisTotalFGAR(Form) {
	if(!initForm(Form)) return 0;
	var nbrTotalRembVar=nbrTotalRemb(Form);
	var amortiVar=amorti(Form);
	var tabGaranti= new Array();
	tabGaranti["primHT"]=new Array(nbrTotalRembVar);
	tabGaranti["amortis"]=new Array(nbrTotalRembVar);
	tabGaranti["soldCredit"]=new Array(nbrTotalRembVar);
	
	// Initialisation du tableau Amortis
	var nbrRembDiffereVar=nbrRembDiffere(Form);
	var y=0;
	for(var i=0;i<nbrTotalRembVar;i++) {
	if (y<nbrRembDiffereVar){
	tabGaranti["amortis"][i]=0;
	y++;
	}
	else tabGaranti["amortis"][i]=amortiVar; 
	
	}
	
	// Initialisation du tableau soldCredit
	tabGaranti["soldCredit"][0]=Form.montantGranti.value;
		for(var i=1;i<nbrTotalRembVar;i++)
		{
			tabGaranti["soldCredit"][i]=(tabGaranti["soldCredit"][i-1]-tabGaranti["amortis"][i-1]);
		}
		
		// Initialisation du tableau primHT
		
		var constPrim=0.01 *(1/Form.nbrRembAn.value);
		
			for(var i=0;i<nbrTotalRembVar;i++)
		{
			tabGaranti["primHT"][i]=tabGaranti["soldCredit"][i]*constPrim;
		}
		
		// Total primHT
		var totalPrimHT
		totalPrimHT=0;
		for(var i=0;i<nbrTotalRembVar;i++)
		{
			totalPrimHT+=tabGaranti["primHT"][i];
		}
		
		// TVA primHT
		var TVAPrim;
		TVAPrim=totalPrimHT*(Form.tva.value/100);
		
		// Total primTTC
		
		var totalPrimTTC;
		totalPrimTTC=totalPrimHT+TVAPrim;
		
		Form.totalPrimTTC.value=totalPrimTTC;
		
		// TOTAL DES FRAIS FGAR
		Form.fraisTotalFGAR.value=parseFloat(Form.totalPrimTTC.value)+parseFloat(Form.fraisEtude.value);
		
			return 1;
}

function initForm(Form) {
	montCredit(Form);
	if (montantGranti(Form))
	return 1;
	else return 0;

	
}


function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	
	if(x[1]!=null) {if(x[1].length==1) x[1]+='0';}
	
	x2 = x.length > 1 ? '.' + x[1] : '.00';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ' ' + '$2');
	}
	return x1 + x2;
}	


function addSeparatorsNF(nStr, inD, outD, sep)
{
	nStr += '';
	var dpos = nStr.indexOf(inD);
	var nStrEnd = '';
	if (dpos != -1) {
		nStrEnd = outD + nStr.substring(dpos + 1, nStr.length);
		nStr = nStr.substring(0, dpos);
	}
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(nStr)) {
		nStr = nStr.replace(rgx, '$1' + sep + '$2');
	}
	return nStr + nStrEnd;
}




function Afficher(Form) {
	var resultat_HTML;
	
	////// Arrondi deux chiffres après la virgule
	var Round_dmontCredit=Math.round(parseFloat(Form.montCredit.value)*100)/100;
	var Round_qGaranti=Math.round(parseFloat(Form.qGaranti.value)*100)/100;
	var Round_montantGranti=Math.round(parseFloat(Form.montantGranti.value)*100)/100;
	var Round_totalPrimTTC=Math.round(parseFloat(Form.totalPrimTTC.value)*100)/100;
	var Round_fraisTotalFGAR=Math.round(parseFloat(Form.fraisTotalFGAR.value)*100)/100;
	

/*var Prix=Round_fraisTotalFGAR+'';
var j=0,i=0,nbr_dec=0;
var Form_Prix='';
while (i<Prix.length && Prix[i]!='.') i++;
if (i==Prix.length) {// la vergule n'existe pas
	Form_Prix[j]='0';
	Form_Prix[j+1]='0';
	Form_Prix[j+2]='.';
	j=j+3;
	var k=0;
	for (i=0;i<Prix.length;i++){
		if (k==3){ Form_Prix[j]=' '; j++; k=0;}
		Form_Prix[j]=Prix[i]; j++;
		k++;
		}
	}
	else {// la virgule existe
	if(Prix[i+2]!=null) {Form_Prix[j]=Prix[i+2]; nbr_dec=2;} else {Form_Prix[j]='0';nbr_dec=1;}
	Form_Prix[j+1]=Prix[i+1];
	Form_Prix[j+2]='.';
	j=j+3;
	var k=0;
	for (i=0;i<Prix.length-nbr_dec;i++){
		if (k==3){ Form_Prix[j]=' '; j++; k=0;}
		Form_Prix[j]=Prix[i]; j++;
		k++;
		}
	}

//Round_fraisTotalFGAR=Prix['3'];*/

	//Math.round(variable*100)/100
	
	resultat_HTML ='<table width="100%" border="0"  align="center" cellpadding="0" cellspacing="0" class="cadre">';
	resultat_HTML += '<tr  >';
	resultat_HTML += '<td colspan="2" class="Ligne-entete" > &nbsp;Résultats de la simulation </td >';
	resultat_HTML += '</tr >';
	resultat_HTML += '<tr >';
	resultat_HTML +='<td class="resultat" >Montant du cr&eacute;dit sollicit&eacute;</td>';
	resultat_HTML +='<td class="resultat">'+addSeparatorsNF(addCommas(Round_dmontCredit),'.', ',', ' ')+' DA </td>';
	resultat_HTML +='</tr>';
	resultat_HTML +='<tr  >';
	resultat_HTML +='<td class="resultat">Taux de la garantie FGAR </td>';
	resultat_HTML +='<td  class="resultat">'+addSeparatorsNF(addCommas(Round_qGaranti),'.', ',', ' ')+' </td>';
	resultat_HTML +='</tr><tr>';
	resultat_HTML +='<td class="resultat">Montant de la garantie FGAR</td>';
	resultat_HTML +='<td class="resultat">'+addSeparatorsNF(addCommas(Round_montantGranti), '.', ',', ' ')+' DA</td> </tr> <tr>';
	resultat_HTML +='<td class="resultat"><b>Commission d&rsquo;engagement FGAR </b></td>';
	resultat_HTML +='<td class="resultatLastRight"><b>'+addSeparatorsNF(addCommas(Round_totalPrimTTC), '.', ',', ' ')+' DA</b></td>';
	resultat_HTML +='</tr> ';
	/*resultat_HTML +='<td class="resultat">Frais d&rsquo;&eacute;tude du dossier (TTC)</td>';
	resultat_HTML +=' <td class="resultatRight">'+addSeparatorsNF(addCommas(Form.fraisEtude.value), '.', ',', ' ')+' DA</td>';
	resultat_HTML +='</tr> <tr>';
	resultat_HTML +=' <td class="resultatLast"><b>Total</b> (Commission d&rsquo;engagement et Frais d&rsquo;&eacute;tude)(TTC)</td>';
	resultat_HTML +='<td class="resultatLastRight"><b>'+addSeparatorsNF(addCommas(Round_fraisTotalFGAR), '.', ',', ' ')+' DA<b></td>';
	resultat_HTML +='</tr>';*/
	resultat_HTML +='</table>';
	
	var place=document.getElementById('place');
	place.innerHTML=resultat_HTML;
	
}
      
    
    
      
      
    
      
      

