﻿$(document).ready(function () {
	configRadioGroups();
});

function configRadioGroups() {
	$allCalculators = $('.divCalcOuter');
	$.each($allCalculators, function (i1, l1) {
		$.each($(this).find('div.displayNone div.floatNone'), function (i2, l2) {
			if ($(this).find('input:radio').length > 0) {
				$randNum = 'rdo_' + randomNum();
				do { $randNum = 'rdo_' + randomNum();
				} while ($('#divMainContent').find('#' + $randNum + '0').length = 0);
				$allInputRadio = $(this).find('input:radio');
				$.each($allInputRadio, function (i3, l3) {
					$(this).attr('name', $randNum).attr('id', $randNum + i3);
					$($(this).parent().find('label').get(i3)).attr('for', $randNum + i3);
				});
			}
		});
	});
}

function verifyString(s) { return !isNaN(parseInt(s)); }
function closeBtn() {
	return '<div class=\"floatRight\" style=\"border:solid 1px #999; padding-left:3px; padding-right:3px;\">X</div>';
}

function calcBazetts(outerElem) {
	var inputQT = $($(outerElem).find('input:text').get(0));
	var inputPuls = $($(outerElem).find('input:text').get(1));
	var divError = $($(outerElem).find('.divCalcInfo'));
	var divResult = $($(outerElem).find('.divCalcResult'));

	if (inputQT, inputPuls, divError, divResult) {
		if (validateBazetts(inputQT, inputPuls, divError, divResult)) {
			if (divResult.hasClass('displayNone')) { divResult.removeClass('displayNone').addClass('displayBlock'); }

			var aQT = Number(parseFloat(inputQT.val().replace(",", ".")).toFixed(2));
			var aPL = Number(parseFloat(inputPuls.val().replace(",", ".")).toFixed(2));

			var aResul = aQT / Math.sqrt(60 / aPL);
			divResult.html('<span class=\"maincolor\">Resultat:</span><br/>QT<sub>c</sub>: ' + aResul.toFixed(2) + ' sekunder');
		}
	}
}

function validateBazetts(inputQT, inputPuls, divError, divResult) {
	var isValid = true; var txt = '';

	if (divResult && divResult.hasClass('displayBlock')) { divResult.removeClass('displayBlock').addClass('displayNone'); }

	if (inputQT.val() == '') {
		txt += 'QT er ikke angivet<br/>';
		isValid = false;
	}
	else if (!verifyString(inputQT.val())) {
		txt += 'QT er ikke numerisk<br/>';
		isValid = false;
	}
	else if (Number(inputQT.val().replace(",", ".")).toFixed(2) < 0.3 || Number(inputQT.val().replace(",", ".")).toFixed(2) > 0.6) {
		txt += 'QT er ikke i det tilladte interval (0,30 - 0,60)<br/>';
		isValid = false;
	}

	if (inputPuls.val() == "") { // ==== PULS
		txt += 'Puls er ikke angivet<br/>';
		isValid = false;
	} else if (!verifyString(inputPuls.val())) {
		txt += 'Puls er ikke numerisk<br/>';
		isValid = false;
	} else if (Number(inputPuls.val().replace(",", ".")) < 40 || Number(inputPuls.val().replace(",", ".")) > 120) {
		txt += ("Puls er ikke i det tilladte interval (40 - 120)<br/>");
		isValid = false;
	}

	divError.html('');
	if (divError.hasClass('displayBlock')) { divError.removeClass('displayBlock').addClass('displayNone'); }
	if (!isValid) {
		divError.html('<span class=\"colc51a1a\"><b>Fejl:</b></span><br/>' + txt);
		if (divError.hasClass('displayNone')) { divError.removeClass('displayNone').addClass('displayBlock'); }
	}

	return isValid;
}

