jQuery(document).ready(function($){
  function authguard(e,options) {
    return $(options.tab).authguard();
  };
  /*$('ul#product-tools-tabs').tabs().bind('tabsselect',authguard);*/
  $('ul.jq.subtabs').tabs();

  $('ul.jq.get-involved').tabs({unselect: true, selected: location.hash ? undefined : null}).bind('tabsselect',authguard);

  $('ul.jq.get-involved').parents('body').find('.product_review_toolbox .rate_up').click(function(){
    $('ul.jq.get-involved').tabs('select', 1);
    return false;
  });

  $('ul.jq.get-involved').parents('body').find('.product_review_toolbox .rate_down').click(function(){
    $('ul.jq.get-involved').tabs('select', 2);
    return false;
  });

  $('a.cancel_feedback').click(function(){
    var element = $('ul.jq.get-involved');
    element.tabs('select',element.tabs().data('selected.tabs'));
    return false;
  });

  $('a.more_link').click(function(){
    $(this).parents('.less').hide()
      .siblings('.more').fadeIn();
    return false;
  });

  $('a.less_link').click(function(){
    $(this).parents('.more').hide()
      .siblings('.less').fadeIn();
    return false;
  });

  $('select.filter').change(function(){
    $(this).find('option').each(function(){
      var target = $($(this).attr("value"));
      if($(this).attr('selected'))
        target.fadeIn();
      else
        target.hide();
    });
  }).change();

  /*$('#my-lists .pagination a').livequery('click', function(){
    var href = this.href
    $('ul#product-tools-tabs').tabs('url', 1, href)
    $('ul#product-tools-tabs').tabs('load', 1)
    return false;
  });*/

  $('#category li').click(function(){
    window.location = $(this).find('a').attr('href');
  })

  $('a[rel*=facebox]').livequery(function() { $(this).facebox(); });

  $('a.why').livequery('click', function(event) {
    $('#'+this.href.split('#')[1]).slideToggle();
    return false;
  });

  $('#show_security_question_explanation').livequery('click', function(event) {
    $('#security_question_explanation').slideToggle();
    return false;
  });

  $('#show_facebook_link_explanation').livequery('click', function(event) {
    $('#facebook_link_explanation').slideToggle();
    return false;
  });

  $('#show_forgot_password_box').livequery('click', function(event) {
    $('#forgot_password_box').slideToggle();
    $('#sign_in_form').slideToggle();
    return false;
  });

  $('#show_long_description').click(function() {
    $('#product_short_description').toggle();
    $('#product_long_description').toggle();
    return false;
  });

  $('#show_short_description').click(function() {
    $('#product_long_description').toggle();
    $('#product_short_description').toggle();
    return false;
  });

  $('#facebox_close_link, .facebox_close').livequery('click', function(event) {
    $(document).trigger('close.facebox');
    return false;
  });

  $("#competing-product-wrapper .competing-products").jCarouselLite({
      btnNext: ".right-arrow",
      btnPrev: ".left-arrow",
      visible: 4,
      circular: false
  });

  $('.new-window form.button-to').attr('target', '_blank');

});

$("form.button-to").livequery(function() {
    var form = $(this);
    var button = form.find("input:submit");
    var link = $("<a/>");
    link.attr("href",form.attr("action"));
    link.attr("class",button.attr("class"));
    link.attr("title",button.attr("title"));
    link.html($("<span/>").text(button.attr("value")));
    link.click(function(e) { e.preventDefault(); form.submit(); });
    form.hide().after(link);
});

$("#facebox form.notifier").livequery(function() {
    $(this).ajaxForm({
      complete: function(request,message) {
        if(message == "error") {
          $("#facebox .content").html(request.responseText);
        } else {
          $(document).trigger('close.facebox');
          $('#flashes').html('<div class="flash success"><p>'+request.responseText+'</p></div>');
        }
      }
    });
});

jQuery(document).ajaxSend(function(event, request, settings) {
  if(settings.type == "GET") return;
  if(settings.contentType != "application/x-www-form-urlencoded") return;
  if(/\bauthenticity_token=/.test(settings.data)) return;
  var token = $("meta[name=authenticity_token]").attr("content");
  if(!token) return;
  if(settings.data)
    settings.data += "&";
  else {
    request.setRequestHeader("Content-Type",settings.contentType);
    settings.data = "";
  }
  settings.data += "authenticity_token=" + encodeURIComponent(token);
});

jQuery(document).ajaxComplete(function(event, request, settings) {
  if (request) {
    var notice = request.getResponseHeader("X-Notice");
    if(notice) {
      $('#flashes').html('<div class="flash notice"><p>'+notice+'</p></div>');
    }
  }
});
