var previousExempt = false;
var initDone = false;

function init()
  {
  if (initDone)
    {
    return;
    }

  divs = document.getElementsByTagName("DIV");

  for (i = 0; i < divs.length; i++)
    {
    if (divs.item(i).className == "button")
      {
      divElem = divs.item(i);
      divElem.onmouseover = btnMouseOver;
      divElem.onmouseout = btnMouseOut;
      divElem.onmousedown = btnMouseDown;
      divElem.onmouseup = btnMouseUp;
      }
    }

  inputs = document.getElementsByTagName("INPUT");

  for (i = 0; i < inputs.length; i++)
    {
    if (inputs.item(i).type == "text")
      {
      inputElem = inputs.item(i);

      if (moz || safari)
        {
        inputElem.addEventListener("keypress", fieldChange, false);
        }
      else
        {
        inputElem.attachEvent("onkeypress", fieldChange);
        }
      }
    }

  sels = document.getElementsByTagName("SELECT");

  for (i = 0; i < sels.length; i++)
    {
    selElem = sels.item(i);

    if (moz || safari)
      {
      selElem.addEventListener("change", fieldChange, false);
      }
    else
      {
      selElem.attachEvent("onchange", fieldChange);
      }
    }

  if (typeof(thankYou) == "function")
    {
    thankYou();
    }

  initDone = true;
  }

function bestContactNoChange()
  {
  selElem = document.getElementById("f_best_contact_no");
  homeTd = document.getElementById("tdBestContactNoHome");
  mobileTd = document.getElementById("tdBestContactNoMobile");
  elem = document.getElementById("f_home_country_code");
  divElem = getParent(elem);
  divElem.style.border = "none";
  elem = document.getElementById("f_home_area_code");
  divElem = getParent(elem);
  divElem.style.border = "none";
  elem = document.getElementById("f_home_number");
  divElem = getParent(elem);
  divElem.style.border = "none";
  elem = document.getElementById("f_mobile_country_code");
  divElem = getParent(elem);
  divElem.style.border = "none";
  elem = document.getElementById("f_mobile_number");
  divElem = getParent(elem);
  divElem.style.border = "none";

  if (selElem.value == "0")
     {
     homeTd.style.display = "none";
     mobileTd.style.display = "none";
     }
  else if (selElem.value == "Work")
     {
     homeTd.style.display = "block";
     mobileTd.style.display = "none";
     }
  else if (selElem.value == "Home")
     {
     homeTd.style.display = "block";
     mobileTd.style.display = "none";
     }
  else if (selElem.value == "Mobile")
     {
     homeTd.style.display = "none";
     mobileTd.style.display = "block";
     }
  }

function btn1Click()
  {
  resetErrorBorders();
  res1 = checkField("f_first_name", "not_empty");
  res1 = checkField("f_last_name", "not_empty") && res1;
  res1 = checkBestContactNo() && res1;
  res1 = checkField("f_email1", "email") && res1;
  res1 = checkField("f_email1", "remail") && res1;
  res1 = checkField("f_dob_date", "not_zero") && res1;
  res1 = checkField("f_dob_month", "not_zero") && res1;
  res1 = checkField("f_dob_year", "not_zero") && res1;
  res1 = checkField("f_country_grad", "not_zero") && res1;
  res1 = checkField("f_year_grad", "not_zero") && res1;
  res1 = checkField("f_current_loc", "not_zero") && res1;
  res1 = checkField("f_nationality", "not_zero") && res1;

  dateElem = document.getElementById("f_dob_date");
  monthElem = document.getElementById("f_dob_month");
  yearElem = document.getElementById("f_dob_year");
  sDate = dateElem.value + "-" + monthElem.value + "-" + yearElem.value;

  if (!checkDate(sDate))
    {
    divElem = getParent(dateElem);
    setErrorBorder(divElem);
    res1 = false;
    }

  if (res1)
    {
    goStep2();
    }
  else
    {
    showFieldError();
    }
  }

function dos(val1, val2)
  {
  if (val2)
    {
    var ttt = "true";
    }
  else
    {
    var ttt = "false";
    }

  alert(val1 + ttt);
  }

function btn2Click()
  {
  resetErrorBorders();
  res = checkPanelAu();
  res = checkStep2AuEx() && res;

  if (!countryGraduatedOK())
    {
    res = checkPanelAuAmc() && res;
    res = checkPanelAuFracgp() && res;
    res = checkPanelCa() && res;
    res = checkPanelNz() && res;
    res = checkPanelUk() && res;
    res = checkPanelUs() && res;
    res = checkStep2NoExams() && res;
    }

  res = checkStep2Other() && res;

  if (res)
    {
    goStep3();
    }
  else
    {
    showFieldError();
    }
  }

function btn3Click()
  {
  resetErrorBorders();

  res = checkStep3Exempt();
  res = checkStep3Ielts() && res;
  res = checkStep3Oet() && res;
  res = checkStep3Plab2() && res;
  res = checkStep3Nzrex() && res;
  res = checkStep3NoExams() && res;

  if (res)
    {
    goStep4();
    }
  else
    {
    showFieldError();
    }
  }

function btn4Click()
  {
  resetErrorBorders();

  res = checkStep4Level();
  res = checkStep4Specialty() && res;
  res = checkStep4Worked() && res;
  res = checkStep4Position() && res;
  res = checkStep4Length() && res;
  res = checkStep4Plans() && res;
  res = checkStep4Cv() && res;

  if (res)
    {
    medReqOK();
    engReqOK();
    goStep5();
    }
  else
    {
    showFieldError();
    }
  }

function btn5Click()
  {
  resetErrorBorders();

  res = medReqOK() && engReqOK();

  if (!res)
    {
    res = checkStep5Amc();
    res = checkStep5Eng() && res;
    }

  if (res)
    {
    submitForm();
    }
  else
    {
    showFieldError();
    }
  }

function countryGraduatedOK()
  {
  country = document.getElementById("f_country_grad");
  country = country.value;

  if ((country == "Australia") ||
      (country == "Canada") ||
      (country == "Ireland") ||
      (country == "New Zealand") ||
      (country == "United Kingdom"))
    {
    return true;
    }
  else
    {
    return false;
    }
  }

function nationalityLocationOK()
  {
  sNationality = document.getElementById("f_nationality");
  sNationality = sNationality.value;
  sLocation = document.getElementById("f_current_loc");
  sLocation = sLocation.value;

  if ((sNationality == "Australia") && (sLocation == "Australia"))
    {
    return true;
    }
  else
    {
    return false;
    }
  }

