// JavaScript Document
function valida(Objeto,cSenha)
{	
	cVerificaTexto = ""
	for(nPos=0;nPos<Objeto.length-1;nPos++)
	{
		if (Objeto.elements[nPos].Opcao == "texto") 
		{
			if (Objeto.elements[nPos].value == "")
			{
				alert("Preencha ou selecione o campo " + Objeto.elements[nPos].Campo);
				Objeto.elements[nPos].focus();
				return false;
			}
		}

		if (Objeto.elements[nPos].Opcao == "numero")
		{
			if (Objeto.elements[nPos].value.length == 0)
			{
				alert("O campo " + Objeto.elements[nPos].Campo + " não pode ficar vazio !!!");
				Objeto.elements[nPos].focus();
				return false;
			}
			if (isNaN(Objeto.elements[nPos].value) != false && Objeto.elements[nPos].value != "")
			{
				alert("Digite somente numeros no campo " + Objeto.elements[nPos].Campo);
				Objeto.elements[nPos].focus();
				return false;
			}
			if (Objeto.elements[nPos].nQtd_Num >= 0 && Objeto.elements[nPos].value != "") 
			{
				if(Objeto.elements[nPos].value.length < Objeto.elements[nPos].nQtd_Num )
				{
					alert("Digite no minimo " + Objeto.elements[nPos].nQtd_Num + " numeros");
					Objeto.elements[nPos].focus();
					return false;
				}
			}
		}

		if (Objeto.elements[nPos].Opcao == "email")
		{
			if (Objeto.elements[nPos].value == "")
			{ 
				alert("Favor informar um " + Objeto.elements[nPos].Campo);
				Objeto.elements[nPos].focus();
				return false;
			}
			if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(Objeto.elements[nPos].value)) && Objeto.elements[nPos].value != "") 
			{ 
				alert("Favor informar um " + Objeto.elements[nPos].Campo + " válido.");
				Objeto.elements[nPos].focus();
				return false;
			}
		}

		if (Objeto.elements[nPos].Opcao == "checkbox")
		{
			if ((Objeto.elements[nPos].Qtd_Cb) >= 0 ) 
			{
				selecionado=0;
				de = nPos;
				ate = eval(de) + eval(Objeto.elements[nPos].Qtd_Cb);
				for (x=de ; x<=ate ; x++)
				{
					if((Objeto.elements[x].checked) || (cVerifica=="N" ))
					{
						selecionado = 1;
					}
				}
				if (selecionado != 1)
				{
					alert("Selecione pelo menos uma opção\n" + Objeto.elements[nPos].Campo);
					Objeto.elements[nPos].focus();
					return false;
				}
			}
		}
		if (Objeto.elements[nPos].Opcao == "radiobox")
		{
			if (Objeto.elements[nPos].Qtd_Rb >= 0) 
			{
				selecionado=0;
				de = nPos;
				ate = eval(de) + eval(Objeto.elements[nPos].Qtd_Rb);
				for (x=de ; x<=ate ; x++)
				{
					if(Objeto.elements[x].checked)
					{
						selecionado = 1;
						cVerifica = Objeto.elements[x].Verifica;
					}
				}
				if (selecionado != 1)
				{
					alert("Selecione uma opção\n" + Objeto.elements[nPos].Campo);
					Objeto.elements[nPos].focus();
					return false;
				}
			}
		}

		if (Objeto.elements[nPos].Opcao == "radiobox_texto")
		{
			if (Objeto.elements[nPos].Qtd_Rb >= 0) 
			{
				selecionado=0;
				de = nPos;
				ate = eval(de) + eval(Objeto.elements[nPos].Qtd_Rb);
				for (x=de ; x<=ate ; x++)
				{
					if(Objeto.elements[x].checked)
					{
						selecionado = 1;
						cVerificaTexto = Objeto.elements[x].Verifica;
						alert(cVerificaTexto);
					}
				}
				if (selecionado != 1)
				{
					alert("Selecione uma opção\n" + Objeto.elements[nPos].Campo);
					Objeto.elements[nPos].focus();
					return false;
				}
			}
		}

		if ((Objeto.elements[nPos].Opcao == "texto_radiobox") || (cVerificaTexto == "S" ))
		{
			if (Objeto.elements[nPos].value == "")
			{
				alert("Preencha ou selecione o campo " + Objeto.elements[nPos].Campo);
				Objeto.elements[nPos].focus();
				return false;
			}
		}

		if (Objeto.elements[nPos].Opcao == "senha")
		{
			if (Objeto.elements[nPos].value == "")
			{
				alert("Senha não pode ficar em branco !!!");
				Objeto.elements[nPos].focus();
				return false;
			}
			if (Objeto.elements[nPos].nQtd_Num >= 0 && Objeto.elements[nPos].value != "") 
			{
				if(Objeto.elements[nPos].value.length < Objeto.elements[nPos].nQtd_Num )
				{
					alert("Digite no minimo " + Objeto.elements[nPos].nQtd_Num + " numeros");
					Objeto.elements[nPos].focus();
					return false;
				}
			}
			if (Objeto.elements[nPos].value != cSenha)
			{
				alert("Senha incorreta !!!");
				Objeto.elements[nPos].focus();
				return false;
			}
		}
		
		if (Objeto.elements[nPos].Opcao == "cpf")
		{
		   if (!checaCPF(Objeto.elements[nPos].value)) 
		   {
			 errors="1";
			 if (errors) alert('Digite corretamente o CPF');
			 Objeto.elements[nPos].focus();
			 return false;
		   }
		}

		if (Objeto.elements[nPos].Opcao == "cnpj") 
		{
		   if (!ValidaCNPJ(Objeto.elements[nPos])) 
		   {
			 Objeto.elements[nPos].focus();
			 return false;
		   }
		}

		if (Objeto.elements[nPos].Opcao == "data") 
		{
			if (Objeto.elements[nPos].value != "")
			{
				cDia = Objeto.elements[nPos].value;
				cDia = cDia.substring(0,2);
				cMes = Objeto.elements[nPos].value;
				cMes = cMes.substr(3,2);
				cAno = Objeto.elements[nPos].value;
				cAno = cAno.substr(6,4);
				if (Objeto.elements[nPos].value.length >= 10 || Objeto.elements[nPos].value.length <= 10)
				{
					if (isNaN(cDia) != false || isNaN(cMes) != false || isNaN(cAno) != false )
					{
						alert("Preencha o campo " + Objeto.elements[nPos].Campo + " da seguinte forma ( 'XX/XX/XXXX')");
						Objeto.elements[nPos].focus();
						return false;
					}
				}
			}
		}
		
		if (Objeto.elements[nPos].Opcao == "select")
		{
			cNomeCartao = Objeto.elements[nPos].options[Objeto.elements[nPos].selectedIndex].value;
			if (Objeto.elements[nPos].selectedIndex == 0) 
			{
				alert("É necessário informar o " + Objeto.elements[nPos].Campo + " que será usado no pagamento");
				Objeto.elements[nPos].focus();
				return false;
			}
			
		}
		
	}
}

