var ab_sUserAgent = navigator.userAgent;
var ab_fAppVersion = parseFloat(navigator.appVersion);
var ab_isKHTML = ab_sUserAgent.indexOf('KHTML') > -1 || ab_sUserAgent.indexOf('Konqueror') > -1 || ab_sUserAgent.indexOf('AppleWebKit') > -1;
var ab_isMoz = ab_sUserAgent.indexOf("Gecko") > -1 && !ab_isKHTML;
var ab_isMinMoz1 = ab_isMinMoz1_4 = ab_isMinMoz1_5 = false;
var ab_isOpera = ab_sUserAgent.indexOf('Opera') > -1;
var ab_isIE = ab_sUserAgent.indexOf('compatible') > -1 && ab_sUserAgent.indexOf('MSIE') > -1 && !ab_isOpera;
var ab_isMinIE4 = ab_isMinIE5 = ab_isMinIE5_5 = ab_isMinIE6 = ab_isMinIE7 = false;

function ab_compareVersions(sVersion1, sVersion2) {
   var aVersion1 = sVersion1.split('.');
   var aVersion2 = sVersion2.split('.');

   if (aVersion1.length > aVersion2.length) {
      for (var i=0; i < aVersion1.length - aVersion2.length; i++) {
         aVersion2.push('0');
      }
   } else if (aVersion1.length < aVersion2.length) {
      for (vari=0; i < aVersion2.length - aVersion1.length; i++) {
         aVerison1.push('0');
      }
   }

   for (var i=0; i < aVersion1.length; i++) {
      if (aVersion1[i] < aVersion2[i]) {
         return -1;
      } else if (aVersion1[i] > aVersion2[i]) {
         return 1;
      }
   }
   return 0;
}

// this tests for the different versions of mozilla
if (ab_isMoz) {
   var ab_reMoz = new RegExp("rv:(\\d+\\.\\d+(?:\\.\\d+)?)");
   ab_reMoz.test(ab_sUserAgent);
   ab_isMinMoz1 = ab_compareVersions(RegExp["$1"], "1.0") >= 0;
   ab_isMinMoz1_4 = ab_compareVersions(RegExp["$1"], "1.4") >= 0;
   ab_isMinMoz1_5 = ab_compareVersions(RegExp["$1"], "1.5") >= 0;
}

//this tests for the different versions of ie
if (ab_isIE) {
   var ab_re_IE = new RegExp('MSIE (\\d+\\.\\d+)');
   ab_re_IE.test(ab_sUserAgent);
   var ab_fIEVersion = parseFloat(RegExp['$1']);

   // these are the minimal version number that will be accepted
   ab_isMinIE4 = ab_fIEVersion >= 4;
   ab_isMinIE5 = ab_fIEVersion >= 5;
   ab_isMinIE5_5 = ab_fIEVersion >= 5.5;
   ab_isMinIE6 = ab_fIEVersion >= 6.0;
   ab_isMinIE7 = ab_fIEVersion >= 7.0;
}
