/**
* @author: Joel Miller
* @date: 24/01/2008
* This Javascript file can be imported into webpages on the Brisbane Symphonic Band's website to provide dynamic content
*/
function BSBEvent (evDay, evDate, evMonth, evYear, evTime, evTitle, evLocation, evEnsemble)
/**
* Creates an Event Object
* evDay: Day of Event (Sunday, Monday, ...)
* evDate: Date (1,2,3...)
* evMonth: Month (January, February,...)
* evYear: Year (2008, 2009,...)
* evTime: Time (6:00pm)
* evTitle: The title of the event
* evLocation: The location of the event
* evEnsemble: The ensemble involved in the event
*/
{
this.evDay = evDay;
this.evDate = evDate;
this.evMonth = evMonth;
this.evYear = evYear;
this.evTime = evTime;
this.evTitle = evTitle;
this.evLocation = evLocation;
this.evEnsemble = evEnsemble;
}
function BSBCreateArray ()
/**
* This function creates an array of BSB Events when it is called. The array is returned, once generated.
* ADD NEW EVENTS TO THIS SECTION. The order is !irrelevant!.
*/
{
var myArray = new Array();
myArray[0] = new BSBEvent('Wednesday','25', 'January','2012','6:00pm - 7:30pm','First BSB Swing Rehearsal for 2012','Trinity Wilston Uniting Church Hall','BSB Swing');
myArray[1] = new BSBEvent('Wednesday', '25', 'January', '2012', '7:30pm - 9:30pm','First BSB Rehearsal for 2012','Trinity Wilston Uniting Church Hall','Symphonic Band');
myArray[2] = new BSBEvent('Sunday', '19', 'February', '2012', '2:00pm - 3:00pm','Symphonic Swing','Newstead House
More Details...', 'Symphonic Band');
myArray[3] = new BSBEvent('Sunday', '11', 'March', '2012', '2:00pm - 3:00pm','Local Talent','Roma Street Parklands Amphitheater', 'BSB Swing!');
myArray[4] = new BSBEvent('Saturday', '3', 'March', '2012', '7:00pm - 11:00pm','Come Out Swinging Against Cancer', 'Enoggera Bowls Club
More Details...', 'BSB Swing!');
//returns array
return myArray;
}
function BSBGetEvents (eventArray, currMonth)
/**
* This function returns an array of indexes for events in a particular month
* eventArray: An array of BSB Events
* currMonth: An integer from 0 to 11 representing a month of the year
*/
{
var x;
var evIndexes = new Array ();
for (x in eventArray)
{
if (eventArray[x].evMonth == toFullMonth(currMonth))
{
evIndexes.push(x);
}
}
return evIndexes;
}
function isEven(value)
/**
* A simple function to test if a number is odd or even
* value: An integer
*/
{
if (value%2 == 0)
return true;
else
return false;
}
function BSBWriteIndexEvents (eventArray)
/**
* This function writes the dynamic data to the Index Page
* eventArray: an Array of BSB Events
*/
{
var d = new Date (); var currYear = d.getFullYear(); var currMonth = d.getMonth();
var currDate = d.getDate();
var upcomingEvents = new Array ();
var currMonthEvents = BSBGetEvents (eventArray, currMonth);
for (s in currMonthEvents)
{
if (eventArray[currMonthEvents[s]].evDate >= currDate)
{
upcomingEvents.push(currMonthEvents[s]);
}
}
//Get next month
var nextMonth = currMonth+1%11;
for (f=nextMonth;f<=11;f++)
{
var nextMonthEvents = BSBGetEvents (eventArray, f);
for (w in nextMonthEvents)
{
upcomingEvents.push(nextMonthEvents[w]);
}
}
upcomingEvents.length=3;
for (u=0;u<=2;u++)
{
if (eventArray[upcomingEvents[u]].evDay!=null)
{
document.write('
' + eventArray[upcomingEvents[u]].evDay + ' ' + eventArray[upcomingEvents[u]].evDate + ' ' + eventArray[upcomingEvents[u]].evMonth + ' ' + eventArray[upcomingEvents[u]].evYear + '
' + eventArray[upcomingEvents[u]].evTime + '
');
document.write('' + eventArray[upcomingEvents[u]].evTitle + '
' + eventArray[upcomingEvents[u]].evLocation + '
' + currMonth + ' | ');
document.write('||||
|---|---|---|---|---|
| '); document.write(' | ' + eventArray[g].evDay + ' ' + formatDate(eventArray[g].evDate) + ' | '); document.write('' + eventArray[g].evTime + ' | '); document.write('' + eventArray[g].evTitle + '');
document.write(', ' + eventArray[g].evLocation + ' ' + eventArray[g].evEnsemble + ' | ');
document.write('|
' + currMonth + ' | ');
document.write('||||
|---|---|---|---|---|
| '); document.write(' | ' + eventArray[g].evDay + ' ' + formatDate(eventArray[g].evDate) + ' | '); document.write('' + eventArray[g].evTime + ' | '); document.write('' + eventArray[g].evTitle + '');
document.write(', ' + eventArray[g].evLocation + ' ' + eventArray[g].evEnsemble + ' | ');
document.write('|
' + eventArray[BSBEventIndexes[s]].evDay + ' ' + eventArray[BSBEventIndexes[s]].evDate + ' ' + eventArray[BSBEventIndexes[s]].evMonth + ' ' + eventArray[BSBEventIndexes[s]].evYear + '
' + eventArray[BSBEventIndexes[s]].evTime + '
');
document.write('' + eventArray[BSBEventIndexes[s]].evTitle + '
' + eventArray[BSBEventIndexes[s]].evLocation + '