		// For more info: http://www.ksu.ksu.edu/tools/browser_type/browser_type.html
    // convert all characters to lowercase to simplify testing
    var agt=navigator.userAgent.toLowerCase();
    var appVer = navigator.appVersion.toLowerCase();

    // *** BROWSER VERSION ***
    var is_minor = parseFloat(appVer);
    var is_major = parseInt(is_minor);

    // Note: On IE, start of appVersion return 3 or 4
    // which supposedly is the version of Netscape it is compatible with.
    // So we look for the real version further on in the string
    // Using agt instead of appVer b/c Mac IE 5.1 reports version 5.0 in
    // appVer but correctly reports 5.1 in agt
    var iePos  = agt.indexOf('msie');
    if (iePos !=-1) {
       is_minor = parseFloat(agt.substring(iePos+5,agt.indexOf(';',iePos)))
       is_major = parseInt(is_minor);
    }

    var is_gecko = ((navigator.product)&&(navigator.product.toLowerCase()=="gecko"))?true:false;
    var is_gver  = 0;
    if (is_gecko) is_gver=navigator.productSub;

    var is_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)     &&
                    (is_gecko) && 
                    ((navigator.vendor=="")||(navigator.vendor=="Mozilla")));
    if (is_moz) {
       var is_moz_ver = (navigator.vendorSub)?navigator.vendorSub:0;
       if(!(is_moz_ver)) {
           is_moz_ver = agt.indexOf('rv:');
           is_moz_ver = agt.substring(is_moz_ver+3);
           is_paren   = is_moz_ver.indexOf(')');
           is_moz_ver = is_moz_ver.substring(0,is_paren);
       }
       is_minor = is_moz_ver;
       is_major = parseInt(is_moz_ver);
    }

    var is_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)
                && (!(is_moz)));
    if ((navigator.vendor)&&
        ((navigator.vendor=="Netscape6")||(navigator.vendor=="Netscape"))&&
        (is_nav)) {
       is_major = parseInt(navigator.vendorSub);
       is_minor = parseFloat(navigator.vendorSub);
    }

    var is_opera = (agt.indexOf("opera") != -1);
    var is_nav7up = (is_nav && is_minor >= 7);
    var is_ie   = ((iePos!=-1) && (!is_opera));
    var is_ie50   = (is_ie && is_minor == 5);
    var is_ie5up = (is_ie && is_minor >= 5);
    var is_firefox = (agt.indexOf("firefox") != -1);
    var is_firefox_ver = appVer.substring(appVer.indexOf("firefox") +
    	"firefox/".length);
    var is_safari = (agt.indexOf("safari") != -1);
    var is_saf_ver = appVer.substring(appVer.indexOf("safari") + 
    	"safari/".length);

    // *** PLATFORM ***
    var is_mac    = (agt.indexOf("mac")!=-1);