function isEmail(Email)
{
	var Testa = new RegExp("\S+@\S+.\S{2,3}");
	
	if (Testa.exec(Email) > 0)
		return true;
	else
		return false;
	
}

function FormataDecimal(Decimal)
{
	if (Decimal == "" || isNaN(Decimal))
	{
		Decimal = 1;
	}
	
	if (event.keyCode == 44 || event.keyCode == 46)
	{
		event.keyCode = 0;

		if (event.srcElement.value.indexOf(",") < 0)
		{
			event.srcElement.value += ",";
		}
	}
	else
	{
		if (event.keyCode < 48 || event.keyCode > 57)
		{
			event.keyCode = 0;
		}
		
		if (event.srcElement.value.indexOf(",") >= 0)
		{
			if (event.srcElement.value.substr(event.srcElement.value.indexOf(",")).length >= Decimal + 1)
			{
				event.keyCode = 0;
			}
		}
	}
}

function FormataInteiro()
{
	if (event.keyCode < 48 || event.keyCode > 57)
	{
		event.keyCode = 0;
	}
}

function FormataData()
{
	if (event.keyCode < 48 || event.keyCode > 57)
	{
		event.keyCode = 0;
	}
	
	if (event.srcElement.value.length == 2 || event.srcElement.value.length == 5)
	{
		event.srcElement.value += "/";
	}
}

function FormataDataAno()
{
	if (event.keyCode < 48 || event.keyCode > 57)
	{
		event.keyCode = 0;
	}
	
	if (event.srcElement.value.length == 2 || event.srcElement.value.length == 5)
	{
		event.srcElement.value += "/";
	}
}

function FormataCEP()
{
	if (event.keyCode < 48 || event.keyCode > 57)
	{
		event.keyCode = 0;
	}
	
	if (event.srcElement.value.length == 5)
	{
		event.srcElement.value += "-";
	}
}

function FormataHora()
{
	if(event.keyCode < 48 || event.keyCode > 57)
	{
		event.keyCode = 0;
	}
	
	if(event.srcElement.value.length == 2)
	{
		event.srcElement.value += ":";
	}
}

function FormataDataInauguracao()
{
	if(event.keyCode < 48 || event.keyCode > 57)
	{
		event.keyCode = 0;
	}
	
	if(event.srcElement.value.length == 2)
	{
		event.srcElement.value += "/";
	}	
}


function FormataCNPJ()
{
	if (event.keyCode < 48 || event.keyCode > 57)
	{
		event.keyCode = 0;
	}
	
	if (event.srcElement.value.length == 2 || event.srcElement.value.length == 6)
	{
		event.srcElement.value += ".";
	}
	else if (event.srcElement.value.length == 10)
	{
		event.srcElement.value += "/";
	}
	else if (event.srcElement.value.length == 15)
	{
		event.srcElement.value += "-";
	}
}

function FormataCPF()
{
	if (event.keyCode < 48 || event.keyCode > 57)
	{
		event.keyCode = 0;
	}
	
	if (event.srcElement.value.length == 3 || event.srcElement.value.length == 7)
	{
		event.srcElement.value += ".";
	}

	if (event.srcElement.value.length == 11)
	{
		event.srcElement.value += "-";
	}
}

function FormataTelefone()
{
	if (event.keyCode < 48 || event.keyCode > 57)
	{
		event.keyCode = 0;
	}
	
	if (event.srcElement.value.length == 0)
	{
		event.srcElement.value += "(";
	}
	else if (event.srcElement.value.length == 3)
	{
		event.srcElement.value += ") ";
	}
	else if (event.srcElement.value.length == 9)
	{
		event.srcElement.value += "-";
	}
}


