var bMessageTooLong = false;

function isEmail(str) 
{
	// are regular expressions supported?
	var supported = 0;
	if (window.RegExp) {
	var tempStr = "a";
	var tempReg = new RegExp(tempStr);
	if (tempReg.test(tempStr)) supported = 1;
	}
	if (!supported) 
	return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
	var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	return (!r1.test(str) && r2.test(str));
}

function chkForm( showAlerts )
{
	bError = false;
	
	/**
	 *	CHECK -- Make sure the user has entered their name.
	 *	========================================================================
	 */
	if( $('ext_n').value === "" )
	{
		bError = true;
		setElementClass('ext_n', 'Error');
	}
	else
	{
		removeElementClass('ext_n', 'Error');
	}
	
	/**
	 *	CHECK -- Make sure the user has entered their email address.
	 *	========================================================================
	 */
	if( !isEmail( $('ext_e').value ) )
	{
		bError = true;
		setElementClass('ext_e', 'Error');
	}
	else
	{
		removeElementClass('ext_e', 'Error');
	}
	
	/**
	 *	CHECK -- Make sure they user has entered their message.
	 *	========================================================================
	 */
	if( ($('ext_m').value === "") || (bMessageTooLong) )
	{
		bError = true;
		setElementClass('ext_m', 'Error');
	}
	else
	{
		removeElementClass('ext_m', 'Error');
	}
	
	/**
	 *	If there are errors on the page, alert the user to them.
	 *	========================================================================
	 */
	if( bError && showAlerts )
	{
		alert('Please fill in the fields marked in red.');
	}
	
	// Return the opposite of the error state for "true" for errors doesn't let the page go.
	return !bError;
}

function checkLenght()
{
	if( $('ext_m').value.length > 1000 )
	{
		if( !bMessageTooLong )
		{
			setElementClass('ext_m', 'Error');
			alert('Please limits your message to 1000 characters.');
		}

		bMessageTooLong = true;
	}
	else
	{
		if($('ext_m').value.length > 0) { removeElementClass('ext_m', 'Error'); }
		bMessageTooLong = false;
	}
}

function main()
{
	chkForm( false );
	
	connect('ext_m', 'onkeyup', checkLenght);
}

addLoadEvent(main);

