
// ==================================================================

// SELECT

/**
 * Sets up areas to be visible/invisible depending on value of select
 */
function addToggleSelect( field, valueToArea ) {
	field.onchange = function() {
		for ( var ifThisValue in valueToArea ) {
			var area = valueToArea[ifThisValue];
			
			if ( this.value == ifThisValue ) {
				// Value is for me.
				toggleClass( area, "invisible", "off" );
			} else {
				// Value isn't for me
				toggleClass( area, "invisible", "on" );
			}
		}
	};
	
	// Make sure things are as they need to be.
	field.onchange();
}



// ==================================================================

// RADIO / CHECKBOX

/**
 * Sets up areas to be visible/invisible depending on value of radio / checkbox
 */
function addToggleRadio( fieldList, valueToArea ) {
	for ( var i=0; i < fieldList.length; i++ ) {
		var field = fieldList.item(i);
		
		field.onclick = function() {
			var currentValue = getCurrentValueOfRadio(fieldList);
			selectRadio(currentValue, valueToArea);
		};
	}
	
	var currentValue = getCurrentValueOfRadio(fieldList);
	selectRadio(currentValue, valueToArea);
}
function getCurrentValueOfRadio(fieldList) {
	var value = null;
	for ( var i=0; i < fieldList.length; i++ ) {
		var field = fieldList.item(i);
		if ( field.checked ) {
			value = field.value;
			// break; // commented out so it works with selectManyCheckbox
		}
	}
	return value;
}
function selectRadio(valueWant, valueToArea) {
	for ( var value in valueToArea ) {
		var area = valueToArea[value];
		if ( value == valueWant) {
			// Visible
			toggleClass( area, "invisible", "off" );
		} else {
			toggleClass( area, "invisible", "on" );
		}
	}
}

// ==================================================================
