var _uainfo = [// label, in mail, appname pattern, UA pattern
               ['Firefox', 'Fx', 'Netscape', 'Firefox'],
               ['Internet Explorer', 'IE', 'Microsoft Internet Explorer', null],
               ['Lunascape', 'Ls', 'Microsoft Internet Explorer', null],
               ['Mozilla', 'Mz', 'Netscape', null],
               ['Netscape Navigator', 'NN', 'Netscape', 'Netscape'],
               ['Opera', 'Op', 'Microsoft Internet Explorer', 'Opera'],
               ['Sleipnir', 'Sl', 'Microsoft Internet Explorer', null]
               ];

function getUALabels() {
    var a = new Array();
    for(var i=0; i<_uainfo.length; i++) {
        a.push(_uainfo[i][0]);
    }
    return a;
}

function getUAID(id) {
    if(_uainfo[id]) {
	return _uainfo[id][1];
    }
}

function guessUA() {

    var app = navigator.appName;
    var ua = navigator.userAgent;
    
    // pass 1; strict match
    for(var i=0; i<_uainfo.length; i++) {
        if(app == _uainfo[i][2] &&
           _uainfo[i][3] != null && ua.match(_uainfo[i][3])) {
            return i;
        }
    }

    // pass 2; loose match
    for(var i=0; i<_uainfo.length; i++) {
        if(app == _uainfo[i][2] &&
           _uainfo[i][3] == null) {
            return i;
        }
    }

    return -1;
}
