﻿// Requires: Controls.js
function PageLoadProgressDialog(ctlToPosition, ctlToCover, offsetX, offsetY) 
{
  var pageLoaded = false;
  
  var resizeInterval;

  var PositionControlInMiddle = function(ctlToPosition, ctlToCover)
  {
    ctlToPosition.style.position = 'absolute';
    ctlToPosition.style.display = 'block';
    ctlToPosition.style.zIndex = 99999;

    var left = FindPosX(ctlToCover) + (ctlToCover.offsetWidth / 2) - (ctlToPosition.offsetWidth / 2);
    if (offsetX)
      left += offsetX;

    var top = FindPosY(ctlToCover) + (ctlToCover.offsetHeight / 2) - (ctlToPosition.offsetHeight / 2);
    if (offsetY)
      top += offsetY;

    ctlToPosition.style.left = left + 'px';
    ctlToPosition.style.top = top + 'px';
  };

  var PageLoaded = function()
  {
    pageLoaded = true;
    ctlToPosition.style.display = 'none';
    clearInterval(resizeInterval);
  }; 
  var PageResized = function()
  { 
    if ( !pageLoaded )
      PositionControlInMiddle(ctlToPosition, ctlToCover);
  };

  PositionControlInMiddle(ctlToPosition, ctlToCover);
  
  resizeInterval = setInterval( PageResized, 20 );

  if (window.attachEvent)
    window.attachEvent('onload', PageLoaded);
  else
    window.addEventListener('load', PageLoaded, false);
}