	function trim_js( strSrc )
	{
		// this function returns a string which has been left and right trimmed.
		var tmpStr = new String();

		tmpStr = ltrim_js( strSrc );
		tmpStr = rtrim_js( tmpStr );
		return tmpStr;
	}

	function strreverse_js( strSrc )
	{
		var intI = new Number();
		var strTmp = new String();

		intI = strSrc.length - 1;
		strTmp = "";
		while ( intI >= 0 )
		{
			strTmp += strSrc.charAt( intI );
			intI--;
		}
		return strTmp;
	}
	
	function ltrim_js( strSrc )
	{
		var tStr = new String();
		var i = new Number();
		var blnFoundChar = new Boolean();

		i = 0;
		tStr = '';
		blnFoundChar = false;

		while ( i < strSrc.length )
		{
			if ( blnFoundChar == false )
			{
				if ( strSrc.charAt( i ) != ' ' )
				{
					tStr += strSrc.charAt( i );
					blnFoundChar = true;
				}
			}
			else
			{
				tStr += strSrc.charAt( i );
			}
			i++;
		}
		return tStr;
	}		

	function rtrim_js( strSrc )
	{
		var tStr = new String();
		var i = new Number();
		var blnFoundChar = new Boolean();

		i = strSrc.length - 1;
		tStr = '';
		blnFoundChar = false;

		while ( i >= 0 )
		{
			if ( blnFoundChar == false )
			{
				if ( strSrc.charAt( i ) != ' ' )
				{
					tStr += strSrc.charAt( i );
					blnFoundChar = true;
				}
			}
			else
			{
				tStr += strSrc.charAt( i );
			}
			i--;
		}
		tStr = strreverse_js( tStr );
		return tStr;
	}			

function isBlank_js( objControl, strFailMsg )
{	
// this function accepts a reference to the html input field ( type=text ) and a message to display
// it trims the input value and if it returns an empty string, the function will return true.
		var blnRet = new Boolean();
		var objTmp = new Object();
		blnRet = false;
		if ( trim_js( objControl.value ) == '' )
		{
			if ( strFailMsg != '' )
			{
				objTmp = objControl.form;	// get a ref to the form object
				alert( strFailMsg );
				//eval( "document." + objTmp.name + "." + objControl.name + ".focus()" );
				objControl.focus();
			}
			blnRet = true;
		}
		return blnRet;
	}			



function validEmail(form,error) {
  var field = form; // email field
  var str = field.value; // email string
  var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
  var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
	// valid
  if (!reg1.test(str) && reg2.test(str)) { // if syntax is valid
    ///alert("Thank your for your feedback."); // this is optional
    return true;
  }
  alert(error); // this is also optional
  field.focus();
  field.select();
  return false;
}
