MediaWiki:Lékařská kalkulačka/Dusikova-bilance.js

Z WikiSkript

Poznámka: Po zveřejnění musíte vyprázdnit cache vašeho prohlížeče, jinak změny neuvidíte.

  • Firefox / Safari: Při kliknutí na Aktualizovat držte Shift nebo stiskněte Ctrl-F5 nebo Ctrl-R (na Macu ⌘-R)
  • Google Chrome: Stiskněte Ctrl-Shift-R (na Macu ⌘-Shift-R)
  • Internet Explorer / Edge: Při kliknutí na Aktualizovat držte Ctrl nebo stiskněte Ctrl-F5
  • Opera: Stiskněte Ctrl-F5.
String.prototype.replaceAll = function(token, newToken, ignoreCase) {
    var str, i = -1, _token;
    if((str = this.toString()) && typeof token === "string") {
        _token = ignoreCase === true? token.toLowerCase() : undefined;
        while((i = (
            _token !== undefined? 
                str.toLowerCase().indexOf(
                            _token, 
                            i >= 0? i + newToken.length : 0
                ) : str.indexOf(
                            token,
                            i >= 0? i + newToken.length : 0
                )
        )) !== -1 ) {
            str = str.substring(0, i)
                    .concat(newToken)
                    .concat(str.substring(i + token.length));
        }
    }
return str;
};

/**************** Převod do html podoby ****************/
var content = $( '#lekarska_kalkulacka_Dusikova-bilance-content' ).text();
$( '#lekarska_kalkulacka_Dusikova-bilance' ).html( content.replaceAll('paragraph', 'p' ).replaceAll( 'resValue', 'span' ).replaceAll('breakline', 'br' ).replaceAll('division', 'div').replaceAll('orderedlist', 'ol') );

/**************** Propojeni input field: range a number *************/
$( '#lekarska_kalkulacka_Dusikova-bilance-delka-sberu-moci-number' ).change( function() {
	$( '#lekarska_kalkulacka_Dusikova-bilance-delka-sberu-moci-range').val( $( '#lekarska_kalkulacka_Dusikova-bilance-delka-sberu-moci-number' ).val() );
});
$( '#lekarska_kalkulacka_Dusikova-bilance-delka-sberu-moci-range' ).change( function() {
	$( '#lekarska_kalkulacka_Dusikova-bilance-delka-sberu-moci-number').val( $( '#lekarska_kalkulacka_Dusikova-bilance-delka-sberu-moci-range' ).val() );
});

$( '#lekarska_kalkulacka_Dusikova-bilance-odpad-urey-number' ).change( function() {
	$( '#lekarska_kalkulacka_Dusikova-bilance-odpad-urey-range').val( $( '#lekarska_kalkulacka_Dusikova-bilance-odpad-urey-number' ).val() );
});
$( '#lekarska_kalkulacka_Dusikova-bilance-odpad-urey-range' ).change( function() {
	$( '#lekarska_kalkulacka_Dusikova-bilance-odpad-urey-number').val( $( '#lekarska_kalkulacka_Dusikova-bilance-odpad-urey-range' ).val() );
});

$( '#lekarska_kalkulacka_Dusikova-bilance-dusik-do-stolice-number' ).change( function() {
	$( '#lekarska_kalkulacka_Dusikova-bilance-dusik-do-stolice-range').val( $( '#lekarska_kalkulacka_Dusikova-bilance-dusik-do-stolice-number' ).val() );
});
$( '#lekarska_kalkulacka_Dusikova-bilance-dusik-do-stolice-range' ).change( function() {
	$( '#lekarska_kalkulacka_Dusikova-bilance-dusik-do-stolice-number').val( $( '#lekarska_kalkulacka_Dusikova-bilance-dusik-do-stolice-range' ).val() );
});

$( '#lekarska_kalkulacka_Dusikova-bilance-prijem-bilkovin-number' ).change( function() {
	$( '#lekarska_kalkulacka_Dusikova-bilance-prijem-bilkovin-range').val( $( '#lekarska_kalkulacka_Dusikova-bilance-prijem-bilkovin-number' ).val() );
});
$( '#lekarska_kalkulacka_Dusikova-bilance-prijem-bilkovin-range' ).change( function() {
	$( '#lekarska_kalkulacka_Dusikova-bilance-prijem-bilkovin-number').val( $( '#lekarska_kalkulacka_Dusikova-bilance-prijem-bilkovin-range' ).val() );
});

/**************** Vlastní výpočet ****************/
$( 'input' ).change( function() {
  var delka_sberu_moci = parseFloat( $( '#lekarska_kalkulacka_Dusikova-bilance-delka-sberu-moci-number').val() );
  var odpad_urey = parseFloat( $( '#lekarska_kalkulacka_Dusikova-bilance-odpad-urey-number').val() );
  var dusik_do_stolice = parseFloat( $( '#lekarska_kalkulacka_Dusikova-bilance-dusik-do-stolice-number').val() );
  var prijem_bilkovin = parseFloat( $( '#lekarska_kalkulacka_Dusikova-bilance-prijem-bilkovin-number').val() );
  
  var odpad_urey_za_den = 24*(odpad_urey/delka_sberu_moci);
  var odpad_dusiku_do_moci = odpad_urey_za_den*0.0336;
  var odpad_dusiku = odpad_dusiku_do_moci+dusik_do_stolice;
  var dusikova_bilance = (prijem_bilkovin/6.25)-odpad_dusiku;
  var bilkovinova_bilance = dusikova_bilance*6.25;
  var svalova_bilance = (dusikova_bilance*25)/1000;
  
 $( '#lekarska_kalkulacka_Dusikova-bilance-odpad-urey-vysledek' ).html( Math.round(odpad_urey_za_den) );
 $( '#lekarska_kalkulacka_Dusikova-bilance-odpad-dusiku-do-moci-vysledek' ).html( Math.round(10*odpad_dusiku_do_moci)/10 );
 $( '#lekarska_kalkulacka_Dusikova-bilance-celkovy-odpad-dusiku-vysledek' ).html( Math.round(10*odpad_dusiku)/10 );
 $( '#lekarska_kalkulacka_Dusikova-bilance-dusikova-bilance-vysledek' ).html( Math.round(10*dusikova_bilance)/10 );
 $( '#lekarska_kalkulacka_Dusikova-bilance-bilkovinova-bilance-vysledek' ).html( Math.round(10*bilkovinova_bilance)/10 );
 $( '#lekarska_kalkulacka_Dusikova-bilance-svalova-bilance-vysledek' ).html( Math.round(1000*svalova_bilance)/1000 );
 
});