// JavaScript Document
function BMI_check(frm,field){
	if(eval("document."+frm+"."+field+".value")=="" || parseInt(eval("document."+frm+"."+field+".value"))==0 ){
	//alert(document.getElementById("error_msg").innerHTML);
		document.getElementById("error_msg").innerHTML=field + " can not be empty.";
		return false;
	}
	if(isNaN(eval("document."+frm+"."+field+".value")) || !isNumber(eval("document."+frm+"."+field+".value"))){
	//alert(document.getElementById("error_msg").innerHTML);
		document.getElementById("error_msg").innerHTML=field + " is not a number.";
		return false;
	}
	var w=((eval("document."+frm+".height_meter.value"))*(eval("document."+frm+".height_meter.value")));
	//alert(w);
	var bmi=parseInt(eval("document."+frm+".weight.value"))/w;
	//alert(bmi);
	bmi=format (bmi, 2);
	//alert(bmi);
	document.getElementById("error_msg").innerHTML="";
	document.getElementById("textBMI").style.display="none";
	
	document.getElementById("resultBMI").style.display="";
	
	if(bmi<18.5){
		document.getElementById("optimal_weight").style.display="none";
		document.getElementById("over_weight").style.display="none";
		document.getElementById("obese_weight").style.display="none";
		document.getElementById("under_weight").style.display="";
		document.getElementById("my_weight1").innerHTML=bmi;
	}
	else if(bmi>=18.5 && bmi<25){
		document.getElementById("over_weight").style.display="none";
		document.getElementById("obese_weight").style.display="none";
		document.getElementById("under_weight").style.display="none";
		document.getElementById("optimal_weight").style.display="";
		document.getElementById("my_weight2").innerHTML=bmi;
	}
	else if(bmi>=25 && bmi<30){
		document.getElementById("optimal_weight").style.display="none";
		document.getElementById("obese_weight").style.display="none";
		document.getElementById("under_weight").style.display="none";
		document.getElementById("over_weight").style.display="";
		document.getElementById("my_weight3").innerHTML=bmi;
	}
	else if(bmi>=30){
		document.getElementById("optimal_weight").style.display="none";
		document.getElementById("over_weight").style.display="none";
		document.getElementById("under_weight").style.display="none";
		document.getElementById("obese_weight").style.display="";
		document.getElementById("my_weight4").innerHTML=bmi;
	}
	
	
	
	
	
}

