$(document).ready(function() {

  $('a[rel=external]').attr('target','_blank');

  if ($('a.store_locator').length > 0) {
    $('a.store_locator').fancybox({
      'href': '/store-locator/index/modal',
      'width': 640,
      'height': 480,
      'autoScale': false,
      'type': 'iframe',
      'transitionIn' : 'none',
      'transitionOut' : 'none'
    });
  }

  if ($('li.recipe_email a').length > 0) {
    $('li.recipe_email a').fancybox({
      'href': $('li.recipe_email a').attr('href')+'/modal',
      'width': 470,
      'height': 350,
      'autoScale': false,
      'type': 'iframe',
      'transitionIn' : 'none',
      'transitionOut' : 'none'
    });
  }

  if ($('li.recipe_text a').length > 0) {
    $('li.recipe_text a').fancybox({
      'href': $('li.recipe_text a').attr('href')+'/modal',
      'width': 470,
      'height': 350,
      'autoScale': false,
      'type': 'iframe',
      'transitionIn' : 'none',
      'transitionOut' : 'none'
    });
  }

  if ($('li.recipe_share a').length > 0) {
    $('li.recipe_share a').fancybox({
      'href': $('li.recipe_share a').attr('href')+'/modal',
      'width': 470,
      'height': 275,
      'autoScale': false,
      'type': 'iframe',
      'transitionIn' : 'none',
      'transitionOut' : 'none'
    });
  }

  if ($('a#package-guide-upc').length > 0) {
    $('a#package-guide-upc').fancybox();
  }
  if ($('a#package-guide-date').length > 0) {
    $('a#package-guide-date').fancybox();
  }

  /*
  if ($('a.featured_recipe').length > 0) {
    $('a.featured_recipe').fancybox({
      'href': $('a.featured_recipe').attr('href')+'/modal',
      'width': 640,
      'height': 500,
      'autoScale': false,
      'type': 'iframe',
      'transitionIn' : 'none',
      'transitionOut' : 'none',
      'titleShow' : false
    });
  }
  */

  $('ul.nmc_dropdown').nmcDropDown({
    trigger: 'click',
    hide_speed: 0
  });
  $(document).click(function(event) {
    $('ul.nmc_dropdown li.open > a').click();
  });
  $('ul.nmc_dropdown > li > a').not('ul.nmc_dropdown ul li a').click(function() {
    $('ul.nmc_dropdown li.open > a').not(this).click();
  });

  $('ul.nmc_dropdown li ul li a').click(function() {
    window.location = $(this).attr('href');
  });

  $('h4#ingredients_button').click(function() {
    $('#ingredients_menu').css('border-bottom', 'none');
    $('#ingredients_menu').slideToggle(300, function() {
      $('#ingredients_menu').css('border-bottom', '#e6dcc8 1px solid');
    });
  });

  $('#ingredients_menu input.checkbox.all').click(function() {
    if ($(this).is(':checked')) {
      $('input.checkbox', $(this).parent().parent().parent()).attr('checked', false);
      $(this).attr('checked', true);
    }
  });

  $('#ingredients_menu input.checkbox').click(function() {
    var container = $(this).parent().parent().parent();
    var boxes_checked = $('input.checkbox:checked', container).length;
    if (boxes_checked == 0)
      $('input.checkbox.all', container).attr('checked', true);
    else if (boxes_checked > 1 && $('input.checkbox.all', container).is(':checked'))
      $('input.checkbox.all', container).attr('checked', false);
  });

  $('#ingredients_menu input.radio').click(function() {
    switch ($('#ingredients_menu input.radio:checked').val()) {
      case 'cheese':
        $('#ingredients_butter_styles').fadeTo(300, 0.5, function() {
          $('#ingredients_butter_styles input').attr('disabled', true);
        });
        $('#ingredients_cheese_styles input').attr('disabled', false);
        $('#ingredients_cheese_styles').fadeTo(0, 1.0);
        $('#ingredients_cheese_flavors input').attr('disabled', false);
        $('#ingredients_cheese_flavors').fadeTo(0, 1.0);
        break;
      case 'butter':
        $('#ingredients_cheese_styles').fadeTo(300, 0.5, function() {
          $('#ingredients_cheese_styles input').attr('disabled', true);
        });
        $('#ingredients_cheese_flavors').fadeTo(300, 0.5, function() {
          $('#ingredients_cheese_flavors input').attr('disabled', true);
        });
        $('#ingredients_butter_styles input').attr('disabled', false);
        $('#ingredients_butter_styles').fadeTo(0, 1.0);
        break;
      default:
        $('#ingredients_cheese_styles input').attr('disabled', false);
        $('#ingredients_cheese_styles').fadeTo(0, 1.0);
        $('#ingredients_cheese_flavors input').attr('disabled', false);
        $('#ingredients_cheese_flavors').fadeTo(0, 1.0);
        $('#ingredients_butter_styles input').attr('disabled', false);
        $('#ingredients_butter_styles').fadeTo(0, 1.0);
        break;
    }
  });

  $('#ingredients_menu input.radio:checked').click();

  $('.rating_bar.logged_in.user_rating ul').live('mouseover', function() {
    $(this).css('background-position', '0 -11px');
  });
  $('.rating_bar.logged_in.user_rating ul').live('mouseout', function() {
    $(this).css('background-position', 'bottom left');
  });

  $('.rating_bar.logged_in ul li a').click(function(event) {
    $.post($(this).attr('href'), { json: true }, function(data) {
        if (!$('#rating_'+data.recipe_id).hasClass('user_rating'))
          $('#rating_'+data.recipe_id).addClass('user_rating');
        $('#rating_'+data.recipe_id+' ul').width(data.rating*60/5);
      }, 'json');
    event.preventDefault();
  });

  $('#print_content ul li').live('click', function() {
    switch($(this).html()) {
      case '3 x 5':
        var stylesheet = '/stylesheets/layout.recipe.3x5.print.css';
        break;
      case '4 x 6':
        var stylesheet = '/stylesheets/layout.recipe.4x6.print.css';
        break;
      case 'Full Page':
        var stylesheet = '/stylesheets/layout.recipe.fullpage.print.css';
        break;
    }
    if (stylesheet) {
      if ($('img#borden_print_logo').length == 0) {
        var borden_logo = $('<img></img>').attr('id', 'borden_print_logo').attr('src', '/graphics/print-logo.gif');
        $('.recipe_summary').prepend(borden_logo);
      }

      $('link#recipe_print_style').attr('href', stylesheet);
      window.print();
    }
    $.trackEvent('Recipes', 'Print', $(this).html());
  });

  if($('.recipe_detail_header ul').length > 0) {
    var print_content = $('<div></div>').attr('id', 'print_content');
    print_content.html('<h2>Print This Recipe</h2><p>Choose your format.</p><ul><li class="three_five">3 x 5</li><li class="four_six">4 x 6</li><li class="full_page">Full Page</li></ul>');
    var div = $('<div></div>').css('display', 'none').append(print_content);
    var link = $('<a></a>').attr('href', '#print_content').html('Print').fancybox({ 'href': '#print_content' });
    var li = $('<li></li>').append(link);
    $('.recipe_detail_header ul').prepend(li);
    $('body').append(div);
  }

  if ($('#ingredients_controls').length > 0) {
    var link = $('<a></a>').addClass('recipes_cancel').attr('href','#').html('Cancel');
    link.click(function() {
      $('#ingredients_menu').css('border-bottom', 'none');
      $('#ingredients_menu').slideToggle(300, function() {
        $('#ingredients_menu').css('border-bottom', '#e6dcc8 1px solid');
      });
    });
    $('#ingredients_controls').append(link);
  }

  $('ul.share_links a').attr('target', '_parent');

  $('body.auth.login input#login_email').focus();

  $('#products_individual_nav ul li a.current').parent().parent().css('display', 'block');
  $('.meet_farmers_sidebar ul li.current').parent().css('display', 'block');

  if ($('#products_individual_nav ul').length > 1) {
    var nav_pagination = $('<div></div>').addClass('nav_pagination');
    for (i=0; i < $('#products_individual_nav ul').length; i++) {
      var pagination_link = $('<a></a>').attr('href','#'+(i*8)).html(i+1);
      if ($('#products_individual_nav ul.products_'+(i*8)).is(':visible'))
        pagination_link.addClass('selected');
      nav_pagination.append(pagination_link);
    }
    $('#products_individual_nav').append(nav_pagination);
  }

  if ($('.meet_farmers_sidebar ul').length > 1) {
    var nav_pagination = $('<div></div>').addClass('nav_pagination');
    for (i=0; i < $('.meet_farmers_sidebar ul').length; i++) {
      var pagination_link = $('<a></a>').attr('href','#'+(i*8)).html(i+1);
      if ($('#.meet_farmers_sidebar ul.families_'+(i*8)).is(':visible'))
        pagination_link.addClass('selected');
      nav_pagination.append(pagination_link);
    }
    $('.meet_farmers_sidebar').append(nav_pagination);
  }

  $('#products_individual_nav .nav_pagination a').click(function(event) {
    event.preventDefault();
    $('#products_individual_nav .nav_pagination a.selected').removeClass('selected');
    $(this).addClass('selected');
    $('#products_individual_nav ul:visible').fadeOut(200, function() {
      var link_href = $('#products_individual_nav .nav_pagination a.selected').attr('href');
      var list_class = 'products_'+link_href.substr(1, link_href.length-1);
      $('#products_individual_nav ul.'+list_class).show();
    });
    $(this).blur();
  });

  $('.meet_farmers_sidebar .nav_pagination a').click(function(event) {
    event.preventDefault();
    $('.meet_farmers_sidebar .nav_pagination a.selected').removeClass('selected');
    $(this).addClass('selected');
    $('.meet_farmers_sidebar ul:visible').fadeOut(200, function() {
      var link_href = $('.meet_farmers_sidebar .nav_pagination a.selected').attr('href');
      var list_class = 'families_'+link_href.substr(1, link_href.length-1);
      $('.meet_farmers_sidebar ul.'+list_class).show();
    });
    $(this).blur();
  });

  $('.rating_bar.logged_out .rating_value').click(function() {
    if ($('.login_rate', $(this).parent().parent()).length > 0) return;
    var div = $('<div></div>').html('Please <a href="/auth/login">sign in</a> or <a href="/friends-of-elsie/join">join</a> to rate').addClass('login_rate');
    div.insertAfter($(this).parent());
    div.fadeIn(400);
  });
  $('.null_coupon').click(function() {
    if ($('.login_coupon', $(this).parent()).length > 0) return;
    if ($(this).hasClass('finished'))
        var div = $('<div></div>').html('Thanks for visiting, due to demand of delicious Borden® Cheese we are currently not offering online coupons at this time. Please check back later.').addClass('login_coupon');
    else
        var div = $('<div></div>').html('Please <a href="/auth/login">sign in</a> or <a href="/friends-of-elsie/join">join</a> to download this coupon').addClass('login_coupon');
    div.insertAfter(this);
    div.fadeIn(400);
  });

  if ($('.blog_image a').length > 0)
    $('.blog_image a').fancybox();

  if ($('#home_feature_1 div').length > 0) {
      $('#home_feature_1 div').cycle({
        fx: 'fade'
      })
  }
  if ($('#home_feature_2 div').length > 0) {
      $('#home_feature_2 div').cycle({
        fx: 'fade'
      })
  }

  // Tribal Fusion tracking
  var img = $('<img></img>').attr('src','http://a.tribalfusion.com/i.cid?c=309153&d=30&page=landingPage').attr('alt', 'Tribal Fusion tracking pixel').css('display', 'none');
  $('body').append(img);

  // Specific Media tracking
  var img = $('<img></img>').attr('src','http://bp.specificclick.net?pixid=99021751').attr('alt', 'Specific Media tracking pixel').css('display', 'none');
  $('body').append(img);

  // Analytics tracking
  $('#locator_form').submit(function() {
    $.trackEvent('Store Locator', 'Search', $('#zip').val());
  });
  $('body.recipes.email form').submit(function() {
    $.trackEvent('Recipes', 'Email');
  });
  $('body.recipes.text form').submit(function() {
    $.trackEvent('Recipes', 'Text');
  });
  $('body.recipes.share ul.share_links li a').track({
    category: 'Recipes',
    action: 'Share'
  });
  $('div.coupon a.coupon_download').track({
    category: 'Coupons',
    action: 'Download',
    label: 'Singles Sensations $1.00 Off',
    skip_internal: false
  });
});

