// on teste d'abord l'existance des classes nécessaires
Classe.checkDefined("XHRMethod");

/**
 * Constructeur de la classe XHRPostMethod.
 * Il construit une instance de XHRPostMethod à partir des paramètres
 * donnés.
 *
 * La classe XHRPostMethod est une extension de la classe XHRMethod
 * permettant d'effectuer des resuêtes XML HTTP asynchrones en POST
 * et est auditeur de timeline.
 *
 * @param {Integer} _timeout : temps accordé pour l'exécution de la requête
 * @param {String} _url : adresse de la page a appeler
 * @param {String} _xml : contenu de la requête (XML)
 * @param {Integer} _retry : la requete sera relancée  _retry fois si le status de retour est différent de 200 ou 300
 */
function XHRPostMethod(_timeout, _url, _xml, _retry){
	// appel du constructeur de XHRMethod
	XHRMethod.call(this, _timeout, _url, _retry);

	// définition de propriété 
	this.xml=_xml;
}

/**
 * Prototype de la classe
 */
XHRPostMethod.prototype={
	/**
	 * Exécuion de la requête.
	 *
	 * @see XHRMethod#execute(XHRequest)
	 * @param {Object} _xhrequest : objet XHRequest valide permettant d'effectuer la requête
	 */
	execute: function(_xhrequest){
		// exécution de la requête asynchrone en POST, avec paramètres
		_xhrequest.post(this.xml);
	}
}

// déclaration de l'héritage
Classe.extend(XHRPostMethod, XHRMethod);
if (typeof(log)=='function') log("XHRPostMethod.js ok", "info");
