//
// Form field class
//
// @param string strFieldName The value of the field's name attribute
//
function FormField(strFieldName) {
	this.arrField = document.getElementsByName(strFieldName);


	//
	// Gets the value of the field
	//
	// @return string
	//
	this.getValue = function() {
		if (this.arrField) {
			switch (this.arrField[0].type) {
				case 'text':
					return this.arrField[0].value;
					break;

				case 'select-one':
					return this.arrField[0].selectedIndex;
					break;

				case 'radio':
					for (var i = 0; i < this.arrField.length; i++) {
						if (this.arrField[i].checked) {
							return this.arrField[i].value;
						}
					}

					return '';

					break;
			}
		}

		else return '';
	}


	//
	// Sets the value of the field
	//
	// @param string strValue The new value
	//
	this.setValue = function(strValue) {
		if (this.arrField) {
			switch (this.arrField[0].type) {
				case 'text':
					this.arrField[0].value = strValue;
					break;

				case 'select-one':
					this.arrField[0].selectedIndex = strValue;
					break;

				case 'radio':
					for (var i = 0; i < this.arrField.length; i++) {
						if (this.arrField[i].value = strValue) {
							this.arrField[i].checked = true;
						} else {
							this.arrField[i].checked = false;
						}
					}
					break;
			}
		}
	}


	//
	// Disables a field
	//
	this.disable = function() {
		if (this.arrField) {
			for (var i = 0; i < this.arrField.length; i++) {
				this.arrField[i].disabled = 'disabled';
			}
		}
	}


	//
	// Enables a field
	//
	this.enable = function() {
		if (this.arrField) {
			for (var i = 0; i < this.arrField.length; i++) {
				this.arrField[i].disabled = '';
			}
		}
	}


	//
	// Toggles a field's disabled status
	//
	this.toggleDisable = function() {
		if (this.arrField) {
			for (var i = 0; i < this.arrField.length; i++) {
				if (this.arrField[i].disabled == 'disabled') {
					this.arrField[i].disabled = '';
				} else {
					this.arrField[i].disabled = 'disabled';
				}
			}
		}
	}
}
