String.prototype.trim=trim;
function trim()
{	return this.replace(/^\s*|\s*$/gi,""); }

String.prototype.supertrim=supertrim;
function supertrim()
{	return this.replace(/^\s*|\s*$/gi,"").replace(/\s{2,}/gi," "); }

function filtra_entrada(evento,filtro)
{	var tecla;
	var caractertecla;
	if(window.event)
	{	tecla=window.event.keyCode; }
	else
	{	if(evento)
		{	tecla=evento.which; }
		else
		{	return true; }
	}
	caractertecla=String.fromCharCode(tecla);
	return ((tecla==null) || (tecla==0) || (tecla==8) || (tecla==9) || (tecla==13) || (tecla==27) || ((filtro.indexOf(caractertecla)>-1)));
}

function inteiros(evento,positivo_negativo)
{	if(positivo_negativo)
	{	return filtra_entrada(evento,"0123456789+-"); }
	else
	{	return filtra_entrada(evento,"0123456789"); }
}

function flutuantes(evento,positivo_negativo)
{	if(positivo_negativo)
	{	return filtra_entrada(evento,"0123456789.+-"); }
	else
	{	return filtra_entrada(evento,"0123456789."); }
}

function datas(objeto,evento)
{	if(!filtra_entrada(evento,"0123456789"))
	{	return false; }
	else
	{	if(((objeto.value.length==2) || (objeto.value.length==5)) && (!filtra_entrada(evento,String.fromCharCode(8))))
		{	objeto.value=objeto.value+"/"; }
	}
}

function tempo(objeto,evento)
{	return filtra_entrada(evento,"0123456789:"); }

function checa_data(data,limitar)
{	var testa_data=/^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2}$/;
	if(!testa_data.test(data))
	{	return false; }
	var parte=data.split("/");
	if(parte[0].substr(0,1)=="0")
	{	parte[0]=parte[0].substr(1); }
	if(parte[1].substr(0,1)=="0")
	{	parte[1]=parte[1].substr(1); }
	var dia=parseInt(parte[0]);
	var mes=parseInt(parte[1]);
	var ano=parseInt(parte[2]);
	if(((ano/4)==0) && (mes==2) && (dia>28))
	{	return false; }
	if(limitar!="")
	{	data=new Date(ano,mes-1,dia);
		hoje=new Date();
		hoje=new Date(hoje.getFullYear(),hoje.getMonth(),hoje.getDate());
		data=data.getTime();
		hoje=hoje.getTime();
		return eval("data"+limitar+"hoje");
	}
	return true;
}

function checa_email(endereco)
{	var testa_email=/^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	return testa_email.test(endereco);
}

function tempo_unico()
{ data=new Date();
	var ano=data.getFullYear();
	var mes=data.getMonth();
	mes=((mes<10)?"0":"")+mes;
	var dia=data.getDate();
	dia=((dia<10)?"0":"")+dia;
	var hora=data.getHours();
	hora=((hora<10)?"0":"")+hora;
	var minuto=data.getMinutes();
	minuto=((minuto<10)?"0":"")+minuto;
	var segundo=data.getSeconds();
	segundo=((segundo<10)?"0":"")+segundo;
	var milisegundo=data.getMilliseconds();
	milisegundo=((milisegundo<100)?"00":((milisegundo<10)?"0":""))+milisegundo;
	return ano+mes+dia+hora+minuto+segundo+milisegundo;
}

function aleatorio()
{ return ((new Date()).getTime() % 2147483648)+Math.random(); }

function resgata_objeto(raiz,id)
{	if(raiz.getElementById)
	{	return raiz.getElementById(id); }
	else
	{	if(raiz.all)
		{	return raiz.all[id]; }
		else
		{	if(raiz.layers)
			{	if(raiz.layers[name])
				{	return raiz.layers[id]; }
				else
				{	return raiz.layers.testP.layers[id]; }
			}
		}
	}
}

