// JavaScript Document
function create_request(){
  var request;
  try{
    // Firefox, Opera 8.0+, Safari
    request = new XMLHttpRequest();
  }catch (e){
    // Internet Explorer
    try{
      request = new ActiveXObject("Msxml2.XMLHTTP");
    }catch (e){
      try{
        request = new ActiveXObject("Microsoft.XMLHTTP");
      }catch (e){
        alert("Your browser does not support AJAX!");
        return false;
      }}}return request;}

function joinlist(){
  request = create_request();
  var emailAddress = document.getElementById('email').value;
  document.getElementById('email').value = 'Processing...';
  request.onreadystatechange = joinlist_answer
  request.open("GET", "/maillist_signup/signup.php?email=" + emailAddress, true);
  request.send(null);}

function fadeBground(){
  var element = document.getElementById('email');
  var colorString = element.style.backgroundColor;
  colorString = colorString.substring(4);
  colorString = colorString.replace(')','');
  colorArray = colorString.split(',');
  num1 = parseInt(colorArray[0]);
  num2 = parseInt(colorArray[1]);
  num3= parseInt(colorArray[2]);
  if(num1 < 255){
    num1++;}
  if(num2 < 255){
    num2++;}
  if(num3 < 255){
    num3++;}
  if(num1 == 255 && num2 == 255 && num3 == 255){
    clearTimeout(newBground); return;}
  element.style.backgroundColor = 'rgb(' + num1 + ',' + num2 + ',' + num3 + ')';
  newBground = setTimeout("fadeBground()",0);}

function fadeTxt(){
  var element = document.getElementById('email');
  var colorString = element.style.color;
  colorString = colorString.substring(4);
  colorString = colorString.replace(')','');
  colorArray = colorString.split(',');
  num1 = parseInt(colorArray[0]);
  num2 = parseInt(colorArray[1]);
  num3= parseInt(colorArray[2]);
  if(num1 < 255){
    num1++;}
  if(num2 < 255){
    num2++;}
  if(num3 < 255){
    num3++;}
  if(num1 == 255 && num2 == 255 && num3 == 255){
	document.getElementById('email').value = '';
	document.getElementById('email').style.color = 'rgb(0,0,0)';
    clearTimeout(newTxt); return;}
  element.style.color = 'rgb(' + num1 + ',' + num2 + ',' + num3 + ')';
  newTxt = setTimeout("fadeTxt()",0);}

function joinlist_answer(){
  if(request.readyState==4){
    if(request.responseText == 'Registered!'){
	  document.getElementById('email').value = 'Subscribed!';
	  document.getElementById('email').style.backgroundColor = 'rgb(168,204,18)';
	}else{
	  document.getElementById('email').value = request.responseText;
	  document.getElementById('email').style.backgroundColor = 'rgb(255,153,153)';}
	document.getElementById('email').style.color = 'rgb(0,0,0)';
	newTxt = setTimeout("fadeTxt()",4000);
	newBground = setTimeout("fadeBground()",5000);}}

function clearField(){
  var email = document.getElementById('email');
  clearTimeout(newBground);
  clearTimeout(newTxt);
  email.style.color = 'rgb(0,0,0)';
  email.style.backgroundColor = 'rgb(255,255,255)';
  if(email.value == 'Already registered' || email.value == 'Invalid email' || email.value == 'Subscribed!'){
     email.value = '';}}
