<!--
/*
	'*************************************************
	' This code is the copyright of Compumac Limited *
	' and must not be used without the agreement of  *
	' Compumac Limited +44 (0)1308 897827            *
	'*************************************************
*/
function IsLeapYear(TheYear)
{
	if (isNaN(TheYear)) {
		return (false) ;
	}
	var nYear = parseInt(TheYear, 10) ;
	if (nYear < 100) {
		if (nYear < 49) {
			nYear += 2000 ;
		}
		else {
			nYear += 1900 ;
		}
	}

	if (nYear % 4 == 0 && nYear % 100 == 0) {
		if (nYear % 400 == 0) {
			return (true) ;
		}
		else {
			return (false) ;
		}
	}
	else {
		if (nYear % 4 == 0) {
			return (true) ;
		}
	}
	return (false) ;
}

function IsValidDate(TheDateField)
{
	var nDay ;
	var nMonth ;
	var nYear ;
	var nPos = -1 ;
	var nPos2 = -1 ;

	if (TheDateField.value.length == 0) {
		return (false) ;
	}
	nPos = TheDateField.value.indexOf("/") ;
	if (nPos > 0) {
		nPos2 = TheDateField.value.lastIndexOf("/") ;
		if (nPos2 < 0) {
			return (false) ;
		}
	}
	if (nPos < 0) {
		nPos = TheDateField.value.indexOf("-") ;
		if (nPos > 0) {
			nPos2 = TheDateField.value.lastIndexOf("-") ;
			if (nPos2 < 0) {
				return (false) ;
			}
		}
	}
	
	nDay = TheDateField.value.substring(0, nPos) ;
	nMonth = TheDateField.value.substring(nPos + 1, nPos2) ;
	nYear = TheDateField.value.substring(nPos2 + 1, TheDateField.value.length) ;

	if (nDay == "" || nMonth == "" || nYear == "") {
		return (false) ;
	}
	if (isNaN(nDay) || isNaN(nMonth) || isNaN(nYear)) {
		return (false) ;
	}

	nDay = parseInt(nDay, 10) ;
	nMonth = parseInt(nMonth, 10) ;
	nYear = parseInt(nYear, 10) ;
	if (nYear < 100) {
		if (nYear < 49) {
			nYear += 2000 ;
		}
		else {
			nYear += 1900 ;
		}
	}
	if (nDay < 1 || nDay > 31) {
		return (false) ;
	}
	if (nMonth < 1 || nMonth > 12) {
		return (false) ;
	}
	
	if (nMonth == 4 || nMonth == 6 || nMonth == 9 || nMonth == 11) {
		if (nDay > 30) {
			return (false) ;
		}
	}
	else {
		if (nMonth == 2) {
			if (IsLeapYear(nYear)) {
				if (nDay > 29) {
					return (false) ;
				}
			}
			else {
				if (nDay > 28) {
					return (false) ;
				}
			}
		}
	}

	return (true) ;
}
-->
