/* --- Swazz Javascript Calendar --- /* --- v 1.0 3rd November 2006 By Oliver Bryant http://calendar.swazz.org/ License: Public Domain The javascript calendar available here is a free, lightweight widget which shows a calendar for use in picking dates on form fields. Code to activate the calendar close.gif could be from http://lh6.ggpht.com/_S4TaEbhoBZc/Rt8ad-K_AZI/AAAAAAAABlw/moApV80jJvo/close.gif (search www.google.com for small pictures, pick one) Call calendar({opt1: val1, opt2: val2}) for configuration. */ var ccc = {past: false, startat: 0, close: false, delim: '/', imgpath: ''}; var caldays = new Array('S','M','T','W','T','F','S'); var mn=new Array('JAN','FEB','MAR','APR','MAY','JUN','JUL','AUG','SEP','OCT','NOV','DEC'); function calendar(info) { for (var e in ccc) if (info[e]) ccc[e] = info[e]; gencalendar(); } function getObj(objID) { if (document.getElementById) {return document.getElementById(objID);} else if (document.all) {return document.all[objID];} else if (document.layers) {return document.layers[objID];} } function checkClick(e) { e?evt=e:evt=event; CSE=evt.target?evt.target:evt.srcElement; if (getObj('fc')) if (!isChild(CSE,getObj('fc'))) getObj('fc').style.display='none'; } function isChild(s,d) { while(s) { if (s==d) return true; s=s.parentNode; } return false; } function Left(obj) { var curleft = 0; if (obj.offsetParent) { while (obj.offsetParent) { curleft += obj.offsetLeft obj = obj.offsetParent; } } else if (obj.x) curleft += obj.x; return curleft; } function Top(obj) { var curtop = 0; if (obj.offsetParent) { while (obj.offsetParent) { curtop += obj.offsetTop obj = obj.offsetParent; } } else if (obj.y) curtop += obj.y; return curtop; } function gencalendar() { if (getObj('fc')) return; document.write('
'); } document.all?document.attachEvent('onclick',checkClick):document.addEventListener('click',checkClick,false); // Calendar script var now = new Date; var sccm=now.getMonth(); var sccy=now.getFullYear(); var ccm; var ccy; function popcalendar(name) { var input = getObj(name); if (!input) return; lcs(input); } var updobj; function lcs(ielem) { gencalendar(); updobj=ielem; updobj.select(); getObj('fc').style.left=Left(ielem); getObj('fc').style.top=Top(ielem)+ielem.offsetHeight; getObj('fc').style.display=''; // First check date is valid curdt=ielem.value; curdtarr=curdt.split(ccc.delim); isdt=true; for(var k=0;k