// *******************************************************************************************************************
// Função de Validar Fim do Pedido
// *******************************************************************************************************************
function ValidaFiltroPedido(obj)
{
	var sel = "";
	for (i=0;i<obj.opcao.length;i++)
	{
		if (obj.opcao[i].checked)
		{
			sel = obj.opcao[i].value;
		}
	}
	if (sel=="numero" && Trim(obj.nr_pedido.value)=="")
	{
		alert("Preencha o numero do pedido.");
		return false;
	}
	else if (sel=="data" && (Trim(obj.data_ini.value)=="" || Trim(obj.data_fim.value)==""))
	{
		alert("Preencha as datas corretamente.");
		return false;
	}

	return true;
}

// *******************************************************************************************************************
// Função de Validar Fim do Pedido
// *******************************************************************************************************************
function ValidaFimPedido(obj)
{
	//Pegando a forma de pagamento
		var forma = "";
		if(obj.cp_tipo_pagto.length == undefined)
		{
			forma = obj.cp_tipo_pagto.value;
		}else{
			for (i=0 ; i<obj.cp_tipo_pagto.length ; i++ )
			{
				if (obj.cp_tipo_pagto[i].checked)
				{
					forma = obj.cp_tipo_pagto[i].value;
				}
			}
		}

	if (forma=="CC")
	{
	// Validando Cartão
		if (obj.cp_ds_cvv)
		{
			if (Trim(obj.cp_ds_cvv.value)=="" || !isNum(obj.cp_ds_cvv.value))
			{
				alert("Por favor, digite o CVV do cartão de crédito corretamente.");
				obj.cp_ds_cvv.select();
				obj.cp_ds_cvv.focus();
				return false;
			}
		}
		if (Trim(obj.cp_ds_num_cc.value)=="")
		{
			alert("Por favor, digite o número do cartão de crédito");
			obj.cp_ds_num_cc.select();
			obj.cp_ds_num_cc.focus();
			return false;
		}
		if (!isNum(Trim(obj.cp_ds_num_cc.value)))
		{
			alert("Por favor, digite corretamente o número de cartão de crédito");
			obj.cp_ds_num_cc.select();
			obj.cp_ds_num_cc.focus();
			return false;
		}
		if (!CheckCardNumber(obj))
        {
			return false;
		}
	}
	// Validando dados
		return ValidaFormLoja(obj);
}




// *******************************************************************************************************************
// Função de Validar Forms padronizados
// *******************************************************************************************************************
	function ValidaFormLoja(frm)
	{
		var i;
		for (i=0; i<frm.length; i++)
		{
			obj_atual = frm[i];
			if(obj_atual.type.toLowerCase()=="hidden" && obj_atual.name.toLowerCase().indexOf("obr*")!=-1)
			{
				obj_ante = frm[i-1];
				//Verificando campo tipo DATA
					if(obj_atual.name.toLowerCase().indexOf("data_obr*")!=-1)
					{
						if( !verificaData(obj_ante.value) )
						{
							if( Trim(obj_atual.value)!="" )
							{
								alert(obj_atual.value);
								obj_ante.focus();
								obj_ante.select();
							}else{
								alert("Por favor, preencha corretamente a data (DD/MM/AAAA).");
								obj_ante.focus();
								obj_ante.select();
							}
						return false;
						}
					}
				//Verificando campo tipo numero
					else if (obj_atual.name.toLowerCase().indexOf("numero_obr*")!=-1)
					{
						if( ExisteCaraterEstranho(obj_ante.value,"0123456789.,") )
						{
							if( Trim(obj_atual.value)!="" )
							{
								alert(obj_atual.value);
								obj_ante.focus();
								obj_ante.select();
							}else{
								alert("Por favor, preencha corretamente o campo numérico.");
								obj_ante.focus();
								obj_ante.select();
							}
						return false;
						}else if ( parseFloat("0"+obj_ante.value)==0 )
						{
							if( Trim(obj_atual.value)!="" )
							{
								alert(frm[i].value);
								obj_ante.focus();
								obj_ante.select();
							}else{
								alert("Por favor, preencha corretamente o campo numérico.");
								obj_ante.focus();
								obj_ante.select();
							}
						return false;
						}
					}
				//Verificando campo e o anterios, caso numero e complemento
					else if (obj_atual.name.toLowerCase().indexOf("ou_obr*")!=-1)
					{
						if( Trim(obj_ante.value)=="" && Trim(frm[i-2].value)=="" )
						{
							if( Trim(obj_atual.value)!="" )
							{
								alert(obj_atual.value);
								obj_ante.focus();
								obj_ante.select();
							}else{
								alert("Por favor, preencha todos os campos.");
								obj_ante.focus();
								obj_ante.select();
							}
						return false;
						}
					}
				//Verificando campo tipo NOME
					else if (obj_atual.name.toLowerCase().indexOf("nome_obr*")!=-1)
					{
						if( Trim(obj_ante.value)=="" || Trim(obj_ante.value).indexOf(" ")==-1)
						{
							if( Trim(obj_atual.value)!="" )
							{
								alert(obj_atual.value);
								obj_ante.focus();
								obj_ante.select();
							}else{
								alert("Por favor, preencha o campo corretamente.");
								obj_ante.focus();
								obj_ante.select();
							}
						return false;
						}
					}
				//Verificando campo tipo textos normais
					else{
						if( Trim(obj_ante.value)=="" )
						{
							if( Trim(obj_atual.value)!="" )
							{
								alert(obj_atual.value);
								obj_ante.focus();
								obj_ante.select();
							}else{
								alert("Por favor, preencha todos os campos.");
								obj_ante.focus();
								obj_ante.select();
							}
						return false;
						}
					}
			}
		}
		return true;
	}




