	//Esta função simula a função trim para o javascript
	//uma função trim elimina os espaços em branco de uma variavel
	String.prototype.trim = function() {
		var x = this;
		x = x.replace(/^\s*(.*)/, "$1");
		x = x.replace(/(.*?)\s*$/, "$1");
		return x;
	}
	String.prototype.replaceAll = function(de, para){
		var str = this;
		var pos = str.indexOf(de);
		while (pos > -1){
			str = str.replace(de, para);
			pos = str.indexOf(de);
		}
		return (str);
	}
	// Array.indexOf( value, begin, strict ) - Return index of the first element that matches value
	Array.prototype.indexOf = function( v, b, s ) {
		for( var i = +b || 0, l = this.length; i < l; i++ ) {
			if( this[i]===v || s && this[i]==v ) { return i; }
		}
	 	return -1;
	};
	
var mn1;
var mn2;
	
function showHideLayer(id)	{
	var obj = document.getElementById(id);		
	if(obj.style.display=="block"){
		obj.style.display="none";
	}else{
		obj.style.display="block";
		}
}

// ONLOAD
	// uso -> arOnload.push('findimg');
	/*var arOnload = new Array();
	var wol = window.onload;
	window.onload = function(){
		if (wol) wol.call();
		if (arOnload) {for (var i in arOnload) {arOnload[i].call();}}
		delete arOnload;
	}
	arOnload.push(findimg);
*/
// HOVER DE IMAGENS
	var sufixoImgOver = '_ov';
	var classToOver = 'roll';
	var classDown = 'down';

	function roll(o,state){
		var i,isnode,src,ftype,newsrc,nownode;
		// loop através de todos os childNodes
		for (i=0;i<o.childNodes.length;i++){
			nownode = o.childNodes[i];
			// se o nó é um elemento
			// e é uma IMG, muda a variável e sai do loop
			if(nownode.nodeType==1 && /img/i.test(nownode.nodeName)){
				isnode = i;
				break;
			}
		}  // verifica o src e faz o roll-over
		if (o.locked){
			//o.locked from submenu.js
			return;
		}
		src = o.childNodes[isnode].src;
		ftype = src.substring(src.lastIndexOf('.'), src.length);
		if (state == 'over' && o.state != state) {
			//set over
			newsrc = src.replace(ftype, sufixoImgOver+ftype);
		} else if(o.state == 'over') {
			//set up
			newsrc = src.replace(sufixoImgOver,'');
		}
		if (newsrc) {
			o.state = state;
			o.childNodes[isnode].src=newsrc;
		}
	}
	function findimg(){
		var imgs,i;  // Faz um loop através de todas as imagens
		//verificando se alguma delas contém a classe da var 'classToOver'
		imgs=document.getElementsByTagName('img');
		for(i=0;i<imgs.length;i++){
			if(eval('/'+classDown+'/').test(imgs[i].className)) {
				roll(imgs[i].parentNode,'over');
			}
			if(eval('/'+classToOver+'/').test(imgs[i].className)) {
				// adiciona a função roll ao elemento-pai da imagem
				imgs[i].parentNode.onmouseover=function(){roll(this,'over'); };
				imgs[i].parentNode.onmouseout=function(){roll(this,'up');};
				imgs[i].parentNode.onfocus=function(){roll(this,'over');};
				imgs[i].parentNode.onblur=function(){roll(this,'up');};
			}
		}
	}
/*
DOWN
<script>
	var mnprodDown = id('id DOM da imagem');
	roll(mnprodDown.parentNode,'over');
	mnprodDown.parentNode.locked = true;
</script>
*/

