	/*

		Tests weither the given string is a valid email address.
		This method returns true if the given string is a valid email
		address, false otherwise.

		str - a string to validate
	*/
   function isValidEmail( str ) 
   {
   	var emailstring = str;
   	var ampIndex = emailstring.indexOf( "@" );
   	var afterAmp = emailstring.substring( ( ampIndex + 1 ), emailstring.length );
   	// find a dot in the portion of the string after the ampersand only
   	var dotIndex = afterAmp.indexOf( "." );
   	// determine dot position in entire string (not just after amp portion)
   	dotIndex = dotIndex + ampIndex + 1;
   	// afterAmp will be portion of string from ampersand to dot
   	afterAmp = emailstring.substring( ( ampIndex + 1 ), dotIndex );
   	// afterDot will be portion of string from dot to end of string
   	var afterDot = emailstring.substring( (dotIndex + 1), emailstring.length );
   	var beforeAmp = emailstring.substring(0,(ampIndex));
   	var email_regex = /^\w(?:\w|-|\.(?!\.|@))*@\w(?:\w|-|\.(?!\.))*\.\w{2,3}/ 
   	// index of -1 means "not found"
   	if ( ( emailstring.indexOf( "@" ) != "-1" ) 
   		&& ( emailstring.length > 5) 
   		&& ( afterAmp.length > 0 ) 
   		&& ( beforeAmp.length > 1 ) 
   		&& ( afterDot.length > 1 ) 
   		&& ( email_regex.test( emailstring ) ) ) 
   	{
   		  return true;
   	} 
   	else
   	{ 
   		return false;
   	}


/*
      var s = new String( str ).replace( /^(\s*)([\W\w]*)(\b\s*$)/, '$2' ); // remove trailing spaces
      var regExpObj = /^\w(?:\w|\.(?!\.|@))*@\w(\w|\.(?!\.))*\.\w{2,3}/i
      return regExpObj.test( s );
*/

   }// end validateEmailAddress

	/*
		Tests weither the given string is a valid Canadian postal code.
		This method returns true if the given string is a valid Canadian
		postal code ( e.g.: A1A1A1, A1A-1A1 or A1A 1A1), false otherwise.

		str - a string to validate

	*/
	function isValidPostalCodeCAN( str )
	{
		var regExpObj = /^[A-Z]\d{1}[A-Z][\-|\s]?\d{1}[A-Z]\d{1}$/i;
		return regExpObj.test( str );
	}// end isValidPostalCodeCAN

