﻿/************
*  Fichier Javascript commun fnac.com pour myfnac
*
*
*****************/

/**************
* Variables globales
**************/
var IS_IE = document.all && window.print && !window.opera && /MSIE [56]/.test(navigator.userAgent);
var IS_IE7 = document.all && window.print && !window.opera && /MSIE [7]/.test(navigator.userAgent);
var IS_IE_ALL = document.all && window.print && !window.opera && /MSIE/.test(navigator.userAgent);
var IE_W3C = IS_IE && /MSIE [789]/.test(navigator.userAgent);
var IS_Webkit = /Konqueror|Safari|KHTML/.test(navigator.userAgent);
var heightPropertyToUse = IS_IE ? "height" : "minHeight";

/* ecrit les classes dans le tag HTML, pas besoin d'attendre le chargement du body */
document.documentElement.className+=" hasJS"; //cette classe rajoute une classe CSS qui permet des actions afin de cacher ou afficher des elements seulement pour les visiteurs qui ont le Javascript active sur leur navigateur. (exemple le hidesubmit)
if (IS_IE) 
	document.documentElement.className+=" IS_IE"; //cette classe permet d'utiliser des hacks CSS/JS seulement pour IE6 et versions inferieures.
else if (IS_IE7)
	document.documentElement.className+=" IS_IE7"; //cette classe permet d'utiliser des hacks CSS/JS seulement pour IE7

// Importation des Fichiers JS
function ImportJS() {
	var nbr_att = arguments.length;
	var js_effets=document.createElement("script");
	js_effets.setAttribute("type", "text/javascript");
	js_effets.setAttribute("src", arguments[0]);
	if(nbr_att>1){
		for (var i = 1; i<nbr_att; i++){
			js_effets.setAttribute(arguments[i][0], arguments[i][1]);
		}
	}
	document.getElementsByTagName("head")[0].appendChild(js_effets);
}
	    
// Importation des fichiers CSS
function ImportCSS() {
	var nbr_att = arguments.length;
	var css_style=document.createElement("link");
	css_style.setAttribute("rel", "stylesheet");
	css_style.setAttribute("type", "text/css");
	css_style.setAttribute("href", arguments[0]);
	css_style.setAttribute("media", "screen"); 
	if(nbr_att>1){
		for (var i = 1; i<nbr_att; i++){
			css_style.setAttribute(arguments[i][0], arguments[i][1]);
		}
	}
	document.getElementsByTagName("head")[0].appendChild(css_style);
}
/* getMouse :
	Recupere les coordonnees de la souris et les met dans les variables globales
		window.mouseX
	et	window.mouseY,
		il faut passer event en parametre sur les evenements
	ex :
		function fun(param1, param2, e) {
			getMouse(e);
			sourisX = window.mouseX;
			sourisY = window.mouseY
		}
		fun("foo", "bar", event);

*/
/* getMouse :  */
function getMouse(e){
	var x,y; var elt = (navigator.userAgent.indexOf("MSIE 5")!=-1) ? document.body : document.documentElement;
	if ( document.captureEvents ) {
		x = e.pageX;
		y = e.pageY;
	} else if ( window.event.clientX ) {
		x = window.event.clientX+elt.scrollLeft;
		y = window.event.clientY+elt.scrollTop;
	}
	window.mouseX = x;
	window.mouseY = y;
}
/* findPos :
	recupere la position X,Y d'un objet dans une page
	ex :
		var pos = findPos(elm);

*/
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}


/* findPos pour les fonctions jquery */
/*
jQuery.fn.extend({
   findPosXY : function() {
       obj = $(this).get(0);
		var curleft = obj.offsetLeft || 0;
		var curtop = obj.offsetTop || 0;
		while (obj = obj.offsetParent) {
				curleft += obj.offsetLeft
				curtop += obj.offsetTop
		}
		return {x:curleft,y:curtop};
   }
});
*/
/*
jQuery.fn.extend({
   findPos : function() {
       obj = $(this).get(0);
var curleft = obj.offsetLeft || 0;
var curtop = obj.offsetTop || 0;
while (obj = obj.offsetParent) {
        curleft += obj.offsetLeft
        curtop += obj.offsetTop
}
return {x:curleft,y:curtop};
   }
});*/
               
