// JavaScript Document

//////////////////////////
// Globals
var thresholdVersion = "10.0.0"; // Disable Full Screen mode for Flash Player versions below this value
var versionIsSufficient = true; // Global flag. Must be "true".

var xmlDoc;
var nodeID;

var oPlayer;

var oOtaGlobals = {
	playlistLength: 0,
	playlistMaxSize: 0 // 0 = unlimited
};


//////////////////////////
// playerReady(obj) - Called when the player is instantiated

function playerReady(obj) {
	var id = obj['id'];
	var version = obj['version'];
	var client = obj['client'];
	oPlayer = document.getElementById(id);

	var divFlashErrorMessage;
	divFlashErrorMessage = document.getElementById("FlashErrorMessage");
	if (divFlashErrorMessage) {
		divFlashErrorMessage.style.display = "none";
	}

	oPlayer.addViewListener("REDRAW", "RedrawScreen");


	// load XML description file
	if (oPlayer.getConfig().file.toLowerCase().indexOf(".asx") > 0)	{
		xmlDoc = importXML(oPlayer.getConfig().file, xmlLoaded);
		
		
		oOtaGlobals.playlistLength = xmlDoc.getElementsByTagName('entry').length;
		injectPlaylist();

		// inject the current start item info:
		var defaultPlayItem = oPlayer.getConfig().item; // zero based index
		var xmlItemNumber = ( (oOtaGlobals.playlistLength - defaultPlayItem) > 0 ) ? (oOtaGlobals.playlistLength - defaultPlayItem) : 1;
		fillDescription("video" + xmlItemNumber);
	}

};


function commandPlay(itemNumber) {
	var itemID = "video" + ((oOtaGlobals.playlistLength + 1) - itemNumber);		

	oPlayer.sendEvent("ITEM", (itemNumber - 1) );
	if (xmlDoc)	{
		fillDescription(itemID);
	}
}

//////////////////////////
// RedrawScreen() - fixes the white opaque overlay after full screen mdoe in Vista IE7

function RedrawScreen() {
	P7_initPM(1,3,1,-20,10);
}

//////////////////////////
// FPVersionIsSufficient() - debug purpose

function FPVersionIsSufficient() {
	if(versionIsSufficient)	{
		alert("You dont have to update your Flash Player. All features are enabled!");
	}
	else {
		alert("You have to update your Flash Player to v10 enable all features!");
	}
	
}


///////////////////////
// fillDescription(nodeID) - Injects the XML extracted data into HTML

function fillDescription(nodeID) {
	var tagTitle = document.getElementById("videoTitle");
	var tagDate = document.getElementById("videoDate");
	var tagDescription = document.getElementById("videoDescription");
	
	var oSelectedNode = getElementByIdMXL(xmlDoc, nodeID);
	
	var nodeTitle = oSelectedNode.getElementsByTagName("title")[0];
	var txtTitle = (nodeTitle.firstChild) ? nodeTitle.firstChild.data : "---";
	
	var nodeDate = oSelectedNode.getElementsByTagName("date")[0];
	var txtDate = (nodeDate.firstChild) ? nodeDate.firstChild.data : "---";

	var nodeDescription = oSelectedNode.getElementsByTagName("description")[0];
	var txtDescription = (nodeDescription.firstChild) ? nodeDescription.firstChild.data : "---";
	
	tagTitle.innerHTML = txtTitle;
	tagDate.innerHTML = txtDate;
	tagDescription.innerHTML = txtDescription;
	
}


function xmlLoaded() { // under question

}


/*
function initPlayListLength() { // under question
	var listHolder = document.getElementById("vthumbs");
	oOtaGlobals.playlistLength = listHolder.getElementsByTagName("li").length;
}
*/

function injectPlaylist()
{
	var oPlaylistHolder = document.getElementById("PlayListHolder");
	var strPlaylistContent = "";
	
	var playIndex;
	
	var thresholdNumber = 0;
	
	if (oOtaGlobals.playlistMaxSize > 0)
	{
		thresholdNumber = oOtaGlobals.playlistLength - oOtaGlobals.playlistMaxSize;
	}
	
	// content string generation start
	strPlaylistContent += "\n <ul id=\"vthumbs\"> \n";
	
	for (var itemNumber = oOtaGlobals.playlistLength; itemNumber > thresholdNumber; itemNumber--)
	{
		var oSelectedNode = getElementByIdMXL(xmlDoc, "video" + itemNumber );

		var nodeTitle = oSelectedNode.getElementsByTagName("title")[0];
		var txtTitle = (nodeTitle.firstChild) ? nodeTitle.firstChild.data : "---";
		
		var nodeDate = oSelectedNode.getElementsByTagName("date")[0];
		var txtDate = (nodeDate.firstChild) ? nodeDate.firstChild.data : "---";
	
		var nodeDescription = oSelectedNode.getElementsByTagName("description")[0];
		var txtDescription = (nodeDescription.firstChild) ? nodeDescription.firstChild.data : "---";

		var nodeThumbimage = oSelectedNode.getElementsByTagName("thumbimage")[0];
		var txtThumbimage = (nodeThumbimage.firstChild) ? nodeThumbimage.firstChild.data : "---";
		
		playIndex = (oOtaGlobals.playlistLength + 1) - itemNumber;


		
		if ( (itemNumber === 1) || (itemNumber === (thresholdNumber + 1)) ) { // remove bottom border from the most bottom item
			strPlaylistContent += "\t<li class=\"vitem\" style=\"border-bottom:none;\"> \n";
		}
		else {
			strPlaylistContent += "\t<li class=\"vitem\"> \n";
		}
		strPlaylistContent += "\t\t<a onClick=\"commandPlay(" + playIndex + ");\">";
		strPlaylistContent += "<img src=\"" + txtThumbimage + "\" alt=\"" + txtTitle + "\"> \n";
		strPlaylistContent += "</a> \n";
		strPlaylistContent += "\t\t<span class=\"vheader\">";
		strPlaylistContent += "<a onClick=\"commandPlay(" + playIndex + ");\">";
		strPlaylistContent += txtTitle;
		strPlaylistContent += "</a></span> \n";
		strPlaylistContent += "\t\t<span class=\"vdate\">" + txtDate + "</span> \n";
		strPlaylistContent += "\t</li> \n";

	}
	
	strPlaylistContent += "</ul> \n";
	// content string generation end
	
	oPlaylistHolder.innerHTML = strPlaylistContent;

}








