function xbDetectBrowser()
{
var oldOnError=window.onerror;
var element=null;
window.onerror=null;
window.saveNavigator=window.navigator;
navigator.OS='';
navigator.version=parseFloat(navigator.appVersion);
navigator.org='';
navigator.family='';
var platform;
if(typeof(window.navigator.platform)!='undefined')
{
platform=window.navigator.platform.toLowerCase();
if(platform.indexOf('win')!=-1)
navigator.OS='win';
else if(platform.indexOf('mac')!=-1)
navigator.OS='mac';
else if(platform.indexOf('unix')!=-1||platform.indexOf('linux')!=-1||platform.indexOf('sun')!=-1)
navigator.OS='nix';
}
var i=0;
var ua=window.navigator.userAgent.toLowerCase();
if(ua.indexOf('safari')!=-1)
{
i=ua.indexOf('safari');
navigator.family='safari';
navigator.org='safari';
navigator.version=parseFloat('0'+ua.substr(i+7),10);
}
else if(ua.indexOf('opera')!=-1)
{
i=ua.indexOf('opera');
navigator.family='opera';
navigator.org='opera';
navigator.version=parseFloat('0'+ua.substr(i+6),10);
}
else if((i=ua.indexOf('msie'))!=-1)
{
navigator.org='microsoft';
navigator.version=parseFloat('0'+ua.substr(i+5),10);
if(navigator.version<4)
navigator.family='ie3';
else
navigator.family='ie4'
}
else if(ua.indexOf('gecko')!=-1)
{
navigator.family='gecko';
var rvStart=ua.indexOf('rv:');
var rvEnd=ua.indexOf(')',rvStart);
var rv=ua.substring(rvStart+3,rvEnd);
var rvParts=rv.split('.');
var rvValue=0;
var exp=1;
for(var i=0;i<rvParts.length;i++)
{
var val=parseInt(rvParts[i]);
rvValue+=val/exp;
exp*=100;
}
navigator.version=rvValue;
if(ua.indexOf('netscape')!=-1)
navigator.org='netscape';
else if(ua.indexOf('compuserve')!=-1)
navigator.org='compuserve';
else
navigator.org='mozilla';
}
else if((ua.indexOf('mozilla')!=-1)&&(ua.indexOf('spoofer')==-1)&&(ua.indexOf('compatible')==-1)&&(ua.indexOf('opera')==-1)&&(ua.indexOf('webtv')==-1)&&(ua.indexOf('hotjava')==-1))
{
var is_major=parseFloat(navigator.appVersion);
if(is_major<4)
navigator.version=is_major;
else
{
i=ua.lastIndexOf('/')
navigator.version=parseFloat('0'+ua.substr(i+1),10);
}
navigator.org='netscape';
navigator.family='nn'+parseInt(navigator.appVersion);
}
else if((i=ua.indexOf('aol'))!=-1)
{
navigator.family='aol';
navigator.org='aol';
navigator.version=parseFloat('0'+ua.substr(i+4),10);
}
else if((i=ua.indexOf('hotjava'))!=-1)
{
navigator.family='hotjava';
navigator.org='sun';
navigator.version=parseFloat(navigator.appVersion);
}
window.onerror=oldOnError;
}
xbDetectBrowser();

