
/**
 * Direcciones de paradas
 * @class
 * @scope public
 */
function ParadasSuggest() {
	
        this.direcciones = new Array();
        
	
	/* inserta el array de direcciones (generado vía java) en nuestro objeto */
	ParadasSuggest.prototype.insertarDirecciones = function(arrDirecciones){
        this.direcciones = arrDirecciones;            
	}	
	
	/**
	 * Request suggestions for the given autosuggest control. 
	 * @scope protected
	 * @param oAutoSuggestControl The autosuggest control to provide suggestions for.
	 */
	ParadasSuggest.prototype.requestSuggestions = function (oAutoSuggestControl /*:AutoSuggestControl*/,
	                                                          bTypeAhead /*:boolean*/) {
	    var aSuggestions = [];
	    var aCoordenadas = [];
	    
	    var sTextboxValue = oAutoSuggestControl.textbox.value;
	    //utilizamos una expresion regular ya que buscamos la subcadena escrita en cualquier punto de una cadena de direccion
		var regExp = new RegExp(sTextboxValue,"gi");
	
		
		// cuando se hayan introducido al menos 2 letras, se comienza el proceso de sugerencias
	    if (sTextboxValue.length > 1){
			
			for (var i in this.direcciones){
				//si nuestra expresion regular hace match con alguno de los items del array de direcciones
				if (this.direcciones[i][0].match(regExp)){
					//lo añadimos a nuestro array de direcciones sugeridas
	                aSuggestions[i]=this.direcciones[i][0];
	                aCoordenadas[i]= new Array();
	                aCoordenadas[i].push(this.direcciones[i][1]);	                	                
	                aCoordenadas[i].push(this.direcciones[i][2]);
	                // Clave parada
	                aCoordenadas[i].push(this.direcciones[i][3]);
                    
	            } 
			}
	    }
	
	    oAutoSuggestControl.setCoordenadas(aCoordenadas);
	    
	    //provide suggestions to the control
	    oAutoSuggestControl.autosuggest(aSuggestions, regExp, false);
	};

}
