/**
 * @author admin2
 */
// variabili statiche stabilite all'inizio della load della pagina
var ingredienti = 1; // ingredienti da inserire in una ricetta
var persone = 4; // persone per cui è composta una ricetta
// funzioni per l'effetto del menu
$(document).ready(function(){
    $('#menu li ul').css('display', 'none');
    $('#menu li').hover(function(){
        $(this).children('ul').stop().animate({
            width: "150px",
            opacity: "1.0"
        })
    }, function(){
        $(this).children('ul').stop().animate({
            width: "0px",
            opacity: "0.0",
            display: "none"
        })
    });
    
    $('.nav_menu li').hover(function(){
        $(this).children('ul').stop().animate({
            // display:"block",
            opacity: "1.0",
            height: "120px"
        })
    }, function(){
        $(this).children('ul').stop().animate({
            // display:"none",
            opacity: "0.0",
            height: "0px"
        })
    });
    // Funzioni per il calcolo del peso ideale
    $('#broca').submit(function(e){
        e.preventDefault();
        var valore;
        if ($('#uomo_broca:checked').length != 0) {
            valore = ($('#altezza_broca').val() - 100);
        }
        else 
            if ($('#donna_broca:checked').length != 0) {
                valore = ($('#altezza_broca').val() - 105);
            }
        $('#peso_broca').html(valore);
    });
    $('#vdv').submit(function(e){
        e.preventDefault();
        var c;
        if ($('#uomo_vdv:checked').length != 0) {
            c = 0.75;
        }
        else 
            if ($('#donna_vdv:checked').length != 0) {
                c = 0.65;
            }
        var risultato = (($('#altezza_vdv').val() - 150) * c) + 50;
        $('#peso_vdv').html(risultato);
    });
    $('#bert').submit(function(e){
        e.preventDefault();
        //0.8 * (h - 100) + (età/2)
        var h = $('#altezza_bert').val();
        var risultato = (0.8 * (h - 100)) + ($('#eta_bert').val() / 2);
        $('#peso_bert').html(risultato);
    });
    $('#lorenz').submit(function(e){
        e.preventDefault();
        //Per gli uomini: h-100-(h-150)/4
        //Per le donne: h-100-[(h-150)-3.5]/2
        var risultato;
        var h = $('#altezza_lorenz').val();
        if ($('#uomo_vdv:checked').length != 0) {
            risultato = h - 100 - (h - 150) / 4;
        }
        else 
            if ($('#donna_vdv:checked').length != 0) {
                risultato = h - 100 - [(h - 150) - 3.5] / 2;
            }
        $('#peso_lorenz').html(risultato);
    });
    $('#bmi').submit(function(e){
        e.preventDefault();
        
        var h = $('#altezza_bmi').val() / 100;
        var p = $('#peso_bmi').val();
        var r = p / (h * h);
        r = r.roundTo(1);
        var c; // commento
        if (r <= 18.5) {
            c = "Sottopeso";
        }
        else 
            if (r > 18.5 && r <= 25) {
                c = "Normopeso";
            }
            else 
                if (r > 25 && r <= 30) {
                    c = "Sovrappeso";
                }
                else 
                    if (r > 30 && r <= 40) {
                        c = "Obesit&agrave;";
                    }
                    else 
                        if (r > 40) {
                            c = "Obesit&agrave; grave";
                        }
        $('#risultato_bmi').html("<strong>" + r + "</strong> = " + c);
    });
    $('#login').submit(function(e){
        e.preventDefault();
        user = $('#username').val();
        pass = $('#password').val();
        if ((user == "") || (pass == "")) {
            $('#feedback_login').hide("fast");
            $('#feedback_login').show("slow");
        }
        else {
            $.post("funzioni_ajax.php", {
                username: user,
                password: pass
            }, function(data){
                if (data == 0) {
                    location.href = "home_dieta.php";
					$.get("funzioni_ajax.php",{
						chi:user,
						action:'storeLoginInfo'
					})
                }
                else {
                    $('#feedback_login').hide("fast");
                    $('#feedback_login').show("slow");
                }
            }, "text");
        }
        
    });
    
    $('#diario_fast div a').click(function(e){
        if ($(this).parent("div").attr("id") != "bollino") {
            $(this).parent("div").children(".salva_diario").show("fast");
            $('#diario_fast div textarea').stop().animate({
                height: '00px',
                border: '0px solid #CCC'
            }, 500);
            $(this).parent("div").children("textarea").stop().animate({
                height: '30px',
                border: '1px solid #CCC'
            }, 500);
        }
        else {
        
        }
        
    })
    /*
     * Diario rapido da home
     */
    $('#fast_diario').submit(function(e){
		e.preventDefault();
        var cosa = $('#cibo').val();
        var quando = $('#quando').val();
        var user = $('#user').val();
		$.post("funzioni_ajax.php",{
			action:"fastDiario",
			cosa:cosa,
			quando:quando,
			user:user
		},function(data){
			if(data==0){
				alert("Diario aggiornato!");
				location.href="home_dieta.php";
			} else {
				alert("Attenzione: ci sono problemi tecnici "+data);
			}
		},"text");  
    });
	
	 /*
     * Pesata rapido da home
     */
    $('#fast_bilancia').submit(function(e){
		e.preventDefault();
        var peso = $('#peso').val();
        var user = $('#user').val();
		var commento = $('#commento').val();
		$.post("funzioni_ajax.php",{
			action:"fastBilancia",
			peso:peso,
			commento:commento,
			user:user
		},function(data){
			if(data==0){
				alert("Peso aggiornato!");
				location.href="visualizza_peso.php";
			} else {
				alert("Attenzione: ci sono problemi tecnici "+data);
			}
		},"text");  
    });
    /* Sezione ricette */
    
    
    $('#agg_ingr').click(function(e){
        // ho dovuto usare metodi "vecchi" javascript perche' la create Element 
        // non e' modellata in jquery...		
        var lista = document.getElementById('lista_ingr');
        if (ingredienti >= 1) {
            var id_label = "elimina_" + ingredienti;
            var label = document.getElementById(id_label);
            label.style.display = "none";
        }
        ingredienti++;
        $('#n_ingredienti').val(ingredienti);
        var div = document.createElement("div");
        div.id = "label_ingr_" + ingredienti;
        
        // campo di input per il nome dell'ingrediente
        var input_nome = document.createElement("input");
        input_nome.type = "text";
        input_nome.id = "nome_ingr_" + ingredienti;
        input_nome.nome = "nome_ingr_" + ingredienti;
        div.appendChild(input_nome);
        
        // testo "gr"
        var gr = document.createTextNode(" gr./ml./unita' ");
        div.appendChild(gr);
        
        // campo input per il peso 
        var input_grammi = document.createElement("input");
        input_grammi.type = "text";
        input_grammi.size = "5";
        input_grammi.id = "grammi_ingr_" + ingredienti;
        input_grammi.nome = "grammi_ingr_" + ingredienti;
        div.appendChild(input_grammi);
        
        // link per eliminare lo stesso ingrediente
        var del = document.createElement("a");
        del.setAttribute("href", "#");
        del.id = "elimina_" + ingredienti;
        del.setAttribute("onclick", "javascript:elimina(" + ingredienti + ");");
        
        // il testo dentro al link
        var elimina = document.createTextNode("Elimina");
        del.appendChild(elimina);
        div.appendChild(del);
        
        lista.appendChild(div);
    });
    
    /* Funzione per memorizzare in db una ricetta */
   
    $('#nuova_ricetta').submit(function(e){
	    e.preventDefault();
        var n = $('#n_ingredienti').val(n);
        //alert("eseguo submit con "+n+" ingredienti");
        var nome = $('#nome').val();
        nome = parseQuery(nome);
        
        var difficolta = $('#difficolta').val();
        var calorie = $('#calorie').val();
        var preparazione = $('#preparazione').val();
        preparazione = parseQuery(preparazione);
        
        var categoria = $('#categoria').val();
        var user = $('#user').val();
        //		Recupero l'informazione "light"
        var light_bool = $('#light').is(':checked');
        var light = 0;
        if (light_bool) {
            light = 1;
        }
        //recupero degli ingredienti
        var ingredienti = new Array();
		var grammi = new Array();
        for (i = 1; i <= n; i++) {
            ingredienti[i] = $('#nome_ingr_' + i).val();
//            $('#feedback').append("-" + $('#grammi_ingr_' + i).val() + "-");
            grammi[i] = ($('#grammi_ingr_' + i).val() == "") ? "NULL" : $('#grammi_ingr_' + i).val();
        }

        $.post("funzioni_ajax.php", {
            nome:nome,
			preparazione:preparazione,
			difficolta:difficolta,
			calorie:calorie,
			categoria:categoria,
			light:light,
            action: "insert_ricetta"
        }, function(data){
           // $('#feedback').empty();
           if (data == "OK") {
                //inserisco ogni ingrediente
                for (i = 1; i <= n; i++) {
                    $.post("funzioni_ajax.php", {
						action: "insert_ingredienti",
                        nome: nome,
                        ingrediente: ingredienti[i],
						grammi:grammi[i]
                    }, function(data2){
                        if (data2 != "OK") {
                            $('#feedback').append("Errore su "+ingredienti[i] + "<br />" + data2);
                        }
                    });
                    
                }
                $('#feedback').append("Ricetta salvata!");
            }
            else 
                if (data == "NOT UNIQUE") {
                    $('#feedback').append("La ricetta esiste gi&agrave;");
                }
                else {
                    $('#feedback').append("Errore nell'inserimento della ricetta <br />"+data);
                }
               
        }, "text");
       
    
    });
	
    
    /*
     * Funzioni per effetti sul menu delle ricette
     */
    $('#menu_ricette td span').css("opacity", "0.0");
    $('#menu_ricette td').hover(function(){
        $(this).css("color", "#FFFFFF");
        $(this).children("span").animate({
            opacity: "1.0"
        }, 500);
    }, function(){
        $(this).css("color", "#ff8040");
        $(this).children("span").animate({
            opacity: "0.0"
        }, 500);
    });
    /* funzioni per la visualizzazione della ricetta */
    $('#ingredienti span').css("font-weight", "bold");
    $('#ingr_piu').click(function(){
        persone = $('#persone').html();
        var persone_old = persone;
        persone++;
        $('#ingredienti span').each(function(){
            var old_value = $(this).html(); 			
            var unita = old_value / persone_old;		
            var new_value = unita * persone;			
            // l'arrotondamento serve così per mantenere un decimale!
            $(this).html(Math.round(new_value*10)/10);
        });
        $('#persone').html(persone);
    });
    $('#ingr_meno').click(function(){
        if (persone != 1) {
            persone = $('#persone').html();
            var persone_old = persone;
            persone--;
            $('#ingredienti span').each(function(){
                var old_value = $(this).html();
                var unita = old_value / persone_old;
                var new_value = unita * persone;
                $(this).html(Math.round(new_value*10)/10);
            });
            $('#persone').html(persone);
        }
    });
    /*
     * Funzione per il blog: commenti
     */
    $('#form_aggiungi_commento').css("display", "none");
    $('#aggiungi_commento').click(function(e){
        e.preventDefault();
        $('#form_aggiungi_commento').show();
    });
	
    $('#form_aggiungi_commento').submit(function(e){
    
        e.preventDefault();
        
        var autore = $('#autore').val();
        var testo = $('#commento').val();
        var id_post = $('#id_post').val();
        var id_blog = $('#id_blog').val();
        if (testo.length == 0) {
            alert("Attenzione, manca il commento!");
        }
        else 
            if (autore.length == 0) {
                alert("Attenzione, è necessario firmare il commento!");
            }
            else {
                $.post("funzioni_ajax.php", {
                    action: "commento_forum",
                    autore: autore,
                    testo: testo,
                    id_post: id_post,
                    id_blog: id_blog
                }, function(data){
                    if (data != "OK") {
                        $('#feedback_commento').append(data);
                    }
                    else {
                        $('#feedback_commento').append("Commento salvato correttamente");
                        $('#form_aggiungi_commento').hide("fast");
                    }
                });
            }
        
    });
	
	$('.star').hover(function(){
		// mettere giallo nelle stelle 
		var id=$(this).attr('id');
		var n = id.charAt(4);
		for(i = 1;i<=n;i++){
			$('#star'+i).attr("src",("img/icons/stella_on.gif"));
		}
	}, function(){
		var id=$(this).attr('id');
		var n = id.charAt(4);
		for(i = 5;i>=n;i--){
			$('#star'+i).attr("src",("img/icons/stella_off.gif"));
		}
	})
	$('.star').click(function(){
		var id=$(this).attr('id');
		var n = id.charAt(4);
		var id_ricetta=$('#id_ricetta').html();
		$.get("funzioni_ajax.php",{
			action:"votaRicetta",
			id_ricetta:id_ricetta,
			voto:n
		}, function(data){
			if(data=="OK"){
				alert("Grazie per aver votato!");
			}
		})
	})
	$('#stelle').hover(function(){
		$('#help_vota').html("Clicca su una stella per votare da 1 a 5");
	},function(){
		$('#help_vota').html("");
		getStars();
	})
    /*
     * Funzione per la registrazione di un nuovo utente
     */
    $('#registrazione').submit(function(e){
        e.preventDefault();
        if ($('#username') == "") {
            alert("Attenzione: il campo username e' vuoto");
        }
        else {
            // controllo se la user esiste già
            $.get("funzioni_ajax.php", {
                action: "check_new_user",
                username: $('#username').val()
            }, function(data){
                if (data == 0) {
                    // altri controlli
					if(($('#password1').val()=="")||($('#password2').val()=="")){
						alert("Attenzione: il campo password e' vuoto");
					} else
                    if ($('#password1').val() != $('#password2').val()) {
                        alert("Attenzione: la password non è inserita in modo corretto!");
                    }
                    else 
                    
                        if ($('#altezza').val() == "") {
                            alert("Attenzione: il campo altezza e' vuoto!");
                        }
                        else 
                            if ($('#peso_iniziale').val() == "") {
                                alert("Attenzione: il campo peso iniziale e' vuoto!");
                            }
                            else {
                                $.post("funzioni_ajax.php", {
                                    action: "new_user",
                                    username: $('#username').val(),
                                    password1: $('#password1').val(),
                                    altezza: $('#altezza').val(),
                                    peso_iniziale: $('#peso_iniziale').val(),
                                    peso_obiettivo: $('#peso_obiettivo').val(),
                                    note: $('#note').val()
                                }, function(data){
                                    if (data == 0) {
                                        location.href="home_dieta.php";
                                    }
                                    else {
                                        alert("Attenzione: si sono verificati degli errori! Contattami!"+data)
                                    }
                                }, "text");
                            }
                }
                else {
                    // la USER esiste già
                    alert("Attenzione: il nome utente da te scelto esiste già!");
                }
            }, "text")
        }
    });
	$('#menu_messaggi td').hover(function(){
		if ($(this).attr("class") != "menu_messaggi_active") {
			$(this).attr("class", "menu_messaggi_on");
		}
	},function(){
		if ($(this).attr("class") != "menu_messaggi_active") {
			$(this).attr("class", "menu_messaggi_off");
		}
	})
	/*
	 * Funzioni per la barra del peso
	 */
	$("#stili input:radio").change(function(){
		if($(this).attr('name')=="grande"){
			$('#barra_grande').attr("class","barra_"+$(this).val());
			
		} else {
			$('#barra_piccola').attr("class","barra_"+$(this).val());
		}
		$.get('funzioni_ajax.php',{
			action:"changeColor",
			barra:$(this).attr('name'),
			stile:"barra_"+$(this).val()
		}, function(data){
			if(data!="0"){
				alert("Attenzione: si è verificato un errore! Contattami! ");
			}
		})
	})
	$('#mostrastili').click(function(e){
		e.preventDefault();
		$('#stili').toggle("fast");
	})
	$('#chiudistili').click(function(e){
		e.preventDefault();
		$('#stili').hide("fast");
	})
});
// funzione per arrotondare 
function roundTo(decimalpositions){
    var i = this * Math.pow(10, decimalpositions);
    i = Math.round(i);
    return i / Math.pow(10, decimalpositions);
}

