// Call with 4 arguments:
//	Select object to be changed
//	Array of items, one per <option>:
//	    array[i][0] = label
//	    array[i][1] = value
//      Initial option label to show normally
//	Initial option label to show if itemArray is null for some reason

// $Id: setoptions.js,v 1.1 2001/07/02 15:35:16 dfranklin Exp $

function setOptions(selectCtrl, itemArray, goodPrompt, badPrompt)
{
    var i, j;
    var prompt;

    // empty existing items
    for (i = selectCtrl.options.length; i >= 0; i--) {
        selectCtrl.options[i] = null; 
    }
    prompt = (itemArray != null) ? goodPrompt : badPrompt;
    if (prompt == null) {
        j = 0;
    } else {
        selectCtrl.options[0] = new Option(prompt);
        j = 1;
    }
    if (itemArray != null) {
    	// add new items
    	for (i = 0; i < itemArray.length; i++) {
    	    selectCtrl.options[j] = new Option(itemArray[i][0]);
    	    if (itemArray[i][1] != null) {
    	        selectCtrl.options[j].value = itemArray[i][1]; 
    	    }
    	    j++;
    	}
    	// select first item (prompt) for sub list
    	selectCtrl.options[0].selected = true;
    }
}

