/**
 * @name esqueci minha senha
 * 
 * @category Informação de Senha
 * 
 * Atualização: inserido a restrição IN('1','4') na clausula where para o campo de situação do aluno
 * @author Ítalo Santiago
 * 
 **/

var param90006; // Contém o código do documento que deverá ser enviado para o aluno.
var param90008; // Variavel bool, indica se o esqueci minha senha esta ativado, ou não
var param90009; // Indica qual ação ao solicitar nova senha.
var campos = new Array();
var vlrCodigoUnidade;
var vlrNomeBanco;

function carregaConfiguracoes() {
	campos = new Array();
	vlrCodigoUnidade 	= document.getElementById('CodigoUnidade').value;
	vlrNomeBanco 		= document.getElementById('col_nome_banco').value;	
	form = document.getElementById('login');
		form.action = "esqueci_minha_senha.php?acao=registra_sessao&CodigoUnidade="+vlrCodigoUnidade+"&banco_dados="+vlrNomeBanco;
	form.submit();
}

function montaLinhaAguarde() {
	objTbl = document.getElementById('tblEsqueciMinhaSenha');
		objTr = document.createElement('TR');
			objTr.setAttribute('id', 'linhaAguarde');
			objTd = document.createElement('TD');
				objTd.setAttribute('class', 'fontePadrao');
				objTd.setAttribute('style', 'text-align: center;');
				objTd.setAttribute('id', 'tdAguarde;');
			objTd.innerHTML = 'Aguarde...';
		objTr.appendChild(objTd);
	objTbl.appendChild(objTr);
}

function adicionaCampo(idCampo, nomeCampo, descricaoCampo, tipoRestricao, tipoCampo, valorCampo, nomeTabela) {
		
	i = campos.length;
	campos[i] = new Array();	
	campos[i]['cat_no_campo_tabela'] = nomeCampo;
	campos[i]['cat_id_campo_tabela'] = idCampo;
	campos[i]['cat_nome_tabela'] = nomeTabela;
	
			
	if(!tipoCampo == 'radio') 
		campos[i]['cea_de_campo'] = descricaoCampo+":";
	else
		campos[i]['cea_de_campo'] = descricaoCampo;
	campos[i]['cea_te_tipo_restricao'] = tipoRestricao;
	campos[i]['tipo_campo'] =  tipoCampo; 
	campos[i]['valor_campo'] =  valorCampo;
}