// *******************************************************************************************************************
// Função de Validação de Data
// *******************************************************************************************************************
		function verificaData(Data)
		 {
		  var dma = -1;
		  var data = Array(3);
		  var ch = Data.charAt(0);
		  for(i=0; i < Data.length && (( ch >= '0' && ch <= '9' ) || ( ch == '/' && i != 0 ) ); ){
		   data[++dma] = '';
		   if(ch!='/' && i != 0) return false;
		   if(i != 0 ) ch = Data.charAt(++i);
		   if(ch=='0') ch = Data.charAt(++i);
		   while( ch >= '0' && ch <= '9' ){
			data[dma] += ch;
			ch = Data.charAt(++i);
		   }
		  }
		  if(ch!='') return false;
		  if(data[0] == '' || isNaN(data[0]) || parseInt(data[0]) < 1) return false;
		  if(data[1] == '' || isNaN(data[1]) || parseInt(data[1]) < 1 || parseInt(data[1]) > 12) return false;
		  if(data[2] == '' || isNaN(data[2]) || ((parseInt(data[2]) < 0 || parseInt(data[2]) > 99 ) && (parseInt(data[2]) < 1900 || parseInt(data[2]) > 9999))) return false;
		  if(data[2] < 50) data[2] = parseInt(data[2]) + 2000;
		  else if(data[2] < 100) data[2] = parseInt(data[2]) + 1900;
		  switch(parseInt(data[1])){
		   case 2: { if(((parseInt(data[2])%4!=0 || (parseInt(data[2])%100==0 && parseInt(data[2])%400!=0)) && parseInt(data[0]) > 28) || parseInt(data[0]) > 29 ) return false; break; }
		   case 4: case 6: case 9: case 11: { if(parseInt(data[0]) > 30) return false; break;}
		   default: { if(parseInt(data[0]) > 31) return false;}
		  }
		  return true;
		 }
		function valida_data(obj)
		{
			if ( Trim(obj.value)!="" )
			{
				if (!verificaData(obj.value))
				{
					alert("Por favor, preencha corretamente a data (DD/MM/AAAA).");
					obj.select();
					obj.focus();
				}
			}
		}
		function colocaBarra(obj)
		{
			if((Trim((obj.value).toString())).length==2 || (Trim((obj.value).toString())).length==5){
				obj.value=(obj.value).toString() + "/";
			}
		}




// *******************************************************************************************************************
// Função de Retirar espaços em branco
// *******************************************************************************************************************
		function LTrim(str)
		{ var whitespace = new String(" \t\n\r");
		  var s = new String(str);
		  if (whitespace.indexOf(s.charAt(0)) != -1)
		  {  var j=0, i = s.length;
			 while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
				   j++;
			 s = s.substring(j, i); }
		  return s;
		}
		function RTrim(str)
		{ var whitespace = new String(" \t\n\r");
		  var s = new String(str);
		  if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
		  {  var i = s.length - 1;       // Get length of string
			 while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
					i--;
			 s = s.substring(0, i+1);  }
		  return s;
		}
		function Trim(str) {return RTrim(LTrim(str)); }