function medExamsOK()
  {
  formElem = document.getElementById("form1");

  res = formElem.f_step2_au.checked &&
        (formElem.f_step2_au_amc_mcq.checked ||
         formElem.f_step2_au_fracgp_akt.checked ||
         formElem.f_step2_au_fracgp_fellow.checked);

  res = res ||
        (formElem.f_step2_ca.checked &&
         formElem.f_step2_ca_mcc_qe_1.checked &&
         formElem.f_step2_ca_mcc_qe_2.checked);

  res = res ||
        (formElem.f_step2_nz.checked &&
         formElem.f_step2_nz_rex.checked &&
         formElem.f_step2_nz_intern.checked);

  res = res ||
        (formElem.f_step2_uk.checked &&
         formElem.f_step2_uk_plab_1.checked &&
         formElem.f_step2_uk_plab_2.checked &&
         formElem.f_step2_uk_plab_train.checked &&
         formElem.f_step2_uk_plab_gmc.checked);

  res = res ||
        (formElem.f_step2_us.checked &&
         formElem.f_step2_us_mle_1.checked &&
         formElem.f_step2_us_mle_2ck.checked &&
         formElem.f_step2_us_mle_2cs.checked &&
         formElem.f_step2_us_mle_3.checked &&
         formElem.f_step2_us_residency.checked);

  if (res)
    {
    return true;
    }
  else
    {
    return false;
    }
  }

function medReqOK()
  {
  if (countryGraduatedOK() || medExamsOK())
    {
    setMedReq(false);
    return true;
    }
  else
    {
    setMedReq(true);
    return false;
    }
  }

function engReqOK()
  {
  formElem = document.getElementById("form1");

  if (formElem.f_step3_exempt.checked)
    {
    setEngReq(false);
    return true;
    }

  if (formElem.f_step3_ielts.checked &&
      formElem.f_step3_ielts_7_more.checked &&
      (examIsValid(formElem.f_step3_ielts_month.value, formElem.f_step3_ielts_year.value) ||
       (formElem.f_step3_ielts_employed.value == "Y")))
    {
    setEngReq(false);
    return true;
    }

  if (formElem.f_step3_oet.checked &&
      formElem.f_step3_oet_b_more.checked &&
      (examIsValid(formElem.f_step3_oet_month.value, formElem.f_step3_oet_year.value) ||
       (formElem.f_step3_oet_employed.value == "Y")))
    {
    setEngReq(false);
    return true;
    }

  if (formElem.f_step3_plab2.checked &&
      (examIsValid(formElem.f_step3_plab2_month.value, formElem.f_step3_plab2_year.value) ||
       (formElem.f_step3_plab2_employed.value == "Y")))
    {
    setEngReq(false);
    return true;
    }

  if (formElem.f_step3_nzrex.checked &&
      (examIsValid(formElem.f_step3_nzrex_month.value, formElem.f_step3_nzrex_year.value) ||
       (formElem.f_step3_nzrex_employed.value == "Y")))
    {
    setEngReq(false);
    return true;
    }

  setEngReq(true);
  return false;
  }

function setMedReq(show)
  {
  medReq = document.getElementById("tableMedReq");

  if (show)
    {
    medReq.style.display = "block";
    }
  else
    {
    medReq.style.display = "none";
    }
  }

function setEngReq(show)
  {
  engReq = document.getElementById("tableEngReq");

  if (show)
    {
    engReq.style.display = "block";
    }
  else
    {
    engReq.style.display = "none";
    }
  }

function submitForm()
  {
  formElem = document.getElementById("form1");		
  formElem.submit();
  }

function checkField(fieldName, fieldType)
  {
  var fieldElem = document.getElementById(fieldName);
  var divElem = getParent(fieldElem);

  if (fieldType == "not_empty")
    {
    if (fieldElem.value == "")
      {
      setErrorBorder(divElem);
      return false;
      }
    }
  else if (fieldType == "not_zero")
    {
    if (fieldElem.value == "0")
      {
      setErrorBorder(divElem);
      return false;
      }
    }
  else if (fieldType == "email")
    {
    if (!validEmail(fieldElem.value))
      {
      setErrorBorder(divElem);
      return false;
      }
    }
  else if (fieldType == "remail")
    {
    rFieldElem = document.getElementById("f_r" + fieldName.substring(2, fieldName.length));
    divElem = getParent(rFieldElem);
    if (fieldElem.value != rFieldElem.value)
      {
      setErrorBorder(divElem);
      return false;
      }
    }

  return true;
  }

function checkBestContactNo()
  {
  if (checkField("f_best_contact_no", "not_zero"))
    {
    selElem = document.getElementById("f_best_contact_no");

    if ((selElem.value == "Home") || (selElem.value == "Work"))
      {
      res = checkField("f_home_country_code", "not_empty");
      res = checkField("f_home_area_code", "not_empty") && res;
      res = checkField("f_home_number", "not_empty") && res;
      }
    else
      {
      res = checkField("f_mobile_country_code", "not_empty");
      res = checkField("f_mobile_number", "not_empty") && res;
      }

    return res;
    }
  else
    {
    return false;
    }
  }

function showFieldError()
  {
  alert("There are errors in your form\nPlease fix boxes in red");
  }

function fieldChange(event)
  {
  elem = getEventSrc(event);
  divElem = getParent(elem);
  divElem.style.border = "none";
  }

function getEvent(event)
  {
  if (isIE)
    {
    event = window.event;
    }

  return event;
  }

function getEventSrc(event)
  {
  event = getEvent(event);

  if (moz)
    {
    elem = event.target;
    }
  else
    {
    elem = event.srcElement;
    }

  return elem;
  }

function getParent(elem)
  {
  if (moz)
    {
    elem = elem.parentNode;
    }
  else
    {
    elem = elem.parentElement;
    }

  return elem;
  }

function checkInt(event)
  {
  event = getEvent(event);
  elem = getEventSrc(event);

  if (moz)
    {
    sKey = event.charCode;
    iKeyCode = event.keyCode;

    if ((iKeyCode == 0) && (event.isChar && (sKey < "48") || (sKey > "57")))
      {
      return false;
      }
    }
  else
    {
    sKey = event.keyCode;
    if ((sKey < "48") || (sKey > "57"))
      {
      return false;
      }
    }

  return true;
  }

function setErrorBorder(elem)
  {
  elem.style.border = "solid 2px #FF0000";
  }

function resetErrorBorder(elem)
  {
  elem.style.border = "none";
  }

function resetField(fieldName)
  {
  fieldElem = document.getElementById(fieldName);
  divElem = getParent(fieldElem);
  divElem.style.border = "none";
  }

function resetErrorBorders()
  {
  divs = document.getElementsByTagName("DIV");

  for (i = 0; i < divs.length; i++)
    {
    if (divs.item(i).className == "errorDiv")
      {
      divs.item(i).style.border = "none";
      }
    }

  tds = document.getElementsByTagName("TD");

  for (i = 0; i < tds.length; i++)
    {
    if (tds.item(i).className == "subPanelError")
      {
      tds.item(i).className == "subPanel";
      }

    if (tds.item(i).className == "tdErrorOn")
      {
      tds.item(i).className == "tdErrorOff";
      }
    }
  }

function goStep1()
  {
  tableElem = document.getElementById("tableStep2");
  tableElem.style.display = "none";
  tableElem = document.getElementById("tableStep3");
  tableElem.style.display = "none";
  tableElem = document.getElementById("tableStep4");
  tableElem.style.display = "none";
  tableElem = document.getElementById("tableStep5");
  tableElem.style.display = "none";
  tableElem = document.getElementById("tableStep1");
  tableElem.style.display = "block";
  }

