function resetAll() {
    clearRadioValue(document.selectorForm.q1);
    clearRadioValue(document.selectorForm.q2);
    clearRadioValue(document.selectorForm.q3);
    processSelections();
}


function printRecs() {
    window.print();
}

function parseQueryString(str) {
    str = str ? str : location.search;
    var query = str.charAt(0) == '?' ? str.substring(1) : str;
    var args = new Object();
    if (query) {
        var fields = query.split('&');
        for (var f = 0; f < fields.length; f++) {
            var field = fields[f].split('=');
            args[unescape(field[0].replace(/\+/g, ' '))] = unescape(field[1].replace(/\+/g, ' '));
        }
    }
    return args;
}

function processSelections() {

    var results = Array();

    /* default results */
    results[0] = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];
    results[1] = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];
    results[2] = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];

    var idx;
    var idx1;
    var idx2;
    var questions = 3;
    var items = 35;
    var count = 0;

    /* get form input */
    var q1 = getRadioValue(document.selectorForm.q1);
    var q2 = getRadioValue(document.selectorForm.q2);
    var q3 = getRadioValue(document.selectorForm.q3);

    if (q1 != 'undefined') {
        if (q1 == 'a') {
            results[0] = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1];
        } else if (q1 == 'b') {
            results[0] = [0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1];
        } else if (q1 == 'c') {
            results[0] = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1];
        }
    }
    if (q2 != 'undefined') {
        if (q2 == 'a') {
            results[1] = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1];
        } else if (q2 == 'b') {
            results[1] = [0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,1,1];
        } else if (q2 == 'c') {
            results[1] = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1];
        } else if (q2 == 'd') {
            results[1] = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0];
        } else if (q2 == 'e') {
            results[1] = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,0];
        }
    }
    if (q3 != 'undefined') {
        if (q3 == 'a') {
            results[2] = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1];
        } else if (q3 == 'b') {
            results[2] = [0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1];
        } else if (q3 == 'c') {
            results[2] = [0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1];
        } else if (q3 == 'd') {
            results[2] = [0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0];
        } else if (q3 == 'e') {
            results[2] = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0];
        } else if (q3 == 'f') {
            results[2] = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0];
        }
    }

    selections = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];

    for (idx1 = 0; idx1 < questions; idx1++) {
        for (idx2 = 0; idx2 < items; idx2++) {
            if (results[idx1][idx2] == 0) {
                selections[idx2] = 0;
            }
        }
    }

    var count = 0;
    for (idx = 0; idx < items; idx++) {
        if (selections[idx] == 1) {
            count++;
        }
    }

    document.getElementById("matchNum").innerHTML = count;
    for (var idx = 1; idx <= items; idx++) {
        var stridx = String(idx);
        if (selections[idx - 1] == 1) {
            document.getElementById(stridx).style.display = 'block';
        } else {
            document.getElementById(stridx).style.display = 'none';
        }
    }
}

function setRadioValue(radioElement, value) {
    for (var i = 0; i < radioElement.length; i++) {
        if (radioElement[i].value == value) {
            radioElement[i].checked = true;
            return;
        }
    }
}

function getRadioValue(radioElement) {
    for (var i = 0; i < radioElement.length; i++) {
        if (radioElement[i].checked) {
            return radioElement[i].value;
        }
    }
    return 'undefined';
}

function clearRadioValue(radioElement) {
    for (var i = 0; i < radioElement.length; i++) {
        if (radioElement[i].checked) {
            radioElement[i].checked = false;
        }
    }
}

