var catalogue = new Array();
var CATALOGUE_AJAX_URL = "/as/modules/catalogue/";

jQuery(document).ready(function($) {
	$(".delete_link").click(function() {
		var title = $(this).attr('title');
		return confirm(title ? title+'?' : 'Вы уверены?');
	});
	
	$("#add_category_brand").submit(function() {
		var val = $("#category3_select").val();
		if (val && val!=0)
			return true;
		alert('Не выбрана категория!');
		return false;
	});
	
});

function catalogue_click(obj) {
	if (!jQuery) return false;
	var $ = jQuery;
	$this = $(obj);
	var $parent = $this.parent();
	catalogue_openclose($parent, 0);
	return false;
}

function catalogue_openclose($parent, open, callback) {
	var $child = $parent.children(".subcat");
	var id_parts = $parent.attr('id').split('_');
	var cat3 = id_parts[2];
	var $plusminus = $parent.children(".plusminus");		
	open = open ? (open==1) : ($plusminus.html()=='+');
	
	if (id_parts[1]=='3' && open && !$parent.hasClass("is_loaded") && (!catalogue[cat3] || !catalogue[cat3]['loaded'])) {
		$child.load(CATALOGUE_AJAX_URL, {'a':'get_catalogue_admin_level_brands', 'cat3':cat3}, function () { catalogue[cat3] = {'loaded':1}; if (callback) callback(); });
	}

	if (id_parts[1]=='b') {
		var brand = id_parts[3];
		if (open && !catalogue[cat3]) catalogue[cat3] = {'loaded' : 1};
		if (open && !$parent.hasClass("is_loaded") && (!catalogue[cat3][brand] || !catalogue[cat3][brand]['loaded'])) {
			$child.load(CATALOGUE_AJAX_URL, {'a':'get_catalogue_admin_level_goods', 'cat3':cat3, 'brand':brand}, function () { catalogue[cat3][brand] = {'loaded':1};  if (callback) callback(); });
		}
	}

	if (open) {
		$plusminus.html('-');
		$parent.addClass('opened');
		//$child.show();
	} else {
		$plusminus.html('+');
		$parent.removeClass('opened');
		//$child.hide();
	}
}

function catalogue_add_count(add_count) {
	var c = parseInt(jQuery('#catalogue_admin #goods_count').html());
	c+=add_count;
	jQuery('#catalogue_admin #goods_count').html(c);
}

function catalogue_check_all(obj, type) {
	if (!jQuery) return false;
	var $ = jQuery;
	var $parent = $(obj).parent();
	var add_count = 0;
	$parent.children(".subcat").find('INPUT[type=checkbox]').each(function(i, item) {
		add_count += (type=='all')-item.checked;
		item.checked = (type=='all');
	});
	catalogue_add_count(add_count);	
	$parent.children(".subcat").find('INPUT[type=text]').each(function(i, item) {
		item.disabled = (type=='all') ? '': 'disabled';
	});
	catalogue_update_selected(obj.parentNode);
	
	if (type=='all') {
		catalogue_openclose($(obj).parent(), 1, function () {
			var add_count = 0;
			$parent.children(".subcat").find('INPUT[type=checkbox]').each(function(i, item) {
				add_count += 1-item.checked;			
				item.checked = true;
			});
			catalogue_add_count(add_count);				
			$parent.children(".subcat").find('INPUT[type=text]').each(function(i, item) {
				item.disabled = '';
			});
			catalogue_update_selected(obj.parentNode);
});	}
	return false;
}

function catalogue_check(obj) {
	if (!jQuery) return false;
	var $ = jQuery;
	var $price_edit = $(obj).parent().children('[type=text]');
	catalogue_add_count(obj.checked ? 1 : -1);
	$price_edit.attr('disabled', obj.checked ? '' : 'disabled');
	$price_edit.focus();
	catalogue_update_selected(obj.parentNode.parentNode.parentNode);
	return true;
}

function catalogue_update_selected(obj) {
	if (!jQuery) return false;
	var $ = jQuery;
	var $obj = $(obj);
	
	for(var i=1; i<=4; i++) {
		if ($obj.has("input:checkbox:checked").length) {
			$obj.addClass("has_selected");
		} else {
			$obj.removeClass("has_selected");
		}
		$obj = $obj.parent().parent();
	}
}

function catalogue_close_all() {
	if (!jQuery) return false;
	var $ = jQuery;
	$('#catalogue_admin SPAN.plusminus').html('+');
	$('#catalogue_admin DIV.opened').removeClass('opened');
	return false;
}

function catalogue_show_all() {
	if (!jQuery) return false;
	var $ = jQuery;
	$('#catalogue_admin DIV.has_selected>SPAN.plusminus').html('-');
	$('#catalogue_admin DIV.has_selected').addClass('opened');
	return false;
}

function _select_clear(select) {
	for (var i=select.options.length-1; i>=0; i--)
		select.options[i] = null;
}

function _select_set_options(select, options) {
	_select_clear(select);
	for (var i=0; i<options.length; i++) {
		var option = new Option(options[i]['name'], options[i]['id']);
		select.options[i] = option;
	}
}

function catalogue_filter(container, obj) {
	if (!jQuery) return false;
	var $ = jQuery;

	$obj = $(obj);
	$container = $obj.closest('#'+container);
	
	$container.find('.filter-item').removeClass('filter-item-selected');
	$container.find('.filter'+$obj.val()).addClass('filter-item-selected');
}