<!--

// ----------------------------------------------
// Newsletter signup Ajax

var newsletter_signup_result;

function newsletter_check_email() {

	var email_address = document.getElementById('newsletter_email');
	var error_message = document.getElementById('newsletter_error');
	var instructions = document.getElementById('newsletter_instructions');

	if (email_address.value.length > 0) {

		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email_address.value)) {
			instructions.innerHTML = '';
			error_message.innerHTML = 'processing, please wait...';
			newsletter_process_request();
		}
		else {
			instructions.innerHTML = '';
			error_message.innerHTML = '! Invalid email address !';
		}
	}
	else {
		error_message.innerHTML = '';
	}
}

function newsletter_loadXMLDoc(url) {
	// safari/mozilla only
	if (window.XMLHttpRequest) {
		newsletter_signup_result = new XMLHttpRequest();
		newsletter_signup_result.onreadystatechange = newsletter_processReqChange;
		newsletter_signup_result.open("GET", url, true);
		newsletter_signup_result.send(null);
	} else // IE
	if (window.ActiveXObject) {
		newsletter_signup_result = new ActiveXObject("Microsoft.XMLHTTP");
		if (newsletter_signup_result) {
			newsletter_signup_result.onreadystatechange = newsletter_processReqChange;
			newsletter_signup_result.open("GET", url, true);
			newsletter_signup_result.send();
		}
	}
}

function newsletter_processReqChange() {
	// only if req shows "loaded"
	if (newsletter_signup_result.readyState == 4) {

		var error_message = document.getElementById('newsletter_error');
		var instructions = document.getElementById('newsletter_instructions');
		
		// only if "OK"
		if (newsletter_signup_result.status == 200) {
			response = newsletter_signup_result.responseXML.documentElement;
			result = response.getElementsByTagName('result')[0].firstChild.data;
			message = response.getElementsByTagName('message')[0].firstChild.data;
			
			if (result == 'ok') {
				error_message.innerHTML = '';
				instructions.innerHTML = message;
			}
			else if (result == 'fail') {
				instructions.innerHTML = '';
				error_message.innerHTML = 'Signup Error!';
			}
		}
		else {
			// Server did not respond correctly
			error_message.innerHTML = 'Server Error!';
		}
	}
}

function newsletter_process_request() {
	var email_address = document.getElementById('newsletter_email');
	url = '/ajax/newsletter_signup.php?email=' + email_address.value;
	newsletter_loadXMLDoc(url);
}

function newsletter_display_instructions() {
	var instructions = document.getElementById('newsletter_instructions');
	instructions.innerHTML = 'Enter Email Address';
	var error_message = document.getElementById('newsletter_error');
	error_message.innerHTML = '';
}

function newsletter_hide_instructions() {
	var instructions = document.getElementById('newsletter_instructions');
	instructions.innerHTML = '';
	var error_message = document.getElementById('newsletter_error');
	error_message.innerHTML = '';
}

//-->