// initialize

var appname = navigator.appName;
var useragent = navigator.userAgent;
if (useragent.indexOf('Opera') != -1) {appname = 'Opera';
}
var appversion = navigator.appVersion;

var browString = '';
var browVersion = 0;

var p1 = 0;
var p2 = 0;
var p3 = 0;
var s1 = '';

// test strings
// appname = 'Microsoft Internet Explorer';
// useragent = 'Mozilla/4.0 (compatible; MSIE 5.0; Macintosh OS X)';
// appversion = '4.0 (compatible; MSIE 5.0; Macintosh OS X)';

// useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.3) Gecko/20040707';
// useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.3) Gecko/20040707 Firefox/0.10.1';
// useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.5) Gecko/20040707 Firefox/0.9.6';
// useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.5) Gecko/20040707 Netscape/7.2';
// useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.3) Gecko/20040707 K-Meleon/0.82';
// useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.3) Gecko/20040707 MyBrowser/0.1';
// useragent = 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4a) Gecko/20030408 Phoenix/0.5+';
// useragent = 'Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.4a) Gecko/20030419';
// useragent = 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4a) Gecko/20030325';
// useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.4)';
// useragent = 'Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.4b) Gecko/20030511 Camino/0.7+';
// useragent = 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20031010 Debian/1.4-6';
// useragent = 'Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; 240x320)';
// useragent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Opera 7.54 [en]';
// useragent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.00';
// useragent = 'Opera/8.00 (compatible; MSIE 6.0; Windows NT 5.1; en)';
// useragent = 'Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-gb) AppleWebKit/103u (KHTML, like Gecko) Safari/100.1';
// useragent = 'Mozilla/5.0 (IRIX; en-US; rv:1.7.3) Gecko/20040707 Firebird/0.6';
// useragent = 'Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/48 (like Gecko) Safari/48';
// useragent = 'Mozilla/5.0 (compatible; Konqueror/2.2.2; Linux)';
// useragent = 'Mozilla/5.0 (compatible; Konqueror/3.2; Linux 2.4.22) (KHTML, like Gecko)';
// useragent = 'Mozilla/5.0 Galeon/1.2.5 (X11; Linux i686; U;) Gecko/0';
// useragent = 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040118 Galeon/1.3.11a';
// useragent = 'Mozilla/4.79 [en] (X11; U; SunOS 5.8 sun4u)';
// useragent = 'Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.0.1) Gecko/20020920 Netscape/7.0';
// useragent = 'Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.6) Gecko/20040116';
// useragent = 'Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.5) Gecko/20031027 Firebird/0.7';
// useragent = 'Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.6) Gecko/20040212 Firefox/0.8';
// useragent = 'Mozilla/5.0 (X11;OpenVMS V7.2 VAX)';
// useragent = 'Mozilla/4.0 (compatible; MSIE 6.0; America Online Browser 1.0; Windows NT 5.1)';

// look for Internet Explorer
if (appname.indexOf('Internet Explorer') != -1) {
  p1 = appversion.indexOf('MSIE') + 5;
  s1 = appversion.substring(p1,p1+8);
  p2 = s1.indexOf(';');
  if (p2 > 0) {browString = ' ' + s1.substring(0,p2);
}
  if (appname == 'Microsoft Internet Explorer') {appname = 'Internet Explorer';
}

// look for AOL browser
  p3 = useragent.indexOf('America Online Browser');
  if (p3 != -1) {
    s1 = useragent.substring(p3,p3+30);
    p4 = s1.indexOf(';');
    appname = s1.substring(0,p4);
  }

// look for Netscape
} else if (appname == 'Netscape') {
  p1 = appversion.indexOf('[') - 1;
  if (p1 < 0) {p1 = appversion.indexOf('(') - 1;
}
  if (p1 > 0) {browString = ' ' + appversion.substring(0,p1);
}

// look for Netscape 6 and greater
  p2 = useragent.indexOf('Netscape');
  if (p2 != -1) {
    s1 = useragent.substring(p2,p2+15);
    p1 = s1.indexOf('/');
    p3 = s1.indexOf(' ');
    if (p3 > 0) {
      browString = ' ' + s1.substring(p1+1,p3);
    } else if (p1 > 0) {
      browString = ' ' + s1.substring(p1+1,p1+6);
    }
  }

// look for Opera
} else if (appname == 'Opera') {
  p1 = useragent.indexOf('Opera') + 6;
  if (p1 != 6) {
				p2 = useragent.indexOf('[') + 1;
				if (p2 == 0) {p2 = p1+8;
}
				s1 = useragent.substring(p1,p2);
				browString = ' ' + s1;
				p2 = s1.indexOf('[');
				if (p2 > 0) {browString = ' ' + s1.substring(0,p2-2);
}
				p2 = browString.indexOf('\(');
				if (p2 > 0) {browString = browString.substring(0,p2-1);
}
  } else {
    p2 = useragent.indexOf('(');
    browString = ' ' + useragent.substring(6,p2-1);
  }
}
if (browString == '') {browString = ' ' + appversion;
}

