var appControl;

function init_page()
{
	calculChargeAnnuelle();
	
	if( $("achat"))
	{	


		var DelayedEvent1={
			handler:null,
			keyup :function(event,champ){
				calculFraisNotaire()
			}
		}

			DelayedEvent1.handler = DelayedEvent1.keyup.bindAsEventListener(DelayedEvent1,$("achat"))
			Event.observe($("achat"),'keyup',DelayedEvent1.handler,false);
	
	}
	
	
	if( $("typeBien"))
	{	


		var DelayedEvent2={
			handler:null,
			click :function(event,champ){
				calculFraisNotaire()
			}
		}
			DelayedEvent2.handler = DelayedEvent2.click.bindAsEventListener(DelayedEvent2,$("typeBien"))
			Event.observe($("typeBien"),'click',DelayedEvent2.handler,false);
		
		
	}
	
	if( $("achat") && $("apport")  )
	{	


		var DelayedEvent3={
			handler:null,
			keyup :function(event,champ){
				calculMontantEmprunt()
			}
		}
		if($("cout"))
		{DelayedEvent3.handler = DelayedEvent3.keyup.bindAsEventListener(DelayedEvent3,$("achat"))
		Event.observe($("achat"),'keyup',DelayedEvent3.handler,false);}
		if($("apport"))
		{DelayedEvent3.handler = DelayedEvent3.keyup.bindAsEventListener(DelayedEvent3,$("apport"))
		Event.observe($("apport"),'keyup',DelayedEvent3.handler,false);}

	}
	if( $("emprunt") && $("typeBien"))
	{	


		var DelayedEvent4={
			handler:null,
			change :function(event,champ){
				calculHypotheque()
			}
		}
		DelayedEvent4.handler = DelayedEvent4.change.bindAsEventListener(DelayedEvent4,$("emprunt"))
		Event.observe($("emprunt"),'change',DelayedEvent4.handler,false);
		DelayedEvent4.handler = DelayedEvent4.change.bindAsEventListener(DelayedEvent4,$("typeBien"))
		Event.observe($("typeBien"),'change',DelayedEvent4.handler,false);
		
		var DelayedEvent5={
			handler:null,
			keyup :function(event,champ){
				calculHypotheque()
			}
		}
		DelayedEvent5.handler = DelayedEvent5.keyup.bindAsEventListener(DelayedEvent5,$("emprunt"))
		Event.observe($("emprunt"),'keyup',DelayedEvent5.handler,false);
		DelayedEvent5.handler = DelayedEvent5.keyup.bindAsEventListener(DelayedEvent5,$("typeBien"))
		Event.observe($("typeBien"),'keyup',DelayedEvent5.handler,false);
		
		
	}
	if(  $("btnValider"))
	{	


		var DelayedEvent10={
			handler:null,
			click :function(event,champ){
				verificationFormulaire()
			}
		}
			DelayedEvent10.handler = DelayedEvent10.click.bindAsEventListener(DelayedEvent10,$("btnValider"))
			Event.observe($("btnValider"),'click',DelayedEvent10.handler,false);
		
		
	}

	
}


function verificationFormulaire()
{ 
	var error = 0;
	if(parseFloat($("etape").value) == 3)
	{

		if (($("achat").value == '') || ($("notaire").value == '')|| ($("cout").value == '') || ($("apport").value == '') || ($("dureeCredit").value == '') )
		{ 
		error =1;	
		alert('Veuillez renseigner tous les champs'); 
		 }
		else
		{
			if (($("taux").value == '') || ($("hypotheque").value == '')|| ($("charge").value == '')|| ($("revalorisation").value == '')||   ($("loyer").value == '') )
			{ 
			error =1;
			alert('Veuillez renseigner tous les champs'); 
				}
			else
			{
				if (  ($("dureeOccupation").value == '')|| ($("evolutionPrix").value == '')|| ($("rendement").value == '') )
				{ 
				 error =1;
				 alert('Veuillez renseigner tous les champs'); 
					}
			}
		}
		
		 if (error==0)
		 {
			if ( parseFloat($("emprunt").value)<1 )  
				    {alert ("montant du prêt erroné");
				    error =1;}
			else		
				{ var Y=parseFloat($("dureeCredit").value);
				if ( Y<1 || Y>35 )  
				 {alert("Durée du crédit erronée");
				 error =1;}
						
				else	 
					{var Ir=parseFloat($("taux").value);
					if ( Ir<1 || Ir>20 )  
						 {alert("Taux erroné");
						 error =1;}
					}
				}
		}
		
					
					
	}
	else
	{
		if ( ($("surface").value == '') || ($("typeBien").value == '') )
			{ 
			error =1;	
			alert('Veuillez renseigner tous les champs'); 
			 }
	}
	 if (error==0)
	 $("frmAL").submit();
}
function calculCoutAcquisition()
{

	if ($("achat").value != '' && $("notaire").value != ''  ) 
	{
		$("cout").value =  parseFloat($("achat").value)+ parseFloat($("notaire").value) ;
		$("cout").value = myFormatNumber($("cout").value);
	}

}

function calculChargeAnnuelle()
{
	if($("charge"))
	{
		if ($("surface").value != '' ) 
		{
			$("charge").value = 1155 + (parseFloat($("surface").value)*21.55);
			$("charge").value = myFormatNumber($("charge").value);
		}
	}

}
function calculHypotheque()
{
//calcul hypothèque :  pour le neuf : hypothèque = 2% du montant de l'emprunt ; pour l'ancien = 0,5% du montant de l'emprunt + 250 euros


if ($("emprunt").value != '') 
	{
	if($("typeBien").value == 0)
		$("hypotheque").value = 250 + (parseFloat($("emprunt").value)*0.5/100);
	if($("typeBien").value == 1)
		$("hypotheque").value = parseFloat($("emprunt").value)*2/100; 
	}	
	$("hypotheque").value = myFormatNumber($("hypotheque").value);
	
}
function calculMontantEmprunt()
{

if ($("achat").value != '' && $("apport").value != ''   ) 
	{
		var c = parseFloat($("achat").value) ;
		var a = parseFloat($("apport").value)/c;
		var t =0;
		if(($("typeBien").value) == 0)
			t=7;
		else
			t=2;
	
		$("emprunt").value = c - ( c*a ) + ( c*t/100)  ;
		$("emprunt").value = myFormatNumber($("emprunt").value);
		calculHypotheque()
	}
}
function calculFraisNotaire()
 {	
	if($("achat"))
	{
		// frais de notaire pour type de bien ancien
		if ($("achat").value != '') 
		{
			if(($("typeBien").value) == 0)
				$("notaire").value = parseFloat($("achat").value)*7/100;
			if(($("typeBien").value) == 1)
				{ 
				$("notaire").value = parseFloat($("achat").value)*2/100; }
				
			$("notaire").value = myFormatNumber($("notaire").value);
			calculCoutAcquisition();
		}
	}
	
 }
 
 


///////////////////////////////////////////////////////
function myFormatNumber(valeur)	// pour cadrage des valeurs //
/////////////////////////////////////////////////////
{ 	return parseFloat(valeur).toFixed(2);	}


Event.observe(window,'load',function(){
new PeriodicalExecuter(function(pe) {
	pe.stop();
	init_page();
}, 0 );
});

