MediaWiki:Lékařská kalkulačka/Povrch-tela.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.
/**
 * ReplaceAll by Fagner Brack (MIT Licensed)
 * Replaces all occurrences of a substring in a string
 */
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_PovrchTela-content' ).text();
$( '#lekarska_kalkulacka_Povrch-tela' ).html( content.replaceAll('paragraph', 'p' ).replaceAll( 'resValue', 'span' ).replaceAll('breakline', 'br' ).replaceAll('division', 'div').replaceAll('orderedlist', 'ol').replaceAll('super', 'sup') );


/**************** Vlastní výpočet ****************/
function lekarska_kalkulacka_PovrchTela_set_hmotnost( hmotnost){
	$( '#lekarska_kalkulacka_PovrchTela-hmotnost-range' ).val( hmotnost );
	$( '#lekarska_kalkulacka_PovrchTela-hmotnost-number' ).val( hmotnost);
}

function lekarska_kalkulacka_PovrchTela_set_vyska( vyska ){
	$( '#lekarska_kalkulacka_PovrchTela-vyska-range' ).val( vyska );
	$( '#lekarska_kalkulacka_PovrchTela-vyska-number' ).val( vyska );
}

function lekarska_kalkulacka_PovrchTela_spocitej( hmotnost, vyska ) {
	var povrch = Math.pow(hmotnost,0.425)*Math.pow(vyska,0.725)*0.007184;
        var povrch = Math.round(povrch * 100) / 100
	return povrch;
}

$( '#lekarska_kalkulacka_PovrchTela-hmotnost-range' ).change( function() {
	var hmotnost = $( '#lekarska_kalkulacka_PovrchTela-hmotnost-range' ).val();
	var vyska = $( '#lekarska_kalkulacka_PovrchTela-vyska-number' ).val();
	lekarska_kalkulacka_PovrchTela_set_hmotnost( hmotnost );
	$( '#lekarska_kalkulacka_PovrchTela-vysledek' ).html( lekarska_kalkulacka_PovrchTela_spocitej( hmotnost, vyska ) );
});

$( '#lekarska_kalkulacka_PovrchTela-hmotnost-number' ).change( function() {
	var hmotnost = $( '#lekarska_kalkulacka_PovrchTela-hmotnost-number' ).val();
	var vyska = $( '#lekarska_kalkulacka_PovrchTela-vyska-number' ).val();
	$( '#lekarska_kalkulacka_PovrchTela-hmotnost-range' ).val( hmotnost );
	$( '#lekarska_kalkulacka_PovrchTela-vysledek' ).html( lekarska_kalkulacka_PovrchTela_spocitej( hmotnost, vyska ) );
});

$( '#lekarska_kalkulacka_PovrchTela-vyska-range' ).change( function() {
	var vyska = $( '#lekarska_kalkulacka_PovrchTela-vyska-range' ).val();
	var hmotnost = $( '#lekarska_kalkulacka_PovrchTela-hmotnost-number' ).val();
	lekarska_kalkulacka_PovrchTela_set_vyska( vyska );
	$( '#lekarska_kalkulacka_PovrchTela-vysledek' ).html( lekarska_kalkulacka_PovrchTela_spocitej( hmotnost, vyska ) );
});

$( '#lekarska_kalkulacka_PovrchTela-vyska-number' ).change( function() {
	var vyska = $( '#lekarska_kalkulacka_BMI-vyska-number' ).val();
	var hmotnost = $( '#lekarska_kalkulacka_BMI-hmotnost-number' ).val();
	lekarska_kalkulacka_PovrchTela_set_vyska( vyska );
	$( '#lekarska_kalkulacka_PovrchTela-vysledek' ).html( lekarska_kalkulacka_PovrchTela_spocitej( hmotnost, vyska ) );
});