function validate_required(field, alerttxt) {
  with (field) {
    if (value==null||jsTrim(value)=="") {
      alert(alerttxt);
      return false;
    } else {
      return true
    }
  }
}

function validate_email(field, alerttxt) {
  with (field) {
    apos=value.indexOf("@");
    dotpos=value.lastIndexOf(".");
    if (apos<1||dotpos-apos<2) {
      alert(alerttxt);
      return false;
    } else {
      return true;
    }
  }
}

function validate_form(thisform) {
  with (thisform) {
    if (validate_required(assunto, "O campo Assunto deve ser preenchido!")==false) {
      assunto.focus();
      return false;
    }
    if (validate_required(texto, "O campo Texto deve ser preenchido!")==false) {
      texto.focus();
      return false;
    }
    $('loading').show();
    return true;
  }
}

function validate_contato_form(thisform, nome_form) {
  with (thisform) {
    if (validate_required(nome, "O campo Nome completo deve ser preenchido!")==false) {
      nome.focus();
      return false;
    }
    if (validate_email(email_contato, "Endereço de email inválido!")==false) {
      email_contato.focus();
      return false;
    }
    if (telefone.value.length != 14) {
	    alert("Telefone inválido!");
      telefone.focus();
      return false;
    }
		if (nome_form == 'contato')
		  mensagem = "O campo Mensagem deve ser preenchido!";
		else
		  mensagem = "O campo Descrição da demanda deve ser preenchido!";
    if (validate_required(demanda, mensagem)==false) {
      demanda.focus();
      return false;
    }
    $('loading').show();
    return true;
  }
}

/* function tipoMidiaSelecionado() { if ($('venda_tipo_midia').value == 'Eletrônica') { $('tipo_midia_eletronica').show(); } else { $('tipo_midia_eletronica').hide(); } } */

function pessoaFisicaJuridica(tipo_pessoa_fisica) {
  if (tipo_pessoa_fisica.toString() == 'true') {
     $('pessoa_fisica').show();
     $('pessoa_juridica').hide();
   }
   else {
     $('pessoa_fisica').hide();
     $('pessoa_juridica').show();
   }
}

function jsTrim(value) {
  return value.replace(/^\s+|\s+$/, "");
}

function cleanField(field){
  with (field) {
    if (value == "Seu nome..." || value == "Seu email..." || value == "Seu telefone...") {
      value = '';
    }
  }
}

function tamanhoMaximo(object, tamanho) {
  if(object.value.length > tamanho) {
	  object.value = object.value.substring(0, tamanho)
	}
}

function formata_data(data) {
  var nova_data = "";
  var tmp = "";
  var bar1 = true;

  array = data.toArray();
  for (i=0; i < array.size() ; i++) {
    if (bar1) {
      tmp = tmp + array[i];
      if (array[i] == "/") {
        bar1 = false;
      }
    }
    else {
      nova_data = nova_data + array[i];
      if (array[i] == "/") {
        nova_data = nova_data +tmp;
      }
    }
  }
  return nova_data;
}


/*
*    Script:    Mascaras em Javascript
*    Autor:    Matheus Biagini de Lima Dias
*    Data:    26/08/2008
*/
/*Função  Pai de Mascaras*/
function Mascara(o,f){
  v_obj=o
  v_fun=f
  setTimeout("execmascara()",1)
}

/*Função que Executa os objetos*/
function execmascara(){
  v_obj.value=v_fun(v_obj.value)
}

/*Função que Determina as expressões regulares dos objetos*/
function leech(v){
  v=v.replace(/o/gi,"0")
  v=v.replace(/i/gi,"1")
  v=v.replace(/z/gi,"2")
  v=v.replace(/e/gi,"3")
  v=v.replace(/a/gi,"4")
  v=v.replace(/s/gi,"5")
  v=v.replace(/t/gi,"7")
  return v
}

/*Função que permite apenas numeros*/
function Integer(v){
  return v.replace(/\D/g,"")
}

/*Função que padroniza telefone (11) 4184-1241*/
function Telefone(v){
  v=v.replace(/\D/g,"")                 
  v=v.replace(/^(\d\d)(\d)/g,"($1) $2") 
  v=v.replace(/(\d{4})(\d)/,"$1-$2")    
  return v
}

/*Função que padroniza CPF*/
function Cpf(v){
  v=v.replace(/\D/g,"")                    
  v=v.replace(/(\d{3})(\d)/,"$1.$2")       
  v=v.replace(/(\d{3})(\d)/,"$1.$2")       
                                           
  v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2") 
  return v
}

