function getXHR(url)
{
  if (window.XMLHttpRequest)
  {
    return new XMLHttpRequest();
  } else if (window.ActiveXObject)
  {
    return new ActiveXObject("Microsoft.XMLHTTP");
  }
}
  
function loadPortlet(url,systemName)
{
  var component=document.getElementById(systemName+"_container");
    
  var request= getXHR(url);
  request.open("POST", url, true );    
  request.setRequestHeader("Content-Type", "multipart/form-data; charset=UTF-8");
  request.send("");
    
  request.onreadystatechange = function()
  {
    if (request.readyState == 4)
    {
      if (request.status == 200)
      {
        var xmlStatus=getXMLElementValue(request.responseXML,"renderStatus",0);
        if (xmlStatus=="ok")
        {
          component.innerHTML=getXMLElementValue(request.responseXML,"content",0);
        }
        else
        {
          component.innerHTML="<b>Rotty a tutyiba!</b>";
        }
      }
    }
  };
}  
          
function adLoad(component, url, category, width, height, statId)
{
  var post = "category=" + category + "&width=" + width + "&height=" + height + "&statId=" + statId;
  
  var request= getXHR(url+"?"+post);
  request.open("POST", url, true );    
  request.setRequestHeader("Content-Type", "multipart/form-data; charset=UTF-8");
  request.send("");
  
  request.onreadystatechange = function()
  {
    if (request.readyState == 4)
    {
      if (request.status == 200)
      {
        component.innerHTML=request.responseText;
      }
    }
  };
}

function hidePortlet(systemName)
{
  var component=document.getElementById(systemName+"_container");  
  component.style.display="none";
}
          
function viewPortlet(systemName)
{
  var component=document.getElementById(systemName+"_container");  
  component.style.display="table-cell";
}

function sendForm(url,systemName)
{
  var formComponent=document.getElementById(systemName+"_form");
            
  var request= getXHR(url);
  request.open("POST", url, true );    
  request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
  var postParams="";
  for (var count=0;count<formComponent.elements.length; count++)
  {
    var element=formComponent.elements[count];
    var name=element.name;
    if (name!="")
    {
      var value=element.value;
      
      if (name.match(systemName+"_content"))
      {
        var oEditor = FCKeditorAPI.GetInstance( name );
        value = oEditor.GetXHTML( true );
      }
                    
      if (element.type=="checkbox")
      {
        if (element.checked)
        {
          if (count>0) postParams+="&";
          postParams+=name+"="+encodeURIComponent(value);
        }
      }
      else
      {
        if (count>0) postParams+="&";
        postParams+=name+"="+encodeURIComponent(value);
      }
    }
  }    
  request.send(postParams);
                      
  request.onreadystatechange = function()
  {
    if (request.readyState == 4)
    {
      if (request.status == 200)
      {          
        var component=document.getElementById(systemName+"_container");
        var xmlStatus=getXMLElementValue(request.responseXML,"actionStatus",0);
        if (xmlStatus=="ok")
        {
          component.innerHTML=getXMLElementValue(request.responseXML,"content",0);
        }
        else
        {
          component.innerHTML=getXMLElementValue(request.responseXML,"content",0);
        }
      }
    }
  };
}  
                            
function getXMLElementValue(xmlDoc,tagName,count)
{
  return xmlDoc.getElementsByTagName(tagName)[count].childNodes[0].nodeValue;
}
                            