
var DEFAULT_WAITING_MESSAGE = "Chargement de la page en cours";


if (document.layers) { // Netscape
    document.captureEvents(event.MOUSEMOVE);
} else if (document.all) { // Internet Explorer
    document.onmousemove = captureMousePosition;
} else if (document.getElementById) { // Netcsape 6
    document.onmousemove = captureMousePosition;
    if (navigator.userAgent.indexOf('Safari',0)>0) document.onclick=captureMousePosition;
}


//fonction qui retourne la heuteur d'un DIV
function getDivHeight(DivObj)
{
		if (DivObj.scrollheight)
		{
			retHeight = DivObj.scrollheight;
		}
		else
		{
			retHeight = DivObj.offsetHeight;
		}
		return retHeight;
}



//fonction qui retourne la largeur d'un DIV
function getDivWidth(DivObj)
{
		if (DivObj.scrollwidth)
		{
			retWidth = DivObj.scrollwidth;
		}
		else
		{
			retWidth = DivObj.offsetWidth;
		}
		return retWidth;
}



function captureMousePosition(e) 
{
    if (document.layers)
    {
        xMousePos = e.pageX;
        yMousePos = e.pageY;
        xMousePosMax = window.innerWidth+window.pageXOffset;
        yMousePosMax = window.innerHeight+window.pageYOffset;
    }
    else if (document.all)
    {
    	if (document.body) 
    	{
    		if ((navigator.appVersion.indexOf('Mac',0))>0) 
    		{
    			xMousePos = event.x+document.body.scrollLeft; 
     			yMousePos = event.y+document.body.scrollTop; 
     			//xMousePosMax = document.body.clientWidth+document.body.scrollLeft;
     			xMousePosMax = document.body.clientWidth;
	        	yMousePosMax = document.body.clientHeight+document.body.scrollTop;
    		} 
    		else if ((document.body.scrollLeft == 0) && (document.body.scrollTop == 0)) 
    		{
					xMousePos = window.event.x+document.documentElement.scrollLeft;
		        yMousePos = window.event.y+document.documentElement.scrollTop;
		        xMousePosMax = document.body.clientWidth+document.documentElement.scrollLeft;
	        	yMousePosMax = document.body.clientHeight+document.documentElement.scrollTop;
	      } 
	      else 
	      {
		       	xMousePos = window.event.x+document.body.scrollLeft;
		        yMousePos = window.event.y+document.body.scrollTop;
	    		xMousePosMax = document.body.clientWidth+document.body.scrollLeft;
	        	yMousePosMax = document.body.clientHeight+document.body.scrollTop;
				}
			}
    	} 
    	else if (document.getElementById) 
    	{
        // Netscape 6 behaves the same as Netscape 4 in this regard 
        xMousePos = e.pageX;
        yMousePos = e.pageY;
        xMousePosMax = window.innerWidth+window.pageXOffset;
        yMousePosMax = window.innerHeight+window.pageYOffset;
    }
}

//=====================================================================================
//===============================        XHR           ================================
//=====================================================================================
/*
		Objet javascript permettant de gérer les fonctionnalités du XMLHTTPRequest
*/	
function XHR()
{  
	var xhr_object = null;
	// si Firefox 
	if(window.XMLHttpRequest) 
	{
		xhr_object = new XMLHttpRequest()
	} // Sinon si Internt Explorer .... beurk
	else if(window.ActiveXObject) 
	{
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	} // XMLHttpRequest non supporte par le navigateur 
	else 
	{
		xhr_object = null;
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
	}

	return xhr_object;
}	// End function XHR() 


//=====================================================================================


// charge le contenu dynamique d'une page et l'ecrit dans un div à l'aide de l'objet XHR()
function LoadContent(menu,TAGID,waitingMsg,MoreAction) 
{

	var MyXhr = new XHR();
	var url = menu;
	//alert('function LoadContent...\n\n' + url);
	MyXhr.open("POST", url, true);
	
	MyXhr.onreadystatechange = function() 
	{
		if(MyXhr.readyState == 4 ) 
		{
			
			if (MyXhr.status == 200)
			{
				var objMain=document.getElementById(TAGID);
				
				if (objMain != null)
				{
					objMain.innerHTML = MyXhr.responseText;
					
				}
				
				if (MoreAction && MoreAction.length > 0)
				{				eval(MoreAction);			}
			}
			else
			{
				ShowDebugMsg(MyXhr.responseText)
			}
		}	
	}
	
	if (waitingMsg!=undefined && waitingMsg!='')
	{
		//ShowWaitingMessage(waitingMsg,TAGID);
	}
		else
	{
		//ShowWaitingMessage(DEFAULT_WAITING_MESSAGE,TAGID);
	}
	
	MyXhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	MyXhr.send("");
	
}	// End function LoadContent() 

//=====================================================================================
//Add le 22/03/2007 par D.Guillard
//Redidirge vers la page indiqué par le XHR, ou affiche un message d'erreur si le XHR renvoi un resultat null
function RedirectionContent(menu,TAGID,Reference,errorMsg1,errorMsg2,errorSecondtest,MoreAction) 
{

	var MyXhr = new XHR();
	var url = menu;
	MyXhr.open("POST", url, true);
	
	
	MyXhr.onreadystatechange = function() 
	{
		if(MyXhr.readyState == 4 ) 
		{
			
			if (MyXhr.status == 200)
			{
				var objMain=document.getElementById(TAGID);
				//Si le XHR n'est pas null, on redirige
				if (objMain != null)
				{
					xt_mtcl = Reference;        //keyword value
					
					if (MyXhr.responseText != "")
					{
					
						if (MyXhr.responseText != errorSecondtest)
						{
							xt_npg = "1";        //result page number (0 when no result)
	
		
							if (window.xtparam!=null)
								{window.xtparam+="&mc="+xt_mtcl+"&np="+xt_npg;}
							else
								{window.xtparam ="&mc="+xt_mtcl+"&np="+xt_npg;}
						
							document.write('<scr' + 'ipt type="text/javascript" src="' + WebsiteURL + 'j/xiti/xtcore.js"></scr' + 'ipt>');
							
							document.location.href = MyXhr.responseText; //Redirection
							
							
							
						} else {
							xt_npg = "0";        //result page number (0 when no result)
	
							if (window.xtparam!=null){window.xtparam+="&mc="+xt_mtcl+"&np="+xt_npg;}
							else{window.xtparam ="&mc="+xt_mtcl+"&np="+xt_npg;};
							
							document.write('<scr' + 'ipt type="text/javascript" src="' + WebsiteURL + 'j/xiti/xtcore.js"></scr' + 'ipt>');
							
							objMain.innerHTML = errorMsg2; //Message d'erreur
						}
					} else {
					//Sinon, on renvoi un message d'erreur
					objMain.innerHTML = errorMsg1;
					}
				}
				
				eval(MoreAction);			
			}
			else
			{
				ShowDebugMsg(MyXhr.responseText);
			}
		}	
	}

	
	MyXhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	MyXhr.send("");
			
		
}	// End function LoadContent() 


//=====================================================================================

//=====================================================================================
//Add le 22/03/2007 par D.Guillard
//Test le numero de carte et renvoi vers deux traitement different suivant la validité du numero saisi
// ==> numCarteBon / numCarteFaux 
function Check_CarteProcure_byXHR(url, funcGood, funcFalse) 
{
	var MyXhr = new XHR();
	MyXhr.open("POST", rootWebSite + url, true);
	
	MyXhr.onreadystatechange = function() 
	{
		if(MyXhr.readyState == 4 ) 
		{
				if (MyXhr.responseText == 1)
				{
					funcGood();
				}
				else
				{
					funcFalse(MyXhr.responseText);
				}
		}	
	}

	MyXhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	MyXhr.send("");
}	// End function LoadContent() 


//¤¤¤¤¤ Si le numéro saisi n'est pas valide ¤¤¤¤¤
function numCarteFaux(flagFalse)
{
	//on test la validité du formulaire
	valid.validate()
	
	//Message d'erreur
	if (flagFalse == "-2")
	{
		document.getElementById('error_adh_num').innerHTML="Attention, le num&eacute;ro de carte saisi n'existe pas.";
		document.getElementById('error_adh_num').style.color="red";
	} else {
		document.getElementById('error_adh_num').innerHTML="Attention, le num&eacute;ro de carte saisi est p&eacute;rim&eacute;.";
		document.getElementById('error_adh_num').style.color="red";
	}
}


//¤¤¤¤¤ Si le numéro saisi n'est pas valide ¤¤¤¤¤
function numCarteNoOk(flagFalse)
{
	//Message d'erreur
	if (flagFalse == "-2")
	{
		document.getElementById('error_adh_num').innerHTML="Attention, le num&eacute;ro de carte saisi n'existe pas.";
		document.getElementById('error_adh_num').style.color="red";
	} else {
		document.getElementById('error_adh_num').innerHTML="Attention, le num&eacute;ro de carte saisi est p&eacute;rim&eacute;.'";
		document.getElementById('error_adh_num').style.color="red";
	}
}

//¤¤¤¤¤ Si le numéro saisi est valide ¤¤¤¤¤
function numCarteBon()
{	
	ValidAndSubmitForm(valid,'AccountForm');
}


// Effectue une validation et un submit du formulaire ( 01/02/2008, par d.guillard) ¤¤¤¤¤¤¤
function ValidAndSubmitForm(objValid,FormID)
{
	//on test la validité du formulaire
	if(objValid.validate())
	{
		// si valide, on soumet le formulaire
		document.getElementById(FormID).submit();
	}
}


//Si le numéro saisi est valide ¤¤¤¤¤
function numCarteOk()
{	
	//on reinitialise le label erreur
		if (document.getElementById('u_adh_num').value!= '')
		{
			document.getElementById('error_adh_num').innerHTML="Numero de carte valide";
			document.getElementById('error_adh_num').style.color="green";
		} else {
			document.getElementById('error_adh_num').innerHTML="";
		}	
}

//=====================================================================================
//Poste un formulaire via HTTPRequest
function PostForm(formName, url, TAGID, waitingMsg) 
{
	var MyXhr = new XHR();
	MyXhr.open("POST", url, true);
	
	MyXhr.onreadystatechange = function() 
	{
		if(MyXhr.readyState == 4) 
		{
			if (MyXhr.status==200)
			{
				var objMain = document.getElementById(TAGID);
				alert("PostForm...\n\n#\n" + MyXhr.responseText + "\n#\n");
				objMain.innerHTML = MyXhr.responseText;
			}
			else
			{
				ShowDebugMsg(MyXhr.responseText)
			}
			
			// si on est dans le cas d'une recherche, on regarde ensuite parmi le resultat 
			// de recherche quels elements sont selectionne et on active les checkbox correspondantes 

			initXHRLink();
		}
	}
	
	MyXhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	var dataObj = document.getElementById(formName);
	var dataStr = "?send=ok";

	for (nbElt=0;nbElt<dataObj.elements.length;nbElt++) 
	{
		if (dataObj.elements[nbElt].type=="checkbox")
		{
			var Elt = dataObj.elements[nbElt]
			if (Elt.checked)
			{
				dataStr+= "&" + dataObj.elements[nbElt].name + "=" + dataObj.elements[nbElt].value;
			}
		}
	else
		{
			dataStr+= "&" + dataObj.elements[nbElt].name + "=" + dataObj.elements[nbElt].value;
		}
	}
	MyXhr.send(dataStr);
	
	//************************************************
	MyXhr.onreadystatechange = function() 
	{
		if(MyXhr.readyState == 4) 
		{
			if (MyXhr.status==200)
			{
				var objMain = document.getElementById(TAGID);
				alert("PostForm...\n\n#\n" + MyXhr.responseText + "\n#\n");
				objMain.innerHTML = MyXhr.responseText;
			}
			else
			{
				ShowDebugMsg(MyXhr.responseText)
			}
			
			// si on est dans le cas d'une recherche, on regarde ensuite parmi le resultat 
			// de recherche quels elements sont selectionne et on active les checkbox correspondantes 

			initXHRLink();
		}
	}
	//************************************************
	
	if (waitingMsg!=undefined)
	{
		ShowWaitingMessage(waitingMsg);
	}
		else
	{
		ShowWaitingMessage(DEFAULT_WAITING_MESSAGE);
	}
	
	
} // END function PostForm(formName,url) 


//=====================================================================================
// Affiche le résulat d'une requete HTTPRequest dans un DIV de debug
function ShowDebugMsg(msg)
{
	var objMain=document.getElementById("debug");
	objMain.innerHTML = msg;
}
//=====================================================================================
// FIN  function ShowDebugMsg



//=====================================================================================
//===============================     FIN  XHR           ================================
//=====================================================================================



//=====================================================================================
//Affiche un message d'attente pendant qu'une recherche est effectuee
//de maniere asynchrone
function ShowWaitingMessage(message,TAGID)
{
	var newHTML="";
	var objMain=document.getElementById(TAGID);
	
	if (objMain)
	{
		newHTML += "<p><br><br>" + message + "<br><br>";
		newHTML += "<img src=\"" + docRoot + "/i/loading.gif\"></p>";
	
		objMain.innerHTML = newHTML;
		return true;
	}
	else
	{
		return false;
	}
	
}
// FIN  function ShowWaitingMessage
//=====================================================================================



//=====================================================================================
// Cette fonction parse un contenu HTML, récupère tous les liens et ajoute un évènement onclick sur chacun d'eux
// Permet d'utiliser XHR sous forme d'un lien simple
function initXHRLink()
{
	if (!document.getElementsByTagName){ return; }
	var anchors = document.getElementsByTagName("a");

	// loop through all anchor tags
	for (var i=0; i<anchors.length; i++) 
	{
		var anchor = anchors[i];

		if (anchor.getAttribute("href") && (anchor.getAttribute("type") == "XHRLink"))
		{
			anchor.onclick = function () 
			{
				LoadContent(this.href,'main');
				return false;
			}
		}
	}
} // FIN  function initXHRLink



//=====================================================================================
function addLoadEvent(func)
{	
	var oldonload = window.onload;
	
	if (typeof window.onload != 'function') 
	{
    	window.onload = func;
	}
	else 
	{
		window.onload = function() 
		{
			oldonload();
			func();
		}
	}
}


addLoadEvent(initXHRLink);	// lance l'analyse des liens



function showTextFor(idBlocToShow, myLink)
{
	var myBloc = document.getElementById(idBlocToShow);
	var posSharp =  myLink.href.indexOf("#",0) + 1;
	var curMode = myLink.href.substring(posSharp, myLink.href.length - 1);
	var pos  = myLink.href.substring(myLink.href.length - 1,myLink.href.length);
	

	
	if (curMode != "lire")
	{
	
		myLink.href = "#lire" + pos;
		myLink.innerHTML = "Lire la suite >";
		myLink.className ="";
		
		myBloc.style.display = "none";
		
	}
	else
	{
		closeOtherText();
		
		myLink.href = "#mask" + pos;
		myLink.innerHTML = "< Masquer le texte";
		myLink.className ="al-dr";
		
		myBloc.style.display = "block";
		myBloc.style.backgroundColor = "#FBFAFA";
		myBloc.style.borderBottom ="3px double #eee";
		myBloc.style.borderTop = "3px double #eee";
		
		
		if (document.getElementById('evt_img' + pos))
		{
			myBloc.style.marginRight = '120px';
			myLink.style.marginRight = '120px';
		}
	}
}


function closeOtherText()
{
	var allLink = document.getElementsByTagName("a");
	
	for(var i = 0; i < allLink.length - 1; i++)
	{
		currentLink = allLink[i];
		curMode = currentLink.href.substring(currentLink.href.indexOf("#",0) + 1, currentLink.href.length - 1);
		if(curMode == "mask")
		{
			pos = currentLink.href.substring(currentLink.href.length - 1,currentLink.href.length);
			
			currentLink.href = "#lire" + pos;
			currentLink.className ="";
			currentLink.innerHTML = "Lire la suite >";
			document.getElementById('evt_text' + pos).style.display = "none";
		}
	}
}

// Cete fonction javascript va se diviser en 3 étapes
// 1- affichage d'une temporisation, 
// 2- Chargement du nouveau contenu 
// 3- Mise à jour de la taille de la box (Elle ne doit jamais diminuer)
function navInBloc(idBloc, paramAdd, Page, nbItem_byPage, idAHREF_click)
{
	var MyXhr = new last_httpRequest(docRoot + '/ajax/ajax_request.aspx', paramAdd + '&page=' + Page + '&nbItem_byPage=' + nbItem_byPage, 'POST');
	var curElement = document.getElementById(idBloc);

	// Récupération et/ou assignation de la hauteur de la box
	/*if (curElement.parentNode.style.height.length < 3)
	{
		parentCur.style.height = CurHeight + 'px';
	}
	else
	{
		CurHeight = parentCur.style.height.substr(0,parentCur.style.height.length - 2);
	}*/

	
	curElement.style.backgroundColor = "#E5E5E5";
	curElement.innerHTML = "<img src='/i/loading.gif' width='20px'/> Chargement en cours" 
	
	
	// XHR start
	MyXhr.createRequestObject();
	MyXhr.sendGetReq();
	MyXhr.xmlHttp.onreadystatechange = function() 
	{	
		if(MyXhr.xmlHttp.readyState == 4 ) 
		{
		
			if (MyXhr.xmlHttp.status == 200)
			{
				var htmlRetour = MyXhr.xmlHttp.responseText;
	
				if (curElement)
				{
			
					curElement.innerHTML = htmlRetour;
					curElement.style.backgroundColor = "transparent";
					
					// on met à jour la taille de la box après intégration du new HTML
					/*
					
					if (CurHeight <= curElement.parentNode.scrollHeight)
					{
						CurHeight = parentCur.scrollHeight;
					}


					parentCur.style.height   = CurHeight + 'px';						
					parentCur.style.overflow = 'visible';
					
					heightH3 = 0;
					heightDIV = 0;
					
					for(var i=0;i< parentCur.childNodes.length;i++)
					{ 
						if (parentCur.childNodes[i].tagName == 'H3')
						{heightH3 = parentCur.childNodes[i].offsetHeight}
						else
						{heightDIV = parentCur.childNodes[i].offsetHeight}
					}
					
					heightUse = 0;
					nodeDivClearBoth = curElement;
					for(var i=0;i< curElement.childNodes.length;i++)
					{ 
						if (curElement.childNodes[i].className == 'clearBoth')
						{nodeDivClearBoth = curElement.childNodes[i];}
						else 
						{heightUse += curElement.childNodes[i].offsetHeight;}
					}*/
					
					 /*
					 if((CurHeight - heightDIV - heightH3) > 0)
					 {
						nodeDivClearBoth.style.height = (CurHeight - heightDIV - heightH3) + 'px';
						nodeDivClearBoth.innerHTML = '&nbsp;';
					 }
					 else
					 {
						parentCur.style.height   = (heightDIV + heightH3) + 'px';
						nodeDivClearBoth.style.height = '0px'; 
						nodeDivClearBoth.innerHTML = '';	
					 }*/
	
				}
			}
			else
			{
				ShowDebugMsg(MyXhr.responseText)
			}
		}	
	}
}   


