equal
deleted
inserted
replaced
53 if ( e.keyCode == 27 ) |
53 if ( e.keyCode == 27 ) |
54 { |
54 { |
55 window.clearInterval(yk_interval); |
55 window.clearInterval(yk_interval); |
56 miniPromptDestroy(this); |
56 miniPromptDestroy(this); |
57 } |
57 } |
58 else if ( this.value.length == 44 && !this.submitted ) |
58 else if ( this.value.length >= 44 && !this.submitted ) |
59 { |
59 { |
60 this.submitted = true; |
60 this.submitted = true; |
61 yk_handle_submit(this); |
61 yk_handle_submit(this); |
62 } |
62 } |
63 else |
63 else |
64 { |
64 { |
65 $('div.yubikey_bar > img', this.parentNode) |
65 $('div.yubikey_bar > img', this.parentNode) |
66 .css('width', String(this.value.length * 2) + 'px') |
66 .css('width', String(this.value.length * 2) + 'px') |
67 .css('background-position', String(this.value.length - 44) + 'px -88px'); |
67 .css('background-position', String((this.value.length > 44 ? 44 : this.value.length) - 44) + 'px -88px'); |
68 } |
68 } |
69 e.preventDefault(); |
69 e.preventDefault(); |
70 e.stopPropagation(); |
70 e.stopPropagation(); |
71 }); |
71 }); |
72 mp.appendChild(ta); |
72 mp.appendChild(ta); |
84 mp.appendChild(info); |
84 mp.appendChild(info); |
85 } |
85 } |
86 |
86 |
87 function yk_handle_submit(ta) |
87 function yk_handle_submit(ta) |
88 { |
88 { |
89 if ( !ta.value.match(/^[cbdefghijklnrtuv]{44}$/) ) |
89 if ( ta.value.length > 44 || !ta.value.match(/^[cbdefghijklnrtuv]+$/) ) |
90 { |
90 { |
91 setTimeout(function() |
91 setTimeout(function() |
92 { |
92 { |
93 yk_mb_construct(ta.parentNode); |
93 var parent = ta.parentNode; |
|
94 var tabackup = { |
|
95 field_id: ta.yk_field_id, |
|
96 status_id: ta.yk_status_id, |
|
97 submit_func: ta.submit_func |
|
98 }; |
|
99 yk_mb_construct(parent); |
|
100 var input = parent.getElementsByTagName('input')[0]; |
|
101 if ( tabackup.field_id ) |
|
102 input.yk_field_id = tabackup.field_id; |
|
103 if ( tabackup.status_id ) |
|
104 input.yk_status_id = tabackup.status_id; |
|
105 if ( tabackup.submit_func ) |
|
106 input.submit_func = tabackup.submit_func; |
94 }, 1000); |
107 }, 1000); |
95 $('h3', ta.parentNode).text($lang.get('yubiauth_msg_invalid_chars')); |
108 $('h3', ta.parentNode).text($lang.get(ta.value.length > 44 ? 'yubiauth_msg_too_long' : 'yubiauth_msg_invalid_chars')); |
96 $('div.yubikey_bar > img', this.parentNode).addClass('yubikey_bar_error'); |
109 $('div.yubikey_bar > img', this.parentNode).addClass('yubikey_bar_error'); |
97 return false; |
110 return false; |
98 } |
111 } |
99 |
112 |
100 window.clearInterval(yk_interval); |
113 window.clearInterval(yk_interval); |