/* MarcGrabanski.com */ /* Pop-Up Calendar Built from Scratch by Marc Grabanski */ var popUpCal = { selectedMonth: new Date().getMonth(), // 0-11 selectedYear: new Date().getFullYear(), // 4-digit year selectedDay: new Date().getDate(), calendarId: 'calendarDiv', inputClass: 'calendarSelectDate', init: function () { var x = getElementsByClass(popUpCal.inputClass, document, 'input'); var y = document.getElementById(popUpCal.calendarId); // set the calendar position based on the input position for (var i=0; i'; html += ''; var weekDays = new Array('日','一','二','三','四','五','六'); for (var j=0; j'; } var daysInMonth = getDaysInMonth(popUpCal.selectedYear, popUpCal.selectedMonth); var startDay = getFirstDayofMonth(popUpCal.selectedYear, popUpCal.selectedMonth); var numRows = 0; var printDate = 1; if (startDay != 7) { numRows = Math.ceil(((startDay+1)+(daysInMonth))/7); // calculate the number of rows to generate } // calculate number of days before calendar starts if (startDay != 7) { var noPrintDays = startDay + 1; } else { var noPrintDays = 0; // if sunday print right away } var today = new Date().getDate(); var thisMonth = new Date().getMonth(); var thisYear = new Date().getFullYear(); // create calendar rows for (var e=0; e'; } printDate++; } html += ''; if(noPrintDays > 0) noPrintDays--; } html += ''; } html += ''; // add calendar to element to calendar Div var calendarDiv = document.getElementById(popUpCal.calendarId); calendarDiv.innerHTML = html; // close button link document.getElementById('closeCalender').onclick = function () { calendarDiv.style.display = 'none'; } // setup next and previous links document.getElementById('prevMonth').onclick = function () { popUpCal.selectedMonth--; if (popUpCal.selectedMonth < 0) { popUpCal.selectedMonth = 11; popUpCal.selectedYear--; } popUpCal.drawCalendar(inputObj); popUpCal.setupLinks(inputObj); } document.getElementById('nextMonth').onclick = function () { popUpCal.selectedMonth++; if (popUpCal.selectedMonth > 11) { popUpCal.selectedMonth = 0; popUpCal.selectedYear++; } popUpCal.drawCalendar(inputObj); popUpCal.setupLinks(inputObj); } }, // end drawCalendar function setupLinks: function (inputObj) { // set up link events on calendar table var y = document.getElementById('calendar'); var x = y.getElementsByTagName('a'); for (var i=0; i