$(document).ready(function(){ // wait for document to load 
	$("#login_link[rel]").overlay({ 
		// set focus
	    onLoad: function() { 
			$('#email').focus();
	    } 
	});

	// check email
	$('#email_register').blur(function(){
		$('#email_message').removeClass('good');
		$('#email_message').removeClass('bad');
		$('#email_message').removeClass('checking');
		$('#email_message').hide();
		$('#email_message').addClass('checking');
		$('#email_message').html('Checking email...');
		$('#email_message').fadeIn(100, function(){
			if ($('#email_register').val() == ''){
				emailNoBlank();
			} else {
				var dataString = 'type=email&value=' + $('#email_register').val();
				$.getJSON('register.check.php', dataString, function(json){
					  if (json.retval != ''){
					  	$('#email_message').fadeOut(300, function(){
					  			$('#email_message').addClass('bad');
									$('#email_message').html('Email already registered.');
									$('#email_message').fadeIn(1000);
									$('#email_register').focus();
									$('#email_register').select();
					  		});
					  	return false;
					  } else {
					  	$('#email_message').fadeOut(300, function(){
					  			$('#email_message').addClass('good');
									$('#email_message').html('Email is good!');
									$('#email_message').fadeIn(1000);
					  		});
					  }
					});
				}
			}
		);
	})	
	
	// check screenname
	$('#screenname_register').blur(function(){
		$('#screen_message').removeClass('good');
		$('#screen_message').removeClass('bad');
		$('#screen_message').removeClass('checking');
		$('#screen_message').hide();
		$('#screen_message').addClass('checking');
		$('#screen_message').html('Checking screenname...');
		$('#screen_message').fadeIn(100, function(){
			if ($('#screenname_register').val() == ''){
				screenNoBlank();
			} else {
				var dataString = 'type=screenname&value=' + $('#screenname_register').val();
				$.getJSON('register.check.php', dataString, function(json){
					  if (json.retval != ''){
					  	$('#screen_message').fadeOut(300, function(){
					  			$('#screen_message').addClass('bad');
									$('#screen_message').html('Screenname in use.');
									$('#screen_message').fadeIn(1000);
									$('#screenname_register').focus();
									$('#screenname_register').select();
					  		});
					  	return false;
					  } else {
					  	$('#screen_message').fadeOut(300, function(){
					  			$('#screen_message').addClass('good');
									$('#screen_message').html('Screenname is available!');
									$('#screen_message').fadeIn(1000);
					  		});
					  }
					});
				}
			});
	})
		
	function emailNoBlank(){
		$('#email_message').addClass('bad');
		$('#email_message').html('Email can\'t be blank.');
		$('#email_message').fadeIn(100, function(){
				$('#email_register').focus();
				$('#email_register').select();
			});
	}
	
	function screenNoBlank(){
		$('#screen_message').addClass('bad');
		$('#screen_message').html('Screenname can\'t be blank.');
		$('#screen_message').fadeIn(100, function(){
				$('#screenname_register').focus();
				$('#screenname_register').select();
			});
	}
	
	function passwordNoBlank(val){
		$('#password_message').addClass('bad');
		$('#password_message').html('Password '+val+'.');
		$('#password_message').fadeIn(100, function(){
				$('#password_register').focus();
				$('#password_register').select();
			});
	}
					
	$('#submit_register').click(function(){
		if ($('#password_register').val() == ''){
			passwordNoBlank('can\'t be blank');
			return false;
		}
		if ($('#password_register').val().length < 4){
			passwordNoBlank('must be longer');
			return false;
		}
		
		if ($('#email_register').val() == ''){
			emailNoBlank();
			return false;
		} else {
			checkEmail();
		}
		
		if ($('#screenname_register').val() == ''){
			screenNoBlank();
			return false;
		} else {
			checkScreenname();
		}
		// check all fields are entered
	});
})

