
var L_WDay = new Array(37); //define date array
var MonHead = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);   //define the end day of each month
function setDate() {
    var yy = document.getElementById("selectYear").value;
    var mm = document.getElementById("selectMonth").value;

	document.getElementById("dateForm").searchName.value=yy+"."+mm;

    for (var i = 0; i < 37; i++) {
        L_WDay[i] = "";  //empty the date array
    }
    var day1 = 1, day2 = 1, firstday = new Date(yy, mm - 1, 1).getDay();  //retrieve what date the first day of month is
    for (var i = 0; i < firstday; i++) {
        //L_WDay[i] = GetMonthCount(mm == 1 ? yy - 1 : yy, mm == 1 ? 12 : mm - 1) - firstday + i + 1;   //the last days of last month
		L_WDay[i] = "";
    }
    for (i = firstday; day1 < GetMonthCount(yy, mm) + 1; i++) {
        L_WDay[i] = day1;
        day1++;
    }
    for (i = firstday + GetMonthCount(yy, mm); i < 37; i++) {
        //L_WDay[i] = day2;
        //day2++;
		L_WDay[i] = "";
    }
    var htmlstr = "";
    var weekstr = "";
    for (var i = 0; i < L_WDay.length; i++) {
    	if(i > 0 && i % 7 == 0) {
    		htmlstr += "<ul class=\"dateDetail\">" + weekstr + "</ul><div class=\"lineSpaceNoHeight\">&nbsp;</div>";
    		weekstr = "";
    	}
		if(i == 35 && L_WDay[35] == "") break;
		if(L_WDay[i] == "") {
			weekstr += "<li id=\"L_calendar-day_blank_" + i + "\">" + L_WDay[i] + "</li>\r\n";
		}
		else {
			weekstr += "<li id=\"L_calendar-day_" + L_WDay[i] + "\">" + L_WDay[i] + "</li>\r\n";
		}
        if(i == this.L_WDay.length-1) {
        	htmlstr += "<ul class=\"dateDetail\">" + weekstr + "</ul>";   //the last line
        }
    }
    document.getElementById("L_calendar-day").innerHTML = htmlstr;

	search(mm, yy);
}

function GetMonthCount(year, month) {  //Feb in pin year has 29 days
    var c = MonHead[month - 1];
    if ((month == 2) && IsPinYear(year)) {
        c++;
    }
    return c;
}

function IsPinYear(year) {
    if (0 == year % 4 && ((year % 100 != 0) || (year % 400 == 0))) {
        return true;
    } else {
        return false;
    }
}

function search(mm, yy)
{
	sendStandardRequest(parseData, "/calendar.do", "month="+mm+"&year="+yy);
}

function parseData(xmlData)
{
	if(!xmlData) return;

	var result = xmlData.getElementsByTagName("result")[0];
	document.getElementById("countOfMonth").innerHTML = result.getAttribute("count");
	var dates = result.getElementsByTagName("event-day");
	var eventIds = result.getElementsByTagName("event-id");
	for(var i=0; i<dates.length; i++) {
		var value = dates[i].firstChild.data;
		var eventId = eventIds[i].firstChild.data;
		document.getElementById("L_calendar-day_"+value).className = "dateInfo";
		//document.getElementById("L_calendar-day_"+value).innerHTML =value
		document.getElementById("L_calendar-day_"+value).innerHTML = "<a href=\"/landing/"+eventId+".HTM\">"+value+"</a>";
	}
}

setDate();