var urlOsmose = "http://store.domyos-fitness.com";
/** #############  OSMOSE  ################# */
function redirectToOsmose(_modeleCourant) {
	if (_modeleCourant != "") {
		var urlProduitOsmose = urlOsmose + "/product-id_" + _modeleCourant + ".html";
		document.location.href = urlProduitOsmose;
	}
}
/** #########################################
* 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(idImage, urlImage, obj) {
	//on va desactiver le chargement d'image si la video est en cours de lecture
	var jQVideoPlayer = getElt("#video-player") ;
	var isVideoLoaded = false ;
	if(jQVideoPlayer.html() != ""){
		isVideoLoaded = true ;
	}
	
	if(!isVideoLoaded){
		if (getElement(idImage)) {
			var currentPhoto = getElement(idImage).src;
			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(".jcarousel-skin-vignettes li").removeClass("selected");
				var parentElt = $j(obj).parent();
				if (parentElt.is('li')) {
					parentElt.addClass("selected");
				}
				var currentPhotoZoom = getElement("zoom");
				if (currentPhotoZoom) {
					//on recupere le zoom HD
					var zoomHD = mapPhotoHd.get(urlImage);
					currentPhotoZoom.style.backgroundImage = "url(" + zoomHD + ")"
				}
			}
		}
	}
}
/** #########################################
* 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';
		}
	}
}
/* ########################### AJOUT 26/08/10 ############################ */
var $j = jQuery.noConflict();
/** #################################################
* Permet de gerer le carrousel des autres vues du produit
*/
function launchCarouselProduct(_toLoad) {
	if (_toLoad) {
		$j('#vignettes').jcarousel({
			scroll: 1,
			wrap: 'circular',
			itemLoadCallback: itemLoadCallbackFunction
		});
	} else {
		$j(".jcarousel-skin-vignettes .vue").first().addClass("selected");
	}
}
function itemLoadCallbackFunction(carousel, state) {
	var currentMainPicture = getElt("#imgmain-picture");
	for (var i = carousel.first; i <= carousel.last; i++) {
		// Check if the item already exists
		if (carousel.has(i)) {
			var currentIndexClass = '.jcarousel-item-' + i;
			var jQElt = getElt(currentIndexClass);
			if ((jQElt.html()).indexOf(currentMainPicture.attr('src')) > - 1) {
				jQElt.addClass("selected");
			}
		}
	}
}
/*
* Permet de recuperer un objet jQuery correspondant a l'element _eltId
* @params : _elt doit être une classe ou un id. Par ex. getElt("#elt") ou getElt(".elt")
*/
function getElt(_elt) {
	return $j(_elt);
}
/*
* Permet de cacher un element
* @params : _elt doit être une classe ou un id. Par ex. getElt("#elt") ou getElt(".elt")
*/
function hide(_elt) {
	var jqObj = getElt(_elt);
	if (jqObj) {
		jqObj.hide();
	}
}
/*
* Permet d'afficher un element
* @params : _elt doit être une classe ou un id. Par ex. getElt("#elt") ou getElt(".elt")
*/
function show(_elt) {
	var jqObj = getElt(_elt);
	if (jqObj) {
		jqObj.show();
	}
}
/* Permet d'ouvrir une vue 3d à la place du visuel principal */
function charge3d(_containerId, _url, _width, _height) {
	var widthPlayer = "400";
	var heightPlayer = "400";
	if (typeof _width != "undefined" && _width != "") {
		widthPlayer = _width;
	}
	if (typeof _height != "undefined" && _height != "") {
		heightPlayer = _height;
	}
	var containerObj = getElement(_containerId);
	if (containerObj) {
		var iframeObj = '<iframe scrolling="no" frameborder="0" marginheight="0" marginwidth="0" src="' + _url + '" width="' +(widthPlayer) + '" height="' +(heightPlayer) + '"></iframe>';
		containerObj.innerHTML = iframeObj;
		//on affiche le player 3D
		displayBloc(containerObj);		
		
		//on cache la liste des videos
		hide("#vignettesVideo-wrap") ;
		hide("#vignettesVideo") ;
		hide(".wslide-menu") ;
				
    //on selectionne la vignette video
    $j(".jcarousel-skin-vignettes li").removeClass("selected");
    $j(".jcarousel-skin-vignettes li.vignette_3d").addClass("selected");
		
		show(".video");
		
		//on cache le zoom HD si il existe dans la page produit
		if (getElement("zoomhd")) {
			hideBlocId("zoomhd");
		}
	}
}