function f_RemplacerVirgule(strNombre)
// **************************************************
//  fonction 		: f_RemplacerVirgule
//	objet				: Remplace la virgule par un point
//							  pour obtenir un nombre
//	creation 		: 05/05/2006
//	parametres 	: strNombre : nombre a verfier
//	modification:
// **************************************************
{
	if (strNombre.indexOf(",") > -1)
	{
		var intPosVirgule = strNombre.indexOf(",");
		var strPartieEntiere = strNombre.substring(0, intPosVirgule);
		var strPartieDecimale = strNombre.substring(intPosVirgule + 1, strNombre.length);
		strNombre = strPartieEntiere + "." + strPartieDecimale;
	}
	return eval(strNombre);
}

function f_FormaterNombre(strNombre)
// **************************************************
//  fonction 		: f_FormaterNombre
//	objet				: Formater un nombre sous la forme nnnn.nn
//	creation 		: 05/05/2006
//	parametres 	: strNombre : nombre a formater
//	modification:
// **************************************************
{
	var strPartieDecimale;
	strNombre = strNombre.toString();
	
	if (strNombre.indexOf(".") < 0)
	{
		strNombre += ".00";
	}
	else
	{
		strPartieDecimale = strNombre.substring(strNombre.lastIndexOf("."));
		
		if (strPartieDecimale.length <= 2)
		{
			strNombre += "0";
		}
		else
		{
			if (strPartieDecimale.length > 3)
			{
				strNombre = strNombre.substring(0, strNombre.length + 3 - strPartieDecimale.length);
			}	
		}
	} 
	return strNombre;
}

function f_CalculerMontantMensualite(intMontantPret, intDureePret, intTauxPret, intTauxAssurance, objResultat)
// **************************************************
//  fonction 		: f_CalculerMontantMensualite
//	objet				: Calcule le montant d'une mensualite
//								selon le montant, la duree
//								et le taux du pret
//	creation 		: 15/05/2006
//	parametres 	: intMontantPret : montant du pret
//				intDureePret : duree du pret
//				intTauxPret : taux du pret
//				intTauxAssurance : taux annuel d'assurance
//				objResultat : objet contenant le résultat
//	modification: 06/06/2006 - Ajout assurance
// **************************************************
{
var intMontantMensualite = 0;
	intDureePret = intDureePret * 12;
	intTauxPret = intTauxPret / 1200;
	intTauxAssurance = intTauxAssurance / 1200;
	
	intMontantMensualite = intMontantPret * intTauxPret / (1 - (Math.pow(1 / (1 + intTauxPret), intDureePret)));
	intMontantMensualite += intMontantPret * intTauxAssurance; 
	intMontantMensualite = f_FormaterNombre(intMontantMensualite);
	objResultat.value = intMontantMensualite;
}

function f_CalculerCoutCredit(intMontantPret, intDureePret, intMensualite, objResultat)
// **************************************************
//  fonction 		: f_CalculerCoutCredit
//	objet				: Calcule le cout d'un credit
//								selon le montant du pret,
//								la mensualite et la duree
//	creation 		: 06/06/2006
//	parametres 	: intMontantPret : montant du pret
//				intDureePret : duree du pret
//				intMensualite : mensualite du pret
//				objResultat : objet contenant le résultat
//	modification:
// **************************************************
{
var intMontant = 0;
	intDureePret = intDureePret * 12;
	
	intMontant = intMensualite * intDureePret;
	intMontant -= intMontantPret;
	intMontant = f_FormaterNombre(intMontant);
	objResultat.value = intMontant;
}

function f_CalculerMontantCapital(intMontantMensualite, intDureePret, intTauxPret, objResultat)
// **************************************************
//  fonction 		: f_CalculerMontantCapital
//	objet				: Calcule le montant d'un capital
//								empruntable selon le montant
//								de la mensualite, la duree
//								et le taux du pret
//	creation 		: 16/05/2006
//	parametres 	: intMontantMensualite : montant de la mensualite
//				intDureePret : duree du pret
//				intTauxPret : taux du pret
//				objResultat : objet contenant le résultat
//	modification:
// **************************************************
{
var intMontantCapital = 0;
	intDureePret = intDureePret * 12;
	intTauxPret = intTauxPret / 1200;
	
	intMontantCapital = Math.round(intMontantMensualite * (Math.pow((1 + intTauxPret), intDureePret) - 1) / (100 * intTauxPret * Math.pow((1 + intTauxPret), intDureePret))) * 100;
	intMontantCapital = f_FormaterNombre(intMontantCapital);
	objResultat.value = intMontantCapital;
}

