document.write(''); var calc_doc = null; var startH=""; var stopH=""; if (document.all) { startH=''+ '
'; stopH='
'; } function show_calendar(objCal,str_form, str_elements, str_datetime, fun_back) { calc_doc=document.getElementById('container'); Calendar(str_form, str_elements, str_datetime, fun_back); //calc_doc.style.left=findPosX(objCal); calc_doc.style.left=( (findPosX(objCal)-90) <0 ? 10 : (findPosX(objCal)-90) ) +"px"; calc_doc.style.top=( (findPosY(objCal)-90) <0 ? 10 : (findPosY(objCal)-90) )+"px"; calc_doc.style.zIndex=999; calc_doc.style.display=""; //document.getElementById('tempval').onkeypress = keyDown; } function Calendar(str_form, str_elements, str_datetime, fun_back){ calc_doc.innerHTML= startH+calCalendar(str_form, str_elements, str_datetime, fun_back)+stopH; //alert(startH+calCalendar(str_form, str_elements, str_datetime, fun_back)+stopH); } function HideCal(){ calc_doc.style.display="none"; } function calCalendar(str_form, str_elements, str_datetime, fun_back){ var arr_months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; var week_days = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]; var n_weekstart = 0; // da quando parte la settimana (0 o 1) var dt_datetime = (str_datetime == null || str_datetime =="" ? new Date() : str2dt(str_datetime)); var dt_prev_year = new Date(dt_datetime); dt_prev_year.setYear(dt_datetime.getFullYear()-1); var dt_next_year = new Date(dt_datetime); dt_next_year.setDate(1); dt_next_year.setYear(dt_datetime.getFullYear()+1); var dt_prev_month = new Date(dt_datetime); dt_prev_month.setMonth(dt_datetime.getMonth()-1); var dt_next_month = new Date(dt_datetime); dt_next_month.setDate(1); dt_next_month.setMonth(dt_datetime.getMonth()+1); var dt_firstday = new Date(dt_datetime); dt_firstday.setDate(1); dt_firstday.setDate(1-(7+dt_firstday.getDay()-n_weekstart)%7); var dt_lastday = new Date(dt_next_month); dt_lastday.setDate(0); var back_action=(str_form && str_form!=0)?"document."+str_form+".elements[\'"+ str_elements+"\'].value=":"document.getElementById(\'"+ str_elements+"\').value="; var str_buffer = new String ( "\n"+ ""+ ""+ "\n\n
Calendario"+ "
\n"+ "\n"+ "\n \n"+ " \n"+ " \n\n" ); var dt_current_day = new Date(dt_firstday); str_buffer += "\n"; for (var n=0; n<7; n++) str_buffer += " \n"; str_buffer += "\n"; while (dt_current_day.getMonth() == dt_datetime.getMonth() || dt_current_day.getMonth() == dt_firstday.getMonth()) { str_buffer += "\n"; for (var n_current_wday=0; n_current_wday<7; n_current_wday++) { if (dt_current_day.getDate() == dt_datetime.getDate() && dt_current_day.getMonth() == dt_datetime.getMonth()) str_buffer += " \n"; } else { str_buffer += ""+dt_current_day.getDate()+"\n"; } dt_current_day.setDate(dt_current_day.getDate()+1); } // print row footer str_buffer += "\n"; } str_buffer += "
"+ "\"mese"+ ""+ "\"anno"+ ""+ "" +arr_months[dt_datetime.getMonth()]+" "+dt_datetime.getFullYear()+""+ "\"anno"+ ""+ "\"mese"+ "
"+ ""+ week_days[(n_weekstart+n)%7]+"
"; else if (dt_current_day.getDay() == 0 || dt_current_day.getDay() == 6) str_buffer += " "; else str_buffer += " "; str_buffer += ""; if (dt_current_day.getMonth() == dt_datetime.getMonth()){ str_buffer +=""+dt_current_day.getDate()+"
\n" + "
"+ ""+ ""+ "onkeyup=\"if(chkKey()==13&&ValidateDate(this)){"+back_action+"normalizeDate(this.value);HideCal();}else{if(chkKey()==13)this.value='';};\" title=\"Insert a date in the [gg/mm/aaaa] format]\">"+ "
Ins.man. [Del.Val]
"+ "
\n"; return str_buffer; } var netscape = ""; ver = navigator.appVersion; len = ver.length; for(iln = 0; iln < len; iln++) if (ver.charAt(iln) == "(") break; netscape = (ver.charAt(iln+1).toUpperCase() != "C"); document.onkeydown = keyDown; // work together to analyze keystrokes if (!document.all) document.captureEvents(Event.KEYDOWN); var kDown; function keyDown(DnEvents) { // Netscape o Internet Explorer kDown = (!document.all) ? DnEvents.which : window.event.keyCode; } function chkKey(){ return kDown; } function findPosX(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 findPosY(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 str2dt (str_datetime) { //var re_date = /^(\d+)\-(\d+)\-(\d+)\s+(\d+)\:(\d+)\:(\d+)$/; var re_date = /^(\d+)\/(\d+)\/(\d+)/; if (!re_date.exec(str_datetime)) return alert("Date format invalid: "+ str_datetime); return (new Date (RegExp.$3, RegExp.$2-1, RegExp.$1, RegExp.$4, RegExp.$5, RegExp.$6)); } function dt2dtstr (dt_datetime) { var day=dt_datetime.getDate(); var month=(dt_datetime.getMonth()+1); month=(month<10)?'0'+month:month; day =(day<10)?'0'+day:day; return (new String ( day+"/"+month+"/"+dt_datetime.getFullYear())); } function dt2tmstr (dt_datetime) { return (new String ( dt_datetime.getHours()+":"+dt_datetime.getMinutes()+":"+dt_datetime.getSeconds())); } function normalizeDate(str_date){ return dt2dtstr(str2dt(str_date)); } isIE=document.all; isNN=!document.all&&document.getElementById; isN4=document.layers; isHot=false; var ddEnabled=false; function ddInit(e){ topDog=isIE ? "BODY" : "HTML"; whichDog=document.getElementById("container"); hotDog=isIE ? event.srcElement : e.target; while (hotDog.id!="titleBar"&&hotDog.tagName!=topDog){ hotDog=isIE ? hotDog.parentElement : hotDog.parentNode; } if (hotDog.id=="titleBar"){ offsetx=isIE ? event.clientX : e.clientX; offsety=isIE ? event.clientY : e.clientY; nowX=parseInt(whichDog.style.left); nowY=parseInt(whichDog.style.top); ddEnabled=true; document.onmousemove=dd; } } function dd(e){ if (!ddEnabled) return; whichDog.style.left=isIE ? nowX+event.clientX-offsetx : nowX+e.clientX-offsetx; whichDog.style.top=isIE ? nowY+event.clientY-offsety : nowY+e.clientY-offsety; return false; } function ddN4(whatDog){ if (!isN4) return; N4=eval(whatDog); N4.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP); N4.onmousedown=function(e){ N4.captureEvents(Event.MOUSEMOVE); N4x=e.x; N4y=e.y; } N4.onmousemove=function(e){ if (isHot){ N4.moveBy(e.x-N4x,e.y-N4y); return false; } } N4.onmouseup=function(){ N4.releaseEvents(Event.MOUSEMOVE); } } function check_date(field){ var checkstr = "0123456789"; var DateField = field; var Datevalue = ""; var DateTemp = ""; var seperator = "/"; var day; var month; var year; var leap = 0; var err = 0; var i; err = 0; DateValue = DateField.value; for (i = 0; i < DateValue.length; i++) { if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) { DateTemp = DateTemp + DateValue.substr(i,1); } } DateValue = DateTemp; if (DateValue.length == 6) { DateValue = DateValue.substr(0,4) + '19' + DateValue.substr(4,2); } if (DateValue.length != 8) { err = 19;} year = DateValue.substr(4,4); if (year == 0) { err = 20; } month = DateValue.substr(2,2); if ((month < 1) || (month > 12)) { err = 21; } day = DateValue.substr(0,2); if (day < 1) { err = 22; } if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) { leap = 1; } if ((month == 2) && (leap == 1) && (day > 29)) { err = 23; } if ((month == 2) && (leap != 1) && (day > 28)) { err = 24; } if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) { err = 25; } if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) { err = 26; } if ((day == 0) && (month == 0) && (year == 00)) { err = 0; day = ""; month = ""; year = ""; seperator = ""; } if (err == 0) { DateField.value = day + seperator + month + seperator + year; } else { alert("Date not valid!!"); DateField.value=""; DateField.focus(); } } var dtCh= "/"; var minYear=1900; var maxYear=2100; function isInteger(s){ var i; for (i = 0; i < s.length; i++){ var c = s.charAt(i); if (((c < "0") || (c > "9"))) return false; } return true; } function stripCharsInBag(s, bag){ var i; var returnString = ""; for (i = 0; i < s.length; i++){ var c = s.charAt(i); if (bag.indexOf(c) == -1) returnString += c; } return returnString; } function daysInFebruary (year){ return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 ); } function DaysArray(n) { for (var i = 1; i <= n; i++) { this[i] = 31 if (i==4 || i==6 || i==9 || i==11) {this[i] = 30} if (i==2) {this[i] = 29} } return this } function isDate(dtStr){ var daysInMonth = DaysArray(12) var pos1=dtStr.indexOf(dtCh) var pos2=dtStr.indexOf(dtCh,pos1+1) var strMonth=dtStr.substring(pos1+1,pos2) var strDay=dtStr.substring(0,pos1) var strYear=dtStr.substring(pos2+1) strYr=strYear if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1) if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1) for (var i = 1; i <= 3; i++) { if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1) } month=parseInt(strMonth); day=parseInt(strDay); year=parseInt(strYr); if (pos1==-1 || pos2==-1){ alert("Insert a date in the gg/mm/aaaa format"); return false; } if (strMonth.length<1 || month<1 || month>12){ alert("Insert a valid month"); return false; } if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){ alert("Insert a valid day"); return false; } if (strYear.length != 4 || year==0 || yearmaxYear){ alert("Insert 4 digit for the year between "+minYear+" and "+maxYear); return false; } if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){ alert("Insert a valid date"); return false; } return true; } function ValidateDate(dt){ return isDate(dt.value); } //blocca cesso6 //document.onmousedown=ddInit; //document.onmouseup=Function("ddEnabled=false");