source: trunk/expressoMail1_2/js/QuickAddTelephone.js @ 5821

Revision 5821, 4.1 KB checked in by niltonneto, 12 years ago (diff)

Ticket #2029 - Adicionada configuração para edição rápida de telefone.

Line 
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();
Note: See TracBrowser for help on using the repository browser.