function format (obj, decimal) {
	 //decimal  - the number of decimals after the digit from 0 to 3
//-- Returns the passed number as a string in the xxx,xxx.xx format.
	   //anynum=eval(obj.value);
	   anynum=(obj);
	   divider =10;
	   switch(decimal){
			case 0:
				divider =1;
				break;
			case 1:
				divider =10;
				break;
			case 2:
				divider =100;
				break;
			default:  	 //for 3 decimal places
				divider =1000;
		}

	   workNum=Math.abs((Math.round(anynum*divider)/divider));

	   workStr=""+workNum

	   if (workStr.indexOf(".")==-1){workStr+="."}

	   dStr=workStr.substr(0,workStr.indexOf("."));dNum=dStr-0
	   pStr=workStr.substr(workStr.indexOf("."))

	   while (pStr.length-1< decimal){pStr+="0"}

	   if(pStr =='.') pStr ='';

	   //--- Adds a comma in the thousands place.    
	   if (dNum>=1000) {
		  dLen=dStr.length
		  dStr=parseInt(""+(dNum/1000))+","+dStr.substring(dLen-3,dLen)
	   }

	   //-- Adds a comma in the millions place.
	   if (dNum>=1000000) {
		  dLen=dStr.length
		  dStr=parseInt(""+(dNum/1000000))+","+dStr.substring(dLen-7,dLen)
	   }
	   retval = dStr + pStr
	   //-- Put numbers in parentheses if negative.
	   if (anynum<0) {retval="(-"+retval+")";}

	  
	//You could include a dollar sign in the return value.
	  //retval =  "$"+retval
	  
	 // obj.value = retval;
	 return retval;
 }
 
 function CC_check(frm,field,field1){
	if(eval("document."+frm+"."+field+".value")=="" || parseInt(eval("document."+frm+"."+field+".value"))==0){
	//alert(document.getElementById("error_msg").innerHTML);
		document.getElementById("error_msg").innerHTML= "Numero di sigarette al giorno can not be empty.";
		return false;
	}
	if(isNaN(eval("document."+frm+"."+field+".value")) || !isInt(eval("document."+frm+"."+field+".value"))){
	//alert(document.getElementById("error_msg").innerHTML);
		document.getElementById("error_msg").innerHTML="Numero di sigarette al giorno is not a number/integer value.";
		return false;
	}
	if(eval("document."+frm+"."+field1+".value")=="" || parseInt(eval("document."+frm+"."+field1+".value"))==0 ){
	//alert(document.getElementById("error_msg").innerHTML);
		document.getElementById("error_msg").innerHTML="Costo per Pacchetto can not be empty.";
		return false;
	}

	if(!isNumber(eval("document."+frm+"."+field1+".value"))){
	//alert(document.getElementById("error_msg").innerHTML);
		document.getElementById("error_msg").innerHTML= "Costo per Pacchetto is not a number.";
		return false;
	}
	
	var w=(eval("document."+frm+".no_day.value")*365)/20;
	//alert(w);
	var CC=w*eval("document."+frm+".cost_pkt.value");
	//alert(CC);
	CC=format (CC, 2);
	//alert(bmi);
	document.getElementById("error_msg").innerHTML="";
	document.getElementById("textCC").style.display="none";
	
	document.getElementById("resultCC").style.display="";
	document.getElementById("my_weight1").innerHTML="";
	
	document.getElementById("my_weight1").innerHTML="$ " + CC;
	

	
}

function isNumber(str){
var mychar,numdecs,str;
str=str.toString();
if(str.length==0)
{return false;}
numdecs = 0;
for (var i = 0; i < str.length; i++)
{mychar = str.charAt(i);
if ((mychar >= "0" && mychar <= "9") || mychar == "." ){
if (mychar == ".")
numdecs++;
}
else return false;
}
if (numdecs > 1){return false;}
return true;
}// end isNumber function

function isInt(str){
var mychar,numdecs,str;
str=str.toString();
if(str.length==0)
{return false;}
numdecs = 0;

for (var i = 0; i < str.length; i++)
{mychar = str.charAt(i);//alert(mychar);
if ((mychar >= "0" && mychar <= "9") || mychar == "."){
//do nothing

if (mychar == ".")
numdecs++;
}
else {numdecs++;return false;}
}
if (numdecs > 0){return false;}
return true;
}// end isNumber function

