function makeAjaxRequest(url,method,data,todo){var req=false;
if(window.XMLHttpRequest)req=new XMLHttpRequest();
else if(window.ActiveXObject){
try {req=new ActiveXObject("Msxml2.XMLHTTP");} 
catch(e){try{req=new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}}
}
if(!req){alert('Abandon : Impossible d\'utiliser AJAX \n votre navigateur n\'est pas assez récent...');return false;}
if(method=="GET"){url+="?"+data;data=null;}
req.open(method,url,true);
req.onreadystatechange=function(){readContents(req,todo);};
if(method=="POST")req.setRequestHeader("Content-type","application/x-www-form-urlencoded");
req.send(data);}

function readContents(req,todo){
if(req.readyState==4){
if(req.status==200){changeFromAjax(req.responseText,todo);}else{alert('Un problème est survenu avec la requête.');}
}}


function $(el){
if(arguments.length>1) {for(var i=0,els=[],j=arguments.length;i<j;i++) els.push($(arguments[i]));return els;}
if(typeof el=='string') el=document.getElementById(el);return el;}
function pxLeft(o){for(var x=-document.documentElement.scrollLeft,d=$(o);d!=null;d=d.offsetParent)x+=d.offsetLeft;return x;}
function pxTop(o){for(var y=-document.documentElement.scrollTop,d=$(o);d!=null;d=d.offsetParent)y+=d.offsetTop;return y;}
function getDim(o){return [$(o).offsetWidth,$(o).offsetHeight,pxLeft(o),pxTop(o)];}
function setDim(o,d){with(o.style){width=d[0]+'px';height=d[1]+'px';left=d[2]+'px';top=d[3]+'px';}}

function T() {return true;}
function Clear(o){while(d=o.firstChild)o.removeChild(d);}
function in_array(a,f){return ('_|_'+a.join('_|_')+'_|_').indexOf('_|_'+f+'_|_')>-1;}
function isS(t,v){var s=(t.toUpperCase()==t)?'S':'s';return (parseInt(v)>1)?t+s:t;}
function setText(dname,txt){var d=$(dname);Clear(d);d.appendChild(document.createTextNode(txt));}
var isIE=(document.all && !window.opera)?true:false;

function Js2Post(text)
{
	var mess = text.replace(/\r\n/gi,"<br/>");
	mess = mess.replace(/\n/gi,"<br/>");
	mess = mess.replace(/\r/gi,"<br/>");
	//mess = mess.replace(/\\/gi,"\\\\");
	mess = mess.replace(/\+/gi,"%2B");
	mess = mess.replace(/\&/gi,"%26");
	mess = escape(mess);
    //mess = encodeURIComponent(mess);
	return mess;
}

function Post2Js(text)
{
	var mess = text.replace(/<br \/>/gi,"\r\n");
	mess = mess.replace(/<br\/>/gi,"\r\n");
	//mess = mess.replace(/\\/gi,"\\\\");
	mess = mess.replace(/%2B/gi,"+");
	mess = mess.replace(/%26/gi,"&");
	mess = unescape(mess);
    //mess = decodeURIComponent(mess);
	return mess;
}

function setcookie(name, value)
{
	var tim=new Date((new Date(2010, 12).getTime()));
	document.cookie=name+'='+escape(value)+';expires='+tim.toGMTString();
}

function getcookie(name)
{
	for(var i=0,cookies=document.cookie.split(/;/),j=cookies.length;i<j;i++)
	{
		var mycook=cookies[i].split(/=/);
		if(mycook[0]==name) return unescape(mycook[1]);
	}
}

function parseHTML(d,t){
	var e=['applet','area','br','col','frame','hr','img','input','param'];
	var ela=[d];var pf=0;t=t.replace(/\n/gi,'');t=t.replace(/\r/gi,'');
	while(t.length>0){
		if(t.charAt(0)=='<'){t=t.substr(1);
			if(t.charAt(0)!='/'){var l=false;for(var v in e){if(t.substr(0,e[v].length).toLowerCase()==e[v]){l=true;}}
				var p=t.indexOf('>');var b=t.substr(0,p);t=t.substr(p+1);
				if(l){ela[pf].appendChild(createMyElement(b));}else{pf++;ela[pf]=createMyElement(b);}}
			else{var np=pf-1;ela[np].appendChild(ela[pf]);pf=np;t=t.substr(t.indexOf('>')+1);}}
		else{var pos=t.indexOf('<');ela[pf].appendChild(document.createTextNode(t.substr(0,pos)));t=t.substr(pos);}}
}

function createMyElement(b){b=b.replace(/: /gi,':');b=b.replace(/ :/gi,':');b=b.replace(/; /gi,';');b=b.replace(/"/gi,'');b=b.replace(/'/gi,'');b=b.toLowerCase();
	var p=b.split(' ');
	var el=document.createElement(p[0]);
	for(var i=1,j=p.length;i<j;i++){var c=p[i].substr(0,3);
		if(c=='id='){el.id=p[i].substr(3,(p[i].length-3));}
		else if(c=='cla'){el.className=p[i].substr(6,(p[i].length-6));}
		else if(c=='sty'){var style=p[i].substr(6,(p[i].length-6));if(isIE){el.style.setAttribute('cssText',style+';');}else{el.setAttribute('style',style);}}
		else if(c.substr(0,2)=='on'){var v=p[i].split('=');if(isIE){el[v[0]]=function(){eval(v[1])};}else{el.setAttribute(v[0],v[1]);}}
		else{var v=p[i].split('=');el.setAttribute(v[0],v[1]);}}
	return el;
}

function getRGBCol(c){
	if(c.indexOf('#')==0) c=c.substr(1);
	return [parseInt(c.substr(0,2),16),parseInt(c.substr(2,2),16),parseInt(c.substr(4,2),16)];
}