function goStep2()
  {
  oHide = document.getElementById("step2HideArea");

  if (countryGraduatedOK())
    {
    oHide.style.display = "none";
    }
  else
    {
    oHide.style.display = "block";
    }

  tableElem = document.getElementById("tableStep1");
  tableElem.style.display = "none";
  tableElem = document.getElementById("tableStep3");
  tableElem.style.display = "none";
  tableElem = document.getElementById("tableStep4");
  tableElem.style.display = "none";
  tableElem = document.getElementById("tableStep5");
  tableElem.style.display = "none";
  tableElem = document.getElementById("tableStep2");
  tableElem.style.display = "block";
  }

function goStep3()
  {
  oExempt = document.getElementById("f_step3_exempt");

  if (nationalityLocationOK())
    {
    oExempt.checked = true;
    previousExempt = true;
    goStep4();
    return;
    }

  if (previousExempt)
    {
    previousExempt = false;
    oExempt.checked = false;
    }

  tableElem = document.getElementById("tableStep1");
  tableElem.style.display = "none";
  tableElem = document.getElementById("tableStep2");
  tableElem.style.display = "none";
  tableElem = document.getElementById("tableStep4");
  tableElem.style.display = "none";
  tableElem = document.getElementById("tableStep5");
  tableElem.style.display = "none";
  tableElem = document.getElementById("tableStep3");
  tableElem.style.display = "block";
  }

function goStep3A()
  {
  if (nationalityLocationOK())
    {
    oExempt = document.getElementById("f_step3_exempt");
    oExempt.checked = true;
    goStep2();
    return;
    }
  else
    {
    goStep3();
    }
  }

function goStep4()
  {
  tableElem = document.getElementById("tableStep1");
  tableElem.style.display = "none";
  tableElem = document.getElementById("tableStep2");
  tableElem.style.display = "none";
  tableElem = document.getElementById("tableStep3");
  tableElem.style.display = "none";
  tableElem = document.getElementById("tableStep5");
  tableElem.style.display = "none";
  tableElem = document.getElementById("tableStep4");
  tableElem.style.display = "block";
  }

function goStep5()
  {
  tableElem = document.getElementById("tableStep1");
  tableElem.style.display = "none";
  tableElem = document.getElementById("tableStep2");
  tableElem.style.display = "none";
  tableElem = document.getElementById("tableStep3");
  tableElem.style.display = "none";
  tableElem = document.getElementById("tableStep4");
  tableElem.style.display = "none";
  tableElem = document.getElementById("tableStep5");
  tableElem.style.display = "block";
  }

function changeStep2AuPanel()
  {
  var checkElem = document.getElementById("f_step2_au");
  var noElem = document.getElementById("f_step2_no_exams");
  var tableElem = document.getElementById("tableStep2Au");
  resetStep2AuPanel();
  resetStep2AuAmcPanel();
  resetStep2AuFracgpPanel();
  resetStep2NoExams();

  if (checkElem.checked)
    {
    tableElem.style.display = "block";
    noElem.checked = false;
    }
  else
    {
    tableElem.style.display = "none";
    }
  }

function resetStep2AuPanel()
  {
  tdElem = document.getElementById("tdStep2Au");
  tdElem.className = "subPanel";
  }

function changeStep2AuAmcPanel()
  {
  var checkElem = document.getElementById("f_step2_au_amc");
  var tableElem = document.getElementById("tableStep2AuAmc");
  resetStep2AuPanel();
  resetStep2AuAmcPanel();

  if (checkElem.checked)
    {
    tableElem.style.display = "block";
    }
  else
    {
    tableElem.style.display = "none";
    }
  }

function resetStep2AuAmcPanel()
  {
  tdElem = document.getElementById("tdStep2AuAmc");
  tdElem.className = "subPanel";
  }

function changeStep2AuAmcMcq()
  {
  resetStep2AuPanel();
  resetStep2AuAmcPanel();
  var checkElem1 = document.getElementById("f_step2_au_amc_mcq");
  var checkElem2 = document.getElementById("f_step2_au_amc_clinical");
  var checkElem3 = document.getElementById("f_step2_au_amc_asses");

  if (!checkElem1.checked)
    {
    checkElem2.checked = false;
    checkElem3.checked = false;
    }
  }

function changeStep2AuAmcClinical()
  {
  resetStep2AuPanel();
  resetStep2AuAmcPanel();
  var checkElem1 = document.getElementById("f_step2_au_amc_clinical");
  var checkElem2 = document.getElementById("f_step2_au_amc_mcq");

  if (checkElem1.checked)
    {
    checkElem2.checked = true;
    }
  }

function changeStep2AuAmcAsses()
  {
  resetStep2AuPanel();
  resetStep2AuAmcPanel();
  var checkElem1 = document.getElementById("f_step2_au_amc_asses");
  var checkElem2 = document.getElementById("f_step2_au_amc_mcq");

  if (checkElem1.checked)
    {
    checkElem2.checked = true;
    }
  }

function changeStep2AuFracgpPanel()
  {
  var checkElem = document.getElementById("f_step2_au_fracgp");
  var tableElem = document.getElementById("tableStep2AuFracgp");
  resetStep2AuPanel();

  if (checkElem.checked)
    {
    tableElem.style.display = "block";
    }
  else
    {
    tableElem.style.display = "none";
    tdElem = document.getElementById("tdStep2AuFracgp");
    tdElem.className = "subPanel";
    }
  }

function resetStep2AuFracgpPanel()
  {
  tdElem = document.getElementById("tdStep2AuFracgp");
  tdElem.className = "subPanel";
  }

function changeStep2CaPanel()
  {
  var checkElem = document.getElementById("f_step2_ca");
  var tableElem = document.getElementById("tableStep2Ca");
  noElem = document.getElementById("f_step2_no_exams");
  resetStep2CaPanel();
  resetStep2NoExams();

  if (checkElem.checked)
    {
    tableElem.style.display = "block";
    noElem.checked = false;
    }
  else
    {
    tableElem.style.display = "none";
    tdElem = document.getElementById("tdStep2Ca");
    tdElem.className = "subPanel";
    }
  }

function resetStep2CaPanel()
  {
  tdElem = document.getElementById("tdStep2Ca");
  tdElem.className = "subPanel";
  }

function changeStep2CaMcc1()
  {
  elem1 = document.getElementById("f_step2_ca_mcc_qe_1");
  elem2 = document.getElementById("f_step2_ca_mcc_qe_2");

  if (!elem1.checked)
    {
    elem2.checked = false;
    }

  resetStep2CaPanel();
  }

function changeStep2CaMcc2()
  {
  elem1 = document.getElementById("f_step2_ca_mcc_qe_1");
  elem2 = document.getElementById("f_step2_ca_mcc_qe_2");

  if (elem2.checked)
    {
    elem1.checked = true;
    }

  resetStep2CaPanel();
  }

function changeStep2CaMccEval()
  {
  resetStep2CaPanel();
  }