/* extension jquery recherche cross-browser sur la hauteur d'un elem */
jQuery.fn.extend({
   findHeight : function() {
       obj = $(this).get(0);
		var curtall = obj.scrollHeight || 0;
		return {h:curtall};
   }
});
jQuery.fn.extend({
   findWidth : function() {
       obj = $(this).get(0);
		var curlarge = obj.offsetWidth || 0;
		return {l:curlarge};
   }
});
/*  ifrlayer :
	Cette fonction retourne la  valeur flottante d'un style.
	ex :
		- afficher un bloc :
			myBlock.style.display='block';
			ifrlayer.make(myBlock); //genere ou affiche l'iframe
		- cacher un bloc :
			myBlock.style.display='none';
			ifrlayer.hide(myBlock); //cache l'iframe associee au bloc
		-deplacer un bloc :
			myBlock.style.left = "100px";
			ifrlayer.move(myBlock); // deplace l'iframe associee au bloc
	Cette fonction n'est pas encore utilisee, mais peut-etre dans un developpement futur.
*/
/* genere une iframe pour faire passer les divs par dessus des selects sous IE */
var ifrlayer = {
	make:function(obj) {
		if(!obj) return; obj = (typeof(obj)=="string") ? document.getElementById(obj) : obj; if(!obj) return;
		if(document.all && !window.opera && document.getElementById) {
			if(obj.parentNode && !obj.iframelayer) {
			    var ifr = obj.parentNode.insertBefore(document.createElement('<iframe src="javascript:false"></iframe>'), obj);
			    if(obj.currentStyle.zIndex != "" && parseInt(obj.currentStyle.zIndex)>1 ) {
				    ifr.style.zIndex = parseInt(obj.currentStyle.zIndex)-1;
			    }
			    with(ifr.style) {
				    filter = "mask()";
				    position = "absolute";
			    }
                obj.iframelayer = ifr;
            }
		}
		if(obj.iframelayer) {
		    obj.iframelayer.style.visibility="visible";
            ifrlayer.resize(obj);
            ifrlayer.move(obj)
        }
	},
	hide:function(obj) {
		if(!obj) return; obj = typeof(obj)=="string" ? document.getElementById(obj) : obj; if (!obj) return;
		var ifr = obj.iframelayer;
		if(ifr) {
			ifr.style.visibility="hidden";
		}
	},
	move:function(obj) {
		if(obj && obj.iframelayer) {
		    with(obj.iframelayer.style) {
			    top = obj.offsetTop+"px";
			    left = obj.offsetLeft+"px"
		    }
		}
	},
	resize:function(obj) {
	    if(obj && obj.iframelayer) {
	        with(obj.iframelayer.style) {
	            width =  obj.offsetWidth+"px";
		        height =  obj.offsetHeight+"px";
		    }
		}
	}
}

/*  addHover :
	Cette fonction ajoute le fonctionnement de la pseudo classe hover en CSS, et seulement pour IE
	Elle se base sur les evenement propres a IE qui sont les evenements qui ont le comportement le plus proche du :hover en CSS.
	Pour utiliser cette fonction il faut le faire en CSS
	ex :
		#menu ul li {behavior:expression(addHover(this))}
		Afin de ne pas prendre en compte IE7 en mode strict il suffit de placer la classe .IS_IE avant, cette classe est ajoute pendant le chargement de la page.
		.IS_IE #menu ul li {behavior:expression(addHover(this))}
*/
function addHover(elm) {
	elm.style.behavior = " ";
	elm.onmouseenter = function() {
		this.className+= ' hover';
	}
	elm.onmouseleave = function() {
		this.className = this.className.replace(/\bhover\b/,"");
	}
}	    
	    
