var attivita_sports= ["golf","ciclismo","pallavolo","nuoto","tennis singolo","tennis doppio","corsa campestre","calcio","calcetto","sci","pallamano" ,"pallacanestro","pugilato","maratona","rugby"];
//array che contiene le kcal/min per ritmo Blando
var blando= [5.2,5.9,8.5,9.1,13,9.1,10.4,11.7,15,12,13.7,14.3,15,20,8.3];
//array che contiene le kcal/min per ritmo Intenso
var intenso =  [5.2,26,10,25,22,20,20,15,20,21.5,15,18,17,23,12];
//array contenente le varie attivita'
var attivita_vita =  ["cucire","lavorare a maglia","pulire i pavimenti","lavare i vetri","stirare","pulire i tappeti","preparare il pasto ","rifare il letto","lavare i piatti","spolverare","spostare i mobili"];
//array che contiene le kcal/min per ritmo Intenso
var infoCalorie = [6,6,9,9,9,12,12,9,2.4,3,6];
//array contenente i valori per il select ritmo
var ritmo= ["","blando","intenso"];
var stile= ["","vita sportiva","vita quotidiana"];

//var minuti= {0:' ',5:'5 minuti',10:'10 minuti',	15:'15 minuti',	30:'30 minuti',	45:'45 minuti',	60:'1 ora',120:'2 ore',	180:'3 ore',240:'4 ore',};
var minuti= [[0,' '],[5,'5 minuti'],[10,'10 minuti'],[15,'15 minuti'],[30,'30 minuti'],[45,'45 minuti'],[60,'1 ora'],[120,'2 ore'],[180,'3 ore'],[240,'4 ore']];

var attivita;

//ricerca una stringa in un'array di stringhe
//ritorna la posizione nell'array dell'elemento trovato
function trovaStringa(arr, s)	{
	var indice=0;
	for(var i=0;i<arr.length;i++)
		if(arr[i]==s)
		{
			indice=i;
			break;
		}
	return indice;
}
		

function initContacalorie()
{
			
	jQuery('#pRitmo').hide();
	aggiungiOptions(stile,"#stile")
	aggiungiOptions(ritmo,"#ritmo")
	var i=0;
	for(i=0;i<minuti.length;i++)
	{
		jQuery("#minuti").
        append(jQuery("<option></option>").
        attr("value",minuti[i][0]).
        text(minuti[i][1])); 
	}
	
	aggiungiOptions([""],"#attivita")
			
}

function aggiungiOptions(vettore,id)
{
	var i=0;
	for(i=0;i<vettore.length;i++)
	{
		jQuery(id).
        append(jQuery("<option></option>").
        attr("value",vettore[i]).
        text(vettore[i])); 
	}

}
function aggiornaAttivita() {
	
	jQuery('#attivita').html("");
	
	aggiungiOptions([""],"#attivita")

	jQuery('#pRitmo').hide();
	var stileselezionato=jQuery("#stile").val();
	if (stileselezionato=='vita sportiva') 
	{
		attivita = attivita_sports;
		aggiungiOptions(attivita_sports,"#attivita")
		jQuery('#pRitmo').show();
	} else if (stileselezionato=='vita quotidiana') {
			attivita = attivita_vita;
			aggiungiOptions(attivita_vita,"#attivita")
	}
}
	//ritorna le calorie necessarie per ogni minuto di attivita'
	//per quel determinato sport e per quel determinato ritmo
function calcolaCalorie()	
{
	var calorie=0.0;
	//recuperiamo la posizione che la stringa attivita
	//occupa nell'array attivita
	var pos= trovaStringa(jQuery("#attivita").val());
	var stileselezionato=jQuery("#stile").val();
	if (stileselezionato=='vita quotidiana') {
		// VITA QUOTIDIANA
		calorie = infoCalorie[pos];
	} else 
	{
		var ritmoselezionato=jQuery("#ritmo").val();
		//SPORT
		if(ritmoselezionato=="blando")
		{
			//ritmo blando
			calorie=blando[pos];
		}	
		else 
		{
			//il ritmo e' intenso
			calorie=intenso[pos];
		}
	}
	return calorie;
}