function changeStep2NzPanel()
  {
  var checkElem = document.getElementById("f_step2_nz");
  var tableElem = document.getElementById("tableStep2Nz");
  noElem = document.getElementById("f_step2_no_exams");
  resetStep2NzPanel();
  resetStep2NoExams();

  if (checkElem.checked)
    {
    tableElem.style.display = "block";
    noElem.checked = false;
    }
  else
    {
    tableElem.style.display = "none";
    }
  }

function resetStep2NzPanel()
  {
  tdElem = document.getElementById("tdStep2Nz");
  tdElem.className = "subPanel";
  }

function changeStep2UkPanel()
  {
  var checkElem = document.getElementById("f_step2_uk");
  var tableElem = document.getElementById("tableStep2Uk");
  var noElem = document.getElementById("f_step2_no_exams");
  resetStep2UkPanel();
  resetStep2NoExams();

  if (checkElem.checked)
    {
    tableElem.style.display = "block";
    noElem.checked = false;
    }
  else
    {
    tableElem.style.display = "none";
    }
  }

function resetStep2UkPanel()
  {
  tdElem = document.getElementById("tdStep2Uk");
  tdElem.className = "subPanel";
  }

function changeStep2UkPlab1()
  {
  elem1 = document.getElementById("f_step2_uk_plab_1");
  elem2 = document.getElementById("f_step2_uk_plab_2");

  if (!elem1.checked)
    {
    elem2.checked = false;
    }

  resetStep2UkPanel();
  }

function changeStep2UkPlab2()
  {
  elem1 = document.getElementById("f_step2_uk_plab_1");
  elem2 = document.getElementById("f_step2_uk_plab_2");

  if (elem2.checked)
    {
    elem1.checked = true;
    }

  resetStep2UkPanel();
  }

function changeStep2UsPanel()
  {
  var checkElem = document.getElementById("f_step2_us");
  var tableElem = document.getElementById("tableStep2Us");
  noElem = document.getElementById("f_step2_no_exams");
  resetStep2UsPanel();
  resetStep2NoExams();

  if (checkElem.checked)
    {
    tableElem.style.display = "block";
    noElem.checked = false;
    }
  else
    {
    tableElem.style.display = "none";
    }
  }

function resetStep2UsPanel()
  {
  tdElem = document.getElementById("tdStep2Us");
  tdElem.className = "subPanel";
  }

function changeStep2NoExamsPanel()
  {
  resetStep2NoExams();
  checkElem = document.getElementById("f_step2_no_exams");

  if (checkElem.checked)
    {
    checkElem = document.getElementById("f_step2_au");

    if (checkElem.checked)
      {
      checkElem.click();
      }

    checkElem = document.getElementById("f_step2_ca");

    if (checkElem.checked)
      {
      checkElem.click();
      }

    checkElem = document.getElementById("f_step2_nz");

    if (checkElem.checked)
      {
      checkElem.click();
      }

    checkElem = document.getElementById("f_step2_uk");

    if (checkElem.checked)
      {
      checkElem.click();
      }

    checkElem = document.getElementById("f_step2_us");

    if (checkElem.checked)
      {
      checkElem.click();
      }
    }
  }

function changeStep2OtherPanel()
  {
  resetField("f_step2_other_comments");
  checkElem = document.getElementById("f_step2_other");
  tableElem = document.getElementById("tableStep2Other");

  if (checkElem.checked)
    {
    tableElem.style.display = "block";
    }
  else
    {
    tableElem.style.display = "none";
    }
  }

function changeStep2AuExPanel()
  {
  resetStep2AuEx();
  checkElem = document.getElementById("f_step2_au_ex1");
  tableElem = document.getElementById("tableStep2AuEx");

  if (checkElem.checked)
    {
    tableElem.style.display = "block";
    }
  else
    {
    tableElem.style.display = "none";
    }
  }

function changeStep2AuExYesPanel()
  {
  resetStep2AuExReg();
  oTr1 = document.getElementById("trStep2AuExYesRow");
//  oTr2 = document.getElementById("trStep2AuExYesRow2");
  oTr3 = document.getElementById("trStep2AuExNoRow");
//  oTr4 = document.getElementById("trStep2AuExNoRow2");

  oTr1.style.display = "block";
//  oTr2.style.display = "block";
  oTr3.style.display = "none";
//  oTr4.style.display = "none";
  }

function changeStep2AuExNoPanel()
  {
  resetStep2AuExReg();
  oTr1 = document.getElementById("trStep2AuExYesRow");
//  oTr2 = document.getElementById("trStep2AuExYesRow2");
  oTr3 = document.getElementById("trStep2AuExNoRow");
//  oTr4 = document.getElementById("trStep2AuExNoRow2");

  oTr1.style.display = "none";
//  oTr2.style.display = "none";
  oTr3.style.display = "block";
//  oTr4.style.display = "block";
  }

function changeStep2AuExStatePanel()
  {
  checkElem = document.getElementById("f_step2_au_ex_reg");
  tableElem = document.getElementById("trStep2AuExState");

  if (checkElem.checked)
    {
    tableElem.style.display = "block";
    }
  else
    {
    tableElem.style.display = "none";
    }
  }

function changeStep2AuFracgpTimePanel()
  {
  checkElem = document.getElementById("f_step2_au_fracgp_ass");
  tableElem = document.getElementById("tableStep2AuFracgpAssTime");

  if (checkElem.checked)
    {
    tableElem.style.display = "block";
    }
  else
    {
    tableElem.style.display = "none";
    }

  resetStep2AuFracgpPanel();
  resetField("f_step2_au_fracgp_ass_years");
  resetField("f_step2_au_fracgp_ass_months");
  }

function changeStep3ExemptPanel()
  {
  resetStep3ExemptCountry();
  resetStep3NoExams();
  var checkElem = document.getElementById("f_step3_exempt");
  var tableElem = document.getElementById("tableStep3Exempt");

  if (checkElem.checked)
    {
    tableElem.style.display = "block";
    }
  else
    {
    tableElem.style.display = "none";
    }
  }

function step3ExemptCountryChange()
  {
  resetStep3ExemptCountry();
  }

function changeStep3IeltsPanel()
  {
  resetStep3Ielts();
  resetStep3NoExams();
  var checkElem = document.getElementById("f_step3_ielts");
  var noElem = document.getElementById("f_step3_no_exams");
  var tableElem = document.getElementById("tableStep3Ielts");

  if (checkElem.checked)
    {
    tableElem.style.display = "block";
    noElem.checked = false;
    }
  else
    {
    tableElem.style.display = "none";
    }
  }

function step3Ielts7MoreChange()
  {
  resetStep3Ielts();
  var checkElem = document.getElementById("f_step3_ielts_7_more");
  var tableElem = document.getElementById("tableStep3Ielts7More");

  if (checkElem.checked)
    {
    tableElem.style.display = "block";
    }
  else
    {
    tableElem.style.display = "none";
    }
  }

function resetStep3Ielts()
  {
  resetField("f_step3_ielts_month");
  resetField("f_step3_ielts_year");
  resetField("f_step3_ielts_employed");
  }

