//alert ('checaform.js');

/******************************************************
	
	Usa:
		urlScripts.js
		msgScripts.js
		switchChars.js
		stringScripts.js

******************************************************/

function isEmail(string) {

if (string=='')
  return false;

if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
	return true;
else
	return false;
}	

function valida_cnpj(cnpj){
  var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
  digitos_iguais = 1;
  if (cnpj.length < 14 && cnpj.length < 15)
    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))
      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))
      return false;
    return true;
  }else
   return false;
}



function verificaCPF(cpf) {

	//alert ('verificaCPF(cpf);');

	var CPF = cpf; // 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

	// 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;
	}else{
		return true;
	}

}



function verificaData(divNome){
	
	var dia = $('#dia'+divNome);
	if(dia.val() == ''){
		alert ('Preencha o dia.');
		dia.focus();
		return false;
	}
	
	var mes = $('#mes'+divNome);
	if(mes.val() == ''){
		alert ('Preencha o mês.');
		mes.focus();
		return false;
	}
	
	var ano = $('#ano'+divNome);
	if(ano.val() == ''){
		alert ('Preencha o ano.');
		ano.focus();
		return false;
	}	
	
	return true;
	
}


function validaCadastroUsuario(temCaptcha){


	if (temCaptcha == 'S'){
		var captcha = $('#captcha');
		if(captcha.val() == '' || captcha.val() != '4'){
			alert ('Responda corretamente à pergunta.');
			captcha.focus();
			return false;
		}
	}
	
	var login = $('#login');
	if(login.val() == ''){
		alert ('Preencha o login.');
		login.focus();
		return false;
	}

	var email = $('#email');
	if(isEmail(email.val()) == false){
		alert ('Preencha corretamente o email.');
		email.focus();
		return false;
	}	

	var emailMsg = document.getElementById('emailDiv');
	var temMsg = emailMsg.innerHTML.indexOf('indispon');
	if (temMsg != -1){
		alert ('Email já utilizado. Digite outro email.');
		emailMsg.innerHTML = '';
		email.focus();
		email.val('');
		return false;
	}

	var senha = $('#senha');
	if(senha.val() == ''){
		alert ('Preencha a senha.');
		senha.focus();
		return false;
	}

	var senhaConfirma = $('#senhaConfirma');
	if(senhaConfirma.val() == ''){
		alert ('Preencha a confirmação de senha.');
		senhaConfirma.focus();
		return false;
	}
	
	
	var nome = $('#nome');
	if(nome.val() == ''){
		alert ('Preencha o nome.');
		nome.focus();
		return false;
	}
	
	var sexo = $('input[name="sexo"]:checked').val();
	if(sexo == undefined){
		alert ('Preencha o sexo.');
		$('#sexo').focus();;
		return false;
	}

	if (verificaData('Nascimento') == false){
		return false;
	}

	var profissao = $('#profissao');
	if(profissao.val() == ''){
		alert ('Preencha a profissão.');
		profissao.focus();
		return false;
	}

	var estado = $('#estado');
	if(estado.val() == ''){
		alert ('Selecione o estado.');
		estado.focus();
		return false;
	}

	var cidade = $('#cidade');
	if(cidade.val() == ''){
		alert ('Selecione a cidade.');
		cidade.focus();
		return false;
	}

	return true;

}


function verificaLoginSenha(){
	
	var login = $('#login');
	if(login.val() == ''){
		alert ('Preencha o login.');
		login.focus();
		return false;
	}
	
	var senha = $('#senha');
	if(senha.val() == ''){
		alert ('Preencha a senha.');
		senha.focus();
		return false;
	}	

	return true;
	
}


function validaConteudo(){
	
	var titulo = $('#titulo');
	if(titulo.val() == ''){
		alert ('Preencha o título.');
		titulo.focus();
		return false;
	}

	var texto = tinyMCE.get('texto').getContent();
	if (texto == ''){
		alert ('Preencha o texto.');
		titulo.focus();
		return false;		
	}

	return true;
	
}


function validaUsuarioPresto(){
	
	var tipo = $('#tipo');
	if(tipo.val() == ''){
		alert ('Preencha o tipo.');
		tipo.focus();
		return false;
	}	
	
	var nome = $('#nome');
	if(nome.val() == ''){
		alert ('Preencha o nome.');
		nome.focus();
		return false;
	}
	
	var email = $('#email');
	if(isEmail(email.val()) == false){
		alert ('Preencha corretamente o email.');
		email.focus();
		return false;
	}	
/*
	var emailMsg = document.getElementById('emailDiv');
	var temMsg = emailMsg.innerHTML.indexOf('foi cadastrado');
	if (temMsg != -1){
		alert ('Email já utilizado. Digite outro email.');
		emailMsg.innerHTML = '';
		email.focus();
		email.val('');
		return false;
	}	
	*/
	var senha = $('#senha');
	if(senha.val() == ''){
		alert ('Preencha a senha.');
		senha.focus();
		return false;
	}	

  return true;

}


