/* * Bazillyo's Spiffy DHTML Popup Calendar v. 1.0 2000 S. Ousta * - freeware with this comment * - for download size, you can strip all spaces & comments except the notices * - Thanks to Chris for the domlay() function * - this requires calendarcode.js, calendar.css, and calendarTest.htm * - works in IE4.x, IE5.x, NS4.75 possibly 4.x, NS6 (with slight cosmetic issues) * - Netscape does display some controls overtop of the layer so layout is important * */ // initialiZe variables... var ppcIE=((navigator.appName == "Microsoft Internet Explorer") || ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion)==5))); var ppcNN6=((navigator.appName == "Netscape") && (parseInt(navigator.appVersion)==5)); //var ppcIE=(navigator.appName == "Microsoft Internet Explorer"); var ppcNN=((navigator.appName == "Netscape")&&(document.layers)); var ppcX = 4; var ppcY = 4; var IsCalendarVisible; var calfrmName; var maxYearList; var minYearList; var todayDate = new Date; var curDate = new Date; var curImg; var curDateBox; var minDate = new Date; var maxDate = new Date; var hideDropDowns; var IsUsingMinMax; var FuncsToRun; var img_del; var img_close; img_del=new Image(); img_del.src="./images/cal_del_small.gif"; img_close=new Image(); img_close.src="./images/cal_close_small.gif"; minYearList=todayDate.getFullYear()-10; maxYearList=todayDate.getFullYear()+10; IsCalendarVisible=false; img_Date_UP=new Image(); img_Date_UP.src="./images/cal_date_up.gif"; img_Date_OVER=new Image(); img_Date_OVER.src="./images/cal_date_over.gif"; img_Date_DOWN=new Image(); img_Date_DOWN.src="./images/cal_date_down.gif"; function calSwapImg(whatID, NewImg,override) { if (document.images) { if (!( IsCalendarVisible && override )) { document.images[whatID].src = eval(NewImg + ".src"); } } window.status=' '; return true; } function getOffsetLeft (el) { var ol = el.offsetLeft; while ((el = el.offsetParent) != null) ol += el.offsetLeft; return ol+130; } function getOffsetTop (el) { var ot = el.offsetTop; while((el = el.offsetParent) != null) ot += el.offsetTop; return ot-50; } function showCalendar(frmName, dteBox,btnImg, hideDrops, MnDt, MnMo, MnYr, MxDt, MxMo, MxYr,runFuncs) { hideDropDowns = hideDrops; FuncsToRun = runFuncs; calfrmName = frmName; if (IsCalendarVisible) { hideCalendar(); } else { if (document.images['calbtn1']!=null ) document.images['calbtn1'].src=img_del.src; if (document.images['calbtn2']!=null ) document.images['calbtn2'].src=img_close.src; if (hideDropDowns) {toggleDropDowns('hidden');} if ((MnDt!=null) && (MnMo!=null) && (MnYr!=null) && (MxDt!=null) && (MxMo!=null) && (MxYr!=null)) { IsUsingMinMax = true; minDate.setDate(MnDt); minDate.setMonth(MnMo-1); minDate.setFullYear(MnYr); maxDate.setDate(MxDt); maxDate.setMonth(MxMo-1); maxDate.setFullYear(MxYr); } else { IsUsingMinMax = false; } curImg = btnImg; curDateBox = dteBox; if ( ppcIE ) { ppcX = getOffsetLeft(document.images[btnImg]); ppcY = getOffsetTop(document.images[btnImg]) + document.images[btnImg].height; } else if (ppcNN){ ppcX = document.images[btnImg].x + 90; ppcY = document.images[btnImg].y - 45; } domlay('popupcalendar',1,ppcX,ppcY,Calendar(todayDate.getMonth(),todayDate.getFullYear())); //domlay('popupcalendar',1,ppcX,ppcY,Calendar(curDate.getMonth(),curDate.getFullYear())); IsCalendarVisible = true; } } function toggleDropDowns(showHow){ var i; var j; for (i=0;i