// void openURL(String, String, String)
// Abre uma janela popUp ou não
function openURL(URL, winName, property)
{
  window.open(URL, winName, property);
}

// bool verificaForm(String, String)
// Verifica se o formulário idForm está preenchido
function verificaForm(idForm, e)
{
	// Número de elementos do formulário idForm
	var elementsLength = document.getElementById(idForm).elements.length;
	// arrSubStr é um array com as substrings de 'e', as quais são separadas por ','
	var arrSubStr = e.split(",");
	// flag que vai indicar se um campo é ou não exceção
	var igual;
	
	// Percorre o array elements com os elementos do form idForm
	for (var i = 0; i < elementsLength; i++)
	{
		// inicializa o flag
		igual = false;
		
		// Percorre o array com as exceções do formulário
		for (var j = 0; j < arrSubStr.length; j++)
			if (document.getElementById(idForm).elements[i].name == arrSubStr[j])
				igual = true;
		
		// verifica se o campo não é exceção (igual = false) e se seu valor = ""
		if (!igual && document.getElementById(idForm).elements[i].value == "")
		{
				alert("Preencha todos os campos obrigatórios.");
				document.getElementById(idForm).elements[i].focus();
				return false;
		}
	}
	return true;
}

function verifica_campos_form_arbitros(idForm, e)
{
	if (verificaForm(idForm, e))
		document.getElementById(idForm).submit();
}

function verificaLogin(idForm, e)
{
	var form = document.getElementById(idForm);
	if (verificaForm(idForm, e))
		form.submit();
}

// void disableForm(String, Boolean)
// desativa ou ativa um formulário de acordo com o flag (Boolean)
function disableForm(idForm, e, flag)
{
	// Número de elementos pertencentes ao formulário
	var elementsLength = document.getElementById(idForm).elements.length;
	// Array que contém os campos em que a função não deve ser aplicada
	var arrSubStr = e.split(",");
	// flag que vai indicar se um campo é ou não exceção
	var igual;
	
	// Percorre os elementos do form
	for (i = 0; i < elementsLength; i++)
	{
		// inicializa o flag
		igual = false;
		
		// Percorre o array com as exceções do formulário
		for (var j = 0; j < arrSubStr.length; j++)
			if (document.getElementById(idForm).elements[i].name == arrSubStr[j])
				igual = true;

		// Ativa ou desativa o elemento dependendo do flag
		if (!igual && flag)
			document.getElementById(idForm).elements[i].disabled = true;
		else
			document.getElementById(idForm).elements[i].disabled = false;
	}
}

// void disableCBox(String, cBox)
// Abilita ou não o checkbox dependendo do valor da var value passada como parâmetro
function disableCBox(value, cBox)
{
	if (value == "")
		document.getElementById(cBox).disabled = true;
	else
		document.getElementById(cBox).disabled = false;
}

// void showLayer(String)
// Mostra ou esconde o layer id
function showLayer(id)
{
	if (document.getElementById(id).style.visibility == "visible")
	{
		document.getElementById("Layer1").style.visibility = "hidden";
		document.getElementById("Layer2").style.visibility = "hidden";
		document.getElementById("Layer3").style.visibility = "hidden";
		document.getElementById("Layer4").style.visibility = "hidden";
		document.getElementById("Layer5").style.visibility = "hidden";
	
		document.getElementById(id).style.visibility = "hidden";
	}
	else
	{
		document.getElementById("Layer1").style.visibility = "hidden";
		document.getElementById("Layer2").style.visibility = "hidden";
		document.getElementById("Layer3").style.visibility = "hidden";
		document.getElementById("Layer4").style.visibility = "hidden";
		document.getElementById("Layer5").style.visibility = "hidden";
	
		document.getElementById(id).style.visibility = "visible";
	}
}

