$(document).ready(function(){
	
	$('#contact-form label, p#mailing_status').hide();
	
	if(jQuery().innerfade) {
		$('#featured-gallery').innerfade({ 
			speed: 'slow', 
			timeout: 3000, 
			type: 'sequence', 
			containerheight: '255px' 
		});
	}

	if(jQuery().mosaic) {
		$('#portfolio .cover').mosaic({
			animation	:	'slide',	//fade or slide
		});
	}
	
	if(jQuery().fancybox) {
		$(".fancy").fancybox({
			openEffect			: 'elastic',
			closeEffect			: 'elastic',
			openOpacity			: true,
			helpers : {
				overlay : {
					opacity : 0.35,
				}
			}
		});
	}
	
	clearFields();
	formControl();
	
}); // END

function clearFields() {
	
	$('#contact-form input, #contact-form textarea').focus(function(){
			if ($(this).attr('rel') != 'cleared') {
				$(this).val('').attr('rel', 'cleared');
				$(this).css('color', '#000');
			}		
		});
		
	$('#contact-form input, #contact-form textarea').blur(function(){
			if($(this).val() == ""){	
				$(this).val(this.defaultValue).attr('rel', '');
			}		
		});
}

function formControl() {
	$('#contact-form').submit( function() {
		
		if (verifyErrors()) {

			$('#contact-form button').attr('disabled',true).text('Sending..');
		
			msgData = $(this).serialize();

			$.ajax({
				type: "POST",
				url: '/contact-us',
				data: msgData,
				dataType : 'json',
					success: function(data) { replaceContent(data); }
			});
		}
		return false;
	});
}

function verifyErrors() {
	
	var ready = true;
	
	$('.required_field').each(function(){
			if( ($(this).val() == "") || ( $(this).attr('rel') != 'cleared') ) {
				$(this).css('color', '#d6041f');
				ready = false;
			}
		});

	if( ! ready) {
		$('#mailing_status').text('Please fill out all boxes marked with an asterisk *').addClass('warning').fadeIn();
	};
	
	return ready;
}

function replaceContent(data)
{
	$('#mailing_status').removeClass('warning').removeClass('error').hide();
	
	if(data.errors) 
	{
		$('#contact-form button').text('Send Message').attr('disabled',false);
		$('#mailing_status').html('<h5>Oops! Some errors ocurred..</h5>'+data.errors).addClass('error');
	}
	else
	{
		$('#contact-form button').text('Sent!').removeClass('blue').addClass('green');
		$('#contact-form input,#contact-form textarea,#contact-form button').attr('disabled',true);
		$('#mailing_status').text('Thank you! Your message has been delivered.').addClass('success');
	}
	
	$('#mailing_status').fadeIn();
}
