
function showHideBlocks(userType)
{
  if (!userType)
  {
    $(".hideForInterpreter").fadeIn(200);
    $(".showForInterpreterSlide").slideUp(200);
    $(".showForInterpreter").fadeOut(200);
    $(".showForInterpreterSnap").hide();
    $(".showForAdministratorSnap").show();
    return true;
  }
  
  switch(userType.value)
  {
    case "Interpreter":
      $(".hideForInterpreter").fadeOut(200);
      $(".showForInterpreter").fadeIn(200);
      $(".showForInterpreterSlide").slideDown(200);
      break;
    case "Other":
      $(".hideForInterpreterSnap").hide();
      $(".showForInterpreter").fadeOut(200);
      $(".showForOtherSnap").show();
      $(".showForInterpreterSlide").slideUp(200);
      $(".showForInterpreter").fadeOut(200);
      break;
    case "Court Administrator":
    default:
      $(".hideForInterpreter").fadeIn(200);
      $(".showForInterpreterSlide").slideUp(200);
      $(".showForInterpreter").fadeOut(200);
      $(".showForInterpreterSnap").hide();
      $(".showForAdministratorSnap").show();
      break;
  }
  //alert($(userType).attr("checked"));
  //alert(userType.value);
  return true;
  
}

//alert($('input[@name="userInfo[userType]"]:checked')[0].value);

showHideBlocks($('input[@name="userInfo[userType]"]:checked')[0]);

function addLangRow(here)
{
  //alert($(here.parentNode)[0].tagName);
  //alert($(here).parent().tagName)
  $(here.parentNode).before($("div#regLangRowPrototype").html()).prev().hide().slideDown(150);
  var row = $(here).parent().prev();
  var prevRow = $(here).parent().prev().prev().prev();
  var newIndex = 0;

  var allRows = $(here).parent().parent().find("div.regLangRow");
  
  
  newIndex = (allRows.length - 1)
  /*
  console.info($(prevRow).html());
  //alert(allRows.length);
  
  if (allRows.length > 1)
  {

    oldIndex = getCurrentLangIndex(prevRow);
    alert(oldIndex);
    newIndex = parseInt(oldIndex)+1;

  } // else allow newIndex = 0 to fall through
  */
  //alert($(row).parent().find("select.languageChoiceDropdown").html());
  for (var i = 0; i < allRows.length; i++)
  {
    $(allRows[i]).find("select.languageChoiceDropdown").attr("name","langCert["+i+"][language]");
    $(allRows[i]).find("input[@name='fcic[]']").attr("name","langCert["+i+"][fcic]")
    $(allRows[i]).find("input[@name='fcic[]']").attr("id","fe_langCert["+i+"][fcic]")
    $(allRows[i]).find("input[@name='najit[]']").attr("name","langCert["+i+"][najit]")
    $(allRows[i]).find("input[@name='najit[]']").attr("id","fe_langCert["+i+"][najit]")
  }
  /*
  $(row).parent().find("select.languageChoiceDropdown").attr("name","langCert["+newIndex+"][language]");
  $(row).find("input[@name='fcic[]']").attr("name","langCert["+newIndex+"][fcic]")
  $(row).find("input[@name='fcic[]']").attr("id","fe_langCert["+newIndex+"][fcic]")
  $(row).find("input[@name='najit[]']").attr("name","langCert["+newIndex+"][najit]")
  $(row).find("input[@name='najit[]']").attr("id","fe_langCert["+newIndex+"][najit]")
  */
  return false;
}

function getCurrentLang(loc)
{
  return $(loc).parent().parent().parent().parent().find("select.languageChoiceDropdown").val();
}

function getCurrentLangIndex(loc)
{
  var name  = $(loc).find("select.languageChoiceDropdown").attr("name");
  var start = name.indexOf('[')+1;
  var end   = name.indexOf(']');
  var index = name.substring(start, end);
  return index;
}

