
<script>

var tag_cate_maxid = <?php echo intval($tag_cate_maxid);?>;
var tag_maxid = <?php echo intval($tag_maxid);?>;
var jtag_html = $('#tag_html');
var jtag_cate_tpl = $('#tag_cate_tpl');
var jtag_tpl = $('#tag_tpl');
var tagcatelist = <?php echo xn_json_encode($tagcatelist);?> || [];
function tag_cate_add(tagcate) {
	tagcate = tagcate || {};
	tagcate.name = tagcate.name || '';
	tagcate.rank = tagcate.rank || 0;
	tagcate.enable = tagcate.enable || 1;
	tagcate.isforce = tagcate.isforce || 0;
	tagcate.defaulttagid = tagcate.defaulttagid || 0;
	tagcate.cateid = tagcate.cateid || ++tag_cate_maxid;
	var s = jtag_cate_tpl.html();
	if($('#tag_html').children('table').length > 8) {
		return false;
	}
	s = xn.template(s, {
		name: tagcate.name, 
		rank: tagcate.rank, 
		enable: (tagcate.enable == "1" ? "checked" : ''), 
		isforce: (tagcate.isforce == "1" ? "checked" : ''), 
		id: tagcate.cateid
	});
	var jnode = $(s).appendTo(jtag_html);
	return jnode;
}
function tag_add(jpnode, tag) {
	tag = tag || {};
	tag.name = tag.name || '';
	tag.rank = tag.rank || 0;
	tag.enable = tag.enable || 1;
	tag.tagid = tag.tagid || ++tag_maxid;
	
	jpnode = $(jpnode);
	if(!jpnode.hasClass('children')) {
		jpnode = jpnode.parents('.children');
	}
	tag.cateid = jpnode.attr('cateid') || 0; // cateid
	tagcate = tagcatelist.find(function(item) {return item.cateid == tag.cateid});
	if(!tagcate) {
		tagcate = {
			defaulttagid: 0,
		}
	}
	var s = jtag_tpl.html();
	s = xn.template(s, {
		name: tag.name, 
		rank: tag.rank, 
		style: tag.style, 
		cateid: tag.cateid,
		enable: (tag.enable == "1" ? "checked" : ''), 
		defaulttagid: tagcate.defaulttagid, 
		defaulttagid_checked: (tag.tagid == tagcate.defaulttagid ? "checked" : ''), 
		id: tag.tagid
		
	});
	var jnode = $(s).appendTo(jpnode);
	jnode.find('select').each(function() {
		var selected = $(this).data('selected');
		$(this).val(selected);
	});
	
	return jnode;
}
function tag_cate_delete(node) {
	var jnode = $(node);
	jnode.parents('table.tag_cate_tpl').remove();
}
function tag_delete(node) {
	var jnode = $(node);
	jnode.parents('table.tag_tpl').remove();
}
jtag_html.on('click', 'a.tag_cate_add', function() {var jpnode = tag_cate_add(); if(jpnode) tag_add(jpnode.find('.children')); });
jtag_html.on('click', 'a.tag_add', function() {tag_add(this)});
jtag_html.on('click', 'a.tag_delete', function() {
	if(window.confirm('请确定删除标签（尽量采用禁用来代替），所有相关主题关联都会被自动解除，无法恢复。')) {
		tag_delete(this);
	}
});
jtag_html.on('click', 'a.tag_cate_delete', function() {
	if(window.confirm('请确定删除标签分类（尽量采用禁用来代替），所有相关主题关联都会被自动解除，无法恢复。')) {
		tag_cate_delete(this);
	}
});

if(xn.empty(tagcatelist)) {
	// 初始化数据
	var jpnode = tag_cate_add();
	if(jpnode) {
		var snode = tag_add(jpnode.find('.children'), {});
	}
} else {
	$.each(tagcatelist, function(k, tagcate) {
		var cateid = tagcate.cateid;
		var jpnode = tag_cate_add(tagcate);
		if(!jpnode) return;
		var jpnode_children = jpnode.find('.children');
		$.each(tagcate.taglist, function(k, tag) {
			var tagid = tag.tagid;
			tag_add(jpnode_children, tag);
		});
	});
}

</script>
