function openMetodo(url, action, w, h) {
  var features = 'width=' + w + ',height=' + h + ',resizable=yes,scrollbars=yes,menubar=no,toolbar=no';
  window.open(url, action, features);
}

function enviarResposta(frm) {

	// 1- Recuperam-se os códigos das perguntas da enquete
	var perguntas = frm.codigosPerguntas;

	// 2- Verifica-se se existe mais de uma pergunta
	if (perguntas.length) {
		// 3- Para cada enquete verifica-se se ela é obrigatória e, portanto se ela foi respondida
		for (i = 0; i < perguntas.length; i++) {

			var obr = eval('frm.obr' + perguntas[i].value);
			if (obr) {
				if (obr.value != null && obr.value != 0) {
					if (!verificaSelecionado(frm, perguntas[i].value)) {
						return false;
					}
				}
			}
		}
	} else {
		// 4- Se for uma enquete com uma pergunta, ela é obrigatória e verifica-se foi respondida
		if (!verificaSelecionado(frm, perguntas.value)) {
			return false;
		}
	}

	// 5- Monta a url que conterá todos os valores da enquete
	var end = 'http://fwa.abril.com.br/fwa/comentario.do?tarefa=incluir' +
			  '&codigoAssunto=' + frm.codigoAssunto.value +
			  '&situacaoComentario=1' + 
			  '&urlRetorno=' + frm.urlRetorno.value;
	
	if (frm.urlErro) {
		end += '&urlErro=' + frm.urlErro.value;
	}

	// 6- Coloca os valores das respostas da enquete na url
	end += incluiRespostasUrl(frm, perguntas);

	if (frm.popup) {
		
		var h = '400';
		var w = '400';
		
		if (frm.altura) {
			h = frm.altura.value;
		}

		if (frm.largura) {
			w = frm.largura.value;
		}
		
		openMetodo(end, 'incluir', w, h);
	} else {
		frm.method = "post";
		frm.action = "http://fwa.abril.com.br/fwa/comentario.do?tarefa=incluir&situacaoComentario=1";
		frm.submit();
		return true;
		//window.location.replace(end);
	}
	
	return false;
}

function verificaSelecionado(frm, codigo) {

	// 1- Recupera as respostas da pergunta
	var respostas = eval('frm.codigosRespostas' + codigo);

	// 2- Verifica se possui mais de uma resposta e varre todas, senão verifica se ela foi selecionada
	var selecionado = false;

	if (respostas.length) {
		for (p = 0; p < respostas.length; p++) {
			if (respostas[p].checked) {
				selecionado = true;
			}
		}
	} else {
		if (respostas.checked) {
			selecionado = true;
		}
	}

	if (!selecionado) {
		// Recupera o título da pergunta para poder exibir no alert
		var pergunta = eval('frm.tituloPergunta' + codigo);
		alert('Por favor, selecione uma resposta para ' + pergunta.value);
		return false;
	}

	return true;
}

function incluiRespostasUrl(frm, perguntas) {
	
	var end = "";

	if (perguntas.length) {
		for (i = 0; i < perguntas.length; i++) {

			end += "&codigosPerguntas=" + perguntas[i].value;
			end += recuperaSelecionado(frm, perguntas[i].value);
		}
	} else {
		end += "&codigosPerguntas=" + perguntas.value;
		end += recuperaSelecionado(frm, perguntas.value);
	}
	
	return end;
}

function recuperaSelecionado(frm, codigo) {

	// 1- Recupera as respostas da pergunta
	var respostas = eval('frm.codigosRespostas' + codigo);

	var end = "";
	if (respostas.length) {
		for (j = 0; j < respostas.length; j++) {
			if (respostas[j].checked) {
				end += "&codigosRespostas" + codigo + "=" + respostas[j].value;
			}
		}
	} else {
		if (respostas.checked) {
			end += "&codigosRespostas" + codigo + "=" + respostas.value;
		}
	}
	
	return end;
}
