var m_strMonth = new Array ('Januari', 'Februari', 'Maart', 'April', 'Mei', 'Juni', 'Juli', 'Augustus', 'September', 'Oktober', 'November', 'December')
var m_strDays = new Array('Ma', 'Di', 'Wo', 'Do', 'Vr', 'Za', 'Zo')

function GenCalendar(p_intMonth, p_intYear, p_strReqDate)
{
    if(p_intMonth > 11)
    {
        p_intMonth = 0;
        p_intYear = p_intYear + 1;
    }
    else if(p_intMonth < 0)
    {
        p_intMonth = 11;
        p_intYear = p_intYear - 1;
    }
    var l_strOutput = '';
    var l_datToday = new Date()
    var l_strToday = l_datToday.getFullYear() + '-' + l_datToday.getMonth() + '-' + l_datToday.getDate();
    var l_datDate = new Date(p_intYear,p_intMonth,1,00,00,00);
    var l_strDate = l_datDate.getFullYear() + '-' + l_datDate.getMonth() + '-' + l_datDate.getDate();
    var l_datEndDate = new Date(p_intYear,p_intMonth+1,1,00,00,00); 
    if(p_intMonth == 11)
        l_datEndDate = new Date(p_intYear+1,0,1,00,00,00); 
    
    document.getElementById('CalendarTitleContainer').innerHTML = m_strMonth[p_intMonth] + ', ' + p_intYear;
    document.getElementById('CalendarPreYearContainer').onclick = function () {GenCalendar(p_intMonth, p_intYear-1, p_strReqDate)};
    document.getElementById('CalendarPreMonthContainer').onclick = function () {GenCalendar(p_intMonth-1, p_intYear, p_strReqDate)};
    document.getElementById('CalendarToDay').onclick = function () {GenCalendar(l_datToday.getMonth(), l_datToday.getFullYear(), p_strReqDate); SelectDay(l_datToday.getFullYear(), l_datToday.getMonth()+1, l_datToday.getDate())};
    document.getElementById('CalendarNextMonth').onclick = function () {GenCalendar(p_intMonth+1, p_intYear, p_strReqDate)};
    document.getElementById('CalendarNextYear').onclick = function () {GenCalendar(p_intMonth, p_intYear+1, p_strReqDate)};
    var l_intWeekday = l_datDate.getDay();
    var l_intCounter = 0;
    
    l_strOutput = '<table cellspacing="0" cellpadding="0" width="100%"><tr>\n'
    //Week days
    while(l_intCounter < m_strDays.length)
    {
        l_strOutput += '<td ';
        if(l_intCounter == 6)
            l_strOutput += 'class="CalendarWeekendDay" style="width:26px;" '
        else if(l_intCounter == 5)
            l_strOutput += 'class="CalendarWeekendDay" '
        else
            l_strOutput += 'class="CalendarNormalDay" '
        l_strOutput += '>' + m_strDays[l_intCounter] + '</td>\n';
        l_intCounter++;
    }
    l_strOutput += '</tr><tr>\n';
    l_intCounter = 1;

    if(l_intWeekday != 1)
        while(l_intCounter != l_intWeekday)
        {
            l_strOutput += '<td></td>\n';
            l_intCounter++;
            if(l_intCounter ==7)
                l_intCounter = 0;
        }
    var l_strOnclick = '';
    var l_strMonth = 0;
    var l_strStyle = '';
    l_intCounter = 1;
    
    while(l_datEndDate > l_datDate)
    {
        l_strDate = l_datDate.getFullYear() + '-' + l_datDate.getMonth() + '-' + l_datDate.getDate();
        l_intWeekday = l_datDate.getDay();
        l_strMonth = l_datDate.getMonth();
        l_strMonth++;
        l_strOnclick = 'onclick="SelectDay(' + l_datDate.getFullYear() + ',' + l_strMonth + ',' + l_datDate.getDate() + ')"';
        
        if(l_intWeekday == 1)
            l_strOutput += '</tr><tr>\n'; 
        if(l_strDate == p_strReqDate)
            l_strStyle = ' style="background-color: #c8c8c8; font-weight:bold;" ';
        else if(l_strDate == l_strToday)
            l_strStyle = ' style="background-color: #AFBF1D; font-weight:bold;" ';
        else
            l_strStyle = '';
            
        if(l_intWeekday == 6 || l_intWeekday == 0)
            l_strOutput += '<td class="CalendarDay0"' + l_strStyle + ' ' + l_strOnclick + '>' + l_intCounter + '</td>\n';
        else
            l_strOutput += '<td class="CalendarDay"' + l_strStyle + ' ' + l_strOnclick + '>' + l_intCounter + '</td>\n';


        l_intCounter++;
        l_datDate = new Date(p_intYear,p_intMonth,l_intCounter,00,00,00);
        if(l_intCounter == 35)
            break;
    }
    if(l_intWeekday != 0)
        while(l_intWeekday != 7)
        {
            l_strOutput += '<td></td>\n';
            l_intWeekday++;
        }
    l_strOutput += '</tr></table>';

    document.getElementById('CalendarContainer').innerHTML = l_strOutput;
}

function SelectDay(p_intYear, p_intMonth, p_intDay)
{
    document.getElementById('SearchDay').value = p_intDay;
    document.getElementById('SearchMonth').value = p_intMonth;
    document.getElementById('SearchYear').value = p_intYear;
    document.SearchAgenda.submit();
}