ARFC - Asynchronous Remote Function Call - Llamadas asncronas a funciones remotas implementadas en PHP desde Javascript mediante Ajax.
(c) 2007 GNU General Public License

Requisitos: Apache y PHP 4 o superior.

- Mete todos los ficheros en una misma carpeta del servidor Apache (i.e., /home/avelino/public_html/arfc).
- En los ficheros con nombre ARFC_*.php podremos poner las funciones que queramos con la nica restriccin de que si necesitan parmetros, slo se lo puede pasar uno (deberemos estructurarlo en forma de objeto o array si queremos mandar varios parmetros).
- Desde el navegador cargamos "index.html" y desde ste podremos hacer llamadas a funciones de PHP.

Si en un fichero ARFC_*.php definimos la funcin:

	function ARFC_mi_funcion_americana($parametro) {
		// $parametro debe ser un objeto con los campos "a" y "b"
		if ($parametro->a > 6)
			$parametro->b--;
		return $parametro->a;
	}

Desde Javascript (en index.html) podremos hacer:

	...
	var parametro = {a:8, b:62};
	ARFC_call('mi_funcion_americana', parametro, this, mi_funcion_callback, datos_usuario);
	...

	function mi_funcion_callback(returnValue, httpStatus) {
		...
		// en returnValue tenemos el valor retornado por la funcin de PHP alojada en el servidor
		...
	}

Si lo que queremos es que la funcin de callback sea un mtodo de un objeto:

	function MiObj() {
	}

	MiObj.prototype.miMetodo = function(returnValue, httpStatus, userData) {
		...
		// en returnValue tenemos el valor retornado por la funcin de PHP alojada en el servidor
		// userData es la variable que se ha pasado a ARFC_call como "datos_usuario"
		...
	}

	...
	var obj = new MiObj();
	ARFC_call('mi_funcion_americana', {a:8, b:50}, obj, obj.miMetodo, null);
	...
	
La librera ARFC se encarga de generar la cadena post a partir de los parmetros y de parsear el XML de retorno para generar una variable de retorno vlida en Javascript. El fichero arfc.xml.php se encarga de parsear la cadena post que le llega, de convertirla al parmetro de la funcin de PHP y de coger el valor de retorno de esta funcin PHP y convertirlo en XML para mandrselo a Javascript.
