// ===============================================
// ROTINAS.JS: (c) 2002 - Kogumelo Informática
// ===============================================

// detecçao da versão do I.E 
// ver http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html
var
	// Tipos de Browsers detectados
	IE				= 0,
	NETSCAPE		= 1,
	OPERA			= 2,
	OUTROS		= 3,
	
	tipoBROWSER	= OUTROS,
	versaoBROWSER = navigator.appVersion,
	
	agt = navigator.userAgent.toLowerCase(),		// nome do browser
	versaoMaior = parseInt( versaoBROWSER ),		// versao.
	versaoMenor = parseFloat( versaoBROWSER );	//       .release
	
	// Ajusta o nome do Browser
	if( agt.indexOf("opera") != -1 )
		tipoBROWSER = OPERA;
	else
	if( agt.indexOf("netscape") != -1 )
		tipoBROWSER = NETSCAPE;
	else
	if( agt.indexOf("msie") != -1 )
		tipoBROWSER = IE;
	
	// O Browser aceita display:none e display:block?
	var comEXPANSAO = ( (tipoBROWSER == IE) || (tipoBROWSER == NETSCAPE) );
	
	// Ajusta a versão do Browser
	// O IE, nas versões 5 em diante, acusam versaoMaior = 4
	// As demais versões e browsers estão corretas
	if( ( versaoMaior < 4 ) || ( versaoMaior > 4 ) || ( tipoBROWSER != IE ) )
		versaoBROWSER = navigator.appVersion;
	else
	if( agt.indexOf( "6." ) != -1 )
		versaoBROWSER = "6.0";
	else
	if( agt.indexOf( "5.5" ) != -1 )
		versaoBROWSER = "5.5";
	else
	if( agt.indexOf( "5.0" ) != -1 )
		versaoBROWSER = "5.0";
	else
		versaoBROWSER = navigator.appVersion;
/*
	var is_ie3    = (is_ie && (is_major < 4));
	var is_ie4    = (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1) );
	var is_ie4up  = (is_ie && (is_major >= 4));
	var is_ie5    = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
	var is_ie5_5  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") !=-1));
	var is_ie5up  = (is_ie && !is_ie3 && !is_ie4);
	var is_ie5_5up= (is_ie && !is_ie3 && !is_ie4 && !is_ie5);
	var is_ie6    = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) );
	var is_ie6up  = (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && !is_ie5_5);
*/    
    
var
	FALSE = false,
	TRUE = true,
	
	// Diretórios
	dirBASE = "/",
	dirAVAL = dirBASE,
	dirGIF	= dirBASE + "img/",
	dirUNEX = dirBASE + "unex/",
	dirHTML = dirBASE + "html/",
	dirAUX	= dirBASE + "auxilios/",
	dirCSS	= dirBASE,
	dirBASECGI = dirBASE + "cgi-bin/",
	dirCGI	= dirBASECGI,
	
	pgmMenuPRINC = "menuPrinc.exe",	// nome do programa principal
	
	g_querCOMENT = false,	// aceita Comentários nos formulários?
	g_corFundo = "#000053",	// Cor Padrão para o Fundo da Página
//	g_imgFundo = dirGIF + "fundo.gif",	// Gif Padrão para o Fundo da Página
	g_imgFundo = '',	// Gif Padrão para o Fundo da Página
	g_body = 'bgColor="'+g_corFundo+'" background="'+g_imgFundo+'"',	// Cor e Gif do Fundo da Página
	g_podeNA = false,	// tem resposta 'Não se Aplica'?
	g_siglaNA = 'NA',	// Texto equivalente ao 'Não se Aplica'
	g_nomeNA = 'Não se aplica',	// Texto equivalente ao 'Não se Aplica'
	g_Parm = "",		// parâmetros a serem passados para os formulários de avaliação
	g_FormName = "",	// nome do formulário recém-criado
	g_FormUltRadio = "", // nome do último controle Radio criado
	g_FormQtd = 0,		// qtd de Inputs no formulário recém-criado
	g_maxESCALA = 5,	// tamanho máximo da escala de médias
	g_PLUS = true,		// gráficos da versão Plus?
	g_siglaInst = "",	// sigla da Instituição
	g_Versao = "",		// Versão atual dos programas
	g_dirInst = "",	// diretório da Instituição
	g_urlInst = "",	// url da instituição
	g_temMENU = true, // Apresenta o lado esquerdo das páginas?
	g_chamarMenuPrinc = true,	// SAIR chama MenuPrinc de novo?

	
	// Janelas de exibição
	idJanAGUARDE	= "JANAGUARDE",	// janela que antecede a exibição da página normal
	idJanDADOS		= "JANDADOS",		// janela que exibe a página normal
	idJanFEITO		= "JANFEITO",		// janela que exibe o percentual de gráfico já processado
	
	idJanESQ			= "JANESQ",
	idJanDIR			= "JANDIR",
	idJanPRETODIR	= "JANPRETODIR",
	idJanALTO		= "JANALTO",
	idJanBAIXO		= "JANBAIXO",
	idJanPRETOBAIXO= "JANPRETOBAIXO",
	
	idNivelABRANG	= "ABRANG",		// Cada nível no Menu de Login
	idOPCAOINPUT 	= "GRAF";		// Cada <input> de um Menu de Opções	

// ==============================================
// Objeto está definido?
// ==============================================
function EhDefinido( obj )
{
	return( typeof( obj ) != 'undefined' );
}

// ==============================================
// Check if the Number.toFixed method is supported. Prototype it if it's not;
// http://www.jwscripts.com/scripts/source.php?file=/backoffice/scripts/backup/42.txt
// ==============================================

