MediaWiki:Lékařská kalkulačka/GCS.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_GCS_content' ).text();
$( '#lekarska_kalkulacka_GCS' ).html( content.replaceAll('paragraph', 'p' ).replaceAll( 'resValue', 'span' ) );


/**************** Vlastní výpočet ****************/
$( '#lekarska_kalkulacka_GCS input:radio' ).change( function() {
  var GCSPoints = 0;
  var GCSResult = "";

  var oci = 0;
  var slova = 0;
  var motor = 0;

  var GCSPredicted = 0
  var slova_predicted = 0;
  var GCSText = "";

  $( '#lekarska_kalkulacka_GCS input:radio' ).each( function() {
    if (this.checked) {
      GCSPoints += parseInt( this.value );
      if ( $( this ).attr( 'name' ) == 'GCS-oci' ) {
        oci = this.value;
      } else if ( $( this ).attr( 'name' ) == 'GCS-slova' ) {
        slova = this.value;
      } else if ( $( this ).attr( 'name' ) == 'GCS-motor' ) {
        motor = this.value;
      }
    }
  });
  
  if ( $('#lekarska_kalkulacka_GCS-slova0').prop("checked") == true ){
  	if ( (oci == 1) && (motor == 1) ) {
  		slova_predicted = 1;
  	} else if ( (oci == 1) && (motor == 2) ) {
  		slova_predicted = 1;
  	} else if ( (oci == 1) && (motor == 3) ) {
  		slova_predicted = 2;
  	} else if ( (oci == 1) && (motor == 4) ) {
  		slova_predicted = 2;
  	} else if ( (oci == 1) && (motor == 5) ) {
  		slova_predicted = 3;
  	} else if ( (oci == 1) && (motor == 6) ) {
  		slova_predicted = 3;
  	} else if ( (oci == 2) && (motor == 1) ) {
  		slova_predicted = 1;
  	} else if ( (oci == 2) && (motor == 2) ) {
  		slova_predicted = 2;
  	} else if ( (oci == 2) && (motor == 3) ) {
  		slova_predicted = 2;
  	} else if ( (oci == 2) && (motor == 4) ) {
  		slova_predicted = 3;
  	} else if ( (oci == 2) && (motor == 5) ) {
  		slova_predicted = 3;
  	} else if ( (oci == 2) && (motor == 6) ) {
  		slova_predicted = 4;
  	} else if ( (oci == 3) && (motor == 1) ) {
  		slova_predicted = 1;
  	} else if ( (oci == 3) && (motor == 2) ) {
  		slova_predicted = 2;
  	} else if ( (oci == 3) && (motor == 3) ) {
  		slova_predicted = 3;
  	} else if ( (oci == 3) && (motor == 4) ) {
  		slova_predicted = 3;
  	} else if ( (oci == 3) && (motor == 5) ) {
  		slova_predicted = 4;
  	} else if ( (oci == 3) && (motor == 6) ) {
  		slova_predicted = 4;
  	} else if ( (oci == 4) && (motor == 1) ) {
  		slova_predicted = 2;
  	} else if ( (oci == 4) && (motor == 2) ) {
  		slova_predicted = 2;
  	} else if ( (oci == 4) && (motor == 3) ) {
  		slova_predicted = 3;
  	} else if ( (oci == 4) && (motor == 4) ) {
  		slova_predicted = 4;
  	} else if ( (oci == 4) && (motor == 5) ) {
  		slova_predicted = 4;
  	} else if ( (oci == 4) && (motor == 6) ) {
  		slova_predicted = 5;
  	}
  	GCSPredicted =  parseInt( oci ) + slova_predicted + parseInt( motor );
  	GCSText = GCSPoints + ' (tj. O' + oci + '-V' + slova + '?-M' + motor + '), predikovaná hodnota u intubovaných či afatických pacientů ' + GCSPredicted + ' (tj. O' + oci + '-V' + slova_predicted + '[predikované]-M' + motor + ')';
  	
  } else {
  	GCSPredicted = GCSPoints;
  	GCSText = GCSPoints + ' (tj. O' + oci + '-V' + slova + '-M' + motor + ')';
  }

  if ( GCSPredicted == 15 ) {
    GCSResult = "plné vědomí, bez patologie";
  } else if ( GCSPredicted >= 13 ) {
    GCSResult = "lehká porucha vědomí";
  } else if ( GCSPredicted >= 9 ) {
    GCSResult = "střední porucha vědomí";
  } else {
    GCSResult = "závažná porucha vědomí";
  }

  $( '#lekarska_kalkulacka_GCS-points' ).text( GCSText );
  $( '#lekarska_kalkulacka_GCS-result' ).text( GCSResult );
});