var _paq = _paq || [];
var halfWasFired = false;
var fullWasFired = false;
//Piwik View Tracking
$(document).ready(function () {
  _paq.push(['trackEvent', 'pageView', 'enterPage', 'trekHolidayGiftGuide25']);
});

//Content Button Clicks
var byCatagoryButton = document.getElementById('byCatagoryButton');

if (byCatagoryButton != null) {
  byCatagoryButton.addEventListener('click', function () {
    _paq.push([
      'trackEvent',
      'byCatagory',
      'clickButton',
      'trekHolidayGiftGuide25',
    ]);
  });
}

//Content Button Clicks
var byGenderButton = document.getElementById('byGenderButton');

if (byGenderButton != null) {
  byGenderButton.addEventListener('click', function () {
    _paq.push([
      'trackEvent',
      'byGender',
      'clickButton',
      'trekHolidayGiftGuide25',
    ]);
  });
}

//Content Button Clicks
var byPriceButton = document.getElementById('byPriceButton');

if (byPriceButton != null) {
  byPriceButton.addEventListener('click', function () {
    _paq.push([
      'trackEvent',
      'byPrice',
      'clickButton',
      'trekHolidayGiftGuide25',
    ]);
  });
}

//Content Button Clicks
var underFiftyDollarsButton = document.getElementById(
  'underFiftyDollarsButton'
);

if (underFiftyDollarsButton != null) {
  underFiftyDollarsButton.addEventListener('click', function () {
    _paq.push([
      'trackEvent',
      'underFiftyDollars',
      'clickButton',
      'trekHolidayGiftGuide25',
    ]);
  });
}

//Content Button Clicks
var underOneHundredDollarsButton = document.getElementById(
  'underOneHundredDollarsButton'
);

if (underOneHundredDollarsButton != null) {
  underOneHundredDollarsButton.addEventListener('click', function () {
    _paq.push([
      'trackEvent',
      'underOneHundredDollars',
      'clickButton',
      'trekHolidayGiftGuide25',
    ]);
  });
}

//Content Button Clicks
var underFiveHundredDollarsButton = document.getElementById(
  'underFiveHundredDollarsButton'
);

if (underFiveHundredDollarsButton != null) {
  underFiveHundredDollarsButton.addEventListener('click', function () {
    _paq.push([
      'trackEvent',
      'underFiveHundredDollars',
      'clickButton',
      'trekHolidayGiftGuide25',
    ]);
  });
}

//Content Button Clicks
var casualwearButton = document.getElementById('casualwearButton');

if (casualwearButton != null) {
  casualwearButton.addEventListener('click', function () {
    _paq.push([
      'trackEvent',
      'casualwear',
      'clickButton',
      'trekHolidayGiftGuide25',
    ]);
  });
}

//Content Button Clicks
var bikeTechButton = document.getElementById('bikeTechButton');

if (bikeTechButton != null) {
  bikeTechButton.addEventListener('click', function () {
    _paq.push([
      'trackEvent',
      'bikeTech',
      'clickButton',
      'trekHolidayGiftGuide25',
    ]);
  });
}

//Content Button Clicks
var electraStockingStuffersButton = document.getElementById(
  'electraStockingStuffersButton'
);

if (electraStockingStuffersButton != null) {
  electraStockingStuffersButton.addEventListener('click', function () {
    _paq.push([
      'trackEvent',
      'electraStockingStuffers',
      'clickButton',
      'trekHolidayGiftGuide25',
    ]);
  });
}

//Catalog Clicks
if (
  document.getElementsByClassName('shopRoadBikes').length > 0 &&
  document
    .getElementsByClassName('shopRoadBikes')[0]
    .getElementsByClassName('seCatalogWidget').length > 0 &&
  document
    .getElementsByClassName('shopRoadBikes')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink').length > 0
) {
  document
    .getElementsByClassName('shopRoadBikes')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink')[0]
    .getElementsByTagName('a')[0]
    .setAttribute('id', 'shopRoadBikesButton');
  var shopTrailButton = document.getElementById('shopRoadBikesButton');
  shopTrailButton.addEventListener('click', function () {
    _paq.push([
      'trackEvent',
      'shopRoadBikes',
      'clickCatalogButton',
      'trekHolidayGiftGuide25',
    ]);
  });
}

