var xxDivCoverEverything_js_12345 = document.createElement('DIV');
var xxPopBase_js_12345 = document.createElement('DIV');
var popup_js_1234_init_95371Done = false;

var isIEbefore7 = false;
var IEcheck_js_12345 = getInternetExplorerVersion();

if ((IEcheck_js_12345 > -1) && (IEcheck_js_12345 < 7))
{
    isIEbefore7 = true;
}

function popup_js_1234_init_95371()
{
    if (popup_js_1234_init_95371Done)
    {
        return;
    }
    
    if ('CSS1Compat' != document.compatMode)
    {
        alert('Web page is set up so IE does not run in CSS1 Compatible mode. Add something similar to the following to get compatible mode: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');
    }
    
    var cover = xxDivCoverEverything_js_12345;
    cover.style.visibility = 'hidden';
    cover.style.position = 'absolute';
    cover.style.top = 0;
    cover.style.left = 0;
    cover.style.backgroundColor = 'blue';
    cover.style.opacity = 0.30;
    
    if (null != cover.style.filter)
    {
        cover.style.filter = 'alpha(opacity=30)';
    }
    
    cover.style.zIndex = 25;
    
    document.body.appendChild(cover);
    createPopupBase_js_1234_95371();
    
    popup_js_1234_init_95371Done = true;
}

/* 
 * IE chokes if this is called before the "onload" of body. So either call it in an onload function or
 * call by using a timer. 
 * popup_js_1234_init_95371(); 
 */

function createPopupBase_js_1234_95371()
{
    document.body.appendChild(xxPopBase_js_12345);
    
    var header = document.createElement('DIV');
    xxPopBase_js_12345.xxHeader = header;
    
    var body = document.createElement('DIV');
    xxPopBase_js_12345.xxBody = body;
    
    var span = document.createElement('SPAN');
    xxPopBase_js_12345.xxSpan = span;
    
    xxPopBase_js_12345.appendChild(header);
    xxPopBase_js_12345.appendChild(body);
    
    header.appendChild(span);
    span.appendChild(document.createTextNode('X'));
    
    initPopBase_js_1234_95371();
}

function initPopBase_js_1234_95371()
{
    xxPopBase_js_12345.xxTopOffset = 0;
    xxPopBase_js_12345.xxLeftOffset = 0;
    
    xxPopBase_js_12345.style.visibility = 'hidden';
    xxPopBase_js_12345.style.position = 'absolute';
    xxPopBase_js_12345.style.backgroundColor = 'white';
    xxPopBase_js_12345.style.top = 0;
    xxPopBase_js_12345.style.left = 0;
    xxPopBase_js_12345.style.zIndex = 50;
    xxPopBase_js_12345.style.borderColor = 'black';
    xxPopBase_js_12345.style.borderStyle = 'solid';
    xxPopBase_js_12345.style.borderWidth = '1px';
    
    xxPopBase_js_12345.xxHeader.style.textAlign = 'right';
    xxPopBase_js_12345.xxHeader.style.backgroundColor = '#CCCCFF';
    xxPopBase_js_12345.xxHeader.style.paddingTop = '3px';
    xxPopBase_js_12345.xxHeader.style.paddingBottom = '3px';
    
    xxPopBase_js_12345.xxBody.style.padding = '10px';
    
    xxPopBase_js_12345.xxSpan.style.padding = '4px';
    xxPopBase_js_12345.xxSpan.style.borderColor = '#666666';
    xxPopBase_js_12345.xxSpan.style.borderStyle = 'solid';
    xxPopBase_js_12345.xxSpan.style.borderWidth = '1px';
    xxPopBase_js_12345.xxSpan.style.cursor = 'default';
}

function doScroll_js_1234_95371()
{
    theTop = findScrollTop();
    theLeft = findScrollLeft();
    xxPopBase_js_12345.style.top = (xxPopBase_js_12345.xxTopOffset + theTop) + 'px';
    xxPopBase_js_12345.style.left = (xxPopBase_js_12345.xxLeftOffset + theLeft) + 'px';
}

