// Verifica se uma expressão esta vazia ou não //

function isEmpty(vWord)
	
	{ 

	if (vWord == null)
		{
		return(false);
		}

	var vInd = 0; 
	var vRet = true; 
	  
	while (vInd < vWord.length)
		{ 
		if (vWord.substr(vInd,1) != ' ')
			{
			vRet = false;
			break;
			}
		vInd = vInd + 1;
		}
   
	return (vRet);
	
	}
	
// Verifica se uma expressão é numérica ou não //

function isNumeric(vNumber)

	{

	if (vNumber == null)
		{
		return(false);
		}
	
	if (typeof(vNumber) == 'number')
		{
		vNumber.toString();
		}
	
	var vInd = 0;
	var vRet = true;
	var vArr = new Array('0','1','2','3','4','5','6','7','8','9','.',' ',',','-')
	var vTst = 0;
	var vFnd = false;
	
	while (vInd < vNumber.length)
		{
		vTst = 0;
		vFnd = false;
		while (vTst <= 13)
			{
			if (vNumber.substr(vInd,1) == vArr[vTst])
				{
				vFnd = true;
				break;
				}
			vTst = vTst + 1;
			}
		if (vFnd == false)
			{
			vRet = false;
			break;
			}
		vInd = vInd + 1;
		} 
		
	return(vRet);

	}

// Verifica se uma expressão é numérica ou não //

function isNumericInt(vNumber)

	{

	if (vNumber == null)
		{
		return(false);
		}
	
	if (typeof(vNumber) == 'number')
		{
		vNumber.toString();
		}
	
	var vInd = 0;
	var vRet = true;
	var vArr = new Array('0','1','2','3','4','5','6','7','8','9')
	var vTst = 0;
	var vFnd = false;
	
	while (vInd < vNumber.length)
		{
		vTst = 0;
		vFnd = false;
		while (vTst <= 10)
			{
			if (vNumber.substr(vInd,1) == vArr[vTst])
				{
				vFnd = true;
				break;
				}
			vTst = vTst + 1;
			}
		if (vFnd == false)
			{
			vRet = false;
			break;
			}
		vInd = vInd + 1;
		} 
		
	return(vRet);

	}

// Verifica se uma expressão é data ou não //

function isDate(vDate)

	{
	
	if (vDate == null || vDate.length != 10)
		{
		return(false);
		}
	
	var vInd = 0;
	var vRet = true;
	var vArr = new Array('0','1','2','3','4','5','6','7','8','9','/',' ')
	var vTst = 0;
	var vFnd = false;
	
	var vDia = null;
	var vMes = null;
	var vAno = null;
	var vBr1 = null;
	var vBr2 = null;
	
	while (vInd < vDate.length)
		{
		vTst = 0;
		vFnd = false;
		while (vTst <= 10)
			{
			if (vDate.substr(vInd,1) == vArr[vTst])
				{
				vFnd = true;
				break;
				}
			vTst = vTst + 1;
			}
		if (vFnd == false)
			{
			vRet = false;
			break;
			}
		vInd = vInd + 1;
		} 

	if (!vRet)
		{
		return(vRet);
		}

	vDia = vDate.substr(0,2);
	vBr1 = vDate.substr(2,1);
	vMes = vDate.substr(3,2);
	vBr2 = vDate.substr(5,1);
	vAno = vDate.substr(6,4);

	if (vBr1 != '/' || vBr2 != '/')
		{
		vRet = false;
		}

	if (vMes >= '13')
		{
		vRet = false;
		}
	
	if (vMes == '01' || vMes == '03' || vMes == '05' || vMes == '07' || vMes == '08' || vMes == '10' || vMes == '12')
		{
		if (vDia <= '00' || vDia >= '32')
			{
			vRet = false;
			}
		}
		
	if (vMes == '04' || vMes == '06' || vMes == '09' || vMes == '11')
		{
		if (vDia <= '00' || vDia >= '31')
			{
			vRet = false;
			}
		}
	
	if (vMes == '02')
		{
		if (vDia <= '00' || vDia >= '29')
			{
			vRet = false;
			}
		}
	
	return(vRet);

	}

// Verifica se uma determinada data é menor que a atual mais uma determinada quantidade de dias //

function CompareDate(vDatComp,vQtdDias)
	{
	
	var vDatAtua = new Date();

	vDatAtua.setUTCDate(vDatAtua.getUTCDate() + vQtdDias);
	
	var vDiaAtua = new String();
	var vMesAtua = new String();
	var vAnoAtua = new String();
	var vDatStrg = new String();
	
	vDiaAtua = vDatAtua.getUTCDate();
	vMesAtua = vDatAtua.getUTCMonth() + 1;
	vAnoAtua = vDatAtua.getUTCFullYear();
	
	vDiaAtua = vDiaAtua.toString();
	vMesAtua = vMesAtua.toString();
	vAnoAtua = vAnoAtua.toString();
	
	if (vDiaAtua.length != 2){vDiaAtua = '0' + vDiaAtua;}
	if (vMesAtua.length != 2){vMesAtua = '0' + vMesAtua;}

	vDatStrg = vAnoAtua + vMesAtua + vDiaAtua;
	vDatComp = vDatComp.substr(6,4) + vDatComp.substr(3,2) + vDatComp.substr(0,2);	

	if (vQtdDias < 0)
		{
		if (vDatComp > vDatStrg)
			{
			return(false);
			}
		else
			{
			return(true);
			}
		}
	else
		{
		if (vDatComp < vDatStrg)
			{
			return(false);
			}
		else
			{
			return(true);
			}
		}

	}

