var originalComments = new Array;
var commentObj = null, commentHeaderObj = null, commentBodyObj = null;
var comment = "", geshilink = "";

var geshiToggle = function(geshilink,highlight,revert,phpurl)
{
	var commentId = geshilink.name.replace(/geshi_/,"");
	commentBodyObj = document.getElementById("CommentBody_" + commentId);
	commentObj = commentBodyObj.parentNode;
	commentHeaderObj = commentBodyObj.previousSibling;
	origComment = commentBodyObj.innerHTML;
	comment = origComment.replace(/(<|&lt;)br\s*\/?(>|&gt;)/gi,"\r\n");
	comment = escape(comment);
	comment = comment.replace(/^\r\n$/gm,"");
	comment = comment.replace(/\+/g,"%2B");
	comment = comment.replace(/\-/g,"%2D");
	comment = comment.replace(/\*/g,"%2A");

	if (undefined === window.originalComments[commentId] || originalComments[commentId] == "")
	{
		originalComments[commentId] = origComment;
		geshilink.innerHTML = revert;
		var pars = 's='+comment; 
		var geshidm = new Ajax.Updater(
			{success: commentBodyObj.id},
			phpurl, 
			{
				method: 'post', 
				parameters: pars, 
				onFailure: function(t)
				{
					ChangeLoaderText("Failed: ("+t.status+") "+t.statusText);
				}
			});
	}
	else
	{
		commentBodyObj.innerHTML = originalComments[commentId];
		originalComments[commentId] = "";
		geshilink.innerHTML = highlight;
	}
}

var HandleFailure = function(Request)
{
	ChangeLoaderText("Failed: ("+Request.status+") "+Request.statusText);
	CloseLoader();
}