/* ==== IBW ABW CALCULATOR ==== */
function calcIBWABW(outerElem) {

	var inputRdoGender1 = $($(outerElem).find('input:radio').get(0));
	var inputRdoGender2 = $($(outerElem).find('input:radio').get(1));
	var inputHeight = $($(outerElem).find('input:text').get(0));
	var inputWeight = $($(outerElem).find('input:text').get(1));
	var inputRdoMedical1 = $($(outerElem).find('input:radio').get(2));
	var inputRdoMedical2 = $($(outerElem).find('input:radio').get(3));
	var divError = $($(outerElem).find('.divCalcInfo'));
	var divResult = $($(outerElem).find('.divCalcResult'));

	if (inputRdoGender1, inputRdoGender2, inputHeight, inputWeight, inputRdoMedical1, inputRdoMedical2, divError, divResult) {
		if (validateIBWABW(inputRdoGender1, inputRdoGender2, inputHeight, inputWeight, inputRdoMedical1, inputRdoMedical2, divError, divResult)) {
			if (divResult.hasClass('displayNone')) { divResult.removeClass('displayNone').addClass('displayBlock'); }

			var hoejde = Number(parseFloat(inputHeight.val().replace(",", ".")));
			var vaegt = Number(parseFloat(inputWeight.val().replace(",", ".")));
			var IBW = 0;
			var ABW = 0;

			var gender = inputRdoGender1.is(':checked') ? 50 : 45;
			var medicament = inputRdoMedical1.is(':checked') ? 0.4 : 0.6;

			IBW = gender + (hoejde - 150) * 0.9;
			ABW = IBW + medicament * (vaegt - IBW);

			divResult.html('<span class=\"maincolor\">Resultat:</span><br/>IBM = IBW = ' + IBW.toFixed(1) + ' kg<br/>ABW = ' + ABW.toFixed(1) + ' kg');
		}
	}
}
function validateIBWABW(inputRdoGender1, inputRdoGender2, inputHeight, inputWeight, inputRdoMedical1, inputRdoMedical2, divError, divResult) {
	var isValid = true; var txt = '';

	if (divResult.hasClass('displayBlock')) { divResult.removeClass('displayBlock').addClass('displayNone'); }

	if (inputRdoGender1.is(":not(':checked')") && inputRdoGender2.is(":not(':checked')")) {
		txt += 'Køn er ikke angivet<br/>';
		isValid = false;
	}

	if (inputHeight.val() == '') {
		txt += 'Højde er ikke angivet<br/>';
		isValid = false;
	} else if (!verifyString(inputHeight.val())) {
		txt += 'Højde er ikke numerisk<br/>';
		isValid = false;
	} else if (Number(inputHeight.val().replace(",", ".")) < 150 || Number(inputHeight.val().replace(",", ".")) > 999) {
		txt += ("Højde er ikke i det tilladte interval (min. 150 cm)<br/>");
		isValid = false;
	}

	if (inputWeight.val() == '') {
		txt += 'Vægt er ikke angivet<br/>';
		isValid = false;
	}
	else if (!verifyString(inputWeight.val())) {
		txt += 'Vægt er ikke numerisk<br/>';
		isValid = false;
	}
	else if (Number(inputWeight.val().replace(',', '.')) < 1 || Number(inputWeight.val().replace(',', '.')) > 300) {
		txt += 'Vægt er ikke i det tilladte interval (1-300 kg)<br/>';
		isValid = false;
	}

	if (inputRdoMedical1.is(":not(':checked')") && inputRdoMedical2.is(":not(':checked')")) {
		txt += 'Lægemiddel er ikke angivet<br/>';
		isValid = false;
	}

	divError.html('');
	if (divError.hasClass('displayBlock')) { divError.removeClass('displayBlock').addClass('displayNone'); }
	if (!isValid) {
		divError.html('<span class=\"colc51a1a\"><b>Fejl:</b></span><br/>' + txt);
		if (divError.hasClass('displayNone')) { divError.removeClass('displayNone').addClass('displayBlock'); }
	}

	return isValid;
}
/* oooo IBW ABW CALCULATOR END oooo */

