//Une video doit il etre chargee directement
var isDirectLoad = false;
var directVideo = false;
var _idLigneVideo = "";
var currentPage = 1;
var paramSelectionne = "selectionne";
var mapLienParVideo = new Map();
var mapVideoParUrl = new Map();
var VERSION_FLASH = "9";
/** #########################################
* Permet de sélectionner une video
*/
function selectVideo(idNode) {
	var node = document.getElementById(idNode);
	// on deselectionne la video concerne
	var firstNode = deselectionneVideo(node);
	if (! node) {
		node = document.getElementById(firstNode);
	}
	if (node) {
		node.className = paramSelectionne;
	}
}
function deselectionneVideo(node) {
	var firstNode = null;
	var parentNode = null;
	if (node) {
		parentNode = node.parentNode;
		if (parentNode) {
			if (parentNode.id != "autres-videos") {
				parentNode = parentNode.parentNode;
			}
		}
	}
	if (! parentNode) {
		parentNode = document.getElementById("autres-videos");
	}
	if (parentNode) {
		allA = parentNode.getElementsByTagName('a');
		for (i in allA) {
			if (firstNode == null) {
				firstNode = allA[i].id;
			}
			allA[i].className = '';
		}
		return firstNode;
	}
}
/**
* Permet de charger une video
* params :
*    - _divId : la div contenant le player flash
*    - _idVideo : l'id de la video
*    - _titreVideo : titre de la video
*    - _urlVideo : url de la video
*    - _descVideo : description de la video
*    - _flashPlayerPath : l'url du player flash
*    - _width : la largeur du player flash
*    - _height : la hauteur du player flash
*/
function chargeVideo(_divId, _idVideo, _titreVideo, _urlVideo, _descVideo, _flashPlayerPath, _width, _height, _isAutostart, _siteUrl, _isFromProduct, _imgVideo){
    //on va d'abord tester si il ne faut pas charger une video en particulier
    var params = getParameters() ;
    if(!isDirectLoad && params != "" && params.length == 5){
        _titreVideo = decodeURI(params[0][1]) ;
        _urlVideo = decodeURI(params[1][1]) ;
        _descVideo = decodeURI(params[2][1]) ;
        _dureeVideo = decodeURI(params[3][1]) ;
        _share = decodeURI(params[4][1]) ;
        isDirectLoad = true ;
    }
    
    //titre de la video
    var titreVideo = getElement('video-titre', true, "") ;
    if(titreVideo){
        titreVideo.innerHTML = _titreVideo ;
    }
    
    //description de la video
    var descVideo = getElement('video-commentaire', true, "") ;    
    if(descVideo){
        descVideo.innerHTML = _descVideo ;
    }
    
    //Image de la video
    var imgVideo = getElement('video-vignette', true, "") ;    
    if(imgVideo){
        imgVideo.innerHTML = "<img src='/FR/images/assets/"+_imgVideo+"' alt='' title=''/>" ;
    }    
    
    //taille de la video
    var widthPlayer = "400" ;
    var heightPlayer = "300" ;
    if(typeof _width != "undefined"){
        widthPlayer = _width ;
    }
    if(typeof _height != "undefined"){
        heightPlayer = _height ;
    }    
    
    //Modification de la video
    setPlayerFlash(_divId, _urlVideo, _idVideo, _flashPlayerPath, widthPlayer, heightPlayer, VERSION_FLASH, _isAutostart) ;
    
    //Modification du contour
    var isFromProduct = false ;
    if(typeof _isFromProduct != "undefined"){
    	isFromProduct = _isFromProduct ;
    }
    
    if(!isFromProduct){
    	$j('#'+_divId).css("height", heightPlayer+"px") ;
    }
    else{
    	//on cache le bloc produit
    	$j("#zoomhd").hide() ;
    	
    	//on affiche le bloc video
    	$j('#video-player').show() ;
    	$j('.video').show() ;
    	
			//on affiche la liste des videos
			show("#vignettesVideo-wrap") ;
			show(".wslide-menu") ;
			show("#vignettesVideo") ;
			
    	//on selectionne la vignette video
    	$j(".jcarousel-skin-vignettes li").removeClass("selected");
    	$j(".jcarousel-skin-vignettes li.vignette_video").addClass("selected");
    }
    
    //on renseigne le bloc embed
    if(_siteUrl != ""){
    	fillEmbedText(_siteUrl, 'embedBloc_'+_divId, _urlVideo, false, _flashPlayerPath, '400', '300') ;
    }
}