function IsDate(Data)
{
	var strData = Data;
	
	if (strData.length != 10)
		return(false);
		
	var Dia = strData.substr(0, 2);
	var Mes = strData.substr(3, 2);
	var Ano = strData.substr(6, 4);
	
	if (isNaN(Dia) || isNaN(Mes) || isNaN(Ano))
		return(false);
		
	if (Dia < 1 || Dia > 31)
		return(false);
	
	if (Mes < 1 || Mes > 12)
		return(false);
		
	if (parseInt(Mes) == 2)
	{
		if (Ano % 4 == 0)
		{
			if (Dia > 29)
				return(false);
		}
		else
		{
			if (Dia > 28)
				return(false);
		}
	}
	else if (parseInt(Mes) == 4 || parseInt(Mes) == 6 || parseInt(Mes) == 9 || parseInt(Mes) == 11)
	{
		if (Dia > 30)
			return(false);
	}
	
	if(parseInt(Ano) < 1900)
	{
		return(false);
	}
	
	return(true);
}

function IsHora(Campo)
{
	var strHora = Campo;
	
	if (strHora.value.length != 5)
	{
		return false;
	}
		
	var Hora   = strHora.value.substr(0, 2);
	var Minuto = strHora.value.substr(3, 2);
	
	if (isNaN(Hora) || isNaN(Minuto))
	{
		return false;
	}
	
	if (Hora < 0 || Hora > 23)
	{
		return false;
	}
	
	if (Minuto < 0 || Minuto > 59)
	{
		return false;
	}
	
return true;
}

function IsCNPJ(campo)
{
	sValor1 = campo.value;
	sValor1 = sValor1.toString();
	sValor = '';
	xpqp = sValor1.length
	for (iputo = 0; iputo < xpqp; iputo++)
	{
		sAux = sValor1.charAt(iputo);
		if (sAux < '0' || sAux > '9')
		{
			if (sAux != '.' && sAux != '-' && sAux != '/')
			{
				return(false);
			}
		}
		else
			sValor = sValor + sAux
	}
	if (sValor != '')
	{
		if (isNaN(sValor) || sValor.length != 14)
		{
			return(false);
		}
		soma = (sValor.substr(0,1) * 5) + (sValor.substr(1,1) * 4) + (sValor.substr(2,1) * 3) + (sValor.substr(3,1) * 2) + (sValor.substr(4,1) * 9) + (sValor.substr(5,1) * 8) + (sValor.substr(6,1) * 7) + (sValor.substr(7,1) * 6) + (sValor.substr(8,1) * 5) + (sValor.substr(9,1) * 4) + (sValor.substr(10,1) * 3) + (sValor.substr(11,1) * 2)
		dv1 = (soma % 11);
		if (dv1 == 0 || dv1 == 1) 
			dv1 = 0;
		else
			dv1 = 11 - dv1;
		soma = (sValor.substr(0,1) * 6) + (sValor.substr(1,1) * 5) + (sValor.substr(2,1) * 4) + (sValor.substr(3,1) * 3) + (sValor.substr(4,1) * 2) + (sValor.substr(5,1) * 9) + (sValor.substr(6,1) * 8) + (sValor.substr(7,1) * 7) + (sValor.substr(8,1) * 6) + (sValor.substr(9,1) * 5) + (sValor.substr(10,1) * 4) + (sValor.substr(11,1) * 3)  + (dv1 * 2)
		dv2 = (soma % 11);
		if (dv2 == 0 || dv2 == 1) 
			dv2 = 0;
		else
			dv2 = 11 - dv2;
		if (sValor.substr(12,1) != dv1 || sValor.substr(13,1) != dv2)
		{
			return(false);
		}
	}
	return(true);
}

