ya terminamos.. esta es la PARTE 2
Código PHP:
// Función para desactivar el Tooltip
function desactivar_tooltip(){
// Comprovamos si la funcionalidad TOOLTIP está activa
if(tooltip_ACTIVO == true){
// Hacemos desaparecer el Tooltip
// t2 = setTimeout("capa.style.visibility='hidden'",tiempo_espera);
capa.style.visibility = "hidden";
// Hacemos desaparecer el IFRAME que hay debajo del Tooltip, el cual nos ayuda a que el Tooltip se vea sobre elementos SELECT y Textarea
obj_iframe_oculto.style.display = "none";
if (t1){
clearTimeout(t1);
}
if (t2){
clearTimeout(t2);
}
}
}
/*
Función que recorre un conjunto de Argumentos (pasados desde la función de Apertura del tooltip).
Ésta función monta le mensaje de salida del tooltip
*/
function mensaje_segun_elemento(argumentos_referenciados){
var el_mensaje_tooltip = "";
var mensaje_totalmente_definido = false;
var posicion_mensaje = -1;
// Si le hemos pasado algún parámetro
// alert(argumentos_referenciados.length)
if(argumentos_referenciados.length > 0){
// Recorro los parámetros para buscar el Código de Mensaje y si hay o no mensaje dinámico
for(i=1;i<argumentos_referenciados.length;i++){
// Si el argumento actual es una cadena de texto
if(isNaN(argumentos_referenciados[i]) || i >1){
// Comprovamos que se haya puesto ya el mensaje correspondiente, para incluirle los parámetros dinámicos
if(el_mensaje_tooltip != ""){
var parametro_mostrar = argumentos_referenciados[i];
// Si el argumento actual REALEMNTE ES SUNA CADENA
if(isNaN(argumentos_referenciados[i])){
// Si NO encontramos el elemento de Negación (!) como primer caracter del parámetro, es que PONEMOS el DETERMINANTE
if(argumentos_referenciados[i].substr(0,1) != "!"){
// comprobamos si es masculino o femenino
if ((argumentos_referenciados[i].substr(argumentos_referenciados[i].length-1, 1) != "a" && argumentos_referenciados[i].substr(0, 1) != "a") || argumentos_referenciados[i].substr(0, 1) == "h"){
determinante = "el";
}
else{
determinante = "la";
}
}
else{
parametro_mostrar = parametro_mostrar.substr(1);
determinante = "";
}
}
else{
determinante = "";
}
el_mensaje_tooltip = el_mensaje_tooltip.replace("%" + (i-1),determinante + " " + parametro_mostrar);
}
else{
mensaje_totalmente_definido = false;
}
}
else {// Si el elemento encontrado es un NÚMERO (será el código de mensaje)
mensaje_totalmente_definido = true
// Nos quedamos con la posición que ocupa el mensaje que hay que mostrar
posicion_mensaje = argumentos_referenciados[i];
el_mensaje_tooltip = mensajes_tooltip[posicion_mensaje];
}
} // for
// Si no se le ha pasado el argumento de Reemplazo, mostramos el Mensaje genérico de esa "Categoria"
if(el_mensaje_tooltip.indexOf("%") != -1){
// Subimos 1 nivel el código de mensaje, para mostar el mensaje genérico de esa "categoria"
var cadena_codigo_mensaje = posicion_mensaje.toString().substring(0,2) + "0";
el_mensaje_tooltip = mensajes_tooltip[parseInt(cadena_codigo_mensaje)];
}
}
else{// Si no hay parámetros no hay mensaje
mensaje_totalmente_definido = false
}
if(mensaje_totalmente_definido == false){
el_mensaje_tooltip = mensajes_tooltip[0];
}
return(el_mensaje_tooltip);
}
/*
Función que asigna dinamicamente un evento
Parametro 1: El objeto al que se le asignará el evento
Parametro 2: Evento que asignamos (Como SOLO IE tiene ON en sus eventos, la cadena no ha de llevar el ON. Si lo tiene, la función se lo quitará).
Parámetro 3: Función que asignamos al objeto en ese evento
*/
function agregar_evento_dinamico (el_objeto, el_evento, la_funcion){
if(el_evento.substr(0,2).toLowerCase() == "on"){
el_evento = el_evento.substr(2,el_evento.length)
}
// Agregamos en tiempo de Ejecución el evento MouseOut del Boton
if (window.addEventListener) {// Si El navegador tiene un EventListener (Firefox y Netscape)
el_objeto.addEventListener(el_evento,eval(la_funcion),true);
}
else {// Si no es Netscape ni Firefox
// Si el navegador es IE 5+
if (window.attachEvent){
var cadena_evento = "on" + el_evento;
el_objeto.attachEvent(cadena_evento,eval(la_funcion));
}
else {// Si no es IE 5+
if (document.getElementById){
el_objeto.onmouseout = eval(la_funcion);
}
}
}
return(el_objeto);
}
Quiro hacer una pregunta de interes general... ahy alguna manera de ahcer lo que yo he hecho, sin poner 3 post's? es para no llenar esto de cosas mias.. para la próxima.
Saludos a toso, y espero que mis comentarios sea útiles