browVersion = parseFloat(browString.substring(1,browString.length));

// look for Mozilla and variants (Netscape 5)
var mozString = ''
if (appname == 'Netscape' && browVersion >= 5) {
  appname = 'Mozilla';
  p4 = -1;
  pg = useragent.indexOf('Gecko/');
  if (pg != -1) {
    if (useragent.charCodeAt(pg+15) > 32) {
      appname = useragent.substring(pg+15,pg+35);
      p4 = pg+15;
      p5 = 100;
    }
  }

// Mozilla revision number (rv:)
  p1 = useragent.indexOf('rv:');
  if (p1 != -1) {
    p1 = p1 + 3;
    p2 = useragent.indexOf(')');

    if (p4 != -1) {
      browString = ' ' + useragent.substring(p5,p5+10);
      mozString = ' &nbsp;(<A HREF="http://www.mozilla.org/">' + useragent.substring(p1,p2) + '</A>)';
    } else if (browVersion < 6) {
      if (p2 > p1) {
        browString = ' ' + useragent.substring(p1,p2);
								p3 = browString.indexOf(';');
								if (p3 != -1) {browString = browString.substring(0,p3);
}
      } else {
        browString = '';
      }
    } else {
      mozString = ' &nbsp;(<A HREF="http://www.mozilla.org/">' + useragent.substring(p1,p2) + '</A>)';
    }
  } else {
    browString = '';
  }
  if (appname == 'Firefox/0.9.6' && useragent.substring(p1,p2) == '1.7.5') {
    appname = 'Netscape';
    browString = ' 8';
    browVersion = 8;
  }
}

// look for Safari
p1 = useragent.indexOf('Safari');
if (p1 != -1) {
  appname = 'Safari';
  s1 = useragent.substring(p1,p1+15);
  p2 = s1.indexOf('/');
  if (p2 > 0) {browString = s1.substring(p2,p2+6);
}
}

// look for Konqueror
p1 = useragent.indexOf('Konqueror');
if (p1 != -1) {
  appname = 'Konqueror';
  s1 = useragent.substring(p1,p1+30);
  p2 = s1.indexOf('/');
  p3 = s1.indexOf(';');
  if (p3 > p2) {browString = s1.substring(p2,p3);
}
}

// look for Galeon
p1 = useragent.indexOf('Galeon');
if (p1 != -1) {
  appname = 'Galeon';
  s1 = useragent.substring(p1,p1+30);
  p2 = s1.indexOf('/');
  p3 = s1.indexOf('(');
  if (p3 > p2) {
    browString = s1.substring(p2,p3);
  } else {
    browString = s1.substring(p2,p2+15);
  }
}

// look for WebTV
// useragent = 'Mozilla/4.0 WebTV/2.6 (compatible; MSIE 4.0)';
p1 = useragent.indexOf('WebTV');
if (p1 != -1) {
  appname = 'WebTV';
  browString = '';
  s1 = useragent.substring(p1,p1+30);
  p2 = s1.indexOf('/');
  p3 = s1.indexOf('(');
  if (p3 > p2) {browString = s1.substring(p2,p3);
}
}

// current web browser urls, update as necessary

var url_IE = '<A HREF="http://www.microsoft.com/windows/ie/">';
if (appversion.indexOf('Mac') != -1) {
  url_IE = '<A HREF="http://www.microsoft.com/mac/products/ie/">';
} else if (useragent.indexOf('Windows CE') != -1) {
  url_IE = '<A HREF="http://www.pocketpc.com/">';
}

var url_NS = '<A HREF="http://channels.netscape.com/ns/browsers/download.jsp">';
if (browVersion >= 8) {url_NS = '<A HREF="http://browser.netscape.com/nsb/download/default.jsp">';
}
if (browVersion <  5) {url_NS = '<A HREF="http://channels.netscape.com/ns/browsers/archive.jsp">';
}
if (browVersion <  4) {url_NS = '<A HREF="http://browsers.evolt.org/">';
}

var url_MZ = '<A HREF="http://www.mozilla.org/">';

