var xmlRetorno = criarDOM();

function trim(s) {
    
	var trimmed = "";
    var leading = true;
    var trailing = true;

    for (var i = 0; i < s.length; i++) {
        var c = s.charAt(i);
        if (c == ' ') {
            if (leading == false) {
                trimmed = trimmed+c;
            }
        } else {
            leading = false;
            trimmed = trimmed+c;
        }
    }

    for (var i = trimmed.length-1; i>0; i--) {
        var c = trimmed.charAt(i);
        if (c != " ") {
            return trimmed;
        } else {
            trimmed = trimmed.substr(0,trimmed.length-1);
        }
    }

    return trimmed;
}

function mascararCampo(campo,mascara,e) {
	
	if (navigator.appName.indexOf('Microsoft') != -1) {
        var tecla = e.keyCode;
    } else {	
        var tecla = e.which;
    }
	
	if (!((tecla >= 48 && tecla <= 57) || tecla == 0 || tecla == 8 || tecla == 13)){
		return false;
	}
	
	var saida = '#';
	var caracter;	
	
	while(campo.value.length) {
		
		caracter = campo.value.charAt(campo.value.lenght - 1);
		
		 if (!(((caracter >= '0') && (caracter <= '9')) || (caracter == ".") || (caracter == "-") || (caracter == "/"))) {
            campo.value = campo.value.substr(0,campo.value.length - 1);
        } else break;
		
	}
	
	var texto = mascara.substring(campo.value.length);
	
    if ((texto.substring(0,1)!= saida) && (tecla!=8)) {
        campo.value += texto.substring(0,1);
    }
	
    return true;
	
}

function criarDOM() {
	
	var xmlDoc;
	
	try { // IE
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
	} catch(e) {
		try { // MOZILLA
			xmlDoc = document.implementation.createDocument("","",null);
		} catch(er) {
			alert(er.message);
			return;
		}
	}
	
	xmlDoc.async = false;
	
	return xmlDoc;
	
};

function criarDOMExecucao(stCarregarString,stringCarregar) {
	
	var xmlDoc;
	
	try { // IE
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");		
		xmlDoc.async = "false";
		if(stCarregarString) {xmlDoc.loadXML(stringCarregar);}
	} catch(e) {
		try { // MOZILLA
			parser = new DOMParser();
			var xmlDoc = parser.parseFromString(stringCarregar,"text/xml");
		} catch(er) {
			alert(er.message);
			return;
		}
	}
		
	return xmlDoc;
	
};

function criarHTTP() {
    
    var xmlhttp;

    try {
        xmlhttp = new XMLHttpRequest(); 
    } catch(e) { 
        try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
        }catch(er) { 
            try {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
            }catch(err) {
                xmlhttp = false; 
            } 
        } 
    } 
    
    return xmlhttp; 	
    
};

function carregarXSL(xml,xsl,objCarregamentoResultado,stCarregarResultado) { 
	
	var resultadoXSL;
	
	document.getElementById(objCarregamentoResultado).innerHTML = "";
	
	if (window.ActiveXObject) {
	
		resultadoXSL = xml.transformNode(xsl);
		
		if(stCarregarResultado) {document.getElementById(objCarregamentoResultado).innerHTML = resultadoXSL;}
		
	} else if (document.implementation && document.implementation.createDocument) {
	
		processadorXSLT =  new XSLTProcessor();
		processadorXSLT.importStylesheet(xsl);
		resultadoXSL = processadorXSLT.transformToFragment(xml,document);
		if(stCarregarResultado) {document.getElementById(objCarregamentoResultado).appendChild(resultadoXSL);}
		
	}
	
}
  
function consultarCTPSRecuperadas() {
	
	var nomeTrabalhador = trim(document.getElementById('txtNomeTrabalhador').value);
	var pis = trim(document.getElementById('txtNumeroPIS').value);
	var termosConsulta = "";
	var totalResultados = "";
	
	// valida os campos
	if(nomeTrabalhador == "" && pis == "") {
		alert('ATENÇÃO: Preencha um dos campos.');
		return false;
	}
	
	// valida o nome do trabalhador
	if(nomeTrabalhador != "" && nomeTrabalhador.length < 2) {
		alert('Atenção: O nome do trabalhador deve ter no mínimo 2 letras.');
		document.getElementById('txtNomeTrabalhador').focus();
		return false;
	}
	
	// realiza a consulta
	var ajax = criarHTTP();	
	
	
	ajax.open("GET","/sistemas/ctpsrecuperadas/PesquisaXML.asp?nome=" + nomeTrabalhador + "&pis=" + pis + "&nocache=" + Math.random(),true);	
	ajax.setRequestHeader("Content-type", "text/html; charset=iso-8859-1");	
	ajax.setRequestHeader("encoding", "ISO-8859-1");
	ajax.setRequestHeader("Cache-Control","no-store, no-cache, must-revalidate");
	ajax.setRequestHeader("Pragma", "no-cache");
	ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');    
    ajax.onreadystatechange = function() {                                              
		
		if(ajax.readyState == 1) {
			
			document.getElementById('divResultadoConsultaCTPSRecuperadas').innerHTML = "<center><b>aguarde, realizando consulta...</b></center>";
			document.getElementById('termosConsultaCTPS').innerHTML = "";	
			document.getElementById('xmlCTPSRecuperadasHidden').value = "";	
			document.getElementById("divResultadoPaginacao").innerHTML = "";
			document.getElementById('divTotalPaginas').innerHTML = "";
			
		}
		
		if(ajax.readyState == 4) {
	
			if(ajax.status != 200){
				alert('Ocorreu um erro ao realizar a consulta!\n\nPor favor tente novamente mais tarde.');									
				document.getElementById('divResultadoConsultaCTPSRecuperadas').innerHTML = "";
				document.getElementById('xmlCTPSRecuperadasHidden').value = "";	
				return false;				
			}
			
			var xmlRetorno = criarDOMExecucao(true,ajax.responseText);
			document.getElementById('xmlCTPSRecuperadasHidden').value = ajax.responseText;			
			
			var rootCTPS = xmlRetorno.getElementsByTagName("row");
				
			if(nomeTrabalhador != "") {
				termosConsulta = '"' + nomeTrabalhador + '"';
			}
			
			if(pis != "") {
				termosConsulta += ' "' + pis + '"';
			}
									
			/*
			xslDoc = criarDOM();			
			xslDoc.load("xslCTPSRecuperadas.xsl");						
			carregarXSL(xmlDOM,xslDoc,'divResultadoConsultaCTPSRecuperadas',true);
			*/
			if(rootCTPS.length > 0) {
				document.getElementById('termosConsultaCTPS').innerHTML = '<b>' + rootCTPS.length + '</b> resultado(s) encontrado(s) para <b>' +  termosConsulta + '</b>';
			} else {
				document.getElementById('termosConsultaCTPS').innerHTML = '<b>Nenhum</b> resultado encontrado para <b>' +  termosConsulta + '</b>';				
			}
			
			fazPaginacaoXML(0, 10, rootCTPS.length, 'root', 'xslCTPSRecuperadas',ajax.responseText);
			
						
		}
	
	}

	ajax.send(null); 		
	
	
}
