function strip(string) {
  return string.replace(/^\s+/, '').replace(/\s+$/, '');
}

function downcase(string) {
  return string.toLowerCase();
}

function slugify(string) {
  return downcase(strip(string)).replace(/[^-a-z0-9~\s\.:;+=_]/g, '').replace(/[\s\.:;=+]+/g, '-');
}

jQuery.ajaxSetup({ 
  'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/javascript")} 
})

$(document).ajaxSend(function(event, request, settings) {
  if (typeof(AUTH_TOKEN) == "undefined") return;
  // settings.data is a serialized string like "foo=bar&baz=boink" (or null)
  settings.data = settings.data || "";
  settings.data += (settings.data ? "&" : "") + "authenticity_token=" + encodeURIComponent(AUTH_TOKEN);
});

$(function() {
  swapValues = [];
  $(".swap_value").each(function(i){
      swapValues[i] = $(this).val();
      $(this).focus(function(){
          if ($(this).val() == swapValues[i]) {
              $(this).val("");
          }
      }).blur(function(){
          if ($.trim($(this).val()) == "") {
              $(this).val(swapValues[i]);
          }
      });
  });
});

function setupCategoryPulldown() {
  $("select#category_pulldown").change(function(){
    window.location = this.value;
  });
}

function showCartDetails() {
  $("#details-link").hide();
  $("#cart-items-display").show();
}

$(document).ready(function(){
  $("a#member-logout-link").attr('href','#');
  $("a#member-logout-link").click(function(){
    $("form#member-logout-form").submit();
  });
  // Frontend-only
  if(window.location.href.indexOf("/admin") == -1) {
    $("#connect-with-us .email input[type='text']").labelify();
    $("img.add-to-cart-disabled-by-membership").qtip({
      style: {
        name: 'blue',
        border: {
          width: 3,
          radius: 5
        },
        tip: 'leftMiddle'
      },
      position: {
        corner: {
          target: 'rightMiddle',
          tooltip: 'leftMiddle'
        }
      }
    });
  }
});
