function upcaseFirsts() {
  var va = $(this).val();
  va = va.split(" ");
  for(var x=0;x<va.length;x++)
     va[x] = va[x].substring(0,1).toUpperCase()+va[x].substring(1);
  va = va.join(" ");
  $(this).val(va);
}

function upcaseAll() {
  $(this).val($(this).val().toUpperCase());
}

function handleDefaultContext() {
  var registration = getWeekends();
  if (!registration)
     return -1;

  $('#registration').thtml("registrationTmpl", registration);

  $('#city').blur(upcaseFirsts);
  $('#state').blur(upcaseAll);
  $("#homePhone").mask("(999)999-9999",{placeholder:" "});
  $("#altPhone").mask("(999)999-9999",{placeholder:" "});
  $("#sacramentDate").mask("99/99/9999",{placeholder:" "});
  $("#zip").mask("99999",{placeholder:" "});


  $("#weekends tr").hover(
    function () { $(this).addClass("rowSelect"); },
    function () { $(this).removeClass("rowSelect"); }
  );
  $("#weekends tr").click(function () {
    $('#weekends tr').removeClass("rowSelected");
    $(this).addClass("rowSelected");
    $("input", this).each(function () {
      this.checked = true;
    });
  });

  $("#toggleRegForm").click(function() {
    var val = $('#clergy').val()
    $("#herFaithField,#herParishField,#herNameField,#prefNote,#nameNote").toggle();
    if (val == '0') {
      // is a priest
      this.innerHTML = "If you are a couple, please register by clicking here";
      $('#sacramentDateLabel').html("Ordination Date:");
      $('#hisNameField').html('First Name:');
      $('#hisFaithLabel').html('Faith:');
      $('#hisFaith').val('Catholic');
      $('#clergy').val('1');
    } else {
      // is a couple
      this.innerHTML = "If you are a priest, please register by clicking here";
      $('#sacramentDateLabel').html("Wedding Date:");
      $('#hisNameField').html('His Name:');
      $('#hisFaithLabel').html('His Faith:');
      $('#hisFaith').val('');
      $('#clergy').val('0');

    }
  });
  $("#wwmeForm").append('<fieldset style="text-align:right;background:none"><div style="text-align:right;background:none"><input type="button" id="submitRegistration" alt="Submit your request" style="font-weight:bold;padding:4px" value="Submit your Registration!" /></div></fieldset>');
  $("#submitRegistration").click(submitRegistration);

}

function submitRegistration() {
  if (!$("input[name='primaryWeekendChosen']:checked").val()) {
     $.scrollTo($('#weekendSelection')[0], { offset:{left:0,top:-40}});
     this.focus();
     alert('Please select a weekend to attend.');
     return false;
  }
  var inputfail = false;
  $('.required input').each(function() {
    if ($(this).val() == "") {
       //this.focus();
       $.scrollTo(this, { offset:{left:0,top:-40}});
       this.focus();
       alert('This field is required. If you would like to register over the phone, please call Carol & Bill Higgins@(248)528-2512');
       inputfail = true;
       return false;
    }
  });
  if (inputfail)
      return false;
  var regEx = new RegExp(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$/i);
  if (!regEx.test($('#eMail').val())) {
    alert("Please make sure your email is valid.");
    return false;
  }
  $.ajax({
    url:'/cupid/dao.php?act=register&'+$('#wwmeForm').serialize()+"&wedsgroup="+escape(getWEDSGroup()),
    success: handleRegistrationSubmitted
  });
  $.historyLoad("submitted");
}

function handleRegistrationSubmitted() {
  $('#main>h1').html('Thank you!');
  scrollTo(0,0);
  $('#registration').thtml('registrationCompleteTmpl');
}

function handleUnloadDefaultContext(data) {

}

function fill() {
  $('#hisName').val("Chris");
  $('#herName').val("Renee");
  $('#lastName').val("Pall");
  $('#address1').val("41766 Sycamore St.");
  $('#city').val("Novi");
  $('#state').val("MI");
  $('#zip').val('48375');
  $('#homePhone').val('248-374-0760');
  $('#sacramentDate').val('07/03/1999');
  $('#eMail').val('chris@thepalls.com');
  $('#hisFaith').val('Catholic');
  $('#herFaith').val('Catholic');
  $('#hisChurch').val('St. James');
  $('#herChurch').val('St. James');
}

$(function(){
  fetchTmpl('/cupid/app/register.html');

  addContextHandler({context:"default", f:handleDefaultContext}, {context:"default", f:handleUnloadDefaultContext});
  addContextHandler({context:"submitted", f:handleRegistrationSubmitted});
  $(document).bind('keydown', 'Alt+Q', fill);
  $.historyInit(handleContextOnLoad);
});