function validation() {
	return ((jQuery("#minuti").val()>0) && jQuery("#attivita").val()!='' && (jQuery("#stile").val()=='vita quotidiana' || (jQuery("#stile").val()=='vita sportiva' && jQuery("#ritmo").val()!='') ))
}

function calcola() 
{
	if (validation()) 
	{
		var calorie = calcolaCalorie();
		var necessita = calorie*jQuery("#minuti").val();
		document.getElementById('calorie').value = calorie;
		document.getElementById('necessita').value = necessita;
		jQuery("#temp_contacalorie").hide();
		jQuery('#attivita_contacalorie').html(jQuery("#minuti").val()+" minuti di "+jQuery("#attivita").val()+ " a ritmo "+jQuery("#ritmo").val());
		jQuery('#risultato_contacalorie').html(calcolaCalorie()*jQuery("#minuti").val());
		jQuery("#boxrisultato_contacalorie").show();
		//da inserire cambio pubblicità

	} 
	else 
	{
			alert("Completare l'inserimento dei dati");
	}
	return false;
}


		
function bmiCalc(form) 
{
			
    var weight = Number(form.peso.value);
    var height = Number(form.altezza.value);
    if (!checkNum(weight,"peso")) 
    {
		form.peso.select();
		form.peso.focus();
		return false
    }
    if (!checkNum(height,"Altezza")) 
    {
    form.altezza.select();
	form.altezza.focus();
	return false
	}
	if (form.sesso[1].checked) 
	{      
	     //  0 = sesso maschile
	     //  1 = sesso femminile
	   	 idealConvert = 45.5; //  fattore di conversione per sesso F
	} 
	else 
	{
	     idealConvert = 50;	//  fattore di conversione per sesso M
	}
	AltezzaMetri = height / 100;
	var AreaSupCorporea = 0.20247 * Math.pow(AltezzaMetri,0.725) * Math.pow(weight,0.425);
	var PesIdKg = idealConvert + 2.3 * ((AltezzaMetri * 100 /2.54) - 60);
	var bmi = weight / Math.pow(AltezzaMetri,2);
	AreaSupCorporea = rounding(AreaSupCorporea,2);
	PesIdKg = Math.round(PesIdKg);
	bmi = rounding(bmi,1);
	if (bmi < 18.5) {
		var interp = "che sei sottopeso"
	} 
	else {
		if (bmi < 25.0) {
			var interp = "un peso normale"
		} else {		
			if (bmi < 30.0) {
				var interp = "che sei sovrappeso"
			} else {

				var interp = "che hai problemi di obesit&agrave;"
			}
		}
	}
	jQuery("#temp_massacorporea").hide();
	jQuery('#indice_massacorporea').html(bmi);
	jQuery('#pesoideale').html(PesIdKg);
	jQuery("#boxrisultato_massacorporea").show();
	jQuery("#valutazionepeso").html(interp);
			
	return false;
}
		
		
function checkNum(val,text) {
    if ((val == null) || (isNaN(val)) || (val == "") || (val < 0)) 
    {
    	alert("Inserisci in modo corretto il valore " + text + ".");
    	return false
    }
    return true;
}
function rounding(number,decimal) 
{
	multiplier = Math.pow(10,decimal);
	number = Math.round(number * multiplier) / multiplier;
    return number;
}
				
				
				
				
				

function dispDate(dateObj) {
    month = dateObj.getMonth()+1;
    month = (month < 10) ? "0" + month : month;
    day   = dateObj.getDate();
    day = (day < 10) ? "0" + day : day;

    year  = dateObj.getYear();
    if (year < 2000) year += 1900;

    return (month + "/" + day + "/" + year);
}

