/** #########################################
* Permet de charger une image directe dans la popup photoplus
* @params :
*    - idImage : l'id du bloc de destination pour l'image SD
*    - idImageZoomHD : l'id du bloc de destination pour l'image HD
*    - isPhotoHD : true/false image HD ou non
*/
function chargeDirectPhoto(idImage, idImageZoomHD, isPhotoHD){
    var params = getParameters() ;
    var currentImageSrc = "" ;
    if(parent && parent.document.getElementById("img-main-picture")){
        currentImageSrc = parent.document.getElementById("img-main-picture").src ;
        
        //on va faire un traitement pour eliminer l'url du site
        var currentImageSrcTab = currentImageSrc.split('/') ;
        if(currentImageSrcTab.length == 5){
            currentImageSrc = "/"+currentImageSrcTab[3] + "/" + currentImageSrcTab[4] ;
        }
    }
    
    if(params && params[0][0] && params[0][0].indexOf("urlphoto") > -1){
        if(params[0][1]){
            currentImageSrc = params[0][1] ;
        }
    }
    
    if(currentImageSrc){
        if(isPhotoHD){
            chargeMainPictureHD(idImage, idImageZoomHD, currentImageSrc) ;
        }
        else{
            chargeMainPicture(idImage, currentImageSrc) ;
        }
    }
}

/** #########################################
* Permet de charger l'image principale dans la popup photoplus
*/
function chargeMainPicture(obj, idImage, urlImage){
    if(getElement(idImage)){    	
        var currentPhoto = getElement(idImage).src ;
        
        //on va desactiver le player video si celui-ci est present
        if(getElement("containerVideo")){
	        hideBlocId("video-player") ;
	        $j(getElement("containerVideo")).html("") ;
        }
        
        if(currentPhoto.indexOf(urlImage) == -1){
            document.getElementById(idImage).src = urlImage ;
            
            //on va selectionner la vignette courante mais avant on va remttre a 0 le style des autres vignettes
            $j(".b-p-i-l-mini p").removeClass("on") ;
            
            var parentElt = $j(obj).parent() ;
            if(parentElt.is('p')){
            	parentElt.addClass("on") ;
            }
            
            var currentPhotoZoom = getElement("zoom") ;
            if(currentPhotoZoom){
                //on recupere le zoom HD
                var zoomHD = mapPhotoHd.get(urlImage) ;
                currentPhotoZoom.style.backgroundImage = "url("+zoomHD+")" ;
            }
        }
    }
}

/** #########################################
* Permet de selectionner la premiere vignette
*/
function selectFirstPicture(){	
	$j(".b-p-i-l-mini p:first").addClass("on") ;
}

/** #########################################
* Permet de charger l'image principale dans la popup photoplus ainsi que sa vue HD
*/
function chargeMainPictureHD(idImage, idImageZoomHD, urlImage){
    var currentPhotoObj = document.getElementById(idImage) ;
    if(currentPhotoObj){
        var currentPhoto = currentPhotoObj.style.backgroundImage ;

        //est ce que l'image a change ???
        if(currentPhoto.indexOf(urlImage) == -1){
            //si oui alors on met a jour l'image droite
            currentPhotoObj.style.backgroundImage = "url("+urlImage+")" ;            
            
            //on met ensuite a jour l'image hd via le tableau mapPhotoHd
            var urlImageHd = mapPhotoHd.get(urlImage) ;
            var currentPhotoHdObj = getElement(idImageZoomHD, true, "") ;
            var imageNonDispoObj = getElement("imageNonDispo", true, "") ;
            var blocZoomObj = getElement("bloczoom", true, "") ;
            if(currentPhotoHdObj && imageNonDispoObj && blocZoomObj){
                if(urlImageHd && urlImageHd != ""){          
                    currentPhotoHdObj.style.backgroundImage = "url("+urlImageHd+")" ;
                    hideBloc(imageNonDispoObj) ;
                    displayBloc(blocZoomObj) ;
                }
                else{                
                    hideBloc(blocZoomObj) ;
                    displayBloc(imageNonDispoObj) ;                
                }
            }
        }
    }
}

function selectOngletById(idNode, current) {
    var node = document.getElementById(idNode) ;
    if (node) {
        selectOnglet(node, current);
        window.location.href = "#" + idNode;
    }
}

