var userand=true;
var rs1,rs2;
var ejs_server_date;

function lit_cook(nom) {
      var deb,fin;
      deb = document.cookie.indexOf(nom + "=");
      if (deb >= 0) {
         deb += nom.length + 1;
         fin = document.cookie.indexOf(";",deb);
         if (fin < 0) fin = document.cookie.length;
         return unescape(document.cookie.substring(deb,fin));
         }
      return "";
}
function randomToN(maxVal,floatVal) {
   var randVal = Math.random()*maxVal;
   return typeof floatVal=='undefined'?Math.round(randVal):randVal.toFixed(floatVal);
}  

if(userand) {
	//rs1=Math.floor(Math.random()*10); // 0-9	
	var rs0=lit_cook("EMSCrand"); 
	if(rs0!="") rs1=parseInt(rs0);
	else{ 
		rs1=parseInt(randomToN(20,0)); 
		document.cookie = "EMSCrand=" + escape(rs1) +";path=/";// domain="+document.domain; 
	}	
	rs2=rs1+30; //alert(rs1+"  "+rs2);
	if(rs1 < 10) rs1="0"+rs1;
}
else {
	rs1="00";
	rs2="30";
}		
function generateSerial(len) {
    var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
    var randomstring = "";
    for (var x=0;x<len;x++) {
        var letterOrNumber = Math.floor(Math.random() * 2);
        if (letterOrNumber == 0) {
            var newNum = Math.floor(Math.random() * 9);
            randomstring += newNum;
        } else {
            var rnum = Math.floor(Math.random() * chars.length);
            randomstring += chars.substring(rnum,rnum+1);
        }
    }
   return randomstring;
}
function efd(d) {	return (d < 10) ? "0"+d : d; }
function cook_expire() {
	var today = new Date();
	var expires_date = new Date( today.getTime() + (30*60*1000) ); /* 30minutes */
	return expires_date;
}

function lance_FSESSID() { 
	if(lit_cook('PHPSESSID_F')!="") return 1;
	else {	
		var F_ID=generateSerial(26);
		var daexp=cook_expire();
		document.cookie = "PHPSESSID_F=" + escape(F_ID) +";expires=" +  daexp.toGMTString()+";path=/;domain=" + document.domain.substr(document.domain.indexOf('.'));
		/*  if new */ var zdr=new Date(); 
		log_navigator2("first");//zdr.getUTCFullYear()+"-"+efd(zdr.getUTCMonth()+1)+"-"+efd(zdr.getUTCDate())+"_"+efd(zdr.getUTCHours()) + ":" + efd(zdr.getUTCMinutes())+":"+((zdr.getUTCSeconds()>=30) ? "30" : "00"));
	}
}
function set_server_date(Y,M,D,h,m,s) {	ejs_server_date = new Date(Y,M-1,D,h,m,s); }

function ejs_server_calc() {
//	static ejs_server_date = new Date(Y,M,D,h,m,s);
	ejs_server_date.setSeconds(ejs_server_date.getSeconds()+1);
	var ejs_server_year = ejs_server_date.getFullYear();
	var ejs_server_month = efd(ejs_server_date.getMonth()+1);
	var ejs_server_day = efd(ejs_server_date.getDate());
	var ejs_server_hour = efd(ejs_server_date.getHours());
	var ejs_server_min = efd(ejs_server_date.getMinutes());
	var ejs_server_sec = efd(ejs_server_date.getSeconds());
	ejs_server_texte = "Current time: "+ejs_server_year+"-"+ejs_server_month+"-"+ejs_server_day+" "+ejs_server_hour + ":" + ejs_server_min + ":" + ejs_server_sec+" UTC";
	if(document.getElementById("ejs_server_heure") != undefined) document.getElementById("ejs_server_heure").innerHTML=ejs_server_texte;
	
	if(ejs_server_sec == rs1) log_navigator2(ejs_server_year+"-"+ejs_server_month+"-"+ejs_server_day+"_"+ejs_server_hour + ":" + ejs_server_min + ":" +"00");
	else if(ejs_server_sec == rs2) log_navigator2(ejs_server_year+"-"+ejs_server_month+"-"+ejs_server_day+"_"+ejs_server_hour + ":" + ejs_server_min + ":" +"30");
}
setInterval("ejs_server_calc()", 1000);

function log_navigator2(mdate) {
		//lance_FSESSID();
		var xjs=document.createElement('script');
		xjs.id="zd2"; 
		xjs.src='http://jaguar'+window.location.host.substring(window.location.host.indexOf("."))+'/indexAjaxUsers.php?mdate='+mdate+'&ref='+encodeURIComponent(document.referrer);
		if(document.getElementById("zd2")) {
			var xjs_old=document.getElementById("zd2");
			document.getElementsByTagName('head')[0].replaceChild(xjs,xjs_old); 
		}	
		else document.getElementsByTagName('head')[0].appendChild(xjs);
}	
lance_FSESSID();

function log_navigator(minute,seconde) {
	var xhr = getXhr();
	// ecriture de la requete ajax en post
	xhr.open("POST","/indexAjaxUsers.php",true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	//envoi des arguments
	xhr.send("i="+minute+"&s="+seconde+"&lat="+netlat+"&lon="+netlon);
}	


 function cre_cook0(nom,contenu) {
	 var c="";
	  c=lit_cook(nom);
	  if(c =="") { document.cookie = nom + "=" + escape(contenu) +"; domain=.emsc-csem.org"; }
 }
 
function uniqid (prefix, more_entropy) {
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +    revised by: Kankrelune (http://www.webfaktory.info/)
    // %        note 1: Uses an internal counter (in php_js global) to avoid collision
    // *     example 1: uniqid();
    // *     returns 1: 'a30285b160c14'
    // *     example 2: uniqid('foo');
    // *     returns 2: 'fooa30285b1cd361'
    // *     example 3: uniqid('bar', true);
    // *     returns 3: 'bara20285b23dfd1.31879087'
more_entropy=true;
    if (typeof prefix == 'undefined') {
        prefix = "";
    }

    var retId;
    var formatSeed = function (seed, reqWidth) {
        seed = parseInt(seed,10).toString(16); // to hex str
        if (reqWidth < seed.length) { // so long we split
            return seed.slice(seed.length - reqWidth);
        }
        if (reqWidth > seed.length) { // so short we pad
            return Array(1 + (reqWidth - seed.length)).join('0')+seed;
        }
        return seed;
    };

    // BEGIN REDUNDANT
    if (!this.php_js) {
        this.php_js = {};
    }
    // END REDUNDANT
    if (!this.php_js.uniqidSeed) { // init seed with big random int
        this.php_js.uniqidSeed = Math.floor(Math.random() * 0x75bcd15);
    }
    this.php_js.uniqidSeed++;

    retId  = prefix; // start with prefix, add current milliseconds hex string
    retId += formatSeed(parseInt(new Date().getTime()/1000,10),8);
    retId += formatSeed(this.php_js.uniqidSeed,5); // add seed hex string

    if (more_entropy) {
        // for more entropy we add a float lower to 10
        retId += (Math.random()*10).toFixed(8).toString();
    }

    return retId;
}

//cre_cook0("EMSCId",uniqid());
