var xmlhttp_ready = true;

function get_xmlhttp()
{
var xmlhttp=false;
try {
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
  try {
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (E) {
   xmlhttp = false;
  }
 }

if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}


var GLB_AfterAutoRefresh = new Array();
var GLB_StopAutoRefresh = new Array();


function PCT(id) {
  var data = InnerHtmlFrame('UploadTarget');
  //var data = window.frames[id].document.body.innerHTML;
  if (data != '')
    xGetElementById(id).innerHTML = data;
}

function InnerHtmlFrame(contentId) {
  var iframe;
  if (document.getElementById && !document.frames)
  {
    iframe = document.getElementById(contentId);
    if (iframe && iframe.contentDocument && iframe.contentDocument.body &&
        typeof iframe.contentDocument.body.innerHTML == 'string')
    {
      return iframe.contentDocument.body.innerHTML;
    }
  }
  else if (document.frames)
  {
     iframe = document.frames[contentId];
     if (iframe && iframe.document && iframe.document.body &&
         typeof iframe.document.body.innerHTML == 'string')
     {
       return iframe.document.body.innerHTML;
     }
  }
  else
  {
    alert('Browser does not support examining the content of an iframe');
  }
}



function RCT(contentList,url,idForm) {
  xShow('status');
  var data = '';
  if (idForm != '')
  {
    data = FormToData(idForm);
  }
  for(var i=0; i < contentList.length; i++)
  {
    last = (i==contentList.length-1);
    RefreshContent(contentList[i],url,data,last);
  }
}

function EXEC(className,id,methodName,params,idForm) {
  var data = '';
  var sparam = '';
  for(var i=0; i < params.length; i++)
  {
    if (i!=0) sparam = sparam + '$';
    sparam = sparam + params[i]
  }
  var url = '?CN=' + className + '&ID=' + id + '&MN=' + methodName + '&PM=' + sparam;
  RCT(['EXEC'],url,idForm);
}

function AutoRefreshContent(idContent,url,data,t) {

  setTimeout(function (){
                         if (!GLB_StopAutoRefresh[idContent])
                           RefreshContent(idContent,url,data,true);
                         AutoRefreshContent(idContent,url,data,t);
                         //alert('u');
                       },t);
}

function RefreshContent(idContent,url,data,last) { 
  var i = 0;
  if (!xmlhttp_ready) {
    setTimeout(function (){RefreshContent(idContent,url,data,last);},100);
    return 0;
  }
  xmlhttp_ready = false;

  var xmlhttp=false;
  xmlhttp = get_xmlhttp();
  xZIndex('status',200);
  newurl = url +'&content='+idContent;  
  xmlhttp.open("POST",newurl,true);
  xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4) {

      var re = /<script.*?>([\s\S]*?)<\//igm;
      while (match = re.exec(xmlhttp.responseText)) {
        if (match[1].indexOf('AutoRefreshContent') != 0)
          eval(match[1]);
      }

     if (idContent.substr(0,1) == 'd')
       xInnerHtml(idContent,xmlhttp.responseText)
     else  
       xInnerHtml('s'+idContent,xmlhttp.responseText);
     xmlhttp_ready = true;
     if (GLB_AfterAutoRefresh[idContent] != null)
       for(var i = 0; i < GLB_AfterAutoRefresh[idContent].length; i++){
         GLB_AfterAutoRefresh[idContent][i]();
     }
     if (last) xHide('status');
   }
  };
  xmlhttp.send(data);

}
