1 | function emQuickAddTelephone () { |
---|
2 | var div_user_info = Element("user_info"); |
---|
3 | // User without telephone and no permission to edit it. Abort. |
---|
4 | if(preferences.blockpersonaldata && !preferences.telephone_number){ |
---|
5 | return; |
---|
6 | } |
---|
7 | if(div_user_info) { |
---|
8 | |
---|
9 | var span = document.createElement("SPAN"); |
---|
10 | span.title = preferences.blockpersonaldata ? get_lang("You can't modify your Commercial Telephone.") : get_lang("Update my telephone"); |
---|
11 | span.style.cursor = "pointer"; |
---|
12 | span.style.marginLeft = "10px"; |
---|
13 | span.style.fontWeight = "bold"; |
---|
14 | span.style.color = "YELLOW"; |
---|
15 | span.style.textDecoration = 'underline'; |
---|
16 | span.innerHTML = preferences.telephone_number ? preferences.telephone_number : get_lang('Update my telephone'); |
---|
17 | span.onclick= function() { |
---|
18 | if(preferences.blockpersonaldata) |
---|
19 | alert(get_lang("You can't modify your Commercial Telephone.")); |
---|
20 | else |
---|
21 | QuickAddTelephone.update_telephonenumber(this.id); |
---|
22 | } |
---|
23 | |
---|
24 | span.id = "span_telephonenumber"; |
---|
25 | div_user_info.appendChild(span); |
---|
26 | } |
---|
27 | } |
---|
28 | |
---|
29 | emQuickAddTelephone.prototype.FormatTelephoneNumber = function (event, campo) { |
---|
30 | event = is_ie ? window.event : event; |
---|
31 | var code = (event.keyCode ? event.keyCode :event.which); |
---|
32 | separador1 = '('; |
---|
33 | separador2 = ')'; |
---|
34 | separador3 = '-'; |
---|
35 | vr = campo.value; |
---|
36 | tam = vr.length; |
---|
37 | if ((tam == 1) && (( code != 8 ) || ( code != 46 ))) |
---|
38 | campo.value = ''; |
---|
39 | if ((tam == 3) && (( code != 8 ) || ( code != 46 ))) |
---|
40 | campo.value = vr.substr( 0, tam - 1 ); |
---|
41 | if (( tam <= 1 ) && ( code != 8 ) && ( code != 46 )) |
---|
42 | campo.value = separador1 + vr; |
---|
43 | if (( tam == 3 ) && ( code != 8 ) && ( code != 46 )) |
---|
44 | campo.value = vr + separador2; |
---|
45 | if (( tam == 8 ) && (( code != 8 ) && ( code != 46 ))) |
---|
46 | campo.value = vr + separador3; |
---|
47 | if ((( tam == 9 ) || ( tam == 8 )) && (( code == 8 ) || ( code == 46 ))) |
---|
48 | campo.value = vr.substr( 0, tam - 1 ); |
---|
49 | } |
---|
50 | |
---|
51 | emQuickAddTelephone.prototype.update_telephonenumber = function (spanID){ |
---|
52 | var span = document.getElementById(spanID); |
---|
53 | var input = document.createElement("INPUT"); |
---|
54 | input.type = "text"; |
---|
55 | input.value = (span.innerHTML == get_lang('Update my telephone') ? '(00)0000-0000' : span.innerHTML); |
---|
56 | input.oldvalue = span.innerHTML; |
---|
57 | input.autocomplete="off"; |
---|
58 | input.name = "telephone_number"; |
---|
59 | input.style.marginLeft = "10px"; |
---|
60 | input.size = "12"; |
---|
61 | input.maxLength = "13"; |
---|
62 | input.id = "input_telephonenumber"; |
---|
63 | input.onkeyup = function(event) { |
---|
64 | event = is_ie ? window.event : event; |
---|
65 | var code = (event.keyCode ? event.keyCode :event.which); |
---|
66 | if(code == '13'){ |
---|
67 | if(input.oldvalue != input.value && input.value != '' && input.value !='(00)0000-0000') |
---|
68 | QuickAddTelephone.save_telephonenumber(this); |
---|
69 | else |
---|
70 | QuickAddTelephone.load_telephonenumber(this); |
---|
71 | }else if(code == '27'){ |
---|
72 | QuickAddTelephone.load_telephonenumber(this); |
---|
73 | }else { |
---|
74 | QuickAddTelephone.FormatTelephoneNumber(event, this); |
---|
75 | } |
---|
76 | }; |
---|
77 | input.onblur = function() { |
---|
78 | QuickAddTelephone.load_telephonenumber(this); |
---|
79 | }; |
---|
80 | span.parentNode.replaceChild(input, span); |
---|
81 | input.focus(); |
---|
82 | } |
---|
83 | |
---|
84 | emQuickAddTelephone.prototype.load_telephonenumber = function(input){ |
---|
85 | var span = document.createElement("SPAN"); |
---|
86 | span.title= get_lang("Update my telephone"); |
---|
87 | span.style.cursor = "pointer"; |
---|
88 | span.style.fontWeight = "bold"; |
---|
89 | span.style.marginLeft = "10px"; |
---|
90 | span.style.color = "YELLOW"; |
---|
91 | span.style.textDecoration = 'underline'; |
---|
92 | span.innerHTML = input.oldvalue; |
---|
93 | span.onclick= function() { QuickAddTelephone.update_telephonenumber(this.id)}; |
---|
94 | span.id = "span_telephonenumber"; |
---|
95 | input.parentNode.replaceChild(span, input); |
---|
96 | } |
---|
97 | |
---|
98 | emQuickAddTelephone.prototype.save_telephonenumber = function(input){ |
---|
99 | var handler_save = function(data){ |
---|
100 | if(data && data['error']){ |
---|
101 | alert(data['error']); |
---|
102 | return; |
---|
103 | } |
---|
104 | else |
---|
105 | write_msg(get_lang("Telephone number updated with success.")); |
---|
106 | input.oldvalue = input.value; |
---|
107 | QuickAddTelephone.load_telephonenumber(input); |
---|
108 | } |
---|
109 | cExecute ("$this.ldap_functions.save_telephoneNumber&number="+input.value+"&id="+input.id, handler_save); |
---|
110 | } |
---|
111 | |
---|
112 | /* Build the Object */ |
---|
113 | var QuickAddTelephone; |
---|
114 | QuickAddTelephone = new emQuickAddTelephone(); |
---|