(function()
{
var _autoStatusTime = 60000; // 1 minuto
var _autoStatus;
var _conn = new JITConnector(path_jabberit);
var Xtools = new xtools(path_jabberit);
var _showhidden = new ShowHidden(300);
var _win_contacts = null;
var myWindow = null;
var flagMouseOver = '';
var flagOpenIM = '';
var flagOpenPopup = '';
var flagAwayIM = '';
var itensSubMenu = [];
// Sniffer Browser
var agt = navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);
var is_nav = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
&& (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
&& (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
var is_gecko = (agt.indexOf('gecko') != -1);
var is_gecko1_5 = (agt.indexOf('firefox/1.5') != -1 || agt.indexOf('firefox/2') != -1 || agt.indexOf('iceweasel/2') != -1);
var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var is_ie3 = (is_ie && (is_major < 4));
var is_ie4 = (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1) );
var is_ie4up = (is_ie && (is_major >= 4));
var is_ie5 = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
var is_ie5_5 = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") !=-1));
var is_ie5up = (is_ie && !is_ie3 && !is_ie4);
var is_ie5_5up =(is_ie && !is_ie3 && !is_ie4 && !is_ie5);
var is_ie6 = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) );
var is_ie6up = (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && !is_ie5_5);
var is_win = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );
var _ldap = new JITLdap( _conn, Xtools, is_ie );
function addContacts()
{
_ldap.load(myWindow);
}
function addIcon()
{
var StatusBar = document.getElementById('divStatusBar');
/**
* @quando estiver habilitada a opção fora de escritório nos filtros.
*/
if( div_write_msg = document.getElementById('em_div_write_msg') )
{
var StatusBarIM = document.getElementById('JabberMessenger');
div_write_msg.parentNode.insertBefore(StatusBarIM, div_write_msg);
StatusBarIM.style.paddingLeft = '33px';
return;
}
if( StatusBar )
{
StatusBar.style.paddingLeft = '33px';
var _div = document.createElement('div');
_div.appendChild(StatusBar.parentNode.removeChild(StatusBar.previousSibling));
StatusBar.parentNode.insertBefore(_div,StatusBar);
var divJabber = document.createElement('div');
divJabber.setAttribute('id', 'JabberMessenger');
var _status = top.document.createElement('div');
_status.setAttribute('id', 'jabberit_login');
_status.style.background = 'no-repeat';
_status.style.backgroundImage = 'url(' + jabberit_group_open.src + ')';
_status.style.float = 'left';
_status.style.height = '15px';
_status.style.left = '7px';
_status.style.margin = '8 0 0 10px';
_status.style.padding = '0px';
_status.style.position = 'absolute';
_status.style.width = '15px';
_status.style.cursor = 'pointer';
divJabber.insertBefore(_status,divJabber.firstChild);
var _menu;
_menu = top.document.createElement('div');
_menu.setAttribute('id','fast_menu_jabberit');
_menu.className = "x-menu";
_menu.style.zIndex = '99999';
_menu.onmouseout = function(){ _showhidden.hiddenObject(false); };
_menu.onmouseover = function(){ _showhidden.hiddenObject(true); };
divJabber.insertBefore(_menu, divJabber.firstChild);
var _menu_div = top.document.createElement('div');
_menu_div.setAttribute('id','status_Jabber_Expresso');
_menu_div.style.background = 'no-repeat';
_menu_div.style.backgroundImage = 'url(' + jabberit_add_user.src + ')';
_menu_div.style.float = 'left';
_menu_div.style.height = '18px';
_menu_div.style.left = '19px';
_menu_div.style.margin = '0 0 0 10px';
_menu_div.style.padding = '0px';
_menu_div.style.position = 'absolute';
_menu_div.style.width = '18px';
_menu_div.style.cursor = 'pointer';
_menu_div.style.zindex = '999999';
statusJabberExpresso = _menu_div;
divJabber.insertBefore(_menu_div, divJabber.firstChild);
StatusBar.insertBefore(divJabber, StatusBar.firstChild);
configEvents(_menu_div,'onclick', windowShow);
configEvents( _status, 'onclick', function(){fastMenu(_status);});
}
}
function fastMenu()
{
if( arguments.length > 0 )
{
var element = arguments[0];
var _options = [
['Add Contact', 'loadscript.addContacts();'],
['Help', 'loadscript.helpJabberit();'],
['Preferences', 'loadscript.preferences();']
];
var _itens = "";
for( var i in _options )
{
if( _options[i].constructor == Function )
continue;
_itens += '';
_itens += '';
_itens += jabberitGetLang( _options[i][0] ) + '
';
}
var _optionsItens = document.createElement("div");
_optionsItens.id = "fastMenu_Jabber";
_optionsItens.style.marginTop = "19px";
_optionsItens.style.marginLeft = "-8px";
_optionsItens.className = "x-menu";
_optionsItens.style.zIndex = '999999';
_optionsItens.innerHTML = _itens;
_optionsItens.onclick = function(){
_showhidden.hiddenObject(false);
};
_optionsItens.onmouseout = function(){
_showhidden.hiddenObject(false);
};
_optionsItens.onmouseover = function(){
_showhidden.hiddenObject(true);
};
_showhidden.action('onmouseover', 'onmouseout', _optionsItens);
element.parentNode.appendChild( _optionsItens );
}
}
function addUser()
{
_ldap.addUser();
}
function autoStatus()
{
if ( _autoStatus )
clearTimeout(_autoStatus);
var _div_status = document.getElementById('status_Jabber_Expresso');
if ( _div_status )
{
var _status = _div_status.style.backgroundImage;
_status = _status.substr(_status.lastIndexOf('/') + 1);
_status = _status.substr(0, _status.indexOf('.'));
if ( _status == 'xa' && _div_status.getAttribute('autoStatus') )
{
_div_status.removeAttribute('autoStatus');
changeStatusJava("2");
}
}
var TimeStatus = flagAwayIM.split(':');
if( TimeStatus[1] )
_autoStatus = setTimeout(autoStatusHandler, parseInt(TimeStatus[1])*_autoStatusTime);
else
_autoStatus = setTimeout(autoStatusHandler, parseInt(_autoStatusTime));
}
function autoStatusHandler()
{
var _div_status = document.getElementById('status_Jabber_Expresso');
if ( _div_status )
{
var _status = _div_status.style.backgroundImage;
_status = _status.substr(_status.lastIndexOf('/') + 1);
_status = _status.substr(0, _status.indexOf('.'));
if ( _status == 'available' )
{
_div_status.setAttribute('autoStatus','true');
changeStatusJava("5");
}
}
}
function changeStatusJava()
{
if(arguments.length > 0 )
{
try
{
var status = arguments[0];
var msg = ( arguments[1] ) ? arguments[1] : "";
// If Layer;
if( elementIframe = document.getElementById('iframe_applet_jabberit') )
{
if( !is_ie )
elementIframe.contentDocument.applets[0].changeStatusfromExpresso(status, msg);
else
elementIframe.contentWindow.document.applets[0].changeStatusfromExpresso(status, msg);
}
else // If Pop-Up
{
myWindow.document.applets[0].changeStatusfromExpresso(status, msg);
}
}
catch(e)
{
if( confirm('Deseja conectar o IM ?') )
windowShow();
}
}
}
function configEvents(pObj, pEvent, pHandler)
{
if ( typeof pObj == 'object' )
{
if ( pEvent.substring(0, 2) == 'on' )
pEvent = pEvent.substring(2, pEvent.length );
if ( arguments.length == 3 )
{
if ( pObj.addEventListener )
pObj.addEventListener(pEvent, pHandler, false );
else if ( pObj.attachEvent )
pObj.attachEvent( 'on' + pEvent, pHandler );
}
else if ( arguments.length == 4 )
{
if ( pObj.removeEventListener )
pObj.removeEventListener( pEvent, pHandler, false );
else if ( pObj.detachEvent )
pObj.detachEvent( 'on' + pEvent, pHandler );
}
}
}
function closeWindow()
{
var url_img = path_jabberit + 'templates/default/images/unavailable.gif';
var elementStatus = getElementStatus('status_Jabber_Expresso');
elementStatus.style.backgroundImage = 'url(' + url_img +')';
myWindow = null;
}
function getElementStatus()
{
return document.getElementById('status_Jabber_Expresso');
}
function getPreferences()
{
if( flagOpenIM == '' )
{
_conn.go("$this.preferences.getPreferences",
function(data)
{
var autoConnect = '';
flagOpenIM = data;
if( data.indexOf(';') != -1)
{
var temp = data.split(';');
autoConnect = flagOpenIM = temp[0];
// Open as Pop-Up
flagOpenPopup = 'openWindowJabberitPopUp:false';
if( temp[1] )
{
if( temp[1] == 'openWindowJabberitPopUp:true' || temp[1] == 'openWindowJabberitPopUp:false')
flagOpenPopup = temp[1];
}
// Away
flagAwayIM = 'flagAwayIM:5';
if( temp[2] )
{
flagAwayIM = temp[2];
}
}
else
{
autoConnect = flagOpenIM;
}
if( autoConnect == 'openWindowJabberit:true' )
{
setTimeout('loadscript.windowHidden();', 2500);
}
});
}
}
function helpJabberit()
{
var myWindowHelp = window.open( path_jabberit + 'help.php', 'HelpjabberIM', 'width=800,height=495,top=50,left=50,scrollbars=yes');
}
function keyPressSearch()
{
var ev = arguments[0];
var element = arguments[1];
if ( ev.keyCode == 13 )
if( element.value.length >= 4 )
_ldap.search( element.value );
else
alert(jabberitGetLang('Your search argument must be longer than 4 characters.'));
}
function openPopup()
{
var widPopup = '220';
if( is_ie )
widPopup = '250';
try{
if( myWindow == null )
{
myWindow = window.open('','JabberIM','width='+widPopup+',height=400,top=50,left=50,toolbar=0,menubar=0,resizable=0,scrollbars=0,status=0,location=0,titlebar=0');
myWindow.close();
myWindow = window.open(path_jabberit + 'client.php','JabberIM','width='+widPopup+',height=400,top=50,left=50,toolbar=0,menubar=0,resizable=0,scrollbars=0,status=0,location=0,titlebar=0');
myWindow.blur();
configEvents( myWindow, 'onbeforeunload', closeWindow );
}
else
{
for( var i = 15 ; i > 0 ; i-- )
{
myWindow.moveBy(i,0); myWindow.moveBy(-i,0);
}
myWindow.focus();
}
}
catch(e)
{
delete myWindow;
myWindow = window.open(path_jabberit + 'client.php','JabberIM','width='+widPopup+',height=400,top=50,left=50,toolbar=0,menubar=0,resizable=0,scrollbars=0,status=0,location=0,titlebar=0');
myWindow.blur();
configEvents( myWindow, 'onbeforeunload', closeWindow );
}
}
function openWindow()
{
if( document.getElementById(_win_contacts.id_window + "__content") == null )
{
var _params = {
'path' : path_jabberit,
'width' : ( is_ie ) ? '100%' : '220px'
};
_win_contacts.content = Xtools.parse(Xtools.xml('contacts_jabberit'), 'contacts_jabberit.xsl', _params );
winBuild( _win_contacts );
}
}
function preferences()
{
var _params = {
'path' : path_jabberit,
'lang1' : jabberitGetLang('Your Preferences'),
'lang2' : jabberitGetLang('Connection'),
'lang3' : jabberitGetLang('Enable Auto Login IM'),
'lang4' : jabberitGetLang('Users OffLine'),
'lang5' : jabberitGetLang('Show friends Offline'),
'lang6' : jabberitGetLang('Save'),
'lang7' : jabberitGetLang('Cancel'),
'lang8' : jabberitGetLang('Window'),
'lang9' : jabberitGetLang('Open as Pop-Up Window'),
'lang10' : jabberitGetLang('Away'),
'lang11' : jabberitGetLang('Set status to away after'),
'lang12' : jabberitGetLang('minutes'),
'langYes': jabberitGetLang('Yes'),
'langNo' : jabberitGetLang('No')
};
var _win_preferences = {
id_window : "jabberit_preferences",
width : 430,
height : 330,
top : 150,
left : 100,
draggable : true,
visible : "display",
resizable : true,
zindex : _ZINDEX++,
title : 'Expresso Messenger - ' + jabberitGetLang('Preferences'),
closeAction : "remove",
content : Xtools.parse(Xtools.xml('preferences_jabberit'), 'preferences_jabberit.xsl', _params)
};
winBuild(_win_preferences);
// Element openWindowJabberit
var value1 = flagOpenIM.split(':');
var element1 = document.getElementById(value1[0]);
var valueSelect1 = value1[1];
for(var i = 0; i < element1.options.length; i++)
if( element1.options[i].value == valueSelect1 )
element1.options[i].selected = true;
// Element openWindowJabberitPopUp
var value2 = flagOpenPopup.split(':');
var element2 = document.getElementById(value2[0]);
var valueSelect2 = value2[1];
for(var i = 0; i < element2.options.length; i++)
if( element2.options[i].value == valueSelect2 )
element2.options[i].selected = true;
// Element flagAwayIM
var value3 = flagAwayIM.split(':');
var element3 = document.getElementById(value3[0]);
element3.value = value3[1];
var _pButtons =
{
'lang1' : jabberitGetLang('Save'),
'lang2' : jabberitGetLang('Close'),
'onclickClose' : 'winBuild("jabberit_preferences","remove");',
'onclickSubmit' : 'javascript:loadscript.setPrefe();'
};
document.getElementById('buttons_preferences_jabberit').innerHTML = Xtools.parse(Xtools.xml('buttons_main'), 'buttons.xsl', _pButtons);
}
function searchUser()
{
var element = arguments[0].previousSibling;
if( element.value.length >= 4 )
_ldap.search( element.value );
else
alert(jabberitGetLang('Your search argument must be longer than 4 characters.'));
}
function setItensStatusMenu()
{
var applet = "";
try
{
// Layer
if( elementIframe = document.getElementById('iframe_applet_jabberit') )
{
if( !is_ie )
applet = elementIframe.contentDocument.applets[0];
else
applet = elementIframe.contentWindow.document.applets[0];
}
else // Pop-up
{
applet = myWindow.document.applets[0];
}
for( i = 1; i < 6; i++ )
itensSubMenu[i] = applet.getStatusMessages(i);
}catch(e){}
}
function setPreferences()
{
// Element openWindowJabberit
var elementOpenW = document.getElementById('openWindowJabberit');
var value = '';
var flagReload = false;
for(var i = 0 ; i < elementOpenW.options.length; i++)
if( elementOpenW.options[i].selected == true)
{
value = 'preferences1=openWindowJabberit:' + elementOpenW.options[i].value;
flagOpenIM = 'openWindowJabberit:' + elementOpenW.options[i].value;
}
// Element openWindowJabberitPopUp
var elementOpenPop = document.getElementById('openWindowJabberitPopUp');
for(var i = 0; i < elementOpenPop.options.length; i++ )
if( elementOpenPop.options[i].selected == true )
{
value += '&preferences2=openWindowJabberitPopUp:' + elementOpenPop.options[i].value;
if( flagOpenPopup != 'openWindowJabberitPopUp:' + elementOpenPop.options[i].value)
flagReload = true;
flagOpenPopup = 'openWindowJabberitPopUp:' + elementOpenPop.options[i].value;
}
// Element flagAwayIM
var elementFlagIM = document.getElementById('flagAwayIM');
if( elementFlagIM.value.length > 0 && parseInt(elementFlagIM.value) > 0 )
{
flagAwayIM = 'flagAwayIM:' + elementFlagIM.value;
value += '&preferences3=flagAwayIM:' + elementFlagIM.value;
}
else
{
alert(jabberitGetLang('Enter a value greater than or equal to 1!'));
return false;
}
_conn.go('$this.preferences.setPreferences',
function(data)
{
if(data == 'true')
{
if( flagReload )
{
window.location.reload();
myWindow.close();
}
}
else{ alert(jabberitGetLang('Error saving your preferences!')); }
winBuild('jabberit_preferences', 'remove');
},
value);
}
function windowConf(pLeft)
{
if( !is_ie )
var sizeW = { w : 234, h : 432 };
else
var sizeW = { w : 264, h : 430 };
_win_contacts = {
id_window : "jabberit_contacts",
width : sizeW.w,
height : sizeW.h,
top : 60,
left : -1500,
leftOld : 50,
draggable : true,
visible : "display",
resizable : true,
zindex : _ZINDEX++,
title : "Expresso Messenger",
closeAction : "hidden",
content : ""
};
}
function windowHidden()
{
if( _win_contacts == null )
{
windowConf(-1500);
windowContacts();
}
else
winBuild( _win_contacts.id_window , "display" );
}
function windowShow()
{
if( _win_contacts == null )
{
windowConf(70);
windowContacts();
}
else
winBuild( _win_contacts.id_window , "display" );
}
function windowContacts()
{
if( flagOpenPopup === 'openWindowJabberitPopUp:true' )
{
openPopup();
}
else
{
openWindow();
}
}
function Load()
{
addIcon();
getPreferences();
// AutoStatus Away
autoStatus();
configEvents(document, 'onmousemove', autoStatus);
configEvents(document, 'onkeypress', autoStatus);
}
Load.prototype.adIcon = addIcon;
Load.prototype.addContacts = addContacts;
Load.prototype.addUser = addUser;
Load.prototype.autoStatusIM = autoStatus;
Load.prototype.chgStatusJava = changeStatusJava;
Load.prototype.closeW = closeWindow;
Load.prototype.getElement = getElementStatus;
Load.prototype.helpJabberit = helpJabberit;
Load.prototype.keyPress = keyPressSearch;
Load.prototype.openPopup = openPopup;
Load.prototype.preferences = preferences;
Load.prototype.search = searchUser;
Load.prototype.setPrefe = setPreferences;
Load.prototype.windowHidden = windowHidden;
configEvents(window, 'onload', function(){ window.loadscript = new Load; });
})();
// Functions OnMouseOver e OnMouseOut
function elementOnMouseOut()
{
if( arguments.length > 0 )
{
var _element = arguments[0];
_element.style.backgroundColor = '';
_element.style.border = '';
if( !arguments[1] )
_element.className = '';
}
}
function elementOnMouseOver()
{
if( arguments.length > 0 )
{
var _element = arguments[0];
_element.className = 'x-menuOnMouseOver';
}
}