[5821] | 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(); |
---|