source: branches/2.2.0.1/expressoMail1_2/js/QuickCatalogSearch.js @ 4037

Revision 4037, 23.3 KB checked in by rafaelraymundo, 13 years ago (diff)

Ticket #1598 - Correção para os botões da busca por F9.

  • Property svn:eol-style set to native
  • Property svn:executable set to *
Line 
1        function emQuickCatalogSearch ()
2        {
3                this.arrayWin = new Array();
4                this.el;
5                this.cc_contacts = new Array();
6                this.cc_groups  = new Array();
7        }
8
9        emQuickCatalogSearch.prototype.showList = function(data, begin, end){
10                connector.loadScript("ccQuickAdd");
11               
12                id = '1';
13                _this = this;
14                var el_A = document.createElement("DIV");
15                el_A.style.visibility = "hidden";
16                el_A.style.position = "absolute";
17                el_A.style.left = "0px";
18                el_A.style.top = "0px";
19                el_A.style.width = "0px";
20                el_A.style.height = "0px";
21                el_A.id = 'window_QuickCatalogSearch_A';
22                document.body.appendChild(el_A);
23                el_A.innerHTML = "";
24
25                var el = document.createElement("DIV");
26                el.style.visibility = "hidden";
27                el.style.position = "absolute";
28                el.style.left = "0px";
29                el.style.top = "40px";
30                el.style.width = "695px";
31                el.style.height = "186px";
32                el.style.overflow = "auto";
33                el.id = 'window_QuickCatalogSearch';
34                el_A.appendChild(el);
35                el.innerHTML = "";
36               
37               
38                func_add_contact = function () {
39                        var select_QuickCatalogSearch = document.getElementById("select_QuickCatalogSearch");
40                        var contact_selected = select_QuickCatalogSearch.options[select_QuickCatalogSearch.selectedIndex].text;
41                       
42                        contact_selected = contact_selected.split('(');
43                       
44                        var first_and_last_name = contact_selected[0].split(" ");
45                       
46                        var data = [];
47                        data[0] = first_and_last_name[0];
48                        data[1] = first_and_last_name[0];
49                        data[2] = "";
50                       
51                        for (i=1; i < first_and_last_name.length; i++)
52                                data[2] += first_and_last_name[i] + " ";
53                       
54                        data[2] = data[2].replace(/\s*$/g,'');
55                        data[3] = contact_selected[1].substring(0, contact_selected[1].indexOf(")") );
56                       
57                        ccQuickAddOne.showList( data );                 
58                };             
59               
60                        var title_innerHTML = get_lang('Select a name') + ':';
61                        if (data.quickSearch_only_in_userSector)
62                                title_innerHTML += "<font color='BLACK' nowrap> ("+get_lang('Showing only the results found in your organization')+".)</font>"
63
64                        var title = document.createElement("SPAM");
65                        title.id = 'window_QuickCatalogSearch_title';
66                        title.innerHTML = "&nbsp;&nbsp;<b><font color='BLUE' nowrap>"+title_innerHTML+"</font></b><br>&nbsp;&nbsp;";
67                        el_A.appendChild(title);
68                        var butt = document.createElement('BUTTON');
69                        var buttext = document.createTextNode('OK');
70                        butt.id = "QuickCatalogSearch_button_ok";
71                        butt.appendChild(buttext);
72                        butt.onclick = function () {QuickCatalogSearch.transfer_result(data.field, data.ID, begin, end);};
73                        el_A.appendChild(butt);
74
75                        var space = document.createElement('SPAN');
76                        space.innerHTML = "&nbsp;&nbsp;";
77                        el_A.appendChild(space);
78
79                        var butt = document.createElement('BUTTON');
80                        butt.id = "QuickCatalogSearch_button_close";
81                        var buttext = document.createTextNode(get_lang('Close'));
82                        butt.appendChild(buttext);
83                        butt.onclick = function () {QuickCatalogSearch.close_QuickSearch_window(data.field, data.ID);};
84                        el_A.appendChild(butt);
85
86                        var space = document.createElement('SPAN');
87                        space.innerHTML = "&nbsp;&nbsp;";
88                        el_A.appendChild(space);
89
90                        var butt = document.createElement('BUTTON');
91                        butt.id = "QuickCatalogSearch_button_add_contact";
92                        var buttext = document.createTextNode(get_lang("Add Contact"));
93                        butt.appendChild(buttext);
94                        butt.onclick = func_add_contact;
95                        el_A.appendChild(butt);
96
97                if (document.getElementById('select_QuickCatalogSearch') == null){
98                       
99                        var cmb = document.createElement("SELECT");
100                        cmb.id = "select_QuickCatalogSearch";
101                        cmb.style.width = "2400px";
102                        //cmb.size = "12";
103                        cmb.ondblclick = function() {QuickCatalogSearch.transfer_result(data.field, data.ID, begin, end);};
104                        cmb.onkeypress = function (e)
105                        {
106                                if (is_ie)
107                                {
108                                        if ((window.event.keyCode) == 13)
109                                        {
110                                                QuickCatalogSearch.transfer_result(data.field, data.ID, begin, end);
111                                        }
112                                        else if ((window.event.keyCode) == 27)
113                                        {
114                                                QuickCatalogSearch.close_QuickSearch_window(data.field, data.ID);
115                                        }
116                                }
117                                else
118                                {
119                                        if ((e.keyCode) == 13)
120                                        {
121                                                QuickCatalogSearch.transfer_result(data.field, data.ID, begin, end);
122                                        }
123                                        else if ((e.keyCode) == 27)
124                                        {
125                                                QuickCatalogSearch.close_QuickSearch_window(data.field, data.ID);
126                                        }
127                                }
128                        };
129                        el.appendChild(cmb);
130
131                }
132                else{
133                        var title_innerHTML = get_lang('Select a name') + ':';
134                        if (data.quickSearch_only_in_userSector)
135                                title_innerHTML += "<font color='BLACK' nowrap> ("+get_lang('Showing only the results found in your organization')+".)</font>"
136
137                        var title = Element('window_QuickCatalogSearch_title');
138                        title.innerHTML = "&nbsp;&nbsp;<b><font color='BLUE' nowrap>"+title_innerHTML+"</font></b><br>&nbsp;&nbsp;";
139                       
140                        var cmb = document.getElementById('select_QuickCatalogSearch');
141                        cmb.ondblclick = function() {QuickCatalogSearch.transfer_result(data.field, data.ID, begin, end);};
142                        cmb.onkeypress = function (e)
143                        {
144                                if (is_ie)
145                                {
146                                        if ((window.event.keyCode) == 13)
147                                        {
148                                                QuickCatalogSearch.transfer_result(data.field, data.ID, begin, end);
149                                        }
150                                        else if ((window.event.keyCode) == 27)
151                                        {
152                                                QuickCatalogSearch.close_QuickSearch_window(data.field, data.ID);
153                                        }
154                                }
155                                else
156                                {
157                                        if ((e.keyCode) == 13)
158                                        {
159                                                QuickCatalogSearch.transfer_result(data.field, data.ID, begin, end);
160                                        }
161                                        else if ((e.keyCode) == 27)
162                                        {
163                                                QuickCatalogSearch.close_QuickSearch_window(data.field, data.ID);
164                                        }
165                                }
166                        };
167
168                        for (i=0; i<cmb.length; i++)
169                                cmb.options[i--] = null;
170                       
171                        var butt_ok = document.getElementById("QuickCatalogSearch_button_ok");
172                        var butt_close = document.getElementById("QuickCatalogSearch_button_close");
173                        var butt_add_contact = document.getElementById("QuickCatalogSearch_button_add_contact");
174                        butt_ok.onclick = function () {QuickCatalogSearch.transfer_result(data.field, data.ID, begin, end);};
175                        butt_close.onclick = function () {QuickCatalogSearch.close_QuickSearch_window(data.field, data.ID);};
176                        butt_add_contact.onclick = func_add_contact;
177                }
178
179                for (i=0; i<data.length; i++){
180                        var Op = document.createElement("OPTION");
181                        Op.text = data[i].cn + ' (' + data[i].mail + ')';
182                        if (data[i].phone != '')
183                                Op.text += ' - ' + data[i].phone;
184                        if (data[i].ou != '')
185                                Op.text += ' - ' + data[i].ou; // adicionado "data[i].ou" para exibir setor (F9)
186                        Op.value = '"' + data[i].cn + '" ' + '<' + data[i].mail + '>';
187                        cmb.options.add(Op);
188                }
189                cmb.options[0].selected = true;
190                cmb.size = data.length+1;
191                _this.showWindow(el_A);
192        }
193       
194        emQuickCatalogSearch.prototype.showWindow = function (div)
195        {
196                if(! div) {
197                        alert(get_lang('The list has no participant.'));
198                        return;
199                }
200                                                       
201                if(! this.arrayWin[div.id]) {
202                        div.style.width = "700px";
203                        div.style.height = "230px";
204                        var title = get_lang('The results were found in the Global Catalog')+':';
205                        var wHeight = div.offsetHeight + "px";
206                        var wWidth =  div.offsetWidth   + "px";
207                        div.style.width = div.offsetWidth - 5;
208
209                        win = new dJSWin({                     
210                                id: 'QuickCatalogSearch_'+div.id,
211                                content_id: div.id,
212                                width: wWidth,
213                                height: wHeight,
214                                title_color: '#3978d6',
215                                bg_color: '#eee',
216                                title: title,                                           
217                                title_text_color: 'white',
218                                button_x_img: '../phpgwapi/images/winclose.gif',
219                                border: true });
220                       
221                        this.arrayWin[div.id] = win;
222                        win.draw();
223                }
224                else {
225                        win = this.arrayWin[div.id];
226                }
227                document.getElementById("window_QuickCatalogSearch").style.visibility = "visible";
228                win.open();
229                document.getElementById('select_QuickCatalogSearch').focus();
230        }
231       
232        emQuickCatalogSearch.prototype.transfer_result = function (field, ID, begin, end){
233                cm = document.getElementById('select_QuickCatalogSearch');
234                option_selected = cm.options[cm.selectedIndex].value + ", ";
235                emailList = document.getElementById(field + "_" + ID).value;
236               
237                new_emailList = emailList.substring(0, begin) + option_selected + emailList.substring((parseInt(end) + 2), emailList.length);
238                document.getElementById(field + "_" + ID).value = new_emailList;
239                document.getElementById(field + "_" + ID).focus();
240               
241                this.arrayWin['window_QuickCatalogSearch_A'].close();
242                document.getElementById("window_QuickCatalogSearch").style.visibility = "hidden";
243        }
244
245        emQuickCatalogSearch.prototype.close_QuickSearch_window = function (field, ID){
246                //document.getElementById('QuickCatalogSearch_window_QuickCatalogSearch').style.display = "none";
247                document.getElementById(field + "_" + ID).focus();
248                this.arrayWin['window_QuickCatalogSearch_A'].close();
249                document.getElementById("window_QuickCatalogSearch").style.visibility = "hidden";
250        }
251
252        emQuickCatalogSearch.prototype.close_window = function(id) {
253                this.arrayWin[id].close();
254                var group_values = Element('list_values');
255                var user_values = Element('user_values');       
256        }
257        emQuickCatalogSearch.prototype.showCatalogList = function (border_id){
258                var el = Element('catalog_list');
259
260                if(el) {
261                        Element('border_id').value = border_id;
262                        win = this.arrayWin[el.id];
263                        win.open();
264                        return;         
265                }
266                var border_input   = document.createElement("INPUT");
267                border_input.type  = 'hidden';
268                border_input.id    = 'border_id';
269                border_input.value = border_id;
270                document.body.appendChild(border_input);
271                el = document.createElement("DIV");             
272                el.id = 'catalog_list';
273                document.body.appendChild(el);                 
274                el.style.visibility = "hidden";
275                el.style.position = "absolute";
276                el.style.width = "700px";
277                el.style.height = is_ie ? "360px" : "375px";           
278                el.style.left = "0px";
279                el.style.top = "0px";                   
280                el.innerHTML = "<table border='0' cellpading='0' cellspacing='0' width='100%'>"+
281                                           "<tr><td id='td1' style='cursor:pointer' align='center' onclick='QuickCatalogSearch.select_div(\"tab1\")'><a href='#' class='catalog' onclick='QuickCatalogSearch.select_div(\"tab1\");'>"+get_lang('Global Catalog')+"</a></td>"+
282                                           "<td id='td2' style='background:#cecece;cursor:pointer' onclick='QuickCatalogSearch.select_div(\"tab2\")' align='center'><a href='#' class='catalog' onclick='QuickCatalogSearch.select_div(\"tab2\");'>"+get_lang('Personal Catalog')+"</a></td></tr>"+
283                                           '</table>'+
284                                           '<div id="tab1" align="center"><br>'+
285                                           '<table border="0" cellpading="0" cellspacing="0">'+
286                                           '<tr><td>'+get_lang("Select an organization and click on button <b>Search</b>")+'&nbsp;:</td></tr>'+
287                                        '<tr><td><select style="display:none;width:150px" id="select_catalog" name="select_catalog" onchange="javascript:QuickCatalogSearch.update_organizations();"></select>&nbsp'+
288                                        '<select id="select_organization" style="width:150px" name="select_organization"></select>&nbsp;'+   
289                                        '<input type="text" id="search_for" name="search_for" value="" size="30" maxlength="30"/>&nbsp;<input type="button" onclick="QuickCatalogSearch.searchCatalogList(true)" class="button" value="'+get_lang('Search')+'">&nbsp;<input style="display:visible" type="button" onclick="QuickCatalogSearch.searchCatalogList(false)" class="button" value="'+get_lang('List All')+'"></td></tr>'+
290                                           '<tr><td><input onclick="javascript:QuickCatalogSearch.changeOptions(this.value)" id="type_l" type="radio" name="type" value="l"/>'+get_lang('Public Lists')+'&nbsp;&nbsp;<input type="radio" id="type_u" name="type" value="u" onclick="javascript:QuickCatalogSearch.changeOptions(this.value)" checked/>'+get_lang('Users')+'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'+
291                                           '<span style="visibility:hidden;background:#cc4444" id=msg_search>&nbsp;&nbsp;<font face="Verdana" size="1" color="WHITE">'+get_lang('Search in Catalog')+'...</font>&nbsp;</span></td></tr>'+
292                                           '<tr><td>'+
293                                           '<span id="list_span"><select multiple style="display:none;width:580px" size="14" id="list_values"></select></span>'+
294                                           '<span id="user_span"><select multiple style="width:580px" size="14" id="user_values"></select></span>'+
295                                           '</td></tr>'+
296                                           '<tr><td nowrap><center>'+get_lang('Click here to add into the fields')+':&nbsp;<input type="button" class="button" value="'+get_lang('TO')+'" onClick="javascript:QuickCatalogSearch.addContacts(\'to\')">&nbsp;'+
297                                           '<input type="button" class="button" value="'+get_lang('CC')+'" onClick="javascript:QuickCatalogSearch.addContacts(\'cc\')">&nbsp;'+
298                                           '<input type="button" class="button" value="'+get_lang('CCo')+'" onClick="javascript:QuickCatalogSearch.addContacts(\'cco\')">'+
299                                           '</center></td></tr><tr><td nowrap><center><input type="button" value="'+get_lang('Close')+'" onClick="javascript:QuickCatalogSearch.close_window(\'catalog_list\')"></center></td></tr>'+
300                                           '</table>'+
301                                           '</div>'+
302                                           '<div style="display:none" id="tab2" align="center">'+
303                                           '<br><br><br>'+
304                                           '<table border="0" cellpading="0" cellspacing="0">'+
305                                           '<tr><td>'+get_lang("Select the type of contact that you want to view")+'&nbsp;:</td></tr>'+
306                                           '<tr><td><input onclick="javascript:QuickCatalogSearch.changeOptions(this.value)" type="radio" name="type" value="p"/>' + get_lang('People') + '&nbsp;&nbsp;<input type="radio" name="type" value="g" onclick="javascript:QuickCatalogSearch.changeOptions(this.value)"/>' + get_lang('Groups') + ' &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'+
307                                           '<tr><td>'+
308                                           '<span id="personal_span"><select multiple style="width:580px" size="14" id="list_personal"></select></span>'+
309                                           '<span id="groups_span"><select multiple style="display:none;width:580px" size="14" id="list_groups"></select></span>'+
310                                           '</td></tr>'+
311                                           '<tr><td nowrap><center>'+get_lang('Click here to add into the fields')+':&nbsp;<input type="button" class="button" value="'+get_lang('TO')+'" onClick="javascript:QuickCatalogSearch.addContacts(\'to1\')">&nbsp;'+
312                                           '<input type="button" class="button" value="'+get_lang('CC')+'" onClick="javascript:QuickCatalogSearch.addContacts(\'cc1\')">&nbsp;'+
313                                           '<input type="button" class="button" value="'+get_lang('CCo')+'" onClick="javascript:QuickCatalogSearch.addContacts(\'cco1\')">'+
314                                           '</center></td></tr><tr><td nowrap><center><input type="button" value="'+get_lang('Close')+'" onClick="javascript:QuickCatalogSearch.close_window(\'catalog_list\')"></center></td></tr>'+
315                                           '</table>'+
316                                           '</div>';
317
318                var title = get_lang('Search in the Global Catalog');
319                var wHeight = el.offsetHeight - (is_ie ? 10 : 0) + "px";
320                var wWidth =  el.offsetWidth   + "px";
321                el.style.width = el.offsetWidth;
322               
323                Element('search_for').onkeypress = function (e) {
324                        if ((is_ie && (window.event.keyCode == 13)) || (!is_ie && e.keyCode == 13)) {
325                                QuickCatalogSearch.searchCatalogList(true);
326                        }
327                };
328
329                win = new dJSWin({                     
330                        id: 'win_'+el.id,
331                        content_id: el.id,
332                        width: wWidth,
333                        height: wHeight,
334                        title_color: '#3978d6',
335                        bg_color: '#eee',
336                        title: title,                                           
337                        title_text_color: 'white',
338                        button_x_img: '../phpgwapi/images/winclose.gif',
339                        border: true });
340                       
341                this.arrayWin[el.id] = win;             
342                win.draw();
343                win.open();
344
345                var handler_catalogs = function(data){
346                        var user_catalog = get_lang("Global Catalog");
347                        if(data.length > 1) {
348                                Element('select_catalog').style.display = '';
349                                for(i = 0; i < data.length; i++) {             
350                                        Element('select_catalog').options[i] = new Option(data[i],i);
351                                        if(user_catalog.toUpperCase() == data[i].toUpperCase())
352                                                Element('select_catalog').options[i].selected = true;
353                                }
354                        }
355                }
356                cExecute ("$this.ldap_functions.get_catalogs", handler_catalogs);               
357               
358                this.update_organizations();
359                var handler_cc_contacts= function(data){
360                        if(data && data.length > 0){
361                                var aux = data.split(",");
362                                for(var i=0; i< aux.length; i++){
363                                        QuickCatalogSearch.cc_contacts[QuickCatalogSearch.cc_contacts.length] = aux[i];                         
364                                }
365                        }
366                }
367                cExecute("$this.db_functions.get_cc_contacts",handler_cc_contacts);
368
369                var handler_cc_groups = function(data){
370                        if(data && data.length > 0){
371                                var aux = data.split(",");
372                                for(var i=0; i < data.length; i++){
373                                        QuickCatalogSearch.cc_groups[QuickCatalogSearch.cc_groups.length] = aux[i];                                                             
374                                }       
375                        }
376                }
377                cExecute("$this.db_functions.get_cc_groups",handler_cc_groups);
378       
379        }
380       
381        emQuickCatalogSearch.prototype.select_div = function(element){
382                if(element == 'tab1'){
383                   Element('tab1').style.display = '';
384                   Element('tab2').style.display = 'none';
385                   Element('td1').style.background = '#eee';   
386                   Element('td2').style.background = '#cecece';
387                }
388                if(element == 'tab2'){
389                   Element('tab1').style.display = 'none';
390                   Element('tab2').style.display = '';
391                   Element('td1').style.background = '#cecece';
392                   Element('td2').style.background = '#eee';               
393
394                }
395        }
396       
397        emQuickCatalogSearch.prototype.load_catalog = function(){
398       
399                var _this = this;
400                var content = new Array;
401                var select = Element('list_personal').style.display == 'none'? Element('list_groups'): Element('list_personal');
402               
403                if(Element('list_personal').style.display == 'none'){
404                        content = _this.cc_groups;
405                }else{
406                        content = _this.cc_contacts;
407                }
408                if(select.options.length > 0){
409                        for(var i=0; i < select.options.length; i++){
410                                select.options[i] = null;
411                                i--;
412                        }
413                }
414                for(var i=0; i < content.length; i++){
415                        if(content[i] != undefined){
416                                var aux = content[i].split(";");
417                                var opt = new Option(aux[0] + ' (' + aux[1] + ')','"' + aux[0] + '" ' + '<' + aux[1] + '>',false,false);
418                                select[select.length] = opt;
419                        }
420                }
421                content.splice(0,(content.lenght));
422        }
423
424        emQuickCatalogSearch.prototype.update_organizations = function(){
425                while(Element('select_organization').options.length > 0) {
426                        Element('select_organization').remove(0);
427                }
428                var handler_org = function(data){
429                        Element('select_organization').options[0] = new Option(get_lang('all'),'all');
430                        if (data != null){
431                                var user_organization = Element('user_organization').value;
432                                for(x = 0; x < data.length; x++) {
433                                        Element('select_organization').options[x+1] = new Option(data[x].toUpperCase(),data[x]);
434                                        if(user_organization.toUpperCase() == data[x].toUpperCase())
435                                                Element('select_organization').options[x+1].selected = true;
436                                }
437                        }
438                }               
439                cExecute ("$this.ldap_functions.get_organizations&referral=false&catalog="+Element('select_catalog').value, handler_org);               
440        }
441
442        emQuickCatalogSearch.prototype.changeOptions = function(type){ 
443
444                switch(type){
445                        case 'u':
446                                Element('list_values').style.display = 'none';
447                                Element('user_values').style.display = '';
448                                break;
449                       
450                        case 'l':               
451                                Element('user_values').style.display = 'none';
452                                Element('list_values').style.display = '';             
453                                break;
454
455                        case 'p':
456                                Element('list_personal').style.display = '';
457                                Element('list_groups').style.display = 'none'
458                                QuickCatalogSearch.load_catalog();                             
459                                break;
460                       
461                        case 'g':
462                                Element('list_personal').style.display = 'none';
463                                Element('list_groups').style.display = ''
464                                QuickCatalogSearch.load_catalog();
465                                break;
466                }
467
468        }
469
470        emQuickCatalogSearch.prototype.addContacts = function(field) {
471               
472                var border_id   = Element('border_id').value;
473                var select              = Element('user_values').style.display == 'none' ? Element('list_values') : Element('user_values');
474                if(field == "to1" || field == "cc1" || field == "cco1"){
475                        field = field.substr(0,field.length - 1);
476                        var select = Element('list_personal').style.display == 'none' ? Element('list_groups') : Element('list_personal');
477                }
478                var fieldOpener = Element(field+"_"+border_id);
479                var not_selected = true;
480               
481                for (i = 0 ; i < select.length ; i++) {
482                        if (select.options[i].selected && select.options[i].value != '-1') {
483                                if(fieldOpener.value.length > 0 && (fieldOpener.value.lastIndexOf(',') != (fieldOpener.value.length - 1))){
484                                        fieldOpener.value += ",";
485                                }
486                                fieldOpener.value += select.options[i].value + ",";
487                                not_selected = false;
488                                select.options[i].selected = false;
489                        }
490                }
491               
492                if(not_selected)
493                        return false;
494                       
495                if(field != 'to'){
496                        a_link = Element("a_"+field+"_link_"+border_id);
497                        if(a_link)
498                                a_link.onclick();
499                }
500        }
501       
502        emQuickCatalogSearch.prototype.searchCatalogList = function (itemSearch){
503
504                if(itemSearch && Element('search_for').value.length < preferences.search_characters_number){
505                        alert(get_lang('Your search argument must be longer than %1 characters.', preferences.search_characters_number));
506                        Element('search_for').focus();
507                        return false;
508                }
509                var organization = Element('select_organization').value;               
510                var search               = itemSearch ? Element('search_for').value : '';
511                var catalog              = Element('select_catalog').value;
512                var max_result  = 400;
513
514                var handler_searchResults = function(data){
515                        Element('msg_search').style.visibility = 'hidden';
516                        if(data.error){
517                                alert(get_lang('More than %1 results. Please, try to refine your search.',max_result));
518                                return false;
519                        }else if(data.users.length == 0 && data.groups.length == 0){
520                                alert(get_lang('None result was found.'));
521                        }
522
523                       
524                        var group = Element('list_span');
525                        var user  = Element('user_span');       
526                        if(is_ie){
527                                group.innerHTML = '';
528                                user.innerHTML = '';
529                        }
530                        else {
531                                group = Element('list_values');
532                                user  = Element('user_values');
533                                for(var i = 0;i < group.options.length; i++)                           
534                                        group.options[i--] = null;
535                                for(var i = 0;i < user.options.length; i++)                             
536                                        user.options[i--] = null;
537                        }
538
539                        var arr         = new Array(max_result);
540
541                        for(i = 0; data.groups && i < data.groups.length; i++) {
542                                // Maneiras diferentes de se montar uma tag OPTION, pois no IE o objeto Option é muito lento.
543                                if(is_ie)
544                                        arr[i] = '<option value="'+'&quot;'+data.groups[i].name+'&quot; &lt;'+data.groups[i].email+'&gt;">'+data.groups[i].name+' ('+data.groups[i].email+')'+'</option>';
545                                else
546                                        group.options[i] = new Option(data.groups[i].name+' ('+data.groups[i].email+')','"'+data.groups[i].name+'" <'+data.groups[i].email+'>');
547                        }
548       
549                       
550                        if(is_ie)
551                                group.innerHTML = '<select multiple style="display:none;width:580px" size="14" id="list_values">'+ arr.join() +'</select>';
552
553                        arr = new Array(max_result);
554                       
555                        for(i = 0; data.users && i < data.users.length; i++) {
556                        /*******************************************************************************************/
557                        /* O resultado pratico do bloco de codigo a seguir eh a exibicao dos valores em tela,
558                        ja que vai verificar se o departamento e o email estao vazios ou nulos e a partir dai o
559                        resultado apresentado em tela sera exibido de maneira mais apresentavel;
560                        */
561                                //verifica se departamento eh null ou nao;
562                                var department = data.users[i].department ? " - " + data.users[i].department : "";
563                                //verifica se email eh null ou nao;
564                                var email = data.users[i].email ? data.users[i].email : "";
565
566                                // Maneiras diferentes de se montar uma tag OPTION, pois no IE o objeto Option é muito lento.
567                                if(is_ie)
568                                        arr[i] = '<option value="'+'&quot;'+data.users[i].name+'&quot; &lt;'+email+'&gt;">'+data.users[i].name+' ('+email+')'+department+'</option>';
569                                else {
570                                        user.options[i] = new Option(data.users[i].name+' ('+email+')'+department,'"'+data.users[i].name+'" <'+email+'>'); // incluido data.users[i].department para exibir setor na opcao "Pesquisar" do email;
571                                }
572                        }
573       
574                        if(is_ie)
575                                user.innerHTML = '<select multiple style="width:580px" size="14" id="user_values">'+ arr.join() +'</select>';
576
577                        // Display entries found.
578                        var type = (data.groups.length > 0 && data.users.length == 0) ? 'l' : 'u';
579                        Element("type_"+type).checked = true;
580                        QuickCatalogSearch.changeOptions(type);
581                }
582
583                Element('msg_search').style.visibility = 'visible';
584                cExecute ("$this.ldap_functions.catalogsearch&max_result="+max_result+"&organization="+organization+"&search_for="+search+"&catalog="+catalog, handler_searchResults);
585        }
586
587       
588/* Build the Object */
589        var QuickCatalogSearch;
590        QuickCatalogSearch = new emQuickCatalogSearch();
Note: See TracBrowser for help on using the repository browser.