if( EhDefinido( Number )  &&  EhDefinido( Number.prototype ) )
{
  if( !EhDefinido( Number.prototype.toFixed ) )
  {
    function Number_toFixed( d )
    {
      var n = this;
      d = d || 2;
      var f = Math.pow( 10, d );
      n = Math.round( n * f ) / f;
      n += Math.pow( 10, - (d + 1) );
      n += '';
      return d == 0 ? n.substring( 0, n.indexOf( '.' ) ) : n.substring( 0, n.indexOf ( '.' ) + d + 1 );
    }
    Number.prototype.toFixed = Number_toFixed;
  }
}

// ==============================================
// Retorna um objeto de acordo com o seu nome
// ==============================================
function quemEh( nomeObj )
{
	if( document.getElementById )
		return( document.getElementById( nomeObj ) );
	else
	if( document.layers )
		return( document.layers[ nomeObj ] );
	else
	if( document.all )
		return( document.all[ nomeObj ] )
	else
		return( null );
}

//============================================================================
function rTrim( p_str )
{
     return( p_str.replace(/(.*?)\s*$/, "$1") ); 
} 

//============================================================================
function lTrim( p_str )
{
     return( p_str.replace(/^\s*(.*)/, "$1") ); 
} 

//============================================================================
function trim( p_str )
{
     return( rTrim( lTrim( p_str ) ) );
} 

// ==============================================
// Carrega as imagens antecipadamente para o cache
// ==============================================
function preload() 
{
	if( !document.images ) return;
	var ar = new Array();
	var arguments = preload.arguments;
	for( var i = 0; i < arguments.length; i++ ) 
	{
		ar[ i ] = new Image();
		ar[ i ].src = arguments[ i ];
	}
}

function preloadGif()
{
	if( !document.images ) return;
	var ar = new Array();
	var arguments = preloadGif.arguments;
	for( var i = 0; i < arguments.length; i++ ) 
	{
		ar[ i ] = new Image();
		ar[ i ].src = dirGIF + arguments[ i ] + ".gif";
	}
}

// ==============================================
// Escreve texto com sombra
// ==============================================
function sombra( txt )
{
	if( tipoBROWSER==IE  &&  versaoBROWSER>="5.5" )
		return( '<div style="position:relative" nowrap="nowrap">' + 
			'<span style="position:absolute;top:1pt;left:1pt;color:black">' + 
			txt + 
			'</span>' +
			'<span style="position:relative;">' + 
			txt + 
			'</span>' + 
			'</div>' );
	else
		return( txt );
}

// =============================================
// Formatação de Mensagem em janela
// =============================================
function jMsg( Sigla, Dir, msg1, msg2, redir, prog, Versao )
{
	if( Sigla != "" )
		g_siglaInst = Sigla;
	if( Dir != "" )
		g_dirInst = Dir;
	if( !EhDefinido( prog )  ||  ( prog == "" ) )
		prog = pgmMenuPRINC;
	if( !EhDefinido( Versao ) ) 
		Versao = "";
	dirCGI = dirBASECGI + Versao;
	
	if( g_chamarMenuPrinc )
		urlChamar = dirCGI + prog + '?INST=' + g_dirInst;
	else
		urlChamar = "http://" + g_urlInst;

	var str = '<html><head>' +
		' <title>Avaliação Institucional - ' + g_siglaInst + '</title>' +
		' <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />';
		
	if( redir )
		str += ' <meta http-equiv="REFRESH" content="3;URL=' + urlChamar + '" />';

	str += ' <link type="text/css" rel="stylesheet" href="' + dirCSS + 'estilos.css" />' +
		'</head>' +
		'<body ' + g_body + '>' +
		'<div class="Center" style="padding-top:20%;color:white;font-size=10pt;font-weight:bolder"">' +
		'<img src="' + dirGIF + 'avalnet2.gif" alt="" /><p>' + 
		sombra( msg1 ) + '</p><p>' + sombra( msg2 ) + '</p><p>&nbsp;</p>';
		
	if( redir )
		str += '<span style="font-size:8pt">Se esta mensagem permanecer por muito tempo, ' + 
			'<a href="' + urlChamar + '"><span style="color:#ffff00"><b>clique aqui</b></span></a></span>';
			
	str += '</div></body></html>';

	return( str );
}

// =============================================
// Janela de Mensagem de Erro
// =============================================
function jMensagem( Sigla, Dir, msg1, msg2, Versao )
{
	if( !EhDefinido( Versao ) )
		Versao = "";
	document.write( jMsg( Sigla, Dir, msg1, msg2, false, '', Versao ) );
}

// =============================================
// Janela de redirecionamento automático para MenuPrinc.exe
// =============================================
function jRedireciona( Sigla, Dir, msg1, msg2, Versao )
{
	if( !EhDefinido( Versao ) )
		Versao = "";
	jan = window.open( '', '_self', '' );
 	jan.document.open ( 'text/html', 'replace' );
 	jan.document.write( jMsg( Sigla, Dir, msg1, msg2, true, '', Versao ) );
 	jan.document.close();
}

// =============================================
// Janela de despedida padrão do Sistema de Avaliação (botão sair)
// =============================================
function jFecha()
{
	jRedireciona( '', '', 
		'Obrigado pela participação.', 
		'E volte sempre para novas consultas.',
		g_Versao );
}

// =============================================
// Janela de abertura padrão do Sistema de Avaliação (default.htm)
// =============================================
function jAbre( Sigla, Dir, Versao )
{
	if( !EhDefinido( Versao ) )
		Versao = "";
		
	jRedireciona( Sigla, Dir, 
		'Por favor, aguarde alguns instantes até que o programa inicie ...', 
		'', Versao );
}