/*************
* Fonctions pour fixer les coins sous IE
* Une fonctions est prevue aussi pour Safari 2.0, Opera 8.5 et FF 1.0 pour certains cas
**************/
/*  cssRight :
	fixe les coins positionnes en absolu a droite
	ex :
		body.IS_IE .tr {right:expression(addHover(this))}
		Il faut afin que cela fonctionne, avoir declare le right dans un selecteur precedent (pour les autres navigateurs).
		ex : .tr {height:5px;  width:5px; right:0}
		Afin de ne pas prendre en compte IE7 en mode strict il suffit de placer la classe .IS_IE avant, cette classe est ajoutee pendant le chargement de la page et n'est ajoutee que pour IE5.x ou 6.
*/
function cssRight(elm) {
	elm.style.right=(parseInt(elm.currentStyle.right)-(elm.parentNode.offsetWidth%2))+"px";
}

/*  cssBottom :  (comme CSS right avec un parametre supplementaire)
	fixe les coins positionnes en absolu a droite
	ex :
		body.IS_IE .br {bottom:expression(addHover(this))}
	Il faut afin que cela fonctionne, avoir declare le right dans un selecteur precedent (pour les autres navigateurs).
	Afin de ne pas prendre en compte IE7 en mode strict il suffit de placer la classe .IS_IE avant, cette classe est ajoutee pendant le chargement de la page et n'est ajoutee que pour IE5.x ou 6.

	Si on veut rajouter ces coins dans un array qui permettra de les refixer si le bloc s'agrandit ou autre. il suffit de rajouter "true" dans les parametres.
	ex :
		body.IS_IE .br {bottom:expression(addHover(this, true))}
*/
function cssBottom(elm, pushElement) {
	if (pushElement && !elm.CSSBottomAlreadyCSS) {
		//CSSBottomCorners.push(elm);
		elm.CSSBottomAlreadyCSS=true;
	}
	elm.style.bottom=(parseInt(elm.currentStyle.bottom)-(elm.parentNode.offsetHeight%2))+"px";
}
/*******
  fonction de debug, il suffit de l'appeler printDebug("miou");
  et s'affichera en haut a gauche le resultat
  Je devrais y inclure un bouton pour vider le tableau noir,
  genre un innerHTML="" vite vu
*******/
function printDebug(debug, ecrase){
  var monId = document.getElementById("header");
  if (document.getElementById("debugJS"))
  {
    if(ecrase==0)
    {
      nouveauDiv.innerHTML+="<pre>"+debug+"</pre>";
    }
    else
    {
      nouveauDiv.innerHTML="<pre>"+debug+"</pre>";
    }

  }
  else{
    nouveauDiv = document.createElement("div");//creation  de l objet
    nouveauDiv.id="debugJS";//identification
    nouveauDiv.style.display="block";//on le stylise un peu
    nouveauDiv.style.position="absolute";
    nouveauDiv.style.top="20px";
    nouveauDiv.style.left="0px";
    nouveauDiv.style.background="black";
    nouveauDiv.style.border="solid 1px #900";
    nouveauDiv.style.zIndex="60";
    nouveauDiv.style.fontSize="11px";
    nouveauDiv.style.overflow="auto";
    nouveauDiv.style.height="600px";
    nouveauDiv.style.width="auto";
    nouveauDiv.style.padding="5px";
    nouveauDiv.innerHTML="<pre>"+debug+"</pre>";
    monId.parentNode.insertBefore(nouveauDiv, monId);//on insert l'objet avant la balise appele
  }
}
/* Genere un message d'attente avec */
var waitingMsg={
    shadowLayer:null,
    layerId:"waitingMsg",
    defaultTimeout:15000,
    timer:null,
    show:function() {
        var div = document.getElementById(waitingMsg.layerId);
        var doc = /MSIE 5|OPERA/.test(navigator.userAgent) ? document.body : document.documentElement;
        if (!waitingMsg.shadowLayer) {
            var shadow = document.body.appendChild(document.createElement("div"));
            waitingMsg.shadowLayer = shadow;
            shadow.id="shadowLayer";
            with(shadow.style) {
                left=0;
                right=0;
                height=doc.scrollHeight+"px";
            }
        }
        waitingMsg.shadowLayer.style.display="block";
        ifrlayer.make(waitingMsg.shadowLayer);
        if (div) {
            div = document.body.appendChild(div);
            div.style.display="block";    
            ifrlayer.make(div);
            div.style.left = (doc.scrollLeft+parseInt((doc.clientWidth-div.offsetWidth)/2))+"px";
            div.style.top = (doc.scrollTop+parseInt((doc.clientHeight-div.offsetHeight)/2))+"px"
        }
    },
    hide:function() {
        var div = document.getElementById(waitingMsg.layerId);
        waitingMsg.shadowLayer.style.display="none";
        ifrlayer.hide(waitingMsg.shadowLayer);
        div.style.display="none";
        ifrlayer.hide(div);
        clearTimeout(waitingMsg.timer);
    },
    setHideTimer:function(timer) {
        var timeforTimeout = timer || waitingMsg.defaultTimeout;
        if (!waitingMsg.timer) {
            waitingMsg.timer = setTimeout("waitingMsg.hide()",timeforTimeout);
        }
    }
}
var hoverblock = {
    init:function(parentElement) {
        var tmp=null;
        parentElement = typeof(parentElement)=="string" ? document.getElementById(parentElement) : parentElement;
        if (!parentElement) return;
        var table = parentElement.getElementsByTagName("table"); //init Accessories
        for (var i=0; i<table.length;i++) {
	        if (table[i].className.match(/\btbl-accessoires\b/)) {
		        var tds = table[i].getElementsByTagName("td");
		        for (var j=0; j<tds.length;j++) {
			        var td = tds[j];
        			
			        tmp = getElementsByClassName(td,"a", "picture");
			        if (tmp.length>0) {
			            td.eltPictureLink = tmp[0];
			            td.eltPicture = tmp[0].firstChild;
                    }
                    
                    tmp = getElementsByClassName(td, "a", "element");
			        if (tmp.length>0) td.eltTitle = tmp[0];
			        
			        var hblock = getElementsByClassName(td, "div", "hoverBlock");
			        if (hblock.length>0) {td.hoverBlock = hblock[0];}
			        
			        if (td.hoverBlock) {
			            td.eltTitle.AssociatedTd = td;
			            td.eltTitle.onmouseover = hoverblock.over;
				        addEvent(td.eltTitle, "mousemove", hoverblock.move);
				        addEvent(td.eltTitle, "mouseout", hoverblock.close);
				        if (td.eltPictureLink) {
				            td.eltPictureLink.AssociatedTd = td;
				            
				         /* over on the product picture */
                         /*   td.eltPictureLink.onmouseover = hoverblock.over;
                            addEvent(td.eltPictureLink, "mousemove", hoverblock.move);
                            addEvent(td.eltPictureLink, "mouseout", hoverblock.close);
                         */
				        }
			        }
		        }
	        }
        }
    },
    over:function(e) {
        var td = this.AssociatedTd;
        popLayerMakeContent(e, "service", td.hoverBlock);
    },
    move:function(e) {
        popLayerShow(e);
    },
    close:function(e) {
        popLayerClose();
    }
}