function stateAddBlock(state)
{
  //alert(state.value);
  if (state.value != "")
  {
    var index = getCurrentLangIndex($(state).parent().parent().parent().parent());
    var language = getCurrentLang(state);
    $(state.parentNode.parentNode).before($("div#addStatePrototypeWrapper").html()).prev().hide().slideDown(800);
    //$(state.parentNode.parentNode).before("<b>"+ state.value +"</b>");
    $(state.parentNode.parentNode).prev().prev().prev().find('div.regLangLeftCol').html(state.value);
    $(state.parentNode.parentNode).prev().prev().prev().find('input.stateCertVal').attr("name", "langCert[" + index + "][states][" + state.value + "]"); 
    $(state.parentNode.parentNode).prev().prev().prev().find('input.stateCertVal').attr("id",   "fe_langCert[" + index + "][states][" + state.value + "]"); 
    $(state).find('option[@value=' + state.value + ']').attr("disabled", true);
    state.value = "";
  }
}

function removeStateCert(ss)
{
  var p = $(ss.parentNode).prev(); // div with input
  var x = $(ss.parentNode);        // div with remove x
  var c = $(ss.parentNode).next(); // clear div

  var fieldName = $(p).find("input.stateCertVal").attr("name")

  var name = fieldName.substring(fieldName.indexOf('][')+2, fieldName.length -1);

  //alert($(ss.parentNode).find('option[@value=' + name + ']').html());
  //alert($(ss).parent().parent().find('option[@value=' + name + ']').html());
  //alert($(ss.parentNode).find('option[@value=' + name + ']').html());
  $(ss).parent().parent().find('option[@value=' + name + ']').removeAttr("disabled");
  $(p).find('option[@value=' + name + ']').removeAttr("disabled");
  
  //$(p).remove();
  $(p).slideUp(150, function () { $(p).empty() });
  $(x).remove();
  $(c).remove();
  
}

function languageShowCerts(langDD)
{
  $(langDD.parentNode).next().find('div.regLangFCIC').css("display", "none");
  $(langDD.parentNode).next().find('div.regLangNAJIT').css("display", "none");
  if (langDD.value == "Spanish")
  {
    // turn on FCIC && NAJIT
    $(langDD.parentNode).next().find('div.regLangFCIC').css("display", "block");
    $(langDD.parentNode).next().find('div.regLangNAJIT').css("display", "block");
  }
  
  if ((langDD.value == "Haitian Creole") ||
      (langDD.value == "Navajo"))
  {
    // turn on NAJIT
    $(langDD.parentNode).next().find('div.regLangNAJIT').css("display", "block");
  }
  
  if (langDD.value != "")
  {
    $(langDD).parent().parent().find("select.stateAddDropdown").removeAttr("disabled");
  } else
  {
    $(langDD).parent().parent().find("select.stateAddDropdown").attr("disabled", true);
  }
}

function removeLanguageBlock(element)
{
  //$(element.parentNode.parentNode).slideUp(200);
  $(element.parentNode.parentNode).slideUp(150, function () { $(element.parentNode.parentNode).empty() });
  //alert("asdf");
  //element.parentNode.parentNode.removeRepetitionBlock();
}

function reloadJS()
{
  var script = document.createElement('script');
  script.setAttribute('src', "js/regform.js?" + (new Date()).valueOf());
  script.setAttribute('type', 'text/javascript');
  //thisScript.parentNode.replaceChild(script, thisScript);
  document.getElementsByTagName("head")[0].appendChild(script);     
}

function disableStates(stateCerts)
{
  var stateAddDropdown = $(stateCerts).parent().find("select.stateAddDropdown")

  for(var i=0; i < stateCerts.length; i++)
  {
    $(stateAddDropdown).find('option[@value=' + jQuery.trim($(stateCerts[i]).find("div.regLangLeftCol").html()) + ']').attr("disabled", true);
    //alert($(stateCerts[i]).find("div.regLangLeftCol").html());
  }
}


function initPage()
{
  // set up the certification blocks
  
  var langDD = $('div.regLanguageWrapper').find('div.regLangRow').find('select.languageChoiceDropdown')
  for(var i=0; i < langDD.length; i++)
  {
    // fixup state dropdown
    languageShowCerts(langDD[i]);
    disableStates($(langDD[i]).parent().next().find('div.regLangStateCerts'));
  }
}

initPage();

