// JavaScript Document

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

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];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


function TesteNummer(Eingabe, Min, Max, Meld)
{
   var Zeichen, String = "";
   var i, Wert  = 0;

   Meld = Meld + " a des donn&eacute;es invalides: " + Eingabe.value;

   String = Eingabe.value;
   for (i = 0; i < String.length; i++) {
      Zeichen = String.substring(i, i + 1);
      if ((Zeichen < "0" || "9" < Zeichen) && Zeichen != '.') {
         alert(Meld);
         return false;
      }
   }
   Wert = parseFloat(String)
   if (Wert < Min || Max < Wert) {
      alert(Meld + ". Valeurs entre: [" + Min + "-" + Max + "]");
      return false;
   }
   Eingabe.value = String;
   return true;
}

function BerechneFeld(Eingabe)
{
   if (Eingabe.value != null && Eingabe.value.length != 0) {
	   Eingabe.value = "" + eval(Eingabe.value);
   }
   BerechneForm(Eingabe.form);
}

function BerechneForm(form)
{
   var i, j = 0;
   var exp  = 1;
   
   var z, p = 0;
   var exp1  = 1;


   if ((form.Duree.value == null || form.Duree.value.length == 0) ||
       (form.Zins.value   == null || form.Zins.value.length   == 0) ||
       (form.Zins2.value   == null || form.Zins.value.length   == 0) ||
       (form.Montant.value == null || form.Montant.value.length == 0)) {
      return;
   

   }

   if (!TesteNummer(form.Duree, 1, 480, "Laufzeit (Duree)") ||
       !TesteNummer(form.Zins, .001, 99, "Effektiver Jahreszins") ||
       !TesteNummer(form.Zins2, .001, 99, "Effektiver Jahreszins") ||
       !TesteNummer(form.Montant, 5000, 150000, "Montant")) {
      form.Rate.value = "Invalide";
      form.Rate2.value = "Invalide";
      return;
   }

   i = form.Zins.value;
   if (i > 1.0) {
      i = i / 100.0;
      form.Zins.value = i;
   }
   
   z = form.Zins2.value;
   if (z > 1.0) {
      z = z / 100.0;
      form.Zins2.value = z;

   }
   /*
   i /= 12;

   for (j = 0; j < form.Duree.value; exp = exp * (1 + i), j++);
   form.Rate.value = Math.round((form.Montant.value * exp * i) / (exp - 1)*1000)/1000;
      
   z /= 12;

   for (p = 0; p < form.Duree.value; exp1 = exp1 * (1 + z), p++);
   initial = (form.Montant.value * exp1 * z) / (exp1 - 1);
   form.Rate2.value = Math.round(initial*1000)/1000;
   reste =   Math.abs(Math.round((form.Rate2.value - Math.round(initial))*100)/100);
   alert(Math.round(initial)+reste);
   //form.Rate2.value = Math.round(initial)+reste;
   */
    f = 9.00/100;
    g = 13.95/100;
    h = 9/100;

  
    i = 9.00/100;
    j = 13.95/100;
    var z = 9/100;
    var r= 1/12; 
    var a=1/0.05  
    
    var mensualites = form.Duree.value;
    var emprunt = form.Montant.value;
    var cout = 0;
    var cout2 = 0;
    var cout1 = 0; 
    
    
    
   for (var m = 0; m <= mensualites; m++)
   cout = cout+((emprunt-(m*emprunt/mensualites))*(Math.pow(1+i,r)-1));
   cout2 = cout+((emprunt-(m*emprunt/mensualites))*(Math.pow(1+j,r)-1));
   cout1 = cout+((emprunt-(m*emprunt/mensualites))*(Math.pow(1+z,r)-1));

   
   mensual=Math.round(a*emprunt*(Math.pow(1+i,r)-1)*Math.pow(1+i,(mensualites*r))/(Math.pow(1+i,(mensualites*r))-1))/a;
   mensual2=(Math.round(a*emprunt*(Math.pow(1+j,r)-1)*Math.pow(1+j,(mensualites*r))/(Math.pow(1+j,(mensualites*r))-1))/a);
   mensual1=Math.round(a*emprunt*(Math.pow(1+z,r)-1)*Math.pow(1+z,(mensualites*r))/(Math.pow(1+z,(mensualites*r))-1))/a;


   interet = Math.round(a*(mensual*mensualites-emprunt))/a;
   interet2 = Math.round(a*(mensual2*mensualites-emprunt))/a;
   interet1 = Math.round(a*(mensual1*mensualites-emprunt))/a;

 
   solde= Math.round(a*mensual*mensualites)/a;
   solde2= Math.round(a*mensual2*mensualites)/a;
   solde1= Math.round(a*mensual1*mensualites)/a;
   
   form.Rate2.value = mensual2;
   form.Rate.value = mensual;
   }


function LoescheForm(form)
{
   form.Duree.value = "";
   form.Zins.value   = "36";
   form.Montant.value = "";
}
function MM_nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}