function step3IeltsMonthChange()
  {
  resetField("f_step3_ielts_month");
  resetField("f_step3_ielts_employed");
  step3IeltsTimeChange();
  }

function step3IeltsYearChange()
  {
  resetField("f_step3_ielts_year");
  resetField("f_step3_ielts_employed");
  step3IeltsTimeChange();
  }

function step3IeltsTimeChange()
  {
  elem = document.getElementById("f_step3_ielts_month");
  oMonth = elem.value;
  elem = document.getElementById("f_step3_ielts_year");
  oYear = elem.value;
  fs = document.getElementById("tableStep3IeltsEmployed");

  if (examIsValid(oMonth, oYear))
    {
    fs.style.display = "none";
    }
  else
    {
    fs.style.display = "block";
    }
  }

function step3IeltsEmployedChange()
  {
  resetField("f_step3_ielts_employed");
  }

function changeStep3OetPanel()
  {
  resetStep3Oet();
  resetStep3NoExams();
  var checkElem = document.getElementById("f_step3_oet");
  var noElem = document.getElementById("f_step3_no_exams");
  var tableElem = document.getElementById("tableStep3Oet");

  if (checkElem.checked)
    {
    tableElem.style.display = "block";
    noElem.checked = false;
    }
  else
    {
    tableElem.style.display = "none";
    }
  }

function step3OetMoreChange()
  {
  resetStep3Oet();
  checkElem = document.getElementById("f_step3_oet_b_more");
  tableElem = document.getElementById("tableStep3OetMore");

  if (checkElem.checked)
    {
    tableElem.style.display = "block";
    }
  else
    {
    tableElem.style.display = "none";
    }
  }

function step4LevelChange()
  {
  resetStep4Specialty();
  var oSelect1 = document.getElementById("f_step4_level");
  var oSelect2 = document.getElementById("f_step4_specialty_type");
  var oDiv = document.getElementById("step4SpecialtyDiv");
  var oRadioYes = document.getElementById("f_step4_specialty_workedas_yes");
  var oRadioNo = document.getElementById("f_step4_specialty_workedas_no");
  var oTable = document.getElementById("tableStep4Specialty");

  if ((oSelect1.value == "Registrar / Resident in Training (USA)") ||
      (oSelect1.value == "Specialist / Consultant / Fellow"))
    {
    oDiv.style.display = "block";
    oRadioYes.checked = false;
    oRadioNo.checked = false;
    oSelect2.value = "0";
    oTable.style.display = "none";
    }
  else if (oSelect1.value == "Family / General Practitioner")
    {
    oRadioYes.checked = true;
    oSelect2.value = "Family / General Practice";
    oTable.style.display = "block";
    oDiv.style.display = "none";
    }
  else
    {
    oRadioNo.checked = true;
    oSelect2.value = "0";
    oTable.style.display = "none";
    oDiv.style.display = "none";
    }
  }

function resetStep3Oet()
  {
  resetField("f_step3_oet_month");
  resetField("f_step3_oet_year");
  resetField("f_step3_oet_employed");
  }

function step3OetMonthChange()
  {
  resetField("f_step3_oet_month");
  resetField("f_step3_oet_employed");
  step3OetTimeChange();
  }

function step3OetYearChange()
  {
  resetField("f_step3_oet_year");
  resetField("f_step3_oet_employed");
  step3OetTimeChange();
  }

function step3OetTimeChange()
  {
  elem = document.getElementById("f_step3_oet_month");
  oMonth = elem.value;
  elem = document.getElementById("f_step3_oet_year");
  oYear = elem.value;
  fs = document.getElementById("tableStep3OetEmployed");

  if (examIsValid(oMonth, oYear))
    {
    fs.style.display = "none";
    }
  else
    {
    fs.style.display = "block";
    }
  }

function step3OetEmployedChange()
  {
  resetField("f_step3_oet_employed");
  }

function changeStep3Plab2Panel()
  {
  resetStep3Plab2();
  resetStep3NoExams();
  var checkElem = document.getElementById("f_step3_plab2");
  var noElem = document.getElementById("f_step3_no_exams");
  var tableElem = document.getElementById("tableStep3Plab2");

  if (checkElem.checked)
    {
    tableElem.style.display = "block";
    noElem.checked = false;
    }
  else
    {
    tableElem.style.display = "none";
    }
  }

function resetStep3Plab2()
  {
  resetField("f_step3_plab2_month");
  resetField("f_step3_plab2_year");
  resetField("f_step3_plab2_employed");
  }

function step3Plab2MonthChange()
  {
  resetField("f_step3_plab2_month");
  resetField("f_step3_plab2_employed");
  step3Plab2TimeChange();
  }

function step3Plab2YearChange()
  {
  resetField("f_step3_plab2_year");
  resetField("f_step3_plab2_employed");
  step3Plab2TimeChange();
  }

function step3Plab2TimeChange()
  {
  elem = document.getElementById("f_step3_plab2_month");
  oMonth = elem.value;
  elem = document.getElementById("f_step3_plab2_year");
  oYear = elem.value;
  fs = document.getElementById("tableStep3Plab2Employed");

  if (examIsValid(oMonth, oYear))
    {
    fs.style.display = "none";
    }
  else
    {
    fs.style.display = "block";
    }
  }

function step3Plab2EmployedChange()
  {
  resetField("f_step3_plab2_employed");
  }

function changeStep3NzrexPanel()
  {
  resetStep3Nzrex();
  resetStep3NoExams();
  var checkElem = document.getElementById("f_step3_nzrex");
  var noElem = document.getElementById("f_step3_no_exams");
  var tableElem = document.getElementById("tableStep3Nzrex");

  if (checkElem.checked)
    {
    tableElem.style.display = "block";
    noElem.checked = false;
    }
  else
    {
    tableElem.style.display = "none";
    }
  }

function resetStep3Nzrex()
  {
  resetField("f_step3_nzrex_month");
  resetField("f_step3_nzrex_year");
  resetField("f_step3_nzrex_employed");
  }

function step3NzrexMonthChange()
  {
  resetField("f_step3_nzrex_month");
  resetField("f_step3_nzrex_employed");
  step3NzrexTimeChange();
  }

function step3NzrexYearChange()
  {
  resetField("f_step3_nzrex_year");
  resetField("f_step3_nzrex_employed");
  step3NzrexTimeChange();
  }

function step3NzrexTimeChange()
  {
  elem = document.getElementById("f_step3_nzrex_month");
  oMonth = elem.value;
  elem = document.getElementById("f_step3_nzrex_year");
  oYear = elem.value;
  fs = document.getElementById("tableStep3NzrexEmployed");

  if (examIsValid(oMonth, oYear))
    {
    fs.style.display = "none";
    }
  else
    {
    fs.style.display = "block";
    }
  }

function step3NzrexEmployedChange()
  {
  resetField("f_step3_nzrex_employed");
  }