/* ==== SURFACE CALCULATOR ==== */
function calcSurface(outerElem) {
	var inputHeight = $($(outerElem).find('input:text').get(0));
	var inputWeight = $($(outerElem).find('input:text').get(1));
	var divError = $($(outerElem).find('.divCalcInfo'));
	var divResult = $($(outerElem).find('.divCalcResult'));

	if (inputWeight, inputHeight, divError, divResult) {
		if (validateSurface(inputWeight, inputHeight, divError, divResult)) {
			if (divResult.hasClass('displayNone')) { divResult.removeClass('displayNone').addClass('displayBlock'); }

			var aWgt = Number(parseFloat(inputWeight.val().replace(",", ".")));
			var aHgt = Number(parseFloat(inputHeight.val().replace(",", ".")));

			aHgt = Math.pow(aHgt, 0.725);
			aWgt = Math.pow(aWgt, 0.425);
			aResul = aWgt * aHgt * 0.007184; 

			divResult.html('<span class=\"maincolor\">Resultat:</span><br/>Areal: ' + aResul.toFixed(2) + ' m<sup>2</sup>');
		}
	}
}
function validateSurface(inputWeight, inputHeight, divError, divResult) {
	var isValid = true; var txt = '';

	if (divResult && divResult.hasClass('displayBlock')) { divResult.removeClass('displayBlock').addClass('displayNone'); }

	if (inputWeight.val() == '') {
		txt += 'Vægt er ikke angivet<br/>';
		isValid = false;
	}
	else if (!verifyString(inputWeight.val())) {
		txt += 'Vægt er ikke numerisk<br/>';
		isValid = false;
	}
	else if (Number(inputWeight.val().replace(",", ".")) < 1 || Number(inputWeight.val().replace(",", ".")) > 300) {
		txt += 'Vægt er ikke i det tilladte interval (1-300 kg)<br/>';
		isValid = false;
	}

	if (inputHeight.val() == "") {
		txt += 'Højde er ikke angivet<br/>';
		isValid = false;
	} else if (!verifyString(inputHeight.val())) {
		txt += 'Højde er ikke numerisk<br/>';
		isValid = false;
	} else if (Number(inputHeight.val().replace(",", ".")) < 50 || Number(inputHeight.val().replace(",", ".")) > 250) {
		txt += ("Højde er ikke i det tilladte interval (50-250 cm)<br/>");
		isValid = false;
	}

	divError.html('');
	if (divError.hasClass('displayBlock')) { divError.removeClass('displayBlock').addClass('displayNone'); }
	if (!isValid) {
		divError.html('<span class=\"colc51a1a\"><b>Fejl:</b></span><br/>' + txt);
		if (divError.hasClass('displayNone')) { divError.removeClass('displayNone').addClass('displayBlock'); }
	}

	return isValid;
}
/* oooo SURFACE CALCULATOR END oooo */