var configurator={
    configuratorId:"configurateurAncre",
    scroll:function() {
        var conf = document.getElementById(configurator.configuratorId);
        if (!conf) return;
        var pos = findPos(conf);
        document.documentElement.scrollTop=pos[1]-10;
    }
}

var address={
	addrFind:function(){
        var home = document.getElementById("home"); if (!home) return;
		var lists = getElementsByClassName(home, 'UL', 'addrList');
		if (lists.length == 0){return;}
		for (var i = 0; i < lists.length; i++){
			var currentList = lists[i].childNodes;
			for (var j = 0; j < currentList.length; j++){
				var currentLI = currentList[j];
				if (currentLI.nodeName.toLowerCase()=='li') {
					currentLI.className += ' addrClosed';
					currentLI.onclick= function (e) {
						address.addrPli(this);
					}
					var aElt = ['input','label','a']
					for (var k=0; k < aElt.length; k++){
						var x = currentLI.getElementsByTagName(aElt[k]);
						for (var h = 0; h < x.length; h++) addEvent(x[h],'click',cancelClick, true);
					}
				}
			}
		}
	},
	addrPli:function(currentLI){
		if (currentLI.className.match(/\baddrOpen\b/)){
			currentLI.className = currentLI.className.replace('addrOpen', 'addrClosed');
		} else 	if (currentLI.className.match(/\baddrClosed\b/)){
			currentLI.className = currentLI.className.replace('addrClosed', 'addrOpen');
		}
	}
}

