window.onload = initPage;

function initPage()
{
  createMenus();
  setMDISPopupLink();
  setFormValidators();
}

function createMenus()
{
  var menus = [ 
                ["menu_aboutus", [
                  ["/aboutUs.html", "Overview"],
                  ["/BusinessPrinciples.html", "Business Principles"]
                ]],
                ["menu_staffing", [
                  ["/StaffingOverview.html", "Overview"], 
                  ["/StaffingPush.html", "Push Strategy"],
                  ["/StaffingInteractiveMedia.html", "Marketing and Interactive Media"],
                  ["/StaffingRequest.html", "Request More Info"],
                  ["/StaffingFAQ.html", "FAQ"],
                  ["/Resources/Fact_Sheet-Staffing.pdf", "Fact Sheet"]
                ]],
                ["menu_mdis", [
                  ["/MDISOverview.html", "Overview"],
                  ["/MDISSmartDesign.html", "SmartDesign Methodology"],
                  ["/MDISDifferentiators.html", "Differentiators"],
                  ["/MDISPartnerships.html", "Partnerships"],
                  ["/MDISSWATT.html", "S.W.A.T.T."],
                  ["/MDISFAQ.html", "FAQ"],
                  ["/Resources/Fact_Sheet-MDIS.pdf", "Fact Sheet"]
                ]],
                ["menu_consultant", [
                  ["/ConsultantOverview.html", "Overview"],
                  ["/ConsultantProcess.html", "Recruitment Process"],
                  ["/ConsultantReferrals.html", "Referrals"],
                  ["/ConsultantBenefits.html", "Employee Benefits"],
                  ["/ConsultantICs.html", "Independent Contractors"],
                  ["/RequirementsList.html", "Current Orders"],
                  ["/ConsultantResume.html", "Submit Resume"],
                  ["/Resources/Brochure-Consulting_Careers.pdf", "Brochure"]
                ]]
              ];
  for (var i = 0; i < menus.length; i++) {
    createMenu(menus[i][0], menus[i][1]);
  }
}

function createMenu (menuAnchorId, menuItems)
{
  var menu = document.createElement("div");
  menu.className = "menu";
  var table = document.createElement("table");
  var tbody = document.createElement("tbody");
  table.setAttribute("border", "0");
  table.setAttribute("cellSpacing", "0");
  table.setAttribute("cellPadding", "0");
  for (var i = 0; i < menuItems.length; i++) {
    var row = document.createElement("tr");
    var col = document.createElement("td");
    var a = document.createElement("a");
    a.setAttribute("href", menuItems[i][0]);
    a.appendChild(document.createTextNode(menuItems[i][1]));
    col.appendChild(a);
    row.appendChild(col);
    tbody.appendChild(row);
  }
  table.appendChild(tbody);
  menu.appendChild(table);
  document.body.appendChild(menu);
  var top = document.getElementById(menuAnchorId);
  var corner = getElementPosition(top);
  menu.style.top = corner[1] + top.offsetHeight - 1 + "px";
  menu.style.left = corner[0] + "px";
  menu.onmouseover = function() {menu.style.visibility = "visible";}
  menu.onmouseout = function() {menu.style.visibility = "hidden";}
  top.onmouseover = function() {menu.style.visibility = "visible";}
  top.onmouseout = function() {menu.style.visibility = "hidden";}
  return menu;
}

function getElementPosition(element)
{
  var left = 0;
  var top = 0;
  if (element.offsetParent) {
  	do {
			left += element.offsetLeft;
			top += element.offsetTop;
		} while (element = element.offsetParent);
  }
  return [left, top];
}

function setMDISPopupLink()
{
  var elems = document.getElementsByTagName("a");
  for (var i = 0; i < elems.length; i++) {
    if (elems[i].className == "mdis_details_link") {
      elems[i].onclick = openMDISPopup;
      elems[i].href = "#";
      elems[i].target = "_self";
    }
  }
}

function openMDISPopup()
{
  window.open("/MDISDetailsPopup.html","MDISDetails","width=570,height=570");
}

function setFormValidators()
{
  var form = document.getElementById("general_search_form");
  if (form)
    form.onsubmit = validateGeneralSearch;
  form = document.getElementById("order_search_form");
  if (form)
    form.onsubmit = validateOrderSearch;
  form = document.getElementById("staffing_request_form");
  if (form)
    form.onsubmit = validateStaffingRequest;
  form = document.getElementById("submit_resume_form");
  if (form)
    form.onsubmit = validateResumeSubmittal;
  form = document.getElementById("visitor_info_form");
  if (form)
    form.onsubmit = validateVisitorInfo;
}

function validateGeneralSearch()
{
  var inp = document.getElementById("general_search_term");
  if (inp)
    return trimString(inp.value) != "";
  else
    return true;
}

function validateOrderSearch()
{
  var inp = document.getElementById("order_search_term");
  if (inp)
    return trimString(inp.value) != "";
  else
    return true;
}

function validateStaffingRequest()
{
  var name = trimString(document.getElementById("srf_name").value);
  var phone = trimString(document.getElementById("srf_phone").value);
  var email = trimString(document.getElementById("srf_email").value);
  if (name == "") {
    alert("Your name is required");
    return false;
  }
  if (email == "" && phone == "") {
    alert("A phone number or email address is required");
    return false;
  }
  return true;
}

function validateResumeSubmittal()
{
  var name = trimString(document.getElementById("resf_name").value);
  var phone = trimString(document.getElementById("resf_phone").value);
  var email = trimString(document.getElementById("resf_email").value);
  var resume = trimString(document.getElementById("resf_resume").value);
  var notify = document.getElementById("resf_notify");
  if (name == "") {
    alert("Your name is required");
    return false;
  }
  if (notify.checked && email == "") {
    alert("An email address is required for automatic notification");
    return false;
  }
  else if (email == "" && phone == "") {
    alert("A phone number or email address is required");
    return false;
  }
  if (resume == "") {
    alert("Your resume is required");
    return false;
  }
  return true;
}

function validateVisitorInfo()
{
  var fname = trimString(document.getElementById("vif_fname").value);
  var lname = trimString(document.getElementById("vif_lname").value);
  var company = trimString(document.getElementById("vif_company").value);
  var phone = trimString(document.getElementById("vif_phone").value);
  var email = trimString(document.getElementById("vif_email").value);
  if (fname == "" || lname == "") {
    alert("Your first and last name are required");
    return false;
  }
  if (company == "") {
    alert("Your company name is required");
    return false;
  }
  if (email == "" && phone == "") {
    alert("A phone number or email address is required");
    return false;
  }
  return true;
}

function trimString(inString)
{
  var leading = /^\s+/;
  var trailing = /\s+$/;
  return inString.replace(leading, "").replace(trailing, "");
}

