function fetch_field(form_name, field_name){
	var el_name = "document.forms['" + form_name + "']" + ".elements['" + field_name + "']";
	return eval(el_name);
}

// enables or disables an batch of controls
// fields_enable is a bool indicating whether they're enabled/disabled, true being enabled
// fields is an array of control ids. If an ID is a container, then all of its children
// are enabled/disabled
// callback is a function you can call to handle any extra enabling/disabling
function swap_all_enabled(form_name, fields_enable, fields, callback){
	for(var i=0; i<fields.length; i++) {
		var field = fetch_field(form_name, fields[i]);
		if (field != null && field != undefined) {
			field.disabled = (!fields_enable);
		}
	}
	
	// Call our callback
	(callback || function() { })(fields_enable,fields);	
}

function disable_field(field, val, on_class, off_class){
	if (!field) return false;
	field.disabled = val;
	if (!off_class) off_class = on_class;
	if (val && off_class){
		field.className = off_class;
	} else if (!val && on_class){
		field.className = on_class;
	}
	return true;
}

function toggleDate(datename)
{
	if (datename == undefined || datename == null) return;
	disable_field(document.getElementById(datename+'[Date_Year]'), document.getElementById(datename+'[never]').checked, 'Select', 'SelectDisabled');
	disable_field(document.getElementById(datename+'[Date_Month]'), document.getElementById(datename+'[never]').checked, 'Select', 'SelectDisabled');
	disable_field(document.getElementById(datename+'[Date_Day]'), document.getElementById(datename+'[never]').checked, 'Select', 'SelectDisabled');
}
function toggleTime(datename)
{
	if (datename == undefined || datename == null) return;
	disable_field(document.getElementById(datename+'[Date_Hour]'), document.getElementById(datename+'[never]').checked, 'Select', 'SelectDisabled');
	disable_field(document.getElementById(datename+'[Date_Minute]'), document.getElementById(datename+'[never]').checked, 'Select', 'SelectDisabled');
	if (document.getElementById(datename+'[Date_Second]')) disable_field(document.getElementById(datename+'[Date_Second]'), document.getElementById(datename+'[never]').checked, 'Select', 'SelectDisabled');
}

