function isInteger(s) {
	return (s.toString().search(/^[0-9]+$/) == 0);
}

function sendForm(act) {
	if (document.form.titulo.value == "") alert("Título da aventura deve ser preenchido");
	else if (document.form.descr.value == "") alert("Descrição da aventura deve ser preenchida");
	else if (act == "editAtr" && document.form.nomeAtr.value == "") alert("Nome do atributo deve ser preenchido");
	else if (act == "editAtr" && document.form.menorValorAtr.value == "") alert("Menor valor do atributo deve ser preenchido");
	else if (act == "editAtr" && document.form.maiorValorAtr.value == "") alert("Maior valor do atributo deve ser preenchido");
	else if (act == "editAtr" && document.form.valorIniAtr.value == "") alert("Valor inicial do atributo deve ser preenchido");
	else if (act == "editAtr" && !isInteger(document.form.menorValorAtr.value)) alert("O campo 'menor valor' deve ser preenchido com um número inteiro positivo");
	else if (act == "editAtr" && !isInteger(document.form.maiorValorAtr.value)) alert("O campo 'maior valor' deve ser preenchido com um número inteiro positivo");
	else if (act == "editAtr" && !isInteger(document.form.valorIniAtr.value)) alert("O campo 'valor inicial' deve ser preenchido com um número inteiro positivo");
	else if ((act == "editPag" || act == "editSaida") && (document.form.descrPag.value == "")) alert("Descrição da página deve ser preenchida");
	else if (act == "editSaida" && document.form.descrSaida.value == "") alert("Descrição da opção de saída deve ser preenchida");
	else if (act == "editSaida" && document.form.destSaida.value == "") alert("Destino da opção de saída deve ser preenchido");
	else if (act == "editSaida" && document.form.condicaoSaida.value != 0 && document.form.atrCondSaida.value == "NULL") alert("Caso haja condição para exibição da saída, o atributo deve ser selecionado");
	else if (act == "editSaida" && document.form.condicaoSaida.value != 0 && document.form.opCondSaida.value == "NULL") alert("Caso haja condição para exibição da saída, o operador deve ser selecionado");
	else if (act == "editSaida" && document.form.condicaoSaida.value != 0 && document.form.valorCondSaida.value == "") alert("Caso haja condição para exibição da saída, o valor deve ser informado");
	else if (act == "editSaida" && document.form.condicaoSaida.value != 0 && !isInteger(document.form.valorCondSaida.value)) alert("O campo 'valor da condição' deve ser preenchido com um número inteiro positivo");
	else if (act == "editAcao" && document.form.valorAcao.value == "") alert("O valor da ação deve ser preenchido");
	else if (act == "editAcao" && !isInteger(document.form.valorAcao.value)) alert("O campo 'valor da ação' deve ser preenchido com um número inteiro positivo");
	else {
		document.form.actInput.value = act;
		document.form.submit();
	}
}

function setParam(param) {
	document.form.param.value = param;
}

function proxPagina(saida) {
	if (document.form.pag_ant.value == -1) {
		var todosInteiros = true;
		var todosDentroDaFaixa = true;
		var strFinal, strMenor, strMaior;
		for (var i=1; i < document.getElementById("numAtr").value; i++) {
			strFinal = "valorFinal";
			strFinal = strFinal.concat(i);
			strMenor = "valorMenor";
			strMenor = strMenor.concat(i);
			strMaior = "valorMaior";
			strMaior = strMaior.concat(i);
			if (!isInteger(document.getElementById(strFinal).value)) todosInteiros = false;	
			if (parseInt(document.getElementById(strFinal).value) < parseInt(document.getElementById(strMenor).value) ||
			    parseInt(document.getElementById(strFinal).value) > parseInt(document.getElementById(strMaior).value)) todosDentroDaFaixa = false;
		}
		if (!todosInteiros) alert("Os campos de valores de atributos devem ser preenchidos com números inteiros positivos");
		else if (!todosDentroDaFaixa) alert("Os campos de valores de atributos devem ficar entre suas respectivas faixas de valores");
		else if (document.form.disp.value < 0) alert("Você não pode utilizar mais pontos que o disponível");
		else {
			document.form.submit();
		}
	}
	else {
		document.form.saida.value = saida;
		document.form.submit();
	}
}

function changeCondicao() {
	if (document.form.condicaoSaida.value == 0) {
		document.form.atrCondSaida.value = 'NULL';
		document.form.atrCondSaida.disabled = true;
		document.form.opCondSaida.value = 'NULL';
		document.form.opCondSaida.disabled = true;
		document.form.valorCondSaida.value = '';
		document.form.valorCondSaida.disabled = true;
	}
	else {
		document.form.atrCondSaida.disabled = false;
		document.form.opCondSaida.disabled = false;
		document.form.valorCondSaida.disabled = false;
	}
}

function changeAcao() {
	if (document.form.acao.value == 0) document.form.prep.value = "ao";
	else document.form.prep.value = "do";
}

function changePtsPers() {
	var ptsGastos = 0;
	var strIni, strFinal, valorFinal, valorIni, disp;
	var dispIni = document.getElementById("dispIni").value;
	for (var i=1; i < document.getElementById("numAtr").value; i++) {
		strIni = "valorIni";
		strFinal = "valorFinal";
		strIni = strIni.concat(i);
		strFinal = strFinal.concat(i);
		valorIni = document.getElementById(strIni).value;
		if (isInteger(document.getElementById(strFinal).value)) 
			valorFinal = document.getElementById(strFinal).value;
		else valorFinal = valorIni;
		ptsGastos += (valorFinal - valorIni);
	}
	disp = dispIni - ptsGastos
	document.getElementById("disp").value = disp;
}

function starShow(avent,nota) {
	if (nota >= 1) document.getElementById("star1_".concat(avent)).src = "imagens/estrela_cheia.gif";
	else if (nota >= 0.5) document.getElementById("star1_".concat(avent)).src = "imagens/estrela_metade.gif";
	else document.getElementById("star1_".concat(avent)).src = "imagens/estrela_vazia.gif";	
	
	if (nota >= 2) document.getElementById("star2_".concat(avent)).src = "imagens/estrela_cheia.gif";
	else if (nota >= 1.5) document.getElementById("star2_".concat(avent)).src = "imagens/estrela_metade.gif";
	else document.getElementById("star2_".concat(avent)).src = "imagens/estrela_vazia.gif";	
	
	if (nota >= 3) document.getElementById("star3_".concat(avent)).src = "imagens/estrela_cheia.gif";
	else if (nota >= 2.5) document.getElementById("star3_".concat(avent)).src = "imagens/estrela_metade.gif";
	else document.getElementById("star3_".concat(avent)).src = "imagens/estrela_vazia.gif";	
	
	if (nota >= 4) document.getElementById("star4_".concat(avent)).src = "imagens/estrela_cheia.gif";
	else if (nota >= 3.5) document.getElementById("star4_".concat(avent)).src = "imagens/estrela_metade.gif";
	else document.getElementById("star4_".concat(avent)).src = "imagens/estrela_vazia.gif";	
	
	if (nota >= 5) document.getElementById("star5_".concat(avent)).src = "imagens/estrela_cheia.gif";
	else if (nota >= 4.5) document.getElementById("star5_".concat(avent)).src = "imagens/estrela_metade.gif";
	else document.getElementById("star5_".concat(avent)).src = "imagens/estrela_vazia.gif";
}

function starClick(avent,nota) {
	if (confirm("Deseja dar nota " + nota + " para essa aventura?")) {
		document.form.avent_id.value = avent;
		document.form.nota.value = nota;
		document.form.submit();
	}
}