var eventArray = new Array(); var x = 0;
// first 8 characters in ccyymmdd format for single date events
// first 8 characters in 0000mmdd format for recurring annual events
eventArray[x++] = "20081122 Rehearsal @UTA (9a-7p)";
eventArray[x++] = "20081213 Rehearsal @UTA (9a-7p)";
eventArray[x++] = "20090110 Rehearsal @UTA (9a-7p)";
eventArray[x++] = "20090119 Brass Rehearsal @Park Cities Baptist Church (6p-9p)";
eventArray[x++] = "20090124 Rehearsal @UTA (9a-7p)";
eventArray[x++] = "20090207 Rehearsal @Richardson (9a-7p)";
eventArray[x++] = "20090228 Rehearsal @Richardson (9a-7p)";
eventArray[x++] = "20090307 Rehearsal @Richardson (9a-7p)";
eventArray[x++] = "20090328 Rehearsal @Richardson (9a-7p)";
eventArray[x++] = "20090404 Rehearsal @Richardson (9a-Dark)";
eventArray[x++] = "20090425 Rehearsal @Richardson (9a-Dark)";
eventArray[x++] = "20090425 Denton Jazz Fest performance (TBA)";
eventArray[x++] = "20090426 Denton Jazz Fest performance (TBA)";
eventArray[x++] = "20090509 Rehearsal @Richardson (9a-Dark)";
eventArray[x++] = "20090523 Rehearsal @Richardson (9a-Dark)";
eventArray[x++] = "20090524 Rehearsal @Richardson (9a-Dark)";
eventArray[x++] = "20090525 Rehearsal / Memorial Day performance (TBD)";

// permission is granted to use this javascript provided that the below code is not altered
var pageLoaded = 0;
window.onload = function() {pageLoaded = 1;}

/*'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Name       :  loaded
' Purpose    :  
' Parameters :  i - 
'               startFunction - 
' Return val :  n/a
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''*/
function loaded(i, startFunction)
{
    if (document.getElementById && document.getElementById(i) != null)
        startFunction();
    else if (!pageLoaded)
        setTimeout('loaded(\'' + i + '\',' + startFunction + ')', 100);
}

/*'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Name       :  monthLength
' Purpose    :  
' Parameters :  month - 
'               year - 
' Return val :  n/a
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''*/
function monthLength(month, year)
{
    var dd = new Date(year, month, 0);
    return dd.getDate();
}

var monthOfYear = ['January','February','March','April','May','June','July','August','September','October','November','December'];
var today = new Date();
var selDate = today.getFullYear() + getmmdd(today.getMonth() + 1, today.getDate());
//alert("selDate = '" + selDate + "'");

/*'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Name       :  displayCalendar
' Purpose    :  
' Parameters :  yy - 
'               mm - 
' Return val :  n/a
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''*/
function displayCalendar(yy, mm)
{
    if (mm < 0 || mm > 12)
    {
        alert('month must be between 1 and 12');
        return false;
    }
    if (yy != 0 && (yy < 1901 || yy > 2100))
    {
        alert('year must be after 1900 and before 2101');
        return false;
    }
    var dayOfWeek = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'];
    var calendar = new Date();
    var today = calendar.getDate();
    calendar.setDate(1);
    if (yy > 1900) calendar.setFullYear(yy);
    if (mm > 0) calendar.setMonth(mm - 1);
    yy = year = calendar.getFullYear();
    var month = calendar.getMonth();
    calendar.setDate(today);
    var weekday = calendar.getDay();
    var daysInMonth = monthLength(month + 1, year);
    var hilite_start = '<td style="background:#BDA36A;font-size:11px;border:1pt solid #000000" align="center" width="20px"><b>';
    var td_start = '<td style="font-size:11px" align="center" width="20px">';
    
    // Build the month header for the calendar
    var cal = buildHeader(yy, mm, month);

    cal += '<tr>';
    for (dex = 0; dex < 7; dex++)
    {
        cal += '<td style="background-image:url(\'images/calendarDark-bg.gif\');background-color:#CCCCCC;font-size:11px" align="center" width="20px">' + dayOfWeek[dex] + '</td>';
    }
    cal += '</tr><tr>';
    var day2 = today;
    for (dex = today; dex > 6; dex -=7)
        day2 = dex;
    weekday -= day2 - 1;
    while (weekday < 0) weekday += 7;
    for (dex = 0; dex < weekday; dex++)
        cal += td_start + ' </td>';
    for (dex = 1; dex <= daysInMonth; dex++)
    {
        if (weekday == 7)
        {
            cal += '</tr><tr>';
            weekday = 0;
        }
        if (selDate == year + getmmdd(month + 1, dex))
            cal += hilite_start +'<span' + clickDate(dex, month, year) + '>'+ dex + '<\/span><\/b><\/td>';
        else
            cal += td_start + '<span ' + clickDate(dex, month, year) + '>' + dex + '<\/span><\/td>';
        weekday += 1;
    }
    for (dex = weekday; dex < 7; dex++)
        cal += td_start + ' </td>';
    cal += '</tr></table></div></div>';

//alert("cal = '" + cal + "'");

    return cal;
}


