//verifica o navegador
var IE = (navigator.userAgent.indexOf('MSIE') > -1);

function marcaMenu(){
	l = location.href.split('/')[3];
	if(l == '' || l == 'index.php')
		l = 'index';
	if(document.getElementById(l))
		document.getElementById(l).className = 'marcado';
}

//mostrarConteudo(): torna um conteudo visível
//	- id: id do conteudo a monstrar
function mostrarConteudo(id){			
	document.getElementById(id).style.display = 'block';
}

//esconderConteudo(): esconde um conteudo
//	- id: id do conteudo a esconder
function esconderConteudo(id){
	document.getElementById(id).style.display = 'none';
}

//trocarConteudo(): troca um conteudo visível por outro
//	-id: id do conteudo a trocar
var visivel = '';
function trocarConteudo(id){
	if(visivel.length > 0) 
		esconderConteudo(visivel);
	mostrarConteudo(id);
	visivel = id;
}

//trocarConteudoClique(): troca um conteudo visível por outro. caso clique no conteudo que ja esteje visivel, esconde ele
//	-id: id do conteudo a trocar
function trocarConteudoClique(id){	
	if(visivel.length > 0) 		
		esconderConteudo(visivel);
	if(visivel != id){
		mostrarConteudo(id);
		visivel = id;
	}else{
		visivel = '';
	}
}

//linkCombo(): linka um combo
//	- idCombo: id do combo a linkar
function linkCombo(idCombo){
	location.href = document.getElementById(idCombo).value;
}

//marcarCombo(): marca um combo, caso algum dos seus options contenham a url no seu value
//	- idCombo: id do combo a marcar
function marcarCombo(idCombo){	
	var opts = document.form[idCombo].options;	
	for(var i = 0; i < opts.length; i ++){		
		if(location.href.indexOf(opts[i].value) > -1){
			opts[i].selected = true;
			break;
		}
	}
}


//abrirPopup(): abre uma popup
//	- url: caminho da janela a abrir
//	- width: width da popup
//	- height: height da popup
//  - scroll(opcional): se a pop-up terá scroll
function abrirPopup(url, width, height,scroll){
	var parametro = 'width=' + width + ', height=' + height;
	if(scroll)
		parametro += ', scrollbars =' + scroll;	
	window.open(url, '', parametro);
}

//função para limpar o form
function resetarForm(){
	if (!confirm("Deseja realmente limpar todos os dados do formulário?")) return;
	var campos = document.getElementById('form').elements;	
	for (var i = 0; i < campos.length; i++) {
		if((campos[i].type.toUpperCase() == "TEXT") || (campos[i].type.toUpperCase() == "TEXTAREA"))
			campos[i].value = "";
		if(campos[i].type.toUpperCase() == "CHECKBOX")
			campos[i].checked = false;
		if(campos[i].type.toUpperCase() == "SELECT-ONE")
			campos[i].value = "";
		if(campos[i].type.toUpperCase() == "PASSWORD")
			campos[i].value = "";
		if(campos[i].type.toUpperCase() == "FILE"){
			campos[i].value = "";
			if (IE)
				campos[i].outerHTML = campos[i].outerHTML
		}
	}
}

/* Retira a borda dos flashes
Copyright 2006 Adobe Systems, Inc. All rights reserved.
Versão compacta, alterada por Renato Herculano
	- src, width e height são obrigatórios
	- os demais parametros são opcionais
*/
function flash(src, width, height, id, flashVars, wmode, menu, scale){
	var ret = GetArguments(src, width, height, id, flashVars, wmode, menu, scale);
	var str = '<object ';
	for (var i in ret.objAttrs)
		str += i + '="' + ret.objAttrs[i] + '" ';
	str += '>';
	for (var i in ret.params)
		str += '<param name="' + i + '" value="' + ret.params[i] + '" /> ';
	str += '</object>';
	document.write(str);
}

