// MediaSilo Lineup/Channel Display Javascript
// Version 1.0, May 6, 2010
var player;
var lineups;
var selectedlineup;

// Wait until the page has loaded before loading content
addListener(window,'load', launchmsplayer, false);


function launchmsplayer() {
	//loadChannel(ms_channel);
}

	
// Set up the player
function playerReadyCallback(obj) {
	player = document.getElementById(obj['id']);
	player.addModelListener('STATE', 'stateMonitor');
	loadChannel(ms_channel);
};

// Monitor the player state
function stateMonitor(obj) {
  if (obj.newstate == 'COMPLETED')	{
      if (ms_autoplay == true){
      	player.sendEvent("Next");
      }
  }
  if (obj.newstate == 'jwplayerPlaylistLoaded')	{
      console.log("Playlist loaded");
  }
  
};


// Play video
function playVideo(url) {
	player.sendEvent('STOP');
	player.sendEvent('LOAD',url);
}

// Loads the Channel JSONP file and executes the returning function and data set
function loadChannel(url) {
	var headID = document.getElementsByTagName("head")[0];         
	var newScript = document.createElement('script');
	newScript.type = 'text/javascript';
	newScript.src = url;
	headID.appendChild(newScript);
}



// Load lineup
function loadLineup(url) {
	player.sendEvent('LOAD',url);
}

function selectLineup(e){
	clearselected();
	var element = e.target || e.srcElement;

	if (element.nodeName.toLowerCase() == 'a') {
		var selectedlineup = element.getAttribute('rel');
	 	element.parentNode.setAttribute("class", "selected");
	} else {
		var selectedlineup = element.getElementsByTagName('a')[0].getAttribute('rel');
		element.setAttribute("class", "selected");
	}
	loadLineup(lineups[selectedlineup].url);
}

// Clear selected list elements
function clearselected() {
	listitems = document.getElementById('ms_nav').getElementsByTagName("li");
	for (var i =0; i < listitems.length; i++) {
		current_li = listitems[i];
		current_li.setAttribute("class", "");
	} 
}


// Dislay the lineups in this channel
function processChannel(feed){
	var line = "<ul id='ms_nav'>";
 	lineups = feed.lineups;
 	
 	if (lineups.length > 1) {
	 	for(i=0; i<lineups.length; i++) {
			var line = line + "<li><a href='#' rel='"+i+"'>" + feed.lineups[i].name + "</a></li>";
	  	}
		var line = line + "</ul>";
		document.getElementById("ms_navigation").innerHTML = line;
		
		// Select and load the first lineup
		firstlineup = document.getElementById('ms_nav').getElementsByTagName('li')[0];
		firstlineup.setAttribute("class", "selected");

		
		// Keep tabs on which lineup gets selected
		addListener(document.getElementById('ms_nav'),'click',selectLineup,false);
 
	} else {
		document.getElementById("ms_navigation").style.display="none";
	}
	loadLineup(lineups[0].url);	
}


// Cross-browser implementation of element.addEventListener()
function addListener(element, type, expression, bubbling)
{
	bubbling = bubbling || false;
	
	if(window.addEventListener)	{ // Standard
		element.addEventListener(type, expression, bubbling);
		return true;
	} else if(window.attachEvent) { // IE
		element.attachEvent('on' + type, expression);
		return true;
	} else return false;
}
