function initRecoveryDialog() {
	jQuery('li.recover_item').live('click', function() {
		var local = Core;
		jQuery('li.recover_item.selected')
			.not(this)
			.removeClass('selected');
		jQuery(this).addClass('selected');
		
		var n = jQuery('li.recover_item').index(this);
		jQuery('textarea#recover_text').text(local.recovery.items[n].text);
		local.recovery.selected = n;
		jQuery('button#recover_remove_this').fadeIn();
		jQuery('button#recover_remove_this').attr('disabled', '');
	});
}

function removeRecovery() {
	var local = Core;
	delete local.recovery
	jQuery('div#recover_dialog').dialog('destroy');
	jQuery('li#webbook_recovery').remove();
	jQuery.cookie('autorecovery_hide', 'no');
};

function showRecovery() {
	var local = Core;
	var lang = local.lang;
	
	initRecoveryDialog();
	
	var ajaxData = {
		sid: local.sid,
		com: local.com,
		projectid: local.projectid,
		mode: 'ajax_get_recover_data'
	}
	
	jQuery.ajax({
		data: ajaxData,
		success: function(json) {
			local.recovery = new Object();
			local.recovery.items = json;
			var ulContent = '';
			for (var i = 0; i<json.length;++i) {
				var date = new Date();
				date.setTime(json[i].time*1000);
				var dateText = parseDateToFuzzy(date.getTime());
				ulContent += '<li id="'+json[i].token+'" class="recover_item">Session <span class="token_name">'+json[i].token+'</span><br><span class="recovery_date">'+dateText+'</span></li>';
			}
			jQuery('div#recover_dialog ul#recover_list').html(ulContent);
			
			jQuery('button#recover_remove_this').live('click', function() {
				remove_this();
			})
			
			var buttons = {};
			buttons[lang.see_later] = function() {
				var expiration = new Date();
				var twelveHoursInMilliseconds = 43200000;
				expiration.setTime(expiration.getTime()+twelveHoursInMilliseconds);
				jQuery.cookie('autorecovery_hide', 'yes', { expires: expiration });
				jQuery(this).dialog('close');
			};
			buttons[lang.discard_all_paragraphs] = function() {
				remove_all();
			};
			
			jQuery('div#recover_dialog')
				.dialog({
					autoOpen: false,
					width: 500,
					buttons: buttons
				})
				.dialog('open');
		}
	});
};

function remove_all() {
	var local = Core;
	var caller = this;
	
	jQuery('button#recover_remove_this').attr('disabled', 'disabled');
	
	var ajaxData = {
		sid: local.sid,
		com: local.com,
		projectid: local.projectid,
		mode: 'ajax_delete_all_recovery'
	};
	
	jQuery.ajax({
		data: ajaxData,
		success: function(json) {
			removeRecovery();
		}
	});
}

function remove_this() {
	var local = Core;
	var caller = this;
	var n = local.recovery.selected;
	
	var this_recovery = local.recovery.items[n]; 
	jQuery('button#recover_remove_this').attr('disabled', 'disabled');
	
	var ajaxData = {
		sid: local.sid,
		com: local.com,
		projectid: local.projectid,
		mode: 'ajax_delete_current_recovery',
		token: this_recovery.token
	};
	
	jQuery.ajax({
		data: ajaxData,
		success: function(json) {
			local.recovery.items.remove(n);
			local.recovery.selected = -1;
			if (local.recovery.items.length < 1) {
				removeRecovery();
			} else {
				jQuery('li.recover_item.selected').hide('highlight', function() {
					jQuery(this).remove();
				});
				jQuery('textarea#recover_text').text('');
				jQuery('button#recover_remove_this').fadeOut();
			}
		}
	});
}
