$(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;