﻿
guia = {
    init: function(isMapaEnabledValue, isMapaVisible, isEspecialidadesEnabled, isEspecialidadesVisible, isResultadoEnabled, isResultadoVisible) {
        mapaEnabled = isMapaEnabledValue;
        mapaVisible = isMapaVisible;
        especialidadesEnabled = isEspecialidadesEnabled;
        especialidadesVisible = isEspecialidadesVisible;
        resultadoEnabled = isResultadoEnabled;
        resultadoVisible = isResultadoVisible;
    }
    ,
    establecerValores: function() {
        if(mapaEnabled) {
            guia.enableMapa();
        }
        else {
            guia.disableMapa();
        }
        
        if(mapaVisible) {
            guia.showMapa();
        }
        else {
            guia.hideMapa();
        }
        
        if(especialidadesEnabled) {
            guia.enableEspecialidades();
        }
        else {
            guia.disableEspecialidades();
        }
        
        if(especialidadesVisible) {
            guia.showEspecialidades();
        }
        else {
            guia.hideEspecialidades();
        }
        
        if(resultadoEnabled) {
            guia.enableResultado();
        }
        else {
            guia.disableResultado();
        }
        
        if(resultadoVisible) {
            guia.showResultado();
        }
        else {
            guia.hideResultado();
        }
    }
    ,
    hoverMapa: function() {
        $("#ImageMapctl00_ContentPlaceHolder1_imMapaProvincias area").each(function() {
            $(this).attr("title", "");
            var provincia = $(this).attr("alt");
            
            $(this).mouseover(function() {
                tooltip.show(provincia);
            });
            
            $(this).mouseout(function() {
                tooltip.hide(provincia);
            });
        });
    }
    ,
    enableMapa: function() {
        var mapa = $("#ctl00_ContentPlaceHolder1_imMapaProvincias");
        mapa.attr("usemap", "#ImageMapctl00_ContentPlaceHolder1_imMapaProvincias");
        mapa.css("opacity", "1");
        mapa.css("filter", "null");
        mapa.css("cursor", "auto");
        guia.hoverMapa();
        mapaEnabled = true;
    }
    ,
    disableMapa: function() {
        var mapa = $("#ctl00_ContentPlaceHolder1_imMapaProvincias");
        mapa.attr("usemap", "");
        mapa.css("opacity", "0.3");
        mapa.css("filter", "alpha(opacity=30)");
        mapa.css("cursor", "default");
        mapaEnabled = false;
    }
    ,
    showMapa: function() {       
        $("#ctl00_ContentPlaceHolder1_mapa").show();
        mapaVisible = true;
    }
    ,
    hideMapa: function() {
        $("#ctl00_ContentPlaceHolder1_mapa").hide();
        mapaVisible = false;
    }
    ,
    openPanelProvincia: function() {
        guia.disableEspecialidades();
        guia.hideEspecialidades();
        guia.disableResultado();
        guia.hideResultado();
        guia.enableMapa();
        guia.showMapa();
        
        $("#ctl00_ContentPlaceHolder1_lbDescripcionLeyenda").html("Selecciona la provincia que quieras en el mapa mostrado a continuación. También puedes seleccionar <span class='info'>TODAS</span> las provincias pulsando el enlace del menú de la izquierda.");
    }
    ,
    openPanelLocalidad: function() {
        guia.disableMapa();
        guia.disableEspecialidades();
        guia.disableResultado();

        if(mapaVisible) {
            guia.showMapa();
            guia.hideEspecialidades();
            guia.hideResultado();          
        }
        if(especialidadesVisible) {
            guia.hideMapa();
            guia.showEspecialidades();
            guia.hideResultado();  
        }
        if(resultadoVisible) {
            guia.hideMapa();
            guia.hideEspecialidades();
            guia.showResultado();  
        }
        
        $("#ctl00_ContentPlaceHolder1_lbDescripcionLeyenda").html("Selecciona la localidad que quieras en el desplegable del menú de la izquierda. También puedes seleccionar <span class='info'>TODAS</span> las localidades eligiendo la palabra <em>TODAS</em> en el desplegable.");
    }
    ,
    openPanelCentro: function() {
        guia.disableMapa();
        guia.disableEspecialidades();
        guia.disableResultado();

        if(mapaVisible) {
            guia.showMapa();
            guia.hideEspecialidades();
            guia.hideResultado();          
        }
        if(especialidadesVisible) {
            guia.hideMapa();
            guia.showEspecialidades();
            guia.hideResultado();  
        }
        if(resultadoVisible) {
            guia.hideMapa();
            guia.hideEspecialidades();
            guia.showResultado();  
        }
        
        $("#ctl00_ContentPlaceHolder1_lbDescripcionLeyenda").html("Selecciona el centro hospitalario que quieras en el desplegable del menú de la izquierda. También puedes seleccionar <span class='info'>TODOS</span> los centros eligiendo la palabra <em>TODAS</em> en el desplegable.");
    }
    ,
    enableEspecialidades: function() {    
        var especialidades = $("#ctl00_ContentPlaceHolder1_gvEspecialidades");
        var patron = /^javascript:;\/\*[\s\S]*\*\/$/;
        
        if (especialidades.html() != null) {
            especialidades.css("opacity", "1");
            especialidades.css("filter", "null");
            especialidades.css("cursor", "auto");
            
            $("#ctl00_ContentPlaceHolder1_gvEspecialidades a").each(function() {
               $(this).attr("class", "enabled");

                if (patron.test($(this).attr("href"))) {
                    $(this).attr("href", $(this).attr("href").replace(/javascript:;\/\*/g, ""));
                    $(this).attr("href", $(this).attr("href").substr(0, $(this).attr("href").length - 2));
                }
                
            });
            
            especialidadesEnabled = true;
        }
    }
    ,
    disableEspecialidades: function() {
        var especialidades = $("#ctl00_ContentPlaceHolder1_gvEspecialidades");
        var patron = /^javascript:;\/\*[\s\S]*\*\/$/;
         
        if (especialidades.html() != null) {
            especialidades.css("opacity", "0.3");
            especialidades.css("filter", "alpha(opacity=30)");
            especialidades.css("cursor", "default");
                        
           $("#ctl00_ContentPlaceHolder1_gvEspecialidades a").each(function() {
                $(this).attr("class", "disabled");
                
                if (!patron.test($(this).attr("href"))) {
                    $(this).attr("href", "javascript:;/*" + $(this).attr("href") + "*/");
                }
            });
            
            especialidadesEnabled = false;
        }
    }
    ,
    showEspecialidades: function() {    
        var especialidades = $("#ctl00_ContentPlaceHolder1_especialidades");
        
        if (especialidades.html() != null) {
            especialidades.show();
            especialidadesVisible = true;
        }
    }
    ,
    hideEspecialidades: function() {
        var especialidades = $("#ctl00_ContentPlaceHolder1_especialidades");
        
        if (especialidades.html() != null) {
            especialidades.hide();
            especialidadesVisible = false;
        }
    }
    ,
    openPanelEspecialidad: function() {
        guia.disableMapa();
        guia.hideMapa();
        guia.disableResultado();
        guia.hideResultado();
        guia.enableEspecialidades();
        guia.showEspecialidades();
        
        $("#ctl00_ContentPlaceHolder1_lbDescripcionLeyenda").html("Selecciona la especialidad que quieras en la tabla mostrada a continuación. También puedes seleccionar <span class='info'>TODAS</span> las especialidades pulsando el enlace del menú de la izquierda.");
    }
    ,
    openPanelConvocatorias: function() {
        guia.disableMapa();
        guia.disableEspecialidades();
        guia.disableResultado();

        if(mapaVisible) {
            guia.showMapa();
            guia.hideEspecialidades();
            guia.hideResultado();          
        }
        if(especialidadesVisible) {
            guia.hideMapa();
            guia.showEspecialidades();
            guia.hideResultado();  
        }
        if(resultadoVisible) {
            guia.hideMapa();
            guia.hideEspecialidades();
            guia.showResultado();  
        }
        
        $("#ctl00_ContentPlaceHolder1_lbDescripcionLeyenda").html("Selecciona el intervalo de convocatorias que quieras consultar. Este apartado es <span class='info'>OPCIONAL</span>, si quieres puedes omitirlo pulsando el enlace del menú de la izquierda.");
    }
    ,
    openPanelNumeroOrdenMIR: function() {
        guia.disableMapa();
        guia.disableEspecialidades();
        guia.disableResultado();

        if(mapaVisible) {
            guia.showMapa();
            guia.hideEspecialidades();
            guia.hideResultado();          
        }
        if(especialidadesVisible) {
            guia.hideMapa();
            guia.showEspecialidades();
            guia.hideResultado();  
        }
        if(resultadoVisible) {
            guia.hideMapa();
            guia.hideEspecialidades();
            guia.showResultado();  
        }
        
        $("#ctl00_ContentPlaceHolder1_lbDescripcionLeyenda").html("Introduce el número de orden MIR que quieres consultar en el menú de la izquierda y pulsa en el botón 'enviar' para ver los resultados de la búsqueda. Este apartado es <span class='info'>OPCIONAL</span>, si quieres puedes omitirlo pulsando el enlace del menú de la izquierda.");
    }
    ,
    enableResultado: function() {
        var resultado = $("#ctl00_ContentPlaceHolder1_gvResultados");
        
        if (resultado.html() != null) {
            resultado.css("opacity", "1");
            resultado.css("filter", "null");
            resultado.css("cursor", "auto");
            resultadoEnabled = true;
        }
    }
    ,
    disableResultado: function() {
        var resultado = $("#ctl00_ContentPlaceHolder1_gvResultados");
        
        if (resultado.html() != null) {
            resultado.css("opacity", "0.3");
            resultado.css("filter", "alpha(opacity=30)");
            resultado.css("cursor", "default");
            resultadoEnabled = false;
        }
    }
    ,
    showResultado: function() {
        var resultado = $("#ctl00_ContentPlaceHolder1_resultados");
        
        if (resultado.html() != null) {
            resultado.show();
            resultadoVisible = true;
        }
    }
    ,
    hideResultado: function() {
        var resultado = $("#ctl00_ContentPlaceHolder1_resultados");
        
        if (resultado.html() != null) {
            resultado.hide();
            resultadoVisible = false;
        }
    }
    ,
    showSinResultados: function() {
        var resultado = $("#ctl00_ContentPlaceHolder1_sinResultados");
        
        if (resultado.html() != null) {
            resultado.show();
            $("#irArribaResultados").hide();
        }
    }
    ,
    hideSinResultados: function() {
        var resultado = $("#ctl00_ContentPlaceHolder1_sinResultados");
        
        if (resultado.html() != null) {
            resultado.hide();
            $("#irArribaResultados").show();
        }
    }
    ,
    openResultado: function() {
        guia.disableMapa();
        guia.hideMapa();
        guia.disableEspecialidades();
        guia.hideEspecialidades();
        guia.enableResultado();
        guia.showResultado();
        
        $("#ctl00_ContentPlaceHolder1_lbDescripcionLeyenda").html("El proceso de elección de plazas ha terminado. Puedes ver los resultados en la tabla de resultados mostrada a continuación.");
               
        if ($("#ctl00_ContentPlaceHolder1_gvResultados").html() == null) {
            guia.showSinResultados();
        }
        else {
            guia.hideSinResultados();
        }
    }
}