//submit
function submitFormSemValida(url, formulario)
{
	document.forms[formulario].action = url;
	document.forms[formulario].target = "_self";
	document.forms[formulario].submit();
}
function setSubmitFormSemValida(url, formulario)
{
	document.forms[formulario].action = url;
	document.forms[formulario].target = "_self";
}
//save form on session
function setSessionSave(formulario)
{
	document.forms[formulario].action = "/includes/setSessionSave.php";
	document.forms[formulario].target = "setSessionSaveIframe";
	document.forms[formulario].submit();
}
function openWindowDescProduct(produto_codigo)
{
	window.open('descProduct.php?produto_codigo=' + produto_codigo, 'descProduct', 'width=200, height=200');
}
function setPayment(pagamento ,formulario)
{
	document.forms[formulario].pagamento.value = pagamento;
}
function validaEmail(txt)
{
	var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-";
    var parsed = true;
	email = txt;
    for (var i=0; i < email.length; i++) {
      var letter = email.charAt(i).toLowerCase();
      if (validchars.indexOf(letter) != -1)
        continue;
      parsed = false;
      break;
    }
    if (parsed) return true;
	return false;
}
function validaTXT(valor)
{
	if( valor == '')
	{
		return false;
	}
	return true;
}
function validaNum(valor)
{
	if(isNaN(valor) == true) return false;
	if(valor == null) return false;
	if(valor == '') return false;
	return true;
}

