/**
 * ajaxMontarPaginacaoXML(areaXml, divPaginacao, intPagina,intRegistrosPagina,intRegistros,nodePai,xsl,posicaoLeg,irPara)
 *------Escreve o resultado paginado de uma consulta ao banco de dados.
 *------A consulta deve retornar um XML e não um Recordset
 *------A consulta deve usar um documento XSL para exibição dos dados e deve existir na pagina html a sua referência
 *------A exibição do resultado deve seguir o padrão de apresentação das consultas e relatórios

 *------No documento xsl sempre deve ter o seguinte cabeçalho antes do <xsl:template match="/"> :
 <xsl:param name="recordCount" select="//XXX/PAGINACAO/@recordCount"/>	<!-- número de registros -->
 <xsl:param name="recordsPerPage" select="//XXX/PAGINACAO/@recordsPerPage" />	<!-- número de registros por página -->
 <xsl:param name="pageNumber" select="//XXX/PAGINACAO/@pageNumber" />	<!-- número da páginas -->
 <xsl:param name="totalPaginas" select="//XXX/PAGINACAO/@totalPaginas" />	<!--total de páginas-->

 *------Após montar o laço no XSL <xsl:for-each select="//XXX/ZZZ/row"> deve se colocar o seguinte if entre os campos a exibir
 <xsl:if test="position() &gt; $recordsPerPage * number($pageNumber) and
 position() &lt;= number($recordsPerPage * number($pageNumber) +
 $recordsPerPage)">
 </xsl:if>
 * A função "ajaxMontarPaginacaoXML" dever ser chamada na função que retorna o XML.
 * @param string areaXml
 *		textarea que será armazenado o xml
 * @param string divPaginacao
 *		Div que será mostrada a resultado da consulta
 * @param int intPagina
 *     Numero da Página escolhida -  inicialmente deve se passar zero
 * @param int intRegistrosPagina
 *     Quantidade de resultados que deseja exibir na página
 * @param int intRegistros
 *     Quantidade de registros que a consulta retornou
 *     Deve se conseguir da seguinte maneira - var intRegistros = xmlRetorno.selectNodes("//XXX/ZZZ/row").length;
 * @param String nodePai
 *     Nome do nó pai que vai receber o filho com a paginação - 'XXX'
 * @param String xsl
 *     ID do objeto XSL que deve existir na pagina HTML
 * @param Array posicaoLeg
 *     Numero de 1 a 4 que refere-se a posição que será exibida a legenda. Se for mais de uma deve ser separado por "|".
 * @param bit irPara
 *     Exibir caixa de pesquisa por página
 * @return void
 */
 
