function SDFeedUtils() {

	var div = "";	
	var partner = "";	
	var chartDataURL = "http://feeds.7digital.com/stores/charts/productchartfeed.aspx/?format=json";	
		
	this.AddScriptTag = function(url) {		
		var scr = document.createElement("script");
		scr.setAttribute("type", "text/javascript");
		scr.setAttribute("src", url);
		document.getElementsByTagName("head")[0].appendChild(scr);		
	}
		
	this.WriteChart = function(divId, shopId, partnerId, chartId, items) {
		//Save the divId so thr callback can access it
		div = divId;
		partner = partnerId;
		var url = chartDataURL + '&callback=feedUtils.WriteChartCB&shop=' + shopId + '&chart=' + chartId + '&items=' + items
		this.AddScriptTag(url);
	}
							
	this.WriteChartCB = function(res) {	
    var ol = document.createElement('ol');
		for (var i=0;  i < res.results.length; i++) {
		
			var artist = document.createElement('span')
			artist.setAttribute('class','artist');			
			artist.appendChild(document.createTextNode(res.results[i].artist));		
			
      var release = document.createElement('span');
      release.setAttribute('class','release');
      release.appendChild(document.createTextNode(res.results[i].title));			
					
			var a = document.createElement('a');
      a.setAttribute('href', res.results[i].link + (partner != "" ? "&partner=" + partner : ""));
      
      a.appendChild(artist);
      a.appendChild(document.createTextNode(' - '));
      a.appendChild(release);
                            
			var li = document.createElement('li');
      li.appendChild(a);
      
      ol.appendChild(li);
		}             
		document.getElementById(div).appendChild(ol);
	}			
	
	this.AddLoadEvent = function(func) {
		var oldonload = window.onload;
		if (typeof window.onload != 'function') {
			window.onload = func;
		} else {
			window.onload = function() {
				oldonload();
				func();
			}
		}
	}
}

var feedUtils = new SDFeedUtils();