function ajax_object(){
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
		return ajaxRequest;
	} 
	catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
			return ajaxRequest;
		} 
		catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
				return ajaxRequest;
			} 
			catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
}
function validate_email(field){
	with (field){
		apos=value.indexOf("@");
		dotpos=value.lastIndexOf(".");
		illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
		if (value.match(illegalChars)){
			return false;
		}
		else if (apos<1||dotpos-apos<2){
			return false;
		}
		else {
			return true;
		}
	}
}

function validate_string(field){
	with (field){
		if (value == "" || value==null) {
			return false;
		}
		else {
			return true;
		}
	}
}

function error_credit(message){
	document.getElementById("credit_error").innerHTML = message;
	document.getElementById("credit_error").style.display = "block";
}

function validate_credit(form){
	with(form){
		if (!validate_string(name)){
			error_credit("Please enter your name");
			name.focus();
			return false;
		}
		if (!validate_email(email)){
			error_credit("Please enter a valid email");
			email.focus();
			return false;
		}
		if (!validate_string(telephone)){
			error_credit("Please enter your telephone<br>number");
			telephone.focus();
			return false;
		}
	}
	return true;
}

function ajax_credit(form){
	ao = ajax_object();
	if (validate_credit(form)){
		ao.onreadystatechange = function(){
			if(ao.readyState == 4){
				document.getElementById("credit_form").innerHTML = ao.responseText;
			}
		}
		with (form){
			ao.open("GET", "ajax/process_credit.php?title="+title.value+"&name="+name.value+"&email="+email.value+
				"&telephone="+telephone.value, true);
			ao.send(null);
		}
	}
}

function ajax_callback(form){
	ao = ajax_object();
	if (validate_callback(form)){
		ao.onreadystatechange = function(){
			if(ao.readyState == 4){
				document.getElementById("callback_form").innerHTML = ao.responseText;
			}
		}
		with (form){
			ao.open("GET", "ajax/process_callback.php?firstname="+firstname2.value+"&lastname="+lastname2.value+
				"&telephone="+telephone2.value, true);
			ao.send(null);
		}
	}
}

function ajax_contact(form){
	ao = ajax_object();
	if (validate_contact(form)){
		ao.onreadystatechange = function(){
			if(ao.readyState == 4){
				document.getElementById("contact_form").innerHTML = ao.responseText;
			}
		}
		with (form){
			ao.open("GET", "ajax/process_contact.php?firstname="+firstname.value+"&lastname="+lastname.value+
				"&address1="+address1.value+"&address2="+address2.value+"&address3="+address3.value+
				"&city="+city.value+"&postcode="+postcode.value+"&country="+country.value+
				"&telephone="+telephone.value+"&enquiry="+enquiry.value+"&enquiry2="+enquiry2.value+
				"&hearabout="+hearabout.value, true);
			ao.send(null);
		}
	}
}