corerro='ffffcc';
cornormal = 'ffffff';

/* 
 Todas as funções comportam-se da mesma maneira.
 Retornam 0 (zero) caso vericidade e 1 (um)
 caso falcidade.
 Todas as funções são responsáveis por mudar a cor
 do campo que contém o erro.
  
 -------------------------------------------------------------------------------
|	Função Validadar dia														|
|	Valida o campo HTML, se todos os dados forem dados numéricos				|
|	entre 01 até 31, retorna 0 (zero) quando validado 							|
|	e 1 (um) quando inválido.													|
 -------------------------------------------------------------------------------
*/
function validar_dia(ano)
{
	pano = new String(document.getElementById(ano).value);
	teste = 0;

	for (i=0;((i<=(pano.length-1))); i++)
	{
		val = pano.charAt(i);
		if((val!="9")&&(val!="0")&&(val!="1")&&(val!="2")&&(val!="3")&&(val!="4") &&(val!="5")&&(val!="6")&&(val!="7")&&(val!="8"))
		{
			teste = 1;
		}
	}

	if (pano.length == 0)
	{
		teste++;
	}

	if (pano.length > 2)
	{
		teste++;
	}

	if(parseFloat(pano) > 31)
	{
		teste++;
	}

	if (teste > 0)
	{
		document.getElementById(ano).style.backgroundColor=corerro;
		return 1;
	}
	else
	{
		document.getElementById(ano).style.backgroundColor=cornormal;
		return 0;
	}		
}
/*
 -------------------------------------------------------------------------------
|	Função Validar mês															|
|	Valida o campo HTML, se todos os dados forem dados numéricos				|
|	entre 01 e 12, retorna 0 (zero) quando validado e 1 (um) quando				|
|	inválido																	|
 -------------------------------------------------------------------------------
*/
function validar_mes(ano)
{
	pano = new String(document.getElementById(ano).value);
	teste = 0;

	for (i=0;((i<=(pano.length-1))); i++)
	{
		val = pano.charAt(i);
		if((val!="9")&&(val!="0")&&(val!="1")&&(val!="2")&&(val!="3")&&(val!="4") &&(val!="5")&&(val!="6")&&(val!="7")&&(val!="8"))
		{
			teste = 1;
		}
	}

	if (pano.length == 0)
	{
		teste++;
	}

	if (pano.length > 2)
	{
		teste++;
	}

	if(parseFloat(pano) > 12)
	{
		teste++;
	}

	if (teste > 0)
	{
		document.getElementById(ano).style.backgroundColor=corerro;
		return 1;
	}
	else
	{
		document.getElementById(ano).style.backgroundColor=cornormal;
		return 0;
	}		
}
/*
 -------------------------------------------------------------------------------
|	Função Validar ano															|
|	Valida o campo HTML, quando o dado for numérico, retorna 					|
|	0 (zero) quando validado e 1 (um) quando inválido.							|
 -------------------------------------------------------------------------------
*/
function validar_ano(cep)
{
	pcep = new String(document.getElementById(cep).value);
	teste = 0;
	if (pcep.length != 4)
	{
		teste=1;
	}
	else
	{
		for (i=0;((i<=(pcep.length-1))); i++)
		{
			val = pcep.charAt(i);
			if((val!="9")&&(val!="0")&&(val!="1")&&(val!="2")&&(val!="3")&&(val!="4") &&(val!="5")&&(val!="6")&&(val!="7")&&(val!="8"))
			{
				teste=1;			
			}
		}	
	}

	if (teste > 0)
	{
		document.getElementById(cep).style.backgroundColor=corerro;
		return 1;
	}
	else
	{
		document.getElementById(cep).style.backgroundColor=cornormal;
		return 0;
	}

}
/*
 -------------------------------------------------------------------------------
|	Função Validar campo texto													|
|	Valida o campo HTML, se o dado for somente texto, retorna 0 (zero)			|
|	quando validado e 1 (um) quando inválido.									|
 -------------------------------------------------------------------------------
*/
function validar_campo_texto(campo)
{
	if (document.getElementById(campo).value == '')
	{
		document.getElementById(campo).style.backgroundColor = corerro;
		return 1;
	}
	else
	{
		document.getElementById(campo).style.backgroundColor = cornormal;
		return 0;
	}
}
/*
 -------------------------------------------------------------------------------
|	Função Validar número														|
|	Valida o campo HTML, se o valor for somente numérico e não conter			|
|	nenhum texto, retorna o (zero) quando validado e 1 (um) quando				|
|	inválido.																	|
 -------------------------------------------------------------------------------
*/
function validar_numero(cep)
{
	pcep = new String(document.getElementById(cep).value);
	teste = 0;
	if (pcep.length == 0)
	{
		teste=1;
	}
	else
	{
		for (i=0;((i<=(pcep.length-1))); i++)
		{
			val = pcep.charAt(i);
			if((val!="9")&&(val!="0")&&(val!="1")&&(val!="2")&&(val!="3")&&(val!="4") &&(val!="5")&&(val!="6")&&(val!="7")&&(val!="8"))
			{
				teste=1;			
			}
		}	
	}

	if (teste > 0)
	{
		document.getElementById(cep).style.backgroundColor=corerro;
		return 1;
	}
	else
	{
		document.getElementById(cep).style.backgroundColor=cornormal;
		return 0;
	}

}
/*
 -------------------------------------------------------------------------------
|	Função Validar número e vírgula												|
|	Valida campo HTML, se o número for padrão ABNT (casa decimal separada		|
|	por vírgula), retorna 0 (zero) se validado e 1 (um) se inválido				|
 -------------------------------------------------------------------------------
*/
function validar_numeroEvirgula(cep)
{
	pcep = new String(document.getElementById(cep).value);
	teste = 0;
	if (pcep.length == 0)
	{
		teste=1;
	}
	else
	{
		for (i=0;((i<=(pcep.length-1))); i++)
		{
			val = pcep.charAt(i);
			if((val!="9")&&(val!="0")&&(val!="1")&&(val!="2")&&(val!="3")&&(val!="4") &&(val!="5")&&(val!="6")&&(val!="7")&&(val!="8")&&(val!=","))
			{
				teste=1;			
			}
		}	
	}

	if (teste > 0)
	{
		document.getElementById(cep).style.backgroundColor=corerro;
		return 1;
	}
	else
	{
		document.getElementById(cep).style.backgroundColor=cornormal;
		return 0;
	}

}
/*
 -------------------------------------------------------------------------------
|	Função Validar CGC															|
|	Valida o campo HTML, se o valor for somente numérico e tiver o tamanho		|
|	correto, inicia o processo de validação de CGC.								|
|	Retorna 0 (zero) caso validado e 1 (um) caso inválido						|
 -------------------------------------------------------------------------------
*/
function validar_cgc(cgc)
{
	//verifica o tamanho
	pcgc = new String(document.getElementById(cgc).value);
	
	if (pcgc.length != 14)
	{
		sim=false;
		document.getElementById(cgc).style.backgroundColor=corerro;			
		return 1;

	}
	else
	{
		sim=true;
	}
	if (sim ) //verifica se e numero
	{
		for (i=0;((i<=(pcgc.length-1))&& sim); i++)
		{
			val = pcgc.charAt(i);
			if((val!="9")&&(val!="0")&&(val!="1")&&(val!="2")&&(val!="3")&&(val!="4") &&(val!="5")&&(val!="6")&&(val!="7")&&(val!="8"))
			{
			sim=false;
			document.getElementById(cgc).style.backgroundColor=corerro;			
			return 1;
			
			}
		}
	}
	if (sim)  //se for numero continua
	{
		m2 = 2;
		soma1 = 0;
		soma2 = 0;
		for (i=11;i>=0;i--)
		{
			val = eval(pcgc.charAt(i));
			m1 = m2;
			if (m2<9)
			{
			 	m2 = m2+1;
			}
			else
			{
				m2 = 2;
			}
			soma1 = soma1 + (val * m1);
			soma2 = soma2 + (val * m2);
		}  
		//fim do for de soma
		
		soma1 = soma1 % 11;
		if (soma1 < 2)
		{
			d1 = 0;
		}
		else
		{
			d1 = 11- soma1;
		}
		soma2 = (soma2 + (2 * d1)) % 11
		if (soma2 < 2)
		{
			d2 = 0;
		}
		else
		{
			d2 = 11- soma2;
		}
		if ((d1==pcgc.charAt(12)) && (d2==pcgc.charAt(13)))
		{
			document.getElementById(cgc).style.backgroundColor=cornormal;
			return 0;
		}
		else
		{
			document.getElementById(cgc).style.backgroundColor=corerro;			
			return 1;
		}
	}
}
/*
 -------------------------------------------------------------------------------
|	Função Validar e-mail														|
|	Valida o campo HTML que contém o e-mail.									|
|	Procura por '@' (arroba) e '.' (ponto)										|
|	Retorna 0 (zero) caso validado ou 1 (um) caso inválido						|
 -------------------------------------------------------------------------------
*/
function validar_email(objeto)
{
	controle = true;
	email = new String(document.getElementById(objeto).value);
	tamanho = email.length;
	x = email.indexOf("@");
	
	ponto = email.lastIndexOf(".");
	
	if (( x > 0) && (ponto > 0))
	{
		inicio = email.substr(0,x);
		antes = new String(inicio);
			
		antes_arroba = antes.length;
		
		posicao_final = (tamanho - ponto - 1);
		depois_ponto = email.substr(ponto +1, posicao_final);
		fim_ponto = new String(depois_ponto);
		tamanho_ponto = fim_ponto.length;
	
		ponto_final = email.substr(ponto);
		fim = new String(ponto_final);
		tamanho_fim = fim.length;
		
		if(tamanho_fim < 2)
		{
			document.getElementById(objeto).style.backgroundColor=corerro;
			//alert ("Email inválido. Favor informar outro email.");
			controle = false;
		}
			
		
		if(ponto > x + 1)
		{
			document.getElementById(objeto).style.backgroundColor=cornormal;
			controle = true;
		}
		else
		{
			document.getElementById(objeto).style.backgroundColor=corerro;
			//alert("Email inválido. Favor informar outro email.");	
			controle = false;
		}
		
	}
	else
	{
		document.getElementById(objeto).style.backgroundColor=corerro;
		//alert("Email inválido. Favor informar outro email.");	
		controle = false;
	}
	
	if(controle == true)
	{
		return 0;
	}
	else
	{
		return 1;
	}
	
}
/*
 -------------------------------------------------------------------------------
|	Funçaõ Validar DDD															|
|	Valida o campo HTML por dados numéricos.									|
|	Retorna 0 (zero) caso validado e 1 (um) caso inválido.						|
 -------------------------------------------------------------------------------
*/
function validar_ddd(ano)
{
	pano = new String(document.getElementById(ano).value);
	teste = 0;

	for (i=0;((i<=(pano.length-1))); i++)
	{
		val = pano.charAt(i);
		if((val!="9")&&(val!="0")&&(val!="1")&&(val!="2")&&(val!="3")&&(val!="4") &&(val!="5")&&(val!="6")&&(val!="7")&&(val!="8"))
		{
			teste = 1;
		}
	}

	if (pano.length != 2)
	{
		teste++;
	}

	if (teste > 0)
	{
		document.getElementById(ano).style.backgroundColor=corerro;
		return 1;
	}
	else
	{
		document.getElementById(ano).style.backgroundColor=cornormal;
		return 0;
	}		
}	

