Index: branches/2.2/jabberit_messenger/jmessenger/js/trophyim.mini.js
===================================================================
--- branches/2.2/jabberit_messenger/jmessenger/js/trophyim.mini.js	(revision 3177)
+++ branches/2.2/jabberit_messenger/jmessenger/js/trophyim.mini.js	(revision 3228)
@@ -335,5 +335,5 @@
 {var _presence=$pres();_presence.node.appendChild(Strophe.xmlElement('show')).appendChild(Strophe.xmlTextNode(_show));_presence.node.appendChild(Strophe.xmlElement('status')).appendChild(Strophe.xmlTextNode(_status));TrophyIM.connection.send(_presence.tree());presence_chatRoom=_show;}}
 if(TrophyIM.activeChatRoom.name.length>0)
-{for(var i in TrophyIM.activeChatRoom.name)
+{for(i=0;i<TrophyIM.activeChatRoom.name.length;i++)
 {if(TrophyIM.activeChatRoom.name[i]!="")
 TrophyIM.connection.send($pres({to:TrophyIM.activeChatRoom.name[i]}).c('show').t(presence_chatRoom));}}},sendMessage:function()
Index: branches/2.2/jabberit_messenger/jmessenger/js/trophyim.js
===================================================================
--- branches/2.2/jabberit_messenger/jmessenger/js/trophyim.js	(revision 3177)
+++ branches/2.2/jabberit_messenger/jmessenger/js/trophyim.js	(revision 3228)
@@ -231,5 +231,5 @@
 	load : function()
 	{
-        if( loadscript.getUserCurrent() == null )
+    	if( loadscript.getUserCurrent() == null )
         {
         	loadscript.setUserCurrent();	 
@@ -1864,5 +1864,5 @@
 		if( TrophyIM.activeChatRoom.name.length > 0 )
 		{
-			for( var i in TrophyIM.activeChatRoom.name )
+			for( i = 0; i < TrophyIM.activeChatRoom.name.length; i++ )
 			{
 				if( TrophyIM.activeChatRoom.name[i] != "" )
Index: branches/2.2/jabberit_messenger/jmessenger/js/jscode/loadIM.js
===================================================================
--- branches/2.2/jabberit_messenger/jmessenger/js/jscode/loadIM.js	(revision 3177)
+++ branches/2.2/jabberit_messenger/jmessenger/js/jscode/loadIM.js	(revision 3228)
@@ -19,25 +19,4 @@
 	var windowPopUp				= [];
 	
-	// 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) );
-
 	// Images
 	var add_user = new Image();
@@ -384,5 +363,5 @@
 	function getIsIE()
 	{
-		return is_ie;
+		return SnifferBrowser.isCompatible('is_ie');
 	}
 	
@@ -814,15 +793,5 @@
 		var _rosterDiv = function()
 		{
-			var _idUser	= Base64.decode(getUserCurrent().jid);
-			
-			var paramListContact = 
-			{
-				'idUser'		: _idUser,
-				'full_name'		: (( fullName.length < 25 ) ? fullName : ( fullName.substring( 0, 25) + "...")),
-				'path_jabberit' : path_jabberit,
-				'help_expresso'	: help_expresso,
-				'zIndex_'		: zIndex++
-			};
-	
+
 			var winRosterDiv = 
 			{
@@ -839,7 +808,7 @@
 				 title			: "Expresso Messenger - Contatos",
 				 closeAction	: "hidden",
-				 content		: Xtools.parse(Xtools.xml("contacts_list"),"contactsList.xsl", paramListContact)	
+				 content		: ""	
 			};
-			
+
 			if( _preferencesIM[0] == "openWindowJabberit:false" )
 			{
@@ -847,7 +816,35 @@
 				winRosterDiv.leftOld	= -1500;
 			}
-				
-			_winBuild( winRosterDiv );
-			
+			
+			if( SnifferBrowser.isCompatible('ie8','firefox3','epiphany2','iceweasel3') )
+			{	
+				var _idUser	= Base64.decode(getUserCurrent().jid);
+				
+				var paramListContact = 
+				{
+					'idUser'		: _idUser,
+					'full_name'		: (( fullName.length < 25 ) ? fullName : ( fullName.substring( 0, 25) + "...")),
+					'path_jabberit' : path_jabberit,
+					'help_expresso'	: help_expresso,
+					'zIndex_'		: zIndex++
+				};
+		
+				winRosterDiv.content = Xtools.parse(Xtools.xml("contacts_list"),"contactsList.xsl", paramListContact)	
+				
+			}
+			else
+			{
+				var paramList = 
+				{
+					'path_jabberit' : path_jabberit
+				};
+				
+				winRosterDiv.width		= 280;
+				winRosterDiv.height		= 430;
+				winRosterDiv.content	= Xtools.parse(Xtools.xml("navigator"),"navigatorCompatible.xsl", paramList);
+			}
+			
+			_winBuild( winRosterDiv );				
+
 			// Photo User
 			getPhotoUser(_idUser);
@@ -1526,5 +1523,5 @@
 				// Add Jabber in StatusBar;
 				addIcon();
-
+				
 				// Auto Connect
 				setTimeout(function()
@@ -1532,5 +1529,6 @@
 					if( _preferencesIM[0] === 'openWindowJabberit:true' )
 					{
-						TrophyIM.load();
+						if( SnifferBrowser.isCompatible('ie8','firefox3','epiphany2','iceweasel3') )
+							TrophyIM.load();
 					}
 					
@@ -1594,5 +1592,5 @@
 	// Necessário para não ocasionar problema no ExpressoMail
 	// quando os itens abaixo não são criados pelo próprio ExpressoMail
-	if( is_ie )
+	if( SnifferBrowser.isCompatible('is_ie') )
 	{
 		configEvents( window, 'onload', function( )
Index: branches/2.2/jabberit_messenger/jmessenger/js/jscode/loadIM.mini.js
===================================================================
--- branches/2.2/jabberit_messenger/jmessenger/js/jscode/loadIM.mini.js	(revision 3177)
+++ branches/2.2/jabberit_messenger/jmessenger/js/jscode/loadIM.mini.js	(revision 3228)
@@ -1,5 +1,5 @@
 
 (function()
-{var _autoStatus;var _autoStatusTime=60000;var addUser=null;var conn=null;var fullName="";var path="";var _preferencesIM="";var selectEditable=null;var showhidden=null;var statusUserIM="";var _statusMessage="";var timeoutId=null;var userCurrent=null;var _timeOutNotification="";var Xtools=null;var zIndex=9001;var windowPopUp=[];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 add_user=new Image();add_user.src=path_jabberit+'templates/default/images/adduser_azul.png';var arrow_down=new Image();arrow_down.src=path_jabberit+'templates/default/images/arrow_down.gif';var arrow_right=new Image();arrow_right.src=path_jabberit+'templates/default/images/arrow_right.gif';function actionButton()
+{var _autoStatus;var _autoStatusTime=60000;var addUser=null;var conn=null;var fullName="";var path="";var _preferencesIM="";var selectEditable=null;var showhidden=null;var statusUserIM="";var _statusMessage="";var timeoutId=null;var userCurrent=null;var _timeOutNotification="";var Xtools=null;var zIndex=9001;var windowPopUp=[];var add_user=new Image();add_user.src=path_jabberit+'templates/default/images/adduser_azul.png';var arrow_down=new Image();arrow_down.src=path_jabberit+'templates/default/images/arrow_down.gif';var arrow_right=new Image();arrow_right.src=path_jabberit+'templates/default/images/arrow_right.gif';function actionButton()
 {if(arguments.length>0)
 {var e=arguments[0];var _element=(e.target)?e.target:e.srcElement;var jid=arguments[1];var coord=null;if(!e)
@@ -83,5 +83,5 @@
 {return document.getElementById(elementId);}
 function getIsIE()
-{return is_ie;}
+{return SnifferBrowser.isCompatible('is_ie');}
 function getPhotoUser(jid)
 {try
@@ -179,6 +179,10 @@
 function rosterDiv()
 {var _rosterDiv=function()
-{var _idUser=Base64.decode(getUserCurrent().jid);var paramListContact={'idUser':_idUser,'full_name':((fullName.length<25)?fullName:(fullName.substring(0,25)+"...")),'path_jabberit':path_jabberit,'help_expresso':help_expresso,'zIndex_':zIndex++};var winRosterDiv={id_window:"window_Roster_im",width:250,height:410,top:50,left:-1500,leftOld:50,draggable:true,visible:"display",resizable:true,zindex:zIndex++,title:"Expresso Messenger - Contatos",closeAction:"hidden",content:Xtools.parse(Xtools.xml("contacts_list"),"contactsList.xsl",paramListContact)};if(_preferencesIM[0]=="openWindowJabberit:false")
+{var winRosterDiv={id_window:"window_Roster_im",width:250,height:410,top:50,left:-1500,leftOld:50,draggable:true,visible:"display",resizable:true,zindex:zIndex++,title:"Expresso Messenger - Contatos",closeAction:"hidden",content:""};if(_preferencesIM[0]=="openWindowJabberit:false")
 {winRosterDiv.left=50;winRosterDiv.leftOld=-1500;}
+if(SnifferBrowser.isCompatible('ie8','firefox3','epiphany2','iceweasel3'))
+{var _idUser=Base64.decode(getUserCurrent().jid);var paramListContact={'idUser':_idUser,'full_name':((fullName.length<25)?fullName:(fullName.substring(0,25)+"...")),'path_jabberit':path_jabberit,'help_expresso':help_expresso,'zIndex_':zIndex++};winRosterDiv.content=Xtools.parse(Xtools.xml("contacts_list"),"contactsList.xsl",paramListContact)}
+else
+{var paramList={'path_jabberit':path_jabberit};winRosterDiv.width=280;winRosterDiv.height=430;winRosterDiv.content=Xtools.parse(Xtools.xml("navigator"),"navigatorCompatible.xsl",paramList);}
 _winBuild(winRosterDiv);getPhotoUser(_idUser);}
 setTimeout(function(){_rosterDiv();},200);}
@@ -320,7 +324,8 @@
 selectEditable=new SelectEditable();addIcon();setTimeout(function()
 {if(_preferencesIM[0]==='openWindowJabberit:true')
-{TrophyIM.load();}},1500);autoStatus();configEvents(document,'onmousemove',autoStatus);configEvents(document,'onkeypress',autoStatus);},2000);}}
+{if(SnifferBrowser.isCompatible('ie8','firefox3','epiphany2','iceweasel3'))
+TrophyIM.load();}},1500);autoStatus();configEvents(document,'onmousemove',autoStatus);configEvents(document,'onkeypress',autoStatus);},2000);}}
 loadIM.prototype.adIcon=addIcon;loadIM.prototype.actionButton=actionButton;loadIM.prototype.addContact=addContact;loadIM.prototype.addNewUser=addNewUser;loadIM.prototype.clrAllContacts=clrAllContacts;loadIM.prototype.configEvents=configEvents;loadIM.prototype.createChatRooms=createChatRooms;loadIM.prototype.disabledNotificationNewUsers=disabledNotificationNewUsers;loadIM.prototype.enabledNotificationNewUsers=enabledNotificationNewUsers;loadIM.prototype.getListRooms=getListRooms;loadIM.prototype.getIsIE=getIsIE;loadIM.prototype.getPhotoUser=getPhotoUser;loadIM.prototype.getSmiles=getSmiles;loadIM.prototype.getStatusUserIM=getStatusUserIM;loadIM.prototype.getStatusMessage=getStatusMessage;loadIM.prototype.getShowContactsOffline=getShowContactsOffline;loadIM.prototype.getUserCurrent=getUserCurrent;loadIM.prototype.getZIndex=getZindex;loadIM.prototype.groupsHidden=groupsHidden;loadIM.prototype.groupsVisible=groupsVisible;loadIM.prototype.joinRoom=joinRoom;loadIM.prototype.keyPressSearch=keyPressSearch;loadIM.prototype.listRooms=listRooms;loadIM.prototype.loginPage=loginPage;loadIM.prototype.notification=notificationNewMessage;loadIM.prototype.parse=parse;loadIM.prototype.preferences=preferences;loadIM.prototype.searchUser=searchUser
-loadIM.prototype.setAutorization=setAutorization;loadIM.prototype.setMessageStatus=setMessageStatus;loadIM.prototype.setPreferences=setPreferences;loadIM.prototype.setPresence=setPresence;loadIM.prototype.setStatusJabber=setStatusJabber;loadIM.prototype.setSelectEditable=setSelectEditable;loadIM.prototype.setUserCurrent=setUserCurrent;loadIM.prototype.removeContact=removeContact;loadIM.prototype.removeElement=removeElement;loadIM.prototype.removeGroup=removeGroup;loadIM.prototype.renameContact=renameContact;loadIM.prototype.renameGroup=renameGroup;loadIM.prototype.rosterDiv=rosterDiv;loadIM.prototype.windowNotificationNewUsers=windowNotificationNewUsers;loadIM.prototype.windowPOPUP=windowPOPUP;window.LoadIM=loadIM;if(is_ie)
+loadIM.prototype.setAutorization=setAutorization;loadIM.prototype.setMessageStatus=setMessageStatus;loadIM.prototype.setPreferences=setPreferences;loadIM.prototype.setPresence=setPresence;loadIM.prototype.setStatusJabber=setStatusJabber;loadIM.prototype.setSelectEditable=setSelectEditable;loadIM.prototype.setUserCurrent=setUserCurrent;loadIM.prototype.removeContact=removeContact;loadIM.prototype.removeElement=removeElement;loadIM.prototype.removeGroup=removeGroup;loadIM.prototype.renameContact=renameContact;loadIM.prototype.renameGroup=renameGroup;loadIM.prototype.rosterDiv=rosterDiv;loadIM.prototype.windowNotificationNewUsers=windowNotificationNewUsers;loadIM.prototype.windowPOPUP=windowPOPUP;window.LoadIM=loadIM;if(SnifferBrowser.isCompatible('is_ie'))
 {configEvents(window,'onload',function()
 {if(!document.getElementById('cc_msg_err_serialize_data_unknown'))
Index: branches/2.2/jabberit_messenger/jmessenger/js/SnifferBrowser.js
===================================================================
--- branches/2.2/jabberit_messenger/jmessenger/js/SnifferBrowser.js	(revision 3228)
+++ branches/2.2/jabberit_messenger/jmessenger/js/SnifferBrowser.js	(revision 3228)
@@ -0,0 +1,126 @@
+(function()
+{		
+	// NAVIGATOR USER AGENT
+	var agt 		= navigator.userAgent.toLowerCase();
+	var appVer		= navigator.appVersion.toLowerCase();
+
+	var is_minor	= parseFloat(appVer);
+	var is_major	= parseInt(is_minor);
+	
+	var iePos		= appVer.indexOf('msie');
+    
+	if ( iePos != -1 )
+    {
+       is_minor = parseFloat(appVer.substring(iePos+5,appVer.indexOf(';',iePos)));
+       is_major = parseInt(is_minor);
+    }
+
+    //Konqueror
+
+    var is_konq = false;
+    var kqPos   = agt.indexOf('konqueror');
+    if ( kqPos !=-1 )
+    {
+       is_konq  = true;
+       is_minor = parseFloat(agt.substring(kqPos+10,agt.indexOf(';',kqPos)));
+       is_major = parseInt(is_minor);
+    }
+	
+    //Is_Khtml
+    var is_khtml 	= (((agt.indexOf('safari')!=-1) && (agt.indexOf('mac')!=-1)) && ( is_konq ));
+    
+    //Is_Opera
+    var is_opera	= (agt.indexOf("opera") != -1 );
+    
+    //Is_IE
+    var is_ie		= ((iePos!=-1) && (!is_opera) && (!is_khtml));
+    
+    // Gecko
+    var is_gecko = ((!is_khtml)&&(navigator.product)&&(navigator.product.toLowerCase()=="gecko"))?true:false;
+    var is_gver  = 0;
+    if (is_gecko)
+    	is_gver = navigator.productSub;
+
+    // Moz
+    var is_moz   = ((agt.indexOf('mozilla/5')!=-1) && (agt.indexOf('spoofer')==-1) &&
+            (agt.indexOf('compatible')==-1) && (agt.indexOf('opera')==-1)  &&
+            (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1)     &&
+            (is_gecko) &&
+            ((navigator.vendor=="")||(navigator.vendor=="Mozilla")));
+
+    var _browser = [
+	
+	        // EPIPHANY	
+	    	['epiphany2', ( agt.indexOf('epiphany/2') != -1 ) ],
+	
+	    	// FIREFOX
+			['firefox1', ( agt.indexOf('firefox/1') != -1 ) ],
+			['firefox2', ( agt.indexOf('firefox/2') != -1 ) ],
+			['firefox3', ( agt.indexOf('firefox/3') != -1 ) ],
+	
+			// ICEWEASEL
+			['iceweasel3', (agt.indexOf('iceweasel/3') != -1 ) ],
+		
+			// IE
+			['ie3',	(((iePos!=-1) && (!is_opera) && (!is_khtml)) && (is_major < 4 )) ],
+			['ie4', (((iePos!=-1) && (!is_opera) && (!is_khtml)) && (is_major == 4 )) ],
+			['ie5', (((iePos!=-1) && (!is_opera) && (!is_khtml)) && (is_major == 5 )) ],
+			['ie55', (((iePos!=-1) && (!is_opera) && (!is_khtml)) && (agt.indexOf("msie 5.5") !=-1 )) ], 
+			['ie6', (((iePos!=-1) && (!is_opera) && (!is_khtml)) && (is_major == 6 )) ],
+			['ie7', (((iePos!=-1) && (!is_opera) && (!is_khtml)) && (is_major == 7 )) ],
+			['ie8', (((iePos!=-1) && (!is_opera) && (!is_khtml)) && (is_major == 8 )) ],
+
+			//IS?
+			['is_ie', ((iePos!=-1) && (!is_opera) && (!is_khtml)) ],
+			['is_gecko', is_gecko ],
+			['is_opera', is_opera ],
+			['is_khtml', is_khtml ],
+			['is_moz', is_moz ],
+			
+			// OPERA
+			['is_opera', is_opera],
+			['opera2', ( agt.indexOf("opera 2") != -1 || agt.indexOf("opera/2") != -1) ],
+			['opera3', ( agt.indexOf("opera 3") != -1 || agt.indexOf("opera/3") != -1) ],
+			['opera4', ( agt.indexOf("opera 4") != -1 || agt.indexOf("opera/4") != -1) ],
+			['opera5', ( agt.indexOf("opera 5") != -1 || agt.indexOf("opera/5") != -1) ],
+			['opera6', ( agt.indexOf("opera 6") != -1 || agt.indexOf("opera/6") != -1) ],
+			['opera7', ( agt.indexOf("opera 7") != -1 || agt.indexOf("opera/7") != -1) ],
+			['opera8', ( agt.indexOf("opera 8") != -1 || agt.indexOf("opera/8") != -1) ],
+			['opera9', ( agt.indexOf("opera 9") != -1 || agt.indexOf("opera/9") != -1) ],
+    
+			// IS SAFARI/KHTML
+			['safari', ((agt.indexOf('safari')!=-1) && (agt.indexOf('mac')!=-1)) ],
+			['khtml', is_khtml ]
+	];
+	
+    function isCompatible()
+    {
+    	if( arguments.length > 0 )
+    	{
+    		var _args = arguments;
+    		
+    		for( i = 0; i < _args.length; i++ )
+    		{
+    			for( j = 0; j < _browser.length; j++ )
+    			{
+    				if( _args[i].toLowerCase() === _browser[j][0] )
+    				{
+    					if( _browser[j][1] )
+    						return true;
+    				}
+    			}	
+    		}
+    		
+    		return false;
+    	}
+    }
+    
+	function SnifferBrowser()
+	{
+	}
+
+	SnifferBrowser.prototype.isCompatible = isCompatible;
+	
+	window.SnifferBrowser = new SnifferBrowser;
+	
+})();
