jQuery.fn.center = function()
{
    this.css("position","absolute");
    this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
    this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
    return this;
};


function lb_messages(h2, p, btn, focus){
    var lb = "#lb_message";
    var lb_h2 = lb + "_h2";
    var lb_p = lb + "_p";
    var lb_btn = lb + "_btn";
    var focus_field = lb + "_focus";
    
    $(lb_h2).text(h2);
    $(lb_p).text(p);
    $(lb_btn).text(btn);
    $(focus_field).attr('value',focus);
    
    $(lb).center().show();
};

function valid_values(form, fields){
    var valid = true;
    for (field in fields) {
        var field_value = $(field).val();
        if (field_value == '' || field_value == undefined){
            valid = false;
        };
    };
    return valid;
};

$(document).ready(function() {
    $('#lb_message_btn').click(function(){
        $('#lb_message').hide();
        if ($('#lb_message_focus').attr('value')) {
            $($('#lb_message_focus').attr('value')).focus();
        };
    });    
});
    
function calculate_bmi(height, weight) {
    return (weight/(Math.pow(height/100, 2))).toFixed(1);
};

function dotmare(n) {
    if (n.indexOf(",")>-1) {n=n.replace(/,/,".");};
    return n;
};
    
var slider_position = 1;

    function getBMI() {
            
            check_values = { "#input_height": "", "#input_weight": ""};
            if (!valid_values(this, check_values)) {
                alert('Nisu popunjena sva potrebna polja!');
            };
            
            $('.description').hide();
            
            slider_position = 1;
            
            var bmi_height = $('#input_height').val();
            var bmi_weight = $('#input_weight').val();
            
            var bmi = bmi_weight/(Math.pow(bmi_height/100, 2));
            
            if(bmi && bmi > 6 && bmi < 100)
            {
                if(bmi > 18.4) { slider_position = 2; }
                if(bmi > 24.9) { slider_position = 3; }
                if(bmi > 29.9) { slider_position = 4; }
                if(bmi > 34.9) { slider_position = 5; }
                if(bmi > 39.9) { slider_position = 6; }
                
                $('#pointer').removeClass($('#pointer').attr('class'));
                $('#pointer').addClass('position' + slider_position);
                
                $('#result').text(bmi.toFixed(1));
                $('#amount').text(bmi_types[slider_position].title);
                
                $('.tools_results').show();
                $(bmi_types[slider_position].description_id).show();
                
            }
            else
            {
                $('.tools_results').hide();
            };
            
        };
    
    
var bmi_types = {1:{"description_id":"#tooldsc_1","title":"Pothranjenost"},2:{"description_id":"#tooldsc_2","title":"Poželjno"},3:{"description_id":"#tooldsc_3","title":"Prekomjerno"},4:{"description_id":"#tooldsc_4","title":"Pretilost I"},5:{"description_id":"#tooldsc_5","title":"Pretilost II"},6:{"description_id":"#tooldsc_6","title":"Pretilost III"}};

        function bmi_popup_call() {
            $("#lightbox_background").show();
            $("#lb-bmi").show();
        }
        
        function bmi_calculate_value() {
            var bmi_height = $('#bmi_height').val();
            var bmi_weight = $('#bmi_weight').val();
            var bmi = calculate_bmi(bmi_height, bmi_weight);
            if (bmi>0) {
                $("#input_bmi").attr('value',bmi);
                $("#lightbox_background").hide();
                $("#lb-bmi").hide();    
            } else {
                alert('Nije uspio izračun BMI-a. Provjeri unesene vrijednost.');
            };
        }
        
       

        function getWeight() {
            var spol = $("input[name=input_spol]:checked").val();
            
            check_values = { "#input_bmi": "", "#input_height": "", "#input_age": ""};
            if (!valid_values(this, check_values)) {
              alert('Nisu popunjena sva potrebna polja!');
              return;                
            };
            
            var bmi = $("#input_bmi").val();
            
            bmi = dotmare(bmi);
            
            var height = $("#input_height").val()/100;
            var age = $("#input_age").val();
            var iw = 0;
            if (spol != undefined) {
                if (spol==0) {
                    iw = (0.4 * bmi + 0.03 * age + 11) * (height*height);
                } else {
                    iw = (0.5 * bmi + 11.5) * (height*height);
                };
                
                $("#amount").text(iw.toFixed() + ' kg');
                $(".tools_results").show();
                
            } else {
                alert('Obavezan je odabir spola.');
            };
        }
        


