function invite_a_user(invitable_type, invitable_id, system_id, permission_list_div)
{
	var name = 'invites_' + system_id + '_' + invitable_type + '_' + invitable_id;
	var permissions_div = $('permission_list_div')
	var invites_div = $(name);
	if (invites_div.style.display == 'none')
	{
		//run the ajax request to get the topics:
		new Ajax.Updater(name, '/invites?invitable_type=' + invitable_type + '&invitable_id=' + invitable_id + '&system_id=' + system_id,{
				method:'get',
				onSuccess:function(){
				  new Effect.Appear(name,{duration:0.2});
				}
			});
	}
	else
	{
	   new Effect.Fade(name,{duration:0.2});
	}
}

function grant_permission(invitable_type, invitable_id, system_id, permission_list_div)
{
	var name = 'invites_' + system_id + '_' + invitable_type + '_' + invitable_id;
	var permissions_div = $('permission_list_div')
	var invites_div = $(name);
	if (invites_div.style.display == 'none')
	{
		//run the ajax request to get the topics:
		new Ajax.Updater(name, '/invites?invitable_type=' + invitable_type + '&invitable_id=' + invitable_id + '&system_id=' + system_id + '&grant=true',{
				method:'get',
				onSuccess:function(){
				  new Effect.Appear(name,{duration:0.2});
				}
			});
	}
	else
	{
	   new Effect.Fade(name,{duration:0.2});
	}
}

function user_invited(system_id, invitable_type, invitable_id)
{
	var name = 'invites_' + system_id + '_' + invitable_type + '_' + invitable_id;
	new Effect.Fade(name,{duration:0.2});
}

function can(checked, authorisable_type, authorisable_id, permission_name, permissible_type, permissible_id)
{
	var url = '/permissions?can='+checked+'&authorisable_type='+authorisable_type+'&authorisable_id='+authorisable_id+'&permissible_type='+permissible_type+'&permissible_id='+permissible_id+'&permission_name='+permission_name;
	new Ajax.Request(url,
	{
		method:'post',
		onSuccess:function(){
		}
	});
}

function has(checked, functionable_name, functionable_type, functionable_id)
{
	var url = '/functions?has='+checked+'&functionable_type='+functionable_type+'&functionable_id='+functionable_id+'&functionable_name='+functionable_name;
	new Ajax.Request(url,
	{
		method:'post',
		onSuccess:function(){
		}
	});
}