// =============================================
// Janela de abertura padrão do Sistema de Avaliação de Egressos (default.htm)
// =============================================
function jAbreEgresso( Sigla, Dir, Versao, Programa )
{
	jan = window.open( '', '_self', '' );
 	jan.document.open ( 'text/html', 'replace' );
 	jan.document.write( jMsg( Sigla, Dir,
 		'Por favor, aguarde alguns instantes até que o programa inicie ...', 
 		'', 
 		true, Programa, Versao ) );
 	jan.document.close();
}

// =============================================
// Janela de abertura padrão do Sistema de Avaliação de Egressos (default.htm)
// =============================================
function jAbreGravaEgresso( Sigla, Dir, Versao )
{
	jAbreEgresso( Sigla, Dir, Versao, 'exaluno.exe' );
}

// =============================================
// Janela de abertura padrão do Sistema de Avaliação de Egressos (default.htm)
// =============================================
function jAbreLeEgresso( Sigla, Dir, Versao )
{
	jAbreEgresso( Sigla, Dir, Versao, 'leexaluno.exe' );
}

// =============================================
// Janela de final de conexão por inatividade
// =============================================
function jInativo( Sigla, Dir, Versao )
{
	if( !EhDefinido( Versao ) )
		Versao = "";
	jRedireciona( Sigla, Dir,
		'Por motivo de longa inatividade,', 
		'sua conexão está sendo encerrada.',
		Versao );
}

// =============================================
// Janela de Sistema Fora do Ar
// =============================================
function jSisFora( Sigla, Dir, Versao )
{
	if( !EhDefinido( Versao ) )
		Versao = "";
	jRedireciona( Sigla, Dir,
		'Nossos programas estão em manutenção neste momento.<br />' +
		'Dentro em breve eles retornarão com novas funcionalidades.', 
		'Por favor, tente um pouco mais tarde.', Versao );
}

// =============================================
// Janela de Instituição Fora do Ar
// =============================================
function jInstFora( Sigla, Dir, Versao )
{
	if( !EhDefinido( Versao ) )
		Versao = "";
	jRedireciona( Sigla, Dir,
		'Os dados de sua Instituição estão em manutenção neste momento.<br />' +
		'Dentro em breve o sistema estará de novo disponível e com novas funcionalidades.',
		'Por favor, tente um pouco mais tarde.', Versao );
}

// ==============================================
// Abre Janela de Auxílio
// ==============================================
function jAux( nomeJan )
{
	var jan = window.open( '/auxilios/' + nomeJan + '.htm', 'Auxilio',
		'toolbar=no,scrollbars=yes,resizable=no,location=no,' +
		'directories=no,left=50,top=20,width=700,height=500' );
}

// ==============================================
// Alterna imagem de um botão
// ==============================================
function imgAlterna( event, mouseOver, img )
{
	if( document.getElementById )	// Netscape e Internet Explorer
	{
		var imagem;
		if( document.all )	// Internet Explorer
			imagem = window.event.srcElement;
		else						// Netscape
			imagem = event.target;
		if( !EhDefinido( imagem.src ) )
			imagem = document.getElementById( img ); 
		var nome = imagem.src; 
		var p = nome.length-1;
		while( nome.charAt(p) != '.' )
			p--;
		if( mouseOver ) 
			imagem.src = nome.substr( 0, p ) + 'f.' + nome.substr( p+1 ); 
		else 
			imagem.src = nome.substr( 0, p-1 ) + '.' + nome.substr( p+1 );
	}
}	
function imgMouseOver( event, img )
{
	imgAlterna( event, true, img );
}	
function imgMouseOut( event, img )
{
	imgAlterna( event, false, img );
}	

// ==============================================
// Retorna nome da imagem GIF
// ==============================================
function img( nome, w, h, a )
{
	return( '<img src="' + nome + '"' +
		' border="0" align="absmiddle" name="' + nome + '"' + 
		( ( w == "" ) ? '' : ( ' width="' + w + '"' ) ) + 
		( ( h == "" ) ? '' : ( ' height="' + h + '"' ) ) + 
		' alt="' + a + '" />' );
}

function imgComAlternancia( nome, w, h, a, onClick )
{
	document.write( '<img src="', nome, '"',
		' border="0" align="absmiddle" name="', nome, '"', 
		( ( w == "" ) ? '' : ( ' width="' + w + '"' ) ), 
		( ( h == "" ) ? '' : ( ' height="' + h + '"' ) ), 
		' alt="', a, '"', 
		( onClick == "" ) ?  '' : ( ' onclick="' + onClick + '"' ),
		' onmouseover="imgMouseOver(event,&quot;',  nome, '&quot;)"', 
		' onmouseout="imgMouseOut(event,&quot;', nome, '&quot;)" />' );
}

function gif( nome, w, h, a )
{
	return( img( dirGIF + nome + ".gif", w, h, a ) );
}

function gifComAlternancia( nome, w, h, a, onClick )
{
	imgComAlternancia( dirGIF + nome + ".gif", w, h, a, onClick );
}

function aComAlternancia( nome, w, h, a, onClick, href, complemento, estilo, link, imgDepois )
{
	document.write( ' <a align="left" title="', a, '"', 
		' href="', href, '" ', complemento, ' onClick="', onClick, '"',
		' onmouseover="imgMouseOver(event,&quot;', nome, '&quot;)" ',
		' onmouseout="imgMouseOut(event,&quot;', nome, '&quot;)"> ' );
	if( imgDepois )
		document.write( '<span style="', estilo, '">', link, '</span>&nbsp;&nbsp;', img( nome, w, h, "" ) );
	else
		document.write( img( nome, w, h, "" ), '&nbsp;<span style="', estilo, '">', link, '</span>' );
	document.write( '</a>' );
}

