var ActiveLanguage = 0;

function SetbackColor(elmnt, bckcolor) 
{
	document.getElementById(elmnt).style.background = bckcolor;
}

//-----------------------------------------------------------------------------
//Globals
//Major version of Flash required
var requiredMajorVersion = 9;
//Minor version of Flash required
var requiredMinorVersion = 0;
//Minor version of Flash required
var requiredRevision = 0;
//-----------------------------------------------------------------------------

var player;
var currentitem;
var firstitem;
var lastitem;

function nextTracker(obj)
{
	//	SetbackColor('td' + currentitem, '#FFFFFF');
	document.getElementById('videodetails' + currentitem).style.display = 'none';
	currentitem++;
	if(currentitem > lastitem) currentitem = 0;
//	SetbackColor('td' + currentitem, '#E0DCAA');
	document.getElementById('videodetails' + currentitem).style.display = 'inline';
}

function prevTracker(obj)
{
	//	SetbackColor('td' + currentitem, '#FFFFFF');
	document.getElementById('videodetails' + currentitem).style.display = 'none';
	currentitem--;
	if(currentitem < 0) currentitem = lastitem;
//	SetbackColor('td' + currentitem, '#E0DCAA');
	document.getElementById('videodetails' + currentitem).style.display = 'inline';

}

function stateplayer(obj)
{
	if(obj['oldstate'] == 'COMPLETED' && obj['newstate'] == 'IDLE') nextTracker(obj);
}

function nextTracker2(obj)
{
	document.getElementById('videodetails' + currentitem).style.display = 'none';
	document.getElementById('relatedvideolink' + currentitem).style.display = 'none'; 
	currentitem++;
	if(currentitem > lastitem) currentitem = 0;
	document.getElementById('videodetails' + currentitem).style.display = 'inline';
	document.getElementById('relatedvideolink' + currentitem).style.display = 'inline'; 

}

function prevTracker2(obj)
{
	document.getElementById('videodetails' + currentitem).style.display = 'none';
	document.getElementById('relatedvideolink' + currentitem).style.display = 'none';
	currentitem--;
	if(currentitem < 0) currentitem = lastitem;
	document.getElementById('videodetails' + currentitem).style.display = 'inline';
	document.getElementById('relatedvideolink' + currentitem).style.display = 'inline';
}

function stateplayer2(obj){
	if(obj['oldstate'] == 'COMPLETED' && obj['newstate'] == 'IDLE') nextTracker2(obj);
}

function playerReady(obj) {
	var id = obj['id'];
	var version = obj['version'];
	var client = obj['client'];
	//alert('the videoplayer \''+id+'\' has been instantiated.\nVersion : ' + version + '\nClient : ' + client);
	player = document.getElementById(id);

	switch(id)
	{
	case 'playerIDIPTV' :
		player.addViewListener("NEXT", "nextTracker");
		player.addViewListener("PREV", "prevTracker");

		player.addModelListener('STATE', 'stateplayer');
		break;
	case 'playerID' : // mediaTVcenter
		player.addViewListener("NEXT", "nextTracker2");
		player.addViewListener("PREV", "prevTracker2");

		player.addModelListener('STATE', 'stateplayer2');
	}	  
};

function SetSelectbackColor(elmnt)
{

	if(document.getElementById(elmnt).style.backgroundColor != 'rgb(224, 220, 170)' &&
			document.getElementById(elmnt).style.backgroundColor != '#e0dcaa')SetbackColor(elmnt, '#BBBBBB');
}

function SetUnselectbackColor(elmnt)
{
	if(document.getElementById(elmnt).style.backgroundColor != 'rgb(224, 220, 170)' &&
			document.getElementById(elmnt).style.backgroundColor != '#e0dcaa')SetbackColor(elmnt, '#FFFFFF');
}

function MediaTVcenterInitPlayer(filename)
{
	// Version check based upon the values entered above in "Globals"
	var hasReqestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);

	// Check to see if the version meets the requirements for playback
	if (hasReqestedVersion)
	{  // if we've detected an acceptable version
		height=$('#player').css('height'); height=height.substr(0, height.length-2);
		width=$('#player').css('width'); width=width.substr(0, width.length-2);

		var s1 = new SWFObject('./player/player.swf','playerID',width,height,'9');

		s1.addParam('allowfullscreen','true');
		s1.addParam('allowscriptaccess','always');
		s1.addParam('wmode','transparent'); //opaque
		s1.addVariable("enablejs","true");
		s1.addVariable("javascriptid","playerID");
		s1.addVariable('config', './player/config.xml.php');
		s1.addVariable('skin', './player/playerskin.swf');
		s1.addVariable('plugins', 'yourlytics-1');
		s1.addVariable('yourlytics.callback', './analytics/callback.php');

		if(filename.indexOf('-1')!=0){
			if(filename.indexOf('.php') >= 0) {
				s1.addVariable('file', './player/playlist.php');
			}
			else {
				s1.addVariable('repeat', 'none');
				s1.addVariable('file', './player/playlist.php%3Fplaylist%3Dvideo%26id%3D'+filename);
			}
		}
		s1.write('player');
	}
	else
	{  // flash is too old or we can't detect the plugin
		document.getElementById('NoFlashInstalled').style.display = 'inline';
	}
}

