      //     This script Copyright 2002, Hyperbole Software, UnLtd.

      utils.Browser_Object
       = function()
           {
            var save_onError = window.onError;


            this.version  = navigator.appVersion;
            this.agent    = navigator.userAgent.toLowerCase();

            this.browser = new Object();

            this.browser.OS           = '';
            this.browser.version      = parseFloat(navigator.appVersion);
            this.browser.organization = '';
            this.browser.family       = '';

            this.major    = parseInt(navigator.appVersion);

            this.isDOM    = document.getElementById ? true : false;

            this.isGecko  = this.agent.indexOf('gecko') != -1;

            this.isIE     = (   (this.agent.indexOf('msie') != -1)
                             && (! this.isOpera)
                            );
            this.isIE3    = (   (this.isIE)  &&  (this.major < 4) );
            this.isIE4    = (   (this.isIE)
                             && (  utils.Is_Defined(document.all) )
                             && (! this.isDOM)
                            );
            this.isIE4up  = (   (this.isIE)  &&  (this.major >= 4) );
            this.isIE5    = (   (  this.agent.indexOf('msie 5') != -1)
                             && (  this.isDOM)
                             && (! this.isOpera)
                            );
            this.isIE5up  = (   (  this.isIE)
                             && (! this.isIE3)
                             && (! this.isIE4)
                            );
            this.isIE6    = (   (  this.agent.indexOf('msie 6') != -1)
                             && (  this.isDOM)
                             && (! this.isOpera)
                            );
            this.isIE6up  = (   (  this.isIE)
                             && (! this.isIE3)
                             && (! this.isIE4)
                             && (! this.isIE5)
                            );

            this.isNS     = (   (this.agent.indexOf('mozilla')    != -1)
                             && (this.agent.indexOf('spoofer')    == -1)
                             && (this.agent.indexOf('compatible') == -1)
                             && (! this.isOpera)
                             && (! this.isWeb_TV)
                             && (! this.isHOTJAVA)
                            );
            this.isNS2    = (this.isNS && (this.major == 2));
            this.isNS3    = (this.isNS && (this.major == 3));
            this.isNS4    = (   (utils.Is_Defined(document.layers) ) 
                             && (! this.isDOM) 
                            );
            this.isNS4dn  = (this.isNS && (this.major <= 4) );
            this.isNS4up  = (this.isNS && (this.major >= 4) );
            this.isNSonly = (   (this.isNS)
                             && (   (this.agent.indexOf(";nav")  != -1)
                                 || (this.agent.indexOf("; nav") != -1)
                            )   );
            this.isNS6    = (   (this.isNS) 
                             && (this.isDOM) 
                             && (this.major >= 5)
                            );
            this.isNS6up  = this.isNS6;


            if       (   (this.isNS2)
                      || (this.isIE3)
                     )
                    this.JavaScript = 1.0;
            else if  (this.isNS3)
                    this.JavaScript = 1.1;
            else if  (   (this.isIE4)
                      || (   (this.isNS4)
                          && (this.browser.version <= 4.05)
                     )   )
                    this.JavaScript = 1.2;
            else if  (   (this.isIE5)
                      || (   (this.isNS4)
                          && (this.browser.version > 4.05)
                     )   )
                    this.JavaScript = 1.3;
            else if  ( (this.isNS6)  ||  (this.isGecko) )
                    this.JavaScript = 1.5;
            else if  (this.isNS6up)
                    this.JavaScript = 1.5;
            else
                    this.JavaScript = 0.0;


            this.isSupported = (   this.isIE6
                                || this.isIE5
                                || this.isIE4
                                || this.isNS4
                                || this.isNS6
                               );


            this.agent = navigator.userAgent;

            if  (utils.Is_Defined(navigator.platform) )
              {
               var platform;

               platform = navigator.platform.toLowerCase();
               if       (platform.indexOf('linux') != -1) this.browser.OS = "unix";
               else if  (platform.indexOf('x11')   != -1) this.browser.OS = "unix";
               else if  (platform.indexOf('mac')   != -1) this.browser.OS = "mac"
               else if  (platform.indexOf('win')   != -1) this.browser.OS = "win"
               else                                       this.browser.OS = "unknown";
              }

            var indx = 0;
            var user_agent = navigator.userAgent.toLowerCase();
            var ver;

            if       (this.isIE)
                   {
                    indx = user_agent.indexOf('msie') + 5;
                    ver  = user_agent.substr(indx, 10);

                    if       (this.major < 4)
                            this.browser.family = 'ie3';
                    else if  (this.major < 5)
                            this.browser.family = 'ie4';
                    else
                            this.browser.family = 'ie5';

                    this.browser.organization = 'microsoft';
                    this.browser.version      = parseFloat('0' + ver);
                   }
            else if  (this.isGecko)
                   {
                    var verBegin = user_agent.indexOf('rv:') + 3;
                    var verEnd   = user_agent.indexOf(')', verBegin);
                        ver      = user_agent.substring(verBegin, verEnd);

                    var decimalIndx = ver.indexOf('.');
                    if  (decimalIndx != -1)
                      {
                       //ver = ver.replace(/rc[0-9]+/, "");
                       ver = ver.replace(/\./g, "");
                       ver =   ver.substring(0,decimalIndx)
                             + '.'
                             + ver.substr(decimalIndx);
                      }

                    if       (user_agent.indexOf('netscape')   != -1)
                            this.browser.organization = 'netscape';
                    else if  (user_agent.indexOf('compuserve') != -1)
                            this.browser.organization = 'compuserve';
                    else
                            this.browser.organization = 'mozilla';

                    this.browser.version = ver;
                    this.browser.family  = 'gecko';
                   }
            else if  (this.isNS)
                   {
                    if  (this.browser.version >= 4)
                      {
                       indx = user_agent.indexOf('/') + 1;
                       ver  = user_agent.substr(indx, 10);
                       this.browser.version = parseFloat('0' + ver);
                      }

                    this.browser.organization = 'netscape';
                    this.browser.family       = 'ns' + this.major;
                   }


            window.onError = save_onError;

            return(this);
           }


   if  (! utils.Browser)
      utils.Browser = new utils.Browser_Object();


   window.Browser_Object = utils.Browser_Object;
   window.Browser        = utils.Browser;

   //     This script Copyright 2002, Hyperbole Software, UnLtd.



//     <<<<<     End of File     >>>>>     





