function submit_faq() {
	params = "Name="+document.getElementById("name").value+"&Phone="+document.getElementById("phone").value+"&Email="+document.getElementById("email").value+"&Question="+document.getElementById("question").value;
	try {
		// Firefox, Opera 8.0+, Safari
		xhr = new XMLHttpRequest();
	}	catch (e) {
		// Internet Explorer
		try {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				r = confirm("Your browser does not support AJAX!\nClick OK to submit your question.");
				if (r) {
					document.getElementById("faq_form").submit();
				}
				return false;
			}
		}
	}
	xhr.onreadystatechange = function() {
		if (1 <= xhr.readyState && xhr.readyState <= 3) {
			document.getElementById("processing").style.display = "block";
			document.getElementById("light").style.display = "none";
		}
		if (xhr.readyState == 4) {
			document.getElementById("result").innerHTML = xhr.responseText;
			document.getElementById("done").style.display = "block";
			document.getElementById("processing").style.display = "none";
			document.getElementById("light").style.display = "none";
		}
	}
	xhr.open("POST","faq-send.php",true);
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr.setRequestHeader("Content-length", params.length);
	xhr.setRequestHeader("Connection", "close");
  xhr.send(params);
}

function validate_faq() {
	message = "";
	f1 = /^[a-z]+((-|\s|')[a-z]+)*$/i.test(document.getElementById("name").value);
	f2 = /^(\+?\d+((\s|\.|-)\d+)*)*$/.test(document.getElementById("phone").value);
	f3 = /^[a-z0-9]+((\.|-|_)[a-z0-9]+)*@([a-z0-9]+(\.|-))*[a-z0-9]{2,}\.([a-z]{2}|aero|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|post|geo|cym|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/i.test(document.getElementById("email").value);
	f4 = eval(document.getElementById("question").value != "");
	if (!f1) {
		message += "Please enter a valid name.\n";
	}
	if (!f2) {
		message += "Please enter a valid phone number.\n";
	}
	if (!f3) {
		message += "Please enter a valid email address.\n";
	}
	if (!f4) {
		message += "Please enter a question.";
	}
	if (!f1 || !f2  || !f3  || !f4) {
		alert(message);
	} else {
		submit_faq();
	}
}

function swap(what, type) {
	document.getElementById(what).src = "img/menu/"+type+what+".png";
}

function check(what, pattern) {
	result = pattern.test(document.getElementById(what).value);
	if (!result) {
		document.getElementById(what+"_pic").style.visibility = "visible";
	} else {
		document.getElementById(what+"_pic").style.visibility = "hidden";
	}
	return result;
}

function check_sel(what) {
	if (document.getElementById(what).options[document.getElementById(what).selectedIndex].text == "") {
		result = false;
	} else {
		result = true;
	}
	if (!result) {
		document.getElementById(what+"_pic").style.visibility = "visible";
	} else {
		document.getElementById(what+"_pic").style.visibility = "hidden";
	}
	return result;
}

function reseter() {
	document.getElementById("title_pic").style.visibility = "hidden";
	document.getElementById("firstname_pic").style.visibility = "hidden";
	document.getElementById("surname_pic").style.visibility = "hidden";
	document.getElementById("phone_pic").style.visibility = "hidden";
	document.getElementById("mobile_pic").style.visibility = "hidden";
	document.getElementById("email_pic").style.visibility = "hidden";
	document.getElementById("property_pic").style.visibility = "hidden";
	document.getElementById("roadstreet_pic").style.visibility = "hidden";
	document.getElementById("city_pic").style.visibility = "hidden";
	document.getElementById("county_pic").style.visibility = "hidden";
	document.getElementById("postcode_pic").style.visibility = "hidden";
	document.getElementById("propertytype_pic").style.visibility = "hidden";
	document.getElementById("bedrooms_pic").style.visibility = "hidden";
	document.getElementById("timeframe_pic").style.visibility = "hidden";
	document.getElementById("estimate_pic").style.visibility = "hidden";
}

function validate_contact() {
	res = new Array();
	res[0] = check_sel("title");
	res[1] = check("firstname", /^[a-z]+((-|\s|')[a-z]+)*$/i);
	res[2] = check("surname", /^[a-z]+((-|\s|')[a-z]+)*$/i);
	res[3] = check("phone", /^\+?\d+((\s|\.|-)\d+)*$/i);
	res[4] = check("mobile", /^(\+?\d+((\s|\.|-)\d+)*)*$/);
	res[5] = check("email", /^[a-z0-9]+((\.|-|_)[a-z0-9]+)*@([a-z0-9]+(\.|-))*[a-z0-9]{2,}\.([a-z]{2}|aero|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|post|geo|cym|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/i);
	res[6] = check("property", /^\w+((-|\s|'|\.)\w+)*\.?$/i);
	res[7] = check("roadstreet", /^\w+((-|\s|'|\.)\w+)*\.?$/i);
	res[8] = check("city", /^[a-z]+((-|\s|'|\.)[a-z]+)*$/i);
	res[9] = check_sel("county");
	res[10] = check("postcode", /^(GIR 0AA|[A-PR-UWYZ]([0-9]{1,2}|([A-HK-Y][0-9]|[A-HK-Y][0-9]([0-9]|[ABEHMNPRV-Y]))|[0-9][A-HJKS-UW]) [0-9][ABD-HJLNP-UW-Z]{2})$/i);
	res[11] = check_sel("propertytype");
	res[12] = check_sel("bedrooms");
	res[13] = check_sel("timeframe");
	res[14] = check("estimate", /\d*/);
	return(res[0] && res[1] && res[2] && res[3] && res[4] && res[5] && res[6] && res[7] && res[8] && res[9] && res[10] && res[11] && res[12] && res[13]);
}

