// Global functions

var searchInputID = "#s";
var searchBoxLabeledClass = "search-box-labeled";
var searchBoxLabel = "search ";

var emailInputID = "#mce-EMAIL";
var emailBoxLabeledClass = "email-box-labeled";
var emailBoxLabel = "email address ";

var emailSubmitID = "#mc-embedded-subscribe";

$(document).ready(function() {
  // Set self-labeling functions for global search field
  if (($(searchInputID).val() == "") || ($(searchInputID).val() == searchBoxLabel)) {
    if (IsSelfLabelSet(searchInputID, searchBoxLabeledClass) == false) {
      SetSelfLabel(searchInputID, searchBoxLabeledClass, searchBoxLabel);
    }
  }
  
  $(searchInputID).focus(function() {
    if (IsSelfLabelSet(searchInputID, searchBoxLabeledClass)) {
      ClearSelfLabel(searchInputID, searchBoxLabeledClass);
    }
  });
  
  $(searchInputID).blur(function() {
    if (($(searchInputID).val() == "") && (IsSelfLabelSet(searchInputID, searchBoxLabeledClass) == false)) {
      SetSelfLabel(searchInputID, searchBoxLabeledClass, searchBoxLabel);
    }
  });
  
  // Set self-labeling functions for global email list field
  if (($(emailInputID).val() == "") || ($(emailInputID).val() == emailBoxLabel)) {
    if (IsSelfLabelSet(emailInputID, emailBoxLabeledClass) == false) {
      SetSelfLabel(emailInputID, emailBoxLabeledClass, emailBoxLabel);
    }
  }
  
  $(emailInputID).focus(function() {
    if (IsSelfLabelSet(emailInputID, emailBoxLabeledClass)) {
      ClearSelfLabel(emailInputID, emailBoxLabeledClass);
    }
  });
  
  $(emailInputID).blur(function() {
    if (($(emailInputID).val() == "") && (IsSelfLabelSet(emailInputID, emailBoxLabeledClass) == false)) {
      SetSelfLabel(emailInputID, emailBoxLabeledClass, emailBoxLabel);
    }
  });
  
  // Don't submit email form if there is no user input
  $(emailSubmitID).click(function() {
    if (IsSelfLabelSet(emailInputID, emailBoxLabeledClass)) {
      return false;
    }
    else {
      return true;
    }
  });
});


// Shared self-labeling functions

function IsSelfLabelSet(fieldID, className) {
  return ($(fieldID).hasClass(className));
}

function SetSelfLabel(fieldID, className, label) {
  $(fieldID).val(label);
  $(fieldID).addClass(className);
}

function ClearSelfLabel(fieldID, className) {
  $(fieldID).val("");
  $(fieldID).removeClass(className);
}
