(function(){
	// Si les namespaces/classes nécessaires ne sont pas chargées : exception
	if(!window.ev){throw new Error("Le namespace 'ev' doit exister");}
	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 ev.meh.HotelPartenaire est définie on sort
	if(ev.meh.HotelPartenaire){return;}
	
	/**
	 * Objet hotel partenaire qui permet de stocker une proposition d'un partenaire pour un hotel
	 * 
	 * @param {Integer} _id : identifiant numérique de la proposition
	 * @param {Integer} _idPart : identifiant numérique du partenaire
	 * @param {String} _nomPart : nom du partenaire
	 * @param {Integer} _idHotelPart : identifiant numérique de l'hotel chez le partenaire
	 * @param {Integer} _idHotelPartSearch : identifiant numérique de l'hotel dans la table hotelsPartenaires
	 * @param {Object} _urlDetails : url de redirection pour renvoyer l'internaute sur la fiche hotel du partenaire
	 * @param {Float} _prixTTC : prix minimum TTC proposé par le partenaire pour sejourner dans l'hotel
	 */
	ev.meh.HotelPartenaire=function(_id, _idPart, _nomPart, _idHotelPart, _idHotelPartSearch, _urlDetails, _prixTTC){
		this.id = _id;
		this.idPart = _idPart;
		this.nomPart = _nomPart;
		this.idHotelPart = _idHotelPart;
		this.idHotelPartSearch = _idHotelPartSearch;
		this.urlDetails = _urlDetails;
		this.prixTTC = _prixTTC;
	}
	
	ev.meh.HotelPartenaire.prototype={
		getIdPartenaire: function(){
			return this.idPart;
		},
	
		getNomPartenaire: function(){
			return this.nomPart;
		},
	
		getPrix: function(){
			return Math.round(this.prixTTC);
		},
		
		getUrlDetails: function(){
			return this.urlDetails;
		},
		
		getIdHotelPart: function(){
			return this.idHotelPart;
		},
	
		toString: function(){
			return "HotelPartenaire{"+this.id+"-part"+this.idPart+"("+this.nomPart+") : "+this.idHotelPart+"-"+this.prixTTC+" EUR}";
		}
	}
	
	/**
	 * Comparateur d'hotels partenaire
	 * @param {Object} hotel1
	 * @param {Object} hotel2
	 */
	ev.meh.HotelPartenaire.compare = function(hotel1, hotel2) {
		return hotel1.prixTTC - hotel2.prixTTC;
	}
	
})();