var xmlCredit; // global var to hold XML with credit details
var currency_disp;// global var to hold the currency symbol Euro, CHF etc. is to be loaded from xmlCredit xml


function loadXMLDoc(fname) {

var xmlDoc;
// code for IE
if (window.ActiveXObject) {
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.setProperty("SelectionLanguage", "XPath");
}

// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument) {
xmlDoc=document.implementation.createDocument("","",null);
}

else {
alert('Your browser cannot handle this script');
}

xmlDoc.async=false;
xmlDoc.load(fname);
return(xmlDoc);

}

function GetXpathValue( xmldoc, xp )
{

if(window.ActiveXObject)
{

return xmldoc.selectSingleNode(xp).text;
 }
 else
  if (document.implementation && document.implementation.createDocument) //Opera, FireFox
		{
	 var evaluator = new XPathEvaluator();
var nodes=evaluator.evaluate(xp, xmldoc, null, XPathResult.ANY_TYPE, null);
var rez=nodes.iterateNext().nodeValue;
 return rez;
			}
	return '';

}  // GetXpathValue

function CalcTEG( v_cost, nMonth )
{
	 var xp='Credit/VCost[(number(@min)<=number('+v_cost+')) and (number(@max)>=number('+v_cost+'))]/TEG[@month='+nMonth+']/text()';
   var TEG=GetXpathValue(xmlCredit, xp);
   return parseFloat(TEG);

}  // TEG

function cretid_disp_TR( v_cost, nMonth, selected_Month )
{
var veh_cost=parseFloat(v_cost);
var m=parseInt(nMonth);
var TEG=CalcTEG(veh_cost, nMonth);
var tx_nominal_mensuel=Math.pow( (1+TEG/100), 1/12)-1;
var tx_nominal_annuel=tx_nominal_mensuel*12;
var mens=veh_cost*tx_nominal_mensuel/(1-Math.pow(1/(1+tx_nominal_mensuel), m));
var total=mens*m;
var credit_cost=total-veh_cost;
var taux_debiteur=tx_nominal_mensuel*12*100;
var assurance_des_emprunteurs=(0.24/100)*v_cost*nMonth;
var mensualite_avec_assurance=mens+(assurance_des_emprunteurs/nMonth);


 if ( nMonth==selected_Month )
  {
 rez='<tr bgcolor="#CCCCCC">';
 }
 else
 {
var rez='<tr>';
	}

rez+='<td align="right"><span class="txt_color02">'+Math.round(veh_cost*100)/100+'&nbsp;'+currency_disp+'</span></td>';
rez+='<td align="right"><span class="txt_color02">'+m+'</span></td>';
rez+='<td align="right"><strong>'+mens.toFixed(2)+'&nbsp;'+currency_disp+'</strong></td>';
rez+='<td align="right">'+mensualite_avec_assurance.toFixed(2)+'&nbsp;'+currency_disp+'</td>'; // Column: "Mensualités avec assurance facultative" (mens with insurance) -> Change the calculation
rez+='<td align="right">'+taux_debiteur.toFixed(2)+'&nbsp;%</td>'; // Column: "Taux débiteur" -> Change the calculation
rez+='<td align="right">'+TEG.toFixed(2)+'&nbsp;%</td>';
rez+='<td align="right">'+credit_cost.toFixed(2)+'&nbsp;'+currency_disp+'</td>';
rez+='<td align="right">'+total.toFixed(2)+'&nbsp;'+currency_disp+'</td>';
rez+='<td align="right">'+assurance_des_emprunteurs.toFixed(2)+'&nbsp;'+currency_disp+'</td>'; // Column: "Assurance des emprunteurs" (insurance) -> Change the calculation
rez+='</tr>';
rez+='<tr><td colspan="9"><img src="/i/hrs/hr_gc.gif" alt="" width="100%" height="5" /></td></tr>';
return rez;


}  // cretid_disp_TR

function credit_disp_table_source(v_cost, selected_Month)
{
var maxfinance=parseFloat(GetXpathValue(xmlCredit, 'Credit/@maxfinance'));
if (v_cost>maxfinance)
{
	rez= '<p><font color=red>Attention&nbsp;! Montant maximum financ&#233;&nbsp;: '+maxfinance+'&nbsp;'+currency_disp+'</font>';
	return rez;
}

var rez='<table width="580" border="0" cellspacing="0" cellpadding="0">'+
          '<tr class="cond">'+
		   	    '<td colspan="9"><img src="/i/hrs/hr_blue.gif" alt="" width="100%" height="5" /></td>'+
          '</tr>'+
          '<tr class="cond">'+
            '<td colspan="9">'+
              '<label for="result">R&#233;sultat de votre simulation</label>'+
            '</td>'+
          '</tr>'+
				  '<tr class="cond">'+
            '<td align="right" valign="bottom" class="cond"><span class="txt_color02">Montant<br />'+'emprunt&#233;</span></td>'+
						'<td align="right" valign="bottom" class="cond"><span class="txt_color02">Dur&#233;e</span></td>'+
						'<td align="right" valign="bottom" class="cond">Mensualit&#233;<br />'+'hors<br />'+'assurance</span></td>'+
						'<td align="right" valign="bottom" class="cond">Mensualit&#233;<br />'+'avec<br />'+'assurance<br />'+'facultative</td>'+
						'<td align="right" valign="bottom" class="cond">Taux<br />'+'d&#233;biteur<br />'+'fixe</td>'+
						'<td align="right" valign="bottom" class="cond">TAEG</td>'+
            '<td align="right" valign="bottom" class="cond">Co&#251;t total<br />'+'du cr&#233;dit<br />'+'hors<br />'+'assurance</td>'+
            '<td align="right" valign="bottom" class="cond">Montant<br />'+'total d&#251;</td>'+
            '<td align="right" valign="bottom" class="cond">Assurance<br />'+'des<br />'+'emprunteurs</td>'+
          '</tr>';

rez+=cretid_disp_TR(v_cost, 12, selected_Month);
rez+=cretid_disp_TR(v_cost, 24, selected_Month);
rez+=cretid_disp_TR(v_cost, 36, selected_Month);
rez+=cretid_disp_TR(v_cost, 48, selected_Month);
rez+=cretid_disp_TR(v_cost, 60, selected_Month);
rez+=cretid_disp_TR(v_cost, 72, selected_Month);
rez+='</table>';
	return rez;
}  // credit_disp_table_source

function BuildTable()
{
  var url='/xml/credit_fr_01.xml';  // path to credit details XML file
  xmlCredit=loadXMLDoc(url);
  if ( xmlCredit==null )
  {
 	alert('XML processing error.');
 	return '';
 }

currency_disp=GetXpathValue(xmlCredit,'Credit/@currency_disp');

var vCost=parseFloat(document.getElementById("credit_amount").value);
var nMonth=parseInt(document.getElementById("credit_duration").value);
var s= credit_disp_table_source(vCost, nMonth);
document.getElementById("credit_disp_table").innerHTML=s;
}  // BuildTable

try { _gat._getTracker("UA-13082643-1")._trackPageview(); } catch (err) { }
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

