// Perform the request.
function request_email_page() {
	// The form is complete by default.
	form_complete = true;
	
	// Valid the required fields
	if(document.email_page_form.sender_name.value == ''){
		message = 'Your name is a required field.';
		document.email_page_form.sender_name.focus();
		form_complete = false;
	}else if(document.email_page_form.sender_email_address.value == ''){
		message = 'Your email address is a required field.';
		document.email_page_form.sender_email_address.focus();
		form_complete = false;
	}else if(document.email_page_form.recipient_name.value == ''){
		message = "The recipient's name is a required field.";
		document.email_page_form.recipient_name.focus();
		form_complete = false;
	}else if(document.email_page_form.recipient_email_address.value == ''){
		message = "The recipient's email address is a required field.";
		document.email_page_form.recipient_email_address.focus();
		form_complete = false;
	}
	
	// Proceed if the form is complete.
	if(form_complete == true){
		document.getElementById('email_page_message').style.display = "";
		return(true);
	}else{
		alert(message);
		return(false);
	}
}

// Process the response
function request_email_page_response(response){
	// Reset the form.
	document.email_page_form.reset();
	document.email_page_form.message.value = "";
		
	// Return a message to the user.
	if(response == "success"){
		document.getElementById('email_page_message').style.display = "none";
		document.getElementById('email_page_response_message').style.display = "";
	}
}

// xmlhttpPost: Post an AJAX request.
function xmlhttpPost(strURL,target){
	var xmlHttpReq = false;
	var self = this;
	
	// Mozilla/Safari
	if (window.XMLHttpRequest) {
		self.xmlHttpReq = new XMLHttpRequest();
	}
	// IE
	else if (window.ActiveXObject) {
		self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
	}
	self.xmlHttpReq.open('POST', strURL, true);
	self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	self.xmlHttpReq.onreadystatechange = function() {
		if (self.xmlHttpReq.readyState == 4) {
			updatepage(self.xmlHttpReq.responseText,target);
		}
	}
	self.xmlHttpReq.send(getquerystring());
}

function getquerystring(){
	qstr = 'w=' + escape('test');  // NOTE: no '?' before querystring
	return qstr;
}

function updatepage(str,target){
	//str = trim(str);
	if(str != ''){
		document.getElementById(target).innerHTML = str;
	}
	
	// call a callback function if it exists
	if(window.ajax_callback){
		ajax_callback();
	}
}

// perform the request
function ajax_request(url,target,message){
	// reveal a message if one exists
	if(message != ''){
		document.getElementById(target).innerHTML = message;		
	}
	
	// post the request
	xmlhttpPost(url,target);
}