function controlAddFavorite(fobj,fmeta) {
	controlLoading(fobj,fmeta);
        $.ajax({
                url: '/ajax/?module=favorites&action=add&object=' + fobj + '&meta=' + fmeta,
                type: 'GET',
                dataType: 'xml',
                timeout: 1000,
                error: function(){
                        $('#' + fobj + '-control-status-report').html('<p class="report-alert">Error loading XML document: This means either our page is broken or your Internet connection is currently unavailable -- it\'s probably the latter.</p>');
                },
                success: function(xml){
                        var stype = $('type',xml).text();
                        var svalue = $('value',xml).text();
                        if (stype == 'Error') {
                                $('#' + fobj + '-control-status-report').html('<p class="report-alert">Error: ' + svalue + '</p>');
                        } else {
                                $('#' + fobj + '-control-status-report').html('<p class="report-complete">' + svalue + '</p>');
                        }
                }
        });
}

function controlShareContent(fobj,fmeta) {
	$('.share-control').html('');
	controlLoading(fobj,fmeta);
	$.ajax({
		url: '/ajax/?module=controlbox&action=share&object=' + fobj + '&meta=' + fmeta,
		type: 'GET',
		dataType: 'html',
		timeout: 2000,
		error: function(XMLHttpRequest, textStatus, errorThrown){
			$('#' + fobj + '-control-status-report').html('<p class="report-alert">Error loading XHTML document: This means either our page is broken or your Internet connection is currently unavailable -- it\'s probably the latter.</p>');
                },
		success: function(shtml){
			$('#' + fobj + '-control-status-report').html('');
			$('#' + fobj + '-control-status-text').html(shtml);
		}
	});
}

function controlSubmitShare(fobj,fmeta) {
	var freceivers = $.trim($('textarea#receivers').val());
	var ssub = $.trim($('input#m_subject').val());
	var stxt = $.trim($('textarea#m_text').val());
	var task = $.trim($('input#task_id').val());
	var serr = '';

	if (freceivers == '') {
		serr = 'You must select a user to send the message to.';
	} else if (ssub == '') {
		serr = 'You must have a subject to send a message.';
	} else if (stxt == '') {
		serr = 'You must have a message in order to send.';
	} else if (task == '') {
		serr = 'Invalid Task. Please come back to the page and try again.';
	}

	if (serr == '') {
		var sdata = $('form#' + fobj + '-share-form').serialize();
		$('form#' + fobj + '-share-form').hide();

		$('div#' + fobj + '-control-status-report').html('<p style="text-align: center;"><img src="http://static.thehive.ws/images/engine/ajax-loader-small.gif" alt="Loading..." /></p>');

		$.ajax({
			url: '/ajax/?module=controlbox&action=share&saction=go&object=' + fobj + '&meta=' + fmeta,
			type: 'POST',
			dataType: 'xml',
			timeout: 1000,
			data: sdata,
			error: function(){
				$('form#' + fobj + '-share-form').show();
				$('div#' + fobj + '-control-status-report').html('<p class="report-alert">Error loading XML document: This means either our page is broken or your Internet connection is currently unavailable -- it\'s probably the latter.</p>');
			},
			success: function(xml){
				var stype = $('type',xml).text();
				var svalue = $('value',xml).text();
				var sdate = $('date',xml).text();
				if (stype == 'Error') {
					$('div#' + fobj + '-control-status-report').html('<p class="report-alert">Error: ' + svalue + '</p>');
					$('form#' + fobj + '-share-form').show();
				} else {
					$('div#' + fobj + '-control-status-report').html('<p class="report-complete">Your message has been sent.</p>');
				}
			}
		});
		return false;
	} else {
		$('div#' + fobj + '-control-status-report').html('<p class="report-warning">' + serr + '</p>');
		return false;
	}
}

function controlFlagContent(fobj,fmeta) {
	controlLoading(fobj,fmeta);
	$.ajax({
		url: '/ajax/?module=flag&action=add&origin=controlbox&object=' + fobj + '&meta=' + fmeta + '&cache=' + (new Date).getTime(),
		type: 'GET',
		dataType: 'html',
		timeout: 30000,
		error: function(XMLHttpRequest, textStatus, errorThrown){
			$('#' + fobj + '-control-status-text').html('<p class="report-alert">Error loading XHTML document: This means either our page is broken or your Internet connection is currently unavailable -- it\'s probably the latter.</p>');
                },
		success: function(shtml){
			$('#' + fobj + '-control-status-report').html('');
			$('#' + fobj + '-control-status-text').html(shtml);
		}
	});
}

function controlSubmitFlag(fobj,fmeta) {
	var sdata = $('form#' + fobj + '-flag-form').serialize();
	$('form#' + fobj + '-flag-form').hide();

	$('div#' + fobj + '-control-status-report').html('<p style="text-align: center;"><img src="http://static.thehive.ws/images/engine/ajax-loader-small.gif" alt="Loading..." /></p>');

	$.ajax({
		url: '/ajax/?module=flag&action=add&origin=controlbox&saction=go&object=' + fobj + '&meta=' + fmeta + '&cache=' + (new Date).getTime(),
		type: 'POST',
		dataType: 'xml',
		timeout: 30000,
		data: sdata,
		error: function(){
			$('form#' + fobj + '-flag-form').show();
			$('div#' + fobj + '-control-status-report').html('<p class="report-alert">Error loading XML document: This means either our page is broken or your Internet connection is currently unavailable -- it\'s probably the latter.</p>');
		},
		success: function(xml){
			var stype = $('type',xml).text();
			var svalue = $('value',xml).text();
			var sdate = $('date',xml).text();
			if (stype == 'Error') {
				$('div#' + fobj + '-control-status-report').html('<p class="report-alert">Error: ' + svalue + '</p>');
				$('form#' + fobj + '-flag-form').show();
			} else {
				$('div#' + fobj + '-control-status-report').html('<p class="report-complete">' + svalue + '</p>');
			}
		}
	});
	return false;
}

function showControl(fobj,fmeta) {
	$('#' + fobj + '-control-container').show();
}

function controlLoading(fobj,fmeta) {
        $('#' + fobj + '-control-status').show();
        $('#' + fobj + '-control-status-report').html('<p style="text-align: center;"><img src="http://static.thehive.ws/images/engine/ajax-loader-small.gif" alt="Loading..." /></p>');
}