﻿function eventCalendarChangeMonth(lblMonthClientID, lblYearClientID, divCalendarGridClientID, monthAdd, hdnResultURLClientID)
{
    var lblMonth = document.getElementById(lblMonthClientID);
    var lblYear = document.getElementById(lblYearClientID);
    var divCalendarGrid = document.getElementById(divCalendarGridClientID);
    var hdnResultURL = document.getElementById(hdnResultURLClientID);
    var monthName = lblMonth.childNodes[0].nodeValue;
    var year = parseInt(lblYear.childNodes[0].nodeValue);
    var resultURL = hdnResultURL.value;


    eventCalendarClear(divCalendarGrid);
    
    month = eventCalendarGetMonthNumberByMonthName(monthName);
    
    month = month + monthAdd;
    
    if (month <= 0) { month = 12; year = year - 1;}
    if (month >= 13) { month = 1; year = year + 1;}
    
    var firstWeekDay = eventCalendarGetFirstDayWeekByMothYear(month, year);
    
    eventCalendarFillDaysByMonthYear(month, year, divCalendarGrid, firstWeekDay, resultURL)
    
    lblMonth.childNodes[0].nodeValue = eventCalendarGetMonthNameByMonthNumber(month);
    lblYear.childNodes[0].nodeValue = year.toString();
}
function eventCalendarFillDaysByMonthYear(intMonth, intYear, divCalendarGridObj, firstWeekDay, resultURL)
{

    var arrMonthsDays;
    var a = null;
    var today = new Date();
    var it = null;
    today = new Date((today.getMonth() + 1).toString() + "/" + today.getDate().toString() + "/" + today.getYear().toString());
    if (intYear % 4 == 0)
    {
        arrMonthsDays = "31,29,31,30,31,30,31,31,30,31,30,31".split(",");
    }
    else
    {
        arrMonthsDays = "31,28,31,30,31,30,31,31,30,31,30,31".split(",");
    }
    
    
    for (var x = firstWeekDay; x < firstWeekDay + parseInt(arrMonthsDays[intMonth - 1]); x++)
    {
        if (divCalendarGridObj.childNodes[x].nodeName == "DIV")
        
        var day = x - firstWeekDay + 1;
        var currentDate = new Date(intMonth.toString() + "/" + day + "/" + intYear.toString());
        var linkDay = intMonth.toString() + "/" + day + "/" + intYear.toString();
        ///calendarsearch.aspx
        var link = resultURL + "?sd=" + linkDay.toString() + "&ed=" + linkDay.toString();
        
        var a = document.createElement("a");
        
        a.href = link;
        
        a.appendChild(document.createTextNode(day));
        
        divCalendarGridObj.childNodes[x].appendChild(a);
        
        if (currentDate.toString() == today.toString())
        {
            divCalendarGridObj.childNodes[x].className = "calDayToday";
        }
        else
        {
            divCalendarGridObj.childNodes[x].className = "calDay";
        }
    }
}
function mouseOverDay()
{
}
function eventCalendarFillDay(divDay, intDay)
{
    divDay.innerText = intDay.toString()
}
function eventCalendarClear(divCalendarGridObj)
{
    for (var x = 0; x < divCalendarGridObj.childNodes.length; x++)
    {
        var child = divCalendarGridObj.childNodes[x].childNodes[0];
        if (child != null)
        {
            divCalendarGridObj.childNodes[x].removeChild(child);
            //divCalendarGridObj.childNodes[x].childNodes[0].nodeValue = "1";
        }
    }
}

function eventCalendarGetMonthNumberByMonthName(strMonthName)
{
    //If there is only one calendar running then put this varArray global else leave it here
    var arrMonths = "January,February,March,April,May,June,July,August,September,October,November,December".split(",");
    var month = 0;
    for (var x = 0; x < arrMonths.length; x++)
    {
        if (arrMonths[x] == strMonthName)
        {
            month = x + 1;
            break;
        }
    }
    return month;
}
function eventCalendarGetFirstDayWeekByMothYear(intMonth, intYear)
{
    var date = new Date( (intMonth).toString() + "/1/" + intYear.toString() );
    return date.getDay();
}

function eventCalendarGetMonthNameByMonthNumber(intMonth)
{
    //If there is only one calendar running then put this varArray global else leave it here
    var arrMonths = "January,February,March,April,May,June,July,August,September,October,November,December".split(",");
    intMonth = intMonth - 1;
    return arrMonths[intMonth];
}