var xmlHttp = createXmlHttpRequestObject();
var scriptFile = 'include/functions.php';
var loader = new Image();
loader.src = 'images/ajax-loader.gif';


function sendMessage(form){ 
	var name = encodeURIComponent(document.getElementById(form).fName.value);
	var email = encodeURIComponent(document.getElementById(form).fEmail.value);
	var subject = encodeURIComponent(document.getElementById(form).fSubject.value);
	var message = encodeURIComponent(document.getElementById(form).fMessage.value);
	var submit = document.getElementById('submit');
	submit.style.display = 'none';
	var userMessage = document.getElementById('userMessage');
	userMessage.style.color = '#ffffff';
	userMessage.innerHTML = '<img src="'+loader.src+'" />';
	params = 'fName='+name+'&fEmail='+email+'&fMessage='+message+'&fSubject='+subject+'&action=message';
	setTimeout("processPost(scriptFile,params)",1000);
	return false;
}

function sendOrder(form){ 
	var name = encodeURIComponent(document.getElementById(form).fName.value);
	var last = encodeURIComponent(document.getElementById(form).fLast.value);
	var email = encodeURIComponent(document.getElementById(form).fEmail.value);
	var street = encodeURIComponent(document.getElementById(form).fStreet.value);
	var city = encodeURIComponent(document.getElementById(form).fCity.value);
	var postal = encodeURIComponent(document.getElementById(form).fPostal.value);
	var province = encodeURIComponent(document.getElementById(form).fProvince.value);
	var submit = document.getElementById('submit');
	submit.style.display = 'none';
	var userMessage = document.getElementById('userMessage');
	userMessage.style.color = '#ffffff';
	userMessage.innerHTML = '<img src="'+loader.src+'" />';
	params = 'fName='+name+'&fLast='+last+'&fEmail='+email+'&fStreet='+street+'&fCity='+city+'&fPostal='+postal+'&fProvince='+province+'&action=order';
	setTimeout("processPost(scriptFile,params)",1000);
	return false;
}

function createXmlHttpRequestObject(){
	var xmlHttp;
	try {
		xmlHttp = new XMLHttpRequest();
	}
	catch (e) {
		var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0',
										'MSXML2.XMLHTTP.5.0',
										'MSXML2.XMLHTTP.4.0',
										'MSXML2.XMLHTTP.3.0',
										'MSXML2.XMLHTTP',
										'Microsoft.XMLHTTP');
		for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) {
			try {
				xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
			}
			catch (e) {}
		}
	}
	if (!xmlHttp)
		alert('There was an error during XMLHttpRequest declaration');
	else
		return xmlHttp;
}

function processPost(scriptFile,params) {
	if (xmlHttp) {
		try {
			xmlHttp.open('POST',scriptFile,true);
			xmlHttp.onreadystatechange = handleRequestStateChange;
			xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			xmlHttp.send(params);
		}
		catch(e) {
			alert ('something went wrong');
		}
	}
}

function handleRequestStateChange() {
	if (xmlHttp.readyState == 4) {
		if (xmlHttp.status == 200) {
			try {
				handleServerResponse();
			} 
			catch (e){
				alert ('Error: '+e.toString());
			}
		}
		else {
			alert('Errorrr: '+xmlHttp.statusText);
		}
	}

}

function handleServerResponse() {
	var response = xmlHttp.responseText;
	var userMessage = document.getElementById('userMessage');
	if (response == 'OK')
	{
		userMessage.style.color = '#00ff00';
		userMessage.innerHTML = 'Thank you...';
	}
	if (response == 'ERROR')
	{
		userMessage.style.color = '#ff0000';
		var submit = document.getElementById('submit');
		submit.style.display = 'block';
		userMessage.innerHTML = 'ERROR, please try again';
	}
	if (response == 'EMPTY')
	{
		userMessage.style.color = '#ff0000';
		var submit = document.getElementById('submit');
		submit.style.display = 'block';
		userMessage.innerHTML = 'All fields are required';
	}
}