var xmlHttp;

var elem_id = "";

function load(str, str2, args)
{
  elem_id=""+str2;
  //jQuery("."+elem_id).fadeOut('slow', setLoading(elem_id));
  setLoading(elem_id);
  changeState(str, str2, args);
}

function load_post(str, str2, args, data)
{
  elem_id=""+str2;
  //jQuery("."+elem_id).fadeOut('slow', setLoading(elem_id));
  setLoading(elem_id);
  changeState_post(str, str2, args, data);
}

function changeState(url, e, args)
{ 
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null)
   {
     alert ("ERROR: Browser does not support HTTP Request");
     return;
   }
   
  elem_id=""+e;
  
  xmlHttp.onreadystatechange = StateChanged;
  xmlHttp.open('GET', url+"?"+args, true);
  xmlHttp.send(null);
}

function changeState_post(url, e, args, params)
{ 
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null)
   {
     alert ("ERROR: Browser does not support HTTP Request");
     return;
   }
   
  elem_id=""+e;
  
  xmlHttp.onreadystatechange = StateChanged;
  xmlHttp.open('POST', url+"?"+args, true);
  xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xmlHttp.setRequestHeader("Content-length", params.length);
  xmlHttp.setRequestHeader("Connection", "close");
  xmlHttp.send(params);
}

function changeState_clean(url, e, args)
{ 
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null)
   {
     alert ("ERROR: Browser does not support HTTP Request");
     return;
   }
   
  elem_id=""+e;
  
  xmlHttp.onreadystatechange = StateChanged_clean;
  xmlHttp.open('GET', url+"?"+args, true);
  xmlHttp.send(null);
}

function StateChanged() 
{ 
  if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
   { 
   var data = xmlHttp.responseText;
   
   hideElement(elem_id);
   changeContents(elem_id, data);

   jQuery("."+elem_id).fadeIn('slow', showElement(elem_id));
   } 
}

function StateChanged_clean() 
{ 
  if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
   { 
   var data = xmlHttp.responseText;
   changeContents(elem_id, data);
   } 
}

function GetXmlHttpObject()
{
  var xmlHttp=null;
    try
     {
     // Firefox, Opera 8.0+, Safari
     xmlHttp=new XMLHttpRequest();
     xmlHttp.overrideMimeType('text/html');
     }
    catch (e)
     {
     //Internet Explorer
     try
      {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
     catch (e)
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
   }
  return xmlHttp;
}