/* ==== COCKCROFT-GAULT CALCULATOR ==== */
//function cockroft(form) {
//	geschl = (form.Geschlecht[0].checked) ? "W" : "M";
//	if (geschl == "W")
//		gf = 0.85
//	else
//		gf = 1.00;
//	form.ccrea.value = (140.0 - form.age.value) * form.kg.value * gf / (72.0 * form.pc.value);
//	form.ccrea.value = 100. * form.ccrea.value;
//	form.ccrea.value = Math.round(form.ccrea.value) / 100.;
//}
function calcCockcroftGault(outerElem) {

	var inputSerumkreatinin = $($(outerElem).find('input:text').get(0));
	var inputRdo1 = $($(outerElem).find('input:radio').get(0));
	var inputRdo2 = $($(outerElem).find('input:radio').get(1));
	var inputWeight = $($(outerElem).find('input:text').get(1));
	var inputAge = $($(outerElem).find('input:text').get(2));
	var divError = $($(outerElem).find('.divCalcInfo'));
	var divResult = $($(outerElem).find('.divCalcResult'));

	if (inputSerumkreatinin, inputRdo1, inputRdo2, inputWeight, inputAge, divError, divResult) {
		if (validateCockcroftGault(inputSerumkreatinin, inputRdo1, inputRdo2, inputWeight, inputAge, divError, divResult)) {
			if (divResult.hasClass('displayNone')) { divResult.removeClass('displayNone').addClass('displayBlock'); }

			var serumkreatinin = Number(parseFloat(inputSerumkreatinin.val().replace(",", ".")));
			var weight = Number(parseFloat(inputWeight.val().replace(",", ".")));
			var age = Number(parseFloat(inputAge.val().replace(",", ".")));

			var gender = inputRdo1.is(':checked') ? 1.23 : 1.04;

			var result = (140.0 - age) * weight * gender / serumkreatinin;
			result = 100 * result;
			result = Math.round(result) / 100;

			divResult.html('<span class=\"maincolor\">Resultat:</span><br/>CrCl = ' + result + ' ml/min');
		}
	}
}
function validateCockcroftGault(inputSerumkreatinin, inputRdo1, inputRdo2, inputWeight, inputAge, divError, divResult) {
	var isValid = true; var txt = '';

	if (divResult.hasClass('displayBlock')) { divResult.removeClass('displayBlock').addClass('displayNone'); }

	if (inputSerumkreatinin.val() == '') {
		txt += 'Serumkreatinin i mikromol/liter er ikke angivet<br/>';
		isValid = false;
	}
	else if (!verifyString(inputSerumkreatinin.val())) {
		txt += 'Serumkreatinin i mikromol/liter er ikke numerisk<br/>';
		isValid = false;
	}

	if (inputRdo1.is(":not(':checked')") && inputRdo2.is(":not(':checked')")) {
		txt += 'Køn er ikke angivet<br/>';
		isValid = false;
	}

	if (inputWeight.val() == '') {
		txt += 'Vægt er ikke angivet<br/>';
		isValid = false;
	}
	else if (!verifyString(inputWeight.val())) {
		txt += 'Vægt er ikke numerisk<br/>';
		isValid = false;
	}
	else if (Number(inputWeight.val().replace(',', '.')) < 1 || Number(inputWeight.val().replace(',', '.')) > 300) {
		txt += 'Vægt er ikke i det tilladte interval (1-300 kg)<br/>';
		isValid = false;
	}

	if (inputAge.val() == '') {
		txt += 'Alder er ikke angivet<br/>';
		isValid = false;
	} else if (!verifyString(inputAge.val())) {
		txt += 'Alder er ikke numerisk<br/>';
		isValid = false;
	} else if (Number(inputAge.val().replace(",", ".")) < 1 || Number(inputAge.val().replace(",", ".")) > 120) {
		txt += ("Alder er ikke i det tilladte interval (1-120 år)<br/>");
		isValid = false;
	}

	divError.html('');
	if (divError.hasClass('displayBlock')) { divError.removeClass('displayBlock').addClass('displayNone'); }
	if (!isValid) {
		divError.html('<span class=\"colc51a1a\"><b>Fejl:</b></span><br/>' + txt);
		if (divError.hasClass('displayNone')) { divError.removeClass('displayNone').addClass('displayBlock'); }
	}

	return isValid;
}
/* oooo COCKCROFT-GAULT CALCULATOR END oooo */

