

/**
 * Closure oo0 !_! 0oo
 */
(function() {
	var window = this,
			ev = window.ev,
			LOG = ev && ev.log;

	if (!ev){
		throw 'XHRMethod#<init>: needs ev.core module!';
	}

	// on teste d'abord l'existance des classes nécessaires
	window.Classe.checkDefined('XHRMethod');

	/**
	 * Constructeur de la classe XHRGetMethod.
	 * Il construit une instance de XHRGetMethod à partir des paramètres
	 * donnés.
	 *
	 * La classe XHRGetMethod est une extension de la classe XHRMethod
	 * permettant d'effectuer des resuêtes XML HTTP asynchrones en GET
	 * et est auditeur de timeline.
	 *
	 * @param {number} _timeout : temps accordé pour l'exécution de la requête.
	 * @param {string} _url : adresse de la page a appeler.
	 * @param {number} _retry : la requete sera relancée  _retry fois si le status de retour est différent de 200 ou 300.
	 */
	window.XHRGetMethod = function(_timeout, _url, _retry) {
		// appel du constructeur de XHRMethod
		window.XHRMethod.call(this, _timeout, _url, _retry);
	};

	/**
	 * Prototype de la classe
	 */
	window.XHRGetMethod.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 GET
			_xhrequest.get();
		}
	};

	// déclaration de l'héritage
	window.Classe.extend(window.XHRGetMethod, window.XHRMethod);
	LOG.info('XHRGetMethod.js ok');
}());

