/* global define: false */ define(['jquery'], function($) { "use strict"; var wdnProp = 'UA-3203435-1'; var unlDomain = '.unl.edu'; var Plugin; var thisURL = String(window.location); var gaWdnName = 'wdn'; var gaWdn = gaWdnName + '.'; // ga.js method for getting default tracker (with set account) var getDefaultGATracker = function() { var tracker = _gat._getTrackerByName(); if (tracker._getAccount() !== 'UA-XXXXX-X') { return tracker; } return undefined; }; // analytics.js method for getting default tracker var getDefaultAnalyticsTracker = function() { return ga.getByName('t0'); }; Plugin = { initialize : function() { ga('create', wdnProp, { name: gaWdnName, cookieDomain: unlDomain, allowLinker: true }); Plugin.callTrackPageview(); }, callTrackPageview: function(thePage, trackInWDNAccount){ var action = 'pageview', method = 'send', legacyMethod = '_trackPageview'; if (!thePage) { ga(gaWdn+method, action); return; } if (trackInWDNAccount !== false) { trackInWDNAccount = true; } // First, track in the wdn analytics if (trackInWDNAccount) { ga(gaWdn+method, action, thePage); } // Second, track in local site analytics try { _gaq.push(function() { var tracker = getDefaultGATracker(); if (tracker) { tracker[legacyMethod](thePage); } }); ga(function() { var tracker = getDefaultAnalyticsTracker(); if (tracker) { tracker[method](action, thePage); } }); } catch(e) {} }, callTrackEvent: function(category, evtaction, label, value, noninteraction) { var action = 'event', method = 'send', legacyMethod = '_trackEvent', evtOpt; if (noninteraction !== true) { noninteraction = false; } evtOpt = { eventCategory: category, eventAction: evtaction, eventLabel: label, eventValue: value, nonInteraction: noninteraction }; ga(gaWdn+method, action, evtOpt); try { _gaq.push(function() { var tracker = getDefaultGATracker(), legacyValue = value; if (tracker) { if (typeof value !== "undefined") { legacyValue = Math.floor(value); } tracker[legacyMethod](category, evtaction, label, legacyValue, noninteraction); } }); ga(function() { var tracker = getDefaultAnalyticsTracker(); if (tracker) { tracker[method](action, evtOpt); } }); } catch(e) {} }, callTrackTiming: function(category, variable, value, label, sampleRate) { var action = 'timing', method = 'send', legacyMethod = '_trackTiming'; ga(gaWdn+method, action, category, variable, value, label); try { _gaq.push(function() { var tracker = getDefaultGATracker(); if (tracker) { tracker[legacyMethod](category, variable, value, label, sampleRate); } }); ga(function() { var tracker = getDefaultAnalyticsTracker(); if (tracker) { tracker[method](action, category, variable, value, label); } }); } catch (e) {} } }; return Plugin; });