function voltar() {

	//************************************************************************************************************************************************
	// Objetivo:	Função para voltar para página anterior
	// Entrada:		Sem Parametro
	// Saída:		Página Anterior 		
	//************************************************************************************************************************************************

	try {
		window.history.go(-1);
	}
	catch (e) {
		alert("Não há páginas no histórico do navegador!");

	}

}


function pop(nome, url) {
	// Parâmetros:
	// name - identificador da janela
	// url - endereco da pagina que sera aberta

	// Manter o comando abaixo na mesma linha
	try {
		window.open(url, nome, 'width=240,height=140,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,fullscreen=no')
	}
	catch (e) {
		alert("Erro abrindo página esqueci minha senha! \n Verifique seu anti-popup!");

	}
}

function popCliente(nome, url) {
	// Parâmetros:
	// name - identificador da janela
	// url - endereco da pagina que sera aberta

	// Manter o comando abaixo na mesma linha
	try {
		window.open(url, nome, 'width=620,height=455,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,fullscreen=no')
	}
	catch (e) {
		alert("Erro abrindo página esqueci minha senha! \n Verifique seu anti-popup!");

	}
}

function abrirHelp(strUrl) {
	//************************************************************************************************************************************************
	// Objetivo:	Função para padronizar o tamanho de todas as janelas de help
	// Entrada:		Url a ser aberta
	// Saída:		Janela aberta com a url 		
	//************************************************************************************************************************************************

	try {
		OcultaDvWait();
		window.open(strUrl, "Help", "width=600,height=400,resizable=yes,scrollbars=yes,top=0,left=0");
		return false;
	}
	catch (e) {
		alert("Erro abrindo help!");

	}


}


function abrirRelatorioNew(id) {
	//************************************************************************************************************************************************
	// Objetivo:	Função para padronizar o tamanho de todas as janelas de relatorio
	// Entrada:		Url a ser aberta
	// Saída:		Janela aberta com a url 		
	//************************************************************************************************************************************************

	try {
		if (document.getElementById("BusyBoxOuterLayer"))
			document.getElementById("BusyBoxOuterLayer").style.display = "none";
		//abre o relatorio em uma popup    
		document.forms[0].target = "Relatorio";
		window.open('', "Relatorio", "width=770,height=600,resizable=yes,scrollbars=yes,top=0,left=0");
		__doPostBack(id, '');
		//retorna o submit do form na mesma janela
		document.forms[0].target = "_self";
		return false;
	}
	catch (e) {
		alert("Erro abrindo relatorio! " + e.description);
		return false;
	}
}

function abrirRelatorio(strUrl) {
	//************************************************************************************************************************************************
	// Objetivo:	Função para padronizar o tamanho de todas as janelas de relatorio
	// Entrada:		Url a ser aberta
	// Saída:		Janela aberta com a url 		
	//************************************************************************************************************************************************

	try {

		window.open(strUrl, "Relatorio", "width=770,height=600,resizable=yes,scrollbars=yes,top=0,left=0");
	}
	catch (e) {
		alert("Erro abrindo help!");

	}
}

function ampliarImagem(strProcesso) {
	//************************************************************************************************************************************************
	// Objetivo:	Ampliar imagem
	// Entrada:		Número do processo
	// Saída:		Janela com imagem ampliada 		
	//************************************************************************************************************************************************

	try {
		var strUrl = "../ampliarImagem.aspx?txt_processo=" + strProcesso;
		window.open(strUrl, "Imagem", "width=600,height=400,resizable=yes,scrollbars=yes,top=0,left=0");
	}
	catch (e) {
		alert("Erro ampliando imagem");

	}


}




function descricaoClasse(strClasse, strProcesso) {
	//************************************************************************************************************************************************
	// Objetivo:	Retornar os produtos/serviços protegidos
	// Entrada:		Número do processo
	// Saída:		Produtos/Serviços protegidos		
	//************************************************************************************************************************************************

	try {
		var strUrl = "descricaoClasse.aspx?txt_classe=" + strClasse + "&txt_processo=" + strProcesso;

		window.open(strUrl, "Classe", "width=600,height=300,resizable=yes,scrollbars=yes,top=0,left=0");

	}

	catch (e) {
		alert("Erro abrindo os produtos/serviços protegidos.");
		alert(e);
	}
}