function f_CalculerMontantFondsGarantie(strTypePret, intMontantPret, objResultat)
// **************************************************
//  fonction 		: f_CalculerMontantFondsGarantie
//	objet				: Calcule le montant a verser
//								au fonds de garantie selon le
//								type de pret
//	creation 		: 05/05/2006
//	parametres 	: strTypePret : type du pret
//				intMontantPret : montant du pret
//				objResultat : objet contenant le résultat
//	modification: 27/06/06 - Nouveau calcul au 01/07/06
// **************************************************
{
var intMontantCalcule = 0;

if (strTypePret != '')
{
	if (strTypePret == 'std' || strTypePret =='cov' || strTypePret =='rel')
	// pret standard
	{
		if (eval(intMontantPret) >= 0)
		{
			intMontantCalcule = eval(intMontantPret * (0.8 / 100) + 200);
		}
	}

	// pret avec PEL
	if (strTypePret == 'pel')
	{
		if (eval(intMontantPret) >= 0)
		{
			if (eval(intMontantPret) <= 92000)
			{
				intMontantCalcule = eval(intMontantPret) * (1.5 / 100);
			}
		}
	}

	// pret avec CEL
	if (strTypePret == 'cel')
	{
		if (eval(intMontantPret) >= 0)
		{
			if (eval(intMontantPret) <= 23000)
			{
				intMontantCalcule = eval(intMontantPret) * (1.5 / 100);
			}
		}
	}
	intMontantCalcule = Math.round(intMontantCalcule * 100) / 100;
	}
	
	intMontantCalcule = f_FormaterNombre(intMontantCalcule);
	objResultat.value = intMontantCalcule;	
}

function f_CalculerFraisGarantie(strTypePret, intMontantPret, objResultat)
// **************************************************
//  fonction 		: f_CalculerFraisGarantie
//	objet				: Calcule le montant des frais de la garantie
//	creation 		: 05/05/2006
//	parametres 	: strTypePret : type du pret
//				intMontantPret : montant du pret
//				objResultat : objet contenant le résultat
//	modification: 27/06/06 - Nouveau calcul au 01/07/06
// **************************************************
{
	var intMontantCalcule = 0;
	
	if (strTypePret != '')
	{
		// pret standard
		if (strTypePret == 'std' || strTypePret == 'cov' || strTypePret == 'rel')
		{
			if (eval(intMontantPret) >= 0)
			{
				if (eval(intMontantPret) > 60000)
				{
					intMontantCalcule = 300;
				}
				else
				{
					if (eval(intMontantPret) >= 30000)
					{
						intMontantCalcule = eval(intMontantPret) * (0.5 / 100);
					}
					else
					{
						if (eval(intMontantPret) == 0)
						{
							intMontantCalcule = 0;
						}
						else
						{
							intMontantCalcule = 150;
						}
					}
				}	
			}
		}
	
		// pret PEL
		if (strTypePret == 'pel')
		{
			if (eval(intMontantPret) >= 0)
			{
				if (eval(intMontantPret) <= 92000)
				{
					if (eval(intMontantPret) == 0)
					{
						intMontantCalcule = 0;
					}
					else
					{
						intMontantCalcule = eval(intMontantPret) * (0.5 / 100);
					}
				}
			}
		}
	
	// pret CEL
		if (strTypePret == 'cel')
		{
			if (eval(intMontantPret) >= 0)
			{
				if (eval(intMontantPret) <= 23000)
				{
					if (eval(intMontantPret) == 0)
					{
						intMontantCalcule = 0;
					}
					else
					{
						intMontantCalcule = eval(intMontantPret) * (0.5 / 100);
					}
				}
			}
		}
		intMontantCalcule = Math.round((intMontantCalcule) * 100) / 100;
	}
	intMontantCalcule = f_FormaterNombre(intMontantCalcule);
	objResultat.value = intMontantCalcule;
}

function f_CalculerCaution() {
// **************************************************
//  fonction 		: f_CalculerCaution
//	objet				: Calcule le coût de la garantie
//							selon le type de pret
//	creation 		: 05/05/2006
//	parametres 	: strTypePret : type du pret
//								intMontantPret : montant du pret
//								objResultat : objet contenant le résultat
//	modification:
// **************************************************
}