/*
--------------------------------------------------------------------
 Arquivo:			funcoes.js
 Autor:				Gilson Hoffmeister
 E-mail:			gilsonh@feevale.br
 Data da Criação:	21/10/2004
 Última Alteração:	Rodrigo S. Donini
 E-mail:			donini@feevale.br
 Alterado em:		23/02/2005
--------------------------------------------------------------------
*/
var intDirecao = 0;


/*
--------------------------------------------------------------------
 Função para voltar pra a página anterior
--------------------------------------------------------------------
*/
function fntVoltar() //v1.0
{
	window.history.back();
}

/*
--------------------------------------------------------------------
 Função para fechar uma jenela
--------------------------------------------------------------------
*/
function fntFechar() //v1.0
{
	window.close();
}

/*
--------------------------------------------------------------------
 Função para imprimir a tela
--------------------------------------------------------------------
*/
function fntImprimir() //v1.0
{
	window.print();
}

/*
--------------------------------------------------------------------
 Função para abrir uma página especifica
--------------------------------------------------------------------
*/
function fntAbrirUrl(strUrl, strJanela) //v.1.0
{
	if (strJanela == '')
	{
		strJanela = '_self';
	}
	window.open(strUrl, strJanela,'');
}

/*
--------------------------------------------------------------------
 Função para abrir uma janela pop-up com os parametros abaixo
 
 - strUrl:		Endereço a ser aberto;
 - strJanela:	Nome do iframe ou frame a ser aberto;
 - intLargura:	Largura em pixels da janela a ser aberta;
 - intAltura:	Altura em pixels da janela a ser aberta;
--------------------------------------------------------------------
*/
function fntAbrirJanela(strUrl, strJanela, bolBarra, intLargura, intAltura) //v1.0
{
	var strBarra
	if (bolBarra)
	{
		strBarra = "yes"
	}
	else
	{
		strBarra = "no"
	}
	var intPosX = (screen.width/2)-(intLargura/2) - 5;
	var intPosY = (screen.height/2)-(intAltura/2) - 40;
	var strFeatures = "status=yes, menubar=no, scrollbars=" + strBarra + ", resizable=no, width=" + intLargura + ", height=" + intAltura + ", top=" + intPosY + ", left=" + intPosX;
	window.open(strUrl, strJanela, strFeatures);
}

/*
--------------------------------------------------------------------
 Função responsável por encontrar objetos e elementos
 
 - objNome:			Nome do objeto (elemento);
 - objDocumento:	Nome do documento (document.nome_documento); (opcional)
--------------------------------------------------------------------
*/
function fntLocalizarObj(objNome, objDocumento) //v1.0
{
	var intContador, p, x;
	if (!objDocumento)
	{
		objDocumento = document;
	}
	if ((p = objNome.indexOf("?")) > 0 && parent.frames.length)
	{
		objDocumento = parent.frames[objNome.substring(p + 1)].document;
		objNome = objNome.substring(0, p);
	}
	if (!(x = objDocumento[objNome]) && objDocumento.all)
	{
		x = objDocumento.all[objNome];
	}
	for (intContador = 0; !x && intContador < objDocumento.forms.length; intContador++) x = objDocumento.forms[intContador][objNome];
	for (intContador = 0; !x && objDocumento.layers && intContador < objDocumento.layers.length; intContador++) x = fntLocalizarObj(objNome,objDocumento.layers[intContador].document);
	if (!x && objDocumento.getElementById)
	{
		x = objDocumento.getElementById(objNome);
	}
	return x;
}

/*
--------------------------------------------------------------------
 Função responsável por mostrar/esconder camadas
--------------------------------------------------------------------
*/
function fntMostrarEsconder() //v1.0
{
	var intContador, strDisplay, objNome, arrArgs = fntMostrarEsconder.arguments;
	for (intContador = 0; intContador < (arrArgs.length - 1); intContador += 2)
	{
		if ((objNome = fntLocalizarObj(arrArgs[intContador])) != null)
		{
			strDisplay = arrArgs[intContador + 1];
			if (objNome.style)
			{
				objNome = objNome.style;
				strDisplay = (strDisplay == 'mostrar')?'block':(strDisplay == 'esconder')?'none':strDisplay;
			}
			objNome.display = strDisplay;
		}
	}
}