var GoToTabs={
    init:function() {
        var fichearticle = document.getElementById("fichearticle"); if (!fichearticle) return;
        var url = document.location.href;
        var ancre=url.split("#");

        if(ancre.length > 1)
            fnactab.showtab(ancre[1]);
   }
}
/*****
  menu deroulant - simulation du hover facon F6
*****/
function sousMenuAddHover(elm, position) {
  elm.style.behavior = " ";
  var menu = elm.getElementsByTagName("ul");
  if (menu.length>0) {
    elm.theUl = menu[0];
    ifrlayer.make(elm.theUl);
    elm.onmouseenter = function() {
      this.className+= ' currentJs';
      ifrlayer.make(elm.theUl);
    }
    elm.onmouseleave = function() {
      this.className = this.className.replace(/\b(right)?currentJs\b/,"");
      ifrlayer.hide(this.theUl);
    }
  }
}
function sousMenuActivation(obj,evt,boucle)
{
//  printDebug(evt.keyCode,0);
  function killSousMenu()
  {
    var allLi = obj.parentNode.getElementsByTagName("li");
    for (var i = 0; i < allLi.length; i++)
    {
      allLi[i].className = allLi[i].className.replace(/\b(right)?currentJs\b/,"");
      ifrlayer.hide(this.theUl);
    }
  }
// touche echap
  if (evt.keyCode==27)
  {
    killSousMenu();
  }
// fleche haut
  if (evt.keyCode==38)
  {
    if(!obj.id=="")
    {
      return;
    }
    else
    {
      killSousMenu();
    }
  }
// fleche droite
  if (evt.keyCode==39)
  {
    if(obj.id=="m_photo_camescope")
    {
      killSousMenu();
      document.getElementById("m_livres").getElementsByTagName("a")[0].focus();
      document.getElementById("m_livres").className+=" currentJs";
    }
    else
    {
      killSousMenu();
      var droiteMenu = (IS_IE_ALL) ? obj.nextSibling : obj.nextSibling.nextSibling;
//      var droiteMenu = obj.nextSibling.nextSibling;
      droiteMenu.getElementsByTagName("a")[0].focus();
      droiteMenu.className+=" currentJs";
    }
  }
// fleche bas
  if (evt.keyCode==40)
  {
    return;//non actif encore
    if(!obj.id=="")
    {
      var lesA = obj.parentNode.getElementsByTagName("a");
      for (var j=0;j > lesA.length; j++)
      {
        if(lesA[j])
        {
        }
      }
    }
    killSousMenu();
  }
// fleche gauche
  if (evt.keyCode==37)
  {
    if(obj.id=="m_livres")
    {
      killSousMenu();
      document.getElementById("m_photo_camescope").getElementsByTagName("a")[0].focus();
      document.getElementById("m_photo_camescope").className+=" currentJs";
      ifrlayer.make(elm.theUl);
    }
    else
    {
      killSousMenu();
      var gaucheMenu = (IS_IE_ALL) ? obj.previousSibling : obj.previousSibling.previousSibling;
//       var gaucheMenu = obj.previousSibling.previousSibling;
      gaucheMenu.getElementsByTagName("a")[0].focus();
      gaucheMenu.className+=" currentJs";
      ifrlayer.make(elm.theUl);
    }
  }

//        si fleche bas descend 40
//        si fleche haut monte 38
//        si fleche droite droitise 39
//        si fleche gauche gauchise 37
}

