/*
	Lightbox JS: Fullsize Image Overlays 
	by Lokesh Dhakar - http://www.huddletogether.com

	For more information on this script, visit:
	http://huddletogether.com/projects/lightbox/

	Licensed under the Creative Commons Attribution 2.5 License - http://creativecommons.org/licenses/by/2.5/
	(basically, do anything you want, just leave my name and link)
	
	Table of Contents
	----------------- 
	Configuration
	
	Functions
	- getPageScroll()
	- getPageSize()
	- pause()
	- getKey()
	- listenKey()
	- showLightboxVideo()
	- hideLightbox()
	- addLoadEvent()
	
	Function Calls
	- addLoadEvent(initLightbox)

*/



//
// Configuration
//

// If you would like to use a custom loading image or close button reference them in the next two lines.
var loadingImage = './img/loading.gif';		
var closeButton = './img/close_video_image.png';	
var minimizeButton = './img/minimize_video_image.png';
var maximizeButton = './img/maximize_video_image.png';
var openviewerButton = './img/open_viewer_lightbox.png';
var previousButton = './img/navigation_previous.png';
var nextButton = './img/navigation_next.png';

var g_box_selectedId = '';
var g_oCurrentPlyerObjetList = new Array();
var g_oCurrentLink = null;
var g_bUseContactLighbox = false;
var g_follow_box_clicked = false;
var g_box_minimized = false;
var video_width = 560;
var video_height = 340;
var randomActivated = false;
//
// getPageScroll()
// Returns array with x,y page scroll values.
// Core code from - quirksmode.org
//
function getPageScroll(){

	var yScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer
																					// 6
																					// Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}

	arrayPageScroll = new Array('',yScroll) 
	return arrayPageScroll;
}



//
// getPageSize()
// Returns array with page width, height and window width, height
// Core code from - quirksmode.org
// Edit for Firefox by pHaez
//
function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all
																			// but
																			// Explorer
																			// Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla
				// and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer
																					// 6
																					// Strict
																					// Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}


	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}


//
// pause(numberMillis)
// Pauses code execution for specified time. Uses busy code, not good.
// Code from http://www.faqts.com/knowledge_base/view.phtml/aid/1602
//
function pause(numberMillis) {
	var now = new Date();
	var exitTime = now.getTime() + numberMillis;
	while (true) {
		now = new Date();
		if (now.getTime() > exitTime)
			return;
	}
}

//
// getKey(key)
// Gets keycode. If 'x' is pressed then it hides the lightbox.
//

function getKey(e){
	if (e == null) { // ie
		keycode = event.keyCode;
	} else { // mozilla
		if (keycode = e.which == 0)
			keycode = e.keyCode;
		else
			keycode = e.which;
	}
	// Test
	if (keycode == 37)
	{
		LIGHTBOX_playPrevious();	
	}
	else if (keycode == 39)
	{
		LIGHTBOX_playNext();			
	}
	else if (keycode == 38)
	{
		LIGHTBOX_playTop();
	}
	else if (keycode == 40)
	{
		LIGHTBOX_playDown();
	}
	else if (keycode == 27)
	{
		hideLightboxVideo();
	}
}


//
// listenKey()
//
function listenKey () {	document.onkeydown = getKey; }
function unlistenKey () { document.onkeydown = ''; }	

function centerLightBoxImageAndVideo()
{
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();

	// VIDEO
	var objLightbox = document.getElementById('lightboxVideo');
	var objLightboxNavigation = document.getElementById('lightboxVideoNavigation');
	
	var objLightboxDetails = document.getElementById('lightboxVideoDetails');
	var navigation_height = 75;
	var navigation_top = 0;
	
	lightboxTop = arrayPageScroll[1] + ((arrayPageSize[3] - 35 - video_height) / 2);
	lightboxLeft = ((arrayPageSize[0] - 20 - video_width) / 2);
	
	if (lightboxTop - navigation_top < 0)
		navigation_top = 0;
	else
		navigation_top = lightboxTop - navigation_top;
	objLightbox.style.top = (lightboxTop < 0) ? navigation_height + "px" : (lightboxTop + navigation_top + navigation_height) + "px";
	objLightbox.style.left = (lightboxLeft < 0) ? "0px" : lightboxLeft + "px";
	objLightboxNavigation.style.top = navigation_top;
	objLightboxDetails.style.width = video_width + 'px';
}

function showLightboxComments()
{
	return;
	var objLightbox = document.getElementById('lightboxComments');
	if (!objLightbox)
		return;
	objLightbox.style.display = "block";
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();
	var video_width = '560';
	var video_height = '340';
	var objLightboxVideo = document.getElementById('lightboxVideo');
	var lightboxLeft = ((arrayPageSize[0] - 20 - video_width) / 2);
	// objLightbox.style.top = (lightboxTop < 0) ? "0px" : (lightboxTop) + "px";
	objLightbox.style.top = objLightboxVideo.style.top;
	objLightbox.style.left = (lightboxLeft < 0) ? "0px" : (lightboxLeft - 280) + "px";
	objLightbox.style.height = objLightboxVideo.offsetHeight;
	objLightbox.style.width = '248px';
}

var lightboxContent_type =
{
		video 		: 0,
		image 		: 1,
		special_embed : 2,
		site 		: 3
}

function lighboxContent_CLASS () {
		this.type;
		this.title;
		this.description;
		this.src;
		this.href;
		this.SWFUrl;
		this.dbid;
		this.background_image;
		this.init = function (_dbId, _type, _title, _description, _src, _href, _SWFUrl, _background_image) {
			this.dbid			= _dbId;
			this.type 			= _type;
			this.title 			= _title;
			this.description 	= _description;
			this.src			= _src;
			this.href 			= _href;
			this.SWFUrl			= _SWFUrl;
			this.background_image	= _background_image;
		}		
}
function showLightboxVideoFromJSon(_jSonObject)
{
	g_oCurrentPlyerObjetList = new Array();
	for (i = 0; i < _jSonObject["linkList"].length; i++)
	{
		// Videos
		if (_jSonObject["linkList"][i]['videosrc'].length != 0)
		{
			var obj = new lighboxContent_CLASS();
			obj.init(_jSonObject["linkList"][i]['urlId'], lightboxContent_type.video, _jSonObject["linkList"][i]['title'], _jSonObject["linkList"][i]['description'], _jSonObject["linkList"][i]['thumbnail'], _jSonObject["linkList"][i]['url'], _jSonObject["linkList"][i]['videosrc'], _jSonObject["linkList"][i]['generatedThumbnail']);
			g_oCurrentPlyerObjetList.push(obj);	
		}
		// Images
		else if (_jSonObject["linkList"][i]['isimage'] != "0")
		{
			var obj = new lighboxContent_CLASS();
			obj.init(_jSonObject["linkList"][i]['urlId'], lightboxContent_type.image, _jSonObject["linkList"][i]['title'], "", _jSonObject["linkList"][i]['url'], _jSonObject["linkList"][i]['url'], "", "");
			g_oCurrentPlyerObjetList.push(obj);	
		}
		// Special Embed
		else if (_jSonObject["linkList"][i]['specialembed'].length != 0)
		{
			var obj = new lighboxContent_CLASS();
			obj.init(_jSonObject["linkList"][i]['urlId'], lightboxContent_type.special_embed, _jSonObject["linkList"][i]['title'], _jSonObject["linkList"][i]['description'], './img/lightbox_sound_embeb.png', _jSonObject["linkList"][i]['url'], "", "");
			g_oCurrentPlyerObjetList.push(obj);
		}		
	}
	initPlayer();
	maximizeLightbox();
	
	var objLightboxPlayer = document.getElementById('lightboxPlayerVideo');
	registerAllLightBoxForVideo(objLightboxPlayer.getElementsByTagName("a"), false);
	g_box_selectedId = _jSonObject["boxInfo"]["dbid"];
	//randomVideo = Math.floor((Math.random() * 100) % objLightboxPlayer.getElementsByTagName("a").length);
	randomVideo = 0;
	COMMON_SetClass(objLightboxPlayer.getElementsByTagName("a")[randomVideo].getElementsByTagName("img")[0], "imagePlayerSelected");
	g_oCurrentLink = objLightboxPlayer.getElementsByTagName("a")[randomVideo];
	showLightboxVideo(objLightboxPlayer.getElementsByTagName("a")[randomVideo], false, true, _jSonObject["boxInfo"]["name"], true);
	listenKey();
}

function onPlayerLoaded(id)
{
	
}
function vimeo_player_loaded()
{
	obj = document.getElementById('lightboxImageVideoObject').getElementsByTagName('embed')[0];
	obj.api_addEventListener('onFinish',   'vimeo_on_finish');
}
function vimeo_on_finish()
{
	  LIGHTBOX_playNext();
}

function onYouTubePlayerReady(playerId) {
	videoPlayer = document.getElementById("lightboxImageVideoObject");
    videoPlayer.addEventListener("onStateChange", "ondmplayerStateChange");
    videoPlayer.addEventListener("onError", "onVideoError");
}
function onDailymotionPlayerReady(playerId)
{
	videoPlayer = document.getElementById("lightboxImageVideoObject");
	videoPlayer.addEventListener("onStateChange", "ondmplayerStateChange");
	videoPlayer.addEventListener("onError", "onVideoError");
}

function onVideoError(error)
{
	g_timeoutError = setTimeout('LIGHTBOX_playNext();', 4000);
}

function ondmplayerStateChange(newState)
{
	  if (newState == 0)
	  {
		  LIGHTBOX_playNext();
	  }
}
var g_timeoutError = null;
var g_oLinkForDelayShowChrome = null;
var g_oInitForDelayShowChrome = false;
var g_oCenterForDelayShowChrome = false;
var g_oTitleForDelayShowChrome = "";
var g_FromDelayedChrome = false;
var g_player_is_mini = false;

function LIGHTBOX_ShowEmbedChromeCase()
{
	g_FromDelayedChrome = true;
	showLightboxVideo(g_oLinkForDelayShowChrome, g_oInitForDelayShowChrome, g_oCenterForDelayShowChrome, g_oTitleForDelayShowChrome, false);
	g_FromDelayedChrome = false;
}

