//////////////////////////
// Globals
var thresholdVersion = "10.0.0"; // Disable Full Screen mode for Flash Player versions below this value
var versionIsSufficient = true; // Global flag. Must be initialized to "true" here.


var xmlDoc;
var nodeID;

//var oWrapper = document.getElementById("PlayerWrapper");
var oPlayer;

var oOtaGlobals = {
	oWrapper: null,
	oTextWrapper:null,
	startHidden: false,
	bFirstRun: true,
	playlistLength: 0,
	playlistMaxSize: 0, // 0 = unlimited
	currentPlaylistItemNumber: 1
};


//////////////////////////
// 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);
	
	oOtaGlobals.oWrapper = document.getElementById("VideoContentWrapper");
	oOtaGlobals.oTextWrapper = document.getElementById("TextContentWrapper");

	var divFlashErrorMessage;
	divFlashErrorMessage = document.getElementById("FlashErrorMessage");
	if (divFlashErrorMessage) {
		divFlashErrorMessage.style.display = "none";
	}

	oPlayer.addViewListener("REDRAW", "RedrawScreen");


	// load XML description file
	if (oOtaGlobals.bFirstRun){
		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;
			
			if (!oOtaGlobals.startHidden) {
				fillDescription("video" + xmlItemNumber);
			}
		}
	
		
	
	}
		
	
	
	// hide the player on first page load
	if ( (oOtaGlobals.bFirstRun) && (oOtaGlobals.oWrapper !== null) && (oOtaGlobals.startHidden === true) ) {
		oOtaGlobals.oWrapper.style.display = "none";
	}
	
};


function commandPlay(itemNumber) {
    scrollWindowUp();
    
    // unhide the player
    if ( (oOtaGlobals.oWrapper !== null) && (oOtaGlobals.oWrapper.style.display !== "block") ) {
		oOtaGlobals.oTextWrapper.style.display = "none";
		oOtaGlobals.oWrapper.style.display = "block";
    }
	
    
    // send event to the player
    oOtaGlobals.currentPlaylistItemNumber = itemNumber;
    
    if(oOtaGlobals.bFirstRun){ // slight pause browser to reinit the player
		setTimeout("commandPlayDelayedWorker()", 1000);
    }
    else {
		oPlayer.sendEvent("ITEM", (itemNumber - 1) );
		   	// fill in description
			var itemID = "video" + ((oOtaGlobals.playlistLength + 1) - itemNumber);		
			if (xmlDoc)	{
				fillDescription(itemID);
			}
    }
    

    oOtaGlobals.bFirstRun = false;
}


function commandPlayDelayedWorker() {
	var itemNumber = oOtaGlobals.currentPlaylistItemNumber;
	oPlayer.sendEvent("ITEM", (itemNumber - 1) );
	   	// fill in description
		var itemID = "video" + ((oOtaGlobals.playlistLength + 1) - itemNumber);		
		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) && (oOtaGlobals.playlistMaxSize < oOtaGlobals.playlistLength))
	{
		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;

}



function scrollWindowUp()
{
	window.scrollBy(0, -50000);
	window.scrollBy(0, 180);
}




