// JavaScript Document
function validation (pArray, lang) 
	{
	err		 = "";
	try 
		{
		if (  pArray["IN"]  ) 
			{
			if ( !IsNumeric ( pArray["IN"] ) )  
				{
				if (lang=='en') 
					{
					err += "Please enter a valid value for the interest rate\n";
					}
				else
					{
					err += "Veuillez entrer une valeur valide pour le taux d'interet\n";
					}
				}
			if ( pArray["IN"] < 1 || pArray["IN"] > 30 )  
				{
				if (lang=='en') 
					{
					err += "Your interest rate must be within 1 to 30%\n";
					}
				else 
					{
					err += "Le taux d'interet doit se situer entre 1 et 30%\n";
					}
				}
			}
 		if (  pArray["Period"] ) 
			{
			if ( !IsNumeric ( pArray["Period"] ) ) 
				{
				if (lang=='en') 
					{
					err += "Please enter a valid value for the repayment term\n";
					}
				else 
					{
					err += "Veuillez entrer une valeur valid pour la periode d'amortissement\n";
					}
				}
			if (  pArray["Period"] <= 0 || pArray["Period"] > 99 ) 
				{
				if (lang=='en') 
					{
					err += "Your repayment term must be within 1 to 99 years\n";
					}
				else
					{
					err += "Votre periode d'amortissement doit se situer entre 1 et 99 ans\n";
					}
				}
			}
		if (  pArray["PrValue"] ) 
			{
			if ( !IsNumeric ( pArray["PrValue"] ) ) 
				{
				if (lang=='en') 
					{
					err += "Please enter a valid value for the amount of the mortgage\n";
					}
				else
					{
					err += "Veuillez entrer une valeur valide pour le montant de l'hypotheque\n";
					}
				}
			}
		if (  pArray["Pa"]  ) 
			{
			if ( !IsNumeric ( pArray["Pa"] ) ) 
				{
				if (lang=='en') 
					{
					err += "Please enter a valid value for the amount of the mortgage payments\n";
					}
				else
					{
					err += "Veuillez entrer une valeur valide pour le montant des versements hypothécaires\n";
					}
				} 
			else 
				{
				if ( pArray["Pa"]  <= 0 ) 
					{
					if (lang=='en') 
						{
						err += "Please enter a value higher than 0 for your mortgage payments\n";
						}
					else
						{
						err += "Veuillez entrer une valeur superieure a 0 pour vos versements hypothecaires\n";
						}
					}
				}
			}
		if ( err ) 
			{
			throw ( err );
			}
		} 
	catch  ( e ) 
		{
		alert ( e );
		}
	if ( err ) 
		{
		return false;
		}
	return true;
}


function IsNumeric(sText) 
	{
	var ValidChars = "-0123456789.";
	var IsNumber=true;
	var Char;
	for (i = 0; i < sText.length && IsNumber == true; i++) 
		{
		Char = sText.charAt(i);
		if (ValidChars.indexOf(Char) == -1) 
			{
			IsNumber = false;
			}
		}
	return IsNumber;
	}


function getPretHyopothecaire(Pa, IN, Period, PPay, lang) {
	if ( IN == "" ) 
		{
		IN = "-1";
		}
	var pArray = new Array()
	pArray["Pa"] = Pa;
	pArray["IN"] = IN;
	pArray["Period"] = Period;
	pArray["PPay"] = PPay;
	if ( validation ( pArray, lang ) )  
		{
		IN = IN / 100;
		IntRate = (Math.pow((1+IN/2),(2/PPay)) - 1);
		PrValue = ( Pa * (1 - Math.pow(1 + IntRate, -(Period*PPay))) ) / IntRate;
		document.forms.hypo.pret.value = Math.round(PrValue*100)/100;
		}
	}

function getVersementHyopothecaire(PrValue, IN, Period, PPay, lang) 
	{
	if ( IN == "" ) 
		{
		IN = "-1";
		}
	var pArray = new Array()
	pArray["PrValue"] = PrValue;
	pArray["IN"] = IN;
	pArray["Period"] = Period;
	pArray["PPay"] = PPay;
	if ( validation ( pArray, lang ) )  
		{
		IN = IN / 100;
		IntRate = (Math.pow((1+IN/2),(2/PPay)) - 1);
		Pa = (PrValue * IntRate) / (1 - Math.pow(1 + IntRate, -(Period*PPay)));
		document.forms.hypo.versement.value = Math.round(Pa*100)/100;
	}
}

function getPeriodeDamortissement(PrValue, IN, Pa, PPay, lang) 
	{
	if ( IN == "" ) 
		{
		IN = "-1";
		}
	var pArray = new Array()
	pArray["PrValue"] = PrValue;
	pArray["IN"] = IN;
	pArray["Pa"] = Pa;
	pArray["PPay"] = PPay;
	if ( validation ( pArray, lang ) )  
		{
		IN = IN / 100;
		IntRate = (Math.pow((1+IN/2),(2/PPay)) - 1);
		Period = ( ( Math.log ( -1 * ( (  ( PrValue * IntRate )  / Pa ) - 1 ) ) ) / ( Math.log ( 1 + IntRate ) ) ) / (PPay * -1);
		if ( isNaN ( Period ) ) 
			{
			Period = 0;
			}
		document.forms.hypo.ans.value = Math.round(Period*100)/100;
	}
}

