
		function estadoInicialAutocompletes(objeto){
			if(objeto == "key"){
				jQuery("#myInputKey").addClass("input_autocomplete_inicio").val("Telefónica, restaurantes...");
				jQuery("#myHiddenNombreKeyNorm").val("");
			}else{
				jQuery("#myInputLugar").addClass("input_autocomplete_inicio").val("Madrid...");
				jQuery("#myHiddenNombreLugarNorm").val("");
			}
		}		
		function resaltaRequest(busqueda,texto){
			texto = texto.toLowerCase();
			busqueda = busqueda.toLowerCase();
			var arrayBusqueda = busqueda.split(" ");
			var resultado = "";
			var resto = 0;
			var resaltado = "<b>"+ busqueda + "</b>";
			var from = texto.indexOf(busqueda);
			var to = texto.indexOf(busqueda) + busqueda.length;
			
			for (i = 0; i<arrayBusqueda.length;i++){
				from = texto.indexOf(arrayBusqueda[i]);
				to = texto.indexOf(arrayBusqueda[i]) + arrayBusqueda[i].length;
				resaltado = "<b>"+ arrayBusqueda[i] + "</b>";
				// El texto esta al principio
				if(from == -1){
					continue;
				}else if(from == 0){
					resto = texto.substr(to,texto.length - arrayBusqueda[i].length);
					texto = resaltado + resto;
				}else{
					//El match esta en el medio
					resto = texto.substr(0,from) + resaltado + texto.substring(to);
					texto = resto; 
				}
			}
			return texto;
			
		}
		
		function compruebaCambios() {
				
				var campoTipoLugar = 'Esp';
				var myHiddenFieldNombreKeyNorm = jQuery('#myHiddenNombreKeyNorm');
				var myHiddenFieldNombreLugarNorm = jQuery('#myHiddenNombreLugarNorm');
				var myFieldKeyMostrado = jQuery("#myInputKey");
				var myFieldLugarMostrado = jQuery("#myInputLugar");
				var myHiddenFieldTipoLugar = jQuery('#myHiddenTipoLugar');
				var validaKey = 0;
				var validaLugar = false;
				
				validaKey = parseInt(jQuery("#validaKey").val());
				
				if(jQuery("#validaLugar").val() == "1"){
					validaLugar = true;
				}
				
				if(validaKey > 0){
					if(validaKey == 1){
						myHiddenFieldNombreKeyNorm.val(myFieldKeyMostrado.val());
					}
				}else{
					alert("Por favor, rellena el campo \u00BFqu\u00E9 buscas\u003F");
					jQuery("#myInputKey").focus();
					return false;
				}
								
				if(validaLugar){
					if (myHiddenFieldTipoLugar.val() == null || myHiddenFieldTipoLugar.val() == "")
						campoTipoLugar = 'Esp';			
					else if (myHiddenFieldTipoLugar.val() == 'P')
						campoTipoLugar = 'provincia';
					else
						campoTipoLugar = 'localidad';
				}
				
				myHiddenFieldNombreKeyNorm.val(myHiddenFieldNombreKeyNorm.val().replace(/ /g,"-"));
				myHiddenFieldNombreKeyNorm.val(myHiddenFieldNombreKeyNorm.val().replace(/\./g,""));
				myHiddenFieldNombreLugarNorm.val(myHiddenFieldNombreLugarNorm.val().replace(/ /g,"-"));
				myHiddenFieldNombreKeyNorm.val(formatea(myHiddenFieldNombreKeyNorm.val()));
				
				var action = "";
				
				if (campoTipoLugar != 'Esp'){
					action = '/Actividad/' + myHiddenFieldNombreKeyNorm.val() + 
													'/' + campoTipoLugar + '/' + 
													myHiddenFieldNombreLugarNorm.val() + '/';					
				}else{
					action = '/Actividad/' + myHiddenFieldNombreKeyNorm.val() + '/'; 													 													
				}			
				mensajeBloqueante();
				if(validaLugar == 0) myFieldLugarMostrado.val("");
				document.formularioCabecera.action = action;									
				return true;												
		}
		
		jQuery(document).ready(function() {
			var myArr = [];
			
			function split( val ) {
				return val.split( /,\s*/ );
			}
			function extractLast( term ) {
				return split( term ).pop();
			}

			jQuery('.interrogacion_form').qtip({
				   content: 'Escribe la empresa, producto o categor\u00EDa que buscas. <br><br>Por ejemplo, telef\u00F3nica, restaurantes, etc.',				   
				   show: 'mouseover',
				   hide: 'mouseout',
				   position: {
					      corner: {
					         target: 'bottomMiddle',
					         tooltip: 'topMiddle'
					      }
					   },
				   style: { 
				      width: 380,
				      padding: 5,
				      background: '#8ab8bf',
				      color: 'white',				      
				      textAlign: 'left',
				      fontWeight: 'normal',
				      fontSize: '9pt',				      
				      border: {
				         width: 1,
				         radius: 2,
				         color: '#8ab8bf'
				      },
				      tip: 'topMiddle',
				      name: 'dark' // Inherit the rest of the attributes from the preset dark style
				   },
				   position: { adjust: { x: -300, y: -5 } }

				});
			
			
			jQuery("#myInputKey").bind("focus",function(){
				if(jQuery("#validaKey").val()=="0"){
					jQuery("#myInputKey").val("").removeClass("input_autocomplete_inicio");
				}
			});
			jQuery("#myInputKey").bind("blur",function(){
				if(jQuery("#myInputKey").val()==""){
					jQuery("#myInputKey").addClass("input_autocomplete_inicio").val("Telefónica, restaurantes...");
					jQuery("#validaKey").val("0");
				}
			});
			jQuery("#myInputLugar").bind("focus",function(){
				if(jQuery("#validaLugar").val()=="0"){
					jQuery("#myInputLugar").val("").removeClass("input_autocomplete_inicio");
				}
			});
			jQuery("#myInputLugar").bind("blur",function(){
				if(jQuery("#validaLugar").val()=="0" || jQuery("#myInputLugar").val() == ""){
					estadoInicialAutocompletes("Lugar");
				}
			});
			/*
			jQuery("#myInputLugar").bind("change",function(){
				
				if(jQuery("#validaLugar").val()=="0"){
					alert ("El lugar debe ser seleccionado de la lista obligatoriamente o estar vac\u00EDo");
					
				}
			});
			*/
			jQuery("#myInputKey").bind("change",function(){
				jQuery("#validaKey").val("1");
			});
			
			/*  KEYWORDS */
			
			jQuery("#myInputKey").autocomplete({
				minLength: 3,
				delay:400,
				source: function(req,add){
					
					jQuery.ajax({
					   type: "POST",
					   url: "/servlet/app/prod/XML_AJAX_BUSQUEDA_KEY", 
					   dataType: "xml",
					   contentType: 'application/x-www-form-urlencoded; charset=utf-8;', 
					   cache:false,
					   success: function(xml){
				   		   myArr = [];
						   jQuery(xml).find("keyword").each(function()
						   {
							  
						   	 var stringOBJ = '{"id":"' + jQuery(this).find("nombreNorm").text();
						     if(jQuery(this).find("esEmpresa").text() == "1")
						   	 stringOBJ = stringOBJ + '","esEmpresa": "1';
						   	 stringOBJ = stringOBJ + '","label":"' + resaltaRequest(req.term,jQuery(this).find("nombreMostrar").text());
						   	 stringOBJ = stringOBJ + '","value":"' + jQuery(this).find("nombreMostrar").text() + '"}';
						   	 var temporal = jQuery.parseJSON(stringOBJ);
						     myArr.push(temporal);
						     
						   });
					       add(myArr);
					       jQuery('ul.ui-autocomplete li:even').addClass('menu-item-even ');
					       //jQuery('.menu-item-even.autocompleteEmpresa').addClass('empresaImpar');
					       var $tempApis = jQuery('ul.ui-widget-content');
					       /*if(jQuery($tempApis[0]).height() >= 400)
					    	   				       
					       	jQuery($tempApis[0]).jScrollPane({showArrows:true,maintainPosition:false});
					       */
					       
					   },
					   data:{ query: req.term}
					 });
					 
				},
				search: function() {
					
					// custom minLength
					var term = extractLast( this.value );
					if ( term.length < 2 ) {
						return false;
					}
					
				},
				focus: function() {
					
					// prevent value inserted on focus
					return false;
				},
				select: function(event, ui ){
					jQuery("#validaKey").val("2");
					//this es el input, ui.item es la seleccion
					if(ui != null && ui.item != null){
						jQuery('#myHiddenNombreKeyNorm').val(ui.item.id);
						
					}else{
						//Ha pulsado en el ver todos los resultados
						jQuery("#validaKey").val("1");
						if(compruebaCambios()) document.formularioCabecera.submit();
					}
					
				},
				open: function(event,ui){
					
					/*
					var api = jQuery('ul.ui-autocomplete');
					
		  		    var reinicio = jQuery(api[0]).data('jsp');
				  	reinicio.reinitialise();	*/
				}
		
			}).data( "autocomplete" )._renderItem = function( ul, item ) {				
				var entorno = jQuery('#myHiddenEntorno').val();
				
				if(item.esEmpresa == "1"){					
					if (entorno == 'PRUEBAS')					
						return jQuery( "<li></li>" )					
						.addClass("autocompleteEmpresa")					
		                .data( "item.autocomplete", item )
		                .append( "<a class='autoTextoEmpresa'>"+ item.label + "</a>" ) //  + + "<br>" + item.desc + "</a>"
		                .appendTo( ul );
					else
						return jQuery( "<li></li>" )															
		                .data( "item.autocomplete", item )
		                .append( "<a class='autoTextoEmpresa'>"+ item.label + "</a>" ) //  + + "<br>" + item.desc + "</a>"
		                .appendTo( ul );
				}else{
		            return jQuery( "<li></li>" )
		                .data( "item.autocomplete", item )
		                .append( "<a>"+ item.label + "</a>" ) //  + + "<br>" + item.desc + "</a>"
		                .appendTo( ul );
				}
	        };
	        jQuery("#myInputKey").autocomplete().data( "autocomplete" )._renderMenu = function( ul, items ) {		
	        	var self = this;
	    		jQuery.each( items, function( index, item ) {
	    			self._renderItem( ul, item );
	    		});
	    		var tempDiv = jQuery("<li></li>");
	    		var enlaceDiv = jQuery("<a></a>");
	    		enlaceDiv.attr("src","www.google.es");
	    		tempDiv.attr("role","verTodos");
	    		enlaceDiv.append("<i>>> <u>Ver todos los resultados para <b>"+ this.term +"</b></u> <<</i> ");
	    		tempDiv.addClass("restoResultados").append(enlaceDiv).appendTo(ul);
	    		
	        };
			; // End autocomplete
			
			/*  LUGARES */
			
			jQuery("#myInputLugar").autocomplete({
				delay:200,
				source: function(req,add){
					
					jQuery.ajax({
					   type: "POST",
					   url: "/servlet/app/prod/XML_AJAX_BUSQUEDA_LUGAR", 
					   dataType: "xml",
					   contentType: 'application/x-www-form-urlencoded; charset=utf-8;', 
					   cache:false,
					   success: function(xml){
				   		   myArr = [];
						   jQuery(xml).find("lugar").each(function()
						   {
						   	 var stringOBJ = '{"id":"' + jQuery(this).find("nombreNorm").text();
						   	 stringOBJ = stringOBJ + '","label":"' + resaltaRequest(req.term,jQuery(this).find("nombreMostrar").text());
						   	 stringOBJ = stringOBJ + '","value":"' + jQuery(this).find("nombreMostrar").text();
						   	 stringOBJ = stringOBJ + '","tipo":"' + jQuery(this).find("tipo").text() + '"}';
						   	 var temporal = jQuery.parseJSON(stringOBJ);
						     myArr.push(temporal);
						     
						   });
					       add(myArr);
					       jQuery('ul.ui-autocomplete li:even').addClass('menu-item-even ');
					       
					       var $tempApis = jQuery('ul.ui-widget-content');
					       if(jQuery($tempApis[1]).height() >= 280)
					       	jQuery($tempApis[1]).jScrollPane({showArrows:true,maintainPosition:false});
					       
					   },
					   data:{ query: req.term}
					 });
				},
				search: function() {
					jQuery("#validaLugar").val("0");
					
				},
				focus: function() {
					// prevent value inserted on focus
					return false;
				},
				select: function(event, ui ){
					//this es el input, ui.item es la seleccion
					jQuery('#validaLugar').val("1");
					jQuery('#myHiddenNombreLugarNorm').val(ui.item.id);
					jQuery('#myHiddenTipoLugar').val(ui.item.tipo);
				},
				close: function(event, ui){
					if(jQuery('#validaLugar') == "0"){
						alert ("El lugar debe ser seleccionado de la lista obligatoriamente o estar vac\u00EDo");
					}
				},
				open: function(event, ui){
					jQuery('#myHiddenNombreLugarNorm').val("");
					jQuery('#validaLugar').val("0");
				}
				
		
			}).data( "autocomplete" )._renderItem = function( ul, item ) {
	            return jQuery( "<li></li>" )
	                .data( "item.autocomplete", item )
	                .append( "<a>"+ item.label + "</a>" ) //  + + "<br>" + item.desc + "</a>"
	                .appendTo( ul );
	        	};
	        	
			; // End autocomplete
			
			
			
	}); // End ready
	
			
