if(typeof benchmark == "undefined") var benchmark = new Object();
if (typeof benchmark.framework == 'undefined') { benchmark.framework = new Object(); }
if (typeof benchmark.framework.dom == 'undefined') { benchmark.framework.dom = new Object(); }

if (typeof benchmark.framework.dom.loadScript == 'undefined') {
	
	/**
	 * Charge une page JS dans le header de la page grace à son URL
	 * 
	 * @var string urlScript
	 * @author Olivier Reyt <reyt@benchmark.fr>
	 * @since 1.00 - 03/09/2008 Olivier Reyt <reyt@benchmark.fr>
	 */
	benchmark.framework.dom.loadScript = function ( urlScript ) {
		var domElement = document.createElement('script');
		domElement.src = urlScript;
		domElement.setAttribute('language','JavaScript');
		document.getElementsByTagName('head')[0].appendChild(domElement);
	};

}
/*Execution au bout de n secondes (5 par exemple) et réalisera les tâches suivantes :
•	Test de présence des cookies de ciblage
o	Si présent et à jour :
	on ne fait rien
o	Si présent et pas à jour et en session (présence du cookie c_id_authentification) :
	on ne fait rien
o	Si présent et pas à jour et hors session (pas de cookie c_id_authentification) :
	on fait une requête sur http://set.linternaute.com/cgi/set/set_ciblacripub.php.
o	Si non présent :
	on fait une requête sur .

Un cookie est à jour si et seulement si :
•	La date d’expiration n’est pas dépassée (critère DCC dans le cookie CPS).
•	ET s’il contient à la fois les critères du RMID et les critères de l’id personne. Pour réaliser cela, il faudra sans doute ajouter un flag qui permet de savoir si c’est le cas.

Ce script ne crée pas de cookie pour les personnes en session !!!!!
*/

/**
 * Fonction appelant la création des cookies de ciblage si nécessaire
 */
function gereCookieCibl() {
	
	var faire_requete = false;
	
	var cookie_cps = lireCookie('CPS');
	var rmid = lireCookie('RMID');
	
	if(rmid == null) {
		// sans rmid, ça ne sert à riend de faire un appel
		faire_requete = false;
	} else if(cookie_cps == null) {
		// pas de cookie de ciblage
		faire_requete = true;
	} else {
		var id_authentification = lireCookie('c_id_authentification');
		if(id_authentification == null) {
			id_authentification = lireCookie('id_authentification');
		}

		if (id_authentification == null) {
			// hors session
		
			// on regarde la date de création des cookies
			var date_creation = '';
			var pos = cookie_cps.indexOf("DCC",0);
			if(pos != -1) {
			
				var pos2 = cookie_cps.indexOf("_",pos);
				if(pos2 != -1) {
					date_creation = cookie_cps.substr(pos+3, pos2-pos-3);
				} else {
					date_creation = cookie_cps.substr(pos+3, cookie_cps.length);
				}
	
				aujourdhui = new Date();
				time_ajourdhui = aujourdhui.getTime();
			
				// timestamp en milli-secondes en javascript alors que en seconde en php
				diff_jour = ((time_ajourdhui/1000) - date_creation) / 86400;
				if(diff_jour > 7) {
					faire_requete = true;
				}
			}
		}
	}
	
	if(faire_requete == true) {
		benchmark.framework.dom.loadScript('http://set.linternaute.com/cgi/set/set_ciblacripub.php');
	}
}

/**
 * getCookieVal : Lit l'ensemble d'un cookie
 *
 * Fonction qui permet d'accéder à l'ensemble des informations du cookie
 *
 * @param String nom Nom du cookie dont on veut les informations
 * @return String | NULL retourne la valeur du cookie ou NULL si pas de cookie
 */
function lireCookie(nom){
	var arg=nom+"=";
	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 getCookieVal(j);
		i=document.cookie.indexOf(" ",i)+1;
		if (i==0) break;
	}
	return null;
}

/**
 * getCookieVal : Retourne une valeur du cookie
 *
 * Fonction qui permet d'accéder à une valeur du cookie
 *
 * @return String retourne la valeur demandée
 */
function getCookieVal(offset){
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

// on créé les cookies au bout de 5 secondes
window.setTimeout('gereCookieCibl()', '5000');