//=====================================================================================
//Fonction qui met à jour la demande de dédicace pour une ligne panier,
// apres avoir controlé le formulaire
function verifForm_dedicace(curForm)
{
	var m_content = curForm.content_forDedicace;
	var m_check = curForm.check_forDedicace;
	var reussite = true;
	var myAlert = "Merci de renseigner : \n";
	
	if ((m_check.checked) && m_content.value.length == 0)
	{
		myAlert += "- votre demande de dédicace. \n";
		reussite = false;
	}
	
	
	if (!reussite)
	{
		alert(myAlert);
	}

	return reussite
}


// ¤¤¤¤¤¤¤¤¤ ZONE BACKOFFICE AVIS LECTEUR ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤//
//=====================================================================================
//Fonction qui met à jour un avis par XHR
// idTask : 0 - Modération | 1 - Bloquer | 2 - Archiver | 3 - En Ligne
function UpdateThisAvis_byAjax(idAvis,idTask,from)
{
	// on se rend via AJAX airline dans le processus de maj		
	URIpath = docRoot + '/ajax/ajax_BO_request.aspx?idControl=1&doTask=' + idTask + '&idAvis=' + idAvis + '&from=' + from; 	  

	// Les parametres du Filtre si on viens du listing des avis
	if (from == 'avis')
	{
		ParamFilter = '&ajax_txtRechercheEAN=' + document.getElementById('ctl00_txtRechercheEAN').value;
		ParamFilter += '&ajax_cboEtat=' + document.getElementById("ctl00_cboEtat").options[document.getElementById("ctl00_cboEtat").selectedIndex].value;
		ParamFilter += '&ajax_cboModeration=' + document.getElementById("ctl00_cboModeration").options[document.getElementById("ctl00_cboModeration").selectedIndex].value;
		ParamFilter += '&ajax_cboStatut=' + document.getElementById("ctl00_cboStatut").options[document.getElementById("ctl00_cboStatut").selectedIndex].value;
		ParamFilter += '&ajax_page=' + document.getElementById("curPagination").value;
		ParamFilter += '&ajax_typeRayon=' + document.getElementById("curTypeRayon").value;
		ParamFilter += '&ajax_filtre=' + document.getElementById("curFiltre").value;
	
		// puis on effectue le tout
		LoadContent(URIpath + ParamFilter,"ListAvisLecteur","","");
	} else {
		// puis on effectue le tout
		LoadContent(URIpath,"","","document.location.href='../avis/index.aspx';");
	}		
}


// ¤¤¤¤¤¤¤¤¤ ZONE BACKOFFICE AFFILIATIONS ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤//
//=====================================================================================
//Fonction qui met à jour le statut d'un affilie
function UpdateAffiliation_byAjax(idAffilie,statutAffilie)
{
		// on se rend via AJAX dans le processus de maj		
		URIpath = docRoot + '/ajax/ajax_BO_request.aspx?idControl=3&idAffilie=' + idAffilie + '&statut=' + statutAffilie; 	  
		
		// Les parametres du Filtre
		ParamFilter = '&ajax_filtre_statut=' + document.getElementById("filtre_statut_affilie").options[document.getElementById("filtre_statut_affilie").selectedIndex].value;
		ParamFilter += '&ajax_filtre_type=' + document.getElementById("filtre_type_affilie").options[document.getElementById("filtre_type_affilie").selectedIndex].value;
		ParamFilter += '&ajax_filtre_nom=' + document.getElementById('filtre_nom_affilie').value;

		// puis on effectue le tout
		LoadContent(URIpath + ParamFilter, "listing_affiliations", "", "");
}


//¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤$
function apply_filter_cmd_affilie(idAffilie)
{
		// on se rend via AJAX dans le processus de maj		
		URIpath = docRoot + '/ajax/ajax_BO_request.aspx?idControl=8&id=' + idAffilie; 	  
		        
		// Les parametres du Filtre
		ParamFilter = '&dateDeb=' + document.getElementById("dateDeb").options[document.getElementById("dateDeb").selectedIndex].value;
		ParamFilter += '&moisDeb=' + document.getElementById("moisDeb").options[document.getElementById("moisDeb").selectedIndex].value;
		ParamFilter += '&anneeDeb=' + document.getElementById("anneeDeb").options[document.getElementById("anneeDeb").selectedIndex].value;
		ParamFilter += '&dateFin=' + document.getElementById("dateFin").options[document.getElementById("dateFin").selectedIndex].value;
		ParamFilter += '&moisFin=' + document.getElementById("moisFin").options[document.getElementById("moisFin").selectedIndex].value;
		ParamFilter += '&anneeFin=' + document.getElementById("anneeFin").options[document.getElementById("anneeFin").selectedIndex].value;
		ParamFilter += '&statut_recap=' + document.getElementById("statut_recap").options[document.getElementById("statut_recap").selectedIndex].value;

		// puis on effectue le tout
		LoadContent(URIpath + ParamFilter,"aff_commandes","","");
}



//=====================================================================================	
// ¤¤¤¤¤¤¤¤¤ ZONE BACKOFFICE PARTENAIRES ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤//
//=====================================================================================

function set_this_liste_to_partenaire(current_partenaire,current_liste_selection)
{
		// on se rend via AJAX dans le processus de maj		
		URIpath = docRoot + '/ajax/ajax_BO_request.aspx?idControl=12&current_partenaire=' + current_partenaire + '&current_liste_selection=' + current_liste_selection; 	  
		        
		// puis on effectue le tout
		LoadContent(URIpath,"","","");
}


function delete_this_liste_selection_of_partenaire(current_partenaire, current_liste_selection)
{
	if(confirm('Etes vous certain de vouloir supprimer cette liste ?'))
	{
		// on se rend via AJAX dans le processus de maj		
		URIpath = docRoot + '/ajax/ajax_BO_request.aspx?idControl=13&current_liste_selection=' + current_liste_selection; 	  
		        
		// puis on effectue le tout
		LoadContent(URIpath,"","","");
		
		//Redirection sur cette même page, pour afficher l'écran mis à jour
		window.location.replace(docRoot + "/admin/Partenaire/liste_selection/index.aspx?id=" + current_partenaire);
	}
}


function affiche_this_partenaire_ean(this_sel,this_ean,current_coche,is_reg)
{
	if(current_coche==true)
	{
		current_coche = '1';
	}else{
		current_coche = '0';
	}
	
		// on se rend via AJAX dans le processus de maj		
		URIpath = docRoot + '/ajax/ajax_BO_request.aspx?idControl=14&current_liste_selection=' + this_sel + '&current_ean=' + this_ean + '&current_coche=' + current_coche + '&is_reg=' + is_reg; 	  
		        
		// puis on effectue le tout
		LoadContent(URIpath,"hidden_javascript","","");
		
		//Redirection sur cette même page, pour affiché l'écran mis à jour
		window.location.replace(docRoot + "/admin/Partenaire/selection/index.aspx?reg=" + is_reg);
}


function affiche_this_partenaire_classement(this_partenaire, this_classement, this_ean, current_coche, current_page)
{
	//alert(" this_partenaire="+this_partenaire+"\n this_classement="+this_classement+"\n this_ean="+this_ean+"\n current_coche="+current_coche+"\n current_page="+current_page+"\n ");
	
	if(current_coche==true) {
		current_coche = '1';
	}
	else {
		current_coche = '0';
	}
	
	// on se rend via AJAX dans le processus de maj		
	URIpath = docRoot + '/ajax/ajax_BO_request.aspx?idControl=15&current_partenaire=' + this_partenaire + '&current_classement=' + this_classement + '&current_ean=' + this_ean + '&current_coche=' + current_coche + '&page=' + current_page; 	  
	
	/*
	//--------------------------------------------------------------------
	// puis on effectue le tout
	if(this_classement=='0')
	{
		LoadContent(URIpath,"nouveautes_partenaire","","");		
	}else{
		LoadContent(URIpath,"meilleures_ventes_partenaire","","");
	}
	//--------------------------------------------------------------------
	*/
	
	
	var MyXhr = new XHR();
	MyXhr.open("POST", URIpath, true);
	
	MyXhr.onreadystatechange = function() 
	{
		if(MyXhr.readyState == 4 ) 
		{
			if (MyXhr.status == 200)
			{
				//document.location.reload();
				if (this_classement == 0) {
					document.location.href = docRoot + "/admin/Partenaire/nouveautes/index.aspx?id=" + this_partenaire;
				} else {
					document.location.href = docRoot + "/admin/Partenaire/meilleures_ventes/index.aspx?id=" + this_partenaire;
				}
			}
			else
			{
				ShowDebugMsg(MyXhr.responseText)
			}
		}	
	}
	
	MyXhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	MyXhr.send("");
	
}


function inscription_News_Partenaire(this_partenaire, thisEmail, thisParamInscrip) 
{

	url = docRoot + '/ajax/ajax_request.aspx?idControl=60&current_partenaire=' + this_partenaire + '&current_email=' + thisEmail + '&current_inscrip=' + thisParamInscrip; 	  
	var myXHR = new httpRequest(url, "", "POST");
	        
	print_pseudoPopUp_InscripNews(url, "", true, 2, "Chargement en cours...");

	return false;
	
}


//dh le 23092011
//pour le contrôle des MV/NV partenaire
function maj_ToUp_EanInClassementCMS(this_partenaire, this_type_classement, thisEan, this_last_rang, isChecked)
{
	var current_coche;
	//alert(' isChecked = ' + isChecked);
	
	if(isChecked==true) {
		current_coche = '1';
	}
	else {
		current_coche = '0';
	}
	//alert(' current_coche = ' + current_coche );
	
	// on se rend via AJAX dans le processus de maj		
	URIpath = docRoot + '/ajax/ajax_BO_request.aspx?idControl=17&current_partenaire=' + this_partenaire + '&current_Type_classement=' + this_type_classement + '&current_ean=' + thisEan + '&current_last_rang=' + this_last_rang + '&current_coche=' + current_coche ; 	  
	
	
	var MyXhr = new XHR();
	MyXhr.open("POST", URIpath, true);
	
	MyXhr.onreadystatechange = function() 
	{
		if(MyXhr.readyState == 4 ) 
		{
			if (MyXhr.status == 200)
			{
				//document.location.reload();
				/*if (this_type_classement == 0) {
					document.location.href = docRoot + "/admin/Partenaire/nouveautes/index.aspx?id=" + this_partenaire;
				} else {
					document.location.href = docRoot + "/admin/Partenaire/meilleures_ventes/index.aspx?id=" + this_partenaire;
				}*/
			}
			else
			{
				ShowDebugMsg(MyXhr.responseText)
			}
		}	
	}
	
	MyXhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	MyXhr.send("");
	
}

