Ignore:
Timestamp:
04/24/12 15:54:40 (12 years ago)
Author:
acoutinho
Message:

Ticket #2636 - Inconsistencia na interface de contas compartilhadas

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoAdmin1_2/js/jscode/shared_accounts.js

    r5978 r6018  
    11countFiles = 1; 
     2isValidCallback = false; 
    23 
    34function create_shared_accounts() 
    45{ 
    5 //      select_owners = Element('ea_select_owners'); 
    6         hidden_owners_acl = Element('owners_acls'); 
    7         hidden_owners_calendar_acl = Element('owners_calendar_acls'); 
    8  
    9         select_owners = Element('ea_select_owners'); 
    10         for(var i = 0;i < select_owners.options.length; i++) 
    11                 select_owners.options[i].selected = true; 
     6    //  select_owners = Element('ea_select_owners'); 
     7    hidden_owners_acl = Element('owners_acls'); 
     8    hidden_owners_calendar_acl = Element('owners_calendar_acls'); 
     9 
     10    select_owners = Element('ea_select_owners'); 
     11    for(var i = 0;i < select_owners.options.length; i++) 
     12        select_owners.options[i].selected = true; 
    1213                 
    13         hidden_owners_acl.value =  admin_connector.serialize(sharemailbox.ownersAcl); 
    14         hidden_owners_calendar_acl.value =  admin_connector.serialize(sharemailbox.ownersCalendarAcl); 
    15         cExecuteForm ("$this.shared_accounts.create", document.forms['shared_accounts_form'], handler_create_shared_accounts); 
    16         hidden_owners_acl.value = ""; 
     14    hidden_owners_acl.value =  admin_connector.serialize(sharemailbox.ownersAcl); 
     15    hidden_owners_calendar_acl.value =  admin_connector.serialize(sharemailbox.ownersCalendarAcl); 
     16    cExecuteForm ("$this.shared_accounts.create", document.forms['shared_accounts_form'], handler_create_shared_accounts); 
     17    hidden_owners_acl.value = ""; 
     18    isValidCallback = true; 
    1719} 
    1820 
    1921function handler_create_shared_accounts(data_return) 
    2022{ 
    21         handler_create_shared_accounts2(data_return); 
    22         return; 
     23    handler_create_shared_accounts2(data_return); 
     24    return; 
    2325} 
    2426 
    2527function handler_create_shared_accounts2(data_return) 
    2628{ 
    27         if (data_return && !data_return.status) 
    28         { 
    29                 write_msg(data_return.msg, 'error'); 
    30         } 
    31         else 
    32         { 
    33                 close_lightbox(); 
    34                 write_msg(get_lang('Shared account successful created') + '.', 'normal'); 
    35         } 
    36         return; 
     29    if (data_return && !data_return.status) 
     30    { 
     31        write_msg(data_return.msg, 'error'); 
     32    } 
     33    else 
     34    { 
     35        if(sharemailbox.ownersExpressoCalendarAcl && isValidCallback){ 
     36            isValidCallback = false; 
     37            calback(); 
     38        } 
     39                     
     40        close_lightbox(); 
     41        write_msg(get_lang('Shared account successful created') + '.', 'normal'); 
     42    } 
     43    return; 
    3744} 
    3845 
    3946function empty_inbox(uid) 
    4047{ 
    41 var action = get_lang('Cleanned user mailbox'); 
    42 var handler_write_log = function(){} 
    43  
    44 var handler_empty_inbox = function(data) 
    45 { 
    46     if (!data.status) 
    47         alert(data.msg); 
    48     else{ 
    49         cExecute ('$this.user.write_log_from_ajax&_action='+action+'&userinfo='+uid, handler_write_log); 
    50         alert(get_lang('Emptied') +' '+ data.inbox_size + ' ' + get_lang('MB from user inbox')); 
    51         document.getElementById('mailquota_used').value = data.mailquota_used; 
    52     } 
    53 } 
     48    var action = get_lang('Cleanned user mailbox'); 
     49    var handler_write_log = function(){} 
     50 
     51    var handler_empty_inbox = function(data) 
     52    { 
     53        if (!data.status) 
     54            alert(data.msg); 
     55        else{ 
     56            cExecute ('$this.user.write_log_from_ajax&_action='+action+'&userinfo='+uid, handler_write_log); 
     57            alert(get_lang('Emptied') +' '+ data.inbox_size + ' ' + get_lang('MB from user inbox')); 
     58            document.getElementById('mailquota_used').value = data.mailquota_used; 
     59        } 
     60    } 
    5461    cExecute ('$this.shared_accounts.empty_inbox&uid='+Element('anchor').value, handler_empty_inbox); 
    5562} 
     
    5865 
    5966    if(sharemailbox.ownersAcl) 
    60         { 
    61             delete sharemailbox.ownersAcl; 
    62             sharemailbox.ownersAcl = new Array(); 
    63                 } 
     67    { 
     68        delete sharemailbox.ownersAcl; 
     69        sharemailbox.ownersAcl = new Array(); 
     70    } 
    6471 
    6572    if(sharemailbox.ownersCalendarAcl) 
    66                 { 
    67         delete sharemailbox.ownersAcl; 
    68         sharemailbox.ownersAcl = new Array(); 
    69         } 
    70  
    71         get_associated_domain(Element('ea_combo_org').value); 
     73    { 
     74        delete sharemailbox.ownersAcl; 
     75        sharemailbox.ownersAcl = new Array(); 
     76    } 
     77 
     78    get_associated_domain(Element('ea_combo_org').value); 
    7279} 
    7380 
    7481function search_organization(key, element) 
    7582{ 
    76         var organizations = Element(element); 
    77         var RegExp_org = new RegExp("\\b"+key, "i"); 
     83    var organizations = Element(element); 
     84    var RegExp_org = new RegExp("\\b"+key, "i"); 
    7885         
    79         for(i = 0; i < organizations.length; i++) 
    80         { 
    81                 if (RegExp_org.test(organizations[i].text)) 
    82                 { 
    83                         organizations[i].selected = true; 
    84                         return; 
    85                 } 
    86         } 
     86    for(i = 0; i < organizations.length; i++) 
     87    { 
     88        if (RegExp_org.test(organizations[i].text)) 
     89        { 
     90            organizations[i].selected = true; 
     91            return; 
     92        } 
     93    } 
    8794} 
    8895 
    8996function sinc_combos_org(context) 
    9097{ 
    91         combo_org_available_users = Element('ea_combo_org_available_users'); 
    92  
    93         for (i=0; i<combo_org_available_users.length; i++) 
    94         { 
    95                 if (combo_org_available_users.options[i].value == context) 
    96                 { 
    97                         combo_org_available_users.options[i].selected = true; 
    98 //                      get_available_users(context); 
    99                         break; 
    100                 } 
    101         } 
     98    combo_org_available_users = Element('ea_combo_org_available_users'); 
     99 
     100    for (i=0; i<combo_org_available_users.length; i++) 
     101    { 
     102        if (combo_org_available_users.options[i].value == context) 
     103        { 
     104            combo_org_available_users.options[i].selected = true; 
     105            //                  get_available_users(context); 
     106            break; 
     107        } 
     108    } 
    102109} 
    103110 
    104111function optionFinderTimeout(obj, event) 
    105112{ 
    106         if( event.keyCode === 13 ) 
    107         { 
    108             limit = 0; 
    109             optionFinder(obj.id); 
    110         } 
     113    if( event.keyCode === 13 ) 
     114    { 
     115        limit = 0; 
     116        optionFinder(obj.id); 
     117    } 
    111118} 
    112119function optionFinder(id) { 
    113120         
    114         var sentence = Element(id).value; 
    115  
    116         var url = '$this.ldap_functions.get_available_users2&context=' + 
    117                             Element('ea_combo_org_available_users').value + 
    118                             ( sentence ? '&sentence=' + sentence: '' ); 
    119  
    120         userFinder( sentence, 'ea_select_available_users', url, 'ea_span_searching' ); 
     121    var sentence = Element(id).value; 
     122 
     123    var url = '$this.ldap_functions.get_available_users2&context=' + 
     124    Element('ea_combo_org_available_users').value + 
     125    ( sentence ? '&sentence=' + sentence: '' ); 
     126 
     127    userFinder( sentence, 'ea_select_available_users', url, 'ea_span_searching' ); 
    121128}                        
    122129 
    123130function add_user() 
    124131{ 
    125         select_available_users = Element('ea_select_available_users'); 
     132    select_available_users = Element('ea_select_available_users'); 
     133    select_owners = Element('ea_select_owners'); 
     134 
     135    var count_available_users = select_available_users.length; 
     136    var new_options = ''; 
     137 
     138    for (i = 0 ; i < count_available_users ; i++) 
     139    { 
     140        if (select_available_users.options[i].selected) 
     141        { 
     142            if(document.all) 
     143            { 
     144                if ( (select_owners.innerHTML.indexOf('value='+select_available_users.options[i].value)) == '-1' ) 
     145                { 
     146                    new_options +=  "<option value=" 
     147                    + select_available_users.options[i].value 
     148                    + ">" 
     149                    + select_available_users.options[i].text 
     150                    + "</options>"; 
     151                } 
     152            } 
     153            else 
     154            { 
     155                if ( (select_owners.innerHTML.indexOf('value="'+select_available_users.options[i].value+'"')) == '-1' ) 
     156                { 
     157                    new_options +=  "<option value=" 
     158                    + select_available_users.options[i].value 
     159                    + ">" 
     160                    + select_available_users.options[i].text 
     161                    + "</options>"; 
     162                } 
     163            } 
     164        } 
     165    } 
     166 
     167    if (new_options != '') 
     168    { 
     169        select_owners.innerHTML = "&nbsp;" + new_options + select_owners.innerHTML; 
     170        select_owners.outerHTML = select_owners.outerHTML;               
     171        Element('em_input_readAcl').checked = false; 
     172        Element('em_input_deleteAcl').checked = false; 
     173        Element('em_input_writeAcl').checked = false; 
     174        Element('em_input_sendAcl').checked = false; 
     175        Element('em_input_saveAcl').checked = false; 
     176        Element('em_input_folderAcl').checked = false; 
     177                 
     178        Element('em_input_readCalendar').checked = false; 
     179        Element('em_input_writeCalendar').checked = false; 
     180        Element('em_input_editCalendar').checked = false; 
     181        Element('em_input_deleteCalendar').checked = false; 
     182        Element('em_input_restrictCalendar').checked = false; 
     183                 
     184        Element('em_input_readExpressoCalendar').checked = false; 
     185        Element('em_input_writeExpressoCalendar').checked = false; 
     186        Element('em_input_freebusyExpressoCalendar').checked = false; 
     187        Element('em_input_deleteExpressoCalendar').checked = false; 
     188                 
     189                 
     190        Element('em_input_sendAcl').disabled = true; 
    126191        select_owners = Element('ea_select_owners'); 
    127  
    128         var count_available_users = select_available_users.length; 
    129         var new_options = ''; 
    130  
    131         for (i = 0 ; i < count_available_users ; i++) 
    132         { 
    133                 if (select_available_users.options[i].selected) 
     192        select_owners.options[0].selected = true; 
     193    } 
     194} 
     195 
     196function remove_user() 
     197{ 
     198    select_owners = Element('ea_select_owners'); 
     199         
     200    var user = ''; 
     201    for(var i = 0;i < select_owners.options.length; i++){ 
     202        if(select_owners.options[i].selected){ 
     203            user = select_owners.options[i].value; 
     204            delete sharemailbox.ownersAcl[user]; 
     205            sharemailbox.ownersCalendarAcl[user] = ''; 
     206             
     207             
     208            if(sharemailbox.ownersExpressoCalendarAcl && sharemailbox.ownersExpressoCalendarAcl[user]){ 
     209 
     210                delete sharemailbox.ownersExpressoCalendarAcl[user]; 
     211                //sharemailbox.ownersExpressoCalendarAcl.length--; 
     212 
     213                var sharedUser = DataLayer.get('user', { 
     214                    filter: ['=','mail',$('#mail').val()] 
     215                }); 
     216                for(var j = 0; j < sharedUser.length; j++) 
     217                    if(sharedUser[j].phpgwAccountType == 's'){ 
     218                        sharedUser = sharedUser[j]; 
     219                        break; 
     220                    } 
     221 
     222                var signature = DataLayer.get('calendarSignature', { 
     223                    filter: ['=','user', sharedUser.id] 
     224                }); 
     225 
     226                if(!signature) 
     227                    return; 
     228 
     229                var usuario = DataLayer.get('user', { 
     230                    filter: ['=','uid',user],  
     231                    criteria: { 
     232                        notExternal: true 
     233                    } 
     234                }); 
     235                var calendarPermission = DataLayer.get('calendarToPermission', { 
     236                    filter: ['AND', ['=','calendar',signature[0].calendar], ['=','user',usuario[0].id] ] 
     237                }); 
     238 
     239                var signatureUser = DataLayer.get('calendarSignature', { 
     240                    filter: ['AND', ['=','calendar', signature[0].calendar], ['=','user', usuario[0].id ] ] 
     241                }); 
     242 
     243                if(!!signatureUser && signatureUser[0].id) 
     244                    DataLayer.remove('calendarSignature', signatureUser[0].id); 
     245             
     246                if(!!calendarPermission && calendarPermission[0].id) 
     247                    DataLayer.remove('calendarToPermission', calendarPermission[0].id); 
     248 
     249            } 
     250 
     251            select_owners.options[i] = null; 
     252        //break; 
     253        } 
     254    } 
     255    //Nova chamada a "Element" é Necessária devido a um bug do ie com select 
     256    select_owners = Element('ea_select_owners'); 
     257    if(select_owners.options.length > 0 ){ 
     258        select_owners.options[0].selected = true; 
     259        user = select_owners.options[0].value; 
     260        sharemailbox.getaclfromuser(user); 
     261    }     
     262        
     263} 
     264 
     265function get_shared_accounts_timeOut(input, event) 
     266{ 
     267    Element('shared_accounts_content').innerHTML = '<table border="0" width="90%"><tr bgcolor="#d3dce3"><td width="30%">'+get_lang("full name")+'</td><td width="30%">'+get_lang("display name")+'</td><td width="30%">'+get_lang("mail")+'</td><td width="5%" align="center">'+get_lang("remove")+'</td></tr></table>'; 
     268         
     269    if (event.keyCode === 13) 
     270    { 
     271        get_shared_accounts( input ); 
     272    } 
     273} 
     274 
     275function get_shared_accounts(input, callback) 
     276{ 
     277    var handler_get_shared_accounts = function(data) 
     278    { 
     279        if (data.status == 'true') 
     280        { 
     281            var table = '<table border="0" width="90%"><tr bgcolor="#d3dce3"><td width="30%">'+get_lang("full name")+'</td><td width="30%">'+get_lang("display name")+'</td><td width="30%">'+get_lang("mail")+'</td><td width="5%" align="center">'+get_lang("remove")+'</td></tr>'+data.trs+'</table>'; 
     282            Element('shared_accounts_content').innerHTML = table; 
     283        } 
     284        else 
     285            write_msg(data.msg, 'error'); 
     286    } 
     287    cExecute ('$this.ldap_functions.get_shared_accounts&input='+input, handler_get_shared_accounts); 
     288} 
     289 
     290function edit_shared_account(uid) 
     291{ 
     292    var handle_edit_shared_account = function(data) 
     293    { 
     294        if (data.status == 'true') 
     295        { 
     296            modal('shared_accounts_modal','save'); 
     297                         
     298            Element( 'lightboxCaption' ).innerHTML = get_lang( 'Edit Shared Accounts' ); 
     299            Element('shared_accounts_modal').value = data.mailquota; 
     300 
     301 
     302            var combo_org = Element('ea_combo_org'); 
     303            for (i=0; i<combo_org.length; i++) 
     304            { 
     305                if (combo_org.options[i].value == data.user_context) 
    134306                { 
    135                         if(document.all) 
    136                         { 
    137                                 if ( (select_owners.innerHTML.indexOf('value='+select_available_users.options[i].value)) == '-1' ) 
    138                                 { 
    139                                         new_options +=  "<option value=" 
    140                                                                 + select_available_users.options[i].value 
    141                                                                 + ">" 
    142                                                                 + select_available_users.options[i].text 
    143                                                                 + "</options>"; 
    144                                 } 
    145                         } 
    146                         else 
    147                         { 
    148                                 if ( (select_owners.innerHTML.indexOf('value="'+select_available_users.options[i].value+'"')) == '-1' ) 
    149                                 { 
    150                                         new_options +=  "<option value=" 
    151                                                                 + select_available_users.options[i].value 
    152                                                                 + ">" 
    153                                                                 + select_available_users.options[i].text 
    154                                                                 + "</options>"; 
    155                                 } 
    156                         } 
    157                 } 
    158         } 
    159  
    160         if (new_options != '') 
    161         { 
    162                 select_owners.innerHTML = "&nbsp;" + new_options + select_owners.innerHTML; 
    163                 select_owners.outerHTML = select_owners.outerHTML;               
    164         Element('em_input_readAcl').checked = false; 
    165                 Element('em_input_deleteAcl').checked = false; 
    166                 Element('em_input_writeAcl').checked = false; 
    167                 Element('em_input_sendAcl').checked = false; 
    168                 Element('em_input_saveAcl').checked = false; 
    169                 Element('em_input_folderAcl').checked = false; 
    170                  
    171                 Element('em_input_readCalendar').checked = false; 
    172                 Element('em_input_writeCalendar').checked = false; 
    173                 Element('em_input_editCalendar').checked = false; 
    174                 Element('em_input_deleteCalendar').checked = false; 
    175                 Element('em_input_restrictCalendar').checked = false; 
    176                  
    177                 Element('em_input_readExpressoCalendar').checked = false; 
    178                 Element('em_input_writeExpressoCalendar').checked = false; 
    179                 Element('em_input_freebusyExpressoCalendar').checked = false; 
    180                 Element('em_input_deleteExpressoCalendar').checked = false; 
    181                  
    182                  
    183         Element('em_input_sendAcl').disabled = true; 
    184         select_owners = Element('ea_select_owners'); 
    185         select_owners.options[0].selected = true; 
    186         } 
    187 } 
    188  
    189 function remove_user() 
    190 { 
    191         select_owners = Element('ea_select_owners'); 
    192          
    193         var user = ''; 
    194         for(var i = 0;i < select_owners.options.length; i++) 
    195                 if(select_owners.options[i].selected){ 
    196                         user = select_owners.options[i].value; 
    197                         delete sharemailbox.ownersAcl[user]; 
    198                        sharemailbox.ownersCalendarAcl[user] = ''; 
    199                         select_owners.options[i--] = null; 
    200                 } 
    201                 //Nova chamada a "Element" é Necessária devido a um bug do ie com select 
    202            select_owners = Element('ea_select_owners'); 
    203        if(select_owners.options.length > 0 ){ 
    204             select_owners.options[0].selected = true; 
    205             user = select_owners.options[0].value; 
    206             sharemailbox.getaclfromuser(user); 
    207        } 
    208         
    209        if(sharemailbox.ownersExpressoCalendarAcl){ 
    210  
    211             delete sharemailbox.ownersExpressoCalendarAcl[user]; 
    212  
    213             var sharedUser = DataLayer.get('user', {filter: ['=','mail',$('#mail').val()]}); 
    214             for(var i = 0; i < sharedUser.length; i++) 
    215                 if(sharedUser[i].phpgwAccountType == 's'){ 
    216                     sharedUser = sharedUser[i]; 
     307                    combo_org.options[i].selected = true; 
    217308                    break; 
    218309                } 
    219  
    220             var signature = DataLayer.get('calendarSignature', {filter: ['=','user', sharedUser.id]}); 
    221  
    222             if(!signature) 
    223                 return; 
    224  
    225             var usuario = DataLayer.get('user', {filter: ['=','uid',user], criteria: {notExternal: true}}); 
    226             var calendarPermission = DataLayer.get('calendarToPermission', {filter: ['AND', ['=','calendar',signature[0].calendar], ['=','user',usuario[0].id] ]}); 
    227  
    228             var signatureUser = DataLayer.get('calendarSignature', {filter: ['AND', ['=','calendar', signature[0].calendar], ['=','user', usuario[0].id ] ]}); 
    229  
    230             if(!!signatureUser && signatureUser[0].id) 
    231                 DataLayer.remove('calendarSignature', signatureUser[0].id); 
    232              
    233             if(!!calendarPermission && calendarPermission[0].id) 
    234                 DataLayer.remove('calendarToPermission', calendarPermission[0].id); 
    235  
    236         } 
    237         
    238         
    239         
    240 } 
    241  
    242 function get_shared_accounts_timeOut(input, event) 
    243 { 
    244         Element('shared_accounts_content').innerHTML = '<table border="0" width="90%"><tr bgcolor="#d3dce3"><td width="30%">'+get_lang("full name")+'</td><td width="30%">'+get_lang("display name")+'</td><td width="30%">'+get_lang("mail")+'</td><td width="5%" align="center">'+get_lang("remove")+'</td></tr></table>'; 
    245          
    246         if (event.keyCode === 13) 
    247         { 
    248             get_shared_accounts( input ); 
    249         } 
    250 } 
    251  
    252 function get_shared_accounts(input, callback) 
    253 { 
    254         var handler_get_shared_accounts = function(data) 
    255         { 
    256                 if (data.status == 'true') 
    257                 { 
    258                         var table = '<table border="0" width="90%"><tr bgcolor="#d3dce3"><td width="30%">'+get_lang("full name")+'</td><td width="30%">'+get_lang("display name")+'</td><td width="30%">'+get_lang("mail")+'</td><td width="5%" align="center">'+get_lang("remove")+'</td></tr>'+data.trs+'</table>'; 
    259                         Element('shared_accounts_content').innerHTML = table; 
    260                 } 
    261                 else 
    262                         write_msg(data.msg, 'error'); 
    263         } 
    264         cExecute ('$this.ldap_functions.get_shared_accounts&input='+input, handler_get_shared_accounts); 
    265 } 
    266  
    267 function edit_shared_account(uid) 
    268 { 
    269         var handle_edit_shared_account = function(data) 
    270         { 
    271                 if (data.status == 'true') 
    272                 { 
    273                         modal('shared_accounts_modal','save'); 
     310            } 
    274311                         
    275                         Element( 'lightboxCaption' ).innerHTML = get_lang( 'Edit Shared Accounts' ); 
    276                         Element('shared_accounts_modal').value = data.mailquota; 
    277  
    278  
    279                         var combo_org = Element('ea_combo_org'); 
    280                         for (i=0; i<combo_org.length; i++) 
    281                         { 
    282                                 if (combo_org.options[i].value == data.user_context) 
    283                                 { 
    284                                         combo_org.options[i].selected = true; 
    285                                         break; 
    286                                 } 
    287                         } 
    288                          
    289                         // anchor 
    290                         Element('anchor').value = "uid=" + uid + ',' + data.user_context;                         
     312            // anchor 
     313            Element('anchor').value = "uid=" + uid + ',' + data.user_context;                         
    291314                         
    292                         if (data.accountStatus != 'active') 
    293                                 Element('accountStatus').checked = false; 
     315            if (data.accountStatus != 'active') 
     316                Element('accountStatus').checked = false; 
    294317                                 
    295                         if (data.phpgwAccountVisible == '-1') 
    296                                 Element('phpgwAccountVisible').checked = true; 
    297                         Element('uidnumber').value = data.uidnumber; 
    298                         Element('cn').value = data.cn; 
    299                         Element('mail').value = data.mail; 
    300             Element('mailquota').value = data.mailquota; 
    301             Element('mailquota_used').value = data.mailquota_used; 
    302             Element('quota_used_field').style.display = 'inline'; 
    303             Element('desc').value = data.description; 
    304             //Necessario, pois o IE6 tem um bug que não exibe as novas opções se o innerHTML estava vazio 
     318            if (data.phpgwAccountVisible == '-1') 
     319                Element('phpgwAccountVisible').checked = true; 
     320            Element('uidnumber').value = data.uidnumber; 
     321            Element('cn').value = data.cn; 
     322            Element('mail').value = data.mail; 
     323            Element('mailquota').value = data.mailquota; 
     324            Element('mailquota_used').value = data.mailquota_used; 
     325            Element('quota_used_field').style.display = 'inline'; 
     326            Element('desc').value = data.description; 
     327            //Necessario, pois o IE6 tem um bug que não exibe as novas opções se o innerHTML estava vazio 
    305328             
    306             if(data.owners_options){ 
    307                 Element('ea_select_owners').innerHTML = '&nbsp;' + data.owners_options; 
    308                 Element('ea_select_owners').outerHTML = Element('ea_select_owners').outerHTML; 
    309             } 
    310             Element('display_empty_inbox').style.display = data.display_empty_inbox; 
    311             if( data.allow_edit_shared_account_acl == "0"){ 
    312                 Element('bt_add_user').disabled = true; 
    313                 Element('bt_remove_user').disabled = true; 
    314                 Element('em_input_readAcl').disabled = true; 
    315                 Element('em_input_deleteAcl').disabled = true; 
    316                 Element('em_input_writeAcl').disabled = true; 
    317                 Element('em_input_sendAcl').disabled = true; 
    318                 Element('em_input_saveAcl').disabled = true; 
    319                 Element('em_input_folderAcl').disabled = true; 
    320             } 
     329            if(data.owners_options){ 
     330                Element('ea_select_owners').innerHTML = '&nbsp;' + data.owners_options; 
     331                Element('ea_select_owners').outerHTML = Element('ea_select_owners').outerHTML; 
     332            } 
     333            Element('display_empty_inbox').style.display = data.display_empty_inbox; 
     334            if( data.allow_edit_shared_account_acl == "0"){ 
     335                Element('bt_add_user').disabled = true; 
     336                Element('bt_remove_user').disabled = true; 
     337                Element('em_input_readAcl').disabled = true; 
     338                Element('em_input_deleteAcl').disabled = true; 
     339                Element('em_input_writeAcl').disabled = true; 
     340                Element('em_input_sendAcl').disabled = true; 
     341                Element('em_input_saveAcl').disabled = true; 
     342                Element('em_input_folderAcl').disabled = true; 
     343            } 
    321344 
    322345            if( data.mailalternateaddress ) 
    323346                loadAppended( 'mailalternateaddress', data.mailalternateaddress ); 
    324347 
    325                         sinc_combos_org(data.user_context); 
    326                         sharemailbox.ownersAcl = new Array(); 
    327                         sharemailbox.ownersCalendarAcl = new Array(); 
    328             if( data.owners && data.owners != "undefined" && data.owners_acl != "undefined" ){  
    329                 for (i=0; i<data.owners.length; i++){ 
    330                                 sharemailbox.ownersAcl[ data.owners[i] ] = data.owners_acl[i];   
    331                                 sharemailbox.ownersCalendarAcl[ data.owners[i] ] = data.owners_calendar_acl[i]; 
    332                 } 
    333             } 
    334  
    335             //new API compatibility 
    336             var signature = DataLayer.get('calendarSignature', {filter: ['=','user', data.uidnumber]}); 
    337             if(!!signature){ 
    338                 sharemailbox.currentPemissions[data.uidnumber] = true; 
    339                 var calendarPermission = DataLayer.get('calendarToPermission:detail', {filter: ['=','calendar',signature[0].calendar], criteria:{deepness: 2}}); 
    340                if(calendarPermission){ 
    341                     for (var i=0; i < calendarPermission.length; i++){ 
    342                         sharemailbox.ownersExpressoCalendarAcl[ calendarPermission[i].user.uid ] = calendarPermission[i].aclValues;                    
    343                         sharemailbox.currentPemissions[calendarPermission[i].user.uid] = calendarPermission[i].id; 
    344                     } 
    345                      
    346                     delete sharemailbox.currentPemissions[undefined]; 
    347                 } 
     348            sinc_combos_org(data.user_context); 
     349            sharemailbox.ownersAcl = new Array(); 
     350            sharemailbox.ownersCalendarAcl = new Array(); 
     351            if( data.owners && data.owners != "undefined" && data.owners_acl != "undefined" ){  
     352                for (i=0; i<data.owners.length; i++){ 
     353                    sharemailbox.ownersAcl[ data.owners[i] ] = data.owners_acl[i];       
     354                    sharemailbox.ownersCalendarAcl[ data.owners[i] ] = data.owners_calendar_acl[i]; 
     355                } 
     356            } 
     357 
     358            //new API compatibility 
     359            var signature = DataLayer.get('calendarSignature', { 
     360                filter: ['=','user', data.uidnumber] 
     361            }); 
     362            if(!!signature){ 
     363                sharemailbox.currentPemissions[data.uidnumber] = true; 
     364                var calendarPermission = DataLayer.get('calendarToPermission:detail', { 
     365                    filter: ['=','calendar',signature[0].calendar],  
     366                    criteria:{ 
     367                        deepness: 2 
     368                    } 
     369                }); 
     370                if(calendarPermission){ 
     371                    current = {}; 
     372                    for(var i=0; i<data.owners.length; i++) 
     373                        current[data.owners[i]] = true; 
     374 
     375                    for (var i=0; i < calendarPermission.length; i++){ 
     376                        sharemailbox.ownersExpressoCalendarAcl[ calendarPermission[i].user.uid ] = calendarPermission[i].aclValues;                    
     377                        sharemailbox.currentPemissions[calendarPermission[i].user.uid] = calendarPermission[i].id; 
     378                        // sharemailbox.ownersExpressoCalendarAcl.length = sharemailbox.currentPemissions.length = i; 
     379                     
     380                        if(!current[calendarPermission[i].user.uid ]){ 
     381                            Element('ea_select_owners').innerHTML = Element('ea_select_owners').innerHTML+'<option value='+ calendarPermission[i].user.uid +'>'+ calendarPermission[i].user.name +'</option>'; 
     382                            Element('ea_select_owners').outerHTML = Element('ea_select_owners').outerHTML; 
     383                        } 
     384                     
     385                    } 
     386 
     387                    delete sharemailbox.currentPemissions[undefined]; 
     388                } 
    348389         
    349             } 
     390            } 
    350391             
    351392             
     393        } 
     394        else 
     395            write_msg(data.msg, 'error'); 
     396    } 
     397    cExecute ('$this.shared_accounts.get_data&uid='+uid, handle_edit_shared_account); 
     398} 
     399 
     400function save_shared_accounts() 
     401{ 
     402    if (is_ie){ 
     403        var i = 0; 
     404        while (document.forms(i).name != "shared_accounts_form"){ 
     405            i++ 
     406        } 
     407        form = document.forms(i); 
     408    } 
     409    else   form = document.forms["shared_accounts_form"]; 
     410         
     411    hidden_owners_calendar_acl = Element('owners_calendar_acls'); 
     412    hidden_owners_acl = Element('owners_acls'); 
     413    select_owners = Element('ea_select_owners'); 
     414    for(var i = 0;i < select_owners.options.length; i++){                
     415        var user = select_owners.options[i].value;                 
     416        select_owners.options[i].value = user; 
     417    } 
     418    hidden_owners_acl.value =  admin_connector.serialize(sharemailbox.ownersAcl); 
     419    hidden_owners_calendar_acl.value =  admin_connector.serialize(sharemailbox.ownersCalendarAcl); 
     420    cExecuteForm ("$this.shared_accounts.save", form, handler_save_shared_accounts); 
     421    get_shared_accounts(Element('ea_shared_account_search').value); 
     422         
     423    if(sharemailbox.ownersExpressoCalendarAcl) 
     424        calback(); 
     425} 
     426 
     427function handler_save_shared_accounts(data_return) 
     428{ 
     429    handler_save_shared_accounts2(data_return); 
     430    return; 
     431} 
     432function handler_save_shared_accounts2(data_return) 
     433{ 
     434    if(data_return){ 
     435        if (data_return.status){ 
     436            hidden_owners_acl.value = ""; 
     437            close_lightbox(); 
     438            write_msg(get_lang('Shared account successful saved') + '.', 'normal'); 
     439        }else 
     440            write_msg(data_return.msg , 'error');     
     441    } 
     442    return; 
     443} 
     444 
     445function calback(){ 
     446    var sharedUser = DataLayer.get('user', { 
     447        filter: ['=','mail',$('#mail').val()] 
     448    }); 
     449 
     450    if(!!sharedUser && $.isArray(sharedUser)) 
     451        for(var i = 0; i < sharedUser.length; i++) 
     452            if(sharedUser[i].phpgwAccountType == 's'){ 
     453                sharedUser = sharedUser[i]; 
     454                break; 
     455            } 
     456 
     457    if(!!!sharemailbox.currentPemissions[sharedUser.id]) 
     458        DataLayer.put('calendarSignature', { 
     459            user: sharedUser.id, 
     460            calendar:  { 
     461                timezone: 'America/Sao_Paulo', 
     462                name: $('#cn').val(), 
     463                location : $('#sharedAccountsLocation').val() + '/' + $('#cn').val(), 
     464                description : $('#cn').val() 
     465            }, 
     466            isOwner:  '1', 
     467            fontColor:  '000000', 
     468            backgroundColor: 'f1efac', 
     469            borderColor: 'eddb21' 
     470        }); 
     471 
     472    var returns = function(data){ 
     473 
     474 
     475        var calendar = ''; 
     476 
     477        if(data){ 
     478            for(var i in data) 
     479                if(i.indexOf('calendar:') >= 0) 
     480                    calendar = data[i].id; 
     481        }else{ 
     482            calendar = DataLayer.get('calendarSignature', { 
     483                filter: ['=','user', sharedUser.id] 
     484            }); 
     485            calendar = calendar[0].calendar; 
     486        } 
     487 
     488        $.each(sharemailbox.ownersExpressoCalendarAcl, function(user, acl) { 
     489 
     490            var usuario = DataLayer.get('user', { 
     491                filter: ['=','uid',user],  
     492                criteria: { 
     493                    notExternal: true 
    352494                } 
    353                 else 
    354                         write_msg(data.msg, 'error'); 
    355         } 
    356         cExecute ('$this.shared_accounts.get_data&uid='+uid, handle_edit_shared_account); 
    357 } 
    358  
    359 function save_shared_accounts() 
    360 { 
    361         if (is_ie){ 
    362                 var i = 0; 
    363                 while (document.forms(i).name != "shared_accounts_form"){i++} 
    364                 form = document.forms(i); 
    365         } 
    366         else   form = document.forms["shared_accounts_form"]; 
    367          
    368         hidden_owners_calendar_acl = Element('owners_calendar_acls'); 
    369         hidden_owners_acl = Element('owners_acls'); 
    370         select_owners = Element('ea_select_owners'); 
    371         for(var i = 0;i < select_owners.options.length; i++){            
    372             var user = select_owners.options[i].value;                 
    373             select_owners.options[i].value = user; 
    374         } 
    375         hidden_owners_acl.value =  admin_connector.serialize(sharemailbox.ownersAcl); 
    376          
    377         if(sharemailbox.ownersExpressoCalendarAcl){ 
    378              
    379             var calback = function(){ 
    380                 var sharedUser = DataLayer.get('user', {filter: ['=','mail',$('#mail').val()]}); 
    381  
    382                 if(!!sharedUser && $.isArray(sharedUser)) 
    383                     for(var i = 0; i < sharedUser.length; i++) 
    384                         if(sharedUser[i].phpgwAccountType == 's'){ 
    385                             sharedUser = sharedUser[i]; 
    386                             break; 
    387                         } 
    388  
    389                 if(!!!sharemailbox.currentPemissions[sharedUser.id]) 
    390                      DataLayer.put('calendarSignature', { 
    391                         user: sharedUser.id, 
    392                         calendar:  { 
    393                             timezone: 'America/Sao_Paulo', 
    394                             name: $('#cn').val(), 
    395                             location : $('#sharedAccountsLocation').val() + '/' + $('#cn').val(), 
    396                             description : $('#cn').val() 
    397                             }, 
    398                         isOwner:  '1', 
    399                         fontColor:  '000000', 
    400                         backgroundColor: 'f1efac', 
    401                         borderColor: 'eddb21' 
    402                     }); 
    403                    
    404                 var returns = function(data){ 
     495            }); 
     496 
     497            if($.isArray(usuario)) 
     498                usuario = usuario[0]; 
     499 
     500            DataLayer.put('calendarToPermission', DataLayer.merge({ 
     501                user:  usuario.id, 
     502                type: '0', 
     503                acl: acl, 
     504                calendar: calendar 
     505            }, !!sharemailbox.currentPemissions[usuario.uid] ? { 
     506                id: sharemailbox.currentPemissions[usuario.uid] 
     507            } : {})); 
     508 
     509            if(!!!sharemailbox.currentPemissions[usuario.uid]) 
     510                DataLayer.put('calendarSignature', { 
     511                    user: usuario.id, 
     512                    calendar:  calendar, 
     513                    isOwner:  '0', 
     514                    fontColor:  '000000', 
     515                    backgroundColor: 'f1efac', 
     516                    borderColor: 'eddb21' 
     517                }); 
     518 
     519        }) 
     520        DataLayer.commit();   
     521    }; 
     522    if(!!sharemailbox.currentPemissions[sharedUser.id]) 
     523        returns(false); 
     524    else 
     525        DataLayer.commit(false, false, returns); 
     526} 
     527 
     528 
     529function delete_shared_accounts(uid) 
     530{ 
     531    if (!confirm(get_lang('Are you sure that you want to delete this shared account') + "?")) 
     532        return; 
     533         
     534    var handle_delete_shared_account = function(data_return) 
     535    { 
     536        if (!data_return.status) 
     537        { 
     538            write_msg(data_return.msg, 'error'); 
     539        } 
     540        else 
     541        { 
     542            write_msg(get_lang('Shared account successful deleted') + '.', 'normal'); 
     543            get_shared_accounts(Element('ea_shared_account_search').value); 
     544        } 
     545        return; 
     546    } 
     547    cExecute ('$this.shared_accounts.delete&uid='+uid, handle_delete_shared_account); 
     548} 
     549function cShareMailbox() 
     550{ 
     551    this.arrayWin = new Array(); 
     552    this.el; 
     553    this.alert = false; 
     554    this.ownersAcl = new Array(); 
     555    this.ownersCalendarAcl = new Array(); 
     556    this.ownersExpressoCalendarAcl = {}; 
     557    this.currentPemissions = {}; 
     558} 
     559 
     560cShareMailbox.prototype.get_available_users = function(context) 
     561{ 
     562    var handler_get_available_users = function(data) 
     563    { 
     564        select_available_users = document.getElementById('em_select_available_users'); 
     565                 
     566        //Limpa o select 
     567        for(var i=0; i<select_available_users.options.length; i++) 
     568        { 
     569            select_available_users.options[i] = null; 
     570            i--; 
     571        } 
     572 
     573        if ((data) && (data.length > 0)) 
     574        { 
     575            // Necessario, pois o IE6 tem um bug que retira o primeiro options se o innerHTML estiver vazio. 
     576            select_available_users.innerHTML = '#' + data; 
     577            select_available_users.outerHTML = select_available_users.outerHTML; 
     578                         
     579            select_available_users.disabled = false; 
     580            select_available_users_clone = document.getElementById('em_select_available_users').cloneNode(true); 
     581            document.getElementById('em_input_searchUser').value = ''; 
     582        } 
     583    } 
     584    cExecute ("$this.ldap_functions.get_available_users2&context="+context, handler_get_available_users); 
     585} 
     586 
     587cShareMailbox.prototype.getaclfromuser = function(user) 
     588{ 
     589         
     590    Element('em_input_readAcl').checked = false; 
     591    Element('em_input_deleteAcl').checked = false; 
     592    Element('em_input_writeAcl').checked = false; 
     593    Element('em_input_sendAcl').checked = false; 
     594    Element('em_input_saveAcl').checked = false; 
     595    Element('em_input_saveAcl').disabled = true; 
     596    Element('em_input_folderAcl').checked = false; 
     597    Element('em_input_readCalendar').checked = false; 
     598    Element('em_input_writeCalendar').checked = false; 
     599    Element('em_input_editCalendar').checked = false; 
     600    Element('em_input_deleteCalendar').checked = false; 
     601    Element('em_input_restrictCalendar').checked = false; 
     602 
     603    Element('em_input_readExpressoCalendar').checked = false; 
     604    Element('em_input_writeExpressoCalendar').checked = false; 
     605    Element('em_input_freebusyExpressoCalendar').checked = false; 
     606    Element('em_input_deleteExpressoCalendar').checked = false; 
     607 
     608    Element('em_input_editCalendar').disabled = true; 
     609    Element('em_input_deleteCalendar').disabled = true; 
     610    Element('em_input_restrictCalendar').disabled = true; 
     611                 
     612                 
     613    if(this.ownersExpressoCalendarAcl[user]) 
     614    { 
     615        if (this.ownersExpressoCalendarAcl[user].indexOf('r') >= 0) 
     616        { 
     617            Element('em_input_readExpressoCalendar').checked = true; 
     618            Element('em_input_writeExpressoCalendar').checked = false; 
     619            Element('em_input_freebusyExpressoCalendar').checked = false; 
     620            Element('em_input_deleteExpressoCalendar').checked = false; 
     621                             
     622        } 
     623        if (this.ownersExpressoCalendarAcl[user].indexOf('w') >= 0) 
     624        { 
     625            Element('em_input_writeExpressoCalendar').checked = true; 
     626        } 
     627        if (this.ownersExpressoCalendarAcl[user].indexOf('d') >= 0) 
     628        { 
     629            Element('em_input_deleteExpressoCalendar').checked = true; 
     630        } 
     631        if (this.ownersExpressoCalendarAcl[user].indexOf('b') >= 0) 
     632        { 
     633            Element('em_input_freebusyExpressoCalendar').checked = true; 
     634        } 
     635    } 
     636                 
     637                 
     638    if(this.ownersCalendarAcl[user]) 
     639    { 
     640        if (this.ownersCalendarAcl[user].indexOf('1-',0) >= 0) 
     641        { 
     642            Element('em_input_readCalendar').checked = true; 
     643            Element('em_input_editCalendar').disabled = false; 
     644            Element('em_input_deleteCalendar').disabled = false; 
     645            Element('em_input_restrictCalendar').disabled = false; 
     646                             
     647            Element('em_input_readExpressoCalendar').checked = true; 
     648            Element('em_input_writeExpressoCalendar').checked = false; 
     649            Element('em_input_freebusyExpressoCalendar').checked = false; 
     650            Element('em_input_deleteExpressoCalendar').checked = false; 
     651                             
     652        } 
     653        if (this.ownersCalendarAcl[user].indexOf('2-',0) >= 0) 
     654        { 
     655            Element('em_input_writeCalendar').checked = true; 
     656            Element('em_input_writeExpressoCalendar').checked = true; 
     657        } 
     658        if (this.ownersCalendarAcl[user].indexOf('4-',0) >= 0) 
     659        { 
     660            Element('em_input_editCalendar').checked = true; 
     661            Element('em_input_writeExpressoCalendar').checked = true; 
     662        } 
     663        if (this.ownersCalendarAcl[user].indexOf('8-',0) >= 0) 
     664        { 
     665            Element('em_input_deleteCalendar').checked = true; 
     666            Element('em_input_deleteExpressoCalendar').checked = true; 
     667        } 
     668        if (this.ownersCalendarAcl[user].indexOf('16-',0) >= 0) 
     669        { 
     670            Element('em_input_restrictCalendar').checked = true; 
     671        } 
     672    } 
     673 
     674    if(this.ownersAcl[user]) 
     675    { 
     676        if ( this.ownersAcl[user].indexOf('lrs',0) >= 0) 
     677        { 
     678            Element('em_input_sendAcl').disabled = false; 
     679            Element('em_input_readAcl').checked = true; 
     680        } 
     681        else 
     682            Element('em_input_sendAcl').disabled = true; 
     683                         
     684        if ( this.ownersAcl[user].indexOf('d',0) >= 0) 
     685        { 
     686            Element('em_input_deleteAcl').checked = true; 
     687        } 
     688        if ( this.ownersAcl[user].indexOf('wi',0) >= 0) 
     689        { 
     690            Element('em_input_writeAcl').checked = true; 
     691        }                
     692        if (this.ownersAcl[user].indexOf('a',0) >= 0) 
     693        { 
     694            Element('em_input_sendAcl').disabled = false; 
     695            Element('em_input_sendAcl').checked = true; 
     696        } 
     697        if ( this.ownersAcl[user].indexOf('p',0) >= 0) 
     698        { 
     699            Element('em_input_saveAcl').disabled = false; 
     700            Element('em_input_saveAcl').checked = true; 
     701        } 
     702        if ( this.ownersAcl[user].indexOf('c',0) >= 0) 
     703        { 
     704            Element('em_input_folderAcl').checked = true; 
     705        } 
     706        if( Element('em_input_writeAcl').checked && Element('em_input_sendAcl').checked ){ 
     707            Element('em_input_saveAcl').disabled = false; 
     708        } else Element('em_input_saveAcl').disabled = true; 
     709    } 
     710} 
     711         
     712cShareMailbox.prototype.setaclfromuser = function() 
     713{ 
     714    var acl             = ''; 
     715    var select  = Element('ea_select_owners'); 
     716 
     717    if(select.selectedIndex == "-1"){ 
     718        alert("Selecione antes um usuario!"); 
     719        return false; 
     720    } 
     721                 
     722    for(var k = 0; k < select.options.length; k ++ ) 
     723    { 
     724        if(select.options[k].selected !== true ) continue; 
    405725                     
    406726                     
    407                     var calendar = ''; 
     727        acl = ''; 
     728        var user = select.options[k].value; 
     729                 
     730        if (Element('em_input_readAcl').checked) { 
     731            Element('em_input_sendAcl').disabled = false; 
     732            acl = 'lrs'; 
     733        } 
     734        else{ 
     735            Element('em_input_sendAcl').disabled = true; 
     736            Element('em_input_sendAcl').checked = false; 
     737        } 
     738                                 
     739        if (Element('em_input_deleteAcl').checked) 
     740            acl += 'd'; 
     741 
     742        if (Element('em_input_writeAcl').checked) 
     743            acl += 'wi'; 
     744 
     745        if (Element('em_input_sendAcl').checked) 
     746            acl += 'a'; 
     747                 
     748        if (Element('em_input_folderAcl').checked) 
     749            acl += 'c'; 
     750                                 
     751        if (Element('em_input_sendAcl').checked && Element('em_input_writeAcl').checked){ 
     752            Element('em_input_saveAcl').disabled = false;                                
     753        } else { 
     754            Element('em_input_saveAcl').disabled = true; 
     755            Element('em_input_saveAcl').checked = false; 
     756        } 
     757        if (Element('em_input_saveAcl').checked) 
     758            acl += 'p'; 
     759                         
     760        this.ownersAcl[user] = acl;              
     761    } 
     762} 
     763 
     764cShareMailbox.prototype.setCalendaraclfromuser = function() 
     765{ 
     766    var acl             = ''; 
     767    var select  = Element('ea_select_owners'); 
     768                 
     769    sharemailbox.ownersExpressoCalendarAcl = false; 
     770 
     771    if(select.selectedIndex == "-1"){ 
     772        alert("Selecione antes um usuario!"); 
     773        return false; 
     774    } 
     775                 
     776    for(var k = 0; k < select.options.length; k ++ ) 
     777    { 
     778        if(select.options[k].selected !== true ) continue; 
    408779                     
    409                     if(data){ 
    410                         for(var i in data) 
    411                             if(i.indexOf('calendar:') >= 0) 
    412                                 calendar = data[i].id; 
    413                     }else{ 
    414                         calendar = DataLayer.get('calendarSignature', {filter: ['=','user', sharedUser.id]}); 
    415                         calendar = calendar[0].calendar; 
    416                     } 
     780        acl = ''; 
     781        var user = select.options[k].value; 
     782 
     783        if (Element('em_input_readCalendar').checked) 
     784        { 
     785 
     786            acl += '1-'; 
     787 
     788            Element('em_input_editCalendar').disabled = false; 
     789            Element('em_input_deleteCalendar').disabled = false; 
     790            Element('em_input_restrictCalendar').disabled = false; 
     791                         
     792            if (Element('em_input_editCalendar').checked) 
     793                acl += '4-'; 
     794 
     795            if (Element('em_input_deleteCalendar').checked ) 
     796                acl += '8-'; 
     797 
     798            if (Element('em_input_restrictCalendar').checked) 
     799                acl += '16-'; 
     800        } 
     801        else 
     802        { 
     803            Element('em_input_editCalendar').disabled = true; 
     804            Element('em_input_deleteCalendar').disabled = true; 
     805            Element('em_input_restrictCalendar').disabled = true; 
     806            Element('em_input_editCalendar').checked = false; 
     807            Element('em_input_deleteCalendar').checked = false; 
     808            Element('em_input_restrictCalendar').checked = false; 
     809                         
     810        } 
     811 
     812        if (Element('em_input_writeCalendar').checked || Element('em_input_writeExpressoCalendar').checked) 
     813            acl += '2-'; 
     814 
     815 
     816        this.ownersCalendarAcl[user] = acl; 
     817    } 
     818} 
     819         
     820cShareMailbox.prototype.setExpressoCalendaraclfromuser = function() 
     821{ 
     822    var acl             = ''; 
     823    var select  = Element('ea_select_owners'); 
     824                 
     825    sharemailbox.ownersCalendarAcl = false; 
     826 
     827    if(select.selectedIndex == "-1"){ 
     828        alert("Selecione antes um usuario!"); 
     829        return false; 
     830    } 
     831                 
     832    for(var k = 0; k < select.options.length; k ++ ) 
     833    { 
     834        if(select.options[k].selected !== true ) continue; 
    417835                     
    418                 $.each(sharemailbox.ownersExpressoCalendarAcl, function(user, acl) { 
    419  
    420                         var usuario = DataLayer.get('user', {filter: ['=','uid',user], criteria: {notExternal: true}}); 
    421  
    422                         if($.isArray(usuario)) 
    423                             usuario = usuario[0]; 
    424  
    425                         DataLayer.put('calendarToPermission', DataLayer.merge({ 
    426                             user:  usuario.id, 
    427                             type: '0', 
    428                             acl: acl, 
    429                             calendar: calendar 
    430                         }, !!sharemailbox.currentPemissions[usuario.uid] ? {id: sharemailbox.currentPemissions[usuario.uid]} : {})); 
    431                          
    432                         if(!!!sharemailbox.currentPemissions[usuario.uid]) 
    433                             DataLayer.put('calendarSignature', { 
    434                                 user: usuario.id, 
    435                                 calendar:  calendar, 
    436                                 isOwner:  '0', 
    437                                 fontColor:  '000000', 
    438                                 backgroundColor: 'f1efac', 
    439                                 borderColor: 'eddb21' 
    440                             }); 
    441  
    442                     }) 
    443                     DataLayer.commit();   
    444                 }; 
    445                 if(!!sharemailbox.currentPemissions[sharedUser.id]) 
    446                     returns(false); 
    447                 else 
    448                     DataLayer.commit(false, false, returns); 
    449             } 
    450         } 
    451         hidden_owners_calendar_acl.value =  admin_connector.serialize(sharemailbox.ownersCalendarAcl); 
    452         cExecuteForm ("$this.shared_accounts.save", form, handler_save_shared_accounts); 
    453         get_shared_accounts(Element('ea_shared_account_search').value); 
    454         calback(); 
    455 } 
    456  
    457 function handler_save_shared_accounts(data_return) 
    458 { 
    459         handler_save_shared_accounts2(data_return); 
    460         return; 
    461 } 
    462 function handler_save_shared_accounts2(data_return) 
    463 { 
    464         if(data_return){ 
    465             if (data_return.status){ 
    466                 hidden_owners_acl.value = ""; 
    467                 close_lightbox(); 
    468                 write_msg(get_lang('Shared account successful saved') + '.', 'normal'); 
    469             }else 
    470                 write_msg(data_return.msg , 'error');     
    471         } 
    472         return; 
    473 } 
    474  
    475 function delete_shared_accounts(uid) 
    476 { 
    477         if (!confirm(get_lang('Are you sure that you want to delete this shared account') + "?")) 
    478                 return; 
    479          
    480         var handle_delete_shared_account = function(data_return) 
    481         { 
    482                 if (!data_return.status) 
    483                 { 
    484                         write_msg(data_return.msg, 'error'); 
    485                 } 
    486                 else 
    487                 { 
    488                         write_msg(get_lang('Shared account successful deleted') + '.', 'normal'); 
    489                         get_shared_accounts(Element('ea_shared_account_search').value); 
    490                 } 
    491                 return; 
    492         } 
    493         cExecute ('$this.shared_accounts.delete&uid='+uid, handle_delete_shared_account); 
    494 }function cShareMailbox() 
    495         { 
    496                 this.arrayWin = new Array(); 
    497                 this.el; 
    498                 this.alert = false; 
    499                 this.ownersAcl = new Array(); 
    500                 this.ownersCalendarAcl = new Array(); 
    501                 this.ownersExpressoCalendarAcl = new Array(); 
    502                 this.currentPemissions = {}; 
    503         } 
    504  
    505         cShareMailbox.prototype.get_available_users = function(context) 
    506         { 
    507                 var handler_get_available_users = function(data) 
    508                 { 
    509                         select_available_users = document.getElementById('em_select_available_users'); 
    510                  
    511                         //Limpa o select 
    512                         for(var i=0; i<select_available_users.options.length; i++) 
    513                         { 
    514                                 select_available_users.options[i] = null; 
    515                                 i--; 
    516                         } 
    517  
    518                         if ((data) && (data.length > 0)) 
    519                         { 
    520                                 // Necessario, pois o IE6 tem um bug que retira o primeiro options se o innerHTML estiver vazio. 
    521                                 select_available_users.innerHTML = '#' + data; 
    522                                 select_available_users.outerHTML = select_available_users.outerHTML; 
    523                          
    524                                 select_available_users.disabled = false; 
    525                                 select_available_users_clone = document.getElementById('em_select_available_users').cloneNode(true); 
    526                                 document.getElementById('em_input_searchUser').value = ''; 
    527                         } 
    528                 } 
    529                 cExecute ("$this.ldap_functions.get_available_users2&context="+context, handler_get_available_users); 
    530         } 
    531  
    532         cShareMailbox.prototype.getaclfromuser = function(user) 
    533         { 
    534          
    535                 Element('em_input_readAcl').checked = false; 
    536                 Element('em_input_deleteAcl').checked = false; 
    537                 Element('em_input_writeAcl').checked = false; 
    538                 Element('em_input_sendAcl').checked = false; 
    539                 Element('em_input_saveAcl').checked = false; 
    540                 Element('em_input_saveAcl').disabled = true; 
    541                 Element('em_input_folderAcl').checked = false; 
    542                 Element('em_input_readCalendar').checked = false; 
    543                 Element('em_input_writeCalendar').checked = false; 
    544                 Element('em_input_editCalendar').checked = false; 
    545                 Element('em_input_deleteCalendar').checked = false; 
    546                 Element('em_input_restrictCalendar').checked = false; 
    547  
    548                 Element('em_input_readExpressoCalendar').checked = false; 
    549                 Element('em_input_writeExpressoCalendar').checked = false; 
    550                 Element('em_input_freebusyExpressoCalendar').checked = false; 
    551                 Element('em_input_deleteExpressoCalendar').checked = false; 
    552  
    553                 Element('em_input_editCalendar').disabled = true; 
    554                 Element('em_input_deleteCalendar').disabled = true; 
    555                 Element('em_input_restrictCalendar').disabled = true; 
    556                  
    557                  
    558                 if(this.ownersExpressoCalendarAcl[user]) 
    559                 { 
    560                     if (this.ownersExpressoCalendarAcl[user].indexOf('r') >= 0) 
    561                     { 
    562                             Element('em_input_readExpressoCalendar').checked = true; 
    563                             Element('em_input_writeExpressoCalendar').checked = false; 
    564                             Element('em_input_freebusyExpressoCalendar').checked = false; 
    565                             Element('em_input_deleteExpressoCalendar').checked = false; 
    566                              
    567                     } 
    568                     if (this.ownersExpressoCalendarAcl[user].indexOf('w') >= 0) 
    569                     { 
    570                             Element('em_input_writeExpressoCalendar').checked = true; 
    571                     } 
    572                     if (this.ownersExpressoCalendarAcl[user].indexOf('d') >= 0) 
    573                     { 
    574                             Element('em_input_deleteExpressoCalendar').checked = true; 
    575                     } 
    576                     if (this.ownersExpressoCalendarAcl[user].indexOf('b') >= 0) 
    577                     { 
    578                             Element('em_input_freebusyExpressoCalendar').checked = true; 
    579                     } 
    580                 } 
    581                  
    582                  
    583                 if(this.ownersCalendarAcl[user]) 
    584                 { 
    585                     if (this.ownersCalendarAcl[user].indexOf('1-',0) >= 0) 
    586                     { 
    587                             Element('em_input_readCalendar').checked = true; 
    588                             Element('em_input_editCalendar').disabled = false; 
    589                             Element('em_input_deleteCalendar').disabled = false; 
    590                             Element('em_input_restrictCalendar').disabled = false; 
    591                              
    592                             Element('em_input_readExpressoCalendar').checked = true; 
    593                             Element('em_input_writeExpressoCalendar').checked = false; 
    594                             Element('em_input_freebusyExpressoCalendar').checked = false; 
    595                             Element('em_input_deleteExpressoCalendar').checked = false; 
    596                              
    597                     } 
    598                     if (this.ownersCalendarAcl[user].indexOf('2-',0) >= 0) 
    599                     { 
    600                             Element('em_input_writeCalendar').checked = true; 
    601                             Element('em_input_writeExpressoCalendar').checked = true; 
    602                     } 
    603                     if (this.ownersCalendarAcl[user].indexOf('4-',0) >= 0) 
    604                     { 
    605                             Element('em_input_editCalendar').checked = true; 
    606                             Element('em_input_writeExpressoCalendar').checked = true; 
    607                     } 
    608                     if (this.ownersCalendarAcl[user].indexOf('8-',0) >= 0) 
    609                     { 
    610                             Element('em_input_deleteCalendar').checked = true; 
    611                             Element('em_input_deleteExpressoCalendar').checked = true; 
    612                     } 
    613                     if (this.ownersCalendarAcl[user].indexOf('16-',0) >= 0) 
    614                     { 
    615                             Element('em_input_restrictCalendar').checked = true; 
    616                     } 
    617                 } 
    618  
    619                 if(this.ownersAcl[user]) 
    620                 { 
    621                     if ( this.ownersAcl[user].indexOf('lrs',0) >= 0) 
    622                 { 
    623                         Element('em_input_sendAcl').disabled = false; 
    624                         Element('em_input_readAcl').checked = true; 
    625                 } 
    626                 else 
    627                         Element('em_input_sendAcl').disabled = true; 
    628                          
    629                     if ( this.ownersAcl[user].indexOf('d',0) >= 0) 
    630                 { 
    631                         Element('em_input_deleteAcl').checked = true; 
    632                 } 
    633                     if ( this.ownersAcl[user].indexOf('wi',0) >= 0) 
    634                 { 
    635                         Element('em_input_writeAcl').checked = true; 
    636                 }                
    637                     if (this.ownersAcl[user].indexOf('a',0) >= 0) 
    638                 { 
    639                         Element('em_input_sendAcl').disabled = false; 
    640                         Element('em_input_sendAcl').checked = true; 
    641                 } 
    642                     if ( this.ownersAcl[user].indexOf('p',0) >= 0) 
    643                 { 
    644                         Element('em_input_saveAcl').disabled = false; 
    645                         Element('em_input_saveAcl').checked = true; 
    646                 } 
    647                     if ( this.ownersAcl[user].indexOf('c',0) >= 0) 
    648                 { 
    649                         Element('em_input_folderAcl').checked = true; 
    650                 } 
    651                     if( Element('em_input_writeAcl').checked && Element('em_input_sendAcl').checked ){ 
    652                         Element('em_input_saveAcl').disabled = false; 
    653                 } else Element('em_input_saveAcl').disabled = true; 
    654         } 
    655         } 
    656          
    657         cShareMailbox.prototype.setaclfromuser = function() 
    658         { 
    659                 var acl         = ''; 
    660                 var select      = Element('ea_select_owners'); 
    661  
    662                 if(select.selectedIndex == "-1"){ 
    663                         alert("Selecione antes um usuario!"); 
    664                         return false; 
    665                 } 
    666                  
    667                 for(var k = 0; k < select.options.length; k ++ ) 
    668                 { 
    669                     if(select.options[k].selected !== true ) continue; 
     836        acl = ''; 
     837        var user = select.options[k].value; 
    670838                     
    671                      
    672                     acl = ''; 
    673                     var user = select.options[k].value; 
    674                  
    675                 if (Element('em_input_readAcl').checked) { 
    676                         Element('em_input_sendAcl').disabled = false; 
    677                         acl = 'lrs'; 
    678                 } 
    679                 else{ 
    680                         Element('em_input_sendAcl').disabled = true; 
    681                         Element('em_input_sendAcl').checked = false; 
    682                 } 
    683                                  
    684                 if (Element('em_input_deleteAcl').checked) 
    685                         acl += 'd'; 
    686  
    687                 if (Element('em_input_writeAcl').checked) 
    688                         acl += 'wi'; 
    689  
    690                 if (Element('em_input_sendAcl').checked) 
    691                         acl += 'a'; 
    692                  
    693                 if (Element('em_input_folderAcl').checked) 
    694                         acl += 'c'; 
    695                                  
    696                 if (Element('em_input_sendAcl').checked && Element('em_input_writeAcl').checked){ 
    697                         Element('em_input_saveAcl').disabled = false;                            
    698                 } else { 
    699                         Element('em_input_saveAcl').disabled = true; 
    700                         Element('em_input_saveAcl').checked = false; 
    701                 } 
    702                 if (Element('em_input_saveAcl').checked) 
    703                         acl += 'p'; 
    704                          
    705                 this.ownersAcl[user] = acl;              
    706         } 
    707         } 
    708  
    709         cShareMailbox.prototype.setCalendaraclfromuser = function() 
    710         { 
    711                 var acl         = ''; 
    712                 var select      = Element('ea_select_owners'); 
    713                  
    714                 sharemailbox.ownersExpressoCalendarAcl = false; 
    715  
    716                 if(select.selectedIndex == "-1"){ 
    717                         alert("Selecione antes um usuario!"); 
    718                         return false; 
    719                 } 
    720                  
    721                 for(var k = 0; k < select.options.length; k ++ ) 
    722                 { 
    723                     if(select.options[k].selected !== true ) continue; 
    724                      
    725                     acl = ''; 
    726                     var user = select.options[k].value; 
    727  
    728                     if (Element('em_input_readCalendar').checked) 
    729                     { 
    730  
    731                         acl += '1-'; 
    732  
    733                         Element('em_input_editCalendar').disabled = false; 
    734                         Element('em_input_deleteCalendar').disabled = false; 
    735                         Element('em_input_restrictCalendar').disabled = false; 
    736                          
    737                         if (Element('em_input_editCalendar').checked) 
    738                                 acl += '4-'; 
    739  
    740                         if (Element('em_input_deleteCalendar').checked ) 
    741                                 acl += '8-'; 
    742  
    743                         if (Element('em_input_restrictCalendar').checked) 
    744                                 acl += '16-'; 
    745                     } 
    746                     else 
    747                     { 
    748                         Element('em_input_editCalendar').disabled = true; 
    749                         Element('em_input_deleteCalendar').disabled = true; 
    750                         Element('em_input_restrictCalendar').disabled = true; 
    751                         Element('em_input_editCalendar').checked = false; 
    752                         Element('em_input_deleteCalendar').checked = false; 
    753                         Element('em_input_restrictCalendar').checked = false; 
    754                          
    755                     } 
    756  
    757                     if (Element('em_input_writeCalendar').checked || Element('em_input_writeExpressoCalendar').checked) 
    758                             acl += '2-'; 
    759  
    760  
    761                     this.ownersCalendarAcl[user] = acl; 
    762                 } 
    763         } 
    764          
    765         cShareMailbox.prototype.setExpressoCalendaraclfromuser = function() 
    766         { 
    767                 var acl         = ''; 
    768                 var select      = Element('ea_select_owners'); 
    769                  
    770                 sharemailbox.ownersCalendarAcl = false; 
    771  
    772                 if(select.selectedIndex == "-1"){ 
    773                         alert("Selecione antes um usuario!"); 
    774                         return false; 
    775                 } 
    776                  
    777                 for(var k = 0; k < select.options.length; k ++ ) 
    778                 { 
    779                     if(select.options[k].selected !== true ) continue; 
    780                      
    781                     acl = ''; 
    782                     var user = select.options[k].value; 
    783                      
    784                     if(Element('em_input_freebusyExpressoCalendar').checked) 
    785                     { 
    786                         Element('em_input_writeExpressoCalendar').disabled = true; 
    787                         Element('em_input_deleteExpressoCalendar').disabled = true; 
    788                         Element('em_input_readExpressoCalendar').disabled = true; 
    789                         Element('em_input_writeExpressoCalendar').checked = false; 
    790                         Element('em_input_deleteExpressoCalendar').checked = false; 
    791                         Element('em_input_readExpressoCalendar').checked = false; 
     839        if(Element('em_input_freebusyExpressoCalendar').checked) 
     840        { 
     841            Element('em_input_writeExpressoCalendar').disabled = true; 
     842            Element('em_input_deleteExpressoCalendar').disabled = true; 
     843            Element('em_input_readExpressoCalendar').disabled = true; 
     844            Element('em_input_writeExpressoCalendar').checked = false; 
     845            Element('em_input_deleteExpressoCalendar').checked = false; 
     846            Element('em_input_readExpressoCalendar').checked = false; 
    792847                                               
    793848                         
    794                         acl += 'b' 
    795                     } 
    796                     else 
    797                     { 
    798                         Element('em_input_readExpressoCalendar').disabled = false; 
    799                         if (Element('em_input_readExpressoCalendar').checked) 
    800                         { 
    801                             acl += 'r'; 
    802  
    803                             Element('em_input_writeExpressoCalendar').disabled = false; 
    804                             Element('em_input_deleteExpressoCalendar').disabled = false; 
    805                             //Element('em_input_freebusyExpressoCalendar').disabled = false; 
    806  
    807                             if (Element('em_input_writeExpressoCalendar').checked) 
    808                                     acl += 'w'; 
    809  
    810                             if (Element('em_input_deleteExpressoCalendar').checked) 
    811                                     acl += 'd'; 
    812  
    813                         } 
    814                         else 
    815                         { 
    816                             Element('em_input_writeExpressoCalendar').disabled = true; 
    817                             Element('em_input_deleteExpressoCalendar').disabled = true; 
    818                             //Element('em_input_freebusyExpressoCalendar').disabled = true; 
    819                             Element('em_input_writeExpressoCalendar').checked = false; 
    820                             Element('em_input_deleteExpressoCalendar').checked = false; 
    821                            // Element('em_input_freebusyExpressoCalendar').checked = false; 
    822                         } 
    823  
    824                     } 
     849            acl += 'b' 
     850        } 
     851        else 
     852        { 
     853            Element('em_input_readExpressoCalendar').disabled = false; 
     854            if (Element('em_input_readExpressoCalendar').checked) 
     855            { 
     856                acl += 'r'; 
     857 
     858                Element('em_input_writeExpressoCalendar').disabled = false; 
     859                Element('em_input_deleteExpressoCalendar').disabled = false; 
     860                //Element('em_input_freebusyExpressoCalendar').disabled = false; 
     861 
     862                if (Element('em_input_writeExpressoCalendar').checked) 
     863                    acl += 'w'; 
     864 
     865                if (Element('em_input_deleteExpressoCalendar').checked) 
     866                    acl += 'd'; 
     867 
     868            } 
     869            else 
     870            { 
     871                Element('em_input_writeExpressoCalendar').disabled = true; 
     872                Element('em_input_deleteExpressoCalendar').disabled = true; 
     873                //Element('em_input_freebusyExpressoCalendar').disabled = true; 
     874                Element('em_input_writeExpressoCalendar').checked = false; 
     875                Element('em_input_deleteExpressoCalendar').checked = false; 
     876            // Element('em_input_freebusyExpressoCalendar').checked = false; 
     877            } 
     878 
     879        } 
    825880                     
    826                     this.ownersExpressoCalendarAcl[user] = acl; 
    827                 } 
    828         } 
     881        this.ownersExpressoCalendarAcl[user] = acl; 
     882    } 
     883} 
    829884                 
    830         cShareMailbox.prototype.add_user = function() 
    831         { 
    832                 var select_available_users = document.getElementById('em_select_available_users'); 
    833                 var select_users = document.getElementById('ea_select_owners'); 
    834  
    835                 var count_available_users = select_available_users.length; 
    836                 var count_users = select_users.options.length; 
    837                 var new_options = ''; 
     885cShareMailbox.prototype.add_user = function() 
     886{ 
     887    var select_available_users = document.getElementById('em_select_available_users'); 
     888    var select_users = document.getElementById('ea_select_owners'); 
     889 
     890    var count_available_users = select_available_users.length; 
     891    var count_users = select_users.options.length; 
     892    var new_options = ''; 
    838893         
    839                 for (i = 0 ; i < count_available_users ; i++) 
     894    for (i = 0 ; i < count_available_users ; i++) 
     895    { 
     896        if (select_available_users.options[i].selected) 
     897        { 
     898            if(document.all) 
     899            { 
     900                if ( (select_users.innerHTML.indexOf('value='+select_available_users.options[i].value)) == '-1' ) 
    840901                { 
    841                         if (select_available_users.options[i].selected) 
    842                         { 
    843                                 if(document.all) 
    844                                 { 
    845                                         if ( (select_users.innerHTML.indexOf('value='+select_available_users.options[i].value)) == '-1' ) 
    846                                         { 
    847                                                 new_options +=  '<option value=' 
    848                                                                         + select_available_users.options[i].value 
    849                                                                         + '>' 
    850                                                                         + select_available_users.options[i].text 
    851                                                                         + '</option>'; 
    852                                         } 
    853                                 } 
    854                                 else 
    855                                 { 
    856                                         if ( (select_users.innerHTML.indexOf('value="'+select_available_users.options[i].value+'"')) == '-1' ) 
    857                                         { 
    858                                                 new_options +=  '<option value=' 
    859                                                                         + select_available_users.options[i].value 
    860                                                                         + '>' 
    861                                                                         + select_available_users.options[i].text 
    862                                                                         + '</option>'; 
    863                                         } 
    864                                 } 
    865                         } 
     902                    new_options +=  '<option value=' 
     903                    + select_available_users.options[i].value 
     904                    + '>' 
     905                    + select_available_users.options[i].text 
     906                    + '</option>'; 
    866907                } 
    867  
    868                 if (new_options != '') 
     908            } 
     909            else 
     910            { 
     911                if ( (select_users.innerHTML.indexOf('value="'+select_available_users.options[i].value+'"')) == '-1' ) 
    869912                { 
    870                         select_users.innerHTML = '#' + new_options + select_users.innerHTML; 
    871                         select_users.outerHTML = select_users.outerHTML; 
     913                    new_options +=  '<option value=' 
     914                    + select_available_users.options[i].value 
     915                    + '>' 
     916                    + select_available_users.options[i].text 
     917                    + '</option>'; 
     918                } 
     919            } 
     920        } 
     921    } 
     922 
     923    if (new_options != '') 
     924    { 
     925        select_users.innerHTML = '#' + new_options + select_users.innerHTML; 
     926        select_users.outerHTML = select_users.outerHTML; 
    872927                         
    873                 } 
    874         } 
    875  
    876         cShareMailbox.prototype.remove_user = function() 
    877         { 
    878                 select_users = document.getElementById('ea_select_owners'); 
     928    } 
     929} 
     930 
     931cShareMailbox.prototype.remove_user = function() 
     932{ 
     933    select_users = document.getElementById('ea_select_owners'); 
    879934         
    880                 for(var i = 0;i < select_users.options.length; i++) 
    881                         if(select_users.options[i].selected) 
    882                     { 
     935    for(var i = 0;i < select_users.options.length; i++) 
     936        if(select_users.options[i].selected) 
     937        { 
    883938                        
    884                         var user = select_users.options[i].value; 
    885                         this.ownersCalendarAcl[user] = ''; 
    886                                 select_users.options[i--] = null; 
     939            var user = select_users.options[i].value; 
     940            this.ownersCalendarAcl[user] = ''; 
     941            select_users.options[i--] = null; 
    887942                                 
    888                     } 
    889                  
    890                 Element('em_input_readAcl').checked = false;             
    891                 Element('em_input_deleteAcl').checked = false; 
    892                 Element('em_input_writeAcl').checked = false; 
    893                 Element('em_input_sendAcl').checked = false; 
    894                 Element('em_input_saveAcl').checked = false; 
    895                 Element('em_input_folderAcl').checked = false; 
    896                  
    897                 Element('em_input_readCalendar').checked = false; 
    898                 Element('em_input_writeCalendar').checked = false; 
    899                 Element('em_input_editCalendar').checked = false; 
    900                 Element('em_input_deleteCalendar').checked = false; 
    901                 Element('em_input_restrictCalendar').checked = false; 
    902                  
    903                 Element('em_input_readExpressoCalendar').disabled = true; 
    904                 Element('em_input_writeExpressoCalendar').disabled = true; 
    905                 Element('em_input_deleteExpressoCalendar').disabled = true; 
    906                 Element('em_input_readExpressoCalendar').disabled = true; 
    907         } 
     943        } 
     944                 
     945    Element('em_input_readAcl').checked = false;                 
     946    Element('em_input_deleteAcl').checked = false; 
     947    Element('em_input_writeAcl').checked = false; 
     948    Element('em_input_sendAcl').checked = false; 
     949    Element('em_input_saveAcl').checked = false; 
     950    Element('em_input_folderAcl').checked = false; 
     951                 
     952    Element('em_input_readCalendar').checked = false; 
     953    Element('em_input_writeCalendar').checked = false; 
     954    Element('em_input_editCalendar').checked = false; 
     955    Element('em_input_deleteCalendar').checked = false; 
     956    Element('em_input_restrictCalendar').checked = false; 
     957                 
     958    Element('em_input_readExpressoCalendar').disabled = true; 
     959    Element('em_input_writeExpressoCalendar').disabled = true; 
     960    Element('em_input_deleteExpressoCalendar').disabled = true; 
     961    Element('em_input_readExpressoCalendar').disabled = true; 
     962} 
    908963         
    909964         
    910965/* Build the Object */ 
    911         var sharemailbox; 
    912         sharemailbox = new cShareMailbox(); 
     966var sharemailbox; 
     967sharemailbox = new cShareMailbox(); 
Note: See TracChangeset for help on using the changeset viewer.