/************************************************************************
* TROIKA AJAX Functionality
*
* Basic AJAX wrapper functions:
*
*	member_req (hash, successFunction)
*		posts the values in the hash to the member AJAX handler and 
*		calls successFunction on valid responses
*	admin_req (hash, successFunction)
*		posts the values in the hash to the admin AJAX handler and calls
*		successFunction on valid responses
*
************************************************************************/
function troika_ajax_validResponse(json) {
	if (json.length > 0) {
		eval('response = '+json);		
		if (response.header) {
			return true;
		}
	}
	return false;
}

function troika_ajax_req(hash, successFunction, dest) {
	new Ajax.Request(dest, {
		method: 'post',
		parameters: hash,
		onSuccess: function(transport) { 
			//if (processResponse(transport.responseText)) 
			if (troika_ajax_validResponse(transport.responseText)) {
				eval('response = '+transport.responseText);
				successFunction.call(response);
			}
		},
		onFailure: function(transport) { 
			//generalError('Error connecting to server.'); 
		}
	});
}

function troika_ajax_member_req(hash, successFunction) {
	troika_ajax_req(hash, successFunction, '/members-json.js');
}

function troika_ajax_admin_req(hash, successFunction) {
	troika_ajax_req(hash, successFunction, '/admin-json.js');
}