Index: branches/1.0.x/inc/styles.css
===================================================================
--- branches/1.0.x/inc/styles.css	(revision 14979)
+++ branches/1.0.x/inc/styles.css	(revision 14980)
@@ -1,1181 +1,1186 @@
 @charset "UTF-8";
 
 /* Basic Blocks
 *******************************************************************************/
 html {
 	min-width: 1000px;
 }
 body {
 	background: #fff url(@templates_base@/img/bg-header.jpg) repeat-y 0 0;
 	color: #3c3c3c;
 	font: 0.813em/1.231em Arial,Verdana,Tahoma,Sans-Serif;
 }
 
 img { border: 0; }
 table { border-collapse: collapse; border-spacing: 0; }
 td { padding: 0; vertical-align: top; }
 
 a, a:hover, a:focus { color: #333; outline: none; text-decoration: underline; }
 a:hover, a:focus { text-decoration: none; }
 
 .clear { clear: both !important; }
 .fix { border: 1px solid #f00; }
 
 /* Header
 *******************************************************************************/
 #header {
 	margin: 0 auto;
 	width: 960px;
 }
 #header .logo {
 	float: left;
 	padding: 18px 0;
 }
 
 #header .infoblock {
 	float: right;
 	position: relative;
 	width: 580px;
 }
 
 #header .infoblock .welcome {
 	color: #343338;
 	float: right;
 	padding: 9px 0;
 	position: relative;
 }
 #header .infoblock .welcome div { float: left; }
 #header .infoblock .welcome .txt { padding: 0 0 0 20px; }
 #header .infoblock .welcome .logged { padding-top: 5px; }
 #header .infoblock .welcome .txt a { font-weight: bold; }
 
 #header .infoblock .welcome .lang .with-icon {
 	background: url(@templates_base@/img/lang/eng.gif) no-repeat 10px 7px;
 	padding: 5px 10px 10px 35px;
 }
 
 #header .infoblock .welcome .lang .without-icon {
 	padding: 5px 10px 10px 10px;
 }
 
 #header .infoblock .welcome .txt,
 #header .infoblock .welcome .lang,
 #header .infoblock .welcome .currency,
 #header .infoblock .welcome .profile-menu {
 	position: relative;
 }
 #header .infoblock .welcome .profile-menu { margin-left: 10px; margin-right: 10px; }
 #header .infoblock .welcome .txt .login,
 #header .infoblock .welcome .currency .cur,
 #header .infoblock .welcome .profile-menu .link {
 	padding: 5px 10px 10px;
 }
 #header .infoblock .welcome .currency { margin-left: 5px; }
 #header .infoblock .welcome .currency .cur.plashka-sel { margin-left: -1px; }
 
 a#lang,
 a#currency,
 a#profile {
 	background: url(@templates_base@/img/icon-select.gif) no-repeat 100% 6px;
 	display: block;
 	padding: 0 12px 0 0;
 	text-decoration: none;
 }
 #header .infoblock .cart {
 	background: url(@templates_base@/img/bg-cart.jpg) no-repeat 100% 0;
 	float: left;
 	font-size: 1.154em;
 	font-weight: bold;
 	padding: 15px 0;
 }
 #header .infoblock .cart span,
 #header .infoblock .cart a { float: left; }
 #header .infoblock .cart a {
 	background: url(@templates_base@/img/icon-checkout.gif) no-repeat 100% 12px;
 	color: #75b833;
 	line-height: 33px;
 	padding: 0 12px 0 0;
 	text-decoration: none;
 }
 #header .infoblock .cart i {
 	font-size: 0.733em;
 }
 #header .infoblock .cart .items {
 	background: url(@templates_base@/img/icon-cart.png) no-repeat 0 0;
 	line-height: 33px;
 	padding: 0 0 0 50px;
 }
 #header .infoblock .cart .delim {
 	color: #b5b5b5;
 	font-weight: normal;
 	line-height: 33px;
 	padding: 0 15px;
 }
 #header .infoblock .cart .phone {
 	color: #535353;
 	font: bold 1.385em Tahoma,Arial,Verdana,Sans-Serif;
 	line-height: 33px;
 	padding-right: 50px;
 }
 
 #header .infoblock .welcome .lang #lang-sel a {
 	text-decoration: underline;
 }
 #header .infoblock .welcome .lang #lang-sel .eng {
 	background: url(@templates_base@/img/lang/eng.gif) no-repeat 0 0;
 	padding: 0 0 0 25px;
 }
 #header .infoblock .welcome .lang #lang-sel .deutch {
 	background: url(@templates_base@/img/lang/deutch.gif) no-repeat 0 0;
 	padding: 0 0 0 25px;
 }
 #header .infoblock .welcome .lang #lang-sel .rus {
 	background: url(@templates_base@/img/lang/rus.gif) no-repeat 0 0;
 	padding: 0 0 0 25px;
 }
 
 .plashka {
 	background-color: #fff;
 	border: 1px solid #d0d0d0;
 	display: none;
 	padding: 10px 20px 5px;
 	position: absolute;
 	top: 31px;
 	right: -1px;
 	z-index: 95;
 	-webkit-border-radius: 5px;
 	-webkit-border-top-right-radius: 0;
 	-moz-border-radius: 5px;
 	-moz-border-radius-topright: 0;
 	border-radius: 5px;
 	border-top-right-radius: 0;
 
 	-moz-box-shadow: 0 0 8px #ccc;
 	-webkit-box-shadow: 0 0 8px #ccc;
 	box-shadow: 0 0 8px #ccc;
 }
 .plashka-sel {
 	background-color: #fff !important;
 	border: 1px solid #d0d0d0;
 	border-bottom: 1px solid #fff;
 	margin: -1px -1px 0 0;
 	position: relative;
 	z-index: 96;
 	-webkit-border-top-left-radius: 5px;
 	-webkit-border-top-right-radius: 5px;
 	-moz-border-radius-topleft: 5px;
 	-moz-border-radius-topright: 5px;
 	border-top-left-radius: 5px;
 	border-top-right-radius: 5px;
 
 	-moz-box-shadow: #ccc 0 -3px 8px -1px;
 	-webkit-box-shadow: #ccc 0 -3px 8px -1px;
 	box-shadow: #ccc 0 -3px 8px -1px;
 }
 
 #header .infoblock .welcome .plashka li {
 	padding: 0 0 5px;
 	white-space: nowrap;
 }
 #header .infoblock .welcome .plashka .active { color: #2d85d6; }
 #header .infoblock .welcome .txt .plashka,
 #header .infoblock .welcome .profile-menu .plashka { right: 0; }
 .plashka-sel a#lang,
 .plashka-sel a#currency,
 .plashka-sel a#profile {
 	background: url(@templates_base@/img/icon-close.gif) no-repeat 100% 6px;
 }
 
 #header .infoblock .welcome .login,
 .login-alt .login {
 	display: inline-block;
 	float: none;
 }
 .login-alt .login { font-size: 0.867em; padding-left: 5px; }
 #header .infoblock .welcome .login a,
 .login-alt .login a {
 	background: url(@templates_base@/img/bg-button-login.jpg) no-repeat 0 0;
 	display: block;
 	height: 18px;
 	text-align: center;
 	text-decoration: none;
 	width: 61px;
 }
 #header .infoblock .welcome .txt .login.plashka-sel,
 .login-alt .login.plashka-sel {
 	margin-left: 4px;
 	margin-bottom: 1px;
 	padding: 5px 18px 10px;
 }
 .login-alt .login.plashka-sel { padding: 5px 10px 10px; }
 #header .infoblock .welcome .login.plashka-sel a,
 .login-alt .login.plashka-sel a {
 	background: none;
 	height: auto;
 	width: auto;
 }
 
 .icon-close { right: 10px; position: absolute; }
 
 /*** Menu ***/
 .menu {
 	background: #3e3e3e url(@templates_base@/img/bg-menu.jpg) repeat-x 0 0;
 	height: 46px;
 	position: relative;
 	width: 100%;
 }
 .menu .padding {
 	margin: 0 auto;
 	width: 960px;
 }
 .menu ul {
 	float: left;
 	width: 740px;
 }
 .menu ul li {
 	color: #fff;
 	float: left;
 	font-size: 1.154em;
 	font-weight: bold;
 }
 .menu ul li a {
 	color: #fff;
 	display: block;
 	line-height: 46px;
 	padding: 0 18px;
 	text-decoration: none;
 }
 .menu ul li a:hover,
 .menu ul li a:focus {
 	background: #4b4b4b url(@templates_base@/img/bg-menu.jpg) repeat-x 0 -46px;
 }
 .menu ul li a.active {
 	background: #2d85d6 url(@templates_base@/img/bg-menu.jpg) repeat-x 0 -92px;
 }
 .menu .searchbox {
 	background: url(@templates_base@/img/bg-searchbox-l.jpg) no-repeat 0 0;
 	float: right;
 	margin-top: 10px;
 	text-align: right;
 	width: 210px;
 }
 .menu .searchbox input[type="text"] {
 	border: none;
 	background: #fff url(@templates_base@/img/bg-searchbox-r.jpg) no-repeat 100% 0;
 	height: 23px;
 	line-height: 23px;
 	padding-top: 2px;
 	width: 180px;
 }
 
 .level2 {
 	background-color: #fff;
 	left: 273px;
 	position: absolute;
 	z-index: 4000;
 }
 .level2-bg {
 	border: 1px solid #3e3e3e;
 	float: left;
 	width: auto;
 	-webkit-border-bottom-right-radius: 5px;
 	-webkit-border-bottom-left-radius: 5px;
 	-moz-border-radius-bottomright: 5px;
 	-moz-border-radius-bottomleft: 5px;
 	border-bottom-right-radius: 5px;
 	border-bottom-left-radius: 5px;
 	box-shadow: 0 0 3px #444;
 	-moz-box-shadow: 0 0 3px #444;
 	-webkit-box-shadow: 0 0 3px #444;
 }
 #level2-menu {
 	background-color: #3e3e3e;
 	float: left;
 	padding: 8px 0;
 	width: 200px;
 }
 #level2-menu h3 {
 	background-color: #3e3e3e;
 	padding: 7px 12px;
 	white-space: nowrap;
 }
 #level2-menu h3 a {
 	color: #fff;
 	font-weight: bold;
 	text-decoration: none;
 }
 #level2-menu h3 a:hover {
 	text-decoration: underline;
 }
 #level2-menu ul {
 	width: 100%;
 }
 #level2-menu ul li {
 	background-color: #eaeaea;
 	font-size: 0.923em;
 	font-weight: normal;
 	width: 100%;
 }
 #level2-menu ul li a {
 	color: #3e3e3e;
 	line-height: 20px;
 	padding: 3px 13px 5px;
 	text-decoration: none;
 }
 #level2-menu ul li a:hover,
 #level2-menu ul li a:focus {
 	background: none;
 	text-decoration: underline;
 }
 #level2-menu ul li a.active {
 	background: none;
 }
 #level2-menu ul li i {
 	background: url(@templates_base@/img/bullet-l3menu.png) no-repeat 22px 9px;
 	display: block;
 	padding: 0 0 0 20px;
 	white-space: nowrap;
 }
 #level2-menu ul li.level3-menu h4 {
 	padding-left: 20px;
 	white-space: nowrap;
 }
 #level2-menu ul li.level3-menu ul {
 	background-color: #fff;
 }
 #level2-menu ul li.level3-menu ul li {
 	background-color: #fff;
 	font-size: 0.917em;
 }
 #level2-menu ul li.level3-menu ul li a {
 	background: url(@templates_base@/img/bullet-l3menu.png) no-repeat 35px 4px;
 	line-height: 18px;
 	padding: 0 0 0 45px;
 }
 #level2-menu ul li.level3-menu ul li a.active { color: #2f7916; }
 
 #level2-menu.ui-accordion .ui-accordion-content { overflow: hidden; }
 #level2-menu.ui-accordion .ui-accordion-content-active { background-color: #eaeaea; }
 
 #level2-menu .ui-icon-circle-arrow-l2e {
 	background: url(@templates_base@/img/bullet-l2menu.png) no-repeat 0 0;
 	height: 7px;
 	width: 4px;
 }
 #level2-menu .ui-icon-circle-arrow-l2s {
 	background: url(@templates_base@/img/bullet-l2menu.png) no-repeat 0 -7px;
 	height: 4px;
 	width: 7px;
 }
 #level2-menu .ui-icon-circle-arrow-l3e {
 	background: url(@templates_base@/img/bullet-l2menu.png) no-repeat 0 -11px;
 	height: 7px;
 	width: 4px;
 }
 #level2-menu .ui-icon-circle-arrow-l3s {
 	background: url(@templates_base@/img/bullet-l2menu.png) no-repeat 0 -18px;
 	height: 4px;
 	width: 7px;
 }
 
 #level-content {
 	background-color: #fff;
 	float: left;
 	padding: 15px;
 	width: 400px;
 }
 #level-content ul {
 	width: auto;
 }
 #level-content ul li {
 	background: url(@templates_base@/img/bullet-level5.png) no-repeat 0 7px;
 	float: left;
 	font-size: 1em;
 	font-weight: normal;
 	padding: 0 10px 7px 10px;
 	width: 180px;
 }
 #level-content ul li a {
 	color: #3c3c3c;
 	line-height: 20px;
 	padding: 0;
 	text-decoration: underline;
 }
 #level-content ul li a:hover,
 #level-content ul li a:focus {
 	background: none;
 	color: #2a80d3;
 }
 
 #level-good {
 	background-color: #fff;
 	float: left;
 	padding: 15px;
 	text-align: center;
 	width: 120px;
 }
 #level-good .price { padding: 10px 0; }
 
 /* Content
 *******************************************************************************/
 #content {
 	background-color: #f7f7f7;
 	padding: 32px 0;
 	width: 100%;
 }
 #content .padding {
 	margin: 0 auto;
 	position: relative;
 	width: 960px;
 }
 #content .block-fixed {
 	background-color: #fff;
 	border: 1px solid #d0d0d0;
 	padding: 13px 11px 0 11px;
 	position: absolute;
 	margin: 40px 0 0 -100px;
 }
 #content .block-fixed div { padding-bottom: 13px; }
 
 .button-addtocart {
 	background: url(@templates_base@/img/button-addtocart-left.jpg) no-repeat 0 0;
 	color: #faffed;
 	display: inline-block;
 	font-size: 0.846em;
 	text-shadow: #000 0px 1px 1px;
 	text-decoration: none;
 }
 .button-addtocart span {
 	background: url(@templates_base@/img/button-addtocart-right.jpg) no-repeat 100% 0;
 	display: inline-block;
 	height: 40px;
 	padding: 5px 6px 0;
 	text-align: center;
 }
 .button-addtocart span i { display: block; margin-top: -4px; }
 .button-addtocart:hover { color: #faffed; text-shadow: #000 0px 1px 1px; }
 
 #content .leftcol {
 	float: left;
 	padding: 0 20px 0 0;
 	width: 230px;
 }
 #content .rightcol {
 	float: left;
 	padding: 0 0 0 20px;
 	width: 230px;
 }
 #content .contentcol {
 	float: left;
 	width: 710px;
 }
 
 .subscribe-block {
 	background: url(@templates_base@/img/subs.png) no-repeat 0 100%;
 	padding: 0 16px 11px 0;
 	width: 214px;
 }
 .subscribe-block h4 {
 	background: url(@templates_base@/img/subs-top.png) no-repeat 0 0;
 	font-size: 1.077em;
 	font-weight: bold;
 	padding: 14px 0 0 16px;
 	width: 214px;
 }
 .subscribe-block fieldset {
 	padding: 10px 0 0 16px;
 	text-align: left;
 	width: 214px;
 }
 input.field,
 textarea.field,
 select.field,
 select.field-alt {
 	background: url(@templates_base@/img/bg-field.jpg) repeat-x 0 0;
 	border: 1px solid #828282;
 	height: 24px;
 	line-height: 24px;
 	margin-bottom: 5px;
 	padding: 0 5px;
 }
 select.field { padding: 0 0 0 5px; }
 select.field-alt { margin: 0; padding: 0 0 0 5px; }
 input.field:focus,
 textarea.field:focus,
 select.field-alt:focus,
 select.field:focus { border: 1px solid #000; }
 
 .form select.field { width: 360px; }
 
 .form input.subsfield { width: 190px; }
 
 /*** Block ***/
 .block {
 	background: url(@templates_base@/img/bg-block-bottom.jpg) no-repeat 0 100%;
 	margin: 0 0 10px;
 	padding: 0 0 8px;
 }
 .block .block-top {
 	background: url(@templates_base@/img/bg-block-top.jpg) no-repeat 0 100%;
 	height: 8px;
 	width: 100%;
 }
 .block.no-border-bottom {
 	background: none;
 	padding: 0;
 }
 .block.block-margin { margin: 0 0 20px; }
 .block h2 {
 	background: url(@templates_base@/img/h1-left.png) no-repeat 0 0;
 	height: 36px;
 	line-height: 36px;
 	padding-left: 14px;
 	position: relative;
 	z-index: 10;
 }
 .block h2 em,
 .block h2 a {
 	color: #fefefe;
 	font-size: 1.154em;
 	font-weight: bold;
 	font-style: normal;
 	position: relative;
 	z-index: 150;
 }
+
+.block h2 em.filter-header {
+	padding-left: 14px;
+}
+
 .block h2 a { text-decoration: underline; }
 .block h2 i {
 	background: url(@templates_base@/img/bc-step.png) no-repeat 50% 50%;
 	padding: 0 15px;
 }
 .block h2 span {
 	background: url(@templates_base@/img/h1-right.png) no-repeat 100% 0;
 	height: 53px;
 	position: absolute;
 	top: -3px; right: -6px;
 	width: 136px;
 	z-index: 50;
 }
 .block h2 span.new { background: url(@templates_base@/img/h1-right-new.png) no-repeat 100% 0; }
 .block h2 span.pick { background: url(@templates_base@/img/h1-right-pick.png) no-repeat 100% 0; }
 .block h2 span.sale { background: url(@templates_base@/img/h1-right-sale.png) no-repeat 100% 0; }
 .block h2 span.bullet { background: url(@templates_base@/img/h1-right-bullet.png) no-repeat 100% 0; }
 
 .block.alt-block {
 	background: none;
 }
 .block.alt-block h2 {
 	background: url(@templates_base@/img/bg-block.png) no-repeat 0 0;
 	padding-left: 0;
 }
 .block.alt-block h2.active {
 	background-position: 0 100%;
 }
 .block.alt-block h2 a {
 	display: block;
-	height: 36px;
-	line-height: 36px;
-	padding-left: 14px;
-	text-decoration: none;
+	float: right;
+	line-height: 8px;
+	padding-top: 8px;
+	padding-right: 8px;
 }
 
 .block .block-content {
 	background-color: #fff;
 	border: 1px solid #d0d0d0;
 	border-top: none;
 	padding: 15px;
 	-webkit-border-bottom-right-radius: 5px;
 	-webkit-border-bottom-left-radius: 5px;
 	-moz-border-radius-bottomright: 5px;
 	-moz-border-radius-bottomleft: 5px;
 	border-bottom-right-radius: 5px;
 	border-bottom-left-radius: 5px;
 }
 
 .block .block-content.noactive { display: none; }
 
 .manufacturer dt {
 	float: left;
 	width: 155px;
 }
 .manufacturer dd {
 	float: left;
 	text-align: right;
 	width: 40px;
 }
 .manufacturer .active {
 	color: #0171e4;
 }
 .manufacturer label { text-decoration: underline; }
 
 .slider-vertical {
 	background: url(@templates_base@/img/bg-vertslider-full.png) no-repeat 0 0;
 	float: left;
 	padding: 5px 0 0;
 }
 .slider-vertical .ui-slider-range {
 	background: url(@templates_base@/img/bg-vertslider-a.png) repeat-y 0 0;
 	margin: 0 0 0 7px;
 }
 
 .slider-vertical .ui-slider-handle {
 	background: url(@templates_base@/img/point-vertslider.png) no-repeat 0 0;
 	height: 9px;
 	margin: 0;
 	width: 16px;
 }
 
 .range-block {
 	margin: 0 auto;
 	padding: 10px 0 0;
 	width: 120px;
 }
 .range-block ul.range {
 	color: #333;
 	float: left;
 	margin-right: 10px;
 	position: relative;
 	top: -7px;
 	width: 50px;
 }
 .range-block ul.range li {
 	padding: 0 0 10px;
 	text-align: right;
 }
 .range-block ul.range li:last-child { padding: 0; }
 
 .range-block ul.range2 {
 	color: #a0a0a0;
 	float: left;
 	margin-left: 10px;
 	position: relative;
 	top: 4px;
 	width: 20px;
 }
 .range-block ul.range2 li {
 	font-size: 0.846em;
 	padding: 0 0 10px;
 	text-align: left;
 }
 .range-block ul.range2 li:last-child { padding: 0; }
 
 
 /*** Accordion menu ***/
 #accordion-menu {
 	border-left: 1px solid #d0d0d0;
 	border-right: 1px solid #d0d0d0;
 }
 #accordion-menu h3 {
 	background: #fff url(@templates_base@/img/bg-point-menu.jpg) repeat-x 0 100%;
 	border-bottom: 1px solid #d0d0d0;
 	color: #666;
 	cursor: pointer;
 	font-size: 1.077em;
 	font-weight: bold;
 	padding: 10px 14px;
 	position: relative;
 }
 #accordion-menu h3.active {
 	background: #1b6bc7 url(@templates_base@/img/bg-point-menu-active.jpg) repeat-x 0 0;
 	color: #fff;
 }
 #accordion-menu a { padding-left: 20px; text-decoration: none; }
 #accordion-menu a:hover, #accordion-menu a:focus { text-decoration: underline; }
 #accordion-menu h3.active a { color: #fff; }
 #accordion-menu .ui-icon-circle-arrow-e {
 	background: url(@templates_base@/img/bullet-menu.png) no-repeat 0 0;
 	height: 6px;
 	width: 10px;
 }
 #accordion-menu.alt-menu .ui-icon-circle-arrow-e {
 	margin-top: -4px;
 	position: absolute;
 	top: 50%;
 }
 #accordion-menu .ui-icon-circle-arrow-s {
 	background: url(@templates_base@/img/bullet-menu.png) no-repeat 0 -6px;
 	height: 6px;
 	width: 10px;
 }
 #accordion-menu .ui-icon-circle-arrow-a {
 	background: url(@templates_base@/img/bullet-menu.png) no-repeat 0 -12px;
 	height: 10px;
 	margin-top: -5px;
 	position: absolute;
 	top: 50%;
 	width: 8px;
 }
 #accordion-menu div {
 	background-color: #fff;
 	border-bottom: 1px solid #d0d0d0;
 }
 #accordion-menu div ul { padding: 10px 0 10px 7px; }
 #accordion-menu div ul li { padding: 3px 0 5px 7px; }
 #accordion-menu div ul li.active {
 	background: url(@templates_base@/img/bg-subcategory.png) repeat-x 0 0;
 }
 #accordion-menu div ul a { color: #333; padding-left: 0; }
 #accordion-menu div ul li.active a { color: #fff; }
 
 #accordion-menu div ul li ul { padding: 10px 0 0 25px; }
 #accordion-menu div ul li ul li {
 	background: url(@templates_base@/img/point-subcategory.png) no-repeat 0 7px;
 	font-size: 0.923em;
 	padding: 2px 0 2px 10px;
 }
 #accordion-menu div ul li.active ul a { color: #333; }
 
 /*** Good item ***/
 .good-item {
 	background-color: #fff;
 	width: auto;
 }
 .good-item.good-item-narrow {
 	margin: 5px 5px 0 0;
 	width: 171px;
 }
 .good-item.good-item-narrow-last {
 	margin-right: 0;
 }
 .good-item.good-item-float {
 	float: left;
 	height: 290px;
 }
 .good-item.border-radius-bottom {
 	border: 1px solid #d0d0d0;
 	border-top: none;
 	-webkit-border-bottom-right-radius: 5px;
 	-webkit-border-bottom-left-radius: 5px;
 	-moz-border-radius-bottomright: 5px;
 	-moz-border-radius-bottomleft: 5px;
 	border-bottom-right-radius: 5px;
 	border-bottom-left-radius: 5px;
 }
 .good-item.border-radius {
 	border: 1px solid #d0d0d0;
 	-webkit-border-radius: 5px;
 	-moz-border-radius: 5px;
 	border-radius: 5px;
 }
 .good-item dl {
 	padding: 14px 16px 0;
 	text-align: center;
 }
 .good-item dl dd { padding-bottom: 15px; }
 .good-item.comparing-items dl {
 	border-bottom: 1px dotted #b5b5b5;
 	padding: 14px 0;
 	margin: 0 16px;
 }
 .good-item.comparing-items dl.last {
 	border-bottom: none;
 }
 .good-item.comparing-items .buttons {
 	padding: 15px 0;
 	text-align: center;
 	width: 210px;
 }
 .good-item dl dt { padding-bottom: 15px; }
 .good-item dl dt a {
 	font-size: 1.077em;
 	font-weight: bold;
 }
 .good-item .img { height: 140px; }
 .good-item .price {
 	font-size: 1.846em;
 	font-weight: bold;
 	font-style: normal;
 	padding: 10px 0;
 }
 .good-item .price span {
 	font-size: 0.708em;
 }
 .good-item .addtocart {
 	background: url(@templates_base@/img/addtocart-left.jpg) no-repeat 0 0;
 	color: #faffed;
 	display: inline-block;
 	font-size: 1.077em;
 	font-weight: bold;
 	text-shadow: #000 0px 1px 1px;
 	text-decoration: none;
 }
 .good-item .addtocart span {
 	background: url(@templates_base@/img/addtocart-right.jpg) no-repeat 100% 0;
 	display: inline-block;
 	height: 33px;
 	line-height: 33px;
 	padding: 0 20px;
 }
 
 .good-item .addedtocart {
 	color: #3d901f;
 	font-size: 1.154em;
 }
 
 /*** Scrollable ***/
 #scrollable {
 	position:relative;
 	overflow: hidden;
 	width: 710px;
 	height: 309px;
 	background-color: #fff;
 	margin: 5px 0
 }
 #scrollable .items {
 	border-top: 1px solid #d0d0d0;
 	border-bottom: 1px solid #d0d0d0;
 	height: 307px;
 	margin: 0 30px;
 	position: relative;
 	width: 650px;
 }
 #scrollable .good-item {
 	background: url(@templates_base@/img/delimiter-special.gif) repeat-y 100% 0;
 	position:relative;
 	width:222px;
 	height: 280px;
 	margin: 16px 0;
 }
 #scrollable .good-item dl { padding: 0 16px; }
 #scrollable .good-item dl dt { height: 35px; }
 #scrollable .good-item dl dd .price { color: #c2120a; }
 
 #scrollable .good-item dl dd .price-deal {
 	padding: 10px 0;
 }
 #scrollable .good-item dl dd .price-deal s.under {
 	font-size: 1.308em;
 	font-weight: bold;
 	padding-right: 10px;
 }
 #scrollable .good-item dl dd .price-deal s.under span {
 	font-size: 0.706em;
 }
 #scrollable .ca-nav span {
 	width:30px;
 	height:309px;
 	background:transparent url(@templates_base@/img/special-navi.png) no-repeat 0 0;
 	position:absolute;
 	top:0;
 	left:0;
 	text-indent:-9000px;
 	cursor:pointer;
 	z-index:8;
 }
 #scrollable .ca-nav span.ca-nav-prev:hover {
 	background-position:-30px 0;
 }
 #scrollable .ca-nav span.ca-nav-next {
 	background-position:-60px 0;
 	left:auto;
 	right:0;
 }
 #scrollable .ca-nav span.ca-nav-next:hover {
 	background-position:-90px 0;
 }
 
 #content .content,
 #content .compare {
 	margin: 5px 0 0;
 	padding: 20px 30px;
 }
 #content .content.border-radius,
 #content .goods.border-radius,
 #content .items.border-radius,
 #content .compare.border-radius {
 	background-color: #fff;
 	border: 1px solid #d0d0d0;
 	-webkit-border-radius: 5px;
 	-moz-border-radius: 5px;
 	border-radius: 5px;
 	width: auto;
 }
 #content .content p {
 	font-size: 1.077em;
 	line-height: 1.5em;
 }
 
 #feedback {
 	background: url(@templates_base@/img/con-contact.jpg) no-repeat 100% 0;
 	font-size: 0.929em;
 	padding: 20px 330px 0 0;
 }
 #feedback p.req {
 	border-bottom: 1px solid #d0d0d0;
 	color: #3e85d2;
 	font-size: 1em;
 	font-weight: bold;
 	margin-bottom: 15px;
 	padding: 0 0 5px;
 }
 span.star {
 	color: #3e85d2;
 	font-weight: bold;
 }
 #feedback p {
 	clear: both !important;
 	padding: 5px 0;
 }
 #feedback label {
 	float: left;
 	font-weight: bold;
 	padding: 5px 0;
 	white-space: nowrap;
 	width: 110px;
 }
 .form .field {
 	border: 1px solid #b4b4b4;
 	width: 350px;
 }
 #feedback input.field,
 #feedback span.radios,
 #feedback textarea {
 	float: left;
 }
 #feedback textarea {
 	background: url(@templates_base@/img/bg-textarera.jpg) repeat-x 0 0;
 	border: 1px solid #b4b4b4;
 	height: 120px;
 	width: 450px;
 }
 #feedback .radio label { width: 240px; }
 #feedback span.radios { padding: 5px 0; }
 
 #feedback .buttons {
 	padding: 10px 0 0 110px;
 }
 
 .form .green-button {
 	background: url(@templates_base@/img/bg-buttons.jpg) no-repeat 0 0;
 	border: none;
 	color: #fff;
 	font-weight: bold;
 	height: 26px;
 	padding-bottom: 1px;
 	width: 90px;
 }
 .form .grey-button, .form .green-button[disabled] {
 	background: url(@templates_base@/img/bg-buttons.jpg) no-repeat 0 100%;
 	border: none;
 	color: #000;
 	font-weight: bold;
 	height: 26px;
 	padding-bottom: 1px;
 	width: 90px;
 }
 
 .green-but {
 	background: url(@templates_base@/img/bg-button-left.png) no-repeat 0 0;
 	color: #fff;
 	display: inline-block;
 	font-weight: bold;
 	height: 26px;
 	line-height: 26px;
 	margin: 0 20px 0 0;
 	padding: 0 0 0 20px;
 	text-decoration: none;
 }
 .green-but:hover { color: #fff; text-decoration: none; }
 .green-but span {
 	background: url(@templates_base@/img/bg-button-right.png) no-repeat 100% 0;
 	display: inline-block;
 	height: 26px;
 	margin: 0 -19px 0 0;
 	padding: 0 20px 0 0;
 }
 .grey-but {
 	background: url(@templates_base@/img/bg-button-left.png) no-repeat 0 100%;
 	color: #3c3c3c;
 	display: inline-block;
 	font-weight: bold;
 	height: 26px;
 	line-height: 26px;
 	padding: 0 0 0 20px;
 	text-decoration: none;
 }
 .grey-but:hover { color: #3c3c3c; text-decoration: none; }
 .grey-but span {
 	background: url(@templates_base@/img/bg-button-right.png) no-repeat 100% 100%;
 	display: inline-block;
 	height: 26px;
 	margin: 0 -19px 0 0;
 	padding: 0 20px 0 0;
 }
 
 /*** Login form ***/
 .login-form {
 	padding: 0;
 }
 .login-form p {
 	padding: 5px 0;
 }
 .login-form label {
 	display: block;
 	font-weight: bold;
 	padding-bottom: 5px;
 }
 .login-form .field {
 	width: 230px;
 }
 
 /* Footer
 *******************************************************************************/
 #footer {
 	margin: 0 auto;
 	width: 960px;
 }
 #footer .copy {
 	float: left;
 	font-family: Tahoma,Arial,Verdana,Sans-Serif;
 	padding-top: 18px;
 	width: 580px;
 }
 #footer .copy .doplinks {
 	color: #a8a8a8;
 	padding-top: 15px;
 }
 #footer .copy .doplinks a { padding: 0 15px; }
 #footer .copy .doplinks a:first-child { padding-left: 0; }
 #footer .links {
 	background: url(@templates_base@/img/bg-blinks.jpg) no-repeat 0 0;
 	float: left;
 	padding: 18px 0 36px 16px;
 	width: 124px;
 }
 #footer .links ul li {
 	background: url(@templates_base@/img/li-blinks.gif) no-repeat 0 6px;
 	padding: 0 0 0 11px;
 }
 #footer .payment {
 	float: left;
 	font-weight: bold;
 	padding: 18px 0 36px;
 	text-align: right;
 	width: 230px;
 }
 #footer .payment .logos {
 	padding: 0 0 20px;
 }
 #footer .payment a {
 	padding: 0 3px;
 }
 
 
 .basketStatus {
 	position: absolute;
 	top: 153px;
 	left: 247px;
 	display: block;
 	z-index: 5000;
 }
 .basketStatus .basketContent {
 	background-color: #fff;
 	width: 230px;
 	font-weight: bold;
 	position:relative;
 	z-index:5001;
 	color: #333;
 	padding: 12px 25px;
 	box-shadow: 0 0 3px #444;
 	-moz-box-shadow: 0 0 3px #444;
 	-webkit-box-shadow: 0 0 3px #444;
 	border-radius: 3px;
 	-moz-border-radius: 3px;
 	-webkit-border-radius: 3px;
 }
 .basketStatus .basketArrow {
 	background: url(@templates_base@/img/con-basket-arrow.png) no-repeat 0 0;
 	height: 15px;
 	margin: -55px 0 0 22px;
 	position: relative;
 	width: 26px;
 	z-index: 5006;
 }
 .basketStatus .basketContent .subtitle { color: #62aa2c; padding-bottom: 15px; }
 .basketStatus .basketContent .img {
 	float: left;
 	padding-right: 15px;
 }
 .basketStatus .basketContent .info { color: #333; }
 
 
 /* --- Item Rating Styles --- */
 .ratingblock, .ratingblock div {
 	display: -moz-inline-block;
 }
 
 .voted {
 	color: #999;
 }
 
 .thanks {
 	color: #36AA3D;
 }
 
 .static {
 	color: #5D3126;
 }
 
 .inline-rating {
 	display:-moz-inline-block;
 	display:-moz-inline-box;
 	display:inline-block;
 	vertical-align: middle;
 }
 
 .star-rating,
 .star-rating a:hover,
 .star-rating a:active,
 .star-rating a:focus,
 .star-rating .current-rating{
 	background: url('@templates_base@/img/star_sprite.gif') left -1000px repeat-x;
 }
 .star-rating {
 	position:relative;
 	width:125px;
 	height:25px;
 	overflow:hidden;
 	list-style:none;
 	margin:0;
 	padding:0;
 	background-position: left top;
 }
 
 .star-rating li {
 	display: inline;
 }
 
 .star-rating a,
 .star-rating .current-rating {
 	position:absolute;
 	top:0;
 	left:0;
 	text-indent:-1000em;
 	height:25px;
 	line-height:25px;
 	outline:none;
 	overflow:hidden;
 	border: none;
 }
 
 .star-rating a:hover,
 .star-rating a:active,
 .star-rating a:focus {
 	background-position: left bottom;
 }
 .star-rating a.r1-unit { width:20%;z-index:6; }
 .star-rating a.r2-unit { width:40%;z-index:5; }
 .star-rating a.r3-unit { width:60%;z-index:4; }
 .star-rating a.r4-unit { width:80%; z-index:3; }
 .star-rating a.r5-unit { width:100%; z-index:2; }
 .star-rating .current-rating { z-index:1; background-position: left center; }
 
 .small-star {
 	width:50px;
 	height:10px;
 }
 .small-star, .small-star a:hover, .small-star a:active,
 .small-star a:focus, .small-star .current-rating {
 	background-image: url('@templates_base@/img/star_sprite_small.gif');
 	line-height: 10px;
 	height: 10px;
 }
\ No newline at end of file
Index: branches/1.0.x/inc/js/list_manager.js
===================================================================
--- branches/1.0.x/inc/js/list_manager.js	(revision 14979)
+++ branches/1.0.x/inc/js/list_manager.js	(revision 14980)
@@ -1,257 +1,338 @@
 function ListManager() {}
 
 ListManager.containerSelector = ''; // selector id of container
 ListManager.url = ''; // url to template with list contents
 ListManager.urlParams = {layout: 'list'};
 ListManager.filters = {};
 ListManager.xhrRequests = [];
 ListManager.reloadTimer = null;
 ListManager.reloadTimeout = 1000;
 ListManager.firstLoad = true;
 
 ListManager.getUrl = function () {
 	var $url = this.url;
 }
 
 ListManager.cancelXHRRequests = function () {
 	while ( this.xhrRequests.length > 0 ) {
 		this.xhrRequests.shift().abort();
 	}
 }
 
 ListManager.reload = function ($now) {
 	this.cancelXHRRequests();
 
 	if ( $now === undefined || $now === false ) {
 		this.updateAnchor();
 
 		return;
 	}
 
 	var $container = $(this.containerSelector);
 
 	$container.fadeTo('fast', 0.7);
 
 	var $request = $.post(
 		this.url,
 		this.urlParams,
 		function ($data) {
 			$container.html($data).fadeTo('fast', 1.0);
 		}
 	);
 
 	this.xhrRequests.push($request);
 }
 
 ListManager.scheduleReload = function () {
 	var $me = this;
 
 	clearTimeout(this.reloadTimer);
 
 	this.reloadTimer = setTimeout(function() { $me.reload(); }, this.reloadTimeout);
 }
 
 ListManager.setParam = function ($name, $value, $reload) {
 	if ( $value === undefined || $value === '' ) {
 		// don't pass empty parameters
 		delete this.urlParams[$name];
 	}
 	else {
 		this.urlParams[$name] = $value;
 	}
 
 	if ( $reload === true ) {
 		this.reload();
 	}
 }
 
 ListManager.getParam = function ($name) {
 	return this.urlParams[$name] !== undefined ? this.urlParams[$name] : false;
 }
 
 ListManager.updateAnchor = function () {
 	var $query_string = [],
 		$url_params = sort_object(this.urlParams);
 
 	for (var $param_name in $url_params) {
 		$query_string.push( $param_name + '=' + encodeURIComponent(this.urlParams[$param_name]) );
 	}
 
 	window.location.hash = '#' + $query_string.join('&');
 }
 
 ListManager.parseAnchor = function ($anchor) {
 	var $query_string = {};
 
 	$anchor.replace(
 		new RegExp('([^?=&]+)(=([^&]*))?', 'g'),
 		function($0, $1, $2, $3) {
 			$query_string[$1] = decodeURIComponent($3);
 		}
 	);
 
 	this.urlParams = $query_string;
 
 	// sync values from url params into empty filters on first page with anchor load
 	this.initFilters();
 
 	this.reload(true);
 }
 
+ListManager.replaceFilter = function ($form_id, $form_html) {
+	$('#' + $form_id).replaceWith($form_html);
+}
+
+ListManager.replaceCounters = function ($field, $counters) {
+	// reset all counters in case if we got less, then are displayed right now
+	$('.filter-counter', '#filter-form-' + $field).text('0');
+
+	for (var $option_value in $counters) {
+		$('#' + jq('filter-counter[' + $field + '][' + $option_value + ']')).text($counters[$option_value]);
+	}
+}
+
 ListManager.registerFilter = function ($field) {
 	var $manager = this,
 		$form = $('#filter-form-' + $field);
 
 	$manager.filters[$field] = {'type': $form.attr('filter_type')};
 
-	$('h2:first a', $form).click(
+	/*$('h2:first a', $form).click(
 		function ($e) {
 			var $header = $(this).parent(),
 				$active = $header.hasClass('active');
 
 			$header.toggleClass('active', !$active);
 			$header.next().toggleClass('noactive', $active);
 
 			return false;
 		}
+	);*/
+
+	$('h2:first .reset-filter', $form).click(
+		function ($e) {
+			$manager.resetFilter($field);
+
+			return false;
+		}
 	);
 
 	switch( $manager.filters[$field].type ) {
 		case 'radio':
 			$("input[type='radio']", $form).click(
 				function ($e) {
-					$manager.updateFilterParams();
+					$manager.updateFilterParams($field);
 				}
 			);
 			break;
 
 		case 'checkbox':
 			$("input[type='checkbox']", $form).click(
 				function ($e) {
 					var $checkbox = $(this),
 						$hidden_id = $checkbox.attr('id').replace(/_([\d\w-=]|)+$/, ''),
 						$regexp = new RegExp(jq($hidden_id) + '_([\\d\\w-=]+)');
 
 					if ( $checkbox.val() == '' ) {
 						// "All" checkbox
 						$("input[type='checkbox']", $form).not($checkbox).attr('checked', false);
 					}
 					else if ( $checkbox.is(':checked') ) {
 						$("input[type='checkbox'][value='']", $form).attr('checked', false);
 					}
 
 					update_checkbox_options($regexp, $hidden_id, $form);
 
-					$manager.updateFilterParams();
+					$manager.updateFilterParams($field);
 				}
 			);
 			break;
 	}
 }
 
+ListManager.resetFilters = function ($reload) {
+	for (var $filter_field in this.filters) {
+		this.resetFilter($filter_field, $reload);
+	}
+}
+
+ListManager.resetFilter = function ($field, $reload) {
+	var $manager = this,
+		$form = $('#filter-form-' + $field);
+
+	switch( $manager.filters[$field].type ) {
+		case 'radio':
+			$("input[type='radio'][value='']", $form).attr('checked', true);
+			break;
+
+		case 'checkbox':
+			var	$checkbox = $("input[type='checkbox'][value='']", $form),
+				$hidden_id = $checkbox.attr('id').replace(/_([\d\w-=]|)+$/, ''),
+				$regexp = new RegExp(jq($hidden_id) + '_([\\d\\w-=]+)');
+
+			$checkbox.attr('checked', true);
+			$("input[type='checkbox']", $form).not($checkbox).attr('checked', false);
+
+			update_checkbox_options($regexp, $hidden_id, $form);
+			break;
+
+		case 'range':
+			var	$param_name = 'filters[' + $field + ']',
+				$slider = $('#' + jq($param_name + '_slider') );
+
+			$slider.slider('option', 'values', [$slider.slider('option', 'min'), $slider.slider('option', 'max')]);
+
+			$('#' +  jq($param_name) ).val('');
+			break;
+	}
+
+	$manager.updateFilterParams($field, $reload);
+}
+
 ListManager.initFilters = function () {
 	if ( !this.firstLoad ) {
 		return;
 	}
 
 	for (var $filter_field in this.filters) {
 		this.initFilter($filter_field);
 	}
 
 	this.firstLoad = false;
 }
 
+ListManager.toggleFilter = function ($field, $toggle) {
+	var $form = $('#filter-form-' + $field),
+		$param_value = this.getParam('filters[' + $field + ']');
+
+	if ( $toggle === undefined ) {
+		$toggle = $param_value !== false && $param_value !== '';
+	}
+
+	$('h2:first', $form).toggleClass('active', $toggle);
+	$('h2:first .reset-filter', $form).toggle($toggle);
+}
+
 ListManager.initFilter = function ($field) {
 	var $values = '',
 		$form = $('#filter-form-' + $field),
 		$param_name = 'filters[' + $field + ']',
 		$param_value = this.getParam($param_name);
 
 	if ( $param_value === false || $param_value === '' ) {
 		return;
 	}
 
+	this.toggleFilter($field);
+
 	switch( this.filters[$field].type ) {
 		case 'radio':
 			$('#' +  jq($param_name + '_' + $param_value) ).attr('checked', true);
 			break;
 
 		case 'checkbox':
 			$values = $param_value.substring(1, $param_value.length - 1).split('|');
 
 			for (var $i = 0; $i < $values.length; $i++) {
 				$('#' +  jq($param_name + '_' + $values[$i]) ).attr('checked', true);
 			}
 
 			$('#' +  jq($param_name + '_') ).attr('checked', false);
 			$('#' +  jq($param_name) ).val($param_value);
 			break;
 
 		case 'range':
 			var $slider = $('#' + jq($param_name + '_slider') ),
 				$slider_options = {
-				min: $slider.slider('option', 'min'),
-				max: $slider.slider('option', 'max'),
-				step: $slider.slider('option', 'step')
-			};
+					min: $slider.slider('option', 'min'),
+					max: $slider.slider('option', 'max'),
+					step: $slider.slider('option', 'step')
+				};
 
 			$values = $param_value.split('-');
 			$values = this.invertRange($slider_options, $values[0], $values[1]);
 
 			$slider.slider('option', 'values', $values);
 			$('#' +  jq($param_name) ).val($param_value);
 			break;
 	}
 
 	this.syncChecked( $("input[type=checkbox], input[type=radio]", '#filter-form-' + $field) );
 }
 
 ListManager.invertRange = function ($options, $min, $max) {
 	var	$min_value = $options.min + (($options.max - $max) / $options.step) * $options.step,
 		$max_value = $options.max - (($min - $options.min) / $options.step) * $options.step;
 
 	return [$min_value, $max_value];
 }
 
 ListManager.syncChecked = function ($checkboxes) {
 	$checkboxes.each(
 		function () {
 			var $me = $(this),
 				$checked = $me.is(':checked'),
 				$dt = $me.parent(),
 				$dd = $dt.next();
 
 			$dt.toggleClass('active', $checked);
 			$dd.toggleClass('active', $checked);
 		}
 	);
 }
 
-ListManager.updateFilterParams = function () {
+ListManager.updateFilterParams = function ($current_field, $reload) {
 	var $form_fields;
 
 	for (var $field in this.filters) {
 		$form_fields = $('#filter-form-' + $field).serializeArray();
 
 		for (var $i = 0; $i < $form_fields.length; $i++) {
 			this.setParam($form_fields[$i].name, $form_fields[$i].value);
 		}
 
 		this.syncChecked( $("input[type=checkbox], input[type=radio]", '#filter-form-' + $field) );
 	}
 
-	this.scheduleReload();
+	if ( $current_field !== undefined ) {
+		this.toggleFilter($current_field);
+		this.setParam('exclude_filters', $current_field);
+	}
+
+	if ( $reload === undefined || $reload === true ) {
+		this.scheduleReload();
+	}
 }
 
 ListManager.init = function () {
 	var $manager = this;
 
 	this.firstLoad = window.location.hash.length > 1;
 
 	$('body').bind(
 		'anchorchanged',
 		function ($e, $anchor) {
 			$manager.parseAnchor($anchor);
 		}
 	);
 }
\ No newline at end of file
Index: branches/1.0.x/elements/filters.elm.tpl
===================================================================
--- branches/1.0.x/elements/filters.elm.tpl	(revision 14979)
+++ branches/1.0.x/elements/filters.elm.tpl	(revision 14980)
@@ -1,125 +1,151 @@
 <inp2:m_DefineElement name="filter_text_block" PrefixSpecial="item-filter" filter_type="text" is_list="0">
 	<input type="text" name="<inp2:FilterInputName/>" id="<inp2:FilterInputName/>" value="<inp2:FilterField/>"/>
 </inp2:m_DefineElement>
 
 
 <inp2:m_DefineElement name="filter_select_block" PrefixSpecial="item-filter" filter_type="select" is_list="0">
 	<select name="<inp2:FilterInputName/>" id="<inp2:FilterInputName/>">
 
 	</select>
 </inp2:m_DefineElement>
 
 
 <inp2:m_DefineElement name="filter_radio_element">
 	<dt<inp2:m_if check="m_Param" name="selected"> class="active"</inp2:m_if>>
 		<input type="radio"<inp2:m_if check="m_Param" name="selected"> checked</inp2:m_if> name="<inp2:FilterInputName/>" id="<inp2:FilterInputName/>_<inp2:m_param name='key'/>" value="<inp2:m_param name='key'/>"/>&nbsp;<label for="<inp2:FilterInputName/>_<inp2:m_param name='key'/>"><inp2:m_Param name="title"/></label>
 	</dt>
-	<dd<inp2:m_if check="m_Param" name="selected"> class="active"</inp2:m_if>>(<inp2:m_Param name="count"/>)</dd>
+	<dd<inp2:m_if check="m_Param" name="selected"> class="active"</inp2:m_if>>(<span id="filter-counter[<inp2:m_Param name='filter_field'/>][<inp2:m_param name='key'/>]" class="filter-counter"><inp2:m_Param name="count"/></span>)</dd>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="filter_radio_block" PrefixSpecial="item-filter" filter_type="radio" is_list="0">
 	<dl class="manufacturer">
 		<inp2:ListFilterOptions render_as="filter_radio_element" pass_params="1"/>
 	</dl>
 	<div class="clear"></div>
 </inp2:m_DefineElement>
 
 
 <inp2:m_DefineElement name="filter_checkbox_element" form_id="">
 	<dt<inp2:m_if check="m_Param" name="selected"> class="active"</inp2:m_if>>
 		<input type="checkbox"<inp2:m_if check="m_Param" name="selected"> checked</inp2:m_if> id="<inp2:FilterInputName/>_<inp2:m_param name='key'/>" value="<inp2:m_param name='key'/>"/>&nbsp;<label for="<inp2:FilterInputName/>_<inp2:m_param name='key'/>"><inp2:m_Param name="title"/></label>
 	</dt>
-	<dd<inp2:m_if check="m_Param" name="selected"> class="active"</inp2:m_if>>(<inp2:m_Param name="count"/>)</dd>
+	<dd<inp2:m_if check="m_Param" name="selected"> class="active"</inp2:m_if>>(<span id="filter-counter[<inp2:m_Param name='filter_field'/>][<inp2:m_param name='key'/>]" class="filter-counter"><inp2:m_Param name="count"/></span>)</dd>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="filter_checkbox_block" PrefixSpecial="item-filter" filter_type="checkbox" is_list="0">
 	<dl class="manufacturer">
 		<inp2:ListFilterOptions render_as="filter_checkbox_element" form_id="filter-form-{$filter_field}" pass_params="1"/>
 	</dl>
 	<div class="clear"></div>
 
 	<input type="hidden" name="<inp2:FilterInputName/>" id="<inp2:FilterInputName/>" value="<inp2:FilterField/>"/>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="filter_range_value_element">
 	<li>
 		<!--##<inp2:m_param name='key'/>; ##--><inp2:m_Param name="title"/>
 	</li>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="filter_range_count_element">
-	<li>(<inp2:m_Param name="count"/>)</li>
+	<li>(<span id="filter-counter[<inp2:m_Param name='filter_field'/>][<inp2:m_param name='key'/>]" class="filter-counter"><inp2:m_Param name="count"/></span>)</li>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="filter_range_block" PrefixSpecial="item-filter" filter_type="range" is_list="0">
 	<div class="range-block">
 		<ul class="range">
 			<inp2:ListFilterOptions render_as="filter_range_value_element" pass_params="1"/>
 		</ul>
 		<div class="slider-vertical" id="<inp2:FilterInputName/>_slider" style="height:260px;"></div>
 		<ul class="range2">
 			<inp2:ListFilterOptions render_as="filter_range_count_element" pass_params="1"/>
 		</ul>
 		<div class="clear"></div>
 	</div>
 
 	<script type="text/javascript">
 		$(document).ready(
 			function() {
 				var $slider_options = {
 						min: <inp2:m_Get name="min_range_value"/>,
 						max: <inp2:m_Get name="max_range_value"/>,
 						step: <inp2:m_Get name="range_step"/>
 					},
 					$options = {
 						orientation: 'vertical',
 						range: true,
 						values: [<inp2:m_Get name="selected_from_range"/>, <inp2:m_Get name="selected_to_range"/>],
 						change: function(event, ui) {
 							//  jQuery UI slider has inverted range - fix that here
 							var $selected_range = ListManager.invertRange($slider_options, ui.values[0], ui.values[1]);
 
-							$('#' + jq('<inp2:FilterInputName/>')).val($selected_range[0] + '-' + $selected_range[1]);
-							ListManager.updateFilterParams();
+							if ( $selected_range[0] == $slider_options.min && $selected_range[1] == $slider_options.max ) {
+								$('#' + jq('<inp2:FilterInputName/>')).val('');
+							}
+							else {
+								$('#' + jq('<inp2:FilterInputName/>')).val($selected_range[0] + '-' + $selected_range[1]);
+							}
+
+							ListManager.updateFilterParams('<inp2:m_Param name="filter_field"/>');
 						}
 					},
 					$values = ListManager.invertRange($slider_options, $options.values[0], $options.values[1]);
 
 				$options.values[0] = $values[0];
 				$options.values[1] = $values[1];
 
 				$.extend($options, $slider_options);
 
 				$( '#' + jq('<inp2:FilterInputName/>_slider') ).slider($options);
 			}
 		);
 	</script>
 
 	<input type="hidden" name="<inp2:FilterInputName/>" id="<inp2:FilterInputName/>" value="<inp2:FilterField/>"/>
 </inp2:m_DefineElement>
 
 
 <inp2:m_DefineElement name="filter_element" PrefixSpecial="item-filter" prefix="" filter_field="" filter_type="" is_list="0">
 	<inp2:m_IFDataExists>
 		<inp2:m_ifnot check="m_Param" name="is_list">
 			<inp2:ReloadItem prefix="$prefix" field="$filter_field"/>
 		</inp2:m_ifnot>
 
 		<form action="<inp2:m_FormAction/>" id="filter-form-<inp2:m_Param name='filter_field'/>" method="post" class="filter-form" filter_field="<inp2:m_Param name='filter_field'/>" filter_type="<inp2:m_Param name='filter_type'/>">
 			<div class="block alt-block">
-				<h2 class="active"><a href="#">Filter by <inp2:m_Phrase name="lu_fld_{$filter_field}"/></a></h2>
+				<h2>
+					<em class="filter-header">
+						Filter by <inp2:m_Phrase name="lu_fld_{$filter_field}"/>
+					</em>
+
+					<a href="#" class="reset-filter" style="display: none;">
+						<img src="<inp2:m_TemplatesBase/>img/btn_reset_filter.png" width="18" height="18" alt="Reset Filter"/>
+					</a>
+				</h2>
 				<div class="block-content">
 					<inp2:m_RenderElement name="filter_{$filter_type}_block" pass_params="1"/>
 				</div>
 			</div>
 
 			<script type="text/javascript">
 				$(document).ready(
 					function () {
 						ListManager.registerFilter('<inp2:m_Param name="filter_field"/>');
 					}
 				);
 			</script>
 		</form>
 	</inp2:m_IFDataExists>
 </inp2:m_DefineElement>
+
+<inp2:m_DefineElement name="filter_counter_element">
+	'<inp2:m_Param name="key"/>': <inp2:m_Param name="count"/><inp2:m_ifnot check="m_Param" name="is_last">,</inp2:m_ifnot>
+</inp2:m_DefineElement>
+
+<inp2:m_DefineElement name="filter_counters_element">
+	ListManager.replaceCounters('<inp2:m_Param name="filter_field"/>', {<inp2:ListFilterOptions render_as="filter_counter_element" pass_params="1" strip_nl="2"/>});
+</inp2:m_DefineElement>
+
+<inp2:m_DefineElement name="used_filter_element">
+	ListManager.replaceFilter('filter-form-<inp2:m_Param name="filter_field"/>', '<inp2:m_RenderElement name="filter_element" pass_params="1" js_escape="1"/>');
+</inp2:m_DefineElement>
\ No newline at end of file
Index: branches/1.0.x/elements/sorting.elm.tpl
===================================================================
--- branches/1.0.x/elements/sorting.elm.tpl	(revision 14979)
+++ branches/1.0.x/elements/sorting.elm.tpl	(revision 14980)
@@ -1,135 +1,136 @@
 <inp2:m_DefaultParam prefix="" list_name="" layout="list" ajax="0"/>
 
 <div class="filter-block">
 	<div class="paginate">
 		<a href="#prev" class="prev"><img src="<inp2:m_TemplatesBase/>img/arrow-left.png" width="7" height="13" alt="" /></a>&nbsp;
 		Products
 		<select id="paginate">
 			<inp2:m_DefineElement name="option_page_current">
 				<option value="<inp2:m_param name='page'/>" selected><inp2:m_param name="from_record"/> - <inp2:m_param name="to_record"/></a>
 			</inp2:m_DefineElement>
 
 			<inp2:m_DefineElement name="option_page_link">
 				<option value="<inp2:m_param name='page'/>"><inp2:m_param name="from_record"/> - <inp2:m_param name="to_record"/></a>
 			</inp2:m_DefineElement>
 
 			<inp2:$prefix_PaginationBar list_name="$list_name" current_render_as="option_page_current" link_render_as="option_page_link"/>
 		</select>
 		out of <inp2:p_TotalRecords/>&nbsp;
 		<a href="#next" class="next"><img src="<inp2:m_TemplatesBase/>img/arrow-right.png" width="7" height="13" alt="" /></a>
 	</div>
 
 	<div class="sortby">
 		<form method="post" action="<inp2:m_FormAction/>">
 			Sort by:
 			<select name="<inp2:p_CombinedSortingDropDownName/>" id="sorting">
 				<option value="Name|asc" <inp2:p_SortingSelected sorting="l1_Name|asc" selected='selected="selected"'/>>Name</option>
 				<option value="Price|asc" <inp2:p_SortingSelected sorting="Price|asc" selected='selected="selected"'/>>Price Low</option>
 				<option value="Price|desc" <inp2:p_SortingSelected sorting="Price|desc" selected='selected="selected"'/>>Price High</option>
 				<option value="CachedRating|asc" <inp2:p_SortingSelected sorting="CachedRating|asc" selected='selected="selected"'/>>Rating</option>
 			</select>&nbsp;&nbsp;
 
 			Per Page:
 			<select name="<inp2:{$prefix}_VarName type='PerPage'/>" id="per-page">
 				<option value="10" <inp2:$prefix_PerPageSelected per_page="10" selected='selected="selected"'/>>10</option>
 				<option value="20" <inp2:$prefix_PerPageSelected per_page="20" selected='selected="selected"'/>>20</option>
 				<option value="50" <inp2:$prefix_PerPageSelected per_page="50" selected='selected="selected"'/>>50</option>
 				<option value="-1" <inp2:$prefix_PerPageSelected per_page="-1" selected='selected="selected"'/>>All</option>
 			</select>&nbsp;&nbsp;
 		</form>
 
-		<a href="#" id="per-page-all">Show All</a>
+		<a href="#" id="show-all">Show All</a>
 	</div>
 
 	<div class="display_switch">
 		<a href="#" class="switch_thumb" layout="<inp2:m_Param name='layout'/>"></a>
 	</div>
 
 	<script type="text/javascript">
 		$(document).ready(
 			function() {
 				$('a.switch_thumb').click(
 					function ($e) {
 						var $me = $(this);
 
 						if ( $me.attr('layout') == 'list' ) {
 							$me.addClass('swap');
 
 							$('ul.display').fadeOut(
 								'fast',
 								function() {
 									$me.attr('layout', 'grid');
 									ListManager.setParam('layout', 'grid');
 
 									$('div.items').removeClass('border-radius').addClass('items-alt');
 									$(this).fadeIn('fast').addClass('thumb_view');
 								}
 							);
 						}
 						else {
 							$me.removeClass('swap');
 
 							$('ul.display').fadeOut(
 								'fast',
 								function() {
 									$me.attr('layout', 'list');
 									ListManager.setParam('layout', 'list');
 
 									$('div.items').addClass('border-radius').removeClass('items-alt');
 									$(this).fadeIn('fast').removeClass('thumb_view');
 								}
 							);
 						}
 
 						return false;
 					}
 				);
 
 				$('#paginate').change(
 					function () {
 						ListManager.setParam('page', $(this).val(), true);
 					}
 				);
 
 				$('.prev, .next', '.paginate').click(
 					function ($e) {
 						var $option = $('option:selected', '#paginate')[ $(this).attr('class') ]();
 
 						if ( $option.length ) {
 							$('#paginate').val( $option.attr('value') ).change();
 						}
 
 						return false;
 					}
 				);
 
 				$('#sorting').change(
 					function ($e) {
 						ListManager.setParam('sort_by', $(this).val().replace('|', ','), true);
 					}
 				);
 
 				$('#per-page').change(
 					function ($e) {
 						var $per_page = $(this).val();
 
 						if ( $per_page == -1 ) {
 							ListManager.setParam('page', '');
 						}
 
 						ListManager.setParam('per_page', $per_page, true);
 					}
 				);
 
-				$('#per-page-all').click(
+				$('#show-all').click(
 					function () {
+						ListManager.resetFilters(false);
 						$('#per-page').val(-1).change();
 
 						return false;
 					}
 				);
 			}
 		);
 	</script>
 </div>
 <div class="clear"></div>
\ No newline at end of file
Index: branches/1.0.x/elements/content_boxes/products.elm.tpl
===================================================================
--- branches/1.0.x/elements/content_boxes/products.elm.tpl	(revision 14979)
+++ branches/1.0.x/elements/content_boxes/products.elm.tpl	(revision 14980)
@@ -1,44 +1,50 @@
 <inp2:m_DefaultParam prefix="" list_name="" layout="list"/>
 
 <inp2:m_if check="m_Get" name="ajax" equals_to="yes">
 	<inp2:m_NoDebug/>
 	<inp2:m_Get name="list_prefix" result_to_var="prefix"/>
 	<inp2:m_Get name="list_name" result_to_var="list_name"/>
 	<inp2:m_Get name="layout" result_to_var="layout"/>
 </inp2:m_if>
 
 <inp2:$prefix_InitList list_name="$list_name" main_list="1"/>
 
 <inp2:m_Include template="elements/content_boxes.elm" strip_nl="2"/>
 <inp2:m_Include template="elements/product_elements.elm" strip_nl="2"/>
 
 <inp2:m_if check="{$prefix}_TotalRecords" list_name="$list_name">
 	<inp2:m_Include template="elements/sorting.elm" list_name="$list_name" prefix="$prefix" layout="$layout" ajax="1"/>
 
 	<div class="items <inp2:m_if check='m_Param' name='layout' equals_to='list'>border-radius<inp2:m_else/>items-alt</inp2:m_if>">
 		<ul class="display<inp2:m_if check='m_Param' name='layout' equals_to='grid'> thumb_view</inp2:m_if>">
 			<inp2:$prefix_ListProducts list_name="$list_name" render_as="product_list_element"/>
 		</ul>
 		<div class="clear"></div>
 
 		<inp2:m_Include template="elements/pagination.elm" list_name="$list_name" prefix="$prefix" ajax="1"/>
 	</div>
 
 	<script type="text/javascript">
 		$(document).ready(
 			function () {
 				$('.compare-checkbox').click(
 					function ($e) {
 						var $me = $(this);
 
 						compare_product($me.val(), $me.is(':checked'));
 					}
 				);
 
 				$('.addtocart', '#products').click(add_to_cart_handler);
 			}
 		);
 	</script>
 <inp2:m_else/>
 	No Products
 </inp2:m_if>
+
+<inp2:m_include template="elements/filters.elm"/>
+
+<script type="text/javascript">
+	<inp2:item-filter_PrintList render_as="filter_counters_element" list_name="$list_name" prefix="$prefix" is_list="1"/>
+</script>
\ No newline at end of file
Index: branches/1.0.x/img/btn_reset_filter.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: branches/1.0.x/img/btn_reset_filter.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: branches/1.0.x/img/bg-block.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream