/*
--------------------------------------------------------------------
 Arquivo:			commom.js
 Autor:				Gilson Hoffmeister
 E-mail:			gilson@prima.com.br
 Data da Criação:	05/05/2005
 Última Alteração:	-
 E-mail:			-
 Alterado em:		00/00/0000
 Descrição:			Arquivo que contém todas as funções utilizadas.
--------------------------------------------------------------------
*/
/*
-------------------------------------------------------------------------------------------
	Estas função faz a verificação se as duas perguntas da avaliacao de cada rodada foi
	respondida. O usuário não precisa responder todas as rodadas, mas se uma pergunta da rodada
	foi preenchida, obrigado a outra a também ser preenchida.
-------------------------------------------------------------------------------------------
*/
	function fnc_AvaliacaoRodada(str_NameRadioPergunta01, str_NameRadioPergunta02, objInput) {
		var int_IndiceArr = 0;
		var bln_RadioPergunta01Selecionado = false;
		var bln_RadioPergunta02Selecionado = false;

		for (int_IndiceArr = 0; int_IndiceArr < objInput.length; int_IndiceArr++) {
			if (objInput[int_IndiceArr].type == "radio") {
				if (objInput[int_IndiceArr].name == str_NameRadioPergunta01) {
					if (objInput[int_IndiceArr].checked == true) {
						bln_RadioPergunta01Selecionado = true;
					}
				}
				
				if (objInput[int_IndiceArr].name == str_NameRadioPergunta02) {
					if (objInput[int_IndiceArr].checked == true) {
						bln_RadioPergunta02Selecionado = true;
					}
				}
			}
		}
		
		if ( !( ((bln_RadioPergunta01Selecionado == false) && (bln_RadioPergunta02Selecionado == false)) || ((bln_RadioPergunta01Selecionado == true) && (bln_RadioPergunta02Selecionado == true)) ) ) {
			alert('Por favor, responda as duas perguntas sobre a rodada avaliada.');
			return;
		}
	}
	
/*
-------------------------------------------------------------------------------------------
	Estas funções fazem a verificação se o campo possui algum valor no VALUE
-------------------------------------------------------------------------------------------
*/
	function fnc_InputPreenchido(str_IDCampoInput, str_NomeCampo, strMensagem, str_MensagemFinal) {
		var str_DadoInput = document.getElementById(str_IDCampoInput).value; 
		if (Trim(str_DadoInput) == "") {
			alert(strMensagem + " " + str_NomeCampo);
			document.getElementById(str_IDCampoInput).focus();
			return(true);
		}
	}
	
	function fnc_SelectPreenchido(str_IDCampoSelect, str_NomeCampo, strMensagem, str_MensagemFinal) {
		var str_DadoSelect = document.getElementById(str_IDCampoSelect).options[document.getElementById(str_IDCampoSelect).selectedIndex].value;
		if (str_DadoSelect == -1) {
			alert(strMensagem + " " + str_NomeCampo);
			document.getElementById(str_IDCampoSelect).focus();
			return(true);
		}
	}
/*
-------------------------------------------------------------------------------------------
	As funções abaixam listam o estado e a cidade, respectivamente, conforme é selecionado
	o país, e logo após o estado
-------------------------------------------------------------------------------------------
*/
	function fnc_AtualizarUF(str_IDCampoPais, str_IDCampoRegiao, str_IDCampoCidade) {
		var obj_Select = document.getElementById(str_IDCampoPais);
		fnc_ExecutarASP("fnc_AtualizarUF", "../common/asp/inc_listar_uf.asp?q_CodPais=" + obj_Select[obj_Select.selectedIndex].value + "&q_IDCampoRegiao=" + str_IDCampoRegiao +  "&q_IDCampoCidade=" + str_IDCampoCidade);
	}

	function fnc_AtualizarCidade(str_IDCampoRegiao, str_IDCampoCidade) {
		var obj_Select = document.getElementById(str_IDCampoRegiao);
		fnc_ExecutarASP("fnc_AtualizarCidade", "../common/asp/inc_listar_cidade.asp?q_CodEstado=" + obj_Select[obj_Select.selectedIndex].value + "&q_IDCampoCidade=" + str_IDCampoCidade);
	}		

/*
-------------------------------------------------------------------------------------------
	As funções abaixam chamam o arquivo ASP
-------------------------------------------------------------------------------------------
*/

function SalvarChat(int_CodRodada) {
	var win = window.open( '', '_blank', 'left=10000');
	win.document.open( 'text/html', '_blank' );
	win.document.charset="iso-8859-1";
	win.document.write( document.getElementById( 'ResumoChat' ).value );
	win.document.execCommand( 'SaveAs', true, 'Rodada_' + int_CodRodada + '.txt' );
	win.close();
}

function fnc_ExecutarASP(str_FuncaoQueChamou, str_ArquivoASP) {
	var obj_TagHead = document.getElementsByTagName("head").item(0);
	var obj_ExisteTagScript = document.getElementById(str_FuncaoQueChamou);
	var obj_TagScript;
	/*-----------------------------------------------------------------------------------------
		Verifica se a função que monta o HTML já está criada. Se já foi criada, apaga ela, e
		recria de acordo com os parametros do ASP */
	if (obj_ExisteTagScript) {
		obj_TagHead.removeChild(obj_ExisteTagScript);
	}
	/*--------------------------------------------------------------------------------------*/
	obj_TagScript = document.createElement("script");
	obj_TagScript.src = str_ArquivoASP;
	obj_TagScript.type = "text/javascript";
	obj_TagScript.id = str_FuncaoQueChamou;
	obj_TagHead.appendChild(obj_TagScript);
}

/*
--------------------------------------------------------------------
 FUNÇÃO PARA RETIRAR OS ESPAÇOS EM BRANCO
--------------------------------------------------------------------
*/
			function LTrim(String) {
				var i = 0;
				var j = String.length - 1;
			
				if (String == null) return (false);
				for (i = 0; i < String.length; i++)	{
					if (String.substr(i, 1) != ' ' && String.substr(i, 1) != '\t') break;
				}
				if (i <= j) return (String.substr(i, (j+1)-i)); else return ('');
			}
			
			function RTrim(String) {
				var i = 0;
				var j = String.length - 1;
			
				if (String == null) return (false);
				for(j = String.length - 1; j >= 0; j--) {
					if (String.substr(j, 1) != ' ' && String.substr(j, 1) != '\t') break;
				}
				if (i <= j) return (String.substr(i, (j+1)-i)); else return ('');
			}
		
			function Trim(String) {
				if (String == null) return (false);
				return RTrim(LTrim(String));
			}
/*
--------------------------------------------------------------------
FUNÇÃO PARA PAGINAÇÃO
--------------------------------------------------------------------
*/
function fnc_SubmitPaginacao(intPaginaAtual, strForm) {
	var objFormulario = eval("document." + strForm);	
	objFormulario.f_hdnRegistroInicial.value = (intPaginaAtual > 0) ? intPaginaAtual : 1;
	objFormulario.submit();
	}

