
function commify (number) {
  number = '' + number;
  if (number.length > 3) {
    var mod = number.length % 3;
    var output = (mod > 0 ? (number.substring(0,mod)) : '');
    for (i=0 ; i < Math.floor(number.length / 3); i++) {
      if ((mod == 0) && (i == 0)) output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
      else output+= ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);
    }
    return (output);
  }
  else return number;
}

function printBrowserInfo() {

    window.onerror=null;
    if (navigator.appName) {
      document.write('Browser name: ' + navigator.appName + '<br />');
    };

    if (navigator.appVersion) {
      document.write('Browser version: ' + navigator.appVersion + '<br />');
    };

    if (navigator.appCodeName) {
      document.write('Browser codename: ' + navigator.appCodeName + '<br />');
    };

    if (navigator.platform) {
      document.write('Operating system: ' + navigator.platform + '<br />');
    };

    document.write('<br />');

    if (document.referrer) {
      document.write('Last page you visited (referer): ' + document.referrer + '<br />');
    };

    if (history.length) {
      document.write('Number of sites in history list: ' + history.length + '<br />');
    };

    document.write('<br />');

    if (window.screen.width && window.screen.height) {
      document.write('Screen size: ' + window.screen.width + ' x ' + window.screen.height + ' pixels<br />');
    };

    if (window.screen.availWidth && window.screen.availHeight) {
      document.write('Screen size minus space used by ' + navigator.platform + ' user interface: ' +
        window.screen.availWidth + ' x ' + window.screen.availHeight + ' pixels<br />');
    };

    colors = window.screen.colorDepth;
    if (colors) {
      document.write('Color depth: ' + colors + '-bit (' + commify(Math.pow(2,colors)) + ' colors)<br />');
    };

    document.write('<br />');

    checktype = document.layers ? document.checkcss : checkcss;
    document.write('CSS support: ');
    var css = (checktype) ? 'yes' : 'no';
    document.write(css);
    document.write('<br />');
    switch (window.screen.fontSmoothingEnabled) {
      case true : document.write('Font smoothing: yes<br />'); break;
      case false : document.write('Font smoothing: no<br />'); break;
    };

    java = navigator.javaEnabled();
    if (java == 1) { document.write('Java enabled: yes<br />'); };
    if (java < 1) { document.write('Java enabled: no<br />'); };

    if (navigator.plugins.length) {
      document.write('Number of plug-ins: ' + navigator.plugins.length + '<br />');
    };

};
