/* Create a new XMLHttpRequest object to talk to the Web server */
/* Create a new XMLHttpRequest object to talk to the Web server */
var xmlHttp = false;
var envio = false;
var factor = 1;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
  try {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (e2) {
    xmlHttp = false;
  }
}
@end @*/
if (!xmlHttp && typeof XMLHttpRequest != "undefined") {
    xmlHttp = new XMLHttpRequest();
}
var Ancho = 0;
var Alto = 0;
var realizandoPeticion = false;
var AjaxPeticion = "";
/* Para ver que petici?n se ha pedido en la p?gina
para que la funcion updatePage, la distinga */
function nuevaAjaxPeticion(url, peticion) {
 // BPM ->los acentos los tenemos que colocar en unicode para que los muestre correctamente.
    if(realizandoPeticion) {
	estableceMensaje(AjaxPeticion);
	alert('Se est\u00E1 realizando la petici\xf3n anterior: ' + estableceMensaje(AjaxPeticion) + '.\nPara realizar una petici\xf3n debe esperar a que termine la anterior. \nGracias');
    }else {
//    alert('se hace la petici?n a: '+url);
//    alert('peticion '+peticion);
        showLayer("CargaMapa");
        realizandoPeticion = true;
        AjaxPeticion = peticion;
	 // Open a connection to the server
        xmlHttp.open("GET", url, true);
	
	  // Setup a function for the server to run when it's done
        xmlHttp.onreadystatechange = updatePage;
	 
	  // Send the request
        xmlHttp.send("");
//	Modificado por JJBP para recibir las N peticiones
	//  realizandoPeticion=false;
    }
}

//IMH
function AjaxPeticionSimple(url) {
	// Open a connection to the server
	xmlHttp.open("GET", url, true);
	// Setup a function for the server to run when it's done
	//xmlHttp.onreadystatechange = updatePage;
	// Send the request
	xmlHttp.send("");
}

//ajandrade
function nuevaAjaxPeticionCombo(url, peticion) {
 // BPM ->los acentos los tenemos que colocar en unicode para que los muestre correctamente.
    if (realizandoPeticion) {
		alert('Se est\u00E1 realizando la petici\xf3n anterior: ' + estableceMensaje(AjaxPeticion)+ '.\nPara realizar una petici\xf3n debe esperar a que termine la anterior. \nGracias');
    } else {
        try {
            realizandoPeticion = true;
            AjaxPeticion = peticion;
	  // Open a connection to the server
            xmlHttp.open("GET", url, true);
	
	  // Setup a function for the server to run when it's done
            xmlHttp.onreadystatechange = updatePage;
	 
	  // Send the request
            xmlHttp.send("");
//	Modificado por JJBP para recibir las N peticiones
            realizandoPeticion = false;
        }
        catch (e) {
            alert("Error al cargar los nombres");
            realizandoPeticion = false;
        }
    }
}
function updatePage() {
    try {
        if (xmlHttp.readyState == 4) {
            if (xmlHttp.status == 200) {
                if (evaluaPeticion()) {
                    recogeNombres(xmlHttp);
			}
				/*  IMH
                } else {
                    if (AjaxPeticion == "ZOOM_MAS" || AjaxPeticion == "ZOOM_MENOS" || AjaxPeticion == "ZOOM_CAJA" || AjaxPeticion == "PAN") {
                        actualizarMapa(xmlHttp.responseText);
                    } else {
                        if (AjaxPeticion == "ULTIMO_ZOOM") {
                            actualizarMapa(xmlHttp.responseText);
                        } else {
                            if (AjaxPeticion == "EXTENSION_TOTAL") {
                                actualizarMapa(xmlHttp.responseText);
                            } else {
                                if (AjaxPeticion == "LEYENDA") {
                                    leyendaMapa(xmlHttp.responseText);
                                } else {
                                    if (AjaxPeticion == "IMAGEN_MAPA") {
                                        actualizarMapa(xmlHttp.responseText);
                                    } else {
                                        if (AjaxPeticion == "Identify_Espacio") {
                                            identifyMapaEspacio(xmlHttp.responseText);
                                        } else {
                                            if (AjaxPeticion == "Identify_Equipamiento") {
                                                identifyMapaEquipamiento(xmlHttp.responseText);
                                            } else {
                                                if (AjaxPeticion == "MAPA_EQUIPAMIENTO") {
                                                    actualizarMapaEquip(xmlHttp.responseText);
                                                } else {
                                                    if (AjaxPeticion == "ACTUALIZA_CAPAS") {
                                                        actualizarMapa(xmlHttp.responseText);
                                                    } else {
                                                        if (AjaxPeticion == "SELDISTANCIAESPACIO" || AjaxPeticion == "SELDISTANCIAEQUIPAMIENTO") {
                                                            actualizarMapa(xmlHttp.responseText);
                                                        } else {
                                                            if (AjaxPeticion == "ESCALA_MAPA") {
                                                                actualizarMapa(xmlHttp.responseText);
                                                            } else {
                                                                moverMapa();
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                hideLayer("CargaMapa");
				*/
                realizandoPeticion = false;
            } else {
	            /* IMH
	            alert('Error del Servidor de Mapas, vuelva a intentarlo');
                hideLayer("CargaMapa");
                */
                realizandoPeticion = false;
                realizando = false;
            }
        }
        return false;
    }
    catch (e) {
	    /* IMH
	    alert('Error del Servidor de Mapas, vuelva a intentarlo:');
        hideLayer("CargaMapa");
        */
        realizandoPeticion = false;
        realizando = false;
        return false;
    }
    return false;
}

