Software: Apache/2.0.54 (Fedora). PHP/5.0.4 uname -a: Linux mina-info.me 2.6.17-1.2142_FC4smp #1 SMP Tue Jul 11 22:57:02 EDT 2006 i686 uid=48(apache) gid=48(apache) groups=48(apache) Safe-mode: OFF (not secure) /home/mnnews/public_html/mina/kontakti/ drwxr-xr-x |
Viewing file: Select action/file-type: //JS DatePicker @0-D72D8EC5 // Date formatting functions begin --------------------------------------------------- var listMonths = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); var listShortMonths = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"); var firstWeekDay = "Sun"; var listWeekdays = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"); var listShortWeekdays = new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"); var DateMasks = new Array(); DateMasks["d"] = 0; DateMasks["dd"] = 2; DateMasks["m"] = 0; DateMasks["mm"] = 2; DateMasks["mmm"] = 3; DateMasks["mmmm"] = 0; DateMasks["yy"] = 2; DateMasks["yyyy"] = 4; DateMasks["h"] = 0; DateMasks["hh"] = 2; DateMasks["H"] = 0; DateMasks["HH"] = 2; DateMasks["n"] = 0; DateMasks["nn"] = 2; DateMasks["s"] = 0; DateMasks["ss"] = 2; DateMasks["am/pm"] = 2; DateMasks["AM/PM"] = 2; DateMasks["A/P"] = 1; DateMasks["a/p"] = 1; DateMasks["w"] = 0; DateMasks["q"] = 0; DateMasks["S"] = 0; function isInArray(strValue, arrArray) { var intResult = -1; for ( var j = 0; j < arrArray.length && (strValue != arrArray[j]); j++ ); if ( j != arrArray.length ) intResult = j; return intResult; } function parseDateFormat(strMask) { var UNDEF; var arrResult = new Array(); if (strMask == "" || typeof(strMask) == "undefined") return arrResult; var arrMaskTokens = new Array( "d", "w", "m", "q", "y", "h", "H", "n", "s", "dd", "ww", "mm", "yy", "hh", "HH", "nn", "ss", "S", "ddd", "mmm", "A/P", "a/p", "dddd", "mmmm", "yyyy", "AM/PM", "am/pm", "LongDate", "LongTime", "ShortDate", "ShortTime", "GeneralDate"); var arrMaskTokensFirstLetters = new Array("d", "w", "m", "q", "y", "h", "H", "n", "s", "A", "a", "L", "S", "G"); var strMaskLength = strMask.length; var i = 0, intMaskPosition = 0; var arrMask = new Array(); var strToken = ""; while (i < strMaskLength) { if (strMask.charAt(i) == "\\") { strToken += strMask.charAt(++i); i ++; } else if (strMask.charAt(i) == "'") { i ++; while ((i < strMask.length) && (strMask.charAt(i) != "'")) strToken += strMask.charAt(i++); i ++; } else { var j = isInArray(strMask.charAt(i), arrMaskTokensFirstLetters); if ( j != -1 ) { var k; for (k = (arrMaskTokens.length - 1); k >= 0 && strMask.slice(i, i + arrMaskTokens[k].length) != arrMaskTokens[k]; k--); if (k != -1) { if (strToken.length > 0) { if ( isInArray(strToken, arrMaskTokens) == -1) arrMask[intMaskPosition ++] = strToken; else arrMask[intMaskPosition ++] = "\\" + strToken; strToken = ""; } arrMask[intMaskPosition ++] = arrMaskTokens[k]; i += arrMaskTokens[k].length; } else { strToken = strMask.charAt(i); i ++; } } else { strToken += strMask.charAt(i); i ++; } } } if (strToken.length > 0) { if ( isInArray(strToken, arrMaskTokens) == -1) arrMask[intMaskPosition ++] = strToken; else arrMask[intMaskPosition ++] = "\\" + strToken; strToken = ""; } arrResult = arrMask; return arrResult; } function getDayOfYear(year, month, day) { var firstDay = new Date(year, 0, 1); var date = new Date(year, month, day); return (date-firstDay)/(1000*60*60*24); } function get12Hour(hoursNumber) { if (hoursNumber == 0) hoursNumber = 12; else if (hoursNumber > 12) hoursNumber = hoursNumber - 12; return hoursNumber; } function addZero(value, resultLength) { var countZero = resultLength - String(value).length; var result = String(value); for (var i=0; i<countZero; i++) result = "0" + result; return result; } function getAMPM(HoursNumber, AnteMeridiem, PostMeridiem) { if (HoursNumber >= 0 && HoursNumber < 12) return AnteMeridiem; else return PostMeridiem; } function formatDate(dateToFormat, parsedFormat) { var resultArray = new Array(parsedFormat.length); for (var i=0; i<parsedFormat.length; i++) { switch (parsedFormat[i]) { case "d": resultArray[i] = dateToFormat.getDate(); break; case "w": resultArray[i] = dateToFormat.getDay()+1; break; case "m": resultArray[i] = dateToFormat.getMonth()+1; break; case "q": resultArray[i] = Math.floor((dateToFormat.getMonth()+4)/4); break; case "y": resultArray[i] = getDayOfYear(dateToFormat.getFullYear(), dateToFormat.getMonth(), dateToFormat.getDate()); break; case "h": resultArray[i] = "";//get12Hour(dateToFormat.getHours()); break; case "H": resultArray[i] = "";//dateToFormat.getHours(); break; case "n": resultArray[i] = "";//dateToFormat.getMinutes(); break; case "s": resultArray[i] = "";//dateToFormat.getSeconds(); break; case "dd": resultArray[i] = addZero(dateToFormat.getDate(), 2); break; case "ww": resultArray[i] = Math.floor(getDayOfYear(dateToFormat.getFullYear(), dateToFormat.getMonth(), dateToFormat.getDate())/7)+1; break; case "mm": resultArray[i] = addZero(dateToFormat.getMonth()+1, 2); break; case "yy": resultArray[i] = String(dateToFormat.getFullYear()).substr(2); break; case "hh": resultArray[i] = "";//addZero(get12Hour(dateToFormat.getHours()), 2); break; case "HH": resultArray[i] = "";//addZero(dateToFormat.getHours(), 2); break; case "nn": resultArray[i] = "";//addZero(dateToFormat.getMinutes(), 2); break; case "ss": resultArray[i] = "";//addZero(dateToFormat.getSeconds(), 2); break; case "S": resultArray[i] = "";//"000"; break; case "ddd": resultArray[i] = listShortWeekdays[dateToFormat.getDay()]; break; case "mmm": resultArray[i] = listShortMonths[dateToFormat.getMonth()]; break; case "A/P": resultArray[i] = "";//getAMPM(dateToFormat.getHours(), "A", "P"); break; case "a/p": resultArray[i] = "";//getAMPM(dateToFormat.getHours(), "a", "p"); break; case "dddd": resultArray[i] = listWeekdays[dateToFormat.getDay()]; break; case "mmmm": resultArray[i] = listMonths[dateToFormat.getMonth()]; break; case "yyyy": resultArray[i] = dateToFormat.getFullYear(); break; case "AM/PM": resultArray[i] = "";//getAMPM(dateToFormat.getHours(), "AM", "PM"); break; case "am/pm": resultArray[i] = "";//getAMPM(dateToFormat.getHours(), "am", "pm"); break; case ":": resultArray[i] = ""; break; case "LongDate": resultArray[i] = formatDate(dateToFormat, parseDateFormat("dddd, mmmm dd, yyyy")); break; case "LongTime": resultArray[i] = "";//formatDate(dateToFormat, parseDateFormat("h:nn:ss AM/PM")); break; case "ShortDate": resultArray[i] = formatDate(dateToFormat, parseDateFormat("m/d/yy")); break; case "ShortTime": resultArray[i] = "";//formatDate(dateToFormat, parseDateFormat("H:nn")); break; case "GeneralDate": resultArray[i] = formatDate(dateToFormat, parseDateFormat("m/d/yy hh:nn AM/PM")); break; default: if (String(parsedFormat[i]).charAt(0)=="\\") resultArray[i] = String(parsedFormat[i]).substr(0); else resultArray[i] = parsedFormat[i]; } } return resultArray.join(""); } function parseDate(dateToParse, parsedMask) { var resultDate, resultDateArray = new Array(8); var MaskPart, MaskLength, TokenLength; var IsError; var DatePosition, MaskPosition; var Delimiter, BeginDelimiter; var MonthNumber, MonthName; var DatePart; var IS_DATE_POS, YEAR_POS, MONTH_POS, DAY_POS, IS_TIME_POS, HOUR_POS, MINUTE_POS, SECOND_POS; IS_DATE_POS = 0; YEAR_POS = 1; MONTH_POS = 2; DAY_POS = 3; IS_TIME_POS = 4; HOUR_POS = 5; MINUTE_POS = 6; SECOND_POS = 7; if (!parsedMask) { resultDate = null; } else if (parsedMask[0] == "GeneralDate" && String(dateToParse)!="") resultDate = parseDate(dateToParse, parseDateFormat("m/d/yy hh:nn AM/PM")); else if (parsedMask[0] == "LongDate" && String(dateToParse)!="") resultDate = parseDate(dateToParse, parseDateFormat("dddd, mmmm dd, yyyy")); else if (parsedMask[0] == "ShortDate" && String(dateToParse)!="") resultDate = parseDate(dateToParse, parseDateFormat("m/d/yy")); else if (parsedMask[0] == "LongTime" && String(dateToParse)!="") resultDate = parseDate(dateToParse, parseDateFormat("h:nn:ss AM/PM")); else if (parsedMask[0] == "ShortTime" && String(dateToParse)!="") resultDate = parseDate(dateToParse, parseDateFormat("H:nn")); else if (String(dateToParse) == "") resultDate = null; else { DatePosition = 0; MaskPosition = 0; MaskLength = parsedMask.length; IsError = false; // Default date resultDateArray[IS_DATE_POS] = false; resultDateArray[IS_TIME_POS] = false; resultDateArray[YEAR_POS] = 0; resultDateArray[MONTH_POS] = 12; resultDateArray[DAY_POS] = 1; resultDateArray[HOUR_POS] = 0; resultDateArray[MINUTE_POS] = 0; resultDateArray[SECOND_POS] = 0; while ((MaskPosition < MaskLength) && !IsError) { MaskPart = parsedMask[MaskPosition]; if (DateMasks[MaskPart] != null) { TokenLength = DateMasks[MaskPart]; if (TokenLength > 0) { DatePart = String(dateToParse).substr(DatePosition, TokenLength); DatePosition = DatePosition + TokenLength; }else { if (MaskPosition < MaskLength) { Delimiter = parsedMask[MaskPosition + 1]; BeginDelimiter = dateToParse.indexOf(Delimiter, DatePosition); if (BeginDelimiter == -1) { //alert("ParseDate function: The number doesn't match the mask."); return null; }else { DatePart = String(dateToParse).substr(DatePosition, BeginDelimiter - DatePosition); DatePosition = BeginDelimiter; } }else DatePart = String(dateToParse).substr(DatePosition); } switch (MaskPart) { case "d": case "dd": resultDateArray[DAY_POS] = Math.floor(DatePart); resultDateArray[IS_DATE_POS] = true; break; case "m": case "mm": resultDateArray[MONTH_POS] = Math.floor(DatePart); resultDateArray[IS_DATE_POS] = true; break; case "mmm": case "mmmm": MonthNumber = 0; MonthName = String(DatePart).toUpperCase(); if (MaskPart == "mmm") MonthNamesArray = listMonths; else MonthNamesArray = listShortMonths; while (MonthNumber < 11 && String(MonthNamesArray[MonthNumber]).toUpperCase() != MonthName) { MonthNumber = MonthNumber + 1; } if (MonthNumber == 11) { if (String(MonthNamesArray[11]).toUpperCase() != MonthName) { //alert("ParseDate function: The number doesn't match the mask."); return null; } } resultDateArray[MONTH_POS] = MonthNumber + 1; resultDateArray[IS_DATE_POS] = true; break; case "yy": var last2Digits = Math.floor(DatePart); var centuryDigits = (last2Digits>=50)?1900:2000; resultDateArray[YEAR_POS] = centuryDigits + last2Digits; resultDateArray[IS_DATE_POS] = true; break; case "yyyy": resultDateArray[YEAR_POS] = Math.floor(DatePart); resultDateArray[IS_DATE_POS] = true; break; case "h": case "hh": if (Math.floor(DatePart) == 12) resultDateArray[HOUR_POS] = 0; else resultDateArray[HOUR_POS] = Math.floor(DatePart); resultDateArray[IS_TIME_POS] = true; break; case "H": case "HH": resultDateArray[HOUR_POS] = Math.floor(DatePart); resultDateArray[IS_TIME_POS] = true; break; case "n": case "nn": resultDateArray[MINUTE_POS] = Math.floor(DatePart); resultDateArray[IS_TIME_POS] = true; break; case "s": case "ss": resultDateArray[SECOND_POS] = Math.floor(DatePart); resultDateArray[IS_TIME_POS] = true; break; case "am/pm": case "a/p": case "AM/PM": case "A/P": if (String(DatePart).toLowerCase().charAt(0) == "p") resultDateArray[HOUR_POS] = resultDateArray[HOUR_POS] + 12; else if (String(DatePart).toLowerCase().charAt(0) == "a") Then resultDateArray[HOUR_POS] = resultDateArray[HOUR_POS]; resultDateArray[IS_TIME_POS] = true; break; case "w": case "q": case "S": //Do Nothing break; } }else DatePosition = DatePosition + parsedMask[MaskPosition].length; MaskPosition = MaskPosition + 1 } if (resultDateArray[IS_DATE_POS] && resultDateArray[IS_TIME_POS]) { resultDate = new Date(resultDateArray[YEAR_POS], resultDateArray[MONTH_POS] - 1, resultDateArray[DAY_POS], resultDateArray[HOUR_POS], resultDateArray[MINUTE_POS], resultDateArray[SECOND_POS]); }else if (resultDateArray[IS_DATE_POS]) { resultDate = new Date(resultDateArray[YEAR_POS], resultDateArray[MONTH_POS] - 1, resultDateArray[DAY_POS]); }else if (resultDateArray[IS_DATE_POS]) { resultDate = new Date(0, 0, 0, resultDateArray[HOUR_POS], resultDateArray[MINUTE_POS], resultDateArray[SECOND_POS]); } } return resultDate; } function checkDateRange(date) { var minDate = new Date(1753, 0, 1); var maxDate = new Date(9999, 11, 31); if (date < minDate) return minDate; if (date > maxDate) return maxDate; return date; } // Date formatting functions end --------------------------------------------------- var DatePickerObject = new Object(); var disableEvents = false; // Determine browser brand var isNav = false; var isIE = false; // Assume it's either Netscape or MSIE if (navigator.appName == "Netscape") { isNav = true; } else { isIE = true; } // Get currently selected language selectedLanguage = navigator.language; // DatePicker functions begin here --------------------------------------------------- // Set the initial value of the global date field function setDateField(dateField,control) { // Assign the incoming field object to a global variable calDateField = dateField; // Get the value of the incoming field inDate = dateField.value; // Set calDate to the date in the incoming field or default to today's date setInitialDate(control); // The DatePicker frameset documents are created by javascript functions calDocTop = buildTopCalFrame(control); calDocBottom = buildBottomCalFrame(control); } // Set the initial DatePicker date to today or to the existing value in dateField function setInitialDate(control) { // Create a new date object calDate = parseDate(inDate, parseDateFormat(eval(control+'.format'))); if (calDate) calDate = checkDateRange(calDate); // If the incoming date is invalid, use the current date if (isNaN(calDate) || !calDate) { // Simply create a new date object which defaults to the current date calDate = new Date(); } eval(control+'.currentDate = new Date(calDate.getFullYear(), calDate.getMonth(), calDate.getDate());'); // KEEP TRACK OF THE CURRENT DAY VALUE calDay = calDate.getDate(); // Set day value to 1... to avoid javascript date calculation anomalies // (if the month changes to feb and the day is 30, the month would change to march // and the day would change to 2. setting the day to 1 will prevent that) calDate.setDate(1); } // Popup a window with the DatePicker in it function showDatePicker(format, style, form_name, form_control) { disableEvents = false; var control = 'DatePickerObject'; DatePickerObject = new Object(); DatePickerObject.format = format; DatePickerObject.style = String(style); DatePickerObject.control = String("document."+form_name+"."+form_control); DatePickerObject.selectedDate = new Date(); // Pre-build portions of the DatePicker when this js library loads into the browser !!!!!! buildCalParts(control); // Set initial value of the date field and create top and bottom frames setDateField(eval(eval(control+'.control')), control); // Use the javascript-generated documents (calDocTop, calDocBottom) in the frameset calDocFrameset = "<HTML><HEAD><TITLE>Date Picker</TITLE><SCRIPT SRC='DatePicker.js' language='JScript'><"+"/SCRIPT></HEAD>\n" + "<FRAMESET ROWS='55,*' FRAMEBORDER='0' FRAMESPACING='0'>\n" + " <FRAME NAME='topCalFrame' SRC='javascript:parent.opener.calDocTop' SCROLLING='no' NORESIZE MARGINHEIGHT='0'>\n" + " <FRAME NAME='bottomCalFrame' SRC='javascript:parent.opener.calDocBottom' SCROLLING='no' NORESIZE MARGINHEIGHT='0'>\n" + "</FRAMESET>\n"; // Display the DatePicker in a new popup window if (typeof(eval("top.newWin" + control)) != "object") { eval("top.newWin" + control + " = window.open('javascript:parent.opener.calDocFrameset', 'calWin'+control, 'dependent=yes,width=240,height=210,screenX=200,screenY=300,titlebar=yes, center: yes, help: no, resizable: yes, status: no');"); } try{ eval("top.newWin" + control + ".focus();") }catch(e){ eval("top.newWin" + control + " = window.open('javascript:parent.opener.calDocFrameset', 'calWin'+control, 'dependent=yes,width=240,height=210,screenX=200,screenY=300,titlebar=yes, center: yes, help: no, resizable: yes, status: no');"); } } // Create the top DatePicker frame function buildTopCalFrame(control) { // Create the top frame of the DatePicker var calDoc = "<HTML>" + "<HEAD>" + // Stylesheet defines appearance of DatePicker "<link rel=\"stylesheet\" type=\"text/css\" href=\""+eval(control+".style")+"\">"+ "</HEAD>" + "<BODY TOPMARGIN='0' LEFTMARGIN='0'>" + "<FORM NAME='calControl' onSubmit='return false;'>" + "<CENTER>" + "<TABLE CELLPADDING=0 CELLSPACING=1 BORDER=0>" + "<TR><TD COLSPAN=7>" + "<CENTER>" + getMonthSelect(control) + "<INPUT class=\"CalendarControls\" NAME='year' VALUE='" + calDate.getFullYear() + "'TYPE=TEXT SIZE=4 MAXLENGTH=4 onChange='parent.opener.setYear(\""+control+"\")'>" + "</CENTER>" + "</TD>" + "</TR>" + "<TR>" + "<TD COLSPAN=7>" + "<INPUT " + "TYPE=BUTTON CLASS=\"CalendarButtons\" NAME='previousYear' VALUE='<<' onClick=\"parent.opener.setPreviousYear('" + control + "')\"><INPUT " + "TYPE=BUTTON CLASS=\"CalendarButtons\" NAME='previousMonth' VALUE=' < ' onClick=\"parent.opener.setPreviousMonth('" + control + "')\"><INPUT " + "TYPE=BUTTON CLASS=\"CalendarButtons\" NAME='today' VALUE='Today' onClick=\"parent.opener.setToday('" + control + "')\"><INPUT " + "TYPE=BUTTON CLASS=\"CalendarButtons\" NAME='nextMonth' VALUE=' > ' onClick=\"parent.opener.setNextMonth('" + control + "')\"><INPUT " + "TYPE=BUTTON CLASS=\"CalendarButtons\" NAME='nextYear' VALUE='>>' onClick=\"parent.opener.setNextYear('" + control + "')\">" + "</TD>" + "</TR>" + "</TABLE>" + "</CENTER>" + "</FORM>" + "</BODY>" + "</HTML>"; return calDoc; } // Create the bottom DatePicker frame function buildBottomCalFrame(control) { // Start DatePicker document var calDoc = DatePickerBegin; // Get month, and year from global DatePicker date month = calDate.getMonth(); year = calDate.getFullYear(); // Get globally-tracked day value (prevents javascript date anomalies) day = calDay; var i = 0; // Determine the number of days in the current month var days = getDaysInMonth(); // If global day value is > than days in month, highlight last day in month if (day > days) { day = days; } // Determine what day of the week the DatePicker starts on var firstOfMonth = new Date (year, month, 1); // Get the day of the week the first day of the month falls on var startingPos = firstOfMonth.getDay() - firstWeekDayIndex; days += startingPos; // Keep track of the columns, start a new row after every 7 columns var columnCount = 0; // Make beginning non-date cells blank for (i = 0; i < startingPos; i++) { calDoc += blankCell; columnCount++; } // Set values for days of the month var currentDay = 0; var dayType = "weekday"; // Date cells contain a number for (i = startingPos; i < days; i++) { var paddingChar = " "; // Adjust spacing so that all links have relatively equal widths if (i-startingPos+1 < 10) { padding = " "; } else { padding = " "; } // Get the day currently being written currentDay = i-startingPos+1; // Set the type of day, the focusDay generally appears as a different color var currentDate = eval(control+'.currentDate'); //if (currentDate) currentDate = checkDateRange(currentDate); //if (isNaN(currentDate) || !currentDate) currentDate = new Date(); if (currentDay == day && month==currentDate.getMonth() && year==currentDate.getFullYear()) { dayType = "focusDay"; } else { dayType = "weekDay"; } // Add the day to the DatePicker string depending on workday or not. if (columnCount % 7 == 0 || columnCount % 7 == 6 ) { calDoc += "<TD align=center class=\"weekend\">" + "<a class=\"" + dayType + "\" href=\"javascript:parent.opener.returnDate(" + currentDay + ",'" + control + "')\">" + padding + currentDay + paddingChar + "</a></TD>"; } else { calDoc += "<TD align=center class=\"workday\">" + "<a class=\"" + dayType + "\" href=\"javascript:parent.opener.returnDate(" + currentDay + ",'" + control + "')\">" + padding + currentDay + paddingChar + "</a></TD>"; } columnCount++; // Start a new row when necessary if (columnCount % 7 == 0) { calDoc += "</TR><TR>"; } } // Make remaining non-date cells blank for (i=days; i<42; i++) { calDoc += blankCell; columnCount++; // Start a new row when necessary if (columnCount % 7 == 0) { calDoc += "</TR>"; if (i<41) { calDoc += "<TR>"; } } } // Finish the new DatePicker page calDoc += DatePickerEnd; // Return the completed DatePicker page return calDoc; } // Write the monthly DatePicker to the bottom DatePicker frame function writeDatePicker(control) { // Create the new DatePicker for the selected month & year calDocBottom = buildBottomCalFrame(control); // Write the new DatePicker to the bottom frame eval("top.newWin" + control + ".frames['bottomCalFrame'].document.open();"); eval("top.newWin" + control + ".frames['bottomCalFrame'].document.write(calDocBottom);"); eval("top.newWin" + control + ".frames['bottomCalFrame'].document.close();"); } // Set the DatePicker to today's date and display the new DatePicker function setToday(control) { // Set global date to today's date calDate = new Date(); // Set day month and year to today's date var month = calDate.getMonth(); var year = calDate.getFullYear(); // Set month in drop-down list eval("top.newWin" + control + ".frames['topCalFrame'].document.calControl.month.selectedIndex = month;"); // Set year value eval("top.newWin" + control + ".frames['topCalFrame'].document.calControl.year.value = year;"); // Display the new DatePicker writeDatePicker(control); } // Set the global date to the newly entered year and redraw the DatePicker function setYear(control) { if (disableEvents) return false; // Get the new year value eval("var year = top.newWin" + control + ".frames['topCalFrame'].document.calControl.year.value;"); // If it's a four-digit year then change the DatePicker if (isFourDigitYear(year,control)) { calDate.setFullYear(year); if (calDate) calDate = checkDateRange(calDate); year = calDate.getFullYear(); eval("top.newWin" + control + ".frames['topCalFrame'].document.calControl.year.value = year;"); writeDatePicker(control); } else { // Highlight the year if the year is not four digits in length eval("top.newWin" + control + ".frames['topCalFrame'].document.calControl.year.focus();"); eval("top.newWin" + control + ".frames['topCalFrame'].document.calControl.year.select();"); } } // Set the global date to the selected month and redraw the DatePicker function setCurrentMonth(control) { if (disableEvents) return false; // Get the newly selected month and change the DatePicker accordingly eval("var month = top.newWin" + control + ".frames['topCalFrame'].document.calControl.month.selectedIndex;"); calDate.setMonth(month); if (calDate) calDate = checkDateRange(calDate); writeDatePicker(control); } // Set the global date to the previous year and redraw the DatePicker function setPreviousYear(control) { eval("var year = top.newWin" + control + ".frames['topCalFrame'].document.calControl.year.value;"); if (isFourDigitYear(year,control) && year > 1000) { year--; calDate.setFullYear(year); if (calDate) calDate = checkDateRange(calDate); year = calDate.getFullYear(); eval("top.newWin" + control + ".frames['topCalFrame'].document.calControl.year.value = year;"); writeDatePicker(control); } } // Set the global date to the previous month and redraw the DatePicker function setPreviousMonth(control) { eval("var year = top.newWin" + control + ".frames['topCalFrame'].document.calControl.year.value;"); if (isFourDigitYear(year,control)) { eval("var month = top.newWin" + control + ".frames['topCalFrame'].document.calControl.month.selectedIndex;"); // If month is january, set month to december and decrement the year if (month == 0) { month = 11; if (year > 1000) { year--; calDate.setFullYear(year); if (calDate) calDate = checkDateRange(calDate); year = calDate.getFullYear(); eval("top.newWin" + control + ".frames['topCalFrame'].document.calControl.year.value = year;"); } } else { month--; } calDate.setMonth(month); if (calDate) calDate = checkDateRange(calDate); month = calDate.getMonth(); eval("top.newWin" + control + ".frames['topCalFrame'].document.calControl.month.selectedIndex = month;"); writeDatePicker(control); } } // Set the global date to the next month and redraw the DatePicker function setNextMonth(control) { eval("var year = top.newWin" + control + ".frames['topCalFrame'].document.calControl.year.value;"); if (isFourDigitYear(year,control)) { eval("var month = top.newWin" + control + ".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); if (calDate) calDate = checkDateRange(calDate); year = calDate.getFullYear(); eval("top.newWin" + control + ".frames['topCalFrame'].document.calControl.year.value = year;"); } else { month++; } calDate.setMonth(month); if (calDate) calDate = checkDateRange(calDate); month = calDate.getMonth(); eval("top.newWin" + control + ".frames['topCalFrame'].document.calControl.month.selectedIndex = month;"); writeDatePicker(control); } } // Set the global date to the next year and redraw the DatePicker function setNextYear(control) { eval("var year = top.newWin" + control + ".frames['topCalFrame'].document.calControl.year.value;"); if (isFourDigitYear(year,control)) { year++; calDate.setFullYear(year); if (calDate) calDate = checkDateRange(calDate); year = calDate.getFullYear(); eval("top.newWin" + control + ".frames['topCalFrame'].document.calControl.year.value = year;"); writeDatePicker(control); } } // 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,control) { if (year.length != 4) { eval("top.newWin" + control +".frames['topCalFrame'].document.calControl.year.value = calDate.getFullYear();"); eval("top.newWin" + control +".frames['topCalFrame'].document.calControl.year.select();"); eval("top.newWin" + control +".frames['topCalFrame'].document.calControl.year.focus();"); } else { return true; } } // Build the month select list function getMonthSelect(control) { // Determine month to set as default var activeMonth = calDate.getMonth(); // Start html select list element monthSelect = "<SELECT class=\"CalendarControls\" NAME='month' onChange='parent.opener.setCurrentMonth(\""+control+"\")'>"; // Loop through month array for (i in listMonths) { // Show the correct month in the select list if (i == activeMonth) { monthSelect += "<OPTION SELECTED>" + listMonths[i] + "\n"; } else { monthSelect += "<OPTION>" + listMonths[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(control) { firstWeekDayIndex = 0; newWeekdayArray = new Array(7); newWeekdayList = new Array(7); for (var i=0; i<listShortWeekdays.length; i++) if (listShortWeekdays[i]==firstWeekDay) firstWeekDayIndex = i; for (var i=firstWeekDayIndex; i<listShortWeekdays.length; i++) { newWeekdayArray[i-firstWeekDayIndex] = listShortWeekdays[i]; newWeekdayList[i-firstWeekDayIndex] = listWeekdays[i]; } for (var i=0; i<firstWeekDayIndex; i++) { newWeekdayArray[7-firstWeekDayIndex-i] = listShortWeekdays[i]; newWeekdayList[7-firstWeekDayIndex-i] = listWeekdays[i]; } // Start html to hold weekday names in table format var weekdays = "<TR>"; // Loop through weekday array for (i in listShortWeekdays) { weekdays += "<TH class=\"calendar\" align=\"center\">" + newWeekdayArray[i] + "</TH>"; } weekdays += "</TR>"; // Return table row of weekday abbreviations to display above the DatePicker return weekdays; } // Pre-build portions of the DatePicker (for performance reasons) function buildCalParts(control) { // Generate weekday headers for the DatePicker weekdays = createWeekdayList(control); // Build the blank cell rows blankCell = "<TD align=center class=\"workday\"> </TD>"; // Build the top portion of the DatePicker page using css to control some display elements DatePickerBegin = "<HTML>" + "<HEAD>" + // Stylesheet defines appearance of DatePicker "<link rel=\"stylesheet\" type=\"text/css\" href=\""+eval(control+".style")+"\">"+ "</HEAD>" + "<BODY TOPMARGIN='0' LEFTMARGIN='0'>" + "<CENTER>"; // Navigator needs a table container to display the table outlines properly if (isNav) { DatePickerBegin += "<TABLE CELLPADDING=0 CELLSPACING=1 ALIGN=CENTER CLASS=\"Table\"><TR><TD>"; } // Build weekday headings DatePickerBegin += "<TABLE CELLPADDING=0 CELLSPACING=1 CLASS=\"Table\">" + weekdays + "<TR>"; // Build the bottom portion of the DatePicker page DatePickerEnd = ""; // Navigator needs a table container to display the borders properly if (isNav) { DatePickerEnd += "</TD></TR></TABLE>"; } // End the table and html document DatePickerEnd += "</TABLE>" + "</CENTER>" + "</BODY>" + "</HTML>"; } // Set field value to the date selected and close the DatePicker window function returnDate(inDay,control) { disableEvents = true; // inDay = the day the user clicked on calDate.setDate(inDay); if (calDate) calDate = checkDateRange(calDate); // Set the date returned to the user var dateFormat = eval(control + ".format"); outDate = formatDate(calDate, parseDateFormat(dateFormat)); // Set the value of the field that was passed to the DatePicker calDateField.value = String(outDate).replace(/\s*$/, ""); // Give focus back to the date field calDateField.focus(); // Close the DatePicker window eval("top.newWin" + control + ".close()"); } //End JS DatePicker |
:: Command execute :: | |
--[ c99shell v. 1.0 pre-release build #16 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0039 ]-- |