/*
Abre Popup
*/
function fnc_AbrePopUp(str_NomeArquivo, str_NomeJanela, bln_Scrollbar, lng_Largura, lng_Altura, lng_Top, lng_Left) {
	if ( (!lng_Altura) || (lng_Altura == 0) ) {
		lng_Altura = 465;
	}
	if ( (!lng_Largura) || (lng_Largura == 0) ) {
		lng_Largura = 450;
	}
	if ( (!lng_Top) || (lng_Top == 0) ) {
		lng_Top = 80;
	}
	if ( (!lng_Left) || (lng_Left == 0) ) {
		lng_Left = 80;
	}
	if ( (!bln_Scrollbar) || (bln_Scrollbar == 0) ) {
		bln_Scrollbar = 'no';
	}
	window.open(str_NomeArquivo, str_NomeJanela, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=' + bln_Scrollbar + ', resizable=no, width=' + lng_Largura + ', height=' + lng_Altura +', top=' + lng_Top + ', left=' + lng_Left);
}


function fnc_Submeter(url,form) {

	if (form) {
		form.action = url;
		form.submit();
	}
	return;
}

/*
--------------------------------------------------------------------
 Função para voltar pra a página anterior
--------------------------------------------------------------------
*/
function fnc_Voltar() //v1.0
{
	window.history.back();
}

/*
--------------------------------------------------------------------
 Função para fechar uma jenela
--------------------------------------------------------------------
*/
function fnc_Fechar() //v1.0
{
	window.close();
}

/*
--------------------------------------------------------------------
 Função para imprimir a tela
--------------------------------------------------------------------
*/
function fnc_Imprimir() //v1.0
{
	window.print();
}

/*
--------------------------------------------------------------------
 Função responsável por encontrar objetos e elementos
 
 - objNome:			Nome do objeto (elemento);
 - objDocumento:	Nome do documento (document.nome_documento); (opcional)
--------------------------------------------------------------------
*/
function fnc_LocalizarObj(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 = fnc_LocalizarObj(objNome,objDocumento.layers[intContador].document);
	if (!x && objDocumento.getElementById)
	{
		x = objDocumento.getElementById(objNome);
	}
	return x;
}

/*
--------------------------------------------------------------------
 Função responsável por mostrar/esconder camadas
--------------------------------------------------------------------
*/
function fnc_MostrarEsconder() //v1.0
{
	var intContador, strDisplay, objNome, arrArgs = fnc_MostrarEsconder.arguments;
	for (intContador = 0; intContador < (arrArgs.length - 1); intContador += 2)
	{
		if ((objNome = fnc_LocalizarObj(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 fnc_Estilo() //v1.0
{
	var intContador, strClasse, objNome, arrArgs = fnc_Estilo.arguments;
	for (intContador = 0; intContador < (arrArgs.length - 1); intContador += 2)
	{
		if ((objNome = fnc_LocalizarObj(arrArgs[intContador])) != null)
		{
			strClasse = arrArgs[intContador + 1];
			objNome.className = strClasse;
		}
	}
}

function toggle_ul(el)
{
	// Get parent
	var parent = el.parentNode;
	var children = parent.childNodes;
	for (i=0; i<children.length; i++)
	{
		if (children[i].nodeName == "UL" && children[i].className == "block")
		{
			var ul = children[i];
			if (ul.style.display == "none")
			{
				ul.style.display = "";
			}
			else
			{
				ul.style.display = "none";
			}
		}
	}
}

/*
--------------------------------------------------------------------
 Função responsável por modificar estilos de objetos
--------------------------------------------------------------------
*/
function fnc_Agenda() {
	var objNome = document.getElementById("agenda_submenu");

	if (objNome.style.display == "") {
		objNome.style.display = "none";
	}
	if (objNome.style.display == "none") {
		fnc_MostrarEsconder("agenda_submenu","mostrar");
	}
	else {
		fnc_MostrarEsconder("agenda_submenu","esconder");
	}
}

function fnc_SelecionarMenu(str_NomeLinkMenu) {
	var objNomePai = document.getElementById(str_NomeLinkMenu);

	if (objNomePai.className == "") {
		objNomePai.className = "menu_selecionado";
	}
	else {
		objNomePai.className = "";
	}
}


function fnc_AdicionarFavoritos(intCodIdioma, str_ProjetoComprador) { 
	var objBrowsName = navigator.appName; 
	var int_CodIdioma = intCodIdioma;
	var str_ProjetoComprador = str_ProjetoComprador;
	if (objBrowsName == "Microsoft Internet Explorer") { 
		window.external.AddFavorite('http://www.assintecal.org.br/projetocomprador/s000/index.asp?q_CodIdioma='+int_CodIdioma, str_ProjetoComprador );
		} else if (objBrowsName == "Netscape") { 
			alert ("Para adicionar esta página aos seus Favoritos, precione CTRL+D"); 
		}
	}


/*
Valida login
*/

function fnc_SendContato() {
  var strMensagem = "Por favor, preencha todos os campos deste formulário.";
  var objFormulario = document.frmLogin;

	f_txtUsuarioLogin = document.getElementById('f_txtUsuarioLogin').value;
	f_txtUsuarioLogin = TrimJS(f_txtUsuarioLogin);			
	if (f_txtUsuarioLogin == "") {
		alert(strMensagem);
		document.getElementById('f_txtUsuarioLogin').focus();
		return;
	}
		
	f_txtSenhaLogin = document.getElementById('f_txtSenhaLogin').value;
	f_txtSenhaLogin = TrimJS(f_txtSenhaLogin);
	if (f_txtSenhaLogin == "") {
		alert(strMensagem);
		document.getElementById('f_txtSenhaLogin').focus();
		return;
	}					
}	

function fnc_OpenCloseSessao(strNomeSessaoOpen){
	if ( (document.getElementById(strNomeSessaoOpen).style.display != "none")){
		document.getElementById(strNomeSessaoOpen).style.display = "none";		
	}
	else{
		document.getElementById(strNomeSessaoOpen).style.display = "block";
	}
}

//---------------------------------------------------------------------------------
function fnc_PermiteApenasNumeros(NameCampo, Evento) {
//---------------------------------------------------------------------------------
	var str_CaracterASCII = '';
	var str_CharPermitido = '0123456789';
	//-----------------------------------------------------------------------------
	// Recebe o codigo ASCII da tecla pressionada
	var int_CodASCII = (window.Event) ? Evento.which : Evento.keyCode;
	//-----------------------------------------------------------------------------
	// Se é igual a 13 (cod ASCII da tecla ENTER) não faz nada
	if (int_CodASCII == 13) return true;
	str_CaracterASCII = String.fromCharCode(int_CodASCII);
	//-----------------------------------------------------------------------------
	// Esta expressão retorna -1 quando for pressionada uma tecla que não for número
	if (str_CharPermitido.indexOf(str_CaracterASCII) == -1) return false;
//---------------------------------------------------------------------------------
}
//---------------------------------------------------------------------------------
