function checkDateFormat (inDate)
{
	// Inputs a date
	// Outputs 0 correct (in DD/MM/YYYY format), 1 incorrect format

	//                     dd      / mm      / yyyy
	dateRE = new RegExp('^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4}$');
	if (dateRE.test(inDate) == false)
		return 1;
	else 
		return 0;

}

function validateDate (inDate)
{
	// Inputs a date in DD/MM/YYYY format
	// Outputs 0 correct, 1 incorrect

	var date_bit_array = inDate.split("/");
	var inDay   = date_bit_array[0];
	var inMonth = date_bit_array[1];
	var inYear  = date_bit_array[2];
	var wrong   = 0;

	if (inDay < 1 || inDay > 31)
		wrong = 1;
	else if (inMonth < 1 || inMonth > 12)
		wrong = 1;
	else if (inMonth == 2 && inDay == 29 && isLeapYear(inYear) == false)
		wrong = 1;
	else if (inDay == 31 && (inMonth == 2 || inMonth == 4 || inMonth == 6 || inMonth == 9 || inMonth == 11) )
		wrong = 1;	
		
	return wrong;
}

function isLeapYear (year)
{
	// February has 29 days in any year evenly divisible by four,
	// EXCEPT for centurial years which are not also divisible by 400.

	return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? true : false);
}

function checkTimeFormat (inTime)
{
	// Inputs a time
	// Outputs 0 correct (in HH:MM format), 1 incorrect format

	//                     hh        : mm
	timeRE = new RegExp('^[0-9]{1,2}\:[0-9]{1,2}$');
	if (timeRE.test(inTime) == false)
		return 1;
	else 
		return 0;
}

function validateTime (inTime)
{
	// Inputs a date in HH:MM format
	// Outputs 0 correct, 1 incorrect

	var time_bit_array = inTime.split(":");
	var inHour   = time_bit_array[0];
	var inMinute = time_bit_array[1];
	var wrong   = 0;

	if (inHour < 0 || inHour > 23)
		wrong = 1;
	else if (inMinute < 0 || inMinute > 59)
		wrong = 1;

	return wrong;
}