function pregnancyCalc(pregform) 
{
    menstrual = new Date(); // creates new date objects
    ovulation = new Date();
    duedate = new Date();
    today = new Date();
    cycle = 0, luteal = 0; // sets variables to invalid state ==> 0
    //pregform.menstrual.value = pregform.menstrualH.value.substr(3, 2) + '/' +pregform.menstrualH.value.substr(0, 2) + '/' + pregform.menstrualH.value.substr(6, pregform.menstrualH.value.length);    
    datamestruale = pregform.mese.value + '/' + pregform.giorno.value + '/' + pregform.anno.value;
    menstrualinput = new Date(datamestruale);
    menstrual.setTime(menstrualinput.getTime())
				   
    cycle = 28; // defaults to 28
		    
    luteal = 14; // defaults to 14
				    
    ovulation.setTime(menstrual.getTime() + (cycle*86400000) - (luteal*86400000));
    conceptionH = dispDate(ovulation);
    conception = conceptionH.substr(3, 2) + "/" +  conceptionH.substr(0, 2) + "/" + conceptionH.substr(6, conceptionH.length);
    // sets due date to ovulation date plus 266 days
    duedate.setTime(ovulation.getTime() + 266*86400000);
    conceptionH = dispDate(duedate);
    duedatefinale = conceptionH.substr(3, 2) + "/" +  conceptionH.substr(0, 2) + "/" + conceptionH.substr(6, conceptionH.length);
    // sets fetal age to 14 + 266 (pregnancy time) - time left
    var fetalage = 14 + 266 - ((duedate - today) / 86400000);
    weeks = parseInt(fetalage / 7); // sets weeks to whole number of weeks
    days = Math.floor(fetalage % 7); // sets days to the whole number remainder
				    
    // fetal age message, automatically includes 's' on week and day if necessary
    fetalage = weeks + " settimane" + (weeks > 1 ? "" : "") + " + " + days + " giorni";
    //pregform.fetalage.value = fetalage;
    if (weeks>42)
    {
        //pregform.fetalage.value = '';
    	//pregform.conception.value = '';
    	//pregform.duedate.value = '';
    	jQuery("#temp_quandonascera").hide();
		jQuery("#gianato_quandonascera").show();
		jQuery('#settimana_quandonascera').html("");
		jQuery('#datanascita').html("");
		jQuery("#data_quandonascera").hide();
		jQuery("#errore_quandonascera").hide();
		jQuery("#boxrisultato_quandonascera").show();
						
    } else
    {
    	if (weeks<0 || days<0)
    	{
    		jQuery('#settimana_quandonascera').html("");
    		jQuery("#temp_quandonascera").hide();
			jQuery("#gianato_quandonascera").hide();
			jQuery("#errore_quandonascera").show();
			jQuery('#datanascita').html("");
			jQuery("#data_quandonascera").hide();
			jQuery("#boxrisultato_quandonascera").show();
    	}
  		else
    	{
    		jQuery("#temp_quandonascera").hide();
    		jQuery("#gianato_quandonascera").hide();
    		jQuery('#settimana_quandonascera').html("Complimenti! <br/>Sei in dolce attesa da "+weeks+" settimane");
    		jQuery("#errore_quandonascera").hide();
			jQuery('#datanascita').html(duedatefinale);
    		jQuery("#data_quandonascera").show();
    		jQuery("#boxrisultato_quandonascera").show();
	    }
    }
				    
				    
    return false; // form should never submit, returns false
}

