///////////////////////////////////////////////////////////////////////
// Author: Leon Cripps (leon@leon-cripps.com)
// Title: Ajax mailer version 1.0
// Desc: mailing list script used in conjunction with php and mysql
///////////////////////////////////////////////////////////////////////
var AjaxServerPageName;

AjaxServerPageName = "./includes/ajaxmailer.php";

//Global XMLHTTP Request object
var XmlHttp;

//Creating and setting the instance of appropriate XMLHTTP Request object to a “XmlHttp” variable  
function CreateXmlHttp()
{
	//Creating object of XMLHTTP in IE
	try
	{
		XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		} 
		catch(oc)
		{
			XmlHttp = null;
		}
	}
	//Creating object of XMLHTTP in Mozilla and Safari 
	if(!XmlHttp && typeof XMLHttpRequest != "undefined") 
	{
		XmlHttp = new XMLHttpRequest();
	}
}


//Gets called when country combo box selection changes
function Mailer() 
{
	var txtemailaddress = document.getElementById('txtemailbox');
	
	 index = txtemailaddress.value.indexOf("@",txtemailaddress.value);
	 
	
	 document.getElementById('mailerbtn').value = "wait";
	 
	
	  if(index == -1){
	  
		alert("You did not enter a valid email address");
		
		document.getElementById('mailerbtn').value = "submit";
		
	}else{
		
		var val = document.getElementById('subscription').selectedIndex;
				
		var seltext = document.getElementById('subscription').options(val).text;
		
		var randomnumber=Math.floor(Math.random()*101)
		// URL to get states for a given country
		var requestUrl = AjaxServerPageName + "?email=" + encodeURIComponent(txtemailaddress.value) + "&type=" + encodeURIComponent(seltext) + "&unique=" + encodeURIComponent(randomnumber);
		
		
		CreateXmlHttp();
		
		// If browser supports XMLHTTPRequest object
		if(XmlHttp)
		{
			//Setting the event handler for the response
			XmlHttp.onreadystatechange = GetMailValue;
			
			//Initializes the request object with GET (METHOD of posting), 
			//Request URL and sets the request as asynchronous.
			XmlHttp.open("GET", requestUrl, true);
			
			//Sends the request to server
			XmlHttp.send(null);		
		}
		
		
	}
		
	
}
//Called when response comes back from server
function GetMailValue()
{
	// To make sure receiving response data from server is completed
	if(XmlHttp.readyState == 4)
	{
		// To make sure valid response is received from the server, 200 means response received is OK
		if(XmlHttp.status == 200)
		{			
			alert(XmlHttp.responsetext);
			
			document.getElementById('mailerbtn').value = "submit";
			
			document.getElementById('txtemailbox').value = "";
		}
		else
		{
			alert("There was a problem retrieving data from the server." );
		}
		
	}
}