function ajaxMontarPaginacaoXML(areaXml, divPaginacao, intPagina, intRegistrosPagina, intRegistros, nodePai, xsl, posicaoLeg, irPara) {
	
	var intQuantidadePaginas;
	var xmlPagina = Ajax.criarDOM();  //DOM Document
	xmlPagina.loadXML($(areaXml).value);
	
	intRegistros = (intRegistros == '') ? 0 : intRegistros;
	
	var form = "<form id='formPaginas"+divPaginacao+"' name='formPaginas' method='post' action='javascript:ajaxIrPara(\""+divPaginacao+"\");'>";
		form = form + "<input type='hidden' name='strIr"+divPaginacao+"' id='strIr"+divPaginacao+"' value=''  disabled>";
		form = form + "<xml id='"+xsl+"' src='"+xsl+".xsl'></xml>";
		form = form + "<table border='0' width='100%' height='100%' class='texto' id='fildConsulta"+divPaginacao+"' style='display:none' cellspacing='0'  cellpadding='0'>";
			form = form + "<tr>";
				form = form + "<td id='legConsulta1"+divPaginacao+"' align='left' class='textoleg'></td>";
			form = form + "</tr>";
			form = form + "<tr>";
				form = form + "<td id='legConsulta2"+divPaginacao+"' align='right' class='textoleg'></td>";
			form = form + "</tr>";
			form = form + "<tr>";
				form = form + "<td align='center' id='divConsulta"+divPaginacao+"' ></td>";
			form = form + "</tr>";
			form = form + "<tr>";
				form = form + "<td id='legConsulta3"+divPaginacao+"' align='left' class='textoleg'></td>";
			form = form + "</tr>";
			form = form + "<tr>";
				form = form + "<td id='legConsulta4"+divPaginacao+"' align='right' class='textoleg'></td>";
			form = form + "</tr>";
			form = form + "<tr>";
				form = form + "<td width='95%' align='center' id='tdPaginacaoConsulta"+divPaginacao+"'></td>";
			form = form + "</tr>";
		form = form + "</table>";
	form = form + "</form>";		
	$(divPaginacao).innerHTML = form;
	$(divPaginacao).style.display 	= "";
		
	$("fildConsulta"+divPaginacao).style.display = "";

	//Nehum registro encontrado
	if (parseInt(intRegistros) <= 0) {
		$("divConsulta"+divPaginacao).style.display = "";
		var vet = posicaoLeg.split("|");		
		if (vet.length > 0){
			for (var i = 0;i < vet.length; i++) {
				$("legConsulta"+vet[i]+divPaginacao).innerHTML = "";
			}
		}					
		$("divConsulta"+divPaginacao).innerHTML = "<label class='textovermelho'><b>Nenhum registro encontrado.</b></label>";
		$("tdPaginacaoConsulta"+divPaginacao).innerHTML = "";
		return;
	}

	//Definindo quantidade de páginas
	if ((intRegistros % intRegistrosPagina) != 0) {
		intQuantidadePaginas =  parseInt((intRegistros / intRegistrosPagina) + 1);
	} else {
		intQuantidadePaginas =  parseInt(intRegistros / intRegistrosPagina);
	}

	if ($('quantidadePaginas')) {
		$('quantidadePaginas').value = intQuantidadePaginas;
	}
	//Legenda da Consulta
	
	var tam = String(intRegistros).length;
	if(tam > 3){
        var intReg = String(intRegistros).substr( 0, tam - 3 ) + '.' + String(intRegistros).substr( tam - 3, tam );		 
	}else{
        var intReg = intRegistros;
	}
	
	tam = String((parseFloat(intPagina)+1)).length;
	if(tam > 3){
        var intPag = String((parseFloat(intPagina)+1)).substr( 0, tam - 3 ) + '.' + String((parseFloat(intPagina)+1)).substr( tam - 3, tam );		 		  
	}else{
        var intPag = (parseFloat(intPagina)+1);
	}	

	var tam = String(intQuantidadePaginas).length;
	if(tam > 3){
        var intQuantPag = String(intQuantidadePaginas).substr( 0, tam - 3 ) + '.' + String(intQuantidadePaginas).substr( tam - 3, tam );		 
	}else{
        var intQuantPag = intQuantidadePaginas;
	}
	
	var texto = intReg + " Registro(s) Encontrado(s) - Página " + intPag + " de " + intQuantPag;

	var vet = posicaoLeg.split("|");		
	if (vet.length > 0){
		for (var i = 0;i < vet.length; i++) {
			$("legConsulta"+vet[i]+divPaginacao).innerHTML = "<div style='padding-left:2px;'>" + texto + "</div>";
		}
	}
		
	//return;
	//Cria o Element com os dados para a paginação
	var PAGINACAO = xmlPagina.createElement("PAGINACAO");
	PAGINACAO.setAttribute("recordCount", intRegistros);
	PAGINACAO.setAttribute("recordsPerPage", intRegistrosPagina);
	PAGINACAO.setAttribute("pageNumber", intPagina);
	PAGINACAO.setAttribute("totalPaginas",intQuantidadePaginas);
	xmlPagina.selectSingleNode(nodePai).appendChild(PAGINACAO);
			
	//imprime o número das páginas para seleção das mesmas
	var i = 0;
	var paginas = "<div style='width:90%'>";
	var i2 = 0;
	var pAnterior = 0, pProxima = 0;

	if (intPagina == 0) {
		pAnterior = 0;
		pProxima = 1;
		paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' >Primeira ||</a>&nbsp;";
		paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' > << Anterior</a>&nbsp;";
	} else if (intQuantidadePaginas > 0) {
		pAnterior = parseInt(intPagina) - 1;
		pProxima = parseInt(intPagina) + 1;
		paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' href=\"javascript:ajaxMontarPaginacaoXML('"+ areaXml +"', '"+ divPaginacao +"', 0,"+ intRegistrosPagina +", "+ intRegistros +", '"+ nodePai +"', '"+ xsl + "', '"+ posicaoLeg +"', "+irPara+");\">Primeira ||</a>&nbsp;";
		paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' href=\"javascript:ajaxMontarPaginacaoXML('"+ areaXml +"', '"+ divPaginacao +"', "+ pAnterior +" ,"+ intRegistrosPagina +", "+ intRegistros +", '"+ nodePai +"', '"+ xsl + "', '"+ posicaoLeg +"', "+irPara+");\"> << Anterior</a>&nbsp;";
	}

	for (i = 0; i < intQuantidadePaginas; i++) {
		i2 = i + 1;
		tam = String(i2).length;
		if(tam > 3){
			i2 = String(i2).substr( 0, tam - 3 ) + '.' + String(i2).substr( tam - 3, tam );		 
		}
		
		if(intQuantidadePaginas < 6){
			if (intPagina != i) {
				paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' href=\"javascript:ajaxMontarPaginacaoXML('"+ areaXml +"', '"+ divPaginacao +"', "+i+","+ intRegistrosPagina +", "+ intRegistros +", '"+ nodePai +"', '"+ xsl + "', '"+ posicaoLeg +"', "+irPara+");\">" + i2 + "</a>&nbsp;&nbsp;";
			} else {
				paginas = paginas + "<a style='font-weight:bold;text-align:center;vertical-align:middle;'><u>" + i2 + "</u></a>&nbsp;&nbsp;";
			}
		}else if((intPagina + 2) > intQuantidadePaginas){
				if ( (i + 5) > intPagina && intPagina > (i - 3)) {
					if (intPagina != i) {
						paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' href=\"javascript:ajaxMontarPaginacaoXML('"+ areaXml +"', '"+ divPaginacao +"', "+i+","+ intRegistrosPagina +", "+ intRegistros +", '"+ nodePai +"', '"+ xsl + "', '"+ posicaoLeg +"', "+irPara+");\">" + i2 + "</a>&nbsp;&nbsp;";
					} else {
						paginas = paginas + "<a style='font-weight:bold;text-align:center;vertical-align:middle;'><u>" + i2 + "</u></a>&nbsp;&nbsp;";
					}
				}								
		}else if((intPagina + 3) > intQuantidadePaginas){
				if ( (i + 4) > intPagina && intPagina > (i - 3)) {
					if (intPagina != i) {
						paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' href=\"javascript:ajaxMontarPaginacaoXML('"+ areaXml +"', '"+ divPaginacao +"', "+i+","+ intRegistrosPagina +", "+ intRegistros +", '"+ nodePai +"', '"+ xsl + "', '"+ posicaoLeg +"', "+irPara+");\">" + i2 + "</a>&nbsp;&nbsp;";
					} else {
						paginas = paginas + "<a style='font-weight:bold;text-align:center;vertical-align:middle;'><u>" + i2 + "</u></a>&nbsp;&nbsp;";
					}
				}								
		}else{			
			if(intPagina < 1){
				if ( (i + 3) > intPagina && intPagina > (i - 5)) {
					if (intPagina != i) {
						paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' href=\"javascript:ajaxMontarPaginacaoXML('"+ areaXml +"', '"+ divPaginacao +"', "+i+","+ intRegistrosPagina +", "+ intRegistros +", '"+ nodePai +"', '"+ xsl + "', '"+ posicaoLeg +"', "+irPara+");\">" + i2 + "</a>&nbsp;&nbsp;";
					} else {
						paginas = paginas + "<a style='font-weight:bold;text-align:center;vertical-align:middle;'><u>" + i2 + "</u></a>&nbsp;&nbsp;";
					}
				}					
			}else if(intPagina == 1){
				if ( (i + 3) > intPagina && intPagina > (i - 4)) {
					if (intPagina != i) {
						paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' href=\"javascript:ajaxMontarPaginacaoXML('"+ areaXml +"', '"+ divPaginacao +"', "+i+","+ intRegistrosPagina +", "+ intRegistros +", '"+ nodePai +"', '"+ xsl + "', '"+ posicaoLeg +"', "+irPara+");\">" + i2 + "</a>&nbsp;&nbsp;";
					} else {
						paginas = paginas + "<a style='font-weight:bold;text-align:center;vertical-align:middle;'><u>" + i2 + "</u></a>&nbsp;&nbsp;";
					}
				}								
			}else{
				if ( (i + 3) > intPagina && intPagina > (i - 3)) {
					if (intPagina != i) {
						paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' href=\"javascript:ajaxMontarPaginacaoXML('"+ areaXml +"', '"+ divPaginacao +"', "+i+","+ intRegistrosPagina +", "+ intRegistros +", '"+ nodePai +"', '"+ xsl + "', '"+ posicaoLeg +"', "+irPara+");\">" + i2 + "</a>&nbsp;&nbsp;";
					} else {
						paginas = paginas + "<a style='font-weight:bold;text-align:center;vertical-align:middle;'><u>" + i2 + "</u></a>&nbsp;&nbsp;";
					}
				}					
			}
		}
	}

	if (intPagina != (i - 1)) {
		paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' href=\"javascript:ajaxMontarPaginacaoXML('"+ areaXml +"', '"+ divPaginacao +"', "+ pProxima +","+ intRegistrosPagina +", "+ intRegistros +", '"+nodePai+"' , '" + xsl + "', '"+ posicaoLeg +"', "+irPara+");\">Próximo >> </a>&nbsp;";
		paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' href=\"javascript:ajaxMontarPaginacaoXML('"+ areaXml +"', '"+ divPaginacao +"', "+(i-1)+", "+ intRegistrosPagina +", "+ intRegistros +", '"+ nodePai +"', '"+ xsl + "', '"+ posicaoLeg +"', "+irPara+");\">|| Última</a>&nbsp;";
	}else{
		paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' >Próximo >> </a>&nbsp;";
		paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' > || Última</a>&nbsp;";	
	}
					
	paginas = paginas + '</div>'
					
	if(irPara == 1){
		paginas = paginas + "<div style='text-align:right; vertical-align:middle;'><input type='text' id='txtIR"+divPaginacao+"' name='txtIR"+divPaginacao+"' size='4' maxlength='6' onkeyup='MascararCampoPaginacao(this);'/><input type='button' value='Ir para' onClick='javaScript:ajaxIrPara(\""+divPaginacao+"\");'/></div>";
		$("strIr"+divPaginacao).value = areaXml +"@"+ divPaginacao +"@"+ intRegistrosPagina +"@"+ intRegistros +"@"+ nodePai +"@"+ xsl + "@"+ posicaoLeg + "@" + irPara;
	}
	
	$("tdPaginacaoConsulta"+divPaginacao).innerHTML = paginas;
	//Seleção do xsl
	var xslDoc;
	xslDoc = Ajax.criarDOM();  //DOM retorno
	
	xslDoc.load($(xsl).id + ".xsl");
	//Adicionando dados no xsl
	var xmlTrans;
	xmlTrans = Ajax.criarDOM();  //DOM retorno
	xmlPagina.transformNodeToObject(xslDoc, xmlTrans);

	//imprimindo resultados
	$("divConsulta"+divPaginacao).innerHTML = xmlTrans.xml;
	$("divConsulta"+divPaginacao).style.display 	= "";

	return;
}			

