﻿var signup_request = false;
function makeSignUpRequest(url, parameters) {
  signup_request = false;
  if (window.ActiveXObject) { // IE
    try {
      signup_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        signup_request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {}
    }
  } else if (window.XMLHttpRequest) { // Mozilla, Safari,...
    signup_request = new XMLHttpRequest();
      signup_request.overrideMimeType('text/xml');      
    if (signup_request.overrideMimeType) {
      signup_request.overrideMimeType('text/xml');
    }
  }
  if (!signup_request) {
    alert("Cannot create a connection 2.");
    return false;
  }
  signup_request.onreadystatechange = signupContents;
  signup_request.open('POST', url, true);
  signup_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  signup_request.setRequestHeader("Content-length", parameters.length);
  signup_request.setRequestHeader("Connection", "close");
  signup_request.send(parameters);
}
function signupContents() {
  if (signup_request.readyState == 4) {
    if (signup_request.status == 200) {    
      signupResponse(signup_request.responseText);
    } else {    
      signupException();
    }
  }
}
function signup() {	
  var emailStr = document.getElementById("signupemail").value;
	var goodEmail = emailStr.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\.info)|(\.sex)|(\.biz)|(\.aero)|(\.coop)|(\.museum)|(\.name)|(\.pro)|(\..{2,2}))$)\b/gi);
	lastpos = emailStr.length-1;
	apos = emailStr.indexOf("@");
	dotpos = emailStr.lastIndexOf(".");
	var badEmail = (apos<1 || dotpos-apos<2 || lastpos-dotpos<2);
	if (document.getElementById("signupname").value=="")
	{	alert("Please enter your name");
		document.getElementById("signupname").focus();
		return false;
	}
	else if ((document.getElementById("signupemail").value == "") || (!goodEmail && badEmail))		
	{	alert("Please enter a valid email");
		document.getElementById("signupemail").focus();
		return false;
	}
	var url = "includes/subscribeoptin.asp";
	var PostStr = "email=" + encodeURI( document.getElementById("signupemail").value ) + 
	  "&name=" + encodeURI( document.getElementById("signupname").value ) ;
	makeSignUpRequest(url, PostStr);
	document.getElementById("signupsubmit").style.display = 'none';
	document.getElementById("signuploading").style.display = 'block';
}
function signupException() {
	alert("Error occured while talking to the server. Please try again.  \n\n If this message keeps popping up please try back in an hour.");
	document.getElementById("signuploading").style.display = 'none';
	document.getElementById("signupmessage").style.display = 'none';
	document.getElementById("signupsubmit").style.display = 'block';
}
function signupResponse(req) {	
  if (req=="1" || req=="0")
	{	document.getElementById("signupbox").style.display = 'none';
		document.getElementById("signupmessage").style.display = 'block';
		alert("Thanks you for Subscribing.  \n\n A Verification Email was just sent to you.");
	}
	if (req=="2")	
	{	alert("You are already subscribed.");
		document.getElementById("signuploading").style.display = 'none';
		document.getElementById("signupmessage").style.display = 'none';
		document.getElementById("signupsubmit").style.display = 'block';
	}
	if (req=="3")	
	{	alert("An error has occured. Please try again.");
		document.getElementById("signuploading").style.display = 'none';
		document.getElementById("signupmessage").style.display = 'none';
		document.getElementById("signupsubmit").style.display = 'block';
	}
}