function zwoArray(x,y)
{
    for (var i = 0; i < x; i++)
    {
        this[i] = new Array(y);
        this.breite = x ;
        this.breite = y ;
    }
}




function GetAmount() {
    var act = document.getElementById("activities");
    var gew = document.getElementById("actWeight");
    if(gew.value == 0)
    {
        alert("Obavezan unos težine!");
        gew.focus();
    }
    actWeight = gew.value;
    actWeight = actWeight.replace(",",".");
    var a = 0;
    var b = 1;
    var summe = 0;

    actActivities = new zwoArray(1,30);

    var elems = act.getElementsByTagName("input");

    for (var i = 1; i < 31; i++) {
        actActivities[i] = actWeight * elems[a].value / SpFakt[i];
        actActivities[i] = Math.round(actActivities[i]);
        
        elems[b].value = actActivities[i];
        
        a = a + 2;
        b = b + 2;
        summe = summe + actActivities[i];
    }

    document.getElementById("TotalSum").value = summe;

    $('.tools_results').show();
}

var Sport = new Array();
var SpFakt = new Array();
var z = 0;
var actActivities = new Array("actActivities");


Sport[0] = '';
SpFakt[0] = 0;
Sport[1] = 'Aerobic';
SpFakt[1] = 9.6983;
Sport[2] = 'Košarka';
SpFakt[2] = 6.7976;
Sport[3] = 'Kuglanje';
SpFakt[3] = 10.2975;
Sport[4] = 'Badminton';
SpFakt[4] = 10.3211;
Sport[5] = 'Pranje prozora';
SpFakt[5] = 14.5798;
Sport[6] = 'Fitness';
SpFakt[6] = 5.4152;
Sport[7] = 'Nogomet';
SpFakt[7] = 7.3409;
Sport[8] = 'Hodanje';
SpFakt[8] = 12.5;
Sport[9] = 'Gimnastika';
SpFakt[9] = 14.9501;
Sport[10] = 'Rukomet';
SpFakt[10] = 6.9444;
Sport[11] = 'Kućanski poslovi';
SpFakt[11] = 20;
Sport[12] = 'Rollerblade';
SpFakt[12] = 8.5878;
Sport[13] = 'Trčanje';
SpFakt[13] = 4.3902;
Sport[14] = 'Biciklizam';
SpFakt[14] = 10;
Sport[15] = 'Košenje trave';
SpFakt[15] = 8.9286;
Sport[16] = 'Jahanje';
SpFakt[16] = 9.0909;
Sport[17] = 'Veslanje';
SpFakt[17] = 8.167;
Sport[18] = 'Plivanje';
SpFakt[18] = 6.1058;
Sport[19] = 'Jedrenje';
SpFakt[19] = 22.5;
Sport[20] = 'Preskakanje užeta';
SpFakt[20] = 6.1391;
Sport[21] = 'Skijanje';
SpFakt[21] = 7.0422;
Sport[22] = 'Skijaško trčanje';
SpFakt[22] = 7.317;
Sport[23] = 'Snowboard';
SpFakt[23] = 7.317;
Sport[24] = 'Squash';
SpFakt[24] = 4.7468;
Sport[25] = 'Jedrenje na dasci';
SpFakt[25] = 14.1956;
Sport[26] = 'Tenis';
SpFakt[26] = 6.9337;
Sport[27] = 'Stolni tenis';
SpFakt[27] = 14.7059;
Sport[28] = 'Penjanje uz stepenice';
SpFakt[28] = 7.365;
Sport[29] = 'Odbojka';
SpFakt[29] = 6.8182;
Sport[30] = 'Šetnja';
SpFakt[30] = 7.0644;