function validaCPF(s) 
{
	var CPF = s; // Recebe o valor digitado no campo
	// Aqui começa a checagem do CPF
	var POSICAO, I, SOMA, DV, DV_INFORMADO;
	var DIGITO = new Array(10);
	DV_INFORMADO = CPF.substr(9, 2); // Retira os dois últimos dígitos do número informado
	
	valida = CPF.substr(11,3);
	if(valida != "") {
		return false;
	}
	// Desemembra o número do CPF na array DIGITO
	for (I=0; I<=8; I++) {
	DIGITO[I] = CPF.substr( I, 1);
	}
	
	// Calcula o valor do 10º dígito da verificação
	POSICAO = 10;
	SOMA = 0;
	for (I=0; I<=8; I++) {
	  SOMA = SOMA + DIGITO[I] * POSICAO;
	  POSICAO = POSICAO - 1;
	}
	DIGITO[9] = SOMA % 11;
	if (DIGITO[9] < 2) {
		DIGITO[9] = 0;
	}
	else{
	   DIGITO[9] = 11 - DIGITO[9];
	}
	
	// Calcula o valor do 11º dígito da verificação
	POSICAO = 11;
	SOMA = 0;
	for (I=0; I<=9; I++) {
	  SOMA = SOMA + DIGITO[I] * POSICAO;
	  POSICAO = POSICAO - 1;
	}
	DIGITO[10] = SOMA % 11;
	if (DIGITO[10] < 2) {
		DIGITO[10] = 0;
	}
	else {
		DIGITO[10] = 11 - DIGITO[10];
	}
	
	// Verifica se os valores dos dígitos verificadores conferem
	DV = DIGITO[9] * 10 + DIGITO[10];
	if (DV != DV_INFORMADO) {
	  return false;
	} 
	return true;
}
function validaCGC(s)
{
	var i;
	//s = limpa_string(s);
	var ok;
	var c = s.substr(0,12);
	var dv = s.substr(12,2);
	var d1 = 0;
	valida = s.substr(11,3);
	if(valida == "") {
		return false;
	}
	for (i = 0; i < 12; i++)
	{
	d1 += c.charAt(11-i)*(2+(i % 8));
	}
	if (d1 == 0) ok = false;
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(0) != d1)
	{
		  ok = false;
	}
	
	d1 *= 2;
	for (i = 0; i < 12; i++)
	{
	d1 += c.charAt(11-i)*(2+((i+1) % 8));
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(1) != d1)
	{
		ok = false;
	}
	if(ok == false) {
		  return false;
	} else {
			return true;
	}
}
function validaCadastroCPF(formulario)
{
	errorTXT = "";
	if(validaTXT(document.forms[formulario].cadastro_nome.value) == false ) 
	{
		errorTXT = errorTXT + " - Nome é obrigatorio\n";
	}

	if(validaTXT(document.forms[formulario].cadastro_email.value) == false ) 
	{
		errorTXT = errorTXT + " - Email é obrigatorio\n";
	}

	if(validaNum(document.forms[formulario].cadastro_cpfcgc.value) == false ) 
	{
		errorTXT = errorTXT + " - CPF é obrigatorio e deve conter apenas números\n";
	}
	else
	{
		cpfcnpj = "";
		cpfcnpj = document.forms[formulario].cadastro_cpfcgc.value;
/*		if(cpfcnpj.length == 13)
		{
			if(validaCGC(cpfcnpj) == false) errorTXT = errorTXT + " - CNPJ inserido não é válido\n";
		}
		else
		{
			if(validaCPF(cpfcnpj) == false) errorTXT = errorTXT + " - CPF inserido não é válido\n";
		}
*/		if(validaCPF(cpfcnpj) == false) errorTXT = errorTXT + " - CPF inserido não é válido\n";

	}
	
	if(errorTXT=="")
	{
		document.forms[formulario].submit();
		return true;
	}
	alert("Os seguintes erros ocorreram:\n" + errorTXT);
	return false;

}
function validaCadastro(formulario, num)
{
	errorTXT = "";
	
	if(validaTXT(document.forms[formulario].cadastro_nasc.value) == false ) 
	{
		errorTXT = errorTXT + " - Data de Nascimento é obrigatorio\n";
	}
	if(validaTXT(document.forms[formulario].cadastro_sexo.value) == false ) 
	{
		errorTXT = errorTXT + " - Sexo é obrigatorio\n";
	}
	if(validaNum(document.forms[formulario].cadastro_tel.value) == false ) 
	{
		errorTXT = errorTXT + " - Telefone é obrigatorio e deve conter apenas números\n";
	}
	if(validaNum(document.forms[formulario].cadastro_ddd.value) == false ) 
	{
		errorTXT = errorTXT + " - DDD é obrigatorio e deve conter apenas números\n";
	}
	if(validaTXT(document.forms[formulario].cadastro_endereco.value) == false ) 
	{
		errorTXT = errorTXT + " - Endereço é obrigatorio\n";
	}
	if(validaTXT(document.forms[formulario].cadastro_bairro.value) == false ) 
	{
		errorTXT = errorTXT + " - Bairro é obrigatorio\n";
	}
	if(validaTXT(document.forms[formulario].cadastro_cidade.value) == false ) 
	{
		errorTXT = errorTXT + " - Cidade é obrigatorio\n";
	}
	if(validaNum(document.forms[formulario].cadastro_cep.value) == false ) 
	{
		errorTXT = errorTXT + " - CEP é obrigatorio e deve conter apenas números\n";
	}
	else
	{
		if(document.forms[formulario].cadastro_cep.value.length < 8)
		{
			errorTXT = errorTXT + " - CEP deve conter no mínimo 8 algarismos\n";
		}
	}
	if (document.forms[formulario].cadastro_senha.value != document.forms[formulario].confirma.value) {
	    errorTXT += " - As senhas não conferem\n";
	} else {
        if (document.forms[formulario].cadastro_senha.value.length < 5) {
            errorTXT += " - A senha deve ter pelo menos 5 caracteres\n";
        }
	}
	
	if(errorTXT=="")
	{
		document.forms[formulario].submit();
		return true;
	}
	alert("Os seguintes erros ocorreram:\n" + errorTXT);
	return false;
}
function validaCadastroAltera(formulario, num)
{
	errorTXT = "";
	
	if(validaTXT(document.forms[formulario].cadastro_nasc.value) == false ) 
	{
		errorTXT = errorTXT + " - Data de Nascimento é obrigatorio\n";
	}
	if(validaNum(document.forms[formulario].cadastro_tel.value) == false ) 
	{
		errorTXT = errorTXT + " - Telefone é obrigatorio e deve conter apenas números\n";
	}
	if(validaNum(document.forms[formulario].cadastro_ddd.value) == false ) 
	{
		errorTXT = errorTXT + " - DDD é obrigatorio e deve conter apenas números\n";
	}
	if(validaTXT(document.forms[formulario].cadastro_endereco.value) == false ) 
	{
		errorTXT = errorTXT + " - Endereço é obrigatorio\n";
	}
	if(validaTXT(document.forms[formulario].cadastro_bairro.value) == false ) 
	{
		errorTXT = errorTXT + " - Bairro é obrigatorio\n";
	}
	if(validaTXT(document.forms[formulario].cadastro_cidade.value) == false ) 
	{
		errorTXT = errorTXT + " - Cidade é obrigatorio\n";
	}
	if(ValidaCep(document.forms[formulario].cadastro_cep.value) == false ) 
	{
		errorTXT = errorTXT + " - Numero de CEP Invalido!\n";
	}
	if(validaTXT(document.forms[formulario].cadastro_uf.value) == false ) 
	{
		errorTXT = errorTXT + " - UF é obrigatorio e deve conter apenas 2 caracteres\n";
	}

	if(errorTXT=="")
	{
		document.forms[formulario].submit();
		return true;
	}
	alert("Os seguintes erros ocorreram:\n" + errorTXT);
	return false;
}