/** #########################################
* Permet de selectionner un onglet
*/
function selectOnglet(node, current) {
    // on cache le noeud concerne
    var firstNode = hideOnglet(node) ;
    if (node == null) {
        node = document.getElementById(firstNode) ;
        if (node == null) {
            // cas lorsque l'on initialise les onglets et qu'il y en a aucun
            if (document.getElementById("tableau-details")) {
                document.getElementById("tableau-details").style.display = 'none';
            }
        }
    }
    if (node != null) {
        node.className = 'selectionne';
    
        if (document.getElementById(node.id+"-contenu")) {
            document.getElementById(node.id+"-contenu").className = "" ;
        }
        else if (parent.document.getElementById(node.id+"-contenu")) {
            parent.document.getElementById(node.id+"-contenu").className = "" ;    
        }
    }
}

function initialiseOnglets() {
    selectOnglet(null, 1);
}

/** #########################################
* Permet de cacher les onglets
*/
function hideOnglet(node) {
    var firstNode = null;
    if(node) {
        parentNode = node.parentNode;
        if (parentNode.id != "product-details") {
            parentNode = parentNode.parentNode ;
        }
    }
    else 
    {
        parentNode = document.getElementById("product-details") ;
    }
    parentNodeDesc = document.getElementById("productinfo-desc") ;
    
    if (parentNode != null)
    {
        allLI = parentNode.getElementsByTagName('div');
        allDIV = parentNodeDesc.childNodes;

        for (i in allLI)
        {
            if(firstNode == null) {
                if (allLI[i].innerHTML != "") {
                    firstNode = allLI[i].id ;
                }
             }
            allLI[i].className = '';
        }

        for(i in allDIV)
        {
            allDIV[i].className = 'hidden';
        }
        
        return firstNode ;
    }
}

/** #########################################
* Permet de recuperer le path du rayon
*/
function getPathRayon(genereDecouvrirPlus, rootPath, urlPathFamille, labelAccueil, libelleProduit, refProduit, libelleDecouvrez, libelleEnSavoirPlus, multilingualRayon){
    var POST_LOAD_CONTENT_PRODUCT_FUNC = function postILoadContentProduct(xhr, httpstatus){    
        if(httpstatus == 200){
            var oXmlDoc = xhr.responseXML ;
   
             //Objet correspondant au Rayon et traitement de celui-ci
             var rayonObj = new RayonObj() ;
             var rayonTag = oXmlDoc.getElementsByTagName("Rayon")[0] ;
             
             for (i=0; i<rayonTag.childNodes.length; i++){
                if (rayonTag.childNodes[i].nodeName=="title"){
                
                    var name = rayonTag.childNodes[i].firstChild.nodeValue;
                    // tout en minuscules
                    name = name.toLowerCase();
                    // premiere lettre en majuscule
                    if (name.length > 0) {
                        name = name.charAt(0).toUpperCase()+name.substr(1).toLowerCase();
                    }
                    rayonObj.setName(name) ;                
                }
                if (rayonTag.childNodes[i].nodeName=="userTitle"){
                    rayonObj.setName(rayonTag.childNodes[i].firstChild.nodeValue) ;                
                }
                if (rayonTag.childNodes[i].nodeName=="url"){
                    rayonObj.setUrl(rootPath+rayonTag.childNodes[i].firstChild.nodeValue) ;                
                }
                if (rayonTag.childNodes[i].nodeName=="multilingualCategoryName"){
                    rayonObj.setMultiName(rayonTag.childNodes[i].firstChild.nodeValue) ;
                }            
            }
            
            //Objet correspondant au Rayon et traitement de celui-ci
            var ssrayonObj = new SSRayonObj() ;
            var sousRayonTag = oXmlDoc.getElementsByTagName("SousRayon")[0] ;
            for (i=0; i<sousRayonTag.childNodes.length; i++){
                if (sousRayonTag.childNodes[i].nodeName=="title"){
                    ssrayonObj.setName(sousRayonTag.childNodes[i].firstChild.nodeValue) ;                
                }
                if (sousRayonTag.childNodes[i].nodeName=="userTitle"){
                    ssrayonObj.setName(sousRayonTag.childNodes[i].firstChild.nodeValue) ;                
                }                
                if (sousRayonTag.childNodes[i].nodeName=="url"){
                    ssrayonObj.setUrl(rootPath+sousRayonTag.childNodes[i].firstChild.nodeValue) ;                
                }
                if (sousRayonTag.childNodes[i].nodeName=="multilingualCategoryName"){
                    ssrayonObj.setMultiName(sousRayonTag.childNodes[i].firstChild.nodeValue) ;                
                }           
            }

            if(ssrayonObj && rayonObj)
            {
                //Initialisation du chemin de fer
                initCheminFer(rayonObj, ssrayonObj, familletitle, famillecouranteUrl, libelleProduit) ;
            }
            var nbFamille = _mapNbFamilleParSSRayon.get(ssrayonObj.getMultiName()) ; //Nb de famille pour le sous rayon
            var arrayParamFamille = _mapListeFamilleParSSRayon.get(ssrayonObj.getMultiName()); //Liste des familles pour le sous rayon
            
            //Si on est dans le cas ou la liste des familles est une liste de selection
            if(typeof _listeFamillesRayonFictif != "undefined"){
                arrayParamFamille = _listeFamillesRayonFictif ;
                nbFamille = arrayParamFamille.length() ;
            }
            if(typeof arrayParamFamille != "undefined"){
                getDecouvrirPlus(rootPath, ssrayonObj.getName(), refProduit, libelleDecouvrez, libelleEnSavoirPlus, nbFamille, arrayParamFamille,famillecouranteUrl,rayonObj.getUrl());
            }
        }
    }
    var ajaxProc = new IAjaxProcess(urlPathFamille, POST_LOAD_CONTENT_PRODUCT_FUNC) ;
    ajaxProc.run() ;
}

