var josBMI;
var josBMIString;
var answer;
var sfaturi;

function mod(div,base) {
	return Math.round(div - (Math.floor(div/base)*base));
}

function calcBmi(josw, josHeightFeetMeter, josHeightInchesCm, josMetric) {
	var UnitTrans = 703;
	if (josMetric > 0)
	UnitTrans = 1;
	 
	var w = josw * 1;
	var HeightFeetInt = josHeightFeetMeter * 1;
	var HeightInchesInt = josHeightInchesCm * 1;
	
	HeightFeetConvert = HeightFeetInt * 12;
	h = HeightFeetConvert + HeightInchesInt;

	if ( !(josMetric) && ((w <= 35) || (w >= 500)  || (h <= 48) || (h >= 120)) ) {
		alert ("Date invalide.  Verifica datele introduse !");
		return false;
	}
	
	hm = josHeightFeetMeter + josHeightInchesCm / 100;	

	if ( (josMetric) && ((w <= 10) || (w >= 400)  || (hm <= 0.9) || (hm >= 3)) ) {
		alert ("Date invalide.  Verifica datele introduse !");
		return false;
	}
	if (josMetric > 0)
	h=josHeightFeetMeter + josHeightInchesCm / 100;
	
	displaybmi = Math.round(((w * UnitTrans) / (h * h))*100)/100; //(Math.round((w * UnitTrans) / (h * h)));
	var rvalue = true;

	if (rvalue) {
	if (HeightInchesInt > 11) {
	reminderinches = mod(HeightInchesInt,12);
	josHeightInchesInt = reminderinches;
	josHeightFeetInt = HeightFeetInt + 
	((HeightInchesInt - reminderinches)/12);
	josBMI = displaybmi;
	}
	if (displaybmi <18.5) {
	josBMIString = "Subponderal";
	answer= "Un IMC mai mic de 18,5 poate indica probleme grave de sanatate la unele persoane, in special daca este rezultatul unei slabiri extreme intr-un interval scurt de timp. Orice modificare evidenta a greutatii trebuie sa fie considerata drept un semnal de alarma ce nu poate fi neglijat. In schimb, o greutate stabila care nu inregistreaza variatii considerabile pe parcursul mai multor ani, nu este un motiv de ingrijorare.";
	sfaturi= "Consulta un medic nutritionist si urmeaza sfaturile acestuia pentru a lua in greutate... Hai ca se poate, multi vor sa scape de greutate...<br /><br /><b>Citeste:</b>&nbsp;<a href=\"http://www.danutritie.ro/category/suplimente-nutritive/totul-despre-vitanime-si-minerale/\">http://www.danutritie.ro/category/suplimente-nutritive/totul-despre-vitanime-si-minerale/</a><br />"; }
	if (displaybmi >=18.5 && displaybmi <=24.99){ 
	josBMIString = "Greutate normala";
	answer= "Intervalul 18,5 - 25 este asociat cu un stil de viata echilibrat.";
	sfaturi= "Daca IMC-ul dv. este in acest interval, cel mai bine este sa va mentineti greutatea. Pentru a ramane in forma, incercati sa ramaneti in acest interval, evitand pe cat posibil sa va situati in una din cele doua extreme.<br /><br /><b>Citeste:</b>&nbsp;<a href=\"http://www.danutritie.ro/hrana-naturala/\">http://www.danutritie.ro/hrana-naturala/</a><br />"; }
	if (displaybmi >=25 && displaybmi <=29.99) {
	josBMIString = "Supraponderal";
	answer= "Un IMC situat intre 25 si 30, trebuie considerat drept un avertisment. Totusi, unele persoane pot sa obtina un indice mai mare de 25 fara a fi expusi cu adevarat unui risc de boli. Acesta este cazul sportivilor, a caror masa musculara este mai grea decat masa adipoasa.";
	sfaturi= "Acest interval este cel mai periculos deoarece este neglijat de majoritatea persoanelor aflate in aceasta situatie. Nevoia e acuta, pentru ca limita spre supraponderal sau obez este din ce in ce mai des ignorata  cu nonsalanta, iar cand ne dam seama unde s-a ajuns, e foarte greu sa mai revenim.<br /><br /><b>Citeste:</b>&nbsp;<a href=\"http://www.danutritie.ro/relatia-dintre-exercitiul-aerob-si-bataile-inimii/\">http://www.danutritie.ro/relatia-dintre-exercitiul-aerob-si-bataile-inimii/</a><br />"; }
	if (displaybmi >=30 && displaybmi <=34.99) {
	josBMIString = "Obezitate (Clasa 1)";
	answer= "Un IMC mai mare de 30 este asociat cu riscuri crescute de probleme de sanatate, ca diabetul, hipertensiunea si bolile de inima.";
	sfaturi= "Pentru a ajunge la greutatea optima, se recomanda consultarea unui medic nutritionist care poate oferi un regim personalizat de slabire si sfaturi de modificare a obiceiurilor alimentare. Un program de activitate fizica poate mari sansele de reusita.<br /><br /><b>Citeste:</b>&nbsp;<a href=\"http://www.danutritie.ro/alimentatia-in-antrenamentul-cardio/\">http://www.danutritie.ro/alimentatia-in-antrenamentul-cardio/</a><br />"; }
	if (displaybmi >=35 && displaybmi <=39.99) {
	josBMIString = "Obezitate (Clasa 2)";
	answer= "Un IMC mai mare de 30 este asociat cu riscuri crescute de probleme de sanatate, ca diabetul, hipertensiunea si bolile de inima.";
	sfaturi= ""; }
	if (displaybmi >=40) {
	josBMIString = "Obezitate cronica";
	answer= "Imi doresc sa nu ai probleme medicale si sa fii nesimtit... este grava starea in care te afli acum!!!";
	sfaturi= "Consulta de urgenta un specialist si apuca-te de treaba, zilele iti sunt numarate!!!<br /><br /><b>Citeste:</b>&nbsp;<a href=\"http://www.danutritie.ro/gastrotehnia/\">http://www.danutritie.ro/gastrotehnia/</a><br />"; }
	josBMI = displaybmi; }
	return rvalue;
}

