// Date formate create by pas 29-04-2004 function setOrd(str){ if(parseInt(str)<10){ str="0"+str; } return str; } function checkDatLimit(str,symb){ var tmp; var tmp2; if(parseInt(str)>31){ tmp=str.substring(0,1); tmp2=str.substring(1,2); str=setOrd(tmp)+symb+setOrd(tmp2); }else if(parseInt(str)==0){ str=""; }else{ str+=symb; } return str; } function checkDatLimit2(str,symb){ if((parseInt(str)>31)||(parseInt(str)==0)){ str=""; } return str; } function checkMonthLimit2(str,symb){ var tmp; var tmp2; if(parseInt(str)>12){ tmp=str.substring(0,1); tmp2=str.substring(1,2); str=setOrd(tmp)+symb+setOrd(tmp2); }else if(parseInt(str)==0){ str=""; }else{ str+=symb; } return str; } function checkMonthLimit(str,symb){ var tmp; var tmp2; if(parseInt(str)>12){ tmp=str.substring(0,1); tmp2=str.substring(1,2); str=setOrd(tmp)+symb+setOrd(tmp2); }else if(parseInt(str)==0){ str=""; }else{ str+=symb; } return str; } function setdis(){ if ( ((window.event.keyCode != 45) && (window.event.keyCode < 48)) || (window.event.keyCode > 57)) window.event.returnValue = false; } /* function setdis(){ if ( (window.event.keyCode < 48) || (window.event.keyCode > 57)) window.event.returnValue = false; }*/ function checkTypeDate(){ if(document.cscform.__dateformat.value.indexOf("/")>-1){ return "/"; }else{ return "-"; } } function checkFormatDate(){ if(document.cscform.__dateformat.value.charAt(0)=="D"){//ddmmyyyy return 0; }else if(document.cscform.__dateformat.value.charAt(0)=="Y"){//yyyymmdd return 1; }else{ return 2; //mmddyyyy } } function typeDate(obj){ /*var tmpemp; var tmpdate; var symb= checkTypeDate(); /* checkFormatDate() 0 =ddmmyyyy 1=yyyymmdd *//* if(obj.value.length>=6){ if(obj.value.indexOf(symb)==-1){ if(checkFormatDate()==0){ tmpdate=obj.value.substring(0,2); tmpdate+=symb+obj.value.substring(3,5); tmpdate+=symb+obj.value.substring(6,obj.value.length); }else{ tmpdate=obj.value.substring(0,4); tmpdate+=symb+obj.value.substring(5,7); tmpdate+=symb+obj.value.substring(8,obj.value.length); } obj.value=tmpdate; } } if(checkFormatDate()==0){ if(obj.value.length==2){ obj.value=checkDatLimit(obj.value,symb); } if(obj.value.length==5){ tmpemp=obj.value.split(symb); obj.value=checkDatLimit(tmpemp[0],symb)+checkMonthLimit(tmpemp[1],symb); } if(obj.value.length>6){ tmpemp=obj.value.split(symb); obj.value=checkDatLimit(tmpemp[0],symb)+checkMonthLimit(tmpemp[1],symb)+tmpemp[2]; } }else if(checkFormatDate()==1){ if(obj.value.length==4){ obj.value+=symb; } if(obj.value.length==7){ tmpemp=obj.value.split(symb); obj.value=tmpemp[0]+symb+checkMonthLimit(tmpemp[1],symb); } if(obj.value.length>7){ tmpemp=obj.value.split(symb); obj.value=tmpemp[0]+symb+checkMonthLimit2(tmpemp[1],symb)+checkDatLimit2(tmpemp[2],symb); } } */ } function isValidDate(dateStr) { // Date validation function courtesty of // Checks for the following valid date formats: var dateFormate = checkFormatDate(); var datePat ; var matchArray; if(dateFormate==0){ datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2,4})$/; // DD/MM/YYYY DD-MM-YYYY requires 4 digit year }else if(dateFormate==1){ datePat =/^(\d{2,4})(\/|-)(\d{1,2})\2(\d{1,2})$/ ; // YYYY/MM/DD YYYY-MM-DD requires 4 digit year }else{ datePat =/^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2,4})$/ ; // MM/DD/YYYY MM/DD/YYYY requires 4 digit year } matchArray = dateStr.match(datePat); // is the format ok? //alert(matchArray[0]);alert(matchArray[1]);alert(matchArray[2]);alert(matchArray[3]);alert(matchArray[4]); if (matchArray == null) { alert(dateStr + " Date is not in a valid format ( "+document.cscform.__dateformat.value+" )."); return false; } var month // parse date into variables var day; var year ; if(dateFormate==0){ month = matchArray[3]; // parse date into variables day = matchArray[1]; year = matchArray[4]; }else if(dateFormate==1){ month = matchArray[3]; // parse date into variables day = matchArray[4]; year = matchArray[1]; }else{ month = matchArray[1]; // parse date into variables day = matchArray[3]; year = matchArray[4]; } //alert("day : "+day); //alert("month : "+month); //alert("year : "+year); if (month < 1 || month > 12) { // check month range alert("Month must be between 1 and 12."); return false; } if (day < 1 || day > 31) { alert("Day must be between 1 and 31."); return false; } if ((month==4 || month==6 || month==9 || month==11) && day==31) { alert("Month "+month+" doesn't have 31 days!") return false; } if (month == 2) { // check for february 29th var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); if (day>29 || (day==29 && !isleap)) { alert("February " + year + " doesn't have " + day + " days!"); return false; } } return true; } function isValidTime(timeStr) { // Time validation function courtesty of // Sandeep V. Tamhankar (stamhankar@hotmail.com) --> // Checks if time is in HH.MM format. // The seconds and AM/PM are optional. var timePat = /^(\d{1,2}).(\d{1,2})$/; var matchArray = timeStr.match(timePat); if (matchArray == null) { alert("Time is not in a valid format."); return false; } var hour = matchArray[1]; var minute = matchArray[2]; if (hour < 0 || hour > 23) { alert("Hour must be between 1 and 12. (or 0 and 23 for military time)"); return false; } if (minute < 0 || minute > 59) { alert ("Minute must be between 0 and 59."); return false; } return true; } function dateDiff(dateform) { var date1 = new Date(); var date2 = new Date(); var diff = new Date(); if (isValidDate(dateform.firstdate.value) && isValidTime(dateform.firsttime.value)) { // Validates first date date1temp = new Date(dateform.firstdate.value + " " + dateform.firsttime.value); date1.setTime(date1temp.getTime()); } else return false; // otherwise exits if (isValidDate(dateform.seconddate.value) && isValidTime(dateform.secondtime.value)) { // Validates second date date2temp = new Date(dateform.seconddate.value + " " + dateform.secondtime.value); date2.setTime(date2temp.getTime()); } else return false; // otherwise exits // sets difference date to difference of first date and second date diff.setTime(Math.abs(date1.getTime() - date2.getTime())); timediff = diff.getTime(); weeks = Math.floor(timediff / (1000 * 60 * 60 * 24 * 7)); timediff -= weeks * (1000 * 60 * 60 * 24 * 7); days = Math.floor(timediff / (1000 * 60 * 60 * 24)); timediff -= days * (1000 * 60 * 60 * 24); hours = Math.floor(timediff / (1000 * 60 * 60)); timediff -= hours * (1000 * 60 * 60); mins = Math.floor(timediff / (1000 * 60)); timediff -= mins * (1000 * 60); secs = Math.floor(timediff / 1000); timediff -= secs * 1000; dateform.difference.value = weeks + " weeks, " + days + " days, " + hours + " hours, " + mins + " minutes, and " + secs + " seconds"; return false; // form should never submit, returns false } function timeDifference(firsttime,secondtime){ if( isValidTime(firsttime)&&( isValidTime(secondtime))){ var timePat = /^(\d{1,}).(\d{1,})$/; var matchArray1=firsttime.match(timePat); var matchArray2=secondtime.match(timePat); var hour1 = matchArray1[1]; var minute1 = matchArray1[2]; var hour2 = matchArray2[1]; var minute2 = matchArray2[2]; if(parseFloat(hour1)>parseFloat(hour2)){ alert("Data not match !!! "); return false; }else if(parseFloat(hour1)==parseFloat(hour2)){ if(parseFloat(minute1)>=parseFloat(minute2)){ alert("Data not match !!! "); return false; } } } return true; } function gettimeDiff(fttime){ if( isValidTime(fttime)){ var timePat = /^(\d{1,}).(\d{1,})$/; var matchArray1=fttime.match(timePat); var hour1 = parseFloat(matchArray1[1])*60; var minute1 = parseFloat(matchArray1[2])+hour1; return minute1; } } function gettimeDiffReturn(firsttime){ var totalHour; var hour1 = (parseInt(firsttime)/60)+""; if((hour1.indexOf(".")>-1)){ totalHour=hour1.substring(0,hour1.indexOf(".")); }else totalHour=hour1; return totalHour; } function gettimeDiff2(ftime,sdtime){ if( isValidTime(ftime)&&( isValidTime(sdtime))){ var tPat = /^(\d{1,}).(\d{1,})$/; var totalHou=0; var totalMinute=0; var totalHM; var mArray1=ftime.match(tPat); var mArray2=sdtime.match(tPat); var hr1 = parseFloat(mArray1[1])*60; var min1 = parseFloat(mArray1[2])+hr1; var hr2 = parseFloat(mArray2[1])*60; var min2 = parseFloat(mArray2[2])+hr2; if(min1>min2){ min1=(24*60)-min1; totalMinute=min2+min1; }else totalMinute=min2-min1; totalHour=(totalMinute/60)+""; if(totalHour.indexOf(".")>-1){ totalHour=totalHour.substring(0,totalHour.indexOf(".")); totalHour+="."+(totalMinute%60); totalHM=totalHour; }else totalHM=totalHour+".00"; return totalHM; } } function gettimeDiff4(firsttime,secondtime,thirdtime,fourtime){ if( (isValidTime(firsttime))&&( isValidTime(secondtime))&&( isValidTime(thirdtime))&&( isValidTime(fourtime))){ var timePat = /^(\d{1,}).(\d{1,})$/; var totalHour; var totalMinute; var totalHM; var matchArray1=firsttime.match(timePat); var matchArray2=secondtime.match(timePat); var matchArray3=thirdtime.match(timePat); var matchArray4=fourtime.match(timePat); var hour1 = parseFloat(matchArray1[1])*60; var minute1 = parseFloat(matchArray1[2])+hour1; var hour2 = parseFloat(matchArray2[1])*60; var minute2 = parseFloat(matchArray2[2])+hour2; var hour3 = parseFloat(matchArray3[1])*60; var minute3 = parseFloat(matchArray3[2])+hour3; var hour4 = parseFloat(matchArray4[1])*60; var minute4 = parseFloat(matchArray4[2])+hour4; totalMinute=minute2-minute1; totalMinute+=minute4-minute3; totalHour=(totalMinute/60)+""; if(totalHour.indexOf(".")>-1){ totalHour=totalHour.substring(0,totalHour.indexOf(".")); totalHour+="."+(totalMinute%60); totalHM=totalHour; }else totalHM=totalHour+".00"; return totalHM; } } function dateDifference(firstdate,seconddate) { //alert(firstdate +", "+ seconddate); var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; // requires 4 digit year var mArray1 = firstdate.match(datePat); // is the format ok? var mArray2 = seconddate.match(datePat); // is the format ok? var month1 = mArray1[3]; // parse date into variables var day1 = mArray1[1]; var year1 = mArray1[4]; var month2 = mArray2[3]; // parse date into variables var day2 = mArray2[1]; var year2 = mArray2[4]; if(parseInt(year1)>parseInt(year2)){ alert("Data not match !!! "); return false; }else if(parseFloat(year1)==parseFloat(year2)){ if(parseFloat(month1)>parseFloat(month2)){ alert("Data not match !!! "); return false; }else if(parseFloat(month1)==parseFloat(month2)){ if(parseFloat(day1)>parseFloat(day2)){ alert("Data not match !!! "); return false; } } } return true; // form should never submit, returns false } function datetimeDifference(firstdate,seconddate,firsttime,secondtime) { var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; // requires 4 digit year var timePat = /^(\d{1,}).(\d{1,})$/; var mArray1 = firstdate.match(datePat); // is the format ok? var mArray2 = seconddate.match(datePat); // is the format ok? var mArray3 = firsttime.match(timePat); // is the format ok? var mArray4 = secondtime.match(timePat); // is the format ok? var month1 = mArray1[3]; // parse date into variables var day1 = mArray1[1]; var year1 = mArray1[4]; var month2 = mArray2[3]; // parse date into variables var day2 = mArray2[1]; var year2 = mArray2[4]; var hr1 = mArray3[1]; var min1 = mArray3[2]; var hr2 = mArray4[1]; var min2 =mArray4[2]; if(parseInt(year1)>parseInt(year2)){ alert("Data not match !!! "); return false; }else if(parseFloat(year1)==parseFloat(year2)){ if(parseFloat(month1)>parseFloat(month2)){ alert("Data not match !!! "); return false; }else if(parseFloat(month1)==parseFloat(month2)){ if(parseFloat(day1)>parseFloat(day2)){ alert("Data not match !!! "); return false; } else if(parseFloat(day1)==parseFloat(day2)){ if(parseFloat(hr1)>parseFloat(hr2)){ alert("Data not match !!! "); return false; } else if (parseFloat(hr1)==parseFloat(hr2)) { if(parseFloat(min1)>=parseFloat(min2)){ alert("Data not match !!! "); return false; } } } } } return true; // form should never submit, returns false } function check_Time(stdate){ with(document.cscform){ for (j=0;j<elements.length; j++){ if(elements[j].name.indexOf(stdate) > -1){ if(!isValidDate(elements[j].value)){ count+=1; elements[j].focus(); elements[j].select(); return false; break; } } }//for return true; } } function check_Time(stdate){ with(document.cscform){ for (j=0;j<elements.length; j++){ if(elements[j].name.indexOf(stdate) > -1){ if(!isValidDate(elements[j].value)){ count+=1; elements[j].focus(); elements[j].select(); return false; break; } } }//for return true; } } function getLength(){ return document.cscform.__dateformat.value.length; } function getLengthYear(){ var datefm=document.cscform.__dateformat.value.toLowerCase(); var countDigit=0; for(var i=0;i<datefm.length;i++){ if(datefm.charAt(i).indexOf("y")>-1){ countDigit++; } } return countDigit; } function checkValidDate(dateStr){ var valid; if(dateStr.value.length>0){ valid=isValidDate(dateStr.value); if(!valid){ dateStr.focus(); dateStr.style.backgroundColor="#FF0000"; dateStr.select(); }else{ changeYear(dateStr) } } } function replace(strSrc,strReplace,strWith) { if(strSrc.indexOf(strReplace) == -1) return strSrc; var i = 0; var j = 0; while((i = strSrc.indexOf(strReplace, j)) != -1) { strSrc = strSrc.substring(0, i) + strWith + strSrc.substring(i + strReplace.length); j = i + strWith.length; } return strSrc; } function IsNumber(szStr) { for(var i=0; i<szStr.length; i++) { if("0123456789+-.".indexOf(szStr.charAt(i)) == -1) return false; } return true; } function timeLine(ftdate,fttime,sddate,sdtime,hit,display) { var date1 = new Date(); var time1; var time2; var date2 = new Date(); var diff = new Date(); if (isValidDate(ftdate) && isValidTime(fttime)) { // Validates first date time1=replace(fttime,".",":"); date1temp = new Date(ftdate + " " + time1); date1.setTime(date1temp.getTime()); } else return false; // otherwise exits if (isValidDate(sddate) && isValidTime(sdtime)) { // Validates second date time2=replace(sdtime,".",":"); date2temp = new Date(sddate+ " " + time2); date2.setTime(date2temp.getTime()); } else return false; // otherwise exits // sets difference date to difference of first date and second date diff.setTime(Math.abs(date1.getTime() - date2.getTime())); var Hunit=0; if(IsNumber(hit)){ Hunit=parseInt(hit); } timediff = diff.getTime(); weeks = Math.floor(timediff / (1000 * 60 * 60 * Hunit * 7)); timediff -= weeks * (1000 * 60 * 60 * Hunit * 7); days = Math.floor(timediff / (1000 * 60 * 60 * Hunit)); timediff -= days * (1000 * 60 * 60 * Hunit); hours = Math.floor(timediff / (1000 * 60 * 60)); timediff -= hours * (1000 * 60 * 60); mins = Math.floor(timediff / (1000 * 60)); timediff -= mins * (1000 * 60); secs = Math.floor(timediff / 1000); timediff -= secs * 1000; display.value = weeks + " weeks, " + days + " days, " + hours + " hours, " + mins + " minutes, and " + secs + " seconds"; return false; // form should never submit, returns false } function changeYear(dateStr){//// var dateFormate = checkFormatDate(); var datePat ; var matchArray; if(dateFormate==0){ datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; // DD/MM/YYYY DD-MM-YYYY requires 4 digit year }else if(dateFormate==1){ datePat =/^(\d{4})(\/|-)(\d{1,2})\2(\d{1,2})$/ ; // YYYY/MM/DD YYYY-MM-DD requires 4 digit year }else{ datePat =/^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/ ; // MM/DD/YYYY MM/DD/YYYY requires 4 digit year } matchArray = dateStr.value.match(datePat); // is the format ok? if (matchArray == null) { alert(dateStr.value + " Date is not in a valid format ( "+document.cscform.__dateformat.value+" )."); //isEror(0); return false; } var month // parse date into variables var day; var year ; if(dateFormate==0){ month = matchArray[3]; // parse date into variables day = matchArray[1]; year = matchArray[4]; }else if(dateFormate==1){ month = matchArray[3]; // parse date into variables day = matchArray[4]; year = matchArray[1]; }else{ month = matchArray[1]; // parse date into variables day = matchArray[3]; year = matchArray[4]; } if((year-543)>1800){ year-=543; } var dateFormate=checkFormatDate(); var sym=checkTypeDate(); if(dateFormate==0){ dateStr.value=day+sym+month+sym+year;// DD/MM/YYYY DD-MM-YYYY requires 4 digit year }else if(dateFormate==1){ dateStr.value=year+sym+month+sym+day;// YYYY/MM/DD YYYY-MM-DD requires 4 digit year }else{ dateStr.value=month+sym+day+sym+year;// MM/DD/YYYY MM/DD/YYYY requires 4 digit year } } function chkdig(){ if ( ( (window.event.keyCode < 48)) || (window.event.keyCode > 57)) window.event.returnValue = false; } function checkDateInput(objField, e){ objField.style.backgroundColor="#FFFFFF"; var datelength=getLength(); var digitYear=getLengthYear(); objField.maxLength=10; chkdig(); var symb=checkTypeDate(); var formate=checkFormatDate(); var lengthf = new Array(); if(formate!=1){ lengthf[0]=2; lengthf[1]=5; }else{ if(digitYear==2){ lengthf[0]=2; lengthf[1]=5; }else{ lengthf[0]=4; lengthf[1]=7; } } if((objField.value.length==lengthf[0])||(objField.value.length==lengthf[1])){ objField.value+=symb; } } function dateDifferance(firstdate, seconddate) { var date1 = new Date(); var date2 = new Date(); var diff = new Date(); if (isValidDate(firstdate)) { // Validates first date var tmpd1 = firstdate.substring(0,2) var tmpm1 = firstdate.substring(3,5); var tmpy1 = firstdate.substring(6,10); date1temp = new Date(tmpm1+"-"+tmpd1+"-"+tmpy1); date1.setTime(date1temp.getTime()); } else return false; // otherwise exits if (isValidDate(seconddate)) { // Validates second date var tmpd2 = seconddate.substring(0,2) var tmpm2 = seconddate.substring(3,5); var tmpy2 = seconddate.substring(6,10); date2temp = new Date(tmpm2+"-"+tmpd2+"-"+tmpy2); date2.setTime(date2temp.getTime()); } else return false; // otherwise exits // sets difference date to difference of first date and second date //alert(date1+":"+date2); diff.setTime(Math.abs(date1.getTime() - date2.getTime())); timediff = diff.getTime(); days = Math.floor(timediff / (1000 * 60 * 60 * 24)); timediff -= days * (1000 * 60 * 60 * 24); return days; // form should never submit, returns false*/ }