/* ==== MDRD CALCULATOR ==== */
//function calAdultGFR() {
//	pcr = document.cal.xcr.value;
//	age = document.cal.age.value;
//	if (document.cal.race[0].checked) {
//		race = document.cal.race[0].value;
//	} else {
//		race = document.cal.race[1].value;
//	}
//	if (document.cal.gender[0].checked) {
//		gender = document.cal.gender[0].value;
//	} else {
//		gender = document.cal.gender[1].value;
//	}
//	result = Math.round((186 * (Math.pow(pcr, -1.154)) * (Math.pow(age, -0.203)) * race * gender));
//	if (result > 60) {
//		result = 'Above 60';
//	}
//	if (age < 18) {
//		result = 'N/A';
//	}
//	document.cal.result.value = result;
//}
function calcMDRD(outerElem) {

	var inputPkreatinin = $($(outerElem).find('input:text').get(0));
	var inputRdo1 = $($(outerElem).find('input:radio').get(0));
	var inputRdo2 = $($(outerElem).find('input:radio').get(1));
	//var inputWeight = $($(outerElem).find('input:text').get(1));
	var inputAge = $($(outerElem).find('input:text').get(1));
	var divError = $($(outerElem).find('.divCalcInfo'));
	var divResult = $($(outerElem).find('.divCalcResult'));

	if (inputPkreatinin, inputRdo1, inputRdo2, inputAge, divError, divResult) {
		if (validateMDRD(inputPkreatinin, inputRdo1, inputRdo2, inputAge, divError, divResult)) {
			if (divResult.hasClass('displayNone')) { divResult.removeClass('displayNone').addClass('displayBlock'); }

			var pkreatinin = Number(parseFloat(inputPkreatinin.val().replace(",", ".")));
			//var weight = Number(parseFloat(inputWeight.val().replace(",", ".")));
			var age = Number(parseFloat(inputAge.val().replace(",", ".")));

			var gender = inputRdo1.is(':checked') ? 1 : 0.742;

			var result = 175 * (Math.pow((pkreatinin / 88.4), -1.154)) * (Math.pow(age, -0.203)) * gender;
			//var result = Math.round((175 * (Math.pow(pkreatinin, -1.154)) * (Math.pow(age, -0.203)) * gender));

			divResult.html('<span class=\"maincolor\">Resultat:</span><br/>Estimeret GFR ' + result.toFixed(1) + ' ml/min/1,73m<sup>2</sup>');
		}
	}
}
function validateMDRD(inputPkreatinin, inputRdo1, inputRdo2, inputAge, divError, divResult) {
	var isValid = true; var txt = '';

	if (divResult.hasClass('displayBlock')) { divResult.removeClass('displayBlock').addClass('displayNone'); }

	if (inputPkreatinin.val() == '') {
		txt += 'P-kreatinin i mikromol/liter er ikke angivet<br/>';
		isValid = false;
	}
	else if (!verifyString(inputPkreatinin.val())) {
		txt += 'P-kreatinin i mikromol/liter er ikke numerisk<br/>';
		isValid = false;
	}
	//else if (Number(inputPkreatinin.val().replace(',', '.')) < 1 || Number(inputPkreatinin.val().replace(',', '.')) > 300) {
	//	txt += 'Serumkreatinin i mikromol/L er ikke i det tilladte interval (1-300kg)<br/>';
	//	isValid = false;
	//}

	if (inputRdo1.is(":not(':checked')") && inputRdo2.is(":not(':checked')")) {
		txt += 'Køn er ikke angivet<br/>';
		isValid = false;
	}

//	if (inputWeight.val() == '') {
//		txt += 'Vægt er ikke angivet<br/>';
//		isValid = false;
//	}
//	else if (!verifyString(inputWeight.val())) {
//		txt += 'Vægt er ikke numerisk<br/>';
//		isValid = false;
//	}
//	else if (Number(inputWeight.val().replace(',', '.')) < 1 || Number(inputWeight.val().replace(',', '.')) > 300) {
//		txt += 'Vægt er ikke i det tilladte interval (1-300 kg)<br/>';
//		isValid = false;
//	}

	if (inputAge.val() == '') {
		txt += 'Alder er ikke angivet<br/>';
		isValid = false;
	} else if (!verifyString(inputAge.val())) {
		txt += 'Alder er ikke numerisk<br/>';
		isValid = false;
	} else if (Number(inputAge.val().replace(",", ".")) < 1 || Number(inputAge.val().replace(",", ".")) > 120) {
		txt += ("Alder er ikke i det tilladte interval (1-120 år)<br/>");
		isValid = false;
	}

	divError.html('');
	if (divError.hasClass('displayBlock')) { divError.removeClass('displayBlock').addClass('displayNone'); }
	if (!isValid) {
		divError.html('<span class=\"colc51a1a\"><b>Fejl:</b></span><br/>' + txt);
		if (divError.hasClass('displayNone')) { divError.removeClass('displayNone').addClass('displayBlock'); }
	}

	return isValid;
}
/* oooo MDRD CALCULATOR END oooo */

/* ==== BMI CALCULATOR ==== */