/* classe pour déclencher un rollover en utilisant simplement une classe dans le <a> : 
les images doivent contenir '_on' et '_off' avant le suffixe dans leurs noms 
*/
$(function rollHover(){
	if(!rhChemin) { var rhChemin = "../Img/MyFnac/boutons/"; }
	var construction = {
		process : null,
		path:function(file){
			var indice = file.lastIndexOf("/");
			var fichier = file.substring(indice+1);
			if(/on/.test(fichier))
			{
				process = fichier.replace(/on/,"off");
				return process;
			} else if(/off/.test(fichier))
			{
				process = fichier.replace(/off/,"on");
				return process;
			} else { return false; }
		}
	};
	$("a.rHover").mouseover(function(){
		var fichier = $(this).children("img").attr("src");
		if(f = construction.path(fichier))
		{
			$(this).children("img").attr("src",rhChemin+f);
		}
			
	});
	$("a.rHover").mouseout(function(){
		var fichier = $(this).children("img").attr("src");
		if(f = construction.path(fichier))
		{
			$(this).children("img").attr("src",rhChemin+f);
		}
	});
});

/* Gestion du module de trie par notes */
function note() {
    var tt = $('#item0');
    $('.option').fadeIn(500);
    $('.note0').click(function(){
        //alert("ok");
        $(tt).animate({top: '-'+0+'px'}, 1100);
    });
    $('.note1').click(function(){
        $(tt).animate({top: '-'+20+'px'}, 1100);
        
    });
    $('.note2').click(function(){
        $(tt).animate({top: '-'+36+'px'}, 1100);
        
    });
    $('.note3').click(function(){
        $(tt).animate({top: '-'+55+'px'}, 1100);
    });
    
    
}

//fermer Recommandation page AdviceListView.aspx et Advices.aspx
function fermerRecommandation()
{
    $("div").each(function(){
        var div = $(this);
        if(div.attr("class") == "listing lienInverse")
        {
            div.animate({height: 'toggle', opacity: 'toggle' }, "slow");
        }
    });
    $("#recommandation").animate({height: 'toggle', opacity: 'toggle' }, "slow");
    $("#coin").animate({   height: 'toggle', opacity: 'toggle' }, "slow");
}



function remoteClick(objId){
	var target=document.getElementById(objId);
	if(document.dispatchEvent) { // W3C
		var oEvent = document.createEvent( "MouseEvents" );
		oEvent.initMouseEvent("click", true, true,window, 1, 1, 1, 1, 1, false, false, false, false, 0, target);
		target.dispatchEvent( oEvent );
	}
	else if(document.fireEvent) { // IE
		target.fireEvent("onclick");
	}
}

function remoteRelease() {
    var recId = $(".action ul li img").eq(1).attr('id');
    remoteClick(recId);
}



function popRefill(obj,partId, e,text,Origin,articleName){
	var deja = document.getElementById('why_advice');
	if(deja){ document.body.removeChild(deja); }
	var pos = findPos(obj);
	var param = partId+"choice2";	
	
	var content = "<p>";
	content += "<span class='float_r'><a href='#' title='fermer' class='gris' onclick='$(this).parent().parent().parent().remove();return false;'>";
	content += "<img src='../img/myfnac/boutons/close.gif' alt='fermer' /></a></span>";
	content += "<strong>Ce produit vous est conseillé</strong>";
	switch(Origin) {
             case "1":
            content += " en tenant compte de Votre appréciation du produit "+text+"<br />"; 
             break;
             case "2":
            content += " en tenant compte des nouveautés <br />";
             break;
             case "3":
             content += " en tenant compte de votre centre d'intérêts "+text+" <br />";
             break;
             case "4":
             content += " en tenant compte de votre centre d'intérêts "+text+" <br />";
             break;
             default:
             if(text!="")
                content += " en tenant compte de votre selection "+text+" <br />";
              else
                content += " en tenant compte de vos centres d'intérêts et de votre parcours de navigation sur fnac.com <br />";
             break;
        }
	
	content += "<span class='gris'>&raquo; <a class='gris' href='#' onclick=\"remoteClick('"+param+"');return false;\">Ne plus en tenir compte</a></span>";
	content += "</p>";
	
	var popin = document.createElement("DIV");
	popin.id = "why_advice";
	popin.className = "why_advice";
	popin.innerHTML = content;
	document.body.appendChild(popin);
	
	if(popin.style.display != "block") { popin.style.display = "block"; }
	popin.style.position = "absolute";
	popin.style.zIndex = "99";
	popin.style.left = pos[0]+"px";
	popin.style.top = pos[1]+"px";
}


