﻿function isValidEmail(email, required) 
{
	if (required==undefined) 
	{   // if not specified, assume it's required
		required=true;
	}
	if (email==null) 
	{
		if (required) 
		{
			return false;
		}
		return true;
	}
	if (email.length==0) 
	{  
		if (required) 
		{
			return false;
		}
		return true;
	}
	if (! allValidChars(email)) 
	{  // check to make sure all characters are valid
		return false;
	}
	if (email.indexOf("@") < 1) 
	{ //  must contain @, and it must not be the first character
		return false;
	} 
	else if (email.lastIndexOf(".") <= email.indexOf("@")) 
	{  // last dot must be after the @
		return false;
	} 
	else if (email.indexOf("@") == email.length) 
	{  // @ must not be the last character
		return false;
	} 
	else if (email.indexOf("..") >=0) 
	{ // two periods in a row is not valid
		return false;
	} 
	else if (email.indexOf(".") == email.length) 
	{  // . must not be the last character
		return false;
	}
	return true;
}
				
function allValidChars(email) 
{
	var parsed = true;
	var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
	for (var i=0; i < email.length; i++) 
	{
		var letter = email.charAt(i).toLowerCase();
		if (validchars.indexOf(letter) != -1)
		continue;
		parsed = false;
		break;
	}
	return parsed;
}
				
function validate() 
{
	if (! isValidEmail(document.getElementById("email").value)) 
	{
		document.getElementById('subscribeForm').innerHTML = "<span style='color:green;'></span>";
		document.getElementById('invalidEmail').innerHTML = "<br>Please Enter a Valid email address <br />";
		return false;
	}
	get(document.getElementById('myform'));
	return true;
}



//  Description:    Ajax form submission - Sends the contents of a form submission to a server for proccessing, and displays the results without loading a new page.

			   
var http_request = false;

function makePOSTRequest(url, parameters) 
{
	http_request = false;
	if (window.XMLHttpRequest) 
	{ // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) 
		{
			http_request.overrideMimeType('text/xml');
		}
	} 
	else if (window.ActiveXObject) 
	{ // IE
		try 
		{
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e) 
		{
			try 
			{
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (e) 
			{}
		}
	}
	if (!http_request) 
	{
		alert('Cannot create XMLHTTP instance');
		return false;
	}
				      
	http_request.onreadystatechange = function () 
	{
		document.getElementById('subscribeForm').innerHTML = "<p class='requiredField'>Loading..</p>";
		if (http_request.readyState == 4)
		{
			if (http_request.status == 200) 
			{
				document.getElementById('subscribeForm').innerHTML = "<p class='requiredField'></p>";
				document.getElementById('message').innerHTML = "<div style='color:black; text-align:center'>Thank you for registering</div>";
				//document.getElementById('invalidEmail').innerHTML = "<span style='color:green;'></span>";
				//document.getElementById('subscribeForm').innerHTML = "<p><span style='color:green;'><br>Thank you for registering</span></p>";
				} 
				else 
				{	
				//document.getElementById('subscribeForm').innerHTML = "<p class='requiredField'></p>";
				//document.getElementById('message').innerHTML = "<div style='color:black; text-align:center'>Thanks for registering</div>";
				document.getElementById('invalidEmail').innerHTML = "<span style='color:green;'></span>";
				document.getElementById('subscribeForm').innerHTML = "<p><span style='color:green;'><br>Error! Please try again.</span></p>";
					// alert('There was a problem with the request.');
				}
		}
	}
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.send(parameters);
}
				   
function get(obj) 
{
	var poststr = "email=" + encodeURI( document.getElementById("email").value);
	//alert('do email submission for '+document.getElementById("email").value);
	makePOSTRequest('http://www.collectorcafe.com/include/emailformsubmission.asp', poststr);
}
				   

//  Description:    Clears the contents of a form field the first time a user clicks on it.
				   
				   function clearThis()
				   {
				   	if (document.getElementById("email").value == 'Enter Email')
				   		{
				   			document.getElementById("email").value = '';
				   			}
				   	}
				   					
