/**
* Valida apenas números (digito)
*/
function validaDigito(pStr)
{
	if (pStr == null || pStr == "")
	{
		return true
	}

	var reDigits = /^\d+$/;
	return reDigits.test(pStr)
}


/**
*  Valida números decimais (ponto flutuante)
*/
function validaDecimal(pStr)
{
	if (pStr == null || pStr == "")
	{
		return true
	}

	var pLang = 'Pt'
	var reDecimalPt = /^[+-]?((\d+|\d{1,3}(\.\d{3})+)(\,\d*)?|\,\d+)$/;
	//var reDecimalEn = /^[+-]?((\d+|\d{1,3}(\,\d{3})+)(\.\d*)?|\.\d+)$/; //validação em inglês  

	charDec = ( pLang == "Pt"? ",": "." );
	return reDecimalPt.test(pStr)

	//conta quantidade de decimais
	//pos = pStr.indexOf(charDec);
	//decs = pos == -1? 0: pStr.length - pos - 1;
}


/**
*  Valida moeda, exigindo que sejam digitas pontos e a vírgula. Apenas duas casas decimais
*/
function validaMoeda(pStr)
{
	if (pStr == null || pStr == "")
	{
		return true
	}

	var reMoeda = /^\d{1,3}(\.\d{3})*\,\d{2}$/;
	return reMoeda.test(pStr)
}


/**
* Valida endereco de email
*/
function validaEmail(pStr)
{
	if (pStr == null || pStr == "")
	{
		return true
	}

	var reEmail = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	//var reEmail = /^[\w-]+(\.[\w-]+)*@(([\w-]{2,63}\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	//var reEmail = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;

	return reEmail.test(pStr)
}


/**
* Valida data, no formato (dd/mm/yyyy)
*/
function validaData(pStr)
{
	if (pStr == null || pStr == "")
	{
		return true
	}

	//var reDate1 = /^\d{1,2}\/\d{1,2}\/\d{1,4}$/;
	//var reDate2 = /^[0-3]?\d\/[01]?\d\/(\d{2}|\d{4})$/;
	//var reDate3 = /^(0?[1-9]|[12]\d|3[01])\/(0?[1-9]|1[0-2])\/(19|20)?\d{2}$/;
	//var reDate4 = /^((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}$/;
	//eval("reDate = reDate" + pFmt);
	var reDate = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;

	return reDate.test(pStr)
}