function showLightboxVideo(objLink, _bInit, _bCenter, _sBoxTitle, _bFromJson)
{
	// prep objects
	var sBoxID = "";
	var objBoxTitle = document.getElementById('lightboxBoxTitle');
	try
	{
		if (g_bUseContactLighbox != true)
		{
			oBox = objLink.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;
			sBoxID = oBox.id;
			g_box_selectedId = sBoxID;
			var oLinkId = objLink.getAttribute("dbId");
			if (oBox.getAttribute("mainLink") == "1")
			{
				document.getElementById('lightboxFollowBoxButton').style.display = 'none';
				AJAX_SendRequest('./common/links.php?ownerLinkMain&idLink=' + escape(oLinkId));				
			}
			else
			{
				if (g_box_selectedId.replace(/[^0-9-]/g,'') == "2")
					document.getElementById('lightboxFollowBoxButton').style.display = 'none';					
				else
					document.getElementById('lightboxFollowBoxButton').style.display = 'block';
				AJAX_SendRequest('./common/links.php?ownerLink&idLink=' + escape(oLinkId));				
			}
		}
		else
		{
			if (g_box_selectedId != "")
				document.getElementById('lightboxFollowBoxButton').style.display = 'block';
			else				
				document.getElementById('lightboxFollowBoxButton').style.display = 'none';
			var oLinkId = objLink.getAttribute("dbId");
			AJAX_SendRequest('./common/links.php?ownerLink&idLink=' + escape(oLinkId));	
			var boxTitle = document.getElementById("dragableBoxHeader_txt" + boxId).innerHTML;
			if (typeof(boxTitle) != 'undefined')
				objBoxTitle.innerHTML = boxTitle;
			else if (g_box_selectedId == "")
				objBoxTitle.innerHTML = "";
		}
	}
	catch(err)
	{
		var oLinkId = objLink.getAttribute("dbId");
		AJAX_SendRequest('./common/links.php?ownerLink&idLink=' + escape(oLinkId)); 
		if (g_bUseContactLighbox)
		{
			if (typeof(boxTitle) != 'undefined')
				objBoxTitle.innerHTML = boxTitle;
			else if (g_box_selectedId == "")
				objBoxTitle.innerHTML = "";
		}
	}
		
	UNIVERSE_HideMenu();
	var objOverlay = document.getElementById('overlayVideo');
	var objLightbox = document.getElementById('lightboxVideo');
	var objLightboxNavigation = document.getElementById('lightboxVideoNavigation');
	//var objLightboxPlayRandom = document.getElementById('lightboxVideoPlayRandom');
	var objCaption = document.getElementById('lightboxVideoCaption');
	var objInputURL = document.getElementById('lightboxVideoInputURL');
	var objImage = document.getElementById('lightboxImageVideo');
	var objLoadingImage = document.getElementById('loadingVideo');
	var objLightboxDetails = document.getElementById('lightboxVideoDetails');	

	var objCaptionTitle = document.getElementById('lightboxVideoTitle');
	//var objOptions = document.getElementById('lightboxVideoOptions');
	var objSharedBy = document.getElementById('lightboxVideoSharedBy');
	var objLightboxPlayer = document.getElementById('lightboxPlayerVideo');
	var sValue = objLink.getAttribute("swfurl");
	var lightboxContentType = objLink.getAttribute("lightboxContentType");
	var video_width = 560;
	var video_height = 340;
	
	if (_bInit)
	{
		g_box_minimized = false;
		document.getElementById('nextButtonLightBox').style.display = 'none';
		document.getElementById('previousButtonLightBox').style.display = 'none';		
	}
	if (g_box_minimized && !_bInit)
	{
		video_width = 290;
		video_height = 180;
		if (LIGHTBOX_PlayNextPossible())
			document.getElementById('nextButtonLightBox').style.display = 'block';
		else
			document.getElementById('nextButtonLightBox').style.display = 'none';
		if (LIGHTBOX_PlayPreviousPossible())
			document.getElementById('previousButtonLightBox').style.display = 'block';
		else
			document.getElementById('previousButtonLightBox').style.display = 'none';
	}
		
	
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();
	
	if (_bInit || _bFromJson)
	{
		objLightbox.style.width = video_width;
		objLightbox.style.height = '';
		objImage.style.width = video_width;
		objImage.style.height = video_height;
		//objLightbox.style.top = "";
		//objLightbox.style.left = "";
		document.getElementById('lightboxVideoTitle').style.display = "block";
		document.getElementById('lightboxPlayerInfo').style.display = "block";
		document.getElementById('lightboxVideoDetails').style.display = "block";
		document.getElementById('lightboxPlayerVideo').style.display = "block";
		document.getElementById('lightboxPlayerNavigation').style.display = "block";
		document.getElementById('minimizeButtonLightBox').onclick = function () {minimizeLightbox(); return false;}
		document.getElementById('minimizeButtonLightBox').src = minimizeButton;		
		if (objOverlay)
		{
			objOverlay.style.height = (arrayPageSize[1] + 'px');
			objOverlay.style.display = 'block';
		}
		objLightbox.style.display = 'block';
		if (_bFromJson)
		{
			document.getElementById('lightbox_previous_button').style.display = 'none';
			document.getElementById('lightbox_next_button').style.display = 'none';
		}
		else
		{
			document.getElementById('lightbox_previous_button').style.display = 'block';
			document.getElementById('lightbox_next_button').style.display = 'block';			
		}
	}

/*
 * if (_sBoxTitle) objBoxTitle.innerHTML = _sBoxTitle; else
 * objBoxTitle.innerHTML = "";
 */
	var sTitleVideo = objLink.innerHTML;
	// prep objects
	var liParentNode =objLink.parentNode.parentNode.parentNode.parentNode.parentNode;
	if (_bInit)
		g_oCurrentPlyerObjetList = new Array();
	var description = "";
	var url = objLink.href;
	// Parcourir tous les enfants
	if (_bInit && liParentNode.nodeName == "LI")
	{
		var boxId = liParentNode.parentNode.id.replace(/[^0-9-]/g,'');
		if (document.getElementById("dragableBoxHeader_txt" + boxId))
		{
			var boxTitle = document.getElementById("dragableBoxHeader_txt" + boxId).innerHTML;
			if (boxTitle)
				objBoxTitle.innerHTML = boxTitle;			
			var box = document.getElementById("dragableBox" + boxId);
			var tabId = box.parentNode.parentNode.id;
			var tabList = document.getElementById("myeasyfavtab");
			var aList = tabList.getElementsByTagName("a");
			for (var i = 0; i < aList.length; i++)
			{
				if (aList[i].rel == tabId)
				{
					tabinterfaceElement.expandit(i);
					break;
				}
			}
		}
		for (var i = 0; i < liParentNode.parentNode.childNodes.length; i++)
		{
			// savoir si les enfants sont des lightbox aussi
			var oLinkObj = liParentNode.parentNode.childNodes[i];
			if (oLinkObj == null)
				continue;
			if (!oLinkObj.getElementsByTagName)
				continue;
			aList = oLinkObj.getElementsByTagName("a");
			for (var j = 0; j < aList.length; j++)
			{
				if (aList[j].hasAttributes())
				{
					for (var k = 0; k < aList[j].attributes.length; k++)
					{
						if(aList[j].attributes[k].nodeName == "rel")
						{
							// Videos
							if (aList[j].attributes[k].nodeValue == "lightboxvideo")
							{
								{
									var obj = new lighboxContent_CLASS();
									obj.init(aList[j].getAttribute("dbId"), lightboxContent_type.video, aList[j].innerHTML, description, aList[j].parentNode.parentNode.getElementsByTagName('img')[0].src, aList[j].href, aList[j].getAttribute("swfurl"), aList[j].parentNode.parentNode.getElementsByTagName('img')[0].style.backgroundImage);
									g_oCurrentPlyerObjetList.push(obj);	
								}
							}
							// Images
							else if (aList[j].attributes[k].nodeValue == "lightbox")
							{
								var obj = new lighboxContent_CLASS();
								obj.init(aList[j].getAttribute("dbId"), lightboxContent_type.image, aList[j].innerHTML, "", aList[j].parentNode.parentNode.getElementsByTagName('img')[0].src, aList[j].href, "", "");
								g_oCurrentPlyerObjetList.push(obj);	
							}
							// Special Embed
							else if (aList[j].attributes[k].nodeValue == "lightboxspecialembed")
							{
								var obj = new lighboxContent_CLASS();
								// obj.init(aList[j].getAttribute("dbId"),
								// lightboxContent_type.special_embed,
								// aList[j].innerHTML, description,
								// aList[j].parentNode.parentNode.getElementsByTagName('img')[0].src,
								// aList[j].href, "");
								obj.init(aList[j].getAttribute("dbId"), lightboxContent_type.special_embed, aList[j].innerHTML, description, aList[j].parentNode.parentNode.getElementsByTagName('img')[0].src, aList[j].href, "", aList[j].parentNode.parentNode.getElementsByTagName('img')[0].style.backgroundImage);
								g_oCurrentPlyerObjetList.push(obj);
							}
						}
					}
				}
			}
		}
		initPlayer(objLink);
		
		registerAllLightBoxForVideo(objLightboxPlayer.getElementsByTagName("a"), false);
		var tdList = objLink.parentNode.parentNode.parentNode.getElementsByTagName('TD');
		for (var i = 0; i < tdList.length; i++)
		{
			if (COMMON_GetClass(tdList[i]) == "linkDesc")
			{
				description = tdList[i].innerHTML;
				break;
			}
		}
	}
	else
	{
		sTitleVideo = objLink.getAttribute("title");
		description = objLink.getAttribute("desc");
		if (typeof(_sBoxTitle) != 'undefined')
			objBoxTitle.innerHTML = _sBoxTitle;
			
		url = objLink.getAttribute("url");
		if (url == null)
		{
			url = objLink.href;
			//sTitleVideo = objLink.getAttribute('title');
		}
		if (g_bUseContactLighbox && g_oCurrentPlyerObjetList.length == 0)
		{
			g_box_selectedId = "";
			document.getElementById('lightboxFollowBoxButton').style.display = 'none';
			
			// enregistrer l'ensemble des notifs.
			var aList = objLink.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.getElementsByTagName("a");
			for (var j = 0; j < aList.length; j++)
			{
				if (aList[j].hasAttributes())
				{
					for (var k = 0; k < aList[j].attributes.length; k++)
					{
						if(aList[j].attributes[k].nodeName == "rel")
						{
							// Videos
							if (aList[j].attributes[k].nodeValue == "lightboxvideo")
							{
								{
									var obj = new lighboxContent_CLASS();
									obj.init(aList[j].getAttribute("dbId"), lightboxContent_type.video, aList[j].innerHTML, description, aList[j].parentNode.getElementsByTagName('img')[0].src, aList[j].href, aList[j].getAttribute("swfurl"));
									g_oCurrentPlyerObjetList.push(obj);	
								}
							}
							// Images
							else if (aList[j].attributes[k].nodeValue == "lightbox")
							{
								var obj = new lighboxContent_CLASS();
								obj.init(aList[j].getAttribute("dbId"), lightboxContent_type.image, aList[j].innerHTML, "", aList[j].parentNode.getElementsByTagName('img')[0].src, aList[j].href, "");
								g_oCurrentPlyerObjetList.push(obj);	
							}
							// Special Embed
							else if (aList[j].attributes[k].nodeValue == "lightboxspecialembed")
							{
								var obj = new lighboxContent_CLASS();
								// obj.init(aList[j].getAttribute("dbId"),
								// lightboxContent_type.special_embed,
								// aList[j].innerHTML, description,
								// aList[j].parentNode.parentNode.getElementsByTagName('img')[0].src,
								// aList[j].href, "");
								obj.init(aList[j].getAttribute("dbId"), lightboxContent_type.special_embed, aList[j].innerHTML, description, aList[j].parentNode.getElementsByTagName('img')[0].src, aList[j].href, "");
								g_oCurrentPlyerObjetList.push(obj);
							}
						}
					}
				}
			}
			initPlayer(objLink);
			registerAllLightBoxForVideo(objLightboxPlayer.getElementsByTagName("a"), false);
		}
	}

	// center loadingImage if it exists
	if (objLoadingImage) {
		if (arrayPageScroll[1] + ((arrayPageSize[3] - 35 - video_height) / 2) < 0)
			objLoadingImage.style.top = '0px';
		else
			objLoadingImage.style.top = (arrayPageScroll[1] + ((arrayPageSize[3] - 35 - video_height) / 2) + 'px');
		objLoadingImage.style.left = (((arrayPageSize[0] - 20 - video_width) / 2) + 'px');
		if (_bInit)
			objLoadingImage.style.display = 'block';
	}

	// set height of Overlay to take up whole page and show

	var strContent = "";
	if (lightboxContentType == lightboxContent_type.video)
	{
		var sUrl = url;
		swfUrl = objLink.getAttribute("swfurl");
		/*if (sUrl.indexOf("www.youtube.com") != -1)
			sUrl = sUrl + "&fs=1&autoplay=1";
		else if (sUrl.indexOf("vimeo.com") != -1
				|| sUrl.indexOf("collegehumor.com") != -1)
			sUrl = sUrl + "&fullscreen=1&autoplay=1";
		else if (sUrl.indexOf("dailymotion.com") != -1)
			sUrl = sUrl + "&autoPlay=1";*/
		/*
		 * else if (sValue.indexOf("dailymotion.com") != -1) sUrl = sUrl +
		 * "&autoPlay=1";
		 */
		// var strContent = "<img style='float:right;cursor:pointer;'
		// src='./img/close_video_image.png'
		// onclick=\"form_management.hideVideoForm();\"/><br/>"
		// + "<input type='text' value='" + sUrlPage + "' id='videoUrlInput'
		// onclick='select();'><br/>"
	    var params = { allowScriptAccess: "always", allowFullScreen : "true" };
	    var atts = { id: "lightboxImageVideoObject" };
		if (sUrl.indexOf("dailymotion.com") != -1)
		{
			var is_chrome = /chrome/.test( navigator.userAgent.toLowerCase() );
			// resolving the missing plugin issue
			if (is_chrome && !g_FromDelayedChrome)
			{
				objImage.innerHTML = "<div id='lightboxImageVideoObject'></div>";
				g_oLinkForDelayShowChrome = objLink;
				g_oInitForDelayShowChrome = _bInit;
				g_oCenterForDelayShowChrome = _bCenter;
				g_oTitleForDelayShowChrome = _sBoxTitle;
				g_FromDelayedChrome = true;
				setTimeout('LIGHTBOX_ShowEmbedChromeCase();', 500);
				return;
			}
			else
			{
			    swfobject.embedSWF(sValue + "&enableApi=1&playerapiid=dmplayer&autoPlay=1",
	                       "lightboxImageVideoObject", video_width, video_height, "9", null, null, params, atts);
			}
		}
		else if (sUrl.indexOf("youtube.com") != -1)
		{
			var is_chrome = /chrome/.test( navigator.userAgent.toLowerCase() );
			// resolving the missing plugin issue
			if (is_chrome && !g_FromDelayedChrome)
			{
				objImage.innerHTML = "<div id='lightboxImageVideoObject'></div>";
				g_oLinkForDelayShowChrome = objLink;
				g_oInitForDelayShowChrome = _bInit;
				g_oCenterForDelayShowChrome = _bCenter;
				g_oTitleForDelayShowChrome = _sBoxTitle;
				g_FromDelayedChrome = true;
				setTimeout('LIGHTBOX_ShowEmbedChromeCase();', 500);
				return;
			}
			else
			{
			    swfobject.embedSWF(sValue + "&enablejsapi=1&fs=1&playerapiid=ytplayer&autoplay=1",
			                       "lightboxImageVideoObject", video_width, video_height, "9", null, null, params, atts);
			}
		}
		else
		{
			var strContent = "<object id='lightboxImageVideoObject' width=" + video_width + " height=" + video_height + ">"
			+ "<param name='movie' value='" + sValue + "'></param>"
			+ "<param name='allowFullScreen' value='true'></param>"
			+ "<param name='allowscriptaccess' value='always'></param>"
			+ "<embed src='"+ swfUrl + "' type='application/x-shockwave-flash' allowscriptaccess=\"always\" allowfullscreen=\"true\" width=" + video_width + " height=" + video_height + ">"
			+ "</embed>"
			+ "</object>";		
			objImage.innerHTML = strContent;
		}

		// objLightbox.style.width = video_width;
	}
	else if (lightboxContentType == lightboxContent_type.image)
	{
		imgPreload = new Image();
		imgPreload.onload=function(){
			{
				var ratio = COMMON_GetValueFromStyle(imgPreload.height) / COMMON_GetValueFromStyle(imgPreload.width);
				// var windowWidth = COMMON_GetClientWidth();
				// var windowHeight = COMMON_GetClientHeight();
				var windowWidth = video_width;
				var windowHeight = video_height;
				
				var wantedHeight = COMMON_GetValueFromStyle(imgPreload.height);
				var wantedWidth = COMMON_GetValueFromStyle(imgPreload.width);
				
				{
					if (windowHeight < wantedHeight)
						wantedHeight = windowHeight;
					if (windowWidth < wantedWidth)
					{
						wantedWidth = windowWidth;
						wantedHeight = ratio * wantedWidth;
						bChangeWidth = true;
						if (windowHeight < wantedHeight)
						{
							wantedHeight = windowHeight;
							wantedWidth = wantedHeight / ratio;					
						}
					}
					else
					{
						wantedWidth = wantedHeight / ratio;					
					}
				}
				strContent = "<div id='lightboxImageVideoObject' align='center' style='margin: 5px;height:" + windowHeight + "px; width:" + windowWidth + "px'><a href='" + imgPreload.src + "' target='_blank'><img src='" + imgPreload.src + "' style='height:" + (wantedHeight) + "; width:" + (wantedWidth) + "'></a></div>";
				objImage.innerHTML = strContent;
			}

			// A small pause between the image loading and displaying is
			// required with IE,
			// this prevents the previous image displaying for a short burst
			// causing flicker.
			if (navigator.appVersion.indexOf("MSIE")!=-1){
				pause(250);
			} 

			if (objLoadingImage) {	objLoadingImage.style.display = 'none'; }
		
	        if (_bInit)
	        	objLightbox.style.display = 'block';

			// After image is loaded, update the overlay height as the new image
			// might have
			// increased the overall page height.
			arrayPageSize = getPageSize();
			// objOverlay.style.height = (arrayPageSize[1] + 'px');
			
			// Check for 'x' keypress
			listenKey();

			return false;
		}

		imgPreload.src = objLink.href;
	}
	else if (lightboxContentType == lightboxContent_type.special_embed)
	{
		var ajaxIndex = ajaxObjects.length;
		ajaxObjects[ajaxIndex] = new sack();
		ajaxObjects[ajaxIndex].requestFile = './common/links.php?specialembed&idlink=' + objLink.getAttribute("dbId");	// Specifying
		ajaxObjects[ajaxIndex].onCompletion = function(){ UPDATE_SpecialEmbed(ajaxObjects[ajaxIndex].response);};	// Specify
		ajaxObjects[ajaxIndex].runAJAX();		// Execute AJAX function
		strContent = "<div id='lightboxImageVideoObject' align='center' style='margin: 5px;height:" + video_height + "px; width:" + video_width + "px'><img src='./img/loading.png'></div>";
		objImage.innerHTML = strContent;
		// Ajax
	}	
	// Facebook Like
	{
		if (document.getElementById('iframefacebooklike'))
		{
			document.getElementById('iframefacebooklike').innerHTML = "";
			document.getElementById('iframefacebooklike').src = "http://www.facebook.com/plugins/like.php?href=" + escape(/*"http://www.easyfav.com/common/redirect.php?url=" +*/ url) + "&layout=button_count&show_faces=false&width=200&action=like&font=tahoma&colorscheme=light&height=21";
		}
	}
	// Twitter Like
	{
		if (document.getElementById('twitterlike'))
		{
			g_current_url = url;
			g_current_link_title = sTitleVideo;
			document.getElementById('twitterlike').innerHTML = '<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="EasyFav">Tweet</a>';
			twitScript = document.createElement('script');
			twitScript.setAttribute("type","text/javascript")
			twitScript.setAttribute("src", "../js/twitter_widgets.js");
			document.getElementById('twitterlike').appendChild(twitScript);
		}
	}
	// center lightbox and make sure that the top and left values are not
	// negative
	// and the image placed outside the viewport
	var lightboxTop = arrayPageScroll[1] + ((arrayPageSize[3] - 35 - video_height) / 2);
	var lightboxLeft = ((arrayPageSize[0] - 20 - video_width) / 2);
	
	if (objLightboxNavigation && _bInit)
	{
		if (sBoxID == 'dragableBox1')
		{
			objLightboxNavigation.style.display = 'none';		
		}
		else
		{		
			objLightboxNavigation.style.display = 'block';
			if (BOX_IsLastPrevious())
			{
				 document.getElementById('lightbox_previous_button').style.display = 'none';
			}
			else
			{
				 document.getElementById('lightbox_previous_button').style.display = 'inline';
			}
			if (BOX_IsLastNext())
			{
				 document.getElementById('lightbox_next_button').style.display = 'none';			
			}
			else
			{
				 document.getElementById('lightbox_next_button').style.display = 'inline';
			}
		}		
	}
		
	if (_bCenter)
	{
		objLightbox.style.left = '';
		CenterLightboxContent();
	}
	objLightboxDetails.style.width = video_width + 'px';
	
	objCaption.style.display = 'block';
	objCaption.innerHTML =  "URL";
	objInputURL.value = url;
	
	if (_bInit)
		objCaptionTitle.style.display = 'block';
	objCaptionTitle.innerHTML =  sTitleVideo;
	
	// A small pause between the image loading and displaying is required with
	// IE,
	// this prevents the previous image displaying for a short burst causing
	// flicker.
	if (navigator.appVersion.indexOf("MSIE")!=-1){
		pause(250);
	} 

	if (objLoadingImage) {	objLoadingImage.style.display = 'none'; }

	// After image is loaded, update the overlay height as the new image might
	// have
	// increased the overall page height.
	arrayPageSize = getPageSize();
	if (objOverlay)
		objOverlay.style.height = (arrayPageSize[1] + 'px');
	
	// Check for 'x' keypress
	if (!g_box_minimized)
		listenKey();
	
	showLightboxComments();
}

