var $j = jQuery.noConflict();

//Nombre de colonne par ligne pour le sitemap
var limitSiteMap = 7;

/**
* Permet de lancer le slideshow sur la homepage
*/
function launchAnimation(){
	// ANIMATION SLIDE
	$j('#s4').cycle({
		fx:      'fade',
	  fx:     'fade',
	  speed:  '600',
	  timeout: 3000,
	  height: 411,
		prev:    '#prev_nav',
		next:    '#next_nav',
		pager:   '#index_nav'
	});
}

/*
* 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'afficher le sous-menu d'un menu
* @params : _obj est l'objet HTML en cours
*/
function showMenu(_obj) {
	//On remet a 0 tous les sous-menus
	resetAllSousMenu();

	//on va selectionner le menu
	$j("#menu_sous_rayon").addClass("selected");
	var jqObj = $j("#" + _obj);
	jqObj.addClass("selected");
	
	//on va afficher le menu
	show("#menu_sous_rayon");
	show("#" + _obj);
}

/*
* Permet de cacher le sous-menu d'un menu
* @params : _obj est l'objet HTML en cours
*/
function hideMenu(_obj) {

	//on va deselectionner le menu
	$j("#menu_sous_rayon").removeClass("selected");
	var jqObj = $j("#" + _obj);
	jqObj.removeClass("selected");
	
	hide("#menu_sous_rayon");
	hide("#" + _obj);
}

function resetAllSousMenu() {

	//on deselectionne tous les menus selectionne	
	$j("#menu_sous_rayon").removeClass("selected");	
	$j("#menu_sous_rayon .menu_sous_rayon").removeClass("selected");	
	
	//on cache tous les sous-menus ouvert
	$j("#menu_sous_rayon").hide();
	$j("#menu_sous_rayon .menu_sous_rayon").hide();
	
}

/*########################################################
* Permet de resizer des blocs divs
*/
function resizeObjBlock(idObj, tagObjToResize) {
	var obj = getElement(idObj, true, "");
	if (obj) {
		var elts = obj.getElementsByTagName(tagObjToResize);
		if (elts) {
			//on va recuperer la hauteur max
			var maxHeight = - 1;
			for (var i = 0; i < elts.length; i++) {
				if (elts[i] && elts[i].className && elts[i].className.indexOf("sitemap") > - 1) {
					var height = elts[i].offsetHeight;
					if (height > maxHeight) {
						maxHeight = height;
					}
				}
			}
			
			//on va recalculer les hauteurs
			for (var i = 0; i < elts.length; i++) {
				if (elts[i] && elts[i].className && elts[i].className.indexOf("sitemap") > - 1) {
					elts[i].style.height = maxHeight + "px";
				}
			}
		}
	}
}



/*########################################################
* Permet de definir la bonne classe a utiliser pour les colonnes du sitemap
*/
function defineClassName(idObj, tagObjToResize, classNameObj, className2Obj, limit) {
	var obj = getElement(idObj, true, "");
	if (obj) {
		var elts = obj.getElementsByTagName(tagObjToResize);
		if (elts) {
			//on va recuperer la hauteur max
			var numElt = 0;
			for (var i = 0; i < elts.length; i++) {
				if (elts[i]) {
					if (i != elts.length - 1 && numElt < limit - 1) {
						elts[i].className = classNameObj;
						numElt++;
					} else {
						if (className2Obj != "") {
							elts[i].className = className2Obj;
							numElt = 0;
						}
					}
				}
			}
		}
	}
}


/** #################################################
* Permet le defilement des familles
*/
function launchCarousel(){
	$j('#vignettes').jcarousel({
		scroll: 1,
		wrap:'circular'
	});
}


/** #################################################
/**
* Permet de modifier l'url d'un lien pour construire le lien vers un reseau social
*/
function modifieUrlReseauSocial(url, lien, titre)
{
    // on remplace les champs a completer
    var lienReseauSocial = url.replace("__URL__", document.location.href);
    lienReseauSocial = lienReseauSocial.replace("__TITRE__", titre);
    // modification de l url du lien
    lien.href= lienReseauSocial;
}


/** #################################################
 * 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 gerer le carrousel des autres vues du produit
*/
function launchCarouselVideo(){
	$j("#vignettesVideo").wslide({
	  width: 400,
	  height: 100
	});
}