var nomeCampoTabela = '';
var idCampoMarcado = null;
function montaCampos() {
	for(x in campos) {
		if(campos[x]['tipo_campo'] == 'text') {
			adicionaLinha(campos[x]['cea_de_campo'], true, '');
			campo = montaCampo(campos[x]['cat_id_campo_tabela'], campos[x]['cat_no_campo_tabela'], "",campos[x]['tipo_campo'], campos[x]['mascara']);
			if(idCampoMarcado == null){
				idCampoMarcado = campos[x]['cat_id_campo_tabela'];
			}
			adicionaLinha(campo, true, '');
			
			
			jqueyName = campos[x]['cat_no_campo_tabela'];			

			//add as mascaras de cpf e data. desde que comecem com a palavra cpf ou data
			if(jqueyName.toLowerCase().indexOf('data')> -1){
				$(document).ready(function() {
					$('.data_'+jqueyName).mask("99/99/9999");
				});
			}
			else if(jqueyName.toLowerCase().indexOf('cpf')> -1){
				$(document).ready(function() {
					$('.cpf_'+jqueyName).mask("999.999.999-99",{placeholder:" "});
				});
			}
			
		}else if(campos[x]['tipo_campo'] == 'radio'){
			if(nomeCampoTabela != campos[x]['cat_no_campo_tabela']){
				nomeCampoTabela = campos[x]['cat_no_campo_tabela']
				marcado = true;
			}
			else{
				marcado = false;
			}
			campo = montaCampo(campos[x]['cat_id_campo_tabela'], campos[x]['cat_no_campo_tabela'], campos[x]['valor_campo'],campos[x]['tipo_campo']);
			objTabela = document.getElementById('tblEsqueciMinhaSenha');			
			objTr =	objTabela.insertRow(objTabela.rows.length);			
			objTd = objTr.insertCell(0);			
			objTd.className = "fontePadrao";									
			objTd.innerHTML = campos[x]['cea_de_campo'] + campo;
		}
		else {
			document.getElementById('login').appendChild(montaCampo(campos[x]['cat_id_campo_tabela'],campos[x]['cat_no_campo_tabela'], campos[x]['cea_de_campo'],campos[x]['tipo_campo']));
		}				
	}
	if(campos.length < 2){
		document.getElementById('labelMsg').innerHTML = '<strong>Campos não configurados corretamente.<br />Entre em contato com a secretaria.</strong>';
	}
	else{
		objInput = document.createElement('input');
			objInput.setAttribute('name', 'button');
			objInput.setAttribute('type', 'button');
			objInput.setAttribute('class', 'botaoGeral');
			objInput.className = 'botaoGeral';
			objInput.setAttribute('style', 'float: left;');
			objInput.setAttribute('value', 'Buscar senha');
			objInput.onclick =  function() {
				escondeExibeCampo();
				buscaNovaSenha();
			}
		adicionaLinha(objInput, true, '');
		//seta o focus no primeiro campo text
		if(idCampoMarcado != null){
			document.getElementById(idCampoMarcado).focus();
		}
	}
}
//var idCampoRadio = 0;
var checked = 'checked=checked';
var campoIdRadio = '';
function montaCampo(idCampo, nomeCampo, valorCampo, tipoCampo) {

	mascara = "";
	if(tipoCampo != 'radio'){
		objCampo = document.createElement('input');
			objCampo.setAttribute('class', 'caixaTexto_Blur');
			objCampo.className = 'caixaTexto_Blur';			
			objCampo.setAttribute('style', 'width: 150px');			
			objCampo.setAttribute('name', nomeCampo);
				
			objCampo.setAttribute('id', idCampo);
			
			objCampo.setAttribute('value', valorCampo);
			objCampo.setAttribute('type', tipoCampo);
	
			/*Esta parte onde a mascara eh adicionada foi alterada, pois, no IE a mascara de data nao estava funcionando
			*nao existia mascara para cpf.
			*assim sendo esta sendo utilizado o jquery para add estas mascaras no formulario
			*Marcio Bandeia - 08/02/2010 
			*/
			if(nomeCampo.toLowerCase().indexOf('data') >-1 ) { 
				//mascara = "##/##/####";
				objCampo.className += ' data_'+idCampo;				 
			}
			else if(nomeCampo.toLowerCase().indexOf('cpf')> -1) {
				objCampo.className += ' cpf_'+idCampo;
			}
			if(mascara != "") {
					objCampo.setAttribute('onkeydown', 'formatar(this, "'+mascara+'")');
					objCampo.setAttribute('maxlenght', 10);
			}
	}
	else{
		if(nomeCampo == campoIdRadio){
			checked = '';			
		}
		else{
			checked = 'checked=checked';
		}
		campoIdRadio = nomeCampo;
				
		objCampo = '<input type='+tipoCampo+' id='+idCampo +' name='+nomeCampo+' value='+valorCampo+' '+checked+' >';		
	}
	return objCampo;
}

function adicionaLinha(descricao, bold, descAlt) {
	objTabela = document.getElementById('tblEsqueciMinhaSenha');
		objTr =	objTabela.insertRow(objTabela.rows.length);
		objTd = objTr.insertCell(0);
		objTd.className = "fontePadrao";
		if(bold)
			objTd.setAttribute("style", "font-weight: bold;");			
		if(descricao.tagName) {
			if(descAlt)
				objTd.innerHTML = descAlt;
			objTd.appendChild(descricao);
		}else {
			objTd.innerHTML = descricao;
		}	
}

function esqueceuPreencher(esqueceuPreencher) {
	alert('Você deve preencher o campo "'+esqueceuPreencher['cea_de_campo']+'"');
	escondeExibeCampo();
	document.getElementById(esqueceuPreencher['cat_no_campo_tabela']).focus();
}

