
  var oBrowser = new Object();  
  oBrowser.UserAgent     = navigator.userAgent.toLowerCase();
  oBrowser.AppVersion    = navigator.appVersion.toString().toLowerCase();
  oBrowser.MajorVersion  = parseInt(navigator.appVersion);
  oBrowser.MinorVersion  = parseFloat(navigator.appVersion);
  
  oBrowser.isIE     = false;
  oBrowser.isIE5    = false;
  oBrowser.isIE5Up  = false;
  oBrowser.isIE5_1  = false;
  oBrowser.isIE5_2  = false;
  oBrowser.isIE5_5  = false;
  oBrowser.isIE6    = false;
  oBrowser.isIE7    = false;
  oBrowser.isIE8    = false;
  oBrowser.isNav    = false;
  oBrowser.isNav4   = false;
  oBrowser.isNav4_7 = false;
  oBrowser.isNav6   = false;
  oBrowser.isNav7   = false;
  oBrowser.isNav7Up = false;
  oBrowser.isGecko  = false;
  oBrowser.isOpera  = false;
  oBrowser.isFirefox = false;
  oBrowser.isSafari = false;
   
  var oPlatform = new Object();  
    oPlatform.isWin    = false;
	oPlatform.isWin2K  = false;
	oPlatform.isWinXP  = false;
	oPlatform.isVista  = false;
	oPlatform.isMac    = false;
	oPlatform.isMacOS9 = false;
	oPlatform.isMacOSX = false;
	
	
  //-------------------------------------------------------------------------
  // PLATFORM CHECKS 
  
  function fncDetectPlatform() {
    if (oBrowser.UserAgent.length > 0) {
    	oPlatform.isWin     = ((oBrowser.UserAgent.indexOf("windows") != -1));
    	oPlatform.isWin2K   = ((oBrowser.UserAgent.indexOf("windows nt 5.0") != -1));
    	oPlatform.isWinXP   = ((oBrowser.UserAgent.indexOf("windows nt 5.1") != -1));
		oPlatform.isVista   = ((oBrowser.UserAgent.indexOf("windows nt 6") != -1));
    	oPlatform.isMac     = (oBrowser.UserAgent.indexOf("mac")!=-1);
    	oPlatform.isMacOS9  = (oBrowser.AppVersion.indexOf("mac") != -1);
    	oPlatform.isMacOSX  = false;
    	if (oPlatform.isMac && ((oBrowser.UserAgent.indexOf("os x") != -1))) {
    		oPlatform.isMacOSX = true;
    		oPlatform.isMacOS9 = false;
    	}
  	}
  }
  
  
  //-------------------------------------------------------------------------
  // BROWSER CHECKS 
  
  function fncDetectBrowser() {
    if (oBrowser.UserAgent.length > 0) {
      // Note: Opera and WebTV spoof Navigator.  We do strict client detection.
      // If you want to allow spoofing, take out the tests for opera and webtv.
      oBrowser.isNav  = ((oBrowser.UserAgent.indexOf('mozilla') != -1)
                      && (oBrowser.UserAgent.indexOf('spoofer') == -1)
                      && (oBrowser.UserAgent.indexOf('compatible') == -1)
                      && (oBrowser.UserAgent.indexOf('opera') == -1)
                      && (oBrowser.UserAgent.indexOf('webtv') == -1)
					  && (oBrowser.UserAgent.indexOf('firefox') == -1)
					  && (oBrowser.UserAgent.indexOf('safari') == -1)
                      && (oBrowser.UserAgent.indexOf('hotjava') == -1));
      
      if ((oPlatform.isWin || oPlatform.isMac) && oBrowser.isNav && oBrowser.MajorVersion > 4) {
        // Navigator browsers don't read properly
        oBrowser.MajorVersion++;	        
      }
      oBrowser.isNav4   = (oBrowser.isNav && (oBrowser.MajorVersion == 4));
      oBrowser.isNav4_7 = (oBrowser.isNav4 && (oBrowser.AppVersion.indexOf('4.7') != -1));
      oBrowser.isNav6   = (oBrowser.isNav && (oBrowser.MajorVersion == 5 || (oBrowser.UserAgent.indexOf('netscape6') > 1)));
      oBrowser.isNav7   = (oBrowser.isNav && (oBrowser.UserAgent.indexOf('netscape/7') > 1));
      oBrowser.isNav7Up = oBrowser.isNav7;
      
      oBrowser.isGecko  = (oBrowser.UserAgent.indexOf('gecko') != -1);
      oBrowser.isOpera  = (oBrowser.UserAgent.indexOf('opera') != -1);
	  oBrowser.isFirefox  = (oBrowser.UserAgent.indexOf('firefox') != -1);
	  oBrowser.isSafari = (oBrowser.UserAgent.indexOf('safari') != -1);
    
      oBrowser.isIE     = ((oBrowser.UserAgent.indexOf("msie") != -1) && (oBrowser.UserAgent.indexOf("opera") == -1));
      if (oBrowser.isIE && (oBrowser.MajorVersion == 4)) {
         oBrowser.isIE5    = (oBrowser.UserAgent.indexOf("msie 5.0") != -1);
         oBrowser.isIE5_1  = (oBrowser.UserAgent.indexOf("msie 5.1") != -1);
         oBrowser.isIE5_2  = (oBrowser.UserAgent.indexOf("msie 5.2") != -1);
         oBrowser.isIE5_5  = (oBrowser.UserAgent.indexOf("msie 5.5") != -1);
         oBrowser.isIE6    = (oBrowser.UserAgent.indexOf("msie 6.") != -1);
		 oBrowser.isIE7    = (oBrowser.UserAgent.indexOf("msie 7.") != -1);
		 oBrowser.isIE8    = (oBrowser.UserAgent.indexOf("msie 8.") != -1);
         oBrowser.isIE5Up  = (oBrowser.UserAgent.indexOf("msie 5.") != -1) || (oBrowser.UserAgent.indexOf("msie 6.") != -1 || oBrowser.UserAgent.indexOf("msie 7.") != -1 || oBrowser.UserAgent.indexOf("msie 8.") != -1);
      }
    }
  }
  
  
  //-------------------------------------------------------------------------
  // UTILITY FUNCTIONS
  
  window.onerror = function (err, url, line) { return true; }  // don't show browser errors - mostly for IE4
  
  function fncGetElementById(strID) {
    if (document.getElementById) {
      return document.getElementById(strID);
    } else if (document.layers != null) {
      return document.layers[strID];
    } else if (document.all != null) {
      return document.all[strID];
    }
  }