// Verifica se uma string possue espaços entre caracteres //

function HaveSpaces(vWord)
	
	{ 

	if (vWord == null)
		{
		return(false);
		}

	var vInd = 0; 
	var vRet = false; 
	var vSpc = false;
	  
	while (vInd < vWord.length)
		{ 
		if (vWord.substr(vInd,1) == ' ')
			{
			vSpc = true;
			}
		else
			{
			if (vSpc == true)
				{
				vRet = true;
				break;
				}
			}
		vInd = vInd + 1;
		}
   
	return (vRet);
	
	}

// Converte uma expressão numérica para caractere com zeros a esquerda //

function StrZero(vNumber,vSize)

	{
	
	vNumber.toString();
	
	var vZeros = vSize - (vNumber.length + 1);
	var vIndex = null;
	
	for (vIndex = 0; vIndex <= vZeros; vIndex = vIndex + 1)
		{
		vNumber = '0' + vNumber;
		}
		
	return(vNumber);
	
	}

// Retira os Espaços em Branco a Direita e a Esquerda de Uma String
	
function AllTrim(vString)
{

	var Texto = new String();
	
	Texto = vString;
	
	if (Texto.length > 0)
		{
		//Tira espaços da esquerda
		while (Texto.charAt(0) == " ")
			{
			Texto = Texto.substring(1, Texto.length);
			}
	
		if (Texto.length > 0)
			{
			//Tira espaços da direita
			while (Texto.charAt(Texto.length - 1) == " ")
				{
				Texto = Texto.substring(0, Texto.length - 1);
				}
			}
		}

	return (Texto);

}

// Monta Uma Expressão Numérica Com Separador de Milhar e Decimais //

function FormatN(vNumber,vDecimals)
{

	// Passo 1 - Arredondamento //

	var vNumberStr = new String(vNumber);
	var vPointPosi = new Number();
	var vPosAfterP = new Number();
	var vIndexInte = new Number();
	var vZerosAfte = new String();
	
	vNumberStr = vNumberStr.replace('.',',');
	
	if (vNumberStr.search(',') != -1)
		{
		vPointPosi = vNumberStr.search(',');
		vPosAfterP = (vNumberStr.length - (vPointPosi + 1));
		}
	else
		{
		vPointPosi = 0;
		vPosAfterP = 0;
		}

	if (vPosAfterP == 0)
		{
		for (vIndexInte = 1; vIndexInte <= vDecimals; vIndexInte++)
			{
			vZerosAfte = vZerosAfte + '0';
			}
		vZerosAfte = ',' + vZerosAfte;
		vNumberStr = vNumberStr + vZerosAfte;
		}
	else
		{
		if (vPosAfterP <= vDecimals)
			{
			for (vIndexInte = 1; vIndexInte <= (vDecimals - vPosAfterP); vIndexInte++)
				{
				vZerosAfte = vZerosAfte + '0';
				}
			vNumberStr = vNumberStr + vZerosAfte;
			}
		else
			{
			var vNumberInt = new String(vNumberStr.substr(0,vPointPosi));
			var vNumberDec = new String(vNumberStr.substr(vPointPosi + 1,vPosAfterP));
			var vNumberRet = new String(vNumberStr.substr(vPointPosi + 1,vDecimals));
			if (parseInt(vNumberDec.substr(vDecimals,1)) > 5)
				{
				vDecRound = new String(parseFloat(vNumberRet) + 1);
				}
			else
				{
				vDecRound = vNumberRet;
				}
			vNumberStr = vNumberInt + "," + vDecRound;
			}
		}

	// Passo 2 - Formatação do Número //

	vPointPosi = vNumberStr.search(',');
	
	if (vPointPosi >= 4)
		{
		var vPosAtu = new Number();
		var vNewStr = new String();
		var vMlTres = new Number();
		vPosAtu = vPointPosi - 1;
		vMlTres = 1;
		vNewStr = '';
		while (vPosAtu >= 0)
			{
			vNewStr = vNumberStr.substr(vPosAtu,1) + vNewStr;
			vMlTres = vMlTres + 1;
			if (vMlTres == 4)
				{
				if (vPosAtu != 0)
					{
					vNewStr = '.' + vNewStr;
					vMlTres = 1;
					}
				}
			vPosAtu = vPosAtu - 1;
			}
		vReturn = new String(vNewStr + vNumberStr.substr(vPointPosi,(vNumberStr.length - vPointPosi)));
		}
	else
		{
		vReturn = new String(vNumberStr);
		}

	vReturn = vReturn.replace('-.','-');

	return(vReturn);
}

// Verifica Se a Expressão Possui Apenas Caracteres de 0...9 A...Z a...z //

function OnlyAlphaNumber(vString)
{
	var vStrTmp = String(vString);
	var vStrAll = String('01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz');
	var vChrAtu;
	
	for (vIndex = 0; vIndex < vStrTmp.length; vIndex++)
		{
		vChrAtu = vStrTmp.substr(vIndex,1);
		if (vStrAll.search(vChrAtu) == -1 || vStrAll.search(vChrAtu) >= vStrAll.length)
			{
			return(false);
			}
		}
	return(true);
}
