//xmlhttp.js

//Función para crear un objeto XML-http
function getxmlhttp (){
	//Crear una varialbe de ool para comprobar si se utiliza una instancia válida de ActiveX Microsoft.
	var xmlhttp = false;
	
	//Comprobar si se está utilizando Internet Explorer.
	try {
		//Si la versión de javascript es superior a la 5.
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		//En caso contrario, utilizar el tradicional objeto ActiveX.
		try {
			//Si se está utilizando Internet Explorer.
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			//En caso contrarios, no se está utilizando Internet Explorer.
			xmlhttp = false;
		}
	}
	
	//Si no se está usando Internet Explorer, crear una instancia javascript del objeto.
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		xmlhttp = new XMLHttpRequest();
	}
	
	return xmlhttp;
}

//Función para procesar una petición XMLHttpRequest.
function processajax (serverPage, obj, getOrPost, str) {
	//Obtener el objeto XMLHttpRequest a utilizar.
	xmlhttp = getxmlhttp();
	if (getOrPost == "get") {
		xmlhttp.open("GET", serverPage);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				if (xmlhttp.responseText != "" && xmlhttp.responseText.substring(0,9) != "redirect:") {
					obj.innerHTML = xmlhttp.responseText;
				} else if (xmlhttp.responseText.substring(0, 9) == "redirect:" && xmlhttp.responseText != "") {  
					window.location = xmlhttp.responseText.substr(9);
				}	
			}
		}
		xmlhttp.send(null);
	} else {
		xmlhttp.open("POST", serverPage, true);
		xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				if (xmlhttp.responseText != "" && xmlhttp.responseText.substring(0,9) != "redirect:") {
					obj.innerHTML = xmlhttp.responseText;
				} else if (xmlhttp.responseText.substring(0, 9) == "redirect:" && xmlhttp.responseText != "") {  
					window.location = xmlhttp.responseText.substr(9);
				}
			}
		}
		xmlhttp.send(str);
	}
}

function eliminarElemento(tabla, id) {
	var mensaje = "¿Está seguro de que desea eliminar este elemento?";
	
	if(confirm(mensaje)) {
		cargarContenido("includes/eliminarElemento.php?tabla="+tabla+"&id="+id, "content"); 
	}
	
	return false;
}

function eliminarElementoFormulario(tabla, subcategoria, id) {
	var mensaje = "¿Está seguro de que desea eliminar este elemento?";
	
	if(confirm(mensaje)) {
		cargarContenido("includes/crearFormularios.php?opcion=eliminar&tabla="+tabla+"&subcategoria="+subcategoria+"&id_campo="+id, "content");
	}
	
	return false;
}

function eliminarElementoOpcionesFormulario(subcategoria, registro_formulario_id, id) {
	var mensaje = "¿Está seguro de que desea eliminar este elemento?";
	
	if(confirm(mensaje)) {
		cargarContenido("includes/crearOpcionesFormularios.php?opcion=eliminar&subcategoria="+subcategoria+"&registro_formulario_id="+registro_formulario_id+"&id="+id, "content");
	}
	
	return false;
}

function cargarContenido(serverPage, objID, spinner) {
	var obj = document.getElementById(objID);
	var xmlhttp = getxmlhttp();
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		// Mostrar el mensaje de carga
		// setStatus("Cargando...", objID);
		if(spinner == true)
			setLoadingStatusSpinner(objID);
		else
			setLoadingStatus(objID);
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			obj.innerHTML = xmlhttp.responseText;
		}
	}
	xmlhttp.send(null);
}
