// isEmail (STRING s [, BOOLEAN emptyOK])
// whitespace characters
var whitespace = " \t\n\r";

//
// Email address must be of form a@b.c ... in other words:
// * there must be at least one character before the @
// * there must be at least one character before and after the .
// * the characters @ and . are both required
function isValidEmail(s)
{
	if (isEmpty(s)) return false;

	// is s whitespace?
	if (isWhitespace(s)) return false;
	
	// there must be >= 1 character before @, so we
	// start looking at character position 1
	// (i.e. second character)
	var i = 1;
	var sLength = s.length;

	// look for @
	while ((i < sLength) && (s.charAt(i) != "@"))
	{ i++
	}

	if ((i >= sLength) || (s.charAt(i) != "@")) return false;
	else i += 2;

	// look for .
	while ((i < sLength) && (s.charAt(i) != "."))
	{ i++
	}

	// there must be at least one character after the .
	if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
	else return true;
}

// Check whether string s is empty.
function isEmpty(s)
{
	return ((s == null) || (s.length == 0))
}

// Returns true if string s is empty or
// whitespace characters only.
function isWhitespace(s)
{
	var i;

   // Is s empty?
   if (isEmpty(s)) return true;

   // Search through string's characters one by one
   // until we find a non-whitespace character.
   // When we do, return false; if we don't, return true.
   for (i = 0; i < s.length; i++)
   {
		// Check that current character isn't whitespace.
		var c = s.charAt(i);

		if (whitespace.indexOf(c) == -1) return false;
   }
   // All characters are whitespace.
   return true;
}

function checkForm() {
	if (!isValidEmail(document.subscribeForm.elements['Email Address'].value)) {
	document.subscribeForm.elements['Email Address'].style.backgroundColor='yellow';
		alert("Please enter a valid Email Address. (name@host.com)");
		document.subscribeForm.elements['Email Address'].focus();
		return false;
	}
}

window.onload = function() {
	obj = document.createElement("input");
	obj.setAttribute("type","hidden");
	obj.setAttribute("name","err");
	obj.setAttribute("value",window.location.href );
	document.getElementById("subform").appendChild(obj);
	obj = document.createElement("input");
	obj.setAttribute("type","hidden");
	obj.setAttribute("name","thx");
	wl = window.location.toString();
	mysymbol = wl.indexOf("?") > 1 ? "&" : "?"; 
	obj.setAttribute("value",window.location+""+mysymbol+"status=success");
	document.getElementById("subform").appendChild(obj);
	qs = document.location.search;
	errcode = qs.substring(qs.indexOf("errorcode"));
	
	if (qs.indexOf("errorcode") > -1 && qs.indexOf("success") < 1) {
		exp = errcode.split("&");
		errcode = exp[0].split("=");
		errcode = errcode[1];
		switch (errcode) {
		    case "1" : 
				var errmsg = "An error has occurred while attempting to save your subscriber information."; 
				break 
			case "2" : 
				var errmsg = "The list provided does not exist."; 
				break
			case "3" : 
				var errmsg = "Information was not provided for a mandatory field."; 
				break 
			case "4" : 
				var errmsg = "Invalid information was provided."; 
				break 
			case "5" : 
				var errmsg = "Information provided is not unique."; 
				break 
			case "6" : 
				var errmsg = "An error has occurred while attempting to save your subscriber information."; 
				break
			case "7" : 
				var errmsg = "An error has occurred while attempting to save your subscriber information."; 
				break 
			case "8" : 
				var errmsg = "Subscriber already exists."; 
				break 
			case "9" : 
				var errmsg = "An error has occurred while attempting to save your subscriber information."; 
				break 
			case "10" : 
				var errmsg = "An error has occurred while attempting to save your subscriber information."; 
				break 
			case "12" : 
				var errmsg = "The subscriber you are attempting to insert is on the master unsubscribe list or the global unsubscribe list.";
				break
			default : 
				var errmsg = "Other";
				break 
		}
		output = "<strong>Error:</strong> " + errmsg;
		document.getElementById("errbox").innerHTML = output;
	}
	
	if (qs.indexOf("success") > -1) {
		var len = document.getElementById("subform").childNodes.length;
		document.getElementById("subform").innerHTML = '';
		obj = document.createElement("span");
		txt = "Thank you for signing up for <em>Gut Check</em>. You will soon be receiving the latest in digestive health news and information.";
		obj.setAttribute("id","thanks");
		obj.setAttribute("style","width:300px");
		document.getElementById("subform").appendChild(obj);
		document.getElementById("thanks").innerHTML = txt;
	}
}