// Tratamento de CPF
function checaCPF (CPF) 
{
	if (CPF.length != 11 || CPF == "00000000000" || CPF == "11111111111" ||
		CPF == "22222222222" ||	CPF == "33333333333" || CPF == "44444444444" ||
		CPF == "55555555555" || CPF == "66666666666" || CPF == "77777777777" ||
		CPF == "88888888888" || CPF == "99999999999")
		{
		return false;
		}
	soma = 0;
	for (i=0; i < 9; i ++)
		{
		soma += parseInt(CPF.charAt(i)) * (10 - i);
		}
	resto = 11 - (soma % 11);
	if (resto == 10 || resto == 11)
		{
		resto = 0;
		}
	if (resto != parseInt(CPF.charAt(9)))
		{
		return false;
		}
	soma = 0;
	for (i = 0; i < 10; i ++)
		{
		soma += parseInt(CPF.charAt(i)) * (11 - i);
		}
	resto = 11 - (soma % 11);
	if (resto == 10 || resto == 11)
		{
		resto = 0;
		}
	if (resto != parseInt(CPF.charAt(10)))
		{
		return false;
		}
	else
		{
//        alert('Correto');
		return true;
		}
}

// Tratamento de CNPJ
function ValidaCNPJ(cCnpj)
{
	//verifica a quantidade de caracteres digitados
	//e o transforma em um numero inteiro.
	cnpj = cCnpj.value;
	tamanho = cCnpj.value;
	tamanho = tamanho.length;
	tamanho = parseInt(tamanho,10);
	if(tamanho < 14 || tamanho >14){
		alert("O CNPJ precisa ter exatamente 14 digitos");
		return (false);
	}
	else{
		if(cCnpj.value == "00000000000000"){
			alert("O CNPJ nao pode ser composto apenas do nº 0");
			return (false);
		}
		else{
			//logica da validade
			n1 = cCnpj.value.substring(0,1);
			n2 = cCnpj.value.substring(1,2);
			n3 = cCnpj.value.substring(2,3);
			n4 = cCnpj.value.substring(3,4);
			n5 = cCnpj.value.substring(4,5);
			n6 = cCnpj.value.substring(5,6);
			n7 = cCnpj.value.substring(6,7);
			n8 = cCnpj.value.substring(7,8);
			n9 = cCnpj.value.substring(8,9);
			n10 = cCnpj.value.substring(9,10);
			n11 = cCnpj.value.substring(10,11);
			n12 = cCnpj.value.substring(11,12);
			n13 = cCnpj.value.substring(12,13);
			n14 = cCnpj.value.substring(13,14);

			n1 = parseInt(n1,10);
			n2 = parseInt(n2,10);
			n3 = parseInt(n3,10);
			n4 = parseInt(n4,10);
			n5 = parseInt(n5,10);
			n6 = parseInt(n6,10);
			n7 = parseInt(n7,10);
			n8 = parseInt(n8,10);
			n9 = parseInt(n9,10);
			n10 = parseInt(n10,10);
			n11 = parseInt(n11,10);
			n12 = parseInt(n12,10);
			n13 = parseInt(n13,10);
			n14 = parseInt(n14,10);

			//conta para identificação do 13 digito
			soma = n1 * 5;
			soma += n2 * 4;
			soma += n3 * 3;
			soma += n4 * 2;
			soma += n5 * 9;
			soma += n6 * 8;
			soma += n7 * 7;
			soma += n8 * 6;
			soma += n9 * 5;
			soma += n10 * 4;
			soma += n11 * 3;
			soma += n12 * 2;

			divisao = soma / 11;
			divisao = parseInt(divisao,10);
			soma = soma - (11 * divisao);

			if(soma == 0 || soma == 1){
				resultado1 = 0;
			}
			else{
				resultado1 = 11 - soma;
			}
			//conta para identificacao do 14 digito
			if(resultado1 == n13){
				soma = n1 * 6;
				soma += n2 * 5;
				soma += n3 * 4;
				soma += n4 * 3;
				soma += n5 * 2;
				soma += n6 * 9;
				soma += n7 * 8;
				soma += n8 * 7;
				soma += n9 * 6;
				soma += n10 * 5;
				soma += n11 * 4;
				soma += n12 * 3;
				soma += n13 * 2;

				divisao = soma / 11;
				divisao = parseInt(divisao,10);
				soma = soma - (11 * divisao);

				if(soma == 0 || soma == 1){
					resultado2 = 0;
				}
				else{
					resultado2 = 11 - soma;
				}
				if(resultado2 == n14){
					return (true);
					}
				else{
					alert("CNPJ Inválido");
					return (false);
				}
			}else{
				alert ("CNPJ Inválido");
				return (false);
			}
		}
	}
}
function valida_qtd(Objeto) 
{
    var nPosicao = 0;
	var lRetorna = true;
	for(nPos=0;nPos<Objeto.length;nPos++)
	{
		  if (Objeto.elements[nPos].value.length != 0)
		  {
			  if ((parseInt(Objeto.elements[nPos].value)==0) || (isNaN(Objeto.elements[nPos].value)))
			  {
				  nPosicao = nPos;
				  lRetorna = false;
			  }
		   }
		   else
		   {
			  nPosicao = nPos;
			  lRetorna = false;
		   }
	 }
	 if (!lRetorna)
	 {
	  alert ('As quantidades tem que ser maiores que ZERO !!!');
	  Objeto.elements[nPosicao].focus();
	  return false;
	 }
}

