(function() {
	
	var real = {
		
		items		: (glow.dom.get('.real-link') || null),
    
    loading_graphic : glow.dom.create('<div class="loading"><span class="graphic"><strong>Loading</strong></span></div>'),
		build		: function() {
		if (real.items.length > 0) {
			real.showLoading();
      real.items.each(function(i){
       var versionPid = this.id.match(/\bversion-([a-z0-9]+)/)[1];
       real.talkToMediaSelector(versionPid);
       
      });
        
			}
		
		},
		showLoading	: function() {
      real.items.hide();
      real.items.after(real.loading_graphic);
		},
		
		getRealUrl	: function(xml) {
			
			var nodes = glow.dom.get(xml).get("media");
		    	nodes = nodes.filter(function() {
		      		return glow.dom.get(this).attr('encoding') == "real";
		    });
		
			return nodes.get("connection").attr('href');
		
		    
		},
		talkToMediaSelector :function(versionPid) {
	
			var request = glow.net.get('/mediaselector/4/mtis/stream/' + versionPid, {
			  onLoad: function(response) {
			    real.addRealLinks('version-' + versionPid, real.getRealUrl(response.xml()));
			  },
			  onError: function(response) {
				real.notAvailable('version-' + versionPid);
			    return false;
			  }
			});
	
		},
		addRealLinks	: function(domId,realUrl) {
			if (realUrl === false) {
				real.notAvailable(domId);
			} else {
				glow.dom.get('#' + domId + ' a')[0].href = realUrl;
				glow.dom.get('#' + domId + ' a')[0].title = 'Listen now in RealMedia';
        glow.dom.get('#' + domId).show();
        glow.dom.get('#' + domId).next().hide();
			}
		},
		notAvailable	: function(domId) {
			glow.dom.get('#' + domId).remove();
		}
		
	} 


	
	if (!window['programmes']) {
		window['programmes'] = {};
	}
	if (!window.programmes['realLinks']) {
		window.programmes['realLinks'] = {};
	}
	
	window.programmes.realLinks.build = function() {real.build()};
	
})();

glow.ready(function() {
	programmes.realLinks.build();
});


