﻿// --------
// Automatic Submission of Forms on Change
// --------

(function() {



// Supporting functions
//

function hasClass(obj, className) {
    var re = new RegExp("\\b" + className + "\\b");
    return re.test(obj.className);
}





// Event assignment
//

function onFieldChange() {
    //var year = this.options[this.selectedIndex].value;
    //if (year) document.location.search = "PubYear=" + year;
    //alert("change");
    this.form.submit();
}


function setupFormEvents() {
    var selects = document.getElementsByTagName("select");
    var select, s=0;
    while (select = selects[s++]) {
        if (hasClass(select, "autoSubmit")) {
            select.onchange = onFieldChange;
        }
    }

    var inputs = document.getElementsByTagName("input");
    var input, i=0;
    while (input = inputs[i++]) {
        if (hasClass(input, "autoSubmit")) {
            input.onclick = onFieldChange;
        }
    }
}


if (!window.onload) {
    window.onload = setupFormEvents;
}
else {
    var oldLoadFunc = window.onload;
    window.onload = function() {
        oldLoadFunc();
        setupFormEvents();
    }
}





})()