function BF_check(frm,field,field1,field2){
	if(eval("document."+frm+"."+field+"[0].checked")==false && eval("document."+frm+"."+field+"[1].checked")==false){
		document.getElementById("error_msg").innerHTML= "Please select your Sesso0sex.";
		return false;
	}
	var age=eval("document."+frm+"."+field1+".value");
	var sex=eval("document."+frm+"."+field+"[0].checked");
	var BMI=eval("document."+frm+"."+field2+".value");
	var BF;
	if(BMI==""){
		document.getElementById("error_msg").innerHTML="You have not saved your BMI. <br>Please calculate and save your BMI first.";
	}else{
	
	if(age>=17 && age<=19){
		if(sex){//men
			BF=(1.229 * BMI) - 13.376;
		}else{//women
			BF=(1.796 * BMI) - 14.918;
		
		}
	
	}else if(age>=20 && age<=29){
		if(sex){//men
			BF=(1.181 * BMI) - 10.758;
		}else{//women
			BF=(1.469 * BMI) - 7.647;
		
		}
	
	}else if(age>=30 && age<=39){
		if(sex){//men
			BF=(0.887 * BMI) + 0.438;
		}else{//women
			BF=(1.246 * BMI) + 0.354;
		
		}
	
	}else if(age>=40 && age<=49){
		if(sex){//men
			BF=(1.238 * BMI) - 6.185;
		}else{//women
			BF=(1.086 * BMI) + 6.270;
		
		}
	
	}else if(age>=50){
		if(sex){//men
			BF=(0.847 * BMI) + 2.370;
		}else{//women
			BF=(1.033 * BMI) + 8.052;
		
		}
	
	}else{
		document.getElementById("error_msg").innerHTML="You have not saved your BMI. <br>Please calculate and save your BMI first.";
	}
	
	/*
	17-19                                   1,796 x BMI - 14,918            1,229 X BMI - 13,376

       20-29                                   1,469 X BMI - 7,647             1,181 X BMI - 10,758

       30-39                                   1,246 X BMI + 0,354             0,887 X BMI + 0,438
 
       40-49                                   1,086 X BMI + 6,270             1,238 X BMI - 6,185

       50-OLTRE                         1,033 X BMI + 8,052             0,847 X BMI + 2,370

	*/
	//alert(BF);
	BF=format (BF, 3);
	//alert(bmi);
	document.getElementById("error_msg").innerHTML="";
	document.getElementById("textBF").style.display="none";
	
	document.getElementById("resultBF").style.display="";
	document.getElementById("my_weight1").innerHTML="";
	
	document.getElementById("my_weight1").innerHTML= BF;
	
	}
	
}

function BM_check(frm,field,field1,field2){
	if(eval("document."+frm+"."+field+"[0].checked")==false && eval("document."+frm+"."+field+"[1].checked")==false){
		document.getElementById("error_msg").innerHTML= "Please select your Sesso0sex.";
		return false;
	}
	var age=eval("document."+frm+"."+field1+".value");
	var sex=eval("document."+frm+"."+field+"[0].checked");
	var W=eval("document."+frm+"."+field2+".value");
	var BM;
	
	
	if(age>=18 && age<=29){
		if(sex){//men
			BM=(15.3 * W) + 679;
				
		}else{//women
			BM=(14.7 * W) + 496;
		
		}	
	
	}else if(age>=30 && age<=59){
		if(sex){//men
			BM=(11.6 * W) + 879;
		}else{//women
			BM=(8.7 * W) + 829;	
		
		}
	
	}else if(age>=60 && age<=74){
		if(sex){//men
			BM=(11.9 * W) + 700;	
		}else{//women
			BM=(9.2 * W) + 688;	
		
		}
	
	}else if(age>=75){
		if(sex){//men
			BM=(8.4 * W) + 819;	
		}else{//women
			BM=(9.8 * W) + 624;	
		
		}
	
	}
	
	/*
	CALCOLO DEL METABOLISMO BASALE GIORNALIERO  
  	UOMINI =men	DONNE  =women
Etą anni=age	x 	+ 	x 	+ 
Da 18 a 29 	15,3	679	14,7	496
Da 30 a 59 	11,6	879	8,7	829
Da 60 a 74 	11,9	700	9,2	688
> 75 	8,4	819	9,8	624
					
To calculate MB must multiply (*) weight for the corresponding value in the above TAB (column x) corresponding to incute age and sex and then adddition a second numerical value as indicated on column + this too varies with age and sex as on above TAB. 


	*/
	//alert(BM);
	BM=format (BM, 2);
	//alert(bmi);
	document.getElementById("error_msg").innerHTML="";
	document.getElementById("textBM").style.display="none";
	
	document.getElementById("resultBM").style.display="";
	document.getElementById("my_weight1").innerHTML="";
	
	document.getElementById("my_weight1").innerHTML= BM;
	
	
	
}

