hola cardf.... en primer.. lugar... 
 
esto no va en este foro.. ya que no es.. java... sino javascript y es otro lenguaje totalmente diferente... pero yo no soy el encargado de moverlo..  
en cuanto a tu codigo.. al restar ... la variable TOTAL no existe... lo que te quedaria algo asi...   
Código:
 
function sumar() {
var pago = parseInt(document.insertar.pago.value);	
var n1 = parseInt(document.insertar.numero1.value);
var n2 = parseInt(document.insertar.numero2.value);
var n3 = parseInt(document.insertar.numero3.value);
var importe=n1+n2+n3;
document.insertar.TOTAL.value=importe;
document.insertar.p.value=pago-importe;
}
  luego tenes que ver las validaciones.. que no se NaN... osea que tome los vacios como cero... y los redondeos.. podes usar toFixed...  
pero.. yo.. y esto es una apreciacion personal.. te diria que trabajes con 
document.getElementById()... 
y tambien cambiaria el evento.. a onkeyup.. o bien a onblur..  
lo cual te daria algo asi...   
Código:
 
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        
        <script>
function sumar() {
pago = document.getElementById('pago').value;	
n1 = document.getElementById('num1').value;
n2 = document.getElementById('num2').value;
n3 = document.getElementById('num3').value;
n1=(n1=='')?0:parseFloat(n1);
n2=(n2=='')?0:parseFloat(n2);
n3=(n3=='')?0:parseFloat(n3);
importe=n1+n2+n3;
importe.toFixed(2);
vuelto=(pago!=0 && pago!='')?parseFloat(pago)-parseFloat(importe):0;
vuelto.toFixed(2);
document.getElementById('TOTAL').value=importe;
document.getElementById('p').value=vuelto;
}
</script>
        
    </head>
    <body>
        
        
        
<form id="insertar" name="insertar" method="post" action="">
<table width="200" border="1">
  <tr>
    <th scope="col">Ingrese cantidad con que paga<input type="text" name="pago" id="pago" onkeyup="sumar()" size="20"><br /></th>
  </tr>
  <tr>
    <th scope="row">precio1<input type="text" name="numero1" id="num1" size="20" onkeyup="sumar()"><br /></th>
  </tr>
  <tr>
    <th scope="row">precio2<input type="text" name="numero2" id="num2" size="20" onkeyup="sumar()"><br /></th>
  </tr>
  <tr>
    <th scope="row">precio3<input type="text" name="numero3" id="num3" size="20" onkeyup="sumar()"><br /></th>
  </tr>
  <tr>
    <th scope="row">Total<input type="text" name="TOTAL" id="TOTAL" size="20"></th>
  </tr>
  <tr>
    <th scope="row">vuelto<input type="text" name="p" id="p" size="20"></th>
  </tr>
</table>
</p>
<input type="submit" name="Submit" value="Insertar Registro" />
<input type="hidden" name="action" value="add" />
</form>
        
        
        
    </body>
</html>
  espero que te halla servido... saludos.