function popAddSelection(obj, url, e, origin) {

    if ($("#add_selection")) {// Detection de la présence de la div dans le code
       $("#add_selection").remove(); // Si la div existe deja, on supprime le code.
    }
    var rec = $.get(url);// Envoi de la requete Ajax
    
    /* Préparation de la <DIV> de validation de l'action */
    var content = '<div class="add_selection ficheserieciblage" id="add_selection"><p>';
    content += "<span class='float_r'><a href='#' title='fermer' class='gris' onclick='$(this).parent().parent().parent().remove();return false;'>";
    content += "<img src='../img/myfnac/boutons/close.gif' alt='fermer' /></a></span>";
        switch(origin)
        {
             case "666":
             content += "<strong>Cet article a bien été ajouté à votre liste de Noël</strong><br />";             
             break;
           default:
             content += "<strong>Cet article a bien été ajouté à votre sélection</strong><br />";
             break;
        }
    content += "</p></div>";
    $("body").append(content); // Création de la popin de la validation d'ajout à la selection
    $("#add_selection").css("position","absolute"); // CSS - Ajout de la position absolute
    $("#add_selection").css("z-index","300"); // CSS - Ajout du z-index
    
    /* Déclaration des variables */    
    var recupPosX = e.pageX; // Récupération de la position en X de la souris
    var recupPosY = e.pageY; // Récupération de la position en Y de la souris
    var recupPosIe = findPos(obj); // Récupération de la position de l'objet dans la page
    var h = $("#add_selection").height(); // Récupération de la hauteur de l'objet
    var w = $("#add_selection").width(); // Récupération de la largeur de l'objet
    
    if($.browser.msie) {// Pour internet explorer 6-7
        switch(origin) 
        {
            case 'ie': // On regle le probleme pour le placement d'ie dans la fiche intervenant
            var realXIe = recupPosIe[0] - w*1.5;
            var realYIe = recupPosIe[1] + h;
            break
          default : // On regle le probleme pour le placement d'ie dans myfnac
            var realXIe = recupPosIe[0] - w;
            var realYIe = recupPosIe[1] + h/2;
            break
        }
        $("#add_selection").css("left",realXIe+"px"); // On attribut le comportement de placement de la popin en X
        $("#add_selection").css("top",realYIe+"px"); // On attribut le comportement de placement de la popin en Y
    } else { // Pour firefox 3
        if (recupPosX != undefined || recupPosY != undefined) { // Conditionnement pour ne pas que la popin se positionne en bas de page
            var newX = recupPosX - w; // On attribut le comportement de la souris pour le placement de la popin en X
            var newY = recupPosY + h/2; // On attribut le comportement de la souris pour le placement de la popin en Y
            $("#add_selection").css("left",newX+"px"); // On attribut le comportement de placement de la popin en X
            $("#add_selection").css("top",newY+"px"); // On attribut le comportement de placement de la popin en Y

        }
    }
}



function centerPopin(id) {
    var elem = document.getElementById(id);
    var page = document.getElementsByTagName("BODY");
    var large = (screen.availWidth - elem.offsetWidth) / 2;
    var haut = (screen.availHeight - elem.offsetHeight) / 2;
    elem.style.left = large+"px";
    elem.style.top = haut+"px";
}

// tronc principal de l'exec après chargement du DOM
function highlightButton(){
    $(document).ready(function(){
	    $("img.rHvr").hover(function(){
		    $(this).css("opacity",0.5);
	    },function(){
		    $(this).css("opacity",1);
	    });

	    /*Plug pour les input hover */
        $("input[type='image'].rHvr").hover(function(){
            //alert("ok");
            $(this).css("opacity","0.5");
        },function(){
            $(this).css("opacity","1");
        });

	    $("a.contextHelp").click(function(){
		    if($("div.aidePopin").css("display") == "none")
		    {
			    var popin = document.createElement("DIV");
			    popin.id = "contextHelp";
			    popin.innerHTML = $("div.aidePopin").html();
			    document.body.appendChild(popin);
			    $(popin).css({position:"absolute",display:"block","z-index":999,width:"300px"});
			    $(popin).css("cursor","move");
			    $(popin).bind('drag',function(event){
                    $(this).css({
                        top: event.offsetY,
                        left: event.offsetX,
                        opacity:0.7       
                    });
                });
                $(popin).click(function(){
                    $(this).css("opacity","1");
                });
			    if(IS_IE) { ifrlayer.make($("div#contextHelp")); }
			    centerPopin("contextHelp");	
		    }	
		    return false;
	    });
    });
}