function scriviLettere(selezione)
{
	var lettera='A';
	var nCharCode=lettera.charCodeAt(0);
	var stringa='';
	do
	{
		if (lettera==selezione) 
			stringa+='<span class="selezione"><a href="javascript:void(0)" style="color:white" onclick="ricercaNome(\''+lettera+'\')">'+lettera+'</a></span> ';
		else
			stringa+='<a href="javascript:void(0)" onclick="ricercaNome(\''+lettera+'\')">'+lettera+'</a> ';
		lettera=String.fromCharCode(++nCharCode);

	}
	while (lettera!='Z');
	jQuery("#sceglinomelettere").html(stringa);
}
function ricercaNome(letteraInizio)
{
	
    var categoria=jQuery('#categoria_search').val();
    var sesso=jQuery('#sesso_search').val();
    var sillabe=jQuery('#sillabe_search').val();
    if (letteraInizio==null)
	   	letteraInizio=jQuery('#inizio_search').val();
	mostraWaiter();
	if (categoria=="") categoria="TUTTI";
	if (sesso=="") sesso="TUTTI";
	if (sillabe=="") sillabe="TUTTI";
	if (letteraInizio=="") letteraInizio="A";
    jQuery.ez( "fashion::scegliilnome::"+categoria+"::"+sesso+"::"+sillabe+"::"+letteraInizio, {postData: ''} , _callBackNomeFiglio);
	scriviLettere(letteraInizio.toUpperCase());
	return false;
}

function mostraWaiter() 
{
	jQuery("#sceglinometemp").hide();
	jQuery("#sceglinomeresult").show();
	jQuery("#risultatonomefiglio").hide();
	jQuery("#waiternomefiglio").show();
}
function nascondiWaiter() 
{

	jQuery("#risultatonomefiglio").show();
	jQuery("#waiternomefiglio").hide();
}

function _callBackNomeFiglio( data ){	
	if ( data && data.content !== '' )
	{
       	if ( data.content.result )
       	{  
       		var stringa="";
       		for (i=0;i<data.content.result.length;i++)
       			stringa=stringa+"<span class='nomerisultato'><a href=\"javascript:void(0)\" onclick=\"apriNome('"+data.content.result[i]+"')\">"+data.content.result[i]+"</a></span><br/>";
       		jQuery('#risultatonomefiglio').html(stringa);
       		nascondiWaiter();
       	} else
       	{
	       	alert( data.content.error_text );
       		nascondiWaiter();
       	}
   	}
    else
    {
    	alert( "errore sconosciuto" );
    }  	
}  

function _callBackDescrizioneNome( data ){	
	if ( data && data.content !== '' )
	{
       	if ( data.content.result )
       	{  
       		var stringa="";
       		var i=0;
       		stringa="<strong>"+data.content.result[i]+"</strong><p>Varianti: "+data.content.varianti[i]+"</p><p>Onomastico: "+data.content.onomastico[i]+"</p><p>Significato: "+data.content.significato[i];

       		stringa+="<div class='backsceglinome'><a href='javascript:void(0)' onclick='ricercaNomeEsatto(\""+data.content.result[i]+"\")'>&lt;&lt;</a></div>"
       		jQuery('#risultatonomefiglio').html(stringa);
       		nascondiWaiter();
       	} else
       	{
	       	alert( data.content.error_text );
       		nascondiWaiter();
       	}
   	}
    else
    {
    	alert( "errore sconosciuto" );
    }  	
}  

function apriNome(nome)
{
    jQuery.ez( "fashion::scegliilnome2::"+nome, {postData: ''} , _callBackDescrizioneNome);
	scriviLettere(nome.substring(0,1).toUpperCase());
}
function ricercaNome2()
{
    var nome=jQuery('#nome_search').val();
    if (nome=="")
    {
    	alert("Inserisci il nome");
    	return false;
    }
	ricercaNomeEsatto(nome);
	return false;
}
function ricercaNomeEsatto(nome)
{
	
	mostraWaiter();
    jQuery.ez( "fashion::scegliilnome2::"+nome, {postData: ''} , _callBackNomeFiglio);
	scriviLettere(nome.substring(0,1).toUpperCase());

	return false;
}

				