function CB_check(frm,field,field1){
	var val=eval("document."+frm+"."+ field +".value");
	var myval;
	myval=val.split("_");
	document.frmCB.a_id.value=myval[0];
	//alert(myval[1]);
	var w=(myval[1])/30;
	//var w=(eval("document."+frm+"."+ field +".value"))/30;
	//alert(w);
	var CB=w*eval("document."+frm+"."+ field1 +".value");
	//alert(isInt(CB));
	if(!isInt(CB))CB=format (CB, 2);
	//alert(CB);
	//CB=format (CB, 2);
	//alert(bmi);
	document.getElementById("error_msg").innerHTML="";
	document.getElementById("textCB").style.display="none";
	
	document.getElementById("resultCB").style.display="";
	document.getElementById("my_weight1").innerHTML="";
	
	document.getElementById("my_weight1").innerHTML="" + CB;
	

	
}

function DC_check(frm,field,field1,field2,field3){
	if(eval("document."+frm+"."+field+"[0].checked")==false && eval("document."+frm+"."+field+"[1].checked")==false){
		document.getElementById("error_msg").innerHTML= "Please select your Sesso0sex.";
		return false;
	}
	var age=eval("document."+frm+"."+field1+".value");
	var sex=eval("document."+frm+"."+field+"[0].checked");
	var W=eval("document."+frm+"."+field2+".value");
	var lf=eval("document."+frm+"."+field3+".value");
	var BM,DC;
	
	
	if(age>=18 && age<=29){
		if(sex){//men
			BM=(15.3 * W) + 679;
				
		}else{//women
			BM=(14.7 * W) + 496;
		
		}	
	
	}else if(age>=30 && age<=59){
		if(sex){//men
			BM=(11.6 * W) + 879;
		}else{//women
			BM=(8.7 * W) + 829;	
		
		}
	
	}else if(age>=60 && age<=74){
		if(sex){//men
			BM=(11.9 * W) + 700;	
		}else{//women
			BM=(9.2 * W) + 688;	
		
		}
	
	}else if(age>=75){
		if(sex){//men
			BM=(8.4 * W) + 819;	
		}else{//women
			BM=(9.8 * W) + 624;	
		
		}
	
	}
	
	/*
	CALCOLO DEL METABOLISMO BASALE GIORNALIERO  
  	UOMINI =men	DONNE  =women
Etą anni=age	x 	+ 	x 	+ 
Da 18 a 29 	15,3	679	14,7	496
Da 30 a 59 	11,6	879	8,7	829
Da 60 a 74 	11,9	700	9,2	688
> 75 	8,4	819	9,8	624
					
To calculate MB must multiply (*) weight for the corresponding value in the above TAB (column x) corresponding to incute age and sex and then adddition a second numerical value as indicated on column + this too varies with age and sex as on above TAB. 


	*/
	
	//BM=format (BM, 2);
	//alert(BM);
	//alert(bmi);
	if(lf==1){
		if(age>=18 && age<=59){
			if(sex){//men
				DC=BM * 1.55;
			}else{
				DC=BM * 1.56;
			}
		}else if(age>=60){
			if(sex){//men
				DC=BM * 1.51;
			}else{
				DC=BM * 1.56;
			}
		}
	}else if(lf==2){
		if(age>=18 && age<=59){
			if(sex){//men
				DC=BM * 1.78;
			}else{
				DC=BM * 1.64;
			}
		}else if(age>=60){
			if(sex){//men
				DC=BM * 1;
			}else{
				DC=BM * 1;
			}
		}
	}else if(lf==3){
		if(age>=18 && age<=59){
			if(sex){//men
				DC=BM * 2.1;
			}else{
				DC=BM * 1.82;
			}
		}else if(age>=60){
			if(sex){//men
				DC=BM * 1;
			}else{
				DC=BM * 1;
			}
		}
	}
	
	/*  	  	LAF 	LAF 	LAF 
		Attivitą leggera 	Attivitą moderata 	Attivitą pesante 
Adulti 	UOMINI 	1,55	1,78	2,1
18 - 59 	DONNE 	1,56	1,64	1,82
Anziani 	UOMINI 	1,51	  	  
60 - oltre 	DONNE 	1,56	  	  
*/
//alert(DC);
DC=format (DC, 2);
	document.getElementById("error_msg").innerHTML="";
	document.getElementById("textDC").style.display="none";
	
	document.getElementById("resultDC").style.display="";
	document.getElementById("my_weight1").innerHTML="";
	
	document.getElementById("my_weight1").innerHTML= DC;
	
	
	
}

