[532] | 1 | function validateTime( str_target, str_datetime ) { |
---|
| 2 | |
---|
| 3 | var time = document.cal.time.value.split( ':' ); |
---|
| 4 | var invalid = 0; |
---|
| 5 | var dt_datetime = (str_datetime == null || str_datetime =="" ? new Date() : str2dt(str_datetime)); |
---|
| 6 | |
---|
| 7 | if( time.length <= 1 && invalid == 0 ) { |
---|
| 8 | |
---|
| 9 | document.cal.time.value = dt2tmstr( dt_datetime ); |
---|
| 10 | alert( 'Invalid time specified (needs to be HH:MM:SS), reset to current time.' ); |
---|
| 11 | invalid = 1; |
---|
| 12 | |
---|
| 13 | } else if( time.length == 2 ) { |
---|
| 14 | |
---|
| 15 | if( time[1] != '' ) { |
---|
| 16 | |
---|
| 17 | document.cal.time.value = document.cal.time.value + ':00'; |
---|
| 18 | |
---|
| 19 | } else if( invalid == 0 ) { |
---|
| 20 | |
---|
| 21 | document.cal.time.value = dt2tmstr( dt_datetime ); |
---|
| 22 | alert( 'Invalid time specified (needs to be HH:MM:SS), reset to current time.' ); |
---|
| 23 | invalid = 1; |
---|
| 24 | } |
---|
| 25 | |
---|
| 26 | } else if( time.length == 3 ) { |
---|
| 27 | |
---|
| 28 | newtime = ''; |
---|
| 29 | |
---|
| 30 | for( var i=0; i<time.length; i++) { |
---|
| 31 | |
---|
| 32 | time_field = time[i]; |
---|
| 33 | if( i == 0 ) |
---|
| 34 | var sep = ''; |
---|
| 35 | else |
---|
| 36 | var sep = ':'; |
---|
| 37 | |
---|
| 38 | |
---|
| 39 | if( time_field.length == 0 && invalid == 0 ) { |
---|
| 40 | |
---|
| 41 | document.cal.time.value = dt2tmstr( dt_datetime ); |
---|
| 42 | alert( 'Invalid time specified (needs to be HH:MM:SS), reset to current time.' ); |
---|
| 43 | invalid = 1; |
---|
| 44 | |
---|
| 45 | } else if( time_field.length == 1 ) { |
---|
| 46 | |
---|
| 47 | newtime = newtime + sep + '0' + time_field; |
---|
| 48 | } else { |
---|
| 49 | newtime = newtime + sep + time_field; |
---|
| 50 | } |
---|
| 51 | |
---|
| 52 | for( var l=0; l<time_field.length; l++ ) { |
---|
| 53 | var mydigit = time_field.charAt(l) |
---|
| 54 | |
---|
| 55 | if(( mydigit < "0" || mydigit > "9" ) && invalid == 0 ) { |
---|
| 56 | |
---|
| 57 | document.cal.time.value = dt2tmstr( dt_datetime ); |
---|
| 58 | alert( 'Invalid time specified (needs to be HH:MM:SS), reset to current time.' ); |
---|
| 59 | invalid = 1; |
---|
| 60 | |
---|
| 61 | } |
---|
| 62 | } |
---|
| 63 | } |
---|
| 64 | |
---|
| 65 | if( invalid == 0 ) { |
---|
| 66 | |
---|
| 67 | document.cal.time.value = newtime; |
---|
| 68 | } |
---|
| 69 | |
---|
| 70 | } |
---|
| 71 | |
---|
| 72 | if( invalid == 0 ) { |
---|
| 73 | |
---|
| 74 | target = str_target.split('.'); |
---|
| 75 | frm = target[1]; |
---|
| 76 | elm = target[2]; |
---|
| 77 | var mf = window.opener.document.forms[frm].elements[elm].value.split( ' ' ); |
---|
| 78 | |
---|
| 79 | if( mf[0] != '' ) |
---|
| 80 | window.opener.document.forms[frm].elements[elm].value=mf[0]+' '+document.cal.time.value; |
---|
| 81 | else |
---|
| 82 | window.opener.document.forms[frm].elements[elm].value=dt2dtstr( new Date() ) +document.cal.time.value; |
---|
| 83 | } |
---|
| 84 | } |
---|
| 85 | |
---|
| 86 | // datetime parsing and formatting routimes. modify them if you wish other datetime format |
---|
| 87 | function str2dt (str_datetime) { |
---|
| 88 | var re_date = /^(\d+)\-(\d+)\-(\d+)\s+(\d+)\:(\d+)\:(\d+)$/; |
---|
| 89 | if (!re_date.exec(str_datetime)) |
---|
| 90 | return alert("Invalid Datetime format: "+ str_datetime); |
---|
| 91 | return (new Date (RegExp.$3, RegExp.$2-1, RegExp.$1, RegExp.$4, RegExp.$5, RegExp.$6)); |
---|
| 92 | } |
---|
| 93 | function dt2dtstr (dt_datetime) { |
---|
| 94 | return (new String ( |
---|
| 95 | dt_datetime.getDate()+"-"+(dt_datetime.getMonth()+1)+"-"+dt_datetime.getFullYear()+" ")); |
---|
| 96 | } |
---|
| 97 | function dt2tmstr (dt_datetime) { |
---|
| 98 | |
---|
| 99 | if( dt_datetime.getHours() < 10 ) |
---|
| 100 | var hours = '0' + dt_datetime.getHours(); |
---|
| 101 | else |
---|
| 102 | var hours = dt_datetime.getHours(); |
---|
| 103 | |
---|
| 104 | if( dt_datetime.getMinutes() < 10 ) |
---|
| 105 | var minutes = '0' + dt_datetime.getMinutes(); |
---|
| 106 | else |
---|
| 107 | var minutes = dt_datetime.getMinutes(); |
---|
| 108 | |
---|
| 109 | if( dt_datetime.getSeconds() < 10 ) |
---|
| 110 | var seconds = '0' + dt_datetime.getSeconds(); |
---|
| 111 | else |
---|
| 112 | var seconds = dt_datetime.getSeconds(); |
---|
| 113 | |
---|
| 114 | return (new String ( |
---|
| 115 | hours+":"+minutes+":"+seconds)); |
---|
| 116 | } |
---|