	function enp_getHTTP() {
		  var xmlhttp;
		  /*@cc_on
		  @if (@_jscript_version >= 5)
		    try {
		      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		    } catch (e) {
		      try {
		        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		      } catch (E) {
		        xmlhttp = false;
		      }
		    }
		  @else
		  xmlhttp = false;
		  @end @*/
		  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		    try {
		      xmlhttp = new XMLHttpRequest();
		    } catch (e) {
		      xmlhttp = false;
		    }
		  }
		  return xmlhttp;
	}

	var enpHTTP = enp_getHTTP();
	var enpURL = enp_siteURL + '/wp-content/plugins/editnplace/backend.php';
	var enpLoadingImage = new Image();
	enpLoadingImage.src = enp_siteURL + '/wp-content/plugins/editnplace/loading.gif';
	var enpCurrentPostBox;
	var enpCurrentID = 0;
	var enpLastID;
	var enpBuffer;
	
	function enp_edit(id) {
		if (enpCurrentID != 0) {
			alert('You are already editing a post.  Please save or cancel that post before editing a new one.');
			return;
		}

		enpCurrentPostBox = document.getElementById('post-' + id);
		enpCurrentID = id;
		enpLastID = id;
		enpBuffer = enpCurrentPostBox.innerHTML;
		enpCurrentPostBox.innerHTML = '<div class="editnplaceloading"><img src="' + enp_siteURL + '/wp-content/plugins/editnplace/loading.gif" /></div>';

		var request = 'action=edit&id=' + id + "\r\n" + enpBuffer;

		enp_sendRequest(request);
	}

	function enp_save(form) {
		var enpEditor = document.getElementById('enpeditor');
	
		var token = document.forms['enpeditorform'].token.value;
		var newTitle = encodeURIComponent(document.forms['enpeditorform'].endtitle.value);
		var newContent = document.forms['enpeditorform'].enpcontent.value;
		var newCategories = document.forms['enpeditorform'].categories;
		var newTags = encodeURIComponent(document.forms['enpeditorform'].tags.value);
		
		var oldTemplateBuffer = escape(form.endtemplatebuffer.value);

		var request = 'action=save&token=' + token + '&title=' + newTitle + '&tags=' + newTags + '&id=' + enpCurrentID + '&buffer=' + oldTemplateBuffer;
		for (var i = 0; i < newCategories.length; i++) {
			if (newCategories[i].checked == true) {
				request += '&categories[]=' + newCategories[i].value;
			}
		}

		enpEditor.innerHTML = '<div class="editnplaceloading"><img src="' + enp_siteURL + '/wp-content/plugins/editnplace/loading.gif" style="border: 0px;"/></div>';
		request += "\r\n" + newContent;
		enp_sendRequest(request);
		enpCurrentID = 0;
		return false;
	}
	
	function enp_cancel() {
		enpCurrentPostBox.innerHTML = enpBuffer;
		enpCurrentPostBox = null;
		enpCurrentID = 0;
	}
	
	function enp_sendRequest(request) {
		if (enpHTTP.readyState == 4 || enpHTTP.readyState == 0) {
			enpHTTP.open ('POST', enpURL);
			enpHTTP.onreadystatechange = function() {
				if (enpHTTP.readyState == 4) {
					enp_processRequest(enpHTTP.responseText);
				}
			}
			enpHTTP.send(request);
		}
		return true;
	}
		
	function enp_processRequest(response) {
		enpCurrentPostBox.innerHTML = response;
	}
