   var http_request = false;   
   
   function makePOSTRequest(url, parameters) {
	   //alert('url = ' + url);
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } 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;
      }
      //alert('url = ' + url);
      http_request.onreadystatechange = alertContents;
      http_request.open('POST', url, true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      //http_request.setRequestHeader("Content-length", parameters.length);
      //http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);
   }
   
   /**
    * DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
    */

 function isValidEmailAddress(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;					
}
 
function postForm() {
  var emailEl = document.getElementById("emailaddress");
  var emailAddress = emailEl.value;
  if(isValidEmailAddress(emailAddress)) {
    handleStart();
	var poststr = "emailaddress=" + encodeURI(emailAddress);
  	makePOSTRequest('servlet/SaveUserInfo', poststr);
  	pageTracker._trackPageview('/emailformSubmitted');
  }
  else {
    alert("that address is not a valid e-mail address");
  }
}
   
 function onBodyLoad() {
	var theForm = document.getElementById('theForm');
	theForm.onsubmit = function(evt) {
		postForm();
		return false;
	} 
	var sendButton = document.getElementById('submitlink');
	sendButton.onclick = function (evt) {
	    postForm();
	};
	var emailTextField = document.getElementById('emailaddress');
	emailTextField.onfocus = function(evt) {
	  handleFocus();
	}		
}
	
function handleFocus() {
  var defValue = document.getElementById('emailaddress').defaultValue;
  if(document.getElementById('emailaddress').value == defValue) {
    document.getElementById('emailaddress').value = "";
  }
}
   
function alertContents() {
	if (http_request.readyState == 4) {
    	if (http_request.status == 200) {
        	result = http_request.responseText;        	
        	if(result.indexOf("OK") > 0) {
            		handleSucces();
            	}
            	else {
            		handleFailure();
         		}          
         	} 
         	else {
         		alert("status: http_request.status" + http_request.status);
         		handleFailure();
        	}
    	}
	}   
function handleStart() {
	var el = document.getElementById('emailandbuttoncontainer');
    el.innerHTML = '';
}    

function handleFailure() {
	alert("Oeps.. something went wrong :(");
}

function handleSucces() {
	var el = document.getElementById('emailandbuttoncontainer');
	el.style.display = "none";
	var elOk = document.getElementById('okresult');
	elOk.style.display = "block";
}   


   
   

