     jQuery.scTrack = function(params) {
          for (key in params) {
               s[key] = params[key];     
          }
          s.t();
     };
     
     jQuery.scTrackLink = function(link, params) {
          var linkType = "", linkName = "", newOrSamePage = "";
               
          // set first param of s.tl()
          if (link.href.indexOf(document.URL) == -1) {
               newOrSamePage = link;
          } else {
               newOrSamePage = true;
          }
               
          // default link type is 'o' (custom)
          if (params['linkType']) {
               linkType = params['linkType'];
          } else {
               // check for downloads
               var downloadFileTypes = s.linkDownloadFileTypes.split(",");
               for (fileType in downloadFileTypes) {
                    if (link.href.indexOf("."+fileType) != -1) {
                         linkType = 'd';
                         break;
                    }
               }
               
               if (!linkType) {
                    // check for custom links
                    var internalFilters = s.linkInternalFilters.split(",");
                    for (filter in internalFilters) {
                         if (link.href.indexOf(filter) != -1) {
                              linkType = 'o';
                              break;
                         }
                    }
               }
               
               // default to exit link
               if (!linkType) {
                    linkType = 'e';
               }
          }
               
          // default link name is the HREF
          if (params['linkName']) {
               linkName = params['linkName'];
          } else {
               linkName = link.href;
          }
               
          // clear out s.linkTrackVars and s.linkTrackEvents
          s.linkTrackVars="";
          s.linkTrackEvents="";
               
          for (key in params) {
               // set variable
               s[key] = params[key];
                    
               // append to s.linkTrackVars
               if (s.linkTrackVars) {
                    s.linkTrackVars+=",";
               }
               s.linkTrackVars += key;
                    
               if (key == "events") {
                    // set s.linkTrackEvents
                    if (params[key].charAt(0)==",") {
                         params[key].substring(1);
                    }
                    if (params[key].charAt(params[key].length-1) == ",")  {
                         params[key].substring(0, params[key].length-2);
                    }
                    s.linkTrackEvents = params[key];
               }
          }

          // only call s.tl() on custom links because downloads and exits fire automatically
          if (linkType == 'o') {
               s.tl(newOrSamePage, linkType, linkName);
          
               s.linkTrackVars = "";
               s.linkTrackEvents = "";
          }
     };