//dh le 23092011
//MAJ EAN pour une suppression d'un ean de laliste des eans d'un partenaire
function maj_ToSup_EanInClassementCMS(this_partenaire, this_type_classement, thisEan, isChecked)
{
	var current_coche;
	//alert(' isChecked = ' + isChecked);
	
	if(isChecked==true) {
		current_coche = '1';
	}
	else {
		current_coche = '0';
	}
	//alert(' current_coche = ' + current_coche );
	
	// on se rend via AJAX dans le processus de maj		
	URIpath = docRoot + '/ajax/ajax_BO_request.aspx?idControl=18&current_partenaire=' + this_partenaire + '&current_Type_classement=' + this_type_classement + '&current_ean=' + thisEan + '&current_coche=' + current_coche ; 	  
	
	
	var MyXhr = new XHR();
	MyXhr.open("POST", URIpath, true);
	
	MyXhr.onreadystatechange = function() 
	{
		if(MyXhr.readyState == 4 ) 
		{
			if (MyXhr.status == 200)
			{
				//document.location.reload();
				/*if (this_type_classement == 0) {
					document.location.href = docRoot + "/admin/Partenaire/nouveautes/index.aspx?id=" + this_partenaire;
				} else {
					document.location.href = docRoot + "/admin/Partenaire/meilleures_ventes/index.aspx?id=" + this_partenaire;
				}*/
			}
			else
			{
				ShowDebugMsg(MyXhr.responseText)
			}
		}	
	}
	
	MyXhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	MyXhr.send("");
	
}

//  ###############################################################################################
// ################################   Contrôles des codes postaux   ################################
//  ###############################################################################################

/**
 * Tristan - 27/05/2011 
 * Complétion automatique sur les codes postaux français à chaque caractère saisi 
 * => événement onkeyup du <input> 
 * param nbCar_start : nb minimum de caractères à saisir pour lancer la recherche 
 */
function findZipCode(cp, nbCar_start, idPays) 
{
	i//f (cp.length >= nbCar_start) {alert("findZipCode(" + cp + ", " + nbCar_start + ", " + idPays + ")...\n\ncp.length = " + cp.length);}
	
	// Tristan - 12/09/2011 
	idPays = -1 // => pour tjs afficher la liste des codes de la table...
	
	// Chargement en cours... 
	document.getElementById("adr_cp_suggest").innerHTML = '<span style="color:#9b8884;"><img src="/i/loading.gif" border="0" style="position:relative; top:4px;" /> Recherche de codes postaux en cours...</span>';
	
	selectCountry_all(idPays);
	
	document.getElementById("adr_pays").disabled = false;
	document.getElementById("adr_ville").disabled = false;
	document.getElementById("fr").innerHTML = "";
	document.getElementById("validate_adr_cp").innerHTML = "";
	document.getElementById("validate_adr_ville").innerHTML = "";
	
	//alert(document.getElementById("adr_pays").value + " : country_isFrench = " + document.getElementById("adr_pays_is_french").value);
	
	if (cp.length >= nbCar_start && cp.length <= 5) // document.getElementById("adr_pays_is_french").value == 1 && 
	{
		var scriptUrl = docRoot + '/ajax/ajax_request.aspx?idControl=100&cp=' + cp + '&idPays=' + idPays;
		var MyXhr = new XHR();
		MyXhr.open("POST", scriptUrl, true);
		
		MyXhr.onreadystatechange = function() 
		{
			if(MyXhr.readyState == 4 ) 
			{
				
				if (MyXhr.status == 200)
				{
					if (MyXhr.responseText != "") 
					{
						document.getElementById("adr_cp_suggest").innerHTML = MyXhr.responseText;
					}
					else 
					{
						document.getElementById("adr_cp_suggest").innerHTML = "";
					}
				}
				else
				{
					ShowDebugMsg(MyXhr.responseText)
				}
			}	
		}
		
		MyXhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		MyXhr.send("");
		
	}
	else 
	{
		document.getElementById("adr_cp_suggest").innerHTML = "";
	}
}


/**
 * Tristan - 30/05/2011 
 * Affichage des ville et pays pour un code postal donné par son ID 
 * qd on a sélectionné le code dans la liste déroulante 
 * => événement onchange du <select> des codes postaux 
 */
function fillZipCode(cpID) 
{
	//alert("fillZipCode(" + cpID + ")...\n\n");
	
	var scriptUrl = docRoot + '/ajax/ajax_request.aspx?idControl=101&cpID=' + cpID;
	var MyXhr = new XHR();
	MyXhr.open("POST", scriptUrl, true);
	
	MyXhr.onreadystatechange = function() 
	{
		if(MyXhr.readyState == 4 ) 
		{
			
			if (MyXhr.status == 200)
			{
				if (MyXhr.responseText.length > 0) 
				{
					// Le script renvoie la chaîne suivante : "<codePostal>;<commune>;<idPays>" 
					
					var tab = MyXhr.responseText.split(";");
					if (tab.length == 3) 
					{
						//alert("tab = " + tab[0] + " ; " + tab[1] + " ; " + tab[2]); 
						document.getElementById("adr_cp").value = tab[0];
						document.getElementById("adr_ville").value = tab[1];
						document.getElementById("adr_ville").disabled = true;
						document.getElementById("adr_ville_id").value = tab[1];
						document.getElementById("adr_pays").value = tab[2];
						document.getElementById("adr_pays").disabled = true;
						document.getElementById("adr_pays_id").value = tab[2];
						
						document.getElementById("fr").innerHTML = "Pour r\351activer la liste des pays, veuillez modifier le code postal.";
						document.getElementById("validate_adr_ville").innerHTML = "<span style=\"color:#9b8884;\">Pour r\351activer le champ ville,<br/>veuillez modifier le code postal.</span>";
						document.getElementById("adr_cp_suggest").innerHTML = "";
						document.getElementById("validate_adr_cp").innerHTML = "";
						
					}
				}
			}
			else
			{
				ShowDebugMsg(MyXhr.responseText)
			}
		}	
	}
	
	MyXhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	MyXhr.send("");
	
}