//GetArguments(): função auxiliar para retirar a borda dos flashes
//	- retorna os argumentos da tag object e os parametros
function GetArguments(src, w, h, id, flashVars, wmode, menu, scale){
	var ret = new Object();
	ret.params = new Object();
	ret.objAttrs = new Object();

	ret.objAttrs['data'] = ret.params['movie'] = src;
	ret.objAttrs['width'] = w;
	ret.objAttrs['height'] = h;
	ret.params['quality'] = 'high';
	ret.objAttrs['type'] = 'application/x-shockwave-flash';
	ret.params['menu'] = 'false';
	
	if(id) ret.objAttrs['id'] = id;

	if(flashVars) ret.params['flashVars'] = flashVars;
	
	ret.params['wmode'] = (wmode)? wmode : 'transparent';
	ret.params['scale'] = (scale)? scale : 'exactfit';
	ret.params['menu'] = (menu)? menu : 'false';
	
	return ret;
}

//cria um array para guardar a altura de cada div
var arrQuadros = new Array();
//função que lista todas as divs dentro de uma div principal
//idPrincipal = id que contem as divs
function listaQuadros(idPrincipal){
	var todosQuadros = document.getElementById(idPrincipal).getElementsByTagName("div");
	for (var i=0; i<todosQuadros.length; i++){
		cadaQuadro = todosQuadros[i].id;
		//mostra os itens
		document.getElementById(cadaQuadro).style.display = 'block';
		//armazena a altura de cada div
		var altura_quadro = document.getElementById(cadaQuadro).offsetHeight;
		//deixa todas as divs fechadas
		document.getElementById(cadaQuadro).style.height = 60 + 'px';
		//Chama a função nos itens
		todosQuadros[i].firstChild.onmouseover = function(){
			slide(cadaQuadro);
		}
		// abaixo inserimos no array todos os dados de cada quadro
		arrQuadros.push(new Array(cadaQuadro, altura_quadro));
	}
}

// funcao que faz o efeito "slide"
//obj = div que tera a ação.
function slide(obj){
	//pega a altura da div para verificar se ela esta aberta ou fechada
	var alt = document.getElementById(obj).offsetHeight;
	//se a altura for maior que 5 fecha a div
	if(alt > 60)
		fecha(obj);
	//senao abre a div
	if(alt <= 60)
		abre(obj, alt);
}

// busca o objeto requerido entre todos os objetos e devolve a altura do mesmo previamente guardada no array
//obj = div a qual se quer a altura
function retornaAltura(obj){
	for(i=0;i<arrQuadros.length;i++){
		if(arrQuadros[i][0]==obj) {
			return arrQuadros[i][1];
		}
	}
}

//função que faz o efeito de abrir.
//obj = div que tera o efeito
//alt == altura atual da div
var alt
function abre(obj, alt){
	if(alt == undefined) 
		alt = 60;
	alt = Math.ceil(alt)+10;
	//retorna a altura total da div
	totalAlt = retornaAltura(obj);
	if (!(alt > totalAlt))
		document.getElementById(obj).style.height=alt+"px";
	if(alt < totalAlt){
		setTimeout("abre('"+obj+"', "+alt+")",2);
	}
}

//função que faz o efeito de fechar.
//obj = div que tera o efeito
function fecha(obj){
	var alt = document.getElementById(obj).offsetHeight;
	alt = Math.ceil(alt)-10;
	if(alt < 60)
		alt = 60; // caso o valor seja menor que 0 deixamos em zero, valores negativos aqui causam erros
	document.getElementById(obj).style.height=alt+"px";
	if(alt > 60) {
		setTimeout("fecha('"+obj+"',"+alt+")",2);
	} else {
		// caso tenha sobrado por algum motivo algum pixel a mostra, zeramos a altura, por segurança apenas
		if(document.getElementById(obj).offsetHeight > 60)
			document.getElementById(obj).style.height="60px";
	}
}