function getErrMsg(type)
{	var prefix		= '<span class="wpcf7-not-valid-tip">',
		suffix		= '</span>',
		errEmail 	= 'Mislukt: vul een geldig e-mailadres in.',
		errEmpty	= 'Veld is niet ingevuld.',
		errDouble 	= 'Dubbele reactie ontdekt: het lijkt erop dat u dit al heeft gezegd!';
		
	switch (type)
	{	case 'double':
			return prefix + errDouble + suffix;
			break;
		case 'email':
			return prefix + errEmail + suffix;
			break;
		case 'empty':
			return prefix + errEmpty + suffix;
			break;
		default:
			return 'Reactie mislukt: er is een fout opgetreden.';
	}
}

function isValid(email) 
{	var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
	return (filter.test(email)) ? true : false ;
}

function setCommentValidation()
{	if ($('#comment').length)
	{	var $author			= $('#author'),
			$email			= $('#email'),
			$txt			= $('#comment'),
			$btn			= $('#submit');
			
		$btn.click(function()
		{	if ( $(this).hasClass('disabled') )
			{	var msg = getErrMsg('double');
				$txt.after(msg).next().delay(1500).fadeOut('slow', function(){ $(this).remove(); });
				return false;
			} else if ( $author.length && $author.val() == '')
			{	var msg = getErrMsg('empty');
				$author.css('border-color','#F00').after(msg).next().delay(1500).fadeOut('slow', function(){ $(this).remove(); });
				return false;
			} else if ( $email.length && $email.val() == '')
			{	var msg = getErrMsg('empty');
				$email.css('border-color','#F00').after(msg).next().delay(1500).fadeOut('slow', function(){ $(this).remove(); });
				return false;
			} else if ( $email.length && !isValid($email.val()) )
			{	var msg = getErrMsg('email');
				$email.css('border-color','#F00').after(msg).next().delay(1500).fadeOut('slow', function(){ $(this).remove(); });
				return false;
			} else if ( $txt.val() == '' )
			{	var msg = getErrMsg('empty');
				$txt.css('border-color','#F00').after(msg).next().delay(1500).fadeOut('slow', function(){ $(this).remove(); });
				return false;
			} else
			{	$btn.addClass('disabled');
				setTimeout(function(){ $btn.removeClass('disabled'); },3000);
			}
		});
		
		$author.focus(function(){ $(this).css('border-color','#39C'); });
		$email.focus(function(){ $(this).css('border-color','#39C'); });
		$txt.focus(function(){ $(this).css('border-color','#39C'); });
	}	
}

function getTweetCount()
{	jQuery.getJSON(
		'ht'+'tp://urls.api.twitter.com/1/urls/count.json?url='+location.href+'&callback=?',
		function (data) {
			// do something to do what you want with data.count here
			// console.log(data.count);
		}
	);
}

function setNewsletter()
{	$('#signup').submit(function()
	{	// update user interface
		$('#response').html('Een moment aub ...');
		
		// Prepare query string and send AJAX request
		$.ajax({
			url: 'http://' + location.host + '/wp-content/themes/hondentherapie/inc/store-address.php',
			data: 'ajax=true&email=' + escape($('#email').val()),
			success: function(msg) {
				$('#response').html(msg);
				$('#email').val('');
			}
		});
		return false;
	});
}

// When page is loaded, call the magic
$(function()
{
	// Comments form
	setCommentValidation();
	
	// Show twitter count
	getTweetCount();
	
	// MailChimp subscription
	setNewsletter();
});