function CenterLightboxContent()
{
	var objLightbox = document.getElementById('lightboxVideo');
	var objLightboxPlayer = document.getElementById('lightboxPlayerVideo');
	var objLightboxNavigation = document.getElementById('lightboxVideoNavigation');
	var objLightboxPlayRandom = document.getElementById('lightboxVideoPlayRandom');
	var objOptions = document.getElementById('lightboxVideoOptions');
	var objSharedBy = document.getElementById('lightboxVideoSharedBy');
	var arrayPageSize = getPageSize();
	var video_width = 560;
	var video_height = 340;
	var lightboxTop = arrayPageScroll[1] + ((arrayPageSize[3] - 35 - video_height) / 2);
	var lightboxLeft = ((arrayPageSize[0] - 20 - video_width) / 2);

	objLightbox.style.top = ((lightboxTop - (objLightboxPlayer.offsetHeight / 2)) < 80) ? "170px" : (lightboxTop - (objLightboxPlayer.offsetHeight / 2)) + 50 + "px";
	objLightbox.style.left = (lightboxLeft < 0) ? "0px" : lightboxLeft + "px";
	if (objLightboxNavigation)
	{
		objLightboxNavigation.style.top = ((lightboxTop - (objLightboxPlayer.offsetHeight / 2)) < 80) ? "90px" : (lightboxTop - (objLightboxPlayer.offsetHeight / 2)) - 25;
		objLightboxNavigation.style.left = objLightbox.style.left;
	}
	objLightboxPlayRandom.style.top = ((lightboxTop - (objLightboxPlayer.offsetHeight / 2)) < 80) ? "40px" : (lightboxTop - (objLightboxPlayer.offsetHeight / 2)) - 95;
	objLightboxPlayRandom.style.left =  lightboxLeft + objLightboxPlayer.offsetWidth / 2 - 25;
	objLightboxPlayRandom.style.display = 'none'; 
	
	if (g_bLogged)
		objOptions.style.display = 'block'; 
	else
		objOptions.style.display = 'none'; 		
	
	objOptions.style.top = ((lightboxTop - (objLightboxPlayer.offsetHeight / 2)) < 80) ? "190px" : (lightboxTop + video_height / 2 - objOptions.offsetHeight / 2 - (objLightboxPlayer.offsetHeight / 2)) + 50 + "px";
	objOptions.style.left = (lightboxLeft < 0) ? video_width - 5 + "px" : lightboxLeft + video_width - 5 + "px";
	
	objSharedBy.style.display = 'block';
	objSharedBy.style.top = COMMON_GetSizeFromPx(objLightbox.style.top) - 20;
	objSharedBy.style.left = (lightboxLeft < 0) ? video_width / 2  - 20 + "px" : lightboxLeft + video_width / 2 - 20 + "px";	
}

