﻿if (!PS) var PS = new Object();

PS.PopOver = new Object();

PS.PopOver.initialized = false;
PS.PopOver.closed = true;

PS.PopOver.open = function(url, w, h)
{
   if (!PS.PopOver.initialized) {
      PS.PopOver.initialized = true;
      PS.PopOver.Error.initialize();
   }

   EC.DOM.getElement('divPopOver').ecMove(-1000, -1000);
   EC.DOM.getElement('divPopOver').ecShow();

   el = EC.DOM.getElement('divPopOverLoading');

   el.ecShow();
   el.ecCenter(EC.Page.scrollLeft(), EC.Page.scrollTop(), EC.Page.clientWidth(), EC.Page.clientHeight());

   PS.PopOver.width = w;
   PS.PopOver.height = h;

   PS.PopOver.closed = false;

   frames['framePopOver'].location.href = url;
}

PS.PopOver.size = function(w, h)
{
   PS.PopOver.width = w;
   PS.PopOver.height = h;

   PS.PopOver.show();
}

PS.PopOver.close = function()
{
   PS.PopOver.closed = true;
   EC.DOM.getElement('divPopOverLoading').ecHide();
   EC.DOM.getElement('divPopOver').ecMove(-1000, -1000);
   EC.DOM.getElement('divPopOver').ecHide();
   EC.DOM.getElement('framePopOver').ecSize(1, 1);
}


PS.PopOver.show = function()
{
   if (PS.PopOver.closed)
      return;

   EC.DOM.getElement('framePopOver').ecShow();
   EC.DOM.getElement('framePopOver').ecSize(PS.PopOver.width, PS.PopOver.height);
   EC.DOM.getElement('divPopOverLoading').ecHide();

   var el = EC.DOM.getElement('divPopOver');

   el.ecMove(EC.Page.scrollLeft() + (EC.Page.clientWidth() - PS.PopOver.width) / 2,
             EC.Page.scrollTop() + (EC.Page.clientHeight() - PS.PopOver.height) / 2);
   el.ecShow();
}

PS.PopOver.showError = function(msg)
{
   if (PS.PopOver.closed)
      return;

   PS.PopOver.close();
   PS.PopOver.Error.center(EC.Page.scrollLeft(), EC.Page.scrollTop(),
                           EC.Page.clientWidth(), EC.Page.clientHeight());
   PS.PopOver.Error.show();

   if (msg != "")
      confirm(msg);
}

PS.PopOver.Error = new Object();

PS.PopOver.Error.initialized = false;

PS.PopOver.Error.initialize = function()
{
   if (PS.PopOver.Error.initialized)
      return;
      
   PS.PopOver.Error.initialized = true;
   PS.PopOver.Error.elError = EC.DOM.getElement('divError');

   PS.PopOver.Error.elError.ecShow();
   PS.PopOver.Error.elError.ecHide();
}

PS.PopOver.Error.move = function(left, top)
{
   PS.PopOver.Error.elError.ecMove(let, top);
}

PS.PopOver.Error.show = function()
{
   PS.PopOver.Error.elError.ecShow();

   PS.PopOver.Error.elOverlay.ecHeight(EC.Page.height());
   PS.PopOver.Error.elOverlay.ecShow();
}

PS.PopOver.Error.hide = function()
{
   PS.PopOver.Error.elError.ecHide();
   PS.PopOver.Error.elOverlay.ecHide();
}

PS.PopOver.Error.center = function(left, top, width, height)
{
   PS.PopOver.Error.elError.ecMove(left + (width - PS.PopOver.Error.elError.ecWidth()) / 2,
                                   top + (height - PS.PopOver.Error.elError.ecHeight()) / 2);
}

function fnErrorTrap(sMsg,sUrl,sLine){
   confirm("Error: " + sMsg + "\r\n" + "Line: " + sLine + "\r\n" + "URL: " + sUrl);
   return true;
}

//window.onerror = fnErrorTrap;