function validar_cep(ano)
{
	pano = new String(document.getElementById(ano).value);
	teste = 0;

	for (i=0;((i<=(pano.length-1))); i++)
	{
		val = pano.charAt(i);
		if((val!="9")&&(val!="0")&&(val!="1")&&(val!="2")&&(val!="3")&&(val!="4") &&(val!="5")&&(val!="6")&&(val!="7")&&(val!="8"))
		{
			teste = 1;
		}
	}

	if (pano.length != 8)
	{
		teste++;
	}

	if (teste > 0)
	{
		document.getElementById(ano).style.backgroundColor=corerro;
		return 1;
	}
	else
	{
		document.getElementById(ano).style.backgroundColor=cornormal;
		return 0;
	}		
}	

/*
 -------------------------------------------------------------------------------
|	Função Validar telefone														|
|	Valida o campo HTML por dados númericos.									|
|	Retorna 0 (zero) caso validado e 1 (um) caso inválido						|
 -------------------------------------------------------------------------------
*/
function validar_telefone(ano)
{
	pano = new String(document.getElementById(ano).value);
	teste = 0;

	for (i=0;((i<=(pano.length-1))); i++)
	{
		val = pano.charAt(i);
		if((val!="9")&&(val!="0")&&(val!="1")&&(val!="2")&&(val!="3")&&(val!="4") &&(val!="5")&&(val!="6")&&(val!="7")&&(val!="8"))
		{
			teste = 1;
		}
	}

	if (pano.length != 8)
	{
		teste++;
	}

	if (teste > 0)
	{
		document.getElementById(ano).style.backgroundColor=corerro;
		return 1;
	}
	else
	{
		document.getElementById(ano).style.backgroundColor=cornormal;
		return 0;
	}		
}	
/*
 -------------------------------------------------------------------------------
|	Função Validar CPF															|
|	Valida o campo HTML por valor numérico.										|
|	Se a quantidade de números for correta, valida o CPF.						|
|	Retorna 0 (zero) caso validado e 1 (um) caso inválido						|
 -------------------------------------------------------------------------------
*/
function validar_cpf(elemento)
{
	var i;
	s = document.getElementById(elemento).value;
	obj = new String (s);
	if (obj.length == 11)//verifica o tamanho da string numérica
	{								
		var c = s.substr(0,9); 
		var dv = s.substr(9,2); 
		var d1 = 0; 
		for (i = 0; i < 9; i++) 
		{ 
			d1 += c.charAt(i)*(10-i); 
		} 
		if (d1 == 0)
		{ 
			prossegue = false;
		}
		else
		{
			prossegue = true;
			d1 = 11 - (d1 % 11); 
			if (d1 > 9)
			{
				d1 = 0; 
			}
			if (dv.charAt(0) != d1)
			{ 
				prossegue = false;
			}
			else
			{
				prossegue = true;
				d1 *= 2; 
				for (i = 0; i < 9; i++) 
				{ 
					d1 += c.charAt(i)*(11-i); 
				} 
				d1 = 11 - (d1 % 11); 
				if (d1 > 9)
				{
					d1 = 0; 
				}
				if (dv.charAt(1) != d1) 
				{ 
					prossegue = false;
				} 
				else
				{
					prossegue = true;
				}
			}
		}
	}
	else
	{
		prossegue = false;
	}
	if(prossegue == false)
	{
		document.getElementById(elemento).style.backgroundColor=corerro;
		return 1;
	}
	else
	{
		document.getElementById(elemento).style.backgroundColor=cornormal;
		return 0;
	}
}