function changeStep3NoExams()
  {
  resetStep3NoExams();
  checkElem = document.getElementById("f_step3_no_exams");

  if (checkElem.checked)
    {
    checkElem = document.getElementById("f_step3_ielts");

    if (checkElem.checked)
      {
      checkElem.click();
      }

    checkElem = document.getElementById("f_step3_oet");

    if (checkElem.checked)
      {
      checkElem.click();
      }

    checkElem = document.getElementById("f_step3_plab2");

    if (checkElem.checked)
      {
      checkElem.click();
      }

    checkElem = document.getElementById("f_step3_nzrex");

    if (checkElem.checked)
      {
      checkElem.click();
      }
    }
  }

function step4WorkedChange()
  {
  resetStep4Worked();
  radioElem = document.getElementById("f_step4_gp_workedas_yes");
  tableElem = document.getElementById("tableStep4Worked");

  if (radioElem.checked)
    {
    tableElem.style.display = "block";
    }
  else
    {
    tableElem.style.display = "none";
    }
  }

function step4SpecialtyChange()
  {
  resetStep4Specialty();
  radioElem = document.getElementById("f_step4_specialty_workedas_yes");
  tableElem = document.getElementById("tableStep4Specialty");

  if (radioElem.checked)
    {
    tableElem.style.display = "block";
    }
  else
    {
    tableElem.style.display = "none";
    }
  }

function step4CvChange()
  {
  resetField("f_step4_cv");
  }

function step5AmcChange()
  {
  resetStep5Amc();
  radioElem1 = document.getElementById("f_step5_med_no");
  radioElem2 = document.getElementById("f_step5_med_think");
  radioElem3 = document.getElementById("f_step5_med_conf");
  tableElem1 = document.getElementById("tableStep5AmcThinking");
  tableElem2 = document.getElementById("tableStep5AmcYes");

  if (radioElem1.checked)
    {
    tableElem1.style.display = "none";
    tableElem2.style.display = "none";
    }
  else if (radioElem2.checked)
    {
    tableElem1.style.display = "block";
    tableElem2.style.display = "none";
    }
  else if (radioElem3.checked)
    {
    tableElem1.style.display = "none";
    tableElem2.style.display = "block";
    }
  }

function step5EngChange()
  {
  resetStep5Eng();
  radioElem1 = document.getElementById("f_step5_eng_no");
  radioElem2 = document.getElementById("f_step5_eng_think");
  radioElem3 = document.getElementById("f_step5_eng_conf");
  tableElem1 = document.getElementById("tableStep5EngThinking");
  tableElem2 = document.getElementById("tableStep5EngYes");

  if (radioElem1.checked)
    {
    tableElem1.style.display = "none";
    tableElem2.style.display = "none";
    }
  else if (radioElem2.checked)
    {
    tableElem1.style.display = "block";
    tableElem2.style.display = "none";
    }
  else if (radioElem3.checked)
    {
    tableElem1.style.display = "none";
    tableElem2.style.display = "block";
    }
  }

function textLimit(oEvent, field, limit)
  {
  resetField(field.id);

  if (field.value.length >= limit)
    {
    if (moz)
      {
      if (oEvent.charCode > 0)
        {
        return false;
        }
      }
    else
      {
      return false;
      }
    }

  return true;
  }

function textCount(field, countElem, limit)
  {
  if (field.value.length > limit)
    {
    field.value = field.value.substring(0, limit);
    }

  if (countElem != "")
    {
    elem = document.getElementById(countElem);
    elem.innerHTML = (limit - field.value.length) + " characters left";
    }
  }

function checkPanelAu()
  {
  checkElem = document.getElementById("f_step2_au");

  if (checkElem.checked)
    {
    checkElem1 = document.getElementById("f_step2_au_amc");
    checkElem2 = document.getElementById("f_step2_au_fracgp");

    if (!checkElem1.checked && !checkElem2.checked)
      {
      tdElem = document.getElementById("tdStep2Au");
      tdElem.className = "subPanelError";
      return false;
      }
    }

  return true;
  }

function checkPanelAuAmc()
  {
  checkElem = document.getElementById("f_step2_au_amc");

  if (checkElem.checked)
    {
    checkElem1 = document.getElementById("f_step2_au_amc_mcq");
    checkElem2 = document.getElementById("f_step2_au_amc_clinical");
    checkElem3 = document.getElementById("f_step2_au_amc_asses");

    if (!checkElem1.checked &&
        !checkElem2.checked &&
        !checkElem3.checked)
      {
      tdElem = document.getElementById("tdStep2AuAmc");
      tdElem.className = "subPanelError";
      return false;
      }
    }

  return true;
  }

function checkPanelAuFracgp()
  {
  checkElem = document.getElementById("f_step2_au_fracgp");

  if (checkElem.checked)
    {
    checkElem1 = document.getElementById("f_step2_au_fracgp_ass");
    checkElem2 = document.getElementById("f_step2_au_fracgp_akt");
    checkElem3 = document.getElementById("f_step2_au_fracgp_kfp");
    checkElem4 = document.getElementById("f_step2_au_fracgp_clinical");
    checkElem5 = document.getElementById("f_step2_au_fracgp_fellow");

    if (!checkElem1.checked &&
        !checkElem2.checked &&
        !checkElem3.checked &&
        !checkElem4.checked &&
        !checkElem5.checked)
      {
      tdElem = document.getElementById("tdStep2AuFracgp");
      tdElem.className = "subPanelError";
      return false;
      }
    else if (checkElem1.checked)
      {
      res = checkField("f_step2_au_fracgp_ass_years", "not_empty");
      res = checkField("f_step2_au_fracgp_ass_months", "not_empty") && res;
      return res;
      }
    }

  return true;
  }

function checkPanelCa()
  {
  checkElem = document.getElementById("f_step2_ca");

  if (checkElem.checked)
    {
    checkElem1 = document.getElementById("f_step2_ca_mcc_qe_1");
    checkElem2 = document.getElementById("f_step2_ca_mcc_qe_2");
    checkElem3 = document.getElementById("f_step2_ca_mcc_eval");

    if (!checkElem1.checked && !checkElem2.checked && !checkElem3.checked)
      {
      tdElem = document.getElementById("tdStep2Ca");
      tdElem.className = "subPanelError";
      return false;
      }
    }

  return true;
  }

function checkPanelNz()
  {
  checkElem = document.getElementById("f_step2_nz");

  if (checkElem.checked)
    {
    checkElem1 = document.getElementById("f_step2_nz_rex");
    checkElem2 = document.getElementById("f_step2_nz_intern");

    if (!checkElem1.checked && !checkElem2.checked)
      {
      tdElem = document.getElementById("tdStep2Nz");
      tdElem.className = "subPanelError";
      return false;
      }
    }

  return true;
  }

function checkPanelUk()
  {
  checkElem = document.getElementById("f_step2_uk");

  if (checkElem.checked)
    {
    checkElem1 = document.getElementById("f_step2_uk_plab_1");
    checkElem2 = document.getElementById("f_step2_uk_plab_2");
    checkElem3 = document.getElementById("f_step2_uk_plab_train");
    checkElem4 = document.getElementById("f_step2_uk_plab_gmc");

    if (!checkElem1.checked &&
        !checkElem2.checked &&
        !checkElem3.checked &&
        !checkElem4.checked)
      {
      tdElem = document.getElementById("tdStep2Uk");
      tdElem.className = "subPanelError";
      return false;
      }
    }

  return true;
  }

