
function buscarcabecera(rutabase) {
	var bus1=$.trim($("#bus1").val());
	var bus2=$.trim($("#bus2").val());
	if (bus1.length<3 && bus2<3) {
		alert("El texto de búsqueda debe tener como mínimo 3 caracteres");
	} else {
		var loc="";
		if (bus1!="" && bus1!="Nombre del lugar o evento") {
			loc=rutabase+'/buscador/todo/'+Url.encode(bus1)+"/";
		} else {
			loc=rutabase+'/buscador/todo/bus1/';
		}
		if (bus2!="" && bus2!="Dirección, Localidad o C.P.") {
			loc+=Url.encode(bus2);
		} else {
			loc+='bus2';
		}
		window.location=loc;
	}
	return false;	
}

function entrarbus(id,texto) {
	if ((""+$(id).val())==texto)
		$(id).val("");
	return false;
}

function salirbus(id,texto) {
	var val=$.trim($(id).val());
	if (val=="") {
		$(id).val(""+texto);	
	}
	
	return false;
}

function MensajeBloqueo(visible)
{ 
	if (visible==1)
	{ 
		$.blockUI("<span class='titular' >cargando...</span>" );
	}
	else
	{ 
		$.unblockUI();
	}
}

function MensajePositivo(id_capa,mensaje)
{ 
	var obj_capa= document.getElementById(id_capa); 
	obj_capa.className = 'aviso_sistema_ok'; 
	CambiarVisibilidad(id_capa,1); 
	obj_capa.innerHTML = mensaje;
}

function MensajeNegativo(id_capa,mensaje){ 
	var obj_capa= document.getElementById(id_capa); 
	obj_capa.className = 'aviso_sistema'; 
	obj_capa.style.visibility = 'visible'; 
	obj_capa.innerHTML = mensaje;
}

function DevolverObjeto(id_pasado)
{ 
	var respuesta=false; 
	if (id_pasado != "") { 
		respuesta = document.getElementById(id_pasado);
	}
	if (!respuesta)
	{ 
		respuesta=false;
	}
	
	return(respuesta);
}

function CambiarVisibilidad(id_target, visible)
{ 
	var obj_visible = DevolverObjeto(id_target); 
	if ( obj_visible != false){ 
		if (visible==1){ 
			obj_visible.style.visibility="visible";
		} else { 
			obj_visible.style.visibility="hidden";
		}
	}
}

function getHTTPObject() { 
	var xmlhttp; 
	var browser = navigator.appName;
	if(browser == "Microsoft Internet Explorer") { 
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
	} else { 
		xmlhttp = new XMLHttpRequest(); 
	} 

	return xmlhttp;
}

function autocompletar (sender, ev, urlx) { 
	if (( ev.keyCode >= 48 && ev.keyCode <= 57 ) || ( ev.keyCode >= 65 && ev.keyCode <= 90 )) { 
		var httpreq = getHTTPObject(); 
		var parms = "val=" + sender.value; 
		httpreq.open("GET", urlx + parms, true); 
		var original_text = sender.value; 
		httpreq.onreadystatechange = function () { 
			if (httpreq.readyState == 4) { 
				var suggestion = httpreq.responseText; 
				var txtAuto = document.getElementById (sender.id); 
				if ((suggestion) && (txtAuto.value == original_text)) { 
					if (document.getSelection) { 
						var initial_len = txtAuto.value.length; 
						txtAuto.value += suggestion; 
						txtAuto.selectionStart = initial_len; 
						txtAuto.selectionEnd = txtAuto.value.length;
					}
					else if ( document.selection ) { 
						var sel = document.selection.createRange (); 
						sel.text = suggestion; 
						sel.move ("character", -suggestion.length); 
						sel.findText (suggestion); sel.select ();
					}
				}
			}
		}
		httpreq.send (null);
	}
}