/**
 * ajaxIrPara(divPaginacao)
 *------Monta paginação da página requisitada.
 * @param string divPaginacao
 *		Div que será mostrada a resultado da consulta
 * @return void
 */
 
function ajaxIrPara(divPaginacao){


	if ($("txtIR"+divPaginacao).value != "") {
		var expressao = /^\d+$/;
		var vIr = String($("txtIR"+divPaginacao).value).replace('.', '');

		if (!expressao.test(vIr)) {
			alert("Este campo só aceita números.");
			$("txtIR"+divPaginacao).value = "";
			return;
		}
	}else{
		return;	
	}
	
	var parametro = $("strIr"+divPaginacao).value.split("@");				
	var intQuantidadePaginas;
	
	if ((parseInt(parametro[3]) % parseInt(parametro[2])) != 0) {
		intQuantidadePaginas =  parseInt((parseInt(parametro[3]) / parseInt(parametro[2])) + 1);
	} else {
		intQuantidadePaginas =  parseInt(parseInt(parametro[3]) / parseInt(parametro[2]));
	}	

	if(parseInt(vIr) < 1 || parseInt(vIr) > intQuantidadePaginas){
		alert("Página não encontrada");
		return;
	}			
	
	pagina = vIr - 1;
		
	ajaxMontarPaginacaoXML(parametro[0], parametro[1], pagina, parametro[2], parametro[3], parametro[4], parametro[5], parametro[6], parametro[7]);
	return;			
}	