//Catalog Clicks
if (
  document.getElementsByClassName('shopMtbBikes').length > 0 &&
  document
    .getElementsByClassName('shopMtbBikes')[0]
    .getElementsByClassName('seCatalogWidget').length > 0 &&
  document
    .getElementsByClassName('shopMtbBikes')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink').length > 0
) {
  document
    .getElementsByClassName('shopMtbBikes')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink')[0]
    .getElementsByTagName('a')[0]
    .setAttribute('id', 'shopMtbBikesButton');
  var shopTrailButton = document.getElementById('shopMtbBikesButton');
  shopTrailButton.addEventListener('click', function () {
    _paq.push([
      'trackEvent',
      'shopMtbBikes',
      'clickCatalogButton',
      'trekHolidayGiftGuide25',
    ]);
  });
}

//Catalog Clicks
if (
  document.getElementsByClassName('shopCityBikes').length > 0 &&
  document
    .getElementsByClassName('shopCityBikes')[0]
    .getElementsByClassName('seCatalogWidget').length > 0 &&
  document
    .getElementsByClassName('shopCityBikes')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink').length > 0
) {
  document
    .getElementsByClassName('shopCityBikes')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink')[0]
    .getElementsByTagName('a')[0]
    .setAttribute('id', 'shopCityBikesButton');
  var shopTrailButton = document.getElementById('shopCityBikesButton');
  shopTrailButton.addEventListener('click', function () {
    _paq.push([
      'trackEvent',
      'shopCityBikes',
      'clickCatalogButton',
      'trekHolidayGiftGuide25',
    ]);
  });
}

//Catalog Clicks
if (
  document.getElementsByClassName('shopGravelBikes').length > 0 &&
  document
    .getElementsByClassName('shopGravelBikes')[0]
    .getElementsByClassName('seCatalogWidget').length > 0 &&
  document
    .getElementsByClassName('shopGravelBikes')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink').length > 0
) {
  document
    .getElementsByClassName('shopGravelBikes')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink')[0]
    .getElementsByTagName('a')[0]
    .setAttribute('id', 'shopGravelBikesButton');
  var shopTrailButton = document.getElementById('shopGravelBikesButton');
  shopTrailButton.addEventListener('click', function () {
    _paq.push([
      'trackEvent',
      'shopGravelBikes',
      'clickCatalogButton',
      'trekHolidayGiftGuide25',
    ]);
  });
}

//Catalog Clicks
if (
  document.getElementsByClassName('shopMensGifts').length > 0 &&
  document
    .getElementsByClassName('shopMensGifts')[0]
    .getElementsByClassName('seCatalogWidget').length > 0 &&
  document
    .getElementsByClassName('shopMensGifts')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink').length > 0
) {
  document
    .getElementsByClassName('shopMensGifts')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink')[0]
    .getElementsByTagName('a')[0]
    .setAttribute('id', 'shopMensGiftsButton');
  var shopTrailButton = document.getElementById('shopMensGiftsButton');
  shopTrailButton.addEventListener('click', function () {
    _paq.push([
      'trackEvent',
      'shopMensGifts',
      'clickCatalogButton',
      'trekHolidayGiftGuide25',
    ]);
  });
}

//Catalog Clicks
if (
  document.getElementsByClassName('shopWomensGifts').length > 0 &&
  document
    .getElementsByClassName('shopWomensGifts')[0]
    .getElementsByClassName('seCatalogWidget').length > 0 &&
  document
    .getElementsByClassName('shopWomensGifts')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink').length > 0
) {
  document
    .getElementsByClassName('shopWomensGifts')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink')[0]
    .getElementsByTagName('a')[0]
    .setAttribute('id', 'shopWomensGiftsButton');
  var shopTrailButton = document.getElementById('shopWomensGiftsButton');
  shopTrailButton.addEventListener('click', function () {
    _paq.push([
      'trackEvent',
      'shopWomensGifts',
      'clickCatalogButton',
      'trekHolidayGiftGuide25',
    ]);
  });
}