// ==============================================
// Expande/Colapsa bloco, além de mudar imagem do gif
// ==============================================
function expande( event, quem, comNovaImagem )
{
	var quemSt = quemEh( quem );
	if( quemSt != null )
	{
		var colapsado = quemSt.style.display == "none";
		quemSt.style.display = ( colapsado ) ? "block" : "none";
	
		if( comNovaImagem )
		{
			var imagem;
			switch( tipoBROWSER )
			{
				case( IE ):
					imagem = window.event.srcElement;
					break;
					
				case( NETSCAPE ):
					imagem = event.target;
					break;
			}
				
			if( quem == "JANALTO" )
			{
				imagem.src = dirGIF + ( ( colapsado ) ?  "printerf.gif" : "graff.gif" );
				document.body.background = ( colapsado ) ? g_imgFundo : "";
				document.body.bgColor = ( colapsado ) ? g_corFundo : "white";
			}
			else
				imagem.src = dirGIF + ( ( colapsado ) ?  "fechadof.gif" : "abertof.gif" );
		}
	}
}

// ==============================================
// Cria um grupo que expande/colapsa
// ==============================================
function grupo( nomeGrupo, titleGrupo, txtGrupo, help, align, comTxt, complementoDiv )
{
	document.write( '<div align="', align, '"', 
		( EhDefinido( complementoDiv ) ? (' '+complementoDiv) : '' ), '>' );
		
	if( comTxt )
	{
		if( comEXPANSAO )
			aComAlternancia( dirGIF + "fechado.gif", "", "", 
				"Clique para expandir/colapsar " + titleGrupo,
				"expande(event, &quot;" + nomeGrupo + "&quot;, true)", "", "", 
				"", txtGrupo, false );
		else
			aComAlternancia( dirGIF + "fechado.gif", "", "", "", 
				"", "", "", "", txtGrupo, false );
	}
	else
	{
		if( comEXPANSAO )
			imgComAlternancia( dirGIF + "fechado.gif", "", "", 
				"Clique para expandir/colapsar " + titleGrupo,
				"expande(event, &quot;" + nomeGrupo + "&quot;, true)" );
		else
			imgComAlternancia( dirGIF + "fechado.gif", "", "", "", "" );
  		document.write( "&nbsp;" + txtGrupo );
	}  	
	
	if( help )
		imgComAlternancia( dirGIF + "help.gif", "", "", "Clique para ver um auxílio sobre este item", 
			"javaScript:jAux(&quot;" + nomeGrupo + "&quot;)" );
		
	document.write( '</div>',
		'<div id="', nomeGrupo, '"', 
		( ( align == "" ) ? '' : ( ' align="' + align + '"' ) ), '>' );
}

function fimGrupo( )
{
	document.write( '</div>' );
}

function fimGrupoP( )
{
	document.write( '</div><p></p>' );
}
// =====================================================
// Mostra um botão 
// =====================================================
function umBotao( img, txt, onclick, validar )
{
	if( !EhDefinido( validar ) || validar=='' ) validar = "true";
	img = dirGIF + img + ".gif";
	return( '<input title="' + txt + '" ' + 
		'onmouseover="imgMouseOver(event,&quot;' + img + '&quot;)" ' +
		'onmouseout="imgMouseOut(event,&quot;' + img + '&quot;)" ' +
		'value="' + img + '" ' +
		'type="image" src="' + img + '" ' + 
		'name="' + img + '" ' +
		( ( onclick == "" ) 
			? '' 
			: ( ( onclick.indexOf( "(" ) == -1 ) 
				// this.disabled... é para evitar um bug que faz com que o form seja
				// submetido duas vezes (http://tutorial214.easycfm.com/forums/viewmessages.cfm?Forum=12&Topic=3205)
				? ( 'onclick="if(' + validar + '){this.disabled=\'true\';this.value=\'Aguarde\';this.form.action=&quot;' + dirCGI + onclick + '&quot;;this.form.submit();}else return(false)"' ) 
				: ( 'onclick="return '+onclick + '"' ) ) ) + ' />' );
				
}

// ============================================================
// Mostra o caminho de volta
// ============================================================
function jFecha2()
{
	if( confirm( "Deseja mesmo sair" ) )
		jFecha();
}

function jCaminho( vetCaminho )
{
	document.write( '<p />' );
	if( EhDefinido( vetCaminho ) )
	{
		imgComAlternancia( dirGIF + "cone.gif", "", "", 
			"Este foi o caminho até a página atual. Clique em um dos links para retornar.",
			"" );
		document.write( '<span style="padding:3pt;font-size:6.5pt;line-height:12pt">' );
		
		document.write( '<a href="javascript:jFecha()" onclick="return confirm(&quot;Deseja mesmo sair?&quot;)">Sair</a> ' );
		
		for( i=0; i<vetCaminho.length; i+=2 )
			document.write( '&gt; ', 
				( ( vetCaminho[ i+1 ] == "" ) ? ( '<b>' + vetCaminho[ i ] + '</b>' ) : 
				( '<a href="' + dirCGI + vetCaminho[ i+1 ] + '">' + vetCaminho[ i ] + '</a> ' ) ) );
		document.write( '</span><p />' );
	}
}

// ==============================================
// Desenha o ícone de impressora
// ==============================================
function preparaImpressao( event, classe )
{
	if( comEXPANSAO )
	{
		expande( event, idJanALTO, true );
		expande( event, idJanESQ, false );
		expande( event, idJanPRETODIR, false );
		expande( event, idJanDIR, false );
		expande( event, idJanPRETOBAIXO, false );
		expande( event, idJanBAIXO, false );
		if( EhDefinido(classe) )
			expande( event, classe, false );
	}
}

