/*
 * Elvis Costello mailinglist functions
 * http://www.iwebsolutions.co.uk
 *
 * Copyright (c) 2010 iWeb Solutions
 *
 *
 * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
 * Revision: 6246
 */

if(typeof jQuery !== 'undefined') {
	jQuery(document).ready(function($) {
/**
		* @section Sign up for guitar room/tools and newsletter
		* --------------------------------------------------------------------------------------------------
		*/
		$('#tools-signup .button').live('click.signup', function(event){
                    
			var $signUp, $popup, $action,
				$nameInput, $emailInput, $captchaInput, $newsettlerInput,
				$insertError, $nameError, $emailError, $captchaError,
                                $warning;

                        $warning                = '<span class="warning">Invalid</span>';
			$signUp			= $(this).closest('form');
			$popup			= $('#popup');

			$nameInput		= $('#popup-name');
			$emailInput		= $('#popup-email-address');
			$captchaInput		= $('#recaptcha_response_field');

			$insertError		= $('#insert_error');
			$nameError		= $('#name_error');
			$emailError		= $('#email_error');
			$captchaError		= $('#captcha_error');

			// clear the errors
			$insertError.add($nameError).add($emailError).add($captchaError).hide();

                        // remove all span class="warning" elements
                        $('span.warning').remove();

			// validate and process form here
			if($.trim($nameInput.val()) == '') {
                                $nameError.addClass('validation');
                                $nameError.html('<br />Please enter your name');
				$nameError.show();
				$nameInput.focus();
                                $("#popup-name").after($warning);
				event.preventDefault();
				return false;
			}
                        $nameError.hide();
			if($.trim($emailInput.val()) == '') {
                                $emailError.addClass('validation');
                                $emailError.html('<br />Please enter your email address');
                                $emailError.show();
				$emailInput.focus();
                                $emailInput.after($warning);
				event.preventDefault();
				return false;
			}
                        $emailError.hide();

			if($.trim($captchaInput.val()) == '') {
                                $captchaError.addClass('validation');
                                $captchaError.html('Please enter the words below');
				$captchaError.show();
				$captchaInput.focus();
                                $captchaInput.after($warning);
				event.preventDefault();
				return false;
			}
                        $captchaError.hide();
                       
			// validation passed
			$.post(
                            '/include/ajaxFunctions.php',
                            $signUp.serialize(),
                            function(data){
				if(data.status === true){
					// now do mailing list subscribe
					if($('#popup-newsletter').is(':checked')) {
						$('#signup-action').val('mailing-list-subscribe');
						$.post('/include/ajaxFunctions.php', $signUp.serialize(),
                                                function(data) {

						}, 'json');
					}
					
                                        $('#popup').hide();
					$('#popup-finished').show();
				}
				else {
					if(data.field == 0) {
						$nameError.html('<br />' + data.msg);
						$nameError.show();
						$nameInput.focus();
					}
					else if(data.field == 1) {
						$emailError.html('<br />' + data.msg);
						$emailError.show();
						$emailInput.focus();
					}
					else if(data.field == 2) {
						$captchaError.html(data.msg);
						$captchaError.show();
					}
					else {
						$insertError.html(data.msg);
						$insertError.show();
					}
				}
			},
                        'json');
		});


                /**
		* @section Newsletter Sign up
		* --------------------------------------------------------------------------------------------------
		*/
		$('#newsletter-signup .button').live('click.signup', function(event){

			var $signUp, $popup, $action,
				$nameInput, $emailInput, $captchaInput, $newsettlerInput,
				$insertError, $nameError, $emailError, $captchaError,
                                $warning;

                        $warning                = '<span class="warning">Invalid</span>';
			$signUp			= $(this).closest('form');
			$popup			= $('#popup');

			$nameInput		= $('#popup-name');
			$emailInput		= $('#popup-email-address');
			$captchaInput		= $('#recaptcha_response_field');

			$insertError		= $('#insert_error');
			$nameError		= $('#name_error');
			$emailError		= $('#email_error');
			$captchaError		= $('#captcha_error');

			// clear the errors
			$insertError.add($nameError).add($emailError).add($captchaError).hide();

                        // remove all span class="warning" elements
                        $('span.warning').remove();

			// validate and process form here
			if($.trim($nameInput.val()) == '') {
                                $nameError.addClass('validation');
                                $nameError.html('<br />Please enter your name');
				$nameError.show();
				$nameInput.focus();
                                $("#popup-name").after($warning);
				event.preventDefault();
				return false;
			}
                        $nameError.hide();
			if($.trim($emailInput.val()) == '') {
                                $emailError.addClass('validation');
                                $emailError.html('<br />Please enter your email address');
                                $emailError.show();
				$emailInput.focus();
                                $emailInput.after($warning);
				event.preventDefault();
				return false;
			}
                        $emailError.hide();
                        
			if($.trim($captchaInput.val()) == '') {
                                $captchaError.addClass('validation');
                                $captchaError.html('Please enter the words below');
				$captchaError.show();
				$captchaInput.focus();
                                $captchaInput.after($warning);
				event.preventDefault();
				return false;
			}
                        $captchaError.hide();

			// validation passed
			$.post('/include/ajaxFunctions.php', $signUp.serialize(),
                        function(data){
				if(data.status === true){
                                        $('#popup').hide();
					$('#popup-finished').show();
				} else {
                                    
					if(data.field == 0) {
						$nameError.html('<br />' + data.msg);
						$nameError.show();
						$nameInput.focus();
                                                $nameInput.after($warning);
					}
					else if(data.field == 1) {
						$emailError.html('<br />' + data.msg);
						$emailError.show();
						$emailInput.focus();
                                                $emailError.after($warning);
					}
					else if(data.field == 2) {
						$captchaError.html(data.msg);
						$captchaError.show();
                                                $captchaInput.focus();
                                                $captchaInput.after($warning);
					}
					else {
						$insertError.html(data.msg);
						$insertError.show();
					}
				}
			},
                        'json');
		});


		/**
		* @section Mailing List Unsubscribe
		* --------------------------------------------------------------------------------------------------
		*/
		$('#email_error').hide();
		$('#ml-unsubscribe .submit').live('click.unsubscribe', function(event){
			var $unsubscribe, $emailInput, $emailError;

			$unsubscribe		= $('#ml-unsubscribe');
			$emailInput			= $('#email-address');
			$emailError			= $('#email_error');

			// clear the errors
			$emailError.hide();

			// validate and process form here
			if($.trim($emailInput.val()) === '') {
				$emailError.show();
				$emailInput.focus();
				event.preventDefault();
				return false;
			}

			// validation passed
			$.post('/include/ajaxFunctions.php', $unsubscribe.find('form').serialize(), function(data) {
				data = eval('(' + data +')');
				if(data.status === true) {
					$unsubscribe.html('<p>Your email address has been removed from out mailing list.</p>');
				}
				else {
					$emailError.html('<br />' + data.msg);
					$emailError.show();
				}
			});
		});

    });
}