var xml_loaded = 0;

function xmlNotLoaded() {
	xml_loaded = 0;
//	alert('xml_loaded = ' + xml_loaded + ', from xmlNotLoaded()');
}
			
function xmlLoaded() {
	xml_loaded = 1;
//	alert('xml_loaded = ' + xml_loaded + ', from xmlLoaded()');
}

function validateEmail(element,errormsg)
{
	with (element)
	{
		var regexp = /^([_a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+)(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,4})$/;
		if(value.search(regexp)==-1 && value != '')
		{
			if (errormsg != '') {
				alert(errormsg);
				setTimeout(function(){focus()}, 10); // firefox requires a little time before setting focus
			}
			return false;
		}
		else
			return true;
	}
}

function validateForm()
{
	//check for required fields
	errormsg_section1 = "The following required fields were left blank: \n";
	fields_section1 = '';
	if (document.forms['mailinglistsignup'].name.value == '')
		fields_section1 += "Name\n";
	if (document.forms['mailinglistsignup'].email.value == '')
		fields_section1 += "Email Address\n";
		
	//check for valid email address
	fields_email_addresses = '';
	if (validateEmail(document.forms['mailinglistsignup'].email,'') == false)
		fields_email_addresses += "Please enter a valid email address (Example: user@somedomain.com)\n";

	final_errormsg = '';
	if (fields_section1 != '')
		final_errormsg += errormsg_section1 + fields_section1 + "\n";
	if (fields_email_addresses != '')
		final_errormsg += fields_email_addresses + "\n";

	if (final_errormsg != '')
	{			
		alert(final_errormsg);
		return false;
	}
	else
	{
		return true;
	}
}

function signupError() {
	var feedback = document.getElementById('feedback');
	feedback.innerHTML = '<strong>Error:</strong> Sorry, there was an error trying to add you to the mailing list. Please try again or email Lorraine at <a href="mailto:lorrainelax@cfl.rr.com">lorrainelax@cfl.rr.com</a>.';
}

function signupComplete() {
	var feedback = document.getElementById('feedback');
	feedback.innerHTML = '<strong>Thanks for your interest in Lorraine\'s art!</strong> Your email address has been added to her mailing list.';
}

function submitFormFeedback(xhr) {
	if (xhr.readyState == 4) {
		if (xhr.status == 200) {
			if (xhr.responseText.match("You have been added")) //hacky
				signupComplete();
			else {
				signupError();
			}
		} else {
			signupError();
		}
	}
}

function submitForm() {
	if (validateForm()) {
		var xhr = getTransport();
		xhr.onreadystatechange = function() {
			submitFormFeedback(xhr);
		}
		var url = 'mail.php';
		var parameters = '?name=' + escape(document.getElementById('name').value) + '&email=' + escape(document.getElementById('email').value) + '&notes=' + escape(document.getElementById('notes').value);
		xhr.open('get', url + parameters, true);
		xhr.send(''); 
	}
	else {
		signupError();
	}
	
	return false;
}