function test_champ(champ) {
	champ.value = champ.value.replace(/,/, ".") ;
	if (!isFinite(champ.value)) {
		alert ("Veuillez entrer un nombre.") ;
		champ.value = "" ;
		exit();		
	}	
	if (parseInt(champ.value) < 0) {
		alert ("Veuillez entrer une valeur positive.") ;
		champ.value = "" ;
		exit();		
	}
	switch (champ.name) {
		case "cailloux" :
			if (champ.value < 0 || champ.value > 100) {
				alert ("Veuillez entrer un pourcentage compris entre 0 et 100.") ;
				champ.value = "" ;
			}
			break;
		case "argile" :
			if (champ.value < 0 || champ.value > 1000) {
				alert ("Veuillez entrer un nombre compris entre 0 et 1000.") ;
				champ.value = "" ;
			}
			break;	
		case "calcaire" :
			if (champ.value < 0 || champ.value > 1000) {
				alert ("Veuillez entrer un nombre compris entre 0 et 1000.") ;
				champ.value = "" ;
			}
			break;
		case "organique" :
			if (champ.value < 0 || champ.value > 5) {
				alert ("Veuillez entrer une valeur comprise entre 0 et 5.") ;
				champ.value = "" ;
			}
			break;
		case "organique" :
			if (champ.value < 0 || champ.value > 100) {
				alert ("Veuillez entrer un pourcentage compris entre 0 et 100.") ;
				champ.value = "" ;
			}
			break;
		case "profondeur" :
			if (champ.value < 0 || champ.value > 0.50) {
				alert ("Veuillez entrer une valeur comprise entre 0 et 0,50.") ;
				champ.value = "" ;
			}
			break;		
		case "densite" :
			if (champ.value < 1.35 || champ.value > 2) {
				alert ("Veuillez entrer une valeur comprise entre 1,35 et 2.") ;
				champ.value = "" ;
			}
			break;
		case "enherbement" :
			if (champ.value < 0 || champ.value > 100) {
				alert ("Veuillez entrer un pourcentage compris entre 0 et 100.") ;
				champ.value = "" ;
			}
			break;	
		case "iso" :
			if (champ.value < 0 || champ.value > 1) {
				alert ("Veuillez entrer une valeur comprise entre 0 et 1.") ;
				champ.value = "" ;
			}
			break;			
		}				
   calcul_form() ;
}


function valide_champ (champ) {
	return (isFinite(champ.value) && champ.value != 0 && champ.value != "");
}

function calcul_form() {
	
	var mineralisation, matiereOrganique, humus1, humus2, humus3, humus4, quantiteSarment, quantiteAmendement1, quantiteAmendement2, quantiteAmendement3, quantiteAmendement4;
	
	if (document.forms.form1.cailloux.value!="" && document.forms.form1.argile.value!="" && document.forms.form1.calcaire.value!="" && document.forms.form1.organique.value!="" && document.forms.form1.profondeur.value!="" && document.forms.form1.densite.value!="" && document.forms.form1.enherbement.value!=""){
		
		
			
		mineralisation = (1200*(0.2*10-1))/((parseInt(document.forms.form1.argile.value)+200)*((0.3*parseInt(document.forms.form1.calcaire.value)+200)))*100;
		if (mineralisation<0) mineralisation =0;
		
		matiereOrganique = 100*document.forms.form1.profondeur.value*document.forms.form1.densite.value*document.forms.form1.organique.value*1000*(1-(document.forms.form1.enherbement.value/100))*(1-(document.forms.form1.cailloux.value/100))/1000;		
		if (matiereOrganique<0) matiereOrganique =0;
		
		humus1 = mineralisation / 100 * matiereOrganique * 1000;
		if (humus1<0) humus1 =0;
		humus2 = ((matiereOrganique*1000)-humus1)*(mineralisation/100)+humus1;
		if (humus2<0) humus2 =0;
		humus3 = ((matiereOrganique*1000)-humus2)*(mineralisation/100)+humus2;
		if (humus3<0) humus3 =0;
		humus4 = ((matiereOrganique*1000)-humus3)*(mineralisation/100)+humus3;
		if (humus4<0) humus4 =0;
		
		if (isFinite(mineralisation)) {
				document.forms.form1.mineralisation.value = mineralisation.toFixed(2) ;
		}
		if (isFinite(matiereOrganique)) {
				document.forms.form1.matiereOrganique.value = matiereOrganique.toFixed(2);
		}
		if (isFinite(humus1)) {
				document.forms.form1.humus1.value = humus1.toFixed(0) ;
		}			
		if (isFinite(humus2)) {
				document.forms.form1.humus2.value = humus2.toFixed(0) ;
		}
		if (isFinite(humus3)) {
				document.forms.form1.humus3.value = humus3.toFixed(0) ;
		}
		if (isFinite(humus4)) {
				document.forms.form1.humus4.value = humus4.toFixed(0) ;
		}
		
		
		
		if (document.forms.form1.iso.value!="" && document.forms.form1.matiereSeche.value!=""){
			
			
			quantiteSarment = parseInt(document.forms.form1.sarments.value) *(1-(document.forms.form1.enherbement.value/100));		
			if (quantiteSarment<0) quantiteSarment =0;
			
			quantiteAmendement1 = (humus1-quantiteSarment)/((document.forms.form1.iso.value)*(document.forms.form1.matiereSeche.value/100))/1000;
			if (quantiteAmendement1<0) quantiteAmendement1 =0;
			quantiteAmendement2 = (humus2-(2*quantiteSarment))/((document.forms.form1.iso.value)*(document.forms.form1.matiereSeche.value/100))/1000;
			if (quantiteAmendement2<0) quantiteAmendement2 =0;
			quantiteAmendement3 = (humus3-(3*quantiteSarment))/((document.forms.form1.iso.value)*(document.forms.form1.matiereSeche.value/100))/1000;
			if (quantiteAmendement3<0) quantiteAmendement3 =0;
			quantiteAmendement4 = (humus4-(4*quantiteSarment))/((document.forms.form1.iso.value)*(document.forms.form1.matiereSeche.value/100))/1000;
			if (quantiteAmendement4<0) quantiteAmendement4 =0;
		
			if (isFinite(quantiteSarment)) {
					document.forms.form1.quantiteSarment.value = quantiteSarment ;
			}	
			if (isFinite(quantiteAmendement1)) {
				document.forms.form1.quantiteAmendement1.value = quantiteAmendement1.toFixed(2) ;
			}
			if (isFinite(quantiteAmendement2)) {
				document.forms.form1.quantiteAmendement2.value = quantiteAmendement2.toFixed(2) ;
			}
			if (isFinite(quantiteAmendement3)) {
				document.forms.form1.quantiteAmendement3.value = quantiteAmendement3.toFixed(2) ;
			}
			if (isFinite(quantiteAmendement4)) {
				document.forms.form1.quantiteAmendement4.value = quantiteAmendement4.toFixed(2) ;
			}
		
				
		}
		
	}
	
	
	
}