function validaContato(){
	
	var nome = $('#nome');
	if(nome.val() == ''){
		alert ('Preencha o nome.');
		nome.focus();
		return false;
	}
	
	var email = $('#email');
	if(isEmail(email.val()) == false){
		alert ('Preencha corretamente o email.');
		email.focus();
		return false;
	}
	
	var assunto = $('#assunto');
	if(assunto.val() == ''){
		alert ('Preencha o assunto.');
		assunto.focus();
		return false;
	}	
	
	var mensagem = $('#mensagem');
	if(mensagem.val() == ''){
		alert ('Preencha a mensagem.');
		mensagem.focus();
		return false;
	}	
	
}


function enviaImagem(){
	
	// Apaga a mensagem anterior da tela (se houver)
	clearMsg();
	
	var albumObj = $('#album');
	if (albumObj.val()==''){
		alert('Escolha um álbum.');
		albumObj.focus();
		return false;
	}

	var imagem = $('#imagem');
	if (imagem.val() == ''){
		alert('Selecione uma imagem.');
		imagem.focus();
		return false;
	}
	
	var legendaObj = $('#legenda');
	if (legendaObj.val()==''){
		alert('Preencha o campo "Legenda para a imagem".');
		legendaObj.focus();
		return false;
	}
	
}


function validaOrdArquivos(orderFieldPrefix, numElementos){

  for (i=1; i<(numElementos+1); i++){
    var elm1 = $('#'+orderFieldPrefix+i);
    for (j=1; j<(numElementos+1); j++){
      var elm2 = $('#'+orderFieldPrefix+j);
      if (j!=i && elm1.val()==elm2.val()){
        alert ("Existe mais de um elemento com a mesma ordem.");
        return false;
      }
    }
  }

  return true;

}


function validaListaChecks(divId){

  // Verifica se ao menos um Checkbox numa lista esta marcado

  // A lista deve estar dentro de um div (divId)
  var numChecks = $('#'+divId+' > *').length;

  for (i=1; i<(numChecks+1); i++){
    var thisCheckbox = $('#'+divId+' input:nth-child('+i+')').attr('checked');
    if (thisCheckbox!=false){
      return true;
    }
  }
  return false;

}


function validaCamisa(){

  var obj = $('#estampa');
  if (obj.val() == ''){
    alert('Selecione uma estampa.');
    obj.focus();
    return false;
  }

  var obj = $('#precoM');
  if (obj.val() == ''){
    alert('Digite um preço para a camisa.');
    obj.focus();
    return false;
  }

  var M = $('#sexo_M');
  var F = $('#sexo_F');
  
  if (M.attr('checked')=='' && F.attr('checked')==''){
    alert('Selecione ao menos um gênero para a camisa.');
    return false;
  }

  if (M.attr('checked')!=''){

    if (!validaListaChecks('checkListM')){
      alert('Selecione ao menos um tamanho para a camisa masculina.');
      return false;
    }

  }

  if (F.attr('checked')!=''){
    obj = $('#precoF');
    if (obj.val() == ''){
      alert('Digite um preço para a camisa.');
      obj.focus();
      return false;
    }

    if (!validaListaChecks('checkListF')){
      alert('Selecione ao menos um tamanho para a camisa feminina.');
      return false;
    }

  }

  $('#precoM').removeAttr('disabled');

  return true;

}


function clearForm(form) {

 // alert('clearForm');

  // iterate over all of the inputs for the form
  // element that was passed in
  $('#'+form+' input').each(function() {

    var type = this.type;
    var tag = this.tagName.toLowerCase(); // normalize case

    // it's ok to reset the value attr of text inputs,
    // password inputs, and textareas
    if (type == 'text' || type == 'password' || tag == 'textarea')
     this.value = "";

    // checkboxes and radios need to have their checked state cleared
    // but should *not* have their 'value' changed
    else if (type == 'checkbox' || type == 'radio')
     this.checked = false;

  });

  $('#'+form+' select').each(function() {

    // select elements need to have their 'selectedIndex' property set to -1
    // (this works for both single and multiple select elements)
    this.selectedIndex = 0;

  });
};


