var catalogue = new Array();
var CATALOGUE_AJAX_URL = "/as/modules/catalogue/";

function catalogue_init() {
	if (!jQuery) return;
	var $ = jQuery;
	
	$(".l-slider_live .l-slider__nav LI A").unbind('click');
	$(".l-slider_live .l-slider__nav LI A").click(function() {
		var $this = $(this);
		var $li = $this.parent();
		var parts = $(this).parents(".l-slider_live").attr('id').split('_');
		var block_id = parts[1];
		$li.parents(".l-slider_live").find('.big_image').attr('src', $li.attr('rel'));
		img_active[block_id] = parseInt($li.attr('num'));
		$li.parent().find('LI').removeClass('cur');
		$li.addClass('cur');
		return false;
	});
	
	$(".l-slider_live A.next, .l-slider_live A.prev").unbind('click');
	$(".l-slider_live A.next, .l-slider_live A.prev").click(function() {
		var $ul = $(this).parents(".l-slider_live").find('.l-slider__nav UL');
		var parts = $(this).parents(".l-slider_live").attr('id').split('_');
		var block_id = parts[1];
		var $li = $ul.find('LI.cur');
		
		if ($(this).hasClass('prev')) {
			var $li_next = $li.prev();
			img_active[block_id]--;
			if (!$li_next.get(0)) {
				$li_next = $ul.children().last();
				img_active[block_id] = img_list[block_id].length-1;
			}
		} else {
			var $li_next = $li.next();
			img_active[block_id]++;
			if (!$li_next.get(0)) {
				$li_next = $ul.children().first();
				img_active[block_id] = 0;
			}
		}
		
		$li.parents(".l-slider_live").find('.big_image').attr('src', $li_next.attr('rel'));
		$li.removeClass('cur');
		$li_next.addClass('cur');
		return false;
	});
}

jQuery(document).ready(function($) {

	$('.b-stars A').click(function () {
		var $this = $(this);
		var r = $this.attr('class').substr(1,1);
		if (r==$this.parent().find('#as_Rank').val()) {
			$this.parent().attr('class', 'b-stars');
			$this.parent().find('#as_Rank').val(0);
			//$this.parents('.b-stars').get(0).style.width = '0';
		} else {
			$this.parent().attr('class', 'b-stars b-stars'+r);
			$this.parent().find('#as_Rank').val(r);
		}
		return false;
	});

	$('.l-slider_parket .l-slider__nav LI A').hover(
		function() {$('I#color_name').html($(this).attr('title'));},
		function() {$('I#color_name').html($(this).parents('UL').find('LI.cur A').attr('title'));}
	);

	$('.l-slider_parket .l-slider__nav LI A').click(function() {
		var $li = $(this).parent();
		var id = $li.attr('id').split('_')[1];
		$.get(CATALOGUE_AJAX_URL, {'a':'load_image_blocks', 'color_block':id}, function(data) {
			$('#images-container').html(data);
			catalogue_init();
		});
		
		$li.parent().find('LI').removeClass('cur');
		$li.addClass('cur');
		return false;
	});
	
	catalogue_init();

	$(".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()!='-');
	
	var callback_called = false;
	
	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(); });
		callback_called = true;
	}

	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(); });
			callback_called = true;
		}
	}

	if (open) {
		$plusminus.html('-');
		$parent.addClass('opened');
	} else {
		$plusminus.html($parent.hasClass('brand-level') ? '' : '+');
		$parent.removeClass('opened');
	}

	if (!callback_called && callback) {
		callback();
	}
}

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_add_brands_count(add_count) {
	var c = parseInt(jQuery('#catalogue_admin #brands_count').html());
	c+=add_count;
	jQuery('#catalogue_admin #brands_count').html(c);
}

function catalogue_check_all(obj, type) {
	if (!jQuery) return false;
	var $ = jQuery;
	var $parent = $(obj).parent();
	if ($parent.get(0).tagName!='DIV') {
		$parent = $parent.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';
	});

	if (type=='all') {
		catalogue_openclose($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($parent.get(0));
		});	
	} else {
		catalogue_update_selected($parent.get(0));
	}
	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_razm_change(obj) {
	if (!jQuery) return false;
	var $ = jQuery;
	var $obj = $(obj);
	var $parent = $obj.parent();
	var val = obj.options[obj.selectedIndex].value;
	if (val==2 || val==3) {
		$parent.children('.select_all_links').show();
		if (!$parent.hasClass('opened')) {
			catalogue_openclose($parent, 1, function() {
				catalogue_check_all(obj, 'all');
			});
		}
	} else {
		$parent.children('.select_all_links').hide();
		catalogue_check_all(obj, 0);
		catalogue_openclose($parent, -1);
	}
	catalogue_update_selected($parent.get(0));
}

function catalogue_update_selected(obj) {
	if (!jQuery) return false;
	var $ = jQuery;
	
	var $obj = $(obj);
	var select_val = $obj.children('SELECT').val();
	
	if ($obj.has("input:checkbox:checked").length || parseInt(select_val)) {
		if (!$obj.hasClass("has_selected")) {
			catalogue_add_brands_count(1);
			$obj.addClass("has_selected");
		}
	} else {
		if ($obj.hasClass("has_selected")) {
			catalogue_add_brands_count(-1);
			$obj.removeClass("has_selected");
		}
	}
	
	for (var i=1; i<=3; i++) {
		$obj = $obj.parent().parent();	
		if ($obj.has("DIV.has_selected").length) {
			$obj.addClass("has_selected");
		} else {
			$obj.removeClass("has_selected");
		}
	}
}

function catalogue_close_all() {
	if (!jQuery) return false;
	var $ = jQuery;
	$('#catalogue_admin SPAN.plusminus').html('+');
	$('#catalogue_admin DIV.brand-level SPAN.plusminus').html('');
	$('#catalogue_admin DIV.opened:not(.brand-level)').removeClass('opened');
	return false;
}

function catalogue_show_all() {
	if (!jQuery) return false;
	var $ = jQuery;
	$('#catalogue_admin DIV.has_selected:not(.brand-level)>SPAN.plusminus').html('-');
	$('#catalogue_admin DIV.has_selected:not(.brand-level)').addClass('opened');
	return false;
}

function _select_clear(select) {
	if (select) {
		for (var i=select.options.length-1; i>=0; i--) {
			select.options[i] = null;
		}
	}
}

function _select_set_options(select, options, rel_field) {
	if (!jQuery) return false;
	var $ = jQuery;
	_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;
		if (rel_field && options[i][rel_field]) {
			$(select.options[i]).attr('rel', options[i][rel_field]);
		}
	}
}

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');
}
