jQuery(document).ready(function() {
	
	// Setup
	jQuery('#respond #submit').before('<h3 class="error">Oops!</h3><ul class="error"></ul>')
	jQuery('.error').hide();
	
	var hasMessageError = false;
	var hasNameError = false;
	var hasEmailError = false;
	
	if (document.getElementById("comments")) { 
		hasMessageError = true;
	};
	
	if (document.getElementById("contactName")) { 
		hasNameError = true;
	};
	
	if (document.getElementById("email")) { 
		hasEmailError = true;
		var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
	};
	
	
	// Validation
	jQuery("#commentsText").blur(function(){				   				   
		jQuery("#comment-error").remove();
		hasMessageError = false;
		
		var messageVal = jQuery("#commentsText").val();
		if(messageVal == '') {
			jQuery('.error').slideDown('normal');
			jQuery('<li id="comment-error">You forgot to include your comment.</li>').appendTo('ul.error');
			hasMessageError = true;
		}
		
		if(hasMessageError == false && hasNameError == false && hasEmailError == false){
			jQuery('.error').hide('normal');
		}
	});
	
	jQuery("#contactName").blur(function(){					   				   
		jQuery("#author-error").remove();
		hasNameError = false;
		
		var authorVal = jQuery("#contactName").val();
		if(authorVal == '') {
			jQuery('.error').slideDown('normal');
			jQuery('<li id="author-error">You forgot to include your name.</li>').appendTo('ul.error');
			hasNameError = true;
		}
		
		if(hasMessageError == false && hasNameError == false && hasEmailError == false){
			jQuery('.error').hide('normal');
		}
	});
	
	jQuery("#email").blur(function(){					   				   
		jQuery("#email-error").remove();
		hasEmailError = false;
		
		var emailVal = jQuery("#email").val();
		if(emailVal == '') {
			jQuery('.error').slideDown('normal');
			jQuery('<li id="email-error">You forgot to include your email address.</li>').appendTo('ul.error');
			hasEmailError = true;
		} else if (!emailReg.test(emailVal)) {
			jQuery('.error').slideDown('normal');
			jQuery('<li id="email-error">The email address you entered is not valid.</li>').appendTo('ul.error');
			hasEmailError = true;
		}
		
		if(hasMessageError == false && hasNameError == false && hasEmailError == false){
			jQuery('.error').hide('normal');
		}
	});
	
	//Comment Form Submit
	jQuery('form#commentform').submit(function() {
	
		var messageVal = jQuery("#commentsText").val();
		var authorVal = jQuery("#contactName").val();
		var emailVal = jQuery("#email").val();
		
		if (hasMessageError == false && hasNameError == false && hasEmailError == false) {
			
			if ( url.value == 'Website' ){ 
				url.value = '';
			}
			
			window.navigate("/wp-comments-post.php");
			
		} else {
		
			return false;
		
		}	
		
	});
	
	//Contact Form Submit
	jQuery('form#contactForm').submit(function() {
	
		var messageVal = jQuery("#commentsText").val();
		var authorVal = jQuery("#contactName").val();
		var emailVal = jQuery("#email").val();
		
		if (hasMessageError == false && hasNameError == false && hasEmailError == false) {

			jQuery('form#contactForm #submit').fadeOut('normal', function() {
				jQuery(this).parent().append('<img id="loading" src="/wp-content/themes/big_picture/images/prettyPhoto/dark_rounded/loader.gif" alt="Loading;"/>');
			});
			var formInput = jQuery(this).serialize();
			jQuery.post(jQuery(this).attr('action'),formInput, function(data){
				jQuery('form#contactForm').slideUp("fast", function() {				   
					jQuery(this).before('<h3>Thanks!</h3><p>Your email was successfully sent.</p>');
				});
			});
		}
		
		return false;
		
	});
	
	// Input Focus Settings
	jQuery('input[type="text"]').addClass("idle");
	jQuery('input[type="text"]').focus(function() {
		jQuery(this).removeClass("idleField").addClass("focus");
		if (this.value == this.defaultValue){ 
			this.value = '';
		}
		if(this.value != this.defaultValue){
			this.select();
		}
	});
	jQuery('input[type="text"]').blur(function() {
		jQuery(this).removeClass("focus").addClass("idle");
		if (jQuery.trim(this.value) == ''){
			this.value = (this.defaultValue ? this.defaultValue : '');
		}
	});
	
	jQuery('textarea').addClass("idle");
	jQuery('textarea').focus(function() {
		jQuery(this).removeClass("idleField").addClass("focus");
		if (this.value == this.defaultValue){ 
			this.value = '';
		}
		if(this.value != this.defaultValue){
			this.select();
		}
	});
	jQuery('textarea').blur(function() {
		jQuery(this).removeClass("focus").addClass("idle");
		if (jQuery.trim(this.value) == ''){
			this.value = (this.defaultValue ? this.defaultValue : '');
		}
	});
});