📄 calendar_param.js
字号:
}
}
// SET THE GLOBAL DATE TO THE NEXT MONTH AND REDRAW THE CALENDAR
function setNextMonth() {
var year = top.newWin.frames['topCalFrame'].document.calControl.year.value;
if (isFourDigitYear(year)) {
var month = top.newWin.frames['topCalFrame'].document.calControl.month.selectedIndex;
// IF MONTH IS DECEMBER, SET MONTH TO JANUARY AND INCREMENT THE YEAR
if (month == 11) {
month = 0;
year++;
calDate.setFullYear(year);
top.newWin.frames['topCalFrame'].document.calControl.year.value = year;
}
else {
month++;
}
calDate.setMonth(month);
top.newWin.frames['topCalFrame'].document.calControl.month.selectedIndex = month;
writeCalendar();
}
}
// SET THE GLOBAL DATE TO THE NEXT YEAR AND REDRAW THE CALENDAR
function setNextYear() {
var year = top.newWin.frames['topCalFrame'].document.calControl.year.value;
if (isFourDigitYear(year)) {
year++;
calDate.setFullYear(year);
top.newWin.frames['topCalFrame'].document.calControl.year.value = year;
writeCalendar();
}
}
// GET NUMBER OF DAYS IN MONTH
function getDaysInMonth() {
var days;
var month = calDate.getMonth()+1;
var year = calDate.getFullYear();
// RETURN 31 DAYS
if (month==1 || month==3 || month==5 || month==7 || month==8 ||
month==10 || month==12) {
days=31;
}
// RETURN 30 DAYS
else if (month==4 || month==6 || month==9 || month==11) {
days=30;
}
// RETURN 29 DAYS
else if (month==2) {
if (isLeapYear(year)) {
days=29;
}
// RETURN 28 DAYS
else {
days=28;
}
}
return (days);
}
// CHECK TO SEE IF YEAR IS A LEAP YEAR
function isLeapYear (Year) {
if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0)) {
return (true);
}
else {
return (false);
}
}
// ENSURE THAT THE YEAR IS FOUR DIGITS IN LENGTH
function isFourDigitYear(year) {
if (year == null || year.match(/^[0-9]{4}$/) == null){
top.newWin.frames['topCalFrame'].document.calControl.year.value = calDate.getFullYear();
top.newWin.frames['topCalFrame'].document.calControl.year.select();
top.newWin.frames['topCalFrame'].document.calControl.year.focus();
}
else {
return true;
}
}
// BUILD THE MONTH SELECT LIST
function getMonthSelect() {
monthArray = new Array(L_January, L_February, L_March, L_April, L_May, L_June,
L_July, L_August, L_September, L_October, L_November, L_December);
// DETERMINE MONTH TO SET AS DEFAULT
var activeMonth = calDate.getMonth();
// START HTML SELECT LIST ELEMENT
monthSelect = "<SELECT NAME='month' onChange='parent.opener.setCurrentMonth()'>";
// LOOP THROUGH MONTH ARRAY
for (i in monthArray) {
// SHOW THE CORRECT MONTH IN THE SELECT LIST
if (i == activeMonth) {
monthSelect += "<OPTION SELECTED>" + monthArray[i] + "\n";
}
else {
monthSelect += "<OPTION>" + monthArray[i] + "\n";
}
}
monthSelect += "</SELECT>";
// RETURN A STRING VALUE WHICH CONTAINS A SELECT LIST OF ALL 12 MONTHS
return monthSelect;
}
// SET DAYS OF THE WEEK DEPENDING ON LANGUAGE
function createWeekdayList() {
weekdayArray = new Array(L_Su,L_Mo,L_Tu,L_We,L_Th,L_Fr,L_Sa);
// START HTML TO HOLD WEEKDAY NAMES IN TABLE FORMAT
var weekdays = "<TR BGCOLOR='" + headingCellColor + "'>";
// LOOP THROUGH WEEKDAY ARRAY
for (i in weekdayArray) {
weekdays += "<TD class='heading' align=center>" + weekdayArray[i] + "</TD>";
}
weekdays += "</TR>";
// RETURN TABLE ROW OF WEEKDAY ABBREVIATIONS TO DISPLAY ABOVE THE CALENDAR
return weekdays;
}
// PRE-BUILD PORTIONS OF THE CALENDAR (FOR PERFORMANCE REASONS)
function buildCalParts() {
// GENERATE WEEKDAY HEADERS FOR THE CALENDAR
weekdays = createWeekdayList();
// BUILD THE BLANK CELL ROWS
blankCell = "<TD align=center bgcolor='" + cellColor + "'> </TD>";
// BUILD THE TOP PORTION OF THE CALENDAR PAGE USING CSS TO CONTROL SOME DISPLAY ELEMENTS
calendarBegin =
"<HTML>" +
"<HEAD>" +
// STYLESHEET DEFINES APPEARANCE OF CALENDAR
"<STYLE type='text/css'>" +
"<!--" +
"TD.heading { text-decoration: none; color:" + headingTextColor + "; font: " + headingFontStyle + "; }" +
"A.focusDay:link { color: " + focusColor + "; text-decoration: none; font: " + fontStyle + "; }" +
"A.focusDay:hover { color: " + focusColor + "; text-decoration: none; font: " + fontStyle + "; }" +
"A.focusDay:visited { color: " + focusColor + "; text-decoration: none; font: " + fontStyle + "; }" +
"A.weekday:link { color: " + dateColor + "; text-decoration: none; font: " + fontStyle + "; }" +
"A.weekday:hover { color: " + hoverColor + "; font: " + fontStyle + "; }" +
"A.weekday:visited { color: " + dateColor + "; text-decoration: none; font: " + fontStyle + "; }" +
"-->" +
"</STYLE>" +
"</HEAD>" +
"<BODY BGCOLOR='" + bottomBackground + "' onload='javascript:self.focus()'>";
if (document.getElementById) { // ns6 & ie
calendarBegin +=
"<DIV ID='bottomDiv'>";
}
calendarBegin +=
"<CENTER>";
// NAVIGATOR NEEDS A TABLE CONTAINER TO DISPLAY THE TABLE OUTLINES PROPERLY
if (isNav) {
calendarBegin +=
"<TABLE CELLPADDING=0 CELLSPACING=1 BORDER=" + tableBorder + " ALIGN=CENTER BGCOLOR='" + tableBGColor + "'><TR><TD>";
}
// BUILD WEEKDAY HEADINGS
calendarBegin +=
"<TABLE CELLPADDING=0 CELLSPACING=1 BORDER=" + tableBorder + " ALIGN=CENTER BGCOLOR='" + tableBGColor + "'>" +
weekdays +
"<TR>";
// BUILD THE BOTTOM PORTION OF THE CALENDAR PAGE
calendarEnd = "";
// WHETHER OR NOT TO DISPLAY A THICK LINE BELOW THE CALENDAR
if (bottomBorder) {
calendarEnd += "<TR></TR>";
}
// NAVIGATOR NEEDS A TABLE CONTAINER TO DISPLAY THE BORDERS PROPERLY
if (isNav) {
calendarEnd += "</TD></TR></TABLE>";
}
// END THE TABLE AND HTML DOCUMENT
calendarEnd +=
"</TABLE>" +
"</CENTER>";
if (document.getElementById) { // ns6 & ie
calendarEnd +=
"</DIV>";
}
calendarEnd +=
"</BODY>" +
"</HTML>";
}
// REPLACE ALL INSTANCES OF find WITH replace
// inString: the string you want to convert
// find: the value to search for
// replace: the value to substitute
//
// usage: jsReplace(inString, find, replace);
// example: jsReplace("To be or not to be", "be", "ski");
// result: "To ski or not to ski"
//
function jsReplace(inString, find, replace) {
var outString = "";
if (!inString) {
return "";
}
// REPLACE ALL INSTANCES OF find WITH replace
if (inString.indexOf(find) != -1) {
// SEPARATE THE STRING INTO AN ARRAY OF STRINGS USING THE VALUE IN find
t = inString.split(find);
// JOIN ALL ELEMENTS OF THE ARRAY, SEPARATED BY THE VALUE IN replace
return (t.join(replace));
}
else {
return inString;
}
}
// JAVASCRIPT FUNCTION -- DOES NOTHING (USED FOR THE HREF IN THE CALENDAR CALL)
function doNothing() {
}
// ENSURE THAT VALUE IS TWO DIGITS IN LENGTH
function makeTwoDigit(inValue) {
var numVal = parseInt(inValue, 10);
// VALUE IS LESS THAN TWO DIGITS IN LENGTH
if (numVal < 10) {
// ADD A LEADING ZERO TO THE VALUE AND RETURN IT
return("0" + numVal);
}
else {
return numVal;
}
}
// SET FIELD VALUE TO THE DATE SELECTED AND CLOSE THE CALENDAR WINDOW
function returnDate(inDay)
{
// inDay = THE DAY THE USER CLICKED ON
calDate.setDate(inDay);
// SET THE DATE RETURNED TO THE USER
var day = calDate.getDate();
var month = calDate.getMonth()+1;
var year = calDate.getFullYear();
// SET THE VALUE OF THE FIELD THAT WAS PASSED TO THE CALENDAR
var dt = new Date(year, month - 1, day, 0, 0, 0);
calDateField.value = GLDT(dt,true, false);
calHiddenField.value = "Date(";
calHiddenField.value += year;
calHiddenField.value += ",";
calHiddenField.value += month;
calHiddenField.value += ",";
calHiddenField.value += day;
calHiddenField.value += ")";
// GIVE FOCUS BACK TO THE DATE FIELD
calDateField.focus();
// CLOSE THE CALENDAR WINDOW
top.newWin.close()
}
var gHour = "0";
var gMin = "0";
var gSec = "0";
var regDateTimePrompt = /^(D|d)(A|a)(T|t)(E|e)(T|t)(I|i)(M|m)(E|e) *\( *\d{4} *, *(0?[1-9]|1[0-2]) *, *((0?[1-9]|[1-2]\d)|3(0|1)) *, *([0-1]?\d|2[0-3]) *, *[0-5]?\d *, *[0-5]?\d *\)$/
function ParseDateTimePrompt(inDate)
{
if ( regDateTimePrompt.test ( inDate ) )
{
var sDate = inDate.substr ( inDate.indexOf("(")+1 ); //move past "DateTime ("
sDate = sDate.substr ( 0, sDate.lastIndexOf(")") ); //remove trailing ")"
var dateArray = sDate.split (',');
var _date = new Date ( dateArray[0], Number(dateArray[1]) - 1, dateArray[2] );
gHour = dateArray[3]; gMin = dateArray[4]; gSec = dateArray[5];
return _date;
}
return new Date ();
}
var regDatePrompt = /^(D|d)(A|a)(T|t)(E|e) *\( *\d{4} *, *(0?[1-9]|1[0-2]) *, *((0?[1-9]|[1-2]\d)|3(0|1)) *\)$/
function ParseDatePrompt(inDate)
{
if ( regDatePrompt.test ( inDate ) )
{
var sDate = inDate.substr ( inDate.indexOf("(")+1 ); //move past "Date ("
sDate = sDate.substr ( 0, sDate.lastIndexOf(")") ); //remove trailing ")"
var dateArray = sDate.split (',');
return new Date ( dateArray[0], Number(dateArray[1]) - 1, dateArray[2] );
}
return new Date();
}
function ParseDate(inDate, bDateTimeFormat)
{
var result;
if (bDateTimeFormat == true) {
result = ParseDateTimePrompt(inDate);
} else {
result = ParseDatePrompt(inDate);
}
return result;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -