jQuery(document).ready(function($)
{

// ##### HANDLERS ######

	$('#frm_contact').bind( 'submit', contactHandler);
	$('#f_message').bind( 'keyup', textCounter);
	$('#f_message').bind( 'keydown', textCounter);


/* CONTACT FORM */
	function textCounter( e )
	{
		var maxlimit = 500;

		if ( $(this).val().length > maxlimit )
		{ // if too long...trim it!
			$(this).val( $(this).val().substring(0, maxlimit) );
		}
		else
		{ // otherwise, update 'characters left' counter
			$('#f_message_len').val( maxlimit - $(this).val().length );
		}
	}

	function validate_email( elem, alerttxt )
	{
		var apos = elem.val().indexOf("@");
		var dotpos = elem.val().lastIndexOf(".");

		if (apos < 1 || dotpos - apos < 2)
		{
			alert( alerttxt );
			return false;
		}
		else
		{
			return true;
		}
	}

	function contactHandler( e )
	{
		if ( $('#f_name').val() == "" )
		{
			alert( "Please enter your name." );
			$('#f_name').focus();

			return false ;
		}

		if ( validate_email( $('#f_mail'), "Please enter a valid e-mail address") == false )
		{
			$('#f_mail').focus();

			return false;
		}

		if ( $('#f_message').val() == "" )
		{
			alert( "Please enter your message." );
			$('#f_message').focus();

			return false ;
		}

		return true ;
	}

});
