var request;

function createRequest()
{
  try
  {
    request = new XMLHttpRequest();
  }
  catch (trymicrosoft)
  {
    try
    {
      request = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (othermicrosoft)
    {
      try
      {
        request = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (failed)
      {
        request = false;
      }
    }
  }

  if (!request)
    alert("Error initializing XMLHttpRequest!");
}

function sendRequest(url)
{
    // Create a request object
    createRequest();		

    // Setup (initialize) the request
    request.open("GET", url, true);
    request.onreadystatechange = updatePage;
    request.send(null);
}

function sendRequest2(url, actionPage)
{
    // Create a request object
    createRequest();		

    // Setup (initialize) the request
    request.open("GET", url, true);
    request.onreadystatechange = actionPage;
    request.send(null);
}

function sendPostRequest(url, parameters, actionPage)
{
    // Create a request object
    createRequest();
    
    if (request.overrideMimeType)
    {
      // set type accordingly to anticipated content type
      //request.overrideMimeType('text/xml');
      request.overrideMimeType('text/html');
    }		

    request.onreadystatechange = actionPage;
    request.open('POST', url, true);
    request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    request.setRequestHeader("Content-length", parameters.length);
    request.setRequestHeader("Connection", "close");
    request.send(parameters);
}

function updatePage()
{
   if (request.readyState == 4)
   {
     if (request.status == 200)
     {
	var response = request.responseText.split("|");
	
	if(response[0])
	{
		switch(response[1])
		{
			case 'deletelink':
				if(ctxLEdit)
				{
					resetCtxLEdit();
				}
				var linkItemDiv = document.getElementById('rootNodeL' + response[2]);
				linkItemDiv.parentNode.removeChild(linkItemDiv);
				var responsehtml = document.getElementById("responsetext");
				responsehtml.innerHTML = response[3];
				break;
			case 'deleterubrik':
				if(ctx)
				{
					resetCtx();
				}
				var rubrikItemDiv = document.getElementById('tree' + response[2]).parentNode;
				rubrikItemDiv.parentNode.removeChild(rubrikItemDiv);
				var responsehtml = document.getElementById("responsetext");
				responsehtml.innerHTML = response[3];
				break;
			default:
				alert(request.responseText);
				break;
		}
	}
	else
	{
		alert(request.responseText);
	}
     }
     else
     {
     	//alert(request.status);
     	alert("Sorry, could not get a answer from the server. Please retry in a few minutes.");
     }
   }
}


