// JavaScript Document
function createXHR() {
	var objXHR;

	try {
		objXHR = new XMLHttpRequest(); // FireFox
	} catch(e) {
		try {
			objXHR = new ActiveXObject("Msxml2.XMLHTTP"); // IE
		} catch(e) {
			try {
				objXHR = new ActiveXObject("Microsoft.XMLHTTP"); // IE
			} catch(e) {
				objXHR = null;
			}
		}
	}
	return (objXHR);
}

function generateParams(formIdx) {
	if (formIdx == null) {
		formIdx = 0;	
	}
	var objForm = document.forms[formIdx];
	var strParams = "";

	if (objForm !=null) {
		for (var i=0; i<objForm.elements.length; i++) {
			strParams += objForm.elements[i].id + "=" + encodeURIComponent(objForm.elements[i].value) + "&";
		}
	}
	return (strParams);
}

function SendForm(formIdx) {	
	var objForm = document.forms[formIdx];
	var boolOk = true;

	if (objForm!=null) {
		var objNom = objForm["txtNom"];
		var objNbPersonnes = objForm["txtNbPersonnes"];
		var objDate = objForm["txtDate"];
		var objEmail = objForm["txtEmail"];
		
		if (IsFieldEmpty(objNom.value)) {
			alert("Nom est requis!");
			objNom.focus();
			boolOk = false;
		}

		if (IsFieldEmpty(objNbPersonnes.value)) {
			alert("Nombre de personnes est requis!");
			objNbPersonnes.focus();
			boolOk = false;
		}

		if (IsFieldEmpty(objDate.value)) {
			alert("Date est requis!");
			objDate.focus();
			boolOk = false;			
		}

		if (!IsFieldEmpty(objEmail.value)) {
			if (!ValidateEmail(objEmail.value)) {
				alert("Courriel est invalide!");
				objEmail.focus();
				boolOk = false;				
			}
		}
		
		if (boolOk) {
			var xhr = createXHR();

			if (xhr!=null) {
				xhr.onreadystatechange = function(){
					var ready = xhr.readyState;
					if (ready == 4) {
						var status = xhr.status;
						if (status >= 200 && status < 300) {
							showBusy(false);
							parseCompletedResponse(xhr);
						} else {
							alert("Error while sending data!")
						}
					} else {
						showBusy(true);	
					}
				};
			}

			xhr.open("GET", "http://www.resto-asia.com/Asia.asmx/SendMail?" + generateParams(formIdx), true);
			xhr.send(null);			
		}
	}
}

function showBusy(boolShow) {
	var objBusy = document.getElementById("busy");
	if (objBusy!=null) {
		if (boolShow) {
			objBusy.style.display = "block";
		} else {
			objBusy.style.display = "none";
		}
	}
}