function GetXmlHttpObject()
{
	var xmlHttp = null;
	
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	}
	catch (e)
	{
		// Internet Explorer
		try
		{
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	
	return xmlHttp;
}

function build_params()
{
	var params = "form=true";
	
	for (i=0; i < document.ajax_contact.elements.length; i++)
	{
		if (document.ajax_contact.elements[i].type == 'text' || document.ajax_contact.elements[i].type == 'textarea' || 
		document.ajax_contact.elements[i].type == 'hidden' || document.ajax_contact.elements[i].type == 'select-one')
		{
			params = params + "&" + document.ajax_contact.elements[i].name + "=" + document.ajax_contact.elements[i].value;
		}
		else if ((document.ajax_contact.elements[i].type == 'radio' || document.ajax_contact.elements[i].type == 'checkbox') && 
		document.ajax_contact.elements[i].checked)
		{
			params = params + "&" + document.ajax_contact.elements[i].name + "=" + document.ajax_contact.elements[i].value;
		}
	}
	
	return params;
}

function debug_params()
{
	var params = "";
	
	for (i=0; i < document.ajax_contact.elements.length; i++)
	{
		params = params + "\n(" + document.ajax_contact.elements[i].type + " / " + document.ajax_contact.elements[i].checked + ") " + 
		document.ajax_contact.elements[i].name + " = " + document.ajax_contact.elements[i].value;
	}
	
	return params;
}

function clear_fields()
{
	for (i=0; i < document.ajax_contact.elements.length; i++)
	{
		if (document.ajax_contact.elements[i].type == 'text' || document.ajax_contact.elements[i].type == 'textarea' || 
		document.ajax_contact.elements[i].type == 'hidden')
		{
			document.ajax_contact.elements[i].value = '';
		}
	}
}

function submit_form()
{
	document.getElementById("submit_button").innerHTML = 'Please Wait...';
	
	var http = GetXmlHttpObject();
	
	if (http == null)
	{
		alert("Browser does not support HTTP Request")
		return;
	}

	
	var url = "/cf/ajax_contact/ajax_contact.php";
	var params = build_params();
	
	http.open("POST", url, true);
	
	//Send the proper header information along with the request
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	
	http.onreadystatechange = function()
	{
		if(http.readyState == 4 && http.status == 200)
		{
			var response = http.responseText;
			
			if (response)
			{
				response = response.split("|");
				
				if (response[0] == 'true')
				{
					//alert(response[1]);
					
					clear_fields();
					
					document.getElementById("submit_button").innerHTML = 'Message Sent!';
				}
				else if (response[0] == 'false')
				{
					alert(response[1]);
					
					document.getElementById("submit_button").innerHTML = 'Submit';
					
					document.getElementById('captcha_image').src = document.getElementById('captcha_image').src + 1;
				}
				else if (response != Array)
				{
					alert(http.responseText);
					
					document.getElementById("submit_button").innerHTML = 'Submit';
				}
			}
		}
	}
	http.send(params);
}