var _gaq = _gaq || []; (function() { var get = (function() { var map = {}; window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m, k, v) { map[k] = v; }); return map; } ()); if (get.source) { _gaq.push(['_setCustomVar', 1, 'Source', get.source, 2]); } if (get.subsource) { _gaq.push(['_setCustomVar', 5, 'Subsource', get.subsource, 2]); } if (document.cookie.indexOf('spud=') !== -1) { _gaq.push(['_setCustomVar', 4, 'has_spud', 'true', 1]); } })(); jQuery.fn.analytics = function(param) { return this.each(function() { jQuery(this).one('keydown.analytics mousedown.analytics', function(e) { if (e.type === "mousedown" || e.which === 13) { if (typeof param === "function") { param.apply(this); } else if (param instanceof Array) { param.splice(0, 0, "_trackEvent"); _gaq.push(param); } else if (typeof param === "string" && window.optimizely) { optimizely.trackEvent(param); } } }); }); }; jQuery.bsd_contrib_amt = function() { var val = Math.round((!jQuery('#amt_other').attr('checked')) ? jQuery('input[name="amount"]:checked').val() : jQuery('input[name="amount_other"]').val()); return isNaN(val) ? 0 : val; }; jQuery.fn.registerBSDError = function(o) { if (jQuery(this).length) { _gaq.push(['_deleteCustomVar', o.slot], ['_trackEvent', 'Error', o.module, location.pathname, ((o.module !== "Contribution") ? 0 : jQuery.bsd_contrib_amt())]); } }; jQuery(document).ready(function($) { $("input").filter('[type="image"],[type="submit"]').analytics(function(e) { var $form = $(this).closest('form'); var form_id = $form.attr('id') || $form.attr('name') || $form.attr('action') || "(none)"; var slot = 2, amt = 0, ct = form_id, cvv = form_id; if (form_id === "contribution") { slot++; cvv = "Donor"; ct = "Donation"; } _gaq.push(['_setCustomVar', slot, 'Visitor_Type', cvv, 2], ['_trackEvent', 'Conversion', ct, location.pathname, jQuery.bsd_contrib_amt()]); }); $('span.signuperror').registerBSDError({ module: "Signup", slot: 2 }); $('div.contriberrorbanner').registerBSDError({ module: "Contribution", slot: 3 }); $('#invitationpage .error').registerBSDError({ module: "Share", slot: 2 }); $(document).delegate("a[href^='http']", 'mousedown.analytics keydown.analytics', function(e) { var dest = $(this).attr("href"); if (this.hostname !== location.hostname) { var action = (/(facebook|twitter|addthis|youtube)(\.com)/i).test(dest) ? "social" : "external"; _gaq.push(['_trackEvent', 'Exits', action, dest]); } }); var x = window.BSDTracker; if (x) { var type = (x.signup) ? "signup" : (x.contribution) ? "contribution" : false; if (type) { x[type].safe_get = function(field, fallback) { return this.hasField(field) ? this.get(field) : fallback; }; var is_preset = function(value, presets) { for (var i = 0; i < presets.length; i++) { if (+presets[i] === +value) { return true; } } return false; }; var y = x[type]; var module = y.getModuleName() || ""; var form = y.safe_get('formname', ""); var amount = y.safe_get('transaction_amt', 0); _gaq.push(['_trackEvent', 'Completions', module, form, Math.ceil(amount)]); if (amount) { var order_id = y.safe_get("contribution_key", "r_" + (new Date).getTime()); var affiliation = ""; var sku_end = is_preset(amount, y.safe_get("pageamounts", [])) ? Math.round(amount) : "other"; var sku = y.safe_get("contribution_page_id", "") + "_" + sku_end; var pagetype = +y.safe_get("pagetype", 1); var category = (+y.safe_get("is_recurring", false)) ? "BSD Recurring" : "BSD"; category += pagetype === 4 ? " Memberships" : pagetype === 2 ? " Tickets" : pagetype === 3 ? " Custom Contributions" : " Contributions"; _gaq.push(['_addTrans', order_id, affiliation, amount, '0', '0', "", "", ""]); _gaq.push(['_addItem', order_id, sku, form, category, amount, '1']); _gaq.push(['_trackTrans']); } } } });