function jImprime( classe )
{
	if( comEXPANSAO )
	{
		// ícone da impressora
		document.write( '<center><br />' );
		imgComAlternancia( dirGIF + "printer.gif", 0, 0, "Clique para preparar para impressão",
			"preparaImpressao(event" + 
			( ( !EhDefinido(classe) ) ? "" : ( ",&quot;" + classe + "&quot;" ) ) + 
			");" );
		document.write( '<p></p></center>' );
	}
}

// ==============================================
// Cria um formulário com parâmetros Hidden
// ==============================================
function jForm( name, vetHidden )
{
	g_Parm = "";
	g_FormName = name;
	document.write( '<form id="', name, '" name="', name, '" method="POST">' );
	if( vetHidden != "" )
		for( var i=0; i<vetHidden.length; i+=2 )
		{
			document.write( '<input type="hidden" name="', vetHidden[ i ], '" value="', vetHidden[ i+1 ], '" />' );
			g_Parm += ( ( i==0 ) ? "" : "&" ) + vetHidden[ i ] + "=" + vetHidden[ i+1 ];
		}
}

function jFimForm( img1, txt1, nome1, onclick1, img2, txt2, nome2, onclick2, pulaLinha, validar )
{
	if( ( img1 != "" ) || ( img2 != "" ) ) 
	{
		if( !EhDefinido( pulaLinha )  ||  pulaLinha )
			document.write( '&nbsp;<p></p><center>' );
		if( img1 != "" )
			document.write( umBotao( img1, txt1, onclick1, validar ) );
		if( img1 != "" && img2 != "" )
			document.write( '&nbsp;&nbsp;&nbsp;' );
		if( img2 != "" )
			document.write( umBotao( img2, txt2, onclick2 ) );
		if( !EhDefinido( pulaLinha )  ||  pulaLinha )
			document.write( '</center>' );
	}
	document.write( '</form>&nbsp;<br />' );
}

function jFormEmTable( name, vetHidden )
{
	document.write( '<tr><td>' );
	jForm( name, vetHidden );
	document.write( '</td></tr>' );
}

function jFimFormEmTable( img1, txt1, nome1, onclick1, img2, txt2, nome2, onclick2 )
{
	document.write( '<tr><td>' );
	jFimForm( img1, txt1, nome1, onclick1, img2, txt2, nome2, onclick2, true );
	document.write( '</td></tr>' );
}

function jParm( form )
{
	g_Parm = "";
	for( var i=0; i<form.length; i+=2 )
		g_Parm += ( ( i==0 ) ? "" : "&" ) + form[ i ] + "=" + form[ i+1 ];
}

// ==============================================
// Cria uma entrada tipo RADIO no Formulário atual
// ==============================================
function jInput( type, name, value, action, txt, sel, vetSel )
{
	if( ( sel == "" ) || ( vetSel.length > 0 ) )
	{
		if( name != g_FormUltRadio )
		{ 
			g_FormUltRadio = name;
			g_FormQtd = 0;
		}
		document.write( '<tr>' );
		if( sel == "" )
			document.write( '<td colspan="2">' );
		else
			document.write( '<td>' );
		if( name=="" ) 
			document.write( txt );
		else
		{
			if( type=="" ) type="radio";
			document.write( '<input type="', type, '" id="', name, '", name="', name, '" ',
				( ( action == "" ) ? '' : ( 'title="' + action + '"' ) ) +
				' value="', value, '" />', txt );
		}
		if( sel != "" )
		{
			if( vetSel.length == 2 )
			{
				document.write( '</td><td>', vetSel[ 1 ],
					'<input type="hidden" id="', sel, '" name="', sel, '" value="', vetSel[ 0 ], '">' );
			}
			else
			{
				document.write( ' ...&nbsp;&nbsp;</td><td>', 
					'<select name="', sel, '" style="width=220pt;font-size=9pt"' );
				if( name != '' )
					document.write( ' onfocus="this.form.' + name +
						( ( g_FormQtd == 0 ) ? '' : '[' + g_FormQtd + ']' ), '.checked=true"' ); 
				document.write( '>' ); 
				
				for ( var i=0; i<vetSel.length; i+=2 )
					document.write( '<option value="', vetSel[ i ], '">', vetSel[ i+1 ], '</option>' );
				document.write( '</select>' );
			}
		}
		g_FormQtd++;
		document.write( '</td></tr>' );
	}
}

// ==============================================
// Identifica um intervalo de alunos/professores
// ==============================================
function jDeAte( valor, de, ate )
{
	jInput( 'radio', idOPCAOINPUT, valor, '', 'De <span style="font-weight:bolder;color:blue">' + 
		de + '</span> até <span style="font-weight:bolder;color:blue">' + 
		ate + '</span>', '', '' );
}

// ==============================================
// Cria uma linha de separação entre as opções jInput
// ==============================================
function jSepara( txt )
{
	document.write( '<tr><td colspan="2">&nbsp;</td></tr>' );
	if( EhDefinido(txt) )
		document.write( '<tr><td colspan="2"><font style="font-weight:bolder;color:blue;font-size:8pt">',
			'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;', txt, '</font></td></tr>' );
}

// ==============================================
// Identifica qual programas será executado, em função da idOPCAOINPUT de jInput selecionada
// ==============================================
function jExec( frm, vetRadio )
{
	var
		nomeAction = "", 
		contaCheck = 0,
		qtdAcionar = 1;

	for( var i=0; i<frm.length; i++ )
	{
		if( frm[i].checked )
		{
			contaCheck++;
			nomeAction = frm[i].title;
		}
	}

	if( EhDefinido( vetRadio ) )
		qtdAcionar = vetRadio.length-1;

	if( contaCheck == qtdAcionar )
	{
		frm.action = nomeAction;
		frm.submit;
	}
	else
	{
		alert( "Por favor, selecione uma opção" + ( (qtdAcionar>1) ? " em cada menu" : "" ) );
		return( false );
	}
}