function IsCPF(campo)
{
	sValor1 = campo.value;
	sValor1 = sValor1.toString();
	sValor = '';
	xpqp = sValor1.length
	for (iputo = 0; iputo < xpqp; iputo++)
	{
		sAux = sValor1.charAt(iputo);
		if (sAux < '0' || sAux > '9')
		{
			if (sAux != '.' && sAux != '-' && sAux != '/')
			{
				return false;
			}
		}
		else
		{
			sAux = sAux.toString();
			sValor = sValor + '' + sAux;
		}
	}
	if (sValor != '')
	{
		if (isNaN(sValor) || sValor.length != 11)
		{
			return false;
		}
		soma = (sValor.substr(0,1) * 10) + (sValor.substr(1,1) * 9) + (sValor.substr(2,1) * 8) + (sValor.substr(3,1) * 7) + (sValor.substr(4,1) * 6) + (sValor.substr(5,1) * 5) + (sValor.substr(6,1) * 4) + (sValor.substr(7,1) * 3) + (sValor.substr(8,1) * 2);
		dv1 = (soma % 11);
		if (dv1 == 0 || dv1 == 1) 
			dv1 = 0;
		else
			dv1 = 11 - dv1;
		soma = (sValor.substr(0,1) * 11) + (sValor.substr(1,1) * 10) + (sValor.substr(2,1) * 9) + (sValor.substr(3,1) * 8) + (sValor.substr(4,1) * 7) + (sValor.substr(5,1) * 6) + (sValor.substr(6,1) * 5) + (sValor.substr(7,1) * 4) + (sValor.substr(8,1) * 3) + (dv1 * 2);
		dv2 = (soma % 11);
		if (dv2 == 0 || dv2 == 1) 
			dv2 = 0;
		else
			dv2 = 11 - dv2;
		if (sValor.substr(9,1) != dv1 || sValor.substr(10,1) != dv2)
		{
			return false;
		}
	}
	return true;
}

function IsEmail(valor)
{
	if (valor.indexOf("@") < 0)
		return false;

	if (valor.indexOf("@.") >= 0)
		return false;

	if (valor.indexOf("@") == 0)
		return false;

	if (valor.indexOf("@") == valor.length-1)
		return false;

	if (valor == "")
		return false;

	return true;
}

function DataMaior(Data1, Data2)
{
	if (Data1.length < 10 || Data2.length < 10)
		return false;

	var Ano1 = parseInt(Data1.split("/")[2]);
	var Mes1 = (Data1.split("/")[1] == "09"?9:(Data1.split("/")[1] == "08"?8:parseInt(Data1.split("/")[1])));
	var Dia1 = (Data1.split("/")[0] == "09"?9:(Data1.split("/")[0] == "08"?8:parseInt(Data1.split("/")[0])));

	var Ano2 = parseInt(Data2.split("/")[2]);
	var Mes2 = (Data2.split("/")[1] == "09"?9:(Data2.split("/")[1] == "08"?8:parseInt(Data2.split("/")[1])));
	var Dia2 = (Data2.split("/")[0] == "09"?9:(Data2.split("/")[0] == "08"?8:parseInt(Data2.split("/")[0])));

	if (Ano2 == Ano1 && Mes2 == Mes1 && Dia2 == Dia1)
		return(0);
	else if (Ano2 > Ano1 || (Ano2 == Ano1 && Mes2 > Mes1) || (Ano2 == Ano1 && Mes2 == Mes1 && Dia2 > Dia1))
		return(2);
	else
		return(1);
}

function Trim(Texto)
{
	var Retorno = "";

	// Retira espaços do início

	for (var i = 0; i < Texto.length; i++)
	{
		if (Texto.substr(i, 1) != " ")
		{
			Retorno = Texto.substr(i);
			break;
		}
	}

	// Retira espaços do fim

	for (var i = Retorno.length - 1; i >= 0; i--)
	{
		if (Retorno.substr(i, 1) != " ")
		{
			Retorno = Retorno.substr(0, i+1);
			break;
		}
	}

	return (Retorno);
}

function ZeroEsquerda(Texto)
{
	var Retorno = "";

	// Retira os zeros à esquerda do número

	for (var i = 0; i < Texto.length; i++)
	{
		if (Texto.substr(i, 1) != "0")
		{
			Retorno = Texto.substr(i);
			break;
		}
	}

	return (Retorno);
}

function Imprimir(Div)
{
	var w_imprimir = window.open("Impressao.htm", "Impressao", "width=1,height=1,top=10000,left=10000");

	while (!(w_imprimir.document.all && w_imprimir.document.readyState == "complete"))
	{
		//nada;
	}

	w_imprimir.document.all.divImpressao.innerHTML = Div.innerHTML;
	w_imprimir.print();
	w_imprimir.close();
}