var campoChecked = false;
var nomeCampo = '';
var escolha = '';
function buscaNovaSenha() {
	document.getElementById('divAguarde').style.display = '';
	sql = " SELECT TOP 1 aca_fichacadastralaluno.matricula, nomealuno, SenhaAluno, email, aca_fichacadastralaluno.codigoUnidade, Aca_InscricaoAlunoCurso.codigosituacaoalunoescola " +			
			"FROM Aca_FichaCadastralAluno " +
			"inner join aca_inscricaoAlunoCurso on " +
			"aca_fichaCadastralaluno.codigounidade = Aca_InscricaoAlunoCurso.codigounidade and " +
			"aca_fichaCadastralaluno.matricula = Aca_InscricaoAlunoCurso.matricula " +
			"WHERE 1=1  and Aca_InscricaoAlunoCurso.codigosituacaoalunoescola IN('1','2','4') and aca_fichaCadastralaluno.codigoUnidade ='"+vlrCodigoUnidade+"'";
	
	
	for(x in campos) {
		
		if(campos[x]['tipo_campo'] != undefined && campos[x]['tipo_campo'] != 'radio' )
			vlrCampo = document.getElementById(campos[x]['cat_id_campo_tabela']).value;
		else if(campos[x]['tipo_campo'] == 'radio'){
			vlrCampo = document.getElementsByName(campos[x]['cat_no_campo_tabela']);
			
			for(var i=0; i < vlrCampo.length; i++)
				if(vlrCampo[i].checked){
					campoChecked = true;
					escolha = vlrCampo[i].value;
				}
		}

		if(vlrCampo == "" || (campos[x]['tipo_campo'] == 'radio' && campoChecked == false)) {
			esqueceuPreencher(campos[x]);
			return false;
		}
		if(campos[x]['cat_no_campo_tabela'].toLowerCase() == 'datanascimento') {
			sql = sql + " AND datanascimento = " + RVC(vlrCampo, 'datetime');
		} else {
			if(campos[x]['cat_no_campo_tabela'] != "acao" && campos[x]['tipo_campo'] != 'radio') {
				switch(campos[x]['cea_te_tipo_restricao'].toLowerCase()) {
					case 'contendo a palavra':
						while(vlrCampo.indexOf(" ")>=0) {
							vlrCampo = vlrCampo.replace(" ","%");
						}
						sql = sql + " AND " + campos[x]['cat_nome_tabela']+"." + campos[x]['cat_no_campo_tabela'] + " LIKE '%" + vlrCampo + "%'";
					break;
					default:
						if(campos[x]['cat_no_campo_tabela'].toLowerCase().indexOf('cpf')>=0) {
							sql = sql + " AND REPLACE(REPLACE(" + campos[x]['cat_nome_tabela']+ "." + campos[x]['cat_no_campo_tabela'] + ",'-', ''),'.', '' ) = REPLACE(REPLACE('" + vlrCampo + "','-', ''),'.', '')";
						} else {
							sql = sql + " AND " + campos[x]['cat_nome_tabela']+ "." + campos[x]['cat_no_campo_tabela'] + " = '" + vlrCampo + "'";
						}
					break;
				}
			}
		}
	}

	switch(document.getElementById('acao').value.toLowerCase()) {		
		case 'apresentar na tela para o aluno':
			exibirSenhaAluno(sql, false);			
		break;
		
		case 'enviar para o e-mail do aluno':			
			criaFrame('enviarEmail', 'enviaEmailAluno.php','frmEnviarEmail',sql);
			break;
			
		case 'apresentar na tela só se não tiver e-mail':
			//retorna false se nao possuir email			
			if(!exibirSenhaAluno(sql, true))
				criaFrame('enviarEmail', 'enviaEmailAluno.php','frmEnviarEmail',sql);				
			break;
			
		case 'permitir que o usuário escolha':
			if(escolha == 'enviar_email'){				
				criaFrame('enviarEmail', 'enviaEmailAluno.php','frmEnviarEmail',sql);
			}
			else{
				exibirSenhaAluno(sql, false);
			}
			break;
	}
//	document.getElementById('divAguarde').style.display = 'none';
}

function encerra(msg){
	document.getElementById('divAguarde').style.display = 'none';
	alert(msg);
	escondeExibeCampo();	
}

function exibirSenhaAluno(sql, retornarVarlor){
	objSql = new SelectSQL(sql);
	rs = objSql.execute();
		
	if(rs.EOF) {
		encerra('Não foi possível encontrar nenhum usuário para os dados informados, por favor entre em contato com a instituição para confirmação dos dados');
		return false;
	}
	else if(rs.fields['codigosituacaoalunoescola'] != '1' && rs.fields['codigosituacaoalunoescola'] != '4'){
		//alert(rs.fields['codigosituacaoalunoescola']);
		encerra(' Não será possível recuperar a sua senha. Pois, você está com situação irregular ou não está matriculado na instituição.');
		return false;
	}
	
	if(retornarVarlor){
		if(rs.fields['email'] != '')
			return false;
	}
	
	exibeMsgNaTela("<strong>Nova senha:</strong><br/><br/>A sua senha é <strong>"+rs.fields['senhaaluno']+"</strong><br/><br/>Por questões de segurança, sugerimos que você altere sua senha no próximo logon.<br /><br />")
	escondeExibeCampo();
	
	return true;
}