function valida_qtd_configurador(Objeto) 
{
    var nPosicao = 0;
	var lRetorna = true;
	for(nPos=0;nPos<Objeto.length;nPos++)
	{
		  if (Objeto.elements[nPos].Opcao == "numero")
		  {
			  if (Objeto.elements[nPos].value.length != 0)
			  {
				  if ((parseInt(Objeto.elements[nPos].value)==0) || (isNaN(Objeto.elements[nPos].value)))
				  {
					  nPosicao = nPos;
					  lRetorna = false;
				  }
			   }
			   else
			   {
				  nPosicao = nPos;
				  lRetorna = false;
			   }
		  }
	 }
	 if (!lRetorna)
	 {
	  alert ('As quantidades tem que ser maiores que ZERO !!!');
	  Objeto.elements[nPosicao].focus();
	  return false;
	 }
}

function desabilita1(val)
{
	var valor = val;
	if (val == 'F')
	{
		for(i=1; i<=3; i++)
		{
			document.getElementById('a_2_1_1_'+i).disabled = true;
			document.getElementById('a_2_1_2_'+i).disabled = true;
			document.getElementById('a_2_1_'+i).disabled = true;
		}
	}
	else 
	{
		for(i=1; i<=3; i++)
		{
			document.getElementById('a_2_1_1_'+i).disabled = false;
			document.getElementById('a_2_1_2_'+i).disabled = false;
			document.getElementById('a_2_1_'+i).disabled = false;
		}
	}
}

function desabilita2(val)
{
	var valor = val;
	if (val == 'F')
	{
		for(i=1; i<=18; i++)
		{
			document.getElementById('a_2_2_'+i).disabled = true;
		}
	}
	else 
	{
		for(i=1; i<=18; i++)
		{
			document.getElementById('a_2_2_'+i).disabled = false;
		}
	}
}