var resp = null;

var contactresp = null;
var theform = null;

var formparent = null;
Event.observe(window, 'load', init, false);

function toggleContact(){
	var cform = $('contact');
	if(cform.hasClassName("hideform"))
	{
		Effect.BlindDown(cform);
		cform.removeClassName("hideform");
		cform.addClassName("showform");		
	} else {
		Effect.BlindUp(cform);
		cform.addClassName("hideform");
		cform.removeClassName("showform");
	}		
}

function init() {
	// Attach handler to form's submit event
	Event.observe('listform', 'submit', storeAddress);
	if($('listform_index') != null) Event.observe('listform_index', 'submit', storeAddress);
	
	Event.observe('contactForm', 'submit', sendEmail);

	resp = document.createElement('div');
	resp.setAttribute('id', 'respmsg');
	resp.setAttribute('style', 'display: none');
	resp.innerHTML = "Sending...";

	contactresp = document.createElement('div');
	contactresp.setAttribute('id', 'contactResp');
	contactresp.setAttribute('style', 'display: none');
	contactresp.innerHTML = "Sending...";
}

function storeAddress(e) {

  	// Stop form from submitting when JavaScript is enabled

	Event.stop(e);

	theform = $(Event.element(e));

	formparent = theform.up();

	// Update user interface

	Effect.Fade(theform.id, {duration: 0.5, queue: {position:'front', scope:'mailing'}});

	formparent.appendChild(resp);

	Effect.Appear('respmsg', {duration: 0.5, queue: {position:'end', scope:'mailing'}});

	new Ajax.Request('inc/mailinglist.php',
 
	{

		method: 'get',

		parameters: "address=" + escape($F('address')),

		evalJS: true,

		onFailure: function(){

			Effect.Fade('respmsg', {duration: 0.5, queue: {position:'end', scope:'mailing'}});

			$('respmsg').addClassName('error');

			$('respmsg').innerHTML = "An error occured! <a nohref=\"true\" onClick=\"Effect.Fade('respmsg'); Effect.Appear(theform.id);\">Try Again?</a>";

			Effect.appear('respmsg', {duration: 0.5, queue: {position:'end', scope:'mailing'}});

		}

	});
}


function sendEmail(e) {

  	// Stop form from submitting when JavaScript is enabled

	Event.stop(e);

	theform = $(Event.element(e));

	formparent = theform.up();

	// Update user interface

	Effect.BlindUp(theform.id, {duration: 0.5, queue: {position:'front', scope:'contact'}});

	formparent.appendChild(contactresp);

	Effect.Appear('contactResp', {duration: 0.5, queue: {position:'end', scope:'contact'}});

	new Ajax.Request('inc/contact.php',
 
	{

		method: 'get',

		parameters: { contactName: escape($F('contactName')), contactEmail: escape($F('contactEmail')), contactQuery: escape($F('contactQuery'))},
		evalJS: true,

		onFailure: function(){

			Effect.Fade('contactResp', {duration: 0.5, queue: {position:'end', scope:'mailing'}});

			$('contactResp').addClassName('error');

			$('contactResp').innerHTML = "An error occured! <a nohref=\"true\" onClick=\"Effect.Fade('contactResp'); Effect.Appear(theform.id);\">Try Again?</a>";

			Effect.Appear('contactResp', {duration: 0.5, queue: {position:'end', scope:'mailing'}});

		}

	});
}