/** #################################################
 * Permet de retenir la homepage sport de l'internaute
*/
function setCookieSport(_urlRayon){		
	var cookieName = "homeSport" ;
	
	if(_urlRayon != ""){
		setCookie(_language, cookieName, _urlRayon, getExpirationDateCookie(4));
		
		var disableRedirectCookieName = "disableRedirect" ; //Permet de ne pas faire le redirect tant qu'on est dans la même session
		setCookie(_language, disableRedirectCookieName, "true") ;
	}
}


/** #################################################
 * Permet de rediriger l'internaute vers la homepage sport
*/
function testCookieSport(){
	/* [KIG] Demande de Benjamin du 03/01/11 */
	/*
	var cookieName = "homeSport" ;
	var urlRayonRedirect = getCookie(cookieName) ;
	
	//Doit donc activer le redirect
	var disableRedirectCookieName = "disableRedirect" ;
	var isRedirectDisabled = getCookie(disableRedirectCookieName) ; 
	
	if(!isRedirectDisabled || isRedirectDisabled == "null"){
		if(urlRayonRedirect && urlRayonRedirect != ""){
			document.location.href = urlRayonRedirect ;
			document.reload ;
		}
	}
	*/
}


/** #################################################
 * Permet d'aficher les actus
*/
function displayActu(_indexActu){
	if(typeof listeUrlActu != "undefined"){
		if(_indexActu < listeUrlActu.length()){
			var currentUrlActu = listeUrlActu.get(_indexActu) ;
			
			var JQListeActuObj = getElt(".liste_actus") ;
			
			var func = function loadListeActu(xmlHttp, httpstatus){
		    if(httpstatus == 200){
					oXmlDoc = xmlHttp.responseText ;
					
					if(oXmlDoc.split('<div class="l_actu"')[1] && oXmlDoc.split('<div class="l_actu"')[1].split("</div></div></div>")[0]){
						var divLActu = '<div class="l_actu"' + oXmlDoc.split('<div class="l_actu"')[1].split("</div></div></div>")[0] + "</div></div></div>" ;
						JQListeActuObj.html(JQListeActuObj.html() + divLActu) ;
					}
					
					displayActu(_indexActu+1) ;
		    }
	    }
			
			if(currentUrlActu != ""){
				var ajaxProc = new IAjaxProcess(currentUrlActu, func) ;
				ajaxProc.run() ;
			}
		}
	}
}


/** #################################################
 * Permet d'aficher les actus
*/
function selectSport(){
	var jQSportObj = getElt("#sport");
	var idBlocToDisplay = jQSportObj.attr("value") ;
	var isDisplayAll = false ;
	
	if(idBlocToDisplay == "-1"){
		isDisplayAll = true ;
	}
	
	var jQActusElts = getElt(".liste_actus .l_actu") ;
	var arrayActus = jQActusElts.toArray() ;
	
	if(arrayActus){		
		for(var i=0 ; i<arrayActus.length ; i++){
			var currentJqActuObj = arrayActus[i] ;
			if(currentJqActuObj){
			
				if(isDisplayAll || currentJqActuObj.id.indexOf(idBlocToDisplay) > -1){
					show("#"+currentJqActuObj.id) ;
				}
				else{
					hide("#"+currentJqActuObj.id) ;
				}
			}
		}
	}
}


/** #################################################
 * Permet d'aficher les actus
*/
function changeCategorie(){
	var jQSportObj = getElt("#liste_categories");
	var idBlocToDisplay = jQSportObj.attr("value") ;
	
	if(idBlocToDisplay != '-1'){
		document.location.href= idBlocToDisplay;
	}
	
}

/** #################################################
 * Permet de cacher le dernier TG pour les pages FAMILLE
*/
function displayLastTgFamilly(){
	
	$j(".tgs .tg:last").hide();
	
}

/** #################################################
 * Permet de Paginer la page actualités
*/
function launchPagination(idParent, idListe, elementCible, elementPagination){
	
	$j(idParent).pajinate({
		items_per_page : 8,
		item_container_id : idListe,
		element_a_lister : elementCible,
		nav_panel_id : elementPagination
	});
	
	// Si il n'y a pas plus d'une page, alors on cache la pagination
	if($j(idListe+" "+elementCible).length / 8 < 1){
		$j(elementPagination).hide();
	}
	
}


