var quote = String.fromCharCode(34);

var activeTab;
var tabCounter;

function init (PA, PB, PC, PD, PE, PF, PG, PH, PI, PL, PM, PN, PO, PP, PQ, PR, PS, PT, PU, PV) {
  document.write("<style>");
  document.writeln;
  document.write(".pageContainer {");
  document.write(" background-image: url(", quote, PT, quote, ");");
  document.write(" background-repeat: repeat;");
  document.write(" border-color: ", PH, ";");
  document.write(" border-style: solid;");
  document.write(" border-width: 1;");
  document.write(" border-bottom: none;");
  document.write(" border-top: none;");
  document.write(" height: ", PV, ";");
  document.write(" }");
  document.writeln;
  document.write(".tabContainer {");
  document.write(" background-image: url(", quote, PS, quote, ");");
  document.write(" background-repeat: repeat;");
  document.write(" }");
  document.writeln;
  document.write(".emptyContainer {");
  document.write(" position: absolute;");
  document.write(" top: ", -(PV * PV), ";");
  document.write(" visibility: hidden;");
  document.write(" }");
  document.writeln;
  document.write(".activeTab {");
  document.write(" background-image: url(", quote, PR, quote, ");");
  document.write(" height: ", PV, ";");
  document.write(" text-align: center;");
  document.write(" width: ", PU, ";");
  document.write(" }");
  document.writeln;
  document.write(".defaultTab {");
  document.write(" background-image: url(", quote, PP, quote, ");");
  document.write(" height: ", PV, ";");
  document.write(" text-align: center;");
  document.write(" width: ", PU, ";");
  document.write(" }");
  document.writeln;
  document.write(".selectedTab {");
  document.write(" background-image: url(", quote, PQ, quote, ");");
  document.write(" height: ", PV, ";");
  document.write(" text-align: center;");
  document.write(" width: ", PU, ";");
  document.write(" }");
  document.writeln;
  document.write(".tabText {");
  document.write(" color: ", PH, ";");
  document.write(" font-family: ", PA, ";");
  document.write(" font-size: ", PB, ";");
  document.write(" font-style: ", PC, ";");
  document.write(" font-weight: ", PD, ";");
  document.write(" text-align: center;");
  document.write(" text-decoration: none;");
  document.write(" width: 100%;");
  document.write(" }");
  document.write(".tabText:hover {");
  document.write(" color: ", PI, ";");
  document.write(" }");
  document.writeln;
  document.write(".bodyText {");
  document.write(" color: ", PL, ";");
  document.write(" font-family: ", PA, ";");
  document.write(" font-size: ", PE, ";");
  document.write(" font-style: ", PF, ";");
  document.write(" font-weight: ", PG, ";");
  document.write(" text-align: center;");
  document.write(" text-decoration: none;");
  document.write(" width: 100%;");
  document.write(" }");
  document.writeln;
  document.write(".bodyText:hover {");
  document.write(" background: ", PN, ";");
  document.write(" color: ", PM, ";");
  document.write(" }");
  document.writeln;
  document.write("body { color: ", PO, "; }");
  document.writeln;
  document.write("</style>");
  document.writeln;
  return (true);
}

function update () {
  activeTab = 0;
  for (var tab = 1; tab <= tabCounter; tab++)
    setVisibility("page_" + tab, "hide");
  return (true);
}

function page (command, text, tip, href, target) {
  switch (command) {
    case "create":
      document.write("<div class=", quote, "pageContainer", quote, " id=", quote, "page_0", quote, ">");
      document.write("<table cellpadding=", quote, "0", quote, " cellspacing=", quote, "3", quote, "><tr><td>");
      document.write("<p class=", quote, "pageText", quote, "></p>");
      document.write("</td></tr></table>");
      document.write("</div>");
      document.writeln;
    break;
    case "new":
      document.write("<div class=", quote, "pageContainer", quote, " id=", quote, "page_", text, quote, ">");
      document.write("<center>");
      document.write("<table cellpadding=", quote, "0", quote, " cellspacing=", quote, "3", quote, ">");
      document.write("<tr>");
    break;
    case "add":
      document.write("<td>");
      document.write("<a class=", quote, "bodyText", quote, " href=", quote, href, quote, " target=", quote, target, quote);
      document.write(" onmouseout=", quote, "return window.status=''", quote);
      document.write(" onmouseover=", quote, "return window.status='", tip, "'", quote, ">  ", text, "  </a>");
      document.write("</td>");
    break;
    case "done":
      document.write("</tr></table></center></div>");
      document.writeln;
    break;
  }
  return (true);
}

function tab (command, text, tip, href, target) {
  switch (command) {
    case "create":
      tabCounter = 0;
    break;
    case "new":
      document.write("<div class=", quote, "tabContainer", quote, ">");
      document.write("<center>");
      document.write("<table cellpadding=", quote, "0", quote, " cellspacing=", quote, "0", quote, ">");
      document.write("<tr>");
    break;
    case "add":
      tabCounter++;
      document.write("<td class=", quote, "defaultTab", quote, " id=", quote, "tab_", tabCounter, quote, ">");
      document.write("<a class=", quote, "tabText", quote);
      document.write(" href=", quote, href, quote, " target=", quote, target, quote);
      document.write(" onclick=", quote, "return chooseTab(", tabCounter, ",'active');", quote);
      document.write(" onmouseout=", quote, "return chooseTab(", tabCounter, ",'default');", quote);
      document.write(" onmouseover=", quote, "return chooseTab(", tabCounter, ",'selected','", tip, "');", quote, ">", text, "</a>");
      document.write("</td>");
    break;
    case "done":
      document.write("</tr></table></center></div>");
      document.writeln;
    break;
  }
  return (true);
}

function setClassName (id, className) {
  var object = document.getElementById(id);
  if (object)
    object.className = className;
  return (true);
}

function setActiveTab (id) {
  return (chooseTab(id, 'active'));
}

function setVisibility (id, visibility) {
  if (visibility == "show")
    return (setClassName(id, "pageContainer"));
  else
    return (setClassName(id, "emptyContainer"));
}

function chooseTab (id, status, tip) {
  if (id != activeTab) {
    switch (status) {
      case "default":
        setClassName("tab_" + id, "defaultTab");
      break;
      case "selected":
        setClassName("tab_" + id, "selectedTab");
      break;
      case "active":
        setClassName("tab_" + activeTab, "defaultTab");
        setVisibility("page_" + activeTab, "hide");
        setClassName("tab_" + id, "activeTab");
        setVisibility("page_" + id, "show");
        activeTab = id;
      break;
    }
  }
  if (tip) window.status = tip; else window.status = '';
  return (true);
}
