﻿function echeck(str) {

	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	if (str.indexOf(at)==-1){
	   return false;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	    return false;
	}

	 if (str.indexOf(at,(lat+1))!=-1){
	    return false;
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	    return false;
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
	    return false;
	 }
        		
	 if (str.indexOf(" ")!=-1){
	    return false;
	 }

	 return true;
}

//Global XMLHTTP Request object
var XmlHttpSubscribe;

//Creating and setting the instance of appropriate XMLHTTP Request object to a “XmlHttp” variable  
function CreateXmlHttpSubscribe()
{
	//Creating object of XMLHTTP in IE
	try
	{
		XmlHttpSubscribe = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			XmlHttpSubscribe = new ActiveXObject("Microsoft.XMLHTTP");
		} 
		catch(oc)
		{
			XmlHttpSubscribe = null;
		}
	}
	//Creating object of XMLHTTP in Mozilla and Safari 
	if(!XmlHttpSubscribe && typeof XMLHttpRequest != "undefined") 
	{
		XmlHttpSubscribe = new XMLHttpRequest();
	}
}


//Subscription
function SubscribeSubmit() 
{
	
	//document.getElementById("popup_signup").innerHTML = '<img src="images/loading.gif" />';

	var subs_name = document.getElementById("subs_name").value;
	var subs_email = document.getElementById("subs_email").value;

	if(subs_name=="") {
		alert("Please enter your name to subscribe.");
		document.getElementById("subs_name").focus();
	}
	else if(subs_email=="") {
		alert("Please enter your email to subscribe.");
		document.getElementById("subs_email").focus();
	}
	else if(echeck(subs_email)==false) {
		alert("Please enter a valid email address.");
		document.getElementById("subs_email").focus();
	}
	else {

		// URL to get pages for a given site
		var requestUrl = "/subscription/subscribe.asp?name=" + subs_name + "&email=" + subs_email + "";
		//alert(requestUrl);
		//return true;

		CreateXmlHttpSubscribe();
		
		// If browser supports XMLHTTPRequest object
		if(XmlHttpSubscribe)
		{
			//Setting the event handler for the response
			XmlHttpSubscribe.onreadystatechange = HandleResponseSubscribe;
			
			//Initializes the request object with GET (METHOD of posting), 
			//Request URL and sets the request as asynchronous.
			XmlHttpSubscribe.open("GET", requestUrl,  true);
			
			//Sends the request to server
			XmlHttpSubscribe.send(null);		
		}
		else {
			alert("Sorry, your browser does not support javascript.");
		}

	}

}


//Called when response comes back from server
function HandleResponseSubscribe()
{
	// To make sure receiving response data from server is completed
	if(XmlHttpSubscribe.readyState == 4)
	{
		// To make sure valid response is received from the server, 200 means response received is OK
		if(XmlHttpSubscribe.status == 200)
		{			
			if(XmlHttpSubscribe.responseText=="success") {
				document.getElementById("popup_signup").style.display = "none";
				document.getElementById("popup_signup_success").style.display = "";
			}
			else {
				alert(XmlHttpSubscribe.responseText);
			}
		}
		else
		{
		    	var errMsg = "There was a problem retrieving data from the server.";
			//document.getElementById("popup_signup").innerHTML = errMsg;
			alert(errMsg);
		}
	}
}