function reset() {
    document.getElementById("TotalSum").value = 0;    
    for ( i = 0; i<61; i++) {
        document.getElementById("activities").getElementsByTagName("input").item(i).value = 0;
    }
}

        function getRisk() {
            
            check_values = { "input[name=input_spol]:checked": "", "#input_bmi": "", "#input_waist": ""};
            if (!valid_values(this, check_values)) {
                alert('Nisu popunjena sva potrebna polja!');
            };
            
            var spol = $("input[name=input_spol]:checked").val();
            
            var de = new Array ();
            de['d0'] = '';
            de['d20'] = 'Vrlo nizak';
            de['d21'] = 'Nizak';
            de['d22'] = 'Nizak';
            de['d23'] = 'Povećan';
            de['d24'] = 'Povećan';
            de['d25'] = 'Visok';
            de['d26'] = 'Visok';
            de['d27'] = 'Vrlo visok';
            de['d28'] = 'Vrlo visok';
            de['d29'] = 'Ekstremno visok';
            de['d30'] = 'Ekstremno visok';
            
            slider_position = 1;
            
            
            if (spol!=undefined) {
                
                var bmi = $("#input_bmi").val();
                bmi = dotmare(bmi);
                var waist = $("#input_waist").val();
                var limit = 88;
                
                if (spol==1) limit = 102;
                
                var result = 0;
                
                if (bmi <= 18.4) { result = 20; };
                if (bmi >= 18.4 && bmi < 25) {if (waist<=limit) {result = 21;} else {result = 22;}; slider_position = 2; };
                if (bmi >= 25 && bmi<30) {if (waist<=limit) {result = 23;} else {result = 24;}; slider_position = 3;};
                if (bmi >=30 && bmi<35) {if (waist<=limit) {result = 25;} else {result = 26;}; slider_position = 4;};
                if (bmi >=35 && bmi<40) {if (waist<=limit) {result = 27;} else {result = 28;}; slider_position = 5;};
                if (bmi>=40) {if (waist<=limit) {result = 29;} else {result = 30;}; slider_position = 6;};
                
                $('#pointer').removeClass($('#pointer').attr('class'));
                $('#pointer').addClass('position' + slider_position);
                                
                $("#amount").text(de['d'+result]);
                
                var tooldsc_id = "#tooldsc_" + result;
                $(".tools_results .description").hide();
                $(".tools_results").show();
                $(tooldsc_id).show();


            } else {
                alert("Nije odabran spol!");
            };
            
        }
	
		function getWater() {
			var needs;
            
            check_values = { "#input_weight": ""};
            if (!valid_values(this, check_values)) {
                alert('Nije unesena težina!');
            };
            
            if (selectedvalue==undefined) {
                alert('Potrebno je kliknuti na jednu od čaša!');
            };
            
			var $bmi_weight = parseInt($('#input_weight').val());
			
			if(selectedvalue && $bmi_weight > 1 && $bmi_weight < 50)0
			{
                
				needs = ($bmi_weight*0.03).toFixed(1);
				
				$('#amount').text(needs + 'l');
				
				if(needs > (Number((0.2*selectedvalue).toFixed(1))+delta))
				{
					slider_position = 1;
					
					$('.slider_info span').text('Malo');
				}
				else if(needs < (Number((0.2*selectedvalue).toFixed(1))-delta))
				{
					slider_position = 6;
					
					$('.slider_info span').text('Puno');
				}
				else
				{
					slider_position = 3;
					
					$('.slider_info span').text('Dovoljno');
				}
				
				$('.slider_info span').removeClass($('.slider_info span').attr('class'));
				$('.slider_info span').addClass('level' + slider_position);

				$('#pointer').removeClass($('#pointer').attr('class'));
				$('#pointer').addClass('position' + slider_position);
				
				$('.tools_results').show();
			};
            
		}
	    
	   function setWater(water) {	    	
    		selectedvalue = water;
    		
    		var $glasses = (selectedvalue > 1 && selectedvalue < 4) ? 'čaše' : 'čaša';
    		
    		$(".main_result span").text(selectedvalue + ' ' + $glasses + ' (' + (0.2*selectedvalue).toFixed(1) + 'l)');
	    }
	    
	    		var selecteditem;
		var selectedvalue;
		var delta = 0.1;
