function creaAjax(){
//-------------------------------------------------------------------------------
var objetoAjax=false;
try {
/*Para navegadores distintos a internet explorer*/
objetoAjax = new XMLHttpRequest();;
} catch (e) {
try {
/*Para explorer*/
objetoAjax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E) {
objetoAjax = false;
}
}
if (!objetoAjax && typeof XMLHttpRequest!='undefined') {
objetoAjax = new XMLHttpRequest();
}
return objetoAjax;
}
/***********************************************************************************/
/* Funcion FAjax */
/***********************************************************************************/
function FAjax (url,capa,valores,metodo){
var ajax=creaAjax();
var capaContenedora = document.getElementById(capa);
capaContenedora.innerHTML="

";
//capaContenedora.innerHTML="Cargando......";
/*Creamos y ejecutamos la instancia si el metodo elegido es POST*/
if(metodo.toUpperCase()=='POST'){
ajax.open ('POST', url, true);
ajax.onreadystatechange = function() {
if (ajax.readyState==1) { //Petición en carga
capaContenedora.innerHTML="Cargando......";
}
else if (ajax.readyState==4){ //Petición completada
if(ajax.status==200){
capaContenedora .innerHTML=ajax.responseText;
}
else if(ajax.status==404){
capaContenedora.innerHTML = "La direccion no existe" + url;
}
else{
capaContenedora.innerHTML = "Error: "+ ajax.status + ajax.responseText;
}
}
}
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send(valores);
return;
}
/*Creamos y ejecutamos la instancia si el metodo elegido es GET*/
if (metodo.toUpperCase()=='GET'){
ajax.open ('GET', url, true);
ajax.onreadystatechange = function() {
if (ajax.readyState==1) {
capaContenedora.innerHTML="Cargando.......";
}
else if (ajax.readyState==4){
if(ajax.status==200){
var vxml = ajax.responseXML.documentElement;
//Accedemos al xml recibido
//for (i = 0; i < vxml.getElementsByTagName('mensaje').length; i++){
var item = vxml.getElementsByTagName('mensaje')[1];
var txt = item.getElementsByTagName('texto')[0].firstChild.data; //también se puede escribir así
capaContenedora.style.visibility="visible";
capaContenedora.innerHTML=txt;
//}
}
else if(ajax.status==404)
{
capaContenedora.innerHTML = "La direccion no existe" + url;
}
else
{
capaContenedora.innerHTML = "Error: ".ajax.status + ajax.responseText;
}
}
}
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send(null);
return
}
}
/***********************************************************************************/
/* Funcion FAjax Madre */
/***********************************************************************************/
function FAjaxMadre (url,capa,valores,metodo){
var ajax=creaAjax();
var capaContenedora = window.opener.document.getElementById(capa);
/*Creamos y ejecutamos la instancia si el metodo elegido es POST*/
if(metodo.toUpperCase()=='POST'){
ajax.open ('POST', url, true);
ajax.onreadystatechange = function() {
if (ajax.readyState==1) { //Petición en carga
capaContenedora.innerHTML="Cargando.......";
}
else if (ajax.readyState==4){ //Petición completada
if(ajax.status==200)
{
window.opener.document.getElementById(capa).innerHTML=ajax.responseText;
}
else if(ajax.status==404)
{
capaContenedora.innerHTML = "La direccion no existe" + url;
}
else
{
capaContenedora.innerHTML = "Error: "+ajax.status + ajax.responseText;
}
}
}
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send(valores);
return;
}
/*Creamos y ejecutamos la instancia si el metodo elegido es GET*/
if (metodo.toUpperCase()=='GET'){
ajax.open ('GET', url, true);
ajax.onreadystatechange = function() {
if (ajax.readyState==1) {
capaContenedora.innerHTML="Cargando.......";
}
else if (ajax.readyState==4){
if(ajax.status==200){
var vxml = ajax.responseXML.documentElement;
//Accedemos al xml recibido
//for (i = 0; i < vxml.getElementsByTagName('mensaje').length; i++){
var item = vxml.getElementsByTagName('mensaje')[1];
var txt = item.getElementsByTagName('texto')[0].firstChild.data; //también se puede escribir así
capaContenedora.style.visibility="visible";
capaContenedora.innerHTML=txt;
//}
}
else if(ajax.status==404)
{
capaContenedora.innerHTML = "La direccion no existe" + url;
}
else
{
capaContenedora.innerHTML = "Error: ".ajax.status + ajax.responseText;
}
}
}
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send(null);
return
}
}
/****************************************************************************************/
/* Funcion FSetAjax */
/****************************************************************************************/
/* Esta funcion pone el resultado de la peticion Ajax en el atributo Value del Control */
/* que se le pasa por referencia. */
/****************************************************************************************/
function FSetAjax (url,control,valores,metodo){
var ajax=creaAjax();
var capaContenedora = document.getElementById(control);
/*Creamos y ejecutamos la instancia si el metodo elegido es POST*/
if(metodo.toUpperCase()=='POST'){
ajax.open ('POST', url, true);
ajax.onreadystatechange = function() {
if (ajax.readyState==1) { //Petición en carga
capaContenedora.value="Cargando......";
}
else if (ajax.readyState==4){ //Petición completada
if(ajax.status==200)
{
document.getElementById(control).value=ajax.responseText;
}
else if(ajax.status==404)
{
capaContenedora.value = "La direccion no existe" + url;
}
else
{
capaContenedora.value = "Error: "+ ajax.status + ajax.responseText;
}
}
}
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send(valores);
return;
}
/*Creamos y ejecutamos la instancia si el metodo elegido es GET*/
if (metodo.toUpperCase()=='GET'){
ajax.open ('GET', url, true);
ajax.onreadystatechange = function() {
if (ajax.readyState==1) {
capaContenedora.value="Cargando.......";
}
else if (ajax.readyState==4){
if(ajax.status==200){
var vxml = ajax.responseXML.documentElement;
//Accedemos al xml recibido
//for (i = 0; i < vxml.getElementsByTagName('mensaje').length; i++){
var item = vxml.getElementsByTagName('mensaje')[1];
var txt = item.getElementsByTagName('texto')[0].firstChild.data; //también se puede escribir así
//capaContenedora.style.visibility="visible";
capaContenedora.value=txt;
//}
}
else if(ajax.status==404)
{
capaContenedora.value = "La direccion no existe" + url;
}
else
{
capaContenedora.value = "Error: ".ajax.status + ajax.responseText;
}
}
}
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send(null);
return
}
}