function checkPanelUs()
  {
  checkElem = document.getElementById("f_step2_us");

  if (checkElem.checked)
    {
    checkElem1 = document.getElementById("f_step2_us_mle_1");
    checkElem2 = document.getElementById("f_step2_us_mle_2ck");
    checkElem3 = document.getElementById("f_step2_us_mle_2cs");
    checkElem4 = document.getElementById("f_step2_us_mle_3");
    checkElem5 = document.getElementById("f_step2_us_residency");

    if (!checkElem1.checked &&
        !checkElem2.checked &&
        !checkElem3.checked &&
        !checkElem4.checked &&
        !checkElem5.checked)
      {
      tdElem = document.getElementById("tdStep2Us");
      tdElem.className = "subPanelError";
      return false;
      }
    }

  return true;
  }

function checkStep2NoExams()
  {
  checkElem1 = document.getElementById("f_step2_au");
  checkElem2 = document.getElementById("f_step2_ca");
  checkElem3 = document.getElementById("f_step2_nz");
  checkElem4 = document.getElementById("f_step2_uk");
  checkElem5 = document.getElementById("f_step2_us");
  checkElem6 = document.getElementById("f_step2_no_exams");

  if (!checkElem1.checked &&
      !checkElem2.checked &&
      !checkElem3.checked &&
      !checkElem4.checked &&
      !checkElem5.checked &&
      !checkElem6.checked)
    {
    tableElem = document.getElementById("tableStep2NoExams");
    divElem = getParent(tableElem);
    setErrorBorder(divElem);
    return false;
    }

  return true;
  }

function resetStep2NoExams()
  {
  tableElem = document.getElementById("tableStep2NoExams");
  divElem = getParent(tableElem);
  divElem.style.border = "none";
  }

function checkStep2Other()
  {
  checkElem = document.getElementById("f_step2_other");
  textElem = document.getElementById("f_step2_other_comments");

  if (checkElem.checked && !checkField("f_step2_other_comments", "not_empty"))
    {
    return false;
    }

  return true;
  }

function checkStep2AuEx()
  {
  var radioElem1 = document.getElementById("f_step2_au_ex1");
  var radioElem2 = document.getElementById("f_step2_au_ex2");
  var oRadioYes = document.getElementById("f_step2_au_ex_reg_yes");
  var oRadioNo = document.getElementById("f_step2_au_ex_reg_no");
  var res = true;

  if (radioElem2.checked)
    {
    return true;
    }

  if ((!radioElem1.checked) && (!radioElem2.checked))
    {
    var divElem = document.getElementById("step2AuExDiv");
    setErrorBorder(divElem);
    return false;
    }

  if ((!oRadioYes.checked) && (!oRadioNo.checked))
    {
    var divElem = document.getElementById("step2AuExRegDiv");
    setErrorBorder(divElem);
    return false;
    }

  if (oRadioYes.checked)
    {
    res = checkField("f_step2_au_ex_state", "not_zero");
    res = checkField("f_step2_au_ex_type", "not_zero") && res;
    res = checkField("f_step2_au_ex_reg_years", "not_empty") && res;
    res = checkField("f_step2_au_ex_reg_months", "not_empty") && res;
    return res;
    }

  if (oRadioNo.checked)
    {
    res = checkField("f_step2_au_ex_state_no", "not_zero");
    res = checkField("f_step2_au_ex_reg_years_no", "not_empty") && res;
    res = checkField("f_step2_au_ex_reg_months_no", "not_empty") && res;
    return res;
    }

  return true;
  }

function resetStep2AuEx()
  {
  var divElem = document.getElementById("step2AuExDiv");
  resetErrorBorder(divElem);
  resetStep2AuExReg();
  }

function resetStep2AuExReg()
  {
  var divElem = document.getElementById("step2AuExRegDiv");
  resetErrorBorder(divElem);
  resetField("f_step2_au_ex_state");
  resetField("f_step2_au_ex_type");
  resetField("f_step2_au_ex_reg_years");
  resetField("f_step2_au_ex_reg_months");
  resetField("f_step2_au_ex_state_no");
  resetField("f_step2_au_ex_reg_years_no");
  resetField("f_step2_au_ex_reg_months_no");
  }

function checkStep3Exempt()
  {
  var checkElem = document.getElementById("f_step3_exempt");
  var selElem = document.getElementById("f_step3_exempt_country");
  var res = true;

  if (checkElem.checked)
    {
    res = checkField("f_step3_exempt_country", "not_zero");
    }

  return res;
  }

function resetStep3ExemptCountry()
  {
  resetField("f_step3_exempt_country");
  }

function checkStep3Ielts()
  {
  var checkElem = document.getElementById("f_step3_ielts");
  var radioElem = document.getElementById("f_step3_ielts_7_more");
  var selElem1 = document.getElementById("f_step3_ielts_month");
  var selElem2 = document.getElementById("f_step3_ielts_year");
  var selElem3 = document.getElementById("f_step3_ielts_employed");
  var res = true;

  if (checkElem.checked && radioElem.checked)
    {
    res = checkField("f_step3_ielts_month", "not_zero");
    res = checkField("f_step3_ielts_year", "not_zero") && res;
    }

  var oMonth = selElem1.value;
  var oYear = selElem2.value;

  if (!examIsValid(oMonth, oYear))
    {
    res = checkField("f_step3_ielts_employed", "not_zero") && res;
    }

  return res;
  }

function checkStep3Oet()
  {
  var checkElem = document.getElementById("f_step3_oet");
  var radioElem = document.getElementById("f_step3_oet_b_more");
  var selElem1 = document.getElementById("f_step3_oet_month");
  var selElem2 = document.getElementById("f_step3_oet_year");
  var selElem3 = document.getElementById("f_step3_oet_employed");
  var res = true;

  if (checkElem.checked && radioElem.checked)
    {
    res = checkField("f_step3_oet_month", "not_zero");
    res = checkField("f_step3_oet_year", "not_zero") && res;
    }

  var oMonth = selElem1.value;
  var oYear = selElem2.value;

  if (!examIsValid(oMonth, oYear))
    {
    res = checkField("f_step3_oet_employed", "not_zero") && res;
    }

  return res;
  }

function checkStep3Plab2()
  {
  var checkElem = document.getElementById("f_step3_plab2");
  var selElem1 = document.getElementById("f_step3_plab2_month");
  var selElem2 = document.getElementById("f_step3_plab2_year");
  var selElem3 = document.getElementById("f_step3_plab2_employed");
  var res = true;

  if (checkElem.checked)
    {
    res = checkField("f_step3_plab2_month", "not_zero");
    res = checkField("f_step3_plab2_year", "not_zero") && res;
    }

  var oMonth = selElem1.value;
  var oYear = selElem2.value;

  if (!examIsValid(oMonth, oYear))
    {
    res = checkField("f_step3_plab2_employed", "not_zero") && res;
    }

  return res;
  }

