/*

Site:				storymatters.com
File:				home_js.js
Author:				Josh Bryant, Journey Group, Inc
Description:		For use as a JavaScript file on the home page.


Notes: 				Specifically, this JavaScript wires the email signup.

/////////////////////////////////////////////////////////////////////*/


function attributeSupport(element,attribute) {
	var temp = document.createElement(element);
	if (attribute in temp) {
		return true;
	} else {
		return false;
	}
}


$(document).ready(function () {
	
	if(!attributeSupport('input','placeholder')) {
		
		var emailPrompt = "Your email, please.",
			namePrompt = "Your name, if you like.";
		
		$('input#sign-up-email').css({'color':'#a0a0a0'}).val(emailPrompt).focus(function() {
			if($(this).parent('form').hasClass('disabled')) {$(this).blur();} else if($(this).val() == emailPrompt) {$(this).val('').css({'color':'#333333'});
			}
		}).blur(function() {
			if($(this).val() == '') {$(this).css({'color':'#a0a0a0'}).val(emailPrompt); }
		});
		
		$('input#sign-up-name').css({'color':'#a0a0a0'}).val(namePrompt).focus(function() {
			if($(this).parent('form').hasClass('disabled')) {$(this).blur();} else if($(this).val() == namePrompt) {$(this).val('').css({'color':'#333333'});
			}
		}).blur(function() {
			if($(this).val() == '') {$(this).css({'color':'#a0a0a0'}).val(namePrompt); }
		});

		
	}
	
	$('#email-sign-up input').focus(function() {$(this).removeClass('error');});
	
	/* Click to sign up */
	$('#sign-up').click(function(ev) {
		ev.preventDefault();
		
		if(!$(this).parent('form').hasClass('disabled')) {
			$('form#subform').addClass('disabled').children('input').attr('disabled','disabled');
			
			var badEmail = false,
				userFeedback = "",
				pEmail = $('#sign-up-email').val(),
				pName  = $('#sign-up-name').val();
				
				if(pName == namePrompt) pName = '';
				
			var emailFilter=/^.+@.+\..{2,6}$/,
				illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
			if (pEmail == '' || pEmail == emailPrompt) {
				badEmail = true;
				userFeedback = "Try that again, being sure to enter an email address this time.";
			} else if (!(emailFilter.test(pEmail))) {
				badEmail = true;
				userFeedback = "Not sure what you entered, but it sure isn't an email address.";
			} else if (pEmail.match(illegalChars)) {
				badEmail = true;
				userFeedback = "Check that again. Looks like you included illegal characters.";
			}
			
			if($('#email-sign-up p.user-feedback').length <= 0) {
				$('#email-sign-up form').before('<p class="user-feedback"></p>');
			}
		
			if(!badEmail) {
				
				userFeedback = "Please wait. Subscribing now . . .";
				$('#email-sign-up p.user-feedback').removeClass('error-msg').html(userFeedback);
				
				var dataString = 'pEmail='+pEmail;
					dataString += '&pName='+pName;
				
				// attempt to process form data
				$.ajax({
					type: 'POST', 
					url: 'http://storymatters.com/_jgCustom/assets/scripts/signup.php',
					data: dataString, 
					success: function(msg) {
						if (msg == '0') { // Signup success
							userFeedback = "Thanks for subscribing!";
						} else { // Email failure
							userFeedback = "So sorry. There was a technical error. Try back later.";
							$('#email-sign-up p.user-feedback').addClass('error-msg');
						}
	
						$('#email-sign-up p.user-feedback').html(userFeedback);
					}
				});
			
				
			} else {
				/* ERROR MESSAGE: Bad Email */
				$('#sign-up-email').addClass('error');
				$('#email-sign-up p.user-feedback').addClass('error-msg').html(userFeedback);
				
				$('form#subform').removeClass('disabled').children('input').removeAttr('disabled');
			}
		}
	});
	
	
	
});