// ==============================================
// Mostra Níveis de Abrangência e Pede senha de acesso
// *** NÃO ESTÁ FUNCIONANDO P/ NETSCAPE
// ==============================================
function menuLogin()
{
	var frm = quemEh ( g_FormName ); 
	
	for( var i=0; i<frm.length; i++ )
		if( frm[i].checked )
			break;
			
	if( i < frm.length )	
	{
		frm.action = dirCGI + "MenuLogin.exe";
		frm.submit();
	}
	else
		alert( "É necessário selecionar um dos níveis de acesso" );
}	

function esqueci( msg )
{
	alert( msg );
}

function jNiveis( arrNivel, msg )
{
	if( !EhDefinido( msg )  ||  msg == '' )
		msg = 'Procure a Comissão de Avaliação e solicite uma nova senha';
	document.write( '<br /><center><table cellpadding="5" border="1">',
		'<tr><td class="FundoAm">Selecione seu nível de acesso</td><td class="FundoAm">e informe sua senha</td></tr>',
		'<tr><td class="Questao1"><b>' );
	for( var i=0; i<arrNivel.length; i+=2 )
		document.write( '<input type="radio" name="', idNivelABRANG, '" value="', arrNivel[ i ], '" />', arrNivel[ i+1 ], '<br />' );
	document.write( '</b></td><td class="Questao1">',
		'<center><table cellpadding="5" cellspacing="5">',
		'<tr><td><b>Login:</b></td><td><input type="text" name="LOGIN" size="10" maxLength="10" /></td></tr>',
		'<tr><td><b>Senha:</b></td><td><input type="password" name="SENHA" size="10" maxLength="10" /></td></tr>',
	'<tr><td colspan="2"><center><a href="javascript:menuLogin(&quot;', g_FormName, '&quot;)">Não sei meu Login</a></center></td></tr>',
		'<tr><td colspan="2"><center><a href="javascript:esqueci(\'', msg, '\')">Esqueci minha Senha</a></center></td></tr>',
		'</table></center>',
		'</td></tr></table></center>' );
}

function jSelecionaSenha( vetOpcoes )
{
	document.write( 'Entre parênteses aparece o seu LOGIN<p></p>',
		'<select name="LOGIN2" size="1"> ');
	for( var i=0; i<vetOpcoes.length; i+=2 )
		document.write( '<option value="', vetOpcoes[ i ], '">', vetOpcoes[ i+1 ], '</option>' );
	document.write( '</select><p>',
		'Senha: <input type="password" name="SENHA" size="10" maxlength="10" /></p>' );
}	

// ==============================================
// Pede dados em uma nova janela
// ==============================================
function novosDados( tit, janSenha )
{
	function txtNovaSenha( jan, txt, nome, tam, len, pass )
	{
		jan.document.write( '<tr><td valign="center" style="color:white;font-size=9pt;font-weight:bolder">',
			txt, '</td><td>&nbsp;&nbsp;</td><td><input', 
			' type="', ( pass ? 'password' : 'text' ), '"',
			' name="', nome, '" size="', tam, '"', 
			' maxlength="', len, '" /></td></tr>' );
	}
	var jan = window.open( "", "_blank",
		'toolbar=no,scrollbars=yes,resizable=no,location=no,' +
		'directories=no,left=0,top=0,width=650,height=220' );
	jan.document.open ( "text/html", "replace" );
	jan.document.write( 
		'<html>',
		'<head>',
		' <title>', tit, '</title>',
		' <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />',
		' <link type="text/css" rel="stylesheet" href="', dirCSS, 'estilos.css" />',
		'<script type="text/javascript">\n<!--\n',
		' function compara( frm ) {\n ' );
 	if( janSenha )
 	{
		jan.document.write( 
			'   if( frm.NOVA.value == "" ) { alert( "Senha é obrigatória" ); return( false ) } else ',
			'   if( frm.NOVA.value.length > 10 ) { alert( "Senha de no máximo 10 caracteres" ); return( false ) } else ',
			'   if( frm.NOVA.value != frm.REDIGITA.value ) { alert( "Senha foi redigitada de forma diferente da nova senha" ); return( false ); } else ',
			'   { frm.action="senha.exe"; frm.submit(); } ' );
	}
	else
	{
		jan.document.write( 
			'   if( frm.NOVOUSU.value == "" ) { alert( "Nome é obrigatório" ); return( false ) } else ',
			'   if( frm.NOVOLOG.value == "" ) { alert( "Login é obrigatório" ); return( false ) } else ',
			'   { frm.action="novoUsuario.exe"; frm.submit(); } ' );
	}
	jan.document.write( 
		' }\n',
		'-->\n</script>',
		'</head>',
		'<body background="', dirGIF, 'fundo.gif">',
		'<center>&nbsp;<br /><form name="FORM"><table>' );
	var parametros = g_Parm.split( "&" );
	for( var i = 0; i < parametros.length; i++ )
	{
		var nameValue = parametros[ i ].split( "=" );
		jan.document.write( '<input type="hidden" name="', nameValue[ 0 ], '" value="', nameValue[ 1 ], '" />' );
	}
	if( janSenha )
	{
		txtNovaSenha( jan, "Entre com sua senha antiga", "ANTIGA", 10, 10, true );
		txtNovaSenha( jan, "Entre com sua nova senha", "NOVA", 10, 10, true );
		txtNovaSenha( jan, "Redigite sua nova senha", "REDIGITA", 10, 10, true );
		txtNovaSenha( jan, "Entre com seu email", "EMAIL", 40, 40, false );
	}
	else
	{
		txtNovaSenha( jan, "Nome do novo usuário", "NOVOUSU", 40, 40, false );
		txtNovaSenha( jan, "Login desejado", "NOVOLOG", 10, 10, false );
		jan.document.write( '<tr><td colspan="2">&nbsp;</td><td style="color:white;font-size=7pt;font-weight:bolder">', 
			'<br />O novo usuário será criado com Abrangência=Instituição<br />&nbsp;</td></tr>' );
	}
	jan.document.write( 
		'</table><br />', 
		'<input type="image" src="', dirGIF, 'enviar.gif" onclick="return compara(FORM)" /> ',
		'</form></center></body></html>' ); 
	jan.document.close();
}