if (useragent.indexOf('IRIX') != -1) {
  url_NS = '<A HREF="http://www.sgi.com/products/evaluation/index.html#netscape">';
  url_MZ = '<A HREF="http://freeware.sgi.com/index-by-alpha.html#mozilla">';
} else if (useragent.indexOf('SunOS') != -1) {
  url_MZ = '<A HREF="http://wwws.sun.com/software/solaris/browser/index.html">';
  url_NS = url_MZ;
} else if (useragent.indexOf('HP-UX') != -1) {
  url_NS = '<A HREF="http://www.hp.com/workstations/risc/standard/software/netscape/">';
  url_MZ = '<A HREF="http://www.hp.com/go/mozilla">';
} else if (useragent.indexOf('AIX') != -1) {
  url_NS = '<A HREF="http://www-1.ibm.com/servers/aix/browsers/">';
  url_MZ = url_NS;
}

// report web browser version

var mozhelp = 0;
//document.write('Navegador Internet: &nbsp;<B>');
if (appname.indexOf('Internet Explorer') != -1) {
  //document.write(url_IE + appname + browString + '</A>');
} else if (appname.indexOf('Netscape') != -1) {
  //document.write(url_NS + appname + browString + '</A>');
} else if (appname == 'Opera') {
  //document.write('<A HREF="http://www.opera.com/">' + appname + browString + '</A>');
} else if (appname == 'Safari') {
  //document.write('<A HREF="http://www.apple.com/safari/">' + appname + browString + '</A>');
} else if (appname == 'Konqueror') {
  //document.write('<A HREF="http://www.konqueror.org/">' + appname + browString + '</A>');
} else if (appname == 'Galeon') {
  //document.write('<A HREF="http://galeon.sourceforge.net/">' + appname + browString + '</A>');
} else if (appname.indexOf('America Online Browser') != -1) {
  //document.write('<A HREF="http://beta.aol.com/aolbrowser/">' + appname + '</A>');
} else if (appname.indexOf('K-Meleon') != -1) {
  //document.write('<A HREF="http://kmeleon.sourceforge.net/">' + appname + browString + '</A>');
} else if (appname == 'WebTV') {
  //document.write('<A HREF="http://www.msntv.com/">' + appname + browString + '</A>');
} else if (appname.indexOf('Mozilla') != -1 || appname.indexOf('Firefox') != -1 || appname.indexOf('Camino') != -1) {
  //document.write(url_MZ + appname + browString + '</A>');
  mozhelp = 1;
} else {
  //document.write(appname);
}
//document.write('</B>');

// Mozilla version for Netscape >6
if (mozString != '' && appname.indexOf('Firefox') == -1 && appname.indexOf('Camino') == -1) {//document.write(mozString);
}

// Plugin help
if (appname == 'Netscape') {
  //document.write(' &nbsp;(<A HREF="http://channels.netscape.com/ns/browsers/pi_manager.jsp">Ayuda de Plugin</A>)');
} else if (mozhelp == 1) {
  //document.write(' &nbsp;(<A HREF="http://plugindoc.mozdev.org/">Ayuda de Plugin</A>)');
} else if (appname == 'Opera') {
  //document.write(' &nbsp;(<A HREF="http://www.opera.com/docs/plugins/">Ayuda de Plugin</A>)');
} else if (appname == 'Microsoft Internet Explorer' || appname == 'Internet Explorer') {
  //document.write(' &nbsp;(<A HREF="http://www.microsoft.com/windows/ie/addon/default.mspx">Ayuda de Plugin</A>)');
}

if (appname.indexOf('Internet Explorer') != -1 || (appname == 'Netscape' && browVersion < 5) || appname.indexOf('America Online Browser') != -1) {
  if (appversion.indexOf('Mac') == -1 && appversion.indexOf('SunOS') == -1 && appversion.indexOf('IRIX') == -1) {
    //document.write('<BR>Otros navegadores de internet:&nbsp; <A HREF="http://www.mozilla.org/">Firefox</A>&nbsp;&nbsp;<A HREF="http://www.opera.com/">Opera</A>');
  } else if (useragent.indexOf('OS X') != -1) {
    //document.write('<BR>Other web browsers:&nbsp; <A HREF="http://www.apple.com/safari/">Safari</A>&nbsp;&nbsp;<A HREF="http://www.mozilla.org/">Firefox</A>&nbsp;&nbsp;<A HREF="http://www.mozilla.org/products/camino/">Camino</A>');
  }
}

if (appname == 'Netscape' || appname == 'Mozilla') {//document.write('</P>');
}