// MM DreamWeaver findObj() Function
function findObj(theObj, theDoc)
{
  var p, i, foundObj;
  
  if(!theDoc) theDoc = document;
  if( (p = theObj.indexOf("?")) > 0 && parent.frames.length)
  {
    theDoc = parent.frames[theObj.substring(p+1)].document;
    theObj = theObj.substring(0,p);
  }
  if(!(foundObj = theDoc[theObj]) && theDoc.all) foundObj = theDoc.all[theObj];
  for (i=0; !foundObj && i < theDoc.forms.length; i++) 
    foundObj = theDoc.forms[i][theObj];
  for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++) 
    foundObj = findObj(theObj,theDoc.layers[i].document);
  if(!foundObj && document.getElementById) foundObj = document.getElementById(theObj);
  
  return foundObj;
}

function josChange(obj) {
	var objlbfeet = findObj("joslbfeet");
	var objlbinches = findObj("joslbinches");
	var objlbw = findObj("joslbw");

	if (obj.value == "true") {
		objlbfeet.innerHTML = " Meters";
		objlbinches.innerHTML = " Cm";
		objlbw.innerHTML = " Kg";
	}
	else {
		objlbfeet.innerHTML = " Feet";
		objlbinches.innerHTML = " Inches";
		objlbw.innerHTML = " Lbs";
	}
}

function docalc() {
	var objjosHFM = findObj("josHFM");
	var objjosHIC = findObj("josHIC");
	var objjosw = findObj("josW");
	var objjosUnit = findObj("josUnit");
	var objjosResult = findObj("josResult");
	var objanswer = findObj("answer");
	var objsfaturi = findObj("sfaturi");
	var x;
	if ( calcBmi(parseInt(objjosw.value), parseInt(objjosHFM.value), parseInt(objjosHIC.value), objjosUnit.value=="true") ) {
		objjosResult.innerHTML = josBMI + " " + josBMIString;
		objanswer.innerHTML = "<h4>Interpretarea rezultatului:</h4> <p>" + answer + "</p>";
		objsfaturi.innerHTML = "<h4>Sfaturi:</h4> <p>" + sfaturi + "</p>";
		if (josBMI<17) { josBMI=17; }
		if (josBMI>41) { josBMI=41; }
		x = Math.round((15.6)*parseInt(josBMI) - 252);
		moveInd(x);
	}
}

function moveInd(x) {
	objjosInd = findObj("josind");
	objjosInd.style.left = (x) + "px";
	objjosInd.style.visibility = "visible";
}

function kCal() {
    var bmr = 0;
	var calorii = 0;
	var sex = 'b';
    
    if($("sex_b").checked === true) {
        sex = $("sex_b").value;
    }
    
    if (sex == 'b'){
		bmr = 66 + (13.7 * $("greutate").value) + (5 * $("inaltime").value) - (6.8 * $("varsta").value);
	} else {
		bmr = 655 + (9.6 * $("greutate").value) + (1.7 * $("inaltime").value) - (4.7 * $("gastronomicus").value);
	}
    
	var activitate = 0;
    
    if($("activitate_sed").checked === true) {
        activitate = $("activitate_sed").value;
    }
    if($("activitate_au").checked === true) {
        activitate = $("activitate_au").value;
    }
    if($("activitate_am").checked === true) {
        activitate = $("activitate_am").value;
    }
    if($("activitate_act").checked === true) {
        activitate = $("activitate_act").value;
    }
    
    calorii = bmr * activitate * 1.10;
	
    $("rezultat").value = Math.round(calorii);
}