/**
 * Tristan - 30/05/2011 
 * Vérification du code postal saisi. 
 * Affichage des ville et pays pour ce code postal  
 * qd on a tappé le code complet dans le champ (onblur) 
 * => événement onblur du <input> 
 */
function checkZipCode(cp, idPays) 
{
	var msg_cpNotFrench = "<span style=\"color:red;\">Attention ! Ce code postal n'est pas valable pour la m\351tropole.<br/>Veuillez modifier le code postal ou le pays.</span>";
	
    if (idPays == 0) 
    {
        if (cp >= 1000 && cp <= 95999) {
            document.getElementById("validate_adr_cp").innerHTML = "";
        }
        else {
            document.getElementById("validate_adr_cp").innerHTML = msg_cpNotFrench;
        }
    }
    else {
        document.getElementById("validate_adr_cp").innerHTML = "";
    }
}
function checkZipCode__(cp, idPays) 
{
	// On efface la liste des codes suggérés 
	//document.getElementById("adr_cp_suggest").innerHTML = "";
	
	var pays_isFrench = (document.getElementById("adr_pays_is_french").value == 1); // champ hidden 
	
	var msg_cpNotFrench = "<span style=\"color:red;\">Attention ! Ce code postal n'est pas valable pour le pays choisi.<br/>Veuillez modifier le code postal ou le pays.</span>";
	
	//alert("checkZipCode('" + cp + "')...\n- idPays = " + idPays + "\n- pays_isFrench = " + pays_isFrench + "\n  document.getElementById('adr_pays_is_french').value = " + document.getElementById("adr_pays_is_french").value);
	
	if (cp.length > 0) 
	{
		
		if (cp.length == 5) // && pays_isFrench) 
		{
			var scriptUrl = docRoot + '/ajax/ajax_request.aspx?idControl=102&cp=' + cp + '&idPays=' + idPays;
			var MyXhr = new XHR();
			MyXhr.open("POST", scriptUrl, true);
			
			
			MyXhr.onreadystatechange = function() 
			{
				if(MyXhr.readyState == 4 ) 
				{
					if (MyXhr.status == 200)
					{
						if (MyXhr.responseText.length > 0) 
						{
							var tab = MyXhr.responseText.split(";");
							// scriptUrl renvoie la chaîne "<codePostal>;<commune>;<idPays>" 
							// si le code postal est bien dans la table des codes français et si il correspond à une seule ville 
							
							// scriptUrl renvoie la chaîne "-1" 
							// si le code postal est bien dans la table des codes français et si il correspond à plusieurs villes 
							
							/*
							if (tab.length != 3) {
								alert("checkZipCode('" + cp + "', " + idPays + ")...\n\ntab.length = " + tab.length + "\n\n" + MyXhr.responseText+ "\n\ntab[0]  = " + tab[0]);
							}
							*/
							
							if (tab.length == 3) 
							{
								// Là le code postal est bien français et correspond à une seule ville 
								document.getElementById("adr_cp").value = tab[0];
								
								if (pays_isFrench) 
								{
									// Si le pays sélectionné est français aussi, on remplit les champs ville et pays, 
									// et on vérouille la liste des pays et la ville
									document.getElementById("adr_ville").value = tab[1];
									document.getElementById("adr_ville_id").value = tab[1];
									document.getElementById("adr_pays").value = tab[2];
									document.getElementById("adr_pays_id").value = tab[2];
									
									document.getElementById("adr_pays").disabled = true;
									document.getElementById("adr_ville").disabled = true;
									document.getElementById("fr").innerHTML = "Pour r\351activer la liste des pays, veuillez modifier le code postal.";
									//document.getElementById("validate_adr_pays").innerHTML = "Pour r\351activer la liste des pays, veuillez modifier le code postal.";
								}
								else 
								{
									// Si le pays sélectionné n'est pas français, 
									// on s'assure que les pays français sont actifs dans la liste 
									selectCountry_all(idPays);
									document.getElementById("validate_adr_cp").innerHTML = "";
								}
								
								document.getElementById("adr_cp_suggest").innerHTML = "";
							}
							else  {
								selectCountry_all(idPays);
								
								if (pays_isFrench && tab[0] == -1) {
									// Si le pays sélectionné est français, on mentionne l'erreur 
									document.getElementById("validate_adr_cp").innerHTML = msg_cpNotFrench;
								}
								else {
									document.getElementById("validate_adr_cp").innerHTML = "";
								}
							}
							/*
							else if (tab.length == 0)
							{
								// Là le code postal n'est pas français 
								// on s'assure que les pays français sont actifs dans la liste 
								selectCountry_all(idPays);
								
								if (pays_isFrench) {
									// Si le pays sélectionné est français, on mentionne l'erreur 
									document.getElementById("validate_adr_cp").innerHTML = msg_cpNotFrench;
								}
							}
							else {
								//alert("tutu\n" + MyXhr.responseText);
								//findZipCode(cp, 3, idPays);
							}
							*/
						}
						else 
						{
							// Là le code postal n'est pas français 
							// Si le pays sélectionné est français, on recharge la liste en désactivant les pays français 
							// et on mentionne l'erreur sur le code 
							if (pays_isFrench) 
							{
								//alert("checkZipCode('" + cp + "')...\n- chaine vide");
								selectCountry_notFrench();
								document.getElementById("validate_adr_cp").innerHTML = msg_cpNotFrench;
								document.getElementById("adr_pays").focus();
							}
						}
					}
					else
					{
						ShowDebugMsg(MyXhr.responseText)
					}
				}	
			}
			MyXhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			MyXhr.send("");
			
			
		} // END if (cp.length == 5 && document.getElementById("adr_pays_is_french").value == 1) 
		else if (cp.length > 5) 
		{
			// Là le code postal n'est pas français 
			// on s'assure que les pays français sont actifs dans la liste 
			selectCountry_all(idPays);
			
			if (pays_isFrench) {
				// Si le pays sélectionné est français, on mentionne l'erreur 
				document.getElementById("validate_adr_cp").innerHTML = msg_cpNotFrench;
			}
		}
		
	} // if (cp.length > 0) 
	else {
		document.getElementById("adr_cp_suggest").innerHTML = "";
		selectCountry_all(idPays);
	}
	
} // END function checkZipCode(cp, idPays) 


