$(document).ready(function(e) {
	$('#things-you-bought').snappy({
		effect: 'fade',
		autoPlay: true,
		noNav: true,
		interval: 3500,
		speed: 1500
	});
	
	function PlaceholderText( object, value ) {
		var object = object;
		var value = value;
		
		object.bind('focus', function( e ) {
			if ( value === object.val() ) {
				object.val('')
			}
		});
		
		object.bind('blur', function( e ) {
			if ( '' === object.val() ) {
				object.val( value )
			}
		});
	}
	
	function validEmail( address ){
		reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;		
		return reg.test( address );
	}
	
	var titleField = $('#song-title'),
		artistField = $('#artist'),
		nameField = $('#invite-name'),
		inviteEmailField = $('#invite-email'),
		friendField = $('#invite-friend-email'),
		contactEmailField = $('#contact-email'),
		messageField = $('#contact-message'),
		requestSubmit = $('#request-submit'),
		inviteSubmit = $('#invite-submit'),
		contactSubmit = $('#contact-submit'),
		titlePlaceholder = new PlaceholderText( titleField, 'Song Title' ),
		artistPlaceholder = new PlaceholderText( artistField, 'Artist' ),
		namePlaceholder = new PlaceholderText( nameField, 'Your Name' )
		inviteEmailPlaceholder = new PlaceholderText( inviteEmailField, 'Your Email' ),
		friendEmailPlaceholder = new PlaceholderText( friendField, 'Your Friend\'s Email' ),
		contactEmailPlaceholder = new PlaceholderText( contactEmailField, 'Your Email' ),
		messagePlaceholder = new PlaceholderText( messageField, 'Message' );
		
	requestSubmit.bind('click', function( e ) {
		e.preventDefault();
		
		if ( 'Song Title' !== titleField.val() && 'Artist' !== artistField.val() ) {
			$.ajax({
				url: 'form.php',
				data: 'form=request&title=' + titleField.val() + '&artist=' + artistField.val(),
				type: 'POST',
				success: function(msg){
					if (msg === 'success') {
						$('.request-form').fadeTo(500, .5);
						$('.request-form').find('[type=submit]').fadeTo(500, 0);
						$('.request-form').find('[type=submit]').css('cursor', 'default');
						$('.request-form').find('input').each(function() {
							$(this).prop('disabled', true);
						});
					} else {
						// failed
					}
				}
			});
		}
	});
	
	inviteSubmit.bind('click', function( e ) {
		e.preventDefault();
		
		if ( 'Your Name' !== nameField.val() && validEmail( inviteEmailField.val() ) && validEmail( friendField.val() ) ) {
			$.ajax({
				url: 'form.php',
				data: 'form=invite&name=' + nameField.val() + '&inviteEmail=' + inviteEmailField.val() + '&friend=' + friendField.val(),
				type: 'POST',
				success: function(msg){
					if (msg === 'success') {
						$('.invite-form').fadeTo(500, .5);
						$('.invite-form').find('[type=submit]').fadeTo(500, 0);
						$('.invite-form').find('[type=submit]').css('cursor', 'default');
						$('.invite-form').find('input').each(function() {
							$(this).prop('disabled', true);
						});
					} else {
						// failed
					}
				}
			});
		}	
	});
	
	contactSubmit.bind('click', function( e ) {
		e.preventDefault();
		
		if ( 'Message' !== messageField.val() && validEmail( contactEmailField.val() ) ) {
			$.ajax({
				url: 'form.php',
				data: 'form=contact&contactEmail=' + contactEmailField.val() + '&message=' + messageField.val(),
				type: 'POST',
				success: function(msg){
					if (msg === 'success') {
						$('.contact-form').fadeTo(500, .5);
						$('.contact-form').find('[type=submit]').fadeTo(500, 0);
						$('.contact-form').find('[type=submit]').css('cursor', 'default');
						$('.contact-form').find('input').each(function() {
							$(this).prop('disabled', true);
						});
					} else {
						// failed
					}
				}
			});
		}	
	});
});