/*Função que padroniza CEP*/
function Cep(v){
  v=v.replace(/D/g,"")                
  v=v.replace(/^(\d{5})(\d)/,"$1-$2") 
  return v
}

function Data(v){
  v=v.replace(/\D/g,"") 
  v=v.replace(/(\d{2})(\d)/,"$1/$2")  
  return v
}

/*Função que padroniza CNPJ*/
function Cnpj(v){
  v=v.replace(/\D/g,"")                   
  v=v.replace(/^(\d{2})(\d)/,"$1.$2")     
  v=v.replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3") 
  v=v.replace(/\.(\d{3})(\d)/,".$1/$2")           
  v=v.replace(/(\d{4})(\d)/,"$1-$2")              
  return v
}

function validarCpfCnpj(thisform, tipo_pessoa, objeto) {
  with (thisform) {
    if (tipo_pessoa) {
      if (validaCpf($(objeto+'_cpf'))) {
        return true;
      } else {
        alert('O CPF que você digitou é inválido!');
        $(objeto+'_cpf').focus();
        return false;
      }
    } else {
      if (validaCnpj($(objeto+'_cnpj'))) {
        if (validaCpf($(objeto+'_cpf'))) {
          return true;
        } else {
          alert('O CPF que você digitou é inválido!');
          $(objeto+'_cpf').focus();
          return false;
        }
      } else {
        alert('O CNPJ que você digitou é inválido!');
        $(objeto+'_cnpj').focus();
        return false;
      }
    }
  }
}

function alertaCpfCnpj(thisform, tipo, objeto) {
  with (thisform) {
    if (tipo == 'CPF') {
      if (!validaCpf($(objeto+'_cpf')) && $(objeto+'_cpf').value.length == 14)
        $('alerta_cpf').innerHTML=' &raquo; CPF inválido!';
      else
        $('alerta_cpf').innerHTML='';
    }
    if (tipo == 'CNPJ') {
      if (!validaCnpj($(objeto+'_cnpj')) && $(objeto+'_cnpj').value.length == 18)
        $('alerta_cnpj').innerHTML=' &raquo; CNPJ inválido!';
      else
        $('alerta_cnpj').innerHTML='';
    }
  }
}

function validaCpf(c) {
  var numeros, digitos, soma, i, resultado, digitos_iguais, cpf = c.value.replace(/\D+/g, '');
  digitos_iguais = 1;
  if (cpf.length != 11)
    return false;
  for (i = 0; i < cpf.length - 1; i++)
    if (cpf.charAt(i) != cpf.charAt(i + 1)) {
      digitos_iguais = 0;
      break;
    }
  if (!digitos_iguais) {
    numeros = cpf.substring(0,9);
    digitos = cpf.substring(9);
    soma = 0;
    for (i = 10; i > 1; i--)
      soma += numeros.charAt(10 - i) * i;
    resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
    if (resultado != digitos.charAt(0))
      return false;
    numeros = cpf.substring(0,10);
    soma = 0;
    for (i = 11; i > 1; i--)
      soma += numeros.charAt(11 - i) * i;
    resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
    if (resultado != digitos.charAt(1))
      return false;
    return true;
  } else
    return false;
}

function validaCnpj(c) {
  var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais, cnpj = c.value.replace(/\D+/g, '');
  digitos_iguais = 1;
  if (cnpj.length != 14) {
    c.focus();
    return false;
  }
  for (i = 0; i < cnpj.length - 1; i++)
    if (cnpj.charAt(i) != cnpj.charAt(i + 1)) {
      digitos_iguais = 0;
      break;
    }
  if (!digitos_iguais) {
    tamanho = cnpj.length - 2
    numeros = cnpj.substring(0,tamanho);
    digitos = cnpj.substring(tamanho);
    soma = 0;
    pos = tamanho - 7;
    for (i = tamanho; i >= 1; i--) {
      soma += numeros.charAt(tamanho - i) * pos--;
      if (pos < 2)
        pos = 9;
    }
    resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
    if (resultado != digitos.charAt(0)) {
      c.focus();
      return false;
    }
    tamanho = tamanho + 1;
    numeros = cnpj.substring(0,tamanho);
    soma = 0;
    pos = tamanho - 7;
    for (i = tamanho; i >= 1; i--) {
      soma += numeros.charAt(tamanho - i) * pos--;
      if (pos < 2)
        pos = 9;
    }
    resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
    if (resultado != digitos.charAt(1)) {
      c.focus();
      return false;
    } else
      return true;
  } else {
    c.focus();
    return false;
  }
}

function showInsercoes(check_button, obj) {
  if (check_button.checked) {
		obj.show();
	} else {
	  obj.hide();
	}
}
