var tagsOwner = [0,0];
var tagsPrev = null;

$(function() {$('#tags_add').click(editTags);});

function editTags() {
	tagsOwner = this.rel.split(',');

	tagsPrev = $('#tag_list').html();

	$('#tags_add').remove();
	tags = $('#tag_list').text();
	if (tags == 'отсутствуют. ') {
		tags = '';
	} else {
		tags = fastTrim(tags).split('"').join('&quot;').substr(0, tags.length - 2);
	}

	if (tags == 'отсутствуют') tags = '';

	$('#tag_list').html('<input type="text" id="tags" value="' + tags + '" />&nbsp;<input type="button" onclick="saveTags();" value="OK" />');
	$('#tags').focus().keypress(checkSaveTags);
}

function saveTags() {
	var data = {'tags[]': [], 'owner_type': tagsOwner[0], 'owner_id': tagsOwner[1]};
	if ($('#tags').val()) {
		var html = ''; var tl = $('#tags').val().split(',');
		for (var tag in tl) {
			data['tags[]'].push(fastTrim(tl[tag]));
			html += fastTrim(tl[tag]) + ', ';
		}
		html = html.split('"').join('&quot;');
		html = html.split('<').join('&lt;');
		html = html.split('>').join('&gt;');
		html = html.substr(0, html.length - 2) +
			'. <a href="#" id="tags_add" class="dashed" rel="' + tagsOwner[0] + ',' +
			tagsOwner[1] + '">Изменить?</a>';
	} else {
		var html = 'отсутствуют. <a href="#" id="tags_add" class="dashed" rel="' + tagsOwner[0] + ',' +
			tagsOwner[1] + '">Добавить?</a>';
	}

	$.post('/tags/save/', data);
	$('#tag_list').html(html);
	$('#tags_add').click(editTags);
}

function checkSaveTags(e) {
	code = (e.keyCode ? e.keyCode : e.which);
	if (code == 27) {
		$('#tag_list').html(tagsPrev);
		$('#tags_add').click(editTags);
	} else if (code == 13) {
		saveTags();
	}
}