﻿/**
 * Funciones relacionadas con el msgbox encargado de mostrar los mensajes.
 * Asociada a este archivo debe ir siempre la hoja de estilos estilos_msgbox.css
 */
 
/**
 * Función que muestra un mensaje de error en una ventana flotante
 */
function showErrorMsg(msg) {


    var body = document.getElementsByTagName("body").item(0);
    var width = screen.width;
    var height = screen.availHeight;
    var msgboxWidth = 454;
    var msgboxHeight = 248;
    var marginTop = Math.ceil(height / 2) - Math.ceil(msgboxHeight / 1);
    var marginLeft = Math.ceil(width / 2) - Math.ceil(msgboxWidth / 2);

    // Comprobamos el navegador
    oldIE = isOldIE();
    
    // Montamos el fondo oscurecido
    var msg_bg = document.createElement("div");
    msg_bg.id = "msg_bg";
    body.appendChild(msg_bg);

    // Comprobamos
    if (oldIE) msg_bg.style.width = width+"px";
    else msg_bg.setAttribute("style", "width:" + width + "px;");    
    
    // Montamos el contenedor
    var msg_wrapper = document.createElement("div");
    msg_wrapper.id = "msg_wrapper";
    msg_bg.appendChild(msg_wrapper);
    
    // Comprobamos
    if(!oldIE)   msg_wrapper.setAttribute("style", "width: " + msgboxWidth + "px; min-height: " + msgboxHeight + "px; margin-top: " + marginTop + "px; margin-left: " + marginLeft + "px;");
    else {
        msg_wrapper.style.position = "absolute";
        msg_wrapper.style.width = msgboxWidth+"px";
        msg_wrapper.style.height = msgboxHeight+"px";
        msg_wrapper.style.top = marginTop + "px ";
        msg_wrapper.style.left = marginLeft + "px";
    }
    

    // Montamos la cabecera
    var msg_header = document.createElement("div");
    msg_header.id = "msg_header";
    msg_wrapper.appendChild(msg_header);
    
    // Texto de cabecera
    var msg_header_strong = document.createElement("strong");
    msg_header.appendChild(msg_header_strong)
    
    var msg_header_text = document.createTextNode("ATENCIÓN");
    msg_header_strong.appendChild(msg_header_text);

    // Enlace botón cerrar
    var msg_close_link = document.createElement("a");
    msg_close_link.setAttribute("href", "#");
    msg_close_link.setAttribute("title", "Cerrar");
    msg_header.appendChild(msg_close_link);

    // Imagen botón cerrar ventana
    var msg_close_img = document.createElement("img");
    msg_close_img.setAttribute("src", "_img/msgbox/msgboxErrorCloseButton.png");
    msg_close_img.setAttribute("alt", "Cerrar");
    msg_close_img.setAttribute("title", "Cerrar");
    msg_close_link.appendChild(msg_close_img);

    // Montamos el contenido del mensaje
    var msg_content = document.createElement("div");
    msg_content.id = "msg_content";
    msg_wrapper.appendChild(msg_content);
    
    // Creamos el campo de texto y lo asignamos
    var msg_box = document.createElement("p");
    msg_content.appendChild(msg_box);
    
    var msg_text = document.createTextNode("" + msg + "");
    msg_box.appendChild(msg_text);

    // Montamos el pie de la ventana
    var msg_footer = document.createElement("div");
    msg_footer.id = "msg_footer";
    msg_wrapper.appendChild(msg_footer);

    // DEFINIMOS LA FUNCIÓN DE CERRAR EL MSG_BOX
    msg_bg.onclick = msg_close_link = function() {
        var msg = document.getElementById("msg_bg");
        var parent = msg.parentNode;
        parent.removeChild(msg);
    }
}

function showTooltipError(msg, top, left) {

    var tooltipHeight = 40;
    var tooltipWidth = 139;
    var tooltipTop = top - tooltipHeight;
    var tooltipLeft = left - Math.ceil(tooltipWidth / 2);

    var body = document.getElementsByTagName("body").item(0);

    // Comprobamos el navegador
    var oldIE = isOldIE();    

    // Montamos el fondo del tooltip
    var tooltip_wrapper = document.createElement("div");
    tooltip_wrapper.id = "tooltip_wrapper";    

    // Comprobamos
    if (!oldIE) {        
        tooltip_wrapper.setAttribute("style", "top: " + tooltipTop + "px; left: " + tooltipLeft + "px;");
    }
    else {        
        tooltip_wrapper.style.top = tooltipTop;
        tooltip_wrapper.style.left = tooltipLeft;
    }

    body.appendChild(tooltip_wrapper);

    // Montamos el contenido del tooltip
    var tooltip_content = document.createElement("div");
    tooltip_content.id = "tooltip_content";
    tooltip_wrapper.appendChild(tooltip_content);

    // Creamos el contenido del tooltip
    var tooltip_text = document.createTextNode("" + msg + "")
    tooltip_content.appendChild(tooltip_text);

    // Movemos la pantalla para mostrar el tolltip
    window.scrollTo(tooltipLeft, tooltipTop);

    // Creamos el temporizador para borrar el tooltip
    setTimeout("document.getElementById('tooltip_wrapper').parentNode.removeChild(document.getElementById('tooltip_wrapper'))", 5000);
}


/**
 * Función que devuelve true si el navegador que estamos utilizando
 * es una versión de Internet Explorer inferior a la 8
 */
function isOldIE() {

    // Obtenemos el navegador y la versión del mismo
    var nav = navigator.appName;
    var navVersion = navigator.appVersion;

    // Booleano que indica si se trata de un navegador con IE inferior a la version 8
    var oldIE = false;

    // Comprobamos si se trata de IE
    if (nav == "Microsoft Internet Explorer") {
        navVersion = navVersion.split(";")
        navVersion = navVersion[1].replace(" ", "").split(" ");
        navVersion = navVersion[1].split(".");
        navVersion = parseInt(navVersion[0]);

        // Comprobamos si se trata de una version de IE anterior a la 8       
        if (navVersion <= 7) oldIE = true;
    }

    // Devolvemos
    return oldIE;
}
 
