function track_click(category, link) {
   pageTracker._trackEvent(category, 'click', link);
}

function track_click2(category, index, link) {
   var label = [index, link].join('.');
   pageTracker._trackEvent(category, 'click', 'position '+label);
}

function track_click3(category, index, link) {
   var label = [index, link].join('.');
   pageTracker._trackEvent(category, 'click', 'genre '+label);
}

function track_clickVideo(category, link) {
   pageTracker._trackEvent(category, 'play', link);
}

var trackClicks = function(){

  // clicks on Header tabs
  var clickHeaderTab = $$('ul#nav-tab-home li>a');
  clickHeaderTab.invoke('observe', 'click', function(e) {
    var el = e.findElement('a');
    var linkLabel = el.readAttribute("href");
    track_click('Header',linkLabel);
  });

  // clicks on Happening Now Right Arrows
  var clickHappNowArrow = $$('div[id^=tab-happening_] ul#nav-tab-happening li>a');
  clickHappNowArrow.invoke('observe', 'click', function(e) {
    var el = e.findElement('a');
    var linkLabel = el.readAttribute("href");
    track_click('Happening Now',linkLabel);
  });

  // clicks on Happening Now tiles 
  var clickHappNowTile = $$('div[id^=tab-happening_] p a.btn-cufon');
  clickHappNowTile.invoke('observe', 'click', function(e) {
    var el = e.findElement('a');
    var linkLabel = el.readAttribute("href");
    var elUp = e.findElement('a').up('div');
    var oldId = elUp.readAttribute("id");
    var posLabel = oldId.replace("tab-happening_","");
    track_click2('Happening Now', posLabel, linkLabel);
  });

  // clicks on Happening Now videos (Feb 2011 none present)
  var clickHappNowVideo = $$('div[id^=tab-happening_] object#flash-target-media');
  clickHappNowVideo.invoke('observe', 'click', function(e) {
    var el = e.findElement('div');
    var linkLabel = el.readAttribute("id");
    track_click('Happening Now', linkLabel);
  });

  // clicks on Happening Now Up/Down Arrows
  var clickHappUpDownArrow = $$('div[id^=tab-happening_] ul li[class^=btn-] a.btn');
  clickHappUpDownArrow.invoke('observe', 'click', function(e) {
    var el = e.findElement('a');
    var linkLabel = el.readAttribute("href");
    track_click('Happening Now',linkLabel);
  });

  // clicks on Connect icons
  var clickConnectIcon = $$('div#tab-connect.tab ul.link-list-icon li a');
  clickConnectIcon.invoke('observe', 'click', function(e) {
    var el = e.findElement('a');
    var linkLabel = el.readAttribute("href");
    track_click('Connect',linkLabel);
  });

  // clicks on Connect - submit button
  var clickConnectSubmit = $$('input#ctl00_ContentPlaceHolder1_uxConnect_uxSubmit');
  clickConnectSubmit.invoke('observe', 'click', function(e) {
    track_click('Connect','Submit');
  });

  // clicks on Connect - join now button
  var clickConnectJoin = $$('div#tab-connect p a');
  clickConnectJoin.invoke('observe', 'click', function(e) {
    var el = e.findElement('a');
    var linkLabel = el.readAttribute("href");
    track_click('Connect',linkLabel);
  });

  // clicks on Carousel - Previous/Next
  var clickCarouselArrow = $$('div#scroller-controls-whats_hot ul li a');
  clickCarouselArrow.invoke('observe', 'click', function(e) {
    var el = e.findElement('a');
    var linkLabel = el.readAttribute("href");
    track_click('Carousel',linkLabel);
  });

  // clicks on Carousel - tiles  
  var clickCarouselTile = $$('div#scroller-whats_hot ul li a.event-tile');
  clickCarouselTile.invoke('observe', 'click', function(e) {
    var el = e.findElement('a');
    var linkLabel = el.readAttribute("href");
    track_click('Carousel',linkLabel);
  });

  // clicks on What's On - slider
  var clickWhatsOnSlider = $$('div#tab-whats_on.tab li.slider-handle');
  clickWhatsOnSlider.invoke('observe', 'click', function(e) {
    track_click('Whats On', 'Slider');
  });

  // clicks on What's On - tiles (with genre)
  var clickWhatsOnTile = $$('div#tab-whats_on.tab div.results h3.section-title cufon.cufon, ul.results li a');
  clickWhatsOnTile.invoke('observe', 'click', function(e) {
    var el = e.findElement('a');
    var linkLabel = el.readAttribute("href");
    var elUp = e.findElement('a').up('div.results');
    var elDown = elUp.down('cufon');
    var genLabel = elDown.readAttribute("alt");
    track_click3('Whats On', genLabel, linkLabel);
  });

  // clicks on What's On - search button
  var clickWhatsOnSearch = $$('input#ctl00_ContentPlaceHolder1_uxWhatsOnSearchForm_uxSubmit');
  clickWhatsOnSearch.invoke('observe', 'click', function(e) {
    track_click('Whats On', 'Submit-Search');
  });

  // clicks on Latest News (with position)
  var clickLatestNews = $$('div#news-ticker ul li a');
  clickLatestNews.invoke('observe', 'click', function(e) {
    var el = e.findElement('a');
    var linkLabel = el.readAttribute("href");
    var elUp = e.findElement('a').up('li');
    var oldId = elUp.readAttribute("id");
    var posLabel = oldId.replace("news-item_","");
    track_click2('Latest News', posLabel, linkLabel);
  });

  // clicks on Highlights/Offers
  var clickHighlightsOffers = $$('div#content ul.item-list ul.link-list-horz li a');
  clickHighlightsOffers.invoke('observe', 'click', function(e) {
    var el = e.findElement('a');
    var linkLabel = el.readAttribute("href");
    track_click('Highlights/Offers',linkLabel);
  });

  // clicks on Blog & Photo Gallery
  var clickBlogGallery = $$('div#content div.columns div.column div.section div p a.btn-cufon');
  clickBlogGallery.invoke('observe', 'click', function(e) {
    var el = e.findElement('a');
    var linkLabel = el.readAttribute("href");
    track_click('Homepage',linkLabel);
  });

  // clicks on Homepage Feature Video
  var clickHomeFeatVideo = $$('div#video div#feature-video a');
  clickHomeFeatVideo.invoke('observe', 'click', function(e) {
    var el = e.findElement('a');
    var linkLabel = el.readAttribute("href");
    track_click('Homepage Feature-Video',linkLabel);
  });

  // clicks on Homepage Sub-Videos
  var clickHomeSubVideo = $$('div#video div#sub-videos div a');
  clickHomeSubVideo.invoke('observe', 'click', function(e) {
    var el = e.findElement('a');
    var linkLabel = el.readAttribute("href");
    track_click('Homepage Sub-Video',linkLabel);
  });

  // clicks on Homepage More Videos button
  var clickHomeMoreVideo = $$('div#video div#linkbutton a.btn-cufon');
  clickHomeMoreVideo.invoke('observe', 'click', function(e) {
    var el = e.findElement('a');
    var linkLabel = el.readAttribute("href");
    track_click('Homepage More-Videos',linkLabel);
  });

  // clicks on RightHandSide Event Tiles
  var clickRHSEventTile = $$('div#mainContent.container div.col1 div.eventTile');
  clickRHSEventTile.invoke('observe', 'click', function(e) {
    var el = e.findElement('div.eventTile');
    var elDown = el.down('a');
    var linkLabel = elDown.readAttribute("href");
    track_click('RHS EventTile',linkLabel);
  });
}

document.observe('dom:loaded', function() {
  trackClicks();
});


