var browserNum=0;

function whichCSS()
  {
  // simple detection
	var styleSheet = '';
	if (isMac()) {
		if (isNetscape() ) {		
			styleSheet = '<link REL=\"stylesheet\" HREF=\"nmac.css\" TYPE=\"text\/css\">';
			}
		else if (isIE()) {
			styleSheet = '<link REL=\"stylesheet\" HREF=\"iemac.css\" TYPE=\"text\/css\">';
			}
		else {		
			styleSheet = '<link REL=\"stylesheet\" HREF=\"iegeneric.css\" TYPE=\"text\/css\">';
			}		
	} else 
	if (isWin()) {
		if (isNetscape() ) {		
			styleSheet = '<link REL=\"stylesheet\" HREF=\"ngeneric.css\" TYPE=\"text\/css\">';
			}
		else if (isIE()) {		
			styleSheet = '<link REL=\"stylesheet\" HREF=\"iegeneric.css\" TYPE=\"text\/css\">';
			}
		else {		
			styleSheet = '<link REL=\"stylesheet\" HREF=\"iegeneric.css\" TYPE=\"text\/css\">';
			}	
	}
	// simple detection - which CSS
	document.write(styleSheet);

	displayCSS("netscape", "3.x", "any", "ngeneric.css");  // Netscape 3.x, any platform
	displayCSS("netscape", "4.x", "win", "ngeneric.css");  // Netscape 4.x, Windows
	displayCSS("netscape", "4.x", "mac", "nmac.css");  // Netscape 4.x, Mac
	displayCSS("netscape", "4.x", "unix", "ngeneric.css");  // Netscape 4.x, UNIX
	displayCSS("ie", "3.x", "any", "iegeneric.css");    // IE 3.x, any platform
	displayCSS("ie", "4.x", "any", "iegeneric.css");    // IE 4.x, any platform
	displayCSS("ie", "5.x", "win", "iegeneric.css");    // IE 5.x, Windows
	displayCSS("ie", "5.x", "mac", "iemac.css");    // IE 5.x, Mac
	displayCSS("ie", "5.x", "unix", "iegeneric.css");  // IE 5.x, UNIX
  }


function getBrowser()  // get the browser program name
  {
  if (navigator.appName == null || navigator.appName == "") {
  	browserNum=1;
    return "other";
	} else if (navigator.appName == "Netscape") {
	browserNum=2;
    return "netscape";
  } else if (navigator.appName == "Microsoft Internet Explorer") {
  	browserNum=1;
    return "ie";
  } else {
    return "other";
	}
  }

function isNetscape()  // is browser Netscape?
  {
  if (getBrowser() == "netscape")
    return true;
  else
    return false;
  }

function isIE()  // is browser IE?
  {
  if (getBrowser() == "ie")
    return true;
  else
    return false;
  }

function getBrowserVer()  // get the browser version
  {
  if (navigator.appVersion == null || navigator.appVersion == "")
    return "n/a";
  // fix for IE 5.x appVersion bug, which returns 4.x instead of 5.x
  if (isIE() && navigator.userAgent.indexOf("5.") != -1)
    { 
    var verNum = "";
    var str = navigator.userAgent;
    var pos = str.indexOf("IE ");  // real version num follows "IE "
    for (pos=pos+3; pos<str.length; pos++)  // build verNum string
      if (str.charAt(pos) == "." || 
         (str.charAt(pos) <= "9" && str.charAt(pos) >= "0"))
        verNum += str.charAt(pos);
      else
        break;
    return verNum;
    }
  var verArray = navigator.appVersion.split(" ");
  return verArray[0];
  }

function isVer3()  // is browser version 3.x?
  {
  if (getBrowserVer() >= 3.0 && getBrowserVer() < 4.0)
    return true;
  else
    return false;
  }

function isVer4()  // is browser version 4.x?
  {
  if (getBrowserVer() >= 4.0 && getBrowserVer() < 5.0)
    return true;
  else
    return false;
  }

function isVer4up()  // is browser version 4.0+? (for DHTML coding)
  {
  if (getBrowserVer() >= 4.0)
    return true;
  else
    return false;
  }

function isVer5()  // is browser version 5.x?
  {
  if (getBrowserVer() >= 5.0 && getBrowserVer() < 6.0)
    return true;
  else
    return false;
  }

function getPlatform()  // get the browser platform (OS)
  {
  if (navigator.platform == null || navigator.platform == "")
    return "other";
  else if (navigator.platform.indexOf("Mac") >= 0)
    return "mac";
  else if (navigator.platform.indexOf("Win") >= 0)
    return "win";
  else if (navigator.platform.indexOf("Unix") >= 0)
    return "unix";
  else
    return "other";
  }

function isMac()  // is browser OS Mac?
  {
  if (getPlatform() == "mac")
    return true;
  else
    return false;
  }

function isWin()  // is browser OS Windows?
  {
  if (getPlatform() == "win")
    return true;
  else
    return false;
  }

function isUNIX()  // is browser OS UNIX?
  {
  if (getPlatform() == "unix")
    return true;
  else
    return false;
  }

function displayCSS(browser, version, platform, CSS)
  {
  var sSheet = '<link REL=\"stylesheet\" HREF=\"'+CSS+'\" TYPE=\"text\/css\">';
  
  // first make sure that version = user's browser version
  if (version.indexOf("x") != -1)  // version is in "#.x" format
    {
    if ((version.charAt(0) == "3") && (isVer3() == false))
      return;  // version's incorrect, return
    else if ((version.charAt(0) == "4") && (isVer4() == false))
      return;  // version's incorrect, return 
    else if ((version.charAt(0) == "5") && (isVer5() == false))
      return;  // version's incorrect, return 
    }
  else if (version.indexOf(".") != -1) // version is in #.#[#] format
    {
    if (version != getBrowserVer())
      return;  // version's incorrect, return to caller
    }
  // okay, version's correct, but what about browser/platform?
  if ( ((browser == getBrowser()) || (browser == "any"))
       && 
       ((platform == getPlatform()) || (platform == "any")) )
   document.write(sSheet);  // display Stylesheet    
  else
    return;  // B and/or P incorrect, return
  }

  whichCSS() ;
