/* sniffer.js
Browser detection and classification script
Requires JavaScript1.0
(c) 2000 by L.W. Haynes, all rights reserved
    Permission is granted to reuse, redistribute and modify so long as this copyright notice is retained.
    If you redistribute this code, please comment your additions.
    http://members.home.net/lwhaynes
*/
var dom = 0.0;
var jsLevel = 0.0;
var agt = navigator.userAgent.toLowerCase(); 
if ((agt.indexOf('mozilla') != -1) && 
    (agt.indexOf('spoofer') == -1) && 
    (agt.indexOf('compatible') == -1) && 
    (agt.indexOf('opera') == -1) && 
    (agt.indexOf('webtv') == -1))
    {
    var is_nav = true;
    var is_nav4 = parseInt(navigator.appVersion) == 4 ? true : false;
    if (parseInt(navigator.appVersion) == 2)
        jsLevel = 1.0;
    else if (parseInt(navigator.appVersion) == 3)
        jsLevel = 1.1;
    else if (parseFloat(navigator.appVersion) <= 4.05)
        jsLevel = 1.2;
    else if (is_nav4 && parseFloat(navigator.appVersion) > 4.05)
        jsLevel = 1.3;
    else if (parseInt(navigator.appVersion) >= 5)
        jsLevel = 1.5;
    }
if (agt.indexOf("msie") != -1)
    {
    var is_ie = true;
    var is_ie4 = ((parseInt(navigator.appVersion) == 4) && (agt.indexOf("msie 5") == -1));
    if (parseInt(navigator.appVersion) == 3)
        jsLevel = 1.0;
    else if (is_ie4)
        jsLevel = 1.2;
    else if (agt.indexOf("msie 5") != -1)
        jsLevel = 1.3;
    else if (agt.indexOf("msie 5.5") != -1)
        jsLevel = 1.5;
    if ((parseInt(navigator.appVersion) == 4) && (agt.indexOf("msie 5") != -1))
        dom = 0.5;
    }    
if (agt.indexOf("opera") != -1)
    {
    var is_opera = true;
    jsLevel = parseInt(navigator.appVersion) >= 4 ? 1.3 : 1.1;
    }
if (document.implementation && document.implementation.hasFeature)
    {
    if (document.implementation.hasFeature('XML', '1.0') && document.implementation.hasFeature('HTML', '1.0'))
        dom = 1.0;
    if (document.implementation.hasFeature('XML', '2.0') && document.implementation.hasFeature('HTML', '2.0'))
        {
        dom = 2.0;
        var domEvents = document.implementation.hasFeature('Events', '2.0');
        var domHTMLEvents = document.implementation.hasFeature('HTMLEvents', '2.0');
        var domUIEvents = document.implementation.hasFeature('UIEvents', '2.0');
        var domKeyEvents = document.implementation.hasFeature('KeyEvents', '2.0');
        var domMouseEvents = document.implementation.hasFeature('MouseEvents', '2.0');
        var domMutationEvents = document.implementation.hasFeature('MutationEvents', '2.0');
        var domStyleSheets = document.implementation.hasFeature('StyleSheets', '2.0');
        var domCSS = document.implementation.hasFeature('CSS', '2.0');
        var domCSS2 = document.implementation.hasFeature('CSS2', '2.0');
        var domRange = document.implementation.hasFeature('Range', '2.0');
        var domTraversal = document.implementation.hasFeature('Traversal', '2.0');
        var domViews = document.implementation.hasFeature('Views', '2.0');
        }
    }

