	var securityCode = 'A1m54jZCclvW55qDkCvf';

	function makeRequest (url, data, dest) {
		var http_request = false;
		if (window.XMLHttpRequest) {
			http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType) http_request.overrideMimeType('text/xml');
		}
		else if (window.ActiveXObject) {
			try {http_request = new ActiveXObject("Msxml2.XMLHTTP");}
			catch (e) {
				try {http_request = new ActiveXObject("Microsoft.XMLHTTP");}
				catch (e) {}
			}
		}
		if (!http_request) {
			alert('Abandon :( Impossible de créer une instance XMLHTTP');
			return false;
		}
		http_request.onreadystatechange = function() { traitementResult(http_request,dest); };
		if (data != '') {
			http_request.open('POST', url, true);
			http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			http_request.send(data);
		}
		else {
			http_request.open('GET', url, true);
			http_request.send(null);
		}
	}

	function traitementResult(http_request,dest) {
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				text_recup = http_request.responseText;
				if (text_recup!="") {
//				alert (text_recup);
					var exp_reg = /^(<!\-\- (.*) \-\->)/;
					var resultat = exp_reg.exec(text_recup);
					var res_extract = RegExp.$2;
					var tab_param = res_extract.split('|');
					switch (tab_param[0]) {
						default:
                            var innerDest = dest;
							var innerContents = text_recup;
							break;
					}
                    if (innerDest == 'ajax_verif_code' && innerContents.substring(0,19)=="Votre code avantage") {
                    	window.location.reload();
					}
					if (innerDest && innerContents) {
						ass_objc (innerDest, innerContents);
						switch (tab_param[0]) {
                            default:

								break;
						}
					}
				}
				else document.getElementById(dest).innerHTML = "<font color='#FF0000'>Une erreur s'est produite (1) (" + http_request.status + ")</font>";
            }
			else document.getElementById(dest).innerHTML = "<font color='#FF0000'>Une erreur s'est produite (2) (" + http_request.status + ")</font>";
        }
    }

	function ajax_http_request (post_url, post_data, dest) {
		var Stamp = new Date();
		var inc = Stamp.getYear() + '' + Stamp.getMonth() + '' + Stamp.getDate() + '' + Stamp.getHours() + '' + Stamp.getMinutes() + '' + Stamp.getSeconds();
		var exp_reg = /\?/;
		if (exp_reg.test(post_url)) post_url += "&actu=" + inc + "&sc=" + securityCode;
		else post_url += "?actu=" + inc + "&sc=" + securityCode;
		makeRequest (post_url, post_data, dest);
	}

	Function.parse = function(functionName){return eval(functionName);}

	Function.waitFor = function(condition, fnc, caller, args, interval){
	    var _condition = Function.parse.call(caller, condition);
	    if (_condition && (typeof(_condition)=='function' ? _condition() : true))
	        fnc.apply(caller, args || []);
	    else window.setTimeout(function(){Function.waitFor(condition, fnc, caller, args || [])}, interval || 5);
	}

    function get(form) {
		post_string = "";
		tableau = new Array();
		for(i=0;i<form.length;i++){
			elt = form.elements[i];
			switch(elt.type){
				case "hidden" :
				case "text" :
				case "password" :
				case "button" :
				case "submit" :
				case "select-one" :
				case "textarea" :
					value = encodeURI(elt.value);
					break;
				case "checkbox" :
				case "radio" :
					value = (elt.checked)?encodeURI(elt.value):"";;
					break;
				case "select-multiple" :
					for(a=0;a<elt.length;a++){
						if(elt.options[a].selected==true)
							tableau.push(encodeURI(elt.options[a].value));
					}
					break;
				default :
					value = elt.type+"";
			}
    		if(value!="")
				post_string += "&"+elt.name+"="+value;
			if(tableau.length>0){
				for(a=0;a<tableau.length;a++){
					post_string += "&"+elt.name+"[]="+tableau[a];
				}
				tableau = new Array();
 			}
		}
		var poststr = post_string.substr(1);
		return poststr;
	}