//Criado por Pedro Santos 27/07/2006
function detalheClasse(strClasse, strProcesso) {

	try {
		var strUrl = "detalheClasse.aspx?txt_classe=" + strClasse + "+&txt_processo=" + strProcesso;

		window.open(strUrl, "Classe", "width=600,height=300,resizable=yes,scrollbars=yes,top=0,left=0");

	}
	catch (e) {
		alert("Erro");
		alert(e);

	}
}

function detalheMarca(txtProcesso) {

	try {
		var strUrl = "VisualizarMarcaPopup.aspx?processo=" + txtProcesso;

		window.open(strUrl, "Classe", "width=600,height=300,resizable=yes,scrollbars=yes,top=0,left=0");

	}
	catch (e) {
		alert("Erro");
		alert(e);

	}

}
function descricaoDespacho(txtDespacho) {


	try {
		var strUrl = "atualizaInformacoesDespacho.aspx?txt_despacho=" + txtDespacho;

		window.open(strUrl, "Despacho", "width=790,height=213,resizable=yes,scrollbars=yes,top=0,left=0");

	}
	catch (e) {
		alert("Erro:");
		alert(e);
	}
}



function abrirBusca(strUrl) {
	//************************************************************************************************************************************************
	// Objetivo:	Função para abrir busca
	// Entrada:		Url a ser aberta
	// Saída:		Janela aberta com a url 		
	//************************************************************************************************************************************************

	try {

		//alert(strUrl);
		window.open(strUrl, "Busca", "width=750,height=300,resizable=yes,scrollbars=yes,top=0,left=0");
	}
	catch (e) {
		alert("Erro abrindo refinar busca!");

	}

}

function popGen(strUrl, width, height) {
	//************************************************************************************************************************************************
	// Objetivo:	Função para abrir popupt com altura e largura configuraveis
	// Entrada:		Url a ser aberta
	// Saída:		Janela aberta com a url 		
	//************************************************************************************************************************************************
	try {
		window.open(strUrl, "Busca", "width=" + width + ",height=" + height + ",resizable=no,scrollbars=no");
	}
	catch (e) {
		alert("Erro abrindo url " + strUrl + ". Verifique seu anti-popup");
	}
}

function abrirBuscaPatentes(strUrl) {
	//************************************************************************************************************************************************
	// Objetivo:	Função para abrir busca
	// Entrada:		Url a ser aberta
	// Saída:		Janela aberta com a url 		
	//************************************************************************************************************************************************

	try {

		//alert(strUrl);
		window.open(strUrl, "Busca", "width=750,height=300,resizable=yes,scrollbars=yes,top=0,left=0");
	}
	catch (e) {
		alert("Erro abrindo refinar busca!");

	}

}



function popNovaSenha(nome, url) {
	// Parâmetros:
	// name - identificador da janela
	// url - endereco da pagina que sera aberta

	// Manter o comando abaixo na mesma linha
	try {
		window.open(url, nome, 'width=380,height=185,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,fullscreen=no')
	}
	catch (e) {
		alert("Erro: abrindo página atualizar senha! \n Verifique seu anti-popup!");

	}
}

//******************************************************////////////////
//******************************************************////////////////

function show_hideTabela(t) {
	/*
	Objetivo: Controlar visibilidade de uma tabela
	Entrada: t --> nome da tabela
	Saída: Se a tabela estiver visivel será escondida e vice-versa
	
	*/
	try {
		var table = document.all[t];
		if (table != null) {

			if (table.style.display == "")
				table.style.display = "none";
			else
				table.style.display = "";
		}
	}
	catch (e) {
		//alert("Erro: abrindo página atualizar senha! \n Verifique seu anti-popup!");

	}
}



//******************************************************////////////////
//******************************************************////////////////

