/**
 * 
 * Author:    Aaron Drake <adrake@wustl.edu>
 * Copyright: 2006 Washington University in St. Louis
 * License:   
 */



/**
 * Re-populates all select boxes after the one that's been changed.
 * param selectBox  the select box that's been changed
 * return void
 */
function refreshDropdown(selectBox)
{
	var sortCriteria = Array("Name", "Role", "Event Title", "Event Date");
	var idPrefix = "sortCriterion";
	var criterionNum = Number(selectBox.id.substring(idPrefix.length)) + 1;

	// initialize the array of sort criteria
	for (var i = 0; i < criterionNum; i++) {
		var curSelectBox = document.getElementById(idPrefix + i);
		var curOption = curSelectBox.options[curSelectBox.selectedIndex].innerHTML;
		var curCriteria = curOption.substring(0, curOption.lastIndexOf(" "));
		for (var j = 0; j < sortCriteria.length; j++) {
			if (sortCriteria[j] == curCriteria) {
				delete sortCriteria[j];
			}
		}
	}

	// re-popululate the subsequent select boxes' options
	while (curSelectBox = document.getElementById(idPrefix + criterionNum)) {
		// remove the current options in the select box
		for (var i = curSelectBox.options.length - 1; i >= 0; i--) {
			curSelectBox.removeChild(curSelectBox.options[i]);
		}

		// insert new options into the select box
		for (var i = 0; i < sortCriteria.length; i++) {
			// if the criterion has not been removed from the array
			if (i in sortCriteria) {
				var option = document.createElement('option');
				option.setAttribute('value', "'" + sortCriteria[i] + "' ASC");
				option.innerHTML = sortCriteria[i] + " (ASC)";
				curSelectBox.appendChild(option);
	
				option = document.createElement('option');
				option.setAttribute('value', "'" + sortCriteria[i] + "' DESC");
				option.innerHTML = sortCriteria[i] + " (DESC)";
				curSelectBox.appendChild(option);
			}
		}

		// remove the selected search criterion from the arrray
		var curOption = curSelectBox.options[curSelectBox.selectedIndex].innerHTML;
		var curCriteria = curOption.substring(0, curOption.lastIndexOf(" "));
		for (var i = 0; i < sortCriteria.length; i++) {
			if (sortCriteria[i] == curCriteria) {
				delete sortCriteria[i];
			}
		}

		criterionNum++;
	}
}