var power = {
	power_ot : 0,
	power_do : 1000
};

function sort_items () {
	var sort = '';
	var f = '';
	var a = 0;
	var slice_li = {};
	$('.f_wrap a.act').each ( function () {
		f = f + ':has(.f_rel[rel*="'+ $(this).text() +'"])';
	});


	if (f) { slice_li = $('.b-catalog li'+f); }
	else slice_li = $('.b-catalog li');

	$('.b-catalog li').hide();
	slice_li.each( function() {
		if ((power.power_ot == 0) && (power.power_do == 1000)) $(this).show();
		else {
			a = parseInt($(this).attr('rel'),10);
			if (a) {
				if ((a >= power.power_ot) && (a <= power.power_do)) $(this).show();
			}
		}

	});

	if ($('.f_wrap .type_0 a').hasClass('act')) sort = sort + 'портативной акустики, ';
	if ($('.f_wrap .ver_20 a').hasClass('act') || $('.f_wrap .ver_21 a').hasClass('act') || $('.f_wrap .ver_51 a').hasClass('act')) {
		sort = sort + 'модели <span>акустических систем</span> ';
		if ($('.f_wrap .ver_20 a').hasClass('act')) sort = sort + '<span>2.0</span>, ';
		if ($('.f_wrap .ver_21 a').hasClass('act')) sort = sort + '<span>2.1</span>, ';
		if ($('.f_wrap .ver_51 a').hasClass('act')) sort = sort + '<span>5.1</span>, ';
	}

	if ($('.f_wrap .type_1 a').hasClass('act') || $('.f_wrap .type_2 a').hasClass('act') || $('.f_wrap .type_3 a').hasClass('act') || $('.f_wrap .type_4 a').hasClass('act') || $('.f_wrap .type_5 a').hasClass('act')) {
		sort = sort + 'для ';
		if ($('.f_wrap .type_1 a').hasClass('act')) sort = sort + '<span>офиса</span>, ';
		if ($('.f_wrap .type_2 a').hasClass('act')) sort = sort + '<span>музыки</span>, ';
		if ($('.f_wrap .type_3 a').hasClass('act')) sort = sort + '<span>дома</span>, ';
		if ($('.f_wrap .type_4 a').hasClass('act')) sort = sort + '<span>кино</span>, ';
		if ($('.f_wrap .type_5 a').hasClass('act')) sort = sort + '<span>игр</span>, ';
	}
	if ((power.power_ot != 0) || (power.power_do != 1000)) {
		sort = sort + 'мощностью ';
		if (power.power_ot != 0) sort = sort + 'от <span>' + power.power_ot + ' Ватт</span>';
		if (power.power_do != 1000) sort = sort + ' до <span>' + power.power_do + ' Ватт</span>';
		sort = sort + ', ';
	}
	if ($('.f_wrap .year_2009 a').hasClass('act') || $('.f_wrap .year_2010 a').hasClass('act') || $('.f_wrap .year_2011 a').hasClass('act')) {
		if ($('.f_wrap .year_2009 a').hasClass('act')) sort = sort + '2009/';
		if ($('.f_wrap .year_2010 a').hasClass('act')) sort = sort + '2010/';
		if ($('.f_wrap .year_2011 a').hasClass('act')) sort = sort + '2011/';
		sort = sort.slice(0,-1);
		sort = sort + ' года (ов) производства, ';
	}

	var postfix = "";
	var foundCount = $('div.b-white .b-catalog li:visible').length;
	if (foundCount > 0) {
		postfix = ' <span class="ftotal"><a href="#">Всего ' + foundCount + ' ' + countText(foundCount, "товар", "", "а", "ов") + '</a>';
	}

	if (sort) {
		if (foundCount > 0) {
			sort = "<b>Отфильтрованы модели</b> " + sort.slice(0,-2) + ":" + postfix;
		} else {
			sort = "<b>Модели</b> " + sort.slice(0,-2) + " <b>не найдены</b>.";
		}
	} else {
		sort = "<b>Представлены все модели</b>";
	}
	sort = sort.replace("одели модели", "одели").replace("одели</b> модели", "одели</b>");
	$('.text_filter').html(sort);

}

// перерисовка блока фильтра
function resetFilterHeight() {
	var foundCount = $('div.b-white .b-catalog li:visible').length;
	var lineCount = Math.ceil(foundCount / 4);
	if (lineCount > 0) lineCount--;
	var height = $('.w_filter').is(':visible') ? 0 : lineCount * 200;
	height += 180;
	$('ul.b-catalog').animate({height: height + 'px'}, 750);
}