function mostrarDespacho(strDespacho, blnExibe) {

	/*
	Objetivo: Controlar visibilidade dos despachos
	Entrada: strDespacho: Código do despacho, blnExibe --> Configuração atual
	Saída: Alteração da visibilidade do despacho
	
	*/

	if (window.confirm("Deseja alterar o despacho " + strDespacho + "?")) {
		document.getElementById("txt_exibe").value = blnExibe

		document.getElementById("txt_Despacho").value = strDespacho
		__doPostBack('bntAtualizar', '');
	}

}

//******************************************************////////////////
//******************************************************////////////////

function mostrarInternosExternos(strInternosExternosJs, blnExibeInternosExternosJs) {
	if (window.confirm("Deseja alterar para interno " + blnExibeInternosExternosJs + "?")) {
		document.getElementById("txt_exibeExternosInternos").value = blnExibeInternosExternosJs

		document.getElementById("txt_flagInternosExternos").value = strInternosExternosJs
		__doPostBack('btnAtualizarInternosExternos', '');
	}

}


function popDespacho(nome, url) {
	// Parâmetros:
	// name - identificador da janela
	// url - endereco da pagina que sera aberta

	// Manter o comando abaixo na mesma linha
	try {
		window.open(url, nome, 'width=500,height=60,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,fullscreen=no')
	}
	catch (e) {
		alert("Erro ao abrir!!! \n Verifique seu anti-popup!");

	}
}

/**
* X-browser event handler attachment and detachment
* TH: Switched first true to false per http://www.onlinetools.org/articles/unobtrusivejavascript/chapter4.html
*
* @argument obj - the object to attach event to
* @argument evType - name of the event - DONT ADD "on", pass only "mouseover", etc
* @argument fn - function to call
*/
function addEvent(obj, evType, fn) {
	if (obj.addEventListener) {
		obj.addEventListener(evType, fn, false);
		return true;
	} else if (obj.attachEvent) {
		var r = obj.attachEvent("on" + evType, fn);
		return r;
	} else {
		return false;
	}
}
function removeEvent(obj, evType, fn, useCapture) {
	if (obj.removeEventListener) {
		obj.removeEventListener(evType, fn, useCapture);
		return true;
	} else if (obj.detachEvent) {
		var r = obj.detachEvent("on" + evType, fn);
		return r;
	} else {
		alert("Handler could not be removed");
	}
}

/**
* Code below taken from - http://www.evolt.org/article/document_body_doctype_switching_and_more/17/30655/
*
* Modified 4/22/04 to work with Opera/Moz (by webmaster at subimage dot com)
*
* Gets the full width/height because it's different for most browsers.
*/
function getViewportHeight() {
	if (window.innerHeight != window.undefined) return window.innerHeight;
	if (document.compatMode == 'CSS1Compat') return document.documentElement.clientHeight;
	if (document.body) return document.body.clientHeight;

	return window.undefined;
}
function getViewportWidth() {
	var offset = 17;
	var width = null;
	if (window.innerWidth != window.undefined) return window.innerWidth;
	if (document.compatMode == 'CSS1Compat') return document.documentElement.clientWidth;
	if (document.body) return document.body.clientWidth;
}

