function handle_error(msg, url, line) 
 {
  alert('msg: ' + msg + '\nurl: ' + url + '\nline: ' + line  + '\n');
  return true;
 } 

function set_el_content(id, content)
 {
  el = document.getElementById(id);
  if (!el) { alert(id);} 
  el.innerHTML = content;    
 }     

function _readystatechange() 
 { 
  if (http_request.readyState == 4) 
   { 
    if (http_request.status == 200) 
     { 
      s = http_request.responseText;
      //alert(s);
      try
       {
        eval('var response=' + s);
       }
      catch(e)
       {  
        handle_error('Fout in respons\n\n' + http_request.responseText, 'action', 14);
        return;
       } 
           
      if (response == undefined)
       {
        handle_error('Fout in respons\n\n' + s, 'action', 20);
        return;
       }
      
      if (response["result"] != '1')
       {
        handle_error('Fout in resultaat\n\n' + s, 'action', 26);
        return;
       }
       
      function_name = response["function_name"]; 
      if (function_name == 'list_messages') 
       {
//=== compleet infoblock vervangen          
        el = document.getElementById('messages');
        el.innerHTML = response["params"]["html"];
        el.scrollTop = el.scrollHeight;
       }
     }
    else 
     { 
      handle_error('Fout in request\n\n' + http_request.status, 'action', 35);
     } 
   } 
  } 
      
function post_request(function_name, paramstr, uri)
 { 
  if (window.XMLHttpRequest) 
   {  
    http_request = new XMLHttpRequest(); 
   } 
  else if (window.ActiveXObject) 
   { 
    http_request = new ActiveXObject("Microsoft.XMLHTTP"); 
   } 
        
  paramstr = paramstr + '&ajax=1&function_name=' + function_name; 
  http_request.onreadystatechange = _readystatechange;  
  url = global_root + '/' + uri;
  http_request.open('POST', url, true); 
  http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  http_request.send(paramstr);         
 }
       
function _refresh()
 {  
  post_request('refresh', '', 'refresh.php');
  setTimeout('_refresh()', 30 * 1000); 
 }
 
function post(paramstr, url, target)
 {
  var f = document.createElement('form');
  if (url != '') { f.action = url; }
  f.method = 'post';
  f.style.display = 'none';

//=== de waarde van global_sid wordt in de index.tpl gezet  
  paramstr = paramstr + '&sid=' + global_sid;
  s = new String(paramstr);
  params = s.split('&');
  for (i=0; i < params.length; i++)
   {
    v = params[i].split('=');
    if (v.length == 2)
     {
      input = document.createElement('input');
      f.appendChild(input);
      input.name = v[0];
      input.value = v[1];
     }
   }

  el = document.getElementsByTagName('body')[0];
  el.appendChild(f);
  if (target != null) { f.target = target;}  
  f.submit();
 } 
 