$(function() {

	if (window.location.pathname.search(/^\/catalog1\/$/) == 0) {
		$('h1').hide();
	}



	$('.text_filter').click(function(){
		$('.w_filter').toggle();
		resetFilterHeight(); // перерисовка блока
		return false;
	});
	$('.w_filter .close a').click(function(){ 
		$('.w_filter').hide();
		resetFilterHeight(); // перерисовка блока
		return false;
	});

	var groups = {};
	$('.f_wrap a').click(function() {
		var $t = $(this);
		// Реализация логики "ИЛИ"
		var _pClass = $t.parent().attr('class');
		var _pGroup = _pClass.replace(/\d+/g, '');
		if (typeof groups[_pGroup] != 'object') {
			groups[_pClass] = $('div[class*=' + _pGroup + ']:not(".' + _pClass + '") a'); // кэш
		}
		groups[_pClass].removeClass('act');
		
		$t.toggleClass('act');
		sort_items();
		return false;
	});
	
	// Мощность
	$('.area_10').hover( function() {
		$('.w_10').show(); $('.w_filter .label_w_ot').text('10');
	}, function () {
		$('.w_filter .label_w_ot').text(power.power_ot);if (power.power_ot != 10) { $('.w_10').hide(); }
	});

	$('.area_20').hover( function() {
		$('.w_20').show(); $('.w_filter .label_w_ot').text('20');
	}, function () {
		$('.w_filter .label_w_ot').text(power.power_ot);if (power.power_ot != 20) { $('.w_20').hide(); }
	});

	$('.area_30').hover( function() {
		$('.w_30').show(); $('.w_filter .label_w_ot').text('30');
	}, function () {
		$('.w_filter .label_w_ot').text(power.power_ot);if (power.power_ot != 30) { $('.w_30').hide(); }
	});


	$('.area_40').hover( function() {
		$('.w_40').show(); $('.w_filter .label_w_do').text('30');
	}, function () {
		if (power.power_do != 1000 ) $('.w_filter .label_w_do').text(power.power_do);
		else $('.w_filter .label_w_do').html('<img src="/images/style/besk.png" />');
		if (power.power_do != 30) $('.w_40').hide();

	});

	$('.area_50').hover( function() { 
		$('.w_50').show(); $('.w_filter .label_w_do').text('45');
	}, function () {
		if (power.power_do != 1000 ) $('.w_filter .label_w_do').text(power.power_do);
		else $('.w_filter .label_w_do').html('<img src="/images/style/besk.png" />');
		if (power.power_do != 45) { $('.w_50').hide(); }
	});

	$('.area_60').hover( function() {
		$('.w_60').show(); $('.w_filter .label_w_do').text('60');
	}, function () {
		if (power.power_do != 1000 ) $('.w_filter .label_w_do').text(power.power_do);
		else $('.w_filter .label_w_do').html('<img src="/images/style/besk.png" />');
		if (power.power_do != 60) { $('.w_60').hide(); }
	});



	$('.area_10').click( function() {
		if (power.power_ot != 10) {
			$('.w_10,.w_20,.w_30','.power_imgs').hide();
			$('.w_10').show();
			power.power_ot = 10;
			$('.w_filter .label_w_ot').text(power.power_ot);
			sort_items ();
		}
		else { $('.w_10').hide(); power.power_ot = 0; $('.w_filter .label_w_ot').text('0'); sort_items (); }
		return false;
	});

	$('.area_20').click( function() {
		if (power.power_ot != 20) {
			$('.w_10,.w_20,.w_30','.power_imgs').hide();
			$('.w_20').show();
			power.power_ot = 20;
			$('.w_filter .label_w_ot').text(power.power_ot);
			sort_items ();
		}
		else { $('.w_20').hide(); power.power_ot = 0; $('.w_filter .label_w_ot').text('0'); sort_items (); }
		return false;
	});

	$('.area_30').click( function() {
		if (power.power_ot != 30) {
			$('.w_10,.w_20,.w_30','.power_imgs').hide();
			$('.w_30').show();
			power.power_ot = 30;
			$('.w_filter .label_w_ot').text(power.power_ot);
			sort_items ();
		}
		else { $('.w_30').hide(); power.power_ot = 0; $('.w_filter .label_w_ot').text('0'); sort_items (); }
		return false;
	});

	$('.area_40').click( function() {
		if (power.power_do != 30) {
			$('.w_40,.w_50,.w_60','.power_imgs').hide();
			$('.w_40').show();
			power.power_do = 30;
			$('.w_filter .label_w_do').text(power.power_do);
			sort_items ();
		}
		else { $('.w_40').hide(); power.power_do = 1000; $('.w_filter .label_w_do').html('<img src="/images/style/besk.png" />'); sort_items (); }
		return false;
	});

	$('.area_50').click( function() {
		if (power.power_do != 45) {
			$('.w_40,.w_50,.w_60','.power_imgs').hide();
			$('.w_50').show();
			power.power_do = 45;
			$('.w_filter .label_w_do').text(power.power_do);
			sort_items ();
		}
		else { $('.w_50').hide(); power.power_do = 1000; $('.w_filter .label_w_do').html('<img src="/images/style/besk.png" />'); sort_items (); }
		return false;
	});

	$('.area_60').click( function() {
		if (power.power_do != 60) {
			$('.w_40,.w_50,.w_60','.power_imgs').hide();
			$('.w_60').show();
			power.power_do = 60;
			$('.w_filter .label_w_do').text(power.power_do);
			sort_items ();
		}
		else { $('.w_60').hide(); power.power_do = 1000; $('.w_filter .label_w_do').html('<img src="/images/style/besk.png" />'); sort_items (); }
		return false;
	});


	if ($('.filter_main').length) {
		var a = $('.filter_main .tegs').text();
		if (a.search(/2009/) != -1) $('.f_wrap .year_2009 a').addClass('act');
		if (a.search(/2010/) != -1) $('.f_wrap .year_2010 a').addClass('act');
		if (a.search(/2011/) != -1) $('.f_wrap .year_2011 a').addClass('act');
		if (a.search(/Портативная акустика/) != -1) $('.f_wrap .type_0 a').addClass('act');
		if (a.search(/2\.0/) != -1) $('.f_wrap .ver_20 a').addClass('act');
		if (a.search(/2\.1/) != -1) $('.f_wrap .ver_21 a').addClass('act');
		if (a.search(/5\.1/) != -1) $('.f_wrap .ver_51 a').addClass('act');
		if (a.search(/Музыка/) != -1) $('.f_wrap .type_2 a').addClass('act');
		if (a.search(/Офис/) != -1) $('.f_wrap .type_1 a').addClass('act');
		if (a.search(/Дом/) != -1) $('.f_wrap .type_3 a').addClass('act');
		if (a.search(/Кино/) != -1) $('.f_wrap .type_4 a').addClass('act');
		if (a.search(/Игры/) != -1) $('.f_wrap .type_5 a').addClass('act');

		if (parseInt($('.filter_main .w_ot').text()) == 10) { power.power_ot = 10; $('.w_10').show(); $('.w_filter .label_w_ot').text(power.power_ot); }
		if (parseInt($('.filter_main .w_ot').text()) == 20) { power.power_ot = 20; $('.w_20').show(); $('.w_filter .label_w_ot').text(power.power_ot); }
		if (parseInt($('.filter_main .w_ot').text()) == 30) { power.power_ot = 30; $('.w_30').show(); $('.w_filter .label_w_ot').text(power.power_ot); }

		if (parseInt($('.filter_main .w_do').text()) == 30) { power.power_do = 30; $('.w_40').show(); $('.w_filter .label_w_do').text(power.power_do); }
		if (parseInt($('.filter_main .w_do').text()) == 45) { power.power_do = 45; $('.w_50').show(); $('.w_filter .label_w_do').text(power.power_do); }
		if (parseInt($('.filter_main .w_do').text()) == 60) { power.power_do = 60; $('.w_60').show(); $('.w_filter .label_w_do').text(power.power_do); }


		sort_items ();
		$('.w_filter').show();
	}
});

