var req = null;

function onstatechange()
{
	if (req.readyState != 4) return;
	if (req.status != 200) return;
	
	/* Create new entry to form */
	
	var list = document.getElementById("sent-feedback");
	var div = document.createElement("div");
	var p = document.createElement("p"); 
	var dd = document.createElement("dd");
	var e;
	
	e = document.createElement("span");
	e.appendChild(document.createTextNode("Following message has been sent."));
	p.appendChild(e);
		
	dd.innerHTML = req.responseXML.getElementsByTagName("text")[0].firstChild.nodeValue;
		
	div.appendChild(p);
	div.appendChild(dd);
	list.appendChild(div);
	
	blink(div);
}

function submitFeedback(form)
{	
	/* Check form values and blush when not ok */
	
	var ok = true;
		
	e = form.elements["fbtext"];
	
	if (e.value.length == 0) {
		e.style.backgroundColor = "#fcc";
		e.onkeydown = function () { this.style.backgroundColor = "window"; }
		if (ok) e.focus();
		ok = false;
	}
	
	if (!ok) return false;
	
	/* Form ok, submit it using XMLHttpRequest */
	
	if (window.XMLHttpRequest)
		req = new XMLHttpRequest();
	else if (window.ActiveXObject)
		req = new ActiveXObject("Microsoft.XMLHTTP");
	
	if (req == null) return true;
	
	var msg = "xmlhttp=true";
	
	for (var i = 0; i < form.elements.length; i++)
		if (form.elements[i].name)
			msg += "&" + form.elements[i].name + "=" + encodeURI(form.elements[i].value);
	
	req.open("POST", document.location.href, true);
	req.onreadystatechange = onstatechange;
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(msg);
	
	/* form sent, hide current form and show our gratitude */
	
	form.elements["submit-feedback"].disabled = true;
	
	var div = document.createElement("div");
	div.appendChild(document.createTextNode("Thank You for your feedback!"));
	div.style.textAlign = "center";

	for (var i = 0; i < form.childNodes.length; i++)
		if (form.childNodes[i].nodeType == 1)
			form.childNodes[i].style.display = "none";
	
	form.appendChild(div);
	
	return false;
}