	/**
	  *
	  **/
	function obterInstanciaAjax(){
		//Isso garantirá que a cada chamada dessa função uma instância nula do Ajax será criada.
		var xmlhttp = null;
		
		try{
			xmlhttp = new XMLHttpRequest();
		}catch(ee){
			try{
				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			}catch(e){
				try{
					xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
				}catch(E){
					xmlhttp = false;
				}//end catch
			}//end catch
		}//end catch
		
		return xmlhttp;
	}

	/**
	  * função para verificar se a nota lançada é realmente um número
	  * @param sText
	  **/
	function isNumeric(sText){
		var ValidChars = "0123456789.";
		var IsNumber=true;
		var Char;
		for (i = 0; i < sText.length && IsNumber == true; i++){
		  Char = sText.charAt(i);
		  if (ValidChars.indexOf(Char) == -1){
			  IsNumber = false;
		  }//fim do if
		 }//fim do for
		 return IsNumber;
	} 

	
	/**
	  * @param frm formulário
	  **/
	function valida_formulario_aluno(frm){
		//confere a unidade selecionada
		if(frm.alun_unidade.selectedIndex==0){
			//avisa-o
			alert("Seleciona sua unidade!");
			//foca
			frm.alun_unidade.focus();
			//cancela submit
			return false;
		}//end if
		
		// Verifica se é do colegio e se for tem que ter selecionado qual resposável
		if( frm.alun_unidade.value == 'colegio' && frm.qualResponsavelColegio.value == ''  ){			
			alert('Selecione qual tipo');
			return false;
		}
		
		//confere a unidade selecionada
		if(frm.alun_matricula.value.length!=8){
		//avisa-o
		alert("A matricula contém 8 digitos, preencha-a corretamente!");
		//foca
		frm.alun_matricula.focus();
		//cancela submit
		return false;
		}//end if

		if(!isNumeric(frm.alun_matricula.value)){
		alert("A matricula deve ser numérica!");
		frm.alun_matricula.value = "";
		frm.alun_matricula.focus();
		return false;
		}
		
	//caso contrario 
	return true;
	}
	
	/**
	  * @param frm formulário
	  **/
	function autenticar_aluno(frm){
	
	//frm = document.forms[0] 
	//se formulario nao for valido quebra fluxo
	if(!valida_formulario_aluno(frm)) return false;
		
	var xmlhttp = obterInstanciaAjax();

	var alun_matricula = frm.alun_matricula.value
	var alun_senha     = frm.alun_senha.value
	var alun_unidade   = frm.alun_unidade.value
	var tipo_login     = frm.qualResponsavelColegio.value
		
	var parameters = "alun_matricula=" + encodeURI(alun_matricula) + "&alun_senha=" + encodeURI(alun_senha) + "&alun_unidade=" + encodeURI(alun_unidade) + "&tipo_login=" + encodeURI(tipo_login);
	//alert(parameters)
	/*if (alun_unidade=='pos'){
		xmlhttp.open('POST', "acesso/BD_AutenticarAlunoMicrosiga.php", true);	
		}
	else{*/
		xmlhttp.open('POST', "acesso/BD_AutenticarAluno.php", true);
	//	}
	xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlhttp.setRequestHeader("Content-length", parameters.length);
	xmlhttp.setRequestHeader("Connection", "close");

	setThStatus("Autenticando...");
	
	xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState==4) {//se a requisicao do arquivo estiver completa
				//if (xmlhttp.status==200 || window.location.href.indexOf("http")==-1){//se a requisicao ocorrer com sucesso ou o scrip estiver rodando localmente
				if (xmlhttp.status==200){//se a requisicao ocorrer com sucesso ou o scrip estiver rodando localmente
							
						var texto = xmlhttp.responseText
						//Desfaz o urlencode, para ajustar bug do acento
						texto=texto.replace(/\+/g," ")
						texto=unescape(texto)
						//alert(texto);
						if(texto.indexOf("ORA-0000:")>=0){
						//carrega pagina padrao do aluo
						window.parent.location = "../intra_unidades/aluno/default_aluno.php";
						}//end if
						else{
						alert(texto);
						frm.alun_senha.focus();
						setThStatus("");
						}//end else
					}//fim do if
				}//fim do if
			}//fim da function interna
	//envia parametros
	xmlhttp.send(parameters);
	return false;
	}//end autentica_aluno
	
	/**
	  * @param msg Mensagem
	  **/
	function setThStatus(msg){
	document.getElementById("thStatus").innerHTML = msg
	}
	  
	/**
	  *
	  **/
	function foco_inicial(){
		try{
		    //foca campo
			document.forms[0].alun_matricula.focus();
		}//end try
		catch(e){
		    alert(e)
		}//end catch
	}//end foco_inicial
	
	/**
	  * @param inp
	  * @param proximo
	  **/
	function foca_proximo_input(inp, proximo){
	if(proximo!=null)
	    if(inp.maxLength == inp.value.length) proximo.focus();
	}
	
	/**
	  * @param cmb
	  **/
	function focar_campo_matricula_apos_selecionar_unidade(cmb){
		/*if(cmb.value=='pos'){
			document.getElementById('a001').style.display = 'none';
			document.getElementById('a002').style.display = 'none';
			document.getElementById('a003').style.display = 'none';
			document.getElementById('a004').style.display = 'none';
			cmb.selectedIndex=0;
			parent.window.location = "http://200.169.97.109/ge/htmls-por/login.htm";
		}
		else
		{
			document.getElementById('a001').style.display = '';
			document.getElementById('a002').style.display = '';
			document.getElementById('a003').style.display = '';
			document.getElementById('a004').style.display = '';
		}
		if(cmb.value!="" && cmb.value!='pos') document.forms[0].alun_matricula.focus();*/
		
		/*
			Caso for aluno do Colégio ele aparece o combo com 
			- Responsável Financeiro
			- Responsável Acadêmico
		*/
		
		
		if(cmb.value=='colegio'){
			document.getElementById('responsavelColegio').style.display = 'block';
		}else{
			document.getElementById('responsavelColegio').style.display = 'none';
		}
		
		document.forms[0].alun_matricula.focus();
	}
	