//b: added by psp 19.04.2011: сравнение без перегрузки
jQuery(function($){	
	// навешиваем обработчик клика
	$('a.addToCompare, a.removeFromCompare').click(function(){
		var $t = jQuery(this);
		var _h = this.href.replace('addTo', 'mod_addTo').replace('removeFrom', 'mod_removeFrom');
		// Замена ссылок и классов
		if ($t.hasClass('addToCompare')) {
			$t.removeClass('addToCompare').addClass('removeFromCompare');
			this.href = this.href.replace('addToCompare', 'removeFromCompare');
		} else {
			$t.removeClass('removeFromCompare').addClass('addToCompare');
			this.href = this.href.replace('removeFromCompare', 'addToCompare');
		}
		// Запрос на добавление к сравнению / удалению из сравнения
		jQuery.getJSON(_h, {}, function(d){
			if (typeof d['elements'] == "object") { toggleCompareBtn(d.elements.length); }
		});
		return false;
	});

	// Запрос для кнопки
	jQuery.getJSON("/emarket/mod_getComparedElements/", {}, function(d){
		if (typeof d['elements'] == "object") { toggleCompareBtn(d.elements.length); }
	});
	
	// Для главной сбрасываем галочки
	if (location.pathname == "/" || location.pathname == "/catalog1/") {
		jQuery('a.removeFromCompare').each(function(){
			jQuery(this).trigger('click');
		});
	}

});
// Блокировка/разблокировка кнопки
function toggleCompareBtn(count) {
	var $btn = jQuery('div.b-catalog-compare-button a').eq(0);
	if (count < 2) {
		$btn.bind("click", function(){ return false; }).removeClass('act');
	} else {
		$btn.unbind("click").addClass('act');
	}
}
//e: added by psp 19.04.2011

// Окончания
function countText(counter, txtBase, txt1, txt2, txt5) {
	var str;
	if ((counter<=14) && (counter>=5)) {
		str = txt5;
	} else {
		var num = counter - (Math.floor(counter/10)*10);
		if (num == 1) { 
			str = txt1;
		} else if (num == 0) {
			str = txt5;
		} else if ((num>=2) && (num<=4)) {
			str = txt2;
		} else if ((num>=5) && (num<=9)) {
			str = txt5;
		} 
	} 
	return txtBase + str; 
}


