	function checkNumValid (str, notzero) {
		// return True if either non-numeric or less than or equal to 0
		var isbad=0, oneval;
		
		oneval = trimNumStr(str);
		if (oneval.length < 1) {
			isbad = 1;
		} else {
			if (isNaN(oneval)) {
				isbad = 1;
			} else {
				if (notzero) {
					if (oneval <= 0)
						isbad = 1;
				} else {
					if (oneval < 0)
						isbad = 1;			
				}
			}		
		}

		return isbad;	
	}
	
	function trimNumStr (str) {
		var newstr;
		//str = "$13,456,222.00";
		// remove all commas and dollar signs from string
		re = /\%|\,|\$+/g;

		newstr = str.replace(re, "");
		//alert (newstr);
		return newstr;
	}	
	
	function setElementColor (obj, setcolor) {
		// set color parameter of given object
		if (document.getElementsByTagName && document.getElementById) {
			//Netscape 6+ model (also works in IE 6)
			document.getElementById(obj).style.color = setcolor;
		} else {
			if (document.all) {
				//IE model (at least, versions prior to 6)
				document.all(obj).style.color = setcolor;	
			}	
		}	
	}
	
	function setElementText (obj, str) {
		// update HTML of element requested
		if (document.getElementsByTagName && document.getElementById) {
			//Netscape 6+ model (also works in IE 6)
			document.getElementById(obj).innerHTML = str;
		} else {
			if (document.all) {
				//IE model (at least, versions prior to 6)
				document.all(obj).innerHTML = str;	
			}	
		}		
	}	

	function toggleVisibility (obj, force) {
		var stat, setstyl, obj;
		
		if (force >= 0) {
			//if force parameter passed, don't toggle mode, set it to mode passed in
			if (force == 1)
				setstyl = 'visible';
			else
				setstyl = 'hidden';
		} else {
			//toggle mode from whatever it is now, so need to check current status
			stat = null;
			if (document.getElementsByTagName && document.getElementById) {
				//Netscape 6+ model (also works in IE 6)
				if (document.getElementById(obj))
					stat = document.getElementById(obj).style.visibility;
			} else {
				if (document.all) {
					//IE model (at least, versions prior to 6)
					if (document.all(obj))
						stat = document.all(obj).style.visibility;	
				}	
			}		
			//set to opposite of current status
			setstyl = null;
			if (stat == 'visible')
				setstyl = 'hidden';
			else {
				if (stat == 'hidden')
					setstyl = 'visible';
			}		
		}
		
		// switch it to whatever mode decided above
	    if (document.getElementsByTagName && document.getElementById) {
			//Netscape 6+ model (also works in IE 6)
			document.getElementById(obj).style.visibility = setstyl;
	    } else {
	    	if (document.all) {
				//IE model (at least, versions prior to 6)
				document.all(obj).style.visibility = setstyl;	
			}	
		}
		
		return setstyl;					
	}
	
	function resetObjTop (obj, pix) {

	    if (document.getElementsByTagName && document.getElementById) {
			//Netscape 6+ model (also works in IE 6)
			document.getElementById(obj).style.top = pix;
	    } else {
	    	if (document.all) {
				//IE model (at least, versions prior to 6)
				document.all(obj).style.top = pix;	
			}	
		}	
	}
	
	function resetObjLeft (obj, pix) {

	    if (document.getElementsByTagName && document.getElementById) {
			//Netscape 6+ model (also works in IE 6)
			document.getElementById(obj).style.left = pix;
	    } else {
	    	if (document.all) {
				//IE model (at least, versions prior to 6)
				document.all(obj).style.left = pix;	
			}	
		}	
	}