It seems the business logic only makes it bulkier.. However, you can use ternary operator and Jquery to make it look precise and pretty..
I have shown the ternary operators here..
<pre>function showData() {
document.getElementById('relativeConditions').style.display = (relativeYes.checked) ? 'block' : 'none';
document.getElementById('verification').style.display = (relativeNo.checked) ? 'block' : 'none';
document.getElementById('gender').style.display = (no.checked) ? (setOutPut('Nope'), 'none') : (setOutPut(''), 'block');
document.getElementById('profiling').style.display = (yes.checked) ? 'block' : 'none';
document.getElementById('secondPart').style.display = (profilingYes.checked) ? (setOutPut('Do'), 'none') : 'block';
if (profilingNo.checked) {
document.getElementById('gender').style.display = 'block';
}
document.getElementById('maleDiagnosis').style.display = (yes.checked && male.checked) ? 'block' : 'none';
document.getElementById('femaleDiagnosis').style.display = (yes.checked && female.checked) ? 'block' : 'none';
if (maleMlm.checked === true && maleDiagnosis.style.display == 'block') {
setOutPut('Do')
} else if (malePrt.checked) {
setOutPut('OTHER')
}
document.getElementById('jaw').style.display = (malePn.checked === true && maleMlm.checked === false) ? 'block' : 'none';
if (maleMlm.checked === false && malePn.checked === true && malePrt.checked === true) {
setOutPut('');
}
document.getElementById('output').innerHTML = (jawYes.checked) ? 'DO' : 'OTHER';
if ((maleMlm.checked || malePrt.checked || malePn.checked) && maleDiagnosis.style.display == 'none') {
maleMlm.checked = maleMlm.unchecked;
malePrt.checked = malePrt.unchecked;
malePn.checked = malePn.unchecked;
}
if ((jawYes.checked || jawNo.checked) && document.getElementById('jaw').style.display == 'none') {
jawYes.checked = jawYes.unchecked;
jawNo.checked = jawNo.unchecked;
}
if ((profilingNo.checked || profilingYes.checked) && profiling.style.display == 'none') {
profilingNo.checked = profilingNo.unchecked;
profilingYes.checked = profilingYes.unchecked;
}
}
function setOutPut(text) {
document.getElementById('output').innerHTML = text;
}