/*
--------------------------------------------------------------------
 Função responsável por modificar estilos de objetos
--------------------------------------------------------------------
*/
function fntEstilo() //v1.0
{
	var intContador, strClasse, objNome, arrArgs = fntEstilo.arguments;
	for (intContador = 0; intContador < (arrArgs.length - 1); intContador += 2)
	{
		if ((objNome = fntLocalizarObj(arrArgs[intContador])) != null)
		{
			strClasse = arrArgs[intContador + 1];
			objNome.className = strClasse;
		}
	}
}


/*
--------------------------------------------------------------------
 Função responsável pela navegação da Galeria de Mídia (Jornal da Feevale)
--------------------------------------------------------------------
*/

function fntMostraLink()
{
	var intContador, strDisplay, objNome, arrArgs = fntMostraLink.arguments;
    
    // recebo a posição do array e do elemento atual
	intContador = (arrArgs[0])+(arrArgs[1]);		
	
	// guardo a posição que será exibida	
	strDisplay =  intContador;
	
	// testo a navegação das setas para não ultrapassar o tamanho do array
	if ( (intContador +1)  > arrArgs.length)
	{		
		intDirecao--;		
	}
	else 
	{	
		if (intContador < 2)
		{
			intDirecao++;
		}
		else
		{
		    // testo se a posição do elemento no array é valida
			if((intContador <= arrArgs.length) && (intContador >= 2))
			{
				// laço que percorre o array trocando os display dos elementos
				for (intCont = 2; intCont < arrArgs.length; intCont++)
				{
					//recebo o ID do elemento na posição intCont do array
					objNome = document.getElementById(arrArgs[intCont])
					
					//testo se é o elemento a ser exibido e troco o status do display												
					objNome.style.display = (strDisplay != intCont) ? "none" : "block";					
				}	
			}		
		}
	}

}

// Função que retorna a direção para percorrer o array
function fntDirecao(bolDirecao)
{	
	return intDirecao += (bolDirecao > 0) ? -1 : +1;	
}
/*
Pequeno ajuste... Tiago Uriartt
*/
function fntTamTextoDireto(objNome, bolTam) //v1.0
{
	var strTamanhoAtual = objNome.style.fontSize;
	if (strTamanhoAtual == "")
	{
		strTamanhoAtual = "100%";
	}
	if (bolTam)
	{
		switch (strTamanhoAtual)
		{
			case "100%":
				objNome.style.fontSize = "120%";
				break;
			case "120%":
				objNome.style.fontSize = "140%";
				break;
			default:
				objNome.style.fontSize = "140%";
				break;
		}
	}
	else
	{
		switch (strTamanhoAtual)
		{
			case "140%":
				objNome.style.fontSize = "120%";
				break;
			case "120%":
				objNome.style.fontSize = "100%";
				break;
			default:
				objNome.style.fontSize = "100%";
				break;
		}
	}
}

/*
--------------------------------------------------------------------
 Função responsável por aumentar ou diminuir o tamanho do texto da
 div especificada
 
 - strNome:			Nome do objeto (div);
 - bolTam:			Tamanho do texto a ser exibido
					0 - Diminui
					1 - Aumenta
--------------------------------------------------------------------
*/
function fntTamTexto(strNome, bolTam) //v1.0
{
	var objNome = document.getElementById(strNome);
	var strTamanhoAtual = objNome.style.fontSize;
	if (strTamanhoAtual == "")
	{
		strTamanhoAtual = "100%";
	}
	if (bolTam)
	{
		switch (strTamanhoAtual)
		{
			case "100%":
				objNome.style.fontSize = "120%";
				break;
			case "120%":
				objNome.style.fontSize = "140%";
				break;
			default:
				objNome.style.fontSize = "140%";
				break;
		}
	}
	else
	{
		switch (strTamanhoAtual)
		{
			case "140%":
				objNome.style.fontSize = "120%";
				break;
			case "120%":
				objNome.style.fontSize = "100%";
				break;
			default:
				objNome.style.fontSize = "100%";
				break;
		}
	}
	/*ajuste para pesquisar por todas as tags dentro do corpo...*/
	var campos = objNome.getElementsByTagName('p');
	for (var x=0; x < campos.length; x++){			
		fntTamTextoDireto(campos[x], bolTam)		
	}	
	campos = objNome.getElementsByTagName('li');
	for (var x=0; x < campos.length; x++){	
		fntTamTextoDireto(campos[x], bolTam)		
	}
}

