(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.POI est définie on sort
	if(ev.meh.POI){return;}

	/**
	 * Classe POI : correspond à un point d'interet dans la ville dans laquelle s'effectue la recherche
	 * @param {Object} latitude
	 * @param {Object} longitude
	 * @param {Object} type
	 */
	ev.meh.POI=function(latitude, longitude, type){

	 	this.nom;
	  	this.latitude = latitude;
	  	this.longitude = longitude;
	 	this.type = type; // cf Enumération des types de POI
	 	this.distance=0;

		this.getNom = function(){
			return this.nom;
		}

		this.setNom = function(_nom){
			this.nom = _nom;
		}

		this.getDistance = function(){
			return this.distance;
		}

		/**
		 * fonction permettant de cacluler la distance entre le point dont les corrdonnées sont passées en parametres et
		 * le POI de reference (par defaut le POI de reference correspond au centre ville)
		 * @param {Object} lat
		 * @param {Object} lgt
		 */
		this.distanceFrom = function(lat, lgt){
			this.distance = gmap.calculDistance(lat, lgt, this.latitude, this.longitude);
			return this.distance;
		}

	}

	/**
	 * Enumération statique des types de POI
	 */
	ev.meh.POI.Type = { NONE:0, CENTREVILLE:1, POI:2 };

})();
