
function URLencode(sStr) {
    return escape(sStr).
             replace(/\+/g, '%2B').
                replace(/\"/g,'%22').
                   replace(/\'/g, '%27').
                     replace(/\//g,'%2F');
}

function makeRequest(url) {

    var http_request = false;

    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
            // Voir la note ci-dessous à propos de cette ligne
        }
    } else if (window.ActiveXObject) { // IE
        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() { alertContents(http_request); };
    http_request.open('GET', url, true);
    http_request.send(null);

}

function ajaxCallDynamicPage (url,targetDivId,waiting,waitingMsg,styleAttr) {	
	if (targetDivId != '__noReturnDisplay__') {
			var sandbox = document.getElementById(targetDivId);
			if (waitingMsg.length <= 0) waitingMsg = 'Please wait during processing...';
			if (waiting == 'self') {
				if (styleAttr.length <= 0) styleAttr = 'border:solid 1px orange;background:#FFFFFF;padding:5px;font-weight:bold;position:relative;';
				sandbox.innerHTML = '<span style="'+styleAttr+'">'+waitingMsg+'</span>';
			} else if(waiting == 'top') {
				if (styleAttr.length <= 0) styleAttr = 'border:solid 1px orange;background:#FFFFFF;padding:5px;font-weight:bold;position:absolute;top:0px;left:0px;';
				sandbox.innerHTML = '<span style="'+styleAttr+'">'+waitingMsg+'</span>';			
			}
	}
	
	// jQuery libs
	if (targetDivId != '__noReturnDisplay__') {
		$('#'+targetDivId).load(url);
	}
	
	// Dojo libs
	/*
	dojo.io.bind({
		url: url,
		load: function(type, data, evt) {
			if (targetDivId != '__noReturnDisplay__') {sandbox.innerHTML = data;}
		},
		changeURL: false,
		mimetype: "text/html"
	});
	*/	
}

function ajaxClean (targetDivId) {
	var sandbox = document.getElementById(targetDivId);
	sandbox.innerHTML = '';
}

function mouse_position(e) {
	var ie = (document.all)? true:false;
 	var ns4 = (document.layers)? true:false;
	var ns6 = (document.getElementById)? true:false;
    if (ie) {
    	//R?cup?ration de la position de la souris
        window.lastX = event.clientX+document.body.scrollLeft;
        window.lastY = event.clientY+document.body.scrollTop;
    }else if (ns4) {
        //R?cup?ration de la position de la souris
        window.lastX = e.pageX+document.body.scrollLeft;
        window.lastY = e.pageY+document.body.scrollTop;
    }else if (ns6) {
        //R?cup?ration de la position de la souris
		window.lastX = e.clientX+document.body.scrollLeft;
		window.lastY = e.clientY+document.body.scrollTop;
    }
}

