// Error handler
var ehandle = new Array();

ehandle["category"] = "";
ehandle["name"] = "";
ehandle["company"] = "";
ehandle["subject"] = "";
ehandle["email"] = "";
ehandle["phone"] = "";
ehandle["body"] = "";

function showErrors()
{
	var obj = document.getElementById("show_error");
	obj.innerHTML = "";
	
	if (ehandle["category"] != "") obj.innerHTML = ehandle["category"]+"<br>";
	
	if (ehandle["name"] != "") 
	{ document.getElementById('f_name').style.border = "1px solid #FF3FA1"; }
	else { document.getElementById('f_name').style.border = "1px solid #dcdcdc"; }
	
	if (ehandle["company"] != "") 
	{ document.getElementById('f_company').style.border = "1px solid #FF3FA1"; }
	else { document.getElementById('f_company').style.border = "1px solid #dcdcdc"; }
	
	if (ehandle["subject"] != "")  
	{ document.getElementById('f_subject').style.border = "1px solid #FF3FA1"; }
	else { document.getElementById('f_subject').style.border = "1px solid #dcdcdc"; }
	
	if (ehandle["email"] != "")  
	{ document.getElementById('f_email').style.border = "1px solid #FF3FA1"; }
	else { document.getElementById('f_email').style.border = "1px solid #dcdcdc"; }
	
	if (ehandle["phone"] != "")  
	{ document.getElementById('f_phone').style.border = "1px solid #FF3FA1"; }
	else { document.getElementById('f_phone').style.border = "1px solid #dcdcdc"; }
	
	if (ehandle["body"] != "")  
	{ document.getElementById('f_body').style.border = "1px solid #FF3FA1"; }
	else { document.getElementById('f_body').style.border = "1px solid #dcdcdc"; }
}

// Setup the main AJAX handler
function GetXmlHttpObject()
{
	var ajax=null;
	try
	{
		// Firefox, Opera 8.0+, Safari
		ajax=new XMLHttpRequest();
	}
	catch (e)
	{
		// Internet Explorer
		try
		{
			ajax=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			ajax=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	
	if (ajax == null)
	{
		alert ("Your browser does not support AJAX!");
		return;
	}
	
	return ajax;
}

function check(type,obj,auto)
{
	ajax = GetXmlHttpObject();
	
	if (!auto) var auto = "0";
	var value = obj.value;

	var url = "./ajax/check.php";
	var params = "type="+type+"&value="+value;

	ajax.onreadystatechange=function()
	{
		if (ajax.readyState == 4)
		{
			var res = ajax.responseText;

			// Errors?
			if (res != "1" && auto == "0")
			{
				//document.getElementById("show_error").innerHTML = res;
				ehandle[type] = res;
				showErrors();
			}
			else
			{
				ehandle[type] = "";
				showErrors();
			}
		}
		else
		{
			// Loading!!
		}
	}

   	// Finalize
	ajax.open("POST",url,false);
	
	ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajax.setRequestHeader("Content-length", params.length);
	ajax.setRequestHeader("Connection", "close");

	ajax.send(params);
}


function submitForm()
{
	if (document.getElementById("show_error").innerHTML != "")
	{
		alert("Please correct the errors before sending the form");
	}
	else
	{
		ajax = GetXmlHttpObject();
		
		var category = document.getElementById("f_category").value;
		var name = document.getElementById("f_name").value;
		var company = document.getElementById("f_company").value;
		var subject = document.getElementById("f_subject").value;
		var email = document.getElementById("f_email").value;
		var phone = document.getElementById("f_phone").value;
		var body = document.getElementById("f_body").value;
	
		var url = "./ajax/submitForm.php";
		var params = "category="+category+"&name="+name+"&company="+company+"&subject="+subject+"&email="+email+"&phone="+phone+"&body="+body;

		ajax.onreadystatechange=function()
		{
			if (ajax.readyState == 4)
			{
				var res = ajax.responseText;
	
				// Errors?
				if (res.match("Thank"))
				{
					document.getElementById("show_error").innerHTML = res;
					document.getElementById("show_error").className = "green";
					
					document.getElementById("f_name").value = "";
					document.getElementById("f_company").value = "";
					document.getElementById("f_subject").value = "";
					document.getElementById("f_email").value = "";
					document.getElementById("f_phone").value = "";
					document.getElementById("f_body").value = "";
				}
				else
				{
					document.getElementById("show_error").innerHTML = "";
				}
			}
			else
			{
				// Loading!!
			}
		}
	
   		// Finalize
		ajax.open("POST",url,false);
		
		ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		ajax.setRequestHeader("Content-length", params.length);
		ajax.setRequestHeader("Connection", "close");
	
		ajax.send(params);
	}
}	