//uso -> id("id_dom").value
	function id(idDesc){return document.getElementById(idDesc);}

	function openpopup(popurl){
		var winpops=window.open(popurl,"","width=720,height=520,resizable,scrollbars")
	}
	
	var arrExcessoes = new Array();
	function glossario(){
		if(document.getElementById("texto") != null){
			var conteudoHTML = document.getElementById("texto").innerHTML;
			var texto_pagina = "";
			if(document.all){
				texto_pagina = document.getElementById("texto").innerText;
			}else{
				texto_pagina = document.getElementById("texto").textContent;
			}
			
			if(window.ActiveXObject)
				req = new ActiveXObject("Microsoft.XMLHTTP");
			else if (window.XMLHttpRequest)
				req = new XMLHttpRequest();
		
			req.open("POST","../glossario/search.php",true);
			req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
			req.send("texto="+texto_pagina);
		
			req.onreadystatechange = function()
			{
				if(req.readyState==4){
					var retorno = req.responseText;
					if(retorno.trim() != ""){
						var arrTermosEncontrados = retorno.split("|");
						for(var i=0; i<arrTermosEncontrados.length; i++){
							termo = arrTermosEncontrados[i].toLowerCase();
							if(arrExcessoes.indexOf(termo) == -1){
								start = texto_pagina.indexOf(termo);
								sufixo = texto_pagina.substring(start-1, start);
								
								if(!verificaAlfabeto(sufixo)){
									link_glossario = "<a href=\"javascript:openpopup('../glossario/index.php?termo="+termo+"')\">"+termo+"</a>";
									conteudoHTML = conteudoHTML.replace(termo,link_glossario);
								}
							}
						}
						document.getElementById("texto").innerHTML = conteudoHTML;
					}
				}
			}
		}
	}
	
	function verificaAlfabeto(texto){
		padrao=/^[a-zA-Z]$/; 	
		if(padrao.exec(texto) != null){
			return true;
		}else{
			return false;
		}
		
	}
	
	function validarCNPJ(cnpj){
	  cnpj = cnpj.replaceAll(".", "").replace("/", "").replace("-", "");
	  var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
	  digitos_iguais = 1;
	  if (cnpj.length < 14 && cnpj.length < 15)
			return false;
	  for (i = 0; i < cnpj.length - 1; i++)
			if (cnpj.charAt(i) != cnpj.charAt(i + 1))
				  {
				  digitos_iguais = 0;
				  break;
				  }
	  if (!digitos_iguais)
			{
			tamanho = cnpj.length - 2
			numeros = cnpj.substring(0,tamanho);
			digitos = cnpj.substring(tamanho);
			soma = 0;
			pos = tamanho - 7;
			for (i = tamanho; i >= 1; i--)
				  {
				  soma += numeros.charAt(tamanho - i) * pos--;
				  if (pos < 2)
						pos = 9;
				  }
			resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
			if (resultado != digitos.charAt(0))
				  return false;
			tamanho = tamanho + 1;
			numeros = cnpj.substring(0,tamanho);
			soma = 0;
			pos = tamanho - 7;
			for (i = tamanho; i >= 1; i--)
				  {
				  soma += numeros.charAt(tamanho - i) * pos--;
				  if (pos < 2)
						pos = 9;
				  }
			resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
			if (resultado != digitos.charAt(1))
				  return false;
			return true;
			}
	  else
			return false;
	} 

	function ValidaBusca() {
		if (document.formBusca.txtBusca.value == "") {
			alert("Informe um texto para a busca!");
			document.formSearch.formBusca.focus();
			return false;
		}
		document.formBusca.submit();
	}
	
	function giveFocus(obj) {
		if (obj.value == obj.defaultValue) {
			obj.value = "";
		}
	}
	function loseFocus(obj) {
		if (obj.value == "") {
			obj.value = obj.defaultValue;
		}
	}

	//------------------------------------------------------------
	// Verifica a altura (pixels) da página 
	function getPageHeight() {
			
		if (document.body.clientHeight){
			pageHeight = document.body.scrollHeight;
		} else if (document.body.offsetHeight) {
			pageHeight = document.body.offsetHeight;
		} else if (document.body.scrollHeight) {
			pageHeight = document.body.scrollHeight;
		} else {
			pageHeight = 0;
		}
	
		return pageHeight;
	}
	
	//------------------------------------------------------------
	// Verifica a largura (pixels) da página 
	function getPageWidth() {
			
		if (document.body.clientWidth){
			pageWidth = document.body.clientWidth;
		} else if (document.body.offsetHeight) {
			pageWidth = document.body.offsetWidth;
		} else if (document.body.scrollHeight) {
			pageWidth = document.body.scrollWidth;
		} else {
			pageWidth = 0;
		}
	
		return pageWidth;
	}
	