function alteraOK(formulario)
{
	ok = document.forms[formulario].ok.value;
	if(ok == 1) document.forms[formulario].ok.value = 0;
	if(ok == 0) document.forms[formulario].ok.value = 1;
}
function validaTermo(formulario)
{
	ok = document.forms[formulario].ok.value;
	if(ok == 1)
	{
		document.forms[formulario].submit();
		return true;
	}
	alert("Você precisa concordar com termos para poder assinar.");
	return false;
}
function validaEscolhaEnd(formulario)
{
	codigo = document.forms[formulario].endereco_codigo.value;
	if(codigo != '')
	{
		document.forms[formulario].submit();
		return true;
	}
	alert("Você precisa escolher um endereço para entrega.");
	return false;
}
function validaNovoEnd(formulario)
{
	errorTXT = "";
	
	if(validaTXT(document.forms[formulario].clienteend_endereco.value) == false ) 
	{
		errorTXT = errorTXT + " - Endereço é obrigatorio\n";
	}
	if(validaTXT(document.forms[formulario].clienteend_num.value) == false ) 
	{
		errorTXT = errorTXT + " - Número é obrigatório\n";
	}
	if(validaTXT(document.forms[formulario].clienteend_bairro.value) == false ) 
	{
		errorTXT = errorTXT + " - Bairro é obrigatorio\n";
	}
	if(validaTXT(document.forms[formulario].clienteend_cidade.value) == false ) 
	{
		errorTXT = errorTXT + " - Cidade é obrigatorio\n";
	}
	if(validaNum(document.forms[formulario].clienteend_cep.value) == false ) 
	{
		errorTXT = errorTXT + " - CEP é obrigatorio e deve conter apenas números\n";
	}
	
	if(errorTXT=="")
	{
		document.forms[formulario].submit();
		return true;
	}
	alert("Os seguintes erros ocorreram:\n" + errorTXT);
	return false;
}
function validaFale(formulario)
{
	errorTXT = "";
	if(validaTXT(document.forms[formulario].fale_nome.value) == false ) 
	{
		errorTXT = errorTXT + " - Nome é obrigatorio\n";
	}

	if(validaTXT(document.forms[formulario].fale_email.value) == false ) 
	{
		errorTXT = errorTXT + " - Email é obrigatorio\n";
	}
	if(document.forms[formulario].fale_assunto.value == "0" ) 
	{
		errorTXT = errorTXT + " - Assunto é obrigatorio\n";
	}
	if(validaTXT(document.forms[formulario].fale_txt.value) == false ) 
	{
		errorTXT = errorTXT + " - Mensagem é obrigatorio\n";
	}
	if(errorTXT=="")
	{
		document.forms[formulario].submit();
		return true;
	}
	alert("Os seguintes erros ocorreram:\n" + errorTXT);
	return false;
}
function validaDevolucao(formulario)
{
	errorTXT = "";
	if(validaTXT(document.forms[formulario].fale_nome.value) == false ) 
	{
		errorTXT = errorTXT + " - Nome é obrigatorio\n";
	}

	if(validaTXT(document.forms[formulario].fale_email.value) == false ) 
	{
		errorTXT = errorTXT + " - Email é obrigatorio\n";
	}

	if(validaTXT(document.forms[formulario].fale_tel.value) == false ) 
	{
		errorTXT = errorTXT + " - Telefone é obrigatorio\n";
	}
	if(validaTXT(document.forms[formulario].fale_pedido.value) == false ) 
	{
		errorTXT = errorTXT + " - Pedido é obrigatorio\n";
	}
	if(validaTXT(document.forms[formulario].fale_produto.value) == false ) 
	{
		errorTXT = errorTXT + " - Produto é obrigatorio\n";
	}

	if(document.forms[formulario].fale_assunto.value == "0" ) 
	{
		errorTXT = errorTXT + " - Assunto é obrigatorio\n";
	}
	if(validaTXT(document.forms[formulario].fale_txt.value) == false ) 
	{
		errorTXT = errorTXT + " - Mensagem é obrigatorio\n";
	}
	if(errorTXT=="")
	{
		document.forms[formulario].submit();
		return true;
	}
	alert("Os seguintes erros ocorreram:\n" + errorTXT);
	return false;
}

