1function convert_date(field1) 2{ 3 var fLength = field1.value.length; 4 var divider_values = new Array ('-','.','/',' ',':','_',','); 5 var array_elements = 7; 6 var day1 = new String(null); 7 var month1 = new String(null); 8 var year1 = new String(null); 9 var divider1 = null; 10 var outdate1 = null; 11 var counter1 = 0; 12 var divider_holder = new Array ('0','0','0'); 13 var s = String(field1.value); 14 15 16 if ( fLength == 0 ) 17 { 18 return true; 19 } 20 21 22 if ( field1.value.toUpperCase() == 'NOW' || field1.value.toUpperCase() == 'TODAY' ) 23 { 24 var newDate1 = new Date(); 25 if (navigator.appName == "Netscape") 26 { 27 var myYear1 = newDate1.getYear() + 1900; 28 } 29 else 30 { 31 var myYear1 =newDate1.getYear(); 32 } 33 var myMonth1 = newDate1.getMonth()+1; 34 var myDay1 = newDate1.getDate(); 35 field1.value = myDay1 + "/" + myMonth1 + "/" + myYear1; 36 fLength = field1.value.length; 37 s = String(field1.value); 38 } 39 40 41 if ( fLength != 0 && (fLength < 6 || fLength > 11) ) 42 { 43 invalid_date(field1); 44 return false; 45 } 46 47 48 for ( var i=0; i<3; i++ ) 49 { 50 for ( var x=0; x<array_elements; x++ ) 51 { 52 if ( s.indexOf(divider_values[x], counter1) != -1 ) 53 { 54 divider1 = divider_values[x]; 55 divider_holder[i] = s.indexOf(divider_values[x], counter1); 56 57 counter1 = divider_holder[i] + 1; 58 59 break; 60 } 61 } 62 } 63 64 65 if ( divider_holder[2] != 0 ) 66 { 67 invalid_date(field1); 68 return false; 69 } 70 71 72 if ( divider_holder[0] == 0 && divider_holder[1] == 0 ) 73 { 74 75 if ( fLength == 6 ) 76 { 77 day1 = field1.value.substring(0,2); 78 month1 = field1.value.substring(2,4); 79 year1 = field1.value.substring(4,6); 80 if ( (year1 = validate_year(year1)) == false ) 81 { 82 invalid_date(field1); 83 return false; 84 } 85 } 86 87 else if ( fLength == 7 ) { 88 day1 = field1.value.substring(0,2); 89 month1 = field1.value.substring(2,5); 90 year1 = field1.value.substring(5,7); 91 if ( (month1 = convert_month(month1)) == false ) { 92 invalid_date(field1); 93 return false; 94 } 95 if ( (year1 = validate_year(year1)) == false ) { 96 invalid_date(field1); 97 return false; 98 } 99 } 100 else if ( fLength == 8 ) { 101 day1 = field1.value.substring(0,2); 102 month1 = field1.value.substring(2,4); 103 year1 = field1.value.substring(4,8); 104 } 105 else if ( fLength == 9 ) { 106 day1 = field1.value.substring(0,2); 107 month1 = field1.value.substring(2,5); 108 year1 = field1.value.substring(5,9); 109 if ( (month1 = convert_month(month1)) == false ) { 110 invalid_date(field1); 111 return false; 112 } 113 } 114 115 if ( (outdate1 = validate_date(day1,month1,year1)) == false ) { 116 alert("The value " + field1.value + " is not a vaild date.\n\r" + 117 "Please enter a valid date in the format dd/mm/yyyy"); 118 field1.focus(); 119 field1.select(); 120 return false; 121 } 122 123 field1.value = outdate1; 124 return true; 125 } 126 127 128if ( divider_holder[0] != 0 && divider_holder[1] != 0 ) { 129 day1 = field1.value.substring(0, divider_holder[0]); 130 month1 = field1.value.substring(divider_holder[0] + 1, divider_holder[1]); 131 132 year1 = field1.value.substring(divider_holder[1] + 1, field1.value.length); 133 } 134 135if ( isNaN(day1) && isNaN(year1) ) { 136 invalid_date(field1); 137 return false; 138 } 139 140if ( day1.length == 1 ) { 141 day1 = '0' + day1; 142} 143 144if ( month1.length == 1 ) { 145 month1 = '0' + month1; 146} 147 148if ( year1.length == 2 ) {
149 if ( (year1 = validate_year(year1)) == false ) { 150 invalid_date(field1); 151 return false; 152 } 153} 154 155if ( month1.length == 3 || month1.length == 4 ) { 156 if ( (month1 = convert_month(month1)) == false) { 157 alert("month1" + month1); 158 invalid_date(field1); 159 return false; 160 } 161} 162 163 164if ( (day1.length == 2 || month1.length == 2 || year1.length == 4) == false) { 165 invalid_date(field1); 166 return false; 167} 168 169 170if ( (outdate1 = validate_date(day1, month1, year1)) == false ) { 171 alert("The value " + field1.value + " is not a vaild date.\n\r" + 172 "Please enter a valid date in the format dd/mm/yyyy"); 173 field1.focus(); 174 field1.select(); 175 return false; 176} 177 178field1.value = outdate1; 179return true; 180 181} 182 183function convert_month(monthIn) { 184 185var month_values = new Array ("JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"); 186 187monthIn = monthIn.toUpperCase(); 188 189if ( monthIn.length == 3 ) { 190 for ( var i=0; i<12; i++ ) 191 { 192 if ( monthIn == month_values[i] ) 193 { 194 monthIn = i + 1; 195 if ( i != 10 && i != 11 && i != 12 ) 196 { 197 monthIn = '0' + monthIn; 198 } 199 return monthIn; 200 } 201 } 202 } 203 204else if ( monthIn.length == 4 && monthIn == 'SEPT') { 205 monthIn = '09'; 206 return monthIn; 207 } 208 209else { 210 return false; 211 } 212} 213
214function invalid_date(inField) 215{ 216alert("The value " + inField.value + " is not in a vaild date format.\n\r" + 217 "Please enter date in the format dd/mm/yyyy"); 218inField.focus(); 219inField.select(); 220return true 221} 222 223function validate_date(day2, month2, year2) 224{ 225var DayArray = new Array(31,28,31,30,31,30,31,31,30,31,30,31); 226var MonthArray = new Array("01","02","03","04","05","06","07","08","09","10","11","12"); 227var inpDate = day2 + month2 + year2; 228var filter=/^[0-9]{2}[0-9]{2}[0-9]{4}$/; 229 230 231if (! filter.test(inpDate)) 232{ 233 return false; 234} 235 236filter=/01|02|03|04|05|06|07|08|09|10|11|12/ ; 237if (! filter.test(month2))
237 238{ 239 return false; 240} 241 242var N = Number(year2); 243if ( ( N%4==0 && N%100 !=0 ) || ( N%400==0 ) ) 244{ 245 DayArray[1]=29; 246} 247 248for(var ctr=0; ctr<=11; ctr++) 249 { 250 if (MonthArray[ctr]==month2) 251 { 252 if (day2<= DayArray[ctr] && day2 >0 ) 253 { 254 inpDate = day2 + '/' + month2 + '/' + year2; 255 return inpDate; 256 }
256 257 else 258 { 259 return false; 260 } 261 } 262 } 263} 264
265function validate_year(inYear) 266{ 267if ( inYear < 10 ) 268 { 269 inYear = "20" + inYear; 270 return inYear; 271 } 272else if ( inYear >= 10 ) 273 { 274 inYear = "19" + inYear; 275 return inYear; 276 } 277else 278 { 279 return false; 280 } 281} 282//Added by Sameer on 03/09/2002 283function dateAdd(strDate,iIncrement) 284{ 285 iDate = strDate.substring(0,strDate.indexOf("/")); 286 iMonth = strDate.substring(strDate.indexOf("/") + 1,strDate.lastIndexOf("/")); 287 iYear = strDate.substring(strDate.lastIndexOf("/") + 1); 288 iDate1 = parseInt(iDate) + parseInt(iIncrement); 289 d = new Date(iMonth + "/" + iDate1 + "/" + iYear); 290 iDate1 = d.getDate(); 291 if(iDate1 < iDate) 292 { 293 iMonth++; 294 if(iMonth > 12) 295 { 296 iMonth = 1; 297 iYear++; 298 } 299 } 300 newDate = iDate1 + "/" + iMonth + "/" + iYear; 301 return newDate; 302}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.