//Catalog Clicks
if (
  document.getElementsByClassName('shopKidsGifts').length > 0 &&
  document
    .getElementsByClassName('shopKidsGifts')[0]
    .getElementsByClassName('seCatalogWidget').length > 0 &&
  document
    .getElementsByClassName('shopKidsGifts')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink').length > 0
) {
  document
    .getElementsByClassName('shopKidsGifts')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink')[0]
    .getElementsByTagName('a')[0]
    .setAttribute('id', 'shopKidsGiftsButton');
  var shopTrailButton = document.getElementById('shopKidsGiftsButton');
  shopTrailButton.addEventListener('click', function () {
    _paq.push([
      'trackEvent',
      'shopKidsGifts',
      'clickCatalogButton',
      'trekHolidayGiftGuide25',
    ]);
  });
}

//Catalog Clicks
if (
  document.getElementsByClassName('shopGiftsUnderFiftyDollars').length > 0 &&
  document
    .getElementsByClassName('shopGiftsUnderFiftyDollars')[0]
    .getElementsByClassName('seCatalogWidget').length > 0 &&
  document
    .getElementsByClassName('shopGiftsUnderFiftyDollars')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink').length > 0
) {
  document
    .getElementsByClassName('shopGiftsUnderFiftyDollars')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink')[0]
    .getElementsByTagName('a')[0]
    .setAttribute('id', 'shopGiftsUnderFiftyDollarsButton');
  var shopTrailButton = document.getElementById(
    'shopGiftsUnderFiftyDollarsButton'
  );
  shopTrailButton.addEventListener('click', function () {
    _paq.push([
      'trackEvent',
      'shopGiftsUnderFiftyDollars',
      'clickCatalogButton',
      'trekHolidayGiftGuide25',
    ]);
  });
}

//Catalog Clicks
if (
  document.getElementsByClassName('shopGiftsUnderOneHundredDollars').length >
    0 &&
  document
    .getElementsByClassName('shopGiftsUnderOneHundredDollars')[0]
    .getElementsByClassName('seCatalogWidget').length > 0 &&
  document
    .getElementsByClassName('shopGiftsUnderOneHundredDollars')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink').length > 0
) {
  document
    .getElementsByClassName('shopGiftsUnderOneHundredDollars')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink')[0]
    .getElementsByTagName('a')[0]
    .setAttribute('id', 'shopGiftsUnderOneHundredDollarsButton');
  var shopTrailButton = document.getElementById(
    'shopGiftsUnderOneHundredDollarsButton'
  );
  shopTrailButton.addEventListener('click', function () {
    _paq.push([
      'trackEvent',
      'shopGiftsUnderOneHundredDollars',
      'clickCatalogButton',
      'trekHolidayGiftGuide25',
    ]);
  });
}

//Catalog Clicks
if (
  document.getElementsByClassName('shopGiftsUnderFiveHundredDollars').length >
    0 &&
  document
    .getElementsByClassName('shopGiftsUnderFiveHundredDollars')[0]
    .getElementsByClassName('seCatalogWidget').length > 0 &&
  document
    .getElementsByClassName('shopGiftsUnderFiveHundredDollars')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink').length > 0
) {
  document
    .getElementsByClassName('shopGiftsUnderFiveHundredDollars')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink')[0]
    .getElementsByTagName('a')[0]
    .setAttribute('id', 'shopGiftsUnderFiveHundredDollarsButton');
  var shopTrailButton = document.getElementById(
    'shopGiftsUnderFiveHundredDollarsButton'
  );
  shopTrailButton.addEventListener('click', function () {
    _paq.push([
      'trackEvent',
      'shopGiftsUnderFiveHundredDollars',
      'clickCatalogButton',
      'trekHolidayGiftGuide25',
    ]);
  });
}

