$(document).ready(function() {
  $("#join form div input:not(#submit), #join form div select, #join form div textarea").focus(function() {$(this).parent().parent().addClass("active");});
  
  $("#join form div input:not(#submit), #join form div select, #join form div textarea").blur(function() {$(this).parent().parent().removeClass("active");});

  $("#join .page").hide();

  function goToPage(the_page, validate) {
    //default value trick
    validate = typeof(validate) != 'undefined' ? validate : true;

    var not_the_page = "#join .page:not(#" + the_page + ")";
    var the_pager = "#join #pager #" + the_page + "-pager";
    if(validate) {
      if(!validateRequired("#join .page:visible")) {
        alert("One or more required fields were omitted, please correct these errors and try again.");
        return false;
      }
    }
    the_page = "#join #" + the_page;
    $(not_the_page).slideUp();
    $(the_page).slideDown();
    $("#pager li.active").addClass("complete");
    $("#pager li.active").removeClass("active");
    $(the_pager).addClass("active");
  }
  
  function validateRequired(the_page) {
    var required = the_page + " input.required";
    var valid = true;
    $(required).each(function() {
      $(this).removeClass("error");
      if($(this).val() == "") {
        $(this).parent().parent().addClass("error");
        valid = false;
      }
    });
    return valid;
  }
  
  $("#pager li").click(function() {
    if($(this).hasClass("complete")) {goToPage($(this).attr("rel"));}
  });
  
  var button = document.createElement("input");
  button.type = "button";
  button.value = "Begin Application";
  
  $(button).click(function() {
    $("#join #pager").slideDown();
    goToPage($("#join #pager li:first").attr("rel"), false);
    $(this).hide();
    return false;
  });
  
  $("#join #pager").after(button);
  
  var button = document.createElement("input");
  button.type = "button";
  button.value = "Next Step";
  
  $(button).click(function() {
    goToPage($(this).parent().attr("rel"));
    return false;
  });
  
  $("#join .page[rel]").append(button);
});