function zip_isNumeric(sText, bInteger, PosNeg){
	var negsign='';
	if (PosNeg==undefined) PosNeg=2;
	if (PosNeg==2) negsign='-?';
	else if (PosNeg==1) negsign='-';
	else negsign='';

	if (bInteger)    var reg = new RegExp("^" + negsign + "[0-9]*\.?0*$","g");	 //integers (such as dates) cannot have decimals
	else var reg = new RegExp("^" + negsign + "[0-9]*\.?[0-9]*$","g");
	if (reg.exec(sText)) return true;
	return false;
}

function isZip(ob, whichlen, required) {
	if (whichlen==undefined) whichlen=5;
	if (required==undefined) required=false;
	var strZ=ob.value;
	if (zip_isNumeric(strZ,true)) {
		if (strZ.length==whichlen) return true;
		else if (strZ.length==0 && !required) return true;
	}
	else if (strZ.length==0 && !required) return true;
	return false;	
}

/********************************************************************************
/*	FUNCTION onKeyPressOnlyNumbers
/*	Parameters: event = the event (the keypress)
/*					allowSpecial = whether or not to allow special keys (backspace, delete, enter)
/*																											
/*	Returns: true/false; if true, keystroke takes effect.  if false, keystroke is ignored
/*	Dependencies: getKey (this file)
/*																											
/*********************************************************************************/
function onKeyPressOnlyNumbers(event,allowSpecial) {
	if (allowSpecial==undefined) allowSpecial=true;

	var key = getKey(event);
	if ((key==8 || key==0 || key==13) && allowSpecial) return true;

	var keychar = String.fromCharCode(key);
	reg = /\d/;
	return reg.test(keychar);
}

/********************************************************************************
/*	FUNCTION getKey
/*	Parameters: event = the event (the keypress)
/*																											
/*	Returns: ascii equivalent of the key that was pressed
/*	Dependencies: none
/*																											
/*********************************************************************************/
function getKey(e) {
   var keyCode = (window.e) ? e.which : e.keyCode;
   var keyString = e.charCode;

	if (keyCode) return keyCode;
	if (keyString) return keyString;
return 0;
}
