(function() { var _conn; var _xtools; var _window; function _add_user() { var _win_add = _window.load('add_user_im'); _win_add.title('.:: Adicionar Novos Contatos ::.'); _win_add.size(440); _win_add.position(200,80); _win_add.wc.style.padding = "3px"; var _params = { 'lang1':jabberitGetLang('Name of Contacts'), 'lang2':jabberitGetLang('Search'), 'lang3':jabberitGetLang('member of organization'), 'lang4':jabberitGetLang('nickname'), 'lang5':jabberitGetLang('group'), 'lang6':jabberitGetLang('add'), 'lang7':jabberitGetLang('close') }; _win_add.bz.style.display = "none"; _win_add.bx.style.display = "none"; _win_add.content(_xtools.parse(_xtools.xml('adduser'), 'add_user.xsl', _params)); _config(_win_add.wc.childNodes[2].childNodes[0], 'onclick', function() { var _name = document.getElementById('im_name'); var _group = document.getElementById('im_group'); var _jid = document.getElementById('im_jid').value; var _status = document.getElementById('im_status_add'); _status.innerHTML = ''; _name.previousSibling.style.color = "#000"; _group.previousSibling.style.color = "#000"; if ( !_jid ) { _status.innerHTML = 'Selecione uma organização no campo da esquerda e em
' + ' seguida, no campo da direita, um membro da organização
' + ' para adicionar como contato'; } else { _name.value = _name.value.replace(/^( )*|( )*$/g, ''); _group.value = _group.value.replace(/^( )*|( )*$/g, ''); if ( !(_name.value) || !(_group.value) ) { _status.innerHTML = '
O campo destacado em vermelho é obrigatório!
'; if ( !(_name.value) ) { _name.previousSibling.style.color = "#f00"; _status.innerHTML += '
** Informe um "NOME" para o contato.'; } if ( !(_group.value) ) { _group.previousSibling.style.color = "#f00"; _status.innerHTML += '
** Informe um "GRUPO" para o contato.'; } } else { var _uid; if ( (_uid = document.getElementById('im_uid')) ) _uid = _uid.value; else _uid = _jid.substr(0, (_jid.indexOf('@') - 1)); _name.parentNode.style.display = 'none'; _name.parentNode.nextSibling.style.display = 'none'; _status.innerHTML = '
Adicionando contato, aguarde....
'; _conn.go( '$this.ujabber.AddNewContact', function() { _status.innerHTML = '
Contato adicionado !
'; }, 'uid='+_uid+'&name='+_name.value+'&group='+_group.value ); _name.value = ''; _group.value = ''; } } } ); _config(_win_add.wc.childNodes[2].childNodes[1], 'onclick', function() { _win_add.button(_win_add.bc); } ); } function _config(pObj, pEvent, pHandler) { if ( typeof pObj == 'object' ) { if ( pEvent.substring(0, 2) == 'on' ) pEvent = pEvent.substring(2, pEvent.length); if ( pObj.addEventListener ) pObj.addEventListener(pEvent, pHandler, false); else if ( pObj.attachEvent ) pObj.attachEvent('on' + pEvent, pHandler); } } function _highlight(e) { var el = ( e.target ) ? e.target : e.srcElement; var color = "#fff"; if ( e.type.indexOf('mouseover') != -1 ) color = "#dedede"; el.style.backgroundColor = color; } function _search() { var _loading = document.getElementById('__span_load_im'); var _target = document.getElementById('im_ldap_user'); _loading.style.display = "block"; _conn.go( '$this.contacts_im.list_contacts', function(_data) { var _params = { 'many_results' : jabberitGetLang('More than 50 results. Please, try to refine your search.'), 'empty' : jabberitGetLang('None result was found.') }; _target.innerHTML = _xtools.parse(_data,'list_ldap_contacts.xsl', _params); function _show(m) { m = ( m.target ) ? m.target : m.srcElement; if ( m.getAttribute('value')) m = m.getAttribute('value'); else m = m.parentNode.getAttribute('value'); if ( !m ) return false; document.getElementById('im_jid').value = m.substr(0, m.indexOf(';')); document.getElementById('im_uid').value = m.substr((m.indexOf(';')+1)); var _name = document.getElementById('im_name'); _name.value = m.substr(0, m.indexOf('@')); _name.previousSibling.style.color = "#000"; _name.parentNode.style.display = 'block'; _name.parentNode.nextSibling.style.display = 'block'; _name.parentNode.nextSibling.nextSibling.innerHTML = ''; var _group = document.getElementById('im_group'); _group.value = ''; _group.focus(); } var _member = _target.firstChild; while ( _member ) { if( _member.getAttribute('photo') === '1' ) { var uid = _member.getAttribute('value'); uid = uid.substr(uid.indexOf(';') + 1); _member.style.backgroundImage = 'url(' + path_jabberit + 'inc/getphoto.php?uid=' + uid + ')'; } _config(_member, 'onclick', _show); _member = _member.nextSibling; } _loading.style.display = "none"; }, 'name='+ arguments[0] ); } function LDAP() { _conn = arguments[0]; _xtools = arguments[1]; _window = arguments[2]; } LDAP.prototype.search = _search; LDAP.prototype.add = _add_user; window.JITLdap = LDAP; } )();