
function $( name ) {
	return document.getElementById( name );		
}


/* Selectionne l'option avec la valeur 'value' dans <select><option/><option/>...*/
function selectOption( element, value ) {
	if ( element == null )
		return;

	// plus que ce truc la à faire fonctionner sous IE6
	for( i=0; i<element.options.length; i++ ) {
		if ( element.options[i].value == value ) {
			element.selectedIndex = i;
			return;
		}
	}
}

/* recupere la fiche via le script xml_get.php */
function getXml( type, id, fct, filtre ) {
	/* Appel du bon moteur ajax */
	var xhr = null;
	if ( window.XMLHttpRequest ) {
		xhr = new XMLHttpRequest();
	} else if ( window.ActiveXObject ) {
		xhr = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if ( xhr == null ) {
		alert("Votre navigateur ne supporte pas AJAX");
		fct( null );
		return;
	}
/*
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 ) {
			if (xhr.status == 200 ) {
				// on appelle la fct avec en parametre l'obj xml
				fct( xhr.responseXML );
			} else {
				fct( null );
			}
		}
	}
*/
	var url = "/xml_get.php?type=" + type + "&id=" + id;
	if ( filtre != null )
		url = url + "&filtre=" + filtre;
	xhr.open( "get", url, false );
	xhr.send( null );

	if ( xhr.readyState == 4 && xhr.status==200 ) {
		if ( filtre!=null ) {
			fct( xhr.responseXML, filtre );
		} else {
			fct( xhr.responseXML );
		}
	} else {
		fct( null );
	}
}

function getUrl( url, fct ) {
	var xhr = null;
	if ( window.XMLHttpRequest ) {
		xhr = new XMLHttpRequest();
	} else if ( window.ActiveXObject ) {
		xhr = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if ( xhr == null ) {
		alert("Votre navigateur ne supporte pas AJAX");
		fct( null );
	}
	/*
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 ) {
			if (xhr.status == 200 ) {
				// on appelle la fct avec en parametre l'obj xml
				fct( xhr.responseText );
			} else {
				fct( null );
			}
		}
	}
	*/
	xhr.open( "get", url, false);
	xhr.send( null );
	if (xhr.readyState == 4 && xhr.status == 200 ) {
		// on appelle la fct avec en parametre l'obj xml
		fct( xhr.responseText );
	} else {
		fct( null );
	}
}

/* recupere la valeur de l'attribut d'un noeud */
function getProp( node, att ) {
    if ( node.hasAttribute ) {
        if ( node.hasAttribute(att) ) {
            return node.getAttribute(att);
        }
    } else {
        // IE6 & ?
        for(var i=0; i<node.attributes.length; i++ ) {
            if ( node.attributes[i].nodeName == att )
                return node.attributes[i].value;
        }
    }
    return null;
}

/* recupere le contenu d'un noeud (marche pas sous IE!!!) */
function getNodeValue( node ) {
    if ( !node )
        return "N/A";

    if ( node.nodeValue != null ) {
        return node.nodeValue;
    } else if (node.textContent!=null ) {
        return node.textContent;
    } else if ( node.firstChild && node.firstChild.nodeValue ) {
		return node.firstChild.nodeValue
	} else {
		return "N/A";
	}
}

/* deselectionne tout les elements d'un select multiple */
function unselectAll( node ) {
	var a=0;
	for( a=0; a<node.options.length; a++ ) {
		node.options[a].selected=false;
	}
}

function selectMultiple( nodeSelect, value, selected ) {
	// plus que ce truc la à faire fonctionner sous IE6
	for( var i=0; i<nodeSelect.options.length; i++ ) {
		if ( nodeSelect.options[i].value == value ) {
			nodeSelect.options[i].selected = selected;
			return;
		}
	}
}

