﻿ var isWhole_re       = /^\s*\d+\s*$/;
 function isWhole (s) {
    return String(s).search (isWhole_re) != -1
 }

function imc()
{
	var G = document.getElementById('Greutate').value * 1;
       var indiceDiv = document.getElementById('indice');
       var messageDiv = document.getElementById('message');
       indiceDiv.innerHTML  = "";
       messageDiv.innerHTML  = "";
    if (G=="" ||!isWhole(G))
	{
		indiceDiv.innerHTML = 'Introduceți greutatea in <span style="color:red;">kg</span>!';
		return false;
	}
	var I = document.getElementById('Inaltimea').value;
	
	if (I == "" || !isWhole(I))
	{
                indiceDiv.innerHTML = "...";
		messageDiv.innerHTML = 'Introduceți înălțimea in <span style="color:red;">cm</span>!';
		return false;
	}
	
	var imc = G/(I*I) * 10000;
	imc = imc.toFixed(1);
	document.getElementById('indice').innerHTML =  'IMC = ' + imc;
	var message = '';
    if (imc < 18.5)
	{
		message = 'interval [sub 18.5- 18.5] : subponderal';
	}
	else if(imc <= 24.9)
	{
	       message = 'interval [18.5 - 24.9] : normal';
	}
	else if(imc <= 29.9)
	{
	   message = 'interval [25.0 - 29.9] : supraponderal';
	}
	else
	{
	   message = 'interval [30.0 - peste 30.0] : obez';
	}

	message += ' [<a title="Unde va situati cu IMC?" href="http://www.vindeca-te.ro/sanatate/indicele-de-masa-corporala-interpretari.html" target="_self">interpretare</a>]'	
	document.getElementById('message').innerHTML = message;
}


function computeCalories(form) { 
      var exercise=form.exercise.options[form.exercise.selectedIndex].value;
			//getExercise(form.exercise);
			if( exercise == "0")
			{
			   showMessage('Va rugam sa alegeti un tip de activitate');
			   form.exercise.focus(0);
			   return;
      }
			
      if(isEmpty(form.mins) || !isInteger(form.mins))
			{
			   showMessage('Va rugam completati o valoare numerica pentru minute');
			   form.mins.focus();
			   return;
			}
			if(isEmpty(form.weight) || !isInRange(form.weight, 20, 200))
			{
			   showMessage('Va rugam sa completati pentru greutate un numar intre 20 si 200');
			   form.weight.focus();
			   return;
			}
		     
        var calorii = Math.round(exercise * form.weight.value * form.mins.value/0.453);
        showMessage("Calorii consumate: " + calorii);
		}
    
    function isInRange(input, min, max) {
		  if(isInteger(input) && (input.value >= min) && (input.value <= max))
		      return true;
		  return false;    
		}
    
    function isInteger(input)
    {
      for (var i = 0; i < input.value.length; i++) 
      {
		        var ch = input.value.substring(i, i + 1)
		        if ( (ch > "0") && (ch < "9"))
            {/*do nothing*/}
		        else
            {return false;}
				return true;
			}
    }
    
    function isEmpty(input)
    {
      	if ((input.value == null || input.value.length == 0)) {
				  return true;
			}
			return false;
    }
    
    function showMessage(message)
    {
       var messageDiv = document.getElementById('message');
       messageDiv.innerHTML = message;
    }
    

		function clearForm(form) {
			form.mins.value = "";
			form.exercisepoints.value = "";
      showMessage("");
		}