function validaLogin(formulario)
{
	errorTXT = "";
	if(validaTXT(document.forms[formulario].login_email.value) == false ) 
	{
		errorTXT = errorTXT + " - Preencha seu email\n";
	}

	if(validaTXT(document.forms[formulario].login_senha.value) == false ) 
	{
		errorTXT = errorTXT + " - Preencha sua senha\n";
	}
	if(errorTXT=="")
	{
		document.forms[formulario].submit();
		return true;
	}
	alert("Os seguintes erros ocorreram:\n" + errorTXT);
	return false;
}
function ContaCaracteres(tam, formulario, campo)
{	
	intCaracteres = tam - campo.value.length ;

	if (intCaracteres > 0) 
	{	document.forms[formulario].nu_caracteres.value = intCaracteres;
		return true;
	}
	else
	{	intMensagem = tam;// - document.form1.nu_origem.value.length;
		document.forms[formulario].nu_caracteres.value = 0;
		campo.value = campo.value.substr(0,intMensagem)
		return false;
	}
}

	function validaForm(){
		//validar nome
		d = document.formulario;
		if (d.TAB_INDIQUE_NOMEORIGEM.value == ""){
			alert("O campo Remetente deve ser preenchido!");
			d.TAB_INDIQUE_NOMEORIGEM.focus();
			return false;
		}
		//validar user
		if (d.TAB_INDIQUE_EMAILORIGEM.value == ""){
			alert("O campo Email do Remetente deve ser preenchido!");
			d.TAB_INDIQUE_EMAILORIGEM.focus();
			return false;
		}
		//validar senha
		if (d.TAB_INDIQUE_NOMEDESTINO.value == ""){
			alert("O campo Nome de Destino deve ser preenchido!");
			d.TAB_INDIQUE_NOMEDESTINO.focus();
			return false;
		}
		//validar email
		if (d.TAB_INDIQUE_EMAILDESTINO.value == ""){
			alert("O campo Email de Destino deve ser preenchido!");
			d.TAB_INDIQUE_EMAILDESTINO.focus();
			return false;
		}
		//validar email(verificao de endereco eletronico)
		parte1 = d.TAB_INDIQUE_EMAILORIGEM.value.indexOf("@");
		parte2 = d.TAB_INDIQUE_EMAILORIGEM.value.indexOf(".");
		parte3 = d.TAB_INDIQUE_EMAILORIGEM.value.length;
		if (!(parte1 >= 3 && parte2 >= 6 && parte3 >= 9)) {
			alert("O campo Email do Remetente deve ser conter um endereco eletronico!");
			d.TAB_INDIQUE_EMAILORIGEM.value='';
			d.TAB_INDIQUE_EMAILORIGEM.focus();
			return false;
		}


		//validar email(verificao de endereco eletronico)
		parte1 = d.TAB_INDIQUE_EMAILDESTINO.value.indexOf("@");
		parte2 = d.TAB_INDIQUE_EMAILDESTINO.value.indexOf(".");
		parte3 = d.TAB_INDIQUE_EMAILDESTINO.value.length;
		if (!(parte1 >= 3 && parte2 >= 6 && parte3 >= 9)) {
			alert("O campo Email de Destino deve ser conter um endereco eletronico!");
			d.TAB_INDIQUE_EMAILDESTINO.value='';
			d.TAB_INDIQUE_EMAILDESTINO.focus();
			return false;
		}
		return true;
	}