function UPDATE_SpecialEmbed(_sResponse)
{
	// Permet d'afficher les myspaces, dezer Playlist etc...
	var video_width = 550;
	var video_height = 340;
	if (g_box_minimized)
	{
		video_width = 290;
		video_height = 180;
	}
	strContent = "<div id='lightboxImageVideoObject' align='center' style='margin: 5px;height:" + video_height + "px; width:" + video_width + "px'>" + _sResponse + "</div>";
	objImageVideo = document.getElementById('lightboxImageVideo');
	objImageVideo.innerHTML = strContent;
	if (objImageVideo.getElementsByTagName("embed").length != 0)
	{
		objImageVideo.getElementsByTagName("embed")[0].width = video_width;
		objImageVideo.getElementsByTagName("embed")[0].height = video_height;		
	}
	else if (objImageVideo.getElementsByTagName("object").length != 0)
	{
		objImageVideo.getElementsByTagName("object")[0].width = video_width;
		objImageVideo.getElementsByTagName("object")[0].height = video_height;		
	}
	else if (objImageVideo.getElementsByTagName("iframe").length != 0)
	{
		var iframe = objImageVideo.getElementsByTagName("iframe")[0];
		iframe.src = iframe.src + "?autoplay=1&js_api=1&js_onLoad=vimeo_player_loaded";
		iframe.width = video_width;
		iframe.height = video_height;	
	}
}

function LIGHTBOX_ChangeBoxOwner(sLink, sUserNickname)
{
	div = document.getElementById('lightboxVideoSharedBy');
	if (div)
	{
		var imgList = div.getElementsByTagName("img");
		imgList[0].parentNode.title = sUserNickname;
		imgList[0].src = sLink;
		imgList[0].title = g_lang_shared_by + " " + sUserNickname;
		imgList[0].onclick = function()
		{
			window.location.href = "#p/" + sUserNickname;
		}
	}
}
function initPlayer(objLink)
{
	var objLightboxPlayer = document.getElementById('lightboxPlayerVideo');
	objLightboxPlayer.innerHTML = "";
	for (var i = 0; i < g_oCurrentPlyerObjetList.length; i++)
	{
		var aObj = null;
		if (g_oCurrentPlyerObjetList[i].type == lightboxContent_type.video)
		{
			aObj = document.createElement("a");
			aObj.href = g_oCurrentPlyerObjetList[i].href;
			aObj.rel = "lightboxvideoThumb";
			aObj.setAttribute("swfurl", g_oCurrentPlyerObjetList[i].SWFUrl);
			aObj.setAttribute("title", g_oCurrentPlyerObjetList[i].title);
			aObj.setAttribute("desc", g_oCurrentPlyerObjetList[i].description);
			aObj.setAttribute("url", g_oCurrentPlyerObjetList[i].href);
			aObj.setAttribute("lightboxContentType", g_oCurrentPlyerObjetList[i].type);
			aObj.setAttribute("dbId", g_oCurrentPlyerObjetList[i].dbid);
			objLightboxPlayer.appendChild(aObj);
		}			
		else if (g_oCurrentPlyerObjetList[i].type == lightboxContent_type.image)
		{
			aObj = document.createElement("a");
			aObj.href = g_oCurrentPlyerObjetList[i].href;
			aObj.rel = "lightboxvideoThumb";
			aObj.setAttribute("title", g_oCurrentPlyerObjetList[i].title);
			aObj.setAttribute("lightboxContentType", g_oCurrentPlyerObjetList[i].type);
			aObj.setAttribute("dbId", g_oCurrentPlyerObjetList[i].dbid);
			objLightboxPlayer.appendChild(aObj);
		}
		else if (g_oCurrentPlyerObjetList[i].type == lightboxContent_type.special_embed)
		{
			aObj = document.createElement("a");
			aObj.href = g_oCurrentPlyerObjetList[i].href;
			aObj.rel = "lightboxvideoThumb";
			aObj.setAttribute("title", g_oCurrentPlyerObjetList[i].title);
			aObj.setAttribute("lightboxContentType", g_oCurrentPlyerObjetList[i].type);
			aObj.setAttribute("dbId", g_oCurrentPlyerObjetList[i].dbid);
			objLightboxPlayer.appendChild(aObj);
		}

		var Img = document.createElement('IMG');
		aObj.appendChild(Img);
		Img.src = g_oCurrentPlyerObjetList[i].src;
		Img.style.backgroundImage = g_oCurrentPlyerObjetList[i].background_image; 
		if (objLink && objLink.href ==  g_oCurrentPlyerObjetList[i].href)
		{
			g_oCurrentLink = aObj;
			COMMON_SetClass(Img, "imagePlayerSelected");
		}
		else
			COMMON_SetClass(Img, "imagePlayer");
		Img.onclick = function()
		{
			var objLightPlayer = document.getElementById('lightboxPlayerVideo');
			var aList = objLightPlayer.getElementsByTagName("a");
			for (var j = 0; j < aList.length; j++)
			{
				if (this.parentNode == aList[j])
				{
					g_oCurrentLink = aList[j];
					COMMON_SetClass(this, "imagePlayerSelected");						
				}
				else
				{
					COMMON_SetClass(aList[j].getElementsByTagName("img")[0], "imagePlayer");						
				}
			}				
		}
	}	
}
function LIGHTBOX_playPrevious()
{
	if (g_oCurrentLink == null)
		return;
	if (g_timeoutError)
	{
		clearTimeout(g_timeoutError);
		g_timeoutError = null;
	}
    UNIVERSE_HideMenu();
	var objLightPlayer = document.getElementById('lightboxPlayerVideo');
	var aList = objLightPlayer.getElementsByTagName("a");
	if (!randomActivated || aList.length == 1)
	{
		COMMON_SetClass(aList[0].getElementsByTagName("img")[0], "imagePlayer");						
		for (var j = 1; j < aList.length; j++)
		{
			COMMON_SetClass(aList[j].getElementsByTagName("img")[0], "imagePlayer");						
			if (aList[j] == g_oCurrentLink)
			{
				g_oCurrentLink = aList[j - 1];
				showLightboxVideo(aList[j - 1], false, false, null, false);
				COMMON_SetClass(aList[j - 1].getElementsByTagName("img")[0], "imagePlayerSelected");
				return;
			}
		}			
		// On relance le dernier element
		g_oCurrentLink = aList[aList.length - 1];
		showLightboxVideo(aList[aList.length - 1], false, false, null, false);				
		COMMON_SetClass(aList[aList.length - 1].getElementsByTagName("img")[0], "imagePlayerSelected");
	}
	else
	{
		var iCurrentLinkId = 0;
		for (var j = 0; j < aList.length; j++)
		{
			COMMON_SetClass(aList[j].getElementsByTagName("img")[0], "imagePlayer");						
			if (aList[j] == g_oCurrentLink)
			{
				iCurrentLinkId = j;
			}
		}
		iOldIndex = iCurrentLinkId;
		while (iCurrentLinkId == iOldIndex)
		{
			iCurrentLinkId = Math.floor(Math.random() * aList.length);
		}

		g_oCurrentLink = aList[iCurrentLinkId];
		showLightboxVideo(aList[iCurrentLinkId], false, false, null, false);
		COMMON_SetClass(aList[iCurrentLinkId].getElementsByTagName("img")[0], "imagePlayerSelected");
	}
}

function changeRandomValue(img)
{
	randomActivated = !randomActivated;
	if (randomActivated)
		img.src = "./img/navigation_random_activated.png";
	else
		img.src = "./img/navigation_random.png";
}

function LIGHTBOX_playNext()
{
	if (g_timeoutError)
	{
		clearTimeout(g_timeoutError);
		g_timeoutError = null;
	}
	if (g_oCurrentLink == null)
		return;
	if (g_timeoutError)
	{
		clearTimeout(g_timeoutError);
		g_timeoutError = null;
	}
    UNIVERSE_HideMenu();
	var objLightPlayer = document.getElementById('lightboxPlayerVideo');
	var aList = objLightPlayer.getElementsByTagName("a");
	if (!randomActivated || aList.length == 1)
	{
		for (var j = 0; j < aList.length - 1; j++)
		{
			if (aList[j] == g_oCurrentLink)
			{
				g_oCurrentLink = aList[j + 1];
				showLightboxVideo(aList[j + 1], false, false, null, false);
				COMMON_SetClass(aList[j].getElementsByTagName("img")[0], "imagePlayer");						
				COMMON_SetClass(aList[j + 1].getElementsByTagName("img")[0], "imagePlayerSelected");
				return;
			}
		}
		// On relance le 1er element
		g_oCurrentLink = aList[0];
		showLightboxVideo(aList[0], false, false, null, false);
		COMMON_SetClass(aList[aList.length - 1].getElementsByTagName("img")[0], "imagePlayer");						
		COMMON_SetClass(aList[0].getElementsByTagName("img")[0], "imagePlayerSelected");
	}
	else
	{
		var iCurrentLinkId = 0;
		for (var j = 0; j < aList.length; j++)
		{
			COMMON_SetClass(aList[j].getElementsByTagName("img")[0], "imagePlayer");						
			if (aList[j] == g_oCurrentLink)
			{
				iCurrentLinkId = j;
			}
		}
		iOldIndex = iCurrentLinkId;
		while (iCurrentLinkId == iOldIndex)
		{
			iCurrentLinkId = Math.floor(Math.random() * aList.length);
		}

		g_oCurrentLink = aList[iCurrentLinkId];
		showLightboxVideo(aList[iCurrentLinkId], false, false, null, false);
		COMMON_SetClass(aList[iCurrentLinkId].getElementsByTagName("img")[0], "imagePlayerSelected");
	}
	return;
}

function LIGHTBOX_PlayPreviousPossible()
{
	var objLightPlayer = document.getElementById('lightboxPlayerVideo');
	var aList = objLightPlayer.getElementsByTagName("a");
	if (aList.length == 1)
		return false;
	if (aList[0] != g_oCurrentLink)
		return true;
	return false;
}

function LIGHTBOX_PlayNextPossible()
{
	var objLightPlayer = document.getElementById('lightboxPlayerVideo');
	var aList = objLightPlayer.getElementsByTagName("a");
	for (var j = 0; j < aList.length; j++)
	{
		if (aList[j] == g_oCurrentLink)
		{
			if (j != aList.length - 1)
				return true;
			return false;
		}
	}	
	return false;
}

