// Copyright (c) 2005 CA.  All rights reserved.
function Version(Major,Minor)
{
this.major=Major;
this.minor=Minor;
}
Version.prototype.major=0;
Version.prototype.minor=0;
Browser.prototype.toString=function()
{
return this.vendor+" "+this.name+" "+this.version.major.toString()+"."+this.version.minor.toString();
}
function Browser()
{
this.version=new Version(0,0);
var ver;
this.isMAC=false;
this.isSafari=false;
this.isXPIE60SP2=false;
if(navigator.appName.indexOf("Microsoft")!=-1&&
navigator.appName.indexOf("Pocket")==-1&&navigator.appName.indexOf("Mobile")==-1){
this.isIE=true;
this.isNS=false;
this.isUnknown=false;
this.vendor="unknown";
this.vendor="Microsoft";
this.name="Internet Explorer";
this.systemLanguage=navigator.systemLanguage;
if(navigator.appVersion.indexOf("Macintosh")!=-1)
this.isMAC=true;
ver=navigator.appVersion.substring(navigator.appVersion.indexOf("MSIE")+5);
ver=ver.substring(0,ver.indexOf(";"));
if(ver.indexOf(".")==-1)
this.version.major=ver;
else{
this.version.major=ver.substring(0,ver.indexOf("."));
this.version.minor=ver.substring(ver.indexOf(".")+1);
}
this.isIE55=(this.version.major-0)>5||
(this.version.major=="5"&&
(this.version.minor-0)>=5);
if(this.version.major==6&&this.version.minor==0&&navigator.appMinorVersion.indexOf("SP2")!=-1&&
navigator.appVersion.match(/\.*Windows\s*NT\s*5.1/))
this.isXPIE60SP2=true;
this.isIE70=((this.version.major-0)==7);
if(parseInt(this.version.major,10)<4)
this.supportsDOM=0;
else if(parseInt(this.version.major,10)==4)
this.supportsDOM=1;
else
this.supportsDOM=2;
this.supportsLayers=false;
}
else if(navigator.appName=="Netscape"){
this.isIE=false;
this.isIE55=false;
this.isIE70=false;
this.isNS=true;
this.isUnknown=false;
this.isUnix=false;
this.vendor="Netscape";
this.name="Navigator";
ver=navigator.userAgent;
if(ver.indexOf("Safari")!=-1)
{
this.isSafari=true;
this.name="Safari";
}
if(ver.indexOf("Macintosh")!=-1)
this.isMAC=true;
if(ver.indexOf("Netscape6")!=-1)
ver=ver.substring(ver.indexOf("Netscape6")+10);
else{
ver=ver.substring(ver.indexOf("/")+1);
ver=ver.substring(0,ver.indexOf(" "));
}
if(ver.indexOf(".")==-1)
this.version.major=parseInt(ver,10);
else{
this.version.major=parseInt(ver.substring(0,ver.indexOf(".")),10);
this.version.minor=parseInt(ver.substring(ver.indexOf(".")+1),10);
}
if(this.version.major<=4){
this.supportsLayers=true;
this.supportsDOM=0;
}
else{
this.supportsLayers=false;
this.supportsDOM=2;
}
}
else{
this.isIE=false;
this.isIE55=false;
this.isIE70=false;
this.isNS=false;
this.isUnknown=false;
this.isUnix=false;
this.vendor="unknown";
this.name="unknown";
this.supportsLayers=false;
this.supportsDOM=0;
}
this.isUnix=(navigator.appVersion.indexOf("AIX")!=-1)||
(navigator.appVersion.indexOf("SunOS")!=-1)||
(navigator.appVersion.indexOf("HP-UX")!=-1)||
(navigator.appVersion.indexOf("Linux")!=-1);
}
Browser.prototype.geckoGetRv=function()
{
if(navigator.product!='Gecko')
{
return-1;
}
var rvValue=0;
var ua=navigator.userAgent.toLowerCase();
var rvStart=ua.indexOf('rv:');
var rvEnd=ua.indexOf(')',rvStart);
var rv=ua.substring(rvStart+3,rvEnd);
var rvParts=rv.split('.');
var exp=1;
for(var i=0;i<rvParts.length;i++)
{
var val=parseInt(rvParts[i],10);
rvValue+=val/ exp;
exp*=100;
}
return rvValue;
}
function debugBrowser(b)
{
var x="appName   = "+navigator.appName+"\n"+
"version   = "+navigator.appVersion+"\n"+
"userAgent = "+navigator.userAgent;
if(typeof b=="object"){
x+="\n\n"+
"isNS = "+b.isNS+"\n"+
"isIE = "+b.isIE+"\n"+
"isSafari = "+b.isSafari+"\n"+
"isIE55 = "+b.isIE55+"\n"+
"isXPIE60SP2 = "+b.isXPIE60SP2+"\n"+
"isIE70 = "+b.isIE70+"\n"+
"isUnix = "+b.isUnix+"\n"+
"isUnknown = "+b.isUnknown+"\n"+
"version = ("+b.version.major+","+b.version.minor+")\n"+
"vendor = "+b.vendor+"\n"+
"name = "+b.name+"\n"+
"supportsDOM = "+b.supportsDOM+"\n"+
"supportsLayers = "+b.supportsLayers;
}
alert(x);
}
var _browser=new Browser();
