function getNextFormElement(element) {
	if (element) {
		var i = 0;
		while (i < 10 && element.nodeType != 1 && element) {
			element = element.nextSibling;
			if (!element) {
				return false;
			}
		}
		if (i < 10) {
			return element;
		}
	}
	return false;
}

function activateRowFormControls(row) {
	var cell;
	if (cell = getNextFormElement(row.firstChild)) {
		activateCellFormControls(cell);
		while (cell = getNextFormElement(cell.nextSibling)) {
			activateCellFormControls(cell);
		}
	}
}

function activateCellFormControls(cell) {
	var element;
	if (element = getNextFormElement(cell.firstChild)) {
		activateFormControl(element);
		while (element = getNextFormElement(element.nextSibling)) {
			activateFormControl(element);
		}
	}
}

function activateFormControl(element) {
	if (element.name) {
		element.disabled = false;
	}
}

function deactivateRowFormControls(row) {
	var cell;
	if (cell = getNextFormElement(row.firstChild)) {
		deactivateCellFormControls(cell);
		while (cell = getNextFormElement(cell.nextSibling)) {
			deactivateCellFormControls(cell);
		}
	}
}

function deactivateCellFormControls(cell) {
	var element;
	if (element = getNextFormElement(cell.firstChild)) {
		deactivateFormControl(element);
		while (element = getNextFormElement(element.nextSibling)) {
			deactivateFormControl(element);
		}
	}
}

function deactivateFormControl(element) {
	if (element.name) {
		if (!element.name.match('delete')) {
			element.disabled = true;
		}
	}
}

function enableFormControlsRecursive(element) {
	// if the element itself is a form element, deactivate it
	activateFormControl(element);
	if (element.childNodes) {
		for (var i=0; i<element.childNodes.length; i++) {
			enableFormControlsRecursive(element.childNodes[i]);
		}
	}
}

function disableFormControlsRecursive(element) {
	// if the element itself is a form element, deactivate it
	deactivateFormControl(element);
	if (element.childNodes) {
		for (var i=0; i<element.childNodes.length; i++) {
			disableFormControlsRecursive(element.childNodes[i]);
		}
	}
}

function checkFormChanged() {
	if (document.formChanged == 1) {
		return 'WARNING: Changes you have made have not been saved and will be lost.';
	}
}

function selectNav(element) {
	nextPage = element.options[element.selectedIndex].value;
	element.disabled='true';
	document.body.style.cursor='wait';
	if (nextPage != "") {
		document.location.href = nextPage;
	}
}

function setFormChanged() {
	document.formChanged = 1;
}

function showPopMMDDYY(e) {
	var obj;
	if (!e) {
		var e = window.event;
	}
	if (e.target) {
		obj = e.target;
	}
	else if (e.srcElement) {
		obj = e.srcElement;
	}
	if (obj.nodeType == 3) { // defeat Safari bug
		obj = obj.parentNode;
	}
	document.legendPopupTag.show(obj,'mmddyy');
}
function hidePopMMDDYY() {
	document.legendPopupTag.hide();
}
