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.0035 ]-- |