$(document).ready(function() {

  var DEFAULT_PRODUCT_DISPLAY = '#details_national_data';
  var DEFAULT_CATEGORY        = '.national-data';
  var products                = $('.product a');
  var menu                    = '.sub-menu-slider';
  var menu_items              = $('.sub-menu-slider a');

  national_data   = {
    'netcosts':               'national-data',
    'media-market':           'national-data',
    'webcosts':               'national-data'
  };
  local_data      = {
    'spot-tv':                'local-data',
    'hispanic-spot':          'local-data',
    'spot-radio':             'local-data'
  };
  analytic_tools  = {
    'datavue':                'analytic-tools',
    'netcosts-online':        'analytic-tools',
    'wrap':                   'analytic-tools'
  };
  var all_sections  = [national_data, local_data, analytic_tools];
  section_titles    = ['national-data', 'local-data', 'analytic-tools'];

  setup_product_click(products);
  setup_menu_items_click(menu_items);

  $.localScroll.defaults.axis = 'y';
  $.localScroll.hash({
    target:   '#products',
    queue:    true,
    duration: 1500
  });
  $.localScroll({
    target:   '#products',
    queue:    true,
    duration: 1000,
    hash:     true,
    onBefore: function(e, anchor, $target){
      target = get_details_id_from_event_target(e);
      display_product_details(target);
    }
  });

  if (location.hash) {
    category = location.hash.replace(/#/,'');
    if (jQuery.inArray(category, section_titles) != -1) {
      menu_item = menu_items.filter('.' + category);
      select_menu_item(menu_item);
      display_product_details(get_details_id_from_hash(category));
    } else {
      jQuery.each(all_sections, function(){
        jQuery.each(this, function(name, value){
          if (category == name) {
            $('#products').scrollTo('#' + value);
            menu_item = menu_items.filter('.' + value);
            select_menu_item(menu_item);
            display_product_details(get_details_id_from_hash(name));
          };
        });
      });
    }
  } else {
    menu_item = menu_items.filter('.' + DEFAULT_CATEGORY);
    select_menu_item(menu_item);
    display_product_details(DEFAULT_PRODUCT_DISPLAY);
  }

});