/**
 * Tristan - 17/06/2011 
 * => événement onchange du <select> des pays 
 * Pour savoir si un id_pays est français <=> si il est dans la table des codes_postaux 
 * Si oui, on vérifie le code postal (si il a été saisi) 
 */
function check_country_isFrench(idPays) 
{
	//alert("check_country_isFrench(" + idPays + ")...\n\n");
	
	/*
	// Le mieux, qd on change le pays, c'est de réinitialiser le code postal et la ville 
	document.getElementById("adr_cp").value = "";
	document.getElementById("adr_ville").value = "";
	*/
	
	var scriptUrl = docRoot + '/ajax/ajax_request.aspx?idControl=103&idPays=' + idPays;
	var MyXhr = new XHR();
	MyXhr.open("POST", scriptUrl, true);
	
	MyXhr.onreadystatechange = function() 
	{
		if(MyXhr.readyState == 4 ) 
		{
			
			if (MyXhr.status == 200)
			{
				if (MyXhr.responseText.length > 0 ) 
				{
					// scriptUrl renvoe la chaîne : "1" ou "0"
					//alert("check_country_isFrench(" + idPays + ") = " + MyXhr.responseText);
					
					document.getElementById("adr_pays_id").value = idPays;
					document.getElementById("adr_pays_is_french").value = MyXhr.responseText; // '0' ou '1' 
					
					if (MyXhr.responseText == '1') 
					{
						// L'idPays est bien français 
						if (idPays != 0) {
							document.getElementById("fr").innerHTML = "(France)";
						}
						else {
							document.getElementById("fr").innerHTML = "(France m&eacute;tropolitaine)";
						}
						
						//------------------------------------------------
						/* */
						// On regarde si un code postal est saisi :
						var cp = document.getElementById("adr_cp").value;
						if (cp.length > 0) 
						{
							
								document.getElementById("adr_cp").select();
								
								if (cp.length == 5) {
									// vérification du code 
									checkZipCode(cp, idPays);
								}
								else if (cp.length < 5) {
									findZipCode(cp, cp.length, idPays);
									document.getElementById("validate_adr_cp").innerHTML = "<span style=\"color:red;\">Le code postal doit contenir 5 chiffres pour la France</span>";
								}
								/*
								else if (cp.length == 3 || cp.length == 4) {
									// affichagede la liste de codes 
									findZipCode(cp, 3, idPays);
								}
								*/
						}
						else {
							document.getElementById("adr_ville").disabled = false;
						}
						
						
						//------------------------------------------------
					}
					else {
						document.getElementById("fr").innerHTML = "";
						document.getElementById("adr_ville").disabled = false;
						document.getElementById("validate_adr_cp").innerHTML = "";
					}
					
				}
			}
			else
			{
				ShowDebugMsg(MyXhr.responseText)
			}
		}	
	}
	
	MyXhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	MyXhr.send("");
	
}


/**
 * Tristan - 07/07/2011 
 * => événement onblur du champ code postal : checkZipCode(cp)
 * Si le code saisi n'est pas un code postal français, 
 * on désactive les pays français dans la liste déroulante 
 */
function selectCountry_notFrench() 
{
	var scriptUrl = docRoot + '/ajax/ajax_request.aspx?idControl=104';
	var MyXhr = new XHR();
	MyXhr.open("POST", scriptUrl, true);
	
	MyXhr.onreadystatechange = function() 
	{
		if(MyXhr.readyState == 4 ) 
		{
			
			if (MyXhr.status == 200)
			{
				if (MyXhr.responseText.length > 0) 
				{
					//document.getElementById("adr_pays").innerHTML = MyXhr.responseText;
					document.getElementById("sel_pays").innerHTML = MyXhr.responseText;
					document.getElementById("adr_pays_is_french").value = 0;
				}
			}
			else
			{
				ShowDebugMsg(MyXhr.responseText)
			}
		}	
	}
	
	MyXhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	MyXhr.send("");
	
}


/**
 * Tristan - 07/07/2011 
 * => événement onblur du champ code postal : checkZipCode(cp)
 * Si les pays français étaient désactivés, et si on efface le code saisi 
 * on réactive les pays français dans la liste déroulante 
 */
function selectCountry_all(idPays) 
{
	var scriptUrl = docRoot + '/ajax/ajax_request.aspx?idControl=105&idPays=' + idPays;
	var MyXhr = new XHR();
	MyXhr.open("POST", scriptUrl, true);
	
	MyXhr.onreadystatechange = function() 
	{
		if(MyXhr.readyState == 4 ) 
		{
			
			if (MyXhr.status == 200)
			{
				if (MyXhr.responseText.length > 0) 
				{
					//document.getElementById("adr_pays").innerHTML = MyXhr.responseText;
					document.getElementById("sel_pays").innerHTML = MyXhr.responseText;
					//document.getElementById("adr_pays_is_french").value = 1;
				}
			}
			else
			{
				ShowDebugMsg(MyXhr.responseText)
			}
		}	
	}
	
	MyXhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	MyXhr.send("");
	
}

/*
function clear_zipSuggest() 
{
	document.getElementById("adr_cp_suggest").innerHTML = "";
}
*/