/*
--------------------------------------------------------------------
--------------------------------------------------------------------
*/
//Tenta criar o objeto xmlHTTP
//Fila de conexões
fila=[];
ifila=0;

//Tenta criar o objeto xmlHTTP
try{
    xmlhttp = new XMLHttpRequest();
}catch(ee){
    try{
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }catch(e){
        try{
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }catch(E){
            xmlhttp = false;
        }
    }
}

//Carrega via XMLHTTP a url recebida e coloca seu valor
//no objeto com o id recebido
function ajaxHTML(id,url){
	//Adiciona à fila
    fila[fila.length]=[id,url];

    //Se não há conexões pendentes, executa
    if((ifila+1)==fila.length)ajaxRun();
}

//Executa a próxima conexão da fila
function ajaxRun(){
	//Abre a conexão
	xmlhttp.open("GET",fila[ifila][1],true);

	//Função para tratamento do retorno
	xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState==4){
			//Mostra o HTML recebido
			retorno=unescape(xmlhttp.responseText.replace(/\+/g," "));
			//verifica se a div tem conteudo
			//teste loco ajustado... Tiago 09/01/2009
			//if (document.getElementById(fila[ifila][0]).innerHTML.length > 0) 
			if (retorno.length <= 0) 
			{
				//se nao tiver conteudo, retorna em branco e esconde a div
				document.getElementById(fila[ifila][0]).innerHTML='';
				document.getElementById(fila[ifila][0]).style.display = "none"; 
			}
			else
			{
				//se tiver conteudo, exibe retorno
				document.getElementById(fila[ifila][0]).style.display = ""; 
				document.getElementById(fila[ifila][0]).innerHTML=retorno;
				
				if((fila[ifila][1].indexOf('ConteudoGraduados.asp?strTipo=C&') > 0) || (fila[ifila][1].indexOf('ConteudoGraduados.asp?strTipo=NAC&') > 0) || (fila[ifila][1].indexOf('ConteudoGraduados.asp?strTipo=FS&') > 0)){
					initLightbox(); //para o zoom da imagem dos graduados
				}
			}
			//Roda o próximo
			ifila++;
			if(ifila<fila.length)setTimeout("ajaxRun()",20);
		}
	}

	//Executa
	xmlhttp.send(null);
}

function fntMontaQueryString(localpost,form,completar){
	var campos = form.getElementsByTagName('input');
	var nomes = "";
	for (var x=0,cont=0; x < campos.length; x++){
		if((campos[x].type == "text") || (campos[x].type == "hidden") || ((campos[x].type == "radio") && campos[x].checked)){		
			if(campos[x].value != ""){
				if(cont>0){
					nomes += '&';
				}
				nomes += campos[x].name + "=" + campos[x].value;
				cont++;
			}			
		}
	}
	/*alert(localpost);
	alert(nomes);
	alert(completar);
	alert(localpost+'?'+nomes+completar);*/
	return localpost+'?'+nomes+completar;
}

//Para abrir das paginas que utilizam navegacao
function fntMovimentaParametrointAbrePagina(idDiv,pagina,AbrePagina){
	document.getElementById(idDiv).innerHtml = 'Carregando...';
	if(pagina.indexOf('?') > 0){
		pagina += '&intAbrePagina='+AbrePagina;
	}else{
		pagina += '?intAbrePagina='+AbrePagina;
	}
	ajaxHTML(idDiv,pagina);
}

//Adicionar aos favoritos do navegador
function addFav(){
	var url      = document.location;
	var title    = document.title;
	if (window.sidebar) window.sidebar.addPanel(title, url,"");
	else if(window.opera && window.print){
		var mbm = document.createElement('a');
		mbm.setAttribute('rel','sidebar');
		mbm.setAttribute('href',url);
		mbm.setAttribute('title',title);
		mbm.click();
	}
	else if(document.all){window.external.AddFavorite(url, title);}
}

//adicionar a favoritos de sites de tags
function addFavoritoSites(urlEnviada){
	document.location = urlEnviada.replace('<!-- strURL -->',document.location.href.replace('&','%26')).replace('<!-- strTITLE -->',document.title);
}

function imprimeFoto(id, pg) {
    var oPrint, oJan;
    oPrint     = window.document.getElementById(id);
    oJan     = window.open(pg);
    
    oJan.document.write('<img src="'+oPrint.src+'">');
    oJan.history.go();
    oJan.window.print();
}