function LIGHTBOX_playTop()
{
	if (g_oCurrentLink == null)
		return;
	if (g_timeoutError)
	{
		clearTimeout(g_timeoutError);
		g_timeoutError = null;
	}
    UNIVERSE_HideMenu();
	var iIncrementValue = 9;
	var objLightPlayer = document.getElementById('lightboxPlayerVideo');
	var aList = objLightPlayer.getElementsByTagName("a");
	for (var j = 0; j < aList.length; j++)
	{
		if (aList[j] == g_oCurrentLink && j - iIncrementValue >= 0)
		{
			g_oCurrentLink = aList[j - iIncrementValue];
			showLightboxVideo(aList[j - iIncrementValue], false, false, null, false);
			COMMON_SetClass(aList[j].getElementsByTagName("img")[0], "imagePlayer");						
			COMMON_SetClass(aList[j - iIncrementValue].getElementsByTagName("img")[0], "imagePlayerSelected");
			return;
		}
	}	
}

function LIGHTBOX_playDown()
{
	if (g_oCurrentLink == null)
		return;
	if (g_timeoutError)
	{
		clearTimeout(g_timeoutError);
		g_timeoutError = null;
	}
    UNIVERSE_HideMenu();
	var iIncrementValue = 9;
	var objLightPlayer = document.getElementById('lightboxPlayerVideo');
	var aList = objLightPlayer.getElementsByTagName("a");
	for (var j = 0; j < aList.length; j++)
	{
		if (aList[j] == g_oCurrentLink && j + iIncrementValue < aList.length)
		{
			g_oCurrentLink = aList[j + iIncrementValue];
			showLightboxVideo(aList[j + iIncrementValue], false, false, null, false);
			COMMON_SetClass(aList[j].getElementsByTagName("img")[0], "imagePlayer");						
			COMMON_SetClass(aList[j + iIncrementValue].getElementsByTagName("img")[0], "imagePlayerSelected");
			return;
		}
	}
}
function showLightboxIcons(inputObj)
{
	// prep objects
	var objOverlay = document.getElementById('overlayIcons');
	var objLightbox = document.getElementById('lightboxIcons');
	var objLightboxDetails = document.getElementById('lightboxIconsDetails');
	
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();

	var video_width = '560';
	var video_height = '340';

	// set height of Overlay to take up whole page and show
	objOverlay.style.height = (arrayPageSize[1] + 'px');
	objOverlay.style.display = 'block';
	
	// center lightbox and make sure that the top and left values are not
	// negative
	// and the image placed outside the viewport
	var lightboxTop = arrayPageScroll[1] + ((arrayPageSize[3] - 35 - video_height) / 2);
	var lightboxLeft = ((arrayPageSize[0] - 20 - video_width) / 2);
	
	objLightbox.style.top = (lightboxTop < 0) ? "0px" : lightboxTop + "px";
	objLightbox.style.left = (lightboxLeft < 0) ? "0px" : lightboxLeft + "px";


	objLightboxDetails.style.width = video_width + 'px';
	
	// A small pause between the image loading and displaying is required with
	// IE,
	// this prevents the previous image displaying for a short burst causing
	// flicker.
	if (navigator.appVersion.indexOf("MSIE")!=-1){
		pause(250);
	} 

	objLightbox.style.display = 'block';

	// After image is loaded, update the overlay height as the new image might
	// have
	// increased the overall page height.
	arrayPageSize = getPageSize();
	objOverlay.style.height = (arrayPageSize[1] + 'px');
	
	// Check for 'x' keypress
	listenKey();	
}

//
// hideLightbox()
//
function hideLightbox()
{
	// get objects
	objOverlay = document.getElementById('overlay');
	objLightbox = document.getElementById('lightbox');

	// hide lightbox and overlay
	objOverlay.style.display = 'none';
	objLightbox.style.display = 'none';

	// make select boxes visible
	selects = document.getElementsByTagName("select");
    for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "visible";
	}

	// disable keypress listener
    unlistenKey();
}

function maximizeLightbox()
{
    g_box_minimized = false;

	objOverlay = document.getElementById('overlayVideo');
	objLightbox = document.getElementById('lightboxVideo');
	objLightboxNavigation = document.getElementById('lightboxVideoNavigation');
	objLightboxPlayRandom = document.getElementById('lightboxVideoPlayRandom');
	objLightboxComments = document.getElementById('lightboxComments');
	objLightboxSharedBy = document.getElementById('lightboxVideoSharedBy');
	objLightboxVideoOptions = document.getElementById('lightboxVideoOptions');
	// hide lightbox and overlay
	objOverlay.style.display = 'block';
	var arrayPageSize = getPageSize();
	objOverlay.style.height = (arrayPageSize[1] + 'px');

	objLightboxNavigation.style.display = 'block';
	objLightboxSharedBy.style.display = 'block';
	if (g_bLogged)
		objLightboxVideoOptions.style.display = 'block';
	else
		objLightboxVideoOptions.style.display = 'none';
		
	objLightboxPlayRandom.style.display = 'none';

    g_follow_box_clicked = true;

    listenKey();

	document.getElementById('lightboxVideoTitle').style.display = "block";
	document.getElementById('lightboxPlayerInfo').style.display = "block";
	document.getElementById('lightboxVideoDetails').style.display = "block";
	document.getElementById('lightboxPlayerVideo').style.display = "block";
	document.getElementById('lightboxPlayerNavigation').style.display = "block";
	
	document.getElementById('nextButtonLightBox').style.display = 'none';
	document.getElementById('previousButtonLightBox').style.display = 'none';

	document.getElementById('minimizeButtonLightBox').onclick = function () {maximizeLightbox(); return false;}
	document.getElementById('minimizeButtonLightBox').src = maximizeButton;

	var objImageVideo = document.getElementById('lightboxImageVideo');
	var video_width = 560;
	var video_height = 340;

	objLightbox.style.width = video_width;
	objLightbox.style.height = '';
	objLightbox.style.padding = '10px';
	objImageVideo.style.width = video_width;
	objImageVideo.style.height = video_height;
	objImageVideo.childNodes[0].style.width = video_width;
	objImageVideo.childNodes[0].style.height = video_height;
	document.getElementById('minimizeButtonLightBox').onclick = function () {minimizeLightbox(); return false;}
	document.getElementById('minimizeButtonLightBox').src = minimizeButton;
	objLightbox.style.left = "";
	if (objImageVideo.getElementsByTagName("embed").length != 0)
	{
		objImageVideo.getElementsByTagName("embed")[0].width = video_width;
		objImageVideo.getElementsByTagName("embed")[0].height = video_height;		
	}
	if (objImageVideo.getElementsByTagName("object").length != 0)
	{
		objImageVideo.getElementsByTagName("object")[0].width = video_width;
		objImageVideo.getElementsByTagName("object")[0].height = video_height;		
	}
	if (objImageVideo.getElementsByTagName("img").length != 0)
	{
		var img = objImageVideo.getElementsByTagName("img")[0];
		
		img.style.width = img.offsetWidth * (video_width / 290);
		img.style.height = img.offsetHeight * (video_height / 180);	
	}
	if (objImageVideo.getElementsByTagName("iframe").length != 0)
	{
		var iframe = objImageVideo.getElementsByTagName("iframe")[0];
		iframe.width = iframe.offsetWidth * (video_width / 290);
		iframe.height = iframe.offsetHeight * (video_height / 180);	
	}

	CenterLightboxContent();
}

function openViewerLightbox()
{
	var objLightPlayer = document.getElementById('lightboxPlayerVideo');
	var aList = objLightPlayer.getElementsByTagName("a");
	for (var j = 0; j < aList.length; j++)
	{
		if (aList[j] == g_oCurrentLink)
		{
			numericId = 0;
			if (g_box_selectedId != "")
			{
				numericId = g_box_selectedId.replace(/[^0-9-]/g,'');
				window.open("./viewer?box=" + numericId + "#" + (j + 1));
/*			if (g_follow_box_clicked)
			{
				numericId = g_box_selectedId.replace(/[^0-9-]/g,'');
			}
			else
			{
				numericId = g_boxImgClicked.parentNode.id.replace(/[^0-9-]/g,'');
				else
			}*/
			}
			else
			{
				window.open("./viewer?flow");
			}
			return;
		}
	}
}

function minimizeLightbox()
{
	objOverlay = document.getElementById('overlayVideo');
	objLightbox = document.getElementById('lightboxVideo');
	objLightboxNavigation = document.getElementById('lightboxVideoNavigation');
	objLightboxPlayRandom = document.getElementById('lightboxVideoPlayRandom');
	objLightboxComments = document.getElementById('lightboxComments');
	objLightboxSharedBy = document.getElementById('lightboxVideoSharedBy');
	objLightboxVideoOptions = document.getElementById('lightboxVideoOptions');
	// hide lightbox and overlay
	objOverlay.style.display = 'none';

	objLightboxNavigation.style.display = 'none';
	objLightboxSharedBy.style.display = 'none';
	objLightboxVideoOptions.style.display = 'none';
	objLightboxPlayRandom.style.display = 'none';
	if (objLightboxComments)
		objLightboxComments.style.display = 'none';
	
	// make select boxes visible
	selects = document.getElementsByTagName("select");
    for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "visible";
	}

    g_follow_box_clicked = false;
    g_box_minimized = true;
	// disable keypress listener
    unlistenKey();

	document.getElementById('lightboxVideoTitle').style.display = "none";
	document.getElementById('lightboxPlayerInfo').style.display = "none";
	document.getElementById('lightboxVideoDetails').style.display = "none";
	document.getElementById('lightboxPlayerVideo').style.display = "none";
	document.getElementById('lightboxPlayerNavigation').style.display = "none";

	if (LIGHTBOX_PlayNextPossible())
		document.getElementById('nextButtonLightBox').style.display = 'block';
	else
		document.getElementById('nextButtonLightBox').style.display = 'none';
	if (LIGHTBOX_PlayPreviousPossible())
		document.getElementById('previousButtonLightBox').style.display = 'block';
	else
		document.getElementById('previousButtonLightBox').style.display = 'none';

	document.getElementById('minimizeButtonLightBox').onclick = function () {maximizeLightbox(); return false;}
	document.getElementById('minimizeButtonLightBox').src = maximizeButton;

	var objImageVideo = document.getElementById('lightboxImageVideo');
	objLightbox.style.width = "300";
	objLightbox.style.height = "200";
	objLightbox.style.padding = '3';
	objImageVideo.style.width = 290;
	objImageVideo.style.height = 180;
	objLightbox.style.top = getPageScroll()[1] < 35 ? 35: getPageScroll()[1];
	objLightbox.style.left = COMMON_GetClientWidth() - objLightbox.offsetWidth;
	objImageVideo.childNodes[0].style.width = 290;
	objImageVideo.childNodes[0].style.height = 180;

	if (objImageVideo.getElementsByTagName("embed").length != 0)
	{
		objImageVideo.getElementsByTagName("embed")[0].width = 290;
		objImageVideo.getElementsByTagName("embed")[0].height = 180;		
	}
	if (objImageVideo.getElementsByTagName("object").length != 0)
	{
		objImageVideo.getElementsByTagName("object")[0].width = 290;
		objImageVideo.getElementsByTagName("object")[0].height = 180;		
	}
	if (objImageVideo.getElementsByTagName("img").length != 0)
	{
		var img = objImageVideo.getElementsByTagName("img")[0];
		
		img.style.width = img.offsetWidth / (video_width / 290);
		img.style.height = img.offsetHeight / (video_height / 180);	
	}
	if (objImageVideo.getElementsByTagName("iframe").length != 0)
	{
		var iframe = objImageVideo.getElementsByTagName("iframe")[0];
		iframe.width = iframe.offsetWidth / (video_width / 290);
		iframe.height = iframe.offsetHeight / (video_height / 180);	
	}
}