function checkStep3Nzrex()
  {
  var checkElem = document.getElementById("f_step3_nzrex");
  var selElem1 = document.getElementById("f_step3_nzrex_month");
  var selElem2 = document.getElementById("f_step3_nzrex_year");
  var selElem3 = document.getElementById("f_step3_nzrex_employed");
  var res = true;

  if (checkElem.checked)
    {
    res = checkField("f_step3_nzrex_month", "not_zero");
    res = checkField("f_step3_nzrex_year", "not_zero") && res;
    }

  var oMonth = selElem1.value;
  var oYear = selElem2.value;

  if (!examIsValid(oMonth, oYear))
    {
    res = checkField("f_step3_nzrex_employed", "not_zero") && res;
    }

  return res;
  }

function checkStep3NoExams()
  {
  checkElem0 = document.getElementById("f_step3_exempt");
  checkElem1 = document.getElementById("f_step3_ielts");
  checkElem2 = document.getElementById("f_step3_oet");
  checkElem3 = document.getElementById("f_step3_plab2");
  checkElem4 = document.getElementById("f_step3_nzrex");
  checkElem5 = document.getElementById("f_step3_no_exams");

  if (!checkElem0.checked &&
      !checkElem1.checked &&
      !checkElem2.checked &&
      !checkElem3.checked &&
      !checkElem4.checked &&
      !checkElem5.checked)
    {
    tableElem = document.getElementById("tableStep3NoExams");
    divElem = getParent(tableElem);
    setErrorBorder(divElem);
    return false;
    }

  return true;
  }

function resetStep3NoExams()
  {
  tableElem = document.getElementById("tableStep3NoExams");
  divElem = getParent(tableElem);
  divElem.style.border = "none";
  }

function checkStep4Worked()
  {
  var radioElemYes = document.getElementById("f_step4_gp_workedas_yes");
  var radioElemNo = document.getElementById("f_step4_gp_workedas_no");
  var tdElem = document.getElementById("tdStep4Worked");
  res = true;

  if (!radioElemYes.checked && !radioElemNo.checked)
    {
    tdElem.className = "tdErrorOn";
    res = false;
    }
  else if (radioElemYes.checked)
    {
    res = checkField("f_step4_gp_years", "not_empty");
    }

  return res;
  }

function resetStep4Worked()
  {
  tdElem = document.getElementById("tdStep4Worked");
  tdElem.className = "tdErrorOff";
  resetField("f_step4_gp_years");
  }

function checkStep4Specialty()
  {
  var radioElemYes = document.getElementById("f_step4_specialty_workedas_yes");
  var radioElemNo = document.getElementById("f_step4_specialty_workedas_no");
  var tdElem = document.getElementById("tdStep4Specialty");
  var oDiv = document.getElementById("step4SpecialtyDiv");

  res = true;

  if (oDiv.style.display == "none")
    {
    return true;
    }

  if (!radioElemYes.checked && !radioElemNo.checked)
    {
    tdElem.className = "tdErrorOn";
    res = false;
    }
  else if (radioElemYes.checked)
    {
    res = checkField("f_step4_specialty_type", "not_zero") && res;
    }

  return res;
  }

function resetStep4Specialty()
  {
  tdElem = document.getElementById("tdStep4Specialty");
  tdElem.className = "tdErrorOff";
  resetField("f_step4_specialty_type");
  }

function checkStep4Level()
  {
  res = checkField("f_step4_level", "not_zero");
  res = checkField("f_step4_total_years_exp", "not_empty") && res;

  return res;
  }

function checkStep4Position()
  {
  return checkField("f_step4_position", "not_zero");
  }

function checkStep4Length()
  {
  return checkField("f_step4_length", "not_zero");
  }

function checkStep4Plans()
  {
  return checkField("f_step4_plans_other", "not_empty");
  }

function checkStep4Cv()
  {
  return checkField("f_step4_cv", "not_empty");
  }

function checkStep5Amc()
  {
  var radioElem1 = document.getElementById("f_step5_med_no");
  var radioElem2 = document.getElementById("f_step5_med_think");
  var radioElem3 = document.getElementById("f_step5_med_conf");
  var res = true;

  if (radioElem2.checked)
    {
    res = checkField("f_step5_med_think_name", "not_zero");
    res = checkField("f_step5_med_think_time", "not_zero") && res;
    }
  else if (radioElem3.checked)
    {
    res = checkField("f_step5_med_conf_name", "not_zero");
    res = checkField("f_step5_med_conf_date", "not_zero") && res;
    res = checkField("f_step5_med_conf_month", "not_zero") && res;
    res = checkField("f_step5_med_conf_year", "not_zero") && res;
    }

  return res;
  }

function resetStep5Amc()
  {
  resetField("f_step5_med_think_name");
  resetField("f_step5_med_think_time");
  resetField("f_step5_med_conf_name");
  resetField("f_step5_med_conf_date");
  resetField("f_step5_med_conf_month");
  resetField("f_step5_med_conf_year");
  }

function checkStep5Eng()
  {
  var radioElem1 = document.getElementById("f_step5_eng_no");
  var radioElem2 = document.getElementById("f_step5_eng_think");
  var radioElem3 = document.getElementById("f_step5_eng_conf");
  var res = true;

  if (radioElem2.checked)
    {
    res = checkField("f_step5_eng_think_name", "not_zero");
    res = checkField("f_step5_eng_think_time", "not_zero") && res;
    }
  else if (radioElem3.checked)
    {
    res = checkField("f_step5_eng_conf_name", "not_zero");
    res = checkField("f_step5_eng_conf_date", "not_zero") && res;
    res = checkField("f_step5_eng_conf_month", "not_zero") && res;
    res = checkField("f_step5_eng_conf_year", "not_zero") && res;
    }

  return res;
  }

function resetStep5Eng()
  {
  resetField("f_step5_eng_think_name");
  resetField("f_step5_eng_think_time");
  resetField("f_step5_eng_conf_name");
  resetField("f_step5_eng_conf_date");
  resetField("f_step5_eng_conf_month");
  resetField("f_step5_eng_conf_year");
  }

function examIsValid(oMonth, oYear)
  {
  if ((oMonth == "0") || (oYear == "0"))
    {
    return true;
    }

  oMonth = getMonthNumber(oMonth);
  oYear = parseInt(oYear);
  oDate = new Date();
  curMonth = parseInt(oDate.getMonth() + 1);
  curYear = parseInt(oDate.getFullYear());

  if ((oYear < curYear - 2) || ((oYear == curYear - 2) && (oMonth < curMonth)))
    {
    return false;
    }

  return true;
  }

function getMonthNumber(sMonth)
  {
  if (isNaN(parseInt(sMonth)))
    {
    key = sMonth.substr(0, 3);
    key = key.toUpperCase();
    return aMonths[key];
    }
  else
    {
    return parseInt(sMonth);
    }
  }
