function timer()
{
	var one_day = 1000*60*60*24;
	var calculateOPDiff = "";
	var calculateEDDiff = "";
	var today = new Date();
	var year = today.getFullYear();
	var lastDay = new Date(year, 10, 30)
	if (lastDay.getDay() == 6)
	{
		var startDate = "30";
	}
	else
	{
		var startDate = 01 - (lastDay.getDay() + 1);
	}
	var seasonOpen = new Date(today.getFullYear(), 10, startDate);
	var seasonEnd = new Date(seasonOpen.getFullYear()+1, 0, 11);

	if (today.getMonth() < seasonEnd.getMonth() || (seasonEnd.getMonth() == today.getMonth() && today.getDate() <= seasonEnd.getDate()))
	{
	    seasonEnd.setFullYear (today.getFullYear(), seasonEnd.getMonth(), seasonEnd.getDate());
	}

	calculateEDDiff=Math.ceil((seasonEnd.getTime()-today.getTime())/(one_day));
	calculateOPDiff=Math.ceil((seasonOpen.getTime()-today.getTime())/(one_day));

	if (calculateOPDiff < 0)
	{
		var nextyeartoday=new Date();
		seasonOpen.setFullYear(today.getFullYear()+1, seasonOpen.getMonth(), seasonOpen.getDate);
		nextyeartoday.setFullYear(today.getFullYear()+1);
		calculateOPDiff=Math.ceil((nextyeartoday.getTime()-today.getTime())/(one_day)+calculateOPDiff);
	}

	var message = "";
	var theDate = "";
	 
	if (calculateOPDiff < calculateEDDiff)
	{
		if (calculateOPDiff == 0)
			message = "Pheasant season opens today!";
		else if (calculateOPDiff > 0)
		{
			theDate = seasonOpen;
			message = "until "+(seasonEnd.getFullYear()-1).toString()+"-"+seasonEnd.getFullYear().toString()+" pheasant season opens!";
		}
	}
	else
	{
		if (calculateEDDiff <= 0) 
			message = "Pheasant season ends today!";
		else if (calculateEDDiff > 0)
		{
			theDate = seasonEnd;
			message = "until "+(seasonEnd.getFullYear()-1).toString()+"-"+seasonEnd.getFullYear().toString()+" pheasant season's last day!";
		}
	}
	
	if (calculateOPDiff == 0 || calculateEDDiff <= 0)
		document.getElementById("timer").value = message;
	else if (theDate != "")
	{
		today = new Date();

		var dy = Math.ceil((theDate - today) / one_day);
		
		hr = 23-today.getHours();
		min = 59-today.getMinutes();
		sec = 59-today.getSeconds();
    
		if  (dy > 0 && hr == 0 && min == 0 && sec == 0)
			dy = (dy == 1)  ? dy.toString() + " day" : dy.toString() + " days";
		else if (dy > 0)
			dy = (dy == 1)  ? dy.toString() + " day, " : dy.toString() + " days, ";
		else
			dy = "";
        
		if (hr > 0 && min == 0 && sec == 0)
			hr = (hr == 1) ? hr.toString() + " hour" : hr.toString() + " hours";
		else if (hr > 0)
			hr = (hr == 1) ? hr.toString() + " hour, " : hr.toString() + " hours, ";
		else
			hr = "";
        
		if (min > 0 && sec == 0)
			min = (min == 1) ? min.toString() + " minute" : min.toString() + " minutes";
		else if (min > 0)    
			min = (min == 1) ? min.toString() + " minute, " : min.toString() + " minutes, ";
		else
			min = "";
        
		if (sec > 0)
			sec = (sec == 1) ? sec.toString() + " second" : sec.toString() + " seconds";
		else sec = ""

		var mess2 = dy + hr + min + sec;
                    
		document.getElementById("timer").value = (mess2);
		document.getElementById("timer2").value = (message);
		window.setTimeout("timer();", 1000); 
	}
}
