var dateFormat = 'dd/mm/yyyy'; var datePlaceHolder = 'dd/mm/yyyy'; function string_right(n) { if (n<=0) { return ''; } else if (n>this.length) { return this; } else { return this.substring(this.length, this.length - n); } } String.prototype.right = string_right; function AlphaNumericsOnly(Obj,UpperCase) { var newValue = ''; if(Obj!=null) { newValue=Obj.value; if(newValue!='') { if (UpperCase) { newValue = newValue.toUpperCase(); } var re = new RegExp('[^0-9A-Za-z]','ig'); newValue = newValue.replace(re,''); Obj.value=newValue; } } if(event && event.keyCode==9) { Obj.select(); } } function NumericsOnly(Obj) { if ((window.event.keyCode < 48 || window.event.keyCode > 57) && window.event.keyCode != 46) { window.event.keyCode = 0; window.event.returnValue = false; } /*if(Obj!=null) { var y=Obj.value; if(y!='') { Obj.value=Obj.value; } }*/ if(event && event.keyCode==9) { document.getElementById(x).select(); } } function UpperCase(x) { var y=document.getElementById(x).value; if(y!='') { document.getElementById(x).value=y.toUpperCase(); } if(event && event.keyCode==9) { document.getElementById(x).select(); } } function DateFormat(evt,Obj) { if (!evt) { evt = window.event; } var Day, Month, Year, toFind var arrValue = new Array(); //handle focus if arrow key pressed switch(evt.keyCode) { case 39://right arrow case 38:// up arrow case 37://left arrow case 40://down arrow return; break; } //keys to exclude if(evt.keyCode != 8 && evt.keyCode != 46) { //8=backspace //46=delete arrValue = Obj.value.split('/'); switch(dateFormat) { case "mm/dd/yyyy": maxdigs1 = 12; maxdigs2 = 31; break; case "dd/mm/yyyy": maxdigs1 = 31; maxdigs2 = 12; break; case "dd/mm/yy": maxdigs1 = 31; maxdigs2 = 12; break; } switch(Obj.value.length) { case 0: Obj.value = datePlaceHolder; toFind = datePlaceHolder; break; case 1: if(parseFloat(Obj.value) > maxdigs1.toString().substr(0,1)) { Digs = '0' + Obj.value; toFind = datePlaceHolder.right(datePlaceHolder.length - 3); } else { Digs = Obj.value + datePlaceHolder.substr(0,1); toFind = datePlaceHolder.right(datePlaceHolder.length - 1); } Obj.value = Digs + datePlaceHolder.right(datePlaceHolder.length - 2); break; case 2: if(Obj.value.indexOf('/') > 0) { Obj.value = '0' + Obj.value.substr(0,1) } if(parseFloat(Obj.value) > maxdigs1) { Day = Obj.value + datePlaceHolder.substr(0,1); Obj.value = Obj.value.substr(0,1) + datePlaceHolder.right(datePlaceHolder.length - 1); toFind = datePlaceHolder.right(datePlaceHolder.length - 1); } else { Obj.value = Obj.value + datePlaceHolder.right(datePlaceHolder.length - 2); toFind = datePlaceHolder.right(datePlaceHolder.length - 3); } break; case 4: if(parseFloat(arrValue[1]) > maxdigs2.toString().substr(0,1) && parseFloat(arrValue[1]) < maxdigs2 + 1) { arrValue[1] = '0' + arrValue[1]; if(parseFloat(arrValue[1]) > maxdigs2) { arrValue[1] = substr(datePlaceHolder,3,2); toFind = datePlaceHolder.right(datePlaceHolder.length - 3); } else { toFind = datePlaceHolder.right(datePlaceHolder.length - 6); } } else { if(parseFloat(arrValue[1]) > maxdigs2) { arrValue[1] = substr(datePlaceHolder,3,2); toFind = datePlaceHolder.right(datePlaceHolder.length - 3); } else { arrValue[1] += datePlaceHolder.substr(4,1); toFind = datePlaceHolder.right(datePlaceHolder.length - 4); } } Obj.value = arrValue[0] + '/' + arrValue[1] + datePlaceHolder.right(datePlaceHolder.length - 5); break; case 5: if(arrValue[1].length == 1) { arrValue[1] = '0' + arrValue[1]; } if(parseFloat(arrValue[1]) > maxdigs2) { arrValue[1] = datePlaceHolder.substr(4,2); toFind = datePlaceHolder.right(datePlaceHolder.length - 3); } else { toFind = datePlaceHolder.right(datePlaceHolder.length - 6); } Obj.value = arrValue[0] + '/' + arrValue[1] + datePlaceHolder.right(datePlaceHolder.length - 5); break; case 7: toFind = datePlaceHolder.right(datePlaceHolder.length - 7); Obj.value = arrValue[0] + '/' + arrValue[1] + '/' + arrValue[2] + datePlaceHolder.right(datePlaceHolder.length - 7); break; case 8: toFind = datePlaceHolder.right(datePlaceHolder.length - 8); Obj.value = arrValue[0] + '/' + arrValue[1] + '/' + arrValue[2] + datePlaceHolder.right(datePlaceHolder.length - 8); break; case 9: toFind = datePlaceHolder.right(datePlaceHolder.length - 9); Obj.value = arrValue[0] + '/' + arrValue[1] + '/' + arrValue[2] + datePlaceHolder.right(datePlaceHolder.length - 9); break; case 10: toFind = ''; break; case 11: toFind = ''; Obj.value = Obj.value.substr(0,10); break; } if(toFind != '') { if (Obj.createTextRange) { var Sel = Obj.createTextRange(); Sel.findText(toFind); Sel.select(); } else if (Obj.setSelectionRange) { start = Obj.value.indexOf(toFind) var Sel = Obj.setSelectionRange(start,start+toFind.length); } Obj.title = ''; } } GetDateTooltip(Obj); } function GetDateTooltip(Obj) { arrValue = Obj.value.split("/") Day = parseFloat(arrValue[0]) Month = parseFloat(arrValue[1]) - 1 Year = parseFloat("20" + arrValue[2]) var tDate = new Date(Year, Month, Day) if(tDate != "NaN" && "" + tDate != "undefined" && Month > -1 && ("" + Year).length == 4) { var dDate = "" + tDate var Title = "" if(dDate.substr(0,3) == "NaN") { Obj.title = "" } else { switch(dDate.substr(0,3)) { case "Mon": Title = "" break; case "Tue": Title = "" break; case "Wed": Title = "" break; case "Thu": Title = "" break; case "Fri": Title = "" break; case "Sat": Title = "" break; case "Sun": Title = "" break; } Obj.title = Title } } } function toDBDate(strDate) { dateParts = strDate.split('/'); if (dateParts.length!=3) { return ''; } switch(dateFormat) { case 'mm/dd/yyyy': { theDate = dateParts[1]; theMonth = dateParts[0]; theYear = dateParts[2]; break; } case 'dd/mm/yyyy': { theDate = dateParts[0]; theMonth = dateParts[1]; theYear = dateParts[2]; break; } case 'dd/mm/yy': { theDate = dateParts[0]; theMonth = dateParts[1]; theYear = '20' + dateParts[2]; break; } } return ('' + theYear + theMonth + theDate); } function fromDBDate(strDate) { theDate = strDate.substr(6,2); theMonth = strDate.substr(4,2); theYear = strDate.substr(0,4); switch(dateFormat) { case 'mm/dd/yyyy': { return theMonth + '/' + theDate + '/' + theYear; break; } case 'dd/mm/yyyy': { return theDate + '/' + theMonth + '/' + theYear; break; } case 'dd/mm/yy': { return theDate + '/' + theMonth + '/' + theYear.substr(2,2); break; } } }