$(document).ready(function(){
		formDefaults();
		
		
		// Signup form helpers
		$('input[name=accounts\[username\]]').change(function(){
				// Callback to server to check username availability
				var f = this;
				$.ajax({
						url:			'json/username',
						type:			'post',
						data:			{username:$(this).val()},
						dataType:	'json',
						success:	function(data){
							$(f).siblings('.help').remove();
							switch(data){
								case 'ok':
									$('<span class="help good">OK</span>').insertAfter(f);
									break;
								case 'invalid':
									$('<span class="help bad">Invalid</span>').insertAfter(f);
									break;
								case 'registered':
									$('<span class="help bad">Taken</span>').insertAfter(f);
									break;
							}
							$(f).siblings('.help').delay(3000).fadeOut();
						}
				});
		});
		$('input[name=accounts\[email\]]').change(function(){
			//alert(validateEmail($(this).val()));
		})
});

function formDefaults () {
	$('form').submit(function(ev){
		$(this).find('input.def').each(function(){
			if(this.value == this.defaultValue){
				ev.preventDefault();
				return false;
			}
		});
	}).find('input.def').focus(function(){
		if(this.value == this.defaultValue){
			$(this).val('').addClass('set');
		}
	}).blur(function(){
		if(!this.value.length){
			$(this).val(this.defaultValue).removeClass('set');
		}
	});
}

function validateEmail (s) {
	return /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(s);
}

