// $Header: /export/home/davec/idx/js/RCS/gvalidate.js,v 1.1 2003/03/05 20:31:27 davec Exp $
// Description:
// Validation utility functions

//--------------------------------------------------------

function bIsNum(nValue) {
	if (isNaN(nValue)) {
		return false;
	} else {
		return true;
	}
}

//--------------------------------------------------------

function bIsCharNum(sValue)  {
	if (sValue.length != 1) {
		return false;
	}
	return bIsNum(sValue);
}

//--------------------------------------------------------

function bIsAlpha(sValue) {
	var sValidChars = "abcdefghijklmnopqrstuvwxyzABCEDFGHIJKLMNOPQRSTUVWXYZ";
	for (i=0; i<sValue.length; i++) {
		if (sValidChars.indexOf(sValue.charAt(i)) == -1) {
			return false;
		}
	}
	return true;	
}

//--------------------------------------------------------

function bIsCharAlpha(sValue)  {
	if (sValue.length != 1) {
		return false;
	} 
	return bIsAlpha(sValue);
}

//--------------------------------------------------------

function bIsNumInRange(nValue, nMin, nMax) {
	if (!(bIsNum(nValue) && bIsNum(nMin) && bIsNum(nMax)) ) {
		return false;
	}
	if ((Number(nValue) >= Number(nMin)) && (Number(nValue) <= Number(nMax))) {
		return true;
	} else {
		return false;
	}
}

//--------------------------------------------------------

function bIsValidYearMonthDay(nInYear, nInMonth, nInDay) {
	if (!(bIsNum(nInYear) && bIsNum(nInMonth) && bIsNum(nInDay))) {
		return false;
	}
	var nYear = Number(nInYear);
	var nMonth = Number(nInMonth);
	var nDay = Number(nInDay);
	var dDate = new Date(nYear, nMonth - 1, nDay);

	if ( (Number(sYearLong(dDate.getYear()) == nYear)) && (Number(dDate.getMonth()) + 1 == nMonth) && (Number(dDate.getDate()) == nDay) ) {
		return true;
	}
	return false;
}

//--------------------------------------------------------

function bIsDateInRange(dInDate, dInMinDate, dInMaxDate) {
	if ((dInDate >= dInMinDate) && (dInDate <= dInMaxDate)) {
		return true;
	}
	return false;
}

//--------------------------------------------------------


