//variables used by date verification var dtCh= "/"; var minYear=1900; var maxYear=2100; //message box telling french is not available yet function nofrench() { //alert("Langue francaise : pas disponible pour le moment"); //return(false); } //<-- begin date verification routines // usage: onSubmit="return ValidateForm(formname,date)"> function isInteger(s){ var i; for (i = 0; i < s.length; i++){ // Check that current character is number. var c = s.charAt(i); if (((c < "0") || (c > "9"))) return false; } // All characters are numbers. return true; } function stripCharsInBag(s, bag){ var i; var returnString = ""; // Search through string's characters one by one. // If character is not in bag, append to 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){ // February has 29 days in any year evenly divisible by four, // EXCEPT for centurial years which are not also divisible by 400. 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,lang){ var daysInMonth = DaysArray(12) var pos1=dtStr.indexOf(dtCh) var pos2=dtStr.indexOf(dtCh,pos1+1) var strDay=dtStr.substring(0,pos1) var strMonth=dtStr.substring(pos1+1,pos2) 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) } if (lang=="e" || lang=="f" || lang=="g" || lang=="s"){ var strformat="The date format should be : dd/mm/yyyy" var strmonth="Please enter a valid month" var strday="Please enter a valid day" var stryear="Please enter a valid 4 digit year between "+minYear+" and "+maxYear var strdate="Please enter a valid date" } if (lang=="i"){ var strformat="Il formato della data deve essere : gg/mm/aaaa" var strmonth="La cifra del mese non e' valida" var strday="La cifra del giorno non e' valida" var stryear="L'anno deve essere di quattro cifre, compreso tra "+minYear+" e "+maxYear var strdate="La data inserita non e' valida" } month=parseInt(strMonth) day=parseInt(strDay) year=parseInt(strYr) if (pos1==-1 || pos2==-1){ alert(strformat) return false } if (strMonth.length<1 || month<1 || month>12){ alert(strmonth) return false } if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){ alert(strday) return false } if (strYear.length != 4 || year==0 || yearmaxYear){ alert(stryear) return false } if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){ alert(strdate) return false } return true } function ValidateForm(date,lang){ var d=date.value if (d==""){ return true } if (isDate(d,lang.value)==false){ date.focus() date.select() date.value="" return false } } //--end date verification routines--> function popup(url){ navDOM = window.innerHeight; // navigator handles it a little differently if (navDOM) { h=window.innerHeight; w=window.innerWidth; } else { w = document.body.clientWidth; h = document.body.clientHeight; } h=h-h/4; w=w-w/4; s="toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width="+w+",height="+h; open(url,"NewWindow",s) } function confirmLink(theLink, theTrigger, theLang) { if (theLang=="e" || theLang=="f" || theLang=="g" || theLang=="s"){ msg="ALERT - Are you sure you want to delete this record?"; } else if (theLang=="i") { msg="ATTENZIONE - Vuoi davvero eliminare questo record?"; } var is_confirmed = confirm(msg); if (is_confirmed) { theLink.href += theTrigger; } return is_confirmed; }