// Fan club form validation and ajax submission
// As always, set your tabs to be 3 spaces for this to align neatly

function validateEmail(email){
	var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; 
	return emailPattern.test(email); 
} 

$(function() {
	$("form").bind("submit", function(event){ // bind this script to run upon submission of the form
		event.preventDefault(); // stop the submit button from submitting the form before we validate
		$('.error').removeClass('error');
		$('#oops').hide();
		
		var firstName = $('input#firstName').val();
		if (firstName == "") {
			$('input#firstName').addClass('error');
			$('input#firstName').focus();
			$('#panelForm #oops').show()
			$('#oops').html('<p>Please enter your first name.</p>');
			return false;
		}
		
		var lastName = $('input#lastName').val();
		if (lastName == "") {
			$('input#lastName').addClass('error');
			$('input#lastName').focus();
			$('div#oops').show()
			$('div#oops').html('<p>Please enter your last name.</p>');
			return false;
		}

		var email = $('input#email').val();
		if (!validateEmail(email)) {
			$('input#email').addClass('error');
			$('input#email').focus();
			$('div#oops').show()
			$('div#oops').html('<p>Please enter a valid email address.</p>');
			return false;
		}
		
		var username = $('input#username').val();
		if (username == "") {
			$('input#username').addClass('error');
			$('input#username').focus();
			$('div#oops').show()
			$('div#oops').html('<p>Please enter your username.</p>');
			return false;
		}
		
		var password = $('input#password').val();
		var passCopy = $('input#passVerify').val();
		if (password != passCopy) {
			$('input#password').addClass('error');
			$('input#passVerify').addClass('error');
			$('input#password').focus();
			$('div#oops').show()
			$('div#oops').html('<p>Entered passwords do not match.</p>');
			return false;
		}
		if (password.length <8) {
			$('input#password').addClass('error');
			$('input#password').focus();
			$('div#oops').show()
			$('div#oops').html('<p>Your password must be at least 8 characters long.</p>');
			return false;
		}
		
		var zip = $('input#zip').val();
		if (zip.length != 5) {
			$('input#zip').addClass('error');
			$('input#zip').focus();
			$('div#oops').show()
			$('div#oops').html('<p>Please enter a valid 5-digit zip code</p>');
			return false;
		}	
		
		var song = $('select#song').val();
		if (song == 0) {
			$('select#song').addClass('error');
			$('select#song').focus();
			$('div#oops').show()
			$('div#oops').html('<p>Please let us know your favorite Double Love song.</p>');
			return false;
		}

		var month = $('select#month').val();
		if (month == "0") {
			$('select#month').addClass('error');
			$('select#month').focus();
			$('#oops').show()
			$('#oops').html('<p>Please enter your date of birth.</p>');
			return false;
		}
		
		var day = $('select#day').val();
		if (day == "0") {
			$('select#day').addClass('error');
			$('select#day').focus();
			$('#oops').show()
			$('#oops').html('<p>Please enter your date of birth.</p>');
			return false;
		}
		
		var year = $('select#year').val();
		if (year == "0") {
			$('select#year').addClass('error');
			$('select#year').focus();
			$('#oops').show()
			$('#oops').html('<p>Please enter your date of birth.</p>');
			return false;
		}
		
		var myspace = $('input#myspace').val();
		var facebook = $('input#facebook').val();
		if (myspace == "") {myspace = "NULL";}
		if (facebook == "") {facebook = "NULL";}
		
		var newsletter = $('select#newsletter').val();

		// Assemble our data to be submitted
		dataString  = 'firstName=' + firstName;
		dataString += '&lastName=' + lastName;
		dataString += '&email=' 	+ email;
		dataString += '&username=' + username;
		dataString += '&password=' + password;
		dataString += '&zip='		+ zip;
		dataString += '&song='		+ song;
		dataString += '&dob=' 		+ month + '/' + day + '/' + year;
		dataString += '&myspace='	+ myspace;
		dataString += '&facebook='	+ facebook;
		dataString += '&newsletter' + newsletter;
		
		
		// If we haven't encounterd any errors, we can submit the data
		$.ajax({
			type: "POST",
			url: "/fans_process.php",
			data: dataString,
			success: function(resp) {
				$("div#panel").animate({height: "0px"});
				$("div.panelButton").toggle();
				$('p#hideMe').html(resp);
				$('p#hideMe').show();
				$('ul#benefits').remove();
			}			
		});
	});
});



