var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function JSGetSwfVer(i) {
  if (navigator.plugins != null && navigator.plugins.length > 0) {
    if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
      var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
      var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
      descArray = flashDescription.split(" ");
      tempArrayMajor = descArray[2].split(".");
      versionMajor = tempArrayMajor[0];
      versionMinor = tempArrayMajor[1];
      if (descArray[3] != "") { tempArrayMinor = descArray[3].split("r"); }
      else { tempArrayMinor = descArray[4].split("r");	}
      versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
      flashVer = versionMajor + "." + versionMinor + "." + versionRevision; }
    else { flashVer = -1; } }
  else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
  else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
  else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
  else { flashVer = -1; }
  return flashVer;
}

function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) {
  reqVer = parseFloat(reqMajorVer + "." + reqRevision);
  for (i = 25; i > 0; i--) {
    if (isIE && isWin && !isOpera) { versionStr = VBGetSwfVer(i); }
    else { versionStr = JSGetSwfVer(i); }
    if (versionStr == -1 ) { return false; }
    else if (versionStr != 0) {
      if (isIE && isWin && !isOpera) {
        tempArray = versionStr.split(" ");
        tempString = tempArray[1];
        versionArray = tempString .split(","); }
      else {
        versionArray = versionStr.split("."); }
        versionMajor = versionArray[0];
        versionMinor = versionArray[1];
        versionRevision = versionArray[2];
        versionString = versionMajor + "." + versionRevision;
        versionNum = parseFloat(versionString);
        if ((versionMajor > reqMajorVer) && (versionNum >= reqVer)) { return true; }
        else { return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false ); } } }
}

function expandIt(el) {
  whichEl = document.getElementById(el);
  whichIm = document.getElementById(el + "Img");
  if (whichEl.style.display == "none") { whichEl.style.display = "block"; whichIm.src = "./images/down.gif"; }
  else { whichEl.style.display = "none"; whichIm.src = "./images/right.gif"; }
  intNav = start; strNav = "";
  for (i = 0; i < count; i++) {
    whichEl = document.getElementById("el" + i);
    intNav += whichEl.offsetHeight; }
  intImg = Math.round(intNav / 210 + 0.6) + add;
  for (i = 0; i <= intImg; i++) { strNav += "<img src='./images/where.gif' width='161' height='210'>"; }
  document.getElementById("navEnd").innerHTML = strNav;
}

function rhombIt() {
  intNav = start; strNav = "";
  whichEl = document.getElementById("el1");
  intNav += whichEl.offsetHeight;
  intImg = Math.round(intNav / 210 + 0.6);
  for (i = 0; i <= intImg; i++) { strNav += "<img src='./images/where.gif' width='161' height='210'>"; }
  document.getElementById("navEnd").innerHTML = strNav;
}

function hlTerms(sText, tPhrase, wFail, hlColor, sHeight, hlSTag, hlETag) {
  if (tPhrase) { sArray = [sText]; }
  else { sArray = sText.split("|"); }
  if (!document.body || typeof(document.body.innerHTML) == "undefined") {
    if (wFail) { alert("Sorry, for some reason the text of this page is unavailable. Searching will not work."); }
    return false; }
  var bText = document.body.innerHTML; 
  var aText = bText.split("<!-- Main -->");
  var cText = (typeof(aText[1]) == "undefined") ? aText[0] : aText[1];

  for (var i = 0; i < sArray.length; i++) {
    cText = doHighlight(cText, sArray[i], tPhrase, hlColor, hlSTag, hlETag); }
  bText = (typeof(aText[1]) == "undefined") ? cText : aText[0] + cText;
  document.body.innerHTML = bText;

  if (typeof(count) != "undefined") { if (count > 0) { exHighlight(count); } }
  if (sHeight == 0) { sHeight = 150; }
  var wHeight = ((document.all) ? window.document.body.clientHeight : window.innerHeight) / 2 - sHeight;
  window.scrollBy(0, getElPos('mark').top - wHeight);

  return true;
}

function exHighlight(ct) {
  for (iSpan = 0; iSpan < ct; iSpan++ ) {
    if (document.getElementById("el" + iSpan).getElementsByTagName("span").length > 0) { expandIt("el" + iSpan); } }
}

function doHighlight(bText, sText, tPhrase, hlColor, hlSTag, hlETag) {
  if ((!hlSTag) || (!hlETag)) { hlSTag = "<span id='mark' style='background-color:" + hlColor + ";'>"; hlETag = "</span>"; }
  var nText = ""; var i = -1;
  var lcSText = sText.toLowerCase(); var lcBText = bText.toLowerCase();
  var RegExpA = /[-\s>]/; var RegExpB = /[<\s\.\?,;:!\)]/;

  while (bText.length > 0) {
    i = lcBText.indexOf(lcSText, i + 1);
    if (i < 0) { nText += bText; bText = ""; }
    else {
      if (bText.lastIndexOf(">", i) >= bText.lastIndexOf("<", i)) {
        if (lcBText.lastIndexOf("/scr" + "ipt>", i) >= lcBText.lastIndexOf("<scr" + "ipt", i)) {
          if (!tPhrase || (tPhrase && bText.substr(i - 1, 1).search(RegExpA) == 0 && bText.substr(i + sText.length, 1).search(RegExpB) == 0)) {
          nText += bText.substring(0, i) + hlSTag + bText.substr(i, sText.length) + hlETag;
          bText = bText.substr(i + sText.length);
          lcBText = bText.toLowerCase(); i = -1; } } } } }
  return nText;
}

function getElPos(el) {
  var offsetEl = document.getElementById(el);
  var offsetLeft = 0; var offsetTop = 0;
  while (offsetEl) {
    offsetLeft += offsetEl.offsetLeft;
    offsetTop += offsetEl.offsetTop;
    offsetEl = offsetEl.offsetParent; }
  if (navigator.userAgent.indexOf('Mac') != -1 && typeof document.body.leftMargin != 'undefined') {
    offsetLeft += document.body.leftMargin;
    offsetTop += document.body.topMargin; }
  return {left:offsetLeft,top:offsetTop};
}

function expandCp(strPath, strSite) {
  strLid = "";
  i = 0; whichEl = document.getElementById("el" + i);
  while (whichEl != null) {
    strLid += (whichEl.style.display == "block") ? "1" : "0";
    i++; whichEl = document.getElementById("el" + i); }
  location.href = strPath + strSite + ".asp?expand=" + strLid;
}