/** $
- Descrição: Retorna o obj que foi passado o ID
- Evento: Não
- Dependência: Não
- Exibe alerta : Não

@param Object id
@return id
**/
			
function $(Id) {
	try {
		if (document.layers) { // netscape
			return document.layers[Id];
		}
		if (document.getElementById) { // DOM; IE5, NS6, Mozilla, Opera
			return document.getElementById(Id);
		}
		if (document.all) { //Proprietary DOM; IE4
			return document.all[Id];
		}
		if (document[Id]) { //Netscape alternative
			return document[Id];
		}
	} catch(e) {
		return document.getElementById(Id);
	}

}

function MascararCampoPaginacao(CampoM) {

    var vr = String(CampoM.value).replace(/\D+/g, '');
    var tam = vr.length;	
	vr = vr.substring(0, tam);

	if ( (tam > 3) ){
        vr = vr.substr( 0, tam - 3 ) + '.' + vr.substr( tam - 3, tam );
	}
	CampoM.value = vr;

    return;
}

/**
 * ajaxMontarPaginacaoReenvioXML(areaXml, divPaginacao, intPagina,intRegistrosPagina,intRegistros,nodePai,xsl,posicaoLeg,irPara)
 *------Escreve o resultado paginado de uma consulta ao banco de dados.
 *------A consulta deve retornar um XML e não um Recordset
 *------A consulta deve usar um documento XSL para exibição dos dados e deve existir na pagina html a sua referência
 *------A exibição do resultado deve seguir o padrão de apresentação das consultas e relatórios

------------------------------
 *OBS: 
 01 - Função obrigatória na utilização da função ajaxMontarPaginacaoReenvioXML
	function ajaxRecarregarPaginacaoXML(areaXml, divPaginacao, intPagina, intRegistrosPagina, intRegistros, nodePai, xsl, posicaoLeg, irPara) {
		var xmlRetorno = Ajax.criarDOM();  //DOM Document			
		Ajax.enviar("GET", "/mte_corporativo/exemplos/consultarCorporativo.asp?retornar=rs&intPaginaAtual="+intPagina+"&intRegistrosPagina="+intRegistrosPagina,false,"","","",xmlRetorno);				
		$("xmlPagina").value = xmlRetorno.xml;									
		ajaxMontarPaginacaoReenvioXML(areaXml, divPaginacao, intPagina, intRegistrosPagina, intRegistros, nodePai, xsl, posicaoLeg, irPara);			
	}
 02 - É obrigatório à retirada dos parametros da paginação do xsl especificados abaixo:

	 *------No documento xsl sempre deve ter o seguinte cabeçalho antes do <xsl:template match="/"> :
	 <xsl:param name="recordCount" select="//XXX/PAGINACAO/@recordCount"/>	<!-- número de registros -->
	 <xsl:param name="recordsPerPage" select="//XXX/PAGINACAO/@recordsPerPage" />	<!-- número de registros por página -->
	 <xsl:param name="pageNumber" select="//XXX/PAGINACAO/@pageNumber" />	<!-- número da páginas -->
	 <xsl:param name="totalPaginas" select="//XXX/PAGINACAO/@totalPaginas" />	<!--total de páginas-->

	 *------Após montar o laço no XSL <xsl:for-each select="//XXX/ZZZ/row"> deve se colocar o seguinte if entre os campos a exibir
	 <xsl:if test="position() &gt; $recordsPerPage * number($pageNumber) and
	 position() &lt;= number($recordsPerPage * number($pageNumber) +
	 $recordsPerPage)">
	 </xsl:if>
----------------------------
 
 * A função "ajaxMontarPaginacaoReenvioXML" dever ser chamada na função que retorna o XML.
 * @param string areaXml
 *		textarea que será armazenado o xml
 * @param string divPaginacao
 *		Div que será mostrada a resultado da consulta
 * @param int intPagina
 *     Numero da Página escolhida -  inicialmente deve se passar zero
 * @param int intRegistrosPagina
 *     Quantidade de resultados que deseja exibir na página
 * @param int intRegistros
 *     Quantidade de registros que a consulta retornou
 *     Deve se conseguir da seguinte maneira - var intRegistros = xmlRetorno.selectNodes("//XXX/ZZZ/row").length;
 * @param String nodePai
 *     Nome do nó pai que vai receber o filho com a paginação - 'XXX'
 * @param String xsl
 *     ID do objeto XSL que deve existir na pagina HTML
 * @param Array posicaoLeg
 *     Numero de 1 a 4 que refere-se a posição que será exibida a legenda. Se for mais de uma deve ser separado por "|".
 * @param bit irPara
 *     Exibir caixa de pesquisa por página
 * @return void
 */
 