// *******************************************************************************************************************
// Função de NÃO aceitar uns caracteres informados
// *******************************************************************************************************************
	function ExisteCaraterEstranho(texto,aceito)
	{
		for (i=0;i<Trim(texto).length;i++)
		{
			if ( aceito.indexOf(texto.substring(i,i+1))==-1) return true;
		}
		return false;
	}





// *******************************************************************************************************************
// Função de validar numero
// *******************************************************************************************************************
	function valida_numero(obj)
	{
		if( ExisteCaraterEstranho(obj.value,"0123456789.,") )
		{
			alert("Por favor, preencha corretamente o campo numérico.");
			obj.focus();
			obj.select();
		}else if ( parseFloat(obj.value)==0 ){
			alert("Por favor, preencha corretamente o campo numérico.");
			obj.focus();
			obj.select();
		}
	}

	function isNum(Valor, bDecimal)
	{ var str = Trim(Valor);
	  if (str == "")  return false;
	  for (var i = 0; i < str.length; i++)
	  {   var ch = str.substring(i, i + 1);
		  if (bDecimal == true)
		  {  if ((ch < "0" || "9" < ch) && (ch != ','))
				return false;      }
		  else
		  {  if ((ch < "0" || "9" < ch))
				return false;      }
	  }
	  return true;
	}