/**
* Gets the real scroll top
*/
function getScrollTop() {
	if (self.pageYOffset) // all except Explorer
	{
		return self.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
	// Explorer 6 Strict
	{
		return document.documentElement.scrollTop;
	}
	else if (document.body) // all other Explorers
	{
		return document.body.scrollTop;
	}
}
function getScrollLeft() {
	if (self.pageXOffset) // all except Explorer
	{
		return self.pageXOffset;
	}
	else if (document.documentElement && document.documentElement.scrollLeft)
	// Explorer 6 Strict
	{
		return document.documentElement.scrollLeft;
	}
	else if (document.body) // all other Explorers
	{
		return document.body.scrollLeft;
	}
}

function Point(l, t) {
	this.x = l
	this.y = t;
}


function GetOffsets(el) {
	var point = new Point(0, 0);
	var eAtual = el;
	do {
		point.x += eAtual.offsetLeft;
		point.y += eAtual.offsetTop;
		eAtual = eAtual.offsetParent;
	} while (eAtual.tagName.toUpperCase() != "BODY");
	return point;
}

function popDuvidaPatentes(strProcesso) {
	//************************************************************************************************************************************************
	// Objetivo:	Abrir página p/ envio de email de dúvidas sobre patentes
	// Entrada:		Número do processo
	// Saída:		Janela com formulario p/ preenchimento de dados
	//************************************************************************************************************************************************

	try {
		var strUrl = "ContatoPatentes.aspx?txt_processo=" + strProcesso;

		window.open(strUrl, "Imagem", "width=530,height=285,resizable=yes,scrollbars=yes,top=0,left=0");
	}
	catch (e) {
		alert("Erro ampliando contato!");

	}
}


//******************************************************************************
// cancela propagação de eventos de controles filho para controles pai
//******************************************************************************
function cancelPropagation(evt) {
	if (!evt) var evt = window.event;
	evt.cancelBubble = true;
	if (evt.stopPropagation) evt.stopPropagation();
}


/*
* Coloca todos os botões do tipo submit com a mesma largura, que será a do botão com o maior texto
*/
function btnMakeSameWidth(idContainer) {
	var x = document.getElementById(idContainer);
	var btns = x.getElementsByTagName('input');
	var aBtns = new Array();
	var maxWidth = 0;
	for (i = 0; i < btns.length; i++) {
		if (btns[i].type == "submit" || btns[i].type == "button") {
			aBtns.push(btns[i]);
			if (btns[i].clientWidth > maxWidth)
				maxWidth = btns[i].clientWidth;
		}
	}
	for (i = 0; i < aBtns.length; i++) {
		aBtns[i].style.width = maxWidth + "px";
	}
}

//********************************************************************
// Cria abas com cantos arredondados sem utilizar imagens
//
/*
*/
function criaBordasArredondadas(idAba, cssClasse) {
	var aba = document.getElementById(idAba);
	var offsets = new Array(1, 2, 3, 5);
	var container = aba.parentNode;
	var altura = aba.clientHeight;
	//remove o conteúdo atual para adiciona-lo depois já com os cantos arredondados
	container.removeChild(aba);
	//canto esquerdo
	for (i = 3; i >= 0; i--) {
		var linha = document.createElement('DIV');
		if (cssClasse)
			linha.className = cssClasse;
		with (linha.style) {
			height = (altura - offsets[i]) + "px";
			top = offsets[i] + "px";
			width = "1px";
			position = "relative";
			cssFloat = 'left';
			styleFloat = 'left';
		}
		container.appendChild(linha);
	}
	//adiciona novamente a aba
	with (aba.style) {
		cssFloat = 'left';
		styleFloat = 'left';
	}
	container.appendChild(aba);

	//canto direito
	for (i = 0; i < 4; i++) {
		var linha = document.createElement('DIV');
		if (cssClasse)
			linha.className = cssClasse;
		with (linha.style) {
			if (cssClasse)
				className = cssClasse;
			height = (altura - offsets[i]) + "px";
			top = offsets[i] + "px";
			width = "1px";
			position = "relative";
			cssFloat = 'left';
			styleFloat = 'left';
		}
		container.appendChild(linha);
	}

}

/**
* Oculta camada que indica sistema ocupado
**/
function OcultaDvWait() {
	if (document.getElementById("BusyBoxOuterLayer"))
		document.getElementById("BusyBoxOuterLayer").style.display = "none";
}

// *************************************************
// função que limita o tamanho máximo de caracteres em uma textarea
// ************************************************
function setMaxLength(textarea, len) {
	var val = textarea.value;
	if (val.length > len)
		textarea.value = val.substr(0, len);
}

// crossbrowser p/ determinar o estilo computado de um elemento

function GetComputedStyle(elemento) {
	if (window.getComputedStyle) { //Firefox
		return window.getComputedStyle(elemento, null);
	} else if (elemento.currentStyle) { //IE
		return elemento.currentStyle;
	}
}