/*	bool showHint(String, String, String, String, String)
* 	Método que vai criar o comboBox dinâmico por AJAX
*	id = id do div que irá conter o resultado do http request
*	url = página com o script php que retornará o resultado
*	str = parametro que sera passado para o php por método GET
*	intMsg = Conteúdo inicial do div
*	lMsg = mensagem de loadin...
*/
function showHint(id, url, str, intMsg, lMsg)
{
	url = url + '?q=' + str;
	xmlHttp = GetXmlHttpObject();
	
	if (xmlHttp == null)
  	{
  		alert ("Browser does not support HTTP Request");
  		return false;
  	}
	
	if (str.length == 0)
	{ 
		document.getElementById(id).innerHTML = intMsg;
		return false;
	}
	
	// Evento que recupera o estado do http request
	xmlHttp.onreadystatechange = function ()
	{
		if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete")
			document.getElementById(id).innerHTML = xmlHttp.responseText;
		else
			document.getElementById(id).innerHTML = lMsg;
	}
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
	return true;
} 

// xmlHttp GetXmlHttpObject(void)
// Método responsável por detectar se o Browser do usuário suporta Http request (AJAX)
function GetXmlHttpObject()
{
	var xmlHttp = null;
	
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
		xmlHttp.overrideMimeType('text/xml');
	}
	catch (e)
	{
		// Internet Explorer
		try
		{
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	
	return xmlHttp;
}

// Boolean getArbitrosNum(Int)
// chama a função AJAX para criação do formulário
function getArbitrosNum(n, artigoId)
{
	if (n > 0)
	{
		showHint('nArbitros', 'getArbitrosNum.php', 'files&n='+n+'&artigoId='+artigoId, '', '<span class="tBlack"><center>Gerando formulário, aguarde...</center></span>');
		document.getElementById("save").disabled = false;
		return true;
	}
	else
	{
		alert("Número de árbitros inválido.");
		return false;
	}
}

// Boolean changeArbitro(String, String, String)
// Método para confirmação de troca de árbitros
function changeArbitro(val, name, oldValue)
{
	// instância do elemento select em questão
	var slt = eval("document.ArbitrosControl."+name);
	
	// Confirma a troca de árbitro
	if (confirm("Você está alterando o árbitro deste artigo, deseja continuar?"))
	{
		// Método ajax para realizar a troca
		showHint("arbInfo", "getArbitrosArtigos.php", val, "", "<table width='95%' cellpadding='2' cellspacing='2' class='tabelaArtigoInfo'><tr><td align='center'>Carregando dados...</td></tr></table>");
		
		return true;
	}
	else
	{
		// Em caso de não realizar a troca seleciona a opção anterior a tentativa de troca
		for (i = 0; i < slt.length; i++)
			if (slt.options[i].value == oldValue)
				slt.options[i].selected = true;

		return false;	
	}
}

// Boolean getArbitrosInfo(String, int)
// Retorna por ajax as informações do arbitro em questão
function getArbitrosInfo(val, n)
{
	showHint('arbitroInfo'+n, 'getArbitrosInfo.php', val, '', '<center>Carregando...</center>');
	return true;
}

// Void ConfirmBox(String, String)
// Mostra uma janela de confirmação
function ConfirmBox(_link, _msg, _submit, _formId, e)
{
	var form = document.getElementById(_formId);
	if (_submit)
	{
		if (confirm(_msg))
			if (verificaForm(_formId, e))
				form.submit();
	}
	else if (confirm(_msg))
			location.href = _link;
}

function addArbitroToArtigo(idArtigo, selectArbitro)
{
	var idArbitro = selectArbitro.value;
	showHint('artInfo', 'getArtigosArbitros.php', idArtigo + '&idArbitro=' + idArbitro + '&action=addArbitro', '', '<center>Carregando...</center>');
}

// Boolean verificaChar(event.args)
// Verifica se a tecla pressionada é o enter
function verificaChar(e)
{
	var keynum;
	var keychar;
	var numcheck;

	// IE
	if(window.event)
		keynum = e.keyCode;
	// Netscape/Firefox/Opera
	else if(e.which)
		keynum = e.which;
	
	if (keynum == 13)
	{
		alert("porra!");
		return false;
	}
	else
		return true;
}

// void ChangeBackColor(String)
// Muda a cor da linha clicada da tabela tabArbitros apartir da 2ª linha
function ChangeBackColor(trId, tabId, color1, color2, color, bool)
{
	// Lista de todas as linhas da tabela tabArbitros
	var tabRows = document.getElementById(tabId).rows;
	
	if (bool)
	{
		for (i = 1; i < tabRows.length; i++)
		{
			if (i % 2 == 0)
				tabRows[i].bgColor = color1;
			else
				tabRows[i].bgColor = color2;
		}
	}
	
	document.getElementById(trId).bgColor = color;
}

// Boolean ExcluirArtigo(int, String)
// Remove um artigo da lista de artigos arbitrados por um autor
function ExcluirArtigo(idArtigo, msg)
{
	if (confirm(msg))
	{
		showHint('arbInfo', 'getArbitrosArtigos.php', idArtigo, '', '<table width=\'95%\' cellpadding=\'2\' cellspacing=\'2\' class=\'tabelaArtigoInfo\'><tr><td align=\'center\'>Carregando dados...</td></tr></table>');
		return true;	
	}
	else
		return false;
}

//
//
function SaveRecepArtigos()
{
	var option = document.getElementById("do");
	var opt = option.value.split(".");
	
	if (opt[0] == "apagar")
	{
		msg = "Deseja mesmo apagar o arquivo selecionado?";
			
		if (confirm(msg))
		{
			document.recepArtigos.submit();
			return true;
		}
		else
			return false;
	}
	else
		document.recepArtigos.submit();
}

//
//
function IncluirArtigo(idArbitro, idArtigo)
{
	if (idArtigo != "")
		showHint('arbInfo', 'getArbitrosArtigos.php', idArbitro+'&artigoId='+idArtigo+'&incluir=true', '', '<table width="95%" cellpadding="2" cellspacing="2" class="tabelaArtigoInfo"><tr><td align="center">Carregando dados...</td></tr></table>');
	else
		alert("Selecione um artigo primeiro.");
}

function SaveArtControl(value)
{
	id1 = value[0];
	id2 = value[1];
	obj = "data" + id1 + "." + id2;
	data = document.getElementById(obj).value;
	
	if (value == "")
		alert("Você deve selecionar uma opção primeiro.");
	else if (data != "")
	{
		if (VerificaData(data))
		{
			if (confirm("Deseja salvar as alterações?"))
			{
				document.artControl.submit();
				return true;
			}
			else
				return false;
		}
		else
			alert("Data inválida. informe a data no formato dd/mm/aaaa.");
	}
	else
	{
		alert("Informe a data da decisão (dd/mm/aaaa).");
		document.getElementById(obj).focus();
	}
		
}

function RemoverArbitro(id, msg, form)
{
	if (id >= 0)
	{
		if(confirm(msg))
		{
			openURL('?sec=pcArbitros&q='+id+'&excluir=true','_self', 'resizable=yes, scrollbars=yes')

			return true;
		}
		else return false;
	}
	else
		return false;
}

function editarArbitro(idArbitro)
{
	location.href = "?sec=pcAddArbitros&idArbitro=" + idArbitro;
}

function VerificaData(data)
{
	var reDate = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;

	if (reDate.test(data))
		return true;
		
	else if (data != null && data != "")
		return false;
}

function VerificaEmail(email)
{
	var reEmail = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	
	if (reEmail.test(email))
		return true;

	else if (email != null && email != "")
		return false;
}

function VerificaDigitos(digitos)
{
	var reDigits = /^\d+$/;
	
	if (reDigits.test(digitos))
		return true;
		
	else if (digitos != null && digitos != "")
		return false;
}

function selectArtigo(id)
{
	chk = "select" + id;
	trId = "tr" + id;
	
	if (id % 2 == 0) color = "#FFFFE6";
	else color = "#FFFFF9";
	
	if (document.getElementById(chk).checked)
	{
		document.getElementById("decisao"+id).disabled = false;
		document.getElementById("removeAll").disabled = false;
		document.getElementById("save").disabled = false;
		//ChangeBackColor(trId, "tabHistArt", '#FFFFF9', '#FFFFE6', "#F2F9FF", false);
	}
	else
	{
		if (!isThereSelected('arqHisForm'))
		{
			document.getElementById("removeAll").disabled = true;
			document.getElementById("save").disabled = true;
		}
			
		document.getElementById("decisao"+id).disabled = true;
		document.getElementById("sAll").checked = 0;
		//ChangeBackColor(trId, "tabHistArt", '#FFFFF9', '#FFFFE6', color, false);
	}
}

function selectAll(form, selected)
{
	if (!selected)
	{
		//ChangeBackColor('tr', 'tabHistArt', '#FFFFF9', '#FFFFE6', '#E1F0FF', true);
		document.getElementById("removeAll").disabled = true;
		document.getElementById("save").disabled = true;
		deselecionarTudo(form);
	}
	else
	{
		//ChangeBackColor('tr', 'tabHistArt', '#F2F9FF', '#F2F9FF', '#E1F0FF', true);
		document.getElementById("removeAll").disabled = false;
		document.getElementById("save").disabled = false;
		selecionarTudo(form);
	}
}

function selecionarTudo(form){
	arrElements = document.getElementById(form).elements;
	for (i = 0; i < arrElements.length; i++)
		if(arrElements[i].type == "checkbox" && arrElements[i].name != "sAll")
		{
			num = arrElements[i].id.substring(6);
			decisao = "decisao" + num;
			document.getElementById(decisao).disabled = false;
			arrElements[i].checked = 1;
		}
}

function deselecionarTudo(form){
	arrElements = document.getElementById(form).elements;
	for (i = 0; i < arrElements.length; i++)
		if(arrElements[i].type == "checkbox" && arrElements[i].name != "sAll")
		{
			num = arrElements[i].id.substring(6);
			decisao = "decisao" + num;
			document.getElementById(decisao).disabled = true;
			arrElements[i].checked = 0;
		}
}

function isThereSelected(form)
{
	arrElements = document.getElementById(form).elements;
	for (i = 0; i < arrElements.length; i++)
		if(arrElements[i].type == "checkbox" && arrElements[i].checked == 1)
			return true;
	return false;
}

function saveAll(form, ord)
{
	if(confirm("Deseja mesmo salvar todas as alterações feitas nos artigos selecionados?"))
	{
		document.getElementById(form).action = '?sec=pcArquivoMorto&action=saveAll&ord=' + ord;
		document.getElementById(form).submit();
	}
}

function removeAllArt(form)
{
	if(confirm("Deseja mesmo remover todos os artigos selecionados?"))
	{
		document.getElementById(form).action = '?sec=pcArquivoMorto&action=removeAll';
		document.getElementById(form).submit();
	}
}

function remove(id)
{
	if(confirm("Deseja mesmo remover este artigo?"))
		location.href = '?sec=pcArquivoMorto&action=remove&artigoId=' + id;
}

function inserir(id)
{
	if(confirm("Deseja mesmo inserir este artigo na revista?"))
		location.href = '?sec=insert&go=add&artigoId=' + id;	
}

function removerArtigosArbitros(codArbitro, codArtigo)
{
	if(confirm("Deseja mesmo remover este árbitro?"))
	{
		param = codArtigo + '&sec=pcArtigosControl&action=delArbitro&codArbitro=' + codArbitro;
		showHint('artInfo', 'getArtigosArbitros.php', param, '', '<table width="97%" cellpadding="2" cellspacing="2" class="tabelaArtigoInfo"><tr><td align="center">Carregando dados...</td></tr></table>');
	}
}

/*
 *
 */
function VerificaFormAddArbitro(form)
{
	arrElements = document.getElementById(form).elements;
	for (i = 0; i < arrElements.length; i++)
	{
		if (arrElements[i].type == "text" && arrElements[i].value == "" || arrElements[i].value == null)
		{
			alert("Preencha todos os campos.");
			arrElements[i].focus();
			return false;
		}
	}
	
	if (VerificaEmail(document.getElementById('email').value))
		document.getElementById('ArbitrosControl').submit();
	else
	{
		alert("Email inválido.");
		document.getElementById('email').focus();
		return false;
	}
	return true;
}

/*
 *
 */
function VerificaUploadForm(form, ex)
{
	if (verificaForm(form, ex))
	{

		if (!VerificaEmail(document.getElementById("email").value))
		{
			alert("Informe um email válido.");
			document.getElementById("email").focus();
			return false;
		}
		else
		{
			document.getElementById(form).submit();
			return true;
		}
	}
	else
		return false;
}

/*
 *
 */
function verificaVolumeForm(form, ex)
{
	if (verificaForm(form, ex))
	{
		if (!VerificaDigitos(document.getElementById("ano").value))
		{
			alert("Informe apenas dígitos para o ano.");
			document.getElementById("ano").focus();
			return false;
		}
		else
		{
			document.getElementById(form).submit();
			return true;
		}
	}
	else
		return false;
}

/*
 *
 */
function verificaRemoverVolumeForm(form, ex)
{
	if (confirm("Deseja remover este volume da revista?\nTodos os Números e artigos deste volume serão removidos também."))
	{
		if (verificaForm(form, ex))
		{
			document.getElementById(form).submit();
			return true;
		}
		else
			return false;
	}
}

/*
 *
 */
function verificaEditarVolumeForm(form, ex)
{
	if (verificaForm(form, ex))
	{
		document.getElementById(form).submit();
		return true;
	}
	else
		return false;
}

/*
 *
 */
function verificaNumeroForm(form, ex)
{
	if (verificaForm(form, ex))
	{
		document.getElementById(form).submit();
		return true;
	}
	else
		return false;
}

function verificaEditarNumeroForm(form, ex)
{
	if (verificaForm(form, ex))
	{
		document.getElementById(form).submit();
		return true;
	}
	else
		return false;
}

function verificaRemoverNumeroForm(form, ex)
{
	if (confirm("Deseja remover este n&uacute;mero da revista?\nTodos os n&uacute;mero e artigos deste volume ser&atilde;o removidos tamb&eacute;m."))
	{
		if (verificaForm(form, ex))
		{
			document.getElementById(form).submit();
			return true;
		}
		else
			return false;
	}
}

function verificaEditarArtigoForm(form, ex)
{
	if (verificaForm(form, ex))
	{
		document.getElementById(form).submit();
		return true;
	}
	else
		return false;
}

function verificaEmailRevistaForm(form, ex)
{
	if (confirm("Deseja mudar o email padrão da revista?"))
	{
		if (verificaForm(form, ex))
		{
			if (!VerificaEmail(document.getElementById("novoEmail").value))
			{
				alert("Informe um email válido!");
				document.getElementById("novoEmail").focus();
				return false;
			}
			else
			{
				document.getElementById(form).submit();
				return true;
			}
		}
		else
			return false;
	}
}

function verificaDesignacaoArtigosForm(form, ex)
{
	if (verificaForm(form, ex))
	{
		document.getElementById(form).submit();
		return true;
	}
	else
		return false;
}

function verificaIncluirArtigosForm(form, ex)
{
	if (verificaForm(form, ex))
	{
		if (!VerificaDigitos(document.getElementById("pagInicial").value))
		{
			alert("Informe apenas dígitos para o campo página inicial.");
			document.getElementById("pagInicial").focus();
			return false;
		}
		else if (!VerificaDigitos(document.getElementById("pagFinal").value))
		{
			alert("Informe apenas dígitos para o campo página final.");
			document.getElementById("pagFinal").focus();
			return false;
		}
		else
		{
			document.getElementById(form).submit();
			return true;
		}
	}
	else
		return false;
}

function verificaLogin(form, ex)
{
	if (verificaForm(form, ex))
	{
		document.getElementById(form).submit();
		return true;
	}
	else
		return false;
}

function verificaFormArbitro(form, ex)
{
	if (verificaForm(form, ex))
	{
		document.getElementById(form).submit();
		return true;
	}
	else
		return false;
}


//*****************************************************************************//
//				Funções de controle da tela de parecer dos árbitros			   //	
//*****************************************************************************//

/*
 * Ativa todos os elementos passados por parâmetro
 */ 
function enableAllElements(elements)
{
	for(i = 0; i < elements.length; i++)
			elements[i].disabled = false;	
}

/*
 * Desativa todos os elementos passados por parâmetro
 */ 
function disableAllElements(elements)
{
	for(i = 0; i < elements.length; i++)
			elements[i].disabled = true;	
}

/*
 * Retorna todos os objetos do formulário
 */ 
function getAllFormElements(form)
{
	return document.getElementById(form).elements;
}

/*
 * Retorna todos os objetos do formulário com sufixo, apartir do caracter #, igual a sufx
 */ 
function getAllFormElementsSufix(form, sufx)
{
	var elements = getAllFormElements(form);
	var elementsSufx = new Array();
	var index = 0;
	
	for(i = 0; i < elements.length; i++)
		if(elements[i].name.indexOf(sufx) > -1 && elements[i].type != "checkbox")
		{
			elementsSufx[index] = elements[i];
			index++;
		}
		
	return elementsSufx;
}

/*
 * Ativa ou desativa os objetos de um formulário (de acordo com o parâmetro chkValue) com um sufixo dado a partir do caracter # da string chkName
 */ 
function objectEnabledControl(form, chk, arrChks)
{
	var elements = getAllFormElementsSufix(form, getSufix(chk.name));
	controlChkboxArray(chk, arrChks);
	
	if (chk.checked)
		enableAllElements(elements);
	else
		disableAllElements(elements);
}

/*
 * Retorna o sufixo de uma string apartir do caracter '#'
 */ 
function getSufix(str)
{
	return str.substr(str.indexOf("#") + 1);
}

/*
 * Realiza o controle da string que armazena os nomes dos checkboxs ativados
 */
function controlChkboxArray(chk, arrChk)
{
	if (chk.checked)
		addChkboxToArray(chk, arrChk);
	else
		removeChkboxFromArray(chk, arrChk);
}

/*
 * Adiciona a string de controle o nome do checkbox ativado
 */
function addChkboxToArray(chk, arr)
{
	if (arr.value.indexOf(chk.name) < 0)
		arr.value += chk.name + ",";
}

/*
 * Remove da string de controle o nome do checkbox desativado
 */
function removeChkboxFromArray(chk, arr)
{
	arrValue = arr.value;
	arrLeftSubStr = "";
	arrRightSubStr = "";
	
	initPos = arrValue.indexOf(chk.name);

	if (initPos > 0)
		arrLeftSubStr = arrValue.substr(0, initPos);
		
	arrRightSubStr = arrValue.substring(initPos + chk.name.length + 1, arrValue.length);
	arr.value = arrLeftSubStr + arrRightSubStr;
}

function getAllCheckBox(elements)
{
	var chks = new Array();
	var j = 0;
	
	for (i = 0; i < elements.length; i++)
	{
		if (elements[i].type == "checkbox")
		{
			chks[j] = elements[i];
			j++;
		}
	}
	
	return chks;
}

function addParecer(form)
{
	var chks = getAllCheckBox(form.elements);
	var erro = false;
	var totalChecked = 0;

	for(i = 0; i < chks.length; i++)
	{
		if (chks[i].checked)
		{
			totalChecked++;
			if (!verificaFormChk(getElementsChks(form.elements, chks[i])))
				erro = true;
		}
	}
	
	if (totalChecked > 0)
	{
		if (!erro)
			form.submit();
		else
			alert("Preencha todos os campos do formulário.");
	}
	else
		alert("Selecione pelo menos 1 artigo para dar o seu parecer.");
}

function getElementsChks(elements, chk)
{
	var splited = chk.name.split("#");
	var id = splited[1];
	var arrElements = new Array();
	var index = 0;
	var element = null;
	
	for(i = 0; i < elements.length; i++)
	{
		element = elements[i];
		if (element.name.indexOf(id) > -1)
		{
			arrElements[index] = element;
			index++;
		}
	}
	
	return arrElements;
}

function verificaFormChk(elements)
{
	var element = null;
	var optSim = null;
	var optNao = null;
	var optSO = null;
	
	var optRec1 = null;
	var optRec2 = null;
	var optRec3 = null;
	var optRec4 = null;
	var optRec5 = null;
	
	for(i = 0; i < elements.length; i++)
	{
		element = elements[i];
		if (element.type == "radio")
		{
			if (element.name.indexOf("recomendacoes#id") < 0)
			{
				optSim = element;
				optNao = elements[++i];
				optSO = elements[++i];
				
				if (!optSim.checked && !optNao.checked && !optSO.checked)
				{
					element.focus();
					return false;
				}
			}
			else
			{
				optRec1 = element;
				optRec2 = elements[++i];
				optRec3 = elements[++i];
				optRec4 = elements[++i];
				optRec5 = elements[++i];
				
				if (!optRec1.checked && !optRec2.checked && !optRec3.checked && !optRec4.checked && !optRec5.checked)
				{
					element.focus();
					return false;
				}
			}
		}
	}
	return true;
}

function questaoChecked(elements, questao)
{
	var checked = 0;
	var element = null;
	for(i = 0; i < elements.length; i++)
	{
		element = elements[i];
		if (element.name == questao.name)
			if (element.checked)
				checked++;
	}
	if (checked == 0)
	{
		questao.focus();
		return true;
	}
	return false;
}
