/*
####################################################################################################
# User Agent Sniffer ver. 3.0 (Superior Edition)
# JavaScript coding: curious epicurean; vincent.
# Copyright (c) 2003 Art Studio Vincent All rights reserved.
####################################################################################################
*/

// convert all characters of userAgent to lowercase
var _agent = navigator.userAgent.toLowerCase();

// convert all characters of appName to lowercase (for false name of iCab)
var _name = navigator.appName.toLowerCase();

// os variable
var _win = (_agent.indexOf('win') != -1);
var _mac = (_agent.indexOf('mac') != -1);

// browser version
var _major = parseInt(navigator.appVersion);
var _minor = parseFloat(navigator.appVersion);

// browser variable
var _dom = (document.getElementById); // Document Object Model
var _rv0 = (_agent.indexOf('rv:0') != -1);
var _rv1 = (_agent.indexOf('rv:1') != -1);
var _gck = (_agent.indexOf('gecko') != -1);
var _mos = (_agent.indexOf('netscape') != -1);

// minority browsers
var _opr  = (window.opera);
var _opr5 = (_opr && ((_major == 5) || (_agent.indexOf('opera 5') != -1)));
var _opr6 = (_opr && ((_major == 6) || (_agent.indexOf('opera 6') != -1)));
var _opr7 = (_opr && ((_major == 7) || (_agent.indexOf('opera 7') != -1)));
var _icb  = ((_agent.indexOf('icab') != -1) || (_name.indexOf('icab') != -1));
var _sfr  = (_agent.indexOf('safari') != -1);

// netscape
var _ns  = ((_agent.indexOf('mozilla') != -1) && (_agent.indexOf('compatible') == -1));
var _nav = (_ns && ((_agent.indexOf(';nav') != -1) || (_agent.indexOf('; nav') != -1)));
var _ns4 = ((_ns && (_major == 4)) || (_nav && (_major == 4)));
var _ns6 = (_ns && (_major == 5) && _rv0 && _gck && _mos);
var _ns7 = (_ns && (_major == 5) && _rv1 && _gck && _mos);

// mozzila (include wazzila)
var _moz0 = (_ns && (_major == 5) && _rv0 && _gck && !_mos);
var _moz1 = (_ns && (_major == 5) && _rv1 && _gck && !_mos);
var _moz  = (_moz0 || _moz1);

// internet explorer
var _ie  = ((_agent.indexOf('msie') != -1) && !_opr && !_icb);
var _ie4 = (_ie && (_major == 4) && (_agent.indexOf('msie 4') != -1));
var _ie5 = (_ie && (_major == 4) && (_agent.indexOf('msie 5') != -1));
var _ie6 = (_ie && (_major == 4) && (_agent.indexOf('msie 6') != -1));