/**
	Funcion que realiza la tarea del trim de PHP en JavaScript
*/
function trim(str) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: mdsjack (http://www.mdsjack.bo.it)
    // +   improved by: Alexander Ermolaev (http://snippets.dzone.com/user/AlexanderErmolaev)
    // *     example 1: trim('    Kevin van Zonneveld    ');
    // *     returns 1: 'Kevin van Zonneveld'
 
    return str.replace(/(^[\s\xA0]+|[\s\xA0]+$)/g, '');
}

/**
 * Genera un nick valido para un usuario
 *
 * @param string texto Texto a partir del cual se genera el nick	 
 * @return string Nick generado
 */
function generaSnick(texto){
	var arrCadena = new Array();
	texto = trim(texto);

	//Se convierten algunos los caracteres.
	arrMayusConv = new Array(15);
	arrMayusConvA = new Array(15);
	arrMayusConv[0]='Á';
	arrMayusConvA[0]='a';
	arrMayusConv[1]='É';
	arrMayusConvA[1]='e';
	arrMayusConv[2]='Í';
	arrMayusConvA[2]='i';
	arrMayusConv[3]='Ó';
	arrMayusConvA[3]='o';
	arrMayusConv[4]='Ú';
	arrMayusConvA[4]='u';
	arrMayusConv[5]='Ñ';
	arrMayusConvA[5]='n';
	arrMayusConv[6]='ñ';
	arrMayusConvA[6]='n';
	arrMayusConv[7]='Ü';
	arrMayusConvA[7]='ü';
	arrMayusConv[8]='á';
	arrMayusConvA[8]='a';
	arrMayusConv[9]='é';
	arrMayusConvA[9]='e';
	arrMayusConv[10]='í';
	arrMayusConvA[10]='i';
	arrMayusConv[11]='ó';
	arrMayusConvA[11]='o';
	arrMayusConv[12]='ú';
	arrMayusConvA[12]='u';
	arrMayusConv[13]='ç';
	arrMayusConvA[13]='c';
	arrMayusConv[14]='Ç';
	arrMayusConvA[14]='c';
	arrMayusConv[14]=' ';
	arrMayusConvA[14]='_';
	
	texto = texto.toLowerCase();
	
	for (i=0;i<arrMayusConv.length;i++) {
		texto = texto.replace(arrMayusConv[i],arrMayusConvA[i]);
	}
	var arraycaracteresvalidos= new Array('_',
								'1','2','3','4','5','6','7','8','9','0',
								'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');

	var aux="";
	cierre=true;

	for (i=0;i<texto.length;i++){
		chr = texto.charAt(i);
		
		if(chr=='('){
			cierre = false;
		}
		if(cierre){
			/*
			$ord = ord($chr);
			if ($ord<48 || $ord>122){
				$chr = '';
			}
			if($ord>57 && $ord<97){
				$chr = '';
			}
			$aux .= $chr;
			*/

			//Lo de antes es un poco lioso ya que aveces se tienen que contemplar caracteres que se
			//salen de los rangos ascii establecidos.
			if(arraycaracteresvalidos.toString().indexOf(chr)==-1){
				chr='';
			}
			aux+=chr;
		}
		if(chr==')'){
			cierre = true;
		}
	}
	
	return trim(aux);
}

function esMail(texto){ 

    var mailres = true;             
    var cadena = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890@._-"; 
     
    var arroba = texto.indexOf("@",0); 
    if ((texto.lastIndexOf("@")) != arroba) arroba = -1; 
     
    var punto = texto.lastIndexOf("."); 
                 
     for (var contador = 0 ; contador < texto.length ; contador++){ 
        if (cadena.indexOf(texto.substr(contador, 1),0) == -1){ 
            mailres = false; 
            break; 
     } 
    } 

    if ((arroba > 1) && (arroba + 1 < punto) && (punto + 1 < (texto.length)) && (mailres == true) && (texto.indexOf("..",0) == -1)) 
     mailres = true; 
    else 
     mailres = false; 
                 
    return mailres; 
} 

function validaURLs(url) { 
if (url.lastIndexOf("http:") == 0 || url.lastIndexOf("www") == 0 || url.lastIndexOf("es.") == 0|| url.lastIndexOf("fr.") == 0)
	return true;
else return false; 
}