function HR_check(frm,field,field1,field2){
	//Colesterolo-LDL       Colesterolo-HDL       Trigliceridi
	if(eval("document."+frm+"."+field+".value")=="" || parseInt(eval("document."+frm+"."+field+".value"))==0 ){
	//alert(document.getElementById("error_msg").innerHTML);
		document.getElementById("error_msg").innerHTML= "Colesterolo-LDL can not be empty.";
		return false;
	}
	if(isNaN(eval("document."+frm+"."+field+".value")) || !isInt(eval("document."+frm+"."+field+".value"))){
	//alert(document.getElementById("error_msg").innerHTML);
		document.getElementById("error_msg").innerHTML= "Colesterolo-LDL is not a number.";
		return false;
	}
	if(eval("document."+frm+"."+field1+".value")=="" || parseInt(eval("document."+frm+"."+field1+".value"))==0 ){
	//alert(document.getElementById("error_msg").innerHTML);
		document.getElementById("error_msg").innerHTML= "Colesterolo-HDL can not be empty.";
		return false;
	}
	if(isNaN(eval("document."+frm+"."+field1+".value")) || !isInt(eval("document."+frm+"."+field1+".value"))){
	//alert(document.getElementById("error_msg").innerHTML);
		document.getElementById("error_msg").innerHTML= "Colesterolo-HDL is not a number.";
		return false;
	}
	if(eval("document."+frm+"."+field2+".value")=="" || parseInt(eval("document."+frm+"."+field2+".value"))==0 ){
	//alert(document.getElementById("error_msg").innerHTML);
		document.getElementById("error_msg").innerHTML= "Trigliceridi can not be empty.";
		return false;
	}
	if(isNaN(eval("document."+frm+"."+field2+".value")) || !isInt(eval("document."+frm+"."+field2+".value"))){
	//alert(document.getElementById("error_msg").innerHTML);
		document.getElementById("error_msg").innerHTML= "Trigliceridi is not a number.";
		return false;
	}
	
	var f1=eval("document."+frm+"."+field+".value");
	var f2=eval("document."+frm+"."+field1+".value");
	var f3=eval("document."+frm+"."+field2+".value");
	
	var BM,HR;
	
	BM=parseInt(f1) + parseInt(f2) + parseInt(f3);
	
	
	

	document.getElementById("error_msg").innerHTML="";
	document.getElementById("textHR").style.display="none";
	
	document.getElementById("resultHR").style.display="";
	
	
	if(BM <200){HR="Valori ottimali ("+BM +"mg/dl)";
	document.getElementById("my_weight1").innerHTML="";
	document.getElementById("r1").style.display="";
	document.getElementById("r2").style.display="none";
	document.getElementById("r3").style.display="none";
	document.getElementById("my_weight1").innerHTML= HR;
	}
	else if(BM >=200 && BM <=239){HR="Valori non ottimali ("+BM +"mg/dl)";
	document.getElementById("my_weight3").innerHTML="";
	document.getElementById("r3").style.display="";
	document.getElementById("r2").style.display="none";
	document.getElementById("r1").style.display="none";
	document.getElementById("my_weight3").innerHTML= HR;
	}
	else if(BM >=240){HR="Valori pericolosi ("+BM +"mg/dl)";
	document.getElementById("my_weight2").innerHTML="";
	document.getElementById("r2").style.display="";
	document.getElementById("r1").style.display="none";
	document.getElementById("r3").style.display="none";
	document.getElementById("my_weight2").innerHTML= HR;
	}
	
}
