var today = new Date();
var now = today.getDate();
var year = today.getYear();
if (year < 2000) year += 1900; // Y2K fix
var month = today.getMonth();
var outputString;

var myMeetingArray=new Array(12);
for (i=0; i<12; i++) {
  myMeetingArray[i]=new Array(3);
}

// Meeting type codes
//  (If you change these remember to change below in actual code as well)
// case 1 : Club Day
// case 2 : Vic Titles (Boronia)
// case 3 : Interclub Challenge
// case 4 : Summer Nats (Eastern Creek)
// case 5 : Tamiya Indoor Championships (Hoppers Crossing)
// case 6 : National Titles
// case 7 : Metro Masters (TFTR)
// case 8 : Xmas Meeting (TFTR)
// case 9 : Winter Champs

// Meetings for Year 2004
// First two digits are the day of the month - remember to
//  include the leading 0 for single digit days

// Jan
myMeetingArray[0][0]="1101041"
myMeetingArray[0][1]="2401044"
myMeetingArray[0][2]="2501041"
// Feb
myMeetingArray[1][0]="0802041"
myMeetingArray[1][1]="1502045"
myMeetingArray[1][2]="2202041"
// Mar
myMeetingArray[2][0]="1403041"
myMeetingArray[2][1]="2803041"
myMeetingArray[2][2]="XXXXXXX"
// April
myMeetingArray[3][0]="1104041"
myMeetingArray[3][1]="2504041"
myMeetingArray[3][2]="XXXXXXX"
// May
myMeetingArray[4][0]="0905041"
myMeetingArray[4][1]="2305041"
myMeetingArray[4][2]="3005042"
// Jun
myMeetingArray[5][0]="1306041"
myMeetingArray[5][1]="2506049"
myMeetingArray[5][2]="2706041"
// Jul
myMeetingArray[6][0]="1107041"
myMeetingArray[6][1]="2507041"
myMeetingArray[6][2]="XXXXXXX"
// Aug
myMeetingArray[7][0]="0808041"
myMeetingArray[7][1]="2208041"
myMeetingArray[7][2]="XXXXXXX"
// Sept
myMeetingArray[8][0]="1209041"
myMeetingArray[8][1]="2609041"
myMeetingArray[8][2]="XXXXXXX"
// Oct
myMeetingArray[9][0]="1010041"
myMeetingArray[9][1]="2410041"
myMeetingArray[9][2]="XXXXXXX"
// Nov
myMeetingArray[10][0]="0611046"
myMeetingArray[10][1]="1411041"
myMeetingArray[10][2]="2711047"
// Dec
myMeetingArray[11][0]="1212048"
myMeetingArray[11][1]="XXXXXXX"
myMeetingArray[11][2]="XXXXXXX"

var monarr = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

// check for leap year
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) monarr[1] = "29";

// For testing purposes only
/*document.write("<BR>today:" + today);
document.write("<BR>day:" + now);
document.write("<BR>month:" + month);
document.write("<BR>year:" + year);
document.write("<BR>There are " + (monarr[month]-now) + " days left in this Month.\n");
*/

var meetingDeets0 = myMeetingArray[month][0];
var meetingDeets1 = myMeetingArray[month][1];
var meetingDeets2 = myMeetingArray[month][2];
if (month == 11) {
  var meetingDeetsN = myMeetingArray[0][0]
}
else {
  var meetingDeetsN = myMeetingArray[month+1][0]
};
var daysToNextMeet;
var meetingCode;
var meetingName;
var meetingDate;
var meetingMonth;

if (now <= meetingDeets0.substr(0,2)) {
  daysToNextMeet = (meetingDeets0.substr(0,2) - now);
  meetingCode = meetingDeets0.substr(6,1);
  meetingDate = meetingDeets0.substr(0,6);
}
else if (now <= meetingDeets1.substr(0,2)) {
  daysToNextMeet = (meetingDeets1.substr(0,2) - now);
  meetingCode = meetingDeets1.substr(6,1);
  meetingDate = meetingDeets1.substr(0,6);
}
else if (now <= meetingDeets2.substr(0,2)) {
  daysToNextMeet = (meetingDeets2.substr(0,2) - now);
  meetingCode = meetingDeets2.substr(6,1);
  meetingDate = meetingDeets2.substr(0,6);
}
else {
  var nextMonthDays = (meetingDeetsN.substr(0,2));
  if (nextMonthDays.substr(0,1) == "0")
    nextMonthDays = nextMonthDays.substr(1,1);
  var nextMonthDaysInt = parseInt(nextMonthDays);
  daysToNextMeet = ((monarr[month]-now)+nextMonthDaysInt);
  meetingCode = meetingDeetsN.substr(6,1);
  meetingDate = meetingDeetsN.substr(0,6);
}

// case 1 : Club Day
// case 2 : Vic Titles
// case 3 : Interclub Challenge
// case 4 : Summer Nats (Eastern Creek)
// case 5 : Tamiya Indoor Championships (Hoppers Crossing)
// case 6 : National Titles
// case 7 : Metro Masters (TFTR)
// case 8 : Xmas Meeting (TFTR)
// case 9 : Winter Champs

switch(meetingCode) {
 case "1" : meetingName = "Club Day";break;
 case "2" : meetingName = "Vic Titles";break;
 case "3" : meetingName = "Interclub Challenge";break;
 case "4" : meetingName = "Summer Nats (Eastern Creek)";break;
 case "5" : meetingName = "Tamiya Indoor Championships (Hoppers Crossing)";break;
 case "6" : meetingName = "National Titles";break;
 case "7" : meetingName = "Metro Masters (TFTR)";break;
 case "8" : meetingName = "Xmas Meeting (TFTR)";break;
 case "9" : meetingName = "Winter Champs";break;
 default: meetingName = "nothing!";break;
}

// Month mappings
switch(meetingDate.substr(2,2)) {
 case "01" : meetingMonth = "January";break;
 case "02" : meetingMonth = "February";break;
 case "03" : meetingMonth = "March";break;
 case "04" : meetingMonth = "April";break;
 case "05" : meetingMonth = "May";break;
 case "06" : meetingMonth = "June";break;
 case "07" : meetingMonth = "July";break;
 case "08" : meetingMonth = "August";break;
 case "09" : meetingMonth = "September";break;
 case "10" : meetingMonth = "October";break;
 case "11" : meetingMonth = "November";break;
 case "12" : meetingMonth = "December";break;
 default: meetingMonth = "??";break;
}
 

if (daysToNextMeet == 0) {
  outputString = "<BR><BR>The <B>" +
                 meetingName +
                 "</B> is on today!";
}
else {
  outputString = "The next race meeting is the <B>" +
                 meetingName +
                 "</B> on the <B>" +
                 meetingDate.substr(0,2) + " " +
                 meetingMonth + " 20" +
                 meetingDate.substr(4,2) +
                 "</B> which is in <B>" +
                 daysToNextMeet +
                 "</B>  days"
}

