﻿var IE = document.all?true:false
var posicX = 0;
var posicY = 0;
var posicXEf = 0;
var posicYEf = 0;

//Movimiento del raton y la tecla enter:
document.onmousemove = posicRatonXY;

//Capturo el Movimiento de la rueda:
if(IE) document.onmousewheel = posicRatonXY;
if (window.addEventListener) window.addEventListener('DOMMouseScroll', posicRatonXY, false);

function MueveUpdateProgress()
{
    posicXEf = posicX;
    posicYEf = posicY;
    
    //La capa transparente:
    var div1 = document.getElementById("divUpdateProgress");
    if (div1 != null)
    {
        div1.style.position = IE ? "fixed":"absolute";
        div1.style.left = posicXEf+15+'px';
        div1.style.top = posicYEf-25+'px'; 
        div1.style.zIndex = 10000;     
    }
    
    //El gif animado para el cursor:
    var div2 = document.getElementById("divUpdateProgress2");
    if (div2 != null)
    {        
        div2.style.position = "fixed";
        div2.style.height = "100%";
        div2.style.width= "100%";
        div2.style.left= "0px";
        div2.style.top= "0px";
        div2.style.filter = "alpha(opacity=30)";
        div2.style.opacity = 0.3;        
        div2.MozOpacity = 0.3; 
        div2.KhtmlOpacity = 0.3; 
        div2.style.backgroundColor = "#F2F2F2";
    }
} 

function posicRatonXY(e) 
{
    if (IE) 
    { 
        posicX = event.clientX + document.body.scrollLeft;
        posicY = event.clientY + document.body.scrollTop;
    }
    else 
    { 
        posicX = e.pageX; 
        posicY = e.pageY;
    }
    if (posicX < 0) 
    {
        posicX = 0;
    }
    if (posicY < 0) 
    {
        posicY = 0;
    }
    
    MueveUpdateProgress();
}

function mostrarMenu()
{
    var d = document.getElementById("dvMenu").style.visibility ='visible';
    var e = document.getElementById("dvMenu").style.posLeft=posicX-60;
    var f = document.getElementById("dvMenu").style.posTop=posicY+5;
}

function ocultaMenu()
{            
    var d = document.getElementById("dvMenu").style.visibility ='hidden';
}  

function capLock(e)
{
    kc=e.keyCode?e.keyCode:e.which;
    sk=e.shiftKey?e.shiftKey:((kc==16)?true:false);
    if(((kc>=65&&kc<=90)&&!sk)||((kc>=97&&kc<=122)&&sk))
    {
        document.getElementById('divMayusculas').style.visibility = 'visible';
    }
    else
    {
        document.getElementById('divMayusculas').style.visibility = 'hidden';
    }
}

function capEnter(e, id_btAceptar)
{
    kc=e.keyCode?e.keyCode:e.which;
    if (kc == 13) 
    {
        e.returnValue = false; 
        e.cancel = true;       
        
        //Fuerzo un postback con el ID de control que recibo por parametro:
        __doPostBack(id_btAceptar,'')
    }
}

window.onerror=detenerError
function detenerError()
{
    return true
}

function favoritos(){
    if ((navigator.appName=="Microsoft Internet Explorer") && (parseInt(navigator.appVersion)>=4)) 
    {
        var url="http://www.medicoonet/login/login.aspx";
        var titulo="MedicoOnNet-Tu agenda médica en internet";
        window.external.AddFavorite(url,titulo);
    }
    else 
    {
    if(navigator.appName == "Netscape") 
        alert ("Presione Crtl+D para agregar este sitio en sus Favoritos");
    }
}

//Cuidado!!: esto devuelve las coordenadas para usarse con fixed, no tiene en cuenta el scroll del navegador
getDimensions = function(oElement) {
    var x, y, w, h;
    x = y = w = h = 0;
    if (oElement.getBoundingClientRect) { // IE
        var oRect = oElement.getBoundingClientRect();
        x = oRect.left-2;
        w = oElement.clientWidth;
        y = oRect.top-2;
        h = oElement.clientHeight;
    }
    else if (document.getBoxObjectFor) { // Mozilla antiguo... esto devuelve para absolute, vaya cagada :S!
        var oBox = document.getBoxObjectFor(oElement);
        x = oBox.x-1;
        w = oBox.width;
        y = oBox.y-1;
        h = oBox.height;
    }
    return {x: x, y: y, w: w, h: h};
}