function MediaTVcenterInit(filename, lastvideo, highlights)
{
	MediaTVcenterInitPlayer(filename);
	currentitem = 0;
	lastitem = lastvideo;
	if(highlights == 1)
	{
		document.getElementById('videodetails0').style.display = 'inline';
		document.getElementById('relatedvideolink0').style.display = 'inline';
	}
}

function SimpleViewerInitPlayer(video)
{
	// Version check based upon the values entered above in "Globals"
	var hasReqestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);

	// Check to see if the version meets the requirements for playback
	if (hasReqestedVersion)
	{  // if we've detected an acceptable version

		height=$('#placeholder').css('height'); height=height.substr(0, height.length-2);
		width=$('#placeholder').css('width'); width=width.substr(0, width.length-2);

		var s1 = new SWFObject('./player/player.swf','playerIDSimpleViewer',width,height,'9');

		s1.addParam('allowfullscreen','true');
		s1.addParam('allowscriptaccess','always');
		s1.addParam('wmode','transparent'); //opaque
		s1.addVariable('enablejs','true');
		s1.addVariable('javascriptid','playerIDSimpleViewer');

		s1.addVariable('config', './player/config.xml.php');
		s1.addVariable('skin', './player/playerskin.swf');

		s1.addVariable('plugins', 'yourlytics-1');
		s1.addVariable('yourlytics.callback', './analytics/callback.php');

		s1.addVariable('repeat', 'none');

		s1.addVariable('file', '../videos/' + video + '.flv');

		s1.write('placeholder');
	}
	else
	{  // flash is too old or we can't detect the plugin
		document.getElementById('NoFlashInstalled').style.display = 'inline';
	}
}

function SimpleViewerInit(video)
{
	SimpleViewerInitPlayer(video);
}

/******************************************************************************/
//stores the reference to the XMLHttpRequest object
var xmlHttp = createXmlHttpRequestObject(); 

//retrieves the XMLHttpRequest object
function createXmlHttpRequestObject()
{
	//	will store the reference to the XMLHttpRequest object
	var xmlHttp;
//	this should work for all browsers except IE6 and older
	try
	{
		//		try to create XMLHttpRequest object
		xmlHttp = new XMLHttpRequest();
	}
	catch(e)
	{
		//		assume IE6 or older
		var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0',
				'MSXML2.XMLHTTP.5.0',
				'MSXML2.XMLHTTP.4.0',
				'MSXML2.XMLHTTP.3.0',
				'MSXML2.XMLHTTP',
		'Microsoft.XMLHTTP');
//		try every prog id until one works
		for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++)
		{
			try
			{
				// try to create XMLHttpRequest object
				xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
			}
			catch (e) {}
		}
	}
	// return the created object or display an error message
	if (!xmlHttp)
		alert("Error creating the XMLHttpRequest object.");
	else
		return xmlHttp;
}

function Ajax(serverAddress, params, handleServerResponsefunction){

	// proceed only if the xmlHttp object isn't busy
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) {
		// execute the page from the server
		xmlHttp.open("POST", serverAddress, true);

		// send the proper header information along with the request
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", (params?params.length:0));
		xmlHttp.setRequestHeader("Connection", "close");

		// define the method to handle server responses
		xmlHttp.onreadystatechange = handleServerResponsefunction;

		// make the server request
		xmlHttp.send(params);
	} else
		// if the connection is busy, try again after one half second
		setTimeout('Ajax(\''+serverAddress+'\', \''+params+'\', '+handleServerResponsefunction+')', 500);
}

function mycarousel_itemVisibleInCallback(carousel, item, i, state, evt) {
	// The index() method calculates the index from a given index who is out of the actual item range.
	var idx = carousel.index(i, mycarousel_itemList.length);
	carousel.add(i, mycarousel_getItemHTML(mycarousel_itemList[idx - 1]));
};

function mycarousel_itemVisibleOutCallback(carousel, item, i, state, evt)
{
	carousel.remove(i);
};

function mycarousel_itemLoadCallback(carousel, state)
{
	for (var i = carousel.first; i <= carousel.last; i++) {
		if (carousel.has(i)) {
			continue;
		}

		if (i > mycarousel_itemList.length) {
			break;
		}

		carousel.add(i, mycarousel_getItemHTML(mycarousel_itemList[i-1]));
	}
};

/**
 * Item html creation helper.
 */
function mycarousel_getItemHTML(item)
{
	retour = '<a href="' + item.url +'" title="' + item.title + '">';
	retour+= '<img src="' + item.picture + '" width="115" height="75" alt="' + item.title + '"/>';
	retour+= '<br/>'+ item.title;
	retour+= '</a>';

	return retour;  

};
