var browseable = new Array(5);
var browseableLinks = new Array(5);
var fuzzy = new Array(1);

browseable[0] = 'person';
browseable[1] = 'institution';
browseable[2] = 'geography';
browseable[3] = 'subject';
browseable[4] = 'occupation';


browseableLinks[0] = 'indexbrowser.jsf?';
browseableLinks[1] = 'indexbrowser.jsf?';
browseableLinks[2] = 'indexbrowser.jsf?';
browseableLinks[3] = 'indexbrowser.jsf?';
browseableLinks[4] = 'indexbrowser.jsf?';

fuzzy[0]='fullText';
//fuzzy[1]='person';
//fuzzy[2]='institution';
//fuzzy[3]='geography';
//fuzzy[4]='subject';
//fuzzy[5]='dtitle';
//fuzzy[6]='gindex';
//fuzzy[7]='occupation';
//fuzzy[8]='documentId';


var currentIndex = 0;

function updateBrowse(selectedValue, index, baseinputname, basedivname, linkbasename, indexname, language) {
    var input = document.getElementById(baseinputname + index);
    var div = document.getElementById(basedivname + index);
    var divfuzzy = document.getElementById(basedivname + "fuzzy:" + index);

    var link = document.getElementById(linkbasename + index);

    if (divfuzzy != null) {
        divfuzzy.style.display='none';
        for (var i = 0; i < fuzzy.length;i++) {
            if (fuzzy[i] == selectedValue) {
                divfuzzy.style.display = '';
            }
        }
    }

    if (div != null) {
        div.style.display = 'none';
        for (var i = 0; i < browseable.length; i++) {
            if (browseable[i] == selectedValue) {
                div.style.display = '';
                var url = browseableLinks[i] + "index=" + indexname + '&field=' + selectedValue;
                //if (i == 19) url = 'language/' + language + '/html/occupationClassification.html';
                url = "javascript:openpopup(\'" + url + "\', false, 800,700);";
                link.href = url;
                return;
            }
        }
    }

}
function activateLink(index, baseinputname, baseselectname, basedivname, baselinkname, indexname, language) {
    var select = document.getElementById(baseselectname + index);
    if (select != null) {
        updateBrowse(select.value, index, baseinputname, basedivname, baselinkname, indexname, language);
    }
}

function updateSearchText(value) {
    var input = opener.document.getElementById('mainForm:browse_input_' + opener.currentIndex);
    if (input == null) {
        alert("Could not update input with id=browse_input" + currentIndex);
    } else {
        input.value = value;
    }
}

function updateBrowseField(classname, inputbasename) {
    var input = opener.document.getElementById(inputbasename + opener.currentIndex);
    var radio = getElementsByClass(classname);
    if (radio != null && radio.length > 0 && input != null) {
        input.value = "";
        var value = "";
        for (i = 0; i < radio.length; i++) {
            value = value + '"' + radio[i].innerHTML.replace(/\"/g, '') + '" OR ';
        }
        value = value.substring(0, value.lastIndexOf(' OR '));
        input.value = value;
    }
    window.close();

}
function updateHistoryField(classname, inputbasename) {
    var input = opener.document.getElementById(inputbasename + opener.currentIndex);
    var radio = getElementsByClass(classname);
    if (radio != null && radio.length > 0 && input != null) {
        input.value = "";
        for (i = 0; i < radio.length; i++) {
            if (radio[i].checked) input.value = radio[i].value;
        }
    }
    window.close();
}

function getElementsByClass(searchClass, node, tag) {
    var classElements = new Array();
    if (node == null)
        node = document;
    if (tag == null)
        tag = '*';
    var els = node.getElementsByTagName(tag);
    var elsLen = els.length;
    var pattern = new RegExp("(^|\\s)" + searchClass + "(\\s|$)");
    var i = 0;
    var j = 0;
    for (i = 0,j = 0; i < elsLen; i++) {
        if (pattern.test(els[i].className)) {
            classElements[j] = els[i];
            j++;
        }
    }
    return classElements;
}
