var CoremetricsAddToBasketTagHelper = {
		
		init: function(addToBasketId, pageID) {
		
			var domAnchorTag = document.getElementById(addToBasketId);		
			var domAnchorTagHref = this.getAddToBasketHref(domAnchorTag);	
			var hrefParams = this.parseHrefString(domAnchorTagHref);
			var newHref = this.buildNewAnchorHref(hrefParams, pageID);
			
			this.setAddToBasketHref(domAnchorTag, newHref);

		},

		getAddToBasketHref: function(domElement) {
			return domElement.getAttribute('href');
		},

		setAddToBasketHref: function(domAnchorTag, newHref) {
				domAnchorTag.setAttribute('href', newHref);
		},

		parseHrefString: function(stringHref) {
			var util = new StringUtil();  
			var hrefParams = util.parseQuery(stringHref);
			return hrefParams;
		},

		buildNewAnchorHref: function(hrefParams, pageID) {
		
		  var addToBasketBaseHref= "/servlet/ShopBasketPL?ac=a&it=1";
		  
      addToBasketBaseHref += this.buildPageLocationKeyValue(pageID);

			var paratrack = hrefParams['paratrk'] || null;
			if(paratrack != null) {
				addToBasketBaseHref += "&paratrk=" + paratrack;
			}

			var isbn13 = hrefParams['isbn13'] || null;
			if(isbn13 != null) {
				addToBasketBaseHref += "&isbn13=" + isbn13;
			}			  

			var listingId = hrefParams['ik'] || null;
			if(listingId != null) {
				addToBasketBaseHref += "&ik=" + listingId;
			}
			
			var browseCat = hrefParams['cmtrack_data'] || null;
			if(browseCat != null) {
			  addToBasketBaseHref += "&cmtrack_data" + browseCat;
			}
			
			return addToBasketBaseHref;

		},
		
		buildPageLocationKeyValue: function(pageID) {
		  
			switch(pageID) {
			  case "listingDetails":
			    return "&bdpimage=paapi";
			  break;
			  case "PLP":
			    return "&plpimage=paapi";
			  break;
			  case "searchResults":
			    return "&srimage=none";
			  break;	
			  case "searchResultsAmz":
			    return "&srimage=amz";
			  break;
			  default:
			    return "";
			}
		}
};