<!--
//*****************************************************************************
//*       P l a n o   I n d e p e d e n t   S c h o o l   D i s t r i c t     *
//*                                                                           *
//*                         Global Ajax Functions                             *
//*                    GlbAjaxFunctions.js version 1.0                        *
//*                                                                           *
//*     Date                      M o d i f i c a t i o n                     *
//*                                                                           *
//*   06/02/2009     Created.                                                 *
//*                                                                           *
//*****************************************************************************

 var objGlbAJAXHTTP;
 var strGlbAjaxResponseText;
 var strGlbAjaxReturnMessage;
 var strGlbAjaxReturnAddress;
 var strGlbAjaxMessageDisplay;
 var strGlbMessageText;

//****************************************************************************
//*                        C r e a t e   H T T P   O b j e c t               *
//****************************************************************************

 function glbCreateHTTPObject()
  {
   try {return new ActiveXObject("Msxml2.XMLHTTP");} catch(e) {};
   try {return new ActiveXObject("Microsoft.XMLHTTP");} catch(e) {};
   try {return new XMLHttpRequest();} catch(e) {};
   return null;
  }

//*****************************************************************************
//*                     A j a x   P r o c e s s   R e q u e s t               *
//*****************************************************************************

 function glbAJAXProcessRequest(parmURLString,parmRequestString)
  {
   strReturnVal = true;
   strErrMessage = strGlbNull;
   strGlbMessageText = strGlbNull;
   strGlbAjaxResponseText = strGlbNull;
   strGlbAjaxReturnMessage = strGlbNull;

   objGlbAJAXHTTP = glbCreateHTTPObject();

   if (objGlbAJAXHTTP == null)
    {
     strErrMessage = strGlbNoHTTPObjectMessageI + strGlbNewline;
     strErrMessage += strGlbTryAgain;
     alert(strErrMessage);
     return;
    }

   objGlbAJAXHTTP.onreadystatechange = glbAJAXProcessResponse;
   glbSendAJAXRequest(objGlbAJAXHTTP,parmURLString,parmRequestString);

   if (!strReturnVal)
    {
     alert(strErrMessage);
     return;
    }
  }

//**********************************************************************************
//*                         S e n d   A j a x   R e q u e s t                      *
//**********************************************************************************

 function glbSendAJAXRequest(parmAJAXObject,parmURL,parmRequestString)
  {
   if (parmAJAXObject != null)
    {
     parmAJAXObject.open(strGlbRequestPost,parmURL,true);
     parmAJAXObject.setRequestHeader(strGlbRequestHeaderType1,strGlbRequestHeaderApp1);
     parmAJAXObject.setRequestHeader(strGlbRequestHeaderMod1,strGlbRequestHeaderDate1);
     parmAJAXObject.send(parmRequestString);
    }
   else
    {
     strReturnVal = false;
     strErrMessage = strGlbNoHTTPObjectMessageII;
    }
  }

//******************************************************************************
//*                   A j a x   P r o c e s s   R e s p o n s e                *
//******************************************************************************

 function glbAJAXProcessResponse()
  {
   if (objGlbAJAXHTTP == null)
    {
     strErrMessage = strGlbHTTPMessage1;
     strErrMessage += strGlbHTTPMessage9;
     alert(strErrMessage);
     return;
    }

   if (objGlbAJAXHTTP.readyState == 0)
    {
     strGlbMessageText = strGlbHTTPMessage2;
     eval(strGlbAjaxMessageDisplay);
    }
   if (objGlbAJAXHTTP.readyState == 1)
    {
     strGlbMessageText = strGlbHTTPMessage3;
     eval(strGlbAjaxMessageDisplay);
    }
   if (objGlbAJAXHTTP.readyState == 2)
    {
     strGlbMessageText = strGlbHTTPMessage4;
     eval(strGlbAjaxMessageDisplay);
    }
   if (objGlbAJAXHTTP.readyState == 3)
    {
     strGlbMessageText = strGlbHTTPMessage5;
     eval(strGlbAjaxMessageDisplay);
    }

   if (objGlbAJAXHTTP.readyState == 4)
    {
     try
      {
       if (objGlbAJAXHTTP.status == 200)
        {
         strGlbMessageText = strGlbHTTPMessage6;
         eval(strGlbAjaxMessageDisplay);
         strGlbAjaxResponseText = objGlbAJAXHTTP.responseText;
         eval(strGlbAjaxReturnAddress);
        }
       else if (objGlbAJAXHTTP.status == 404)
        {
         alert(strGlbHTTPMessage7);
        }
       else
        {
         alert(strGlbHTTPMessage10 + objGlbAJAXHTTP.status);
        }
      }
     catch (error)
      {
       strErrMessage = strGlbHTTPMessage8 + error + strGlbNewline;
       strErrMessage += strGlbHTTPMessage9;
       glbAJAXReleaseHTTPObject();
       alert(strErrMessage);
      }
    }
  }

//*************************************************************************************
//*                       R e l e a s e   H T T P   O b j e c t                       *
//*************************************************************************************

 function glbAJAXReleaseHTTPObject()
  {
   objGlbAJAXHTTP = null;
  }

// -->