/* external_date_functions.js
*
* Purpose: Sample external date functions for JavaScript calendar
* Author: Richard Pike)
* Website: http://calendar.pikesys.com
*
* my_date returns an alternate date string corresponding to the given Gregorian date
* my_holiday returns an appropriate holiday text string for the given Gregorian date
* my_alt_holiday returns an appropriate alternate holiday string for the given Gregorian date
*
*/

function makeArray() {
	this[0] = makeArray.arguments.length;
	for (i = 0; i < makeArray.arguments.length; i = i + 1)
		this[i+1] = makeArray.arguments[i];
}

var altMonthNames = new makeArray("Red", "Yellow", "Blue","Green","Purple","Orange","Cyan","Magenta","Goldenrod","Brown","Black","White");
var altMonths = new Array;

// altMonths constructor
function altMonth(startdate, monthnumber) {
	this.startdate = startdate;
	this.month = monthnumber;
}

function DefineAltMonth(startdate, monthnumber) {
	altMonths[altMonths.length] = new altMonth(startdate, monthnumber);
}

function my_date(day, month, year, style) {
	if (!style) style = 0;
	var mo = 0;
	var dy, yr;
	var dateString = "";

	ymd = day + month*100 + year*10000;
	for (i=1; i<altMonths.length-1; i++) {
		if (ymd >= altMonths[i-1].startdate && ymd < altMonths[i].startdate) {
			mo = altMonths[i-1].month;
			startDay = altMonths[i-1].startdate%100;
			startMonth = ((altMonths[i-1].startdate-startDay)/100)%100;
			if (month == startMonth) {
				dy = day - startDay +1;
			} else {
				ym = month + year*100;
				prevYM = PrevYearMonth(ym);
				prevM = prevYM%100;
				prevY = (prevYM - prevM)/100;
				eom = NumDaysIn(prevM, prevY);
				dy = day + (eom - startDay +1);
			}
			yr = year - 1970;
			break;
		}
	}
	if (mo > 0) {
		if (style == 0) { 		// day monthnum year
			dateString = dy + ' ' + mo + ' ' + yr;
		} else if (style == 1) { 	// monthname year
			dateString = altMonthNames[mo] + ' ' + yr;
		} else if (style == 2) { 	// day monthname
			dateString = dy + ' ' + altMonthNames[mo];
		} else if (style == 3) { 	// monthname day
			dateString = altMonthNames[mo] + ' ' + dy;
		} else if (style == 4) { 	// day monthname year
			dateString = dy + ' ' + altMonthNames[mo] + ' ' + yr;
		}
	}
	return dateString;
}

