$(document).ready(function() {
   // READ THIS!!
   // START OF REQUIRED CHANGES
   // you MUST change this value to one for your georiot account TSIDs
   var tsid = 2053;
   // END OF REQUIRED CHANGES
   // DO NOT MODIFY BELOW THIS LINE
   convertToGeoRiotLinks(tsid);
      
});
  
function convertToGeoRiotLinks(tsid) {
   var numberOfLinks = document.links.length;
   var currentLinkIndex = 0;
  
   for (currentLinkIndex = 0; currentLinkIndex < numberOfLinks; currentLinkIndex++) {
       var currentLink = document.links[currentLinkIndex];
       var linkType = getLinkType(currentLink.href);
  
       if (linkType == "apple" || linkType == "amazon") {
           currentLink.href = "http://target.georiot.com/Proxy.ashx?TSID=" + tsid + "&GR_URL=" + encodeURIComponent(currentLink.href);
       } else if (linkType == "linkshare" || linkType == "tradedoubler" || linkType == "dgmperf") {
           var itunesUrl = extractItunesLinkFromAffiliateUrl(currentLink, linkType);
  
           if (itunesUrl != "") {
               currentLink.href = "http://target.georiot.com/Proxy.ashx?TSID=" + tsid + "&GR_URL=" + itunesUrl;
           }
       } else
           continue;
   }
}
  
function extractItunesLinkFromAffiliateUrl(currentLink, linkType)
{
   if (currentLink.href.indexOf("?") > 0)
   {
       var arrParams = currentLink.href.split("?");
       var arrURLParams = arrParams[1].split("&");     
       var arrParamNames = new Array(arrURLParams.length);
       var arrParamValues = new Array(arrURLParams.length);    
       var i = 0;
       for (i=0;i < arrURLParams.length;i++)
       {
           var sParam =  arrURLParams[i].split("=");
           arrParamNames[i] = sParam[0];
           if (sParam[1] != "") {
               arrParamValues[i] = sParam[1];
                      
               if (linkType == "tradedoubler" && arrParamNames[i] == "url") {
                   return arrParamValues[i];
               } else if (linkType == "linkshare" && arrParamNames[i] == "RD_PARM1") {
                   return arrParamValues[i];
               } else if (linkType == "dgmperf" && arrParamNames[i] == "u") {
                   return arrParamValues[i];
               }
           } else
               arrParamValues[i] = "";
       }
   }
   return "";
}
  
/* Returns link type: unknown, amazon, apple, linkshare, dgm, tradedoubler
   */
function getLinkType(currentLinkHref) {
   var appleRegex = /itunes.apple.com\/\S+id[0-9]+/i;