function formatNumber(field) {
	var oldVal = field.value;
	var r1 = new RegExp("^[0-9]+$");
	if (r1.test(oldVal)) {
		var newVal = '';
		var oldValLen = oldVal.length;
		for (i=0; i<oldValLen; i++) {
			if (!((oldValLen-i)%3) && i) {
				newVal += ',';
			}
			newVal += oldVal.charAt(i);
		}
	} else {
		newVal = oldVal;
	}
		
	field.value = newVal;
}

function tabFields(currField, nextField) {
	if (currField.getAttribute && (currField.value.length==currField.getAttribute("maxlength"))) {
		nextField.focus();
	}
}

function sortTable(tblName, sortParam) {
	var theForm = document.forms[tblName];
	theForm.sort_param.value = sortParam;
	theForm.submit();
	//alert(theForm.sort_param.value);
	return true;
}

function setFocus(fieldName) {
//	var theField = document.forms[formName].elements[fieldName];
//	var theField = document.eval(formName).eval(fieldName);
//	alert($(fieldName));
	$(fieldName).focus();
}

function miReminder(formName) {
	// if both first and last name are filled in but MI remains empty
	// when either firstname/lastname field loses focus, remind user that middle initial is required
	var fFirstName = document.forms[formName].elements["name_first"];
	var fMI = document.forms[formName].elements["name_mi"];
	var fLastName = document.forms[formName].elements["name_last"];
	if (fFirstName.value && fLastName.value && !fMI.value) {
		alert("NOTE:\rMiddle initial is required. If you don't have one, simply enter a space in that field.");
		setFocus("mi");
	}
}

function miReminderMult(formName, whichContact) {
	// for forms with multiple contacts (e.g. owner registration)
	var fFirstName = document.forms[formName].elements["name_first"+whichContact];
	var fMI = document.forms[formName].elements["name_mi"+whichContact];
	var fLastName = document.forms[formName].elements["name_last"+whichContact];
	if (fFirstName.value && fLastName.value && !fMI.value) {
		alert("NOTE:\rMiddle initial is required. If you don't have one, simply enter a space in that field.");
		setFocus("mi"+whichContact);
	}
}

function disableBtn(btnID, disableYN) {
	var theBtn = document.getElementById(btnID);
	theBtn.disabled = disableYN;
}

var scrollTimeoutID = null;

function gotoAnchor(anchorID) {
	scrollTimeoutID = setTimeout(anchorScroll, 200, anchorID);
}

function anchorScroll(anchorID) {
	var oAnchor = document.getElementById(anchorID);
	var destY = oAnchor.offsetTop + oAnchor.offsetParent.offsetTop;
//	alert(destY);
	window.scrollTo(0,destY);
	clearTimeout(scrollTimeoutID);
}
	
function toggleTextareaRows(element, focused) {
	var rows = focused ? 6 : 2;
	element.setAttribute("rows", rows);
}

function toggleSubhead(objHead) {
	var head = objHead.getElementsByTagName("span")[0];
	if (head.style.visibility != 'visible') {
		head.style.visibility = 'visible';
	} else {
		head.style.visibility = 'hidden';
	}
}

function addBlock(pBlockRoot, pBlockLimit) {
	// assumes block pattern of pBlockRoot1, pBlockRoot2, ...pBlockRoot{n}
	for (var i=1; i<=pBlockLimit; i++) {
		var block = $(pBlockRoot + i);
		if (block.className == 'fBlockHide') {
			block.className = 'fBlock';
			break;
		}
	}
}




