
    function crear_elemento(nombre,atributos)
    {
        if ((document.all && navigator.appName.indexOf("Microsoft") >= 0) || nombre=="object") {
            var str = " ";
            if (atributos!="") {
                var arr = atributos.split(";");
                for (var i=0;i < arr.length;i++) {
                    if ((pos = arr[i].indexOf('='))>=0) {
                        var arr2 = arr[i].split("=");
                        if (arr2.length==2) str += arr2[0]+"="+"'"+arr2[1]+"' ";
                        else str += arr2[0]+"="+"'"+arr[i].substring(pos+1,arr[i].length)+"' ";
                    }//if
                }//for
            }//if
            var elemento = document.createElement("<"+nombre+str+">");
        } else {
            var elemento = document.createElement(nombre);
            if (atributos!="") {
                var arr = atributos.split(";");
                for (var i=0;i < arr.length;i++) {
                    if ((pos = arr[i].indexOf('='))>=0) {
                        var arr2 = arr[i].split("=");
                        if (arr2.length==2) elemento.setAttribute(arr2[0],arr2[1]);
                        else elemento.setAttribute(arr2[0],arr[i].substring(pos+1,arr[i].length));
                    }
                }//for
            }//if
        }//else
        return elemento;
    }//crear_elemento


    function get_request()
    {
        var req = null;
        if (window.XMLHttpRequest) {
            req = new XMLHttpRequest();
            if (req.overrideMimeType) {
                req.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) {
            try {
                req = new ActiveXObject("Msxml2.XMLHTTP");
            } catch(e){
                try {
                    req = new ActiveXObject("Microsoft.XMLHTTP");
                } catch(e) {}
            }
        }//if
        return req;
    }//get_request

    var intervalo = 0;
    var numIteraciones = 0;

    function validar_email_contacto(form)
    {
        var enviar = true;
        var men = "";
        var regexp = new RegExp("^[^@]+@[^@]+\.[^@]+$","gi");

        if (form.nombre.value == "") {
            men += campo_nombre + "\n";
            enviar = false;
        }//if

        if (form.email.value != "" && (!regexp.test(form.email.value) || form.email.value.length > 60)) {
            men += campo_email + "\n";
            enviar = false;
        }

        if (form.departamento.value == "0") {
            men += campo_departamento + "\n";
            enviar = false;
        }//if

        if (enviar) validar_ajax_contacto();
        else alert(men);
    }//validar_email_contacto

    function validar_ajax_contacto()
    {
        var form = document.getElementById("formul_contacto");
        var req = null;

        req = get_request();

        if (!req) {
            alert(correo_no + " (1)");
            return false;
        }

        req.onreadystatechange = function() {
            recoger_ok_contacto(req);
        };

        req.open('POST',form.action,true);
        req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        var param = "nombre=" + escape(form.nombre.value) + "&email=" + escape(form.email.value) + "&empresa=" + escape(form.empresa.value) + "&direccion=" + escape(form.direccion.value) + "&telefono=" + escape(form.telefono.value) + "&comentario=" + escape(form.comentario.value) + "&departamento=" + escape(form.departamento.value);
        req.send(param);
        borrarMensajeEspera("mensaje_acceso");
        intervalo = setInterval("mensajeEspera('mensaje_acceso','Enviando Correo')",300);
    }//validar_ajax_contacto

    function recoger_ok_contacto(req)
    {
        var men = "";
        try {
            if (req.readyState == 4) {
                if (req.status == 200) {
                    //alert(req.responseText);
                    switch (req.responseText) {
                        case "<p>codigo=1</p>":
                            men = correo_si;
                        break;
                        case "<p>codigo=2</p>":
                            men = "No se pudo enviar el correo";
                        break;
                        case "<p>codigo=3</p>":
                            men = "Los parámetros no son correctos.";
                        break;
                        default:
                            men = correo_no + " (2)";
                    }
                    borrarMensajeEspera("mensaje_acceso");
                    alert(men);
                } else {
                    borrarMensajeEspera("mensaje_acceso");
                    alert(correo_no + " (3)");
                }
            }
        } catch (e) {
            borrarMensajeEspera("mensaje_acceso");
        }
    }//recoger_ok_contacto


    function mensajeEspera(id, mensaje)
    {
        var capa = document.getElementById(id);
        if (capa != null) {
            var puntos = "...";
            capa.innerHTML = "<i>" + mensaje + puntos.substring(0,numIteraciones % puntos.length + 1) + "</i>";
            numIteraciones++;
        }
    }//mensajeEspera

    function borrarMensajeEspera(id)
    {
        if (intervalo > 0){
            numIteraciones = 0;
            clearInterval(intervalo);
            var capa = document.getElementById(id);
            if (capa != null) {
                capa.innerHTML = "";
            }
        }
    }//borrarMensajeEspera