 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_baja(form){
	var men = "";
    var enviar = true;

	if ((form.user.value== "") || (form.pass.value== "")){
	   men = alert_todos;
	   enviar = false;
	} 

	if(enviar) {
		if(form.pag_destino.value!="") form.action = form.pag_destino.value;
		validar_ajax_baja(form);
		return false;		
	}
    else {
		alert(men);        
		return false;
    }    
}//validar_baja

 function validar_olvido(form){
	var men = "";
    var enviar = true;

	if ((form.user_olv.value== "")){
	   men = alert_usuario;
	   enviar = false;
	}  
		
    if (enviar) {
		if(form.pag_destino.value!="") form.action = form.pag_destino.value;
		validar_ajax_olvido(form);
		return false;		
	}
     else {
		alert(men);        
		return false;
    }
    //return false;
}//validar_baja

function validar_motivos(form){
	var men = "";
    var enviar = true;

	if ((form.motivos.value== "")){
	   men = alert_motivos;
	   enviar = false;
	}  
	
	if (enviar) {
		if(form.pag_destino.value!="") form.action = form.pag_destino.value;
		validar_ajax_motivos(form);
		return false;		
	}
     else {
		alert(men);        
		return false;
    }

    /*if (enviar) validar_ajax_motivos(form);
    else alert(men);*/
}//validar_baja

function validar_ajax_baja(form)
	{
        var req = null;

        req = get_request();		

        if (!req) {
            alert(alert_no_baja);
            return false;
        }

        req.onreadystatechange = function() {
            recoger_ok_baja(req);
        };
        req.open('POST',form.action,true);
        req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        var param = "user=" + escape(form.user.value)+ "&pass=" + escape(form.pass.value);
        borrarMensajeEspera("mensaje_baja");
        req.send(param);
        intervalo = setInterval("mensajeEspera('mensaje_baja',men_baja)",300);
	}//validar_ajax_baja

function validar_ajax_olvido(form)
	{
        var req = null;

        req = get_request();		

        if (!req) {
            alert(alert_no_envio);
            return false;
        }

        req.onreadystatechange = function() {
            recoger_ok_olvido(req);
        };
        req.open('POST',form.action,true);
        req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        var param = "user=" + escape(form.user_olv.value);
        borrarMensajeEspera("mensaje_baja");
        req.send(param);
        intervalo = setInterval("mensajeEspera('mensaje_baja',men_baja)",300);
	}//validar_ajax_olvido

function validar_ajax_motivos(form)
	{
        var req = null;

        req = get_request();		

        if (!req) {
            alert(alert_no_envio);
            return false;
        }

        req.onreadystatechange = function() {
            recoger_ok_motivos(req);
        };
        req.open('POST',form.action,true);
        req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        var param = "motivos=" + escape(form.motivos.value);
        borrarMensajeEspera("mensaje_baja");
        req.send(param);
        intervalo = setInterval("mensajeEspera('mensaje_baja',men_baja)",300);
	}//validar_ajax_baja

function recoger_ok_baja(req)
    {
        var men = "";
        try {			
            if (req.readyState == 4) {		
                if (req.status == 200) {	
                    borrarMensajeEspera("mensaje_baja");
                    var xmlDoc = req.responseXML.documentElement;
                    var nodoError = xmlDoc.getElementsByTagName('Error')[0];						
                    if (nodoError && nodoError.hasChildNodes()) {
                        var numeroError = nodoError.firstChild.nodeValue;
                        switch (numeroError) {
                            case "1":
                                men = alert_no_param;
                            break;
                            case "2":
                                men = alert_no_baja;
                            break;
                            case "3":
                                men = alert_no_existe;
                            break;
                        }
                        alert(men);                       
                    } else {
						window.location.href="boletin-confirm-baja.php";
                        //alert("Usuario/a insertado correctamente.");                       
                    }
                    borrarMensajeEspera("mensaje_baja");                    
                } else {
                    alert(alert_no_baja);
                    borrarMensajeEspera("mensaje_baja");                   
                }
            }
        } catch (e) {
            borrarMensajeEspera("mensaje_baja");
            alert(alert_no_baja + e);            
        }
    }//recoger_ok_baja

function recoger_ok_olvido(req)
    {
        var men = "";
        try {			
            if (req.readyState == 4) {		
                if (req.status == 200) {	
                    borrarMensajeEspera("mensaje_baja");
                    var xmlDoc = req.responseXML.documentElement;
                    var nodoError = xmlDoc.getElementsByTagName('Error')[0];	
					/*var nodoSql = xmlDoc.getElementsByTagName('Sql')[0];
					alert(nodoSql.firstChild.nodeValue);*/
                    if (nodoError && nodoError.hasChildNodes()) {
                        var numeroError = nodoError.firstChild.nodeValue;
                        switch (numeroError) {
                            case "1":
                                men = alert_no_param;
                            break;
                            case "2":
                                men = alert_no_clave;
                            break;
                            case "3":
                                men = alert_no_clave_existe;
                            break;
                        }
                        alert(men);                       
                    } else {
						window.location.href="boletin-confirm-envio.php";
                        /*alert("Clave enviada.");                       */
                    }
                    borrarMensajeEspera("mensaje_baja");                    
                } else {
                    alert(alert_no_clave);
                    borrarMensajeEspera("mensaje_baja");                   
                }
            }
        } catch (e) {
            borrarMensajeEspera("mensaje_baja");
            alert(alert_no_clave + e);            
        }
    }//recoger_ok_olvido

function recoger_ok_motivos(req)
    {
        var men = "";
        try {			
            if (req.readyState == 4) {		
                if (req.status == 200) {	
                    borrarMensajeEspera("mensaje_baja");
                    var xmlDoc = req.responseXML.documentElement;
                    var nodoError = xmlDoc.getElementsByTagName('Error')[0];							
                    if (nodoError && nodoError.hasChildNodes()) {						
                        var numeroError = nodoError.firstChild.nodeValue;
                        switch (numeroError) {
                            case "1":
                                men = alert_no_param;
                            break;
                            case "2":
                                men = alert_no_envio;
                            break;                        
                        }
                        alert(men);                       
                    } else {
						window.location.href="boletin-envio-motivos.php";
                    }
                    borrarMensajeEspera("mensaje_baja");                    
                } else {
                    alert(alert_no_envio);
                    borrarMensajeEspera("mensaje_baja");                   
                }
            }
        } catch (e) {
            borrarMensajeEspera("mensaje_baja");
            alert(alert_no_envio + e);            
        }
    }//recoger_ok_motivos


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
