seems like this might be it...

i hit a snag with getUTCHours because once it hits 1 am it was less than 16 and the day became available again. so i THINK i have it right now
Code:
function validateDelTime()
{
	var fld=document.forms["deliveryform"]["delivery_date"];
	var delDate = new Date(Date.parse(fld.value,"MM/dd/yyyy"));//
	var dt = new Date();
	var now = new Date();
	
	// check if today
	if (delDate.setHours(0,0,0,0) == dt.setHours(0,0,0,0)) 
	{
		utc = now.getTime() + (now.getTimezoneOffset() * 60000);
		nd = new Date(utc + (3600000*-4));
		// check if after 12/1 EST
		if (nd.getHours() >= (nd.getDay() == 6 ? 12 : 1))
		{
			var ct = (now.getDay() == 6 ? 12 : 1);
			alert("The delivery cutoff time for today is " + ct + ":00 PM EST. Please go back select the next available day or call the store directly.");
			return true;
		}
		return false;
	}
}