/*********************************************** Fool-Proof Date Input Script with DHTML Calendar by Jason Moon - webmaster@moonfam.net ************************************************/ // Customizable variables //var DefaultDateFormat = 'DD/MM/YYYY'; // If no date format is supplied, this will be used instead var DefaultDateFormat = 'DD/MM/YYYY'; // If no date format is supplied, this will be used instead var HideWait = 3; // Number of seconds before the calendar will disappear var Y2kPivotPoint = 76; // 2-digit years before this point will be created in the 21st century var FontSize = 11; // In pixels var FontFamily = 'Tahoma'; var CellWidth = 18; var CellHeight = 16; var ImageURL = '../picture/calendar.jpg'; var NextURL = '../picture/next.gif'; var PrevURL = '../picture/prev.gif'; var CalBGColor = 'white'; var TopRowBGColor = 'buttonface'; var DayBGColor = 'lightgrey'; // Global variables var ZCounter = 100; var Today = new Date(); var TWeekDays = new Array('อา','จ','อ','พ','พฤ','ศ','ส'); var TMonthDays = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); var TMonthNames = new Array('มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'); var TSMonthNames = new Array('ม.ค.','ก.พ.','มี.ค.','เม.ย.','พ.ค.','มิ.ย.','ก.ค.','ส.ค.','ก.ย.','ต.ค.','พ.ย.','ธ.ค.'); var WeekDays = new Array('SU','M','T','W','TH','F','S'); var MonthDays = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); var MonthNames = new Array('January','February','March','April','May','June','July','August','September','October','November','December'); // Write out the stylesheet definition for the calendar with (document) { writeln(''); } // Only allows certain keys to be used in the date field function NumOnly(e) { var KeyCode = (e.keyCode) ? e.keyCode : e.which; return ((KeyCode == 8) // backspace || (KeyCode == 9) // tab || (KeyCode == 37) // left arrow || (KeyCode == 39) // right arrow || (KeyCode == 46) // delete || ((KeyCode > 47) && (KeyCode < 58)) // 0 - 9 ); } // Gets the absolute pixel position of the supplied element function GetTagPixels(StartTag, Direction) { var PixelAmt = (Direction == 'LEFT') ? StartTag.offsetLeft : StartTag.offsetTop; while ((StartTag.tagName != 'BODY') && (StartTag.tagName != 'HTML')) { StartTag = StartTag.offsetParent; PixelAmt += (Direction == 'LEFT') ? StartTag.offsetLeft : StartTag.offsetTop; } return PixelAmt; } // Is the specified select-list behind the calendar? function BehindCal(SelectList, CalLeftX, CalRightX, CalTopY, CalBottomY, ListTopY) { var ListLeftX = GetTagPixels(SelectList, 'LEFT'); var ListRightX = ListLeftX + SelectList.offsetWidth; var ListBottomY = ListTopY + SelectList.offsetHeight; return (((ListTopY < CalBottomY) && (ListBottomY > CalTopY)) && ((ListLeftX < CalRightX) && (ListRightX > CalLeftX))); } // For IE, hides any select-lists that are behind the calendar function FixSelectLists(Over) { if (navigator.appName == 'Microsoft Internet Explorer') { var CalDiv = this.getCalendar(); var CalLeftX = CalDiv.offsetLeft; var CalRightX = CalLeftX + CalDiv.offsetWidth; var CalTopY = CalDiv.offsetTop; var CalBottomY = CalTopY + (CellHeight * 9); var FoundCalInput = false; formLoop : for (var j=this.formNumber;j