document.observe("dom:loaded", function() {
	$('signUpBtn').observe('click', submitEmail);
});

function submitEmail(event)
{
	if(!validateEmail()) return;
	
	var form = $('signup');
	// CHANGE URL WHEN THE TIME COMES
	new Ajax.Request('http://glucocardyouchoose.com/newsletter/signup', {
  		method: 'post',
  		parameters: { 
			email: $(form['newsemail']).getValue()
		},
		onSuccess: function(transport) {
			var response = transport.responseText;
			switch(response) {
				case '0':
				alert("Your email address has been added. Please check for a confirmation email");
				break;
				case '1':
				alert("Please provide an email address");
				break;
				case '2':
				alert("Please provide a valid email address");
				default:
				alert("An unknown error occurred");
			}
		},
		onException: showError
	});
}

function showError()
{
	alert('error while retrieving data');
}

var ALERT_BUTTON_TEXT = "Ok";

// over-ride the alert method only if this a newer browser.
// Older browser will see standard alerts
if(document.getElementById) {
	window.alert = function(txt) {
		createCustomAlert(txt);
	}
}

function createCustomAlert(txt)
{
	// shortcut reference to the document object
	var myDoc = document;

	// if the modalContainer object already exists in the DOM, bail out.
	if(myDoc.getElementById("modalContainer")) return;

	// create the modalContainer div as a child of the BODY element
	mObj = myDoc.getElementsByTagName("body")[0].appendChild(myDoc.createElement("div"));
	mObj.id = "modalContainer";
	
	// create the DIV that will be the alert 
	alertObj = mObj.appendChild(myDoc.createElement("div"));
	alertObj.id = "alertBox";

	// create a paragraph element to contain the txt argument
	msg = alertObj.appendChild(myDoc.createElement("p"));
	msg.innerHTML = txt;
	
	// create an anchor element to use as the confirmation button.
	btn = alertObj.appendChild(myDoc.createElement("a"));
	btn.id = "closeBtn";
	btn.appendChild(myDoc.createTextNode(ALERT_BUTTON_TEXT));
	btn.href = "#";
	// set up the onclick event to remove the alert when the anchor is clicked
	btn.onclick = function() { removeCustomAlert();return false; }

	Element.extend(alertObj);
	var width = alertObj.getWidth() / 2;
	var height = alertObj.getHeight() / 2;

	var top = myDoc.viewport.getHeight() / 2 - height;
	var left = myDoc.viewport.getWidth() / 2 - width;

	alertObj.style.top = top + "px";
	alertObj.style.left = left + "px";
}

// removes the custom alert from the DOM
function removeCustomAlert()
{
	document.getElementsByTagName("body")[0].removeChild(document.getElementById("modalContainer"));
}


function validateEmail()
{
	var form = $('signup');
	
	if($(form['newsemail']).getValue() == "") { 		
		alert('Please enter an email address');
		return false;
	}
	if(!isEmail($(form['newsemail']).getValue())) { 
		alert('Please enter a valid email address');
		return false;
	}

	return true;
}

function isEmail(string) 
{
	if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
		return true;
	else
		return false;
}

