/* * $Log: ua.js,v $ * Revision 1.7  2002/05/14 16:52:52  bc6ix * use CVS Log for revision history * * *//* ***** BEGIN LICENSE BLOCK ***** * Licensed under Version: MPL 1.1/GPL 2.0/LGPL 2.1 * Full Terms at /evangelism/lib/js/license/mpl-tri-license.txt * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is Netscape code. * * The Initial Developer of the Original Code is * Netscape Corporation. * Portions created by the Initial Developer are Copyright (C) 2001 * the Initial Developer. All Rights Reserved. * * Contributor(s): Bob Clary <bclary@netscape.com> * * ***** END LICENSE BLOCK ***** */function xbDetectBrowser(){  var oldOnError = window.onerror;  var element = null;  window.onerror = null;    // work around bug in xpcdom Mozilla 0.9.1  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('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 if (navigator.version < 5)				navigator.family = 'ie4';		else if (navigator.version <= 5.5)				navigator.family = 'ie5.5';		else if (navigator.version <= 6)				navigator.family = 'ie6';		else				navigator.family = 'ie6later';  }  else if (ua.indexOf('gecko') != -1)  {    navigator.family = 'gecko';    var rvStart = navigator.userAgent.indexOf('rv:') + 3;    var rvEnd = navigator.userAgent.indexOf(')', rvStart);    var rv = navigator.userAgent.substring(rvStart, rvEnd);    var decIndex = rv.indexOf('.');    if (decIndex != -1)    {      rv = rv.replace(/\./g, '')      rv = rv.substring(0, decIndex) + '.' + rv.substr(decIndex)    }    navigator.version = parseFloat(rv);    if (ua.indexOf('netscape') != -1) {      navigator.org = 'netscape';			if (is_major < 4)				navigator.version = is_major;			else {				i = ua.lastIndexOf('/');				navigator.version = parseFloat('0' + ua.substr(i+1), 10);			}		}    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 )  {    // aol    navigator.family  = 'aol';    navigator.org    = 'aol';    navigator.version  = parseFloat('0' + ua.substr(i+4), 10);  }  else if ((i = ua.indexOf('hotjava')) != -1 )  {    // hotjava    navigator.family  = 'hotjava';    navigator.org    = 'sun';    navigator.version  = parseFloat(navigator.appVersion);  }  else if ((i = ua.indexOf('safari')) != -1 )  {    // hotjava    navigator.family  = 'safari';    navigator.org    = 'mac';    navigator.version  = parseFloat('0' + ua.substr(i+4), 10);  }  window.onerror = oldOnError;}xbDetectBrowser();