<!--
function prepFormFields(form) {
	// Only apply to specific formName
	var htmlElements = Array('select', 'input', 'textarea');
	var htmlTempArray; 
	var origOBL;
	for (var i = 0; i < htmlElements.length; i++) {
		htmlTempArray = form.getElementsByTagName(htmlElements[i]);
		for (var j = 0; j < htmlTempArray.length; j++) {
			if (htmlTempArray[j].getAttribute("formfx")!='off') {
				//if (this.getAttribute("hilight")) {
				//	htmlTempArray[j].onmouseover = htmlTempArray[j].onfocus = function() {this.className = this.getAttribute("hilight");}
				//} else { 
					htmlTempArray[j].onmouseover = htmlTempArray[j].onfocus = function() {this.className = "fx-form-selected";}
				//}
				htmlTempArray[j].onmouseout = htmlTempArray[j].onblur = function() {this.className = "fx-form-default";}
			}
			
		} // for
	} // for
}

function isNotEmpty(elem) {
	var str = elem.value;
	if(str == null || str.length == 0)
		return false;
	else
		return true;
}

// THIS FUNCTION PERFORMS VALIDATION BASED ON A SET OF CUSTOM HTML ATTRIBUTES
function validate(form) {
	var attrVal, attrReg, attrEq, attrFail, strTemp;
	var attrGetValFrom, arr;
	
	for (var i = 0; i < form.length; i++) {
		attrVal = form[i].getAttribute("validate");
		
		switch (attrVal) {
			case 'required' :
				if (!isNotEmpty(form[i])) {
					attrFail = form[i].getAttribute("failure");

					if (attrFail)
						alert(attrFail);
					else     
						alert('You must complete all required form fields.');
					
					form[i].focus();
					return false;
				} // if
				break;

			case 'regex' :
				attrReg = form[i].getAttribute("regex");
				if (attrReg != null && attrReg.length != 0) {
					var regex = new RegExp(attrReg);
					strTemp = form[i].value;
					if (!strTemp.match(regex)) {
						attrFail = form[i].getAttribute("failure");

						if (attrFail)
							alert(attrFail);
						else
							alert('Invalid data format at field "' + form[i].name + '".');
						form[i].focus();
						return false;
					} // if
				} // if
				break;
				
			case 'email' :
				var regex = new RegExp(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/);
				strTemp = form[i].value;
				if (!strTemp.match(regex)) {
					attrFail = form[i].getAttribute("failure");

					if (attrFail)
						alert(attrFail);
					else
						alert('Invalid data format at field "' + form[i].name + '".');
					form[i].focus();
					return false;
				} // if
				break;
				
			case 'time' : //hh:mm
				var regex = new RegExp(/^(24):(00)|([01][0-9]|2[0-3]):([0-5][0-9])$/);
				strTemp = form[i].value;
				if (strTemp.length==0) {
					attrGetValFrom = form[i].getAttribute("getvalfrom");	// Expecting 2 set of values: HH and MM
					arr = String(attrGetValFrom).split("^");
					strTemp = eval('form.'+arr[0]+'.value'+'+":"+'+'form.'+arr[1]+'.value');
				}
				//alert('time: '+strTemp);
				if (!strTemp.match(regex)) {
					attrFail = form[i].getAttribute("failure");

					if (attrFail)
						alert(attrFail);
					else
						alert('Invalid data format at field "' + form[i].name + '".');
					form[i].focus();
					return false;
				} // if
				break;
				
			case 'equals' :
				attrEq = form[i].getAttribute("equals");
				var objEq = document.getElementById(attrEq);
				if (objEq) {
					if (form[i].value != objEq.value) {
						attrFail = form[i].getAttribute("failure");

						if (attrFail)
							alert(attrFail);
						else
							alert('Form fields do not match');

						form[i].focus();
						return false;
					} // if
				} // if
				break;
		} // switch

	} // for

	return true;
}

function getSelectedButton(buttonGroup){
	for (var i=0; i< buttonGroup.length; i++) {
		if (buttonGroup[i].checked) {
			return buttonGroup[i].value
		}
	}
	return 0
}

