//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() ;

/** #########################################
* 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 :
*    - _imageVideo : l'image vignette de la video
*    - _titreVideo : titre de la video
*    - _urlVideo : url de la video
*    - _descVideo : description de la video
*    - _dureeVideo : duree de la video
*/
function chargeVideo(_imageVideo, _titreVideo, _urlVideo, _descVideo){
    //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 ;
        displayBloc(titreVideo) ;
    }
    
    //description de la video
    var descVideo = getElement('video-commentaire', true, "") ;    
    if(descVideo){
        descVideo.innerHTML = _descVideo ;
        displayBloc(descVideo) ;
    }
        
    //Modification de la video
    var so_new = new SWFObject(flashPlayerPath,'mpl', '400', '300','9');
    so_new.addParam('allowscriptaccess','always');
    so_new.addParam('allowfullscreen','true');
    so_new.addVariable('autostart','true');
    so_new.addVariable('backcolor','000000');
    so_new.addVariable('frontcolor','1B9CD5');
    so_new.addVariable('lightcolor','1B9CD5');
    so_new.addVariable('path', _urlVideo);
    so_new.addVariable('titre', _titreVideo);
    so_new.write('player');
}


/** ####################################### 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() ;
        }
    
        //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
        var so_new = new SWFObject(_flashPlayerPath, 'mpl', _widthVideo, _heightVideo, _versionFlash);
        so_new.addParam('allowfullscreen','true');
        so_new.addVariable('path', videoObj.getUrlVideo());
        so_new.write('player');
    }
}


/**
* 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){
    var videoObj = new VideoObj(_imageVideo, _titreVideo, _urlVideo, _descVideo) ;
    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) ;
        }
    }
    
}
