var prelimFormAnswers = {};
var enquiryID = 0;

divisions = new Array("corporate","office","technical","medical","industrial","response");
offices = new Array(6);
offices['corporate'] = new Array('Honolulu');
offices['office'] = new Array('Not Sure','Honolulu','Pearl City','Hilo','Kailua-Kona');
offices['technical'] = new Array('Honolulu');
offices['medical'] = new Array('Honolulu');
offices['industrial'] = new Array('Not Sure','Honolulu','Pearl City','Hilo','Kailua-Kona');
offices['response'] = new Array('Honolulu');

function mapDirections(map){
  mapWin=window.open("driving-directions/"+map+".php","mapWin","scrollbars=yes,toolbar=no,location=no,directories=no,status=no,width=640,height=500" );
}

function changeLocation(divisionName) {
  layerDisplay(divisionName + "Div", "block");
  if (divisionName != "response") {
    changeLinkWeight(divisionName + "Link", "bold");
  }
  for (var i=0; i<divisions.length; i++) {
    if (divisions[i] != divisionName) {
      layerDisplay(divisions[i] + "Div", "none");
      if (divisions[i] != "response") {
        changeLinkWeight(divisions[i] + "Link", "normal");
      }
    }
  }
}

function changeLinkWeight(linkId, weight) {
  if (document.getElementById) {
    link = tmt_findObj(linkId);
    link.style.fontWeight = weight;
  } else {
    link = MM_findObj(linkId);
    if (link) {
      link.fontWeight = weight;
    }
  } 
}

function changeInnerText(linkId, value) {
  if (document.getElementById) {
    link = tmt_findObj(linkId);
    link.innerHTML = value;
  } else {
    link = MM_findObj(linkId);
    if (link) {
      link.innerHTML = value;
    }
  } 
}

function validateContactForm() {
  form = document.contactForm;
  return true;
}

function setContactForm(form) {
  for (answer in prelimFormAnswers) {
    if (answer != "NavigateBack") {
      form.elements[answer].value = prelimFormAnswers[answer];
    }
  }
  selectSource(document.contactForm.source_copy.value);
  setSourceOptions();
  
  // resize input fields
  if (document.contactForm.source.offsetWidth < document.contactForm.last_name.offsetWidth) {
    document.contactForm.source.style.width = document.contactForm.last_name.offsetWidth;
  }
  document.contactForm.other_source.style.width = document.contactForm.source.offsetWidth;
  
  if (document.contactForm.source_copy.value != "") {
    var optionExists = 0;
    for (var i=0; i<document.contactForm.source.options.length; i++) {
      if (document.contactForm.source.options[i].value == document.contactForm.source_copy.value) {
        optionExists = 1;
        continue;
      }
    }
    if (!optionExists) {
      document.contactForm.source.selectedIndex = 0;
      layerDisplay("additionalInfo", "none");
    }
  }
  
}

function toggleDiv(currDiv, nextDiv) {
  layerDisplay(currDiv, "none")
  if (nextDiv != "") {
    layerDisplay(nextDiv, "");
  }
  if (nextDiv == "divContactForm") {
    setContactForm(document.contactForm);
  }
}

function navigateBack(currDiv) {
  nextDiv = prelimFormAnswers["NavigateBack"].pop();
  toggleDiv(currDiv, nextDiv);
}

function navigateStartOver(currDiv) {
  document.prelimForm.first_name.value = "";
  document.prelimForm.last_name.value = "";
  document.prelimForm.email.value = "";
  layerDisplay("responseDiv", "none");
  toggleDiv(currDiv, "divFirst");
}

function setNameEmail(currDiv, firstName, lastName, email) {
  // reset form and array in case of page refresh or 'Start Over'
  prelimFormAnswers = {};
  prelimFormAnswers["NavigateBack"] = new Array();
  
  if (firstName == "" || email == "") {
    alert("First name and email are required fields.");
    return;
  } else if (!validateEmail(email)) {
    alert("Please enter a valid email address.");
    return;
  }
  
  nameTags = document.getElementsByTagName("span");
  for (var i=0; i<nameTags.length; i++) {
    if (nameTags[i].id == "aloha") {
      nameTags[i].innerHTML = firstName;
    }
  }
  
  prelimFormAnswers["first_name"] = firstName;
  prelimFormAnswers["last_name"] = lastName;
  prelimFormAnswers["email"] = email;
  
  document.contactForm.first_name.value = firstName;
  document.contactForm.last_name.value = lastName;
  document.contactForm.email.value = email;
  
  var nextDiv = "divIsland";
  toggleDiv(currDiv, nextDiv);
  prelimFormAnswers["NavigateBack"].push(currDiv);
}

function setIsland(currDiv, islandName) {
  prelimFormAnswers["island"] = islandName;
  
  var nextDiv = "divUserCategory";
  toggleDiv(currDiv, nextDiv);
  prelimFormAnswers["NavigateBack"].push(currDiv);
}