// ==============================================
// Pede nova senha para a pessoa
// ==============================================
function novaSenha()
{
	novosDados( "Troca de Senha", true )
}

// ==============================================
// Pede a abertura de um novo Login
// ==============================================
function novoLogin()
{
	novosDados( "Novo Usuário", false );
}

// ==============================================
// Incrementa o total já processado
// ==============================================
function jJaFeito( perc )
{
	if( comEXPANSAO )
	{
		var quem = quemEh ( idJanFEITO );
		if( quem != null )
			quem.innerText = ( perc == "" ? "" : ( perc.toFixed(1) + "%" ) );
	}
}

// ==============================================
// Alterna a página entre "Aguarde" e o conteúdo normal
// ==============================================
function jAlternaPag()
{
	var quemAGUARDE = quemEh( idJanAGUARDE );
	var quemDADOS = quemEh( idJanDADOS );
	if( quemAGUARDE.style.display == "block" )
	{
		// Volta para página normal
		quemAGUARDE.style.display = "none";
		quemDADOS.style.display = "block";
	}
	else
	{
		// Mostra "Aguarde"
		jJaFeito( "" );
		quemAGUARDE.style.display = "block";
		quemDADOS.style.display = "none";
	}
}

// ==============================================
// Desenha o início da página 
// ==============================================
function jIniPag( corF, gifF, versao )
{
	preloadGif( "ant", "antf", "prox", "proxf", 
		"avalnetp", "avalnetpf", "kmp", "kmpf",
		"fechado", "fechadof", "aberto", "abertof" );

	if( !EhDefinido(versao) )
		versao = "";
		
	dirCGI = dirBASECGI + versao;
	g_Versao = versao;
	
	gifF = '';
	
	// começo da página
	g_corFundo = corF; 
	g_imgFundo = gifF;
	g_body = 'bgColor="' + corF + '"' + ( gifF == "" ? '' : ( ' background="' + gifF + '"' ) ); 
	
	document.write( 
		'<body ', g_body, '>' );
	
	if( comEXPANSAO )
		document.write( 
		// Janela de "Aguarde"
			'<div id="', idJanAGUARDE, '" style="display:block;color:white;font-size=20pt;text-align=center">', 
			'<center><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p><img src="', dirGIF, 'avalnet.gif" /></p><p>', 
			sombra("Aguarde ... "), '</p><p><span id="', idJanFEITO, '" style="font-size=15pt"></span></p></center></div>',
		// Janela de "Dados"
			'<div id="', idJanDADOS, '" style="display:none">' );
	else
		document.write( 
		// Janela de "Dados"
			'<div id="', idJanDADOS, '">jandados' );
		
	document.write( 
	// imagem de fundo no alto
		'<div id="', idJanALTO, '">&nbsp;<br />&nbsp;<br /></div><center>',

	// área de trabalho
		'<table cellpadding="0" cellspacing="0" border="0" width="1000">',
		' <tr valign="top">',
	
	// área da esquerda
		'<td id="', idJanESQ,'" class="Menu" bgColor="#999999"', 
			( g_temMENU ? ' width="180"' : '' ), '><div noWrap="noWrap" style="padding-left:6px">' );
}

// ==============================================
// Desenha o meio da página
// ==============================================
function jMeioPag( titulo, cab1, cab2, cab3, cab4 )
{
	document.write( 
	
	// fecha área da esquerda
		'</div></td>',

	// margem da folha branca
		'<td class="Dados" width="8">&nbsp;</td>',
	
	// área de dados da folha branca
		'<td class="Dados" width="*">&nbsp;<br />',
	
	// janela de cabeçalho da folha branca
		'<center><table border="0" cellspacing="0" cellpadding="0">',
		' <tr><td colspan="2" style="background-image:url(',dirGIF,'linha2.gif);heigth:2pt">&nbsp;</td></tr>',
		' <tr><td style="background-image:url(',dirGIF,'pr.gif);width:2pt">&nbsp;</td>',
		'  <td class="Cabec" ', g_body, '>', sombra (titulo), '</td></tr>',
		'</table></center>' ); 
	
	// linhas de cabeçalho da folha branca
	if( cab1 != "" )
		document.write( '<br /><span class="H1">', cab1, '</span>' );
	if( cab2 != "" )
		document.write( '<br /><span class="H2">', cab2, '</span>' );
	if( cab3 != "" )
		document.write( '<br /><span class="H3">', cab3, '</span>' );
	if( cab4 != "" )
		document.write( '<br /><span class="H4">', cab4, '</span>' );
		
	document.write( '<br />' );
}

