//Calcul du CCR

/*fonctions de test des valeurs saisies*/
function isNumeric(strSaisie) {
	var iNumeric = 1;
	if (strSaisie != "") {
		for (i=0; i < strSaisie.length; i++)
			if (strSaisie.charAt(i) < '0' || strSaisie.charAt(i) > '9')
				iNumeric = 0;
		if (iNumeric == 1)
			return true;
	}
	return false;
}

function isReel(strSaisie) {
	var iReel = 1;
	var re = new RegExp('[^0-9.]*', 'i');
	var test = re.exec(strSaisie);
if (test == '') {
	if (strSaisie.indexOf('.')>=0){
		var testNumeric = "";
		posVirgule = strSaisie.indexOf('.');
		nbVirgule = strSaisie.split('.');
		for (i=0;i<nbVirgule.length;i++) {
			testNumeric = testNumeric + nbVirgule[i]
		}
		eval(testNumeric);
		if (!isNumeric(testNumeric)){iReel = 0}
		else {iReel = 1}
	}
	else {
		if (!isNumeric(strSaisie)){iReel = 0}
		else {iReel = 1}
	}
	if (iReel == 1) {return true}
	else {return false}
}
else {return false}
}

//fonction de remplacxement de la virgule par un point (pour les calcules ultérieurs)
function replaceVirgule(strSaisie) {
	if (strSaisie.indexOf(',')>=0) {
		var re = new RegExp(',');
		strSaisie = strSaisie.replace(re, '.');
		return strSaisie;
	}
	else {return strSaisie}
}

/*fonction d'arrondi du résultat à deux chiffres apres la virgule (modifiable)*/

function arrondi(resultat) {
	var ccrFinal;
	var tmp = resultat.toString();
	var virgule = tmp.indexOf(".")
	var result = tmp.slice(0, virgule+4);	//modifier virgule+'x' pour arrondir à + ou moins de 2 chiffres (x=4 correspond a deux chiffres apres la virgule)
											//si x est modifié, il faut également le modifier plus bas
	if (result.charAt(result.length-1)>5){
		resultat = resultat + 0.01;
		var tmp1 = resultat.toString();
		var virgule1 = tmp1.indexOf(".")
		var result1 = tmp1.slice(0, virgule1+3);	//virgule1 + (x-1) ou x est la valeur définie plus haut
		ccrFinal = result1
	}
	else {
		var tmp2 = resultat.toString();
		var virgule2 = tmp2.indexOf(".")
		var result2 = tmp2.slice(0, virgule2+3);	//virgule2 + (x-1) ou x est la valeur définie plus haut
		ccrFinal = result2
	}
	affichCCR(ccrFinal)
}

/*Affichage du résultat*/
function affichCCR(resultatFinal) {
	document.calcCCR.cfinal.value = resultatFinal	
}

/*fonction de calcule du ccr pour l'home et la femme*/

function calcHomme(poids,scr,age) {
	var ccr = "";
	var numerateur = (140 - age) * poids;
	var denominateur = 7.2 * scr;
	ccr = numerateur/denominateur;
	arrondi(ccr)
}

function calcFemme(poids,scr,age) {
	var ccr = "";
	var numerateur = (140 - age) * poids;
	var denominateur = 7.2 * scr;
	ccr = (numerateur/denominateur)*0.85;
	arrondi(ccr)
}

function calcul(poids,scr1,scr2,age) {
	var type;
	var condition = 0;
	var message = new Array;
	poids = replaceVirgule(poids);
	var scr;
	if (scr1!='' && scr2==''){
		scr = scr1;
		scr = replaceVirgule(scr);
	}
	else {
		if (scr2!='' && scr1==''){
			if (isReel(scr2)){
			scr = scr2;
			scr = replaceVirgule(scr);
			scr = eval(scr);
			scr = 0.113*scr;
			scr = scr.toString();
			scr = replaceVirgule(scr);
			}
		}
		else {
			if (scr1!='' && scr2!=''){
				alert('Veuillez saisir un seul champ Scr');
				scr = '';
			}
			else {
				scr = '';
			}
		}
	}
	age = replaceVirgule(age);
	if (document.calcCCR.sexe[0].checked) {
		type = 0;
		condition +=1;
		message[0] = "";
	}
	else {
		if (document.calcCCR.sexe[1].checked) {
			type = 1;
			condition +=1;
			message[0] = "";
		}
		else {
			message[0] = "sexe";
			condition = 0;
		}
	}
	if (!isReel(poids)){
		condition = 0;
		message[1] = "poids";
	}
	else {
		condition += 1;
		message[1] = "";
	}
	if (!isReel(scr)){
		condition = 0;
		message[2] = "scr";
	}
	else {
		condition += 1;
		message[2] = "";
	}
	if (!isReel(age)){
		condition = 0;
		message[3] = "age";
	}
	else {
		condition += 1;
		message[3] = "";
	}
	if (condition != 4) {
		var varAlert = "";
		for (i=0;i<message.length;i++) {
			if (message[i] == "") {
				varAlert = varAlert;
			}
			else {
				varAlert = varAlert + "\"" + message[i] + '", ';
			}
		}
		alert("Veuillez remplir le(s) champs : " + varAlert + " puis valider à nouveau.")
	}
	else {
		if (type == 0) {calcHomme(poids,scr,age)}
		if (type == 1) {calcFemme(poids,scr,age)}
	}	
}









