/*Procedimento de busca por chave já cadastrada em BD.	
valor: vlaor do campo
strKey: nome do campo
f: objeto input do formulário	
*/
function FindKey(f,valor,strKey,pPathXML){
//------------------------------------------------------------
//Instancia a classe, conforme compatibilidade do browser corrente
try {																													
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
}catch(ex){
try {
ajax = new XMLHttpRequest();
}catch(exc){
alert("Esse browser não tem recursos para uso do Ajax");
ajax = null;
  }
 }
}		
//------------------------------------------------------------
if(ajax) {
var ok;
		if (valor!=''){
		  /*
		  a)Método: POST  - MAIUSCULO
		  pPathXML: Página de processamento HTTP ../cls/arquivoXML.asp
		  true: Método Assincrono
			b)Cabeçalho Content-Type", "application/x-www-form-urlencoded para método POST.
			Se omite o cabeçalho para método GET,		
		  */
			ajax.open('POST',pPathXML, true);
			ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			ajax.onreadystatechange = findXML //Executa procedimento personalizado pelo programador
          function findXML(){//Procedimento
          var dataArray = ajax.responseXML.getElementsByTagName('key');
          if(ajax.readyState == 4 ) {//readyState == 4 Carga dos dados completa
          if(dataArray.length > 0) {//Exibe msg caso contenha dados no arquivo XML
          alert(strKey+' ( '+f.value+' ) consta no banco de dados !\nInforme outro valor.');
	  				f.value='';//Limpa campo
					f.focus();//foco no campo inválido
	}
 } 
}
    /*
    Passa Key para a página informada para processamento em ajax.open()
    Como o método escolhido é o POST então deve-se informar os parâmetros da maneria abaixo
    Caso necessário passar mais de 1(um) parâmetro escrever da seguinte maneira
    campo1=value1&campo2=value2...
    */
    var params = "key="+valor;
    //Executa a conexão
    ajax.send(params);
		}
	}
}

//-------------------------------------------------------------------------------------
function FindFornUser(f,valor,strKey,pPathXML){
//------------------------------------------------------------
//Instancia a classe, conforme compatibilidade do browser corrente
try {																													
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
}catch(ex){
try {
ajax = new XMLHttpRequest();
}catch(exc){
alert("Esse browser não tem recursos para uso do Ajax");
ajax = null;
  }
 }
}		
//------------------------------------------------------------
if(ajax) {
var ok;
		if (valor!=''){
		  /*
		  a)Método: POST  - MAIUSCULO
		  pPathXML: Página de processamento HTTP ../cls/arquivoXML.asp
		  true: Método Assincrono
			b)Cabeçalho Content-Type", "application/x-www-form-urlencoded para método POST.
			Se omite o cabeçalho para método GET,		
		  */
			ajax.open('POST',pPathXML, true);
			ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			ajax.onreadystatechange = findXML //Executa procedimento personalizado pelo programador
          function findXML(){//Procedimento
          var dataArray = ajax.responseXML.getElementsByTagName('key');
					if(ajax.readyState == 4 ) {//readyState == 4 Carga dos dados completa
          if(dataArray.length > 0) {//Exibe msg caso contenha dados no arquivo XML
          var user = dataArray[0].getElementsByTagName('name')[0].firstChild.nodeValue;
					//Forneccedor setado para usuario ativo
					alert(strKey+' '+f.value+' encontra-se setado para '+user+'.\nInforme outro valor.');
	  				f.value='';//Limpa campo
					f.focus();//foco no campo inválido
	}
 } 
}
    /*
    Passa Key para a página informada para processamento em ajax.open()
    Como o método escolhido é o POST então deve-se informar os parâmetros da maneria abaixo
    Caso necessário passar mais de 1(um) parâmetro escrever da seguinte maneira
    campo1=value1&campo2=value2...
    */
    var params = "key="+valor;
    //Executa a conexão
    ajax.send(params);
		}
	}
}

/*Procedimento de busca por chave já cadastrada em BD.
com funcionamento diferente da FindKey, onde verifica o número 
do ID do usuário e o impede de continuar.
o FindKeyaccept: Verifica se há Id cadastrado no banco de informa o nome em tela	
valor: vlaor do campo
strKey: nome do campo
f: objeto input do formulário	
PARA O FUNCIONAMENTO É OBRIGATÓRIO O MÉTODO "subFormUser" DA CLASSE CLSUSER.ASP
*/
function FindKeyaccept(f,valor,strKey,pPathXML){
//------------------------------------------------------------
//Instancia a classe, conforme compatibilidade do browser corrente
try {																													
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
}catch(ex){
try {
ajax = new XMLHttpRequest();
}catch(exc){
alert("Esse browser não tem recursos para uso do Ajax");
ajax = null;
  }
 }
}		
//------------------------------------------------------------
if(ajax) {
var ok;
		if (valor!=''){
		  /*
		  a)Método: POST  - MAIUSCULO
		  pPathXML: Página de processamento HTTP ../cls/arquivoXML.asp
		  true: Método Assincrono
			b)Cabeçalho Content-Type", "application/x-www-form-urlencoded para método POST.
			Se omite o cabeçalho para método GET,		
		  */
			ajax.open('POST',pPathXML, true);
			ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			ajax.onreadystatechange = findXML //Executa procedimento personalizado pelo programador
          function findXML(){//Procedimento
          var dataArray = ajax.responseXML.getElementsByTagName('key');
          if(ajax.readyState == 4 ) {//readyState == 4 Carga dos dados completa
          if(dataArray.length > 0) {//Exibe msg caso contenha dados no arquivo XML
          //alert(strKey+' ( '+f.value+' ) consta no banco de dados !\nInforme outro valor.');
					var nseq_user = dataArray[0].getElementsByTagName('Id')[0].firstChild.nodeValue;// nseq_user do usuário procurado
					var nome_user = dataArray[0].getElementsByTagName('nome')[0].firstChild.nodeValue;// nome do usuário procurado
					var strname = f.name;// nome do objeto input
					arr = strname.split('_');
					//atribui o nome e nº seq. do usuário ao objeto correspondente no subformulário
					document.getElementById('NSEQ_USER_'+arr[1]).value=nseq_user; 
					document.getElementById('NOM_USER_'+arr[1]).value=nome_user; 
	
	}else{
	alert(strKey+' '+f.value+' não consta em nosso cadastrado.\nInforme outro valor ou faça o cadastro do usuário.');
	  				f.value='';//Limpa campo
					f.focus();//foco no campo inválido
	}
 } 
}
    /*
    Passa Key para a página informada para processamento em ajax.open()
    Como o método escolhido é o POST então deve-se informar os parâmetros da maneria abaixo
    Caso necessário passar mais de 1(um) parâmetro escrever da seguinte maneira
    campo1=value1&campo2=value2...
    */
    var params = "key="+valor;
    //Executa a conexão
    ajax.send(params);
		}
	}
}