function exibeMsgNaTela(msg){
	objTabela = document.getElementById('tblEsqueciMinhaSenha');
		for(i=(objTabela.rows.length-1);i>0;i--) {
			objTabela.deleteRow(i);
		}
	objRow = objTabela.insertRow(objTabela.rows.length);
		objCell = objRow.insertCell(0);
		objCell.setAttribute('class', 'fontePadrao');
		objCell.className = 'fontePadrao';
		objCell.innerHTML = msg;
		
	objInput = document.createElement('input');
		objInput.setAttribute('type', 'button');
		objInput.setAttribute('name', 'btnVoltar');
		objInput.setAttribute('value', 'Voltar para a tela de login');
		objInput.setAttribute('class', 'botaoGeral');
		objInput.className = 'botaoGeral';
		objInput.onclick = function() {
			escondeAreaLogin();
		}	
	objCell.appendChild(objInput);
}

function criaFrame(idFrame, src, idFrm, sql){
	
	ifrm = document.getElementById('ifrmEsqueciMinhaSenhaAuxiliar');
	frm =  document.getElementById('frmEqueciMinhaSenhaAuxiliar');
		frm.target = ifrm.name;
		frm.action = src;
	document.getElementById('cmdSql').value = base64encode(sql);
	
			
	frm.submit();
}

function montaTelaEsqueciMinhaSenha() {
	campos = null;
	campos = new Array();
	
	objDiv = document.createElement('div');
		objDiv.setAttribute('style', 'margin-bottom: 10px; background-color: rgb(252, 254, 222); padding: 10px; border: 1px solid; text-align: justify;');
		objDiv.style.marginBottom = "10px";
		objDiv.style.backgroundColor = "rgb(252, 254, 222)"; 
		objDiv.style.padding = "10px"; 
		objDiv.style.border = "1px solid"; 
		objDiv.style.textAlign = "justify";
		objDiv.innerHTML = "<strong>Ajuda:</strong><br />Para recadastrar sua senha, preencha os campos abaixo e clique em 'Enviar nova senha', após efetuar estes passos sua senha será encaminhada para o e-mail informado na sua ficha de matrícula, caso não tenha nenhum e-mail, por favor entre em contato com a secretaria.";
	adicionaLinha(objDiv, false, '');	
}

function retornaTr() {
	return document.createElement('tr');
}
function retornaTd() {
	return document.createElement('td');
}

function mostraEsqueciMinhaSenha() {

	if(!document.getElementById('linhaAguarde'))
		montaLinhaAguarde();

	document.getElementById('divAguarde').style.display = '';
	document.getElementById('tblLogin').style.display = 'none';
	document.getElementById('tblEsqueciMinhaSenha').style.display = '';
	document.getElementById('tituloLogin').innerHTML = 'Esqueci minha senha';	
	carregaConfiguracoes();	 
}

function escondeAreaLogin() {
	document.getElementById('tblLogin').style.display = '';
	objTable = document.getElementById('tblEsqueciMinhaSenha');
	for(i=objTable.rows.length-1;i>0;i--) {
		objTable.deleteRow(i);
	}	
	document.getElementById('tblEsqueciMinhaSenha').style.display = 'none';
	document.getElementById('tituloLogin').innerHTML = 'Identificação do aluno';
}

function formatar(src, mask, e)
{
  if(e) {
	  try {
			key =  e.keyCode; 
		} catch(er) {
			try {
				key =  e.which; 
			} catch(er) {
				alert(er);
			}
		}
		if(key == 8) return true;
  }
  var tipoCampo = '';
  var i = src.value.length;
  var saida = mask.substring(0,1);
  var texto = mask.substring(i);

  if(i>0) {
	  if(i-1 < 0)
	  	i = 0;
	  var cAtual = mask.substring(i, i+1);
	  var cNext = mask.substring(i+1, i+2);
	
	  if(i==1 && saida != "#")
	  	src.value = saida+src.value;
	  else if(cAtual != "#") {
	   	src.value+= cAtual;
	  }
	  
	  if(cNext == " ") {
	  	src.value += " ";	
	  }
  }
}

function escondeExibeCampo(){
	divLogin = document.getElementById('tblEsqueciMinhaSenha');
	if(divLogin.style.display == ''){
		divLogin.style.display = 'none';
		document.getElementById('tblEsqueciMinhaSenhaAguarde').style.display = '';
	}
	else{
		divLogin.style.display = '';
		document.getElementById('tblEsqueciMinhaSenhaAguarde').style.display = 'none';
	}	 	
}