//function cal_bmi(wt, ht) {
//	h1 = ht / 100
//	h2 = h1 * h1;
//	bmi = Math.round((wt / h2) * 100) / 100
//	return bmi;
//}
function calcBMI(outerElem) {
	var inputHeight = $($(outerElem).find('input:text').get(0));
	var inputWeight = $($(outerElem).find('input:text').get(1));
	var divError = $($(outerElem).find('.divCalcInfo'));
	var divResult = $($(outerElem).find('.divCalcResult'));

	if (inputWeight, inputHeight, divError, divResult) {
		if (validateBMI(inputWeight, inputHeight, divError, divResult)) {
			if (divResult.hasClass('displayNone')) { divResult.removeClass('displayNone').addClass('displayBlock'); }

			var aWgt = Number(parseFloat(inputWeight.val().replace(",", ".")));
			var aHgt = Number(parseFloat(inputHeight.val().replace(",", ".")));

			aHgt = aHgt / 100
			aHgt = aHgt * aHgt;

			var aResul = Math.round((aWgt / aHgt) * 100) / 100;

			divResult.html('<span class=\"maincolor\">Resultat:</span><br/>BMI = ' + aResul.toFixed(1));
		}
	}
}
function validateBMI(inputWeight, inputHeight, divError, divResult) {
	var isValid = true; var txt = '';

	if (divResult && divResult.hasClass('displayBlock')) { divResult.removeClass('displayBlock').addClass('displayNone'); }

	if (inputWeight.val() == '') {
		txt += 'Vægt er ikke angivet<br/>';
		isValid = false;
	}
	else if (!verifyString(inputWeight.val())) {
		txt += 'Vægt er ikke numerisk<br/>';
		isValid = false;
	}
	else if (Number(inputWeight.val().replace(",", ".")) < 1 || Number(inputWeight.val().replace(",", ".")) > 300) {
		txt += 'Vægt er ikke i det tilladte interval (1-300 kg)<br/>';
		isValid = false;
	}

	if (inputHeight.val() == "") {
		txt += 'Højde er ikke angivet<br/>';
		isValid = false;
	} else if (!verifyString(inputHeight.val())) {
		txt += 'Højde er ikke numerisk<br/>';
		isValid = false;
	} else if (Number(inputHeight.val().replace(",", ".")) < 50 || Number(inputHeight.val().replace(",", ".")) > 250) {
		txt += ("Højde er ikke i det tilladte interval (50-250 cm)<br/>");
		isValid = false;
	}

	divError.html('');
	if (divError.hasClass('displayBlock')) { divError.removeClass('displayBlock').addClass('displayNone'); }
	if (!isValid) {
		divError.html('<span class=\"colc51a1a\"><b>Fejl:</b></span><br/>' + txt);
		if (divError.hasClass('displayNone')) { divError.removeClass('displayNone').addClass('displayBlock'); }
	}

	return isValid;
}
/* oooo BMI CALCULATOR END oooo */
/* ==== IBW CALCULATOR ==== */
function calcIBW(outerElem) {

	var inputRdoGender1 = $($(outerElem).find('input:radio').get(0));
	var inputRdoGender2 = $($(outerElem).find('input:radio').get(1));
	var inputHeight = $($(outerElem).find('input:text').get(0));
	var divError = $($(outerElem).find('.divCalcInfo'));
	var divResult = $($(outerElem).find('.divCalcResult'));

	if (inputRdoGender1, inputRdoGender2, inputHeight, divError, divResult) {
		if (validateIBW(inputRdoGender1, inputRdoGender2, inputHeight, divError, divResult)) {
			if (divResult.hasClass('displayNone')) { divResult.removeClass('displayNone').addClass('displayBlock'); }

			var hoejde = Number(parseFloat(inputHeight.val().replace(",", ".")));
			var IBW = 0;

			var gender = inputRdoGender1.is(':checked') ? 50 : 45;

			IBW = gender + (hoejde - 150) * 0.9;

			divResult.html('<span class=\"maincolor\">Resultat:</span><br/>IBM = IBW = ' + IBW.toFixed(1) + ' kg');
		}
	}
}
function validateIBW(inputRdoGender1, inputRdoGender2, inputHeight, divError, divResult) {
	var isValid = true; var txt = '';

	if (divResult.hasClass('displayBlock')) { divResult.removeClass('displayBlock').addClass('displayNone'); }

	if (inputRdoGender1.is(":not(':checked')") && inputRdoGender2.is(":not(':checked')")) {
		txt += 'Køn er ikke angivet<br/>';
		isValid = false;
	}

	if (inputHeight.val() == '') {
		txt += 'Højde er ikke angivet<br/>';
		isValid = false;
	} else if (!verifyString(inputHeight.val())) {
		txt += 'Højde er ikke numerisk<br/>';
		isValid = false;
	} else if (Number(inputHeight.val().replace(",", ".")) < 150 || Number(inputHeight.val().replace(",", ".")) > 999) {
		txt += ("Højde er ikke i det tilladte interval (min. 150 cm)<br/>");
		isValid = false;
	}

	divError.html('');
	if (divError.hasClass('displayBlock')) { divError.removeClass('displayBlock').addClass('displayNone'); }
	if (!isValid) {
		divError.html('<span class=\"colc51a1a\"><b>Fejl:</b></span><br/>' + txt);
		if (divError.hasClass('displayNone')) { divError.removeClass('displayNone').addClass('displayBlock'); }
	}

	return isValid;
}
/* oooo IBW CALCULATOR END oooo */































