/**
 * (c) COPYRIGHT AVIATION SOFTWARE INC. 2003-2011
 */

function mouseX(evt) {
    if (evt.pageX) return evt.pageX;
    else if (evt.clientX)
        return evt.clientX + (document.documentElement.scrollLeft ?
                document.documentElement.scrollLeft :
                document.body.scrollLeft);
    else return null;
}

function mouseY(evt) {
    if (evt.pageY) return evt.pageY;
    else if (evt.clientY)
        return evt.clientY + (document.documentElement.scrollTop ?
                document.documentElement.scrollTop :
                document.body.scrollTop);
    else return null;
}

var carditDivUrl    = null;
var carditDivMousePositions  = null;
var carditDivParams = null;

function setCarditDivVars( url, event, pars )
{
    carditDivUrl = url;
    carditDivMousePositions = [ mouseX(event), mouseY(event) ];
    carditDivParams = pars;
}

var timer=null;
function popCarditWithDelay(_v, WAIT_IN_MSECS)
{
    if(_v)
    {
        timer=setTimeout('populateCarditDiv()',WAIT_IN_MSECS);
    }
    else
    {
        if(timer)
        {
            clearTimeout(timer);
            timer=null;
        }
    }
}

function populateCarditDiv()
{
    var d;
    if ( $('tooltipMessage') ) {
        d = $('tooltipMessage');
    }
    else {
        d = document.createElement('div');
    }
    var outer = $('content');
    outer.appendChild(d);

    d.setAttribute('id', 'tooltipMessage');
    d.setAttribute('onDblClick', "Effect.Fade(this, {direction: 'top-left'})");
    if ( d.attachEvent ) {
        d.attachEvent('ondblclick', shrink);
    }
    d.setAttribute('title', 'Click and drag to move.  Double click to close.');
    d.innerHTML='Loading...';

    var params = carditDivParams.join('&');
    var myAjax = new Ajax.Updater(
        {success: d},
        carditDivUrl,
        {
            method: 'get',
            parameters: params
        }
    );

    d.style.position='absolute';
    d.style.left = carditDivMousePositions[0] + 'px';
    d.style.top = carditDivMousePositions[1] + 'px';

    new Draggable(d);
    Effect.Appear(d);
}

function shrink()
{
    var d = $('tooltipMessage');
    Effect.Fade(d, {direction: 'top-left'});
}

function setPopupFlag(flag)
{
    popupFlag = flag;
    return;
}

function sleep(time)
{
    var now = new Date();
    var exitTime = now.getTime() + ( time * 1000 );
    while (true) {
        var this_now = new Date();
        if ( this_now.getTime() > exitTime )
            return;
    }
}

var popupDivUrl    = null;
var popupDivMousePositions  = null;
var popupDivParams = null;

function setPopupDivVars( url, event, pars )
{
    popupDivUrl = url;
    popupDivMousePositions = [ mouseX(event), mouseY(event) ];
    popupDivParams = pars;
}

var timer=null;
function popPopupWithDelay(_v, WAIT_IN_MSECS)
{
    if(_v)
    {
        timer=setTimeout('populatePopupDiv()',WAIT_IN_MSECS);
    }
    else
    {
        if(timer)
        {
            clearTimeout(timer);
            timer=null;
        }
    }
}

function populatePopupDiv()
{
    var d;
    if ( $('tooltipMessage') ) {
        d = $('tooltipMessage');
    }
    else {
        d = document.createElement('div');
    }
    var outer = $('content');
    outer.appendChild(d);

    d.setAttribute('id', 'tooltipMessage');
    d.setAttribute('onDblClick', "Effect.Fade(this, {direction: 'top-left'})");
    if ( d.attachEvent ) {
        d.attachEvent('ondblclick', shrink);
    }
    d.setAttribute('title', 'Click and drag to move.  Double click to close.');
    d.innerHTML='Loading...';

    var params = popupDivParams.join('&');
    var myAjax = new Ajax.Updater(
        {success: d},
        popupDivUrl,
        {
            method: 'get',
            parameters: params
        }
    );

    d.style.position='absolute';
    d.style.left = popupDivMousePositions[0] + 'px';
    d.style.top = popupDivMousePositions[1] + 'px';

    new Draggable(d);
    Effect.Appear(d);
}

function nonAjaxTooltip( message )
{
    var d;
    if ( $('tooltipMessage') ) {
        d = $('tooltipMessage');
    }
    else {
        d = document.createElement('div');
    }
    var outer = $('content');
    outer.appendChild(d);

    d.setAttribute('id', 'tooltipMessage');
    d.setAttribute('onDblClick', "Effect.Fade(this, {direction: 'top-left'})");
    d.setAttribute('title', 'Click and drag to move.  Double click to close.');
    if ( d.attachEvent ) {
        d.attachEvent('ondblclick', shrink);
    }
    d.innerHTML = message;
    d.style.position='absolute';
    d.style.left = popupDivMousePositions[0] + 'px';
    d.style.top = popupDivMousePositions[1] + 'px';

    new Draggable(d);
    Effect.Appear(d);
}