function hideLightboxVideo()
{
	if (g_timeoutError)
	{
		clearTimeout(g_timeoutError);
		g_timeoutError = null;
	}
    UNIVERSE_HideMenu();
	// get objects
	objOverlay = document.getElementById('overlayVideo');
	objLightbox = document.getElementById('lightboxVideo');
	objLightboxNavigation = document.getElementById('lightboxVideoNavigation');
	objLightboxPlayRandom = document.getElementById('lightboxVideoPlayRandom');
	objLightboxComments = document.getElementById('lightboxComments');
	objLightboxSharedBy = document.getElementById('lightboxVideoSharedBy');
	objLightboxVideoOptions = document.getElementById('lightboxVideoOptions');
	// hide lightbox and overlay
	objOverlay.style.display = 'none';
	
	// TEST
		
	objLightbox.style.display = 'none';
	/*var divVideo = document.getElementById('lightboxImageVideo');
	var divMiniPlayer = document.getElementById('miniPlayer');
	divVideo.parentNode.removeChild(divVideo);
	divMiniPlayer.appendChild(divVideo);
	// Redimensionnement du contenu
	divMiniPlayer.style.display = "block";
	divVideo.childNodes[0].style.width = divMiniPlayer.offsetWidth;
	divVideo.childNodes[0].style.height = divMiniPlayer.offsetHeight;
	divMiniPlayer.style.top = "35px";
	divMiniPlayer.style.left = COMMON_GetClientWidth() - divMiniPlayer.offsetWidth - 10;
	// FIN TEST*/
	
	objLightboxNavigation.style.display = 'none';
	objLightboxSharedBy.style.display = 'none';
	objLightboxVideoOptions.style.display = 'none';
	objLightboxPlayRandom.style.display = 'none';
	if (objLightboxComments)
		objLightboxComments.style.display = 'none';
	
	// make select boxes visible
	selects = document.getElementsByTagName("select");
    for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "visible";
	}

    g_follow_box_clicked = false;
	// disable keypress listener
    unlistenKey();
    g_box_minimized = false;
}

function hideLightboxIcons(inputObj)
{
	// get objects
	objOverlay = document.getElementById('overlayIcons');
	objLightbox = document.getElementById('lightboxIcons');

	// hide lightbox and overlay
	objOverlay.style.display = 'none';
	objLightbox.style.display = 'none';

	// make select boxes visible
	selects = document.getElementsByTagName("select");
    for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "visible";
	}

	// disable keypress listener
    unlistenKey();
}


//
// initLightbox()
// Function runs on window load, going through link tags looking for
// rel="lightbox".
// These links receive onclick events that enable the lightbox display for their
// targets.
// The function also inserts html markup at the top of the page which will be
// used as a
// container for the overlay pattern and the inline image.
//
function registerAllLightbox()
{
	var anchors = document.getElementsByTagName("a");
	registerAllLightBox(anchors);
}

function registerAllLightBox(nodes)
{
	// loop through all anchor tags
	if (!nodes)
		return;
	for (var i=0; i<nodes.length; i++){
		var anchor = nodes[i];

		if (anchor.getAttribute("href")){
			if (anchor.getAttribute("rel") == "lightbox" || anchor.getAttribute("rel") == "lightboxspecialembed")
			{
				anchor.onclick = function (e)
				{
					if (COMMON_MouseLeftClickValue() == COMMON_GetButtonClicked(e))
					{
						showLightboxVideo(this, true, true, null, false);
						return false;
					}
				}
			}
			else if (anchor.getAttribute("rel") == "lightboxImport")
			{
				anchor.onclick = function (e)
				{
					if (COMMON_MouseLeftClickValue() == COMMON_GetButtonClicked(e))
					{
						AJAX_SendRequest("./common/box.php?boxPlayerContent&idbox=" + this.getAttribute('dbid'));
						return false;
					}
				}
			}
		}
	}	
}

function initLightbox(_bInitType)
{
	if (!document.getElementsByTagName){ return; }
	registerAllLightbox(document.getElementsByTagName("a"));
	var anchors = document.getElementsByTagName("a");

	// loop through all anchor tags
	for (var i=0; i<anchors.length; i++){
		var anchor = anchors[i];

		if (anchor.getAttribute("href") && (anchor.getAttribute("rel") == "lightbox" || anchor.getAttribute("rel") == "lightboxspecialembed")){
			anchor.onclick = function (e)
			{			
				if (COMMON_MouseLeftClickValue() == COMMON_GetButtonClicked(e))
				{
					showLightboxVideo(this, true, true, null, false);
					return false;
				}
			}
			if (_bInitType)
			{
				if (anchor.getAttribute("rel") == "lightbox")
					anchor.setAttribute('lightboxContentType',  lightboxContent_type.image);
				else if (anchor.getAttribute("rel") == "lightboxspecialembed")
					anchor.setAttribute('lightboxContentType', lightboxContent_type.special_embed);
			}
		}
	}

	// the rest of this code inserts html at the top of the page that looks like
	// this:
	//
	// <div id="overlay">
	// <a href="#" onclick="hideLightbox(); return false;"><img
	// id="loadingImage" /></a>
	// </div>
	// <div id="lightbox">
	// <a href="#" onclick="hideLightbox(); return false;" title="Click anywhere
	// to close image">
	// <img id="closeButton" />
	// <img id="lightboxImage" />
	// </a>
	// <div id="lightboxDetails">
	// <div id="lightboxCaption"></div>
	// <div id="keyboardMsg"></div>
	// </div>
	// </div>
	
	var objBody = document.getElementsByTagName("body").item(0);
	
	// create overlay div and hardcode some functional styles (aesthetic styles
	// are in CSS file)
	var objOverlay = document.createElement("div");
	objOverlay.setAttribute('id','overlay');
	objOverlay.onclick = function () {hideLightbox(); return false;}
	objOverlay.style.display = 'none';
	objOverlay.style.position = 'absolute';
	objOverlay.style.top = '0';
	objOverlay.style.left = '0';
	objOverlay.style.zIndex = '90';
 	objOverlay.style.width = '100%';
	objBody.insertBefore(objOverlay, objBody.firstChild);
	
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();

	// preload and create loader image
	var imgPreloader = new Image();
	
	// if loader image found, create link to hide lightbox and create
	// loadingimage
	imgPreloader.onload=function(){

		var objLoadingImageLink = document.createElement("a");
		objLoadingImageLink.setAttribute('href','#');
		objLoadingImageLink.onclick = function () {hideLightbox(); return false;}
		objOverlay.appendChild(objLoadingImageLink);
		
		var objLoadingImage = document.createElement("img");
		objLoadingImage.src = loadingImage;
		objLoadingImage.setAttribute('id','loadingImage');
		objLoadingImage.style.position = 'absolute';
		objLoadingImage.style.zIndex = '150';
		objLoadingImageLink.appendChild(objLoadingImage);

		imgPreloader.onload=function(){};	// clear onLoad, as IE will flip out
											// w/animated gifs

		return false;
	}

	imgPreloader.src = loadingImage;

	// create lightbox div, same note about styles as above
	var objLightbox = document.createElement("div");
	objLightbox.setAttribute('id','lightbox');
	objLightbox.style.display = 'none';
	objLightbox.style.position = 'absolute';
	objLightbox.style.zIndex = '100';	
	objBody.insertBefore(objLightbox, objOverlay.nextSibling);
	
	// create link
	var objLink = document.createElement("a");
	objLink.setAttribute('href','#');
	objLink.setAttribute('title','Close');
	objLink.onclick = function () {hideLightbox(); return false;}
	objLightbox.appendChild(objLink);

	// preload and create close button image
	var imgPreloadCloseButton = new Image();

	// if close button image found,
	imgPreloadCloseButton.onload=function(){

		var objCloseButton = document.createElement("img");
		objCloseButton.src = closeButton;
		objCloseButton.setAttribute('id','closeButton');
		objCloseButton.style.position = 'absolute';
		objCloseButton.style.zIndex = '200';
		objLink.appendChild(objCloseButton);

		return false;
	}
	imgPreloadCloseButton.src = closeButton;

	// create image
	var objAImage = document.createElement("a");
	objAImage.setAttribute('id','lightboxImageAHREF');
	objAImage.setAttribute("target", "_blank");
	objLightbox.appendChild(objAImage);
	
	var objImage = document.createElement("img");
	objImage.setAttribute('id','lightboxImage');
	objAImage.appendChild(objImage);
	
	// create details div, a container for the caption and keyboard message
	var objLightboxDetails = document.createElement("div");
	objLightboxDetails.setAttribute('id','lightboxDetails');
	objLightbox.appendChild(objLightboxDetails);

	// Player
	var objLightboxPlayer = document.createElement("div");
	objLightboxPlayer.setAttribute('id','lightboxPlayer');
	objLightbox.appendChild(objLightboxPlayer);
	objLightboxPlayer.innerHTML = "";
	

	// create caption
	var objCaption = document.createElement("div");
	objCaption.setAttribute('id','lightboxCaption');
	objCaption.style.display = 'none';
	objLightboxDetails.appendChild(objCaption);

	// create keyboard message
	var objKeyboardMsg = document.createElement("div");
	objKeyboardMsg.setAttribute('id','keyboardMsg');
	objKeyboardMsg.innerHTML = '<a href="#" onclick="hideLightbox(); return false;">Close</a>';
	objLightbox.appendChild(objKeyboardMsg);
}

function registerAllLightBoxForVideo()
{
	var anchors = document.getElementsByTagName("a");
	registerAllLightBoxForVideo(anchors);
}

function registerAllLightBoxForVideo(nodes, _bInitLightboxContent)
{
	// loop through all anchor tags
	if (nodes == null)
	{
		return;
	}
	for (var i=0; i<nodes.length; i++){
		var anchor = nodes[i];

		if (anchor.getAttribute("href")){
			if (anchor.getAttribute("rel") == "lightboxvideo")
			{
				if (_bInitLightboxContent || _bInitLightboxContent == null)
				{
					anchor.onclick = function (e) {
						if (COMMON_MouseLeftClickValue() == COMMON_GetButtonClicked(e))
						{
							showLightboxVideo(this, true, true, null, false);
							return false;
						}
					}					
					anchor.setAttribute('lightboxContentType',  lightboxContent_type.video);
				}
				else
				{
					anchor.onclick = function (e) {
						if (COMMON_MouseLeftClickValue() == COMMON_GetButtonClicked(e))
						{
							showLightboxVideo(this, false, false, null, false);
							return false;
						}
					}				
				}
			}
			else if (anchor.getAttribute("rel") == "lightboxvideoThumb")
			{
				if (_bInitLightboxContent || _bInitLightboxContent == null)
				{
					anchor.onclick = function (e) {
						if (COMMON_MouseLeftClickValue() == COMMON_GetButtonClicked(e))
						{
							showLightboxVideo(this, true, true, null, false);
							return false;
						}
					}
					anchor.setAttribute('lightboxContentType',  lightboxContent_type.video);
				}
				else
				{
					anchor.onclick = function (e) {
						if (COMMON_MouseLeftClickValue() == COMMON_GetButtonClicked(e))
						{
							showLightboxVideo(this, false, false, null, false);
							return false;
						}
					}
				}
			}
		}
	}
}

