//(c) 2007 Jonathan Amend

function getXhr() {
	var xhr;
    if(window.XMLHttpRequest && !(window.ActiveXObject)) {
    	try { xhr = new XMLHttpRequest(); }
    	catch(e) {
   	    	alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
    		xhr = false;
   		}
    } else if(window.ActiveXObject) {
       	try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); }
       	catch(e) {
       	    try { xhr = new ActiveXObject("Microsoft.XMLHTTP"); }
       	    catch(e) {
       	    	alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
       	    	xhr = false;
      	   	}
		}
    }
    return xhr;
}

function sendAjaxCommand(url, data, oncomplete) {
	var xhr = getXhr();
	if (xhr) {
		xhr.onreadystatechange = function() {
				if(xhr.readyState == 4 && xhr.status == 200){
					oncomplete(xhr.responseXML);
				}
			}
     	xhr.open("POST", url, true);
		xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xhr.setRequestHeader("Content-Length", data.length);
		xhr.setRequestHeader("Connection", "close");
		xhr.send(data);
	}
}

function xPath(xmlDoc, xpath) {
    if (document.implementation.hasFeature("XPath", "3.0")) { //firefox
        var ns = xmlDoc.createNSResolver(xmlDoc.documentElement);
        return xmlDoc.evaluate(xpath, xmlDoc, ns, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
    } else { //ie
        return xmlDoc.selectSingleNode(xpath);
    }
}

function donothing(data) {}
function doNothing(data) {}