function SetDate(id,thisdate,fieldname,formId) { eval("document.getElementById('" + formId + "').value = thisdate"); ToggleObject(id); } function ShowCalendar(id,inputdate) { PopulateCalendar(id,inputdate.value,inputdate.name,inputdate.id) ToggleObject(id); } function PopulateCalendar(id,thisdate,fieldname,formId) { var validformat = new RegExp("^[0-9]{2}-[0-9]{2}-[0-9]{4}$"); var entrydate = new Date(); var today = new Date(); if (thisdate != "") { if (validformat.test(thisdate) == true) { var a = thisdate.split("-"); var date = new Date(); date.setFullYear(a[2],a[1]-1,a[0]) if (!isNaN(date)) { entrydate.setTime(date); } } } var monthList = "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec"; var todayLabel = "Today"; var dayList = "S M T W T F S"; var monName = monthList.split(" "); var dayLetter = dayList.split(" "); var date = entrydate.getDate(); var day = entrydate.getDay(); var month = entrydate.getMonth(); var year = entrydate.getYear(); if (year < 1900) { year = year + 1900; } if (today.getDate() < 10) { var todaydate = "0" + today.getDate(); } else { var todaydate = today.getDate(); } if (today.getYear() < 1900) { var todayyear = today.getYear() + 1900; } else { var todayyear = today.getYear(); } var firstthismonthday = (new Date(year,month,1)).getDay(); var lastthismonth = (new Date(new Date(year,month+1,1) - (1000*24*60*60))).getDate(); var lastpreviousmonth = (new Date(new Date(year,month,1) - (1000*24*60*60))).getDate(); var nextmonthNumber = (new Date(year,month+1,1)).getMonth()+1; var nextmonth = monName[nextmonthNumber-1]; var nextmonthyear = (new Date(year,month+1,1)).getYear(); var previousmonthNumber = (new Date(year,month-1,1)).getMonth()+1; var previousmonth = monName[previousmonthNumber-1]; var previousmonthyear = (new Date(year,month-1,1)).getYear(); if (nextmonthyear < 1900) { nextmonthyear = nextmonthyear + 1900; } if (previousmonthyear < 1900) { previousmonthyear = previousmonthyear + 1900; } if (nextmonthNumber < 10) { nextmonthNumber = "0" + nextmonthNumber; } if (previousmonthNumber < 10) { previousmonthNumber = "0" + previousmonthNumber; } var todayMonthNumber = today.getMonth()+1; if (todayMonthNumber < 10) { todayMonthNumber = "0" + todayMonthNumber; } var monthNumber = month + 1; if (monthNumber < 10) { monthNumber = "0" + monthNumber; } var nextmonthtag = ">>"; var previousmonthtag = "<<"; var todaytag = ""+todayLabel+""; var tableArray = new Array(42); var c = 0; for (ctr = 0; ctr < firstthismonthday; ctr++) { lmday = (lastpreviousmonth - (firstthismonthday - ctr) + 1); lmdaystr = lmday; if (lmday < 10) { lmdaystr = "0" + lmday; } lmtag = "" + lmday + ""; tableArray[c] = "" + lmtag + "\n"; c++; } for (ctr = 0; ctr < lastthismonth; ctr++) { tmday = (ctr + 1); tmdaystr = tmday; if (tmday < 10) { tmdaystr = "0" + tmday; } tmtag = "" + tmday + ""; tableArray[c] = "" + tmtag + "\n"; c++; } for (ctr = 0; c < 42; ctr++) { nmday = (ctr+1); nmdaystr = nmday; if (nmday < 10) { nmdaystr = "0" + nmday; } nmtag = "" + nmday + ""; tableArray[c] = "" + nmtag + "\n"; c++; } var htmltext = "\n"; htmltext += " \n"; htmltext += " \n"; htmltext += " \n"; htmltext += " \n"; htmltext += " \n"; htmltext += " \n"; htmltext += " \n"; htmltext += " \n"; htmltext += " \n"; htmltext += " \n"; htmltext += " \n"; htmltext += " \n"; for (c1 = 0; c1 < 6; c1++) { htmltext += "\n"; for (c2 = 0; c2 < 7; c2++) { htmltext += tableArray[(c1*7) + c2]; } htmltext += "\n"; } htmltext += " \n"; htmltext += " \n"; htmltext += " \n"; htmltext += "
" + previousmonthtag + "   " + monName[month] + " " + year + "   " + nextmonthtag + "
"+dayLetter[0]+""+dayLetter[1]+""+dayLetter[2]+""+dayLetter[3]+""+dayLetter[4]+""+dayLetter[5]+""+dayLetter[6]+"
" + todaytag + "
\n"; document.getElementById(id).innerHTML=htmltext; }