function Is ()
{
	var agt=navigator.userAgent.toLowerCase();
	var appVer = navigator.appVersion.toLowerCase();
	this.minor = parseFloat(appVer);
	this.major = parseInt(this.minor);

	this.opera = (agt.indexOf("opera") != -1);
	this.opera2 = (agt.indexOf("opera 2") != -1 || agt.indexOf("opera/2") != -1);
	this.opera3 = (agt.indexOf("opera 3") != -1 || agt.indexOf("opera/3") != -1);
	this.opera4 = (agt.indexOf("opera 4") != -1 || agt.indexOf("opera/4") != -1);
	this.opera5 = (agt.indexOf("opera 5") != -1 || agt.indexOf("opera/5") != -1);
	this.opera6 = (agt.indexOf("opera 6") != -1 || agt.indexOf("opera/6") != -1); // new 020128- abk
	this.opera7 = (agt.indexOf("opera 7") != -1 || agt.indexOf("opera/7") != -1); // new 021205- dmr
	this.opera5up = (this.opera && !this.opera2 && !this.opera3 && !this.opera4);
	this.opera6up = (this.opera && !this.opera2 && !this.opera3 && !this.opera4 && !this.opera5); // new020128
	this.opera7up = (this.opera && !this.opera2 && !this.opera3 && !this.opera4 && !this.opera5 && !this.opera6); // new021205 -- dmr

	var iePos  = appVer.indexOf('msie');
	if (iePos !=-1)
	{
		this.minor = parseFloat(appVer.substring(iePos+5,appVer.indexOf(';',iePos)));  //added missing ; - 030617 - bdn
		this.major = parseInt(this.minor);
  	}
	this.konq = false;
	var kqPos = agt.indexOf('konqueror');
	if (kqPos !=-1)
	{                 
		this.konq  = true;
		this.minor = parseFloat(agt.substring(kqPos+10,agt.indexOf(';',kqPos)));
		this.major = parseInt(this.minor);
	}                                 

	this.safari = (agt.indexOf('safari')!=-1)&&(agt.indexOf('mac')!=-1);
	this.khtml  = (this.safari || this.konq);

	this.gecko = (!this.khtml)&&(navigator.product)&&(navigator.product.toLowerCase()=="gecko");
	this.gver  = 0;
	if(this.gecko) this.gver=navigator.productSub;

	this.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) && (this.gecko) && ((navigator.vendor=="")||(navigator.vendor=="Mozilla")));
	if(this.moz)
	{
		this.moz_ver = (navigator.vendorSub)?navigator.vendorSub:0;
		if(!(this.moz_ver))
		{
			this.moz_ver = agt.indexOf('rv:');
			this.moz_ver = agt.substring(this.moz_ver+3);
			this.paren   = this.moz_ver.indexOf(')');
			this.moz_ver = this.moz_ver.substring(0,this.paren);
		}
		this.minor = this.moz_ver;
		thismajor = parseInt(this.moz_ver);
	}

	this.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)  && (!this.khtml) && (!(this.moz)));
	if ((navigator.vendor)&& ((navigator.vendor=="Netscape6")||(navigator.vendor=="Netscape"))&& (this.nav))
	{
		this.major = parseInt(navigator.vendorSub);
		this.minor = parseFloat(navigator.vendorSub);
	}
	this.nav2 = (this.nav && (this.major == 2));
	this.nav3 = (this.nav && (this.major == 3));
	this.nav4 = (this.nav && (this.major == 4));
	this.nav4up = (this.nav && this.minor >= 4);
	this.navonly      = (this.nav && ((agt.indexOf(";nav") != -1) || (agt.indexOf("; nav") != -1)) );
	this.nav6   = (this.nav && this.major==6);    // new 010118 mhp
	this.nav6up = (this.nav && this.minor >= 6); // new 010118 mhp, added missing ; - 030617 - bdn
	this.nav5   = (this.nav && this.major == 5 && !this.nav6); // checked for ns6
	this.nav5up = (this.nav && this.minor >= 5);
	this.nav7   = (this.nav && this.major == 7);
	this.nav7up = (this.nav && this.minor >= 7);

	this.ie   = ((iePos!=-1) && (!this.opera) && (!this.khtml));
	this.ie3  = (this.ie && (this.major < 4));
	this.ie4   = (this.ie && this.major == 4);
	this.ie4up = (this.ie && this.minor >= 4);
	this.ie5   = (this.ie && this.major == 5);
	this.ie5up = (this.ie && this.minor >= 5);
	this.ie5_5  = (this.ie && (agt.indexOf("msie 5.5") !=-1)); // 020128 new - abk
	this.ie5_5up =(this.ie && this.minor >= 5.5);                // 020128 new - abk
	this.ie6   = (this.ie && this.major == 6);
	this.ie6up = (this.ie && this.minor >= 6);
	this.aol   = (agt.indexOf("aol") != -1);
	this.aol3  = (this.aol && this.ie3);
	this.aol4  = (this.aol && this.ie4);
	this.aol5  = (agt.indexOf("aol 5") != -1);
	this.aol6  = (agt.indexOf("aol 6") != -1);
	this.aol7  = ((agt.indexOf("aol 7")!=-1) || (agt.indexOf("aol7")!=-1));
	this.aol8  = ((agt.indexOf("aol 8")!=-1) || (agt.indexOf("aol8")!=-1));
	this.webtv = (agt.indexOf("webtv") != -1);

	if (this.nav2 || this.ie3) this.js = 1.0;
	else if (this.nav3) this.js = 1.1;
	else if ((this.opera5)||(this.opera6)) this.js = 1.3; // 020214 - dmr
	else if (this.opera7up) this.js = 1.5; // 031010 - dmr
	else if (this.khtml) this.js = 1.5;   // 030110 - dmr
	else if (this.opera) this.js = 1.1;
	else if ((this.nav4 && (this.minor <= 4.05)) || this.ie4) this.js = 1.2;
	else if ((this.nav4 && (this.minor > 4.05)) || this.ie5) this.js = 1.3;
	else if (this.nav5 && !(this.nav6)) this.js = 1.4;
	else if (this.hotjava3up) this.js = 1.4; // new 020128 - abk
	else if (this.nav6up) this.js = 1.5;
	else if (this.nav && (this.major > 5)) this.js = 1.4;
	else if (this.ie && (this.major > 5)) this.js = 1.3;
	else if (this.moz) this.js = 1.5;
	else this.js = 0.0;
	if ((agt.indexOf("mac")!=-1) && this.ie5up) this.js = 1.4; // 020128 - abk
  
	// Done with is_minor testing; revert to real for N6/7
	if (this.nav6up) this.minor = navigator.vendorSub;  // 030617 - removed unneccessary {} - bdn

}

var is = new Is();