/**
 * Aplica a máscara de data
 */
function mascararData(e, obj)
{
   sKey = e.keyCode ? e.keyCode : e.which ;

   if (
         (sKey>=48 && sKey<=57) // [0-9]
       || sKey==8 // backspace
       || sKey==46 // delete
       || sKey==9 // TAB
       || (sKey>=35 && sKey<=40) // home, end, setas
      /* || (sKey>=96 && sKey<=105)*/ // [0-9] teclado numerico
      ) {

         tamanho = obj.value.length;

         if(tamanho != 0 && sKey!=8){
               if (tamanho == 2 || tamanho == 5)
                  obj.value += "/";
         }

         return true;

   } else {
		if (window.event) // para IE
		{
			e.cancelBubble = true;
			e.returnValue = false;
		}
		else // para mozilla
		{
			e.stopPropagation();
			e.preventDefault ();
		}
		return false;
   }
}

/**
 * Retorna uma mensagem se objeto passado possui uma data válida
 */
function isData( e, objeto ) {
	if (objeto.value == '')
		return false;

    if (!validarData(objeto.value)) {
        alert('Data inválida!');
        objeto.value='';
        objeto.focus();
        if (window.event) // para IE
		{
			e.cancelBubble = true;
			e.returnValue = false;
		}
		else // para mozilla
		{
			e.stopPropagation();
			e.preventDefault ();
		}
		return false;
    }
}

/**
 * Função que valida uma data
 */
function validarData( data ) {
  var objRegExp = /^\d{1,2}(\/)\d{1,2}\1\d{4}$/

  if(!objRegExp.test(data)) {
    return false;
  } else {
    var arrayData = data.split("/");
    var arrayBusca = { '01' : 31,'03' : 31, '04' : 30,'05' : 31,'06' : 30,'07' : 31,
                        '08' : 31,'09' : 30,'10' : 31,'11' : 30,'12' : 31}
    var dia = parseInt(arrayData[0],10);

    if(arrayBusca[arrayData[1]] != null) {
      if(dia <= arrayBusca[arrayData[1]] && dia != 0)
        return true;
    }

    var mes = parseInt(arrayData[1],10);
    if (mes == 2) {
       var ano = parseInt(arrayData[2]);
       if (dia > 0 && dia < 29) {
           return true;
       }
       else if (dia == 29) {
       // Se o ano for divisível por 4 e simultaneamente não for divisível por 100
       // Ou se ele for divisível por 400
         if ((ano % 4 == 0) && (ano % 100 != 0) || (ano % 400 == 0)) {
             return true;
         }
       }
    }
  }
  return false;
}

/**
 * Aplica a máscara de números
 */
function mascararNumero(e, obj)
{
   sKey = e.keyCode ? e.keyCode : e.which ;

   if (
         (sKey>=48 && sKey<=57) // [0-9]
       || sKey==8 // backspace
       || sKey==46 // delete
       || sKey==9 // TAB
       || (sKey>=35 && sKey<=40) // home, end, setas
      ) {

         return true;

   } else {
		if (window.event) // para IE
		{
			e.cancelBubble = true;
			e.returnValue = false;
		}
		else // para mozilla
		{
			e.stopPropagation();
			e.preventDefault ();
		}
		return false;
   }
}

/**
 * Aplica a máscara para cep
 */
function MascaraCEP(e,src,mask) {
	 if(window.event) {
	    _TXT = e.keyCode;
	} 
    	else if(e.which) {
	    _TXT = e.which;
	}
    	if(_TXT > 47 && _TXT < 58) { 
		var i = src.value.length; var saida = mask.substring(0,1); var texto = mask.substring(i)
		if (texto.substring(0,1) != saida) {
			 src.value += texto.substring(0,1);
		} 
		    return true;
		} else { 
		 	if (_TXT != 8)	{ 
				return false; 
		} else { 
		 	return true; 
		}
    	}
}


/**
 * Valída o cep informado.
 */
function ValidaCep(cep){
    	exp = /\d{5}\-\d{3}/;
    	if(!exp.test(cep)){
		return false;
	}	
}
