function show_summary( )
{
  var level = validate_number(document.getElementById("level").value, 2, 150);

  prepare_hint("Build Summary");

  var hash = window.location.hash;
  hint_text("<span style='color: #808080'>http://www.GlobaltechPlanner.info/" + hash + "</span>");

  var fa = 9;
  for (var i = 0; i < document.forms[0].faction.length; i++)
  {
    if (document.forms[0].faction[i].checked)
    {
      fa = i;
    }
  } // for i
    
  var faction;
  switch (fa)
  {
    case 0: faction = "CHOTA"; break;
    case 1: faction = "Travelers"; break;
    case 2: faction = "Techs"; break;
    case 3: faction = "Enforcers"; break;
    case 4: faction = "Lightbearers"; break;
    case 5: faction = "Vistas"; break;
    default: faction = "Not Chosen yet"; break;
  } // switch

  hint_add("<b>Faction:</b> " + faction);
  hint_add("<b>Level:</b> " + level + " = " + ((level - 1) * 20) + " AP + " + "<b>Bonus AP:</b> " + document.getElementById("bonus").value);

  var over = "";
  if (document.getElementById("apremain").value.substring(0, 1) == "-")
  {
    over = " <b>OVERSPENT</b>";
  }
  hint_add("<b>Total AP Available:</b> " + document.getElementById("totalap").value + " <b>APRemaining (Spent):</b> " + document.getElementById("apremain").value + over);

  stats = "";
  chari = validate_number(document.getElementById("stat0").value, 0, 80);
  coord = validate_number(document.getElementById("stat1").value, 0, 80);
  dexte = validate_number(document.getElementById("stat2").value, 0, 80);
  endur = validate_number(document.getElementById("stat3").value, 0, 80);
  intel = validate_number(document.getElementById("stat4").value, 0, 80);
  perce = validate_number(document.getElementById("stat5").value, 0, 80);
  stren = validate_number(document.getElementById("stat6").value, 0, 80);
  willp = validate_number(document.getElementById("stat7").value, 0, 80);
  if (chari > 0) stats += "CHA " + chari + " ";
  if (coord > 0) stats += "COO " + coord + " ";
  if (dexte > 0) stats += "DEX " + dexte + " ";
  if (endur > 0) stats += "END " + endur + " ";
  if (intel > 0) stats += "INT " + intel + " ";
  if (perce > 0) stats += "PER " + perce + " ";
  if (stren > 0) stats += "STR " + stren + " ";
  if (willp > 0) stats += "WIL " + willp + " ";
  var total = (chari + coord + dexte + endur + intel + perce + stren + willp) * 5;
  stats = stats + "(" + total + " AP)";
  var max = Math.round(15 + (level * 1.5));
  var base = 10 + level;
  hint_add("<b>Stats (Max " + (max - base) + "):</b> " + stats);
  
  skills = "";
  armor = validate_number(document.getElementById("skill0").value, 0, 240);
  athle = validate_number(document.getElementById("skill1").value, 0, 240);
  dodge = validate_number(document.getElementById("skill2").value, 0, 240);
  first = validate_number(document.getElementById("skill3").value, 0, 240);
  group = validate_number(document.getElementById("skill4").value, 0, 240);
  melee = validate_number(document.getElementById("skill5").value, 0, 240);
  pisto = validate_number(document.getElementById("skill6").value, 0, 240);
  rifle = validate_number(document.getElementById("skill7").value, 0, 240);
  socia = validate_number(document.getElementById("skill8").value, 0, 240);
  if (armor > 0) skills += "ARM " + armor + " ";
  if (athle > 0) skills += "ATH " + athle + " ";
  if (dodge > 0) skills += "DOD " + dodge + " ";
  if (first > 0) skills += "FIR " + first + " ";
  if (group > 0) skills += "GRO " + group + " ";
  if (melee > 0) skills += "MEL " + melee + " ";
  if (pisto > 0) skills += "PIS " + pisto + " ";
  if (rifle > 0) skills += "RIF " + rifle + " ";
  if (socia > 0) skills += "SOC " + socia + " ";
  total = (armor + athle + dodge + first + group + melee + pisto + rifle + socia);
  skills = skills + "(" + total + " AP)";
  hint_add("<b>Abilities (Max " + max + "):</b> " + skills);
  
  mutations = "";
  empat = validate_number(document.getElementById("mutation1").value, 0, 240);
  enhan = validate_number(document.getElementById("mutation2").value, 0, 240);
  nanom = validate_number(document.getElementById("mutation3").value, 0, 240);
  patho = validate_number(document.getElementById("mutation4").value, 0, 240);
  prima = validate_number(document.getElementById("mutation5").value, 0, 240);
  sonic = validate_number(document.getElementById("mutation6").value, 0, 240);
  suppr = validate_number(document.getElementById("mutation7").value, 0, 240);
  telek = validate_number(document.getElementById("mutation8").value, 0, 240);
  telep = validate_number(document.getElementById("mutation9").value, 0, 240);
  therm = validate_number(document.getElementById("mutation10").value, 0, 240);
  if (empat > 0) mutations += "EMP " + empat + " ";
  if (enhan > 0) mutations += "ENH " + enhan + " ";
  if (nanom > 0) mutations += "NAN " + nanom + " ";
  if (patho > 0) mutations += "PAT " + patho + " ";
  if (prima > 0) mutations += "PRI " + prima + " ";
  if (sonic > 0) mutations += "SON " + sonic + " ";
  if (suppr > 0) mutations += "SUP " + suppr + " ";
  if (telek > 0) mutations += "TKI " + telek + " ";
  if (telep > 0) mutations += "TPA " + telep + " ";
  if (therm > 0) mutations += "THE " + therm + " ";
  total = (empat + enhan + nanom + patho + prima + sonic + suppr + telek + telep + therm);
  mutations = mutations + "(" + total + " AP)";
  hint_add("<b>Mutations (Max " + max + "):</b> " + mutations);
  hint_add("<b>Alpha Mutation (Max " + (max * 2) + "):</b> " + document.getElementById("mu_actual0").value + " <b>Crafting Max (Max " + (max * 2) + "):</b> " + document.getElementById("tr_max0").value);
  
  health = document.getElementById("health").value;
  stamina = document.getElementById("stamina").value;
  gamma = document.getElementById("gamma").value;
  weight = document.getElementById("maxweight").value;
  hint_add("<b>Health:</b> " + health + " <b>Weight:</b> " + weight + " <b>Stamina:</b> " + stamina + " <b>Gamma:</b> " + gamma);
}

