var CZdone = false;

function PageLoad (CZsiteName, CZpage) {
	// Le second argument, optionnel, est l'identifiant de page
	if (!CZpage)
	    CZpage = ExtractNameFromUrl(document.URL);
	CZpageUrl = document.URL;
	while (CZpageUrl.match(/&/))                        // Pour pouvoir passer les & en paramètre
		CZpageUrl = CZpageUrl.replace('&', "%26");

	// Le décalage horaire GMT est arrondi aux heures
	CZtz = Math.round(-((new Date()).getTimezoneOffset())/60);
	
	// On tente de mettre un identifiant de poste client dans un cookie
	CZclient = GetCookie ("CountZone2005");
	if (!CZclient) {
		d = new Date();									// On crée un identifiant de 9 chiffres
		CZclient = new String(history.length % 100) + new String(d.getMinutes()) + new String(d.getSeconds()) + new String(d.getMilliseconds());
		d = new Date(d.getTime() + 365*24*3600*1000);	// Durée de vie: 1 an
		SetCookie ("CountZone2005", CZclient, d, "/");
	}
	CZclient = GetCookie ("CountZone2005");
	if (CZclient.match(/[^0-9]/i))						// Que du numérique, sinon embrouille, certains brouillent!
		CZclient = 0;

	// On ne décompte pas si ce site est exclu
    if (location.search) {
        if (location.search.match(/.*exclude_that_site_from_CountZone=yes.*/)) {
			d = new Date();
			d = new Date(d.getTime() + 10*365*24*3600*1000);	// Durée de vie: 10 ans ;)
			SetCookie ("CountZoneExclude", "yes", d, "/");
		} else if (location.search.match(/.*exclude_that_site_from_CountZone=no.*/)) {
			d = new Date();
			d = new Date(d.getTime() - 1);
			SetCookie ("CountZoneExclude", "no", d, "/");
//			DeleteCookie("CountZoneExclude"); ne fonctionne pas !!
		}
	}
	if (CZexclude = GetCookie("CountZoneExclude"))
		return;
	// On écrit l'image en déclenchant le php de comptage
	CZreferer = document.referrer;
	while (CZreferer.match(/&/))                        // Pour pouvoir passer les & en paramètre
		CZreferer = CZreferer.replace('&', "%26");
	document.write('<img border="0" src="http://countzone.seston.net/AccessLog.php?CZclient=' + CZclient + '&CZpage=' + CZpage + '&CZpageUrl=' + CZpageUrl + '&CZreferer=' + CZreferer + '&CZsiteName=' + CZsiteName + '&CZtz=' + CZtz + '" onload="CZdone=true;">');
}

function ExtractNameFromUrl(url) {
	page = url.replace(/^.*:\/{2,}[^\/]*/, '');	// Enlève protocole et autres host
	page = page.replace(/^\/*/, '');     		// Enlève premiers '/' éventuels
	page = page.replace(/^index\.[^\/]*$/, ''); // Enlève 'index....' éventuel
	if (!page.length) {                         // S'il ne reste plus rien, on prend entre '//' et '/'
		page = url.replace(/^.*:\/{2,}/, '');
		page = page.replace(/\/.*$/, '');
	}
    page = page.replace(/\?.*$/, '');           // Enlève trailing params
    page = page.replace(/\/*$/, '');            // Enlève trailing slashes
	return page;
}

/*
   This script came from the 24 hour JavaScripts Site
located at http://www.javascripts.com.  It is brought to 
  you by Eric Jarvies, Lewis Sellers, Giuseppe Lombardo, 
          Kurt Anderson, and David Medinets.

            Distributed by Cookie Central. 
            http://www.cookiecentral.com 
*/

function 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 getCookieVal (j);    
		i = document.cookie.indexOf(" ", i) + 1;    
		if (i == 0) break;   
	}  
	return "";		// null replaced by nulll string (OS)
}

function getCookieVal(offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
    endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr));
}

function SetCookie (name, value) {  
	var argv = SetCookie.arguments;  
	var argc = SetCookie.arguments.length;  
	var expires = (argc > 2) ? argv[2] : null;  
	var path = (argc > 3) ? argv[3] : null;  
	var domain = (argc > 4) ? argv[4] : null;  
	var secure = (argc > 5) ? argv[5] : false;  
	document.cookie = name + "=" + escape (value) +
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
	((path == null) ? "" : ("; path=" + path)) +  
	((domain == null) ? "" : ("; domain=" + domain)) +    
	((secure == true) ? "; secure" : "");
}

function DeleteCookie (name) {  
	var exp = new Date();  
	exp.setTime (exp.getTime() - 1);  
	// This cookie is history  
	var cval = GetCookie (name);
alert(name + "=" + cval + "; expires=" + exp.toGMTString());
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
