
var xmlHttp;
var targetID;  // Holds the ID of the place to put the data returned from the AJAX call

function SubmitArticle(ID)
{
  // Used with new article submissions and editing
  var boundaryString = 'x5project';
  var boundary = '--' + boundaryString;
  
  var requestbody = boundary + '\n'
  + 'Content-Disposition: form-data; name="title"' + '\n\n' 
  + document.getElementById(idtitle).innerHTML + '\n\n'
  
  + 'Content-Disposition: form-data; name="author"' + '\n\n' 
  + document.getElementById(idauthor).innerHTML + '\n\n'
  
  + 'Content-Disposition: form-data; name="text"' + '\n\n' 
  + document.getElementById(idtext).innerHTML + '\n\n'
  
  + 'Content-Disposition: form-data; name="date"' + '\n\n' 
  + document.getElementById(iddate).innerHTML + '\n\n'

  + boundary + '\n'
  + 'Content-Disposition: form-data; name="file"; filename="' + document.getElementById(idimage).innerHTML + '"' + '\n'
  + 'Content-Type: image/pjpeg' + '\n\n'
  + GIFfile + '\n'
  + boundary;
			   
  // put together form data into requestbody
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null)
  {
    alert ("Browser does not support HTTP Request");
    return;
  } 
  var url="article.php?ID=" + ID;
  xmlHttp.onreadystatechange=stateChanged;
  xmlHttp.open("POST",url,true);
  xmlHTTP.setRequestHeader("Content-Type","multipart/form-data; charset=UTF-8; boundary=\"" + boundaryString + "\"");
  xmlHttp.setRequestHeader("Content-length", requestbody.length);
  xmlHttp.setRequestHeader("Connection", "close");
  
  xmlHTTP.send(requestbody);

  return false;

}
function DeleteArticle(ID)
{

  if(confirm("Are you certain that you want to delete article '" + ID + "'?"))
  {
    ajax("article.php?mode=delete&ID=" + ID, "articlearea");
  }
  return false;
}

function editarticle(ID)
{
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null)
  {
    alert ("Browser does not support HTTP Request");
    return;
  } 
  var url="article.php?ID=" + ID;
  xmlHttp.onreadystatechange=stateChanged;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);

  return false;
}

function showtitles(date)
{
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null)
  {
    alert ("Browser does not support HTTP Request");
    return;
  } 
  var url="../get_articles.php?mode=titles&date=<?php echo date('Y', $time). '-' . date('m', $time) ?>-" + date;
  targetID = "articles";
  xmlHttp.onreadystatechange=stateChanged;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);

  return false;
}

function ajaxs(call, target)
{
	// Synchronous version of AJAX function (waits for response from server before proceeding)
	// This is handy for making decisions based on success or failure of a login
	// Returns the response from request/call to server
	
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null)
  {
    alert ("Browser does not support HTTP Request");
    return;
  } 
  var url=call;
  targetID = target;
  xmlHttp.open("GET",url,false);
  xmlHttp.send(null);
  if(targetID) { document.getElementById(targetID).innerHTML=xmlHttp.responseText; }
  
  return xmlHttp.responseText;
}

function ajax(call, target)
{
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null)
  {
    alert ("Browser does not support HTTP Request");
    return;
  } 
  var url=call;
  targetID = target;
  xmlHttp.onreadystatechange=stateChanged;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);

  return false;
}

function stateChanged() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		if(targetID) { document.getElementById(targetID).innerHTML=xmlHttp.responseText; }
	} 
}

function GetXmlHttpObject()
{
  var xmlHttp=null;
  try
  {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
  }
  catch (e)
  {
    // Internet Explorer
    try
    {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  return xmlHttp;
}
