$(function(){
	$('.prefilled').focus(handleFocus);
	$('.email').change(function(){
		if(!isValidEmail(this.value)){
			$(this).addClass('invalid');	
		}
		if(this.value == '' && $(this).hasClass('prefilled')){
			$(this).removeClass('focused');
			$(this).css({
				'font-style'	:	'italic',
				'color'			:	'#777777'
			});
			$(this).val('email@example.com');
			if($(this).hasClass('invalid')){
				$(this).removeClass('invalid');	
			}
		}
	});
	$('.email').keyup(function(){
		if($(this).hasClass('invalid') && 
			isValidEmail(this.value)){
			$(this).removeClass('invalid');	
		}	
	});
	$('.name').change(function(){
		if(!isValidName(this.value)){
			$(this).addClass('invalid');	
		}
	});
	$('.name').keyup(function(){
		if($(this).hasClass('invalid') && 
			isValidName(this.value)){
			$(this).removeClass('invalid');	
		}	
	});
	$('.username').change(function(){
		if(!isValidUsername(this.value)){
			$(this).addClass('invalid');	
		}
	});
	$('.username').keyup(function(){
		if($(this).hasClass('invalid') && 
			isValidUsername(this.value)){
			$(this).removeClass('invalid');	
		}	
	});
	$('.required').blur(function(){
		if(this.value == ''){
			$(this).addClass('invalid');	
		}
	});
	$('.phone').change(function(){
		if(!isValidPhone(this.value)){
			$(this).addClass('invalid');	
		}
	});
	$('.phone').keyup(function(){
		if($(this).hasClass('invalid') && 
			isValidPhone(this.value)){
			$(this).removeClass('invalid');	
		}	
	});
	$('.password').change(function(){
		if(!isValidPassword(this.value)){
			$(this).addClass('invalid');
			$('<span>',{id: 'password_error', class: 'error'})
			.insertAfter($(this));
			$('#password_error').html('&nbsp; &nbsp; Password must be at least 6 characters');	
		}
	});
	$('.password').keyup(function(){
		if($(this).hasClass('invalid') && 
			isValidPassword(this.value)){
			$(this).removeClass('invalid');
			$('#password_error').remove();	
		}	
	});
	$('.validate').click(function(e){
		var formId = $(this).parent('form').attr('id');
		$('.required','#' + formId).each(function(index){
			if(this.value == ''){
				e.preventDefault();	
			}
		});
		if($('.invalid','#' + formId).length > 0){
			e.preventDefault();
		}
	});
	$('#msg-send').click(function(){
		$.ajax({
			url:	"chat.php",
			type: 	"POST",
			data: ({text : $('#msg-box').val()}),
			success: function(data){
				$('#chat-box').html(data);	
			}
		});	
	});
});
function handleFocus(){
	if(!$(this).hasClass('focused')){
		$(this).val('');
		$(this).addClass('focused')
		.css({
			'font-style'	:	'normal',
			'color'			:	'#333333'
		});	
	}
}
function isValidEmail(EmailAddr){
	var pattern = new RegExp(/^[A-Za-z]{1}[A-Za-z0-9_-]+[\.]?[A-Za-z0-9_-]*[\.]?[A-Za-z0-9_-]*@[A-Za-z0-9-]*[\.]?[A-Za-z0-9-]+[\.][A-Za-z]{2,6}$/);
	return pattern.test(EmailAddr);
}

function isValidPhone(Phone){
	//var pattern = new RegExp(/^[+]?[1]?[\s-\.]?[(]?[0-9]{3}[)]?[\s-\.]?[0-9]{3}[\s-\.]?[0-9]{4}[\s-\.]?[extnsio\.]{0,10}[\s]?[0-9]{0,6}$/);
	//return pattern.test(Phone);
	return (Phone.length > 8);
}
function isValidPassword(Pwd){
	return (Pwd.length > 5);	
}
function isValidName(Name){
	var pattern = new RegExp(/^[A-Za-z]{1,15}[\s]?[A-Za-z]{0,15}[\s]?[A-Za-z\.0-9]*[\s]?[A-Za-z\.0-9]*$/);
	return pattern.test(Name);
}
function isValidUsername(Username){
	var pattern = new RegExp(/^[A-Za-z0-9]{3,16}$/);
	return pattern.test(Username);
}