//Catalog Clicks
if (
  document.getElementsByClassName('shopCasualwearGifts').length > 0 &&
  document
    .getElementsByClassName('shopCasualwearGifts')[0]
    .getElementsByClassName('seCatalogWidget').length > 0 &&
  document
    .getElementsByClassName('shopCasualwearGifts')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink').length > 0
) {
  document
    .getElementsByClassName('shopCasualwearGifts')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink')[0]
    .getElementsByTagName('a')[0]
    .setAttribute('id', 'shopCasualwearGiftsButton');
  var shopTrailButton = document.getElementById('shopCasualwearGiftsButton');
  shopTrailButton.addEventListener('click', function () {
    _paq.push([
      'trackEvent',
      'shopCasualwearGifts',
      'clickCatalogButton',
      'trekHolidayGiftGuide25',
    ]);
  });
}

//Catalog Clicks
if (
  document.getElementsByClassName('shopBikeTechGifts').length > 0 &&
  document
    .getElementsByClassName('shopBikeTechGifts')[0]
    .getElementsByClassName('seCatalogWidget').length > 0 &&
  document
    .getElementsByClassName('shopBikeTechGifts')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink').length > 0
) {
  document
    .getElementsByClassName('shopBikeTechGifts')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink')[0]
    .getElementsByTagName('a')[0]
    .setAttribute('id', 'shopBikeTechGiftsButton');
  var shopTrailButton = document.getElementById('shopBikeTechGiftsButton');
  shopTrailButton.addEventListener('click', function () {
    _paq.push([
      'trackEvent',
      'shopBikeTechGifts',
      'clickCatalogButton',
      'trekHolidayGiftGuide25',
    ]);
  });
}

//Catalog Clicks
if (
  document.getElementsByClassName('shopElectraStockingStuffers').length > 0 &&
  document
    .getElementsByClassName('shopElectraStockingStuffers')[0]
    .getElementsByClassName('seCatalogWidget').length > 0 &&
  document
    .getElementsByClassName('shopElectraStockingStuffers')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink').length > 0
) {
  document
    .getElementsByClassName('shopElectraStockingStuffers')[0]
    .getElementsByClassName('seCatalogWidget')[0]
    .getElementsByClassName('seContentSectionLink')[0]
    .getElementsByTagName('a')[0]
    .setAttribute('id', 'shopElectraStockingStuffersButton');
  var shopTrailButton = document.getElementById(
    'shopElectraStockingStuffersButton'
  );
  shopTrailButton.addEventListener('click', function () {
    _paq.push([
      'trackEvent',
      'shopElectraStockingStuffers',
      'clickCatalogButton',
      'trekHolidayGiftGuide25',
    ]);
  });
}

//Piwik Scrolling
window.addEventListener('scroll', detectScrollEventPush);
window.addEventListener('touchmove', detectScrollEventPush);
//Android Shim for Second touch event/100% scroll
window.addEventListener(
  'touchstart',
  function (e) {
    onStart(e);
  },
  false
);
function onStart(touchEvent) {
  if (navigator.userAgent.match(/Android/i)) {
    touchEvent.preventDefault();
  }
}
function detectScrollEventPush() {
  var posY_px = window.pageYOffset || 0,
    posY_percentage = getPageScrollPercentage(posY_px);
  if (!halfWasFired && posY_percentage >= 50) {
    halfWasFired = true;
    _paq.push([
      'trackEvent',
      'Scrolling',
      '50% Scrolled',
      'trekHolidayGiftGuide25',
    ]);
  }
  if (!fullWasFired && posY_percentage === 100) {
    fullWasFired = true;
    _paq.push([
      'trackEvent',
      'Scrolling',
      '100% Scrolled',
      'trekHolidayGiftGuide25',
    ]);
  }
  function getPageScrollPercentage(scrollPx) {
    var screenHeight =
        (document.documentElement && document.documentElement.clientHeight) ||
        0,
      pageScrollHeight = Math.max(totalPageHeight() - screenHeight, 1),
      rawPercentage = (scrollPx / pageScrollHeight) * 100;
    return Math.round(rawPercentage);
  }
  function totalPageHeight() {
    return Math.max(
      1,
      document.body.scrollHeight || 0,
      document.body.offsetHeight || 0,
      document.documentElement.clientHeight || 0,
      document.documentElement.scrollHeight || 0,
      document.documentElement.offsetHeight || 0
    );
  }
}
