// JavaScript Document

$(document).ready(function() {
	$('#name-place, #email-place, #message-place').hide();
						   
	$('#contact input[type!=button], #contact textarea').focus(function() {
		if(!$(this).hasClass('input_text_over')) {
			$(this).addClass('input_text_over');
			
			var thisVal = $(this).val();
			$(this).val('');
			
			var thisName = '';
			if($(this).get(0) == $('#name').get(0)) {
				thisName = '#name-place';
			} else if($(this).get(0) == $('#email').get(0)) {
				thisName = '#email-place';
			} else if($(this).get(0) == $('#message').get(0)) {
				thisName = '#message-place';
			}
			
			if(thisName != '#message-place') {
				$(thisName).show().animate({ color:'#dddddd',marginLeft:'335px' },400);
			} else {
				$(thisName).show().animate({ marginLeft:'555px' },500).animate({ color:'#dddddd',marginTop:'-196px' },300);
			}
		}
	});
	
	$('#contact input[type!=button], #contact textarea').blur(function() {
		$('.error').hide();
		
		if($(this).val() == '') {
			$(this).removeClass('input_text_over');
			
			var thisVal = '';
			var thisName = '';
			var thisInput = '';
			
			if($(this).get(0) == $('#name').get(0)) {
				thisVal = 'Your Name';
				thisName = '#name-place';
				thisInput = '#name';
			} else if($(this).get(0) == $('#email').get(0)) {
				thisVal = 'Your Email';
				thisName = '#email-place';
				thisInput = '#email';
			} else if($(this).get(0) == $('#message').get(0)) {
				thisVal = 'Enter your message...';
				thisName = '#message-place';
				thisInput = '#message';
			}
			
			if(thisName != '#message-place') {
				$(thisName).animate({ color:'#555555',marginLeft:'5px' },400,function() { $(this).hide(); $(thisInput).val(thisVal); });
			} else {
				$(thisName).animate({ color:'#555555',marginTop:'-171px' },300).animate({ marginLeft:'5px' },400,function() { $(this).hide(); $(thisInput).val(thisVal); });
			}
		}
	});
	
	$('#contact input').bind('keypress', function(e) {
		if(e.keyCode == 13){
				contact_submit();
		}
	});
	
	$('#contact #button').click(function() {
		contact_submit();
	});
});

function contact_submit() {
	$('.error').hide();
	var email_regex = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
	
	if($('#name').val() == '' || $('#name').val() == 'Your Name') {
		$('.error').html('Please enter your name').fadeIn();
		setTimeout(function() { $('#name').focus(); },400);
		return;
	} else if($('#email').val() == '' || $('#email').val() == 'Your Email') {
		$('.error').html('Please enter your email address').fadeIn();
		setTimeout(function() { $('#email').focus(); },400);
		return;
	} else if(!email_regex.test($('#email').val())) {
		$('.error').html('Please enter a valid email address').fadeIn();
		setTimeout(function() { $('#email').focus(); },400);
		return;
	} else if($('#message').val() == '' || $('#message').val() == 'Enter your message...') {
		$('.error').html('Please construct a message').fadeIn();
		setTimeout(function() { $('#message').focus(); },400);
		return;
	}
	
	var name = $('#name').val();
	var email = $('#email').val();
	var message = $('#message').val();
	
	$('#main').slideUp();
	
	$.post("functions/contactSend.php",{"name":name,"email":email,"message":message},function() {
		$('#main').html('<h1>Contact</h1>Thank you for sending me your message, I will be sure to get back to you as soon as possible.').slideDown();
	});
}