// convert all characters to lowercase to simplify testing
var browserAgt=navigator.userAgent.toLowerCase();

function getBrowserVersion() {
    var verNum = -1;
    var msieIdx =browserAgt.indexOf('msie');
    if (msieIdx>=0) {
        var endIdx = browserAgt.indexOf(';',msieIdx+4);
        verNum = parseFloat( browserAgt.slice(msieIdx+4,endIdx));
    } else {
        verNum = parseInt(navigator.appVersion);
    }

    if (isNaN(verNum)) {
        verNum = -1;
    }
    return verNum;
}

function isIE() {
    return (browserAgt.indexOf('msie')!=-1);
}

function isIE50() {
    return (browserAgt.indexOf('msie 5.0')!=-1);
}

function isIE60() {
    return (browserAgt.indexOf('msie 6.0')!=-1);
}

function isIE6() {
    return (browserAgt.indexOf('msie 6')!=-1);
}

function isMozilla() {
    // do a quick test for IE to speed things up for IE.
    if (browserAgt.indexOf('msie')!=-1) {
        return false;
    }

    // Note: Opera, WebTV and even IE 5.5+ spoof Mozilla.  We do strict client detection.
    return ((browserAgt.indexOf('mozilla')!=-1) && (browserAgt.indexOf('spoofer')==-1)
        && (browserAgt.indexOf('compatible') == -1) && (browserAgt.indexOf('opera')==-1)
        && (browserAgt.indexOf('webtv')==-1) );
}

function isOpera() {
    return (browserAgt.indexOf('opera')!=-1);
}



// Return if browser is supported.
// Just add more checks when more browsers are supported.
function checkBrowser()
{
    return ( checkIE() || checkMozilla() || isOpera() );
}

// Returns true if IE 5 or above
function checkIE() {
    var is_ie = isIE();
    var ie5up = ( document.getElementById && is_ie );
    return ie5up;
}

// Returns true if Mozilla-based browser such as Netscape 6+
function checkMozilla() {
    // NOTE: Mozilla/Netscape 6 has major number 5
    return ( (parseInt(navigator.appVersion) >= 5) && isMozilla() );
}

// Returns true if Opera 7 or above
function checkOpera() {
    return ( (parseInt(navigator.appVersion) >= 7) && isOpera() );
}


