function opacidadactual(id) {
    var objeto = document.getElementById(id).style;
    if (objeto.opacity) {
        return objeto.opacity;
    }
    if (objeto.MozOpacity) {
        return objeto.MozOpacity;
    }
    if (objeto.KhtmlOpacity) {
        return objeto.KhtmlOpacity;
    }
    if (objeto.filter) {
        return objeto.alpha;
    }
}

function opacidad(id, opacStart, opacEnd, millisec) {
    var vel = Math.round(millisec / 100);
    var timer = 0;
    if (opacStart > opacEnd) {
        for (i = opacStart; i >= opacEnd; i--) {
            setTimeout("cambiarOpa(" + i + ",'" + id + "')", timer * vel);
            timer++;
        }
    } else if (opacStart < opacEnd) {
        document.getElementById(id).style.display = "";
        cambiarOpa(0, id);
        for (i = opacStart; i <= opacEnd; i++) {
            setTimeout("cambiarOpa(" + i + ",'" + id + "')", timer * vel);
            timer++;
        }
    }
}

function cambiarOpa(opacidad, id) {
    var objeto = document.getElementById(id).style;
    objeto.opacity = opacidad / 100;
    objeto.MozOpacity = opacidad / 100;
    objeto.KhtmlOpacity = opacidad / 100;
    objeto.filter = "alpha(opacity=" + opacidad + ")";
}

function mostrarcapa(id, miliseg) {
    var objeto = document.getElementById(id).style;
    if (objeto.display = "none") {
        objeto.display = "";
    }
    opacidad(id, 0, 100, miliseg);
}

function ocultarcapa(id, miliseg) {
    var objeto = document.getElementById(id).style;
    if (opacidadactual(id) > 0) {
        opacidad(id, 100, 0, miliseg * 3);
    }
    if (opacidadactual(id) < 1) {
        objecto.display = "none";
    }
}
