var LABEL_CLOSE = "Hide";
var MESSAGE_INVALID_DATE = "You have entered an invalid date.  Please try again.";

function Mask_IsValidDate(ctrlName) {
	var value = Mask_GetViewValue(ctrlName);
	var mask = Mask_GetMask(ctrlName).replace(/#/gi,'_');
	var splits = value.split(DATE_SPLITTER);
	
	if (value == undefined || value.length == 0 || value == mask) {
		return true;
	}
	else if (splits.length == 3 && regexOneOrMoreDigits.test(splits[0]) && regexOneOrMoreDigits.test(splits[1]) && regexOneOrMoreDigits.test(splits[2]))
	{
		var year = parseInt(splits[2]);
		var month = 1;
		var day = 1;
		
		if (splits[2].indexOf("_") != -1) {
			year = undefined;
		}

		if (splits[0].charAt(0) == '0' || splits[0].charAt(0) == '_')
			month = parseInt(splits[0].substring(1));
		else
			month = parseInt(splits[0]);

		if (splits[1].charAt(0) == '0' || splits[1].charAt(0) == '_')
			day = parseInt(splits[1].substring(1));
		else
			day = parseInt(splits[1]);

		month--;

		return (day >= 1 && day <= 31 && month >= 0 && month <= 11 && year != undefined && year != 'undefined' && year != 'NaN');
	}
	
	return false;
}