
 var agent=navigator.userAgent.toLowerCase();
 var appVer=navigator.appVersion.toLowerCase();
 var versionMain=parseInt(navigator.appVersion);
 var versionDetailed=parseFloat(navigator.appVersion);

 var isNav=((agent.indexOf('mozilla')!=-1) && (agent.indexOf('spoofer')==-1) && (agent.indexOf('compatible')==-1) && (agent.indexOf('opera')==-1) && (agent.indexOf('webtv')==-1) && (agent.indexOf('hotjava')==-1) && (agent.indexOf('safari')==-1));
 var isNav2=(isNav && (versionMain==2));
 var isNav3=(isNav && (versionMain==3));
 var isNav4=(isNav && (versionMain==4));
 var isNav6=(isNav && versionMain==6);
 var isNav5=(isNav && versionMain==5 && !isNav6);
 var isNav7=(isNav && versionMain==7);
 var isNav8=(isNav && versionMain==8);

 var isNavonly=(isNav && ((agent.indexOf(";nav")!=-1) || (agent.indexOf("; nav")!=-1)));

 var isNav4up=(isNav && versionDetailed>=4); 
 var isNav7up=(isNav && versionDetailed>=7);
 var isNav5up=(isNav && versionDetailed>=5);
 var isNav6up=(isNav && versionDetailed>=6);
 var isNav8up=(isNav && versionDetailed>=8);

 var IEPos=appVer.indexOf('msie');

 if (IEPos!=-1) {
 
  if(isMac) {

    var IEPos=agent.indexOf('msie');
    versionDetailed=parseFloat(agent.substring(IEPos+5,agent.indexOf(';',IEPos)));
  
  }

  else	{ 

   versionDetailed=parseFloat(appVer.substring(IEPos+5,appVer.indexOf(';',IEPos)));
   versionMain=parseInt(versionDetailed);

  }

 }
                                    
 var isKonq=false;
 var kqPos=agent.indexOf('konqueror');

 if (kqPos!=-1) {

  isKonq=true;
  versionDetailed=parseFloat(agent.substring(kqPos+10,agent.indexOf(';',kqPos)));
  versionMain=parseInt(versionDetailed);

 }  

 var isKhtml=(isSafari || isKonq);

 var isIE=((IEPos!=-1) && (!isOpera) && (!isKhtml));
 var isIE3=(isIE && (versionMain < 4));
 var isIE4=(isIE && versionMain == 4);
 var isIE5=(isIE && versionMain == 5);
 var isIE5_5=(isIE && (agent.indexOf("msie 5.5") !=-1));
 var isIE6=(isIE && versionMain == 6);
 var isIE7=(isIE && versionMain == 7);

 var isE4up=(isIE && versionDetailed>=4);
 var isIE5up=(isIE && versionDetailed>=5);
 var isIE5_5up=(isIE && versionDetailed>=5.5); 
 var isIE6up=(isIE && versionDetailed>=6);
 var isIE7up=(isIE && versionDetailed>=7);

 var isOpera=(agent.indexOf("opera")!=-1);
 var isOpera2=(agent.indexOf("opera 2")!=-1 || agent.indexOf("opera/2")!=-1);
 var isOpera3=(agent.indexOf("opera 3")!=-1 || agent.indexOf("opera/3")!=-1);
 var isOpera4=(agent.indexOf("opera 4")!=-1 || agent.indexOf("opera/4")!=-1);
 var isOpera5=(agent.indexOf("opera 5")!=-1 || agent.indexOf("opera/5")!=-1);
 var isOpera6=(agent.indexOf("opera 6")!=-1 || agent.indexOf("opera/6")!=-1);
 var isOpera7=(agent.indexOf("opera 7")!=-1 || agent.indexOf("opera/7")!=-1);
 var isOpera8=(agent.indexOf("opera 8")!=-1 || agent.indexOf("opera/8")!=-1); 
 var isOpera9=(agent.indexOf("opera 9")!=-1 || agent.indexOf("opera/9")!=-1);

 var isOpera5up=(isOpera && !isOpera2 && !isOpera3 && !isOpera4);
 var isOpera6up=(isOpera && !isOpera2 && !isOpera3 && !isOpera4 && !isOpera5);
 var isOpera7up=(isOpera && !isOpera2 && !isOpera3 && !isOpera4 && !isOpera5 && !isOpera6); 
 var isOpera8up=(isOpera && !isOpera2 && !isOpera3 && !isOpera4 && !isOpera5 && !isOpera6 && !isOpera7);
 var isOpera9up=(isOpera && !isOpera2 && !isOpera3 && !isOpera4 && !isOpera5 && !isOpera6 && !isOpera7 &&!isOpera8);

 var isSafari=(agent.indexOf('safari')!=-1);
 var isSafari2=(isSafari && agent.indexOf("applewebkit/4")!=-1);
 var isSafari3=(isSafari && agent.indexOf("applewebkit/5")!=-1);
 var isSafari4=(isSafari && agent.indexOf("version/4")!=-1);
 var isSafari1=(!isSafari2 && !isSafari3);

 var isGecko=(agent.indexOf('gecko')!=-1);

 var isFirefox=((agent.indexOf('mozilla/5')!=-1) && (agent.indexOf('spoofer')==-1) && (agent.indexOf('compatible')==-1) && (agent.indexOf('opera')==-1)  && (agent.indexOf('webtv')==-1) && (agent.indexOf('hotjava')==-1) && (isGecko) && ((navigator.vendor=="Firefox") || (agent.indexOf('firefox')!=-1)));

 var isFirebird=((agent.indexOf('mozilla/5')!=-1) && (agent.indexOf('spoofer')==-1) && (agent.indexOf('compatible')==-1) && (agent.indexOf('opera')==-1)  && (agent.indexOf('webtv')==-1) && (agent.indexOf('hotjava')==-1) && (isGecko) && (navigator.vendor=="Firebird"));

 var isMozilla=((agent.indexOf('mozilla/5')!=-1) && (agent.indexOf('spoofer')==-1) && (agent.indexOf('compatible')==-1) && (agent.indexOf('opera')==-1)  && (agent.indexOf('webtv')==-1) && (agent.indexOf('hotjava')==-1) && (isGecko) && (!isFirebird) && (!isFirefox) && ((navigator.vendor=="") || (navigator.vendor=="Mozilla") || (navigator.vendor=="Debian")));

 if((isMozilla) || (isFirebird) || (isFirefox)) {

  var isMozVer=(navigator.vendorSub) ? navigator.vendorSub : 0;
  
  if(isFirefox && !isMozVer) {

   isMozVer = agent.indexOf('firefox/');
   isMozVer = agent.substring(isMozVer+8);
   isMozVer = parseFloat(isMozVer);

  }
 
  if(!(isMozVer)) {

   isMozVer=agent.indexOf('rv:');
   isMozVer=agent.substring(isMozVer+3);
   isParen=isMozVer.indexOf(')');
   isMozVer=isMozVer.substring(0,isParen);

  }
 
  versionDetailed=isMozVer;
  versionMain=parseInt(isMozVer);

 }

 var FirebirdVer=isMozVer;
 var FirefoxVer=isMozVer;

 var isMac=(agent.indexOf("mac")!=-1);

 var isGetElementById=(document.getElementById) ? "true" : "false";
 var isGetElementsByTagName=(document.getElementsByTagName) ? "true" : "false";
 var isDocumentElement=(document.documentElement) ? "true" : "false";

 var isHotjava=(agent.indexOf("hotjava")!=-1);
 var isHotjava3=(isHotjava && (versionMain==3));
 var isHotjava3up=(isHotjava && (versionMain>=3));

 var isJs;

 if (isNav2 || isIE3) isJs=1.0;
 else if(isNav3) isJs=1.1;
 else if((isOpera5)||(isOpera6)) isJs=1.3;
 else if(isOpera7up) isJs=1.5;
 else if (isKhtml) isJs = 1.5;
 else if (isOpera) isJs = 1.1;
 else if ((isNav4 && (versionDetailed<=4.05)) || isIE4) isJs=1.2;
 else if ((isNav4 && (versionDetailed>4.05)) || isIE5) isJs=1.3;
 else if (isNav5 && !(isNav6)) isJs=1.4;
 else if (isHotjava3up) isJs=1.4;
 else if (isNav6up) isJs=1.5;

 else if (isNav && (versionMain>5)) isJs=1.4;
 else if (isIE && (versionMain>5)) isJs=1.3;
 else if (isMozilla) isJs=1.5;
 else if (isFirebird||isFirefox) isJs=1.5;
    
 if ((agent.indexOf("mac")!=-1) && isIE5up) isJs=1.4;
    
 if (isNav6up) {
 
  versionDetailed=navigator.vendorSub;
 
 }

 var isWin=((agent.indexOf("win")!=-1) || (agent.indexOf("16bit")!=-1));

 var isWin95=((agent.indexOf("win95")!=-1) || (agent.indexOf("windows 95")!=-1));

 var isWin16=((agent.indexOf("win16")!=-1) || (agent.indexOf("16bit")!=-1) || (agent.indexOf("windows 3.1")!=-1) || (agent.indexOf("windows 16-bit")!=-1));
 var isWin3_1=((agent.indexOf("windows 3.1")!=-1) || (agent.indexOf("win16")!=-1) || (agent.indexOf("windows 16-bit")!=-1));
 var isWinME=((agent.indexOf("win 9x 4.90")!=-1));
 var isWin2k=((agent.indexOf("windows nt 5.0")!=-1) || (agent.indexOf("windows 2000")!=-1));
 var isWinXP=((agent.indexOf("windows nt 5.1")!=-1) || (agent.indexOf("windows xp")!=-1));
 var isWin98=((agent.indexOf("win98")!=-1) || (agent.indexOf("windows 98")!=-1));
 var isWinNT=((agent.indexOf("winnt")!=-1) || (agent.indexOf("windows nt")!=-1));
 var isWin32=(isWin95 || isWinNT || isWin98 || ((versionMain >= 4) && (navigator.platform == "Win32")) || (agent.indexOf("win32")!=-1) || (agent.indexOf("32bit")!=-1));

 var isOs2=((agent.indexOf("os/2")!=-1) || (navigator.appVersion.indexOf("OS/2")!=-1) || (agent.indexOf("ibm-webexplorer")!=-1));

 if (isMac) {

  isWin=!isMac;

 }

 var isMac68k=(isMac && ((agent.indexOf("68k")!=-1) || (agent.indexOf("68000")!=-1)));
 var is_macppc=(isMac && ((agent.indexOf("ppc")!=-1) ||(agent.indexOf("powerpc")!=-1)));
 var is_macosx=(isMac && (agent.indexOf("os x")!=-1));

 var isSun=(agent.indexOf("sunos")!=-1);
 var isSun4=(agent.indexOf("sunos 4")!=-1);
 var isSun5=(agent.indexOf("sunos 5")!=-1);
 var isSuni86=(isSun && (agent.indexOf("i86")!=-1));
 var isIrix=(agent.indexOf("irix") !=-1);
 var isIrix5 =(agent.indexOf("irix 5") !=-1);
 var isIrix6=((agent.indexOf("irix 6") !=-1) || (agent.indexOf("irix6") !=-1));
 var isHpux=(agent.indexOf("hp-ux")!=-1);
 var isHpux9=(isHpux && (agent.indexOf("09.")!=-1));
 var isHpux10=(isHpux && (agent.indexOf("10.")!=-1));
 var isAix=(agent.indexOf("aix") !=-1);
 var isAix1=(agent.indexOf("aix 1") !=-1);
 var isAix2=(agent.indexOf("aix 2") !=-1);
 var isAix3=(agent.indexOf("aix 3") !=-1);
 var isAix4=(agent.indexOf("aix 4") !=-1);
 var isLinux=(agent.indexOf("inux")!=-1);
 var isSco=(agent.indexOf("sco")!=-1) || (agent.indexOf("unix_sv")!=-1);
 var isUnixware=(agent.indexOf("unix_system_v")!=-1);
 var isMpras=(agent.indexOf("ncr")!=-1);
 var isReliant=(agent.indexOf("reliantunix")!=-1);
 var isDec=((agent.indexOf("dec")!=-1) || (agent.indexOf("osf1")!=-1) || (agent.indexOf("dec_alpha")!=-1) || (agent.indexOf("alphaserver")!=-1) || (agent.indexOf("ultrix")!=-1) || (agent.indexOf("alphastation")!=-1));
 var isSinix=(agent.indexOf("sinix")!=-1);
 var isFreebsd=(agent.indexOf("freebsd")!=-1);
 var isBsd=(agent.indexOf("bsd")!=-1);
 var isUnix=((agent.indexOf("x11")!=-1) || isSun || isIrix || isHpux ||isSco ||isUnixware || isMpras || isReliant ||isDec || isSinix || isAix || isLinux || isBsd || isFreebsd);

 var isVms=((agent.indexOf("vax")!=-1) || (agent.indexOf("openvms")!=-1));

 var isJava=(navigator.javaEnabled());

 var is_Flash=false;
 var is_FlashVersion=0;

 if ((isNav || isOpera || isMozilla || isFirebird || isFirefox | isSafari) || (isMac && isIE5up)) {

  var plugin=(navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"] && navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;

  if (plugin && plugin.description) {
  
   isFlash=true;
   isFlashVersion=parseInt(plugin.description.substring(plugin.description.indexOf(".")-1));

  }

 }
