function test(toTest) {
	Response.Write("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<BR>\n\n\n");
	Response.Write("<B>original:</B><BR>\n\n\n");
	Response.Write("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<BR>\n\n\n");
	Response.Write("<PRE STYLE=\"font-size:10pt;background-color:#FFFFEE;\">");
	Response.Write(Server.HTMLEncode( toTest ) + "</PRE>\n\n\n");
	Response.Write("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<BR>\n\n\n");
	Response.Write("<B>RemoveHTML() returns:</B><BR>\n\n\n");
	Response.Write("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<BR>\n\n\n");
	Response.Write("<PRE STYLE=\"font-size:10pt;background-color:#FFFFEE;\">");
	Response.Write(Server.HTMLEncode( toTest.RemoveHTML() ) + "</PRE>\n\n\n");
	Response.Write("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<BR>\n\n\n");
	Response.Write("<B>RemoveASP() returns:</B><BR>\n\n\n");
	Response.Write("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<BR>\n\n\n");
	Response.Write("<PRE STYLE=\"font-size:10pt;background-color:#FFFFEE;\">");
	Response.Write(Server.HTMLEncode( toTest.RemoveASP() ) + "</PRE>\n\n\n");
	Response.Write("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<BR>\n\n\n");
	Response.Write("<B>ReturnASP() returns:</B><BR>\n\n\n");
	Response.Write("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<BR>\n\n\n");
	Response.Write("<PRE STYLE=\"font-size:10pt;background-color:#FFFFEE;\">");
	Response.Write(Server.HTMLEncode( toTest.ReturnASP() ) + "</PRE>\n\n\n");
	Response.Write("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<BR>\n\n\n");
	Response.Write("<B>RemoveHTMLTag(\"Body\") returns:</B><BR>\n\n\n");
	Response.Write("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<BR>\n\n\n");
	Response.Write("<PRE STYLE=\"font-size:10pt;background-color:#FFFFEE;\">");
	Response.Write(Server.HTMLEncode( toTest.RemoveHTMLTag("BODY") ) + "</PRE>\n\n\n");
	Response.Write("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<BR>\n\n\n");
	Response.Write("<B>ExtractTitle() returns:</B><BR>\n\n\n");
	Response.Write("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<BR>\n\n\n");
	Response.Write("<PRE STYLE=\"font-size:10pt;background-color:#FFFFEE;\">");
	Response.Write(Server.HTMLEncode( toTest.ExtractTitle() ) + "</PRE>\n\n\n");
	Response.Write("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<BR>\n\n\n");
	Response.Write("<B>ExtractBody() returns:</B><BR>\n\n\n");
	Response.Write("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<BR>\n\n\n");
	Response.Write("<PRE STYLE=\"font-size:10pt;background-color:#FFFFEE;\">");
	Response.Write(Server.HTMLEncode( toTest.ExtractBody() ) + "</PRE>\n\n\n");
	Response.Write("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<BR>\n\n\n");
	Response.Write("<B>LinkIncludes() returns:</B><BR>\n\n\n");
	Response.Write("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<BR>\n\n\n");
	Response.Write("<PRE STYLE=\"font-size:10pt;background-color:#FFFFEE;\">");
	toTest = Server.HTMLEncode(toTest);
	Response.Write( toTest.LinkIncludes() + "</PRE>\n\n\n");
	return;
}

function IsEmailAddress(email) {
	var s = "", re;
	//instância de email.
	s = "" + email + "";
	//testa tamanho: remove os espeços e testa o comprimento
	//x@x.xx é o mais pequeno endereço, isto é, 6 caracteres. Dessa maneira,
	//o comprimento tem que ser maior que 5 para continuar.
	s = s.replace(/^\s*|\s*$/g, "");
	if (s == "undefined" || s.length < 6) {return false;}
	//testa os espaços antes da sintaxe. Espaços são ilegais num email.
	//Se um espaço é encontrado, o email é inválido.
	re = /\s+/g
	if (re.test(s)) {return false;}
	//valida a sintaxe do endereço de email através de expressões regulares
	re = /^(\w|[^_]\.|[\-])+((\@){1}([^_]))(([a-z]|[\d]|[\-]|\.)+|([^_]\.[^_])*)+\.[a-z]{2,6}$/i
	if (!re.test(s)) {return false;}
	//valida o dominio do email tendo em conta todas as TLDs conhecidas até Maio de 2001
	re = /\.(a[c-gil-oq-uwz]|b[a-bd-jm-or-tvwyz]|c[acdf-ik-orsuvx-z]|d[ejkmoz]|e[ceghr-u]|f[i-kmorx]|g[abd-ilmnp-uwy]|h[kmnrtu]|i[delm-oq-t]|j[emop]|k[eg-imnprwyz]|l[a-cikr-vy]|m[acdghk-z]|n[ace-giloprtuz]|om|p[ae-hk-nrtwy]|qa|r[eouw]|s[a-eg-ort-vyz]|t[cdf-hjkm-prtvwz]|u[agkmsyz]|v[aceginu]|w[fs]|y[etu]|z[admrw]|com|edu|net|org|mil|gov|biz|pro|aero|coop|info|name|museum)$/i
	if (!re.test(s)) {return false;}
 	//elimina o email caso tenha ..
	re = /\.\./
	if (re.test(s)) {return false;}
	//elimina o email caso tenha @@
	re = /\@\@/
	return(!re.test(s));
}

