
var clientdatevalnumexp = /^\d*$/; //avoids need to #include client-val

function IsLeapYear (iYear)
{
	var bDivisibleBy4;
		
	if (iYear % 4) 
	{
  		return false;
	}

    if (iYear % 100) 
    {
  		return true;
	}
	
    if (iYear % 400)
    {	
  		return false;
  	}
    else
    {
  		return true;	
  	}
}	

function ValidateNumericDate(sDay, sMonth, sYear) 
{	
	if ( !(clientdatevalnumexp.test (sDay)) || !(clientdatevalnumexp.test (sMonth)) || !(clientdatevalnumexp.test (sYear)) || sDay == "" || sMonth == "" || sYear == "")
	{
		return false; 
	}
	//ok - all are numbers. now check all are in valid range
	
	var iDay = parseInt(sDay);
	var iMonth = parseInt(sMonth);
	var iYear = parseInt(sYear);
	
	if (sMonth < 1 || sMonth > 12)
	{
		return false;	
	}
	
	if (sYear < 1880 || sMonth > 2200)
	{
		return false;	
	}

	if (sDay < 1)
	{
		return false;	
	}
	
	var iMaxDay;

	switch (iMonth)
	{
	case 1: iMaxDay = 31; break;
	case 2: if (IsLeapYear (iYear))
				iMaxDay = 29;
			  else iMaxDay = 28; 
				break;
	case 3: iMaxDay = 31; break;
	case 4: iMaxDay = 30; break;
	case 5: iMaxDay = 31; break;
	case 6: iMaxDay = 30; break;
	case 7: iMaxDay = 31; break;
	case 8: iMaxDay = 31; break;
	case 9: iMaxDay = 30; break;
	case 10: iMaxDay = 31; break;
	case 11: iMaxDay = 30; break;
	case 12: iMaxDay = 31; break;
	}
	
	if (iDay > iMaxDay)
	{
		return false;	
	}
	return true; 	
}

function GetDateRelativeToToday(sDay, sMonth, sYear) {

		var iDay = parseInt(sDay);
		var iMonth = parseInt(sMonth);
		var iYear = parseInt(sYear);
		var sInputDate = iYear.toString();
		if (iMonth.toString().length == 1)
			sInputDate += "0" + iMonth.toString();
		else
			sInputDate += iMonth.toString();

		if (iDay.toString().length == 1)
			sInputDate += "0" + iDay.toString();
		else
			sInputDate += iDay.toString();

		var sCurrentFullDate = new Date();
		var sCurrentDate = sCurrentFullDate.getFullYear().toString()
		if ((sCurrentFullDate.getMonth() + 1).toString().length == 1)
			sCurrentDate += "0" + (sCurrentFullDate.getMonth() + 1).toString();
		else
			sCurrentDate += (sCurrentFullDate.getMonth() + 1).toString();

		if (sCurrentFullDate.getDate().toString().length == 1)
			sCurrentDate += "0" + sCurrentFullDate.getDate().toString();
		else
			sCurrentDate += sCurrentFullDate.getDate().toString();

		if (sCurrentDate > sInputDate)
			return "p";
		
		if (sCurrentDate < sInputDate)
			return "f";	
			
		if (sCurrentDate == sInputDate)
			return "t";
				
	}