highlightButton();

// hack   
function adjustCarou() { 
    $(document).ready(function(){
        var testPresentList = $("#part3 div").hasClass("mosaiqList");
        if (testPresentList != true) {
            $("#ctl02_SwitchControl").css("margin-top","14px");
        }else {
            $("#ctl02_SwitchControl").css("margin-top","0px");
        }
    });
}


/* Fonction pour la partie Centres d'interets */
			function rightArm(menu){
                
                // Déclaration des variables
                var cible2, pos, pos2, posMenu, cibl, large2, posLi, posMenuTetiere, posTempMenuTop, posTempMenuLi;
                
				// Selection du hasFocus
			    if ($("ul li",menu).find(".enable2").attr("class") != undefined) {
			        cible2 = $("ul li",menu).find(".enable2"); 
			    } else {
			        cible2 = $("ul li",menu).find(".enable"); 
			    }
			    // Attribution des valeurs
				pos = $("#MenuRenderContent").position();
				pos2 = $(".menu_Left ul li").position();
				posMenu = $("#MenuRenderContent").position();
				cibl = cible2.parent("li").position();
		        large2 = cible2.parent("li").innerWidth();
		        posLi = cible2.parent("li").height();
		        posMenuTetiere = $("#MenuRenderContent .mfTetiere").height();
				posTempMenuTop = parseInt(posMenu.top);
				posTempMenuLi = parseInt(cibl.top);
				
				// Browser Detect
				    // Déclaration des navigateurs
				var nav = navigator.userAgent.toLowerCase();
	            var detect = nav.indexOf("firefox");
	            var detect2 = nav.indexOf("safari");
	            var detect3 = nav.indexOf("msie");
	                // Conditionnement d'affichage
	            if (detect != -1 && detect2 == -1) { // IE
				    var decalage = (large2-2)+pos2.left+"px";
				} else if (detect == -1 && detect2 == -1) { // Other
				    var decalage = ((large2+2)+pos2.left)+"px";
				} else if (detect == -1 && detect2 != -1) { // Safari
				    var decalage = ((large2-4)+pos2.left)+"px";
				}
			
			    // Conditionnement du positionnement suivant les n-2 (IE)
				if (detect3 != -1) {
				    var limit = 20;
				    var adjust = 3;
				} else {
				    var limit = 18;
				    var adjust = 5;
				}
			    posLi = limit;	
			    
				// Attribution des valeurs de positionnement
				    // Calcul
				    // Position horizontale
				    var posLeftArm = parseInt(pos.left+pos2.left+large2);				
			        // Position verticale
				    var posTopArm = parseInt(posMenuTetiere+posTempMenuTop+posTempMenuLi-posLi);
				
				// Implémentation du bras
				if(typeof(cible2.attr("class")) != "undefined")
				{
				    // Ajustement de la position du bras (IE)
				    var posArm = posTempMenuLi+adjust;
                    // Implémentation
					$("#MenuRenderContent").css("background-image","url(../img/myfnac/deco/fond_ArmF0F2ED.png)");
					$("#MenuRenderContent").css("background-repeat","no-repeat");
					$("#MenuRenderContent").css("background-color","transparent");
					$("#MenuRenderContent").css("background-position","0px "+posArm+"px");
				}
				// Création de la liaison entre le menu & le contenu
				var arm = document.createElement("DIV");
				arm.id = "arm";
				arm.className = "armOfJustice";
				document.body.appendChild(arm);
				arm.style.position = "absolute";
				arm.style.zIndex = 99;
				arm.style.left = posLeftArm+"px";
				arm.style.top = posTopArm+"px";
				arm.style.background = "url(../img/myfnac/deco/arm.png) no-repeat top left transparent";
				arm.style.display = "block";
				arm.style.width = "40px";
				arm.style.height = "19px";
			}
