var shortmonths = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"); var fullmonths = new Array("January","February","March","April","May","June","July","August","September","October","November","December"); var WeekDay = new Array("Su","Mo","Tu","We","Th","Fr","Sa"); var bsgCalendar = null; var bsgDateControl = null; var bsgHeight = "12"; var bsgWidth = "220"; var bsgDateFormat = null; var bsgOnDocClick = null; var bsgBubbleUp = true; function GetScreenTop(obj) { var xTop = obj.offsetTop; var oParent = obj.offsetParent; while (oParent != null) { xTop += oParent.offsetTop; oParent = oParent.offsetParent; } return xTop; } function GetScreenLeft(obj) { var xLeft = obj.offsetLeft; var oParent = obj.offsetParent; while (oParent != null) { xLeft += oParent.offsetLeft; oParent = oParent.offsetParent; } return xLeft; } function popUpCalendarMinMax(popCtrl, dateCtrl, mindate, maxdate) { var defaultdate; if (document.getElementById(dateCtrl).value!="") defaultdate = new Date(document.getElementById(dateCtrl).value); else defaultdate = new Date(); } function formatDate(iYear, iMonth, iDay) { var fout = ""; var selectDate = new Date(iYear, iMonth, iDay); var dMonth = (++iMonth).toString(); var dDay = iDay.toString(); if (iMonth < 10 ) dMonth = "0" + dMonth; if (iDay < 10) dDay = "0" + dDay; switch (bsgDateFormat) { case "local": fout = selectDate.toLocaleDateString(); break; case "MM/dd/yyyy": fout = dMonth + "/" + dDay + "/" + iYear; break; case "dd.MM.yyyy": fout = dDay + "." + dMonth + "." + iYear; break; case "MM.dd.yy": fout = dMonth + "." + dDay + "." + iYear.toString().substring(2,4); break; case "yyyy.dd.MM": fout = iYear + "." + dDay + "." + dMonth; break; case "yyyy.MM.dd": fout = iYear + "." + dMonth + "." + dDay; break; } return fout; } function getDate(value) { var fout; var dYear, dMonth, dDay; switch (bsgDateFormat) { case "local": fout = new Date(value); break; case "MM/dd/yyyy": dMonth = value.substring(0,2); dDay = value.substring(3,5); dYear = value.substring(6,10); fout = new Date(dYear, dMonth-1, dDay); break; case "dd.MM.yyyy": dDay = value.substring(0,2); dMonth = value.substring(3,5); dYear = value.substring(6,10); fout = new Date(dYear, dMonth-1, dDay); break; case "MM.dd.yy": dMonth = value.substring(0,2); dDay = value.substring(3,5); dYear = value.substring(6,8); if (dYear > 20) dYear = 19 + dYear; else dYear = 20 + dYear; fout = new Date(dYear, dMonth-1, dDay); break; case "yyyy.dd.MM": dYear = value.substring(0,4); dDay = value.substring(5,7); dMonth = value.substring(8,10); fout = new Date(dYear, dMonth-1, dDay); break; case "yyyy.MM.dd": dYear = value.substring(0,4); dMonth = value.substring(5,7); dDay = value.substring(8,10); fout = new Date(dYear, dMonth-1, dDay); break; } return fout; } function setDate(iYear, iMonth, iDay) { bsgDateControl.value = formatDate(iYear, iMonth, iDay); hideCalendar(); } function hideCalendar() { if (!window.createPopup) { if (bsgBubbleUp) { bsgCalendar.style.visibility = "hidden"; window.document.onclick=bsgOnDocClick; } else bsgBubbleUp = true; } else bsgCalendar.hide(); } function noBubbleUp() { bsgBubbleUp = false; } function setSelected(icell){ var ndsel = document.getElementsByName("tbSelYear"); var iYear = parseInt(ndsel[0].value); ndsel = document.getElementsByName("tbSelMonth"); var iMonth = parseInt(ndsel[0].value); var cellList = document.getElementsByName("cellText"); var aCell = cellList.item(icell); var iDateValue = aCell.getAttribute("datevalue"); var iDay = 0; if (iDateValue < 0) { iMonth--; iDay = (-1)*iDateValue; } else { iDay = iDateValue; if (aCell.className=="datalink") iMonth++; } setDate(iYear, iMonth, iDay); } function updateCalendar(iYear, iMonth) { var dCalDate = new Date(iYear, iMonth, 1); var iDayOfFirst = dCalDate.getDay(); var iDaysInPrevMonth = new Date(iYear, iMonth, 0).getDate(); var iDaysInMonth = new Date(iYear, parseInt(iMonth)+1, 0).getDate(); var iOffsetLast = new Date(iYear, iMonth, 0).getDate() - iDayOfFirst + 1; var iDate = 1; var iOffsetNext = 1; var bCurMonthYear = false; var curDate = new Date(); var cellList = document.getElementsByName("cellText"); if (iYear == curDate.getFullYear() && iMonth == curDate.getMonth()) bCurMonthYear = true; for (var i=0; i < cellList.length; i++) { if (iOffsetLast <= iDaysInPrevMonth) { cellList.item(i).innerHTML = iOffsetLast; cellList.item(i).className="datalink"; cellList.item(i).setAttribute("datevalue",(-1)*iOffsetLast); cellList.item(i).parentNode.className="table_sortable_column_header"; cellList.item(i).parentNode.setAttribute("align","middle"); iOffsetLast++; } else if (iDate <= iDaysInMonth) { cellList.item(i).innerHTML = iDate; cellList.item(i).className="table_control_link"; cellList.item(i).setAttribute("datevalue",iDate); if (bCurMonthYear) if (iDate==curDate.getDate()) cellList.item(i).parentNode.className="table_row_selected"; else cellList.item(i).parentNode.className="table_sortable_column_header"; else cellList.item(i).parentNode.className="table_sortable_column_header"; cellList.item(i).parentNode.setAttribute("align","middle"); iDate++; } else { cellList.item(i).innerHTML = iOffsetNext; cellList.item(i).className="datalink"; cellList.item(i).setAttribute("datevalue",iOffsetNext); cellList.item(i).parentNode.className="table_sortable_column_header"; cellList.item(i).parentNode.setAttribute("align","middle"); iOffsetNext++; } } } function setYearMon() { var ndsel = document.getElementsByName("tbSelMonth"); var iMon = ndsel[0].value; var ndsel = document.getElementsByName("tbSelYear"); var iYear = ndsel[0].value; updateCalendar(iYear, iMon); } function prevMonth() { var ndsel = document.getElementsByName("tbSelYear"); var iYear = parseInt(ndsel[0].value); ndsel = document.getElementsByName("tbSelMonth"); var iMonth = parseInt(ndsel[0].value); if (--iMonth < 0) { iMonth = 11; iYear--; } ndsel = document.getElementsByName("tbSelYear"); ndsel[0].value = iYear; ndsel = document.getElementsByName("tbSelMonth"); ndsel[0].value = iMonth; setYearMon(); } function nextMonth(){ var ndsel = document.getElementsByName("tbSelYear"); var iYear = parseInt(ndsel[0].value); ndsel = document.getElementsByName("tbSelMonth"); var iMonth = parseInt(ndsel[0].value); if (++iMonth>=12) { iMonth = 0; iYear++; } ndsel = document.getElementsByName("tbSelYear"); ndsel[0].value = iYear; ndsel = document.getElementsByName("tbSelMonth"); ndsel[0].value = iMonth; setYearMon(); } function popUpCalendar(popCtrl, dateCtrl, dateFormat) { var defaultdate; if (dateFormat==null || dateFormat=="") bsgDateFormat = "local"; else bsgDateFormat = dateFormat; if (document.getElementById(dateCtrl).value!="") defaultdate = getDate(document.getElementById(dateCtrl).value); else defaultdate = new Date(); bsgDateControl = document.getElementById(dateCtrl); if (bsgCalendar==null) if (!window.createPopup) { bsgCalendar = document.createElement("div"); bsgCalendar.innerHTML="
| "; popupcontent = popupcontent + "Today: "; popupcontent = popupcontent + "" + todaydate.getDate() + " " + shortmonths[todaydate.getMonth()] + " " + todaydate.getFullYear() + ""; popupcontent = popupcontent + " | ||||||
| "; popupcontent = popupcontent + ""; popupcontent = popupcontent + ""; popupcontent = popupcontent + ""; popupcontent = popupcontent + " | ||||||
| " + WeekDay[i] + " | "; popupcontent = popupcontent + "||||||
| "; popupcontent = popupcontent + ""; popupcontent = popupcontent + " | "; } popupcontent = popupcontent + "||||||