function ajaxMontarPaginacaoReenvioXML(areaXml, divPaginacao, intPagina, intRegistrosPagina, intRegistros, nodePai, xsl, posicaoLeg, irPara) {
	
	var intQuantidadePaginas;
	var xmlPagina = Ajax.criarDOM();  //DOM Document
	xmlPagina.loadXML($(areaXml).value);
	
	intRegistros = (intRegistros == '') ? 0 : intRegistros;
	
	var form = "<form id='formPaginas"+divPaginacao+"' name='formPaginas' method='post' action='javascript:ajaxIrParaReenvio(\""+divPaginacao+"\");'>";
		form = form + "<input type='hidden' name='strIr"+divPaginacao+"' id='strIr"+divPaginacao+"' value=''  disabled>";
		form = form + "<xml id='"+xsl+"' src='"+xsl+".xsl'></xml>";
		form = form + "<table border='0' width='100%' height='100%' class='texto' id='fildConsulta"+divPaginacao+"' style='display:none' cellspacing='0'  cellpadding='0'>";
			form = form + "<tr>";
				form = form + "<td id='legConsulta1"+divPaginacao+"' align='left' class='textoleg'></td>";
			form = form + "</tr>";
			form = form + "<tr>";
				form = form + "<td id='legConsulta2"+divPaginacao+"' align='right' class='textoleg'></td>";
			form = form + "</tr>";
			form = form + "<tr>";
				form = form + "<td align='center' id='divConsulta"+divPaginacao+"' ></td>";
			form = form + "</tr>";
			form = form + "<tr>";
				form = form + "<td id='legConsulta3"+divPaginacao+"' align='left' class='textoleg'></td>";
			form = form + "</tr>";
			form = form + "<tr>";
				form = form + "<td id='legConsulta4"+divPaginacao+"' align='right' class='textoleg'></td>";
			form = form + "</tr>";
			form = form + "<tr>";
				form = form + "<td width='95%' align='center' id='tdPaginacaoConsulta"+divPaginacao+"'></td>";
			form = form + "</tr>";
		form = form + "</table>";
	form = form + "</form>";		
	$(divPaginacao).innerHTML = form;
	$(divPaginacao).style.display 	= "";
		
	$("fildConsulta"+divPaginacao).style.display = "";

	//Nehum registro encontrado
	if (parseInt(intRegistros) <= 0) {
		$("divConsulta"+divPaginacao).style.display = "";
		var vet = posicaoLeg.split("|");		
		if (vet.length > 0){
			for (var i = 0;i < vet.length; i++) {
				$("legConsulta"+vet[i]+divPaginacao).innerHTML = "";
			}
		}					
		$("divConsulta"+divPaginacao).innerHTML = "<label class='textovermelho'><b>Nenhum registro encontrado.</b></label>";
		$("tdPaginacaoConsulta"+divPaginacao).innerHTML = "";
		return;
	}

	//Definindo quantidade de páginas
	if ((intRegistros % intRegistrosPagina) != 0) {
		intQuantidadePaginas =  parseInt((intRegistros / intRegistrosPagina) + 1);
	} else {
		intQuantidadePaginas =  parseInt(intRegistros / intRegistrosPagina);
	}

	if ($('quantidadePaginas')) {
		$('quantidadePaginas').value = intQuantidadePaginas;
	}
	//Legenda da Consulta
	
	var tam = String(intRegistros).length;
	if(tam > 3){
		var intReg = String(intRegistros).substr( 0, tam - 3 ) + '.' + String(intRegistros).substr( tam - 3, tam );		 
	}else{
		var intReg = intRegistros;
	}
	
	tam = String((parseFloat(intPagina)+1)).length;
	if(tam > 3){
		var intPag = String((parseFloat(intPagina)+1)).substr( 0, tam - 3 ) + '.' + String((parseFloat(intPagina)+1)).substr( tam - 3, tam );		 		  
	}else{
		var intPag = (parseFloat(intPagina)+1);
	}	

	var tam = String(intQuantidadePaginas).length;
	if(tam > 3){
		var intQuantPag = String(intQuantidadePaginas).substr( 0, tam - 3 ) + '.' + String(intQuantidadePaginas).substr( tam - 3, tam );		 
	}else{
		var intQuantPag = intQuantidadePaginas;
	}
	
	var texto = intReg + " Registro(s) Encontrado(s) - Página " + intPag + " de " + intQuantPag;

	var vet = posicaoLeg.split("|");		
	if (vet.length > 0){
		for (var i = 0;i < vet.length; i++) {
			$("legConsulta"+vet[i]+divPaginacao).innerHTML = "<div style='padding-left:2px;'>" + texto + "</div>";
		}
	}
								
	//imprime o número das páginas para seleção das mesmas
	var i = 0;
	var paginas = "<div style='width:90%'>";
	var i2 = 0;
	var pAnterior = 0, pProxima = 0;

	if (intPagina == 0) {
		pAnterior = 0;
		pProxima = 1;
		paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' >Primeira ||</a>&nbsp;";
		paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' > << Anterior</a>&nbsp;";
	} else if (intQuantidadePaginas > 0) {
		pAnterior = parseInt(intPagina) - 1;
		pProxima = parseInt(intPagina) + 1;
		paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' href=\"javascript:ajaxRecarregarPaginacaoXML('"+ areaXml +"', '"+ divPaginacao +"', 0,"+ intRegistrosPagina +", "+ intRegistros +", '"+ nodePai +"', '"+ xsl + "', '"+ posicaoLeg +"', "+irPara+");\">Primeira ||</a>&nbsp;";
		paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' href=\"javascript:ajaxRecarregarPaginacaoXML('"+ areaXml +"', '"+ divPaginacao +"', "+ pAnterior +" ,"+ intRegistrosPagina +", "+ intRegistros +", '"+ nodePai +"', '"+ xsl + "', '"+ posicaoLeg +"', "+irPara+");\"> << Anterior</a>&nbsp;";
	}

	for (i = 0; i < intQuantidadePaginas; i++) {
		i2 = i + 1;
		tam = String(i2).length;
		if(tam > 3){
			i2 = String(i2).substr( 0, tam - 3 ) + '.' + String(i2).substr( tam - 3, tam );		 
		}
		
		if(intQuantidadePaginas < 6){
			if (intPagina != i) {
				paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' href=\"javascript:ajaxRecarregarPaginacaoXML('"+ areaXml +"', '"+ divPaginacao +"', "+i+","+ intRegistrosPagina +", "+ intRegistros +", '"+ nodePai +"', '"+ xsl + "', '"+ posicaoLeg +"', "+irPara+");\">" + i2 + "</a>&nbsp;&nbsp;";
			} else {
				paginas = paginas + "<a style='font-weight:bold;text-align:center;vertical-align:middle;'><u>" + i2 + "</u></a>&nbsp;&nbsp;";
			}
		}else if((intPagina + 2) > intQuantidadePaginas){
				if ( (i + 5) > intPagina && intPagina > (i - 3)) {
					if (intPagina != i) {
						paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' href=\"javascript:ajaxRecarregarPaginacaoXML('"+ areaXml +"', '"+ divPaginacao +"', "+i+","+ intRegistrosPagina +", "+ intRegistros +", '"+ nodePai +"', '"+ xsl + "', '"+ posicaoLeg +"', "+irPara+");\">" + i2 + "</a>&nbsp;&nbsp;";
					} else {
						paginas = paginas + "<a style='font-weight:bold;text-align:center;vertical-align:middle;'><u>" + i2 + "</u></a>&nbsp;&nbsp;";
					}
				}								
		}else if((intPagina + 3) > intQuantidadePaginas){
				if ( (i + 4) > intPagina && intPagina > (i - 3)) {
					if (intPagina != i) {
						paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' href=\"javascript:ajaxRecarregarPaginacaoXML('"+ areaXml +"', '"+ divPaginacao +"', "+i+","+ intRegistrosPagina +", "+ intRegistros +", '"+ nodePai +"', '"+ xsl + "', '"+ posicaoLeg +"', "+irPara+");\">" + i2 + "</a>&nbsp;&nbsp;";
					} else {
						paginas = paginas + "<a style='font-weight:bold;text-align:center;vertical-align:middle;'><u>" + i2 + "</u></a>&nbsp;&nbsp;";
					}
				}								
		}else{			
			if(intPagina < 1){
				if ( (i + 3) > intPagina && intPagina > (i - 5)) {
					if (intPagina != i) {
						paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' href=\"javascript:ajaxRecarregarPaginacaoXML('"+ areaXml +"', '"+ divPaginacao +"', "+i+","+ intRegistrosPagina +", "+ intRegistros +", '"+ nodePai +"', '"+ xsl + "', '"+ posicaoLeg +"', "+irPara+");\">" + i2 + "</a>&nbsp;&nbsp;";
					} else {
						paginas = paginas + "<a style='font-weight:bold;text-align:center;vertical-align:middle;'><u>" + i2 + "</u></a>&nbsp;&nbsp;";
					}
				}					
			}else if(intPagina == 1){
				if ( (i + 3) > intPagina && intPagina > (i - 4)) {
					if (intPagina != i) {
						paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' href=\"javascript:ajaxRecarregarPaginacaoXML('"+ areaXml +"', '"+ divPaginacao +"', "+i+","+ intRegistrosPagina +", "+ intRegistros +", '"+ nodePai +"', '"+ xsl + "', '"+ posicaoLeg +"', "+irPara+");\">" + i2 + "</a>&nbsp;&nbsp;";
					} else {
						paginas = paginas + "<a style='font-weight:bold;text-align:center;vertical-align:middle;'><u>" + i2 + "</u></a>&nbsp;&nbsp;";
					}
				}								
			}else{
				if ( (i + 3) > intPagina && intPagina > (i - 3)) {
					if (intPagina != i) {
						paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' href=\"javascript:ajaxRecarregarPaginacaoXML('"+ areaXml +"', '"+ divPaginacao +"', "+i+","+ intRegistrosPagina +", "+ intRegistros +", '"+ nodePai +"', '"+ xsl + "', '"+ posicaoLeg +"', "+irPara+");\">" + i2 + "</a>&nbsp;&nbsp;";
					} else {
						paginas = paginas + "<a style='font-weight:bold;text-align:center;vertical-align:middle;'><u>" + i2 + "</u></a>&nbsp;&nbsp;";
					}
				}					
			}
		}
	}

	if (intPagina != (i - 1)) {
		paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' href=\"javascript:ajaxRecarregarPaginacaoXML('"+ areaXml +"', '"+ divPaginacao +"', "+ pProxima +","+ intRegistrosPagina +", "+ intRegistros +", '"+nodePai+"' , '" + xsl + "', '"+ posicaoLeg +"', "+irPara+");\">Próximo >> </a>&nbsp;";
		paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' href=\"javascript:ajaxRecarregarPaginacaoXML('"+ areaXml +"', '"+ divPaginacao +"', "+(i-1)+", "+ intRegistrosPagina +", "+ intRegistros +", '"+ nodePai +"', '"+ xsl + "', '"+ posicaoLeg +"', "+irPara+");\">|| Última</a>&nbsp;";
	}else{
		paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' >Próximo >> </a>&nbsp;";
		paginas = paginas + "<a	style='text-align:center; vertical-align:middle;' > || Última</a>&nbsp;";	
	}
					
	paginas = paginas + '</div>'
					
	if(irPara == 1){
		paginas = paginas + "<div style='text-align:right; vertical-align:middle;'><input type='text' id='txtIR"+divPaginacao+"' name='txtIR"+divPaginacao+"' size='4' maxlength='6' onkeyup='MascararCampoPaginacao(this);'/><input type='button' value='Ir para' onClick='javaScript:ajaxIrParaReenvio(\""+divPaginacao+"\");'/></div>";
	}
	$("strIr"+divPaginacao).value = areaXml +"@"+ divPaginacao +"@"+ intRegistrosPagina +"@"+ intRegistros +"@"+ nodePai +"@"+ xsl + "@"+ posicaoLeg + "@" + irPara;
	
	$("tdPaginacaoConsulta"+divPaginacao).innerHTML = paginas;
	//Seleção do xsl
	var xslDoc;
	xslDoc = Ajax.criarDOM();  //DOM retorno
	
	xslDoc.load($(xsl).id + ".xsl");
	//Adicionando dados no xsl
	var xmlTrans;
	xmlTrans = Ajax.criarDOM();  //DOM retorno
	xmlPagina.transformNodeToObject(xslDoc, xmlTrans);

	//imprimindo resultados
	$("divConsulta"+divPaginacao).innerHTML = xmlTrans.xml;
	$("divConsulta"+divPaginacao).style.display 	= "";

	return;
}			

