function loginAJAX(url) {
  if (submitting)
    return false;
  submitting = true;
  
  // Encrypting the password for transit over an unencrypted channel.
  $('cryptpass').value = "";
  if ($F('password') != "")
    $('cryptpass').value = hex_md5(hex_md5($F('nonce') + hex_md5($F('username').toLowerCase() + hex_md5($F('password')))));
  
  var formSerialized = $('username').serialize()+'&'+$('cryptpass').serialize()+'&'+$('nonce').serialize()+'&xml=1';
  $('loader').alt = $('loader').src;
  $('loader').src = "http://static.areyouag33k.com/images/icon_ajax.gif";
  
	var myAjax = new Ajax.Updater(
				{success: 'error'}, 
				url, {
					method: 'post', 
					parameters: formSerialized,
					evalScripts: true,
					onFailure: formError,
					onComplete: formDone
				});
				
	return false;
}

function resetAJAX(url) {
  if (submitting)
    return false;
  
  // Make sure they are the same password
  if ($F('password1') != $F('password2')) {
    $('error').innerHTML = "The Passwords need to be identical.<br />";
    return false;
  }
  
  if ($F('password1').length < 6) {
    $('error').innerHTML = "Your Password must be at least 6 characters long.<br />";
    return false;
  }
  
  submitting = true;
    
  // Encrypting the password for transit over an unencrypted channel.
  $('cryptpass').value = hex_md5($F('username').toLowerCase() + hex_md5($F('password1')));
  
  var formSerialized = $('cryptpass').serialize()+'&xml=1';
  $('loader').alt = $('loader').src;
  $('loader').src = "http://static.areyouag33k.com/images/icon_ajax.gif";
  
	var myAjax = new Ajax.Updater(
				{success: 'error'}, 
				url, {
					method: 'post', 
					parameters: formSerialized,
					evalScripts: true,
					onFailure: formError,
					onComplete: formDone
				});
				
	return false;
}

function joinerAJAX(url) {
  if (submitting)
    return false;
  
  // Make sure they are the same password
  if ($F('password1') != $F('password2')) {
    $('error').innerHTML = "The Passwords need to be identical.<br />";
    return false;
  }
  
  if ($F('password1').length < 6) {
    $('error').innerHTML = "Your Password must be at least 6 characters long.<br />";
    return false;
  }
  
  submitting = true;
  
  // Encrypting the password for transit over an unencrypted channel.
  $('cryptpass').value = hex_md5($F('username').toLowerCase() + hex_md5($F('password1')));
  
  var formSerialized = $('bday_month').serialize()+'&'+$('bday_day').serialize()+'&'+$('bday_year').serialize()+'&'+$('email').serialize()+'&'+$('username').serialize()+'&'+$('cryptpass').serialize()+'&'+$('captcha').serialize()+'&'+$('captchaA').serialize()+'&xml=1';
  $('loader').alt = $('loader').src;
  $('loader').src = "http://static.areyouag33k.com/images/icon_ajax.gif";
  
	var myAjax = new Ajax.Updater(
				{success: 'error'}, 
				url, {
					method: 'post', 
					parameters: formSerialized,
					evalScripts: true,
					onFailure: formError,
					onComplete: formDone
				});
				
	return false;
}

function joinAJAX(url) {
  if (submitting)
    return false;
  submitting = true;
  
  var formSerialized = $('invite').serialize()+'&xml=1';
  $('loader2').alt = $('loader2').src;
  $('loader2').src = "http://static.areyouag33k.com/images/icon_ajax.gif";
  
	var myAjax = new Ajax.Updater(
				{success: 'error2'}, 
				url, {
					method: 'post', 
					parameters: formSerialized,
					evalScripts: true,
					onFailure: formError2,
					onComplete: formDone2
				});
				
	return false;
}

function formDone2(request) {
  $('loader2').src = $('loader2').alt;
  $('loader2').alt = "";
  submitting = false;
}

function formError2(request) {
  $('loader2').src = $('loader2').alt;
  $('loader2').alt = "";
	$('error2').innerHTML = 'Do Not Panic! An error has occured. Try again later.';
	submitting = false;
}