<!--

// MyDHTML 1.0 Videos library (based on Images library)
// Version: 10.10.08

// Videos handler >>> *****************************************

// Videos constructor >>>

function videosHandler(sRoot, oBrowser)
{
	this.is = oBrowser;
	this.root = sRoot;

	this.add = videosHandler_addVideo;
	this.overwrite = videosHandler_overwriteVideo;
	this.get = videosHandler_getVideo;
	this.getVirtual = videosHandler_getVirtualVideo;
	this.getVirtualIndex = videosHandler_getVirtualVideoIndex;

	this.videos = new Array();
}

// <<< Videos constructor

// Public >>>

function videosHandler_addVideo(sName, sSrc, sAlt, iWidth, iHeight, iStatus)
{
	var iIndex = this.getVirtualIndex(sName);

	if (iIndex == null)
		iIndex = this.videos.length;

	this.videos[iIndex] = new Array();
	this.videos[iIndex][0] = ID_VIDEO + sName;
	this.videos[iIndex][1] = new Array();
	this.videos[iIndex][1]['src'] = sSrc;
	this.videos[iIndex][2] = new Array();
	this.videos[iIndex][2]['width'] = iWidth;
	this.videos[iIndex][2]['height'] = iHeight;
	this.videos[iIndex][2]['alt'] = decodeURIComponent(sAlt);
	this.videos[iIndex][2]['status'] = iStatus;
}

function videosHandler_overwriteVideo(sName, sName1, sName2, sName3, video_player_settings)
{
	var oVideo = this.get(sName);
	var aVideo = this.getVirtual(sName1);
	var oVideoImage = this.get(sName2);
	var oVideoImageWrapper = this.get(sName2 + '_wrapper');
	var oWatermarkImage = this.get(sName3);
	var oWatermarkImageWrapper = this.get(sName3 + '_wrapper');

	if (oVideo)
	{
		if (aVideo[2]['status'] == 1)
		{
			// Hide images
			oVideoImage.src = '';
			oVideoImage.width = 0;
			oVideoImage.height = 0;
			oVideoImage.style.width = 0;
			oVideoImage.style.height = 0;
			oWatermarkImageWrapper.style.display = 'none';
			oVideoImageWrapper.style.display = 'none';
			oVideo.style.display = 'block';

			// Create SWF object
			if (typeof s1 == "undefined" || typeof player == "undefined" || typeof player.sendEvent == "undefined")
			{
				if (typeof player != "undefined" && typeof player.sendEvent != "undefined")
					player.sendEvent('STOP');

				s1 = new SWFObject(video_player_settings['player_source'],'player',video_player_settings['player_width'],video_player_settings['player_height'],'9');
				s1.addParam('quality', 'high');
				for (key in video_player_settings['variables'])
				{
					s1.addVariable(key, video_player_settings['variables'][key]);
				}
				s1.addVariable('file', decodeURIComponent(aVideo[1]['src']));
				for (key in video_player_settings['params'])
				{
					s1.addParam(key, video_player_settings['params'][key])	
				}
				s1.write(sName);
			}
			else
			{
				player.sendEvent('STOP');
				player.sendEvent('LOAD', decodeURIComponent(aVideo[1]['src']));
			}
		}
		else
		{
			if (typeof player != "undefined" && typeof player.sendEvent != "undefined")
				player.sendEvent('STOP');
			else
				oVideo.innerHTML = '';

			oVideo.style.display = 'none';

			if (oVideoImage)
			{
				oVideoImage.src = aVideo[1]['src'];
				oVideoImage.alt = aVideo[2]['alt'];
				oVideoImage.width = aVideo[2]['width'];
				oVideoImage.height = aVideo[2]['height'];
				oVideoImage.style.width = aVideo[2]['width'];
				oVideoImage.style.height = aVideo[2]['height'];
				oVideoImageWrapper.style.top = Math.round((video_player_settings['player_height'] - aVideo[2]['height']) / 2);
				oVideoImageWrapper.style.left = Math.round((video_player_settings['player_width'] - aVideo[2]['width']) / 2);
				oVideoImageWrapper.style.display = 'block';
			}
			else
			{
				doHalt('Unknown image "' + sName3 + '"');
			}

			if (video_player_settings['watermarks'][aVideo[2]['status']] != "undefined")
				oWatermarkImage.src = decodeURIComponent(video_player_settings['watermarks'][aVideo[2]['status']].src);
			else
				oWatermarkImage.src = decodeURIComponent(video_player_settings['watermarks'][2].src);

			oWatermarkImage.alt = aVideo[2]['alt'];
			oWatermarkImageWrapper.style.display = 'block';
		}
	}
	else
	{
		doHalt('Unknown video "' + sName + '"');
	}
}

function videosHandler_getVideo(sName)
{
	var oVideo = new elementHandler(sName, ID_VIDEO, this.is);

	return oVideo.object;
}

function videosHandler_getVirtualVideo(sName)
{
	for (var i = 0; i < this.videos.length; i++)
	{
		if (this.videos[i][0] == (ID_VIDEO + sName))
			return this.videos[i];
	}

	doHalt('Unknown virtual video "' + sName + '"');

	return null;
}

function videosHandler_getVirtualVideoIndex(sName)
{
	for (var i = 0; i < this.videos.length; i++)
	{
		if (this.videos[i][0] == (ID_VIDEO + sName))
			return i;
	}

	return null;
}

// <<< Public

// <<< Videos handler *****************************************

// -->