// evalua si la condicion es recarga nombres o no (en cualquiera de los idiomas)
function evaluaPeticion(){
  if (AjaxPeticion == 'Recarga nombres'){
   		return true;
   }else{
   		return false;
   }
}
function estableceMensaje(AjaxPeticion){
	var mensaje = "";
	
	// Definimos los mensajes a mostrar
	var ACCION_ZOOM_MAS_MENSAJE = "Ampliar zoom";
	var ACCION_ZOOM_MENOS_MENSAJE = "Reducir zoom";
	var ACCION_PAN_MENSAJE = "Mover mapa";
	var ACCION_IDENTIFY_ESPACIO_MENSAJE = "";
	var ACCION_IDENTIFY_EQUIPAMIENTO_MENSAJE = "";
	var ACCION_SELECCION_MENSAJE = "Selecci?n";
	var ACCION_EXT_TOTAL_MENSAJE = "";
	var ACCION_SEL_FIG_PROTEC_MENSAJE = "";
	var ACCION_SEL_USO_PUB_MENSAJE = "";
	var ACCION_LEYENDA_MENSAJE = "Leyenda del mapa";
	var ACCION_ZOOM_CAJA_MENSAJE = "Zoom en caja";
	var ACCION_ULTIMO_ZOOM_MENSAJE = "Vuelta al \00faltimo zoom";
	var ACCION_IMAGEN_MAPA_MENSAJE = "";
	var ACCION_MAPA_EQUIPAMIENTO_MENSAJE = "";
	var ACCION_ACTUALIZACAPAS_MENSAJE = "Actualizaci\xf3n de capas del mapa";
	var ACCION_SELDISTANCIAESPACIO_MENSAJE = "Selecci\xf3n de distancia";
	var ACCION_SELDISTANCIAEQUIPAMIENTO_MENSAJE = "Selecci\xf3n de distancia";
	var ACCION_ESCALA_MENSAJE = "Actualizando a escala";
	var ACCION_ULTIMO_ZOOM = "vuelta al zoom anterior";
	var MENSAJE_GENERAL = AjaxPeticion;
	
	if(AjaxPeticion == 'Identify_Espacio'){
		mensaje = ACCION_IDENTIFY_ESPACIO_MENSAJE;
	}else if(AjaxPeticion == 'Identify_Equipamiento'){
		mensaje = ACCION_IDENTIFY_EQUIPAMIENTO_MENSAJE;
	}else if(AjaxPeticion == 'PAN'){
		mensaje = ACCION_PAN_MENSAJE;
	}else if(AjaxPeticion == 'ZOOM_CAJA'){
		mensaje = ACCION_ZOOM_CAJA_MENSAJE;
	}else if(AjaxPeticion == 'ZOOM_MAS'){
		mensaje = ACCION_ZOOM_MAS_MENSAJE;
	}else if(AjaxPeticion == 'ZOOM_MENOS'){
		mensaje = ACCION_ZOOM_MENOS_MENSAJE;
	}else if(AjaxPeticion == 'SELDISTANCIAESPACIO'){
		mensaje = ACCION_SELDISTANCIAESPACIO_MENSAJE;
	}else if(AjaxPeticion == 'SELDISTANCIAEQUIPAMIENTO'){
		mensaje = ACCION_SELDISTANCIAEQUIPAMIENTO_MENSAJE;
	}else if (AjaxPeticion == 'ESCALA_MAPA'){
		mensaje = ACCION_ESCALA_MENSAJE;
	}else if(AjaxPeticion == 'ULTIMO_ZOOM'){
		mensaje = ACCION_ULTIMO_ZOOM;
	}else if( AjaxPeticion == 'ACTUALIZA_CAPAS'){
		mensaje = ACCION_ACTUALIZACAPAS_MENSAJE;
	}else{
		mensaje = MENSAJE_GENERAL;
	}
	return mensaje;
}
