function sendQuery(page, contentToUpdate, parametersString, attributesPrefix) {
	var processedParameters = "";
	if (parametersString != null && parametersString != "") {
		var parameters = parametersString.split(",");
		for (var i = 0; i < parameters.length; i++) {
			var element = document.getElementById(attributesPrefix + parameters[i]);
			if (element.type == "radio") {
				processedParameters += (i > 0 ? "&" : "") + parameters[i] + "=" + element.checked;
			} else if (element.type == "checkbox") {
				processedParameters += (i > 0 ? "&" : "") + parameters[i] + "=" + element.checked;
			} else if (element.type == "select-multiple") {
				for (var j = 0; j < element.options.length; j++) {
					if (element.options[j].selected) {
						processedParameters += (i > 0 ? "&" : "") + parameters[i] + "=" + encodeURIComponent(element.options[j].value);
					}
				}
			} else {
				processedParameters += (i > 0 ? "&" : "") + parameters[i] + "=" + encodeURIComponent(element.value);
			}
		}
	}
	if (validate()) {
		updateContent(page, 'post', contentToUpdate, processedParameters);
	}
}

function updateContent(page, method, contentToUpdate, parameters) {
	var options = createOptions(method, parameters);
	updateContentWithOptions(page, contentToUpdate, options);
}

function updateContentWithOptions(page, contentToUpdate, options) {
	var canUpdate = false;

	//options.onComplete = hideLoadingDiv;

	//--- Verifico si puedo llamar con ajax ---
	try {
		canUpdate = (Ajax != undefined) && (Ajax.Updater != undefined);
	} catch (e) {
		canUpdate = false;
	}
	//-----------------------------------------

	if (canUpdate) {
		//showLoadingDiv();
		contentToUpdate = $(contentToUpdate);
		new Ajax.Updater(contentToUpdate, page, options);
	} else {
		alert("No podemos usar ajax, recargando página ...");
		document.location.href = page;
	}
}

function internalUpdateContent(page, method, parameters) {
	var options = createOptions(method, parameters);

	//--- Verifico si puedo llamar con ajax ---
	var canRequest = false;
	try {
		canRequest = (Ajax != undefined) && (Ajax.Request != undefined);
	} catch (e) {
		canRequest = false;
	}
	//-----------------------------------------
	if (canRequest) {
		new Ajax.Request(page, options);
	} else {
		alert("No podemos usar ajax, recargando página ...");
		document.location.href = page;
	}
}

function createOptions(method, parameters) {
	var options = new Object();
	options.method = method;
	options.evalScripts = true;
	options.parameters = parameters;
	//options.encoding = 'iso-8859-1';
	options.encoding = 'UTF-8';
	//options.onException = function (t, e) { alert(e.name + ": Error reacargando página con ajax.\n" + e.message);};

	return options;
}
