		var CodeName = navigator.appCodeName.toLowerCase();
		var Name     = navigator.appName.toLowerCase();
		var Version  = navigator.appVersion.toLowerCase();
		var Agent    = navigator.userAgent.toLowerCase();

		var _vs = parseFloat(Version);
		var _ns = Name == "netscape";
		var _ie = Name.search(/^microsoft\b/)>(-1);
		var _tb = Name

		if (_ie) {
			if (Agent.indexOf("opera") != -1) {
				_ie = Agent.match(/\bopera\s(\d\.\d+)/);
				_ie = true;
				_vs = (RegExp.$1!="") ? parseFloat(RegExp.$1) : 0;
				_tb = "Opera";
			}
			else {
				_ie = Agent.match(/\bmsie\s(\d\.\d+)/);
				_ie = true;
				_vs = (RegExp.$1!="") ? parseFloat(RegExp.$1) : 0;
				_tb = "MSIE";
			}
		}
		else if (_ns) {
			if (CodeName == "mozilla") {
				_tb = "Mozilla";
				_ns = Agent.match(/\bmozilla\d?\/(\d\.\d+)/);
				_ns = true;
				_vs = (RegExp.$1!="") ? parseFloat(RegExp.$1) : 0;
			}
			else {
				_tb = "Netscape";
				if (_vs >= 5.0) {
					_ns = Agent.match(/\bnetscape\d?\/(\d\.\d+)/);
					_ns = true;
					_vs = (RegExp.$1!="") ? parseFloat(RegExp.$1) : 0;
				}
			}
		}

		var _ns60 = _ns && Agent.search(/\bGecko/)>(-1);
		var _ns40 = _ns && (_vs>4.0 && _vs<5.0);
		var _nslt4 = _ns && (_vs<4.0);
		var _ielt4 	= _ie && (_vs<4.0);
		var _ie40 = _ie && (_vs>4.0 && _vs<5.0);
		var _ie50 = _ie && (_vs>4.99 && _vs<5.5);
		var _ie55 = _ie && (_vs>5.49 && _vs<6.0);
		var _ie60 = _ie && _vs>6.0;

		// convert all characters to lowercase to simplify testing
		var agt = navigator.userAgent.toLowerCase();
		var appVer = navigator.appVersion.toLowerCase();
		var appNm = navigator.appName.toLowerCase();
		var is_minor = parseFloat(appVer);
		var is_major = parseInt(appVer);

		var browser;

		var iePos  = appNm.indexOf("microsoft");
		if (iePos !=-1) {
			//is_minor = parseFloat(appVer.substring(iePos+5,appVer.indexOf(';',iePos)))
			is_minor = parseFloat(appVer);
			is_major = parseInt(appVer);
			browser = 'MSIE';
		}

		var nav6Pos = agt.indexOf('ns');
		if (nav6Pos !=-1) {
			is_minor = parseFloat(agt.substring(nav6Pos));
			is_major = parseFloat(appVer);
		}

		//detecting layers takes care of most netscape. ns4.73 was not getting picked up.
		var is_layers = (document.layers && !document.all) ? "true":"false";
		if (is_layers == "true") {
			browser='Netscape';
		}

		var is_getElementById   = (document.getElementById) ? "true" : "false"; // 001121-abk
		var is_getElementsByTagName = (document.getElementsByTagName) ? "true" : "false"; // 001127-abk
		var is_documentElement = (document.documentElement) ? "true" : "false"; // 001121-abk

		<!--- //OS information //	 --->
		var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
					&& (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
					&& (agt.indexOf('webtv')==-1));
		var is_nav2 = (is_nav && (is_major == 2));
		var is_nav3 = (is_nav && (is_major == 3));
		var is_nav4 = (is_nav && (is_major == 4));
		var is_nav4up = (is_nav && (is_major >= 4));
		var is_navonly = (is_nav && ((agt.indexOf(";nav") != -1) || (agt.indexOf("; nav") != -1)) );

		var is_nav6up = (is_nav && is_getElementById);

		var is_nav6   = (is_nav && is_major == 6);    // new 010118 mhp
		var is_nav6up = (is_nav && is_minor >= 6) // new 010118 mhp

		var is_nav5   = (is_nav && is_major == 5 && !is_nav6); // checked for ns6
		var is_nav5up = (is_nav && is_minor >= 5);

		var is_ie   = (iePos!=-1);
		var is_ie3  = (is_ie && (is_major < 4));

		var is_ie4   = (is_ie && is_major == 4);
		var is_ie4up = (is_ie && is_minor >= 4);
		var is_ie5   = (is_ie && is_major == 5);
		var is_ie5up = (is_ie && is_minor >= 5);
		var is_ie6   = (is_ie && is_major == 6);
		var is_ie6up = (is_ie && is_minor >= 6);

		var is_aol   = (agt.indexOf("aol") != -1);
		var is_aol3  = (is_aol && is_ie3);
		var is_aol4  = (is_aol && is_ie4);

		var is_opera = (agt.indexOf("opera") != -1); if(is_opera){browser='opera'}
		var is_webtv = (agt.indexOf("webtv") != -1); if(is_webtv){browser='webtv'}

		var OS;
		var is_win   = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) ); if(is_win){OS='win';}
		var is_win95 = ((agt.indexOf("win95")!=-1) || (agt.indexOf("windows 95")!=-1));if(is_win95){OS='win95';}

		var is_win16 = ((agt.indexOf("win16")!=-1) ||
						(agt.indexOf("16bit")!=-1) || (agt.indexOf("windows 3.1")!=-1) ||
						(agt.indexOf("windows 16-bit")!=-1) );if(is_win16){OS='win16';}

		var is_win31 = ((agt.indexOf("windows 3.1")!=-1) || (agt.indexOf("win16")!=-1) ||
						(agt.indexOf("windows 16-bit")!=-1));if(is_win31){OS='windows 3.1';}

		var is_win98 = ((agt.indexOf("win98")!=-1) || (agt.indexOf("Windows 98")!=-1) || (agt.indexOf("windows 98")!=-1));if(is_win98){OS='win98';}
		var is_winnt = ((agt.indexOf("winnt")!=-1) || (agt.indexOf("windows nt")!=-1));if(is_winnt){OS='winnt';}
		var is_win32 = (is_win95 || is_winnt || is_win98 ||
						((is_major >= 4) && (navigator.platform == "Win32")) ||
						(agt.indexOf("win32")!=-1) || (agt.indexOf("32bit")!=-1));//if(is_win32){OS='win32';}

		var is_os2   = ((agt.indexOf("os/2")!=-1) ||
						(navigator.appVersion.indexOf("OS/2")!=-1) ||
						(agt.indexOf("ibm-webexplorer")!=-1));if(is_os2){OS='os/2';}

		var is_mac    = (agt.indexOf("mac")!=-1);if(is_mac){OS='is_mac';}
		var is_mac68k = (is_mac && ((agt.indexOf("68k")!=-1) ||
						(agt.indexOf("68000")!=-1)));if(is_mac68k){OS='mac68k';}
		var is_macppc = (is_mac && ((agt.indexOf("ppc")!=-1) ||
						(agt.indexOf("powerpc")!=-1)));if(is_macppc){OS='macppc';}
		var is_sun   = (agt.indexOf("sunos")!=-1); if(is_sun){OS='sun';}
		var is_sun4  = (agt.indexOf("sunos 4")!=-1);if(is_sun4){OS='sun4';}
		var is_sun5  = (agt.indexOf("sunos 5")!=-1);if(is_sun5){OS='sun5';}
		var is_suni86= (is_sun && (agt.indexOf("i86")!=-1));if(is_suni86){OS='suni86';}
		var is_linux = (agt.indexOf("inux")!=-1); if(is_linux){OS='linux';}
		var is_sco   = (agt.indexOf("sco")!=-1) || (agt.indexOf("unix_sv")!=-1); if(is_sco){OS='sco';}
		var is_unixware = (agt.indexOf("unix_system_v")!=-1); if(is_unixware){OS='unixware';}
		var is_freebsd = (agt.indexOf("freebsd")!=-1); if(is_freebsd){OS='freebsd';}
		var is_bsd = (agt.indexOf("bsd")!=-1); if(is_bsd){OS='bsd';}
		var is_unix  = ((agt.indexOf("x11")!=-1) || is_sun ||
						is_sco ||is_unixware  || is_linux || is_bsd || is_freebsd); if(is_unix){OS='unix';}

		var is_screen = (window.screen) ? "true" : "false";

		function loginPCR(login, pwd) {
			if(_ns && _vs < 6.0 && _tb == "Navigator")
				document.PCRLoginForm.action = "http://www.pcrinsight.com/public/newbrowser.cfm?bv=ns_upgrade";
			else if(_ie && _vs < 5.0)
				document.PCRLoginForm.action = "http://www.pcrinsight.com/public/newbrowser.cfm?bv=ielt40";

			document.PCRLoginForm.ScreenAvail.value='No';
			if (window.screen) {
				document.PCRLoginForm.ScreenAvail.value			= 'Yes';
				document.PCRLoginForm.screen_width.value		= screen.width;
				document.PCRLoginForm.screen_height.value		= screen.height;
				document.PCRLoginForm.browser_width.value		= screen.availWidth;
				document.PCRLoginForm.browser_height.value		= screen.availHeight;
				document.PCRLoginForm.ScreenColorDepth.value	= screen.colorDepth;
			}

			if (is_ie || is_nav6up) {
				document.PCRLoginForm.browser_width.value	= document.body.clientWidth;
				document.PCRLoginForm.browser_height.value	= document.body.clientHeight;
			}
			else if (is_nav) {
				var netscapeScrollWidth=15;

				document.PCRLoginForm.browser_width.value	= window.innerWidth-netscapeScrollWidth;
				document.PCRLoginForm.browser_height.value	= window.innerHeight-netscapeScrollWidth;
			}

			document.PCRLoginForm.browser_name.value	= _tb;
			document.PCRLoginForm.browser_version.value	= _vs;
			document.PCRLoginForm.os_name_version.value	= OS;

			document.PCRLoginForm.login.value		= login;
			document.PCRLoginForm.password.value	= pwd;
			document.PCRLoginForm.submit();
		}

		function getItDone() {
			if(_ns && _vs < 6.0 && _tb == "Navigator")
				document.PCRLoginForm.action = "http://www.pcrinsight.com/public/newbrowser.cfm?bv=ns_upgrade";
			else if(_ie && _vs < 5.0)
				document.PCRLoginForm.action = "http://www.pcrinsight.com/public/newbrowser.cfm?bv=ielt40";

			document.PCRLoginForm.ScreenAvail.value='No';
			if (window.screen) {
				document.PCRLoginForm.ScreenAvail.value			= 'Yes';
				document.PCRLoginForm.screen_width.value		= screen.width;
				document.PCRLoginForm.screen_height.value		= screen.height;
				document.PCRLoginForm.browser_width.value		= screen.availWidth;
				document.PCRLoginForm.browser_height.value		= screen.availHeight;
				document.PCRLoginForm.ScreenColorDepth.value	= screen.colorDepth;
			}

			if (is_ie || is_nav6up) {
				document.PCRLoginForm.browser_width.value	= document.body.clientWidth;
				document.PCRLoginForm.browser_height.value	= document.body.clientHeight;
			}
			else if (is_nav) {
				var netscapeScrollWidth=15;

				document.PCRLoginForm.browser_width.value	= window.innerWidth-netscapeScrollWidth;
				document.PCRLoginForm.browser_height.value	= window.innerHeight-netscapeScrollWidth;
			}

			document.PCRLoginForm.browser_name.value	= _tb;
			document.PCRLoginForm.browser_version.value	= _vs;
			document.PCRLoginForm.os_name_version.value	= OS;

			document.PCRLoginForm.submit();
		}