// Calendar script var fmt = 'dmy'; var sep = '/'; var now = new Date; var sccm = now.getMonth(); var sccy = now.getFullYear(); var scfd = now.getDate(); var ccm = now.getMonth(); var ccy = now.getFullYear(); var updobj; var mn = new Array('Gen','Feb','Mar','Apr','Mag','Giu','Lug','Ago','Set','Ott','Nov','Dic'); var mnn = new Array('31','28','31','30','31','30','31','31','30','31','30','31'); var mnl = new Array('31','29','31','30','31','30','31','31','30','31','30','31'); var calvalarr = new Array(42); var strmy = ''; function CalendarTestAndSet(src, frm) { var txtSrc; var txtFrm; var strDate; txtSrc = getObj( src ); txtFrm = getObj( frm ); if ( ( !txtSrc ) || ( !txtFrm ) ) { return; } try { strDate = txtSrc.value; curdt = parseDate( strDate ); curdtarr = curdt.split( '/' ); isdt = ( curdtarr.length == 3); } catch(e) { isdt = false; } if ( isdt ) { for( var k = 0; k < curdtarr.length; k++ ) { if ( isNaN( curdtarr[k] ) ) isdt = false; } } if ( !isdt ) { var xnow = new Date; txtSrc.value = buildDate( xnow.getDate(), xnow.getMonth()+1, xnow.getFullYear() ); } txtFrm.value = txtSrc.value; } function buildDate( dd, mm, yyyy ) { var tmp; tmp = ''; for ( i = 0; i < 3; i++ ) { if ( fmt.charAt(i) == 'd' ) { tmp += dd; } else if( fmt.charAt(i) == 'm' ) { tmp += mm; } else if( fmt.charAt(i) == 'y' ) { tmp += yyyy; } if ( i < 2 ) tmp += sep; } return tmp; } // return date in d/m/y format function parseDate( val ) { var elem; var tmp; var day; var month; var year; elem = val.split("/"); for ( i = 0; i < 3; i++ ) { if ( fmt.charAt(i) == 'd' ) { day = elem[i]; } else if( fmt.charAt(i) == 'm' ) { month = elem[i]; } else if( fmt.charAt(i) == 'y' ) { year = elem[i]; } } tmp = day + '/' + month + '/' + year; return tmp; } // return date in current date format function formatDate( val ) { var elem; var tmp; var day; var month; var year; elem = val.split("/"); day = elem[0]; month = elem[1]; year = elem[2]; tmp = ''; for ( i = 0; i < 3; i++ ) { if ( fmt.charAt(i) == 'd' ) { tmp += day; } else if( fmt.charAt(i) == 'm' ) { tmp += month; } else if( fmt.charAt(i) == 'y' ) { tmp += year; } if ( i < 2 ) tmp += sep; } return tmp; } 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 ddl_month_change() { marr=((ccy%4)==0)?mnl:mnn; ccm = getObj('ddl_month').value; cdayf(); prepcalendar('',ccm,ccy); } function ddl_year_change() { marr=((ccy%4)==0)?mnl:mnn; ccy = getObj('ddl_year').value; cdayf(); prepcalendar('',ccm,ccy); } function caddm() { marr=((ccy%4)==0)?mnl:mnn; ccm+=1; if (ccm>=12) { ccm=0; ccy++; } cdayf(); prepcalendar('',ccm,ccy); } function csubm() { marr=((ccy%4)==0)?mnl:mnn; ccm-=1; if (ccm<0) { ccm=11; ccy--; } cdayf(); prepcalendar('',ccm,ccy); } function cdayf() { if ((ccy>sccy)|((ccy==sccy)&&(ccm>=sccm))) return; else { ccy=sccy; ccm=sccm; cfd=scfd; } } function lcs(ielem, up2down) { updobj = ielem; getObj('fc').style.left = Left(ielem); getObj('fc').style.top = Top(ielem) + ( ( up2down )? ielem.offsetHeight : -150 ); getObj('fc').style.display = ''; // First check date is valid curdt = parseDate( ielem.value ); curdtarr = curdt.split('/'); isdt = true; for(var k=0;k= (cd -(-1))) && (d<=cd-(-marr[cm]))) { dip=((d-cd < sd)&&(cm==sccm)&&(cy==sccy)); htd=((hd!='')&&(d-cd==hd)); if (dip) f_cpps(getObj('v'+parseInt(d))); else if (htd) f_hds(getObj('v'+parseInt(d))); else f_cps(getObj('v'+parseInt(d))); getObj('v'+parseInt(d)).onmouseover=(dip)?null:cs_over; getObj('v'+parseInt(d)).onmouseout=(dip)?null:cs_out; getObj('v'+parseInt(d)).onclick=(dip)?null:cs_click; getObj('v'+parseInt(d)).innerHTML=d-cd; calvalarr[d]=''+(d-cd)+'/'+(cm-(-1))+'/'+cy; } else { getObj('v'+d).innerHTML=' '; getObj('v'+parseInt(d)).onmouseover=null; getObj('v'+parseInt(d)).onmouseout=null; getObj('v'+parseInt(d)).style.cursor='default'; } } } function buildcal() { strmy =""; strmy += ""; document.write(''); document.write(''); document.write(''); for( var kk = 1; kk <= 6; kk++ ) { document.write(''); for(var tt=1;tt<=7;tt++) { num=7 * (kk-1) - (-tt); document.write(''); } document.write(''); } document.write(''); document.all?document.attachEvent('onclick',checkClick):document.addEventListener('click',checkClick,false); prepcalendar('',ccm,ccy); }