﻿var boolSending = false
var xmlhttp = null
var form = null

function sendContact(p_idForm) {	
	if (form == null) {
		form = document.getElementById(p_idForm)
		
		var arrData = []
		
		var l_element
		for (var i=0;i<form.elements.length;i++) {
			l_element = form.elements[i]
			if (l_element.type=="select") {
				arrData.push(l_element.name +"="+ l_element.options[l_element.selectedIndex].value)
			} else {
				arrData.push(l_element.name +"="+ escape(l_element.value))
			}
			l_element.disabled = true
		}
                
                var l_data = arrData.join("&")
		
		xmlhttp = new XMLHttpRequest()

		try {			
			xmlhttp.open("POST", "send_contact.asp", true)
			xmlhttp.onreadystatechange = checkReady
			xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8");
			xmlhttp.setRequestHeader("Content-length", l_data.length);
			xmlhttp.setRequestHeader("Charset", "UTF-8");
			xmlhttp.setRequestHeader("Connection", "close");
			xmlhttp.setRequestHeader("Accept", "contact_request")
			xmlhttp.send(l_data)
		}
		catch (e) {
			alert ("Could not send the message.  Please try again later. (request error)")
			xmlhttp = null
			form = null
		}		
	}
	return false
}


function fixe(e) {
	return ((e)?e:window.event)
}

function checkReady(e) {
	var evt = fixe(e)
	if (xmlhttp != null) {
		if (xmlhttp.readyState == 4) {
			if (xmlhttp.status==200) {
				if (xmlhttp.responseText == "OK") {
					resetForm ("Your message has been sent.  Thank you.")
					return
				}
				resetForm ("Could not send the message.  Please try again later. (Server reports: "+ xmlhttp.responseText +")")
				return
			}
			resetForm ("Could not send the message.  Please try again later. (Processing error: "+ xmlhttp.statusText +")")
			return
		}
	}
}

function resetForm(p_status) {

	alert(p_status)
	xmlhttp = null

	var l_element
	for (var i=0;i<form.elements.length;i++) {
		l_element = form.elements[i]
		
		switch (l_element.type) {
			case ("select"):
				l_element.selectedIndex = 0
				break
			case ("submit"):
				break
			default:
				l_element.value = ""
				break
		}
		
		l_element.disabled = false
	}
	
	form = null
}

	
