// JavaScript Document
function valida_PROT(prot) {
var i;
var c = prot.substr(0,7);
var dv = prot.substr(7,1);
var dg = 0;
  for (i = 0; i < 7; i++) {
      dg += c.charAt(i)*(7-i);
  }
  if (dg == 0) return false;
  dg = 11 - (dg % 11);
  if (dg == 11 || dg == 1) dg = 0;
  else if (dg == 10) dg = 1;
  if (dv.charAt(0) != dg) {
     return false;
  }	
  return true;
}

function protocoloOk(protocolo) {
	if ((IsNumeric(protocolo)) && protocolo.length == 8) {
		if (valida_PROT(protocolo)) return '';
		else return 'Digito de controle incorreto!';
	} else return 'Informar protocolo!';
}
function DadosProtocolo(){
	var retXML = xhr.responseXML;	
	var raiz = retXML.documentElement;
	document.getElementById(mySender+"aviso").innerHTML='&nbsp;'	
	if (raiz == null) { 
		document.getElementById(mySender+"obs").innerHTML='&nbsp;';
		document.getElementById(mySender+"retProtocolo").innerHTML = 'Entre em contato:' ; 
		document.getElementById(mySender+"Historico").innerHTML='Problemas na consulta!';
	}
	else {
		var nodos;
		if(raiz.hasChildNodes()) {
			nodos = raiz.childNodes;
			document.getElementById(mySender+"retProtocolo").innerHTML = 'Protocolo '+ nodos[0].firstChild.nodeValue;
			document.getElementById(mySender+"Historico").innerHTML=nodos[1].firstChild.nodeValue;
			if (nodos[2].hasChildNodes()) document.getElementById(mySender+"aviso").innerHTML=nodos[2].firstChild.nodeValue;
			if (nodos[3].hasChildNodes()) document.getElementById(mySender+"obs").innerHTML=nodos[3].firstChild.nodeValue;
			else document.getElementById(mySender+"obs").innerHTML='&nbsp;';
			if ((nodos[4].hasChildNodes()) && nodos[4].firstChild.nodeValue != '*') document.getElementById(mySender+"protocoloAtu").innerHTML='Atualizado em '+nodos[4].firstChild.nodeValue;
			else document.getElementById(mySender+"protocoloAtu").innerHTML='&nbsp;';
		}
	}
	document.getElementById(mySender+"Protocolo").focus();
}
function bugPro(msg) {
	if (!msg) {
		document.getElementById(mySender+"retProtocolo").innerHTML = 'Aguarde:';
		msg = 'No momento, o Servidor recusou sua consulta!';
	}
	else document.getElementById(mySender+"retProtocolo").innerHTML = 'Verifique:';
	document.getElementById(mySender+"Historico").innerHTML=msg;
	document.getElementById(mySender+"aviso").innerHTML='&nbsp;';
	document.getElementById(mySender+"obs").innerHTML='&nbsp;';
	document.getElementById(mySender+"protocoloAtu").innerHTML='&nbsp;';
	document.getElementById(mySender+"Protocolo").focus();
}
function buscaProtocolo(protocolo){
	var okProt = protocoloOk(protocolo.value);
	mySender = (protocolo.id == 'iProtocolo') ? 'i' : '';
	if(okProt == '') {
		document.getElementById(mySender+"aviso").innerHTML='<div class="loading">buscando</div>';
		trataDados = DadosProtocolo;
		erroJx = bugPro;
		parametros='protocolo='+protocolo.value;
		document.getElementById(protocolo.id).value ='';
		okProt = requisicaoHTTP("POST","pfunctions/buscaProtocolo.php",true);
		if (okProt) bugPro(okProt);
	}
	else bugPro(okProt);
}
