var post_orig = '';
var postObj = null;
var post_postid = 0;
var post_query = '';
var xmlhttp = false;

function validXMLReq(req) {
	return (req && req.responseXML && req.responseText.charAt(0)=='<')?true:false;
}

function initXMLReq(reqFile, reqData, reqFunc) {
	if (xmlhttp) {
		alert("Request already in progress, cannot send two requests!");
		return;
	}
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	// JScript gives us Conditional compilation, we can cope with old IE versions.
	// and security blocked creation of the objects.
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlhttp = false;
		}
	}
	@end @*/
	if (!xmlhttp && window.XMLHttpRequest) {
		xmlhttp = new XMLHttpRequest();
	}
	xmlhttp.open("POST", reqFile, true);
	xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState==4) {
			if (xmlhttp.status == 200) {
				var xmlhttpresult = xmlhttp;
				xmlhttp = false;
				reqFunc(xmlhttpresult);
			} else {
				reqFunc(null);
			}
		}
	}
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlhttp.send(reqData);
}

function quick_edit(postid) {
try {
	if (postObj) {
		return true;
	}
	post_postid = postid;
	postObj = document.getElementById("p"+postid);
	post_orig = postObj.innerHTML;
	if (!postObj) {
		return true;
	}
	postObj.innerHTML = '<FORM name="quick_edit_form" style="PADDING: 25px;"><TEXTAREA rows=8 disabled cols=65 name="message">Please wait...</TEXTAREA><BR><INPUT style="MARGIN: 5px" type=button value=Save onclick="quick_edit_save()"><INPUT style="MARGIN: 5px" type=button value=Cancel onclick="quick_edit_cancel()"><INPUT style="MARGIN: 5px" type=button value=Advanced onclick="quick_edit_goto_advanced()"></FORM>';
	initXMLReq('http://www.killermovies.com/forums/editpost.php', 'action=editpost&output=xml&postid=' + postid, quick_edit_post);
	return false;
} catch (e) {
	return true;
}

}

function quick_edit_goto_advanced() {
	if (post_postid > 0) {
		window.location = 'http://www.killermovies.com/forums/editpost.php?action=editpost&postid=' + post_postid;
	} else {
		alert("Error: unknown post");
	}
}

function quick_edit_error() {
	quick_edit_goto_advanced();
}

function quick_edit_post(req) {
try {	
	if (!req || !req.responseXML) {
		quick_edit_error();
		return;
	}
	var req_xml = req.responseXML;
	var req_pagetext = req_xml.getElementsByTagName('pagetext').item(0).firstChild.nodeValue;
	post_query = req_xml.getElementsByTagName('titledata').item(0).firstChild.nodeValue;
	document.quick_edit_form.message.disabled = false;
	document.quick_edit_form.message.value = decodeURIComponent(req_pagetext);
} catch (e) {
//	alert("Error: " + e.message +  req_xml.getElementsByTagName('pagetext').length);
	quick_edit_goto_advanced();
}

}

function quick_edit_save() {
	var save_text = document.quick_edit_form.message.value;
	document.quick_edit_form.message.disabled = true;
	initXMLReq('http://www.killermovies.com/forums/editpost.php', "action=updatepost&output=xml&postid=" + post_postid + "&message=" + encodeURIComponent(save_text) + "&" + post_query, quick_edit_save_post);
}

function quick_edit_save_post(req) {
try {
	if (!validXMLReq(req)) {
		if (req.responseText) {
			alert(req.responseText);
			document.quick_edit_form.message.disabled = false;
			return;
		} else {
			alert("There was a problem with sending your request. Please try a manual edit.");
			quick_edit_error();
			return;
		}
	}
	var ret_message = req.responseXML.getElementsByTagName('message').item(0).firstChild.nodeValue;
	postObj.style.fontFamily = "verdana, arial, helvetica";
	postObj.style.fontSize = "13px";
	postObj.innerHTML = decodeURIComponent(ret_message);
	quick_edit_finish_clean();
} catch (e) {
	//alert("Post Error: " + e.message);
	quick_edit_goto_advanced();
}

}

function quick_edit_finish_clean() {
	post_orig = '';
	postObj = null;
	post_postid = 0;
	post_query = '';
}

function quick_edit_cancel() {
	if (post_orig) {
		postObj.innerHTML = post_orig;
	}
	quick_edit_finish_clean();
}
