/*  * © Albin Carrier for LILHOOT, www.lilhoot.eu - 14 sept. 2011 */

function minSrc()
{
	var i = "http://www.lilhoot.eu/default/stats/min_js.php?i="+ minId() +"%26d="+ document.domain + '%26dl='+ minUrlEncode(location.href);
	i += '%26ua='+ navigator.userAgent +'%26pf='+ navigator.platform +'%26lg='+ navigator.language +'%26sw='+ screen.width +'%26sh='+ screen.height;

	//if(window.innerWidth) i += '%26iw='+ window.innerWidth +'%26ih='+ window.innerHeight;
	//else if(document.body.clientWidth) i += '%26iw='+ document.body.clientWidth +'%26ih='+ document.body.clientHeight;

	var tz = new Date().getTimezoneOffset()/60;
	return i +'%26rf='+ minUrlEncode(document.referrer) +'%26tz='+ (-tz);
}


function minUrlEncode(r)
{
	r = r.replace("'", 'b1537');
	r = r.replace('?', 'b1597');
	r = r.replace(/&/g, 'b1227');
	r = r.replace(/=/g, 'b1567');
	r = r.replace('#', 'b1547');
	return r;
}


function minId()
{
	var new_id = minRandomID(10);
	return minCheckCk('minstats_id', new_id);
}


function minCheckCk(name, new_id)
{
	var ck = minGetCk(name);
	var today = minTodayUTCYmd();

	if( ck==null || ck==false || ck=="")
	{
		minSetCk(name,new_id +"|"+ today,365);
		return new_id;
	}

	if(ck.substr(11) == today) return ck.substr(0, 10) +"%26c=1";
	else
	{
		var old_id = ck.substr(0, 10);
		minSetCk(name, old_id +"|"+ today, 365);
		return old_id;
	}
}


function minSetCk(c_name,value,exdays)
{
	var exdate=new Date();
	exdate.setDate(exdate.getDate() + exdays);
	var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
	document.cookie=c_name + "=" + c_value;
}


function minGetCk(c_name)
{
	var i,x,y,ARRcookies=document.cookie.split(";");
	for (i=0;i<ARRcookies.length;i++)
	{
		x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
		y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
		x=x.replace(/^\s+|\s+$/g,"");
		if (x==c_name) return unescape(y);
	}
	return false;
}


function minTodayUTCYmd()
{
	today = new Date;
	jour = today.getUTCDay();
	mois = (today.getUTCMonth())+1;
	annee = today.getUTCFullYear();
	heures = today.getUTCHours();

	if(heures > 21 && heures < 24) jour = jour+1;

	if (jour < 10) jour = "0" + jour;
	if (mois < 10) mois = "0" + mois;

	return annee + "-" + mois + "-" + jour;
}



function minGetRandomNumber(range)
{
	return Math.floor(Math.random() * range);
}


function minGetRandomChar()
{
	var chars = "0123456789abcdefghijklmnopqurstuvwxyzABCDEFGHIJKLMNOPQURSTUVWXYZ";
	return chars.substr( minGetRandomNumber(62), 1 );
}


function minRandomID(size)
{
	var str = "";
	for(var i = 0; i < size; i++)
	{
		str += minGetRandomChar();
	}
	return str;
}


