public function recuperarProvaResposta($id_prova_resposta){

		$query ="SELECT tbl_prova_resposta.prova_resposta       AS prova_resposta,
						tbl_prova_resposta.prova_pergunta       AS prova_pergunta,
						tbl_prova_resposta.resposta_texto       AS resposta_texto,
						tbl_prova_resposta.resposta_correta     AS resposta_correta,
						tbl_prova_resposta.resposta_filho       AS resposta_filho,
						tbl_prova_resposta.ordem                AS ordem
				FROM tbl_prova_resposta
				WHERE tbl_prova_resposta.prova_resposta = $id_prova_resposta ";

		$banco = $this->getBancoDados(); 
		$prova_resposta = NULL; 
		$retorno = $banco->executaSQL($query); 
		if($retorno != NULL) {

			if ($banco->numRows($retorno) == 0){
				#throw new Exception("Nenhuma resposta da prova encontrada. (QUERY: $query )",0);
			}

			while($linha = $banco->fetchArray($retorno)) { 

				if (strlen(trim($linha["resposta_filho"]))>0){
					$sessionFacade   = new SessionFacade($banco); 
					$obj_prova_resposta_filho = $sessionFacade->recuperarProvaResposta($linha["resposta_filho"]);
				}else{
					$obj_prova_resposta_filho = NULL;
				}

				$prova_resposta = new Resposta(); 
				$prova_resposta->setId($linha['prova_resposta']);
				$prova_resposta->setPergunta($linha["prova_pergunta"]);
				$prova_resposta->setRespostaCorreta($linha["resposta_correta"]);
				$prova_resposta->setRespostaTexto($linha["resposta_texto"]);
				$prova_resposta->setRespostaFilho($obj_prova_resposta_filho);
				$prova_resposta->setOrdem($linha["ordem"]);
			}
			return $prova_resposta; 
		} else {
			throw new Exception("Erro ao recuperar Resposta Prova (SQL: $query )"); 
		}
	}
				$resposta_filho = new Resposta();
				$resposta_filho->setId($resposta);
				#$resposta_filho->setPergunta($perg);
				$resposta_filho->setRespostaTexto($resposta_texto_filho);
				$resposta_filho->setRespostaCorreta($resposta_correta);
				$resposta_filho->setRespostaFilho($resposta_correta);

				$perg->addResposta($resposta_filho);
			}

			if (strlen($resposta_texto)==0){
				continue;
			}

			$resItem = new Resposta();
			$resItem->setId($resposta);
			#$resItem->setPergunta($perg);
			$resItem->setRespostaTexto($resposta_texto);
			$resItem->setRespostaCorreta($resposta_correta);
			$resItem->setRespostaFilho($resposta_filho);

			$perg->addResposta($resItem);
		}
		$sessionFacade->gravarPergunta($perg);

		/* ---------- UPLOAD DAS IMAGENS ---------- */
		$files = array();
		if (isset($_FILES['imagens'])){
			foreach ($_FILES['imagens'] as $k => $l) {
				foreach ($l as $i => $v) {
					if (!array_key_exists($i, $files)) {
	function gravarProvaPergunta(ProvaPergunta $prova_pergunta){

		if (strlen($prova_pergunta->getTitulo())==0){
			throw new Exception('Informe o título da pergunta!');
		}else{
			$prova_pergunta->Xtitulo = "'".$prova_pergunta->getTitulo()."'";
		}

		if (!is_object($prova_pergunta->getTipoPergunta())){
			throw new Exception('Informe o tipo da pergunta!');
		}else{
			$prova_pergunta->Xtipo_pergunta = $prova_pergunta->getTipoPergunta()->getId();
		}

		if (!is_object($prova_pergunta->getTopico())){
			throw new Exception('Informe o tópico da pergunta!');
		}else{
			$prova_pergunta->Xtopico = $prova_pergunta->getTopico()->getId();
		}

		if (strlen($prova_pergunta->getDificuldade())==0){
			throw new Exception('Selecione a dificuldade da perguta!');
		}else{
			$prova_pergunta->Xdificuldade = $prova_pergunta->getDificuldade();
		}

		if (strlen($prova_pergunta->getFonte())==0){
			$prova_pergunta->Xfonte = " NULL ";
		}else{
			$prova_pergunta->Xfonte = "'".$prova_pergunta->getFonte()."'";
		}
		
		if (strlen($prova_pergunta->getPeso())==0){
			$prova_pergunta->Xpeso = " NULL ";
		}else{
			$prova_pergunta->setPeso( str_replace(",",".",$prova_pergunta->getPeso()) );
			$prova_pergunta->Xpeso = $prova_pergunta->getPeso();
		}

		if (strlen($prova_pergunta->getPerguntaOrigem())==0){
			throw new Exception('Qual origem desta pergunta?');
		}else{
			$prova_pergunta->Xpergunta_origem = $prova_pergunta->getPerguntaOrigem();
		}
		
		if (strlen($prova_pergunta->getProvaId())==0){
			throw new Exception('Problema ao identificar a oritem da prova. Tente novamente.');
		}else{
			$prova_pergunta->Xprova_id = $prova_pergunta->getProvaId();
		}

		$provaPerguntaDAO = new ProvaPerguntaDAO(); 
		$provaPerguntaDAO->setBancoDados($this->banco); 
		$provaPerguntaDAO->gravaDadosProvaPergunta($prova_pergunta); 

#echo "<br><br>Pergunta: (".$prova_pergunta->getPerguntaOrigem().")";
#echo "<br>Qtde Respostas: ".$prova_pergunta->getQtdeResposta();
/*
if ( $prova_pergunta->getPerguntaOrigem() == '3'){
	echo "<br><br>";
	print_r( $prova_pergunta->getResposta(0) );
	echo "<br><br>";
	print_r( $prova_pergunta->getResposta(1) );
	echo "<br><br>";
	print_r( $prova_pergunta->getResposta(2) );
	echo "<br><br>";
	print_r( $prova_pergunta->getResposta(3) );
	echo "<br><br>";
	print_r( $prova_pergunta->getResposta(4) );
	echo "<br><br>";
}
*/
		for ($i=0;$i<$prova_pergunta->getQtdeResposta();$i++){
			$prova_pergunta->getResposta($i)->setPergunta($prova_pergunta->getId());

			if (is_object($prova_pergunta->getResposta($i)->getRespostaFilho())) {
				$resposta_filho = new Resposta();
				$resposta_filho->setId($prova_pergunta->getResposta($i)->getRespostaFilho()->getId());
				$resposta_filho->setPergunta($prova_pergunta->getId());
				$resposta_filho->setRespostaTexto($prova_pergunta->getResposta($i)->getRespostaFilho()->getRespostaTexto());
				$resposta_filho->setRespostaCorreta($prova_pergunta->getResposta($i)->getRespostaFilho()->getRespostaCorreta());
				#$resposta_filho->setRespostaFilho($prova_pergunta->getResposta($i)->getRespostaFilho()->getId());
				$resposta_filho = $this->gravarProvaResposta($resposta_filho); 
				$prova_pergunta->getResposta($i)->setRespostaFilho($resposta_filho);
			}
			$this->gravarProvaResposta($prova_pergunta->getResposta($i)); 
		}
		$this->atualizarOrdemResposta($prova_pergunta);
	}