// ============================================================================================
// Fonctions pour rendre pjTagLib autonome
// --------------------------------------------------------------------------------------------
/*	Implement array.push for browsers which don't support it natively.
	Please remove this if it's already in other code */
if(Array.prototype.push == null){
	Array.prototype.push = function(){
		for(var i = 0; i < arguments.length; i++){
			this[this.length] = arguments[i];
		};
		return this.length;
	};
};

/*	Event Cache uses an anonymous function to create a hidden scope chain.
	This is to prevent scoping issues. */
var EvtCache = function(){
	var listEvents = [];

	return {
		listEvents : listEvents,
	
		add : function(node, sEventName, fHandler, bCapture){
			listEvents.push(arguments);
		},
	
		flush : function(){
			var i, item;
			for(i = listEvents.length - 1; i >= 0; i = i - 1){
				item = listEvents[i];
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				// From this point on we need the event names to be prefixed with 'on" 
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};
				if(item[0].detachEvent){
					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
}();
// ---------------------------------------------------
// Attachement des handlers non-intrusifs
// John Resig 
//http://ejohn.org/projects/flexible-javascript-events/
function pjTagLib_addEvent( obj, type, fn, cap ) {
	cap = false;
	if ( obj.attachEvent ) {
		try {
		 obj['e'+type+fn] = fn;
		 obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
		 obj.attachEvent( 'on'+type, obj[type+fn] );
		} catch(e){
		 return obj.attachEvent("on"+type, fn);
		}
	} else {
	 obj.addEventListener( type, fn, cap );
	}
	//-----------
	EvtCache.add(obj, type, fn, cap);
}
function pjTagLib_removeEvent( obj, type, fn, cap ) {
	if ( obj.detachEvent ) {
 		try {
	  	obj.detachEvent( 'on'+type, obj[type+fn] );
	  	obj[type+fn] = null;
		} catch(e){
			return obj.detachEvent("on"+type, fn);
		}
	} 
	else{
		 obj.removeEventListener( type, fn, cap );
	}
}
pjTagLib_addEvent(window, "unload", EvtCache.flush);
// ---------------------------------------------------
// Fonctions cookies
function pjTagLib_GetCookie (name) {
  var arg = name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i = 0;
  while (i < clen) {
    var j = i + alen;
    if (document.cookie.substring(i, j) == arg)
      return pjTagLib_getCookieVal (j);
	i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) break; 
  }
  return null;
}
//  "Internal" function to return the decoded value of a cookie
function pjTagLib_getCookieVal (offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
    endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr));
}
// ============================================================================================
// PJTAGLIB ............
// --------------------------------------------------------------------------------------------
  // Cette fonction parcourt le DOM de la page à  la recherche des 
  // objes marqués. Ces objets peuvent-être des liens, des iframes, des formulaires.
  // Elle positionne les fonctions de lancement des stats au clic sur les liens. Elle
  // initialisa l'appel à  un fichier ".do" pour la prise en compte des iframes partenaires.
	function _pjStatInitReperes(){
		var aLinks = document.getElementsByTagName("A");
		var areaLinks = document.getElementsByTagName("AREA");
		var aIframes = document.getElementsByTagName("IFRAME");
		var aForms = document.getElementsByTagName("FORM");
		_pjStatInitEvents(aLinks,areaLinks,aIframes,aForms);
	}
	
  	function _pjStatInitEvents(aLinks,areaLinks,aIframes,aForms){
  		_pjStatInitLinks(aLinks);
  		_pjStatInitLinks(areaLinks);
  		
		// Parsing des iframes PARTENAIRES -----------------------
		var j=0;
		while(j < aIframes.length ){
			if( /idPartenaire_/.test( aIframes[j].className ) ){
				window.setTimeout('_pjStatPartenaire( "'+aIframes[j].className+'" );',1000 );
			}
			j++;
		} 				
		// Parsing des FORMULAIRES --------------------------------
		var k=0;
		while(k < aForms.length ){
			var oForm = aForms[k];
			var sFrmClass = oForm.className; 
			
			if( /frmTag_/.test(sFrmClass) ){
				var arTypeFrmTag = sFrmClass.match(/(frmTag_)(\S+)/);
				var typeFrmTag = RegExp.$2;

				switch( typeFrmTag ){
					case 'INFO':
						pjTagLib_addEvent(oForm, "submit", function(){ _pjStatLienInfo(this); } );
						break;
					case 'SORTI':
						pjTagLib_addEvent(oForm, "submit", function(){ _pjStatLienSortie(this); } );
						break;
					case 'PAGE':
						pjTagLib_addEvent(oForm, "submit", function(){ _pjStatLienPage(this); } );
						break;
				}
			}
			k++;
		} 				
  	}
	function _pjStatInitLinks(aLinks) {
		var i=0;
		while(i < aLinks.length) {
			var oLink = aLinks[i]; 
			var sClass = oLink.className; 

			if (/aTag_/.test(sClass)) {
				// aTag_{INFO | SORTI | CARTO | PHOV | PAGE}
				var arTypeTag = sClass.match(/(aTag_)(\S+)/);
				var typeTag = RegExp.$2;
				switch (typeTag) {
					case 'INFO':
						pjTagLib_addEvent(oLink, "click", function(){ _pjStatLienInfo(this); });
						break;
					case 'SORTI':
						pjTagLib_addEvent(oLink, "click", function(){ _pjStatLienSortie(this); });
						break;
					case 'CARTO':
						pjTagLib_addEvent(oLink, "click", function(){ _pjStatCarto(this); });
						break;
					case 'PHOV':
						pjTagLib_addEvent(oLink, "click", function(){ _pjStatPhov(this); });
						break;
					case 'PAGE':
						pjTagLib_addEvent(oLink, "click", function(){ _pjStatLienPage(this); });
						break;
				}
			} else {
				if(undefined===window.liensGeneriques || liensGeneriques!='false'){ // Si on tag tous les liens...
		          pjTagLib_addEvent(oLink, "click",
		              function(){
		                  var sTagValue = "";
							if((this.getElementsByTagName("IMG")!=null) && (this.getElementsByTagName("IMG").length > 0)){
							    var oImg = this.getElementsByTagName("IMG")[0];
							    if( oImg && (oImg.getAttribute("alt") || oImg.getAttribute("title")) ){
							        sTagValue = (oImg.getAttribute("alt"))? oImg.getAttribute("alt") : oImg.getAttribute("title");
							    }
							    else if( oImg){
							 // si pas de title ou alt, on met une valeur par defaut "img" au lieu du source de l'image
							         sTagValue = "img";
							// sTagValue = oImg.getAttribute("src");
							    }
							}
		                  else if( this.getAttribute("alt") || this.getAttribute("title") ){
		                    sTagValue = ( this.getAttribute("alt") )? this.getAttribute("alt") : this.getAttribute("title");
		                  }else {
		                    sTagValue = (this.innerText)? this.innerText : this.text;
		                  }
		                  sTagValue = getStringSansAccents(sTagValue);
		                  // remplacement des caractères speciaux
		                  sTagValue = String(sTagValue).replace(/ /g, ".");
		                  sTagValue = String(sTagValue).replace(/&nbsp;/g, ".");
						  sTagValue = String(sTagValue).replace(/\n/g, "");
                          sTagValue = String(sTagValue).replace(/\r/g, "");
						  sTagValue = String(sTagValue).replace(/\t/g, "");
						  sTagValue = String(sTagValue).replace(/\0/g, "");
						  sTagValue = String(sTagValue).replace(/\x0B/g, "");
						  sTagValue = String(sTagValue).replace(/&#38;/g, ".");
						  // Suppression des espaces en debut et fin de chaine
						  sTagValue = trimPJTagLib(sTagValue);
		                  _pjStatLienGenerique(  "idTag_"+sTagValue );
		              }
		          );
				}
			}
			if (/aAladinAnnonceur_/.test(sClass)) {
				pjTagLib_addEvent(oLink, "click", function(){ _pjStatAladinAnnonceur(this); } );
			}
			
			i++;
		}
	}
	// Lancement de la fonction de capture de clics sur les objets repérés.
  	_pjStatInitReperes();

	function getStringSansAccents(string) {
		string = String(string).replace(/[']/g," ");
		string = String(string).replace(/[\340|\341|\342|\343|\344|\345]/g,"a");
		string = String(string).replace(/[\300|\301|\302|\303|\304|\305]/g,"A");
		string = String(string).replace(/[\350|\351|\352|\353]/g,"e");
		string = String(string).replace(/[\310|\311|\312|\313]/g,"E");
		string = String(string).replace(/[àâä]/gi,"a");
		string = String(string).replace(/[éèêë]/gi,"e");
		string = String(string).replace(/[îï]/gi,"i");
		string = String(string).replace(/[ôö]/gi,"o");
		string = String(string).replace(/[ùûü]/gi,"u");
		string = String(string).replace(/[ç]/gi,"c");
		return string;
	}
	
	
	// Fonction d'initialisation de la "session partenaire". 
	function _pjStatPartenaire( oThis ) {
		var sIdPartenaire = getLinkInfos(oThis)[2];
		sUrl  = urlPartenaire;
		sUrl += "?ServicePartenaire="+sIdPartenaire;
		sUrl += "&niveau1="+eStatVars["NIVEAU_1"];
		sUrl += "&niveau2="+eStatVars["NIVEAU_2"];
		sUrl += "&niveau3="+eStatVars["NIVEAU_3"];
		sUrl += "&niveau4="+eStatVars["NIVEAU_4"];
		sUrl += "&tagDePage="+eStatVars["TAGDEPAGE"];
		sUrl += "&init=true";
		
		// Création de l'appel ---------------
		_pjStatWriteImg( sUrl , false, 'imgPartenaire' );
	}
	
	// Récupération des types de liens ou d'iframes.
	// Si un objet est passé, on analyse son attribut "class"
	// Si une chaine est passée, on analyse la chaine.
	function getLinkInfos( oLink ) {
		var sClass = ( "string" == typeof(oLink) )? oLink : oLink.className;
		// aTag_{INFO | SORTI | CARTO | PHOV}
		var arTypeTag = sClass.match(/(aTag_|frmTag_)(\S+)/);
		var typeTag = ( arTypeTag != null && arTypeTag[2] != null )? arTypeTag[2] : null;
		// idTag_{id du tag}
		var arIdTag = sClass.match(/(idTag_)(\S+)/);
		var idTag = (arIdTag != null && arIdTag[2] != null )? arIdTag[2] : null;
		// idPartenaire_{id du partenaire}
		var arIdPartenaire = sClass.match(/(idPartenaire_)(\S+)/);
		var idPartenaire = (arIdPartenaire != null && arIdPartenaire[2] != null )? arIdPartenaire[2] : null;		
		var aInfosLink = new Array(typeTag, idTag, idPartenaire );
		return aInfosLink;
	}

  // Cette fonction, positionnée par _pjStatInitReperes(), est déclenché 
  // au clic sur les liens de type "info".
  // Son rôle est de lancer la fonction _pjEnvoiEStat() avec le lien 
  // cliqué en paramètre, et le type de lien.
  function _pjStatLienInfo( oThis ){
		var idTag = getLinkInfos( oThis )[1];
		
		var aLiensVars = new Array();
				aLiensVars["SERIAL"] 		= eStatVars["SERIAL"];
				aLiensVars["MASTER"] 		= eStatVars["MASTER"];
				aLiensVars["NIVEAU_1"] 	= eStatVars["NIVEAU_1"];
				aLiensVars["NIVEAU_2"] 	= eStatVars["NIVEAU_2"];
				aLiensVars["NIVEAU_3"] 	= eStatVars["NIVEAU_3"];
				aLiensVars["NIVEAU_4"] 	= eStatVars["TAGDEPAGE"];
				aLiensVars["CLIC_SANS_GRP2"] 	= eStatVars["CLIC_SANS_GRP2"];
				aLiensVars["ID_TAG"] 		= idTag;

		// Envoi des stats eStat
		_pjEnvoiEStat( "clic", "I", aLiensVars );
		
		if( getLinkInfos( oThis )[2] ){
			 _pjStatPartenaire( oThis );
		}
  }

  // Cette fonction, positionnée par _pjStatInitReperes(), est déclenché
  // au clic sur les liens generiques n'ayant pas d'information de tag.
  // Son rôle est de lancer la fonction _pjEnvoiEStat() avec le lien 
  // cliqué en paramètre, et le type de lien.
  function _pjStatLienGenerique( oThis ){
		var idTag = getLinkInfos( oThis )[1];
		
		var aLiensVars = new Array();
				aLiensVars["SERIAL"] 		= eStatVars["SERIAL"];
				aLiensVars["MASTER"] 		= eStatVars["MASTER"];
				aLiensVars["NIVEAU_1"] 	= eStatVars["NIVEAU_1"];
				aLiensVars["NIVEAU_2"] 	= eStatVars["NIVEAU_2"];
				aLiensVars["NIVEAU_3"] 	= eStatVars["NIVEAU_3"];
				aLiensVars["NIVEAU_4"] 	= eStatVars["TAGDEPAGE"];
				aLiensVars["CLIC_SANS_GRP2"] 	= eStatVars["CLIC_SANS_GRP2"];
				aLiensVars["ID_TAG"] 		= idTag;

		// Envoi des stats eStat
		_pjEnvoiEStat( "clic", "O", aLiensVars );
  }


  // Cette fonction, positionnée par _pjStatInitReperes(), est déclenché 
  // au clic sur les liens de type "sortie".
  // Son rôle est de lancer la fonction _pjEnvoiEStat() avec le lien 
  // cliqué en paramètre, et le type de lien.
  function _pjStatLienSortie( oThis ){
		var idTag = getLinkInfos( oThis )[1];

		var aSortieVars = new Array();
				aSortieVars["SERIAL"] 		= eStatVars["SERIAL"];
				aSortieVars["MASTER"] 		= eStatVars["MASTER"];
				aSortieVars["NIVEAU_1"] 	= eStatVars["NIVEAU_1"];
				aSortieVars["NIVEAU_2"] 	= eStatVars["NIVEAU_2"];
				aSortieVars["NIVEAU_3"] 	= eStatVars["NIVEAU_3"];
				aSortieVars["NIVEAU_4"] 	= eStatVars["TAGDEPAGE"];
				aSortieVars["CLIC_SANS_GRP2"] 	= eStatVars["CLIC_SANS_GRP2"];
				aSortieVars["ID_TAG"] 		= idTag;
		
		// Envoi des stats eStat
		_pjEnvoiEStat( "clic", "E", aSortieVars );
 }

  // Cette fonction est déclenché au clic sur les éléments cliquables 
  // des cartes.
  // Les paramètres sont : 
  // - Type : PLAN,VUE, ITI
  // - Nav : INIT ou NAV
  // - Fournisseur : MAPPY,IA,IGN
  // Son rôle est de lancer la fonction _pjEnvoiEStat()
  function _pjStatCarto( Type,Nav,Fournisseur){
  	
		var aCartoVars = new Array();
		aCartoVars["SERIAL_CARTO"]	= eStatVars["SERIAL_CARTO"];
		if(Nav != "INIT") {
			aCartoVars["MASTER"] 	= eStatVars["MASTER"];
		}else {
			aCartoVars["MASTER"] 	= "";
		}
		aCartoVars["SERIAL"]		= eStatVars["SERIAL"];
		aCartoVars["NIVEAU_1"] 		= Type;
		aCartoVars["NIVEAU_2"] 		= eStatVars["NIVEAU_2"];
		aCartoVars["NIVEAU_3"] 		= eStatVars["NIVEAU_3"];
		aCartoVars["TAGDEPAGE"] 	= eStatVars["TAGDEPAGE"]
		aCartoVars["ID_TAG"] 		= Nav;
		aCartoVars["FOURNISSEUR"] 	= Fournisseur;
		
		// Envoi des stats eStat
		_pjEnvoiEStat( "carto", Type, aCartoVars );
  }



  // Cette fonction est déclenché lors de l'appel aux guides par exemple.
	// Pose un "tag de page". 
	function _pjStatLienPage( oThis ){
		var idTag = getLinkInfos( oThis )[1];

		var aPageVars = new Array();
				aPageVars["SERIAL"] 		= eStatVars["SERIAL"];
				aPageVars["MASTER"] 		= eStatVars["MASTER"];
				aPageVars["NIVEAU_1"] 	= eStatVars["NIVEAU_1"];
				aPageVars["NIVEAU_2"] 	= eStatVars["NIVEAU_2"];
				aPageVars["NIVEAU_3"] 	= eStatVars["NIVEAU_3"];
				aPageVars["NIVEAU_4"] 	= eStatVars["TAGDEPAGE"]+"_"+idTag;
				aPageVars["ID_TAG"] 		= idTag;
	
		// Envoi des stats eStat
		_pjEnvoiEStat( "page", "I", aPageVars );
		// Envoi des stats Aladin
		_pjInitStatAladin();
  }

  // Pose un "tag de page".
  function _pjStatTagPage(){
		var aPageVars = new Array();
				aPageVars["SERIAL"] 		= eStatVars["SERIAL"];
				aPageVars["MASTER"] 		= eStatVars["MASTER"];
				aPageVars["NIVEAU_1"] 	= eStatVars["NIVEAU_1"];
				aPageVars["NIVEAU_2"] 	= eStatVars["NIVEAU_2"];
				aPageVars["NIVEAU_3"] 	= eStatVars["NIVEAU_3"];
				aPageVars["NIVEAU_4"] 	= eStatVars["NIVEAU_4"];
				aPageVars["ID_TAG"] 		= eStatVars["TAGDEPAGE"];

		// Envoi des stats eStat
		_pjEnvoiEStat( "page", "I", aPageVars );
		// Envoi des stats Aladin
		_pjInitStatAladin();
  }

  function _pjStatCompteur( oThis ){
		var idTag = getLinkInfos( oThis )[1];
		//eStatVars["NIVEAU_4"] = eStatVars["TAGDEPAGE"]+"_"+idTag;
		var aCptVars = new Array();
				aCptVars["SERIAL"] 		= eStatVars["SERIAL"];
				aCptVars["MASTER"] 		= eStatVars["MASTER"];
				aCptVars["NIVEAU_1"] 	= eStatVars["NIVEAU_1"];
				aCptVars["NIVEAU_2"] 	= eStatVars["NIVEAU_2"];
				aCptVars["NIVEAU_3"] 	= eStatVars["NIVEAU_3"];
				aCptVars["NIVEAU_4"] 	= eStatVars["TAGDEPAGE"];
				aCptVars["CLIC_SANS_GRP2"] 	= eStatVars["CLIC_SANS_GRP2"];
				aCptVars["ID_TAG"] 		= idTag;
			
		// Envoi des stats eStat
		_pjEnvoiEStat( "clic", "O", aCptVars );
		// Envoi des stats Aladin
		//_pjInitStatAladin();
  }

	  // Fonction de création/modification d'un élément du DOM pour envoi des stats
	  function _pjCallStat(  sUrl , oDest, sIdImg ){
	    var sHost = location.host;
	    if( (sHost.indexOf(domaine) > -1) || statPartenaire ){
	      _pjStatWriteImg( sUrl , oDest, sIdImg );
	    }
	    else{
	      _pjStatWriteIframe( sUrl , oDest, sIdImg );
	    }
	  }

	
	// Fonction d'écriture d'une image pour envoi des stats
	function _pjStatWriteImg( sUrl , oDest, sIdImg ){
		var sImId = (sIdImg)? sIdImg : 'pjStatImg';
		var d = document;
		var oImg = d.getElementById( sImId );
		if( oImg ){
			oImg.src = sUrl;
		}else{
			oImg = new Image(1,1);
			oImg.setAttribute("id", sImId );
			oImg.setAttribute("style", "width:1px;height:1px" );
			oImg.setAttribute("src", sUrl );

			var	oDestNode = ( oDest && oDest != false )? oDest : d.body;
			oDestNode.appendChild(oImg);
		}
	}
	
    // Fonction d'écriture d'une iframe pour envoi des stats
    function _pjStatWriteIframe( sUrl , oDest, sIdIfr ){
	    var sIframeId = (sIdIfr)? sIdIfr+"Ifr" : 'pjStatIfr';
	    // Cette url corresond au fichier htm qui joue le role de proxy. Ce fichier doit être accessible sous un domaine .pagejaunes.fr
	    var sIframeSrc = urlIframeEstat + sUrl;
	    var d = document;
	    var oIframe = d.getElementById( sIframeId );
	    
	    if( oIframe ){
	    	oIframe.src = sIframeSrc;
	    }else{
		    oIframe = document.createElement("iframe");
		    oIframe.setAttribute("id", sIframeId );
		    oIframe.style.width = "1px";
		    oIframe.style.height = "1px";
		    oIframe.setAttribute("style", "width:1px;height:1px" );
		    oIframe.setAttribute("src", sIframeSrc );
		    var oDestNode = ( oDest && oDest != false )? oDest : d.body;
		    oDestNode.appendChild(oIframe);
	    }
    }
    
    
	// Appel des stats eSTAT ===============================================================
  // Cette fonction appelée via les autres fonctions de cette librairie.
  // Son rôle est, en fonction du type de lien cliqué, de récupérer l'id 
  // du tag qui lui est passé en paramètre, de récupérer les variables 
  // "eStatVars", et de lancer une fonction eStat (et/ou autre) en 
  // passant ces paramètres.
  // Cette fonction retournera "true" de façon à  ce que l'utilisateur 
  // puisse se rendre à  l'url du lien cliqué
	
  // function _pjEnvoiEStat( typeAction, typeLien, idTag, sFournisseur ){
  function _pjEnvoiEStat( typeAction, typeLien, aVariables ){
		// paramètres					
		var _typeAction = ( typeAction != '' )? typeAction : 'clic';
		var _typeLien = ( typeLien != '' )? typeLien : 'I';
	
		var elink  = "";
		// Clic ----------------------------------------------------
		if( _typeAction == "clic" ){
			var clicSansGrp2= aVariables["CLIC_SANS_GRP2"];
			// Construction du lien.
			elink  = "http://p.pagesjaunes.fr/m/web/"+aVariables["SERIAL"]+"?g="+aVariables["MASTER"]+"&svc_mode="+_typeLien;
			elink += "&svc_campaign="+aVariables["NIVEAU_1"]+"&svc_partner="+aVariables["NIVEAU_2"];
			if (clicSansGrp2){
				elink += "&svc_position="+ aVariables["NIVEAU_4"];
			}else{
				elink += "&svc_position="+aVariables["NIVEAU_3"] + "_" + aVariables["NIVEAU_4"];
			}
			elink += "&svc_misc="+aVariables["ID_TAG"];
			elink += "&estat_url=noredirection";
		}
		// Page ----------------------------------------------------
		if( _typeAction == "page" ){
			elink  = "http://p.pagesjaunes.fr/m/web/"+aVariables["SERIAL"]+"?g="+aVariables["MASTER"];
			elink += "&c="+aVariables["NIVEAU_1"]+"&p="+aVariables["NIVEAU_2"];
			elink += "&l3="+aVariables["NIVEAU_3"]+"&l4="+aVariables["NIVEAU_4"]+"&st=0&amp;sjs=0";
		}
		// Carto ----------------------------------------------------
		if( _typeAction == "carto" ){
			// Construction du lien.
			elink = "http://p.pagesjaunes.fr/m/web/"+aVariables["SERIAL_CARTO"]+"?g="+aVariables["MASTER"];
			elink += "&c="+aVariables["NIVEAU_1"];
			elink += "&p="+aVariables["NIVEAU_2"]+"&l3="+aVariables["NIVEAU_3"];
			elink += "&l4="+aVariables["ID_TAG"]+"_"+aVariables["FOURNISSEUR"]+"&st=0&amp;sjs=0";
		}
		if( elink != "" ){
			var oDate = new Date();
			_pjCallStat( elink+"&_pjTs="+oDate.getTime(),false,'pjStatImg' );
		}
  }

	// Appel des stats ALADIN Annonceur ===============================================================
	function _pjStatAladinAnnonceur( oLink ){
		var sClass = String(oLink.className)
		var arTypeTag = sClass.match(/(aAladinAnnonceur_)(\S+)/);
		var aParams = RegExp.$2.split("-");
		var oDate = new Date();
		var sUrl = DocumentBase() + "genstat.do?typeService="+aParams[0]+"&typeRequete="+aParams[1]+"&typeAction="+aParams[2]+"&typeActionAnnonceur="+aParams[3]+"&idBloc="+aParams[4]+"&_pjTs="+oDate.getTime();
		_pjStatWriteImg( sUrl,false,'pjStatImgAl' );
	}
	
	//Cette fonction permet d'envoyer les informations 
	//de tag de page Aladin
	function _pjInitStatAladin(){
		var sUrl = urlAladin;
		var numero = Math.round(Math.random()*1000000000);
		var ref = window.document.referrer;
		var sRef = "";
		if(ref != ""){
			sRef = ref.split("?")[0];
		}
		var valCookie = 0;
		//test si le navigateur accepte les cookies
		if(document.cookie){
			//on recupère la valeur du cookie grace à  une fonction du fichier scriptCommun.js
			valCookie = pjTagLib_GetCookie("VisitorID");
			sUrl += "1|";
		}else{
			sUrl += "0|";
		}
		sUrl += eStatVars["NIVEAU_1"] + "|";
		sUrl += "1|";
		sUrl += eStatVars["CODESERVICE"] +"|";
		sUrl += eStatVars["ID_REQUETE"] +"|";
		sUrl += sRef +"|";
		sUrl += eStatVars["MASTER"] +"|";
		sUrl += "1|";
		sUrl += eStatVars["NIVEAU_2"] + "|";
		sUrl += eStatVars["NIVEAU_3"] + "|";
		sUrl += eStatVars["NIVEAU_4"] + "|";
		sUrl += numero + "|";
		sUrl += valCookie;

    	window.setTimeout('_pjStatWriteImg("'+sUrl+'", document.getElementById("N1_baspage"),"pjStatAladinImg");',100);
		// _pjStatWriteImg( sUrl, document.getElementById("N1_baspage"),'pjStatAladinImg');
	}
	
	pjTagLib_addEvent(window, "load", function(){ _pjInitStatAladin(); } );

	var regExpBeginning = /^\s+/;
	var regExpEnd = /\s+$/;
	// Supprime les espaces inutiles en début et fin de la chaîne passée en paramètre.
	function trimPJTagLib(aString) {
	    return aString.replace(regExpBeginning, "").replace(regExpEnd, "");
	}
	 
	// Supprime les espaces inutiles en début de la chaîne passée en paramètre.
	function ltrimPJTagLib(aString) {
	    return aString.replace(regExpBeginning, "");
	} 