function my_holiday(day, month, year) {
//alert("my_holiday("+day+","+month+","+year+")");
	var holString = "";
	// some American civil holidays
	if (month == 1 && day == 1) {
		holString = "New Year's Day";

	} else if (month == 6 && day != 3 && day !=6 && day !=7 && day !=10 && day !=13 && day !=14 && day !=17 && day !=20 && day !=21 && day !=24 && day !=27 && day !=28) {
		holString = "Public Cruise 12:00PM, 1:30PM, 3:00PM";

	} else if (month == 7 && day != 1 && day !=4 && day !=5 && day !=8 && day !=11 && day !=12 && day !=15 && day !=18 && day !=19 && day !=22 && day !=25 && day !=26 && day !=29) {
		holString = "Public Cruise 12:00PM, 1:30PM, 3:00PM";
        
	} else if (month == 8 && day != 1 && day !=2 && day !=5 && day !=8 && day !=9 && day !=12 && day !=15 && day !=16 && day !=19 && day !=22 && day !=23 && day !=26 && day !=28 && day !=29 && day !=30) {
		holString = "Public Cruise 12:00PM, 1:30PM, 3:00PM";

	//} else if (month == 9 && day != 2 && day !=6 && day !=9 && day !=13 && day !=16 && day !=20 && day !=23 && day !=27 && day !=30) {
		//holString = "Public Cruise 12:00PM, 1:30PM, 3:00PM";

    } else if (month == 8 && day == 28)
    {
        holString = "Public Cruise 12:00PM";

	} else if (month == 7 && day == 4) {
		holString = "Independance Day<br /><br />";
        holString+= "Public Cruise 12:00PM, 1:30PM, 3:00PM";
	

} else if (month == 6 && day == 7) {
		holString = "Senior Day 3:00PM";
} else if (month == 6 && day == 14) {
		holString = "Senior Day 3:00PM";
} else if (month == 6 && day == 21) {
		holString = "Senior Day 3:00PM";
} else if (month == 6 && day == 28) {
		holString = "Senior Day 3:00PM";
} else if (month == 7 && day == 5) {
		holString = "Senior Day 3:00PM";
} else if (month == 7 && day == 12) {
		holString = "Senior Day 3:00PM";
} else if (month == 7 && day == 19) {
		holString = "Senior Day 3:00PM";
} else if (month == 7 && day == 26) {
		holString = "Senior Day 3:00PM";
} else if (month == 8 && day == 2) {
		holString = "Senior Day 3:00PM";
} else if (month == 8 && day == 9) {
		holString = "Senior Day 3:00PM";
} else if (month == 8 && day == 16) {
		holString = "Senior Day 3:00PM";
} else if (month == 8 && day == 23) {
		holString = "Senior Day 3:00PM";
} else if (month == 8 && day == 30) {
		holString = "Senior Day 3:00PM";
} else if (month == 9 && day == 6) {
		holString = "Senior Day 3:00PM";
} else if (month == 9 && day == 13) {
		holString = "Senior Day 3:00PM";
} else if (month == 9 && day == 20) {
		holString = "Senior Day 3:00PM";
} else if (month == 9 && day == 27) {
		holString = "Senior Day 3:00PM";




	} else if (month == 6 && day == 6) {
		holString = "Church Service 10:30AM<br />Public Cruise 12:00PM, 1:30PM, 3:00PM";
	} else if (month == 6 && day == 13) {
		holString = "Church Service 10:30AM<br />Public Cruise 12:00PM, 1:30PM, 3:00PM";
	} else if (month == 6 && day == 20) {
		holString = "Church Service 10:30AM<br />Public Cruise 12:00PM, 1:30PM, 3:00PM";
	} else if (month == 6 && day == 27) {
		holString = "Church Service 10:30AM<br />Public Cruise 12:00PM, 1:30PM, 3:00PM";
	} else if (month == 7 && day == 4) {
		holString = "Church Service 10:30AM<br />Public Cruise 12:00PM, 1:30PM, 3:00PM";
	} else if (month == 7 && day == 11) {
		holString = "Church Service 10:30AM<br />Public Cruise 12:00PM, 1:30PM, 3:00PM";
	} else if (month == 7 && day == 18) {
		holString = "Church Service 10:30AM<br />Public Cruise 12:00PM, 1:30PM, 3:00PM";
	} else if (month == 7 && day == 25) {
		holString = "Church Service 10:30AM<br />Public Cruise 12:00PM, 1:30PM, 3:00PM";
	} else if (month == 8 && day == 1) {
		holString = "Church Service 10:30AM<br />Public Cruise 12:00PM, 1:30PM, 3:00PM";
	} else if (month == 8 && day == 8) {
		holString = "Church Service 10:30AM<br />Public Cruise 12:00PM, 1:30PM, 3:00PM";
	} else if (month == 8 && day == 15) {
		holString = "Church Service 10:30AM<br />Public Cruise 12:00PM, 1:30PM, 3:00PM";
	} else if (month == 8 && day == 22) {
		holString = "Church Service 10:30AM<br />Public Cruise 12:00PM, 1:30PM, 3:00PM";
	} else if (month == 8 && day == 29) {
		holString = "Church Service 10:30AM<br />Public Cruise 12:00PM, 1:30PM, 3:00PM";
		
	
	} else if (month == 6 && day == 3) {
		holString = "Public Cruise 12:00PM, 1:30PM, 3:00PM<br/>Jazzin' on Pride 5:30<br/>Sunset Cruise-7:30PM";
	} else if (month == 6 && day == 10) {
		holString = "Public Cruise 12:00PM, 1:30PM, 3:00PM<br />Jazzin' on Pride 5:30<br/>Sunset Cruise-7:30PM";
	} else if (month == 6 && day == 17) {
		holString = "Public Cruise 12:00PM, 1:30PM, 3:00PM<br />Jazzin' on Pride 5:30<br/>Sunset Cruise-7:30PM";
	} else if (month == 6 && day == 24) {
		holString = "Public Cruise 12:00PM, 1:30PM, 3:00PM<br />Jazzin' on Pride 5:30<br/>Sunset Cruise-7:30PM";
	} else if (month == 7 && day == 1) {
		holString = "Public Cruise 12:00PM, 1:30PM, 3:00PM<br />Jazzin' on Pride 5:30<br/>Sunset Cruise-7:30PM";
	} else if (month == 7 && day == 8) {
		holString = "Public Cruise 12:00PM, 1:30PM, 3:00PM<br />Jazzin' on Pride 5:30<br/>Sunset Cruise-7:30PM";
	} else if (month == 7 && day == 15) {
		holString = "Public Cruise 12:00PM, 1:30PM, 3:00PM<br />Jazzin' on Pride 5:30<br/>Sunset Cruise-7:30PM";
	} else if (month == 7 && day == 22) {
		holString = "Public Cruise 12:00PM, 1:30PM, 3:00PM<br />Jazzin' on Pride 5:30<br/>Sunset Cruise-7:30PM";
	} else if (month == 7 && day == 29) {
		holString = "Public Cruise 12:00PM, 1:30PM, 3:00PM<br />Jazzin' on Pride 5:30<br/>Sunset Cruise-7:30PM";
	} else if (month == 8 && day == 5) {
		holString = "Public Cruise 12:00PM, 1:30PM, 3:00PM<br />Jazzin' on Pride 5:30<br/>Sunset Cruise-7:30PM";
	} else if (month == 8 && day == 12) {
		holString = "Public Cruise 12:00PM, 1:30PM, 3:00PM<br />Jazzin' on Pride 5:30<br/>Sunset Cruise-7:30PM";
	} else if (month == 8 && day == 19) {
		holString = "Public Cruise 12:00PM, 1:30PM, 3:00PM<br />Jazzin' on Pride 5:30<br/>Sunset Cruise-7:30PM";
	} else if (month == 8 && day == 26) {
		holString = "Public Cruise 12:00PM, 1:30PM, 3:00PM<br />Jazzin' on Pride 5:30<br/>Sunset Cruise-7:30PM";
	} else if (month == 9 && day == 2) {
		holString = "Jazzin' on Pride 5:30<br/>Sunset Cruise-7:30PM";
	} else if (month == 9 && day == 9) {
		holString = "Jazzin' on Pride 5:30<br/>Sunset Cruise-7:30PM";
	} else if (month == 9 && day == 16) {
		holString = "Jazzin' on Pride 5:30<br/>Sunset Cruise-7:30PM";
	} else if (month == 9 && day == 23) {
		holString = "Jazzin' on Pride 5:30<br/>Sunset Cruise-7:30PM";
	} else if (month == 9 && day == 30) {
		holString = "Jazzin' on Pride 5:30<br/>Sunset Cruise-7:30PM";
    } else if (month == 9 && day == 11) {
        holString = "Public Cruise 12:00PM, 1:30PM";
    } else if (month == 9 && day == 18) {
        holString = "Public Cruise 12:00PM, 1:30PM, 3:00PM";
    } else if (month == 9 && day == 19) {
        holString = "Public Cruise 12:00PM, 1:30PM, 3:00PM";
    } else if (month == 9 && day == 25) {
        holString = "Public Cruise 12:00PM, 1:30PM";
    } else if (month == 9 && day == 26) {
        holString = "Blues Cruise 5:00PM - 8:00PM<br />East Shore";
    } else if (month == 10 && day == 7) {
        holString = "Jazzin' on Pride 5:30";
    } else if (month == 7 && day == 14) {
        holString = "All Star Happy Hour<br /> on the Pride<br />4:30-6:00PM";
	}
    if (month == 8 && day == 21) {
        holString += "<br /><br />Blues Sunset Cruise<br/>7 - 10PM<br />East Shore Docks<br />$10.00/person";
    }
	return holString;
}

function my_alt_holiday(day, month, year) {
	var aday, amonth;
	var holString = "";

	// calculate alternate date from given Gregorian date
	var altDate = my_date(day, month, year);
	var altMonthYear = altDate.substring(altDate.indexOf(' ')+1, altDate.length);
	aday = eval(altDate.substring(0, altDate.indexOf(' ')));
	amonth = eval(altMonthYear.substring(0, altMonthYear.indexOf(' ')));

	if (aday == 1 ) {
		holString = "Happy " + altMonthNames[amonth];
	}
	return holString;
}