function registerAllLightBoxForIcons()
{
	var anchors = document.getElementsByTagName("img");

	// loop through all anchor tags
	for (var i=0; i<anchors.length; i++){
		var anchor = anchors[i];
		if ((anchor.getAttribute("rel") == "lightboxicons")){
			anchor.onclick = function () {showLightboxIcons(this); return false;}
		}
	}
}

function initLightboxForComments()
{
	if (!document.getElementsByTagName){ return; }
	
	var objBody = document.getElementsByTagName("body").item(0);

	var objOverlay = document.getElementsByTagName('overlayVideo');
	// create overlay div and hardcode some functional styles (aesthetic styles
	// are in CSS file)
	var objLightbox = document.createElement("div");
	objLightbox.setAttribute('id','lightboxComments');
	objLightbox.style.position = 'absolute';
	objLightbox.style.display = 'none';
	objLightbox.style.zIndex = '99';
	objLightbox.style.width = '200px';
	objBody.insertBefore(objLightbox, objOverlay.nextSibling);
	
	// create link
	var objLink = document.createElement("a");
	objLink.setAttribute('href','#');
	objLink.setAttribute('title','Close');
	objLightbox.appendChild(objLink);
	var objLogo = document.createElement('img');
	objLogo.src = './img/communication_lightbox.png';
	objLightbox.appendChild(objLogo);
	
	var oLabelTitle = document.createElement("label");
	COMMON_SetClass(oLabelTitle, "labelLightboxTitle");
	oLabelTitle.innerHTML = "Your friends said";
	objLightbox.appendChild(oLabelTitle);
	
	var oCloseImg = document.createElement("img");
	COMMON_SetClass(oCloseImg, "closeButtonLightBox");
	oCloseImg.src = "./img/close_video_image.png";
	objLightbox.appendChild(oCloseImg);	
	
	var oDivCommentContent = document.createElement("div");
	oDivCommentContent.id = "commentDivLightbox";
	oDivCommentContent.innerHTML = "djsqkld<br>dkjskqjqks<br>kjdfkqsjfkds<br>dkjsjdskjd<br>test";
	objLightbox.appendChild(oDivCommentContent);
	
	var oDivWriteComment = document.createElement("div");
	oDivWriteComment.id = "writeCommentDivLightbox";
	objLightbox.appendChild(oDivWriteComment);
	
	var oDivLeft = document.createElement("div");
	oDivLeft.id = "writeCommentDivLightboxLeft";
	oDivWriteComment.appendChild(oDivLeft);
	
	var oDivPicture = document.createElement("img");
	//oDivPicture.src = document.getElementById("yourpic").src;
	oDivLeft.appendChild(oDivPicture);

	var oDivRight = document.createElement("div");
	oDivRight.id = "writeCommentDivLightboxRight";
	oDivRight.innerHTML = "djsqkld<br>dkjskqjqks<br>kjdfkqsjfkds<br>dkjsjdskjd<br>test";
	oDivWriteComment.appendChild(oDivRight);
}

function initLightboxForVideo(_bInitLightboxContent)
{
	if (!document.getElementsByTagName){ return; }
	registerAllLightBoxForVideo(document.getElementsByTagName("a"), _bInitLightboxContent);
	
	var objBody = document.getElementsByTagName("body").item(0);
	
	// already created ?
	if (document.getElementById('overlayVideo'))
		return;
	// create overlay div and hardcode some functional styles (aesthetic styles
	// are in CSS file)
	var objOverlay = document.createElement("div");
	objOverlay.setAttribute('id','overlayVideo');
	objOverlay.onclick = function () {minimizeLightbox(); return false;}
	objOverlay.style.display = 'none';
	objOverlay.style.position = 'absolute';
	objOverlay.style.top = '0';
	objOverlay.style.left = '0';
	objOverlay.style.zIndex = '90';
 	objOverlay.style.width = '100%';
	objBody.insertBefore(objOverlay, objBody.firstChild);
	
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();

	// preload and create loader image
	var objLoadingImageLink = document.createElement("a");
	objLoadingImageLink.setAttribute('href','#');
	objLoadingImageLink.onclick = function () {hideLightboxVideo(); return false;}
	objOverlay.appendChild(objLoadingImageLink);
		
	// var objLoadingImage = document.createElement("img");
	// objLoadingImage.src = loadingImage;
	// objLoadingImage.setAttribute('id','loadingVideo');
	// objLoadingImage.style.position = 'absolute';
	// objLoadingImage.style.zIndex = '150';
	// objLoadingImageLink.appendChild(objLoadingImage);
	// objLoadingImageLink.innerHTML = strContent;
	
	var objLightboxNavigation = document.createElement("div");
	objLightboxNavigation.setAttribute('id','lightboxVideoNavigation');
	objLightboxNavigation.style.position = 'absolute';
	objLightboxNavigation.style.display = 'none';
	objLightboxNavigation.style.zIndex = '98';
	objLightboxNavigation.style.width = '560px';
	objLightboxNavigation.innerHTML = "<img src='./img/box_previous.png' class='box_previous' onclick='BOX_previous();' style='float:left;' id='lightbox_previous_button' title='" + g_lang_lightbox_box_previous + "'><img src='./img/box_next.png' style='float:right' class='box_next' onclick='BOX_next();' id='lightbox_next_button' title='" + g_lang_lightbox_box_next + "'>";

	var objBoxTitle = document.createElement("div");
	objBoxTitle.setAttribute('id','lightboxBoxTitle');
	objBoxTitle.style.display = 'block';
	objLightboxNavigation.appendChild(objBoxTitle);

	/*
	 * var objBoxTitlePrevious = document.createElement("div");
	 * objBoxTitlePrevious.setAttribute('id','lightboxBoxTitlePrevious');
	 * objBoxTitlePrevious.style.display = 'block';
	 * objBoxTitlePrevious.style.position = 'absolute';
	 * objBoxTitlePrevious.style.left = '-120'; objBoxTitlePrevious.innerHTML =
	 * "previous text"; objLightboxNavigation.appendChild(objBoxTitlePrevious);
	 * 
	 * var objBoxTitleNext = document.createElement("div");
	 * objBoxTitleNext.setAttribute('id','lightboxBoxTitleNext');
	 * objBoxTitleNext.style.display = 'block'; objBoxTitleNext.style.position =
	 * 'absolute'; objBoxTitleNext.style.left = '600'; objBoxTitleNext.innerHTML =
	 * "nexthjkhjhk"; objLightboxNavigation.appendChild(objBoxTitleNext);
	 */

	objBody.insertBefore(objLightboxNavigation, objOverlay.nextSibling);
	
	var objLightboxPlayRandom= document.createElement("div");
	objLightboxPlayRandom.setAttribute('id','lightboxVideoPlayRandom');
	objLightboxPlayRandom.style.position = 'absolute';
	objLightboxPlayRandom.style.display = 'none';
	objLightboxPlayRandom.style.zIndex = '99';
	objLightboxPlayRandom.style.width = '50px';
	objLightboxPlayRandom.innerHTML = "<img src='./img/play_Random_button.png' class='play_button' onclick='BOX_playRandom();' style='float:left;' id='lightbox_box_random' title='" + g_lang_lightbox_play_random + "'>";
	objBody.insertBefore(objLightboxPlayRandom, objOverlay.nextSibling);

	var objLightbox = document.createElement("div");
	objLightbox.setAttribute('id','lightboxVideo');
	objLightbox.style.position = 'absolute';
	objLightbox.style.display = 'none';
	objLightbox.style.zIndex = '100';
	objLightbox.style.width = '560px';
	objBody.insertBefore(objLightbox, objOverlay.nextSibling);
	
	// CloseButton
	var objLink = document.createElement("a");
	objLink.setAttribute('href','#');
	objLink.setAttribute('title','Close');
	objLink.onclick = function () {hideLightboxVideo(); return false;}
	objLightbox.appendChild(objLink);

	// preload and create close button image
	var imgPreloadCloseButton = new Image();

	// if close button image found,
	imgPreloadCloseButton.onload=function(){
		var objCloseButton = document.createElement("img");
		objCloseButton.src = closeButton;
		COMMON_SetClass(objCloseButton, 'closeButtonLightBox');
		// objCloseButton.setAttribute('id','closeButtonLightBox');
		// objCloseButton.style.position = 'absolute';
		objCloseButton.style.zIndex = '200';
		objLink.appendChild(objCloseButton);

		return false;
	}
	imgPreloadCloseButton.src = closeButton;	

	imgPreloadCloseButton = new Image();
	objLightbox.appendChild(imgPreloadCloseButton);
	imgPreloadCloseButton.src = minimizeButton;
	imgPreloadCloseButton.setAttribute('id','minimizeButtonLightBox');
	imgPreloadCloseButton.onclick = function () {minimizeLightbox(); return false;}

	imgPreloadCloseButton = new Image();
	objLightbox.appendChild(imgPreloadCloseButton);
	imgPreloadCloseButton.src = openviewerButton;
	imgPreloadCloseButton.setAttribute('id','openviewerButtonLightBox');
	imgPreloadCloseButton.onclick = function () {openViewerLightbox(); return false;}
	
	imgPreloadCloseButton = new Image();
	objLightbox.appendChild(imgPreloadCloseButton);
	imgPreloadCloseButton.src = previousButton;
	imgPreloadCloseButton.setAttribute('id','previousButtonLightBox');
	imgPreloadCloseButton.onclick = function () {LIGHTBOX_playPrevious(); return false;}
	imgPreloadCloseButton.style.display = "none";

	imgPreloadCloseButton = new Image();
	objLightbox.appendChild(imgPreloadCloseButton);
	imgPreloadCloseButton.src = nextButton;
	imgPreloadCloseButton.setAttribute('id','nextButtonLightBox');
	imgPreloadCloseButton.onclick = function () {LIGHTBOX_playNext(); return false;}
	imgPreloadCloseButton.style.display = "none";

	// create caption desc
	var objCaptionTitle = document.createElement("div");
	objCaptionTitle.setAttribute('id','lightboxVideoTitle');
	objCaptionTitle.style.display = 'none';
	objLightbox.appendChild(objCaptionTitle);

	// create image
	var objImage = document.createElement("div");
	objImage.setAttribute('id','lightboxImageVideo');
	var divImageObject = document.createElement('div');
	divImageObject.setAttribute('id','lightboxImageVideoObject');
	objImage.appendChild(divImageObject);
	objLightbox.appendChild(objImage);
	
	// create details div, a container for the caption and keyboard message
	var objLightboxDetails = document.createElement("div");
	objLightboxDetails.setAttribute('id','lightboxVideoDetails');
	objLightbox.appendChild(objLightboxDetails);

	var objOptions = document.createElement("div");
	objOptions.setAttribute('id','lightboxVideoOptions');
	objOptions.onmouseover = lightbox_moveoptionsOver;
	objOptions.onmouseout = lightbox_moveoptionsOut;
	objOptions.style.display = 'none';
	objOptions.style.position = 'absolute';
	objOptions.style.display = 'none';
	objOptions.style.zIndex = '100';
	objOptions.style.width = '60px';
	objOptions.innerHTML = "<img class='lightboxEasyfavPic' src='./img/lightbox_easyfav_public.png' onclick='LIGHTBOX_EasyFavPublic(); return false;' title='" + g_lang_easyfav_public + "'><br><img class='lightboxEasyfavPic' src='./img/lightbox_easyfav_friends.png' onclick='LIGHTBOX_EasyFavFriend();' title='" + g_lang_easyfav_friends + "'><br><img class='lightboxEasyfavPic' src='./img/lightbox_easyfav_private.png' onclick='LIGHTBOX_EasyFavPrivate();' title='" + g_lang_easyfav_private + "'><br><img id='lightboxFollowBoxButton' class='lightboxEasyfavPic' src='./img/lightbox_import_box.png' title='" + g_lang_box_import + "'>";
	// objOverlay.appendChild(objOptions);
	objBody.insertBefore(objOptions, objOverlay.nextSibling);
	document.getElementById('lightboxFollowBoxButton').onclick = boxFollowFromLightbox;
	
	// Shared By
	var objSharedBy = document.createElement("div");
	objSharedBy.setAttribute('id','lightboxVideoSharedBy');
	objSharedBy.onmouseover = lightbox_movesharedOver;
	objSharedBy.onmouseout = lightbox_movesharedOut;
	objSharedBy.setAttribute('align','center');
	objSharedBy.style.display = 'none';
	objSharedBy.style.position = 'absolute';
	objSharedBy.style.display = 'none';
	objSharedBy.style.zIndex = '100';
	objSharedBy.style.width = '60px';
	objSharedBy.innerHTML = "<a title=''><img class='lightboxEasyfavPic' id='linkOwner' src='./img/lightbox_easyfav_public.png' title='" + g_lang_shared_by + "'></a>";
	// objOverlay.appendChild(objSharedBy);
	objBody.insertBefore(objSharedBy, objOverlay.nextSibling);
	
	// Navigation
	var objLightboxPlayerNavigation = document.createElement("div");
	objLightboxPlayerNavigation.setAttribute('id','lightboxPlayerNavigation');
	objLightboxPlayerNavigation.setAttribute('align','center');
	objLightbox.appendChild(objLightboxPlayerNavigation);
	objLightboxPlayerNavigation.innerHTML = "<img src='./img/navigation_previous.png' onclick='LIGHTBOX_playPrevious();' class='navigationImg'><img src='./img/navigation_random.png' class='randomButton' onclick='changeRandomValue(this);'><img src='./img/navigation_next.png' class='navigationImg' onclick='LIGHTBOX_playNext();'>";

	// Player
	var objLightboxPlayer = document.createElement("div");
	objLightboxPlayer.setAttribute('id','lightboxPlayerVideo');
	objLightbox.appendChild(objLightboxPlayer);
	objLightboxPlayer.innerHTML = "";
	
	// Infos
	var objLightboxInfo = document.createElement("div");
	objLightboxInfo.setAttribute('id','lightboxPlayerInfo');
	objLightbox.insertBefore(objLightboxInfo, objImage.nextSibling);
	
/*
 * strContent = "<!--<a href='www.google.fr'><img
 * src='./img/communication_lightbox.png' style='float:left;'><span
 * class='infoCountLightbox'><span id=''>120</span></span></a>";
 * 
 * objLightboxInfo.innerHTML = strContent + "<img
 * src='./img/settings_lightbox.png'><img src='./img/logo_lightbox.png'>-->";
 */
	strContent = "";// "<div align='center'><img
					// src='./img/lightbox_easyfav_public.png'
					// class='easyfav_button'><img
					// src='./img/lightbox_easyfav_friends.png'
					// class='easyfav_button'><img
					// src='./img/lightbox_easyfav_private.png'
					// class='easyfav_button'></div>";

	objLightboxInfo.innerHTML = strContent + "<div style='border:none; overflow:hidden; padding-top: 0px; height:25px; width:400px;'><div id='twitterlike' style='float:left;'></div><iframe id='iframefacebooklike' src='http://www.facebook.com/plugins/like.php?href=www.easyfav.com&layout=button_count&show_faces=false&width=200&action=like&font=tahoma&colorscheme=light&height=21' scrolling='no' frameborder='0' style='border:none; overflow:hidden; width:200px; float:left; padding-top: 0px; height:25px;' allowTransparency='true'></iframe></div>";
	// create caption
	var objCaption = document.createElement("div");
	objCaption.setAttribute('id','lightboxVideoCaption');
	objCaption.style.display = 'none';
	objCaption.onclick = function(e)
	{
		if ($("#lightboxVideoInputDiv").hasClass('hidden')) {
			$("#lightboxVideoInputDiv").animate({height: 'toggle', opacity: 1}, 300).removeClass('hidden');
			$("#lightboxVideoInputURL").focus();
			$("#lightboxVideoInputURL").select();
		} else {
			$("#lightboxVideoInputDiv").animate({height: 'toggle', opacity: 0}, 300).addClass('hidden');
		}	
	}
	objLightboxDetails.appendChild(objCaption);
	
	var objURLInputDiv = document.createElement("div");
	objURLInputDiv.setAttribute('id','lightboxVideoInputDiv');
	objURLInputDiv.style.display = 'none';
	COMMON_SetClass(objURLInputDiv, "hidden");
	objLightboxDetails.appendChild(objURLInputDiv);
	
	var objURLInput = document.createElement("input");
	objURLInput.setAttribute('id','lightboxVideoInputURL');
	objURLInput.onclick = function (e)
	{
		this.select();
	}
	objURLInputDiv.appendChild(objURLInput);

	window.onscroll	=	onScrollLightbox;
	// create keyboard message
/*
 * var objKeyboardMsg = document.createElement("div");
 * objKeyboardMsg.setAttribute('id','keyboardMsg'); objKeyboardMsg.innerHTML = '<a
 * href="#" onclick="hideLightboxVideo(); return false;">Close</a>';
 * objLightboxDetails.appendChild(objKeyboardMsg);
 */
}

