// ********* ********* ********* ********* ********* ********* ********* ********* *********
// Special Event function
// This function allows you set events for every weekday or for holidays
//
// VARIABLE			DATA TYPE	DESCRIPTION
// y				number		the 4-digit year (i.e. 2002)
// m				number		the month (1=jan, 2=feb,... 12=dec)
// d				number		the day
// dte				date		the full date
// intWeekday			number		day of the week (0=sun; 1=mon; 2=tue, ..., 6=sat)
// intWeekOfYear		number		week number of the year
// intWeekOfMonth		number		week number of month (1st Sunday, 2nd Sunday, ...)
// blnLast			boolean		is this the Last Weekday of the month
// dteEaster			date		the full date of Easter Sunday for the year
// dteMardiGras			date		the full date of Mardi Gras Tuesday for the year
// dteAshWednesday		date		the full date of Ash Wednesday for the year
// dteGoodFriday		date		the full date of Good Friday for the year
// ********* ********* ********* ********* ********* ********* ********* ********* *********
function scSpecialEvent(dte) {
	var objEvent;
	var arrEvents = new Array();
	var dteCurrent = new Date();
	
	var m = dte.getMonth() + 1;
	var d = dte.getDate();
	var y = dte.getFullYear();
	var intWeekday = dte.getDay();
	var intWeekOfYear = dte.weekOfYear();
	var intWeekOfMonth = dte.weekOfMonth();

	var intLastMonth = new Date(y, m-1, d+7).getMonth();
	if (intLastMonth == 0) intLastMonth = 12;
	var blnLast = ( intLastMonth == m );

	var dteEaster = fscEaster(y);
	var dteMardiGras = dteEaster.add("d", -47);
	var dteAshWednesday = dteEaster.add("d", -46);
	var dteGoodFriday = dteEaster.add("d", -2);

	// ********* ********* ********* ********* ********* ********* ********* *********
	// *** every weekday functions
	// ********* ********* ********* ********* ********* ********* ********* *********

	// every Friday
	/*if (intWeekday==5) {
		objEvent = new EventObj(m,d,y, "&nbsp;", null, "scEventBlue");
		arrEvents[arrEvents.length] = objEvent;
	};
	
	// every Saturday 
	if (intWeekday==6) {
		objEvent = new EventObj(m,d,y, "&nbsp;", null, "scEventBlue");
		arrEvents[arrEvents.length] = objEvent;
	};*/

	// ********* ********* ********* ********* ********* ********* ********* *********
	// *** holidays
	// ********* ********* ********* ********* ********* ********* ********* *********

		// Field Days
	if (m==7 && y==2008 && (d==17 || d==18 || d==19)) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Mudgee Field Day</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

		// Day on the Green
	if (m==10 && y==2007 && d==27) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Day on the Green</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

		// Huntington Music Festival Prelude
	if (m==11 && y==2007 && (d==24 || d==25)) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Huntington Music Festival Prelude</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

		// Huntington Music Festival
	if (m==11 && y==2007 && (d==28 || d==29 || d==30)) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Huntington Music Festival</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

	// Huntington Music Festival
	if (m==12 && y==2007 && (d==1 || d==2)) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Huntington Music Festival</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

	// August Bank Holiday
	if (m==8 && d==6 && y==2007) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Bank Holiday</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

	// Labour Day Long Weekend
	if (m==9 && y==2007 && (d==29 || d==30)) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Long Weekend</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

	if (m==10 && d==1 && y==2007) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Labour Day</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

	// New Years Day
	if (m==1 && d==1) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>New Years Day</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

	// New Years Eve
	if (m==12 && d==31) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>New Years Eve</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

	// Mudgee Xmas Carnival
	if (m==12 && d==20) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Mudgee Xmas Carnival</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

	// Christmas Eve
	if (m==12 && d==24) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Christmas Eve</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

	// Christmas
	if (m==12 && d==25) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Christmas Day</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

	// Boxing Day
	if (m==12 && d==26) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Boxing Day</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

	// Australia Day Long Weekend
	if (m==1 && y==2008 && (d==26 || d==27 || d==28)) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Long Weekend</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};
	
	// Australia Day
	if (m==1 && d==28 && y==2008) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Australia Day</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

	// ANZAC Day Long Weekend
	if (m==4 && y==2008 && d==27) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Long Weekend</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

	// ANZAC Day
	if (m==4 && d==25 && y==2008) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>ANZAC Day</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

	// Charity Ball
	if (m==4 && d==26 && y==2008) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Charity Ball</span>", "http://www.HoratioMotorInn.com.au/other/ball.html", "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

	// Queens Birthday Long Weekend
	if (m==6 && y==2008 && (d==7 || d==8 || d==9)) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Long Weekend</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

	// Queens Birthday
	if (m==6 && d==9 && y==2008) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Queen's Birthday</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};
	
	// Bank Holiday Long Weekend
	if (m==8 && y==2008 && (d==2 || d==3 || d==4)) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Long Weekend</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

	// October Holiday Long Weekend
	if (m==10 && y==2008 && (d==3 || d==4 || d==5)) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Long Weekend</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

	// Australia Day Long Weekend
	if (m==1 && d==26) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Australia Day</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};
	
	// Bank Holiday Day
	if (m==8 && d==4 && y==2008) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Bank Holiday</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

	// Elliot Rocke Mudfest
	//if (m==3 && d==15 && y==2008) {
	//	objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Elliot Rocke Mudfest</span>", "http://www.mudfest.com.au", "scEventRed");
	//	arrEvents[arrEvents.length] = objEvent;
	//};

	// Robert Stein Footcrush Feast
	//if (m==3 && d==16 && y==2008) {
	//	objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Robert Stein Footcrush Feast</span>", "http://www.robertstein.com.au/site/events/index.html", "scEventRed");
	//	arrEvents[arrEvents.length] = objEvent;
	//};

	// ********* ********* ********* ********* ********* ********* ********* *********
	// *** Easter holidays
	// ********* ********* ********* ********* ********* ********* ********* *********

	// Easter Long Weekend Festival
	if (m==4 && y==2009 && (d==10 || d==11 || d==12 || d==13)) {
		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Long Weekend</span>", null, "scEventRed");
		arrEvents[arrEvents.length] = objEvent;
	};

//	// Good Friday 
//	if ( dte.equalsTo(dteGoodFriday)) {
//		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Good Friday</span>", null, "scEventRed");
//		arrEvents[arrEvents.length] = objEvent;
//	};
//
//	 //Easter Sunday 
//	if ( dte.equalsTo(dteEaster)) {
//		objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Easter Sunday</span>", null, "scEventRed");
//		arrEvents[arrEvents.length] = objEvent;
//	};

	// ********* ********* ********* ********* ********* ********* ********* *********
	// *** current date
	// ********* ********* ********* ********* ********* ********* ********* *********

	// *** current day event
	//if ( dte.equalsTo(dteCurrent) ) {
	//	objEvent = new EventObj(m,d,y, "<span style='font:bold 7pt verdana;color:#000000'>Today</span>", null, "scEventYellow");
	//	arrEvents[arrEvents.length] = objEvent;
	//};
		
	return arrEvents;
};
