(function($){
    $.fn.gotrack = function(options) {
       var defaults = {
           click_sel:  'a, area',
           submit_sel: 'form',
           hook: function (tracker, id, url) { 
               //alert('default hook (data = ' + id + ' url = ' + url + ')'); 
               tracker._trackPageview('/outgoing/' + id + '/' + url);
               return true; 
           },
           ga_id: 'UA-2342215-57'
       };
       var opts = $.extend(defaults, options);
       var tracker = _gat._getTracker(opts.ga_id);
       return $(this).each(function(){
           var data = $(this).attr('id');
           if (data == undefined) return true;
           $(opts.click_sel, this).click(function () {
               var id = data;
               var alt = $(this).attr('alt');
               if (alt != undefined && alt != '') id += '::' + alt;
               var url = $(this).attr('href');
               if (url == undefined) url = '#'; 
               return opts.hook(tracker, encodeURIComponent(id), encodeURIComponent(url));
           });
           $(opts.submit_sel, this).submit(function () {
               var id = data;
               var alt = $(this).attr('name');
               if (alt != undefined && alt != '') id += '::' + alt;
               var url = $(this).attr('action');
               if (url == undefined) url = '/'; 
               return opts.hook(tracker, encodeURIComponent(id), encodeURIComponent(url));
           });
       });
    };
})(jQuery);
