	function refuserToucheEntree(event)
	{
		// Compatibilité IE / Firefox
		if(!event && window.event) {
			event = window.event;
		}
		// IE
		if(event.keyCode == 13) {
			event.returnValue = false;
			event.cancelBubble = true;
		}
		// DOM
		if(event.which == 13) {
			event.preventDefault();
			event.stopPropagation();
		}
	}
	
	function getElementDiv(id) {
		if (!document.getElementById) { 
			return;
		}

		if (document.all) {
			return eval("document.all." + id);
		} else {
			return document.getElementById(id);
		}
	}
	
	Ajax = {};

	Ajax.Request = function(url, options){
		var request = null;

		var tentatives = [
			function(){return new XMLHttpRequest();},
			function(){return new ActiveXObject("Msxml2.XMLHTTP");},
			function(){return new ActiveXObject("Microsoft.XMLHTTP");},
			];

		for (i=0;(null==request)&&i<tentatives.length;i++)
		{
			try{
				request = tentatives[i]();
			}
			catch(e){
				continue;
			}
		}

		if (null == request)
			throw new Error("XmlHttp");

		options = options||{};

		request.onreadystatechange = function() {
			if (request.readyState == 4)
				if ( (request.status == 200) && (options.onSuccess) )
					options.onSuccess(request);
				else if (options.onFailure)
					options.onFailure(request)
		}

		options.method = options.method || "get";

		switch(options.method.toLowerCase()){
			case "get":
				request.open(options.method.toUpperCase(), url + (options.parameters?("?" + options.parameters):""), true);
				request.send(null);
				break;
			case "post":
				request.open(options.method.toUpperCase(), url, true);
				request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
				request.setRequestHeader("Content-Length", (options.parameters?("'" + options.parameters.length + "'"):"0"));
				request.send(options.parameters||"");
				break;
			default:
				break;
		}
	}

	Ajax.EncodeParameters = function(parameters){
		if ("object" == typeof parameters){
			var ar = [];
			for (name in parameters){
				var value = parameters[name].toString();
				ar.push(encodeURIComponent(name).replace(/%20/,"+") + '=' +
					encodeURIComponent(value).replace(/%20/,"+"));
			}
			return ar.join("&");
		}
		else
			return "";
	}


	function EventOn(url) {
		var params = '';
		if (url.indexOf('?') != -1) {
			params = url.substring(url.indexOf('?') + 1, url.length);
		}

		var postop = 100;
  		if (window.innerHeight) { maxheight = window.innerHeight; } else { maxheight = document.documentElement.clientHeight; }
		maxheight = maxheight - (postop * 2);

		if (!document.getElementById('eventbg')) {
			var diveventbg = document.createElement("div");
			diveventbg.id = 'eventbg';
			diveventbg.className = 'eventbg';
			document.getElementById('ibody').appendChild(diveventbg);
		}

		if (!document.getElementById('event')) {
			var divevent = document.createElement("div");
			divevent.id = 'event';
			divevent.className = 'event';
			divevent.setAttribute('align', 'center');
			document.getElementById('ibody').appendChild(divevent);
			document.getElementById('event').style.top = postop + 'px';
		}

		if (!document.getElementById('eventbody')) {
			var diveventline = document.createElement("div");
			diveventline.className = 'eventline';
			document.getElementById('event').appendChild(diveventline);

			var divclose = document.createElement("div");
			divclose.id = 'eventclose';
			document.getElementById('event').appendChild(divclose);

			var divtitle = document.createElement("div");
			divtitle.id = 'eventtitle';
			divtitle.style.display = 'inline';
			document.getElementById('eventclose').appendChild(divtitle);

			var imgclose = document.createElement("img");
			imgclose.src = '/img2/delete_on.png';
			imgclose.className = 'eventclose';
			imgclose.onclick = function() {EventOff()};
			document.getElementById('eventclose').appendChild(imgclose);

			var diveventbody = document.createElement("div");
			diveventbody.id = 'eventbody';
			diveventbody.className = 'eventbody';
			diveventbody.style.maxHeight = maxheight + 'px';
			document.getElementById('event').appendChild(diveventbody);

			var diveventline = document.createElement("div");
			diveventline.className = 'eventline';
			document.getElementById('event').appendChild(diveventline);
		}

		document.getElementById('eventbody').innerHTML = '<img src="/img2/loader.gif" width="16" height="16" border="0" />';
		new Ajax.Request(url,{method:'post',onSuccess:function(xhr){document.getElementById('eventbody').innerHTML = '<div style="display: none;">&nbsp;</div>' + xhr.responseText;AddScript(document.getElementById('eventbody'));},onFailure:function(){document.getElementById('eventbody').innerHTML = 'Error';}, parameters:params})
	}

	function EventOff() {
		document.getElementById('ibody').removeChild(document.getElementById('eventbg')); 
		document.getElementById('ibody').removeChild(document.getElementById('event')); 
	}


	function setEventTitle(title) {
		document.getElementById('eventtitle').innerHTML = '<b style="font-family: arial; font-size: 12px; color: #000; display: inline;">' + title + '</b>';
	}

	function updateVote(typevote, ref, txtok, txtpasok) {
		var f_texte;
		var f_linkclass;
		if (typevote == 'VotePour') {
			f_texte = txtok;
			f_linkClass='linkPour';
		} else {
			f_texte = txtpasok;
			f_linkClass='linkContre';
		}
		new Ajax.Request('/vote.ajax.php',{method:'post',onSuccess:function(xhr){if (xhr.responseText > 0) {new Effect.Appear(typevote + ref, {duration:1, fps:50, from:0.0, to:1.0}); getElementDiv(typevote + ref).innerHTML = '<a href="#" onClick="return false;" class="' + f_linkClass + '">' + f_texte + '</a>&nbsp;<span class="statsMot">(' + xhr.responseText + ')</span>'; }},onFailure:function(){}, parameters:'ref=' + ref + '&typevote=' + typevote});
	}

	function ajoutDefinition(pseudo, mot, description, addition) {
		f_genre = 1;
		for(i=0;i<=2;i++){
		  if(document.defform.def_genre[i].checked == true){
			  f_genre=document.defform.def_genre[i].value;
		  }
		}
		new Ajax.Request('/ajoutdef.php',{method:'post',onSuccess:function(){new Effect.Appear('event', {afterFinish:function () {EventOff();}, duration:1, fps:50, from:2.0, to:0.0});},onFailure:function(){new Effect.Appear('event', {afterFinish:function () {EventOff();}, duration:1, fps:50, from:2.0, to:0.0});}, parameters:'pseudo=' + encodeURIComponent(pseudo) + '&mot=' + encodeURIComponent(mot) + '&genre=' + encodeURIComponent(f_genre) + '&description=' + encodeURIComponent(description) + '&addition=' + encodeURIComponent(addition)});
	}

	function setCheckedValue(radioObj, newValue) {
		if(!radioObj)
			return;
		var radioLength = radioObj.length;
		if(radioLength == undefined) {
			radioObj.checked = (radioObj.value == newValue.toString());
			return;
		}
		for(var i = 0; i < radioLength; i++) {
			radioObj[i].checked = false;
			if(radioObj[i].value == newValue.toString()) {
				radioObj[i].checked = true;
			}
		}
	}