// ==============================================
// Desenha o fim da página
// ==============================================
function jFimPag( comAssina, linkAnt, linkProx )
{
	document.write(
	
	// pé da página da folha branca
		'   <br /></td>',
	
	// margem direita da folha branca
		'  <td class="Dados" width="8">&nbsp;</td>',
		' </tr>',

	// Linha preta em baixo
		' <tr id="', idJanPRETOBAIXO, '">', 
		'  <td colspan="4" background="', dirGIF, 'linha.gif">&nbsp;</td>',
		' </tr>', 
	
	// Área de baixo
		' <tr id="', idJanBAIXO, '" bgColor="#999999">' );

	// Links para próxima página e anterior
	if( ( !EhDefinido(linkProx)  || (linkProx=="") ) &&  ( !EhDefinido(linkAnt)  || (linkAnt=="") ) )
		document.write( '  <td>&nbsp;</td>' );
	else
	{
		document.write( ' <td class="Menu"><center>' );
		if( linkAnt != "" )
			aComAlternancia( dirGIF + "ant.gif", "", "", "Página anterior", "", linkAnt + ".htm", "", "color:white", "Anterior", true );
		document.write( '&nbsp;&nbsp;' );
		if( linkProx != "" )
			aComAlternancia( dirGIF + "prox.gif", "", "", "Próxima página", "", linkProx + ".htm", "", "color:white", "Próxima", false );
		document.write( ' </center></td>' );
	}

	document.write( '  <td colspan="3" class="Menu"><center><br />' );
	
	// Assinatura
	if( comAssina )
	{
		aComAlternancia( dirGIF + "avalnetp.gif", "", "", "Avaliação.net", "", "http://www.avaliacao.net", "", "color:white", "Avaliação.Net", false );
		document.write( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' );
		aComAlternancia( dirGIF + "kmp.gif", "", "", "Kogumelo Informática Ltda", "", 
			"http://www.kogumelo.com.br", 'target="_blank"', "color:white", 
			"&copy; Kogumelo Informática Ltda.", false );
	}
	
	document.write( '  <br />&nbsp;<br /></font></center>',
			'  </td>',
			' </tr>',
			'</table>',
			'</div><p>&nbsp;</p>' );
	
	if( comEXPANSAO )
		jAlternaPag();
/*
	document.write( '	
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src=\'" + gaJsHost + "google-analytics.com/ga.js\' type=\'text/javascript\'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4969717-4");
pageTracker._initData();
pageTracker._trackPageview();
</script>' );
*/
	document.write( '</body>' );
}

// ==============================================
// Prepara o início/fim do menu de opções
// ==============================================
function jIniOpcoes( urlInst, siglaInst, imgInst, mostraSigla, dirInst, periodo )
{
	// fundo esquerdo + menu de opções
	g_siglaInst = siglaInst;
	g_dirInst = dirInst;
	g_urlInst = urlInst;
	document.write( '&nbsp;<br>',
		' <center><a href="http://', urlInst, '">',
		img( imgInst,"","",siglaInst ), '<br />&nbsp;<br />',
		( periodo || ( mostraSigla && siglaInst ) ? 
			' <font style="color:#004477;font-size:10pt;font-weight:bold">' + 
			( mostraSigla ? ( siglaInst + '<br />' ) : '' ) + periodo + '</font>' : '' ),
		' </a></center>&nbsp;<br />' ); 
}

function jFimOpcoes( trocaSenha, fimAval, novoLogin )
{
	if( trocaSenha )
		aComAlternancia( dirGIF + "senha.gif", "", "", "Clique para trocar sua senha de acesso",
			"", "javascript:novaSenha()", "", 
			"color:#004477;font-weight:bold", "Trocar Senha<p></p>", false );

	if( novoLogin )
		aComAlternancia( dirGIF + "user.gif", "", "", "Clique para solicitar a abertura de uma nova conta no sistema",
			"", "javascript:novoLogin()", "", 
			"color:#004477;font-weight:bold", "Criar novo usuário<p></p>", false );
	if( fimAval )
		aComAlternancia( dirGIF + "x.gif", "", "", "Clique para finalizar a avaliação",
			"return confirm(&quot;Deseja mesmo sair?&quot;)", 
			"javascript:jFecha()",  "", 
			"color:#004477;font-weight:bold", "Sair<p></p>", false );
}

// ==============================================
// Cria uma Table
// ==============================================
function jTable()
{
	document.write( '<center><table>' );
}

function jFimTable()
{
	document.write( '</table></center>' );
}

// ==============================================
// Cria um grupo de Menu
// ==============================================
function criaMenu( nomeMenu, temHelp )
{
	grupo( nomeMenu, 'as opções', '<font color="#002277">' + nomeMenu + '</font>', temHelp, 'left', false );
}

function fimMenu( )
{
	fimGrupo( );
	document.write( '&nbsp;<br />' );
}

// =====================================================
// Mostra links diversos
// =====================================================
function umLink( link, complemento, txt )
{
	var p = link.indexOf( '|' );
   if( p != -1 )
   {
      complemento += ' title="' + link.substring( p+1, 255 ) + '" ';
      link = link.substring( 0, p );
   }
	document.write( '<a href="', link, '" ',complemento,'><span style="margin-left:6pt;color:white">', 
			txt, '</span></a><br />' );
}

function jLinksExplicados( nome, vetLnk, externos )
{
	criaMenu( nome, false );
	for( var i=0; i<vetLnk.length; i+=3 )
		umLink( vetLnk[ i+2 ], 
			'title="' + vetLnk[ i+1 ] + '" '  +	( externos ? 'target="_blank"' : '' ), 
			vetLnk[ i ]);
	fimMenu( );
}

function jLinks( nome, vetLnk )
{
	criaMenu( nome, false );
	for( var i=0; i<vetLnk.length; i+=2 )
		umLink( vetLnk[ i+1 ], 'target="_blank"', vetLnk[ i ]);
	fimMenu( );
}

// =====================================================
// Mostra os links para emails
// =====================================================
function jEmails( vetLnk )
{
	criaMenu( "Emails", false );
	if( vetLnk != "" )
		for( var i=0; i<vetLnk.length; i+=2 )
			umLink( 'mailto:' + vetLnk[ i+1 ], '', vetLnk[ i ] );
	fimMenu( );
}