/**
 * Fonction permettant d'initialiser le chemin de fer
 */
function initCheminFer(rayonObj, ssrayonObj, famille, familleUrl, produit){

    var cheminSSRayonFamilleObj = getElement("cdffamille", true, "") ;
    var cheminProduitObj = getElement("fa-produit", true, "") ;
    
    if(cheminSSRayonFamilleObj){
        var familleCdf = cheminSSRayonFamilleObj.innerHTML ;
        cheminSSRayonFamilleObj.innerHTML = ssrayonObj.getName()+" : "+familleCdf ;
    }
}

/** #################################################
 *  PARTIE AVIS OXYLANE
*/

/** #################################################
 * Permet de gerer le menu Oxylane dans la fiche produit
*/
function afficheOxylaneClub(oClick, sdiv) {
    var oDiv = document.getElementById(sdiv);
    if(oDiv){
        //on affiche les avis
        displayBloc(oDiv) ;
        
        var ongletOxylane=getElement("ongletOxylaneAvis",true,"");
        if(ongletOxylane){
            ongletOxylane.style.display='none';
        }
        
        var ongletCacheOxylane=getElement("ongletCacheOxylaneAvis",true,"");
        if(ongletCacheOxylane){
            ongletCacheOxylane.style.display='block';
        }
        
        window.location.href = "#oxylaneClub";
    }
    
    return false;
}

/** #################################################
 * Permet de gerer le menu Oxylane dans la fiche produit
*/
function cacheOxylaneClub(oClick, sdiv, zonedest) {
    var oDiv = document.getElementById(sdiv);
    
    // On modifie le style du li a afficher
    oClick.className = '';
    
    // On modifie le style de la div a afficher
    oDiv.style.display = "none" ;
    oDiv.className = 'open';
    
    var ongletCacheOxylane=getElement("ongletCacheOxylaneAvis",true,"");
    if(ongletCacheOxylane){
        ongletCacheOxylane.style.display='none';
    }
    var ongletOxylane=getElement("ongletOxylaneAvis",true,"");
    if(ongletOxylane){
        ongletOxylane.style.display='block';
    }
    //Permet de placer le focus sur les onglets Oxylane
    if(zonedest){
        document.location.href = document.location.href.split('#')[0] + "#" + zonedest ;
    }
    return false;
}

/** #################################################
 * Permet de gerer le menu Oxylane Club
*/
function overOxylaneClub(oOver) {
    if (oOver.className != 'open') {
        if (oOver.className == 'over') {
            oOver.className = '';
        } else {
            oOver.className = 'over';
        }
    }
}
