var oPlayer;
var oVideoDescriptions = [];
var oOpenPanels = {};
var oAnimatingPanels = {};
var sLastOpenedID;
var iDistance = 220;

/**
 * 
 * @param sID
 * @return void
 */
function openPanel(sID)
{
	if(!oOpenPanels[sID])
	{
		if(sLastOpenedID)
		{
			closePanel(sLastOpenedID);
		}
		oOpenPanels[sID] = true;
		oAnimatingPanels[sID] = true;
		new Effect.Move
		(
			sID,
			{
				y: iDistance,
				duration: .5,
				transition: Effect.Transitions.easeOutCubic
				
			}
		);
		$(sID + 'Arrow').src = '/images/panel_arrow_up.gif';
		oAnimatingPanels[sID] = false;
		sLastOpenedID = sID;
	}
}

/**
 * 
 * @param sID
 * @return void
 */
function closePanel(sID)
{
	if(oOpenPanels[sID])
	{
		oOpenPanels[sID] = false;
		oAnimatingPanels[sID] = true;
		
		new Effect.Move
		(
			$(sID),
			{
				y: -iDistance, 
				duration: .5,				
				transition: Effect.Transitions.easeOutCubic
			}
		);
		$(sID + 'Arrow').src = '/images/panel_arrow_down.gif';
		oAnimatingPanels[sID] = false;
		
		if(oPlayer && sID == 'panelVideo')
		{
			oPlayer.stop();
		}
	}	
}

/**
 * 
 * @param sID
 * @return void
 */
function togglePanel(sID)
{
	if(!oAnimatingPanels[sID])
	{
		if(oOpenPanels[sID])
		{
			closePanel(sID)
		}
		else
		{
			openPanel(sID);
		}
	}
}

/**
 * 
 * @param sDescription
 * @return void
 */
function addVideoDescription(sDescription)
{
	oVideoDescriptions.push(sDescription);
}

/**
 * This is automatically called from the Flash JW Player
 * @param oPlayerInfo
 * @return void
 */
function playerReady(oPlayerInfo)
{
	 oPlayer = new JWPlayer(oPlayerInfo.id, 'oPlayer', oVideoDescriptions, 'videoDescription');
	 // Make the 'Meer video's' button go to the next video and stop (so it shows the pre-image)
	 $('buttonMoreVideos').observe
	 (
		'click',
		function(oEvent)
		{
			oPlayer.playNext();
			oPlayer.stop();
		}
	)
}