function createPopup(divBody)
{
    initPopBase_js_1234_95371();
    
    divBody.style.position = 'relative';
    divBody.style.top = 0;
    divBody.style.left = 0;
    divBody.style.visibility = '';
    
    xxPopBase_js_12345.xxBody.appendChild(divBody);
    
    return xxPopBase_js_12345;
}

function findScrollTop()
{
    if (document.documentElement.scrollTop)
    {
        return(document.documentElement.scrollTop);
    }
    if (document.all)
    {
        return(document.body.scrollTop);
    }
    return(window.pageYOffset);
}

function findScrollLeft()
{
    if (document.documentElement.scrollLeft)
    {
        return(document.documentElement.scrollLeft);
    }
    if (document.all)
    {
        return(document.body.scrollLeft);
    }
    return(window.pageXOffset);
}

function showPopup(posFromVisibleTop, moveWithScroll, top, left, funcOnCancel)
{
    if ('CSS1Compat' != document.compatMode)
    {
        return;
    }
    
    var theTop = 0;
    var theLeft = 0;

    if ( (!posFromVisibleTop)
        || (!isIEbefore7 && moveWithScroll) )
    {
    }
    else
    {
        theTop = findScrollTop();
        theLeft = findScrollLeft();
    }
    
    window.onscroll = null;
    
    if (isIEbefore7 && posFromVisibleTop && moveWithScroll)
    {
        window.onscroll = doScroll_js_1234_95371;
    }
    
    xxPopBase_js_12345.style.position = 'absolute';

    if (!isIEbefore7 && posFromVisibleTop && moveWithScroll)
    {
        xxPopBase_js_12345.style.position = 'fixed';
    }

    
    xxPopBase_js_12345.xxTopOffset = top;
    xxPopBase_js_12345.xxLeftOffset = left;
    
    xxPopBase_js_12345.style.top = (xxPopBase_js_12345.xxTopOffset + theTop) + 'px';
    xxPopBase_js_12345.style.left = (xxPopBase_js_12345.xxLeftOffset + theLeft) + 'px';

    
    xxPopBase_js_12345.xxClose = function ()
        {
            this.style.visibility = 'hidden';
			this.style.position = 'absolute';
            this.style.top = 0;
            this.style.left = 0;
            xxDivCoverEverything_js_12345.style.visibility = 'hidden';
            xxDivCoverEverything_js_12345.style.width = 0;
            xxDivCoverEverything_js_12345.style.height = 0;
            xxDivCoverEverything_js_12345.style.top = 0;
            xxDivCoverEverything_js_12345.style.left = 0;
        };
    
    if (funcOnCancel)
    {
        xxPopBase_js_12345.xxSpan.onclick = function ()
            {
                xxPopBase_js_12345.xxClose();
                funcOnCancel();
            };
    }
    else
    {
        xxPopBase_js_12345.xxSpan.onclick = function ()
            {
                xxPopBase_js_12345.xxClose();
            };
    } 
    
    xxPopBase_js_12345.style.visibility = 'visible';
    
    var bodyObj = document.body;
    
    xxDivCoverEverything_js_12345.style.visibility = 'visible';
    xxDivCoverEverything_js_12345.style.width = bodyObj.scrollWidth + 'px';
    xxDivCoverEverything_js_12345.style.height = bodyObj.scrollHeight + 'px';
    
    //bodyObj.style.display = 'none';
    //bodyObj.style.display = 'block';
}

function getAbsLeft(el)
{
    var x = 0;
    while(el)
    {
        x += el.offsetLeft;
        el = el.offsetParent;
    }
    
    return x;
}

function getAbsTop(el)
{
    y = 0;
    while(el)
    {
        y += el.offsetTop;
        el = el.offsetParent;
    }
    
    return y;
}

//
// Returns version of IE or -1 if not IE.
//
function getInternetExplorerVersion()
{
  var rv = -1;
  
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
}
