

(function () {
	var window = this,
			ev = window.ev;

	if (!ev) { throw 'mev.searchHistoryManager#<init>: Needs ev.core module!'; }
	if (!ev.rjs) {throw new Error("Le namespace 'ev.rjs' doit exister");}
	// On s'assure que le namespace ev.meh existe
	if (!ev.meh) { ev.meh = {}; }
	//Si la classe GetCriteresMethod est définie on sort
	if (ev.meh.GetCriteresMethod) {return;}

	/**
	 * Constructeur de la classe GetCriteresMethod.
	 * Il construit une instance de GetCriteresMethod
	 * à partir des paramètres donnés.
	 *
	 * La classe GetCriteresMethod est une classe
	 * permettant de récupérer un jeu de critères.
	 *
	 * @param {String} _url : adresse de la page a appeler.
	 * @param {Criteres} _criteres : jeu de criteres à remplir.
	 * @param {Function} _doAfterRetreive : méthode à exécuter une fois que la requête est terminée.
	 *
	 */
	ev.meh.GetCriteresMethod = function(_url, _criteres, _doAfterRetreive) {
		function callback(r) {
			_criteres.updateFrom(r.criteres);
			//      _criteres.ville=r.criteres.ville;
			//      _criteres.chambres=r.criteres.chambres;
			//      _criteres.etoiles=r.criteres.etoiles;
			//      _criteres.paxAdultes=r.criteres.paxAdultes;
			//      _criteres.paxEnfants=r.criteres.paxEnfants;
			//      _criteres.dateDebut=r.criteres.dateDebut;
			//      _criteres.dateFin=r.criteres.dateFin;
			//      _criteres.crikey=r.criteres.crikey;

			//FIXME voir s'il faut déplacer dans resultsMEH3.jsp
			_criteres.print();

			if (typeof(_doAfterRetreive) === 'function') {
				_doAfterRetreive();
			}
		}

		// invocation
		ev.requestManager.invokeEra(ev.meh.Context().getRjsLocator(), _url, callback);
	};

	ev.log.debug('ev/meh/GetCriteresMethod.js ok');
}());