function validaNews(){

	var email = $('#email_news');
	if(isEmail(email.val()) == false){
		alert ('Preencha corretamente o email.');
		email.focus();
		return false;
	}

  return true;


}


function validaForm(formId, emailField, confirmaSenha, local){

  if (emailField!=''){
   var valido = $('#'+formId+' > table').validate({
     rules: {
        email: {
          required: true,
          email: true
        }
      }
    }).form();
  }else{
     var valido = $('#'+formId).validate().form();
  }


var valido = $('#'+formId).validate().form();

  if (confirmaSenha!='' && valido != false){
    var senha = $('#senha');
    var senhaConfirma = $('#confirmaSenha');
    if(senhaConfirma.val() != senha.val()){
      $('#confirmaSenhaDiv').html('<br /> <label class="error1">As senhas digitadas devem ser iguais.</label>');
      senhaConfirma.focus();
      return false;
    }else{
      $('#confirmaSenhaDiv').html('');
    }
  }


  if (local!='' && valido != false){

    var estado = $('#estado');
    if(estado.val() == ''){
      $('#estadoErroDiv').html('<br /> <label class="error1">Este campo é obrigatório</label>');
      estado.focus();
      return false;
    }else{
      $('#estadoErroDiv').html('');
    }

    var cidade = $('#cidade');
    if(cidade.val() == ''){
      $('#cidadeErroDiv').html('<br /> <label class="error1">Este campo é obrigatório</label>');
      cidade.focus();
      return false;
    }else{
      $('#cidadeErroDiv').html('');
    }

  }

  return valido;

}


function validaEmailSenha(){

  var obj = $('#email');
  if (isEmail(obj.val())==false){
    alert('Digite um email válido.');
    obj.focus();
    return false;
  }

  var obj = $('#senha');
  if (obj.val()==''){
    alert('Digite a senha.');
    obj.focus();
    return false;
  }

  return true;

}



function validaCadastro(){

  if (validaEmailSenha()==false)
    return false;
  
  var senha = $('#senha');
  var senhaConfirma = $('#confirmaSenha');
  if(senhaConfirma.val() != senha.val()){
    alert('As senhas digitadas devem ser iguais.');
    senhaConfirma.focus();
    return false;
  }

  if (validaEndereco()==false)
    return false;

  return true;

}


function validaEndereco(){

  var obj = $('#cep');
  if (obj.val()=='' || isNaN(obj.val()) || obj.val().length!=8){
    alert('Digite o CEP (somente números).');
    obj.focus();
    return false;
  }

  var obj = $('#endereco');
  if (obj.val()==''){
    alert('Digite o endereço.');
    obj.focus();
    return false;
  }

  var obj = $('#numero');
  if (obj.val()==''){
    alert('Digite o número.');
    obj.focus();
    return false;
  }

  var obj = $('#bairro');
  if (obj.val()==''){
    alert('Digite o bairro.');
    obj.focus();
    return false;
  }

  var obj = $('#estado');
  if (obj.val()==''){
    alert('Selecione o estado.');
    obj.focus();
    return false;
  }

  var obj = $('#cidade');
  if (obj.val()==''){
    alert('Selecione a cidade.');
    obj.focus();
    return false;
  }

  var obj = $('#tel1');
  if (obj.val()==''){
    alert('Digite o telefone.');
    obj.focus();
    return false;
  }


  return true;
  
}


function validaDataTexto(data){

  re = /^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2}$/;

  var valido = re.test(data);

  //alert(valido);

  return (valido);

}


function validaDadosPessoais(){

  var obj = $('#nome');
  if (obj.val()==''){
    alert('Digite o nome.');
    obj.focus();
    return false;
  }

  var obj = $('#nascimento');
  //alert(validaDataTexto(obj.val()));
  if (validaDataTexto(obj.val())==false){
    alert('Por favor, digite uma data válida segundo o modelo informado');
    obj.focus();
    return false;
  }

  var obj = $('#cpf');
  if (verificaCPF(obj.val())==false || obj.val()==''){
    alert('Digite um CPF válido.');
    obj.focus();
    return false;
  }


  var obj = $('#email');
  if (isEmail(obj.val())==false){
    alert('Digite um email válido.');
    obj.focus();
    return false;
  }

  if (validaEndereco()==false)
    return false;

  return true;

}

function change(idCampo, max, idCampoDest){

  if ($('#'+idCampo).val().length >= max)
    $('#'+idCampoDest).focus();


}