/*'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Name       :  startCalendar
' Purpose    :  
' Parameters :  n/a
' Return val :  n/a
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''*/
function startCalendar()
{
//alert("begin startCalendar()...");
    //Define division for event listing below calendar
    var x = '<div id="event" style="background-image:url(\'images/calendarNormal-bg.gif\');background-color:#FFFFFF;border:1pt solid #CCCCCC;width:175px;text-align:left;"><\/div>';

    document.getElementById('calendar').innerHTML = displayCalendar(0, 0) + x;

//alert("x = '" + x + "'");

    displayEvent();
}

loaded('calendar', startCalendar);

/*'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Name       :  buildHeader
' Purpose    :  
' Parameters :  day - 
'               month - 
'               year - 
' Return val :  n/a
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''*/
function buildHeader(yy, mm, month)
{
//alert("begin buildHeader()...");
    var header = '<div id="cal"><div style="background-image:url(\'images/calendarNormal-bg.gif\');background-color:#FFFFFF;border:1pt solid #CCCCCC;height:150px;width:175px"><table align="center" cellpadding="2" cellspacing="0" border="0"><tr><td colspan="7"><table cellpadding="3" cellspacing="0" border="0"><tr>';

    if (document.getElementById)
    {
        var mmb = month;
        mm = month + 1;

        var yya = yyb = yy;
        if (mmb <1)
        {
            mmb += 12; yyb--;
        }

        var mma = month + 2;
        if (mma > 12)
        {
            mma -= 12; yya++;
        }

        var yb = yy -1;
        var ya = yy +1;

        // Code for previous year & previous month buttons
        //header += '<td><a style="font-size:13px;color:#000000;text-decoration:none;" alt="previous year" href="#" onclick="if (cala = displayCalendar(' + yb + ',' + mm + ')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><<</a></td><td><a style="font-size:13px;color:#000000;text-decoration:none;" href="#" onclick="if (cala = displayCalendar(' + yyb + ',' + mmb + ')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><</a></td>';
        // Code for previous month button
        header += '<td><a style="font-size:13px;color:#000000;text-decoration:none;" href="#" onclick="if (cala = displayCalendar(' + yyb + ',' + mmb + ')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><img src="images/iconPrevious.gif" alt="previous month" width="10px" height="11px" border="0" /></a></td>';
        // Code for month / year title
        header += '<td style="font-size:11px;white-space: nowrap;" align="center" width="100%"><b>' + monthOfYear[month]  + ' ' + year + '</b></td>';
        // Code for next month button
        header += '<td align="right"><a style="font-size:13px;color:#000000;text-decoration:none;" href="#" onclick="if (cala = displayCalendar(' + yya + ',' + mma + ')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><img src="images/iconNext.gif" alt="next month" width="10px" height="11px" border="0" /></a></td>';
        // Code for next month & next year buttons
        //header += '<td align="right"><a style="font-size:13px;color:#000000;text-decoration:none;" href="#" onclick="if (cala = displayCalendar(' + yya + ',' + mma + ')) {document.getElementById(\'cal\').innerHTML = cala; return false;}">></a></td><td align="right"><a style="font-size:13px;color:#000000;text-decoration:none;" href="#" onclick="if (cala = displayCalendar(' + ya + ',' + mm + ')) {document.getElementById(\'cal\').innerHTML = cala; return false;}">>></a></td>';
    }
    else
    {
        header += '<div> </div>';
        header += '<td style="font-size:11px;white-space: nowrap;" align="center" width="100%"><b>' + monthOfYear[month]  + ' ' + year + '</b></td>';
        header += '<div> </div>';
    }

    header += '</tr></table></td></tr>';

    return header;
}

