/** * @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','20','January','2010','7:30pm - 9:30pm','First BSB Swing Rehearsal for 2010','Trinity Wilston Uniting Church Hall','BSB Swing'); myArray[1] = new BSBEvent('Wednesday', '27', 'January', '2010', '7:30pm - 9:30pm','First BSB Rehearsal for 2010','Trinity Wilston Uniting Church Hall','Symphonic Band'); myArray[2] = new BSBEvent('Tuesday', '26', 'January', '2010', '1:00pm - 2:00pm','Australia Day Celebrations','Upper Moora Park, Shorncliffe','BSB Swing'); myArray[3] = new BSBEvent('Sunday', '7', 'February', '2010', '2:00pm - 3:00pm','Summertime Classics','Gregory Park, Baroona Road, Paddington','Symphonic Band'); myArray[4] = new BSBEvent('Sunday', '14', 'March', '2010', '2:00pm - 3:00pm','Swing City','City Botanic Gardens, Alice Street, Brisbane','BSB Swing'); myArray[5] = new BSBEvent('Saturday','13','March','2010','2:00pm - 3:00pm','Childrens Concert','Sandgate Uniting Church','Symphonic Band'); myArray[6] = new BSBEvent('Saturday','27','March','2010','1:00pm - 2:00pm','Childrens Concert','Trinity Wilston Uniting Church','Symphonic Band'); myArray[7] = new BSBEvent('Friday','2','April','2010','6:00pm - 6:30pm','Movie in the Park - Mamma Mia','Little Bayside Park, Manly Harbour Village, Manly','BSB Swing'); myArray[8] = new BSBEvent('Saturday','10','April','2010','6:00pm - Late','Private Function - Wedding','Royal on the Park','BSB Swing'); myArray[9] = new BSBEvent('Saturday','29','May','2010','4:30pm - 5:30pm','Italian Week Festival','Queen Street Mall','Symphonic Band'); myArray[10] = new BSBEvent('Sunday','18','July','2010','2:30pm - 3:30pm','Swing to Sinatra','Newstead House','BSB Swing'); myArray[11] = new BSBEvent('Saturday','21','August','2010','Time TBA','Private Function','Noosa Waters','BSB Swing'); myArray[12] = new BSBEvent('Sunday', '14', 'February', '2010', '3:00pm - 4:00pm','Valentines Day Concert','King George Square, CBD','BSB Swing'); myArray[13] = new BSBEvent('Saturday', '24', 'April', '2010', '5:00pm - 6:00pm','ANZAC Theme','New Farm Park','BSB Swing'); myArray[14] = new BSBEvent('Sunday', '16', 'May', '2010', '2:30pm - 3:30pm','Arcs, Parks and Indiana Jones','Newstead House','Symphonic Band'); myArray[15] = new BSBEvent('Saturday', '19', 'June', '2010', '11:20am - 11:40am','Big Bold & Brassy','Queens St Mall Stage, Brisbane CBD','BSB Swing'); myArray[16] = new BSBEvent('Sunday', '1', 'August', '2010', '2:00pm - 3:00pm','Viva Italia','Captain Burke Park Kangaroo Point','Symphonic Band'); myArray[17] = new BSBEvent('Sunday', '5', 'September', '2010', '2:00pm - 3:00pm','Bands in the Square','King George Square, CBD','BSB Swing'); myArray[18] = new BSBEvent('Sunday', '26', 'September', '2010', '2:00pm - 3:00pm','An Afternoon at the Proms','Mowbray Park','Symphonic Band'); myArray[19] = new BSBEvent('Sunday', '27', 'June', '2010', '11:00am','BSB Family BBQ','Raven Street Reserve','BSB Members and Family'); myArray[20] = new BSBEvent('Sunday', '23', 'October', '2010', '12:00pm - Late','An Evening at the Proms','Warwick Town Hall','Symphonic Band'); myArray[21] = new BSBEvent('Saturday', '19', 'June', '2010', '12:45pm - 1:15pm','Big Bold & Brassy','King George Square, Brisbane CBD','Symphonic Band'); //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 + '