Share Pastebin
Guest
Public paste!

jachable

By: a guest | Oct 25th, 2007 | Syntax: JavaScript | Size: 18.99 KB | Hits: 788 | Expires: Never
Copy text to clipboard
  1. /* Documentado creado el 19 de Octubre de 2007.
  2.  */
  3. var error='Debe elegir una opción válida';      //Mensaje de error
  4. var mostrar = false;     //Bandera para mostrar|ocultar la tabla de búsqueda avanzada
  5. var cuenta_producto = 0; //Número de productos en la lista
  6. var cons = 0;
  7.  
  8. var clave_producto = Array();   //Almacena las claves de los productos, impidiendo que se anexe más de una vez el mismo.
  9. var datos_producto = Array();
  10.  
  11. //set_origenpedido(valor) asigna al campo hidden temporal (tmp_pedido) el valor 0 contrato o 1 particular
  12. function set_origenpedido(valor){
  13.         var input, combo, tmp;
  14.         combo = document.getElementById('cliente_nombre');
  15.         input = document.getElementById('clave_contrato');
  16.  
  17.         if(valor == 0){
  18.                 combo.setAttribute('disabled', true);
  19.                 input.removeAttribute('disabled');
  20.         }
  21.                 else{
  22.                         input.value='';
  23.                         input.setAttribute('disabled', true);
  24.                         combo.removeAttribute('disabled');
  25.                 }
  26.                
  27.         tmp = document.getElementById('tmp_pedido');
  28.         tmp.value = valor;
  29.        
  30.         //Si es un contrato agregar buscar clave del cliente. Si es un particular remover clave del cliente.
  31.         var combo_box = document.getElementById('tipo_busqueda');
  32.         if(tmp.value == 0 && combo_box.options.length == 5){ //Agregar 
  33.                 var choice;
  34.                         choice = document.createElement('option');
  35.                         choice.value = 5;
  36.                         choice.appendChild(document.createTextNode('Clave del Cliente'));
  37.                         combo_box.appendChild(choice);                         
  38.         }
  39.                 else if(tmp.value == 1 && combo_box.options.length == 6){ //Quitar
  40.                         combo_box.removeChild(combo_box.lastChild);
  41.                 }
  42.                
  43.         return;
  44. }
  45.  
  46. //showHidden() Muestra u oculta la tabla de búsqueda avanzada
  47. function showHidden(){
  48.         var tabla_busqueda = document.getElementById('b_avanzada');
  49.  
  50.         if(!mostrar){
  51.                 mostrar = true;
  52.                 tabla_busqueda.style.display = 'block';
  53.         }
  54.                 else{
  55.                         mostrar = false;
  56.                         tabla_busqueda.style.display = 'none';
  57.                 }
  58.  
  59.         return;
  60. }
  61.  
  62. //reiniciaControles() Limpia los controles principales de búsqueda avanzada
  63. function reiniciaControles(){
  64.         var criterio = document.getElementById('criterio');
  65.         criterio.removeAttribute('value');
  66.         criterio.value = '';
  67.  
  68.         var combo_box = document.getElementById('resultado');
  69.         while(combo_box.childNodes.length > 0)
  70.                 combo_box.removeChild(combo_box.childNodes[0]);
  71.         var choice;
  72.                 choice = document.createElement('option');
  73.                 choice.appendChild(document.createTextNode('---SELECCIONE---'));
  74.                 combo_box.appendChild(choice);
  75.        
  76.         //limpiaPuntosEntrega();
  77.         activarAdd();
  78.         return;
  79. }
  80.  
  81. //buscarCriterio() Búsqueda Avanzada según el tipo seleccionado y el criterio escrito en la Tabla Productos con el script get_producto.
  82. function buscarCriterio(){
  83.         activarAdd();
  84.         var  tipo_busqueda = document.getElementById('tipo_busqueda').value;
  85.         var  criterio = document.getElementById('criterio').value;
  86.         if(tipo_busqueda != "" && tipo_busqueda != "---SELECCIONE---"){
  87.                 if(criterio != ""){
  88.                         if(tipo_busqueda == 5)
  89.                                 return alert('Aún no esta implementada la opción\nClave del Cliente');
  90.                         var ajaxReq = ajaxFunction();
  91.                         if(ajaxReq){
  92.                                 // Create a function that will receive data sent from the server
  93.                                 ajaxReq.onreadystatechange = function(){
  94.                                         if(ajaxReq.readyState == 4){
  95.                                                 if(ajaxReq.status == 200){
  96.                                         //Activese solo para debuguear
  97.                                                         //var valor     = ajaxReq.responseText;
  98.                                                         //alert(valor);
  99.                                                 var valor       = ajaxReq.responseXML.getElementsByTagName('evaluado')[0].firstChild.data;
  100.                                                 var mensaje     = ajaxReq.responseXML.getElementsByTagName('mensaje')[0].firstChild.data;
  101.  
  102.                                                         if(valor == 1){ //Existen Clientes
  103.                                                                 //alert(mensaje);                                                      
  104.                                                                 var xmlDoc = ajaxReq.responseXML;
  105.                                                                 var listaNombres = xmlDoc.getElementsByTagName('nombres')[0];
  106.                                                                 var nombresProductoXML = listaNombres.getElementsByTagName('nombre_producto');
  107.                
  108.                                                                 var listaClaves = xmlDoc.getElementsByTagName('claves')[0];
  109.                                                                 var clavesClienteXML = listaClaves.getElementsByTagName('clave_producto');
  110.                                                                 var nombre_producto = new Array();
  111.                                                                 var clave_producto = new Array();                                              
  112.                                                                 var currentState = null;
  113.                
  114.                                                                 for(var i=0; i< nombresProductoXML.length; i++){
  115.                                                                         currentState = nombresProductoXML[i];
  116.                                                                         nombre_producto[i] = currentState.childNodes[0].nodeValue;
  117.                                                                         currentState = null;
  118.                                                                         currentState = clavesClienteXML[i];
  119.                                                                         clave_producto[i] = currentState.childNodes[0].nodeValue;                                                      
  120.                                                                 }
  121.                                
  122.                                                         //Generar el combo
  123.                                                                 var combo_box = document.getElementById('resultado');                                                                                          
  124.                                                                 while(combo_box.childNodes.length > 0)
  125.                                                                         combo_box.removeChild(combo_box.childNodes[0]);
  126.                                                                 // Agrega algunas opciones:
  127.                                                                 var choice;
  128.                                                                         choice = document.createElement('option');
  129.                                                                         choice.appendChild(document.createTextNode('---SELECCIONE---'));
  130.                                                                         combo_box.appendChild(choice);                                           
  131.                                                                         for(var i=0; i < nombre_producto.length; i++){
  132.                                                                                 choice = document.createElement('option');
  133.                                                                                 choice.value = clave_producto[i];
  134.                                                                                 choice.appendChild(document.createTextNode(nombre_producto[i]));
  135.                                                                         combo_box.appendChild(choice);
  136.                                                                         }
  137.                                                         }
  138.                                                                 else{//No existen Productos
  139.                                                                         var combo_box = document.getElementById('resultado');  
  140.                                                                         while(combo_box.childNodes.length > 0)
  141.                                                                                 combo_box.removeChild(combo_box.childNodes[0]);
  142.                                                                         var choice;
  143.                                                                                 choice = document.createElement('option');
  144.                                                                                 choice.appendChild(document.createTextNode('---SELECCIONE---'));
  145.                                                                                 combo_box.appendChild(choice);
  146.                                                                         alert(mensaje);
  147.                                                                 }
  148.                                                 }//Valida Status
  149.                                         }//Valida State
  150.                                 }//onreadystatechange
  151.                                 criterio = encodeURI(criterio);
  152.                                 var aleatorio=Math.random();
  153.                                 ajaxReq.open("GET", "get_producto.php?act=1&tipo_busqueda="+tipo_busqueda+"&criterio="+criterio+"&rnd="+aleatorio, true);
  154.                                 ajaxReq.send(null);
  155.                         }//Valida Ajax
  156.                         else
  157.                                 alert("El Navegador no soporta llamados al objeto XMLHttpRequest");
  158.                 }//Valida Criterio y Tipo_Busqueda
  159.                 else
  160.                         return  alert("Debe escribir un criterio de búsqueda");
  161.         }//Valida Tipo_Busqueda
  162.                 else
  163.                         return  alert(error);
  164. }
  165.  
  166. //Activa el boton para agregar los puntos de entrega en función del cliente seleccionado.
  167. function activarAdd(){
  168.         var resultado =         document.getElementById('resultado').value;
  169.         var anexa_fila =        document.getElementById('anexa_producto');
  170.  
  171.         if(resultado != "" && resultado != "---SELECCIONE---"){
  172.                 anexa_fila.removeAttribute("disabled");
  173.         }
  174.                 else{
  175.                                 anexa_fila.setAttribute('disabled', true);
  176.                         }
  177. }
  178.  
  179. function getDatos(producto_clave){ //Cero (0) busca si la clave es válida, uno (1) crea la fila con la información de la BD /*accion, */
  180.         var ajaxReq = ajaxFunction();
  181.         if(ajaxReq){
  182.                 ajaxReq.onreadystatechange = function(){
  183.                         if(ajaxReq.readyState == 4){
  184.                                 if(ajaxReq.status == 200){      //Activese solo para debuguear
  185.                                 //var valor     = ajaxReq.responseText; alert(valor);
  186.                                 var valor       = ajaxReq.responseXML.getElementsByTagName('evaluado')[0].firstChild.data;
  187.                                 var mensaje     = ajaxReq.responseXML.getElementsByTagName('mensaje')[0].firstChild.data;
  188.  
  189.                                         if(valor == 1){ //Existe la Clave del producto
  190.                                                 //alert(mensaje);
  191.                                                 var claveXML    = ajaxReq.responseXML.getElementsByTagName('clave_producto')[0].firstChild.data;
  192.                                                 var nombreXML   = ajaxReq.responseXML.getElementsByTagName('nombre_producto')[0].firstChild.data;
  193.                                                 var umedidaXML  = ajaxReq.responseXML.getElementsByTagName('umedida_producto')[0].firstChild.data;
  194.                                                 var precioXML   = ajaxReq.responseXML.getElementsByTagName('precio_producto')[0].firstChild.data;
  195.                                                
  196. //---------------------- Inicia declaración de variables ---------------------------
  197.                                                 var col_nombre= Array('filaprod','producto_id','cantidad','descripcion','umedida','precio','importe', 'Quitar');
  198.                                                 var tabla='valores_producto';
  199.                                                 var valores_control =   document.getElementById(tabla); //tbody valores_producto
  200.                                                 var consecutivo = cons++;
  201.                                                 var id_control = cuenta_producto++;
  202. //---------------------- Termina declaración de variables ---------------------------
  203.                                                 var fila_control =      document.createElement("tr");
  204.                                                 fila_control.setAttribute('id',col_nombre[0]+consecutivo);
  205.                                        
  206.                                                 var columna_clave               = document.createElement('input');      //Tipo text
  207.                                                 var columna_cantidad    = document.createElement('input');      //Tipo text
  208.                                                 var columna_descripcion = document.createElement('input');      //Tipo text
  209.                                                 var columna_umedida     = document.createElement('input');      //Tipo text
  210.                                                 var columna_precio      = document.createElement('input');      //Tipo text
  211.                                                 var columna_importe     = document.createElement('input');      //Tipo text
  212.                                                 var btnBorrar =                 document.createElement('input');        //Tipo button
  213.                                                
  214.                                                 set_Atributos(columna_clave, col_nombre[1]+'[]', col_nombre[1]+id_control, claveXML,  8, 0);    //Columna de Clave
  215.                                                 columna_clave.onfocus= function(){ this.blur(); };
  216.                                                
  217.                                                 set_Atributos(columna_cantidad, col_nombre[2]+'[]', col_nombre[2]+id_control, 0,  4, 0);                //Columna de Cantidad
  218.                                                 columna_cantidad.onkeyup=
  219.                                                 function(){
  220.                                                         if(!isNaN(this.value) && this.value > 0){       //alert('Cantidad Válida para '+this.id);
  221.                                                                 this.value = parseInt(this.value,10)
  222.                                                                 calculaImporte(this.id);
  223.                                                         }
  224.                                                                 else{
  225.                                                                         var tam = this.id.charAt(this.id.length-1);
  226.                                                                         var importe = document.getElementById('importe'+tam);
  227.                                                                         importe.value = 0;
  228.                                                                         alert('Cantidad Inválida\nPor Favor escriba el # de productos');
  229.                                                                 }
  230.                                                 };
  231.                                                
  232.                                                 set_Atributos(columna_descripcion,  col_nombre[3]+'[]', col_nombre[3]+id_control, nombreXML, 20, 0);    //Columna de Descripción
  233.                                                 columna_descripcion.onfocus= function(){ this.blur(); };
  234.                                                
  235.                                                 set_Atributos(columna_umedida, col_nombre[4]+'[]', col_nombre[4]+id_control, umedidaXML,  10, 0);               //Columna de Unidad de Medida
  236.                                                 columna_umedida.onfocus= function(){ this.blur(); };
  237.                                                
  238.                                                 set_Atributos(columna_precio, col_nombre[5]+'[]', col_nombre[5]+id_control, precioXML,  6, 0);  //Columna de Precio
  239.                                                 columna_precio.onfocus= function(){ this.blur(); };
  240.                                                
  241.                                                 set_Atributos(columna_importe, col_nombre[6]+'[]', col_nombre[6]+id_control, 0,  6, 0); //Columna de Importe
  242.                                                 columna_importe.onfocus= function(){ this.blur(); };
  243.                                                
  244.                                                 set_Atributos(btnBorrar,col_nombre[7]+'[]',col_nombre[7]+consecutivo,'Quitar', 6,2);    //Columna del botón Quitar
  245.                                                 btnBorrar.onclick= function(){ remove_fila(tabla, col_nombre[0]+consecutivo); }
  246.                                        
  247.                                                 fila_control.appendChild(crearColumna(columna_clave));          //Clave
  248.                                                 fila_control.appendChild(crearColumna(columna_cantidad));       //Cantidad
  249.                                                 fila_control.appendChild(crearColumna(columna_descripcion));//Descripción
  250.                                                 fila_control.appendChild(crearColumna(columna_umedida));        //Unidad de Medida
  251.                                                 fila_control.appendChild(crearColumna(columna_precio));         //Precio
  252.                                                 fila_control.appendChild(crearColumna(columna_importe));        //Importe
  253.                                                 fila_control.appendChild(crearColumna(btnBorrar));                      //Borrar
  254.                                                
  255.                                                 valores_control.appendChild(fila_control);
  256.  
  257.                                         }
  258.                                                 else{//No existe el Producto
  259.                                                         alert(mensaje);
  260.                                                 }
  261.                                 }//Valida Status
  262.                         }//Valida State
  263.                 }//onreadystatechange
  264.                 var aleatorio=Math.random();
  265.                 ajaxReq.open("GET", "get_producto.php?act=2&producto_clave="+producto_clave+"&rnd="+aleatorio, true);
  266.                 ajaxReq.send(null);
  267.         }//Valida Ajax
  268.         else
  269.                 alert("El Navegador no soporta llamados al objeto XMLHttpRequest");
  270.                
  271.         return;
  272. }
  273.  
  274. //addFila() Agrega los productos del pedido a la tabla TBODY valores_producto, recibe hotkey (false|true) anexo por clave o B. Avanz.
  275. function addFila(hotkey){
  276.         var arr_ = Array();
  277.         var producto;
  278.         arr_= clave_producto;
  279.        
  280.         if(hotkey){
  281.                 producto = document.getElementById('clave_producto').value;
  282.                 if(producto == '' || producto == ' ' || isNaN(producto))
  283.                         return alert('Debe escribir la clave del producto!!');
  284.         }
  285.            else{
  286.                    producto = document.getElementById('resultado').value;
  287.                    }
  288.  
  289.         var existe = false;
  290.         for(var i=0; i < arr_.length; i++){
  291.                 if(producto == arr_[i]){
  292.                         existe = true;
  293.                         break;
  294.                 }
  295.         }
  296.  
  297.         if(existe){
  298.                 alert('El elemento ya fue agregado, por favor ingrese uno diferente');
  299.                 return;
  300.         }
  301.                 else{
  302.                         add_Clave(producto,'producto'); //producto
  303.                         //Busqueda de datos consulta ajax
  304.                         getDatos(producto); //Crea fila de inputs con la información de la BD /*1, */
  305.                 }
  306.                
  307.         return;
  308. }
  309.  
  310. //set_Atributos() Establece los atributos del elemento creado, en este caso input
  311. function set_Atributos(input_pe, nombre, id, valor, tamanio, tipo){
  312.         var tipo_input;
  313.        
  314.         switch(tipo){
  315.                 case 0: tipo_input = 'text';
  316.                         break;
  317.                 case 1: tipo_input = 'hidden';
  318.                         break;
  319.                 case 2: tipo_input = 'button';
  320.                         break;
  321.                 default: alert('La opción no es válida');
  322.                         break;
  323.         }
  324.        
  325.         input_pe.setAttribute('type',tipo_input);
  326.         input_pe.setAttribute('name',nombre);
  327.         input_pe.setAttribute('id',id);
  328.         input_pe.setAttribute('value',valor);
  329.         input_pe.setAttribute('size',tamanio);
  330.  
  331.         return input_pe;
  332. }
  333.  
  334. //crearColumna() Crea una columna para los Inputs recibidos
  335. function crearColumna(elemento){
  336.         var columna = document.createElement("td");
  337.         columna.appendChild(elemento);
  338.         return columna;
  339. }
  340.  
  341. //remove_fila(tabla,  id_elem)
  342. function remove_fila(tabla, id_elem){
  343.         var cadena ='';
  344.         var tipo;
  345.  
  346.         switch(tabla){
  347.                 case 'valores_producto':    cadena = 'Producto';        tipo=0;
  348.                         break;
  349.                 default: alert('La opción no es válida');
  350.                         break;
  351.         }
  352.  
  353.         var valores_ =  document.getElementById(tabla); //tbody
  354.         var val_ = document.getElementById(id_elem);
  355.  
  356.         if(confirm('Desea Quitar este '+cadena+'\nAl presionar Aceptar será eliminado')){
  357.         //busqueda del valor a borrar
  358.                 if (val_.hasChildNodes()){
  359.                         var children = val_.childNodes;
  360.                         for (var i = 0; i < children.length; i++){
  361.                                 if(children[i].nodeType == 1){ //http://developer.mozilla.org/en/docs/DOM:element.nodeType                              //alert(children[i].nodeName);
  362.                                         if(children[i].hasChildNodes()){
  363.                                                 var td = children[i].childNodes;
  364.                                                 for (var j = 0; j < td.length; j++){    //alert(td[j].nodeName);        //Paso por INPUTS
  365.                                                         //alert('nombre: '+td[j].nodeName +'\ntipo: '+td[j].nodeType +'\nvalor: '+td[j].value+'\nid: '+td[j].id+'\nname: '+td[j].name);
  366.                                                         if(tipo == 0){
  367.                                                                 if(td[j].name == 'producto_id[]'){
  368.                                                                         remove_Clave(td[j].value,'producto');//alert('valor a buscar: '+td[j].value);
  369.                                                                 }
  370.                                                         }
  371.                                                 }//Recorrido por lo elementos de la fila (Inputs), tomando solo el valor del campo vehiculo_id o chofer_id
  372.                                         }//Si tiene hijos (columnas) los revisara uno por uno
  373.                                 }//Recorre los items de la fila solo si son de tipo Elemento
  374.                         }//Pasa el ID de la fila como parametro.
  375.                 }//Si tiene hijos entra
  376.         //fin busqueda
  377.  
  378.         valores_.removeChild(val_);
  379.         alert('Se ha borrado el elemento de la Tabla '+cadena);
  380.                                
  381.                 if(tipo == 0){
  382.                         cuenta_producto--;                                      //alert('cuenta producto:'+cuenta_producto);
  383.                 }
  384.                                        
  385.                 corrigeID(tabla);
  386.                
  387.         }
  388.                 else{
  389.                         alert('El elemento '+cadena+' No será borrado');
  390.                         }
  391.  
  392.         return;
  393. }
  394.  
  395. //add_Clave() Agregar la clave del vehiculo, chofer
  396. function add_Clave(clave, nombre_arreglo){
  397.         var i=0;
  398.         switch(nombre_arreglo){
  399.                 case 'producto':  i = clave_producto.length;    clave_producto[i]= clave;       //var arr_= clave_producto; //contenido
  400.                         break;
  401.                 default: alert('La opción no es válida');
  402.                         break;
  403.         }
  404.         return;
  405. }
  406.  
  407. //remove_Clave() Agregar la clave del productos
  408. function remove_Clave(clave, nombre_arreglo){
  409.         var i=0;
  410.         var existe=false;
  411.         var pos;
  412.         switch(nombre_arreglo){
  413.                 case 'producto':  var arr_= clave_producto;
  414.                         break;
  415.                 default: alert('La opción no es válida');
  416.                         break;
  417.         }
  418.  
  419.         var tmp = new Array();
  420.         for(i=0; i < arr_.length; i++){
  421.                 if(arr_[i] == clave){
  422.                         pos = i;
  423.                         existe = true;
  424.                         break;
  425.                 }
  426.         }
  427.  
  428.         if(existe){
  429.                 for(j=0, i=0; j < arr_.length; j++){
  430.                         if(j != pos){
  431.                                 tmp[i++]=arr_[j];
  432.                         }
  433.                 }
  434.                 clave_producto = tmp;
  435.         }
  436.  
  437.         return;
  438. }
  439.  
  440. /* Esta Función cambiará los ID del grupo pasado como parámetro donde 0.- valores_producto
  441.  * Los ID deben quedar en forma secuencial para que las funciones no tengan problemas para acceder a los datos y realizar las operaciones.
  442.  */
  443. //corrige_ID(tabla_valores)
  444. function corrigeID(tabla_valores){
  445.         var valores_ = document.getElementById(tabla_valores);
  446.         var nuevo_id = -1;
  447.         var tipo;
  448.         switch(tabla_valores){
  449.                 case 'valores_producto':  tipo=0;       break;
  450.                 default: alert('La opción no es válida'); break;
  451.         }
  452.  
  453.         if (valores_.hasChildNodes()){
  454.                 var children = valores_.childNodes;
  455.                 for (var i = 0; i < children.length; i++){
  456.                         if(children[i].nodeType == 1){ //http://developer.mozilla.org/en/docs/DOM:element.nodeType                              //alert(children[i].nodeName);
  457.                                 if(children[i].hasChildNodes()){
  458.                                         var tr = children[i].childNodes;
  459.                                         for (var j = 0; j < tr.length; j++){                    //alert(tr[j].nodeName);
  460.                                                 if(tr[j].hasChildNodes()){
  461.                                                         var ele = tr[j].childNodes;
  462.                                                         for (var k = 0; k < ele.length; k++){   //alert('nombre: '+ele[k].nodeName +'\ntipo: '+ele[k].nodeType +'\nvalor: '+ele[k].value+'\nid: '+ele[k].id+'\nname: '+ele[k].name);                                                           
  463.                                                                 if(ele[k].nodeType == 1){                       //alert(nuevo_id);
  464.                                                                         if(tipo == 0){
  465.                                                                                 if(ele[k].name == 'producto_id[]')
  466.                                                                                         ele[k].id =     'producto_id'+nuevo_id;
  467.                                                                                 if(ele[k].name == 'cantidad[]')
  468.                                                                                         ele[k].id = 'cantidad'+nuevo_id;
  469.                                                                                 if(ele[k].name == 'descripcion[]')
  470.                                                                                         ele[k].id = 'descripcion'+nuevo_id;
  471.                                                                                 if(ele[k].name == 'umedida[]')
  472.                                                                                         ele[k].id = 'umedida'+nuevo_id;
  473.                                                                                 if(ele[k].name == 'precio[]')
  474.                                                                                         ele[k].id = 'precio'+nuevo_id;
  475.                                                                                 if(ele[k].name == 'importe[]')                                                                                 
  476.                                                                                         ele[k].id = 'importe'+nuevo_id;
  477.                                                                         }
  478.                                                                 }//Cambio de IDs
  479.                                                         }//Recorrido de elementos Input
  480.                                                 }//Evalua si tiene hijos
  481.                                         }//Recorrido de elementos TD
  482.                                         nuevo_id++;
  483.                                 }//Evalua si tiene hijos
  484.                         }//Evalua si el nodo es de tipo elemento
  485.                 }//Recorrido de los hijos de valores_pe, valores_caseta, valores_vehiculo, valores_chofer
  486.                 //Se corrije el contador variable global
  487.                 if(tipo == 0)
  488.                         cuenta = nuevo_id;
  489.         }//Evalua si tiene hijos el Nodo
  490.  
  491.         return true;
  492. }
  493.  
  494. //calculaImporte(id_cantidad) recibe el ID del campo cantidad y a partir de este obtiene el precio (multiplica) y lo fija en importe
  495. function calculaImporte(id_cantidad){
  496.         var tam = id_cantidad.charAt(id_cantidad.length-1);
  497.         var cantidad = document.getElementById(id_cantidad);
  498.         var precio = document.getElementById('precio'+tam);
  499.         var importe = document.getElementById('importe'+tam);
  500.        
  501.         importe.value = precio.value * cantidad.value;
  502.        
  503.         return;
  504. }
  505.  
  506. //function validar_llenado() Comprueba que los importes sean mayor a cero y devuelve TRUE. Si no es asi envia un mensaje de error y devuelve FALSE
  507. function validar_llenado(){
  508.         var i, importe;
  509.         if(cuenta_producto > 0){
  510.                 for(i=0; i < cuenta_producto; i++){
  511.                         importe = document.getElementById('importe'+i);
  512.                         if(importe.value == 0){
  513.                                 alert('Debe escribir una cantidad para los productos');
  514.                                 return false;
  515.                         }
  516.                 }
  517.         }
  518.                 else{
  519.                         alert('Debe agregar productos a su pedido antes de guardar\nSi no desea guardar presione Cancelar');
  520.                         return false;
  521.                 }
  522.        
  523.         return true;
  524. }