/*'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Name       :  clickDate
' Purpose    :  
' Parameters :  day - 
'               month - 
'               year - 
' Return val :  n/a
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''*/
function clickDate(day, month, year)
{
    var events = nextDate(year + getmmdd(month + 1, day));

    if (events == '')
        events = nextDate('0000' + getmmdd(month + 1, day));
    if (events == '')
        return 'style="color:#000000"';
    else
        return 'style="cursor:pointer;color:#C11B17" onclick="selDate = ' + year + getmmdd(month + 1, day)+'; isDate(' + day + ',' + month + ',' + year + '); return false;"';
}

/*'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Name       :  isDate
' Purpose    :  
' Parameters :  dayVal - 
'               monthVal - 
'               yearVal - 
' Return val :  n/a
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''*/
function isDate(dayVal, monthVal, yearVal)
{
    var events = nextDate(yearVal + getmmdd(monthVal + 1, dayVal));

    if (events == '')
        events = nextDate('0000' + getmmdd(monthVal + 1, dayVal));
    if (events == '')
        events = '<tr><td valign="top"><img src="images/white_dot.gif" width="10px" height="10px" border="0" /></td><td style="font-size:9px;" valign="top">No scheduled events today.</td></tr>';

    document.getElementById('event').innerHTML = '<table cellpadding="3" cellspacing="0" border="0"><tr><td style="font-size:9px;" valign="top">' + selDate + ':</td><td valign="top"><table cellpadding="0" cellspacing="0" border="0">' + events + '</table></td></tr></table>';

    return false;
}

/*'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Name       :  getmmdd
' Purpose    :  
' Parameters :  mm - 
'               dd - 
' Return val :  n/a
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''*/
function getmmdd(mm, dd)
{
    return (mm > 9 ? '' + mm : '0' + mm) + (dd > 9 ? dd : '0' + dd);
}

/*'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Name       :  displayEvent
' Purpose    :  
' Parameters :  n/a
' Return val :  n/a
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''*/
function displayEvent()
{
//alert("begin displayEvent()...");
    var events = nextDate(selDate);

    if (events == '')
        events = nextDate('0000' + selDate.substr(4));
    if (events == '')
        events = '<tr><td valign="top"><img src="images/white_dot.gif" width="10px" height="10px" border="0" /></td><td style="font-size:9px;" valign="top">No scheduled events today.</td></tr>';

    document.getElementById('event').innerHTML = '<table cellpadding="3" cellspacing="0" border="0"><tr><td style="font-size:9px;" valign="top">' + selDate + ':</td><td valign="top"><table cellpadding="0" cellspacing="0" border="0">' + events + '</table></td></tr></table>';
}

/*'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Name       :  nextDate
' Purpose    :  
' Parameters :  yymmdd -
' Return val :  n/a
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''*/
function nextDate(yymmdd)
{
    var eventList;
    eventList = '';

    for (var i = 0; i < eventArray.length; i++)
    {
        if (eventArray[i].substr(0,8) == yymmdd)
            eventList += '<tr><td valign="top"><img src="images/black_dot.gif" width="10px" height="10px" border="0" /></td><td style="font-size:9px;" valign="top">' + eventArray[i].substr(8) + '</td></tr>';
    }

    return eventList;
}
