jQuery(function ($) {

    track = function (cat, act, lbl) {
        if (typeof (lbl) === 'undefined' || lbl == '') {
            _gaq.push(['_trackEvent', cat, act]);
        } else {
            _gaq.push(['_trackEvent', cat, act, lbl]);
        }
    }

    setTracking = function (element, cat, act, lbl) {
        var e = $(element);        
        var oldClick = e.attr('onclick');
        $(element).click(function () {
            track(cat, act, lbl);
            if (typeof (oldClick) !== 'undefined') {
                try { oldClick(); } catch (ex) { }
            }
        });
    }

    timers = new Array();

    setHover = function (element, cat, act, lbl) {
        var e = $(element);
        e.hover(function () {
            // mouse over
            var item = $(this);
            timers[item.attr('id')] = setTimeout(function () {
                track(cat, act, lbl);
            }, 3000);
        }, function () {
            // mouse out
            var item = $(this);
            clearTimeout(timers[item.attr('id')]);
        });
    }

	// Function to get the navigation cell of an element
	getNavCell = function(element) {
		var e = $(element);
		var navCell = $(e).parents('td').each(function() {			
			if($(this).hasClass('topNavigation')) {
				return 'top';
			} else if ($(this).hasClass('leftNavBlue_Middle')) {
				return 'left';
			} else if ($(this).hasClass('globalNavLinks')) {
				return 'utility';
			}
		});
		return navCell;
	}

	// Set segment on login
    $("input[name=login]").click(function () {
        _gaq.push(['_setVar', 'Existing Clients']);
    });

    // C: Global Header Navigation
    var headerCategory = 'Global Header Navigation';
    var headerLinks = $('td.globalNavLinks');
    setTracking(headerLinks.find('a:eq(0)'), headerCategory, 'Header Nav > Investor Relations', '');
    setTracking(headerLinks.find('a:eq(1)'), headerCategory, 'Header Nav > Vendors', '');
    setTracking(headerLinks.find('a:eq(2)'), headerCategory, 'Header Nav > Careers', '');
    setTracking(headerLinks.find('a:eq(3)'), headerCategory, 'Header Nav > Contact Us', '');    

	// C: Off-site Career Listings
	var careerCat = 'Career Listings';
	var careerLinks = $('a[href^=https://medassetscareers.silkroad.com]');
	$(careerLinks).click(function() {
		track(careerCat, 'Careers > Current Openings', getNavCell($(this)));
	});

	// C: Off-site Investor Relations
	var investorCat = 'Investor Relations';
	var investorLinks = $('a[href^=http://ir.medassets.com]');
	$(investorLinks).click(function() {
		track(investorCat, 'Investors > Investor Relations', getNavCell($(this)));
	});

    // C: Homepage Badges
    var badgesCategory = 'Home Badges';
	var sidebar = $('.customHomeTopRight');
    sidebar.find('.ms-WPBody:eq(0)').each(function () {
        setTracking($(this), badgesCategory, 'Home Badges > Badge 1', '');
    });
    sidebar.find('.ms-WPBody:eq(1)').each(function () {
        setTracking($(this), badgesCategory, 'Home Badges > Badge 2', '');
    });
    
    // C: Navigation
    var navCat = 'Top Navigation';    
	$('.topNavigation a').each(function() {
        var link = $(this);
        setTracking(link, navCat, link.html(), link.attr('href'));
    });
});
