function deliveryCalendarDisallowDate(date) {
	var currentTime = new Date();
	var todayNoTime = new Date(currentTime.getFullYear(), currentTime.getMonth(), currentTime.getDate());
	var nextYearNoTime = new Date(currentTime.getFullYear()+1, currentTime.getMonth(), currentTime.getDate());
	// Disable if date is today after 3pm
	if (currentTime.getFullYear() == date.getFullYear() &&
		currentTime.getMonth() == date.getMonth() &&
		currentTime.getDate() == date.getDate() &&
		currentTime.getHours() > 13)
	{
		return true;
	}
	// Mothers day (enable date but only if it is in the future)
	/*else if (date.getDate() == 14 &&
			 date.getMonth() == 2 &&
			 date >= todayNoTime)
	{
		return false;
	}*/
	// Disable if date is a sunday
	else if (date.getDay() == 0)
	{
		return true;
	}
	// Enable if date is today or after, and no more than 1 year in the future
	else if (date <= nextYearNoTime && date >= todayNoTime)
	{
		return false;
	}
	// Otherwise disable
	else
	{
		return true;
	}
};

/* Additional validation checks for checkout data */
Validation.add('validate-ukpostcode', 'Please enter a valid UK postcode', function(v) {
    return /^((([A-PR-UWYZ](\d([A-HJKSTUW]|\d)?|[A-HK-Y]\d([ABEHMNPRVWXY]|\d)?))\s*(\d[ABD-HJLNP-UW-Z]{2})?)|GIR\s*0AA)$/i.test(v);
});

Validation.add('validate-uktelno', 'Please enter a valid Telephone number', function(v) {
	return Validation.get('IsEmpty').test(v) || /^[+()0-9 ]+$/i.test(v);
});