/**
 * ajaxIrParaReenvio(divPaginacao)
 *------Monta paginação da página requisitada.
 * @param string divPaginacao
 *		Div que será mostrada a resultado da consulta
 * @return void
 */
 
function ajaxIrParaReenvio(divPaginacao){

	if ($("txtIR"+divPaginacao).value != "") {
		var expressao = /^\d+$/;
		var vIr = String($("txtIR"+divPaginacao).value).replace('.', '');

		if (!expressao.test(vIr)) {
			alert("Este campo só aceita números.");
			$("txtIR"+divPaginacao).value = "";
			return;
		}
	}else{
		return;	
	}
	
	var parametro = $("strIr"+divPaginacao).value.split("@");				
	var intQuantidadePaginas;
	
	if ((parseInt(parametro[3]) % parseInt(parametro[2])) != 0) {
		intQuantidadePaginas =  parseInt((parseInt(parametro[3]) / parseInt(parametro[2])) + 1);
	} else {
		intQuantidadePaginas =  parseInt(parseInt(parametro[3]) / parseInt(parametro[2]));
	}	

	if(parseInt(vIr) < 1 || parseInt(vIr) > intQuantidadePaginas){
		alert("Página não encontrada");
		return;
	}			
	
	pagina = vIr - 1;

	ajaxRecarregarPaginacaoXML(parametro[0], parametro[1], pagina, parametro[2], parametro[3], parametro[4], parametro[5], parametro[6], parametro[7]);
	return;			
}	



