    function chequear_datos(formu){
        /* Comprobamos que los campos obligatorios estén rellenos */
        
        for(var i=0; i<formu.length; i++){
            
            if(formu.elements[i].tagName == "SELECT" && formu.elements[i].title != ""){
                if(formu.elements[i].title.substring(0,1) == "*"){
                
                    if(! control_elemento(formu.elements[i].name, "-1",  formu.elements[i].title)){
                        return false;
                    }
                    
                }
                
            }else if((formu.elements[i].type == "text" || formu.elements[i].tagName == "TEXTAREA") && formu.elements[i].title != ""){
                if(formu.elements[i].title.substring(0,1) == "*"){

                    if(! control_elemento(formu.elements[i].name, "",  formu.elements[i].title)){
                        return false;
                    }
                    
               	    if(formu.elements[i].id.toLowerCase() == "email"){
               	        if (! validar_correo (formu.elements[i].value)){
		                    alert (formu.elements[i].title);
		                    formu.elements[i].focus();
		                    return false;
	                    }
                    }                

                }   
            }
        }
        
        return true;
    }

    function enviar_datos_formulario(formu){

        crea_mensaje_aviso(300, 450, 350, 30, "Enviando datos, espere por favor ...", 1, 1, 0);

        var valores = fn_obtener_valores_formulario(formu);
        
        //formu.submit();
        //return;
        
        conexion_gestionar_datos_POST_generico(formu.action, valores, resultado_envio_formulario);
        
        var ocultos = document.getElementsByTagName("INPUT");
        
        /* Eliminamos los inputs ocultos con el texto de los selects seleccionados */
        for(var i=0; i<ocultos.length;){
            if(ocultos[i].type == "hidden" && ocultos[i].title != "bloqueado"){
                ocultos[i].parentNode.removeChild(ocultos[i]);
            }else{
               i++;
            }
        }
        
    }
    
    function resultado_envio_formulario(error, resultado){

        habilitar_contexto(true);

        if(error == 0){
            crea_mensaje_aviso(300, 450, 350, "auto", resultado, 1, 2, 1);
            
            resetear_datos();
        }else{
            crea_mensaje_aviso(300, 450, 350, 100, resultado, 1, 2, 1);
        }
        
    }
    
    function resetear_datos(){

        var formu = document.getElementById("frm_formulario");
        
        if(formu){
            for(var i=0; i<formu.length; i++){
                
                if(formu.elements[i].tagName == "SELECT"){
                    formu.elements[i].value = "-1";
                }else if((formu.elements[i].tagName == "INPUT" && 
                          formu.elements[i].type == "text") || 
                          formu.elements[i].tagName == "TEXTAREA"){
                    formu.elements[i].value = "";
                }else if((formu.elements[i].tagName == "INPUT") && 
                          (formu.elements[i].type == "checkbox" ||
                          formu.elements[i].type == "radio")){
                    formu.elements[i].checked = false;  
                }                        
            }
       }     
    }

    function crear_datos_ocultos(formu){
        for(var i=0; i<formu.length; i++){
            if(formu.elements[i].tagName == "SELECT"){
                if(formu.elements[i].length > 0){
                    if(formu.elements[i].value != "-1" && formu.elements[i].value != ""){
                        var nombre = formu.elements[i].id.substring(3, 20);
                        
                        var caja = crearInput("txt" + nombre, formu.elements[i][formu.elements[i].selectedIndex].text, "hidden");
                        formu.appendChild(caja);
                    }
                }
            }
        }
    }

