Salve a tutti,
ho un problema che mi sta facendo uscir matto:

Sto cercando di mettere un captcha sulla shoutbox del mio sito (aperta a tutti senza registrazioni).
Vorrei fare in modo che, una volta inserito il proprio nome e il messaggio all'interno dei campi della shout, quando l'utente va a premere "invia" compaia in una finestrella popup uno script con il captcha, se l'inserimento di quest'ultimo va a buon fine, quindi il codice digitato è corretto, allora il form della shoutbox deve inviare i dati al database, altrimenti no.

Ho provato millemila volte in tutti i modi ma non riesco, ora sono fermo al punto in cui la finesterlla popup si apre, ma la shoutbox invia comunque il messaggio.
Vi posto qui alcuni pezzi di codice, se dovessero servire i file interi per capir meglio basta chiederlo.

Il form legato alla shoutbox è il seguente (l'ultimo <input> è quello relativo al bottone "invia"):

codice:
<form id="chatForm" name="chatForm" method="post">
		


			<?php $name = ($params->get("name")) ? $user->get('name') : $user->get('username'); ?>
			<?php if($loggedin != 'guest') :  /* If they are logged in, then print their nickname */ ?>
			<label><?php echo JText::_( 'NAME'); ?> <?php echo $name; ?></label>
			<input type="hidden" name="shoutboxname" id="shoutboxname" class="inputbox" value="<?php echo $name; ?>" />
			<?php else:  /* Otherwise allow the user to pick their own name */ ?>
			<label for="shoutboxname"><?php echo JText::_( 'NAME'); ?></label>
			<input type="text" name="shoutboxname" id="shoutboxname" class="inputbox" value="<?php if (isset($_COOKIE['jalUserName'])) { echo $_COOKIE['jalUserName']; } ?>" />
			<?php endif; ?>
			<?php if (!$params->get('url')) : ?>
			<span style="display: none">
			<?php endif; ?>
			<label for="shoutboxurl">Url:</label>
			<input type="text" name="shoutboxurl" id="shoutboxurl" class="inputbox" value="<?php if (isset($_COOKIE['jalUrl'])) { echo $_COOKIE['jalUrl']; } else { echo 'http://'; } ?>" />
			<?php if (!$params->get('url')) : ?>
			</span>
			<?php endif; ?>
			
			<label for="chatbarText"><?php echo JText::_( 'MESSAGE'); ?></label>
			<?php if ($params->get('textarea')) : ?>
			<?php
			$Form = '';
			$mainframe->triggerEvent('onBBCode_RenderForm', array('document.forms.chatForm.chatbarText', &$Form) );
			echo $Form;
			?>
			<textarea rows="4" cols="16" name="chatbarText" id="chatbarText" class="inputbox" onkeypress="return pressedEnter(this,event);"></textarea>
			<?php else: ?>
			<input type="text" name="chatbarText" id="chatbarText" class="inputbox" onkeypress="return pressedEnter(this,event);"/>
			<?php endif; ?>
			<input type="text" name="website" id="website" class="website" />
		</p>
		<?php if(JPluginHelper::isEnabled('system', 'yvsmiley')): ?>
		<?php echo JText::_( 'SMILEYS'); ?>
		<?php 
		$smilies = '';
		$mainframe->triggerEvent('onSmiley_RenderForm', array('document.forms.chatForm.chatbarText', &$smilies, 'sbsmile') );
		echo $smilies;
		?>
		<?php endif; ?>
		<input type="hidden" id="jal_lastID" value="<?php echo $lastID + 1; ?>" name="jal_lastID" />
		<input type="hidden" name="shout_no_js" value="true" />
		
		<input type="submit" class="button" value="Invia" onClick="return PopupCentrata(); return false;"  />
	</form>
Il codice della funzione PopupCentrata() che richiamo (l'ho messa in testa al file tra <script type="javascript"> e </script>:

codice:
 <script language="Javascript">
 function PopupCentrata(){
   var w = 400; 
   var h = 250;
   var l = Math.floor((screen.width-w)/2);
   var t = Math.floor((screen.height-h)/2);
	 
   window.open("/modules/mod_shoutbox/pagina.php","","width=" + w + ",height=" + h + ",top=" + t + ",left=" + l);
	}
</script>
Infine il codice della funzioncina, che vorrei ritornasse true o false a seconda dell'inserimento corretto o meno del codice captcha.

codice:
<script language='JavaScript'>
   <!--
     function setFocus() {
     document.verifica.key.focus();
     }
   -->
   </script>

<?php
		 session_start();
		 $key=$_POST['key'];
?>

<html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=windows-1250">
    <title></title>
    </head>
          <body onLoad="setFocus()">
      		[img]immagine.php[/img]
      		<form action="#<?php echo SID?>" method="post" name="verifica" onsubmit="setFocus();">
      					<input type="text" name="key" size=17 maxlength=6 >

      					<input type="submit" value=" Prova il codice ">
      		</form>
		</body>
</html>

<?php
		 if($key){
		 					if($key==$code){
?>
															<script language="javascript">
															<!--
															alert("Benvenuto umano...Codice Esatto!!!");
															//-->
															</script>
<?php

							}
							else {
?>
									 						<script language="javascript">
															<!--
															alert("Mi spiace...hai inserito un codice errato!!! Il codice esatto era <?print $code;?>.  Riprova."); 
															//-->
															</script>
<?php
		 					}
			} else
			{   
?>
							 								<script language="javascript">
															<!--
															alert("Inserisci il codice CAPTCHA!"); 
															//-->
															</script>
<?php
			}		 
			return false; 
?>

Non sono ancora convinto di aver scritto giusta la parte relativa all'onclick, il codice della funzione popup funziona perchè ho provato a fare

cliccami

e funziona a meraviglia, cioè si apre, mi chiede il captcha e tutto.


Vi ringrazio per l'aiuto sperando di riuscire a far partire il tutto perchè senno davvero divento matto.
Grazie ancora, attendo vostre (spero numerose ) risposte


ps: guardando l'anteprima ho visto che è tutto tabulato parecchio male, strano. non so perchè ma un mio tab pare corrispondere a 4 tab qui sul forum spero non sia un problema.