/** ####################################### PARTIE PAGE DOMYOS TV ####################################### */
/**
* Permet de charger une video : utilise dans la page domyos TV
* params :
- _flashPlayerPath : L'url de player flash
- _imageVideo : l'image vignette de la video
- _titreVideo : titre de la video
- _urlVideo : url de la video
- _descVideo : description de la video
- _widthVideo : Largeur du player
- _heightVideo : Hauteur du player
- _versionFlash : La version du flash minimum
*/
function playVideo(_flashPlayerPath, _urlVideo, _widthVideo, _heightVideo, _versionFlash) {
	var videoObj = getVideo(_urlVideo);
	if (videoObj) {
		//titre de la video
		var titreVideo = getElement('titreVideo', true, "");
		if (titreVideo) {
			titreVideo.innerHTML = videoObj.getTitreVideo();
		}
		//description de la video
		var descVideo = getElement('descVideo', true, "");
		if (descVideo) {
			descVideo.innerHTML = videoObj.getDescVideo();
		}
		//duree de la video
		var dureeVideo = getElement('dureeVideo', true, "");
		if (dureeVideo) {
			dureeVideo.innerHTML = videoObj.getDureeVideo();
		}
		//Recuperation de l'url fiche produit si il existe
		var urlProduitObj = getElement('voirProduit', true, "");
		if (urlProduitObj) {
			var linkVideoObj = getLienProduitParVideo(_urlVideo);
			if (linkVideoObj) {
				urlProduitObj.href = linkVideoObj.getUrl();
				urlProduitObj.innerHTML = linkVideoObj.getTitle();
				urlProduitObj.target = linkVideoObj.getTarget();
				displayBloc(urlProduitObj);
			} else {
				hideBloc(urlProduitObj);
			}
		}
		//Modification de la video
		setPlayerFlash("player", videoObj.getUrlVideo(), "mpl", _flashPlayerPath, _widthVideo, _heightVideo, _versionFlash);
	}
}
/**
* Permet de setter l'url dans l'envoi a un ami
* params :
- _idObj : L'objet HTML pour l'envoi a un ami
- _siteName : le nom du site
*/
function setUrlVideo(_idObj, _siteName) {
	var obj = getElement(_idObj, true, "");
	if (obj) {
		var shareLinkObj = getElement("lienVideoUrl", true, "");
		if (shareLinkObj) {
			var url = shareLinkObj.value;
			var mailtoHref = obj.href;
			mailtoHref = mailtoHref.replace("__URL__", encodeURI(url));
			mailtoHref = mailtoHref.replace("__NOM_SITE__", _siteName);
			mailtoHref = mailtoHref.replace("__NOM_SITE__", _siteName);
			obj.href = mailtoHref;
			return true;
		}
	}
}
/**
* Permet d'associer une video a une fiche produit
* params :
- _urlVideo : L'url de la video
- _urlFiche : l'url de la fiche
*/
function setMapLienParVideo(_urlVideo, _urlFiche, _titreFiche, _target, _tag) {
	var linkVideoObj = new LinkVideo(_urlFiche, _titreFiche, _target, _tag);
	mapLienParVideo.put(_urlVideo, linkVideoObj);
}
/**
* Permet d'associer une video a une fiche produit
* params :
- _imageVideo : L'url de la video
- _titreVideo : l'url de la fiche
- _urlVideo
- _descVideo
*/
function setMapVideo(_imageVideo, _titreVideo, _urlVideo, _descVideo, _timeVideo) {
	var videoObj = new VideoObj(_imageVideo, _titreVideo, _urlVideo, _descVideo, _timeVideo);
	mapVideoParUrl.put(_urlVideo, videoObj);
}
/**
* Permet d'associer une video a une fiche produit
* params :
- _urlVideo : L'url de la video
*/
function getVideo(_urlVideo) {
	if (mapVideoParUrl.get(_urlVideo) != null) {
		return mapVideoParUrl.get(_urlVideo);
	} else {
		return false;
	}
}
/**
* Permet de recuperer l'url d'une fiche produit via l'url de la video
* params :
- _urlVideo : L'url de la video
- _urlFiche : l'url de la fiche
*/
function getLienProduitParVideo(_urlVideo) {
	if (mapLienParVideo.get(_urlVideo) != null) {
		return mapLienParVideo.get(_urlVideo);
	} else {
		return false;
	}
}
/**
* Permet de mettre a jour l'envoi a un ami et le champ lien video
* params :
- _url : L'url de la video a partager
*/
function setShareVideo(_url) {
	var shareLinkObj = getElement("lienVideoUrl", true, "");
	if (shareLinkObj) {
		shareLinkObj.value = _url;
	}
}
/**
* Permet de verifier si la page est affiche via un lien de partage
* params :
- _url : L'url de la video a partager
*/
function initVideo(_flashPlayerPath, _widthVideo, _heightVideo, _versionFlash, _shareVideoUrl) {
	//on va d'abord tester si il ne faut pas charger une video en particulier
	var params = getParameters();
	if (params != "" && params.length == 1 && params[0][0] == "?url") {
		var urlVideo = params[0][1];
		if (urlVideo) {
			playVideo(_flashPlayerPath, urlVideo, _widthVideo, _heightVideo, _versionFlash);
			setShareVideo(_shareVideoUrl + "?url=" + urlVideo);
		}
	}
}
/**
* Permet d'inserer un player flash dans la pahe html
*/
function setPlayerFlash(_id, _file, _flashName, _playerPath, _width, _height, _versionFlash, _autostart) {
	//Tailles par defut du player
	var defaultWidth = "400";
	var defaultHeight = "300";
	var defaultAutoStart = "true";
	//Si des tailles sont renseignees pour le player on redefinit les variables precedentes
	if (_width && _width != "") {
		defaultWidth = _width;
	}
	if (_height && _height != "") {
		defaultHeight = _height;
	}
	if (_autostart && _autostart != "") {
		defaultAutoStart = _autostart;
	}
	
	//Appel de l'objet SWFObject pour inserer le flasf dans le bloc HTML "_id"
	var so = new SWFObject(_playerPath, _flashName, defaultWidth, defaultHeight, _versionFlash);
	so.addParam('allowfullscreen', 'true');
	so.addParam('wmode', 'transparent');
	so.addVariable('autostart', defaultAutoStart);
	so.addVariable("file", _file);
	so.write(_id);
}
/**
* Permet d'afficher une liste de videos
*/
function initSlide(_list) {
	var $j = jQuery.noConflict();
	$j("#" + _list).wslide({
		width: 270,
		height: 385,
		horiz: false
	});
}


/* Permet de fermer la video de la fiche produit */
function closeVideo(_idBlocVideo){
	hide(".video");
	hide("#video-player");
	jQuery("#video-player").html("") ;
	    
	$j(".jcarousel-skin-vignettes li.vignette_video").removeClass("selected") ;
	$j(".jcarousel-skin-vignettes li.vignette_3d").removeClass("selected") ;
	
	chargeMainPicture('imgmain-picture', currentImageSrc, this);		
	$j(".jcarousel-skin-vignettes .vue").first().addClass("selected") ;		
	show("#zoomhd");
}


/** #################################################
 * Permet de gerer le carrousel des autres vues du produit
*/
function launchCarouselVideo(){
	$j("#vignettesVideo").wslide({
	  width: 400,
	  height: 100
	});
}