﻿var __Resp;
var __WaitScr=null;
var __AjaxFileUpload;
var __SuccessFunc;
var __FailureFunc;
var __ReqMade;

if(window.addEventListener)
{
  window.addEventListener("onresize",__PositionWaitScreen,false);
  window.addEventListener("onscroll",__PositionWaitScreen,false);
}
else
{
  window.attachEvent("onresize",__PositionWaitScreen);
  window.attachEvent("onscroll",__PositionWaitScreen);
}

function __MakeAsyncRequest(id,requestData,successFunc,failureFunc)
{
  __SuccessFunc=(successFunc==null?__Dummy:successFunc);
  __FailureFunc=(failureFunc==null?__Dummy:failureFunc);
  __SendRequest(id,requestData,__ReceiveGoodResponse,__ReceiveBadResponse);
}
function __Dummy(){}

function __MakeRequest(id,requestData,successFunc,failureFunc)
{
  __SuccessFunc=successFunc;
  __FailureFunc=failureFunc;
  __OutputWaitScreen();
  __SendRequest(id,requestData,__ReceiveGoodResponse,__ReceiveBadResponse);
}

function __ReceiveGoodResponse(response, context)
{
  if(response!='')
  {
    __Resp=__LoadXml(response);
    __HideWaitScreen();
    var status=__NumericNodeValue(__Resp,"status");
    if(status==0)
    {
      if(__SuccessFunc)
      {
        new __SuccessFunc;
      }
    }
    else
    {
      if(__FailureFunc)
      {
        new __FailureFunc;
      }
    }
  }
}

function __ReceiveBadResponse(response, context)
{
  __HideWaitScreen();
  new __FailureFunc;
}

function __OutputWaitScreen()
{
  __WaitScr=document.createElement("div");
  if(__WaitScr!=null)
  {
    var waitImg=document.createElement("img");
    if(waitImg!=null)
    {
      waitImg.alt="Please wait...";
      waitImg.src=__RequestPath+"/Desktopmodules/OALUtils/Images/ajax-loader.gif";
      __WaitScr.appendChild(waitImg);
    }
    __WaitScr.className="ScreenCover";
    document.body.appendChild(__WaitScr);
    __PositionWaitScreen();
  }
}

function __PositionWaitScreen()
{
  if(__WaitScr!=null)
  {
    var w;
    var h;
    if (self.innerHeight)
    {
	    w=self.innerWidth;
	    h=self.innerHeight;
    }
    else 
    {
      if(document.documentElement&&document.documentElement.clientHeight)
      {
	      w=document.documentElement.clientWidth;
	      h=document.documentElement.clientHeight;
      }
      else
      {
        if(document.body)
        {
	        w=document.body.clientWidth;
	        h=document.body.clientHeight;
        }
      }
    }
    __WaitScr.style.width=(w+__ScrollLeft())+"px";
    __WaitScr.style.height=(h+__ScrollTop())+"px";
    if(__WaitScr.childNodes.length>0)
    {
      var waitImg=__WaitScr.childNodes[0];
      waitImg.style.left=(((w-waitImg.offsetWidth)/2)+__ScrollLeft())+"px";
      waitImg.style.top=(((h-waitImg.offsetHeight)/2)+__ScrollTop())+"px";
    }
  }  
}

function __HideWaitScreen()
{
  if(__WaitScr!=null)
  {
    document.body.removeChild(__WaitScr);
    __WaitScr=null;
  }
}