 
// A função abaixo cria a instância do Ajax tanto para o Firefox como para o internet explorer
function createXMLHTTP() 
{              

				//Monta um array para a tentativa das versões no I.E., apartir da versão 5.0 passa a ser nativo. 
               var arrSignatures = ["Microsoft.XMLHTTP", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
			   
			   //Pecorre o array na base da tentativa e erro. 
               for (var i=0; i < arrSignatures.length; i++) 
			   {
				   //Efetua a tentativa do Internet Explorer, dando certo efeuta o retorno da função e sai do laço  
                     try {
                           var ajax = new ActiveXObject(arrSignatures[i]);
						   return ajax;
                         } 
					 catch (oError) 
						 {
							try 
							   {
								   //Efetua a tentativa em outros Navegadores FireFox, Lynux e Opera e retorna o objeto 
								   var ajax = new XMLHttpRequest();
								   return ajax;
							   }
							   catch(exc)
							   {
								   //Envia a mensagem de erro para o usuário e aborta a execução.
								   window.alert("Esse browser não tem recursos para uso do Ajax!");
								   return false; 
							   }
                          }
                }
                throw new Error("Esse browser não tem recursos para uso do Ajax");
				//Caso passe de todo o laço sem possibilidade de retorno envia a seguinte mensagem de erro para o usuário 
}

function ConverteTexto(strTexto)
{
  
  strTexto = strTexto.replace(/\+/g," "); // Substitue o “+” por um espaço.
  strTexto = unescape(strTexto); // Desfaz o que a função urlencode(); fez.
  
  return strTexto; 
}


function tb_parseQuery ( query ) {
   var Params = {};
   if ( ! query ) {return Params;}// return empty object
   var Pairs = query.split(/[;&]/);
   for ( var i = 0; i < Pairs.length; i++ ) {
      var KeyVal = Pairs[i].split('=');
      if ( ! KeyVal || KeyVal.length != 2 ) {continue;}
      var key = unescape( KeyVal[0] );
      var val = unescape( KeyVal[1] );
      val = val.replace(/\+/g, ' ');
      Params[key] = val;
   }
   return Params;
}



function OpenBox (URL)
{
	
var params = tb_parseQuery ( URL )

if ( params['validar'] != undefined && eval(params['validar']+'();') != true)
	return;
	
	document.getElementById('BX_window').style.display = 'Block';
	document.getElementById('BX_iframeContent').style.height = params['height'];
	document.getElementById('BX_iframeContent').style.width = params['width'];
	document.getElementById('BX_iframeContent').style.display = 'Block';
	document.getElementById('BX_iframeContent').src = URL;
	
//$("BX_iframeContent").append("<div id='BX_title' style='width:"+params['width']+"px;'><div id='BX_ajaxWindowTitle'>"+params['titulo']+"</div><div id='BX_closeAjaxWindow'><a href='javascript:CloseBox();' id='BX_closeWindowButton' title='Close'>Fechar</a></div></div>");
}

function CloseBox ()
{

	document.getElementById('BX_window').style.display = 'none';
	document.getElementById('BX_iframeContent').style.display = 'none';
	
}

function getPosicaoElemento(elemID){
    var offsetTrail = elemID;
    var offsetLeft = 0;
    var offsetTop = 0;
    while (offsetTrail) {
        offsetLeft += offsetTrail.offsetLeft;
        offsetTop += offsetTrail.offsetTop;
        offsetTrail = offsetTrail.offsetParent;
    }
    if (navigator.userAgent.indexOf("Mac") != -1 && 
        typeof document.body.leftMargin != "undefined") {
        offsetLeft += document.body.leftMargin;
        offsetTop += document.body.topMargin;
    }
    return {left:offsetLeft, top:offsetTop};
}

function SelecionaObjeto(Objeto)
{
	SelecionarItem(document.getElementById(Objeto));

	if ( document.getElementById(Objeto).checked == false)
		document.getElementById(Objeto).checked = true;
	else
		document.getElementById(Objeto).checked = false;
		
	SelecionarItem(document.getElementById(Objeto));
}

 function SelecionarItem(Item)
{
	
	 if ( Item.checked == true)
	{
					
		if ( document.getElementById('Selecionados').value.indexOf(Item.value) < 0)
		{
			document.getElementById('Selecionados').value = document.getElementById('Selecionados').value+','+Item.value;
			
		}
	}
	 else
	{
		 if ( document.getElementById('Selecionados').value.indexOf(Item.value) >= 0)
		{
			vetItens = document.getElementById('Selecionados').value.split(",")
			document.getElementById('Selecionados').value = '';
			var remontaItens = '';
			 for ( var i = 0; i<=vetItens.length-1; i++)
			{
				if ( vetItens[i] != Item.value && vetItens[i] != '' && vetItens[i] != 'undefined')
				{
					document.getElementById('Selecionados').value = document.getElementById('Selecionados').value+','+vetItens[i];
				}
			}
		}		
	}
	//alert(document.getElementById('Selecionados').value);
}

 function FecharDiv(Objeto)
{
	document.getElementsByTagName('body')[0].style.overflow = 'auto';
	document.getElementsByTagName('html')[0].style.overflow = 'auto';
	
	document.getElementById('div_'+Objeto).style.visibility = "hidden";
	document.getElementById('ifr_'+Objeto).style.visibility = "hidden";
	document.getElementById(Objeto).style.visibility 		 = "hidden";
	 
}

function CriaJanela (pstrParam, pstrURL, NomeJanela)
{	

	document.getElementsByTagName('body')[0].scrollTop = 0;
	document.getElementsByTagName('body')[0].style.overflow = 'hidden';
	document.getElementsByTagName('html')[0].style.overflow = 'hidden';

	// Criando o objeto Ajax
	var objAjax; 
	objAjax = createXMLHTTP();	
	document.getElementsByTagName('body')[0].onResize = "alert('You have changed the size of the window');";

	// Criando div de fundo
	if (document.getElementById('div_'+NomeJanela) != '[object]') {
		var node0 = document.createElement('DIV');
		node0.setAttribute('id', 'div_'+NomeJanela);
		document.getElementsByTagName('body')[0].appendChild(node0);
		document.getElementById('div_'+NomeJanela).style.position = 'absolute';
		document.getElementById('div_'+NomeJanela).style.top = '0px';
		document.getElementById('div_'+NomeJanela).style.left = '0px';

		//document.getElementById('div_'+NomeJanela).style.background = '#999999';
		document.getElementById('div_'+NomeJanela).className = "bodyCor";
		document.getElementById('div_'+NomeJanela).style.filter = 'Alpha(Opacity=50)';
		document.getElementById('div_'+NomeJanela).style.height = '100%';
		document.getElementById('div_'+NomeJanela).style.width = '100%';
		document.getElementById('div_'+NomeJanela).style.zindex = '2';
		document.getElementById('div_'+NomeJanela).onclick = 'FecharDiv();';
		document.getElementById('div_'+NomeJanela).style.border = "none";
	}
	else
		document.getElementById('div_'+NomeJanela).style.visibility = "visible";
	
	// Criando div de fundo
	if (document.getElementById('ifr_'+NomeJanela) != '[object]') {
		var node0 = document.createElement('iframe');
		node0.setAttribute('id', 'ifr_'+NomeJanela);
		document.getElementsByTagName('body')[0].appendChild(node0);
		document.getElementById('ifr_'+NomeJanela).style.position = 'absolute';
		document.getElementById('ifr_'+NomeJanela).style.top = '0px';
		document.getElementById('ifr_'+NomeJanela).style.left = '0px';
		document.getElementById('ifr_'+NomeJanela).style.background = '#999999';
		document.getElementById('ifr_'+NomeJanela).style.filter = 'Alpha(Opacity=0)';
		document.getElementById('ifr_'+NomeJanela).style.height = '100%';
		document.getElementById('ifr_'+NomeJanela).style.width = '100%';
		document.getElementById('ifr_'+NomeJanela).style.zindex = '1';
		document.getElementById('ifr_'+NomeJanela).onclick = "FecharDiv();";
		document.getElementById('ifr_'+NomeJanela).style.visibility = "visible";
		document.getElementById('ifr_'+NomeJanela).style.border = "0";
	}
	else
		document.getElementById('ifr_'+NomeJanela).style.visibility = "visible";

	// Criando div de fundo
	if (document.getElementById(NomeJanela) != '[object]') {
		var node0 = document.createElement('DIV');
		node0.setAttribute('id', NomeJanela);
		document.getElementsByTagName('body')[0].appendChild(node0);
		document.getElementById(NomeJanela).style.border = '1px solid #000000';
		document.getElementById(NomeJanela).style.padding = '0px 0px 4px 0px';
		document.getElementById(NomeJanela).style.zindex = '101';
		
			document.getElementById(NomeJanela).style.top = (document.getElementsByTagName('body')[0].offsetHeight - document.getElementById(NomeJanela).style.height) / 2;
		document.getElementById(NomeJanela).style.left = (document.getElementsByTagName('body')[0].offsetWidth - document.getElementById(NomeJanela).style.width) / 2;

		document.getElementById(NomeJanela).style.position = 'absolute';
		document.getElementById(NomeJanela).textalign = 'center';
		document.getElementById(NomeJanela).style.visibility = "visible";
		document.getElementById(NomeJanela).style.border = "0";
	}
	else
		document.getElementById(NomeJanela).style.visibility = "visible";

	//document.getElementById(pstrDivResposta).innerHTML 	= '<center><span class="bordaBairros" style="background:#FFFFFF;"><span style=" height:17px; padding-top:1px; text-align:center;">&nbsp;&nbsp;&nbsp;&nbsp; Aguarde... &nbsp;&nbsp;&nbsp;&nbsp;</span></span></center>';
	//Efetuando a abertura da requisição, Tipo, URL Requirida, Tipo de Conexão true - Assincrona e false sincrona 
	objAjax.open("get", pstrURL+"?"+'base=nom_'+NomeJanela+'&'+pstrParam, true);
	
	//Informando o tipo da página de requisição 
	objAjax.setRequestHeader("Content-Type", "text/plain");
	
	//Informando o controle de cachê no caso abaixo informando para ignorar o cachê 
	objAjax.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
	objAjax.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
	objAjax.setRequestHeader("Pragma", "no-cache");

	objAjax.onreadystatechange=function()
		{		
			//Validando o status do retorno 
			if (objAjax.readyState==4)
			{				
				
				 if (parseInt(navigator.appVersion)>3) 
				{
					  if (navigator.appName=="Netscape") 
					 {
					  winW = window.innerWidth;
					  winH = window.innerHeight;
					 }
					 
					  if (navigator.appName.indexOf("Microsoft")!=-1) 
					 {
					  winW = document.body.offsetWidth;
					  winH = document.body.offsetHeight;
					 }
				}
				
				//Informando aonde o conteúdo deve ser posicionado 
				document.getElementById(NomeJanela).innerHTML = objAjax.responseText;
				document.getElementById('div_'+NomeJanela).onclick = "FecharDiv();";
				document.getElementById('ifr_'+NomeJanela).onclick = "FecharDiv();";
				document.getElementById(NomeJanela).onclick = "FecharDiv();";

				window.onresize = function()
				{
					document.getElementById(NomeJanela).style.top = parseInt((document.body.offsetHeight - document.getElementById('nom_'+NomeJanela).offsetHeight) / 2)+'px';
					document.getElementById(NomeJanela).style.left = parseInt((document.body.offsetWidth - document.getElementById('nom_'+NomeJanela).offsetWidth) / 2)+'px';
					document.getElementById('div_'+NomeJanela).style.height = document.body.offsetHeight;					
				}
				
				
				document.getElementById(NomeJanela).style.top = parseInt((winH - document.getElementById('nom_'+NomeJanela).offsetHeight) / 2)+'px';
				document.getElementById(NomeJanela).style.left = parseInt((winW - document.getElementById('nom_'+NomeJanela).offsetWidth) / 2)+'px';
			}
		}

		//Perceba que a requesição deve ser feita abaixo da função onreadystatechange, 
		//Não esqueça de colocar null se não houver nenhum parâmetro senão não funciona nos outros navegadores. 
		objAjax.send(pstrParam);
}

 function getPosicaoElemento(elemID)
{
    var offsetTrail = elemID;
    var offsetLeft = 0;
    var offsetTop = 0;
	
     while (offsetTrail) 
	{
        offsetLeft += offsetTrail.offsetLeft;
        offsetTop += offsetTrail.offsetTop;
        offsetTrail = offsetTrail.offsetParent;
    }
	
     if (navigator.userAgent.indexOf("Mac") != -1 && typeof(document.body.leftMargin) != "undefined") 
	{
        offsetLeft += document.body.leftMargin;
        offsetTop += document.body.topMargin;
    }
	
    return {left:offsetLeft, top:offsetTop};
}

function OcultaObjetos(prObejto)
{
	document.getElementById(""+prObejto+"").style.visibility = "hidden";
	document.getElementById("RetornoEvo2").style.visibility = "hidden";
	document.getElementById("retEvos").style.visibility = "hidden";
	return false;
}

function Formatabr(text)
{
	var normalized_Enters = text //.replace(/\r|\n/g, "\r\n");
	var text_with_br = normalized_Enters.replace(/\r\n/g, "<br />");
	return text_with_br;
}

function UnFormatabr(text)
{
	var normalized_Enters = text //.replace(/\r|\n/g, "\r\n");
	var text_with_br = normalized_Enters.replace("<br>", /\r|\n/g);
	return text_with_br;
}

function loadXML(strXML)
{
	if (strXML != "")
	{
		var objXML;
		if (window.DOMParser)
		{
			var objParser = new DOMParser();
			objXML = objParser.parseFromString(strXML, "text/xml");
		}
		else // Internet Explorer
		{
			objXML = new ActiveXObject("Microsoft.XMLDOM");
			objXML.async="false";
			objXML.loadXML(strXML); 
		}	
		return objXML;
	}
	else
		return null;
}