MediaWiki:Lékařská kalkulačka/ABI.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_ABI-content' ).text();
$( '#lekarska_kalkulacka_ABI' ).html( content.replaceAll('paragraph', 'p' ).replaceAll( 'resValue', 'span' ) );
/**************** Vlastní výpočet ****************/
function lekarska_kalkulacka_ABI_set_paze( paze ){
$( '#lekarska_kalkulacka_ABI-paze-range' ).val( paze );
$( '#lekarska_kalkulacka_ABI-paze-number' ).val( paze );
}
function lekarska_kalkulacka_ABI_set_kotnik( kotnik ){
$( '#lekarska_kalkulacka_ABI-kotnik-range' ).val( kotnik );
$( '#lekarska_kalkulacka_ABI-kotnik-number' ).val( kotnik );
}
function lekarska_kalkulacka_ABI_spocitej( paze, kotnik ) {
var ABI = kotnik / paze;
ABI = Math.round(ABI * 100) / 100;
return ABI;
}
$( '#lekarska_kalkulacka_ABI-paze-range' ).change( function() {
var paze = $( '#lekarska_kalkulacka_ABI-paze-range' ).val();
var kotnik = $( '#lekarska_kalkulacka_ABI-kotnik-number' ).val();
lekarska_kalkulacka_ABI_set_paze( paze );
$( '#lekarska_kalkulacka_ABI-value' ).html( lekarska_kalkulacka_ABI_spocitej( paze, kotnik ) );
});
$( '#lekarska_kalkulacka_ABI-paze-number' ).change( function() {
var paze = $( '#lekarska_kalkulacka_ABI-paze-number' ).val();
var kotnik = $( '#lekarska_kalkulacka_ABI-kotnik-number' ).val();
lekarska_kalkulacka_ABI_set_paze( paze );
$( '#lekarska_kalkulacka_ABI-value' ).html( lekarska_kalkulacka_ABI_spocitej( paze, kotnik ) );
});
$( '#lekarska_kalkulacka_ABI-kotnik-range' ).change( function() {
var kotnik = $( '#lekarska_kalkulacka_ABI-kotnik-range' ).val();
var paze = $( '#lekarska_kalkulacka_ABI-paze-number' ).val();
lekarska_kalkulacka_ABI_set_kotnik( kotnik );
$( '#lekarska_kalkulacka_ABI-value' ).html( lekarska_kalkulacka_ABI_spocitej( paze, kotnik ) );
});
$( '#lekarska_kalkulacka_ABI-kotnik-number' ).change( function() {
var kotnik = $( '#lekarska_kalkulacka_ABI-kotnik-number' ).val();
var paze = $( '#lekarska_kalkulacka_ABI-paze-number' ).val();
lekarska_kalkulacka_ABI_set_kotnik( kotnik );
$( '#lekarska_kalkulacka_ABI-value' ).html( lekarska_kalkulacka_ABI_spocitej( paze, kotnik ) );
});