Number.prototype.roundTo = roundTo;

function getStars(){
	$(document).ready(function(){
		$.get("funzioni_ajax.php",{
			action:"getVotoRicetta",
			id:$('#id_ricetta').html()						
		},function(n){
			if(n!=0){
				for(i = 1;i<=n;i++){
					$("#star"+i).attr("src","img/icons/stella_on.gif");
				}
				for(i = 5;i>n;i--){
					$("#star"+i).attr("src","img/icons/stella_off.gif");
				}
			}
		})
	})
}
function elimina(n){
    $(document).ready(function(){
        document.getElementById('lista_ingr').removeChild(document.getElementById('label_ingr_' + n));
        ingredienti--;
        $('#n_ingredienti').val(n);
        var id_elimina = 'elimina_' + ingredienti;
        document.getElementById(id_elimina).style.display = 'inline';
        
    });
}

function parseQuery(text){
    text = text.replace(/'/g, "&lsquo;");
    text = text.replace(/"/g, "&ldquo;");
    text = text.replace(/‘/g, "&lsquo;");
    return text;
}

function cancella_messaggio(id,mess){
	$(document).ready(function(){
	
		if(window.confirm("Cancellare messaggio?")){
			$.get("funzioni_ajax.php",{
				action:"deleteMessage",
				id:id,
				mess:mess
				
			},function(data){
				if(data=="0"){
					
					alert("Messaggio cancellato!");
					location.href="messaggi.php";
				} else {
					alert("ERRORE! Contattami: denise[at]denisemazzini.net\n "+data);
				}
			})
		}
		
	});
}
