/* Javascript name: My Date Time Picker * Date created: 16-Nov-2003 23:19 * Scripter: TengYong Ng * Copyright (c) 2003 TengYong Ng * FileName: DateTimePicker.js * Version: 0.8 * Note: Permission given to use this script in ANY kind of applications if *header lines are left unchanged. * * Modified by: SirsiDynix, 2004 - 2008 */ var winCal; var dtToday=new Date(); var Cal; var docCal; var MonthName = new Array(); var WeekDayName = new Array(); var exDateTime;/* Existing Date and Time */ /* Configurable parameters */ var cnTop="200"; /* Top coordinate of calendar window. */ var cnLeft="500"; /* Left coordinate of calendar window */ var WindowTitle; var WeekChar=2;/* Number of character for week day. If 2 * then Mo,Tu,We. if 3 then Mon,Tue,Wed */ var CellWidth=20; /* Width of day cell. */ var DateSeparator="/"; var TimeMode=24; /* Default TimeMode value. 12 or 24 */ var ShowLongMonth=true;/* Show long month name in Calendar header. */ var ShowMonthYear=true;/* Show Month and Year in Calendar header. */ var MonthYearColor; var WeekHeadColor; var WeekendColor; var WeekDayColor; var FontColor; var SelDateColor; var ThemeBg="";/* Background image of Calendar window. */ var noDate; var specificDate; var localizedNever; /* End Configurable parameters */ function setMonth(inMonth,inName) { MonthName[inMonth] = inName; } function setWeekDayName(inDay,inName) { WeekDayName[inDay] = inName; } function setWindowTitle(inTitle) { WindowTitle = inTitle; } function setMonthYearColor(inColor) { MonthYearColor = inColor; } function setWeekHeadColor(inColor) { WeekHeadColor = inColor; } function setWeekendColor(inColor) { WeekendColor = inColor; } function setWeekDayColor(inColor) { WeekDayColor = inColor; } function setFontColor(inColor) { FontColor = inColor; } function setSelDateColor(inColor) { SelDateColor = inColor; } function setNoDate(inNoDate) { noDate = inNoDate; } function setSpecificDate(inSpecificDate) { specificDate = inSpecificDate; } function NewCal(pCtrl,pFormat,pShowTime,pTimeMode,inLocalizedNever) { if (inLocalizedNever != null) { localizedNever = getLocalizedValue(inLocalizedNever); localizedNever = localizedNever.replace(/'/,"\\'"); } Cal=new Calendar(dtToday); if ((pShowTime!=null) && (pShowTime)) { Cal.ShowTime=true; if ((pTimeMode!=null) &&((pTimeMode=='12')||(pTimeMode=='24'))) { TimeMode=pTimeMode; } } if (pCtrl!=null) Cal.Ctrl=pCtrl; if (pFormat!=null) Cal.Format=pFormat.toUpperCase(); exDateTime=document.getElementById(pCtrl).value; if (exDateTime!="")/* Parse Date String */ { var Sp1; /* Index of Date Separator 1 */ var Sp2; /* Index of Date Separator 2 */ var tSp1; /* Index of Time Separator 1 */ var tSp2; /* Index of Time Separator 2 */ var strMonth; var strDate; var strYear; var intMonth; var YearPattern; var strHour; var strMinute; /* Parse month */ Sp1=exDateTime.indexOf(DateSeparator,0) Sp2=exDateTime.indexOf(DateSeparator,(parseInt(Sp1)+1)); if ((Cal.Format.toUpperCase()=="DDMMYYYY") || (Cal.Format.toUpperCase()=="DDMMMYYYY")) { strMonth=exDateTime.substring(Sp1+1,Sp2); strDate=exDateTime.substring(0,Sp1); } else if ((Cal.Format.toUpperCase()=="MMDDYYYY") || (Cal.Format.toUpperCase()=="MMMDDYYYY")) { strMonth=exDateTime.substring(0,Sp1); strDate=exDateTime.substring(Sp1+1,Sp2); } else if ((Cal.Format.toUpperCase()=="YYYYMMDD") || (Cal.Format.toUpperCase()=="YYYYMMMDD")) { strMonth=exDateTime.substring(Sp1+1,Sp2); strDate=exDateTime.substring(Sp2+1); } if (isNaN(strMonth)) intMonth=Cal.GetMonthIndex(strMonth); else intMonth=parseInt(strMonth,10)-1; if ((parseInt(intMonth,10)>=0) && (parseInt(intMonth,10)<12)) Cal.Month=intMonth; /* Parse Date */ if ((parseInt(strDate,10)<=Cal.GetMonDays()) && (parseInt(strDate,10)>=1)) Cal.Date=strDate; /* Parse Year */ if ((Cal.Format.toUpperCase()=="YYYYMMDD") || (Cal.Format.toUpperCase()=="YYYYMMMDD")) strYear=exDateTime.substring(0,4); else strYear=exDateTime.substring(Sp2+1,Sp2+5); YearPattern=/^\d{4}$/; if (YearPattern.test(strYear)) Cal.Year=parseInt(strYear,10); /* Parse Time */ if (Cal.ShowTime==true) { tSp1=exDateTime.indexOf(":",0) tSp2=exDateTime.indexOf(":",(parseInt(tSp1)+1)); strHour=exDateTime.substring(tSp1,(tSp1)-2); Cal.SetHour(strHour); strMinute=exDateTime.substring(tSp1+1,tSp2); Cal.SetMinute(strMinute); } } winCal=window.open("","DateTimePicker","toolbar=0,status=0,menubar=0,fullscreen=no,width=220,height=275 ,resizable=0,top="+cnTop+",left="+cnLeft); docCal=winCal.document; RenderCal(); } function RenderCal() { var vCalHeader; var vCalData; var vCalTime; var i; var j; var SelectStr; var vDayCount=0; var vFirstDay; docCal.open(); docCal.writeln(''); docCal.writeln(""+WindowTitle+""); docCal.writeln("