// JavaScript Document

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 multiplie ( champ1, champ2, resultat, facteur )
{
	var valeur1 ;
	var valeur2 ;
	
	
	valeur1 = document.getElementById(champ1).value.replace(",",".");
	valeur1 = ( IsNumeric ( valeur1 ) ) ? valeur1 : 0 ;
	if ( champ2 == null ) { valeur2 = 1 ; }
	else
	{
		valeur2 = document.getElementById(champ2).value.replace(",",".");
		valeur2 = ( IsNumeric ( valeur2 ) ) ? valeur2 : 0 ;
	}
	facteur = ( IsNumeric ( facteur ) ) ? facteur : 1 ;
	document.getElementById(resultat).value = Math.round ( valeur1 * valeur2 * facteur * 100 ) / 100 ;
}

function divise ( num, denom, resultat, facteur, up )
{
	var numerateur ;
	var denominateur ;
	
	
	numerateur = document.getElementById(num).value.replace(",",".");
	numerateur = ( IsNumeric ( numerateur ) ) ? numerateur : 0 ;
	denominateur = ( facteur == 0 ) ? document.getElementById(denom).value.replace(",",".") : facteur ;
	denominateur = ( IsNumeric ( denominateur ) ) ? denominateur : 1 ;
	denominateur = ( denominateur == 0 ) ? 1 : denominateur ;
	document.getElementById(resultat).value = ( up == 1 ) ? Math.round ( ( numerateur / denominateur ) +0.49 ) : Math.round ( ( numerateur / denominateur ) * 100 ) / 100 ;
}


function calcBeton()
{
	multiplie ( "longueur_f", "largeur_f", "surface_f", 1);
	multiplie ( "surface_f", "epaisseur_f", "volume_f", 0.01 );
	multiplie ( "volume_f", null, "poidsSable_f", 800 ) ;
	multiplie ( "volume_f", null, "poidsCiment_f", 350 ) ;
	multiplie ( "volume_f", null, "poidsGravier_f", 1000 ) ;
	divise ( "poidsSable_f", null, "sac25Sable_f", 25, 1 ) ;
	divise ( "poidsCiment_f", null, "sac25Ciment_f", 25, 1 ) ;
	divise ( "poidsGravier_f", null, "sac25Gravier_f", 25, 1 ) ;
	divise ( "poidsSable_f", null, "sac50Sable_f", 50, 1 ) ;
	divise ( "poidsCiment_f", null, "sac50Ciment_f", 50, 1 ) ;
	divise ( "poidsGravier_f", null, "sac50Gravier_f", 50, 1 ) ;
	multiplie ( "volume_f", null, "eau_f", 175 ) ;
}

function calcChape()
{
	multiplie ( "longueur_f", "largeur_f", "surface_f", 1);
	multiplie ( "surface_f", "epaisseur_f", "volume_f", 0.01 );
	multiplie ( "volume_f", null, "poidsSable_f", 1500 ) ;
	multiplie ( "volume_f", null, "poidsCiment_f", 250 ) ;
	divise ( "poidsSable_f", null, "sac25Sable_f", 25, 1 ) ;
	divise ( "poidsCiment_f", null, "sac25Ciment_f", 25, 1 ) ;
	divise ( "poidsSable_f", null, "sac50Sable_f", 50, 1 ) ;
	divise ( "poidsCiment_f", null, "sac50Ciment_f", 50, 1 ) ;
	multiplie ( "volume_f", null, "eau_f", 125 ) ;
}

function calcStabilise()
{
	multiplie ( "longueur_f", "largeur_f", "surface_f", 1);
	multiplie ( "surface_f", "epaisseur_f", "volume_f", 0.01 );
	multiplie ( "volume_f", null, "poidsSable_f", 1500 ) ;
	multiplie ( "volume_f", null, "poidsCiment_f", 150 ) ;
	divise ( "poidsSable_f", null, "sac25Sable_f", 25, 1 ) ;
	divise ( "poidsCiment_f", null, "sac25Ciment_f", 25, 1 ) ;
	divise ( "poidsSable_f", null, "sac50Sable_f", 50, 1 ) ;
	divise ( "poidsCiment_f", null, "sac50Ciment_f", 50, 1 ) ;
	multiplie ( "volume_f", null, "eau_f", 75 ) ;
}
