

    var xmlHttp = createXmlHttpRequestObject();
    var updateInterval = 60;
    var errorRetryinterval = 30;
    var debugMode = false;

           function createXmlHttpRequestObject()
           {

             var xmlHttp;

             try
             {
                   xmlHttp = new XMLHttpRequest();
             }

             catch(e)
             {
                   var XmlHttpVersion = new Array("MSXML2.XMLHTTP.6.0",
                                                  "MSXML2.XMLHTTP.5.0",
                                                  "MSXML2.XMLHTTP.4.0",
                                                  "MSXML2.XMLHTTP.3.0",
                                                  "MSXML2.XMLHTTP",
                                                  "Microsoft.XMLHTTP");

             for(var i=0; i<XmlHttpVersion.lenght && !xmlHttp; i++){

                     try
                     {
                         xmlHttp = new ActiveXObject(XmlHttpVersion[i]);
                     }
                     catch(e){}
             }
             }

             if (!xmlHttp)
                 displayError("Ошибка создания объекта XMLHttpRequest.");
             else
               return xmlHttp;
           }


           function display($message)
           {
               var myDiv;
               myDiv = document.getElementById("content");
               myDiv.innerHTML = $message;
           }

           function displayError($message)
           {
              if(debugMode)
               display("Ошибка получения даных.");
               setTimeout("process();", errorRetryinterval * 1000);
           }

           function process()
           {
             if(xmlHttp)
             {

               try
               {
                  display('Загрузка..');
                  xmlHttp.open("GET", serverAddress, true);
                  xmlHttp.onreadystatechange = handleRequestStateChange;
                  xmlHttp.send(null);
                }

                catch(e)
                {
                   displayError("Невозможно соединиться с сервером:\n" + e.toString());
                }
             }
           }

           function handleRequestStateChange()
           {

                if(xmlHttp.readyState == 4)
                {
                    if(xmlHttp.status == 200)
                    {
                        try
                        {
                            getcontent();
                        }
                        catch(e)
                        {
                            displayError("Ошибка чтения ответа:\n" + e.toString());
                        }
                    }
                    else
                    {
                        displayError("Проблема получения даных:\n" + xmlHttp.statusText);
                    }
                }
           }

           function getcontent()
           {
               var response = xmlHttp.responseText;
               display(response);
               //setTimeout("process();", updateInterval * 1000);

           }