function onScrollLightbox()
{
	if (g_box_minimized)
		document.getElementById('lightboxVideo').style.top = getPageScroll()[1] < 35 ? 35: getPageScroll()[1];	
}
function lightbox_movesharedOver(e)
{
	LIGHTBOX_InitPositionSharedBy(true);
}

function lightbox_movesharedOut(e)
{
	relatedTarget = COMMON_GetRelatedTarget(e);
	optionsDiv = document.getElementById('lightboxVideoSharedBy');
	for (var i = 0; i < optionsDiv.childNodes.length; i++)
	{
		if (optionsDiv.childNodes[i] == relatedTarget)
			return;
	}

	LIGHTBOX_InitPositionSharedBy(false);
}

function LIGHTBOX_OnResizeFunction()
{
	if (g_box_minimized)
	{
		objLightbox = document.getElementById('lightboxVideo');
		objLightbox.style.top = getPageScroll()[1] < 35 ? 35: getPageScroll()[1];
		objLightbox.style.left = COMMON_GetClientWidth() - objLightbox.offsetWidth;
	}
}
function LIGHTBOX_InitPositionSharedBy(_bMouseOver)
{
	var video_width = 560;
	var video_height = 340;
	var offset = 20;
	if (_bMouseOver)
		offset = 50;
	var objLightbox = document.getElementById('lightboxVideo');
	var sharedByDiv = document.getElementById('lightboxVideoSharedBy');
	sharedByDiv.style.top = COMMON_GetSizeFromPx(objLightbox.style.top) - offset;
}

function lightbox_moveoptionsOver(e)
{
	LIGHTBOX_InitPositionOptions(true);
}
function lightbox_moveoptionsOut(e)
{
	relatedTarget = COMMON_GetRelatedTarget(e);
	optionsDiv = document.getElementById('lightboxVideoOptions');
	for (var i = 0; i < optionsDiv.childNodes.length; i++)
	{
		if (optionsDiv.childNodes[i] == relatedTarget)
			return;
	}

	LIGHTBOX_InitPositionOptions(false);
}

function LIGHTBOX_InitPositionOptions(_bMouseOver)
{
	var video_width = 560;
	var video_height = 340;
	var offset = 10;
	if (_bMouseOver)
		offset =  -15;
	var objLightbox = document.getElementById('lightboxVideo');
	lightboxLeft = COMMON_GetSizeFromPx(objLightbox.style.left);
	
	var optionsDiv = document.getElementById('lightboxVideoOptions');
	optionsDiv.style.left = (lightboxLeft < 0) ? video_width - offset + "px" : lightboxLeft + video_width - offset + "px";	
}

function LIGHTBOX_EasyFavPublic()
{
    UNIVERSE_HideMenu();
	DB_addEasyFav(g_oCurrentLink.getAttribute('href'), 0);
}
function LIGHTBOX_EasyFavPrivate()
{
    UNIVERSE_HideMenu();
	DB_addEasyFav(g_oCurrentLink.getAttribute('href'), 1);
}
function LIGHTBOX_EasyFavFriend()
{
    UNIVERSE_HideMenu();
	DB_addEasyFav(g_oCurrentLink.getAttribute('href'), 2);
}

function initLightboxForIcons()
{
	if (!document.getElementsByTagName){ return; }
	registerAllLightBoxForIcons();
	
	var objBody = document.getElementsByTagName("body").item(0);
	
	// create overlay div and hardcode some functional styles (aesthetic styles
	// are in CSS file)
	var objOverlay = document.createElement("div");
	objOverlay.setAttribute('id','overlayIcons');
	objOverlay.onclick = function () {hideLightboxIcons(); return false;}
	objOverlay.style.display = 'none';
	objOverlay.style.position = 'absolute';
	objOverlay.style.top = '0';
	objOverlay.style.left = '0';
	objOverlay.style.zIndex = '90';
 	objOverlay.style.width = '100%';
	objBody.insertBefore(objOverlay, objBody.firstChild);
	
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();

	// preload and create loader image
	var objLoadingImageLink = document.createElement("a");
	objLoadingImageLink.setAttribute('href','#');
	objLoadingImageLink.onclick = function () {hideLightboxVideo(); return false;}
	objOverlay.appendChild(objLoadingImageLink);
		
	// create lightbox div, same note about styles as above
	var objLightbox = document.createElement("div");
	objLightbox.setAttribute('id','lightboxIcons');
	objLightbox.style.display = 'none';
	objLightbox.style.position = 'absolute';
	objLightbox.style.zIndex = '100';	
	objBody.insertBefore(objLightbox, objOverlay.nextSibling);
	
	// preload and create close button image
	for (var i = 0; i <= 10; i++)
	{
		var img = document.createElement("img");
		img.src = "./img/icons/"+ i + ".png";
		if (i == 0)
			img.setAttribute('style','border-width:15');
		objLightbox.appendChild(img);
		if (i != 0 && (i + 1) % 5 == 0)
			objLightbox.appendChild(document.createElement('br'));
	}

	// create details div, a container for the caption and keyboard message
	var objLightboxDetails = document.createElement("div");
	objLightboxDetails.setAttribute('id','lightboxIconsDetails');
	objLightbox.appendChild(objLightboxDetails);

	// create keyboard message
	var objKeyboardMsg = document.createElement("div");
	objKeyboardMsg.setAttribute('id','keyboardMsg');
	objKeyboardMsg.innerHTML = '<a href="#" onclick="hideLightboxIcons(); return false;">Close</a>';
	objLightboxDetails.appendChild(objKeyboardMsg);	
}

//
// addLoadEvent()
// Adds event to window.onload without overwriting currently assigned onload
// functions.
// Function found at Simon Willison's weblog - http://simon.incutio.com/
//
function addLoadEvent(func)
{	
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
    	window.onload = func;
	} else {
		window.onload = function(){
		oldonload();
		func();
		}
	}

}

