/**
  * @author	InterFaceWeb - Sébastien LATIL <sebastien.latil@free.fr>
  * @copyright	2009 - Ideclic (http://www.ideclic.com/)
*/

var ElementFormAjouterCredit=new Array();
var ElementFormSumuler=new Array();

//Simuler le rachat
function Simuler() {
  ElementFormSumuler=['duree_rachat','taux_global_rachat','tresorerie_rachat'];
  DivAffErreur='afficheErreur2';
  if (document.getElementById('tresorerie_rachat').value=="") document.getElementById('tresorerie_rachat').value=0;

  Erreur=verifErreur(DivAffErreur,ElementFormSumuler);

  if (Erreur==0) {
    UrlAjaxAttribut='action=sumuler';
    for(Key in ElementFormSumuler) {
      UrlAjaxAttribut+="&"+ElementFormSumuler[Key]+"="+document.getElementById(ElementFormSumuler[Key]).value;
      }
    UrlAjax="script/simulation-rachat-credit/Ajax.php";
    RequeteAjax("POST",UrlAjax,UrlAjaxAttribut,'AffichageSimulation',true);
    }
  }

//AJout d'un crédit
function ajouterCredit() {
  ElementFormAjouterCredit=['ref_credit','capital_restant_credit'];
  DivAffErreur='afficheErreur';
  Erreur=verifErreur(DivAffErreur,ElementFormAjouterCredit);

  if (Erreur==0) {
    UrlAjaxAttribut='action=ajouterCredit';
    for(Key in ElementFormAjouterCredit) {
      UrlAjaxAttribut+="&"+ElementFormAjouterCredit[Key]+"="+document.getElementById(ElementFormAjouterCredit[Key]).value;
      document.getElementById(ElementFormAjouterCredit[Key]).value="";
      }
    UrlAjax="script/simulation-rachat-credit/Ajax.php";
    RequeteAjax("POST",UrlAjax,UrlAjaxAttribut,'AffichageCredit',false);
    }

  if ((document.getElementById('taux_global_rachat').value!="")&&((document.getElementById('duree_rachat').value!="")))
    Simuler();
  }

//Suprpession d'un crédit
function supprimerCredit($IdCredit)
  {
  UrlAjax="script/simulation-rachat-credit/Ajax.php?action=supprimerCredit&Arg="+$IdCredit;
  RequeteAjax("GET",UrlAjax,null,'AffichageCredit',false);

  if ((document.getElementById('taux_global_rachat').value!="")&&((document.getElementById('duree_rachat').value!="")))
    Simuler();
  }

//Affichage du tableau onload de la body
function afficheTableau()
  {
  UrlAjax="script/simulation-rachat-credit/Ajax.php?action=afficheTableau";
  RequeteAjax("GET",UrlAjax,null,'AffichageCredit',false);

  if ((document.getElementById('taux_global_rachat').value!="")&&((document.getElementById('duree_rachat').value!="")))
    Simuler();
  }

//Objet XMLHTTPRequest -- REQUETE AJAX ---
var XHR = null;
//Fonction 
function RequeteAjax(Method,UrlAjax,SendAjax,idDivAff,Asynchrone) {
	//Si l'objet existe déjà on abandonne la requête et on le supprime
	if(XHR && XHR.readyState != 0) {
		XHR.abort();
		delete XHR;
	}

	//Création de l'objet XMLHTTPRequest
	XHR = getXMLHTTP();

	if(!XHR)
		return false;

	//URL du script de sauvegarde auquel on passe la valeur à modifier
	XHR.open(Method, UrlAjax, Asynchrone);

	//Traitement données Mode Asynchrone
	if (Asynchrone) {
    	XHR.onreadystatechange = function() {
	    	//Si le chargement est terminé
	    	if (XHR.readyState == 4) {
	    		Reponse = XHR.responseText;
	    		document.getElementById(idDivAff).innerHTML =Reponse;
	    	}
    	}
	}

    if (Method=="POST")
        XHR.setRequestHeader('Content-type','application/x-www-form-urlencoded'); 
	//Envoi de la requête
	XHR.send(SendAjax);
	
	if (!Asynchrone) {
    	Reponse = XHR.responseText;
		document.getElementById(idDivAff).innerHTML =Reponse;
	}
}


// retourne un objet xmlHttpRequest.
// méthode compatible entre tous les navigateurs (IE/Firefox/Opera)
function getXMLHTTP() {
	var xhr = null;
	if(window.XMLHttpRequest)
		xhr = new XMLHttpRequest();
	else if(window.ActiveXObject) { // Internet Explorer
		try	{
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e){
			try	{
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e1){
    			xhr = null;
			}
		}
	}
	else { // XMLHttpRequest non supporté par le navigateur
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
	}
	return xhr;
}

// Verification et ecriture des erreurs sur les formulaires
function verifErreur(DivAffErreur,ElementForm) {
  document.getElementById(DivAffErreur).style.display="none";

  Erreur=0;
  for(Key in ElementForm) {
    Element=ElementForm[Key];
    Valeur=document.getElementById(Element).value;

    if (Valeur=="") {
      document.getElementById("LABEL"+Element).className="erreur";
      //document.getElementById(DivAffErreur).innerHTML+=TableauErreurAjouterCredit[Key]+"<br>";
      Erreur++;
      }
    else document.getElementById("LABEL"+Element).className='none';
    }

  if (Erreur>0) {
    document.getElementById(DivAffErreur).style.display="block";
    if (Erreur==1)
      document.getElementById(DivAffErreur).innerHTML="1 renseignement n'a pas &eacute;t&eacute; correctement saisis."
    else
      document.getElementById(DivAffErreur).innerHTML=Erreur+" renseignements n'ont pas &eacute;t&eacute; correctement saisis.";

    document.getElementById(DivAffErreur).innerHTML+="<br>Veuillez v&eacute;rifier la saisie des donn&eacute;es.<br><br>";
    document.getElementById(DivAffErreur).className="erreur";
    }
  return Erreur;
  }

// Ouverture du popup calcul
function ouvrirCalculer()
  {
  window.open ('script/simulation-rachat-credit/CalculCapital.php', 'calculcapital', "height=280, width=500, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, directories=no, status=no")
  }

// Calcul de la mensualité
function CalcMens(pret,dure,taux) { return pret*(taux/1200)/(1-(Math.pow((1+(taux/1200)),-dure))); }
// Ouverture du tableau d'amortissement dans un popup
function TabAmort(pret,dure,taux,cout) {
	mens = CalcMens(pret,dure,taux);
	var w = 650, h = 600, move = screen ? ',left=' + ((screen.width - w) >> 1) + ',top=' + ((screen.height - h) >> 1) : '', 
	Win = window.open('http://www.simulationdecredit.fr/amortissement.php?pret='+pret+'&mens='+mens+'&dure='+dure+'&taux='+taux+'&cout='+cout, 'TabAmort', "toolbar=0, location=0, directories=0, status=no, scrollbars=1, resizable=1, copyhistory=0, menuBar=0" + move + ",width=" + w + ",height=" + h + ",dependent=yes", true);
	Win.opener = window; Win.focus();
}