function Maiuscula()
{
	if ((event.keyCode >= 97 && event.keyCode <= 122) ||
	    (event.keyCode >= 224 && event.keyCode <= 253))
	{
		event.keyCode -= 32;
	}
}

function AjustaDecimal(Casas)
{
	var Campo = event.srcElement;

	if (Campo.maxLength == Campo.value.length)
	{
		if (Campo.value.indexOf(",") < 0)
		{
			Campo.value = Campo.value.substr(0, Campo.value.length - Casas) + "," + Campo.value.substr(Campo.value.length - Casas);
		}
	}

	if (Trim(Campo.value) == "")
	{
		Campo.value = "0";
	}

	if (Campo.value.indexOf(",") == 0)
	{
		Campo.value = "0" + Campo.value.toString();
	}

	// Se não tem vírgula
	if (Campo.value.indexOf(",") < 0)
	{
		Campo.value += ",";

		for (var i = 0; i < Casas; i++)
		{
			Campo.value += "0";
		}
	}
	else // Se tiver vírgula
	{
		var qtdCasas = Campo.value.substr(Campo.value.indexOf(",")).length;

		for (var i = qtdCasas - 1; i < Casas; i++)
		{
			Campo.value += "0";
		}
	}
}

function Imprime(Relatorio, NomeParametro, ValorParametro)
{
	var blnRetorno = showModalDialog('Modal.htm', 'Imprime.aspx?Relatorio=' + Relatorio + '&NomeParametro=' + NomeParametro + '&ValorParametro=' + ValorParametro,'help:no;status:no;scroll:no;edge:raised;dialogWidth:405px;edge:raised;dialogHeight:225px');
	return(blnRetorno)
}

function FormataNumEvento()
{
	FormataInteiro();

	var Campo = event.srcElement;

	if (Campo.value.length > 0)
	{
		if (Campo.value.substr(0, 1) == "0")
		{
			Campo.maxLength = 5;

			if (Campo.value.length == 2)
			{
				Campo.value += ".";
			}
		}
		else
		{
			Campo.maxLength = 3;
		}
	}
}

function FormataDataAno(Evento, Campo)
{
	var strAno = "";
	if(Evento == 0) /*Saída do Campo*/
	{
		if(Campo.value.length == 8)
		{
			Campo.value = Campo.value.substr(0,Campo.value.lastIndexOf("/")) + "/20" + Campo.value.substr(Campo.value.lastIndexOf("/")+1),Campo.value.length;
		}
	}
	else if(Evento == 1) /*Entrada no Campo*/
	{
		if(Campo.value != "" && Campo.value.length >= 9)
		{
			strAno = Campo.value.substr(Campo.value.lastIndexOf("/")+1,Campo.value.length);
			strAno = strAno.substr(2,3);
			
			Campo.value = Campo.value.substr(0,Campo.value.lastIndexOf("/")) + "/" + strAno;
		}
	}
}

function ajustarTamanho(campo, tamanho)
{
	if(campo.value.length > tamanho)
	{
		campo.value = campo.value.substring(0,tamanho);
		return;
	}
	
	if(campo.value.length == tamanho)
	{
		//alert("A quantidade máxima de caracteres permitido para o campo é ");
		//alert("A quantidade máxima de caracteres permitido para o campo é ");
	}
}

function IsEmpty(Valor)
{
	if(Trim(Valor) == "")
	{
		return(true);
	}
	else
	{
		return(false);
	}
}

function MascaraCPF(campo)
{
	var strCPF = campo.value;
	var strCPFret = '';
	for(i=0;i<campo.value.length;i++)
	{
		if(strCPF.charAt(i) != '.' && strCPF.charAt(i) != '-')
		{
			strCPFret = strCPFret + strCPF.charAt(i);
			if(strCPFret.length == 3 || strCPFret.length == 7)
				strCPFret = strCPFret + '.';
			else if(strCPFret.length == 11)
				strCPFret = strCPFret + '-';
		}
	}
	
	campo.value = strCPFret;
}