function setUserCategory(currDiv, userCategory) {
  prelimFormAnswers["usercategory"] = userCategory;
  
  switch (userCategory) {
    case "Jobseeker":
      var nextDiv = "divMatchALTRES";
      prelimFormAnswers["serviceline"] = "Staffing";
      changeInnerText("labelServiceLine", "Staffing");
      break;
    case "None":
      var nextDiv = "divContactForm";
      break;
    default:
      var nextDiv = "divServiceLine"+userCategory;
  }
  
  if (userCategory == "BusinessRep" || userCategory == "BusinessClient") {
    layerDisplay("formRowCompany", "");
  } else {
    layerDisplay("formRowCompany", "none");
  }
  
  if (userCategory == "Jobseeker" || userCategory == "BusinessRep") {
    layerDisplay("formRowSource", "");
  } else {
    layerDisplay("formRowSource", "none");
  }
  
  toggleDiv(currDiv, nextDiv);
  prelimFormAnswers["NavigateBack"].push(currDiv);
}

function setServiceLine(currDiv, serviceLine) {
  prelimFormAnswers["serviceline"] = serviceLine;
  
  if (serviceLine == "Staffing") {
    var nextDiv = "divDivision"+prelimFormAnswers["usercategory"];
    changeInnerText("labelServiceLine", "Staffing");
  } else {
    var nextDiv = "divContactForm";
    changeInnerText("labelServiceLine", "HR");
  }
  toggleDiv(currDiv, nextDiv);
  prelimFormAnswers["NavigateBack"].push(currDiv);
}

function setDivision(currDiv, divisionName) {
  prelimFormAnswers["division"] = divisionName;
  
  if (prelimFormAnswers["usercategory"] == "Jobseeker") {
    if (divisionName == "None") {
      var nextDiv = "divAltEmployment";
    } else {
      var nextDiv = "divLocation";
    }
  } else {
    var nextDiv = "divContactForm";
  }
  toggleDiv(currDiv, nextDiv);
  prelimFormAnswers["NavigateBack"].push(currDiv);
}

function setLocation(currDiv, isInHawaii) {
  if (isInHawaii == "NotInHawaii" && prelimFormAnswers["division"] != "Medical") {
    prelimFormAnswers["inhawaii"] = "No";
    var nextDiv = "divRelocation";
    document.getElementById('divisionLabel').innerHTML = " "+prelimFormAnswers["division"]+" ";
  } else {
    prelimFormAnswers["inhawaii"] = "Yes";
    var nextDiv = "divViewJobs";
  }
  toggleDiv(currDiv, nextDiv);
  prelimFormAnswers["NavigateBack"].push(currDiv);
}

function setViewJobs(currDiv, viewJobs) {
  if (viewJobs == "Yes") {
    var division = prelimFormAnswers["division"].toLowerCase();
    var island = prelimFormAnswers["island"];
    var inhawaii = prelimFormAnswers["inhawaii"];
    window.open(division+"/jobseekers/job-search.php?search=true&division="+division+"&island="+island+"&inhawaii="+inhawaii,"_self");
  } else {
    var nextDiv = "divContactForm";
    toggleDiv(currDiv, nextDiv);
  }
  prelimFormAnswers["NavigateBack"].push(currDiv);
}

function selectSource(value) {
  if (value == "" || sources[value]["AdditionalInfo"] == "") {
    layerDisplay("additionalInfo", "none");
  } else {
    document.getElementById("additionalInfoQ").innerHTML = sources[value]["AdditionalInfo"];
    layerDisplay("additionalInfo", "inline");
  }
  document.contactForm.source_copy.value = value;
}

function setSourceOptions() {
  
  var frm = document.contactForm;
  var optionCount;
  var index;
  
  optionCount = frm.source.options.length;
  
  for (var i=optionCount; i>=0; i--) {
    frm.source.options[i] = null;
  }
  
  frm.source.options[0] = new Option();
  
  i = 1;
  
  for (sourceOption in sources) {
    
    if ((frm.usercategory.value == "Jobseeker" && sources[sourceOption]["JobseekerSource"] == 1) ||
        (frm.usercategory.value == "BusinessRep" && frm.serviceline.value == "Staffing" && sources[sourceOption]["StaffingBusinessSource"] == 1) ||
        (frm.usercategory.value == "BusinessRep" && frm.serviceline.value == "OHR" && sources[sourceOption]["OHRBusinessSource"] == 1)) {
          
      frm.source.options[i] = new Option(sources[sourceOption]["SourceName"], sourceOption);
      
      if (frm.source.value == sourceOption || frm.source_copy.value == sourceOption) {
        index = i;
      }
      
      i++;
          
    }
    
  }
  
  if (index) {
    frm.source.options[index].selected = true;
  }
  
}
