function quickEdit() {
	var postArguments = "";
	var element = this.parentNode;
	for(var i = 0; i < element.childNodes.length; i++) {
		var child = element.childNodes[i];
		if(child.type == "button") continue;
		else if(child.className.toLowerCase() == "pagelinks") continue;
		
		postArguments += child.childNodes[1].name + "=" + child.childNodes[1].value + "&";
	}
	postArguments += "submit=1&mode=quicktopic&t=" + element.id;
	
	var contentType = "application/x-www-form-urlencoded; charset=UTF-8";
	var url = "quickaction.php";
	
	var xmlHttp = GetXmlHttpObject();
	
	element.innerHTML = "Processing..";
	selected = 0;
	
	xmlHttp.onreadystatechange=function()
	{ 
		if(xmlHttp.readyState == 4)
		{
			element.innerHTML = xmlHttp.responseText;
			
			for(var i = 0; i < element.childNodes.length; i++)
				element.childNodes[i].addEventListener('dblclick', quickEditForm, false);
		}
	};
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader("Content-Type", contentType);
    xmlHttp.send(postArguments);
}

var selected = 0;
function quickEditForm() {
	var element = this.parentNode;
	if(!selected)
		selected = element.id;
	else if (selected != element.id) {
		removeInputs(document.getElementById(selected));
		selected = element.id;
	} else
		selected = 0;
		
	if(selected == element.id) {
		addInputs(element);
	} else {
		removeInputs(element);
	}

	if(selected == element.id)
		element.className = "messageselected";
	else
		element.className = "message";
}

function removeInputs(element) {
	if(element)	{
		for(var i = 0; i < element.childNodes.length; i++) {
			var child = element.childNodes[i];
			if(child.type == "button") {
				element.removeChild(child);
				i--;
				continue;
			}
			else if(child.className.toLowerCase() == "pagelinks") continue;
			child.innerHTML = child.childNodes[0].value;
			child.addEventListener('dblclick', quickEditForm, false);

			if(child.id=="title")
				child.innerHTML = "<a href=topic.php?t=" + element.id + ">" + child.innerHTML + "</a>";
		}	
	}
}

function addInputs(element) {
	if(element) {
		for(var i = 0; i < element.childNodes.length; i++) {
			var child = element.childNodes[i];
			if(child.tagName.toLowerCase() == "input") continue;
			else if(child.className.toLowerCase() == "pagelinks") continue;
			
			child.removeEventListener('dblclick', quickEditForm, false);
			var value = child.innerText.replace(/"/g, "&quot;");
			var length = value.length;
			if(length < 25) length = 25;
			child.innerHTML = "<input type='hidden' value=\"" + value + "\" />";
			child.innerHTML += "<input type='text' maxlength='255' size='" + length + "' name='" + child.id + "' value=\"" + value + "\" />";
		}	
		var submitButton = document.createElement('input');
		submitButton.type = 'button';
		submitButton.name = 'submit';
		submitButton.value = 'Submit';
		submitButton.addEventListener('click', quickEdit, false);
		
		element.appendChild(submitButton);

		var cancelButton = document.createElement('input');
		cancelButton.type = 'button';
		cancelButton.name = 'cancel';
		cancelButton.value = 'Cancel';
		cancelButton.addEventListener('click', quickEditForm, false);

		element.appendChild(cancelButton);
	}
}