// *******************************************************************************************************************
// Valida CNPJ ou CPF
// *******************************************************************************************************************
	function valida_cpf_cnpj(obj)
	{
		if( Trim(obj.value).length<=11 && Trim(obj.value).length>0 )
		{
			if ( !validando_cpf(obj.value) )
			{
				alert("CPF inválido.");
				obj.focus();
				obj.select();
			}
		}else if( Trim(obj.value).length>11 )
		{
			if ( !validando_cnpj(obj.value) )
			{
				alert("CNPJ inválido.");
				obj.focus();
				obj.select();
			}
		}
	}

		/*******************************************************************************************/
		/************              CPF                          ************************************/
		// ATENÇÃO PARA USAR ESTE SCRIPT O FORM DEVE TER O NOME DE "captacao" E O CAMPO DE "cpf"
		
		function validando_cpf(valor){
		   var elimina_texto = "" + valor
		   var texto_limpo   = ""
		   for (var k = 0; k <= elimina_texto.length; k++) {
			   if (elimina_texto.charAt(k) >=0 & elimina_texto.charAt(k) <=9){
				   texto_limpo = texto_limpo + elimina_texto.charAt(k)}}
		  var carac  = texto_limpo.length;
		   if (carac == 11 ) {
			   if (carac == 11) {return(testa_cpf(texto_limpo))}
		   } else {
			 return(false)}}
		
		function testa_cpf(verificar){
		   var digito = verificar.toString()
		 // DIGITO 1
		   var soma1 = 0
			   soma1 = soma1 + 10 * digito.charAt(0);
			   soma1 = soma1 +  9 * digito.charAt(1);
			   soma1 = soma1 +  8 * digito.charAt(2);
			   soma1 = soma1 +  7 * digito.charAt(3);
			   soma1 = soma1 +  6 * digito.charAt(4);
			   soma1 = soma1 +  5 * digito.charAt(5);
			   soma1 = soma1 +  4 * digito.charAt(6);
			   soma1 = soma1 +  3 * digito.charAt(7);
			   soma1 = soma1 +  2 * digito.charAt(8);
		   var divisao1    = soma1 / 11
		   var multiplica1 = parseInt(divisao1,10) * 11
		   var resto1      = soma1 - multiplica1
		   if (resto1 <= 1) {var digi1 = 0} else {var digi1 = 11 - resto1}
		 // DIGITO 2
		   var soma2 = 0
			   soma2 = soma2 + 11 * digito.charAt(0);
			   soma2 = soma2 + 10 * digito.charAt(1);
			   soma2 = soma2 +  9 * digito.charAt(2);
			   soma2 = soma2 +  8 * digito.charAt(3);
			   soma2 = soma2 +  7 * digito.charAt(4);
			   soma2 = soma2 +  6 * digito.charAt(5);
			   soma2 = soma2 +  5 * digito.charAt(6);
			   soma2 = soma2 +  4 * digito.charAt(7);
			   soma2 = soma2 +  3 * digito.charAt(8);
			   soma2 = soma2 +  2 * digi1
		   var divisao2    = soma2 / 11
		   var multiplica2 = parseInt(divisao2,10) * 11
		   var resto2      = soma2 - multiplica2
		   if (resto2 <= 1) {var digi2 = 0} else {var digi2 = 11 - resto2}
		   if (digito.charAt(9) == digi1.toString() & digito.charAt(10) == digi2.toString()) {return(verificar)
		   }
		   else
		   {  
			   return(false)
		   }}
		
		/**********************       finaliza teste de CPF             ****************************/
		/*******************************************************************************************/
		
		/*******************************************************************************************/
		/************              CNPJ                          ************************************/
		// ATENÇÃO PARA USAR ESTE SCRIPT O FORM DEVE TER O NOME DE "captacao" E O CAMPO DE "cnpj"
		
		function validando_cnpj(verificar)
		{
		   var digito = verificar.toString()
		 // DIGITO 1
		   var soma1 = 0
			   soma1 = soma1 + 5 * digito.charAt(0)
			   soma1 = soma1 + 4 * digito.charAt(1)
			   soma1 = soma1 + 3 * digito.charAt(2)
			   soma1 = soma1 + 2 * digito.charAt(3)
			   soma1 = soma1 + 9 * digito.charAt(4)
			   soma1 = soma1 + 8 * digito.charAt(5)
			   soma1 = soma1 + 7 * digito.charAt(6)
			   soma1 = soma1 + 6 * digito.charAt(7)
			   soma1 = soma1 + 5 * digito.charAt(8)
			   soma1 = soma1 + 4 * digito.charAt(9)
			   soma1 = soma1 + 3 * digito.charAt(10)
			   soma1 = soma1 + 2 * digito.charAt(11)
		   var divisao1    = soma1 / 11
		   var multiplica1 = parseInt(divisao1,10) * 11
		   var resto1      = soma1 - multiplica1
		   if (resto1 <= 1) {var digi1 = 0} else {var digi1 = 11 - resto1}
		 // DIGITO 2
		   var soma2 = 0
			   soma2 = soma2 + 6 * digito.charAt(0)
			   soma2 = soma2 + 5 * digito.charAt(1)
			   soma2 = soma2 + 4 * digito.charAt(2)
			   soma2 = soma2 + 3 * digito.charAt(3)
			   soma2 = soma2 + 2 * digito.charAt(4)
			   soma2 = soma2 + 9 * digito.charAt(5)
			   soma2 = soma2 + 8 * digito.charAt(6)
			   soma2 = soma2 + 7 * digito.charAt(7)
			   soma2 = soma2 + 6 * digito.charAt(8)
			   soma2 = soma2 + 5 * digito.charAt(9)
			   soma2 = soma2 + 4 * digito.charAt(10)
			   soma2 = soma2 + 3 * digito.charAt(11)
			   soma2 = soma2 + 2 * digi1       
		   var divisao2    = soma2 / 11
		   var multiplica2 = parseInt(divisao2,10) * 11
		   var resto2      = soma2 - multiplica2
		   if (resto2 <= 1) {var digi2 = 0} else {var digi2 = 11 - resto2}
		   if (digito.charAt(12) == digi1.toString() & digito.charAt(13) == digi2.toString()){return(true)
		   } else {return(false)}}
		
		/**********************       finaliza teste de CNPJ             ****************************/
		/*******************************************************************************************/




// *******************************************************************************************************************
// Valida Email
// *******************************************************************************************************************
function isEmail(str) 
{ 
var bolOk = false;
if ((str != "") &&
(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str)) &&
str.substring(0, 4) != "www." && str.substring(0, 7) != "http://")
{
bolOk = true;
}
else
{
return false;
}
return (bolOk);
} 

function valida_email(obj)
{ 
	if (Trim(obj.value) != "" && !isEmail(Trim(obj.value)))
	{
		alert("Por favor, digite corretamente o e-mail.");
		obj.select();
		obj.focus();
		return(false);
	}
  return true;
}

