var separators;

function setSeparator(fieldName) {
    if (document.getElementById(fieldName + "_or").checked) {
        separators[fieldName] = "+OR+";
    } else {
	separators[fieldName] = "+AND+";
    }
    setHiddenValue(fieldName);
}


function dropSelectedOption(fieldName) {
    var listboxObject = document.getElementById(fieldName + "_listbox");
    var i;
    for (i = listboxObject.length - 1; i>=0; i--) {
        if (listboxObject.options[i].selected) {
            if (listboxObject.options[i].value != "-----") {
                listboxObject.remove(i);
            }
        }
    }
    setHiddenValue(fieldName);
}

function dropAllOptions(fieldName) {
    var listboxObject = document.getElementById(fieldName + "_listbox");
    var i;
    for (i = listboxObject.length - 1; i>=0; i--) {
            if (listboxObject.options[i].value != "-----") {
                listboxObject.remove(i);
	    }
    }
    setHiddenValue(fieldName);
}

function checkListboxValue(fieldName, value) {
    var listboxObject = document.getElementById(fieldName + "_listbox");
    for (i = listboxObject.length - 1; i >= 0; i--) {
        if (listboxObject.options[i].value == value) {
            return true;
        }
    }
    return false;
}

function setHiddenValue(fieldName) {
  values = "";
  var listboxObject = document.getElementById(fieldName + "_listbox");

 for (i = listboxObject.length - 1; i>=0; i--) {
     if (listboxObject.options[i].value != "-----") {
        values += listboxObject.options[i].value + separators[fieldName];
     }
}

	values=values.substring(0, values.lastIndexOf(separators[fieldName]));
	document.getElementById(fieldName).value = values;
}

function addOption(fieldName) {
    num  = 1;
    var selectObject = document.getElementById(fieldName + "_selector");
    var newOption = document.createElement('option');
    newOption.text = selectObject.options[selectObject.selectedIndex].text;
    newOption.value = selectObject.options[selectObject.selectedIndex].value;
    if (! checkListboxValue(fieldName, newOption.value)) {
        var listboxObject = document.getElementById(fieldName + "_listbox");
        try {
            listboxObject.add(newOption, null); // standards compliant; doesn't work in IE
        }
        catch(ex) {
            listboxObject.add(newOption); // IE only
        }
    }
    setHiddenValue(fieldName);
}
