
Function.prototype.bind=function(){var __method=this,args=Array.prototype.slice.call(arguments),object=args.shift();return function(){var local_args=args.concat(Array.prototype.slice.call(arguments));if(this!==window)local_args.push(this);return __method.apply(object,local_args);}}
Function.prototype.later=function(msec){var fn=this,args=Array.prototype.slice.call(arguments,1);return window.setTimeout(function(){fn.apply(this,args)},msec);}
if(typeof window.Nettle==="undefined"){window.Nettle={};}
Nettle.Tracker=function(oArgs){window._gaq=window._gaq||[];oArgs=oArgs||{};if(typeof oArgs=='string'){return Nettle.Tracker({page:oArgs});}
oArgs.page=oArgs.page||window.location.pathname;oArgs.query=oArgs.query||'';var sQuery=Nettle.Tracker.query();if(oArgs.query&&oArgs.page.indexOf('?')>=0){oArgs.query='&'+oArgs.query.substring(1);}
if(sQuery&&(oArgs.page.indexOf('?')>=0||oArgs.query)){sQuery='&'+sQuery.substring(1);}
Nettle.Tracker.track(oArgs.page+oArgs.query+sQuery);}
Nettle.Tracker.track=function(sPage){if(!window._gaq){return};_gaq.push(['_trackPageview',sPage]);}
Nettle.Tracker.trackEvent=function(category,action,opt_label,opt_value,opt_noninteraction){if(!window._gaq){return};_gaq.push(['_trackEvent',category,action,opt_label,opt_value,opt_noninteraction]);}
Nettle.Tracker.query=function(sQuery){return Nettle.Tracker._sQuery=sQuery||Nettle.Tracker._sQuery||window.location.search.toLowerCase();}
Nettle.Tracker.setParams=function(oParams){var aParams=[];for(var sKey in oParams){aParams.push(sKey+'='+oParams[sKey]);}
var sQuery=Nettle.Tracker.query();Nettle.Tracker.query((sQuery?sQuery+'&':'?')+aParams.join('&'));}
Nettle.TrackClick=function(e){if(!e){return};e.preventDefault();jqActor=$(e.currentTarget);var sCategory=jqActor.data('category')||'User Click';var sAction=jqActor.data('action')||'Click';var sLabel=jqActor.data('label')||'';var sUrl=jqActor.attr('href');var bNoRedirect=jqActor.data('noredirect');Nettle.Tracker.trackEvent(sCategory,sAction,sLabel);if(sUrl&&!bNoRedirect){_.delay(function(url){window.location.href=url;},200,sUrl);}}
Nettle.Site=function(){$(document).ready(this.setup.bind(this));}
Nettle.Site.prototype.setup=function(){$('.track-click').click(Nettle.TrackClick);}
Nettle.oSite=new Nettle.Site();
