function clsCategory() {
	this.level	= 0;
	this.parentid	= 0;

	this._constructor = function() {
	}

	this.addCategory = function(name) {
		var oAjax = new clsAjax();

		oAjax.url	= "../ajax/ajax_category_admin.php";
		oAjax.method	= "POST";
		oAjax.async	= false;
		oAjax.loadEvent	= function(status, instance) {
		}
		oAjax.addPostField('act', 'add');
		oAjax.addPostField('cn', name);
		oAjax.addPostField('pcid', this.parentid);
		oAjax.addPostField('l', this.level);
		oAjax.fetchData();
		id = oAjax.responseText;

		return id;
	}

	this.deleteCategory = function(id) {
		var oAjax = new clsAjax();

		oAjax.url	= "../ajax/ajax_category_admin.php";
		oAjax.method	= "POST";
		oAjax.async	= false;
		oAjax.loadEvent	= function(status, instance) {
		}
		oAjax.addPostField('act', 'del');
		oAjax.addPostField('id', id);
		oAjax.fetchData();
	}

	this.addCategoryToTree = function(name) {
		id = this.addCategory(name);

		if(this.parentid > 0) {
			var parentNode = document.getElementById('category_li_' + this.parentid);
			var ul = document.createElement('ul');
		} else {
			var parentNode = document.getElementById('category_tree_ul');
		}
		var li = document.createElement('li');
		var textNode = document.createTextNode(name + " | ");
		li.appendChild(textNode);
		var attr = document.createAttribute('id');
		attr.value = 'category_li_' + id;
		li.setAttributeNode(attr);

		var subcategoryLink = document.createElement('a');
		textNode = document.createTextNode('Add subcategory');
		subcategoryLink.appendChild(textNode);
		attr = document.createAttribute('href');
		attr.value = '#';
		subcategoryLink.setAttributeNode(attr);
		attr = document.createAttribute('onclick');
		attr.value = 'oCategory.parentid = ' + id + '; oCategory.level = ' + (this.level + 1) +
			'; new Effect.Appear(document.getElementById(' + "'add'" + ')); return false;';
		subcategoryLink.setAttributeNode(attr);
		li.appendChild(subcategoryLink);

		var textNode = document.createTextNode(" | ");
		li.appendChild(textNode);

		var deleteLink = document.createElement('a');
		textNode = document.createTextNode('Delete');
		deleteLink.appendChild(textNode);
		attr = document.createAttribute('href');
		attr.value = '#';
		deleteLink.setAttributeNode(attr);
		attr = document.createAttribute('onclick');
		attr.value = 'var o = new clsCategory(); o.deleteCategoryFromTree(' + "'" + id + "'" + '); return false;';
		deleteLink.setAttributeNode(attr);
		li.appendChild(deleteLink);

		if(this.parentid > 0) {
			ul.appendChild(li);
			parentNode.appendChild(ul);
		} else {
			parentNode.appendChild(li);
		}
	}

	this.deleteCategoryFromTree = function(id) {
		var childNode = document.getElementById('category_li_' + id);
		var parentNode = childNode.parentNode;

		this.deleteCategory(id);
		parentNode.removeChild(childNode);
	}
}

var oCategory = new clsCategory();
