Wenas a tod@s

Estoy intentando validar un campo de archivo y a pesar de las múltiples ayudas q he encontrado en internet, no entiendo xq no funciona.
La tabla y los campos a validar son bastantes más d los q he resumido en el ejemplo q detallo a continuación, a fin d abreviarlo lo más posible. 
Consta d un formulario con un sólo campo d tipo d "file", llamado "archivo". La tabla se llama "archivos" y contiene un único campo llamado "archivo", (varchar d 50). 
<?php require_once('Connections/base.php'); ?>
<?php  
if (isset($_POST['submit'])) {   
    if(is_uploaded_file($_FILES['archivo']['tmp_name'])) { 
        $ruta_destino = "images/"; 
        if(move_uploaded_file($_FILES['archivo']['tmp_name'], $ruta_destino . $_FILES['archivo']['name']));
  $query = "INSERT INTO archivos  
    VALUES ('".$_FILES['archivo']['name']."')"; 
                mysql_query($query) or die(mysql_error()); }}
?> 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título</title>
<script language="javascript">
function comprueba_extension(formulario, archivo) {
	extensiones_permitidas = new Array(".gif", ".jpg", ".doc", ".pdf");
	mierror = "";
	if (!archivo) {
		//Si no tengo archivo, es que no se ha seleccionado un archivo en el formulario
		mierror = "No has seleccionado ningún archivo";
	}else{
		//recupero la extensión de este nombre de archivo
		extension = (archivo.substring(archivo.lastIndexOf("."))).toLo  werCase();
		//alert (extension);
		//compruebo si la extensión está entre las permitidas
		permitida = false;
		for (var i = 0; i < extensiones_permitidas.length; i++) {
			if (extensiones_permitidas[i] == extension) { 
				permitida = true;
				break;
			}
		}
		if (!permitida) {
			mierror = "Comprueba la extensión de los archivos a subir. \nSólo se pueden subir archivos con extensiones: " + extensiones_permitidas.join();
		}else{
			//submito!
			alert ("Todo correcto. Voy a submitir el formulario.");
			formulario.submit();
			return 1;
		}
	}
	//si estoy aqui es que no se ha podido submitir
	alert (mierror);
	return 0;
}
</script>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data" name="formulario" id="formulario">  
    Archivo: 
      <input name="archivo" type="file" id="archivo" size="150" maxlength="150">  
    <br>
    <br> 
  <input name="submit" type="button" value="Subir!" onClick="comprueba_extension(this.form, this.form.archivo.value)">   
</form>
</body>
</html> 
Si el tipo d botón lo pongo en "submit" en vez d "button" si lo envía a la BD y sube correctamente el archivo; si no, simplemente no hace nada 
 
 
Les agradezco muchísimo cualquier sugerencia o ayuda q puedan aportar 
 
 
Salu2!!