/* INCOMPLETE 
function addValidation(arrElements) {
	// Only apply to specific formName
	var htmlTempArray; 
	for (var i = 0; i < arrElements.length; i++) {
		elem = form.getElementsById(htmlElements[i]);
		elem.on
		for (var j = 0; j < htmlTempArray.length; j++) {
			if (htmlTempArray[j].getAttribute("formfx")!='off') {
				//if (this.getAttribute("hilight")) {
				//	htmlTempArray[j].onmouseover = htmlTempArray[j].onfocus = function() {this.className = this.getAttribute("hilight");}
				//} else { 
					htmlTempArray[j].onmouseover = htmlTempArray[j].onfocus = function() {this.className = "fx-form-selected";}
				//}
				htmlTempArray[j].onmouseout = htmlTempArray[j].onblur = function() {this.className = "fx-form-default";}
			}
			
		} // for
	} // for
} */

function submitOnce(theform){
	//if IE 4+ or NS 6+
	if (document.all||document.getElementById){
		//screen thru every element in the form, and hunt down "submit" and "reset"
		for (i=0;i<theform.length;i++){
			var tempobj=theform.elements[i]
			if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
			//disable em
			tempobj.disabled=true
		}
	}
}

var ns6=document.getElementById&&!document.all

function restrictinput(maxlength,e,placeholder){
	if (window.event&&event.srcElement.value.length>=maxlength)
	return false
	else if (e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength){
		var pressedkey=/[a-zA-Z0-9\.\,\/]/ //detect alphanumeric keys
		if (pressedkey.test(String.fromCharCode(e.which)))
		e.stopPropagation()
	}
}

function countlimit(maxlength,e,placeholder){
	var theform=eval(placeholder)
	var lengthleft=maxlength-theform.value.length
	var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder)
	if (window.event||e.target&&e.target==eval(placeholder)){
		if (lengthleft<0)
		theform.value=theform.value.substring(0,maxlength)
		placeholderobj.innerHTML=lengthleft
	}
}

function displaylimit(thename, theid, thelimit){
	var theform=theid!=""? document.getElementById(theid) : thename
	var limit_text='<b><span id="'+theform.toString()+'">'+thelimit+'</span></b> characters remaining on your input limit'
	if (document.all||ns6)
		document.write(limit_text)
	if (document.all){
		eval(theform).onkeypress=function(){ return restrictinput(thelimit,event,theform)}
		eval(theform).onkeyup=function(){ countlimit(thelimit,event,theform)}
}
else if (ns6){
		document.body.addEventListener('keypress', function(event) { restrictinput(thelimit,event,theform) }, true); 
		document.body.addEventListener('keyup', function(event) { countlimit(thelimit,event,theform) }, true); 
	}
}

function fvalid(p) {
	if (p.value.length==0) {
		f.focus();
		return false;																	
	} else return true;
}

function selOther(sel,val,tx,txid) {
	if (sel.options[sel.selectedIndex].value==val) {
		switchDiv(txid);
		tx.focus(); 
		return true;
	} else {
		changeObjectVisibility(txid,'hidden'); 
		return false;
	}
}

function selOther2(sel,val,tx,txid) {
	if (sel.options[sel.selectedIndex].value==val) {
		toggleLayer3(txid,'block');
		tx.focus(); 
		return true;
	} else {
		toggleLayer3(txid,'none');
		return false;
	}
}

function showSubSelect(sel,val,layerid) {
	if (sel.options[sel.selectedIndex].value==val) {
		toggleLayer3(layerid,'block');
		return true;
	} else {
		toggleLayer3(layerid,'none'); 
		return false;
	};
}

function chkdefselOther(sel,val,tx,txid) {
	if (sel.options[sel.selectedIndex].value == val) {
		switchDiv(txid);
		tx.focus();
	} else {
		changeObjectVisibility(txid,'hidden');
	} 
}

function chkdefselOther2(sel,val,tx,txid) {
	if (sel.options[sel.selectedIndex].value == val) {
		toggleLayer3(txid,'block');
		tx.focus();
	} else {
		toggleLayer3(txid,'none');
	} 
}

	
//-->