function Opacidad(id, opacStart, opacEnd, millisec) { 
    //speed for each frame 
    var speed = Math.round(millisec / 100); 
    var timer = 0; 

    //determine the direction for the blending, if start and end are the same nothing happens 
    if(opacStart > opacEnd) { 
        for(i = opacStart; i >= opacEnd; i--) { 
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } else if(opacStart < opacEnd) { 
        for(i = opacStart; i <= opacEnd; i++) 
            { 
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } 
} 

var actualOpac = 0;
function changeOpac(opacity, id) { 
    var object = document.getElementById(id).style; 
    object.opacity = (opacity / 100); 
    object.MozOpacity = (opacity / 100); 
    object.KhtmlOpacity = (opacity / 100); 
    object.filter = "alpha(opacity=" + opacity + ")"; 
    
    actualOpac = opacity;
    if (opacity > 0)
    {
        object.display = "block";    
    }
    else
    {
        object.display = "none";    
    }    
} 

var MuestraAyuda_divCaja = '';
var MuestraAyuda_divFlecha = '';
function MuestraAyuda(objInterrogacion, divCaja, divFlecha) 
{
    //Si es otro tooltip:
    if(MuestraAyuda_divCaja != divCaja)
    {
        //Oculto lo que este mostrando y cambio el objetivo:
        OcultaDiv();
        MuestraAyuda_divCaja = divCaja;
    }
    
    //Por si las moscas:
    RetieneDivAyuda();
    
    //Si no estoy mostrando otro, lo muestro:
    if(actualOpac == 0)
    {
        //Actualizo la posicion:
        objInterrogacion.onmouseout=DisparaOcultaDiv;
        
        MuestraAyuda_divCaja = divCaja;
        MuestraAyuda_divFlecha = divFlecha;

        //Posicion estatica del objeto de referencia (js/mon.js):
        var x=getDimensions(objInterrogacion).x;
        var y=getDimensions(objInterrogacion).y;

        var dvcaja = document.getElementById(divCaja);
        var dvflecha = document.getElementById(divFlecha);
        
        //Opacidad 0:
        changeOpac(0, dvcaja.id);
        changeOpac(0, dvflecha.id);
        
        //Posiciono los divs:                        
        dvcaja.style.top  = y+35+ "px";
        dvcaja.style.left = x-213+"px";
        //dvcaja.style.position = IE ? "fixed":"absolute";
        dvcaja.style.position = "fixed";
        dvflecha.style.top  = y+26+ "px";
        dvflecha.style.left = x-10+"px";    
        //dvflecha.style.position = IE ? "fixed":"absolute";      
        dvflecha.style.position = "fixed";
        
        //De 0 a 100:
        Opacidad(dvcaja.id, 0, 100, 250);
        Opacidad(dvflecha.id, 0, 100, 250); 
        
        //Doto a la caja de texto del poder de retenerse, por si el puntero se situa sobre ella:
        dvcaja.onmouseover=RetieneDivAyuda;
        var childrens = dvcaja.childNodes;
        for (child in childrens)
        {
            child.onmouseover=RetieneDivAyuda;
        }
        dvcaja.onmouseout=DisparaOcultaDiv;
    }
}

var cuentaOcultaDiv = 0;
function DisparaOcultaDiv()
{
    if (cuentaOcultaDiv != 0) clearTimeout(cuentaOcultaDiv);
    cuentaOcultaDiv = setTimeout("OcultaDiv()", 500);
}
function RetieneDivAyuda()
{
    if (cuentaOcultaDiv != 0) clearTimeout(cuentaOcultaDiv);
}

function OcultaDiv() 
{
    var dvcaja = document.getElementById(MuestraAyuda_divCaja);
    var dvflecha = document.getElementById(MuestraAyuda_divFlecha);    
    if (dvcaja != null)
    {
        Opacidad(dvcaja.id, actualOpac, 0, 300);
        Opacidad(dvflecha.id, actualOpac, 0, 300);
    }
}