/* ==== IBW DOSIS CALCULATOR ==== */
function calcIBWdosis(outerElem) {
	var inputHeight = $($(outerElem).find('input:text').get(0));
	var inputWeight = $($(outerElem).find('input:text').get(1));
	var inputDosis = $($(outerElem).find('input:text').get(2));
	var divError = $($(outerElem).find('.divCalcInfo'));
	var divResult = $($(outerElem).find('.divCalcResult'));

	if (inputWeight, inputHeight, inputDosis, divError, divResult) {
		if (validateIBWdosis(inputWeight, inputHeight, inputDosis, divError, divResult)) {
			if (divResult.hasClass('displayNone')) { divResult.removeClass('displayNone').addClass('displayBlock'); }

			var aHgt = Number(parseFloat(inputHeight.val().replace(",", ".")));
			var aWgt = Number(parseFloat(inputWeight.val().replace(",", ".")));
			var aDss = Number(parseFloat(inputDosis.val().replace(",", ".")));

			aHgt = Math.pow(aHgt, 0.725);
			aWgt = Math.pow(aWgt, 0.425);
			var aTot = aWgt * aHgt * 0.007184;
			var aResul = aTot * aDss;

			divResult.html('<span class=\"maincolor\">Resultat:</span><br/>Overfladeareal A = ' + aTot.toFixed(2) + ' m<sup>2</sup><br />Beregnet enkeltdosis = A x Enkeltdosis pr. m2 = ' + aResul.toFixed(2) + ' mg');
		}
	}
}
function validateIBWdosis(inputWeight, inputHeight, inputDosis, divError, divResult) {
	var isValid = true; var txt = '';

	if (divResult && divResult.hasClass('displayBlock')) { divResult.removeClass('displayBlock').addClass('displayNone'); }

	if (inputHeight.val() == "") {
		txt += 'Højde er ikke angivet<br/>';
		isValid = false;
	} else if (!verifyString(inputHeight.val())) {
		txt += 'Højde er ikke numerisk<br/>';
		isValid = false;
	} else if (Number(inputHeight.val().replace(",", ".")) < 50 || Number(inputHeight.val().replace(",", ".")) > 250) {
		txt += ("Højde er ikke i det tilladte interval (50-250 cm)<br/>");
		isValid = false;
	}

	if (inputWeight.val() == '') {
		txt += 'Vægt er ikke angivet<br/>';
		isValid = false;
	} else if (!verifyString(inputWeight.val())) {
		txt += 'Vægt er ikke numerisk<br/>';
		isValid = false;
	} else if (Number(inputWeight.val().replace(",", ".")) < 1 || Number(inputWeight.val().replace(",", ".")) > 300) {
		txt += 'Vægt er ikke i det tilladte interval (1-300 kg)<br/>';
		isValid = false;
	}

	if (inputDosis.val() == '') {
		txt += 'Enkeltdosis pr. m<sup>2</sup> er ikke angivet<br/>';
		isValid = false;
	} else if (!verifyString(inputDosis.val())) {
		txt += 'Enkeltdosis pr. m<sup>2</sup> er ikke numerisk<br/>';
		isValid = false;
	} //else if (Number(inputDosis.val().replace(",", ".")) < 1 || Number(inputDosis.val().replace(",", ".")) > 300) {
	//	txt += 'Vægt er ikke i det tilladte interval (1-300 kg)<br/>';
	//	isValid = false;
	//}

	divError.html('');
	if (divError.hasClass('displayBlock')) { divError.removeClass('displayBlock').addClass('displayNone'); }
	if (!isValid) {
		divError.html('<span class=\"colc51a1a\"><b>Fejl:</b></span><br/>' + txt);
		if (divError.hasClass('displayNone')) { divError.removeClass('displayNone').addClass('displayBlock'); }
	}

	return isValid;
}
/* oooo IBW DOSIS CALCULATOR END oooo */
