Как определить код списка по его значению в xsl-шаблоне?
есть список с кодом 44. Значения списка подставляются в доп. свойство товара с кодом 266. Требуется узнать код в списке для данного значения доп. свойства, чтобы подставить в ссылку:
<a href="{/shop/path}?property_id_266=307" class="cat_title">
<xsl:value-of disable-output-escaping="yes" select="property[@id = 266]/value"/>
</a>
"307" здесь -- то значение (код в списке), которое надо узнать. Как это сделать?
<a href="{/shop/path}?property_id_266=307" class="cat_title">
<xsl:value-of disable-output-escaping="yes" select="property[@id = 266]/value"/>
</a>
"307" здесь -- то значение (код в списке), которое надо узнать. Как это сделать?
Нужный вам узел называется list_item_id
Плохо, что вы не указали, в каком темплейте вы делаете этот вывод, потому что я не знаю, относительно чего вам сказать путь к этому узлу. Так что найдите его в xml и определите путь до него сами.
Плохо, что вы не указали, в каком темплейте вы делаете этот вывод, потому что я не знаю, относительно чего вам сказать путь к этому узлу. Так что найдите его в xml и определите путь до него сами.
Заказов не беру. Консультирую редко.
спасибо, а как в шаблоне определить этот list_item_id по значению свойства?
ну что-то типа
list_item[list_item_value = 'abcd']/list_item_id
Заказов не беру. Консультирую редко.
Попробовал сделать так: из списка товаров в информацию о товаре передаю название марки, а там определяю код марки из списка. Пока сделал так:
Шаблон списка товаров:
<!-- Определяем название марки, чтобы подставить в гиперссылку на товар -->
<xsl:variable name="filter_string">
?mark_code_value=<xsl:value-of select="property[@xml_name = 'Priozvoditel']/value"/>
</xsl:variable>
<!-- Гиперссылка на товар -->
<a href='{/shop/path}{fullpath}{path}/{$filter_string}' class="cat_title">
<span style="font-size: 13pt">
<b>
<xsl:value-of disable-output-escaping="yes" select="name"/>
</b>
</span>
</a>
Гиперссылка формируется нормально.
В типовой динамической странице для информации о товаре написал:
if (isset($_GET['mark_code_value']))
{
$list_item_value = $_GET['mark_code_value'];
$lists = singleton('lists');
$lists_id = '44';
$row = $lists->GetListItemIfIssetValue($lists_id, $list_item_value);
$value = $row['lists_items_id'];
$external_propertys['mark_code'] = 1;
// для отладки: распечатаем код значения списка
print_r($value);
}
Код правильный (печатается при открытии страницы информации о товаре по сформированной на странице списка товаров гиперссылке)
Теперь вопрос: как использовать полученный код значения из списка в xsl-шаблоне информации о товаре?
Я пытался сделать так. В xsl-шаблоне информации о товаре пишу:
<xsl:variable name="filter_code">
<xsl:value-of disable-output-escaping='yes' select='/shop/mark_code'/>
</xsl:variable>
<a href="{/shop/path}?property_id_266={$filter_code}" class="cat_title">
<xsl:value-of disable-output-escaping="yes" select="property[@id = 266]/value"/>
</a>
но $filter_code выходит пустой. Что я делаю не так?
Шаблон списка товаров:
<!-- Определяем название марки, чтобы подставить в гиперссылку на товар -->
<xsl:variable name="filter_string">
?mark_code_value=<xsl:value-of select="property[@xml_name = 'Priozvoditel']/value"/>
</xsl:variable>
<!-- Гиперссылка на товар -->
<a href='{/shop/path}{fullpath}{path}/{$filter_string}' class="cat_title">
<span style="font-size: 13pt">
<b>
<xsl:value-of disable-output-escaping="yes" select="name"/>
</b>
</span>
</a>
Гиперссылка формируется нормально.
В типовой динамической странице для информации о товаре написал:
if (isset($_GET['mark_code_value']))
{
$list_item_value = $_GET['mark_code_value'];
$lists = singleton('lists');
$lists_id = '44';
$row = $lists->GetListItemIfIssetValue($lists_id, $list_item_value);
$value = $row['lists_items_id'];
$external_propertys['mark_code'] = 1;
// для отладки: распечатаем код значения списка
print_r($value);
}
Код правильный (печатается при открытии страницы информации о товаре по сформированной на странице списка товаров гиперссылке)
Теперь вопрос: как использовать полученный код значения из списка в xsl-шаблоне информации о товаре?
Я пытался сделать так. В xsl-шаблоне информации о товаре пишу:
<xsl:variable name="filter_code">
<xsl:value-of disable-output-escaping='yes' select='/shop/mark_code'/>
</xsl:variable>
<a href="{/shop/path}?property_id_266={$filter_code}" class="cat_title">
<xsl:value-of disable-output-escaping="yes" select="property[@id = 266]/value"/>
</a>
но $filter_code выходит пустой. Что я делаю не так?
Надо смотреть в xml и в сам xsl-шаблон, по вашему описанию я ничего определенного сказать не могу
Заказов не беру. Консультирую редко.
ОК, шаблон поиска (списка товаров)
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
<xsl:decimal-format name="my" decimal-separator="," grouping-separator=" "/>
<xsl:template match="/">
<!-- Выводим магазин -->
<xsl:apply-templates select="/shop"/>
</xsl:template>
<!-- Шаблон для магазина -->
<xsl:template match="/shop">
<!-- Получаем ID родительской группы и записываем в переменную $parent_group_id -->
<xsl:variable name="parent_group_id" select="@current_group_id"/>
<!-- Если в находимся корне - выводим название информационной системы -->
<xsl:if test="$parent_group_id=0">
<h1>
<!-- <xsl:value-of disable-output-escaping="yes" select="name"/> -->
</h1>
</xsl:if>
<!-- Если в находимся в группе - выводим название группы -->
<xsl:if test="$parent_group_id!=0">
<h1>
<xsl:value-of disable-output-escaping="yes" select=".//group[@id=$parent_group_id]/name"/>
</h1>
</xsl:if>
<!-- Обработка выбранных тэгов -->
<xsl:if test="count(selected_tags/tag) = 1">
<h2>Метка — <strong><xsl:value-of select="selected_tags/tag/tag_name"/></strong>.</h2>
</xsl:if>
<!-- Путь к группе -->
<div class="path">
<xsl:apply-templates select=".//group[@id=$parent_group_id]" mode="goup_path"/>
</div>
<!-- Сообщение -->
<xsl:if test="message/node()">
<div id="message">
<xsl:value-of disable-output-escaping="yes" select="message" />
</div>
</xsl:if>
<xsl:if test="$parent_group_id!=0">
<!-- Метка для перехода при выводе сообщения -->
<a name="FocusAddItemMessage"></a>
<div id="ShowAddComment">
<a onclick="if (document.getElementById('AddItemForm').innerHTML == '') sendBackgroundRequest('{/shop/path}?action=show_form_add_item&group_id={$parent_group_id}', 'get', callbackfunction_showFormAddItem); else cr('AddItemForm'); return false;" href="javascript:void(0)">Добавить объявление в этот раздел</a>
</div>
<!-- Блок для вывода уведомлений о добавлении объявления или ошибке добавления -->
<div id="AddItemMessage"></div>
<div id="AddItemForm" style="display: block"></div>
</xsl:if>
<xsl:variable name="count">1</xsl:variable>
<!-- Отображение подгрупп данной группы, только если подгруппы есть и не идет фильтра по меткам -->
<xsl:if test="count(selected_tags/tag) = 0 and count(//group[@parent=$parent_group_id]) > 0">
<table width="100%" border="0" cellpadding="3" cellspacing="0">
<tr>
<td valign="top">
<xsl:apply-templates select="//group[@parent=$parent_group_id]">
<xsl:with-param name="style_font">shop_root_title</xsl:with-param>
</xsl:apply-templates>
</td>
</tr>
</table>
</xsl:if>
<xsl:if test="count(item) > 0 or apply_filter = 1">
<div id="body_text">
<div id="table">
<form method="get" action="./" id="AutoFilter">
<div id="allcol">
<div id="menu2">
<table border="0">
<tr>
<td>
<div id="kn1_ser">
<div id="t">
<a onclick="history.back();" href="javascript:void(0)">
Вернуться назад
</a>
</div>
</div>
</td>
</tr>
</table>
</div> <!-- id="menu2" -->
<div id="rightcol">
<div class="form">
<table width="278px" border="0" cellpadding="0" cellspacing="0">
<tr height="45px">
<td><div class="button"></div></td>
</tr>
<tr>
<td>
<p/>
<center><strong>Поиск по параметрам</strong></center>
</td>
</tr>
<tr height="5px">
<td>
</td>
</tr>
<!-- доп. св-во новизна -->
<tr>
<td>
<table border="0">
<td>
<xsl:apply-templates select="properties_for_group/property[@id=265 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</table>
</td>
</tr>
<!-- доп. св-во производитель -->
<tr>
<td>
<table border="0">
<td width="3px">
</td>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=266 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</table>
</td>
</tr>
<!-- цена: от...до... -->
<tr>
<td>
<table border="0">
<td width="8px">
</td>
<td>
Цена от: 
<input name="price_from" size="5" type="text">
<xsl:if test="/shop/price_from != 0">
<xsl:attribute name="value">
<xsl:value-of disable-output-escaping="yes" select="/shop/price_from"/>
</xsl:attribute>
</xsl:if>
</input> 
до: 
<input name="price_to" size="5" type="text">
<xsl:if test="/shop/price_to != 0">
<xsl:attribute name="value">
<xsl:value-of disable-output-escaping="yes" select="/shop/price_to"/>
</xsl:attribute>
</xsl:if>
</input> 
</td>
</table>
</td>
</tr>
<!-- доп. св-во год выпуска: от...до... -->
<tr>
<td>
<table border="0">
<td width="3px">
</td>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=269 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</table>
</td>
</tr>
<!-- год: до 3 лет, 3-5 лет, старше 5 лет -->
<tr>
<td>
<table border="0">
<tr>
<td> 
<input type="checkbox" name="year1" value="1">
<xsl:if test="/shop/year1 = 1">
<xsl:attribute name="checked">checked</xsl:attribute>
</xsl:if>
</input>
до 3 лет
<input type="checkbox" name="year2" value="1">
<xsl:if test="/shop/year2 = 1">
<xsl:attribute name="checked">checked</xsl:attribute>
</xsl:if>
</input>
3-5 лет
<input type="checkbox" name="year3" value="1">
<xsl:if test="/shop/year3 = 1">
<xsl:attribute name="checked">checked</xsl:attribute>
</xsl:if>
</input>
старше 5 лет
</td>
</tr>
</table>
</td>
</tr>
<!-- доп. св-во Тип кузова -->
<tr>
<td>
<table>
<tr height="5px">
</tr>
<tr>
<td width="10px"></td>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=270 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</tr>
</table>
</td>
</tr>
<!-- доп. св-во КПП -->
<tr>
<td>
<table>
<tr height="5px">
</tr>
<tr>
<td width="20px"></td>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=271 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</tr>
</table>
</td>
</tr>
<!-- только с фото -->
<tr>
<td>
<table border="0">
<tr>
<td><br/> 
<input type="checkbox" name="is_photo" value="1">
<xsl:if test="/shop/is_photo = 1">
<xsl:attribute name="checked">checked</xsl:attribute>
</xsl:if>
</input>
только с фото
</td>
</tr>
</table>
</td>
</tr>
<!-- расширенный поиск -->
<tr height="5px">
</tr>
<tr>
<td>
<table>
<tr height="5px">
<td width="5px"></td>
<td>
<div id="ExtendedSearchTitle" onClick="toggle('ExtendedSearchBlock', 'ExtendedSearchImage', 'is_extendedsearchblock');">
<img src="/hostcmsfiles/images/show.gif" id="ExtendedSearchImage" name="ExtendedSearchImage" alt="+" title="показать" value = "1"/>
<a class="b-pseudo-link">
<span>расширенный поиск</span>
</a>
</div>
<div id="ExtendedSearchBlock" style="display:none">
<!-- Доп. свойство: Цвет -->
<table border="0">
<tr height="5px">
</tr>
<tr>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=276 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</tr>
</table>
<!-- Доп. свойство: Руль -->
<table border="0">
<tr height="5px">
</tr>
<tr>
<td>
</td>
<td>
Руль:
</td>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=277 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</tr>
</table>
<!-- Доп. св-во "Привод" -->
<table>
<tr height="5px">
</tr>
<tr>
<td>
</td>
<td>
Привод:
</td>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=278 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</tr>
</table>
<!-- Доп. свойство: Пробег -->
<table border="0">
<tr height="5px">
</tr>
<tr>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=279 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</tr>
</table>
<!-- Доп. свойство: Объём двигателя -->
<table border="0">
<tr height="5px">
</tr>
<tr>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=280 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</tr>
</table>
<!-- Доп. свойство: Тип двигателя -->
<table border="0">
<tr height="5px">
</tr>
<tr>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=281 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</tr>
</table>
</div>
<!-- чекбокс, чтобы отслеживать, свёрнуты доп. св-ва, или нет -->
<input type="checkbox" id="is_extendedsearchblock" name="is_extendedsearchblock" value="1" style="display:none">
<xsl:if test="/shop/is_extendedsearchblock = 1">
<xsl:attribute name="checked">checked</xsl:attribute>
</xsl:if>
</input>
</td>
</tr>
<tr height="5px">
<td width="5px"></td>
<td>
<div id="ExtendedOptionsTitle" onClick="toggle('ExtendedOptionsBlock', 'ExtendedOptionsImage', 'is_extendedoptionsblock');">
<img src="/hostcmsfiles/images/show.gif" id="ExtendedOptionsImage" name="ExtendedOptionsImage" alt="+" title="показать" value = "1"/>
<a class="b-pseudo-link">
<span>опции</span>
</a>
</div>
<div id="ExtendedOptionsBlock" style="display:none">
<!-- Доп. свойство: Климат -->
<table border="0">
<tr height="5px">
</tr>
<tr>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=282 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</tr>
</table>
<!-- Доп. свойство: Подушки безопасности -->
<table border="0">
<tr height="5px">
</tr>
<tr>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=283 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</tr>
</table>
<!-- Доп. свойства: ABS и ксенон -->
<table border="0">
<tr height="5px">
</tr>
<tr>
<td>
<table border="0">
<tr>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=284 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
<td width="20px">
</td>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=285 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<input type="checkbox" id="is_extendedoptionsblock" name="is_extendedoptionsblock" value="1" style="display:none">
<xsl:if test="/shop/is_extendedoptionsblock= 1">
<xsl:attribute name="checked">checked</xsl:attribute>
</xsl:if>
</input>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="2">
<tr>
<td>
<p>
<span style="white-space: nowrap">Товаров на странице:</span> 
<select name="on_page">
<option value="0">…</option>
<xsl:call-template name="for_on_page">
<xsl:with-param name="i" select="10"/>
<xsl:with-param name="n" select="50"/>
</xsl:call-template>
</select> 
<div class="button">
<input name="apply_filter" value="Применить" type="submit"/>
</div>
</p>
<!-- Сортировка товаров -->
<div class="shop_block">
<!-- Определяем ссылку с параметрами фильтра -->
<xsl:variable name="filter">
<xsl:if test="/shop/apply_filter/node()">?action=apply_filter&producer_id=<xsl:value-of select="/shop/producer_id"/>&saller_id=<xsl:value-of select="/shop/saller_id"/>&price_from=<xsl:value-of select="/shop/price_from"/>&price_to=<xsl:value-of select="/shop/price_to"/>&on_page=<xsl:value-of select="/shop/on_page"/>
<xsl:if test="/shop/property_xml/node()">
<!-- GET для доп. свойств -->
<xsl:value-of select="/shop/property_xml"/>
</xsl:if>
</xsl:if>
</xsl:variable>
<!-- Определяем первый символ вопрос или амперсанд -->
<xsl:variable name="first_symbol">
<xsl:choose>
<xsl:when test="$filter != ''">&</xsl:when>
<xsl:otherwise>?</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<table border="0">
<tr>
<td>Сортировать по алфавиту</td>
<td>
<xsl:choose>
<xsl:when test="/shop/sort_by_field = 1 and /shop/order_direction = 'ASC'">
<div class="arrow_up"></div>
<img src="/hostcmsfiles/images/arrow_up.png" style="filter: alpha(opacity=0); margin: 0px 0px -4px 0px" alt="по возрастанию"/>
</xsl:when>
<xsl:otherwise>
<div class="arrow_up_gray"></div>
<a href="{$filter}{$first_symbol}sort_by_field=1&order_direction=1" class="without_decor">
<img src="/hostcmsfiles/images/arrow_up_gray.png" style="filter: alpha(opacity=0); margin: 0px 0px -4px 0px" alt="по возрастанию"/>
</a>
</xsl:otherwise>
</xsl:choose>
</td>
<td>
<xsl:choose>
<xsl:when test="/shop/sort_by_field = 1 and /shop/order_direction = 'DESC'">
<div class="arrow_down"></div>
<img src="/hostcmsfiles/images/arrow_down.png" style="filter: alpha(opacity=0); margin: 0px 0px -4px 0px" alt="по убыванию"/>
</xsl:when>
<xsl:otherwise>
<div class="arrow_down_gray"></div>
<a href="{$filter}{$first_symbol}sort_by_field=1&order_direction=2" class="without_decor">
<img src="/hostcmsfiles/images/arrow_down_gray.png" style="filter: alpha(opacity=0); margin: 0px 0px -4px 0px" alt="по убыванию"/>
</a>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
<tr/>
<tr>
<td>Сортировать по цене</td>
<td>
<xsl:choose>
<xsl:when test="/shop/sort_by_field = 2 and /shop/order_direction = 'ASC'">
<div class="arrow_up"></div>
<img src="/hostcmsfiles/images/arrow_up.png" style="filter: alpha(opacity=0); margin: 0px 0px -4px 0px" alt="по возрастанию"/>
</xsl:when>
<xsl:otherwise>
<a href="{$filter}{$first_symbol}sort_by_field=2&order_direction=1" class="without_decor">
<img src="/hostcmsfiles/images/arrow_up_gray.png" style="filter: alpha(opacity=0); margin: 0px 0px -4px 0px" alt="по возрастанию"/></a>
</xsl:otherwise>
</xsl:choose>
</td>
<td>
<xsl:choose>
<xsl:when test="/shop/sort_by_field = 2 and /shop/order_direction = 'DESC'">
<img src="/hostcmsfiles/images/arrow_down.png" style="filter: alpha(opacity=0); margin: 0px 0px -4px 0px" alt="по убыванию"/>
</xsl:when>
<xsl:otherwise>
<div class="arrow_down_gray"></div>
<a href="{$filter}{$first_symbol}sort_by_field=2&order_direction=2" class="without_decor">
<img src="/hostcmsfiles/images/arrow_down_gray.png" style="filter: alpha(opacity=0); margin: 0px 0px -4px 0px" alt="по убыванию"/>
</a>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</table>
</div>
<!-- Конец Сортировка товаров -->
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</div> <!-- rightcol -->
<div id="leftcol">
<div class="form" >
<tr height="45px">
<p align="center"><strong>СПИСОК АВТО:</strong></p>
</tr>
<div id="table" >
<!-- Определяем ссылку с параметрами фильтра -->
<xsl:variable name="filter">
<xsl:choose>
<xsl:when test="/shop/apply_filter/node()">?action=apply_filter&producer_id=<xsl:value-of select="/shop/producer_id"/>&saller_id=<xsl:value-of select="/shop/saller_id"/>&price_from=<xsl:value-of select="/shop/price_from"/>&price_to=<xsl:value-of select="/shop/price_to"/>&on_page=<xsl:value-of select="/shop/on_page"/>
<xsl:if test="/shop/property_xml/node()">
<!-- GET для доп. свойств -->
<xsl:value-of select="/shop/property_xml"/>
</xsl:if>
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- Определяем первый символ вопрос или амперсанд -->
<xsl:variable name="first_symbol">
<xsl:choose>
<xsl:when test="$filter != ''">&</xsl:when>
<xsl:otherwise>?</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:apply-templates select="item" />
<xsl:if test="count_items > 0 and items_on_page > 0">
<p>
<xsl:call-template name="for">
<xsl:with-param name="items_on_page" select="items_on_page"/>
<xsl:with-param name="current_page" select="current_page"/>
<xsl:with-param name="count_items" select="count_items"/>
<xsl:with-param name="visible_pages" select="5"/>
</xsl:call-template>
</p>
<div style="clear: both"></div>
</xsl:if>
</div>
</div>
</div>
</div> <!-- id="allcol" -->
</form>
</div>
</div>
</xsl:if>
</xsl:template>
<!-- Шаблон для фильтра производителей -->
<xsl:template match="producerslist/producer">
<option value="{@id}">
<xsl:if test="@id = /shop/producer_id">
<xsl:attribute name="selected">
</xsl:attribute>
</xsl:if>
<xsl:value-of disable-output-escaping="yes" select="name"/>
</option>
</xsl:template>
<!-- Шаблон для фильтра продавцов -->
<xsl:template match="sallers/saller">
<option value="{@id}">
<xsl:if test="@id = /shop/saller_id">
<xsl:attribute name="selected">
</xsl:attribute>
</xsl:if>
<xsl:value-of select="sallers_name"/>
</option>
</xsl:template>
<!-- Шаблон для фильтра по дополнительным свойствам -->
<xsl:template match="properties_for_group/property">
<xsl:variable name="nodename">property_id_<xsl:value-of select="@id"/></xsl:variable>
<xsl:variable name="nodename_from">property_id_<xsl:value-of select="@id"/>_from</xsl:variable>
<xsl:variable name="nodename_to">property_id_<xsl:value-of select="@id"/>_to</xsl:variable>
<td>
<xsl:if test="property_show_kind = 1">
<!-- Отображаем поле ввода -->
<xsl:value-of disable-output-escaping="yes" select="property_name"/> 
<!-- <br/> -->
<input type="text" name="property_id_{@id}">
<xsl:if test="/shop/*[name()=$nodename] != ''">
<xsl:attribute name="value">
<xsl:value-of select="/shop/*[name()=$nodename]"/>
</xsl:attribute>
</xsl:if>
</input>
</xsl:if>
<xsl:if test="property_show_kind = 2">
<!-- Отображаем список -->
<xsl:value-of disable-output-escaping="yes" select="property_name"/> 
<!-- <br/> -->
<select name="property_id_{@id}">
<option value="0">...</option>-->
<xsl:apply-templates select="list_items/list_item"/>
</select>
</xsl:if>
<xsl:if test="property_show_kind = 3">
<!-- Отображаем переключатели -->
<!-- <br/> -->
<input type="radio" name="property_id_{@id}" value="0" id="id_prop_radio_{@id}_0"></input>
<label for="id_prop_radio_{@id}_0">Любой вариант</label>
<xsl:apply-templates select="list_items/list_item"/>
</xsl:if>
<xsl:if test=" property_show_kind = 4">
<!-- Отображаем флажки -->
<!-- <br/> -->
<table border="0">
<xsl:apply-templates select="list_items/list_item"/>
</table>
</xsl:if>
<xsl:if test=" property_show_kind = 5">
<!-- Отображаем флажок -->
<xsl:value-of disable-output-escaping="yes" select="property_name"/> 
<!-- <br/> -->
<input type="checkbox" name="property_id_{@id}" id="property_id_{@id}" style="padding-top:4px">
<xsl:if test="/shop/*[name()=$nodename] != ''">
<xsl:attribute name="checked">
<xsl:value-of select="/shop/*[name()=$nodename]"/>
</xsl:attribute>
</xsl:if>
</input>
<!-- <label for="property_id_{@id}">Да</label> -->
</xsl:if>
<xsl:if test=" property_show_kind = 6">
<!-- Отображение полей "От.. До.." -->
<xsl:value-of disable-output-escaping="yes" select="property_name"/> 
<xsl:if test="@id = 280">
<br/>
</xsl:if>
от: <input type="text" name="property_id_{@id}_from" size="5" value="{/shop/*[name()=$nodename_from]}"/> до: <input type="text" name="property_id_{@id}_to" size="5" value="{/shop/*[name()=$nodename_to]}"/>
</xsl:if>
<xsl:if test="property_show_kind = 7">
<!-- Отображаем список -->
<br/>
<select name="property_id_{@id}[]" size="5" multiple="">
<xsl:apply-templates select="list_items/list_item"/>
</select>
</xsl:if>
</td>
<xsl:if test="position() mod 6 = 0"> <!-- 6 -->
<xsl:text disable-output-escaping="yes">
</tr>
<tr valign="top">
</xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="list_items/list_item">
<xsl:if test="../../property_show_kind = 2">
<!-- Отображаем список -->
<xsl:variable name="nodename">property_id_<xsl:value-of select="../../@id"/></xsl:variable>
<option value="{@id}">
<xsl:if test="/shop/*[name()=$nodename] = @id">
<xsl:attribute name="selected">
</xsl:attribute>
</xsl:if>
<xsl:value-of disable-output-escaping="yes" select="list_item_value"/>
</option>
</xsl:if>
<xsl:if test="../../property_show_kind = 3">
<!-- Отображаем переключатели -->
<xsl:variable name="nodename">property_id_<xsl:value-of select="../../@id"/></xsl:variable>
<!-- <br/> -->
<input type="radio" name="property_id_{../../@id}" value="{@id}" id="id_property_id_{../../@id}_{@id}">
<xsl:if test="/shop/*[name()=$nodename] = @id">
<!--<xsl:attribute name="checked"> </xsl:attribute>-->
</xsl:if>
<label for="id_property_id_{../../@id}_{@id}">
<xsl:value-of disable-output-escaping="yes" select="list_item_value"/>
</label>
</input>
</xsl:if>
<xsl:if test="../../property_show_kind = 4">
<!-- Отображаем флажки -->
<xsl:variable name="nodename">property_id_<xsl:value-of select="../../@id"/>_item_id_<xsl:value-of select="@id"/></xsl:variable>
<xsl:variable name="property_code"><xsl:value-of select="../../@id"/></xsl:variable>
<td>
<input type="checkbox" name="property_id_{../../@id}_item_id_{@id}" id="id_property_id_{../../@id}_{@id}">
<xsl:if test="/shop/*[name()=$nodename] = @id">
<xsl:attribute name="checked"> </xsl:attribute>
</xsl:if>
<label for="id_property_id_{../../@id}_{@id}">
<xsl:value-of disable-output-escaping="yes" select="list_item_value"/>
</label>
</input>
<xsl:if test="$property_code != 278">
<font color="#ffffff">___</font>
</xsl:if>
<xsl:if test="$property_code = 278">
<font color="#ffffff">__</font>
</xsl:if>
</td>
<xsl:if test="$property_code = 270">
<xsl:if test="(position() > 1)">
<xsl:if test="((position()-2) mod 2 = 0)">
<tr/>
</xsl:if>
</xsl:if>
</xsl:if>
<xsl:if test="$property_code = 271">
<xsl:if test="(position() > 1)">
<xsl:if test="((position()-2) mod 2 = 0)">
<tr/>
</xsl:if>
</xsl:if>
</xsl:if>
<xsl:if test="$property_code = 278">
<xsl:if test="(position() > 1)">
<xsl:if test="((position()-2) mod 2 = 0)">
<tr/>
</xsl:if>
</xsl:if>
</xsl:if>
</xsl:if>
<xsl:if test="../../property_show_kind = 7">
<!-- Отображаем список -->
<xsl:variable name="nodename">property_id_<xsl:value-of select="../../@id"/></xsl:variable>
<option value="{@id}">
<xsl:if test="/shop/*[name()=$nodename] = @id">
<xsl:attribute name="selected">
</xsl:attribute>
</xsl:if>
<xsl:value-of disable-output-escaping="yes" select="list_item_value"/>
</option>
</xsl:if>
</xsl:template>
<!-- Цикл с шагом 10 для select'a количества элементов на страницу -->
<xsl:template name="for_on_page">
<xsl:param name="i" select="0"/>
<xsl:param name="n"/>
<option value="{$i}">
<xsl:if test="$i = /shop/on_page">
<xsl:attribute name="selected">
</xsl:attribute>
</xsl:if>
<xsl:value-of select="$i"/>
</option>
<xsl:if test="$n > $i">
<!-- Рекурсивный вызов шаблона -->
<xsl:call-template name="for_on_page">
<xsl:with-param name="i" select="$i + 10"/>
<xsl:with-param name="n" select="$n"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<!-- Шаблон для групп товара -->
<xsl:template match="group">
<xsl:variable name="parent_id" select="@parent"/>
<div style="margin-bottom: 15px;">
<a href="{/shop/path}{fullpath}" style="font-weight: bold">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a> <span style="color: #aaaaaa">(<xsl:value-of select="count_all_items"/>)</span>
<br/>
<xsl:value-of disable-output-escaping="yes" select="description"/>
<xsl:if test="count(group) > 1">
<xsl:apply-templates select="group" mode="sub_group"/>
</xsl:if>
</div>
<xsl:if test="position()= round(count(//group[@parent = $parent_id]) div 2)">
<xsl:text disable-output-escaping="yes">
</td>
<td valign="top" width="50%">
</xsl:text>
</xsl:if>
</xsl:template>
<!-- Шаблон для подразделов -->
<xsl:template match="group" mode="sub_group">
<a href="{/shop/path}{fullpath}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
<xsl:variable name="parent_id" select="@parent"/>
<!-- Ставим запятую после группы, за которой следуют еще группы из данной родителской группы -->
<xsl:if test="position() != last() and count(//group[@parent = $parent_id]) > 1">, </xsl:if>
</xsl:template>
<!-- Шаблон для товара -->
<xsl:template match="item">
<!-- Определяем цвет фона -->
<xsl:variable name="background_color">
<xsl:choose>
<xsl:when test="(position() + 1) mod 2 > 0">#f7f7f7</xsl:when>
<xsl:otherwise>#ffffff</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<table width="97%" border="0" cellpadding="0" cellspacing="0" style="padding-bottom: 7px; margin-bottom: 15px; margin-right: 10px; border-bottom: 1px solid #dadada">
<tr>
<td width="100" class="cat_price_label" style="padding-left: 10px" valign="middle">
<div style="display: inline">
<xsl:choose>
<xsl:when test="price_discount != 0">
<span style="font-size: 11pt">
<b>
<xsl:variable name="price" select="price_discount"/>
<xsl:value-of select="format-number($price, '### ###', 'my')"/> <xsl:value-of disable-output-escaping="yes" select="currency"/>
</b>
</span>
</xsl:when>
<xsl:otherwise>
<span style="font-size: 11pt">
<b>цена договорная</b>
</span>
</xsl:otherwise>
</xsl:choose>
<!-- Если цена со скидкой - выводим ее -->
<xsl:if test="price_tax != price_discount">
<br/>
<font color="gray">
<strike>
<span style="font-size: 12pt">
<xsl:value-of disable-output-escaping="yes" select="price_tax"/> <xsl:value-of disable-output-escaping="yes" select="currency"/></span>
</strike>
</font>
</xsl:if>
</div>
</td>
<td width="50" style="padding-left:12px;" valign="middle">
<xsl:choose>
<xsl:when test="property[@xml_name='Photo01']/small_image/file_path!=''">
<a href="{property[@xml_name = 'Photo01']/file_path}" rel="lightbox" title="{name}">
<img src="{property[@xml_name = 'Photo01']/small_image/file_path}" width="40px" alt=""/>
</a>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="property[@xml_name='Photo02']/small_image/file_path!=''">
<a href="{property[@xml_name = 'Photo02']/file_path}" rel="lightbox" title="{name}">
<img src="{property[@xml_name = 'Photo02']/small_image/file_path}" width="40px" alt=""/>
</a>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="property[@xml_name='Photo03']/small_image/file_path!=''">
<a href="{property[@xml_name = 'Photo03']/file_path}" rel="lightbox" title="{name}">
<img src="{property[@xml_name = 'Photo03']/small_image/file_path}" width="40px" alt=""/>
</a>
</xsl:when>
<xsl:otherwise>
<xsl:if test="property[@xml_name='Photo04']/small_image/file_path!=''">
<a href="{property[@xml_name = 'Photo04']/file_path}" rel="lightbox" title="{name}">
<img src="{property[@xml_name = 'Photo04']/small_image/file_path}" width="40px" alt=""/>
</a>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</td>
<!--
<xsl:if test="small_image != ''">
<xsl:variable name="td_image_width" select="small_image/@width +10"/>
<td class="cat_t" style="width:{$td_image_width}px" valign="top" align="center">
<xsl:if test="small_image/node() and small_image!=''">
<a href="{/shop/path}{fullpath}{path}/">
<img src="{small_image}" style="border: 1px solid #dadada"/>
</a>
</xsl:if>
</td>
</xsl:if>
-->
<td style="padding-left:12px;" valign="middle">
<div>
<!-- Определяем название марки, чтобы подставить в гиперссылку на авто -->
<xsl:variable name="filter_string">
?mark_code_value=<xsl:value-of select="property[@xml_name = 'Priozvoditel']/value"/>
</xsl:variable>
<!-- Гиперссылка на авто -->
<a href='{/shop/path}{fullpath}{path}/{$filter_string}' class="cat_title">
<span style="font-size: 13pt">
<b>
<xsl:value-of disable-output-escaping="yes" select="name"/>
</b>
</span>
</a>
</div>
<div style="margin-top:4px;margin-bottom:10px;margin-left:5px;font-size:11px;"></div>
</td>
<!-- <td width="128" valign="middle">
<xsl:value-of disable-output-escaping="yes" select="property[@id = 61]/value"/>
</td> -->
<td width="100" style="padding-left:12px;" valign="middle">
<div>
<span style="font-size: 13pt">
<b>
<xsl:value-of select="property[@xml_name = 'Nowizna']/value"/>
</b>
</span>
</div>
</td>
<td width="50" style="padding-left:12px;" valign="middle">
<div>
<span style="font-size: 13pt">
<b>
<xsl:value-of select="property[@xml_name = 'God_vypuska']/value"/>г.
</b>
</span>
</div>
</td>
</tr>
</table>
<!--</div>-->
</xsl:template>
<!-- Шаблон для модификаций -->
<xsl:template match="modifications/item">
<tr>
<td>
<!-- Название модификации -->
<a href="{/shop/path}{fullpath}{path}/">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</td>
<td>
<!-- Цена модификации -->
<xsl:choose>
<xsl:when test="price_discount != 0">
<xsl:value-of disable-output-escaping="yes" select="price_discount"/> 
<!-- Валюта товара -->
<xsl:value-of disable-output-escaping="yes" select="currency"/>
</xsl:when>
<xsl:otherwise>договорная</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</xsl:template>
<!-- Шаблон для скидки -->
<xsl:template match="discount">
<br/>
<xsl:value-of disable-output-escaping="yes" select="name"/> 
<xsl:value-of disable-output-escaping="yes" select="value"/>%</xsl:template>
<!-- Цикл для вывода строк ссылок -->
<xsl:template name="for">
<xsl:param name="i" select="0"/>
<xsl:param name="items_on_page"/>
<xsl:param name="current_page"/>
<xsl:param name="count_items"/>
<xsl:param name="visible_pages"/>
<xsl:variable name="n" select="$count_items div $items_on_page"/>
<!-- Считаем количество выводимых ссылок перед текущим элементом -->
<xsl:variable name="pre_count_page">
<xsl:choose>
<xsl:when test="$current_page > ($n - (round($visible_pages div 2) - 1))">
<xsl:value-of select="$visible_pages - ($n - $current_page)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="round($visible_pages div 2) - 1"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- Считаем количество выводимых ссылок после текущего элемента -->
<xsl:variable name="post_count_page">
<xsl:choose>
<xsl:when test="0 > $current_page - (round($visible_pages div 2) - 1)">
<xsl:value-of select="$visible_pages - $current_page - 1"/>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="round($visible_pages div 2) = ($visible_pages div 2)">
<xsl:value-of select="$visible_pages div 2"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="round($visible_pages div 2) - 1"/>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="$i = 0 and $current_page != 0">
<span class="ctrl">
← Ctrl
</span>
</xsl:if>
<xsl:if test="$i >= $n and ($n - 1) > $current_page">
<span class="ctrl">
Ctrl →
</span>
</xsl:if>
<xsl:if test="$count_items > $items_on_page and $n > $i">
<!-- Заносим в переменную $parent_group_id идентификатор текущей группы -->
<xsl:variable name="parent_group_id" select="/shop/@current_group_id"/>
<!-- Путь для тэга -->
<xsl:variable name="tag_path">
<xsl:if test="count(/shop/selected_tags/tag) = 1">tag/<xsl:value-of select="/shop/selected_tags/tag/tag_path_name"/>/</xsl:if>
</xsl:variable>
<!-- Определяем группу для формирования адреса ссылки -->
<xsl:variable name="group_link">
<xsl:choose>
<!-- Если группа не корневая (!=0) -->
<xsl:when test="$parent_group_id != 0">
<xsl:value-of select="/shop//group[@id=$parent_group_id]/fullpath"/>
</xsl:when>
<!-- Иначе если нулевой уровень - просто ссылка на страницу со списком элементов -->
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- Определяем адрес ссылки -->
<xsl:variable name="number_link">
<xsl:choose>
<!-- Если не нулевой уровень -->
<xsl:when test="$i != 0">page-<xsl:value-of select="$i+1"/>/</xsl:when>
<!-- Иначе если нулевой уровень - просто ссылка на страницу со списком элементов -->
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- Передаем фильтр -->
<xsl:variable name="filter">
<xsl:choose>
<xsl:when test="/shop/apply_filter/node()">?action=apply_filter&producer_id=<xsl:value-of select="/shop/producer_id"/>&saller_id=<xsl:value-of select="/shop/saller_id"/>&price_from=<xsl:value-of select="/shop/price_from"/>&price_to=<xsl:value-of select="/shop/price_to"/>&on_page=<xsl:value-of select="/shop/on_page"/>
<xsl:if test="/shop/property_xml/node()">
<!-- GET для доп. свойств -->
<xsl:value-of select="/shop/property_xml"/>
</xsl:if>
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- Определяем первый символ вопрос или амперсанд -->
<xsl:variable name="first_symbol">
<xsl:choose>
<xsl:when test="$filter != ''">&</xsl:when>
<xsl:otherwise>?</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- Данные для стрелок сортировки -->
<xsl:variable name="arrows">
<xsl:choose>
<xsl:when test="(/shop/sort_by_field = 1) or (/shop/sort_by_field = 2)">
<xsl:choose>
<!-- Стрелка вверх -->
<xsl:when test="/shop/order_direction = 'ASC'">
<xsl:value-of select="$first_symbol"/>sort_by_field=<xsl:value-of select="/shop/sort_by_field"/>&order_direction=1</xsl:when>
<!-- Стрелка вниз -->
<xsl:otherwise>
<xsl:value-of select="$first_symbol"/>sort_by_field=<xsl:value-of select="/shop/sort_by_field"/>&order_direction=2</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- Ставим ссылку на страницу-->
<xsl:if test="$i != $current_page">
<!-- Выводим ссылку на первую страницу -->
<xsl:if test="$current_page - $pre_count_page > 0 and $i = 0">
<a href="{/shop/path}{$group_link}{$tag_path}{$number_link}{$filter}{$arrows}" class="page_link" style="text-decoration: none;">←</a>
</xsl:if>
<xsl:if test="$i >= ($current_page - $pre_count_page) and ($current_page + $post_count_page) >= $i">
<!-- Выводим ссылки на видимые страницы -->
<a href="{/shop/path}{$group_link}{$tag_path}{$number_link}{$filter}{$arrows}" class="page_link">
<xsl:value-of select="$i + 1"/>
</a>
</xsl:if>
<!-- Выводим ссылку на последнюю страницу -->
<xsl:if test="$i+1 >= $n and $n > ($current_page + 1 + $post_count_page)">
<xsl:choose>
<xsl:when test="$n > round($n)">
<!-- Выводим ссылку на последнюю страницу -->
<a href="{/shop/path}{$group_link}{$tag_path}{$number_link}{$filter}{$arrows}page-{round($n+1)}/" class="page_link" style="text-decoration: none;">→</a>
</xsl:when>
<xsl:otherwise>
<a href="{/shop/path}{$group_link}{$tag_path}{$number_link}{$filter}{$arrows}" class="page_link" style="text-decoration: none;">→</a>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:if>
<!-- Ссылка на предыдущую страницу для Ctrl + влево -->
<xsl:if test="$current_page != 0 and $i = $current_page">
<xsl:variable name="prev_number_link">
<xsl:choose>
<!-- Если не нулевой уровень -->
<xsl:when test="($current_page - 1) != 0">page-<xsl:value-of select="$i"/>/</xsl:when>
<!-- Иначе если нулевой уровень - просто ссылка на страницу со списком элементов -->
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<a href="{/shop/path}{$group_link}{$tag_path}{$prev_number_link}{$filter}{$arrows}" id="id_prev"></a>
</xsl:if>
<!-- Ссылка на следующую страницу для Ctrl + вправо -->
<xsl:if test="($n - 1) > $current_page and $i = $current_page">
<a href="{/shop/path}{$group_link}{$tag_path}page-{$current_page+2}/{$filter}{$arrows}" id="id_next"></a>
</xsl:if>
<!-- Не ставим ссылку на страницу-->
<xsl:if test="$i = $current_page">
<span class="current">
<xsl:value-of select="$i+1"/>
</span>
</xsl:if>
<!-- Рекурсивный вызов шаблона. НЕОБХОДИМО ПЕРЕДАВАТЬ ВСЕ НЕОБХОДИМЫЕ ПАРАМЕТРЫ! -->
<xsl:call-template name="for">
<xsl:with-param name="i" select="$i + 1"/>
<xsl:with-param name="items_on_page" select="$items_on_page"/>
<xsl:with-param name="current_page" select="$current_page"/>
<xsl:with-param name="count_items" select="$count_items"/>
<xsl:with-param name="visible_pages" select="$visible_pages"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<!-- Шаблон выводит рекурсивно ссылки на группы инф. элемента -->
<xsl:template match="group" mode="goup_path">
<xsl:param name="parent_id" select="@parent"/>
<!-- Получаем ID родительской группы и записываем в переменную $parent_group_id -->
<xsl:param name="parent_group_id" select="/shop/@current_group_id"/>
<xsl:apply-templates select="//group[@id=$parent_id]" mode="goup_path"/>
<xsl:if test="@parent=0">
<a href="{/shop/path}">
<xsl:value-of select="/shop/name"/>
</a>
</xsl:if>
<span class="path_arrow">→</span>
<xsl:choose>
<xsl:when test="$parent_group_id = @id">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</xsl:when>
<xsl:otherwise>
<a href="{/shop/path}{fullpath}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
<xsl:decimal-format name="my" decimal-separator="," grouping-separator=" "/>
<xsl:template match="/">
<!-- Выводим магазин -->
<xsl:apply-templates select="/shop"/>
</xsl:template>
<!-- Шаблон для магазина -->
<xsl:template match="/shop">
<!-- Получаем ID родительской группы и записываем в переменную $parent_group_id -->
<xsl:variable name="parent_group_id" select="@current_group_id"/>
<!-- Если в находимся корне - выводим название информационной системы -->
<xsl:if test="$parent_group_id=0">
<h1>
<!-- <xsl:value-of disable-output-escaping="yes" select="name"/> -->
</h1>
</xsl:if>
<!-- Если в находимся в группе - выводим название группы -->
<xsl:if test="$parent_group_id!=0">
<h1>
<xsl:value-of disable-output-escaping="yes" select=".//group[@id=$parent_group_id]/name"/>
</h1>
</xsl:if>
<!-- Обработка выбранных тэгов -->
<xsl:if test="count(selected_tags/tag) = 1">
<h2>Метка — <strong><xsl:value-of select="selected_tags/tag/tag_name"/></strong>.</h2>
</xsl:if>
<!-- Путь к группе -->
<div class="path">
<xsl:apply-templates select=".//group[@id=$parent_group_id]" mode="goup_path"/>
</div>
<!-- Сообщение -->
<xsl:if test="message/node()">
<div id="message">
<xsl:value-of disable-output-escaping="yes" select="message" />
</div>
</xsl:if>
<xsl:if test="$parent_group_id!=0">
<!-- Метка для перехода при выводе сообщения -->
<a name="FocusAddItemMessage"></a>
<div id="ShowAddComment">
<a onclick="if (document.getElementById('AddItemForm').innerHTML == '') sendBackgroundRequest('{/shop/path}?action=show_form_add_item&group_id={$parent_group_id}', 'get', callbackfunction_showFormAddItem); else cr('AddItemForm'); return false;" href="javascript:void(0)">Добавить объявление в этот раздел</a>
</div>
<!-- Блок для вывода уведомлений о добавлении объявления или ошибке добавления -->
<div id="AddItemMessage"></div>
<div id="AddItemForm" style="display: block"></div>
</xsl:if>
<xsl:variable name="count">1</xsl:variable>
<!-- Отображение подгрупп данной группы, только если подгруппы есть и не идет фильтра по меткам -->
<xsl:if test="count(selected_tags/tag) = 0 and count(//group[@parent=$parent_group_id]) > 0">
<table width="100%" border="0" cellpadding="3" cellspacing="0">
<tr>
<td valign="top">
<xsl:apply-templates select="//group[@parent=$parent_group_id]">
<xsl:with-param name="style_font">shop_root_title</xsl:with-param>
</xsl:apply-templates>
</td>
</tr>
</table>
</xsl:if>
<xsl:if test="count(item) > 0 or apply_filter = 1">
<div id="body_text">
<div id="table">
<form method="get" action="./" id="AutoFilter">
<div id="allcol">
<div id="menu2">
<table border="0">
<tr>
<td>
<div id="kn1_ser">
<div id="t">
<a onclick="history.back();" href="javascript:void(0)">
Вернуться назад
</a>
</div>
</div>
</td>
</tr>
</table>
</div> <!-- id="menu2" -->
<div id="rightcol">
<div class="form">
<table width="278px" border="0" cellpadding="0" cellspacing="0">
<tr height="45px">
<td><div class="button"></div></td>
</tr>
<tr>
<td>
<p/>
<center><strong>Поиск по параметрам</strong></center>
</td>
</tr>
<tr height="5px">
<td>
</td>
</tr>
<!-- доп. св-во новизна -->
<tr>
<td>
<table border="0">
<td>
<xsl:apply-templates select="properties_for_group/property[@id=265 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</table>
</td>
</tr>
<!-- доп. св-во производитель -->
<tr>
<td>
<table border="0">
<td width="3px">
</td>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=266 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</table>
</td>
</tr>
<!-- цена: от...до... -->
<tr>
<td>
<table border="0">
<td width="8px">
</td>
<td>
Цена от: 
<input name="price_from" size="5" type="text">
<xsl:if test="/shop/price_from != 0">
<xsl:attribute name="value">
<xsl:value-of disable-output-escaping="yes" select="/shop/price_from"/>
</xsl:attribute>
</xsl:if>
</input> 
до: 
<input name="price_to" size="5" type="text">
<xsl:if test="/shop/price_to != 0">
<xsl:attribute name="value">
<xsl:value-of disable-output-escaping="yes" select="/shop/price_to"/>
</xsl:attribute>
</xsl:if>
</input> 
</td>
</table>
</td>
</tr>
<!-- доп. св-во год выпуска: от...до... -->
<tr>
<td>
<table border="0">
<td width="3px">
</td>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=269 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</table>
</td>
</tr>
<!-- год: до 3 лет, 3-5 лет, старше 5 лет -->
<tr>
<td>
<table border="0">
<tr>
<td> 
<input type="checkbox" name="year1" value="1">
<xsl:if test="/shop/year1 = 1">
<xsl:attribute name="checked">checked</xsl:attribute>
</xsl:if>
</input>
до 3 лет
<input type="checkbox" name="year2" value="1">
<xsl:if test="/shop/year2 = 1">
<xsl:attribute name="checked">checked</xsl:attribute>
</xsl:if>
</input>
3-5 лет
<input type="checkbox" name="year3" value="1">
<xsl:if test="/shop/year3 = 1">
<xsl:attribute name="checked">checked</xsl:attribute>
</xsl:if>
</input>
старше 5 лет
</td>
</tr>
</table>
</td>
</tr>
<!-- доп. св-во Тип кузова -->
<tr>
<td>
<table>
<tr height="5px">
</tr>
<tr>
<td width="10px"></td>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=270 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</tr>
</table>
</td>
</tr>
<!-- доп. св-во КПП -->
<tr>
<td>
<table>
<tr height="5px">
</tr>
<tr>
<td width="20px"></td>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=271 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</tr>
</table>
</td>
</tr>
<!-- только с фото -->
<tr>
<td>
<table border="0">
<tr>
<td><br/> 
<input type="checkbox" name="is_photo" value="1">
<xsl:if test="/shop/is_photo = 1">
<xsl:attribute name="checked">checked</xsl:attribute>
</xsl:if>
</input>
только с фото
</td>
</tr>
</table>
</td>
</tr>
<!-- расширенный поиск -->
<tr height="5px">
</tr>
<tr>
<td>
<table>
<tr height="5px">
<td width="5px"></td>
<td>
<div id="ExtendedSearchTitle" onClick="toggle('ExtendedSearchBlock', 'ExtendedSearchImage', 'is_extendedsearchblock');">
<img src="/hostcmsfiles/images/show.gif" id="ExtendedSearchImage" name="ExtendedSearchImage" alt="+" title="показать" value = "1"/>
<a class="b-pseudo-link">
<span>расширенный поиск</span>
</a>
</div>
<div id="ExtendedSearchBlock" style="display:none">
<!-- Доп. свойство: Цвет -->
<table border="0">
<tr height="5px">
</tr>
<tr>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=276 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</tr>
</table>
<!-- Доп. свойство: Руль -->
<table border="0">
<tr height="5px">
</tr>
<tr>
<td>
</td>
<td>
Руль:
</td>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=277 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</tr>
</table>
<!-- Доп. св-во "Привод" -->
<table>
<tr height="5px">
</tr>
<tr>
<td>
</td>
<td>
Привод:
</td>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=278 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</tr>
</table>
<!-- Доп. свойство: Пробег -->
<table border="0">
<tr height="5px">
</tr>
<tr>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=279 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</tr>
</table>
<!-- Доп. свойство: Объём двигателя -->
<table border="0">
<tr height="5px">
</tr>
<tr>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=280 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</tr>
</table>
<!-- Доп. свойство: Тип двигателя -->
<table border="0">
<tr height="5px">
</tr>
<tr>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=281 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</tr>
</table>
</div>
<!-- чекбокс, чтобы отслеживать, свёрнуты доп. св-ва, или нет -->
<input type="checkbox" id="is_extendedsearchblock" name="is_extendedsearchblock" value="1" style="display:none">
<xsl:if test="/shop/is_extendedsearchblock = 1">
<xsl:attribute name="checked">checked</xsl:attribute>
</xsl:if>
</input>
</td>
</tr>
<tr height="5px">
<td width="5px"></td>
<td>
<div id="ExtendedOptionsTitle" onClick="toggle('ExtendedOptionsBlock', 'ExtendedOptionsImage', 'is_extendedoptionsblock');">
<img src="/hostcmsfiles/images/show.gif" id="ExtendedOptionsImage" name="ExtendedOptionsImage" alt="+" title="показать" value = "1"/>
<a class="b-pseudo-link">
<span>опции</span>
</a>
</div>
<div id="ExtendedOptionsBlock" style="display:none">
<!-- Доп. свойство: Климат -->
<table border="0">
<tr height="5px">
</tr>
<tr>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=282 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</tr>
</table>
<!-- Доп. свойство: Подушки безопасности -->
<table border="0">
<tr height="5px">
</tr>
<tr>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=283 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</tr>
</table>
<!-- Доп. свойства: ABS и ксенон -->
<table border="0">
<tr height="5px">
</tr>
<tr>
<td>
<table border="0">
<tr>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=284 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
<td width="20px">
</td>
<td>
<xsl:apply-templates select="properties_for_group/property[@id=285 and property_show_kind != 0 and (shop_list_of_properties_type = 0 or shop_list_of_properties_type = 2 or shop_list_of_properties_type = 7)]"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<input type="checkbox" id="is_extendedoptionsblock" name="is_extendedoptionsblock" value="1" style="display:none">
<xsl:if test="/shop/is_extendedoptionsblock= 1">
<xsl:attribute name="checked">checked</xsl:attribute>
</xsl:if>
</input>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="2">
<tr>
<td>
<p>
<span style="white-space: nowrap">Товаров на странице:</span> 
<select name="on_page">
<option value="0">…</option>
<xsl:call-template name="for_on_page">
<xsl:with-param name="i" select="10"/>
<xsl:with-param name="n" select="50"/>
</xsl:call-template>
</select> 
<div class="button">
<input name="apply_filter" value="Применить" type="submit"/>
</div>
</p>
<!-- Сортировка товаров -->
<div class="shop_block">
<!-- Определяем ссылку с параметрами фильтра -->
<xsl:variable name="filter">
<xsl:if test="/shop/apply_filter/node()">?action=apply_filter&producer_id=<xsl:value-of select="/shop/producer_id"/>&saller_id=<xsl:value-of select="/shop/saller_id"/>&price_from=<xsl:value-of select="/shop/price_from"/>&price_to=<xsl:value-of select="/shop/price_to"/>&on_page=<xsl:value-of select="/shop/on_page"/>
<xsl:if test="/shop/property_xml/node()">
<!-- GET для доп. свойств -->
<xsl:value-of select="/shop/property_xml"/>
</xsl:if>
</xsl:if>
</xsl:variable>
<!-- Определяем первый символ вопрос или амперсанд -->
<xsl:variable name="first_symbol">
<xsl:choose>
<xsl:when test="$filter != ''">&</xsl:when>
<xsl:otherwise>?</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<table border="0">
<tr>
<td>Сортировать по алфавиту</td>
<td>
<xsl:choose>
<xsl:when test="/shop/sort_by_field = 1 and /shop/order_direction = 'ASC'">
<div class="arrow_up"></div>
<img src="/hostcmsfiles/images/arrow_up.png" style="filter: alpha(opacity=0); margin: 0px 0px -4px 0px" alt="по возрастанию"/>
</xsl:when>
<xsl:otherwise>
<div class="arrow_up_gray"></div>
<a href="{$filter}{$first_symbol}sort_by_field=1&order_direction=1" class="without_decor">
<img src="/hostcmsfiles/images/arrow_up_gray.png" style="filter: alpha(opacity=0); margin: 0px 0px -4px 0px" alt="по возрастанию"/>
</a>
</xsl:otherwise>
</xsl:choose>
</td>
<td>
<xsl:choose>
<xsl:when test="/shop/sort_by_field = 1 and /shop/order_direction = 'DESC'">
<div class="arrow_down"></div>
<img src="/hostcmsfiles/images/arrow_down.png" style="filter: alpha(opacity=0); margin: 0px 0px -4px 0px" alt="по убыванию"/>
</xsl:when>
<xsl:otherwise>
<div class="arrow_down_gray"></div>
<a href="{$filter}{$first_symbol}sort_by_field=1&order_direction=2" class="without_decor">
<img src="/hostcmsfiles/images/arrow_down_gray.png" style="filter: alpha(opacity=0); margin: 0px 0px -4px 0px" alt="по убыванию"/>
</a>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
<tr/>
<tr>
<td>Сортировать по цене</td>
<td>
<xsl:choose>
<xsl:when test="/shop/sort_by_field = 2 and /shop/order_direction = 'ASC'">
<div class="arrow_up"></div>
<img src="/hostcmsfiles/images/arrow_up.png" style="filter: alpha(opacity=0); margin: 0px 0px -4px 0px" alt="по возрастанию"/>
</xsl:when>
<xsl:otherwise>
<a href="{$filter}{$first_symbol}sort_by_field=2&order_direction=1" class="without_decor">
<img src="/hostcmsfiles/images/arrow_up_gray.png" style="filter: alpha(opacity=0); margin: 0px 0px -4px 0px" alt="по возрастанию"/></a>
</xsl:otherwise>
</xsl:choose>
</td>
<td>
<xsl:choose>
<xsl:when test="/shop/sort_by_field = 2 and /shop/order_direction = 'DESC'">
<img src="/hostcmsfiles/images/arrow_down.png" style="filter: alpha(opacity=0); margin: 0px 0px -4px 0px" alt="по убыванию"/>
</xsl:when>
<xsl:otherwise>
<div class="arrow_down_gray"></div>
<a href="{$filter}{$first_symbol}sort_by_field=2&order_direction=2" class="without_decor">
<img src="/hostcmsfiles/images/arrow_down_gray.png" style="filter: alpha(opacity=0); margin: 0px 0px -4px 0px" alt="по убыванию"/>
</a>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</table>
</div>
<!-- Конец Сортировка товаров -->
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</div> <!-- rightcol -->
<div id="leftcol">
<div class="form" >
<tr height="45px">
<p align="center"><strong>СПИСОК АВТО:</strong></p>
</tr>
<div id="table" >
<!-- Определяем ссылку с параметрами фильтра -->
<xsl:variable name="filter">
<xsl:choose>
<xsl:when test="/shop/apply_filter/node()">?action=apply_filter&producer_id=<xsl:value-of select="/shop/producer_id"/>&saller_id=<xsl:value-of select="/shop/saller_id"/>&price_from=<xsl:value-of select="/shop/price_from"/>&price_to=<xsl:value-of select="/shop/price_to"/>&on_page=<xsl:value-of select="/shop/on_page"/>
<xsl:if test="/shop/property_xml/node()">
<!-- GET для доп. свойств -->
<xsl:value-of select="/shop/property_xml"/>
</xsl:if>
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- Определяем первый символ вопрос или амперсанд -->
<xsl:variable name="first_symbol">
<xsl:choose>
<xsl:when test="$filter != ''">&</xsl:when>
<xsl:otherwise>?</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:apply-templates select="item" />
<xsl:if test="count_items > 0 and items_on_page > 0">
<p>
<xsl:call-template name="for">
<xsl:with-param name="items_on_page" select="items_on_page"/>
<xsl:with-param name="current_page" select="current_page"/>
<xsl:with-param name="count_items" select="count_items"/>
<xsl:with-param name="visible_pages" select="5"/>
</xsl:call-template>
</p>
<div style="clear: both"></div>
</xsl:if>
</div>
</div>
</div>
</div> <!-- id="allcol" -->
</form>
</div>
</div>
</xsl:if>
</xsl:template>
<!-- Шаблон для фильтра производителей -->
<xsl:template match="producerslist/producer">
<option value="{@id}">
<xsl:if test="@id = /shop/producer_id">
<xsl:attribute name="selected">
</xsl:attribute>
</xsl:if>
<xsl:value-of disable-output-escaping="yes" select="name"/>
</option>
</xsl:template>
<!-- Шаблон для фильтра продавцов -->
<xsl:template match="sallers/saller">
<option value="{@id}">
<xsl:if test="@id = /shop/saller_id">
<xsl:attribute name="selected">
</xsl:attribute>
</xsl:if>
<xsl:value-of select="sallers_name"/>
</option>
</xsl:template>
<!-- Шаблон для фильтра по дополнительным свойствам -->
<xsl:template match="properties_for_group/property">
<xsl:variable name="nodename">property_id_<xsl:value-of select="@id"/></xsl:variable>
<xsl:variable name="nodename_from">property_id_<xsl:value-of select="@id"/>_from</xsl:variable>
<xsl:variable name="nodename_to">property_id_<xsl:value-of select="@id"/>_to</xsl:variable>
<td>
<xsl:if test="property_show_kind = 1">
<!-- Отображаем поле ввода -->
<xsl:value-of disable-output-escaping="yes" select="property_name"/> 
<!-- <br/> -->
<input type="text" name="property_id_{@id}">
<xsl:if test="/shop/*[name()=$nodename] != ''">
<xsl:attribute name="value">
<xsl:value-of select="/shop/*[name()=$nodename]"/>
</xsl:attribute>
</xsl:if>
</input>
</xsl:if>
<xsl:if test="property_show_kind = 2">
<!-- Отображаем список -->
<xsl:value-of disable-output-escaping="yes" select="property_name"/> 
<!-- <br/> -->
<select name="property_id_{@id}">
<option value="0">...</option>-->
<xsl:apply-templates select="list_items/list_item"/>
</select>
</xsl:if>
<xsl:if test="property_show_kind = 3">
<!-- Отображаем переключатели -->
<!-- <br/> -->
<input type="radio" name="property_id_{@id}" value="0" id="id_prop_radio_{@id}_0"></input>
<label for="id_prop_radio_{@id}_0">Любой вариант</label>
<xsl:apply-templates select="list_items/list_item"/>
</xsl:if>
<xsl:if test=" property_show_kind = 4">
<!-- Отображаем флажки -->
<!-- <br/> -->
<table border="0">
<xsl:apply-templates select="list_items/list_item"/>
</table>
</xsl:if>
<xsl:if test=" property_show_kind = 5">
<!-- Отображаем флажок -->
<xsl:value-of disable-output-escaping="yes" select="property_name"/> 
<!-- <br/> -->
<input type="checkbox" name="property_id_{@id}" id="property_id_{@id}" style="padding-top:4px">
<xsl:if test="/shop/*[name()=$nodename] != ''">
<xsl:attribute name="checked">
<xsl:value-of select="/shop/*[name()=$nodename]"/>
</xsl:attribute>
</xsl:if>
</input>
<!-- <label for="property_id_{@id}">Да</label> -->
</xsl:if>
<xsl:if test=" property_show_kind = 6">
<!-- Отображение полей "От.. До.." -->
<xsl:value-of disable-output-escaping="yes" select="property_name"/> 
<xsl:if test="@id = 280">
<br/>
</xsl:if>
от: <input type="text" name="property_id_{@id}_from" size="5" value="{/shop/*[name()=$nodename_from]}"/> до: <input type="text" name="property_id_{@id}_to" size="5" value="{/shop/*[name()=$nodename_to]}"/>
</xsl:if>
<xsl:if test="property_show_kind = 7">
<!-- Отображаем список -->
<br/>
<select name="property_id_{@id}[]" size="5" multiple="">
<xsl:apply-templates select="list_items/list_item"/>
</select>
</xsl:if>
</td>
<xsl:if test="position() mod 6 = 0"> <!-- 6 -->
<xsl:text disable-output-escaping="yes">
</tr>
<tr valign="top">
</xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="list_items/list_item">
<xsl:if test="../../property_show_kind = 2">
<!-- Отображаем список -->
<xsl:variable name="nodename">property_id_<xsl:value-of select="../../@id"/></xsl:variable>
<option value="{@id}">
<xsl:if test="/shop/*[name()=$nodename] = @id">
<xsl:attribute name="selected">
</xsl:attribute>
</xsl:if>
<xsl:value-of disable-output-escaping="yes" select="list_item_value"/>
</option>
</xsl:if>
<xsl:if test="../../property_show_kind = 3">
<!-- Отображаем переключатели -->
<xsl:variable name="nodename">property_id_<xsl:value-of select="../../@id"/></xsl:variable>
<!-- <br/> -->
<input type="radio" name="property_id_{../../@id}" value="{@id}" id="id_property_id_{../../@id}_{@id}">
<xsl:if test="/shop/*[name()=$nodename] = @id">
<!--<xsl:attribute name="checked"> </xsl:attribute>-->
</xsl:if>
<label for="id_property_id_{../../@id}_{@id}">
<xsl:value-of disable-output-escaping="yes" select="list_item_value"/>
</label>
</input>
</xsl:if>
<xsl:if test="../../property_show_kind = 4">
<!-- Отображаем флажки -->
<xsl:variable name="nodename">property_id_<xsl:value-of select="../../@id"/>_item_id_<xsl:value-of select="@id"/></xsl:variable>
<xsl:variable name="property_code"><xsl:value-of select="../../@id"/></xsl:variable>
<td>
<input type="checkbox" name="property_id_{../../@id}_item_id_{@id}" id="id_property_id_{../../@id}_{@id}">
<xsl:if test="/shop/*[name()=$nodename] = @id">
<xsl:attribute name="checked"> </xsl:attribute>
</xsl:if>
<label for="id_property_id_{../../@id}_{@id}">
<xsl:value-of disable-output-escaping="yes" select="list_item_value"/>
</label>
</input>
<xsl:if test="$property_code != 278">
<font color="#ffffff">___</font>
</xsl:if>
<xsl:if test="$property_code = 278">
<font color="#ffffff">__</font>
</xsl:if>
</td>
<xsl:if test="$property_code = 270">
<xsl:if test="(position() > 1)">
<xsl:if test="((position()-2) mod 2 = 0)">
<tr/>
</xsl:if>
</xsl:if>
</xsl:if>
<xsl:if test="$property_code = 271">
<xsl:if test="(position() > 1)">
<xsl:if test="((position()-2) mod 2 = 0)">
<tr/>
</xsl:if>
</xsl:if>
</xsl:if>
<xsl:if test="$property_code = 278">
<xsl:if test="(position() > 1)">
<xsl:if test="((position()-2) mod 2 = 0)">
<tr/>
</xsl:if>
</xsl:if>
</xsl:if>
</xsl:if>
<xsl:if test="../../property_show_kind = 7">
<!-- Отображаем список -->
<xsl:variable name="nodename">property_id_<xsl:value-of select="../../@id"/></xsl:variable>
<option value="{@id}">
<xsl:if test="/shop/*[name()=$nodename] = @id">
<xsl:attribute name="selected">
</xsl:attribute>
</xsl:if>
<xsl:value-of disable-output-escaping="yes" select="list_item_value"/>
</option>
</xsl:if>
</xsl:template>
<!-- Цикл с шагом 10 для select'a количества элементов на страницу -->
<xsl:template name="for_on_page">
<xsl:param name="i" select="0"/>
<xsl:param name="n"/>
<option value="{$i}">
<xsl:if test="$i = /shop/on_page">
<xsl:attribute name="selected">
</xsl:attribute>
</xsl:if>
<xsl:value-of select="$i"/>
</option>
<xsl:if test="$n > $i">
<!-- Рекурсивный вызов шаблона -->
<xsl:call-template name="for_on_page">
<xsl:with-param name="i" select="$i + 10"/>
<xsl:with-param name="n" select="$n"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<!-- Шаблон для групп товара -->
<xsl:template match="group">
<xsl:variable name="parent_id" select="@parent"/>
<div style="margin-bottom: 15px;">
<a href="{/shop/path}{fullpath}" style="font-weight: bold">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a> <span style="color: #aaaaaa">(<xsl:value-of select="count_all_items"/>)</span>
<br/>
<xsl:value-of disable-output-escaping="yes" select="description"/>
<xsl:if test="count(group) > 1">
<xsl:apply-templates select="group" mode="sub_group"/>
</xsl:if>
</div>
<xsl:if test="position()= round(count(//group[@parent = $parent_id]) div 2)">
<xsl:text disable-output-escaping="yes">
</td>
<td valign="top" width="50%">
</xsl:text>
</xsl:if>
</xsl:template>
<!-- Шаблон для подразделов -->
<xsl:template match="group" mode="sub_group">
<a href="{/shop/path}{fullpath}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
<xsl:variable name="parent_id" select="@parent"/>
<!-- Ставим запятую после группы, за которой следуют еще группы из данной родителской группы -->
<xsl:if test="position() != last() and count(//group[@parent = $parent_id]) > 1">, </xsl:if>
</xsl:template>
<!-- Шаблон для товара -->
<xsl:template match="item">
<!-- Определяем цвет фона -->
<xsl:variable name="background_color">
<xsl:choose>
<xsl:when test="(position() + 1) mod 2 > 0">#f7f7f7</xsl:when>
<xsl:otherwise>#ffffff</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<table width="97%" border="0" cellpadding="0" cellspacing="0" style="padding-bottom: 7px; margin-bottom: 15px; margin-right: 10px; border-bottom: 1px solid #dadada">
<tr>
<td width="100" class="cat_price_label" style="padding-left: 10px" valign="middle">
<div style="display: inline">
<xsl:choose>
<xsl:when test="price_discount != 0">
<span style="font-size: 11pt">
<b>
<xsl:variable name="price" select="price_discount"/>
<xsl:value-of select="format-number($price, '### ###', 'my')"/> <xsl:value-of disable-output-escaping="yes" select="currency"/>
</b>
</span>
</xsl:when>
<xsl:otherwise>
<span style="font-size: 11pt">
<b>цена договорная</b>
</span>
</xsl:otherwise>
</xsl:choose>
<!-- Если цена со скидкой - выводим ее -->
<xsl:if test="price_tax != price_discount">
<br/>
<font color="gray">
<strike>
<span style="font-size: 12pt">
<xsl:value-of disable-output-escaping="yes" select="price_tax"/> <xsl:value-of disable-output-escaping="yes" select="currency"/></span>
</strike>
</font>
</xsl:if>
</div>
</td>
<td width="50" style="padding-left:12px;" valign="middle">
<xsl:choose>
<xsl:when test="property[@xml_name='Photo01']/small_image/file_path!=''">
<a href="{property[@xml_name = 'Photo01']/file_path}" rel="lightbox" title="{name}">
<img src="{property[@xml_name = 'Photo01']/small_image/file_path}" width="40px" alt=""/>
</a>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="property[@xml_name='Photo02']/small_image/file_path!=''">
<a href="{property[@xml_name = 'Photo02']/file_path}" rel="lightbox" title="{name}">
<img src="{property[@xml_name = 'Photo02']/small_image/file_path}" width="40px" alt=""/>
</a>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="property[@xml_name='Photo03']/small_image/file_path!=''">
<a href="{property[@xml_name = 'Photo03']/file_path}" rel="lightbox" title="{name}">
<img src="{property[@xml_name = 'Photo03']/small_image/file_path}" width="40px" alt=""/>
</a>
</xsl:when>
<xsl:otherwise>
<xsl:if test="property[@xml_name='Photo04']/small_image/file_path!=''">
<a href="{property[@xml_name = 'Photo04']/file_path}" rel="lightbox" title="{name}">
<img src="{property[@xml_name = 'Photo04']/small_image/file_path}" width="40px" alt=""/>
</a>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</td>
<!--
<xsl:if test="small_image != ''">
<xsl:variable name="td_image_width" select="small_image/@width +10"/>
<td class="cat_t" style="width:{$td_image_width}px" valign="top" align="center">
<xsl:if test="small_image/node() and small_image!=''">
<a href="{/shop/path}{fullpath}{path}/">
<img src="{small_image}" style="border: 1px solid #dadada"/>
</a>
</xsl:if>
</td>
</xsl:if>
-->
<td style="padding-left:12px;" valign="middle">
<div>
<!-- Определяем название марки, чтобы подставить в гиперссылку на авто -->
<xsl:variable name="filter_string">
?mark_code_value=<xsl:value-of select="property[@xml_name = 'Priozvoditel']/value"/>
</xsl:variable>
<!-- Гиперссылка на авто -->
<a href='{/shop/path}{fullpath}{path}/{$filter_string}' class="cat_title">
<span style="font-size: 13pt">
<b>
<xsl:value-of disable-output-escaping="yes" select="name"/>
</b>
</span>
</a>
</div>
<div style="margin-top:4px;margin-bottom:10px;margin-left:5px;font-size:11px;"></div>
</td>
<!-- <td width="128" valign="middle">
<xsl:value-of disable-output-escaping="yes" select="property[@id = 61]/value"/>
</td> -->
<td width="100" style="padding-left:12px;" valign="middle">
<div>
<span style="font-size: 13pt">
<b>
<xsl:value-of select="property[@xml_name = 'Nowizna']/value"/>
</b>
</span>
</div>
</td>
<td width="50" style="padding-left:12px;" valign="middle">
<div>
<span style="font-size: 13pt">
<b>
<xsl:value-of select="property[@xml_name = 'God_vypuska']/value"/>г.
</b>
</span>
</div>
</td>
</tr>
</table>
<!--</div>-->
</xsl:template>
<!-- Шаблон для модификаций -->
<xsl:template match="modifications/item">
<tr>
<td>
<!-- Название модификации -->
<a href="{/shop/path}{fullpath}{path}/">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</td>
<td>
<!-- Цена модификации -->
<xsl:choose>
<xsl:when test="price_discount != 0">
<xsl:value-of disable-output-escaping="yes" select="price_discount"/> 
<!-- Валюта товара -->
<xsl:value-of disable-output-escaping="yes" select="currency"/>
</xsl:when>
<xsl:otherwise>договорная</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</xsl:template>
<!-- Шаблон для скидки -->
<xsl:template match="discount">
<br/>
<xsl:value-of disable-output-escaping="yes" select="name"/> 
<xsl:value-of disable-output-escaping="yes" select="value"/>%</xsl:template>
<!-- Цикл для вывода строк ссылок -->
<xsl:template name="for">
<xsl:param name="i" select="0"/>
<xsl:param name="items_on_page"/>
<xsl:param name="current_page"/>
<xsl:param name="count_items"/>
<xsl:param name="visible_pages"/>
<xsl:variable name="n" select="$count_items div $items_on_page"/>
<!-- Считаем количество выводимых ссылок перед текущим элементом -->
<xsl:variable name="pre_count_page">
<xsl:choose>
<xsl:when test="$current_page > ($n - (round($visible_pages div 2) - 1))">
<xsl:value-of select="$visible_pages - ($n - $current_page)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="round($visible_pages div 2) - 1"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- Считаем количество выводимых ссылок после текущего элемента -->
<xsl:variable name="post_count_page">
<xsl:choose>
<xsl:when test="0 > $current_page - (round($visible_pages div 2) - 1)">
<xsl:value-of select="$visible_pages - $current_page - 1"/>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="round($visible_pages div 2) = ($visible_pages div 2)">
<xsl:value-of select="$visible_pages div 2"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="round($visible_pages div 2) - 1"/>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="$i = 0 and $current_page != 0">
<span class="ctrl">
← Ctrl
</span>
</xsl:if>
<xsl:if test="$i >= $n and ($n - 1) > $current_page">
<span class="ctrl">
Ctrl →
</span>
</xsl:if>
<xsl:if test="$count_items > $items_on_page and $n > $i">
<!-- Заносим в переменную $parent_group_id идентификатор текущей группы -->
<xsl:variable name="parent_group_id" select="/shop/@current_group_id"/>
<!-- Путь для тэга -->
<xsl:variable name="tag_path">
<xsl:if test="count(/shop/selected_tags/tag) = 1">tag/<xsl:value-of select="/shop/selected_tags/tag/tag_path_name"/>/</xsl:if>
</xsl:variable>
<!-- Определяем группу для формирования адреса ссылки -->
<xsl:variable name="group_link">
<xsl:choose>
<!-- Если группа не корневая (!=0) -->
<xsl:when test="$parent_group_id != 0">
<xsl:value-of select="/shop//group[@id=$parent_group_id]/fullpath"/>
</xsl:when>
<!-- Иначе если нулевой уровень - просто ссылка на страницу со списком элементов -->
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- Определяем адрес ссылки -->
<xsl:variable name="number_link">
<xsl:choose>
<!-- Если не нулевой уровень -->
<xsl:when test="$i != 0">page-<xsl:value-of select="$i+1"/>/</xsl:when>
<!-- Иначе если нулевой уровень - просто ссылка на страницу со списком элементов -->
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- Передаем фильтр -->
<xsl:variable name="filter">
<xsl:choose>
<xsl:when test="/shop/apply_filter/node()">?action=apply_filter&producer_id=<xsl:value-of select="/shop/producer_id"/>&saller_id=<xsl:value-of select="/shop/saller_id"/>&price_from=<xsl:value-of select="/shop/price_from"/>&price_to=<xsl:value-of select="/shop/price_to"/>&on_page=<xsl:value-of select="/shop/on_page"/>
<xsl:if test="/shop/property_xml/node()">
<!-- GET для доп. свойств -->
<xsl:value-of select="/shop/property_xml"/>
</xsl:if>
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- Определяем первый символ вопрос или амперсанд -->
<xsl:variable name="first_symbol">
<xsl:choose>
<xsl:when test="$filter != ''">&</xsl:when>
<xsl:otherwise>?</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- Данные для стрелок сортировки -->
<xsl:variable name="arrows">
<xsl:choose>
<xsl:when test="(/shop/sort_by_field = 1) or (/shop/sort_by_field = 2)">
<xsl:choose>
<!-- Стрелка вверх -->
<xsl:when test="/shop/order_direction = 'ASC'">
<xsl:value-of select="$first_symbol"/>sort_by_field=<xsl:value-of select="/shop/sort_by_field"/>&order_direction=1</xsl:when>
<!-- Стрелка вниз -->
<xsl:otherwise>
<xsl:value-of select="$first_symbol"/>sort_by_field=<xsl:value-of select="/shop/sort_by_field"/>&order_direction=2</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- Ставим ссылку на страницу-->
<xsl:if test="$i != $current_page">
<!-- Выводим ссылку на первую страницу -->
<xsl:if test="$current_page - $pre_count_page > 0 and $i = 0">
<a href="{/shop/path}{$group_link}{$tag_path}{$number_link}{$filter}{$arrows}" class="page_link" style="text-decoration: none;">←</a>
</xsl:if>
<xsl:if test="$i >= ($current_page - $pre_count_page) and ($current_page + $post_count_page) >= $i">
<!-- Выводим ссылки на видимые страницы -->
<a href="{/shop/path}{$group_link}{$tag_path}{$number_link}{$filter}{$arrows}" class="page_link">
<xsl:value-of select="$i + 1"/>
</a>
</xsl:if>
<!-- Выводим ссылку на последнюю страницу -->
<xsl:if test="$i+1 >= $n and $n > ($current_page + 1 + $post_count_page)">
<xsl:choose>
<xsl:when test="$n > round($n)">
<!-- Выводим ссылку на последнюю страницу -->
<a href="{/shop/path}{$group_link}{$tag_path}{$number_link}{$filter}{$arrows}page-{round($n+1)}/" class="page_link" style="text-decoration: none;">→</a>
</xsl:when>
<xsl:otherwise>
<a href="{/shop/path}{$group_link}{$tag_path}{$number_link}{$filter}{$arrows}" class="page_link" style="text-decoration: none;">→</a>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:if>
<!-- Ссылка на предыдущую страницу для Ctrl + влево -->
<xsl:if test="$current_page != 0 and $i = $current_page">
<xsl:variable name="prev_number_link">
<xsl:choose>
<!-- Если не нулевой уровень -->
<xsl:when test="($current_page - 1) != 0">page-<xsl:value-of select="$i"/>/</xsl:when>
<!-- Иначе если нулевой уровень - просто ссылка на страницу со списком элементов -->
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<a href="{/shop/path}{$group_link}{$tag_path}{$prev_number_link}{$filter}{$arrows}" id="id_prev"></a>
</xsl:if>
<!-- Ссылка на следующую страницу для Ctrl + вправо -->
<xsl:if test="($n - 1) > $current_page and $i = $current_page">
<a href="{/shop/path}{$group_link}{$tag_path}page-{$current_page+2}/{$filter}{$arrows}" id="id_next"></a>
</xsl:if>
<!-- Не ставим ссылку на страницу-->
<xsl:if test="$i = $current_page">
<span class="current">
<xsl:value-of select="$i+1"/>
</span>
</xsl:if>
<!-- Рекурсивный вызов шаблона. НЕОБХОДИМО ПЕРЕДАВАТЬ ВСЕ НЕОБХОДИМЫЕ ПАРАМЕТРЫ! -->
<xsl:call-template name="for">
<xsl:with-param name="i" select="$i + 1"/>
<xsl:with-param name="items_on_page" select="$items_on_page"/>
<xsl:with-param name="current_page" select="$current_page"/>
<xsl:with-param name="count_items" select="$count_items"/>
<xsl:with-param name="visible_pages" select="$visible_pages"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<!-- Шаблон выводит рекурсивно ссылки на группы инф. элемента -->
<xsl:template match="group" mode="goup_path">
<xsl:param name="parent_id" select="@parent"/>
<!-- Получаем ID родительской группы и записываем в переменную $parent_group_id -->
<xsl:param name="parent_group_id" select="/shop/@current_group_id"/>
<xsl:apply-templates select="//group[@id=$parent_id]" mode="goup_path"/>
<xsl:if test="@parent=0">
<a href="{/shop/path}">
<xsl:value-of select="/shop/name"/>
</a>
</xsl:if>
<span class="path_arrow">→</span>
<xsl:choose>
<xsl:when test="$parent_group_id = @id">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</xsl:when>
<xsl:otherwise>
<a href="{/shop/path}{fullpath}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
шаблон информации о товаре
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
<xsl:decimal-format name="my" decimal-separator="," grouping-separator=" "/>
<xsl:template match="/shop">
<xsl:apply-templates select="item"/>
</xsl:template>
<xsl:template match="item">
<div id="body_text">
<div id="table">
<form method="get" action="./" id="AutoFilterDetail">
<div id="allcol">
<div id="menu2">
<table border="0">
<tr>
<td>
<div id="kn1_ser">
<div id="t">
<xsl:variable name="filter_string">
<xsl:value-of disable-output-escaping='yes' select='/shop/mark_code'/>
</xsl:variable>
<a href="{/shop/path}?property_id_266={$filter_string}" class="cat_title">
<xsl:value-of disable-output-escaping="yes" select="property[@id = 266]/value"/>
</a>
</div>
</div>
</td>
<td>
<div id="kn2_ser">
<div id="t">
Цена
</div>
</div>
</td>
<td>
<div id="kn3_ser">
<div id="t">
Пробег
</div>
</div>
</td>
<td>
<div id="kn4_ser">
<div id="t">
Год выпуска
</div>
</div>
</td>
<td>
<div id="kn1_ser">
<div id="t">
<a onclick="history.back();" href="javascript:void(0)">
Вернуться назад
</a>
</div>
</div>
</td>
</tr>
</table>
</div> <!-- id="menu2" -->
<SCRIPT>
<xsl:comment>
<xsl:text disable-output-escaping="yes">
<![CDATA[
function ShowImgDiv(file_path)
{
document.getElementById('big_image').innerHTML = "<img src=\"" + file_path + "\" style=\"border: 1px solid #000000; margin: 0px 5px 5px 0px;\" />"
}
]]>
</xsl:text>
</xsl:comment>
</SCRIPT>
<!--
<h1>
<xsl:value-of disable-output-escaping="yes" select="name"/>
</h1>
-->
<!-- Получаем ID родительской группы и записываем в переменную $parent_group_id -->
<xsl:variable name="parent_group_id" select="/shop/@current_group_id"/>
<!--
<xsl:if test="$parent_group_id = 0">
<a href="{/shop/path}">
<xsl:value-of disable-output-escaping="yes" select="/shop/name"/>
</a>
</xsl:if>
-->
<!-- Путь к группе -->
<!--
<p>
<xsl:apply-templates select="//group[@id=$parent_group_id]" mode="goup_path"/>
<span class="path_arrow">→</span>
<a href="{/path}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</p>
-->
<div style="clear: both"></div>
<!-- Информация об ошибках -->
<xsl:variable name="error_code" select="/shop/error"/>
<xsl:if test="$error_code != 0">
<div id="error">
<b>Внимание!</b>Неправильно введен код подтвержения!
</div>
</xsl:if>
<xsl:if test="not(/shop/error/node()) and /shop/comment_is_active/node()">
<!-- Информация о выполненном действии -->
<div style="border: 1px solid #dadada; padding: 10px; width: 400px">
<b>
<xsl:choose>
<xsl:when test="/shop/comment_is_active = '0'">Комментарий успешно добавлен и будет опубликован после проверки модератором!</xsl:when>
<xsl:otherwise>Комментарий успешно добавлен и опубликован!</xsl:otherwise>
</xsl:choose>
</b>
</div>
</xsl:if>
<div id="rightcol">
<div style="float: left; margin: 20px 0px 0px 20px">
<!-- Средняя оценка товара -->
<!--<xsl:if test="comments/average_grade/node()">
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="comments/average_grade"/>
<xsl:with-param name="const_grade" select="5"/>
</xsl:call-template>
</xsl:if>-->
<xsl:choose>
<xsl:when test="comments/average_grade/node()">
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="comments/average_grade"/>
<xsl:with-param name="const_grade" select="5"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="0"/>
<xsl:with-param name="const_grade" select="5"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</div>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" style="padding-right: 20px;">
<!-- Если указан вес товара -->
<xsl:if test="weight != 0">
<p>Вес товара: <xsl:value-of select="weight"/> <xsl:value-of select="weight_mesure"/></p>
</xsl:if>
<!-- Показываем скидки -->
<xsl:if test="count(discount) > 0">
<xsl:apply-templates select="discount"/>
</xsl:if>
<!-- Описание товара -->
<!-- <p><xsl:value-of disable-output-escaping="yes" select="description" /></p> -->
<h2>Текст объявления</h2>
<xsl:value-of disable-output-escaping="yes" select="text"/>
</td>
<xsl:if test="image != ''">
<td valign="top" width="{image/@width}">
<div id="big_image" style="valign: top; width: {image/@width}px; margin: 0px 10px 10px 0px; color: #aaaaaa;">
<img src="{image}" style="border: 1px solid #000000; margin: 0px 5px 5px 0px"/>
</div>
<!-- Изображение для товара, если есть -->
<!--
<div style="float: left; width: {small_image/@width}px; margin: 0px 10px 10px 0px; color: #aaaaaa;">
<a href="{image}" target="blank_" onclick="ShowImgWindow('{name}','{image}', {image/@width}, {image/@height}); return false;">
<img src="{small_image}" style="border: 1px solid #000000; margin: 0px 5px 5px 0px" />
</a>
</div>
-->
<table>
<tr>
<xsl:if test="small_image != '' ">
<td valign="top">
<img src="{small_image}" alt="Основное" title="Основное" style="cursor: pointer; border: 1px solid #000000; margin: 0px 5px 5px 0px" onclick="ShowImgDiv('{image}')"/>
</td>
</xsl:if>
<!-- Выводим список дополнительных свойств типа "Файл" -->
<xsl:if test="count(//property[type=1]) > 0">
<xsl:apply-templates select="//property[type=1]" mode="foto"/>
</xsl:if>
</tr>
</table>
</td>
</xsl:if>
</tr>
</table>
<!-- Цена товара -->
<div class="shop_block">Цена:
<xsl:choose>
<xsl:when test="price_discount != 0">
<xsl:variable name="price" select="price_discount"/>
<span style="font-size: 11pt; font-weight: bold;">
<xsl:value-of select="format-number($price, '### ###', 'my')"/> 
<xsl:value-of disable-output-escaping="yes" select="currency"/>
</span>
</xsl:when>
<xsl:otherwise>договорная</xsl:otherwise>
</xsl:choose>
<!-- Если цена со скидкой - выводим ее -->
<xsl:if test="price_tax != price_discount">
<br/>
<font color="gray">
<strike>
<xsl:value-of disable-output-escaping="yes" select="price_tax"/> <xsl:value-of disable-output-escaping="yes" select="currency"/>
</strike>
</font>
</xsl:if>
</div>
<!--<xsl:if test="(count(//property[value != '']) - count(//property[type!=1]) - 1)>0">-->
<div style="margin-top: 10px;">
<!--<h2>Дополнительные сведения</h2>-->
<!-- Выводим список дополнительных свойств -->
<table border="0">
<xsl:apply-templates select="//property[type!=1]"/>
</table>
</div>
<!--</xsl:if>-->
</div> <!-- id="rightcol"-->
<div id="leftcol">
<xsl:choose>
<xsl:when test="property[@xml_name='Photo01']/file_path!=''">
<img src="{property[@xml_name='Photo01']/file_path}" width="100%" alt="" id="img01"/>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="property[@xml_name='Photo02']/file_path!=''">
<img src="{property[@xml_name='Photo02']/file_path}" width="100%" alt="" id="img01"/>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="property[@xml_name='Photo03']/file_path!=''">
<img src="{property[@xml_name='Photo03']/file_path}" width="100%" alt="" id="img01"/>
</xsl:when>
<xsl:otherwise>
<img src="{property[@xml_name='Photo04']/file_path}" width="100%" alt="" id="img01"/>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
<table width="100%" border="0">
<tr>
<td width="33%">
<xsl:choose>
<xsl:when test="property[@xml_name='Photo01']/file_path!=''">
<xsl:choose>
<xsl:when test="property[@xml_name='Photo02']/file_path!=''">
<img src="{property[@xml_name='Photo02']/file_path}" width="100%" alt="" id="img02" onClick="set_active_image('img02');"/>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="property[@xml_name='Photo03']/file_path!=''">
<img src="{property[@xml_name='Photo03']/file_path}" width="100%" alt="" id="img02" onClick="set_active_image('img02');"/>
</xsl:when>
<xsl:otherwise>
<img src="{property[@xml_name='Photo04']/file_path}" width="100%" alt="" id="img02" onClick="set_active_image('img02');"/>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:othervise>
<xsl:choose>
<xsl:when test="property[@xml_name='Photo02']/file_path=''">
<xsl:choose>
<xsl:when test="property[@xml_name='Photo03']/file_path!=''">
<img src="{property[@xml_name='Photo04']/file_path}" width="100%" alt="" id="img02" onClick="set_active_image('img02');"/>
</xsl:when>
</xsl:choose>
</xsl:when>
<xsl:othervise>
<img src="{property[@xml_name='Photo03']/file_path}" width="100%" alt="" id="img02" onClick="set_active_image('img02');"/>
</xsl:othervise>
</xsl:choose>
</xsl:othervise>
</xsl:choose>
</td>
<td width="33%">
<xsl:choose>
<xsl:when test="property[@xml_name='Photo01']/file_path!=''">
<xsl:choose>
<xsl:when test="property[@xml_name='Photo02']/file_path!=''">
<xsl:choose>
<xsl:when test="property[@xml_name='Photo03']/file_path!=''">
<img src="{property[@xml_name='Photo03']/file_path}" width="100%" alt="" id="img03" onClick="set_active_image('img03');"/>
</xsl:when>
<xsl:otherwise>
<img src="{property[@xml_name='Photo04']/file_path}" width="100%" alt="" id="img03" onClick="set_active_image('img03');"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<img src="{property[@xml_name='Photo04']/file_path}" width="100%" alt="" id="img03" onClick="set_active_image('img03');"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:othervise>
<xsl:choose>
<xsl:when test="property[@xml_name='Photo02']/file_path!=''">
<img src="{property[@xml_name='Photo04']/file_path}" width="100%" alt="" id="img03" onClick="set_active_image('img03');"/>
</xsl:when>
</xsl:choose>
</xsl:othervise>
</xsl:choose>
</td>
<td width="33%">
<xsl:choose>
<xsl:when test="property[@xml_name='Photo01']/file_path!=''">
<xsl:choose>
<xsl:when test="property[@xml_name='Photo02']/file_path!=''">
<xsl:choose>
<xsl:when test="property[@xml_name='Photo03']/file_path!=''">
<img src="{property[@xml_name='Photo04']/file_path}" width="100%" alt="" id="img04" onClick="set_active_image('img04');"/>
</xsl:when>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:when>
</xsl:choose>
</td>
</tr>
</table>
</div> <!-- id="leftcol" -->
</div> <!-- id="allcol" -->
</form>
</div> <!-- id="table" -->
</div> <!-- id="body_text" -->
</xsl:template>
<!-- Шаблон для модификаций -->
<xsl:template match="modifications/item">
<tr>
<td>
<!-- Название модификации -->
<a href="{/shop/path}{fullpath}{path}/">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</td>
<td>
<!-- Цена модификации -->
<xsl:value-of disable-output-escaping="yes" select="price_discount"/> 
<!-- Валюта -->
<xsl:value-of disable-output-escaping="yes" select="currency"/>
</td>
</tr>
</xsl:template>
<!-- Вывод рейтинга товара -->
<xsl:template name="show_average_grade">
<xsl:param name="grade" select="0"/>
<xsl:param name="const_grade" select="0"/>
<!-- Чтобы избежать зацикливания -->
<xsl:variable name="current_grade" select="$grade * 1"/>
<xsl:choose>
<!-- Если число целое -->
<xsl:when test="floor($current_grade) = $current_grade and not($const_grade > ceiling($current_grade))">
<xsl:if test="$current_grade - 1 > 0">
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="$current_grade - 1"/>
<xsl:with-param name="const_grade" select="$const_grade - 1"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="$current_grade != 0">
<img src="/hostcmsfiles/images/stars_single.gif"/>
</xsl:if>
</xsl:when>
<xsl:when test="$current_grade != 0 and not($const_grade > ceiling($current_grade))">
<xsl:if test="$current_grade - 0.5 > 0">
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="$current_grade - 0.5"/>
<xsl:with-param name="const_grade" select="$const_grade - 1"/>
</xsl:call-template>
</xsl:if>
<img src="/hostcmsfiles/images/stars_half.gif"/>
</xsl:when>
<!-- Выводим серые звездочки, пока текущая позиция не дойдет то значения, увеличенного до целого -->
<xsl:otherwise>
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="$current_grade"/>
<xsl:with-param name="const_grade" select="$const_grade - 1"/>
</xsl:call-template>
<img src="/hostcmsfiles/images/stars_gray.gif"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Шаблон для вывода звездочек (оценки) -->
<xsl:template name="for">
<xsl:param name="i" select="0"/>
<xsl:param name="n"/>
<input type="radio" name="shop_comment_grade" value="{$i}" id="id_shop_comment_grade_{$i}">
<xsl:if test="/shop/shop_comment_grade = $i">
<xsl:attribute name="checked">
</xsl:attribute>
</xsl:if>
</input> 
<label for="id_shop_comment_grade_{$i}">
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="$i"/>
<xsl:with-param name="const_grade" select="5"/>
</xsl:call-template>
</label>
<br/>
<xsl:if test="$n > $i and $n > 1">
<xsl:call-template name="for">
<xsl:with-param name="i" select="$i + 1"/>
<xsl:with-param name="n" select="$n"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<!-- Шаблон для отзывов -->
<xsl:template match="comments/comment">
<b>
<xsl:value-of select="subject"/>
</b> 
(<xsl:value-of select="user_name"/>)
<xsl:value-of select="date_time"/>
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="grade"/>
<xsl:with-param name="const_grade" select="5"/>
</xsl:call-template>
<div style="background: #E5DFDA; padding: 3px;">
<xsl:value-of select="text"/>
<br/>
</div>
<br/>
</xsl:template>
<!-- Шаблон для скидки -->
<xsl:template match="discount">
<br/>
<xsl:value-of disable-output-escaping="yes" select="name"/> 
<xsl:value-of disable-output-escaping="yes" select="value"/>%
</xsl:template>
<!-- Шаблон вывода дополнительных свойств не являющихся файлами -->
<xsl:template match="property">
<!-- Не отображаем дату добавления объявления, идентификатор автора и e-mail -->
<xsl:if test="@id!=61 and @id!=6 and value != ''">
<xsl:choose>
<!-- Тип свойства - флажок -->
<xsl:when test="type=7">
<xsl:if test="value!=0">
<tr>
<td class="shop_block" style="border: none; color: #da1a05;">
<center>
<img src="/images/check.gif"/>
</center>
</td>
<td style="padding: 5px;">
<strong>
<xsl:value-of disable-output-escaping="yes" select="name"/>
</strong>
</td>
</tr>
</xsl:if>
<!--
<xsl:choose>
<xsl:when test="value=0"> Нет</xsl:when>
<xsl:otherwise> Да</xsl:otherwise>
</xsl:choose>
-->
</xsl:when>
<xsl:when test="@id=213">
<tr>
<td class="shop_block" style="border: none;">
<xsl:value-of disable-output-escaping="yes" select="name"/>:
</td>
<td style="padding: 5px;">
<strong>
<a href="/users/info/{/shop/autor_login}/">
<xsl:value-of select="/shop/autor_login"/>
</a>
</strong>
</td>
</tr>
</xsl:when>
<!-- Остальные типы доп. свойств -->
<xsl:otherwise>
<tr>
<td class="shop_block" style="border: none;">
<xsl:value-of disable-output-escaping="yes" select="name"/>:</td>
<td style="padding: 5px;">
<strong>
<xsl:value-of disable-output-escaping="yes" select="value"/>
</strong>
</td>
</tr>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:template>
<!-- Шаблон вывода дополнительных свойств являющихся файлами -->
<xsl:template match="property" mode="foto">
<td valign="top">
<img src="{small_image/file_path}" alt="{name}" title="{name}" style="cursor: pointer; border: 1px solid #000000; margin: 0px 5px 5px 0px" onclick="ShowImgDiv('{file_path}')"/>
</td>
<xsl:if test="position() mod 3 =0">
<xsl:text disable-output-escaping="yes">
</tr>
<tr>
</xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="tying/item">
<div style="clear: both">
<p>
<a href="/shop/{fullpath}{path}/">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</p>
<!-- Изображение для товара, если есть -->
<xsl:if test="small_image != ''">
<a href="{/shop/path}{fullpath}{path}/">
<img src="{small_image}" align="left" style="border: 1px solid #000000; margin: 0px 5px 5px 0px"/>
</a>
</xsl:if>
<p>
<xsl:value-of disable-output-escaping="yes" select="description"/>
</p>
<!-- Если указан вес товара -->
<xsl:if test="weight != 0">
<br/>Вес товара: <xsl:value-of select="weight"/>
<xsl:value-of select="weight_mesure"/>
</xsl:if>
<!-- Показываем скидки -->
<xsl:if test="count(discount) > 0">
<xsl:apply-templates select="discount"/>
</xsl:if>
<!-- Показываем количество на складе, если больше нуля -->
<xsl:if test="rest > 0">
<br/>В наличии: <xsl:value-of disable-output-escaping="yes" select="rest"/>
</xsl:if>
<xsl:if test="producer/shop_producers_list_name != ''">
<br/>Производитель: <xsl:value-of disable-output-escaping="yes" select="producer/shop_producers_list_name"/>
</xsl:if>
</div>
</xsl:template>
<!-- ======================================================== -->
<!-- Шаблон выводит рекурсивно ссылки на группы инф. элемента -->
<!-- ======================================================== -->
<xsl:template match="group" mode="goup_path">
<xsl:variable name="parent_id" select="@parent"/>
<!-- Получаем ID родительской группы и записываем в переменную $parent_group_id -->
<xsl:apply-templates select="//group[@id=$parent_id]" mode="goup_path"/>
<xsl:if test="@parent=0">
<a href="{/shop/path}">
<xsl:value-of disable-output-escaping="yes" select="/shop/name"/>
</a>
</xsl:if>
<span class="path_arrow">→</span>
<a href="{/shop/path}{fullpath}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
<xsl:decimal-format name="my" decimal-separator="," grouping-separator=" "/>
<xsl:template match="/shop">
<xsl:apply-templates select="item"/>
</xsl:template>
<xsl:template match="item">
<div id="body_text">
<div id="table">
<form method="get" action="./" id="AutoFilterDetail">
<div id="allcol">
<div id="menu2">
<table border="0">
<tr>
<td>
<div id="kn1_ser">
<div id="t">
<xsl:variable name="filter_string">
<xsl:value-of disable-output-escaping='yes' select='/shop/mark_code'/>
</xsl:variable>
<a href="{/shop/path}?property_id_266={$filter_string}" class="cat_title">
<xsl:value-of disable-output-escaping="yes" select="property[@id = 266]/value"/>
</a>
</div>
</div>
</td>
<td>
<div id="kn2_ser">
<div id="t">
Цена
</div>
</div>
</td>
<td>
<div id="kn3_ser">
<div id="t">
Пробег
</div>
</div>
</td>
<td>
<div id="kn4_ser">
<div id="t">
Год выпуска
</div>
</div>
</td>
<td>
<div id="kn1_ser">
<div id="t">
<a onclick="history.back();" href="javascript:void(0)">
Вернуться назад
</a>
</div>
</div>
</td>
</tr>
</table>
</div> <!-- id="menu2" -->
<SCRIPT>
<xsl:comment>
<xsl:text disable-output-escaping="yes">
<![CDATA[
function ShowImgDiv(file_path)
{
document.getElementById('big_image').innerHTML = "<img src=\"" + file_path + "\" style=\"border: 1px solid #000000; margin: 0px 5px 5px 0px;\" />"
}
]]>
</xsl:text>
</xsl:comment>
</SCRIPT>
<!--
<h1>
<xsl:value-of disable-output-escaping="yes" select="name"/>
</h1>
-->
<!-- Получаем ID родительской группы и записываем в переменную $parent_group_id -->
<xsl:variable name="parent_group_id" select="/shop/@current_group_id"/>
<!--
<xsl:if test="$parent_group_id = 0">
<a href="{/shop/path}">
<xsl:value-of disable-output-escaping="yes" select="/shop/name"/>
</a>
</xsl:if>
-->
<!-- Путь к группе -->
<!--
<p>
<xsl:apply-templates select="//group[@id=$parent_group_id]" mode="goup_path"/>
<span class="path_arrow">→</span>
<a href="{/path}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</p>
-->
<div style="clear: both"></div>
<!-- Информация об ошибках -->
<xsl:variable name="error_code" select="/shop/error"/>
<xsl:if test="$error_code != 0">
<div id="error">
<b>Внимание!</b>Неправильно введен код подтвержения!
</div>
</xsl:if>
<xsl:if test="not(/shop/error/node()) and /shop/comment_is_active/node()">
<!-- Информация о выполненном действии -->
<div style="border: 1px solid #dadada; padding: 10px; width: 400px">
<b>
<xsl:choose>
<xsl:when test="/shop/comment_is_active = '0'">Комментарий успешно добавлен и будет опубликован после проверки модератором!</xsl:when>
<xsl:otherwise>Комментарий успешно добавлен и опубликован!</xsl:otherwise>
</xsl:choose>
</b>
</div>
</xsl:if>
<div id="rightcol">
<div style="float: left; margin: 20px 0px 0px 20px">
<!-- Средняя оценка товара -->
<!--<xsl:if test="comments/average_grade/node()">
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="comments/average_grade"/>
<xsl:with-param name="const_grade" select="5"/>
</xsl:call-template>
</xsl:if>-->
<xsl:choose>
<xsl:when test="comments/average_grade/node()">
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="comments/average_grade"/>
<xsl:with-param name="const_grade" select="5"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="0"/>
<xsl:with-param name="const_grade" select="5"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</div>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" style="padding-right: 20px;">
<!-- Если указан вес товара -->
<xsl:if test="weight != 0">
<p>Вес товара: <xsl:value-of select="weight"/> <xsl:value-of select="weight_mesure"/></p>
</xsl:if>
<!-- Показываем скидки -->
<xsl:if test="count(discount) > 0">
<xsl:apply-templates select="discount"/>
</xsl:if>
<!-- Описание товара -->
<!-- <p><xsl:value-of disable-output-escaping="yes" select="description" /></p> -->
<h2>Текст объявления</h2>
<xsl:value-of disable-output-escaping="yes" select="text"/>
</td>
<xsl:if test="image != ''">
<td valign="top" width="{image/@width}">
<div id="big_image" style="valign: top; width: {image/@width}px; margin: 0px 10px 10px 0px; color: #aaaaaa;">
<img src="{image}" style="border: 1px solid #000000; margin: 0px 5px 5px 0px"/>
</div>
<!-- Изображение для товара, если есть -->
<!--
<div style="float: left; width: {small_image/@width}px; margin: 0px 10px 10px 0px; color: #aaaaaa;">
<a href="{image}" target="blank_" onclick="ShowImgWindow('{name}','{image}', {image/@width}, {image/@height}); return false;">
<img src="{small_image}" style="border: 1px solid #000000; margin: 0px 5px 5px 0px" />
</a>
</div>
-->
<table>
<tr>
<xsl:if test="small_image != '' ">
<td valign="top">
<img src="{small_image}" alt="Основное" title="Основное" style="cursor: pointer; border: 1px solid #000000; margin: 0px 5px 5px 0px" onclick="ShowImgDiv('{image}')"/>
</td>
</xsl:if>
<!-- Выводим список дополнительных свойств типа "Файл" -->
<xsl:if test="count(//property[type=1]) > 0">
<xsl:apply-templates select="//property[type=1]" mode="foto"/>
</xsl:if>
</tr>
</table>
</td>
</xsl:if>
</tr>
</table>
<!-- Цена товара -->
<div class="shop_block">Цена:
<xsl:choose>
<xsl:when test="price_discount != 0">
<xsl:variable name="price" select="price_discount"/>
<span style="font-size: 11pt; font-weight: bold;">
<xsl:value-of select="format-number($price, '### ###', 'my')"/> 
<xsl:value-of disable-output-escaping="yes" select="currency"/>
</span>
</xsl:when>
<xsl:otherwise>договорная</xsl:otherwise>
</xsl:choose>
<!-- Если цена со скидкой - выводим ее -->
<xsl:if test="price_tax != price_discount">
<br/>
<font color="gray">
<strike>
<xsl:value-of disable-output-escaping="yes" select="price_tax"/> <xsl:value-of disable-output-escaping="yes" select="currency"/>
</strike>
</font>
</xsl:if>
</div>
<!--<xsl:if test="(count(//property[value != '']) - count(//property[type!=1]) - 1)>0">-->
<div style="margin-top: 10px;">
<!--<h2>Дополнительные сведения</h2>-->
<!-- Выводим список дополнительных свойств -->
<table border="0">
<xsl:apply-templates select="//property[type!=1]"/>
</table>
</div>
<!--</xsl:if>-->
</div> <!-- id="rightcol"-->
<div id="leftcol">
<xsl:choose>
<xsl:when test="property[@xml_name='Photo01']/file_path!=''">
<img src="{property[@xml_name='Photo01']/file_path}" width="100%" alt="" id="img01"/>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="property[@xml_name='Photo02']/file_path!=''">
<img src="{property[@xml_name='Photo02']/file_path}" width="100%" alt="" id="img01"/>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="property[@xml_name='Photo03']/file_path!=''">
<img src="{property[@xml_name='Photo03']/file_path}" width="100%" alt="" id="img01"/>
</xsl:when>
<xsl:otherwise>
<img src="{property[@xml_name='Photo04']/file_path}" width="100%" alt="" id="img01"/>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
<table width="100%" border="0">
<tr>
<td width="33%">
<xsl:choose>
<xsl:when test="property[@xml_name='Photo01']/file_path!=''">
<xsl:choose>
<xsl:when test="property[@xml_name='Photo02']/file_path!=''">
<img src="{property[@xml_name='Photo02']/file_path}" width="100%" alt="" id="img02" onClick="set_active_image('img02');"/>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="property[@xml_name='Photo03']/file_path!=''">
<img src="{property[@xml_name='Photo03']/file_path}" width="100%" alt="" id="img02" onClick="set_active_image('img02');"/>
</xsl:when>
<xsl:otherwise>
<img src="{property[@xml_name='Photo04']/file_path}" width="100%" alt="" id="img02" onClick="set_active_image('img02');"/>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:othervise>
<xsl:choose>
<xsl:when test="property[@xml_name='Photo02']/file_path=''">
<xsl:choose>
<xsl:when test="property[@xml_name='Photo03']/file_path!=''">
<img src="{property[@xml_name='Photo04']/file_path}" width="100%" alt="" id="img02" onClick="set_active_image('img02');"/>
</xsl:when>
</xsl:choose>
</xsl:when>
<xsl:othervise>
<img src="{property[@xml_name='Photo03']/file_path}" width="100%" alt="" id="img02" onClick="set_active_image('img02');"/>
</xsl:othervise>
</xsl:choose>
</xsl:othervise>
</xsl:choose>
</td>
<td width="33%">
<xsl:choose>
<xsl:when test="property[@xml_name='Photo01']/file_path!=''">
<xsl:choose>
<xsl:when test="property[@xml_name='Photo02']/file_path!=''">
<xsl:choose>
<xsl:when test="property[@xml_name='Photo03']/file_path!=''">
<img src="{property[@xml_name='Photo03']/file_path}" width="100%" alt="" id="img03" onClick="set_active_image('img03');"/>
</xsl:when>
<xsl:otherwise>
<img src="{property[@xml_name='Photo04']/file_path}" width="100%" alt="" id="img03" onClick="set_active_image('img03');"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<img src="{property[@xml_name='Photo04']/file_path}" width="100%" alt="" id="img03" onClick="set_active_image('img03');"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:othervise>
<xsl:choose>
<xsl:when test="property[@xml_name='Photo02']/file_path!=''">
<img src="{property[@xml_name='Photo04']/file_path}" width="100%" alt="" id="img03" onClick="set_active_image('img03');"/>
</xsl:when>
</xsl:choose>
</xsl:othervise>
</xsl:choose>
</td>
<td width="33%">
<xsl:choose>
<xsl:when test="property[@xml_name='Photo01']/file_path!=''">
<xsl:choose>
<xsl:when test="property[@xml_name='Photo02']/file_path!=''">
<xsl:choose>
<xsl:when test="property[@xml_name='Photo03']/file_path!=''">
<img src="{property[@xml_name='Photo04']/file_path}" width="100%" alt="" id="img04" onClick="set_active_image('img04');"/>
</xsl:when>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:when>
</xsl:choose>
</td>
</tr>
</table>
</div> <!-- id="leftcol" -->
</div> <!-- id="allcol" -->
</form>
</div> <!-- id="table" -->
</div> <!-- id="body_text" -->
</xsl:template>
<!-- Шаблон для модификаций -->
<xsl:template match="modifications/item">
<tr>
<td>
<!-- Название модификации -->
<a href="{/shop/path}{fullpath}{path}/">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</td>
<td>
<!-- Цена модификации -->
<xsl:value-of disable-output-escaping="yes" select="price_discount"/> 
<!-- Валюта -->
<xsl:value-of disable-output-escaping="yes" select="currency"/>
</td>
</tr>
</xsl:template>
<!-- Вывод рейтинга товара -->
<xsl:template name="show_average_grade">
<xsl:param name="grade" select="0"/>
<xsl:param name="const_grade" select="0"/>
<!-- Чтобы избежать зацикливания -->
<xsl:variable name="current_grade" select="$grade * 1"/>
<xsl:choose>
<!-- Если число целое -->
<xsl:when test="floor($current_grade) = $current_grade and not($const_grade > ceiling($current_grade))">
<xsl:if test="$current_grade - 1 > 0">
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="$current_grade - 1"/>
<xsl:with-param name="const_grade" select="$const_grade - 1"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="$current_grade != 0">
<img src="/hostcmsfiles/images/stars_single.gif"/>
</xsl:if>
</xsl:when>
<xsl:when test="$current_grade != 0 and not($const_grade > ceiling($current_grade))">
<xsl:if test="$current_grade - 0.5 > 0">
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="$current_grade - 0.5"/>
<xsl:with-param name="const_grade" select="$const_grade - 1"/>
</xsl:call-template>
</xsl:if>
<img src="/hostcmsfiles/images/stars_half.gif"/>
</xsl:when>
<!-- Выводим серые звездочки, пока текущая позиция не дойдет то значения, увеличенного до целого -->
<xsl:otherwise>
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="$current_grade"/>
<xsl:with-param name="const_grade" select="$const_grade - 1"/>
</xsl:call-template>
<img src="/hostcmsfiles/images/stars_gray.gif"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Шаблон для вывода звездочек (оценки) -->
<xsl:template name="for">
<xsl:param name="i" select="0"/>
<xsl:param name="n"/>
<input type="radio" name="shop_comment_grade" value="{$i}" id="id_shop_comment_grade_{$i}">
<xsl:if test="/shop/shop_comment_grade = $i">
<xsl:attribute name="checked">
</xsl:attribute>
</xsl:if>
</input> 
<label for="id_shop_comment_grade_{$i}">
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="$i"/>
<xsl:with-param name="const_grade" select="5"/>
</xsl:call-template>
</label>
<br/>
<xsl:if test="$n > $i and $n > 1">
<xsl:call-template name="for">
<xsl:with-param name="i" select="$i + 1"/>
<xsl:with-param name="n" select="$n"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<!-- Шаблон для отзывов -->
<xsl:template match="comments/comment">
<b>
<xsl:value-of select="subject"/>
</b> 
(<xsl:value-of select="user_name"/>)
<xsl:value-of select="date_time"/>
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="grade"/>
<xsl:with-param name="const_grade" select="5"/>
</xsl:call-template>
<div style="background: #E5DFDA; padding: 3px;">
<xsl:value-of select="text"/>
<br/>
</div>
<br/>
</xsl:template>
<!-- Шаблон для скидки -->
<xsl:template match="discount">
<br/>
<xsl:value-of disable-output-escaping="yes" select="name"/> 
<xsl:value-of disable-output-escaping="yes" select="value"/>%
</xsl:template>
<!-- Шаблон вывода дополнительных свойств не являющихся файлами -->
<xsl:template match="property">
<!-- Не отображаем дату добавления объявления, идентификатор автора и e-mail -->
<xsl:if test="@id!=61 and @id!=6 and value != ''">
<xsl:choose>
<!-- Тип свойства - флажок -->
<xsl:when test="type=7">
<xsl:if test="value!=0">
<tr>
<td class="shop_block" style="border: none; color: #da1a05;">
<center>
<img src="/images/check.gif"/>
</center>
</td>
<td style="padding: 5px;">
<strong>
<xsl:value-of disable-output-escaping="yes" select="name"/>
</strong>
</td>
</tr>
</xsl:if>
<!--
<xsl:choose>
<xsl:when test="value=0"> Нет</xsl:when>
<xsl:otherwise> Да</xsl:otherwise>
</xsl:choose>
-->
</xsl:when>
<xsl:when test="@id=213">
<tr>
<td class="shop_block" style="border: none;">
<xsl:value-of disable-output-escaping="yes" select="name"/>:
</td>
<td style="padding: 5px;">
<strong>
<a href="/users/info/{/shop/autor_login}/">
<xsl:value-of select="/shop/autor_login"/>
</a>
</strong>
</td>
</tr>
</xsl:when>
<!-- Остальные типы доп. свойств -->
<xsl:otherwise>
<tr>
<td class="shop_block" style="border: none;">
<xsl:value-of disable-output-escaping="yes" select="name"/>:</td>
<td style="padding: 5px;">
<strong>
<xsl:value-of disable-output-escaping="yes" select="value"/>
</strong>
</td>
</tr>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:template>
<!-- Шаблон вывода дополнительных свойств являющихся файлами -->
<xsl:template match="property" mode="foto">
<td valign="top">
<img src="{small_image/file_path}" alt="{name}" title="{name}" style="cursor: pointer; border: 1px solid #000000; margin: 0px 5px 5px 0px" onclick="ShowImgDiv('{file_path}')"/>
</td>
<xsl:if test="position() mod 3 =0">
<xsl:text disable-output-escaping="yes">
</tr>
<tr>
</xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="tying/item">
<div style="clear: both">
<p>
<a href="/shop/{fullpath}{path}/">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</p>
<!-- Изображение для товара, если есть -->
<xsl:if test="small_image != ''">
<a href="{/shop/path}{fullpath}{path}/">
<img src="{small_image}" align="left" style="border: 1px solid #000000; margin: 0px 5px 5px 0px"/>
</a>
</xsl:if>
<p>
<xsl:value-of disable-output-escaping="yes" select="description"/>
</p>
<!-- Если указан вес товара -->
<xsl:if test="weight != 0">
<br/>Вес товара: <xsl:value-of select="weight"/>
<xsl:value-of select="weight_mesure"/>
</xsl:if>
<!-- Показываем скидки -->
<xsl:if test="count(discount) > 0">
<xsl:apply-templates select="discount"/>
</xsl:if>
<!-- Показываем количество на складе, если больше нуля -->
<xsl:if test="rest > 0">
<br/>В наличии: <xsl:value-of disable-output-escaping="yes" select="rest"/>
</xsl:if>
<xsl:if test="producer/shop_producers_list_name != ''">
<br/>Производитель: <xsl:value-of disable-output-escaping="yes" select="producer/shop_producers_list_name"/>
</xsl:if>
</div>
</xsl:template>
<!-- ======================================================== -->
<!-- Шаблон выводит рекурсивно ссылки на группы инф. элемента -->
<!-- ======================================================== -->
<xsl:template match="group" mode="goup_path">
<xsl:variable name="parent_id" select="@parent"/>
<!-- Получаем ID родительской группы и записываем в переменную $parent_group_id -->
<xsl:apply-templates select="//group[@id=$parent_id]" mode="goup_path"/>
<xsl:if test="@parent=0">
<a href="{/shop/path}">
<xsl:value-of disable-output-escaping="yes" select="/shop/name"/>
</a>
</xsl:if>
<span class="path_arrow">→</span>
<a href="{/shop/path}{fullpath}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</xsl:template>
</xsl:stylesheet>
Шаблон это хорошо, но сам по себе, без того XML-документа, который он обрабатывает, это бесполезный текст. Выложите еще и XML для каждого из шаблонов.
Заказов не беру. Консультирую редко.
типовая динамическая страница:
<script type="text/javascript" charset="utf-8">
(function(){var a=function(){var b=document.documentElement.style;return typeof b.borderRadius==="string"||typeof b.WebkitBorderRadius==="string"||typeof b.KhtmlBorderRadius==="string"||typeof b.MozBorderRadius==="string"};document.documentElement.className+=a()?" m-border-radius":" m-no-border-radius"}());(function(b){if(!b){b=window.Lego={}}function a(c){return c.replace(/^(?:https?:)?\/\//,"")}b.c=function(d,c,j){var i=a((j&&j.host)||b.params["click-host"]||"clck.yandex.ru"),e=function(l,n,m,k){return n.indexOf("/dtype=")>-1?n:location.protocol+"//"+i+"/"+m+"/dtype="+l+"/rnd="+((new Date()).getTime()+Math.round(Math.random()*100))+(k?"/*"+(n.match(/^http/)?n:location.protocol+"//"+location.host+(n.match("^/")?n:"/"+n)):"/*data="+encodeURIComponent("url="+encodeURIComponent((n.match(/^http/)?n:location.protocol+"//"+location.host+(n.match("^/")?n:"/"+n)))))},g=function(){var k=document.getElementsByTagName("head")[0]||document.getElementsByTagName("body")[0];var h=document.createElement("script");h.setAttribute("src",e(d,location.href,"jclck"));k.insertBefore(h,k.firstChild)};if(c){if(c.className.match(/b-pseudo-link/)||(c.href&&c.href.match(/^mailto:/))||(j&&j.noRedirect===true)){g()}else{if(c.href){var f=c.href;c.href=e(d,f,"redir");setTimeout(function(){c.href=f},500)}else{if(c.form){if(c.type.match(/submit|button|image/)){var f=c.form.action;c.form.action=e(d,f,"redir",true);setTimeout(function(){c.form.action=f},500)}else{g()}}else{if(c.action){c.action=e(d,c.action,"redir",true)}else{throw"counter.js: not link and not form!"}}}}}else{g()}}})(window.Lego);(function(a){if(!a){a=window.Lego={}}a.cp=function(f,c,e,b,d){a.c("stred/pid="+f+"/cid="+c+(e?"/path="+e:""),b,d)}})(window.Lego);(function(a){if(!a){a=window.Lego={}}a.ch=function(c,b){if(a.params["show-counters"]){a.cp(0,2219,c,b)}}})(window.Lego);(function(a){if(!a){a=window.Lego={}}a.getCookie=function(h){var g=document.cookie;if(g.length<1){return false}var d=g.indexOf(h+"=");if(d==-1){return false}d+=(h.length+1);var f=g.indexOf(";",d);return decodeURIComponent((f==-1)?g.substring(d):g.substring(d,f))}})(window.Lego);(function(a){if(!a){a=window.Lego={}}a.isSessionValid=function(){return !!a.getCookie("yandex_login")}})(window.Lego);(function(b,a){if(!a){a=window.Lego={}}a.init||(a.init=function(c){(c=a.params=b.extend({id:"",login:a.isSessionValid()?a.getCookie("yandex_login")||"":"",yandexuid:a.getCookie("yandexuid"),locale:"ru",retpath:window.location.toString(),"passport-host":"//passport.yandex.ru","pass-host":"//pass.yandex.ru","passport-msg":c.id,"social-host":"//social.yandex.ru","lego-path":"/lego","show-counters-percent":100},c,a.params))["show-counters"]=Math.round(Math.random()*100)<=c["show-counters-percent"];b(function(){c.oframebust&&a.oframebust(c.oframebust)});return c});a.block||(a.block={});a.blockInit||(a.blockInit=function(c,d){c=c||document;d=d||".g-js";b(c).find(d).each(function(){var h=b(this),g=this.onclick?this.onclick():{},e=g.name||"",f=a.block[e];if(f&&!h.data(e)){f.call(h,g);h.data(e,true).addClass(e+"_js_inited")}})});a.blockInitBinded||(a.blockInitBinded=!!b(document).ready(function(){a.blockInit()}))})(jQuery,window.Lego);(function(e){var b=(function(){_}).toString().indexOf("_")>-1,a=e.browser.msie,c=a?["toString","valueOf"]:null,f=function(){};function d(h,g,i){var k=false;if(a){var j=[];e.each(c,function(){i.hasOwnProperty(this)&&(k=true)&&j.push({name:this,val:i[this]})});if(k){e.each(i,function(l){j.push({name:l,val:this})});i=j}}e.each(i,function(m,n){if(k){m=n.name;n=n.val}if(e.isFunction(n)&&(!b||n.toString().indexOf(".__base")>-1)){var l=h[m]||function(){};g[m]=function(){var p=this.__base;this.__base=l;var o=n.apply(this,arguments);this.__base=p;return o}}else{g[m]=n}})}e.inherit=function(){var h=e.isFunction(arguments[0]),n=h?arguments[0]:f,j=arguments[h?1:0]||{},l=arguments[h?2:1],g=j.__constructor||(h&&n.prototype.__constructor)?function(){this.__constructor.apply(this,arguments)}:function(){};if(!h){g.prototype=j;g.prototype.__self=g.prototype.constructor=g;return e.extend(g,l)}e.extend(g,n);var k=function(){},i=k.prototype=n.prototype,m=g.prototype=new k();m.__self=m.constructor=g;d(i,m,j);l&&d(n,g,l);return g};e.inheritSelf=function(j,h,i){var g=j.prototype;d(g,g,h);i&&d(j,j,i);return j}})(jQuery);(function(c){var a=0,d="__"+(+new Date),b=function(){return"uniq"+ ++a};c.identify=function(g,f){if(!g){return b()}var e="uniqueID" in g?"uniqueID":d;return f||e in g?g[e]:g[e]=b()}})(jQuery);(function(a){a.isEmptyObject||(a.isEmptyObject=function(c){for(var b in c){return false}return true})})(jQuery);(function(a){a.extend({debounce:function(c,d,e,b){if(arguments.length==3&&typeof e!="boolean"){b=e;e=false}var f;return function(){var g=arguments;b=b||this;e&&!f&&c.apply(b,g);clearTimeout(f);f=setTimeout(function(){e||c.apply(b,g);f=null},d)}},throttle:function(e,f,b){var g,d,c;return function(){d=arguments;c=true;b=b||this;g||(function(){if(c){e.apply(b,d);c=false;g=setTimeout(arguments.callee,f)}else{g=null}})()}}})})(jQuery);(function(d){var a="__"+ +new Date+"storage",c=function(f,e){return d.identify(f)+(e?d.identify(e):"")},b={buildEventName:function(f){return f},on:function(o,j,p,s,m){if(typeof o=="string"){if(d.isFunction(j)){s=p;p=j;j=undefined}var f=c(p,s),l=this[a]||(this[a]={}),g=o.split(" "),h=0,q;while(o=g[h++]){o=this.buildEventName(o);q=l[o]||(l[o]={ids:{},list:{}});if(!(f in q.ids)){var n=q.list,r={fn:p,data:j,ctx:s,special:m};if(n.last){n.last.next=r;r.prev=n.last}else{n.first=r}q.ids[f]=n.last=r}}}else{var k=this;d.each(o,function(t,i){k.on(t,i,j,m)})}return this},onFirst:function(i,h,g,f){return this.on(i,h,g,f,{one:true})},un:function(p,q,t){if(typeof p=="string"||typeof p=="undefined"){var n=this[a];if(n){if(p){var h=p.split(" "),k=0,r;while(p=h[k++]){p=this.buildEventName(p);if(r=n[p]){if(q){var g=c(q,t),f=r.ids;if(g in f){var o=r.list,s=f[g],j=s.prev,l=s.next;if(j){j.next=l}else{if(s===o.first){o.first=l}}if(l){l.prev=j}else{if(s===o.last){o.last=j}}delete f[g]}}else{delete this[a][p]}}}}else{delete this[a]}}}else{var m=this;d.each(p,function(u,i){m.un(u,i,t)})}return this},trigger:function(j,h){var l=this,k=l[a],i;typeof j==="string"?j=d.Event(l.buildEventName(i=j)):j.type=l.buildEventName(i=j.type);if(k&&(k=k[j.type])){var g=k.list.first,f;while(g){j.data=g.data;f=g.fn.call(g.ctx||l,j,h);if(typeof f!=="undefined"){j.result=f;if(f===false){j.preventDefault();j.stopPropagation()}}g.special&&g.special.one&&l.un(i,g.fn,g.ctx);g=g.next}}return this}};d.observable=d.inherit(b,b)})(jQuery);(function(e,g){var d=[],f={},a={};function c(j,i,h){return(j?"__elem_"+j:"")+"__mod"+(i?"_"+i:"")+(h?"_"+h:"")}function b(i,h,j){e.isFunction(i)?(h[c(j,"*","*")]=i):e.each(i,function(l,k){e.isFunction(k)?(h[c(j,l,"*")]=k):e.each(k,function(m,n){h[c(j,l,m)]=n})})}this.BEM=e.inherit(e.observable,{__constructor:function(i,j,h){var k=this;k._modCache=i||{};k._processingMods={};k.params=e.extend(k.getDefaultParams(),j);h!==false?k._init():k.afterCurrentEvent(k._init)},_init:function(){return this.setMod("js","inited").trigger("init")},changeThis:function(i,h){var j=this;return function(){return i.apply(h||j,arguments)}},afterCurrentEvent:function(i,h){this.__self.afterCurrentEvent(this.changeThis(i,h))},trigger:function(i,h){this.__base(i=this.buildEvent(i),h).__self.trigger(i,h);return this},buildEvent:function(h){typeof h=="string"&&(h=e.Event(h));h.block=this;return h},hasMod:function(k,l,i){var h=arguments.length,m=false;if(h==1){i="";l=k;k=g;m=true}else{if(h==2){if(typeof k=="string"){i=l;l=k;k=g}else{i="";m=true}}}var j=this.getMod(k,l)===i;return m?!j:j},getMod:function(j,k){var h=typeof j;if(h==="string"||h==="undefined"){k=j||k;var i=this._modCache;return k in i?i[k]:i[k]=this._extractModVal(k)}return this._getElemMod(k,j)},_getElemMod:function(j,h,i){return this._extractModVal(j,h,i)},getMods:function(k){var i=k&&typeof k!="string",l=this,h=[].slice.call(arguments,i?1:0),j=l._extractMods(h,i?k:g);if(!i){h.length?e.each(h,function(n,m){l._modCache[m]=j[m]}):l._modCache=j}return j},setMod:function(k,o,p){if(typeof p=="undefined"){p=o;o=k;k=g}var l=this;if(!k||k[0]){var m=(k&&k[0]?e.identify(k[0]):"")+"_"+o;if(this._processingMods[m]){return l}var j,i=k?l._getElemMod(o,k,j=l.__self._extractElemNameFrom(k)):l.getMod(o);if(i===p){return l}this._processingMods[m]=true;var h=true,n=[o,p,i];k&&n.unshift(k);e.each([["*","*"],[o,"*"],[o,p]],function(){h=l._callModFn(j,this[0],this[1],n)!==false&&h});!k&&h&&(l._modCache[o]=p);h&&l._afterSetMod(o,p,k,j);delete this._processingMods[m]}return l},_afterSetMod:function(j,h,i){},toggleMod:function(j,k,i,m,l){if(typeof j=="string"){l=m;m=i;i=k;k=j;j=g}if(typeof m=="undefined"){m=""}else{if(typeof m=="boolean"){l=m;m=""}}var h=this.getMod(j,k);(h==i||h==m)&&this.setMod(j,k,typeof l==="boolean"?(l?i:m):this.hasMod(j,k,i)?m:i);return this},delMod:function(h,i){if(!i){i=h;h=g}return this.setMod(h,i,"")},_callModFn:function(k,j,h,i){var l=c(k,j,h);return this[l]?this[l].apply(this,i):g},_extractModVal:function(i,h){return""},_extractMods:function(h,i){return{}},channel:function(i,h){return this.__self.channel(i,h)},getDefaultParams:function(){return{}},del:function(i){var h=[].slice.call(arguments);typeof i=="string"&&h.unshift(this);this.__self.del.apply(this.__self,h);return this},destruct:function(){}},{_name:"i-bem",blocks:f,decl:function(h,i,k){if(typeof h=="string"){h={block:h}}else{if(h.name){h.block=h.name}}if(h.baseBlock&&!f[h.baseBlock]){throw ('baseBlock "'+h.baseBlock+'" for "'+h.block+'" is undefined')}if(i.onSetMod){b(i.onSetMod,i);delete i.onSetMod}if(i.onElemSetMod){e.each(i.onElemSetMod,function(n,m){b(m,i,n)});delete i.onElemSetMod}var j=f[h.baseBlock||h.block]||this;if(h.modName){e.each(i,function(m,n){e.isFunction(n)&&(i[m]=function(){var p;if(this.hasMod(h.modName,h.modVal)){p=n}else{var o=j.prototype[m];o&&o!==i[m]&&(p=this.__base)}return p?p.apply(this,arguments):g})})}var l;h.block==j._name?(l=e.inheritSelf(j,i,k))._processLive(true):(l=f[h.block]=e.inherit(j,i,k))._name=h.block;return l},_processLive:function(h){return false},create:function(i,h){typeof i=="string"&&(i={block:i});return new f[i.block](i.mods,h)},getName:function(){return this._name},_extractElemNameFrom:function(h){},afterCurrentEvent:function(i,h){d.push({fn:i,ctx:h})==1&&setTimeout(this._runAfterCurrentEventFns,0)},_runAfterCurrentEventFns:function(){var i=d.length;if(i){var h,j=d.splice(0,i);while(h=j.shift()){h.fn.call(h.ctx||this)}}},changeThis:function(i,h){return function(){return i.apply(h||this,arguments)}},del:function(l){var k=typeof l=="string",j=k?0:1,h=arguments.length;k&&(l=this);while(j<h){delete l[arguments[j++]]}return this},channel:function(i,h){if(typeof i=="boolean"){h=i;i=g}i||(i="default");if(h){if(a[i]){a[i].un();delete a[i]}return}return a[i]||(a[i]=new e.observable())}})})(jQuery);(function(i,b,a){var g="_",c="__",d="[a-zA-Z0-9-]+";function e(l,j,k){k.push(g,l,g,j)}function f(l,m,j,k){k.push(l);j&&e(m,j,k)}function h(n,l,m,j,k){f(n,a,a,k);k.push(c,l);j&&e(m,j,k)}i.INTERNAL={NAME_PATTERN:d,MOD_DELIM:g,ELEM_DELIM:c,buildModPostfix:function(m,j,k){var l=k||[];e(m,j,l);return k?l:l.join("")},buildClass:function(p,n,o,j,k){var m=typeof o;if(m=="string"){if(typeof j!="string"){k=j;j=o;o=n;n=a}}else{if(m!="undefined"){k=o;o=a}else{if(n&&typeof n!="string"){k=n;n=a}}}if(!(n||o||k)){return p}var l=k||[];n?h(p,n,o,j,l):f(p,o,j,l);return k?l:l.join("")},buildClasses:function(n,m,l,j){var k=j||[];m?h(n,m,a,a,k):f(n,a,a,k);l&&b.each(l,function(p,o){if(o){k.push(" ");m?h(n,m,p,o,k):f(n,p,o,k)}});return j?k:k.join("")}}})(BEM,jQuery);(function(a,d){if(typeof JSON!="undefined"){return a.stringify=JSON.stringify}var c=Object.prototype.toString,e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,b={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};a.stringify=function(l){if(l===null){return"null"}if(typeof l==="undefined"){return d}switch(c.call(l)){case"[object String]":return'"'+(e.test(l)?l.replace(e,function(i){var m=b[i];return typeof m==="string"?m:"\\u"+("0000"+i.charCodeAt(0).toString(16)).slice(-4)}):l)+'"';case"[object Number]":case"[object Boolean]":return""+l;case"[object Array]":var k="[",j=0,f=l.length,h;while(j<f){h=a.stringify(l[j]);k+=(j++?",":"")+(typeof h=="undefined"?"null":h)}return k+"]";case"[object Object]":var k="{",j=0,h;for(var g in l){if(l.hasOwnProperty(g)){h=a.stringify(l[g]);typeof h!="undefined"&&(k+=(j++?",":"")+'"'+g+'":'+h)}}return k+"}";default:return d}}})(jQuery);if(!window.JSON){window.JSON={stringify:$.stringify}}(function(k,d,c){var g=k.INTERNAL,f=g.ELEM_DELIM,h={area:1,base:1,br:1,col:1,command:1,embed:1,hr:1,img:1,input:1,keygen:1,link:1,meta:1,param:1,source:1,wbr:1},i=g.buildClasses,j={};function e(l,m,n){(l[m]||(l[m]=[])).unshift(n)}function b(l,m){return m.modName?function(n){(n._currBlock.mods||{})[m.modName]===m.modVal&&l(n)}:l}function a(m,l){var o=d.isArray(l),n;d.isArray(m)?o?n=m.concat(l):(n=m).push(l):o?(n=l).unshift(m):n=[m,l];return n}k.HTML={decl:function(n,m){typeof n=="string"&&(n={name:n});var l=j[n.name]||(j[n.name]={});m.onBlock&&e(l,"_block",b(m.onBlock,n));if(m.onElem){d.isFunction(m.onElem)?e(l,"_elem",b(m.onElem,n)):d.each(m.onElem,function(p,o){e(l,"_elem"+(p==="*"?"":f+p),b(o,n))})}},build:function(m){var l=new this.Ctx(m);l._buildAll();return l._flush()},Ctx:d.inherit({__constructor:function(l){this._buffer=[];this._params=l;this._tParams=null;this._tParamsChanges=null;this._currBlock=c},pos:function(){return this._params._pos},isFirst:function(){return this._params._pos===1},isLast:function(){var l=this._params;return l._pos===l._siblingsCount},params:function(l){var m=this;if(typeof l=="undefined"){return m._params}m._params=l;return m},param:function(l,o,m,q){var p=this,n=p._params;if(typeof o=="undefined"){return n[l]}if(m||!(l in n)){n[l]=o}else{if(q){n[l]=d.extend(o,n[l])}}return p},attrs:function(m,l){return this.param("attrs",m,l,true)},attr:function(m,o,n){var p=this;if(typeof o=="undefined"){return(p._params.attrs||{})[m]}var l=p._params.attrs;l?(n||!(m in l))&&(l[m]=o):(p._params.attrs={})[m]=o;return p},tag:function(m,l){return this.param("tag",m,l)},cls:function(m,l){return this.param("cls",m,l)},mods:function(m,l){return this.param("mods",m,l,true)},mod:function(l,o,n){var p=this;if(typeof o=="undefined"){return(p._params.mods||{})[l]}var m=p._params.mods;m?(n||!(l in m))&&(m[l]=o):(p._params.mods={})[l]=o;return p},mix:function(n,l){var o=this,m=o._params;if(typeof n=="undefined"){return m.mix}if(l||!("mix" in m)){m.mix=n}else{m.mix=m.mix.concat(n)}return o},js:function(l){return this.param("js",l)},content:function(m,l){return this.param("content",m,l)},wrapContent:function(l){var n=this,m=n._params;l.content=m.content;m.content=l;return n},beforeContent:function(l){var n=this,m=n._params;m.content=a(l,m.content);return n},afterContent:function(l){var n=this,m=n._params;m.content=a(m.content,l);return n},wrap:function(l){var n=this,m=n._params;l.block||(l._currBlock=n._currBlock);l.content=m._wrapper?m._wrapper:m;m._wrapper=l;return n},tParam:function(l,o){var p=this,n=p._tParams||(p._tParams={});if(typeof o=="undefined"){return n[l]}var m=p._tParamsChanges||(p._tParamsChanges={});l in m||(m[l]=n[l]);n[l]=o;return p},generateId:function(){return d.identify()},_buildAll:function(){var s=this,m=s._buffer,r=s._params,p=typeof r;if(p=="string"||p=="number"){m.push(r)}else{if(d.isArray(r)){var o=0,l=r.length,n,q;while(o<l){s._params=n=r[o++];q=typeof n;if(q=="string"||q=="number"){m.push(n)}else{if(n){n._pos=o;n._siblingsCount=l;s._buildByDecl()}}}}else{if(r){s._params._pos=s._params._siblingsCount=1;s._buildByDecl()}}}},_build:function(){var q=this,m=q._buffer,p=q._params,l=p.tag||"div",o,n=p.block||p.elem;p.js&&((o={})[p.block]=p.js===true?{}:p.js);m.push("<",l);if(n||p.cls){m.push(' class="');if(n){i(p.block||q._currBlock.block,p.elem,p.mods,m);p.mix&&d.each(p.mix,function(r,s){if(s){m.push(" ");i(s.block,s.elem,s.mods,m);s.js&&((o||(o={}))[s.block]=s.js===true?{}:s.js)}})}p.cls&&m.push(n?" ":"",p.cls);o&&m.push(" i-bem");m.push('"')}o&&m.push(' onclick="return ',d.stringify(o).replace(/'/g,"\\'").replace(/"/g,"'"),'"');p.attrs&&d.each(p.attrs,function(r,s){typeof s!="undefined"&&s!==null&&s!==false&&m.push(" ",r,'="',s.toString().replace(/"/g,"""),'"')});if(h[l]){m.push("/>")}else{m.push(">");if(typeof p.content!="undefined"){q._params=p.content;q._buildAll()}m.push("</",l,">")}},_flush:function(){var l=this._buffer.join("");delete this._buffer;return l},_buildByDecl:function(){var o=this,r=o._currBlock,l=o._params;l._currBlock&&(o._currBlock=l._currBlock);l.block&&(o._currBlock=l);if(!l._wrapper){if(l.block||l.elem){var q=j[o._currBlock.block];if(q){var s;if(l.elem){s=q["_elem"+f+l.elem];q._elem&&(s=(s?s.concat(q._elem):q._elem))}else{s=q._block}if(s){var m=0,p;while(p=s[m++]){p(o)}}}}if(l._wrapper){l._currBlock=o._currBlock;o._params=l._wrapper;return o._buildAll()}}var t=o._tParamsChanges;o._tParamsChanges=null;o._build();o._currBlock=r;if(t){var n=o._tParams;d.each(t,function(u,v){typeof v=="undefined"?delete n[u]:n[u]=v})}}})}})(BEM,jQuery);(function(a){if(!a){a=window.Lego={}}a.messages=a.messages||{};a.message=function(c,b){return a.params.locale=="ru"?b:(a.messages[c]||b)}})(window.Lego);(function(a){a=a||{};a.oframebustMatchDomain=function(g,h){g=Object.prototype.toString.call(g)==="[object Array]"?g:(function(){var d=[];for(var e in g){g.hasOwnProperty(e)&&d.push(e)}return d}());for(var c=0,b=g.length;c<b;c++){var k=g[c];if(typeof(k)=="string"){if(/(\?|\*)/.test(k)){var f=k.replace(/\./g,"\\.").replace(/\*/g,".*").replace(/\?/g,".{1}");if((new RegExp("^"+f+"$")).test(h)){return true}}else{if(h==k){return true}}}else{try{if(k.test(h)){return true}}catch(j){}}}}})(window.Lego);(function(a){if(!a){a=window.Lego={}}a.oframebust=function(c){if(location==top.location){return}var d=(location.search.match(/[&?]oframebust=([^&;]+)/)||[])[1];if(!d){top.location=location}if(a.oframebustMatchDomain(c,d)){var b=document.createElement("iframe");b.style.position="absolute";b.style.left="-999px";b.style.width="1px";b.src="//"+d+"/oframebust.html?"+encodeURIComponent(location.href);(function(){if(document.body&&document.body.firstChild){document.body.insertBefore(b,document.body.firstChild)}else{setTimeout(arguments.callee,0)}})();return}top.location=location}})(window.Lego);(function(i,e,h){var d=e(window),x=e(document),m={},v={},z={},f={},p={},u=i.blocks,b=i.INTERNAL,k=b.NAME_PATTERN,o=b.MOD_DELIM,j=b.ELEM_DELIM,y=b.buildModPostfix,s=b.buildClass;function q(C,A){var B=C[0];e.each(r(B),function(D,F){c(F,B,D,A);var E=v[F.uniqId];if(E){E.domElem=E.domElem.add(C);e.extend(E.params,F)}else{a(D,C,F)}})}function a(H,D,C,A,I){if(typeof C=="boolean"){I=A;A=C;C=h}var E=D[0];C=c(C||r(E)[H],E,H);var G=C.uniqId;if(v[G]){return v[G]._init()}m[G]=m[G]?m[G].add(D):D;var F=u[H]||t.decl(H,{},{live:true});if(!(F._liveInitable=!!F._processLive())||A||C.live===false){var B=new F(m[G],C,!!A);delete m[G];I&&I.apply(B,Array.prototype.slice.call(arguments,4));return B}}function c(F,C,B,A){(F||(F={})).uniqId||(F.uniqId=(F.id?B+"-id-"+F.id:e.identify())+(A||e.identify()));var E=e.identify(C),D=z[E]||(z[E]={});D||(D[B]=F);return F}function w(B,A,D){var C=B.find(A);return D?C:C.add(B.filter(A))}function r(A){var B=e.identify(A);return z[B]||(z[B]=g(A))}function g(C){var B=C.onclick||C.ondblclick;if(!B&&C.tagName.toLowerCase()=="body"){var D=e(C),A=D.attr("onclick")||D.attr("ondblclick");A&&(B=Function(A))}return B?B():{}}function l(A){delete z[e.identify(A)]}function n(){return x[0][e.support.boxModel?"documentElement":"body"]}e.fn.bem=function(A,B){return a(A,this,B,true)};var t=i.DOM=i.decl("i-bem__dom",{__constructor:function(B,C,A){var D=this;D.domElem=B;D._eventNameCache={};D._elemCache={};v[D._uniqId=C.uniqId||e.identify(D)]=D;D._needSpecialUnbind=false;D.__base(null,C,A)},findBlocksInside:function(A,B){return this._doBlocksMethod(this._buildFindBlocksParams("find",A,B))},findBlockInside:function(A,B){return this._doBlocksMethod(this._buildFindBlocksParams("find",A,B,true))},findBlocksOutside:function(A,B){return this._doBlocksMethod(this._buildFindBlocksParams("parents",A,B))},findBlockOutside:function(A,B){return this._doBlocksMethod(this._buildFindBlocksParams("closest",A,B))[0]},findBlocksOn:function(A,B){return this._doBlocksMethod(this._buildFindBlocksParams("",A,B))},findBlockOn:function(A,B){return this._doBlocksMethod(this._buildFindBlocksParams("",A,B,true))},_buildFindBlocksParams:function(A,B,D,C){return{select:A,elem:D?B:h,block:D||B,onlyFirst:C}},doBlocksMethodInside:function(B,C,D,A){return this._doBlocksMethod(this._buildDoBlocksMethodParams("find",B,C,D,A))},doBlocksMethodOutside:function(B,C,D,A){return this._doBlocksMethod(this._buildDoBlocksMethodParams("closest",B,C,D,A))},doBlocksMethodOn:function(B,C,D,A){return this._doBlocksMethod(this._buildDoBlocksMethodParams("",B,C,D,A))},doBlocksMethod:function(B,C,A){return this._doBlocksMethod({blocks:B,method:C,args:A})},_buildDoBlocksMethodParams:function(A,D,E,F,C){var B=typeof F=="string";return{select:A,elem:B?D:h,block:B?E:D,method:B?F:E,args:B?C:F}},_doBlocksMethod:function(B){var E=this;if(B.blocks){return e.map(B.blocks,function(J){return E._doBlockMethod(J,B.method,B.args)})}var D=B.elem?(typeof B.elem=="string"?this.findElem(B.elem):B.elem):this.domElem,C=typeof B.block=="string",I=C?B.block:B.block.blockName,A="."+(C?s(I):s(I,B.block.modName,B.block.modVal))+(B.onlyFirst?":first":""),F=D.filter(A);B.select&&(F=F.add(D[B.select](A)));if(B.onlyFirst){return F[0]?this._doBlockMethod(a(I,F.eq(0),true),B.method,B.args):null}if(B.method){return e.map(F,function(J){return E._doBlockMethod(a(I,e(J),true),B.method,B.args)})}var H=[],G={};e.each(F,function(J,K){var L=a(I,e(K),true);if(!G[L._uniqId]){G[L._uniqId]=true;H.push(L)}});return H},_doBlockMethod:function(B,C,A){return C?B[C].apply(B,A||[]):B},bindToDomElem:function(B,C,A){var D=this;A?B.bind(D._buildEventName(C),function(E){(E.data||(E.data={})).domElem=e(this);return A.apply(D,arguments)}):e.each(C,function(F,E){D.bindToDomElem(B,F,E)});return D},bindToDoc:function(B,A){this._needSpecialUnbind=true;return this.bindToDomElem(x,B,A)},bindToWin:function(B,A){this._needSpecialUnbind=true;return this.bindToDomElem(d,B,A)},bindTo:function(C,B,A){if(!B||e.isFunction(B)){A=B;B=C;C=this.domElem}else{if(typeof C=="string"){C=this.elem(C)}}return this.bindToDomElem(C,B,A)},unbindFromDomElem:function(A,B){A.unbind(this._buildEventName(B));return this},unbindFromDoc:function(A){return this.unbindFromDomElem(x,A)},unbindFromWin:function(A){return this.unbindFromDomElem(d,A)},unbindFrom:function(B,A){if(!A){A=B;B=this.domElem}else{if(typeof B=="string"){B=this.elem(B)}}return this.unbindFromDomElem(B,A)},_buildEventName:function(A){var B=this;return A.indexOf(" ")>1?e.map(A.split(" "),function(C){return B._buildOneEventName(C)}).join(" "):B._buildOneEventName(A)},_buildOneEventName:function(C){var E=this,A=E._eventNameCache;if(C in A){return A[C]}var D="."+E._uniqId;if(C.indexOf(".")<0){return A[C]=C+D}var B=".bem_"+E.__self._name;return A[C]=e.map(C.split("."),function(G,F){return F==0?G+B:B+"_"+G}).join("")+D},trigger:function(B,A){this.__base(B=this.buildEvent(B),A).domElem&&this._ctxTrigger(B,A);return this},_ctxTrigger:function(B,A){var E=this,D=f[E.__self._buildCtxEventName(B.type)],C={};D&&E.domElem.each(function(){var G=this,F=D.counter;while(G&&F){var I=e.identify(G,true);if(I){if(C[I]){break}var H=D.ctxs[I];if(H){e.each(H,function(K,J){J.fn.call(J.ctx||E,B,A)});F--}C[I]=true}G=G.parentNode}})},setMod:function(B,C,A){if(B&&typeof A!="undefined"&&B.length>1){var D=this;B.each(function(){D.setMod(e(this),C,A)});return D}return this.__base(B,C,A)},_extractModVal:function(E,B,D){var A=(B||this.domElem)[0],C;A&&(C=A.className.match(this.__self._buildModValRE(E,D||B)));return C?C[2]:""},_extractMods:function(A,E){var D={},B=!A.length,C=0;e.each((E||this.domElem)[0].className.match(this.__self._buildModValRE("("+(B?k:A.join("|"))+")",E,"g"))||[],function(F,G){var I=(G=e.trim(G)).lastIndexOf(o),H=G.substr(0,I-1).lastIndexOf(o);D[G.substr(H+1,I-H-1)]=G.substr(I+1);++C});C<A.length&&e.each(A,function(F,G){G in D||(D[G]="")});return D},_afterSetMod:function(G,C,E,F){var B=this.__self,A=B._buildModClassPrefix(G,F),D=B._buildModValRE(G,F),H=C==="";(E||this.domElem).each(function(){var I=this.className;I.indexOf(A)>-1?this.className=I.replace(D,(H?"":"$1"+A+C)+"$3"):H||e(this).addClass(A+C)});F&&this.dropElemCache(F,G,C)},findElem:function(D,F,E,C){if(arguments.length%2){C=E;E=F;F=D;D=this.domElem}else{if(typeof D=="string"){D=this.findElem(D)}}var B=this.__self,A="."+e.map(F.split(" "),function(G){return s(B._name,G,E,C)}).join(",.");return w(D,A)},_elem:function(B,D,A){var C=B+y(D,A);return this._elemCache[C]||(this._elemCache[C]=this.findElem(B,D,A))},elem:function(D,C,A){if(D.indexOf(" ")<0){return this._elem(D,C,A)}var B=e([]),E=this;e.each(D.split(" "),function(){B=B.add(E._elem(this,C,A))});return B},dropElemCache:function(D,C,A){if(D){var E=this,B=y(C,A);D.indexOf(" ")<0?delete E._elemCache[D+B]:e.each(D.split(" "),function(G,F){delete E._elemCache[F+B]})}else{this._elemCache={}}return this},elemParams:function(A){var B;if(typeof A=="string"){B=A;A=this.elem(A)}else{B=this.__self._extractElemNameFrom(A)}return g(A[0])[s(this.__self.getName(),B)]||{}},containsDomElem:function(A){return A.parents().andSelf().index(this.domElem)>-1},buildSelector:function(B,C,A){return this.__self.buildSelector(B,C,A)},destruct:function(B){var C=this,A=C.__self;C._isDestructing=true;C._needSpecialUnbind&&A.doc.add(A.win).unbind("."+C._uniqId);C.dropElemCache().domElem.each(function(D,E){e.each(r(E),function(F,G){var H=v[G.uniqId];H&&!H._isDestructing&&H.destruct()});l(E)});B||C.domElem.remove();delete v[C.un()._uniqId];delete C.domElem;delete C._elemCache;C.__base()}},{doc:x,win:d,_processLive:function(B){var D=this,C=D._liveInitable;if("live" in D){var A=typeof C=="undefined";if(A^B){if(e.isFunction(D.live)){C=D.live()!==false;D.live=function(){}}else{C=D.live}}}return C},init:function(B,D,C){if(!B||e.isFunction(B)){C=D;D=B;B=x}var A=e.identify();w(B,".i-bem").each(function(){q(e(this),A)});D&&this.afterCurrentEvent(function(){D.call(C||this,B)});this._runAfterCurrentEventFns();return B},destruct:function(B,A,C){if(typeof B!="boolean"){C=A;A=B;B=h}w(A,".i-bem",C).each(function(){e.each(r(this),function(D,E){if(E.uniqId){var F=v[E.uniqId];F&&F.destruct(true)}});l(this)});B||(C?A.empty():A.remove())},update:function(A,B,D,C){this.destruct(A,true);this.init(A.html(B),D,C)},_buildCtxEventName:function(A){return this._name+":"+A},_liveClassBind:function(B,C,G,A){var F=this;if(C.indexOf(" ")>-1){e.each(C.split(" "),function(H,I){F._liveClassBind(B,I,G,A)})}else{var E=p[C],D=e.identify(G);if(!E){E=p[C]={};x.bind(C,F.changeThis(F._liveClassTrigger,F))}E=E[B]||(E[B]={uniqIds:{},fns:[]});if(!(D in E.uniqIds)){E.fns.push({uniqId:D,fn:F._buildLiveEventFn(G,A)});E.uniqIds[D]=E.fns.length-1}}return this},_liveClassUnbind:function(C,D,G){var F=p[D];if(F){if(G){if(F=F[C]){var E=e.identify(G);if(E in F.uniqIds){var B=F.uniqIds[E],A=F.fns.length-1;F.fns.splice(B,1);while(B<A){F.uniqIds[F.fns[B++].uniqId]=B-1}delete F.uniqIds[E]}}}else{delete F[C]}}return this},_liveClassTrigger:function(G){var F=p[G.type];if(F){var C=G.target,A=[];for(var H in F){F.hasOwnProperty(H)&&A.push(H)}do{var B=" "+C.className+" ",E=0;while(H=A[E++]){if(B.indexOf(" "+H+" ")>-1){var D=0,J=F[H].fns,I;while(I=J[D++]){I.fn.call(e(C),G)}if(G.isPropagationStopped()){return}A.splice(--E,1)}}}while(A.length&&(C=C.parentNode))}},_buildLiveEventFn:function(C,A){var B=this;return function(E){var D=[B._name,((E.data||(E.data={})).domElem=e(this)).closest(B.buildSelector()),true],F=a.apply(null,A?D.concat([C,E]):D);F&&(A||C.apply(F,arguments))}},liveInitOnEvent:function(B,A,C){return this.liveBindTo(B,A,C,true)},liveBindTo:function(E,B,D,A){if(!D){D=B;B=E;E=h}if(!E||typeof E=="string"){E={elemName:E}}var C=this;if(E.elemName&&E.elemName.indexOf(" ")>1){e.each(E.elemName.split(" "),function(F,G){C._liveClassBind(s(C._name,G,E.modName,E.modVal),B,D,A)});return C}return C._liveClassBind(s(C._name,E.elemName,E.modName,E.modVal),B,D,A)},liveUnbindFrom:function(B,A,D){var C=this;if(B.indexOf(" ")>1){e.each(B.split(" "),function(E,F){C._liveClassUnbind(s(C._name,F),A,D)});return C}return C._liveClassUnbind(s(C._name,B),A,D)},_liveInitOnBlockInit:function(B,D,C){var A=this._name;u[B].on("init",function(E){var F=E.block[C](A);D&&e.each(F,function(){D.call(this)})});return this},liveInitOnBlockInit:function(A,B){return this._liveInitOnBlockInit(A,B,"findBlocksOn")},liveInitOnBlockInsideInit:function(A,B){return this._liveInitOnBlockInit(A,B,"findBlocksOutside")},on:function(A,E,D,C,B){return A.jquery?this._liveCtxBind(A,E,D,C,B):this.__base(A,E,D,C)},un:function(A,D,C,B){return A.jquery?this._liveCtxUnbind(A,D,C,B):this.__base(A,D,C)},liveCtxBind:function(A,E,D,C,B){return this._liveCtxBind(A,E,D,C,B)},_liveCtxBind:function(A,F,E,D,C){if(e.isFunction(E)){C=D;D=E;E=h}var H=this;if(F.indexOf(" ")>-1){e.each(F.split(" "),function(I,J){H._liveCtxBind(A,J,E,D,C)})}else{var B=H._buildCtxEventName(F),G=f[B]||(f[B]={counter:0,ctxs:{}});A.each(function(){var J=e.identify(this),I=G.ctxs[J];if(!I){I=G.ctxs[J]={};++G.counter}I[e.identify(D)+(C?e.identify(C):"")]={fn:D,data:E,ctx:C}})}return H},liveCtxUnbind:function(A,D,C,B){return this._liveCtxBind(A,D,C,B)},_liveCtxUnbind:function(A,D,C,B){var F=this,E=f[D=F.buildEventName(D)];if(E){A.each(function(){var H=e.identify(this,true),G;if(H&&(G=E.ctxs[H])){C&&delete G[e.identify(C)+(B?e.identify(B):"")];if(!C||e.isEmptyObject(G)){E.counter--;delete E.ctxs[H]}}});E.counter||delete f[D]}return F},_extractElemNameFrom:function(A){var B=A[0].className.match(this._buildElemNameRE());return B?B[1]:h},extractParams:g,_buildModClassPrefix:function(B,A){return s(this._name)+(A?j+(typeof A==="string"?A:this._extractElemNameFrom(A)):"")+o+B+o},_buildModValRE:function(B,A,C){return new RegExp("(\\s?)"+this._buildModClassPrefix(B,A)+"("+k+")(\\s|$)",C)},_buildElemNameRE:function(){return new RegExp(this._name+j+"("+k+")(?:\\s|$)")},buildSelector:function(B,C,A){return"."+s(this._name,B,C,A)},getBlockByUniqId:function(A){return v[A]},getWindowSize:function(){var A=d[0];if(typeof A.innerWidth!="undefined"){return{width:A.innerWidth,height:A.innerHeight}}var B=n();return{width:B.clientWidth,height:B.clientHeight}}})})(BEM,jQuery);$(function(){BEM.DOM.init()});(function(a){var b=a.event.special.leftclick={setup:function(){a(this).bind("click",b.handler)},teardown:function(){a(this).unbind("click",b.handler)},handler:function(c){if(!c.button){c.type="leftclick";a.event.handle.apply(this,arguments);c.type="click"}}}})(jQuery);BEM.DOM.decl({name:"b-pseudo-link",modName:"is-bem",modVal:"yes"},{_onClick:function(a){a.preventDefault();this.hasMod("disabled","yes")||this.afterCurrentEvent(function(){this.trigger("click")})}},{live:function(){this.liveBindTo({modName:"is-bem",modVal:"yes"},"leftclick",function(a){this._onClick(a)})}});BEM.HTML.decl("b-pseudo-link",{onBlock:function(a){var b=a.param("url");a.tag(b?"a":"span").js(true);b&&a.attr("href",b)}});(function(c,b){var d;function a(e){e[0]&&!!e.attr("href")&&(window.location.href=e.attr("href"))}b.block["b-pager"]=function(e){if(d){return e.override&&(d=c(this))}d=c(this);if(e.keydownReaction){c(document).keydown(function(f){if(!f.ctrlKey||c(f.target).is("input, textarea")){return}if(f.keyCode==37){a(d.find(".b-pager__prev"))}else{if(f.keyCode==39){a(d.find(".b-pager__next"))}}})}}})(jQuery,window.Lego);BEM.DOM.decl("b-form-button",{onSetMod:{js:function(){(this._href=this.domElem.attr("href"))&&this.isDisabled()&&this.domElem.removeAttr("href")},focused:{yes:function(){if(this.isDisabled()){return false}this.bindTo("keydown",this._onKeyDown).elem("input").focus()},"":function(){this.unbindFrom("keydown").elem("input").blur()}},disabled:function(c,a){var b=a=="yes";this.elem("input").attr("disabled",b);this._href&&(b?this.domElem.removeAttr("href"):this.domElem.attr("href",this._href));b&&this.domElem.keyup()},pressed:function(b,a){this.isDisabled()||this.trigger(a=="yes"?"press":"release")},hovered:{"":function(){this.delMod("pressed")}},"*":function(a){if(this.isDisabled()&&"hovered pressed".indexOf(a)>-1){return false}}},isDisabled:function(){return this.hasMod("disabled","yes")},url:function(a){if(typeof a=="undefined"){return this._href}else{this._href=a;this.isDisabled()||this.domElem.attr("href",a);return this}},_onKeyDown:function(b){var a=b.keyCode;if((a==13||a==32)&&!this._keyDowned){this._keyDowned=true;this.setMod("pressed","yes").bindTo("keyup",function(){this.delMod("pressed").unbindFrom("keyup");delete this._keyDowned;if(a==32&&this.domElem.attr("href")){document.location=this.domElem.attr("href")}})}},_onClick:function(a){this.isDisabled()?a.preventDefault():this.afterCurrentEvent(function(){this.trigger("click")})}},{live:function(){var a={mouseover:{name:"hovered",val:"yes"},mouseout:{name:"hovered"},mousedown:{name:"pressed",val:"yes"},mouseup:{name:"pressed"},focusin:{name:"focused",val:"yes"},focusout:{name:"focused"}};this.liveBindTo("leftclick",function(b){this._onClick(b)}).liveBindTo("mouseover mouseout mouseup focusin focusout",function(c){var b=a[c.type];this.setMod(b.name,b.val||"")}).liveBindTo("mousedown",function(c){var b=a[c.type];c.which==1&&this.setMod(b.name,b.val||"")})}});BEM.HTML.decl("b-form-button",{onBlock:function(a){a.tag(a.param("url")?"a":"span").attrs({href:a.param("url"),target:a.param("target")}).mods({theme:a.mod("theme")||"grey-19",height:a.mod("height")||19}).content([{elem:"left",tag:"i"},{elem:"content",tag:"span",content:{elem:"text",content:a.content(),tag:"span"}},((a.param("type")=="button"||a.param("type")=="submit")&&{elem:"input",tag:"input",attrs:{type:a.param("type"),disabled:a.param("disabled"),value:""}}),a.param("url")&&{elem:"click",tag:"i"}],true).js(true)}});(function(d){BEM.DOM.decl("b-popupa",{onSetMod:{js:function(){this._owner=null;this._isShowed=false;this._direction=this.getMod("direction")||"down"}},show:function(k){if(!this._isShowed||this._owner!==k){this._owner=k;this._getUnder().show({left:-10000,top:-10000});this.pos()}return this},hide:function(){this._isShowed&&this._getUnder().hide();return this},toggle:function(k){return this.isShowed()?this.hide():this.show(k)},pos:function(){var k=this._calcParams(this._owner);this.elem("tail").css(k.tailOffsets);this.setMod("direction",k.direction)._getUnder().show(k.offsets);return this},isShowed:function(){return this._isShowed},setDirection:function(k){if(this._direction!=k){this._direction=k;this.isShowed()&&this.pos()}},setContent:function(k,m,l){BEM.DOM.update(this.elem("content"),k,m,l);return this.isShowed()?this.pos():this},_isOwnerNode:function(){return !!(this._owner&&this._owner.jquery)},_calcDimensions:function(){var l=this._under.domElem,t=this.__self.doc,o=this._owner,u=this._isOwnerNode(),r=u?o.offset():o,m=u?o.outerWidth():e,n=u?o.outerHeight():e,q=t.scrollLeft(),p=t.scrollTop(),s=this.__self.getWindowSize(),k=parseInt(this.elem("content").css("border-top-width"),10);return{ownerLeft:r.left,ownerTop:r.top,ownerRight:r.left+m,ownerBottom:r.top+n,ownerMiddle:r.left+m/2,underWidth:l.outerWidth(),underHeight:l.outerHeight(),borderWidth:isNaN(k)?0:k,windowLeft:q,windowRight:q+s.width,windowTop:p,windowBottom:p+s.height}},_calcParams:function(){var p=this._calcDimensions();if(this.hasMod("adjustable","no")){return f(this._direction,p)}var k={},m=d.inArray(this._direction,a),l=m,o,n;do{o=a[m];n=k[o]=f(o,p);if(!n.factor){return n}++m==a.length&&(m=0)}while(m!==l);return k["down-right"]},destruct:function(){var k=this._under;if(!k){this.__base.apply(this,arguments)}else{if(!this._destructing){this._destructing=true;BEM.DOM.destruct(false,k.domElem);this.__base(true)}}},_getUnder:function(){var l=this;if(!l._under){var k=d(BEM.HTML.build({block:"i-popup",zIndex:this.params.zIndex,mods:{autoclosable:l.getMod("autoclosable")||"yes",fixed:l.hasMod("direction","fixed")&&"yes"},underMods:l.params.underMods,underMix:[{block:"b-popupa",elem:"under"}]}));(l._under=l.findBlockOn(k,"i-popup")).on({show:function(){l._isShowed=true;l.hasMod("adjustable","no")||(l.bindToWin("resize",l.pos)._isOwnerNode()&&l.bindToDomElem(l._owner.parents(),"scroll",l.pos));l.trigger("show")},hide:function(){l._isShowed=false;l.hasMod("adjustable","no")||(l.unbindFromWin("resize")._isOwnerNode()&&l.unbindFromDomElem(l._owner.parents(),"scroll"));l.trigger("hide")},"outside-click":function(){l.trigger.apply(l,arguments)}}).elem("content").append(l.domElem)}return l._under}},{live:function(){this.liveBindTo("close","leftclick",function(){this.hide()})}});var e=19,b=7,i=15,g=15,h=7,j=8,a=["up","up-right","up-left","down","down-right","down-left","right","right-up","left","left-up"];function f(o,p){var l,m,k,n;switch(o){case"down":case"up":l=c(m={left:p.ownerMiddle-p.underWidth/2,top:o=="down"?p.ownerBottom+h:p.ownerTop-p.underHeight-h},p);k={marginLeft:(p.ownerRight-p.ownerLeft)/2+p.ownerLeft-m.left-i/2,marginTop:(o=="down"?-h+p.borderWidth:-p.borderWidth)};break;case"down-right":case"down-left":case"up-right":case"up-left":n=o=="down-right"||o=="down-left"?"down":"up";l=c(m={left:(o=="down-right"||o=="up-right"?p.ownerLeft:p.ownerRight-p.underWidth),top:n=="down"?p.ownerBottom+h:p.ownerTop-p.underHeight-h},p);k={marginLeft:(p.ownerRight-p.ownerLeft)/2+p.ownerLeft-m.left-i/2,marginTop:(n=="down"?-h+p.borderWidth:-p.borderWidth)};break;case"left":case"right":l=c(m={left:(o=="left"?p.ownerLeft-p.underWidth-b:p.ownerRight+b),top:p.ownerTop-e+g/2},p);k={marginLeft:o=="left"?-p.borderWidth:-b+p.borderWidth,marginTop:e-g/2};break;case"left-up":case"right-up":l=c(m={left:(o=="left-up"?p.ownerLeft-p.underWidth-b:p.ownerRight+b),top:p.ownerTop+g/2+e-p.underHeight},p);n=o=="left-up"?"left":"right";k={marginLeft:n=="left"?-p.borderWidth:-b+p.borderWidth,marginTop:p.ownerTop-m.top+j-g/2}}return{direction:n||o,factor:l,offsets:m,tailOffsets:k}}function c(m,l){var k=0;l.windowTop>m.top&&(k+=l.windowTop-m.top);m.top+l.underHeight>l.windowBottom&&(k+=m.top+l.underHeight-l.windowBottom);l.windowLeft>m.left&&(k+=l.windowLeft-m.left);m.left+l.underWidth>l.windowRight&&(k+=m.left+l.underWidth-l.windowRight);return k}BEM.HTML.decl("b-popupa",{onBlock:function(k){var l=false;d.each(k.param("content"),function(m,n){return !(l=n.elem=="close")});k.mods({theme:"ffffff",direction:"down","has-close":l&&"yes"}).js(true).afterContent({elem:"shadow"})},onElem:{content:function(k){k.wrap({elem:"wrap-cell",tag:"td"}).wrap({tag:"tr"}).wrap({elem:"wrap",tag:"table"})},close:function(k){k.tag("i")},shadow:function(k){k.tag("i")},tail:function(k){k.tag("i").wrapContent({elem:"tail-i",tag:"i"})}}})})(jQuery);(function(d){var c,g=[],a=d.browser;function f(){return g.length?g.shift():c?c.clone():c=b()}function e(h){g.push(h)}function b(){return d((a.safari||a.webkit)&&navigator.userAgent.toLowerCase().indexOf("mobile")>-1?"<div/>":"<iframe"+(a.msie&&a.version<9?' frameborder="0"':"")+"/>")}BEM.DOM.decl("i-popup",{onSetMod:{visibility:{visible:function(){var h=this._getUnder(),i=h.parent();this.hasMod(h,"type","paranja")?i.is("body")||h.appendTo("body"):(i[0]!==this.domElem[0])&&h.prependTo(this.domElem);this._inBody||(this._inBody=!!this.domElem.appendTo("body"));this.trigger("show")},"":function(){var h=this._getUnder();this.hasMod(h,"type","paranja")&&h.remove();this._putUnder();this.trigger("hide")}}},_getUnder:function(){return this._under||(this._under=f().attr("class",this._underClass||(this._underClass=this.findElem("under").remove().attr("class"))))},_putUnder:function(){e(this._under);delete this._under},show:function(h){h&&this.domElem.css(h);return this.setMod("visibility","visible")},hide:function(){return this.delMod("visibility")}},{live:true})})(jQuery);BEM.HTML.decl("i-popup",{onBlock:function(a){a.mod("autoclosable","yes").js(true).wrapContent({elem:"content"}).afterContent({elem:"under",mods:a.param("underMods"),mix:a.param("underMix")}).param("zIndex")&&a.attr("style","z-index:"+(32700+a.param("zIndex")))}});(function(a){BEM.DOM.decl({name:"i-popup",modName:"autoclosable",modVal:"yes"},{onSetMod:{visibility:{visible:function(){var b=a.browser.opera?"keypress":"keydown";this.afterCurrentEvent(function(){this.bindToDoc("leftclick",function(c){this.containsDomElem(a(c.target))||this._onOutClick(c)}).bindToDoc(b,function(c){c.keyCode==27&&this.hide()})});this.__base.apply(this,arguments)},"":function(){return this.unbindFromDoc("leftclick keypress").__base.apply(this,arguments)}}},_onOutClick:function(b){var c=a.Event("outside-click");this.trigger(c,{domEvent:b});c.isDefaultPrevented()||this.hide()}})})(jQuery);(function(){var a=10;BEM.DOM.decl({name:"b-popupa",modName:"direction",modVal:"fixed"},{pos:function(){var c=this._getUnder(),e=-c.domElem.outerWidth()/2,d=-c.domElem.outerHeight()/2,b=this.__self.getWindowSize();c.show({left:"50%",top:"50%",marginLeft:b.width/2-a+e<0?-b.width/2+a:e,marginTop:b.height/2-a+d<0?-b.height/2+a:d});return this}})})();(function(){var c,b={},a=BEM.decl("i-loader",{},{load:function(f,j,i,g){if(typeof j!="string"){g=i;i=j;j=f}var d=b[f];if(d){if(d.successFns[0]){d.successFns.push(i);g&&d.errorFns.push(g)}else{if(d.error){g&&g()}else{this.afterCurrentEvent(i)}}return}var h=document,e=h.createElement("script"),k=function(){a._error(f)};e.type="text/javascript";e.charset="utf-8";e.src=!$.browser.msie||h.documentMode>8?j:j.replace(/(\.[^.]+)$/,".ie$1");e.onerror=k;setTimeout(function(){(c||(c=$("head")[0])).insertBefore(e,c.firstChild)},0);b[f]={successFns:[i],errorFns:g?[g]:[],timer:setTimeout(k,20000)}},loaded:function(d){var g=b[d.id];clearTimeout(g.timer);d.js&&d.js();d.css&&$("head").append('<style type="text/css">'+d.css+"</style>");var e=g.successFns,f;while(f=e.shift()){f()}},_error:function(e){var g=b[e],d=g.errorFns,f;g.error=true;while(f=d.shift()){f()}}})})();(function(){BEM.DOM.decl("b-head-stripe",{onSetMod:{js:function(){this.bindTo("leftclick",this._install);this.bindTo("close","leftclick",function(b){this._close(b)});var a=this.getMod("theme")||this.elem("theme").text();this._changeTheme(a)}},_install:function(b){b.preventDefault();var a=this.elem("install").attr("href");a&&(window.location=a)},_close:function(a){a.preventDefault();a.stopPropagation();$.get(this.elem("close").attr("href"));this.domElem.animate({"margin-top":"-20px"},500);this.setMod("state","closed")},_changeTheme:function(a){if(!a){return}var b=this;BEM.blocks["i-loader"].load("b-head-stripe_theme_"+a,Lego.params["lego-static-host"]+"/blocks/b-head-stripe/_theme/b-head-stripe_theme_"+a+".bembundle.js",function(){b.setMod("theme",a)})}})})();(function(c,b){var a=b.block["b-statcounter__metrika"]=function(d){d.counter&&a.newCounter(d.counter)};a.counters=[];a.newCounter=function(d){a.counters.push(d)};a.callback=function(d){return function(){a.newCounter=function(g){var f=window["yaCounter"+g]=new Ya.Metrika({id:g,ut:"noindex"});f.clickmap();f.trackLinks({external:true})};var e;while(e=a.counters.shift()){a.newCounter(e)}d&&d()}};!(window.Ya&&Ya.Metrika)&&c(function(){var f=document,e=f.createElement("script");e.type="text/javascript";e.src="//mc.yandex.ru/metrika/watch.js";e.setAttribute("async","true");window.yandex_metrika_callback=a.callback(window.yandex_metrika_callback);f.documentElement.firstChild.appendChild(e)})})(jQuery,window.Lego);(function(c,a){var b=a.block["b-head-tabs"]=function(t){var e=c(this),w=c(".b-head-search"),v=w.find(".b-search .b-form-input input:first"),n=a.params.id,j=p(document.location.search),i={www:505,search:521,images:526}[n]||527,f={market:{cvredirect:1,clid:i}},l={news:{rpt:"nnews",grhow:"clutop"},haber:{rpt:"nnews2",grhow:"clutop"},yaca:{rpt:"rs2"},market:{cvredirect:1,clid:i},blogs:{ft:"blog"}},u=(function(){var x={};c.each(["news","yaca","market","blogs","maps","adresa","video","fotki","slovari","auto","images","music","www","aile","yandex","haber","gorsel"],function(){x[this]=["family"]});return x})(),q=(function(){var x={};c.each(["news","yaca","market","blogs","maps","adresa","video","fotki","slovari","auto","images","music","www","aile","yandex","haber","gorsel"],function(){x[this]=["noreask","family"]});return x})(),r=e.find(':not(strong)>a.b-head-tabs__link:not([href$="/all"])').map(function(){var y=this.host.split(".")[0],z=p(this.search),A=z.clid,x=c.param(c.extend(z,g(y,A)),true);return{node:this,clid:A,toServiceId:y,path:b.getHostToUrlMap()[y],host:this.host,searchHost:b.getHostMap()[y],noSearchParamsUrl:x?"?"+x:"",searchParams:c.extend(z,o(y,A))}}).filter(function(){return typeof this.path!=="undefined"}),m,s=w.find(".b-search__advanced")[0];if(s){var h=p(s.search),k=s.pathname.replace(/^\/?(.*)/,"$1");h.text="";r.push({node:s,clid:h.clid,toServiceId:n,path:k,host:s.host,noSearchParamsUrl:k+"?"+c.param(h,true),searchParams:h})}(function(){var x=c.trim(v.val())||t["default"];if(m!=x){m=x;c.each(r,function(){x&&(this.searchParams[b.getSearchParamName(this.toServiceId)]=x);this.node.href=[this.node.protocol+"/",x&&this.searchHost?this.searchHost:this.host,x?this.path+"?"+c.param(this.searchParams,true):this.noSearchParamsUrl].join("/")})}setTimeout(arguments.callee,200)})();function g(x,y){var z=f[x]||{};!z.clid&&y&&(z.clid=y);c.each(u[x]||[],function(){j[this]&&(z[this]=j[this])});return z}function o(y,z){var B=[].concat(q[y]),x=y+n;(x=="imageswww"||x=="wwwimages")&&B.push("site");var A=l[y]||{};c.each(B,function(){j[this]&&(A[this]=j[this])});!A.clid&&z&&y!=="www"&&(A.clid=z);return A}function p(x){var y={};c.each(x.substr(1).split("&"),function(C){var D=this.split("="),z=D[0],B=D[1];if(z){if(y.hasOwnProperty(z)){var A=y[z];c.isArray(A)?A.push(B):y[z]=[A,B]}else{y[z]=B}}});return c.decodeURIComponent!==undefined?d(y):y}function d(y){var x=["site"];c.each(y,function(z,A){if(c.inArray(z,x)>-1){y[z]=c.isArray(A)?A.map(function(B){return c.decodeURIComponent(B)}):c.decodeURIComponent(A)}});return y}};c.extend(b,{getHostToUrlMap:function(){var d={www:"yandsearch",market:"search.xml",maps:"",music:"#/search",video:"#search"};d.harita=d.maps;d.blogs=d.adresa=d.fotki=d.slovari=d.auto=d.market;d.news=d.yaca=d.images=d.gorsel=d.haber=d.aile=d.yandex=d.www;return d},getHostMap:function(){return{}},getSearchParamName:function(d){return"text"}})})(jQuery,window.Lego);(function(a){BEM.DOM.decl("b-dropdowna",{onSetMod:{js:function(){this._getSwitcher().on("click",this._toggle,this)},disabled:function(c,b){this._getSwitcher().setMod(c,b);b=="yes"&&this.getPopup().hide()}},_getSwitcher:function(){return this._switcher||(this._switcher=this.findBlockInside("b-"+(this.getMod(this.elem("switcher"),"type")||"pseudo-link")))},_toggle:function(){this.getPopup().toggle(this.elem("switcher"))},getPopup:function(){return this._popup||(this._popup=this.findBlockInside("b-popupa")).on("outside-click",function(c,b){this._getSwitcher().containsDomElem(a(b.domEvent.target))&&c.preventDefault()},this)},destruct:function(){var b=this._popup;b&&b.destruct.apply(b,arguments);this.__base.apply(this,arguments)}},{live:function(){this.liveInitOnEvent("switcher","leftclick",function(){})}})})(jQuery);BEM.decl("i-statface",{onSetMod:{js:function(){this._data={};this._needSend=false;this.hasMod("send","manual")||$(window).unload(this.changeThis(this.send))}},set:function(a,c){this._needSend=true;var b=this._data;if(typeof a=="object"){$.each(a,function(d,e){b[d]=e})}else{b[a]=c}return this},reset:function(){var a=this;arguments[0]?$.each(arguments,function(c,b){delete a._data[b]}):this._data={};$.isEmptyObject(this._data)&&(this._needSend=false);return this},serialize:function(){var a=this;return $.map(a.params.keys,function(b){return a._data[b]}).join(".")+(a.params.customKeys?$.map(a.params.customKeys,function(b){var c=a._data[b];return"/"+b+"="+(c==undefined?"":c)}).join(""):"")},send:function(b){if(this._needSend){var c=this.params,a=["//",c.host,"/jclck/dtype=stred/pid=",c.pid,"/cid=",c.cid,"/path=",this.serialize(),"/*",location.href].join("");$.ajax({type:"GET",url:a,data:null,complete:b||$.noop,dataType:"script",timeout:500});this._needSend=false}return this},getDefaultParams:function(){return{host:"clck.yandex.ru"}}});(function(b,a){a.block["b-search__input"]=function(e){var f=b(this);var c=b.extend({focus:false,shortcut:false},e);if(c.focus||f.data("lego:focused")){if(!f.data("lego:focused")){var d=document.activeElement;(d&&"input textarea".indexOf(d.tagName.toLowerCase())>-1)||setTimeout(function(){f.focus();if(f[0].createTextRange){var h=f[0].createTextRange(),g=f.val().length;h.collapse();h.moveStart("character",g);h.moveEnd("character",g);h.select()}f.data("lego:focused",true)},0)}if(!!window.history.length&&!b.trim(f.val())){f.bind("keydown",function(g){if(g.keyCode==8){if(!b.trim(f.val())){return window.history.back()}}f.unbind("keydown",arguments.callee)})}f.blur(function(){f.data("lego:focused",false)}).focus(function(){f.data("lego:focused",true)})}if(c.shortcut){b(document).keydown(function(g){if(!g.ctrlKey||b(g.target).is("input, textarea")){return}if(g.keyCode==38){f.focus().select()}})}}})(jQuery,window.Lego);(function(b,a){a.block["b-search__sample"]=function(g){var f=b(this),e=f.closest("form"),d=e.find("input[name='"+(g["for"]||"text")+"']"),c;f.find(".b-pseudo-link").click(function(h){d.data("b-suggest",false).focus().attr("value",g.text||b(h.target).text());c=e.find("input[name='nl']");if(g.nl&&!c.length){c=b('<input type="hidden" name="nl" value="1"/>').insertAfter(d)}b(document).trigger("popupsClose.lego");setTimeout(function(){d.removeData("b-suggest")},0);h.preventDefault()})}})(jQuery,window.Lego);(function(){var b,a;function c(){var d,e=0;while(d=b[e++]){d.val(d.elem("input").val())}}BEM.DOM.decl("b-form-input",{onSetMod:{js:function(){var f=this,d=f.elem("input"),e=f.__self.doc[0].activeElement;f._val=d.val();f._focused=e===d[0];if(!a){b=[];a=f.channel("sys").on({tick:c,idle:function(){a.un("tick",c)},wakeup:function(){a.on("tick",c)}})}f._focused&&f.setMod("focused","yes");if(f.params.autoFocus&&!f._focused&&!(e&&"input textarea".indexOf(e.tagName.toLowerCase())>-1)){f.setMod("focused","yes")._focused=true}f._instanceIndex=b.push(f.bindTo(d,{focus:f._onFocus,blur:f._onBlur}))-1;f.params.shortcut&&f.bindToDoc("keydown",function(g){if(g.ctrlKey&&g.keyCode==38&&!$(g.target).is("input, textarea")){f.setMod("focused","yes")}})},disabled:function(e,d){this.elem("input").attr("disabled",d=="yes")},focused:function(e,d){if(this.hasMod("disabled","yes")){return false}var f=d=="yes";f?this._focused||this._focus():this._focused&&this._blur();this.afterCurrentEvent(function(){this.trigger(f?"focus":"blur")})}},onElemSetMod:{message:{visibility:function(g,h,d){var i=this,f=i.getMod(g,"type");if(f){var e=true;d||i.elem("message","type",f).each(function(){this!=g[0]&&i.hasMod($(this),"visibility","visible")&&(e=false)});e&&i.toggleMod("message-"+f,"yes","",d==="visible")}}}},val:function(f,e){if(typeof f=="undefined"){return this._val}if(this._val!=f){var d=this.elem("input");d.val()!=f&&d.val(f);this._val=f;this.trigger("change",e)}return this},name:function(d){return this.elem("input").attr("name")},_onFocus:function(){this._focused=true;return this.setMod("focused","yes")},_onBlur:function(){this._focused=false;return this.delMod("focused")},_focus:function(){var e=this.elem("input")[0];if(e.createTextRange&&!e.selectionStart){var d=e.createTextRange();d.move("character",e.value.length);d.select()}else{e.focus()}},_blur:function(){this.elem("input").blur()},destruct:function(){this.__base.apply(this,arguments);this.params.shortcut&&this.unbindFromDoc("keydown");b.splice(this._instanceIndex,1);var e=this._instanceIndex,d;while(d=b[e++]){--d._instanceIndex}}});BEM.HTML.decl("b-form-input",{onBlock:function(d){var e=d.param("id")||d.generateId();d.tag("span").tParam("id",e).tParam("has-clear",d.mod("has-clear")==="yes").afterContent({elem:"box",tag:"span",content:{elem:"input",tag:d.mod("type")||"input",attrs:{value:d.param("value"),name:d.param("name"),id:e}}}).js(true)},onElem:{label:function(d){d.tag("label").attr("for",d.tParam("id"))},box:function(d){if(d.tParam("has-clear")){d.afterContent({elem:"clear",tag:"span"})}}}})})();(function(){var f,a=0,c=false,e=0,d=BEM.channel("sys"),b=50;BEM.decl("i-system",{},{start:function(){$(document).bind("mousemove keydown",function(){e=0;if(c){c=false;d.trigger("wakeup")}});this._tick()},_tick:function(){var g=this;d.trigger("tick",{counter:a++});if(!c&&(e+=b)>3000){c=true;d.trigger("idle")}f=setTimeout(function(){g._tick()},b)}}).start()})();(function(){var a={};BEM.decl("i-request",{get:function(c,e,b,d){if(!$.isFunction(b)){d=b;b=this.params.onError}this._get(c,e,b,$.extend({},this.params,d))},_get:function(e,g,d,f){var h=this,b=arguments,c=h._buildCacheKey(e,f);h.afterCurrentEvent(function(){var i=a[f.cacheGroup];f.cache&&i&&c in i.data?g.call(h.params.callbackCtx,i.data[c]):h._do.apply(h,b)})},_do:function(c,e,b,d){},_onSuccess:function(c,b,d,e){e.cache&&this.putToCache(e,c,d)},_buildCacheKey:function(b,c){return typeof b=="string"?b:$.param(b)},putToCache:function(f,d,e){var b=a[f.cacheGroup]||(a[f.cacheGroup]={keys:[],data:{}});if(b.keys.length>=f.cacheSize){delete b.data[b.keys.shift()]}var c=this._buildCacheKey(d,f);b.data[c]=e;b.keys.push(c)},dropCache:function(){delete a[this.params.cacheGroup]},getDefaultParams:function(){return{cache:false,cacheGroup:"default",cacheSize:100,callbackCtx:this}}})})();BEM.decl({block:"i-request_type_ajax",baseBlock:"i-request"},{onSetMod:{js:function(){this.__base();this._requestNumber=this._number=this._preventNumber=this._retryCount=0}},_get:function(b,d,a,c){this._number++;this._requestNumber++;this._retryCount=c.retryCount;this.__base.apply(this,arguments)},_do:function(d,f,c,e){var g=this;if(g._number>g._preventNumber){var a=arguments,b={data:e.data?$.extend({},e.data,d):d,success:g._wrapCallback(function(j,h,i){g._onSuccess(g._buildCacheKey(d,e),d,j[0],e);g._allowCallback(h,i)&&f.apply(e.callbackCtx,j)}),error:g._wrapCallback(function(j,h,i){g._allowCallback(h,i)&&(g._retryCount-->0?setTimeout(function(){g._do.apply(g,a)},e.retryInterval):c&&c.apply(e.callbackCtx,j))})};$.each(["url","dataType","timeout","type"].concat(e.paramsToSettings||[]),function(j,h){b[h]=e[h]});$.ajax(b)}},_wrapCallback:function(c){var a=this._requestNumber,b=this._number;return function(d){d!==null&&c(arguments,a,b)}},_allowCallback:function(a,b){return b>this._preventNumber&&this._requestNumber==a},_buildCacheKey:function(a,b){return typeof a=="string"?a:this.__base(a)+b.url},abort:function(){this._preventNumber=++this._number},preventCallbacks:function(){this.abort()},getDefaultParams:function(){return $.extend(this.__base(),{cache:true,type:"GET",dataType:"jsonp",timeout:20000,retryCount:0,retryInterval:2000})}});BEM.decl({name:"b-form-input__dataprovider",baseBlock:"i-request_type_ajax"},{get:function(a,b){return this.__base({part:a},function(c){b.call(this,{items:c[1],metainfo:c[2]})})}});BEM.DOM.decl("b-autocomplete-item",{val:function(){return this.params.val||this.elem("text").text()||this.domElem.text()},enter:function(){},select:function(a){}},{live:function(){this.liveBindTo("mouseover mouseout mousedown",function(a){this.trigger(a.type)})}});BEM.HTML.decl("b-autocomplete-item",{onBlock:function(a){a.tag("li").content(a.param("data")).js(true)}});BEM.HTML.decl({name:"b-autocomplete-item",modName:"type",modVal:"hl"},{onBlock:function(a){a.content($.map(a.param("data").slice(1),function(b){return $.isArray(b)?{tag:"span",elem:"highlight",content:b[0]}:b}))}});BEM.HTML.decl({name:"b-autocomplete-item",modName:"type",modVal:"fact"},{onBlock:function(a){var b=a.param("data").slice(1);a.content([{tag:"span",elem:"text",content:b[0]},{tag:"span",elem:"fact",content:[" — ",b[1]]}])}});BEM.DOM.decl({name:"b-autocomplete-item",modName:"type",modVal:"nav"},{enter:function(){return false},select:function(a){a&&$('<form style="display:none" action="'+this.val()+'" target="_blank"/>').appendTo("body").submit().remove();return false}});BEM.HTML.decl({name:"b-autocomplete-item",modName:"type",modVal:"nav"},{onBlock:function(a){var c=a.param("data"),b="http://"+c[2];a.js({val:b}).content({elem:"link",url:b,data:c})},onElem:{link:function(a){var b=a.param("data");a.tag("a").attrs({href:a.param("url"),target:"_blank"}).content([{elem:"link-url",tag:"span",content:b[2]},{elem:"link-info",tag:"span",content:" — "+b[1]}])}}});BEM.HTML.decl({name:"b-autocomplete-item",modName:"type",modVal:"nah"},{onBlock:function(a){a.content(a.param("data")[1])}});(function(){var b=BEM.HTML,a=BEM.DOM;a.decl({name:"b-form-input",modName:"autocomplete",modVal:"yes"},{onSetMod:{js:function(){var d=this;d._dataprovider=BEM.create(d.params.dataprovider.name||d.__self.getName()+"__dataprovider",$.extend(d.params.dataprovider,{callbackCtx:d}));d._preventRequest=true;d.__base.apply(d,arguments);d._userVal=d.val();var c=d._focused;c&&d.delMod("focused");d.elem("input").attr("autocomplete","off");d._preventRequest=false;c&&d.setMod("focused","yes");d._items=[];d._curItemIndex=-1;d._doRequest=$.debounce(d._doRequest,50)},focused:{yes:function(){this.__base();this.on("change",this._onChange())},"":function(){this.__base();this.un("change",this._onChange)._preventHide||this._getPopup().hide()}}},getDataprovider:function(){return this._dataprovider},_onChange:function(){this._preventRequest||this._doRequest();return this._onChange},_onKeyDown:function(h){if(h.keyCode==38||h.keyCode==40){h.preventDefault();var c=this._items.length;if(c){var g=h.keyCode-39,d=this._curItemIndex,f=0;do{d+=g;d=d<0?c-1:d>=c?0:d}while(this._onEnterItem(this._items[d],true)===false&&++f<c)}}},_onKeyPress:function(c){if(c.keyCode==13&&this._curItemIndex>-1){c.preventDefault();this._onSelectItem(this._items[this._curItemIndex],true)}},_getPopup:function(){var f=this;if(!f._popup){var c=$.browser.opera?"keypress":"keydown",e=f.__self.getName(),d=[{elem:"items",tag:"ul",mix:[{block:e,elem:"popup-items"}]},{block:"b-form-input",elem:"shadow",tag:"i"}];f._hasPopupFade()&&d.push({block:e,elem:"fade"});f._popup=$(b.build({block:"i-popup",mix:[{block:e,elem:"popup",mods:f.params.popupMods}],content:d})).bem("i-popup").on({show:function(){f.bindTo("keypress",f._onKeyPress).bindTo(c,f._onKeyDown).bindToWin("resize",f._updatePopupPos)},"outside-click":function(h,g){f.containsDomElem($(g.domEvent.target))&&h.preventDefault()},hide:function(){f.unbindFrom("keypress "+c).unbindFromWin("resize")._curItemIndex=-1}});$.each({mouseover:f._onEnterItem,mouseout:f._onLeaveItem,mousedown:f._onSelectItem},function(h,g){BEM.blocks["b-autocomplete-item"].liveCtxBind(f._popup.domElem,h,function(i){g.call(f,i.block)})})}return f._popup},_hasPopupFade:function(){return(this.params.popupMods||{}).fade=="yes"},_updatePopupPos:function(){var d=this.elem("box"),c=d.offset();c.top+=d.outerHeight();this._hasPopupFade()&&(c.width=d.outerWidth());this._getPopup().show(c)},_onEnterItem:function(e,f){if(e.hasMod("enterable","no")){return false}var c=this._items,d=this._curItemIndex;d>-1&&c[d].delMod("hovered");d=this._getItemIndex(e);d>-1&&c[this._curItemIndex=d].setMod("hovered","yes");if(f&&this.params.updateOnEnter){this._preventRequest=true;this.val(e.enter()!==false?e.val():this._userVal,{source:"autocomplete",itemIndex:this._curItemIndex}).del("_preventRequest")}},_onLeaveItem:function(d){var c=this._curItemIndex;if(c>-1&&c==this._getItemIndex(d)){this._items[c].delMod("hovered");this._curItemIndex=-1}},_onSelectItem:function(c,d){if(c.hasMod("enterable","no")){return this.afterCurrentEvent(function(){this.setMod("focused","yes")})}var e=c.select(d||false)!==false;this._preventRequest=true;e&&this.val(this._userVal=c.val(),{source:"autocomplete",itemIndex:this._curItemIndex})._getPopup().hide();if(d){this.del("_preventRequest")}else{e||(this._preventHide=true);this.afterCurrentEvent(function(){this.setMod("focused","yes").del("_preventRequest","_preventHide")})}e&&this.trigger("select",{item:c,byKeyboard:d})},_getItemIndex:function(c){return $.inArray(c,this._items)},_doRequest:function(){var c=this;c._userVal=c.val();c.trigger("data-requested")._dataprovider.get(c.val(),function(f){c.trigger("data-received",f);var d=c._getPopup(),e=f.items||f;if(e.length){c._curItemIndex=-1;a.update(d.elem("items"),c._buildItemsHtml(e),function(){c._updatePopupPos();c._items=d.findBlocksInside("b-autocomplete-item");c.trigger("update-items")})}else{d.hide()}})},_buildItemsHtml:function(c){return b.build($.map(c,function(e,d){return{block:"b-autocomplete-item",data:e,mods:{type:$.isArray(e)?e[0]:"text"}}}))},getDefaultParams:function(){return $.extend(this.__base(),{updateOnEnter:true})}})})();(function(){var c=false,a=false,b=[];BEM.decl("i-https",{},{isHTTPSSupported:function(){return a},enableHTTPS:function(){a=true;var d;while(d=b.shift()){d()}},getHTTPSHost:function(){var d=Lego.params["lego-static-host"];if(d){if(d.indexOf("https:")==0){return d}if(d.indexOf("http:")==0){return"https"+d.substr(4)}if(d.indexOf("//")==0){return"https:"+d}else{return"https://"+location.host+d}}else{return"https://"+location.host}},checkForHTTPS:function(d){if(a){return d()}b.push(d);if(c){return}c=true;BEM.create("i-request_type_ajax",{url:this.getHTTPSHost()+"/blocks/i-https/check-https.js",dataType:"script"}).get({},function(){},false,this)}})})();(function(){var a=BEM.blocks["i-https"];BEM.DOM.decl("b-head-userinfo",{onSetMod:{js:function(){var b=this;a.checkForHTTPS(function(){b._onHttps()})}},_onHttps:function(){var b=this.findBlockInside(this.elem("exit"),"b-link"),c=b&&(b=b.domElem,b.attr("href"));if(c&&a.isHTTPSSupported()){b.attr("href",c.replace(/^http:/,"https:"))}}})}());(function(a){if(!a){a=window.Lego={}}var b="…";a.cleverSubstring=function(e,c,d){return(e.length>c+d)?e.substring(0,c-1)+b:e}})(window.Lego);BEM.decl("i-user-services",{},{get:function(a){this._data?a(this._data):this._get(a)},getApiUrl:function(){return Lego.params["pass-host"]+"/services?callback=?"},_callbacks:[],_get:function(a){this._callbacks.push(a);var b=this;this._callbacks.length==1&&$.getJSON(b.getApiUrl(),{locale:Lego.params.locale,login:"yes","current-login":Lego.params.login,yu:Lego.getCookie("yandexuid")},function(c){b._data=c;$.each(b._callbacks,function(){this(c)});b._callbacks.length=0})}});(function(c,a){var b=a.block["b-head-user"]=function(g){var e=c(this);var d=parseInt(g.maxlength,10)||1000,f=parseInt(g["maxlength-relative"],10)||3;if(a.params.login!=""||a.params.displayName){BEM.blocks["i-user-services"].get(function(h){b.buildHtml(h,e,d,f)})}};b.buildHtml=function(h,l,d,f){if(!h||!h.services){return}var e=h.displayName&&h.displayName.social,k=a.cleverSubstring(c("<div/>").text(b.getUserLogin(h)).html(),d,f),g=e?'<b class="b-user b-user_social_yes b-user_provider_'+e.provider+'"><span class="b-user__provider-ico"></span>'+k+"</b>":'<b class="b-user"><b class="b-user__first-letter">'+k.substring(0,1)+"</b>"+k.substring(1)+"</b>",j="<a class=\"b-pseudo-link b-pseudo-link_is-bem_yes i-bem\" onclick=\"return {'b-pseudo-link':{name:'b-pseudo-link'}}\""+(!e&&l.hasClass("b-head-user_type_com")?"":' href="'+(e?a.params["social-host"]:"http://i.yandex.ru")+'"')+">"+g+"</a>",i='<div class="b-dropdowna b-dropdowna_is-bem_yes i-bem" onclick="return {\'b-dropdowna\':{name:\'b-dropdowna\'}}"><span class="b-dropdowna__switcher">'+j+'</span><div class="i-popup i-popup_autoclosable_yes i-popup_is-bem_yes i-bem" onclick="return {\'i-popup\':{name:\'i-popup\'}}"><div class="i-popup__content"><div class="i-popup__under b-popupa__under"></div><div class="b-popupa b-popupa_theme_ffffff b-popupa_direction_down b-popupa_is-bem_yes i-bem b-dropdowna__popup" onclick="return {\'b-popupa\':{name:\'b-popupa\'}}"><i class="b-popupa__shadow"></i><i class="b-popupa__tail"><i class="b-popupa__tail-i"></i></i><table cellpadding="0" cellspasing="0" class="b-popupa__wrap"><tr><td class="b-popupa__wrap-cell"><div class="b-popupa__content"><div class="b-menu b-menu_layout_vert b-dropdowna__menu"><ul class="b-menu__layout-vert">';e&&l.addClass("b-head-user_social_yes");c.each(h.services,function(m){i+='<li class="b-menu__layout-vert-cell'+(m==0?" b-menu__layout-vert-cell_position_first":"")+'"><div class="b-menu__item">';if(a.params.id==this.id&&a.params.index){i+="<strong>"+this.title+"</strong>"}else{i+='<a class="b-link b-head-user__link" href="'+this.url+'" onmousedown="Lego.ch(\''+a.params.id+".login.myservices."+this.id+"',this)\">"+this.title+"</a>"}i+="</div></li>"});if(h.services.length){i+='<li class="b-menu__layout-vert-separator"><i class="b-menu__separator"></i></li>'}i+=b.getUserItems(h,l);i+="</ul></div></div></td></tr></table></div></div></div></div>";l.find(".b-user").replaceWith(i);BEM.DOM.init(l)};b.getApiUrl=function(){return a.params["pass-host"]+"/services?callback=?"};b.getUserItems=function(f){var e=f.displayName&&f.displayName.social?[{name:a.message("b-head-userinfo.user:profile","Мои профили"),url:a.params["social-host"]}]:[{name:a.message("b-head-userinfo.user:passport","Паспорт"),url:a.params["passport-host"]},{name:a.message("b-head-userinfo.user:change-password","Сменить пароль"),url:a.params["passport-host"]+"/passport?mode=changepass&retpath="+encodeURIComponent(a.params.retpath)+"/"}];var d="";c.each(e,function(h,g){d+='<li class="b-menu__layout-vert-cell'+(h==e.length-1?" b-menu__layout-vert-cell_position_last":"")+'"><div class="b-menu__item"><a class="b-link b-head-user__link" href="'+g.url+'">'+g.name+"</a></div></li>"});return d};b.getUserLogin=function(d){return a.params.displayName&&a.params.displayName.social&&a.params.displayName.name||d.displayName&&d.displayName.name||a.params.login||d.login}})(jQuery,window.Lego);(function(b,a){var c=BEM.blocks["i-https"];a.block["b-domik"]=function(x){var d=this,s=d.find(".b-domik__lock"),u=d.find(".b-domik__social"),k=arguments.callee,n=b('<input type="hidden" name="timestamp"/>'),v=this.attr("class").match(/\bb-domik_type_(\w+)\b/)[1];if(u.length&&a.params["social-host"]){if(a.params["social-providers"]){y(a.params["social-providers"])}else{b.getJSON(a.params["social-host"]+"/providers.jsonp?callback=?",function(B){y(B)})}var A=new a.block["i-social"];b(".b-domik__social-link").live("click",function(B){j();b(".b-domik__social-popup").each(function(){b(this).bem("b-popupa").hide()});A.start(function(){if(!a.params.retpath||top.location.href==a.params.retpath){top.location.reload()}else{top.location.href=a.params.retpath}},function(){u.removeClass("b-domik__social_loading_yes").css("height","")},{provider:this.onclick()["b-domik"].provider});B.preventDefault()})}function y(C){if(!C.length){u.remove();return}u.html(m(C));var D=u.find(".b-dropdowna");if(!D.length){return}BEM.DOM.init(D);var E=D.bem("b-dropdowna").getPopup();function B(){E.pos()}E.on("show",function(){b(window).scroll(B)}).on("hide",function(){b(window).unbind("scroll",B)})}function m(D){var E=[{block:"b-domik",elem:"social-title",content:a.message("b-domik:enter-with","Войти при помощи")}];D=b.grep(D,function(F){return F.enabled});var C=b.grep(D,function(F){return F.primary});C=b.map(C,function(F){return{block:"b-domik",tag:"a",elem:"social-link",content:{elem:"social-icon",mods:{provider:F.code},tag:"i"},js:{provider:F.code},attrs:{tabIndex:103}}});[].push.apply(E,C);function B(I){var H=b.map(I,function(K){return{block:"b-domik",tag:"a",elem:"social-link",mods:{},attrs:{tabIndex:103},js:{provider:K.code},content:[{tag:"i",elem:"social-icon",mods:{provider:K.code}},K.display_name]}});H.length%2&&(H[H.length]="");var G=[],J;for(var F=0;F<H.length;F++){F%2||G.push(J={tag:"tr",content:[]});J.content.push({tag:"td",elem:"provider",content:H[F]})}return G}if(C.length<D.length){E.push({tag:"div",block:"b-dropdowna",js:true,content:[{elem:"switcher",tag:"span",content:{tag:"a",block:"b-pseudo-link",mods:{"is-bem":"yes"},js:true,attrs:{href:a.message("b-domik:passport-link","http://passport.yandex.ru/"),tabIndex:103}}},{block:"b-popupa",js:true,tag:"div",mix:[{block:"b-dropdowna",elem:"popup"},{block:"b-domik",elem:"social-popup",mods:{type:v}}],content:[{elem:"tail",tag:"i"},{elem:"content",content:[{elem:"providers",tag:"table",content:B(D)}]}]}]})}E.push({block:"b-spin",mods:{theme:v=="bigform"?"blue-50":"blue-16"}});return BEM.HTML.build(E)}function j(){u.css("height",u.height()).addClass("b-domik__social_loading_yes")}k.isHTTPSSupported=false;d.append(n).submit(function(){n.val(+new Date);var B=d.attr("action");if(B&&a.block["b-domik"].isHTTPSSupported){d.attr("action",B.replace(/^http:/,"https:"))}});var q=d.find("input[name=login]"),r=d.find("input[type=submit]");q.change(function(){var B=q.val();B.indexOf("@")==-1&&/[а-яçğıöşü]/i.test(B)?i(x&&x.err_msg||a.message("b-domik:wrong-keyboard-layout","смените раскладку")):o()});q.change();var h;function i(B){!h&&(h=b('<div class="b-domik__error"/>').insertAfter(d.find(".b-domik__password")));h.text(B).show()}function o(){h&&h.hide()}k.enableHTTPS=function(){k.isHTTPSSupported=true;s.addClass("b-domik__lock_visibility_visible")};k.checkForHTTPS=c.checkForHTTPS;c.checkForHTTPS(function(){k.enableHTTPS()});var w=k.getLockBaloonContent||function(){var C=/\(\(([^\)]+)\)\)/g;function B(F,E){return F.replace(C,'<a class="b-link" href="'+E+'">$1</a>')}var D=a.message("b-domik.lock-balloon:content","Логин и пароль будут передаваться в ((безопасном режиме))");return B(D,a.message("b-domik.lock-balloon:linkHref","http://help.yandex.ru/mail/?id=1113446"))},e=b(BEM.HTML.build({block:"b-popupa",mods:{direction:"right",theme:"feffd6"},mix:[{block:"b-domik",elem:"lock-balloon"}],content:[{elem:"tail",tag:"i"},{elem:"content",content:w()}]}));d.append(e);var l=e.bem("b-popupa"),g=300,p;function f(){p=setTimeout(function(){l.hide()},g)}var z;function t(){p&&clearTimeout(p);p=null;l.show(s);if(!z){z=true;e.hover(t,f)}}s.hover(t,f)}})(jQuery,window.Lego);(function(a){window.Lego||(window.Lego={block:{}});Lego.block["i-social"]=function(d){function e(j){var i=this,g={};this.url=j.startUrl+"?";delete j.startUrl;this.popupName=j.popupName;this.yaWindow=null;this.wTimer=null;this.paramsDefault=j;function l(){var m;if(!i.yaWindow){return true}try{m=i.yaWindow.closed}catch(n){m=true}return m}function k(){if(l()){i.wTimer=clearInterval(i.wTimer);i.onFailure({status:"error"})}}function f(v){var y=i.popupName,q=500,z=280,s=Math.round(((window.opera?window.innerWidth:screen.availWidth)-q)/2),w=Math.round(((window.opera?window.innerHeight:screen.availHeight)-z)/2),n="scrollbars=yes, resizable=1, menubar=0, toolbar=0, status=0, location=0, directories=0, left="+s+", top="+w+", width="+q+", height="+z;var r={};for(var u in i.paramsDefault){r[u]=i.paramsDefault[u]}for(var u in v){r[u]=v[u]}var x=["ddom="+(r.ddom||(location.hostname==document.domain?"":document.domain))];r.retpath+=(r.retpath.match("#")?"&":"#")+x.join("&");var m=i.url;var o=[];for(var t in r){o.push(encodeURIComponent(t)+"="+encodeURIComponent(r[t]))}m+=o.join("&");i.yaWindow=window.open(m,y,n);i.yaWindow.focus();if(i.yaWindow){i.wTimer=setInterval(k,500)}}function h(){this.handlers={onSuccess:null,onFailure:null};i.wTimer=clearInterval(i.wTimer);l()||i.yaWindow.close();i.yaWindow=false}this.start=function(n,m,o){h();i.handlers={onSuccess:n,onFailure:m};f(o)};this.onSuccess=function(n){h();var m=i.handlers.onSuccess;m&&m()};this.onFailure=function(n){h();var m=i.handlers.onFailure;m&&m()}}arguments.callee.Broker=e;var c=arguments.callee.defaultParams={startUrl:Lego.params["social-startUrl"]||Lego.params["social-host"]+"/broker/start",retpath:Lego.params["social-retpath"]||location.protocol+"//"+location.host+Lego.params["lego-path"]+"/blocks/i-social/closer/i-social__closer.html",consumer:Lego.params.id||"morda",popupName:"social_"+(Lego.params.id||"morda"),application:"",action_if_anonymous:"authorize",result_location:"fragment"};var b=arguments.callee.broker=new e(a.extend(c,d));return b}})(jQuery);(function(b,a){a.block["b-hint-input"]=function(){var i=b(this),e=b("#"+i.attr("for")),g=function(){i.hide()},d=function(){i.show()},c=function(){h||e.val()?g():d()},h=false;e.bind("focus blur",function(j){h=j.type=="focus";c()}).bind("change mouseover",c);i.click(function(){e.focus()});e.change();var f=e.val();(function(){if(e.val()!=f){b(e).trigger("change");f=e.val()}setTimeout(arguments.callee,200)})()}})(jQuery,window.Lego);(function(b,a){a.block["b-domik_type_popup"]=function(h){var e=b(this),d;b(".b-head-userinfo__entry .b-pseudo-link").click(function(i){i.preventDefault();setTimeout(function(){c()},0)});function c(j){if(!d){g()}if(j){a.params.retpath=j}var i="&from="+a.params["passport-msg"]+"&retpath="+encodeURIComponent(a.params.retpath);e.attr("action",a.params["passport-host"]+"/passport?mode=auth"+i);d.find(".b-domik__register .b-domik__link").attr("href",a.params["passport-host"]+"/passport?mode="+(h.regMode||"register")+i);b(document).bind("keyup.b-domik",function(k){if(k.keyCode==27){f()}}).bind("click.b-domik",function(m){var l=b(m.target),k=l.parents().andSelf();if(l.is("input[type=button]")||k.index(d)==-1&&!k.is(".b-popupa")){f()}});!d.hasClass("b-domik_position_popup-50-50")&&window.scrollTo(0,0);d.show().find("input[name=login]").focus();b(document).trigger("show.b-domik_type_popup")}function f(){b(document).unbind(".b-domik");d.hide()}function g(){d=b('<form class="'+e.attr("class").replace("g-hidden","")+'" method="POST"><i class="b-domik__roof"></i><table class="b-domik__shadow"><tr><td class="b-domik__shadow__lt"> </td><td class="b-domik__shadow__t"></td><td class="b-domik__shadow__rt"> </td></tr><tr><td class="b-domik__shadow__l"> </td><td class="b-domik__shadow__m"><div class="b-domik__form"><div class="b-domik__title">'+(h.title||a.message("b-domik:title","Вход"))+'</div><div class="b-domik__username"><label for="b-domik_popup-username" class="b-hint-input g-js" onclick="return {name:\'b-hint-input\'}">'+a.message("b-domik:login","логин")+'</label><div class="b-input"><input class="b-input__text" id="b-domik_popup-username" name="login" value="'+e.find("input[name=login]").val()+'" tabindex="11"/></div></div><div class="b-domik__password"><label for="b-domik_popup-password" class="b-hint-input g-js" onclick="return {name:\'b-hint-input\'}">'+a.message("b-domik:password","пароль")+'</label><div class="b-domik__lock"></div><div class="b-input"><input class="b-input__text" id="b-domik_popup-password" name="passwd" value="'+e.find("input[name=passwd]").val()+'" type="password" tabindex="11"/></div></div><div class="b-domik__permanent"><input class="b-domik__check" id="b-domik_popup-permanent" name="twoweeks" type="checkbox" value="yes" tabindex="11"/><label for="b-domik_popup-permanent" class="b-domik__permanent-label">'+a.message("b-domik:permanent","запомнить меня")+'</label> <span class="b-domik__help">(<a class="b-domik__link" href="'+a.message("b-domik:help-link","http://help.yandex.ru/passport/?id=922493")+'" tabindex="12">'+a.message("b-domik:help","что это")+'</a>)</span></div><div class="b-domik__button"><input class="b-domik__submit" type="submit" value="'+a.message("b-domik:logon","Войти")+'" tabindex="11"/><input class="b-domik__submit" type="button" value="'+a.message("b-domik:cancel","Отмена")+'" tabindex="11"/></div><div class="b-domik__social"></div><div class="b-domik__register"><a class="b-domik__link" href="" tabindex="11">'+(h.register||a.message("b-domik:register","Зарегистрироваться"))+'</a></div><div class="b-domik__remember"><a class="b-domik__remind" href="'+a.params["passport-host"]+'/passport?mode=restore" tabindex="11">'+a.message("b-domik:remember","Напомнить пароль")+'</a></div></div></td><td class="b-domik__shadow__r"> </td></tr><tr><td class="b-domik__shadow__lb"> </td><td class="b-domik__shadow__b"></td><td class="b-domik__shadow__rb"> </td></tr></table><iframe class="b-popup-under" frameborder="0"></iframe></form>').submit(function(i){i.preventDefault();e.find("input[name=login]").val(d.find("input[name=login]").change().val()).end().find("input[name=passwd]").val(d.find("input[name=passwd]").change().val()).end().find("input[name=twoweeks]").attr("checked",d.find("input[name=twoweeks]").attr("checked")||false).end().append('<input type="hidden" name="timestamp" value="'+ +new Date+'"/>').attr("action",a.block["b-domik"].isHTTPSSupported?e.attr("action").replace(/^http:/,"https:"):e.attr("action")).submit()});if(a.block["b-domik"]){a.block["b-domik"].call(d)}b("body").append(d);a.blockInit(d)}arguments.callee.login=function(){var i=arguments;setTimeout(function(){c.apply(this,i)},0)}}})(jQuery,window.Lego);(function(){var a=Lego.block["i-flashcookie"],b=function(e){var c=this,d=arguments.callee.load=function(){location.protocol.indexOf("https")<0&&c.replaceWith($('<iframe src="http://kiks.yandex'+location.host.match(/.*([.].*?):?\d{0,}$/)[1]+'/su/" class="'+c.attr("class")+'"/>'))};c.hasClass("i-flashcookie_autoload_no")||d()};Lego.block["i-flashcookie"]=function(d){var c=this.hasClass("i-flashcookie_type_iframe")?b:a;c&&c.call(this,d)}})();
/*!jeanny-ignore*/
(function(b,a){a.block["b-keyboard-loader"]=function(g){var i=b(document.body),e=b(window),j=this,l;j.click(function(s){s.preventDefault();var r=b(this),q=(this.className.match(/b-keyboard-loader_lang_(\w+)/)||["",""])[1];switch(q){case"uk":q="ua";break;case"kk":q="kz";break;case"be":q="by";break}var u=r.hasClass("b-keyboard-loader_dropdowna_yes");if(!i.find(".b-keyboard")[0]){var t=a.params["lego-static-host"]+(a.params["lego-static-host"]=="/"?"":"/")+"blocks/",p=(u?[t+"b-keyboard/_keyboard.js"]:[t+"b-keyboard-popup/_b-keyboard-popup.js",t+"b-keyboard/_b-keyboard.js",t+"b-dropdown/_b-dropdown.js"]),o=b.browser.msie&&((!document.documentMode)||(document.documentMode<9))?".ie":"",n=[t+"b-keyboard/_keyboard"+o+".css"];r.append('<i class="b-keyboard-loader__progress"/>');b.xLazyLoader({name:"b-keyboard",js:p,css:n,success:function(){a.block["b-keyboard-popup"]({lang:q,isDropdowna:u});i.append('<div class="b-keyboard'+(u?" b-keyboard-loader_dropdowna_yes":"")+" g-js\" onclick=\"return {name: 'b-keyboard', lang: '"+q+"'};\"></div>");a.blockInit(i,".b-keyboard");r.find(".b-keyboard-loader__progress").remove();e.trigger("keyboardOpened.lego",{afterLoad:true})}})}else{h()}});function h(n){var p=n?"addClass":"toggleClass",o=i.find(".b-keyboard-popup");if(o.length){i.find(".b-keyboard-popup__gap")[p]("g-hidden");if(i.find(".b-keyboard-popup")[p]("g-hidden").hasClass("g-hidden")){e.trigger("keyboardClosed");b(document).trigger("popupsClose.lego")}else{e.trigger("keyboardOpened.lego")}o.data("isHidden",false)}}e.bind("keyboardOpen.lego",function(){j.click()}).bind("keyboardClose.lego",h);g["for"]&&e.bind("keyboardOpened.lego",function(o,n){!(n&&n.afterLoad&&g.autoLoad)&&b(g["for"]).focus()});e.bind("keyboardLangChanged.lego keyboardSetLang.lego",function(o,p){var n=j.find(".b-keyboard-loader__flag");if(n[0]){if(p==="tt"){p="ru"}n.attr("src",n.attr("src").replace(/[a-z]+\.png$/,p+".png"))}});g.storeState=g.storeState!==false;if(g.storeState){e.bind("keyboardOpened.lego",function(){k("keyboard_state","open");var n=c("keyboard_lang");if(n){b(window).trigger("keyboardSetLang.lego",n)}}).bind("keyboardClosed.lego",function(){k("keyboard_state","close")}).bind("keyboardLangChanged.lego",function(n,o){k("keyboard_lang",o)})}(g.autoLoad=g.autoLoad||(g.storeState&&c("keyboard_state")=="open"))&&j.click();var m;function f(){if(m){return}a.cp(0,70873,a.params.id+"."+(g.autoLoad?"auto":"manual"));m=true}e.bind("keyboardOpened.lego",function(){f()});function c(n){return d()[n]}function d(){var n={};b.each(window.name.split("&"),function(){if(this.toString()){var o=this.split("=");n[o[0]]=o[1]}});return n}function k(n,p){var o=d(),q=[];o[n]=p;b.each(o,function(r,s){q.push(r+"="+s)});window.name=q.join("&")}}})(jQuery,window.Lego);(function(b){b.xLazyLoader=function(e,d){if(typeof e=="object"){d=e;e="init"}new c()[e](d)};b.xLazyLoader.defaults={js:[],css:[],img:[],name:null,timeout:20000,success:function(){},error:function(){},complete:function(){},each:function(){}};var a=document.getElementsByTagName("head")[0];function c(){var m=this,o,i=[],k=[],j,d,f,e=[];this.init=function(p){if(!p){return}o=b.extend({},b.xLazyLoader.defaults,p);f={js:o.js,css:o.css,img:o.img};b.each(f,function(q,r){if(typeof r=="string"){r=r.split(",")}e=e.concat(r)});if(!e.length){h("error");return}if(o.timeout){j=setTimeout(function(){var q=i.concat(k);b.each(e,function(s,r){b.inArray(r,q)==-1&&k.push(r)});h("error")},o.timeout)}b.each(f,function(q,r){if(b.isArray(r)){b.each(r,function(t,s){l(q,s)})}else{if(typeof r=="string"){l(q,r)}}})};this.js=function(u,v,q){var t=b('script[src*="'+u+'"]');if(t.length){t.attr("pending")?t.bind("scriptload",v):v();return}var r=document.createElement("script");r.setAttribute("type","text/javascript");r.setAttribute("charset","utf-8");r.setAttribute("src",u);r.setAttribute("pending",1);r.onerror=n;b(r).bind("scriptload",function(){b(this).removeAttr("pending");v();setTimeout(function(){b(r).unbind("scriptload")},10)});var p=false;r.onload=r.onreadystatechange=function(){if(!p&&(!this.readyState||/loaded|complete/.test(this.readyState))){p=true;r.onload=r.onreadystatechange=null;b(r).trigger("scriptload")}};a.appendChild(r)};this.css=function(p,s,q){if(b('link[href*="'+p+'"]').length){s();return}var r=document.createElement("link");r.setAttribute("type","text/css");r.setAttribute("rel","stylesheet");r.setAttribute("href",p);if(b.browser.msie){r.onreadystatechange=function(){/loaded|complete/.test(r.readyState)&&s()}}else{if(b.browser.opera){r.onload=s}else{(function(){if(r&&r.sheet){s()}else{d=setTimeout(arguments.callee,20)}})()}}a.appendChild(r)};this.img=function(q,r){var p=new Image();p.onload=r;p.onerror=n;p.src=q};this.disable=function(p){b("#lazy-loaded-"+p,a).attr("disabled","disabled")};this.enable=function(p){b("#lazy-loaded-"+p,a).removeAttr("disabled")};this.destroy=function(p){b("#lazy-loaded-"+p,a).remove()};function l(q,p){m[q](p,function(r){r=="error"?k.push(p):i.push(p)&&o.each(p);g()},"lazy-loaded-"+(o.name?o.name:new Date().getTime()))}function h(p){o.complete(p,i,k);o[p](p=="error"?k:i);clearTimeout(j);clearTimeout(d)}function g(){if(i.length==e.length){h("success")}else{if(i.length+k.length==e.length){h("error")}}}function n(){k.push(this.src);g()}}})(jQuery);
/*!jeanny-ignore*/
BEM.DOM.decl("b-menu",{onElemSetMod:{trigger:{state:function(b,c,a){this.toggleMod(this.findElem(b.closest(this.buildSelector("layout-vert-cell")),"item-content").eq(0),"visibility","visible",a=="opened").trigger("trigger",{domElem:b,state:a})}},item:{state:{current:function(c){var d=this,a=d.__self.getName(),b=d.elem("item","state","current").filter(function(){return $(this).closest(d.buildSelector()).bem(a)===d});d.findElem(c.parents(d.buildSelector("item-content")).prev(d.buildSelector("item")),"trigger").each(function(){d.setMod($(this),"state","opened")});d.delMod(b,"state").trigger("current",{prev:b,current:c})}}}},onTriggerClick:function(a){a.preventDefault();this.toggleMod(a.data.domElem,"state","opened")},onItemSelectorClick:function(b){var a=this._getItemByEvent(b);this.hasMod(a,"state","disabled")||this.setMod(a,"state","current")},_getItemByEvent:function(a){return a.data.domElem.closest(this.buildSelector("item"))}},{live:function(){this.liveBindTo("trigger","leftclick",function(a){this.onTriggerClick(a)}).liveBindTo("item-selector","leftclick",function(a){this.onItemSelectorClick(a)})}});BEM.DOM.decl({name:"b-popupa",modName:"direction",modVal:"fixed_top"},{pos:function(){var a=this._getUnder();a.show({position:"absolute",left:"50%",top:"0",marginLeft:-a.domElem.outerWidth()/2,marginTop:"25px"});return this}});$(document).ready(function(){if($("body.models").length){jQuery(window).bind("unload",function(){});$(".marks td li input").removeAttr("checked").parent().removeClass("active");$("#filters h3 p input[name='model']").remove()}$(".marks td li span input").click(function(f){var d=$(".marks td li span input."+$(this).attr("class"));var g=$(this).attr("class").substring(11);var c=$(this).next().text();if($(this).parent().hasClass("active")){d.removeAttr("checked").parent().removeClass("active");$("#filters h3 p input[value='"+g+"']").remove();$("#filters h3 b").html(" "+a())}else{d.attr("checked","checked").parent().addClass("active");var b=$('<input type=hidden name=model value="'+g+'"/>');$("#filters h3 p").append(b);$("#filters h3 b").html(" "+a())}});$(".marks td li span a").click(function(c){var d=$(this).attr("class").substring(11);var b=$('<input type=hidden name=model value="'+d+'"/>');$("#filters h3 p").append(b);$("#modelfilters").submit();return false});function a(){var b=[];$(".marks.all td li span.active input").each(function(){b.push($(this).next().text())});return b.join(", ")}$(".standard-options p a span").click(function(){$(".standard-options").toggleClass("show-all");var b=($(this).text()=="полный список")?"сокращенный список":"полный список";$(this).text(b)});$("#complect-cmp-form").submit(function(){if($(".complects td input:checked").length){return true}else{alert("Выберите модификации для сравнения");return false}});$("#check-all").click(function(){if($("#check-all:checked").length){$(".complects td input").attr("checked","checked")}else{$(".complects td input").removeAttr("checked")}});$("#content .cont span a").click(function(){if(!$("#content").hasClass("stop")){$("#content").toggleClass("all").toggleClass("popular")}});(function(){var b=$("#tip-popup .b-popupa");$(".abbr").live("click",function(){b.bem("b-popupa").setContent("<div class='b-popup-body'>"+$(this).attr("rel")+"</div>");b.bem("b-popupa").show($(this))})})();$(".reviews .actions .remove").mousedown(function(){var c=$(this);var d=$(this).attr("rel");var b=c.attr("id").substring(6);if(confirm("Вы уверены, что хотите удалить отзыв?")){$.ajax({url:"/gate/remove-ugc.xml",type:"POST",data:"id="+b+"&sk="+d,dataType:"json",error:vertis.utils.errorMsg,success:function(e){if(e.result){if($("body.reviews").length){c.parent().replaceWith('<p class="confim">Ваш отзыв будет удален из поиска в течение нескольких часов</p>')}else{location.reload()}}else{vertis.utils.errorMsg()}}})}else{return false}});$("#grouping-know").click(function(){$.ajax({url:"/gate/set-options.xml?no-redir=on&single_option=grouping_familiarized&grouping_familiarized=on",type:"GET",data:{},error:vertis.utils.errorMsg,success:function(b){txtrim=jQuery.trim(b);if(txtrim=="error"){vertis.utils.errorMsg()}$("#grouping-know").parent().remove()}})});$(".b-pseudo-link_auth").live("click",function(){Lego.block["b-domik_type_popup"].login();return false});(function(){var b=$("#auto-popup .b-popupa");$("#lnk-close").live("click",function(){b.bem("b-popupa").toggle()})})();$(".js-make-redir").live("mousedown",function(){vertis.utils.makeRedir($(this))});$("#js-generation-nav").slider()});var vertis=vertis||{};vertis.utils={makeRedir:function(a){if($(a).length){$(a).attr("href",$(a).attr("rel"))}},errorMsg:function(){alert("Произошла ошибка. Перезагрузите страницу или попробуйте позже.")},loading:function(){setTimeout(function(){if($("#yauto-load").length){$("#yauto-load").remove()}else{$("body").append("<div id='yauto-load'><img src='/i/loading.gif' alt='loading'/></div>")}},100)}};$(document).ready(function(){$("#filters.hide-extra div[rel],#filters span[rel]").hide();
$("#filters .extended-switcher").click(function(){$("#filters div[rel]").toggle();if($(this).find("img").attr("alt")=="+"){$(this).find("img").attr({src:"/i/hide.gif",title:"скрыть",alt:"-"})}else{$(this).find("img").attr({src:"/i/show.gif",title:"показать",alt:"+"})}});
$("#filters .show-unpopular").click(function(){$("span[rel]",$(this).parent()).toggle();$(this).text(($(this).text()=="показать все"?"только популярные":"показать все"))});$("#filters .js-years-assist").click(function(){var f=new Date();var c=f.getFullYear();var b=$(this).attr("rel");var a=b.substring(0,1);var e=b.substring(2);$("#filters select[name='year_to'] option, #filters select[name='year_from'] option").removeAttr("selected");$("#filters select[name='year_to']").find("option[value='"+(c-a)+"']").attr("selected","selected");$("#filters select[name='year_from']").find("option[value='"+(c-e)+"']").attr("selected","selected")})});$(document).ready(function(){$("#search-results .info span span .b-pseudo-link").click(function(){var c=$(this).closest("tr");var b=c.attr("id").substring(7);var a=$(this).closest("li").attr("rel");var e=$(this).parent().parent().attr("class");var d;if(e=="check"){d=c.hasClass("memo")?"none":"check"}else{if(e=="cross"){d=c.hasClass("cross")?"none":"cross"}else{if($("body.lists").length){d="none"}}}$.ajax({url:"/gate/flag-item.xml?car="+b+"&state="+d+"&sk="+a,type:"GET",data:{},beforeSend:function(){c.addClass("processing")},error:vertis.utils.errorMsg,success:function(f){txtrim=jQuery.trim(f);if(txtrim=="error"){vertis.utils.errorMsg()}else{if(e=="check"){c.attr("class",(d=="check")?"memo":"none")}else{if(e=="cross"){c.attr("class",(d=="cross")?"cross":"none")}else{if($("body.lists").length){c.remove();if(!$("#search-results tr").length){$("#content").append("<div class=warning>Нет избранных объявлений</div>");$(".action-lists,.sorters").remove()}}}}}},complete:function(){c.removeClass("processing")}})})});var vertis=vertis||{};$(document).ready(function(){$("body").delegate(".js-catalog-entities select:not([name = 'conf_comp_tech_id'])","change",function(){(vertis.entities[$(this).attr("name")+"Change"])()})});vertis.entities={selectors:{mark:".js-catalog-entities select[name='mark']",model:".js-catalog-entities select[name='model']",year:".js-catalog-entities select[name='year']",bodyType:".js-catalog-entities select[name='body_type']",complectation:".js-catalog-entities select[name='conf_comp_tech_id']"},compareGateUrl:"/gate/catalog-entities.xml?",showMarks:function(){this.collectData(this.selectors.mark,"",[this.selectors.model,this.selectors.year,this.selectors.bodyType,this.selectors.complectation])},markChange:function(){var a=$(this.selectors.mark).val();this.checkSelection(a,this.selectors.model,"mark_ids="+a,[this.selectors.year,this.selectors.bodyType,this.selectors.complectation])},modelChange:function(){var a=$(this.selectors.model).val();this.checkSelection(a,this.selectors.year,"model_ids="+a,[this.selectors.bodyType,this.selectors.complectation])},yearChange:function(){var a=$(this.selectors.year).val();this.checkSelection(a,this.selectors.bodyType,"generation_ids="+a,[this.selectors.complectation])},body_typeChange:function(){var a=$(this.selectors.bodyType).val();if(isNaN(a)){return}this.checkSelection(a,this.selectors.complectation,"configuration_ids="+a+(($("body[class ^= 'review-']").length)?"&no_price=true":""),[])},checkSelection:function(b,e,d,c,a){if(!b){c.push(e);this.disableFollowing(c)}else{this.collectData(e,d,c,a)}},collectData:function(d,c,b,a){$.ajax({url:this.compareGateUrl+c,type:"get",dataType:"json",error:this.onError,context:this,success:this.appendData(d,b,a)})},appendData:function(c,b,a){return function(f){var g="<option value=''>"+f["default"]+"</option>";$(c).find("optgroup,option").remove();if(f.itemsGroups){for(var e=0;e<f.itemsGroups.length;e++){g+="<optgroup label="+f.itemsGroups[e].label+">";for(var d=0;d<f.itemsGroups[e].items.length;d++){g+=this.createOption(f.itemsGroups[e].items[d],a)}g+="</optgroup>"}}else{for(var d=0;d<f.items.length;d++){g+=this.createOption(f.items[d],a)}}$(c).append(g).removeAttr("disabled");this.disableFollowing(b);if((c===this.selectors.bodyType&&f.items&&f.items.length===1)||(c===this.selectors.year&&f.items&&f.items.length===1)){$(c).find("option[value != '']").attr("selected","selected");if(c===this.selectors.bodyType){this.body_typeChange()}if(c===this.selectors.year){this.yearChange()}}}},createOption:function(b,a){return"<option value="+b.id+((a&&b.id===a)?" selected='selected'":"")+">"+b.name+"</option>"},disableFollowing:function(b){if(b===undefined){return}for(var a=0;a<b.length;a++){$(b[a]).attr("disabled","disabled").find("option[value = '']").attr("selected","selected")}},onError:function(){alert("Произошла ошибка. Обновите страницу или попробуйте позже.")}};var vertis=vertis||{};vertis.compareAuto={};$(document).ready(function(){if($("#add-to-comparison-from-page").length){vertis.compareAuto.popup=$("#auto-popup .b-popupa").bem("b-popupa");vertis.compareAuto.button=$("#add-to-comparison-from-page span").bem("b-form-button");vertis.compareAuto.button.on("click",function(){vertis.compareAuto.popup.toggle();vertis.entities.showMarks()})}$("#add-to-compare-from-popup .b-form-button__input").live("click",function(){var a=$("#add-to-compare-from-popup select[name='conf_comp_tech_id']").val();if(!a){alert("Необходимо указать комплектацию")}else{$.ajax({url:"/gate/edit-compare.xml?action=add&entity_id="+a,type:"GET",error:vertis.utils.errorMsg,success:function(c){var b=jQuery.trim(c);if(b=="error"){vertis.utils.errorMsg()}else{if($("body.specify-cmp").length){location.reload()}else{location.href=$("#link-for-add").val()+"&conf_comp_tech_id="+a}}}})}return false});$(".add-to-comparison .off").live("click",function(){var b=$(this).parent();var a=$(this).parent().attr("rel");var c=$(this).parent().attr("id").substring(4);$.ajax({url:"/gate/edit-compare.xml?action=add&entity_id="+c,type:"GET",data:{},error:vertis.utils.errorMsg,success:function(e){var d=jQuery.trim(e);if(d=="error"){vertis.utils.errorMsg()}else{b.addClass("already");$(".cmp-cont").css("display","block");$(".cmp-cont .lnk").prepend("<li id=it-"+c+">"+a+"<img src=/i/close.gif alt=/></li>")}}})});$(".remove-from-cmp").click(function(){var a=$(this).parent().attr("id").substring(3);var b=$(this).attr("href");$.ajax({url:"/gate/edit-compare.xml?action=remove_pos_entity&pos_entity_id="+a,type:"GET",data:{},error:vertis.utils.errorMsg,success:function(d){var c=jQuery.trim(d);if(c=="error"){vertis.utils.errorMsg()}else{if($("body.specify-cmp").length){location.reload()}else{location=b}}}});return false});$(".cmp-cont li img").live("click",function(){var a=$(this).parent();var b=$(this).parent().attr("id").substring(3);$.ajax({url:"/gate/edit-compare.xml?action=remove_by_configuration&configuration_id="+b,type:"GET",data:{},error:vertis.utils.errorMsg,success:function(d){var c=jQuery.trim(d);if(c=="error"){vertis.utils.errorMsg()}else{a.remove();$("#cmp-"+b).removeClass("already");if(!($(".cmp-cont li[class != 'lnk']").length)){$(".cmp-cont").css("display","none")}}}})});$("#spec-form").bind("submit",function(){if($(".conf_comp_tech_id option.def:selected").length){alert("Пожалуйста, укажите комплектации");return false}else{var b=$(this),a="";$(".conf_comp_tech_id").each(function(c){a=a+"&entity_id="+$(this).val()});$.ajax({url:"/gate/edit-compare.xml?action=set"+a,type:"GET",data:{},error:function(d){var c=jQuery.trim(d);if(c=="error"){vertis.utils.errorMsg()}},success:function(d){var c=jQuery.trim(d);if(c=="error"){vertis.utils.errorMsg()}b.unbind("submit");b.submit()}})}});$(".complects.all.grid tr").bind("mouseover mouseout",function(){$(this).toggleClass("hovered")})});$(document).ready(function(){var b=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,6})$/;var a=$("#auto-popup .b-popupa");$(".menu-link .subscribe.logged, .subscribe-few").live("click",function(){a.bem("b-popupa").toggle()});a.find("ul li").bind("click",function(){a.find("ul li").removeClass("active");$(this).addClass("active")});$("#add-subscription").submit(function(){var c=$(".menu-link .subscribe").parent();var e=a.find("ul .active a").attr("id").substring(6);var f=a.find(".info-message");var d=a.find("#subs-email-text").text()||a.find("#subs-email-input").val();if(!b.test(d)){f.text("Неправильный формат e-mail").addClass("error");return false}$.ajax({url:$(this).attr("action")+"&period="+e+"&email="+d,type:"GET",data:{},error:function(){f.text("Не удалось добавить подписку. Перезагрузите страницу или попробуйте позже.").addClass("error")},success:function(g){switch(jQuery.trim(g)){case"error":f.text("Не удалось добавить подписку. Перезагрузите страницу или попробуйте позже.").addClass("error");break;case"already":f.text("На данный e-mail уже приходят подписки по этому запросу.").addClass("error");break;default:if(a.find("#subs-email-input").length){a.find(".b-popup-body").html("<p class='info-message'>На указанный вами адрес электронной почты <b>"+d+"</b> отправлено письмо, необходимое для подтверждения подписки.</p>")}else{a.bem("b-popupa").toggle();c.removeClass("sub").addClass("unsub")}$(".subscribe-few").parent().html("— Вы успешно подписались на запрос");break}}});return false});$(".menu-link .unsubscribe").live("click",function(){var c=$(".menu-link .unsubscribe").parent();if(confirm("Вы уверены?")){$.ajax({url:$(this).attr("href"),type:"GET",data:{},beforeSend:vertis.utils.loading,error:vertis.utils.errorMsg,success:function(e){var d=jQuery.trim(e);if(d=="error"){vertis.utils.errorMsg()}else{c.removeClass("unsub").addClass("sub")}},complete:vertis.utils.loading});return false}else{return false}});$("#merge-email").submit(function(){$("#merge-results").remove();$("#merge-email").append("<p id='merge-results'></p>");var d=$("#merge-results");var c=$("#merge-email-input").val();if(!b.test(c)){d.html("Неправильный формат e-mail.").addClass("error");return false}else{$.ajax({url:"/gate/merge-subscriptions.xml?email="+c,type:"GET",data:{},beforeSend:vertis.utils.loading,error:function(){d.html("Произошла ошибка. Перезагрузите страницу или попробуйте позже.")},success:function(e){switch(jQuery.trim(e)){case"error":d.html("Произошла ошибка. Перезагрузите страницу или попробуйте позже.").addClass("error");break;case"nothing-to-merge":d.html("На данный e-mail ранее не было зарегистрировано подписок.");break;default:d.html("На указанный e-mail отправлено письмо с подтверждением.");break}},complete:vertis.utils.loading})}return false});$("#change-current-email").click(function(){$("#emails").toggle()});$("#emails a span").click(function(){var c=$(this).text();if(confirm("Получать подписки на адрес "+c+"?")){$.ajax({url:"/gate/change-email.xml?email="+c,type:"GET",data:{},beforeSend:vertis.utils.loading,error:vertis.utils.errorMsg,success:function(d){txtrim=jQuery.trim(d);if(txtrim=="error"){vertis.utils.errorMsg()}else{$("#current-email").text(c).append("<strong>e-mail успешно изменен</strong>");$("#emails").toggle()}},complete:vertis.utils.loading})}else{return false}})});$(document).ready(function(){$(".btn-cont.cur input").live("click",function(){$("#cur-cur").html($(this).parent().text())});$(".btn-cont.page-size input").live("click",function(){$("#page-size-cur").html($(this).parent().text())})});$(document).ready(function(){$("body").bind("click",function(){$("#geo-list").removeClass("show")});$("#geo-list li").live("click",function(){var a=$(this).attr("id").substring(4);vertis.geo.setCity($(this),a)});$("#geo-list li").live("mouseover mouseout",function(){$("#geo-list li").removeClass("focus");$(this).toggleClass("focus")});$("#selected-regions li img").live("click",function(){var a=$(this).parent().attr("id").substring(4);vertis.geo.deleteSelected($(this),a)});$("#geo-input,#geo-list li").bind("keydown mousedown",function(a){vertis.geo.keydownHandler(a)});vertis.geo.sKey=$("#geoselector input[name='sk']").val()});var vertis=vertis||{};vertis.geo={active:-1,callTimeout:0,lastKeyPressCode:1,sKey:"",setSuggest:function(){var a=$("#geo-input").val();$.ajax({url:"/gate/region-prompt.xml",type:"POST",data:"letters="+a+"&rids="+vertis.geo.makeRids(),beforeSend:vertis.geo.beforeSend,error:vertis.geo.showError,success:function(c){var b=jQuery.trim(c);if(!b.length){$("#geo-list").html("<span>нет результатов</span>")}else{if(b=="error"){vertis.geo.showError()}else{vertis.geo.makeSuggest($(c))}}},complete:vertis.geo.afterSend})},makeRids:function(a){var b=[];$("#selected-regions li").each(function(c){var d=$(this).attr("id").substring(4);if(d!=a){b.push(d)}});return b.join()},makeSuggest:function(a){var c=a.children("li");for(var b=0;b<c.length;b++){($(c[b]).find("span").text()===$("#geo-input").val())&&$(c[b]).addClass("focus")}$("#geo-list").html(c).addClass("show")},makeSelected:function(a){var b=a.children("li");$("#selected-regions").html(b)},setCity:function(b,a){$.ajax({url:"/gate/set-cities.xml",type:"POST",data:"cities="+vertis.geo.makeRids()+","+a+"&sk="+vertis.geo.sKey,beforeSend:vertis.geo.beforeSend,error:vertis.geo.showError,success:function(d){var c=jQuery.trim(d);if(c=="error"){vertis.geo.showError}else{vertis.geo.makeSelected($(d));vertis.geo.active=-1;$("#geoselector").removeClass("all-regions");$("#geo-list").removeClass("show").html("");$("#geo-input").val("")}},complete:vertis.geo.afterSend})},deleteSelected:function(c,b){var a=vertis.geo.makeRids(b);if(a.length){$.ajax({url:"/gate/set-cities.xml",type:"POST",data:"cities="+a+"&sk="+vertis.geo.sKey,beforeSend:vertis.geo.beforeSend,error:vertis.geo.showError,success:function(d){vertis.geo.makeSelected($(d))},complete:vertis.geo.afterSend})}else{vertis.geo.setAllRegions()}},keydownHandler:function(a){vertis.geo.lastKeyPressCode=a.keyCode;switch(a.keyCode){case 27:$("#geo-list").removeClass("show");break;case 37:break;case 38:vertis.geo.moveSelection(-1);break;case 39:break;case 40:vertis.geo.moveSelection(1);break;case 13:($("#geo-list li.focus"))&&vertis.geo.selectCurrent();break;default:vertis.geo.active=-1;clearTimeout(vertis.geo.callTimeout);vertis.geo.callTimeout=setTimeout(function(){vertis.geo.setSuggest()},100);break}},moveSelection:function(c){var b=-1;var a=$("#geo-list li");if(a.length){a.each(function(d){if($(this).hasClass("focus")){b=d}});vertis.geo.active+=c;if(vertis.geo.active<0){vertis.geo.active=0}else{if(b==0){vertis.geo.active=1}else{if(vertis.geo.active>=a.size()-1){vertis.geo.active=a.size()-1}}}a.removeClass("focus");$(a[vertis.geo.active]).addClass("focus")}},selectCurrent:function(){var a=$("li.focus")[0];var b=$(a).attr("id").substring(4);if(a){vertis.geo.setCity(a,b)}},setAllRegions:function(){$.ajax({url:"/gate/set-cities.xml",type:"POST",data:"cities=10000&sk="+vertis.geo.sKey,beforeSend:vertis.geo.beforeSend,error:vertis.geo.showError,success:function(a){vertis.geo.active=-1;$("#geoselector").addClass("all-regions");$("#geo-list").removeClass("show");$("#selected-regions li").remove()},complete:vertis.geo.afterSend})},showError:function(){$("#geo-status").addClass("show")},beforeSend:function(){$("#geoselector").addClass("loading")},afterSend:function(){$("#geoselector").removeClass("loading")}};$(document).ready(function(){$(".graphic-code .g-line a").click(function(){$(this).parent().parent().toggleClass("no-code");$(this).parent().parent().toggleClass("show-code")});$("#diap-switch").click(function(){$(this).parent().parent().parent().toggleClass("wod");$(this).parent().parent().parent().toggleClass("wd")});$("#avg-price-form").submit(function(){if($("#model").val()==""){alert("Необходимо указать марку и модель");return false}else{$('.filter-object select[id != "mark"][id != "model"]').removeAttr("disabled")}}).delegate("select","change",vertis.avgPrice.getFilter);$(".filter-object #mark option.def").attr("selected","selected");$(".filter-object #model option.def").attr("selected","selected");$("#diap-switch").removeAttr("checked")});var vertis=vertis||{};vertis.avgPrice={getFilter:function(){var a=this,c=$("#avg-price-form"),e=$('input[name = "rid"]',c).val(),g=$("#mark",c).val(),d=$("#model",c).val();if($("body.index").length&&a.id=="year"){return}if(a.id=="mark"&&g===""){$('select[id != "mark"]',c).attr("disabled","disabled");$("#model").val("");return}if(a.id=="model"&&d===""){$('select[id != "mark"][id != "model"]',c).attr("disabled","disabled");return}$.ajax({url:f(),type:"get",beforeSend:vertis.utils.loading,error:vertis.utils.errorMsg,success:b,complete:vertis.utils.loading});function f(){var i="/gate/avg-price-filter.xml?",h=i+"rid="+e;if(a.id=="mark"){h+="&mark="+g}else{if(a.id=="model"){h+="&mark="+g+"&model="+d}else{h=i+c.serialize()}}return h}function b(i){var h=$(i);if(a.id=="mark"){$("#model",c).replaceWith($("#model-cont",h).html());$('select[id != "mark"][id != "model"]',c).attr("disabled","disabled");return}$("select",c).each(function(){var k=this.id+"-cont",j=$("#"+k,h);if(j.length){$("#"+this.id).replaceWith(j.html())}})}}};var vertis=vertis||{};$(document).ready(function(){vertis.reviews.initRates();vertis.reviews.initForm()});vertis.reviews={initForm:function(){this.$form=$("form[name='review-form']");this.generations=vertis.__reviewGenerations;delete vertis.__reviewGenerations;this.staticBodyTypes=vertis.__staticBodyTypes;delete vertis.__staticBodyTypes;this.$form.find("select[name='prodyear']").change(function(){vertis.reviews.checkYear()});if($("body").hasClass("review-edit")){this.checkYear(vertis.__editBodyId,vertis.__editConfId)}this.$form.submit(function(){return vertis.reviews.checkForm()})},checkYear:function(e,f){var h=this.$form,g=parseInt(h.find("input[name='min-catalog-year']").val(),10),c=parseInt(h.find("select[name='prodyear']").val(),10),b=$(vertis.entities.selectors.complectation);vertis.entities.disableFollowing([vertis.entities.selectors.bodyType,vertis.entities.selectors.complectation]);if(!c){return}if(c>=g){b.show().prev().show();for(var a=0;a<this.generations.length;a++){var d=this.generations[a];if(c>=d.yearFrom&&c<=d.yearTo){this.makeBodyTypes(d.bodyTypes,e,f);break}}}else{b.hide().prev().hide();b.find("option[value != ''],optgroup").remove();this.makeBodyTypes(this.staticBodyTypes,e)}},makeBodyTypes:function(d,c,e){var b=$(vertis.entities.selectors.bodyType),f="<option value=''>выберите тип кузова</option>";b.find("option").remove();for(var a=0;a<d.length;a++){f+=vertis.entities.createOption(d[a],c);if(d[a].id===c){vertis.entities.checkSelection(d[a].id,vertis.entities.selectors.complectation,"configuration_ids="+d[a].id+"&no_price=true",[],e)}}b.append(f).removeAttr("disabled")},checkSummary:function(c){var b=$.trim($("input[name='summary']").val()),d=$("#rating-label_0"+c+"").text(),a;$(".b-rollover-tip .actual").each(function(){if($(this).text()===b||!b){a=true;return false}});if(a===true){$("input[name='summary'], .summary em").remove();$(".summary").append("<input type='text' class='longlong required' name='summary' maxlength='80' value='"+d+"'/>");a=false}},checkForm:function(){var i=true,b=false;$(".review-add em").remove();$(".required").each(function(){if(!$.trim($(this).val())){i=false;$(this).parent().append("<em>Обязательное поле</em>");if(!b){$.scrollTo($(this).parent(),800,{queue:true});b=true}}});if(i){var a=$(vertis.entities.selectors.bodyType),g=a.val(),c=g?$.trim(a.find("option:selected").text()):undefined,d=$(vertis.entities.selectors.complectation),e=d.val(),f=e?$.trim(d.find("option:selected").text()):undefined;this.$form.find("input[name = 'body_type_name'], input[name = 'conf_name']").remove();if(c){this.$form.append("<input type='hidden' name='body_type_name' value='"+c+"'/>")}if(f){var h=$.trim(d.find("option:selected").parent().attr("label"))||"";this.$form.append("<input type='hidden' name='conf_name' value='"+(h?h+" ":"")+f+"'/>")}}return i},initRates:function(){$('*[id ^= "rating-select_"]').each(function(){var d=$(this),f=d.attr("id").split("rating-select_")[1],g=$("#rating-stars_"+f+""),e=$("#rating-stars_"+f+" .b-rating__star").css("cursor","pointer");d.css("display","none");g.css("display","block");e.click(function(){var h=e.index(this)+1;d.find("option").removeAttr("selected");d.find("option[value = "+h+"]").attr("selected","selected");$(this).prevAll().andSelf().addClass("b-rating__star-my");$(this).nextAll().removeClass("b-rating__star-my");vertis.reviews.checkSummary(h);return false});e.hover(function(){$(this).prevAll().andSelf().addClass("b-rating__star-my-hover");$(this).nextAll().addClass("b-rating__star-hover")},function(){e.removeClass("b-rating__star-hover b-rating__star-my-hover")})});var b=$("#rating-stars_0 .b-rating__star"),c=$('span[id ^= "rating-label_0"]'),a=b.index(this)+1;b.click(function(){c.removeClass("visible");$("#rating-label_0"+a+"").addClass("visible");return false});b.hover(function(){c.addClass("hover-hidden");$("#rating-label_0"+a+"").removeClass("hover-hidden");$("#rating-label_0"+a+"").addClass("hover-visible")},function(){$('span[id ^= "rating-label_0"]').removeClass("hover-hidden hover-visible")})}};$(document).ready(function(){$(".grade-opinion-actions .grade-vote-pro").addClass("b-pseudo-link").click(function(){return vertis.voteGrade.postGradeVote($(this),"good",1)});$(".grade-opinion-actions .grade-vote-contra").addClass("b-pseudo-link").click(function(){return vertis.voteGrade.postGradeVote($(this),"bad",1)})});var vertis=vertis||{};vertis.voteGrade={voteGradeMsg:"Отзыв полезен?",votedGradeMsg:"Да",contraVotedGradeMsg:"Нет",postGradeVote:function(c,e,f){var a=c.parent();var g=a.attr("id").substring(6);var b=a.attr("rel");var d=c.parent();$.ajax({type:"post",url:"/gate/vote-grade.xml",data:"object_id="+g+"&vote="+e+"&sk="+b,dataType:"json",timeout:"3000",beforeSend:function(){d.addClass("grade-vote-process")},success:function(k){var i=k.good;var h=k.bad;var j=k.vote;if(j=="good"){d.html(vertis.voteGrade.voteGradeMsg+' <span class="grade-vote-current">'+vertis.voteGrade.votedGradeMsg+"</span> "+i+" / "+vertis.voteGrade.contraVotedGradeMsg+" "+h)}else{if(j=="bad"){d.html(vertis.voteGrade.voteGradeMsg+" "+vertis.voteGrade.votedGradeMsg+" "+i+' / <span class="grade-vote-current">'+vertis.voteGrade.contraVotedGradeMsg+"</span> "+h)}else{alert("Извините, произошла ошибка, попробуйте позже")}}},error:function(){if(f<=2){return vertis.voteGrade.postGradeVote(c,e,f+1)}else{alert("Извините, произошла ошибка, попробуйте позже")}},complete:function(){d.removeClass("grade-vote-process")}});return false}};(function(c){var a=c.scrollTo=function(d,f,g){c(window).scrollTo(d,f,g)};a.defaults={axis:"xy",duration:parseFloat(c.fn.jquery)>=1.3?0:1};a.window=function(d){return c(window)._scrollable()};c.fn._scrollable=function(){return this.map(function(){var d=this,f=!d.nodeName||c.inArray(d.nodeName.toLowerCase(),["iframe","#document","html","body"])!=-1;if(!f){return d}var g=(d.contentWindow||d).document||d.ownerDocument||d;return c.browser.safari||g.compatMode=="BackCompat"?g.body:g.documentElement})};c.fn.scrollTo=function(f,e,d){if(typeof e=="object"){d=e;e=0}if(typeof d=="function"){d={onAfter:d}}if(f=="max"){f=9000000000}d=c.extend({},a.defaults,d);e=e||d.speed||d.duration;d.queue=d.queue&&d.axis.length>1;if(d.queue){e/=2}d.offset=b(d.offset);d.over=b(d.over);return this._scrollable().each(function(){var n=this,l=c(n),m=f,j,k={},h=l.is("html,body");switch(typeof m){case"number":case"string":if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(m)){m=b(m);break}m=c(m,this);case"object":if(m.is||m.style){j=(m=c(m)).offset()}}c.each(d.axis.split(""),function(q,r){var t=r=="x"?"Left":"Top",s=t.toLowerCase(),v="scroll"+t,p=n[v],g=a.max(n,r);if(j){k[v]=j[s]+(h?0:p-l.offset()[s]);if(d.margin){k[v]-=parseInt(m.css("margin"+t))||0;k[v]-=parseInt(m.css("border"+t+"Width"))||0}k[v]+=d.offset[s]||0;if(d.over[s]){k[v]+=m[r=="x"?"width":"height"]()*d.over[s]}}else{var u=m[s];k[v]=u.slice&&u.slice(-1)=="%"?parseFloat(u)/100*g:u}if(/^\d+$/.test(k[v])){k[v]=k[v]<=0?0:Math.min(k[v],g)}if(!q&&d.queue){if(p!=k[v]){i(d.onAfterFirst)}delete k[v]}});i(d.onAfter);function i(g){l.animate(k,e,d.easing,g&&function(){g.call(this,f,d)})}}).end()};a.max=function(g,j){var n=j=="x"?"Width":"Height",k="scroll"+n;if(!c(g).is("html,body")){return g[k]-c(g)[n.toLowerCase()]()}var o="client"+n,f=g.ownerDocument.documentElement,d=g.ownerDocument.body;return Math.max(f[k],d[k])-Math.min(f[o],d[o])};function b(d){return typeof d=="object"?d:{top:d,left:d}}})(jQuery);window.yaSimpleBox=(function(){var n="a.thumb",h="td.thumbs div",g="<div class='thumbs-columns-wrapper' />",i="<div class='thumbs-columns-spreader' />",a="<div class='thumbs-column' />",b="div.thumbs-column",l="<div id='yauto-load' />",d="/i/loading.gif",f=["exterior","interior"],e="yasimplebox-js-init",p="cur",m="eof",r=false,o=4,k=2;var c=false;var q=".zoom";var j=function(){};j.prototype={init:function(u,t,s){if(!u||!t){return false}s=s||{};this.itemsContainer=u;this.bPopup=t;this.itemSelector=s.itemSelector||n;this.itemsLocalContainerSelector=s.itemsLocalContainerSelector||h;this.itemsColumnsContainer=s.itemsColumnsContainer||g;this.itemsColumnsSpreader=s.itemsColumnsSpreader||i;this.itemsColumnWrapper=s.itemsColumnWrapper||a;this.itemsColumnSelector=s.itemsColumnSelector||b;this.loaderLayout=s.loaderLayout||l;this.loaderUrl=s.loaderUrl||d;this.imageTypes=s.imageTypes||f;this.jsInitClass=s.jsInitClass||e;this.activeThumbClass=s.activeThumbClass||p;this.lastFullImageClass=s.lastFullImageClass||m;this.closeOnEscape=s.closeOnEscape||r;this.maxPerContainer=s.maxPerContainer||o;this.minContainers=s.minContainers||k;this.resizeControl=s.resizeControl;this.collectItems();this.regroupItems();this.organizeData();this.listen();this.afterInit();this.initResizeControl();this.createPopupContent();return this},afterInit:function(){this.itemsContainer.addClass(this.jsInitClass)},collectItems:function(){this.items=$(this.itemSelector,this.itemsContainer);this.itemsGroup=(function(s,u){var v={total:0,map:{}};for(var t=0;t<u.length;t++){v.map[u[t]]=[];s.filter("."+u[t]).each(function(){v.map[u[t]].push(this);v.total++})}return v})(this.items,this.imageTypes)},regroupItems:function(){var z=$(this.itemsLocalContainerSelector,this.itemsContainer),t=$(this.itemsColumnsContainer).insertBefore(z),s=0,y=this.createLayoutToRegroup(),x=this.itemsGroup.total,w=2;while(x){for(var v in this.itemsGroup.map){for(var u=0;u<w;u++){if(this.itemsGroup.map[v].length){y.wrapper.append(this.itemsGroup.map[v].shift());--x;++s}if(x==0){t.append(y.localContainer)}else{if(s==this.maxPerContainer){t.append(y.localContainer);y=this.createLayoutToRegroup();s=0}}}}}z.remove();this.itemsColumnsContainer=t},createLayoutToRegroup:function(){var t=$(this.itemsColumnWrapper),s=t;return{localContainer:t,wrapper:s}},organizeData:function(){var s={list:[],map:{}};this.items=$(this.itemSelector,this.itemsContainer);this.items.not(q).each(function(t){var u={index:t,url:this.href,providerName:$(this).data("provider-name"),providerUrl:$(this).data("provider-url")};s.list.push(u);s.map[this.href]=u});this.itemsData=s},createPopupContent:function(){var w=$("<div id='photo-zoom'/>");var v=$("<p class='g-line'><span id='prev-photo' class='prev'>← Ctrl <a href='#' class='prev'>предыдущая</a> </span><span id='next-photo' class='next'> <a href='#' class='next'>следующая</a> Ctrl → </span></p>");var u=$("<div />");if(this.items.length>2){v.appendTo(w);$("<div class='clear' />").appendTo(w);u.appendTo(w);$("<div class='clear' />").appendTo(w)}var t=$("<img class='TB_Image' />").appendTo(w);var s=$("<p class='TB_imageInfo'/>").appendTo(w);this.items.not(q).each(function(){var y=$(this).clone(true);var x=y.find("img")[0];y.addClass("thickbox");x.src=x.src.replace(/&?size=\d+/,"")+"&size=1";u.append(y)});this.popup={content:w,thumbs:u.find(this.itemSelector),full:t,infoProvider:s,controls:{next:{wrapper:v.find("span.next"),button:v.find("a.next")},prev:{wrapper:v.find("span.prev"),button:v.find("a.prev")}}};this.listenPopup();return this.popup},listen:function(){var s={context:this};this.items.bind("click",s,this.onItemClick);$(document).bind("keydown",$.proxy(this.keydownHandler,this));$(document).bind("keypress",$.proxy(this.keypressHandler,this));this.bPopup.on("hide",$.proxy(this.onHide,this))},listenPopup:function(){var s={context:this};this.popup.thumbs.unbind("click").bind("click",s,this.onItemClick);this.popup.full.unbind("click").bind("click",$.proxy(this.moveNext,this));this.popup.controls.prev.button.unbind("click").bind("click",$.proxy(this.movePrev,this));this.popup.controls.next.button.unbind("click").bind("click",$.proxy(this.moveNext,this))},keydownHandler:function(s){if(!this.isOpen){return}if(s.ctrlKey&&s.keyCode==37){this.movePrev()}if(s.ctrlKey&&s.keyCode==39){this.moveNext()}if(this.closeOnEscape&&s.keyCode==27){this.hide()}},keypressHandler:function(s){if(this.isOpen&&s.ctrlKey&&(s.keyCode==37||s.keyCode==39)){return false}},onItemClick:function(u){var v=u.data.context;var t=this.href;var s=v.itemsData.map[t].index;v.open(s);return false},open:function(s){if(s===this.currentIndex){return}if(c&&c!=this){c.hide()}this.changeImage(s)},hide:function(){this.bPopup.hide();this.onHide()},onHide:function(){this.isOpen=c=this.currentIndex=null},show:function(){this.bPopup.setContent(this.popup.content);this.bPopup.show();this.listenPopup();this.isOpen=c=this},changeImage:function(u){var v=this,t=new Image(),s;t.onload=function(){s.remove();v.afterChange(u)};t.onerror=function(){s.remove()};s=$(this.loaderLayout).append($("<img/>").attr("src",this.loaderUrl)).appendTo($("body"));t.src=this.itemsData.list[u].url},movePrev:function(){this.open((this.itemsData.list.length+this.currentIndex-1)%this.itemsData.list.length);return false},moveNext:function(s){this.open((this.itemsData.list.length+this.currentIndex+1)%this.itemsData.list.length);return false},afterChange:function(t){this.currentIndex=t;this.popup.full.attr("src",this.itemsData.list[t].url);var s="";if(this.itemsData.list[t].providerUrl&&this.itemsData.list[t].providerName){var s="Фото: <a target='_blank' href='"+this.itemsData.list[t].providerUrl+"'>"+this.itemsData.list[t].providerName+"</a>"}this.popup.infoProvider.html(s);this.popup.thumbs.removeClass(this.activeThumbClass);this.popup.thumbs.eq(this.currentIndex).addClass(this.activeThumbClass);this.popup.content[this.currentIndex==this.itemsData.list.length-1?"addClass":"removeClass"](this.lastFullImageClass);this.show()},initResizeControl:function(){if(!this.itemsGroup.total||!this.resizeControl){return}this.addResizeControlContainer();this.collectItemsColumns();this.decorateItemsColumns();this.listenResize();this.setViewByWidth()},addResizeControlContainer:function(){this.resizeControlContainer=$("<tr><td colspan='2'></td><td class='more-photos'><a class='b-pseudo-link'><span>ещё <span class='more'></span> фото</span></a></td></tr>").appendTo(this.itemsContainer);this.invisibleItemsDBoard=$("span.more",this.narrowViewControlContainer)},collectItemsColumns:function(){var s={list:[],$:$(".thumbs-column",this.itemsContainer)};s.$.each(function(){s.list.push(this.offsetWidth)});this.itemsColumns=s},decorateItemsColumns:function(){this._decorateItemsColumns();this._waitItemsImagesLoading($.proxy(this._decorateItemsColumns,this))},_decorateItemsColumns:function(){var s=this.itemsColumns.$.slice(0,this.minContainers);this.itemsColumnsContainer.css({height:Math.max.apply(null,s.map(function(){return this.offsetHeight}).get())});$(this.itemsColumnsSpreader).css({width:(function(w){var v=0;for(var u=0,t=w.length;u<t;u++){v+=w[u].offsetWidth}return v})(s.get())}).insertBefore(this.itemsColumnsContainer)},_waitItemsImagesLoading:function(t){var s=this.itemsColumnsContainer.find("img");(function(){s=s.filter(function(){return !this.complete});if(!s.length){t()}else{setTimeout(arguments.callee,100)}})()},listenResize:function(){$(window).bind("resize",$.proxy(this.setViewByWidth,this));this.resizeControlContainer.find("a.b-pseudo-link").bind("click",$.proxy(this.openFromResizeControl,this))},setViewByWidth:function(){var u=this.itemsColumnsContainer.width();for(var t=0,s=this.itemsColumns.list.length;t<=s&&u>=0;t++){u-=this.itemsColumns.list[t]}this.itemsAreVisible=Math.min(this.itemsGroup.total,this.maxPerContainer*(t-1));this.itemsAreInvisible=this.itemsGroup.total-this.itemsAreVisible;this.resizeControlContainer[this.itemsAreInvisible>0?"show":"hide"]();this.invisibleItemsDBoard.html(this.itemsAreInvisible)},openFromResizeControl:function(){this.open(this.itemsAreVisible+1);return false}};return j})();$(function(){var a=$(".photos").eq(0);var b=$(".b-popupa_direction_fixed_top");if(!a.length||!b.length){return}window.ysb=new yaSimpleBox().init(a,b.bem("b-popupa").setMod("direction","fixed_top"),{resizeControl:true,closeOnEscape:true})});if(!("tb_remove" in window)){window.tb_remove=function(){};
/*! SWFObject v2.2 <http://code.google.com/p/swfobject/>
is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/
}var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y<X;Y++){U[Y]()}}function K(X){if(J){X()}else{U[U.length]=X}}function s(Y){if(typeof O.addEventListener!=D){O.addEventListener("load",Y,false)}else{if(typeof j.addEventListener!=D){j.addEventListener("load",Y,false)}else{if(typeof O.attachEvent!=D){i(O,"onload",Y)}else{if(typeof O.onload=="function"){var X=O.onload;O.onload=function(){X();Y()}}else{O.onload=Y}}}}}function h(){if(T){V()}else{H()}}function V(){var X=j.getElementsByTagName("body")[0];var aa=C(r);aa.setAttribute("type",q);var Z=X.appendChild(aa);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable("$version");if(ab){ab=ab.split(" ")[1].split(",");M.pv=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.removeChild(aa);Z=null;H()})()}else{H()}}function H(){var ag=o.length;if(ag>0){for(var af=0;af<ag;af++){var Y=o[af].id;var ab=o[af].callbackFn;var aa={success:false,id:Y};if(M.pv[0]>0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad<ac;ad++){if(X[ad].getAttribute("name").toLowerCase()!="movie"){ah[X[ad].getAttribute("name")]=X[ad].getAttribute("value")}}P(ai,ah,Y,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var Z=z(Y);if(Z&&typeof Z.SetVariable!=D){aa.success=true;aa.ref=Z}ab(aa)}}}}}function z(aa){var X=null;var Y=c(aa);if(Y&&Y.nodeName=="OBJECT"){if(typeof Y.SetVariable!=D){X=Y}else{var Z=Y.getElementsByTagName(r)[0];if(Z){X=Z}}}return X}function A(){return !a&&F("6.0.65")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)}function P(aa,ab,X,Z){a=true;E=Z||null;B={success:false,id:X};var ae=c(X);if(ae){if(ae.nodeName=="OBJECT"){l=g(ae);Q=null}else{l=ae;Q=X}aa.id=R;if(typeof aa.width==D||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.width="310"}if(typeof aa.height==D||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa.height="137"}j.title=j.title.slice(0,47)+" - Flash Player Installation";var ad=M.ie&&M.win?"ActiveX":"PlugIn",ac="MMredirectURL="+O.location.toString().replace(/&/g,"%26")+"&MMplayerType="+ad+"&MMdoctitle="+j.title;if(typeof ab.flashvars!=D){ab.flashvars+="&"+ac}else{ab.flashvars=ac}if(M.ie&&M.win&&ae.readyState!=4){var Y=C("div");X+="SWFObjectNew";Y.setAttribute("id",X);ae.parentNode.insertBefore(Y,ae);ae.style.display="none";(function(){if(ae.readyState==4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=4){var X=C("div");Y.parentNode.insertBefore(X,Y);X.parentNode.replaceChild(g(Y),X);Y.style.display="none";(function(){if(Y.readyState==4){Y.parentNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.parentNode.replaceChild(g(Y),Y)}}function g(ab){var aa=C("div");if(M.win&&M.ie){aa.innerHTML=ab.innerHTML}else{var Y=ab.getElementsByTagName(r)[0];if(Y){var ad=Y.childNodes;if(ad){var X=ad.length;for(var Z=0;Z<X;Z++){if(!(ad[Z].nodeType==1&&ad[Z].nodeName=="PARAM")&&!(ad[Z].nodeType==8)){aa.appendChild(ad[Z].cloneNode(true))}}}}}return aa}function u(ai,ag,Y){var X,aa=c(Y);if(M.wk&&M.wk<312){return X}if(aa){if(typeof ai.id==D){ai.id=Y}if(M.ie&&M.win){var ah="";for(var ae in ai){if(ai[ae]!=Object.prototype[ae]){if(ae.toLowerCase()=="data"){ag.movie=ai[ae]}else{if(ae.toLowerCase()=="styleclass"){ah+=' class="'+ai[ae]+'"'}else{if(ae.toLowerCase()!="classid"){ah+=" "+ae+'="'+ai[ae]+'"'}}}}}var af="";for(var ad in ag){if(ag[ad]!=Object.prototype[ad]){af+='<param name="'+ad+'" value="'+ag[ad]+'" />'}}aa.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</object>";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var Z=N.length;for(var aa=0;aa<Z;aa++){y(N[aa])}for(var Y in M){M[Y]=null}M=null;for(var X in swfobject){swfobject[X]=null}swfobject=null})}}();return{registerObject:function(ab,X,aa,Z){if(M.w3&&ab&&X){var Y={};Y.id=ab;Y.swfVersion=X;Y.expressInstall=aa;Y.callbackFn=Z;o[o.length]=Y;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObjectById:function(X){if(M.w3){return z(X)}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var X={success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){w(ah,false);K(function(){ae+="";ag+="";var aj={};if(af&&typeof af===r){for(var al in af){aj[al]=af[al]}}aj.data=ab;aj.width=ae;aj.height=ag;var am={};if(ad&&typeof ad===r){for(var ak in ad){am[ak]=ad[ak]}}if(Z&&typeof Z===r){for(var ai in Z){if(typeof am.flashvars!=D){am.flashvars+="&"+ai+"="+Z[ai]}else{am.flashvars=ai+"="+Z[ai]}}}if(F(Y)){var an=u(aj,am,ah);if(aj.id==ah){w(ah,true)}X.success=true;X.ref=an}else{if(aa&&A()){aj.data=aa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=false},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.pv[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){if(M.w3){return u(Z,Y,X)}else{return undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){if(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue:function(aa){var Z=j.location.search||j.location.hash;if(Z){if(/\?/.test(Z)){Z=Z.split("?")[1]}if(aa==null){return L(Z)}var Y=Z.split("&");for(var X=0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf("="))==aa){return L(Y[X].substring((Y[X].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(a){var X=c(R);if(X&&l){X.parentNode.replaceChild(l,X);if(Q){w(Q,true);if(M.ie&&M.win){l.style.display="block"}}if(E){E(B)}}a=false}}}}();$(document).ready(function(){$("#feedback-return").click(function(){history.back();return false});$("#feedback-form").submit(function(){if(vertis.runCheckForm(this.id)){$("#feedback-form").submit()}return false})});var vertis=vertis||{};vertis.makeCheckForm=function(a){this.oForm=document.getElementById(a);this.oElement=null;this.sErrMsg=null;this.bSubmit=true};vertis.makeCheckForm.prototype={run:function(){for(var a=0;a<this.oForm.elements.length;a++){this.oElement=this.oForm.elements[a];this.checkLength();if(this.matchRequired()){this.checkRequired()}if(this.matchEmail()){this.checkEmail()}}return this.bSubmit},checkRequired:function(){if(/^\s*$/.test(this.oElement.value)){this.sErrMsg=this.matchRequired();this.handleError()}},checkEmail:function(){var a=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;if(!a.test(this.oElement.value)){this.sErrMsg=this.matchEmail();this.handleError()}},checkLength:function(){var a=false;var b=0;switch(this.oElement.name){case"message":b=2000;break;case"check_url":b=250;break;case"name":b=100;break;case"email":b=100;break}if((this.oElement.value.length>b)&&b){a=true}if(a){a=false;this.sErrMsg="Длина превышает допустимое количество символов — "+b;this.handleError()}},handleError:function(){var a="msg_"+this.oElement.id;var b=document.getElementById(a);if(!(/^.* errorField$/.test(this.oElement.className))){this.oElement.className+=" errorField"}b.innerHTML=this.sErrMsg;this.sErrMsg=null;b.style.display="block";if(this.bSubmit){this.oElement.focus()}this.bSubmit=false},matchRequired:function(){return this.oElement.getAttribute("title")},matchEmail:function(){if(this.oElement.name==="email"){return this.oElement.getAttribute("title")}else{return false}}};vertis.runCheckForm=function(a){var b=new vertis.makeCheckForm(a);return b.run()};(function(a){a.fn.slider=function(b){return this.each(function(g,h){var k=a(h),l=a(".slider__left",k),f=a(".slider__right",k),i=a(".slider__content",k),o=a(".slider__content table",k),d=a(".slider__frame",k),e=0,c=parseInt(i.css("left")),m;var n={isAnimate:!(a.browser.msie&&a.browser.version<"7"),isRebuild:true};n.countItems=a(".slider__item",k).length||10;n.widthItem=a(".slider__item:eq(0)",k).outerWidth(true)||100;b=a.extend(n,b);a(l).add(f).add(d).height(o.height()+10);a(l).add(f).click(function(){if(this===l[0]){--e}else{++e}var p=(c-e*b.widthItem)+"px";if(b.isAnimate){i.stop().animate({left:p},200)}else{i.css({left:p})}j()});m=Math.floor(d.width()/b.widthItem);if(b.isRebuild){a(window).resize(function(){m=Math.floor(d.width()/b.widthItem);j()})}j();function j(){if(e<=0){k.addClass("slider__left_state_disable")}else{k.removeClass("slider__left_state_disable")}if((e+m)>=b.countItems){k.addClass("slider__right_state_disable")}else{k.removeClass("slider__right_state_disable")}}})}})(jQuery);
</script>
<?php
function SetGroups($mas_groups, $set)
{
$mas_groups = to_array($mas_groups);
foreach ($mas_groups as $key=>$value)
{
foreach ($value as $key1=>$value1)
{
$set[] = $value1;
if ($value1 == $key)
{
$set[] = $key;
SetGroups($mas_groups, $set);
}
}
}
return $set;
}
$xsl_catalog = to_str($GLOBALS['LA']['xsl_catalog']);
$xsl_item = to_str($GLOBALS['LA']['xsl_item']);
$current_shop_id = to_int($GLOBALS['LA']['shop_id']);
$param = array();
$my_index_param=0;
$shop = & singleton('shop');
if ($GLOBALS['shop_item_path'] != false)
{
$external_propertys = array();
if (class_exists("SiteUsers"))
{
/* Получаем id текущего пользователя сайта */
$SiteUsers = & singleton('SiteUsers');
$site_user_id = $SiteUsers->GetCurrentSiteUser();
$param['user_id'] = $site_user_id;
$external_propertys['user_id'] = $SiteUsers->GetCurrentSiteUser();
}
else
{
$site_user_id = 0;
$external_propertys['user_id'] = 0;
}
// Если добавление комментария
if (isset($_POST['submit_comment']) && !empty($GLOBALS['shop_item_path']['item']))
{
/* Проверяем CAPCHA*/
$Captcha = new Captcha();
$xmlData = '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
$xmlData .= '<document>' . "\n";
if ($site_user_id > 0
|| $Captcha->ValidCaptcha(to_str($_POST['captcha_key']), to_str($_POST['captcha_keystring'])))
{
$param['shop_items_catalog_item_id'] = $GLOBALS['shop_item_path']['item'];
$param['shop_comment_user_name'] = to_str($_REQUEST['shop_comment_user_name']);
$param['shop_comment_user_email'] = to_str($_REQUEST['shop_comment_user_email']);
$param['shop_comment_subject'] = to_str($_REQUEST['shop_comment_subject']);
$param['shop_comment_text'] = to_str($_REQUEST['shop_comment_text']);
$param['shop_comment_grade'] = to_int($_REQUEST['shop_comment_grade']);
$param['shop_comment_date_time'] = date("Y-m-d H:i:s");
/* Активность/неактивность комментария */
$shop_row = $shop->GetShop($current_shop_id);
if ($shop_row)
{
$param['shop_comment_active'] = to_int($shop_row['shop_comment_active']);
}
else
{
$param['shop_comment_active'] = false;
}
$external_propertys['comment_is_active'] = $param['shop_comment_active'];
// Если есть модуль "Пользователи сайта", получим текущего пользователя
if (class_exists('SiteUsers'))
{
$SiteUsers = & singleton('SiteUsers');
$param['site_users_id'] = $SiteUsers->GetCurrentSiteUser();
}
else
{
$param['site_users_id'] = 0;
}
$shop_comment_id = $shop->InsertComment($param);
// Задан XSL для формирования письма администратору о добавлении комментария к товару
if (to_str($GLOBALS['LA']['xsl_add_comment_letter_to_admin']) != '')
{
// Формируем XML для комментария
$xmlData .= $shop->GenXml4Comment($shop_comment_id);
$xmlData .= '</document>' . "\n";
$xsl = new xsl();
// Формируем текст письма администратору
$message = $xsl->build($xmlData, $GLOBALS['LA']['xsl_add_comment_letter_to_admin']);
// Формат письма - текст
if (to_int($GLOBALS['LA']['comment_mail_type']) == 0)
{
$comment_mail_type = 'text/plain';
}
else
{
$comment_mail_type = 'text/html';
}
$subject = $GLOBALS['MSG_shops']['subject_report_for_comment'];
$kernel = & singleton('kernel');
// Получаем e-mail куратора магазина
$email_to = to_str($shop_row['shop_shops_admin_mail']);
if (!empty($email_to))
{
$kernel->SendMailWithFile($email_to, EMAIL_TO, $subject, $message, array(), $comment_mail_type);
}
}
}
else
{
/* Неправильно введен код изображенный на картинке */
$external_propertys['error'] = 1;
/* Запоминаем значения */
$external_propertys['shop_comment_user_name'] = strip_tags(to_str($_REQUEST['shop_comment_user_name']));
$external_propertys['shop_comment_user_email'] = strip_tags(to_str($_REQUEST['shop_comment_user_email']));
$external_propertys['shop_comment_subject'] = strip_tags(to_str($_REQUEST['shop_comment_subject']));
$external_propertys['shop_comment_text'] = strip_tags(to_str($_REQUEST['shop_comment_text']));
$external_propertys['shop_comment_grade'] = to_int($_REQUEST['shop_comment_grade']);
$external_propertys['shop_comment_date_time'] = date("Y-m-d H:i:s");
}
}
/* Вывод списка */
if (!$GLOBALS['shop_item_path']['item'])
{
$param['current_group_id'] = $GLOBALS['shop_item_path']['group']; // корневая группа
/* Определяем номер элемента, с которого начинается показ в текущей группе */
$page = end($GLOBALS['URL_ARRAY']);
$page = to_str($page);
$shop_row = $shop->GetShop($current_shop_id);
if ($shop_row)
{
$items_on_page = $shop_row['shop_items_on_page'];
}
else
{
$items_on_page = 10;
}
/*
Порядок сортировки ('Asc' - по возрастанию, 'Desc' - по убыванию, 'Rand' - произвольный порядок)
$param['items_order']='Asc';
Поле, по которому сортируем (наименование элемента)
$param['items_field_order']='shop_items_catalog_name';
*/
if (isset($_GET['all_group']))
{
// Выводим из всех групп
$param['current_group_id'] = false;
}
/* Ограничиваем по группе */
if (to_int($_GET['group_id']) > 0)
{
$element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
$element['name'] = 'shop_groups_id';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '='; // Условие
$element['value'] = to_int($_GET['group_id']);
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['group_id'] = to_int($_GET['group_id']);
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Ограничиваем по производителю */
if (to_int($_GET['producer_id']) > 0)
{
$element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
$element['name'] = 'shop_producers_list_id';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '='; // Условие
$element['value'] = to_int($_GET['producer_id']);
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['producer_id'] = to_int($_GET['producer_id']);
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Ограничиваем по продавцу */
if (to_int($_GET['saller_id']) > 0)
{
$element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
$element['name'] = 'shop_sallers_id';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '='; // Условие
$element['value'] = to_int($_GET['saller_id']);
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['saller_id'] = to_int($_GET['saller_id']);
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
$my_years_condition = 0;
$my_photo_condition = 0;
/* Ограничиваем по годам */
$external_propertys['year1'] = isset($_GET['year1']);
$external_propertys['year2'] = isset($_GET['year2']);
$external_propertys['year3'] = isset($_GET['year3']);
/* Ограничиваем по годам: до 3-х лет */
if (to_int($_GET['year1']) > 0)
{
$element['type'] = 1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = '269';
$element['prefix'] = 'AND '; // префикс
$element['if'] = '>'; // Условие
// определяем дату
$d = to_int(date('Y'))-3;
// получаем id элемента списка
$lists = singleton('lists');
$lists_id = '46';
$list_item_value = $d;
$row=$lists->GetListItemIfIssetValue($lists_id, $list_item_value);
$element['value'] = $row['lists_items_id'];
// print_r($row);
$element['sufix'] = '';
$param['select'][] = $element;
$my_years_condition = 1;
$my_index_param = $my_index_param + 1;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Ограничиваем по годам: от 3-х до 5-ти лет */
if (to_int($_GET['year2']) > 0)
{
$element['type'] = 1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = '269';
if ($my_index_param>0)
{
$element['prefix'] = 'OR ('; // префикс
}
else
{
$element['prefix'] = 'AND ('; // префикс
}
$element['if'] = '<'; // Условие
// определяем дату
$d = to_int(date('Y'))-2;
// получаем id элемента списка
$lists = singleton('lists');
$lists_id = '46';
$list_item_value = $d;
$row=$lists->GetListItemIfIssetValue($lists_id, $list_item_value);
$element['value'] = $row['lists_items_id'];
$element['sufix'] = '';
$param['select'][] = $element;
$my_years_condition = 1;
$my_index_param = $my_index_param + 1;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
if (to_int($_GET['year2']) > 0)
{
$element['type'] = 1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = '269';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '>'; // Условие
// определяем дату
$d = to_int(date('Y'))-6;
// получаем id элемента списка
$lists = singleton('lists');
$lists_id = '46';
$list_item_value = $d;
$row=$lists->GetListItemIfIssetValue($lists_id, $list_item_value);
$element['value'] = $row['lists_items_id'];
$element['sufix'] = ')';
$param['select'][] = $element;
$my_years_condition = 1;
$my_index_param = $my_index_param + 1;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Ограничиваем по годам: свыше 5-ти лет */
if (to_int($_GET['year3']) > 0)
{
$element['type'] = 1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = '269';
if ($my_index_param>0)
{
$element['prefix'] = 'OR'; // префикс
}
else
{
$element['prefix'] = 'AND'; // префикс
}
$element['if'] = '<'; // Условие
// определяем дату
$d = to_int(date('Y'))-5;
// получаем id элемента списка
$lists = singleton('lists');
$lists_id = '46';
$list_item_value = $d;
$row=$lists->GetListItemIfIssetValue($lists_id, $list_item_value);
$element['value'] = $row['lists_items_id'];
$element['sufix'] = '';
$param['select'][] = $element;
$my_years_condition = 1;
$my_index_param = $my_index_param + 1;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Ограничиваем по фото */
$external_propertys['is_photo'] = isset($_GET['is_photo']);
if (to_int($_GET['is_photo']) > 0)
{
$element['type'] = 1; // 0 - основное св-во, 1 - дополнительное
if ($my_index_param>0)
{
$element['prefix'] = 'OR('; // префикс
}
else
{
$element['prefix'] = 'AND('; // префикс
}
$element['prefix'] = 'AND('; // префикс
$element['property_id'] = '272';
$element['if'] = '!='; // Условие
$element['value'] = '""';
// $element['sufix'] = "OR shop_list_of_properties_table.shop_list_of_properties_id='274' AND shop_properties_items_table.shop_properties_items_value != '')";
// пока в системе невозможен фильтр, сочетающий условия И & ИЛИ, поэтому сделаем по-простому: будем проверять картинку только в 272, а остальные свойства игнорировать
$element['sufix'] = ')';
$param['select'][] = $element;
// $my_photo_condition = 2;
$my_photo_condition = 1;
$my_index_param = $my_index_param + 1;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
$external_propertys['is_extendedsearchblock'] = isset($_GET['is_extendedsearchblock']);
$external_propertys['is_extendedoptionsblock'] = isset($_GET['is_extendedoptionsblock']);
/* Ограничиваем по цене ОТ */
$price_from = str_replace(',', '.', to_float($_GET['price_from']));
if ($price_from > 0)
{
$external_propertys['price_from'] = $price_from;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Ограничиваем по цене ДО */
$price_to = str_replace(',', '.', to_float($_GET['price_to']));
if ($price_to > 0)
{
$external_propertys['price_to'] = $price_to;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Число элементов на странице */
$on_page = to_int($_GET['on_page']);
if ($on_page > 0 && $on_page < 150)
{
$param['items_on_page'] = $on_page;
$external_propertys['on_page'] = $on_page;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
// Определяем номер страницы.
if ($on_page)
{
$items_on_page = $on_page;
}
if (ereg("^page-([0-9]*)$", $page, $regs) && to_int($regs[1]) > 1)
{
/* Страница умножается на кол-во элементов, выводимых на страницу */
$items_begin = ($regs[1] - 1) * $items_on_page;
}
else
{
$items_begin = 0;
}
$param['items_begin'] = $items_begin;
/* Направление сортировки, 0 - по-возрастанию, 1 - по-убыванию */
$order_direction = to_int($_GET['order_direction']);
switch ($order_direction)
{
case 1: /* По-возрастанию */
{
$order_direction = 'ASC';
break;
}
case 2: /* По-убыванию */
{
$order_direction = 'DESC';
break;
}
default: /* по умолчанию */
{
$order_direction = 'ASC';
break;
}
}
/* Поле сортировки */
$sort_field = to_int($_GET['sort_by_field']);
switch ($sort_field)
{
case 1: /* По имени */
{
$param['items_field_order'] = 'shop_items_catalog_name';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
case 2: /* По цене */
{
//$param['items_field_order'] = 'shop_items_catalog_price';
$param['items_field_order'] = 'item_price_absolute';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
case 3: /* По оценке*/
{
$param['items_field_order'] = 'shop_comment_grade';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
case 4: /* По просмотрам*/
{
$param['items_field_order'] = 'shop_items_catalog_show_count';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
}
// Задан фильтр и/или сортировка по цене
if ($price_from > 0 || $price_to > 0 || $sort_field == 2)
{
// Получаем список валют магазина
$currency_result = $shop->GetAllCurrency();
$query_currency_switch = 'shop_items_catalog_price';
// Цикл по валютам магазина
while ($currency_row = mysql_fetch_assoc($currency_result))
{
// Получаем коэффициент пересчета для каждой валюты
$currency_coefficient = $shop->GetCurrencyCoefficientToShopCurrency($currency_row['shop_currency_id'], $shop_row['shop_currency_id']);
$query_currency_switch = "IF (shop_items_catalog_table.shop_currency_id = {$currency_row['shop_currency_id']}, shop_items_catalog_table.shop_items_catalog_price * $currency_coefficient, $query_currency_switch)";
}
$param['sql_external_select'] = ' ,' . $query_currency_switch . ' AS item_price_absolute';
}
/* Обработка дополнительных свойств.
Получаем список свойств, разрешенных для отображения в данной группе и в фильтре */
$resource_properties = $shop->GetPropertiesOfGroupForXml($current_shop_id, $param['current_group_id']);
if ($resource_properties)
{
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
/* Префикс, если нужен. */
if(($my_years_condition>0)||($my_photo_condition>0))
{
$element['prefix'] = ' OR ('; // префикс
}
else
{
$element['prefix'] = ' AND ('; // префикс
}
/* ОСТАВЛЯЕТЕ БЕЗ ИЗМЕНЕНИЙ, ЭТО НУЖНО ДЛЯ СОРТИРОВКИ */
$element['name'] = ''; // Имя
/* поля для основного св-ва, если тип = 1, то не указывается */
$element['if'] = ''; // Условие
/* Вот здесь передается ID доп. св-ва, по которому производится сортировка.
ID ВАШЕГО ПОЛЯ УКАЗЫВАЕТЕ ЗДЕСЬ */
$element['value'] = ''; /* Значение поля (или параметра) */
$element['sufix']=' ';
/* Добавляем в общий список условий */
$param['select'][] = $element;
$count_condition = 0;
$property_xml = '';
$count_properties = mysql_num_rows($resource_properties);
// Массив идентификаторов доп. свойств, для которых задан тип отображения "Список - флажками"
$mas_key_list_checkbox = array();
for ($i = 0; $i < $count_properties; $i++)
{
$row = mysql_fetch_assoc($resource_properties);
$element['value'] = 0;
switch ($row['shop_list_of_properties_show_kind'])
{
case 1: // Поле ввода
case 2: // Список - списком
case 3: // Список - переключателями
case 5: // Флажок
{
/* Выбираем режим отображения */
$get_param = 'property_id_' . $row['shop_list_of_properties_id'];
if (isset($_GET[$get_param]))
{
if ($row['shop_list_of_properties_type'] == 0
|| $row['shop_list_of_properties_show_kind'] == 1)
{
if (to_str($_GET[$get_param]) !== '')
{
$element['value'] = quote_smart(to_str($_GET[$get_param]));
$external_propertys['property_id_' . to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_' . to_int($row['shop_list_of_properties_id']) . '=' . $element['value'];
$element['value'] = '%' . $element['value'] . '%';
}
}
// Флажок
elseif($row['shop_list_of_properties_type'] == 7)
{
$element['value'] = 1;
$external_propertys['property_id_' . to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_' . to_int($row['shop_list_of_properties_id']) . '=' . $element['value'];
}
else
{
if (to_int($_GET[$get_param]) > 0)
{
$element['value'] = to_int($_GET[$get_param]);
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'='.$element['value'];
}
}
}
if ($element['value'])
{
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
$element['property_id'] = to_int($row['shop_list_of_properties_id']);
$element['type'] = 1; /* 0 - основное св-во, 1 - дополнительное */
//$element['prefix'] = ''; /* префикс */
// Способ отображения "Поле ввода"
if ($row['shop_list_of_properties_show_kind'] == 1 && !is_numeric($_GET[$get_param]))
{
$element['value'] = '%' . $element['value'] . '%';
$element['if'] = ' LIKE '; /* Условие */
}
else
{
$element['if'] = '='; /* Условие */
}
$element['sufix'] = '';
if ($count_condition)
{
$element['prefix'] = ' OR '; /* префикс */
}
else
{
$element['prefix'] = ' '; /* префикс */
}
$count_condition++;
$param['select'][] = $element;
}
}
case 4: // Тип отображения - список флажками
{
// Модуль "Списки" подключен и значенич доп. свойства не обработаны ранее
if (class_exists('lists') && !in_array($row['lists_id'], $mas_key_list_checkbox))
{
$mas_key_list_checkbox[] = $row['lists_id'];
$lists = & singleton('lists');
// Получаем информацию о элементах списка, который задан для доп. свойства
$list_items_resource = $lists->SelectListsItems($row['lists_id']);
$k = 0;
// Цикл по элементам списка
while($row_list_item = mysql_fetch_assoc($list_items_resource))
{
// Передано значение элемента списка. Формируем запрос.
if (isset($_GET['property_id_' . $row['shop_list_of_properties_id'] .'_item_id_' . $row_list_item['lists_items_id']]))
{
if ($count_condition || $k > 0)
{
$element['prefix'] = ' OR '; /* префикс */
}
else
{
$element['prefix'] = ' '; // ' '
}
$element['property_id'] = to_int($row['shop_list_of_properties_id']);
$element['type'] = 1; /* 0 - основное св-во, 1 - дополнительное */
$element['if'] = '='; /* Условие */
$element['value'] = $row_list_item['lists_items_id'];
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['property_id_' . to_int($row['shop_list_of_properties_id']) . '_item_id_' . $row_list_item['lists_items_id']] = $element['value'];
$property_xml .= '&property_id_' . to_int($row['shop_list_of_properties_id']) . '_item_id_' . $row_list_item['lists_items_id'] . '=' . $element['value'];
$k++;
}
}
// Задан фильтр по одному из значений списка
if ($k > 0)
{
$count_condition++;
}
}
break;
}
case 6: // Тип отображения - диапазон
{
$get_param_from = 'property_id_' . $row['shop_list_of_properties_id'] . '_from';
$get_param_to = 'property_id_' . $row['shop_list_of_properties_id'] . '_to';
if (isset($_GET[$get_param_from]) && strlen($_GET[$get_param_from]) > 0)
{
// Sielski
// только для диапазона по годам (по пробегу и объёму двигаткля брать не надо!!!)
if(($row['shop_list_of_properties_id'] != "279")&&($row['shop_list_of_properties_id'] != "280"))
{
$my_years_condition = 0;
}
// End Sielski
$value = floatval($_GET[$get_param_from]);
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id']) . '_from'] = $value;
$property_xml .= '&property_id_' . to_int($row['shop_list_of_properties_id']).'_from=' . $value;
$element['type'] = 1; /* 0 - основное св-во, 1 - дополнительное */
$element['property_id'] = to_int($row['shop_list_of_properties_id']);
$element['if'] = 'IS NOT NULL'; /* Условие */
$element['value'] = '';
$property_row = $shop->GetPropretyOfItems($element['property_id']);
if($property_row['shop_list_of_properties_type'] == 2)
{
$lists_id = to_int($property_row['lists_id']);
$lists = & singleton('lists');
$list_row = $lists->GetListItemsById($lists_id);
$in = array();
if (is_array($list_row) && count($list_row) > 0)
{
foreach ($list_row as $row_lists_items_value)
{
if ($row_lists_items_value['lists_items_value'] >= $value)
{
$in[] = $row_lists_items_value['lists_items_id'];
}
}
}
if(count($in) > 0)
{
$element['sufix'] = 'AND shop_properties_items_table.shop_properties_items_value - 0.0 IN ('.implode(',', $in).') ';
}
else
{
$element['sufix'] = "";
}
}
else
{
$element['sufix'] = " AND shop_properties_items_table.shop_properties_items_value - 0.0 >=$value";
}
if ($count_condition)
{
$element['prefix'] = ' OR '; /* префикс */
}
else
{
$element['prefix'] = ' '; /* префикс */
}
$param['select'][] = $element;
$count_condition++;
}
if (isset($_GET[$get_param_to]) && strlen($_GET[$get_param_to]) > 0)
{
$value = floatval($_GET[$get_param_to]);
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id']) . '_to'] = $value;
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'_to='.$value;
$element['property_id'] = to_int($row['shop_list_of_properties_id']);
$element['type'] = 1; /* 0 - основное св-во, 1 - дополнительное */
$element['if'] = 'IS NOT NULL'; /* Условие */
$element['value'] = '';
$property_row = $shop->GetPropretyOfItems($element['property_id']);
if ($property_row['shop_list_of_properties_type'] == 2)
{
$lists_id = to_int($property_row['lists_id']);
$lists = & singleton('lists');
$list_row = $lists->GetListItemsById($lists_id);
$in = array();
if (is_array($list_row) && count($list_row) > 0)
{
foreach ($list_row as $row_lists_items_value)
{
if($row_lists_items_value['lists_items_value'] <= $value)
{
$in[] = $row_lists_items_value['lists_items_id'];
}
}
}
if(count($in) > 0)
{
$element['sufix'] = 'AND shop_properties_items_table.shop_properties_items_value - 0.0 IN ('.implode(',', $in).') ';
}
else
{
$element['sufix'] = "";
}
}
else
{
$element['sufix'] = "AND shop_properties_items_table.shop_properties_items_value - 0.0 <= $value";
}
if (!(isset($_GET[$get_param_from]) && strlen($_GET[$get_param_from]) > 0))
{
if ($count_condition)
{
$element['prefix'] = ' OR '; /* префикс */
}
else
{
$element['prefix'] = ' '; /* префикс */
}
$count_condition++;
}
else
{
$element['prefix'] = ' AND ';
}
$param['select'][] = $element;
}
break;
}
case 7: // Список - список с множественным выбором
{
// Модуль "Списки" подключен и передан массив значений доп. свойства
if (class_exists('lists') && isset($_GET['property_id_' . $row['shop_list_of_properties_id']]) && is_array($_GET['property_id_' . $row['shop_list_of_properties_id']]))
{
$lists = & singleton('lists');
// Получаем информацию о элементах списка, который задан для доп. свойства
$list_items_resource = $lists->SelectListsItems($row['lists_id']);
$k = 0;
// Цикл по элементам списка
while($row_list_item = mysql_fetch_assoc($list_items_resource))
{
// Передано значение элемента списка. Формируем запрос.
if (in_array($row_list_item['lists_items_id'], $_GET['property_id_' . $row['shop_list_of_properties_id']]))
{
if ($count_condition || $k > 0)
{
$element['prefix'] = ' OR '; /* префикс */
}
else
{
$element['prefix'] = ' ';
}
$element['property_id'] = to_int($row['shop_list_of_properties_id']);
$element['type'] = 1; /* 0 - основное св-во, 1 - дополнительное */
$element['if'] = '='; /* Условие */
$element['value'] = $row_list_item['lists_items_id'];
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['property_id_' . to_int($row['shop_list_of_properties_id']) . '_item_id_' . $row_list_item['lists_items_id']] = $element['value'];
$property_xml .= '&property_id_' . to_int($row['shop_list_of_properties_id']) . '_item_id_' . $row_list_item['lists_items_id'] . '=' . $element['value'];
$k++;
}
}
// Задан фильтр по одному из значений списка
if ($k > 0)
{
$count_condition++;
}
}
break;
}
}
}
if (!$count_condition)
{
$element['prefix'] = ' 1'; /* префикс */
}
else
{
$element['prefix'] = ''; // префикс
}
/* добавляем конечный элемент, содержащий HAVING */
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
/* ОСТАВЛЯЕТЕ БЕЗ ИЗМЕНЕНИЙ, ЭТО НУЖНО ДЛЯ СОРТИРОВКИ */
$element['name'] = ''; /* Имя */
/* поля для основного св-ва, если тип = 1, то не указывается */
$element['if'] = ''; /* Условие */
/* Вот здесь передается ID доп. св-ва, по которому производится сортировка.
ID ВАШЕГО ПОЛЯ УКАЗЫВАЕТЕ ЗДЕСЬ */
$element['value'] = ''; // Значение поля (или параметра)
//sielski
$count_condition_=$count_condition+$my_years_condition;
//sielski
//if ($count_condition != 0 && ($price_from > 0 || $price_to >0))
if ($count_condition_ > 0)
{
// Sielski
$count_condition_=$count_condition_ + $my_photo_condition;
// Sielski
$param['sql_group_by'] = 'GROUP BY shop_items_catalog_table.shop_items_catalog_item_id';
$param['sql_having'] = "HAVING COUNT(shop_properties_items_table.shop_properties_items_id) = {$count_condition_}";
}
else
{
$param['sql_having'] = 'HAVING 1 ';
}
$element['sufix'] = ' ) ';
/* Добавляем в общий список условий */
$param['select'][] = $element;
}
else
{
$param['sql_having'] = 'HAVING 1 ';
}
if ($price_from > 0)
{
$param['sql_having'] .= ' AND item_price_absolute >= ' . $price_from;
}
if ($price_to > 0)
{
$param['sql_having'] .= ' AND item_price_absolute <= ' . $price_to;
}
/* добавляем конечный элемент, содержащий HAVING */
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
$element['prefix'] = ' AND';
$element['name'] = 'shop_items_catalog_table.shop_shops_id'; /* Имя */
$element['if'] = '='; /* Условие */
$element['value'] = $current_shop_id; // Значение поля (или параметра)
$element['sufix'] = '';
/* Добавляем в общий список условий */
$param['select'][] = $element;
if (!empty($property_xml))
{
$external_propertys['property_xml'] = $property_xml;
}
// Если передано имя тэга - фильтруем
if (isset($GLOBALS['shop_item_path']['tag_name']))
{
if (class_exists('Tag'))
{
$oTag = & singleton('Tag');
$tag_row = $oTag->GetTagByPath($GLOBALS['shop_item_path']['tag_name']);
$param['tags'] = array($tag_row['tag_id']);
// При выводе тэгов вывод элементов ведется из всех групп
$param['current_group_id'] = false;
}
}
// При выводе списка товаров получать подробное описание каждого товара не нужно
$param['show_text'] = false;
// При выводе списка товаров получать сопутствующие товары не нужно
$param['xml_show_tying_products'] = false;
// Разрешаем передачу в XML свойств групп
$param['xml_show_group_property'] = true;
// Разрешаем передачу в XML всех групп
$param['xml_show_group_type'] = 'all';
// Получаем информацию об элементах текущей группы
$param_item_group['shop_groups_id'] = $GLOBALS['shop_item_path']['group'];
$items_group_resource = $shop->GetItemByParam($param_item_group);
// В текущей группе отсутствуют товары
if (mysql_num_rows($items_group_resource) == 0)
{
$mas_group = $shop->GetGroupsTree($GLOBALS['shop_item_path']['group'], $current_shop_id);
// в $in будет хранится массив подгрупп
$group_id = to_int($_GET['group_id']);
$in = array($group_id);
$set = array();
$set = SetGroups($mas_group, $set);
$elements = array();
foreach ($set as $key => $value)
{
$in[] = $value;
}
$elements['type'] = 0;
$elements['prefix'] = ' and (';
$elements['name'] = 'shop_items_catalog_table.shop_groups_id';
$elements['if'] = ' IN (' . implode(',', $in) . ') ';
$elements['value'] = '';
$elements['sufix'] = ')';
$param['select'][] = $elements;
$param['current_group_id'] = false;
}
else
{
$param['current_group_id'] = $GLOBALS['shop_item_path']['group'];
}
$external_propertys['ТекущаяГруппа'] = $GLOBALS['shop_item_path']['group'];
// В корне выводим из всех поддиректорий
if ($param['current_group_id'] == 0)
{
$param['current_group_id'] = false;
}
//print_r($param);
// заменим префикс OR на AND, если выбраны только чекбоксы ("до 3-х лет", "3 - 5 лет", "старше 5 лет") и не выбрано других доп. условий
if ($count_condition<1)
{
$param['select'][$my_index_param]['prefix']="AND (";
}
$shop->ShowShop($current_shop_id, $xsl_catalog, $param, $external_propertys);
}
else
{
/* Вывод конкретного элемент */
//$param['show_catalog_item_type'] = array('active', 'inactive');
/* Вывод конкретного элемент */
$shop->ShowItem($GLOBALS['shop_item_path']['item'], $xsl_item, $param, $external_propertys);
}
}
[b]
if (isset($_GET['mark_code_value']))
{
$list_item_value = $_GET['mark_code_value'];
$lists = singleton('lists');
$lists_id = '44';
$row = $lists->GetListItemIfIssetValue($lists_id, $list_item_value);
$value = $row['lists_items_id'];
$external_propertys['mark_code'] = 1;
print_r($value);
}
?>
Полужирным я выделил код, участвующий в определении кода списка
<script type="text/javascript" charset="utf-8">
(function(){var a=function(){var b=document.documentElement.style;return typeof b.borderRadius==="string"||typeof b.WebkitBorderRadius==="string"||typeof b.KhtmlBorderRadius==="string"||typeof b.MozBorderRadius==="string"};document.documentElement.className+=a()?" m-border-radius":" m-no-border-radius"}());(function(b){if(!b){b=window.Lego={}}function a(c){return c.replace(/^(?:https?:)?\/\//,"")}b.c=function(d,c,j){var i=a((j&&j.host)||b.params["click-host"]||"clck.yandex.ru"),e=function(l,n,m,k){return n.indexOf("/dtype=")>-1?n:location.protocol+"//"+i+"/"+m+"/dtype="+l+"/rnd="+((new Date()).getTime()+Math.round(Math.random()*100))+(k?"/*"+(n.match(/^http/)?n:location.protocol+"//"+location.host+(n.match("^/")?n:"/"+n)):"/*data="+encodeURIComponent("url="+encodeURIComponent((n.match(/^http/)?n:location.protocol+"//"+location.host+(n.match("^/")?n:"/"+n)))))},g=function(){var k=document.getElementsByTagName("head")[0]||document.getElementsByTagName("body")[0];var h=document.createElement("script");h.setAttribute("src",e(d,location.href,"jclck"));k.insertBefore(h,k.firstChild)};if(c){if(c.className.match(/b-pseudo-link/)||(c.href&&c.href.match(/^mailto:/))||(j&&j.noRedirect===true)){g()}else{if(c.href){var f=c.href;c.href=e(d,f,"redir");setTimeout(function(){c.href=f},500)}else{if(c.form){if(c.type.match(/submit|button|image/)){var f=c.form.action;c.form.action=e(d,f,"redir",true);setTimeout(function(){c.form.action=f},500)}else{g()}}else{if(c.action){c.action=e(d,c.action,"redir",true)}else{throw"counter.js: not link and not form!"}}}}}else{g()}}})(window.Lego);(function(a){if(!a){a=window.Lego={}}a.cp=function(f,c,e,b,d){a.c("stred/pid="+f+"/cid="+c+(e?"/path="+e:""),b,d)}})(window.Lego);(function(a){if(!a){a=window.Lego={}}a.ch=function(c,b){if(a.params["show-counters"]){a.cp(0,2219,c,b)}}})(window.Lego);(function(a){if(!a){a=window.Lego={}}a.getCookie=function(h){var g=document.cookie;if(g.length<1){return false}var d=g.indexOf(h+"=");if(d==-1){return false}d+=(h.length+1);var f=g.indexOf(";",d);return decodeURIComponent((f==-1)?g.substring(d):g.substring(d,f))}})(window.Lego);(function(a){if(!a){a=window.Lego={}}a.isSessionValid=function(){return !!a.getCookie("yandex_login")}})(window.Lego);(function(b,a){if(!a){a=window.Lego={}}a.init||(a.init=function(c){(c=a.params=b.extend({id:"",login:a.isSessionValid()?a.getCookie("yandex_login")||"":"",yandexuid:a.getCookie("yandexuid"),locale:"ru",retpath:window.location.toString(),"passport-host":"//passport.yandex.ru","pass-host":"//pass.yandex.ru","passport-msg":c.id,"social-host":"//social.yandex.ru","lego-path":"/lego","show-counters-percent":100},c,a.params))["show-counters"]=Math.round(Math.random()*100)<=c["show-counters-percent"];b(function(){c.oframebust&&a.oframebust(c.oframebust)});return c});a.block||(a.block={});a.blockInit||(a.blockInit=function(c,d){c=c||document;d=d||".g-js";b(c).find(d).each(function(){var h=b(this),g=this.onclick?this.onclick():{},e=g.name||"",f=a.block[e];if(f&&!h.data(e)){f.call(h,g);h.data(e,true).addClass(e+"_js_inited")}})});a.blockInitBinded||(a.blockInitBinded=!!b(document).ready(function(){a.blockInit()}))})(jQuery,window.Lego);(function(e){var b=(function(){_}).toString().indexOf("_")>-1,a=e.browser.msie,c=a?["toString","valueOf"]:null,f=function(){};function d(h,g,i){var k=false;if(a){var j=[];e.each(c,function(){i.hasOwnProperty(this)&&(k=true)&&j.push({name:this,val:i[this]})});if(k){e.each(i,function(l){j.push({name:l,val:this})});i=j}}e.each(i,function(m,n){if(k){m=n.name;n=n.val}if(e.isFunction(n)&&(!b||n.toString().indexOf(".__base")>-1)){var l=h[m]||function(){};g[m]=function(){var p=this.__base;this.__base=l;var o=n.apply(this,arguments);this.__base=p;return o}}else{g[m]=n}})}e.inherit=function(){var h=e.isFunction(arguments[0]),n=h?arguments[0]:f,j=arguments[h?1:0]||{},l=arguments[h?2:1],g=j.__constructor||(h&&n.prototype.__constructor)?function(){this.__constructor.apply(this,arguments)}:function(){};if(!h){g.prototype=j;g.prototype.__self=g.prototype.constructor=g;return e.extend(g,l)}e.extend(g,n);var k=function(){},i=k.prototype=n.prototype,m=g.prototype=new k();m.__self=m.constructor=g;d(i,m,j);l&&d(n,g,l);return g};e.inheritSelf=function(j,h,i){var g=j.prototype;d(g,g,h);i&&d(j,j,i);return j}})(jQuery);(function(c){var a=0,d="__"+(+new Date),b=function(){return"uniq"+ ++a};c.identify=function(g,f){if(!g){return b()}var e="uniqueID" in g?"uniqueID":d;return f||e in g?g[e]:g[e]=b()}})(jQuery);(function(a){a.isEmptyObject||(a.isEmptyObject=function(c){for(var b in c){return false}return true})})(jQuery);(function(a){a.extend({debounce:function(c,d,e,b){if(arguments.length==3&&typeof e!="boolean"){b=e;e=false}var f;return function(){var g=arguments;b=b||this;e&&!f&&c.apply(b,g);clearTimeout(f);f=setTimeout(function(){e||c.apply(b,g);f=null},d)}},throttle:function(e,f,b){var g,d,c;return function(){d=arguments;c=true;b=b||this;g||(function(){if(c){e.apply(b,d);c=false;g=setTimeout(arguments.callee,f)}else{g=null}})()}}})})(jQuery);(function(d){var a="__"+ +new Date+"storage",c=function(f,e){return d.identify(f)+(e?d.identify(e):"")},b={buildEventName:function(f){return f},on:function(o,j,p,s,m){if(typeof o=="string"){if(d.isFunction(j)){s=p;p=j;j=undefined}var f=c(p,s),l=this[a]||(this[a]={}),g=o.split(" "),h=0,q;while(o=g[h++]){o=this.buildEventName(o);q=l[o]||(l[o]={ids:{},list:{}});if(!(f in q.ids)){var n=q.list,r={fn:p,data:j,ctx:s,special:m};if(n.last){n.last.next=r;r.prev=n.last}else{n.first=r}q.ids[f]=n.last=r}}}else{var k=this;d.each(o,function(t,i){k.on(t,i,j,m)})}return this},onFirst:function(i,h,g,f){return this.on(i,h,g,f,{one:true})},un:function(p,q,t){if(typeof p=="string"||typeof p=="undefined"){var n=this[a];if(n){if(p){var h=p.split(" "),k=0,r;while(p=h[k++]){p=this.buildEventName(p);if(r=n[p]){if(q){var g=c(q,t),f=r.ids;if(g in f){var o=r.list,s=f[g],j=s.prev,l=s.next;if(j){j.next=l}else{if(s===o.first){o.first=l}}if(l){l.prev=j}else{if(s===o.last){o.last=j}}delete f[g]}}else{delete this[a][p]}}}}else{delete this[a]}}}else{var m=this;d.each(p,function(u,i){m.un(u,i,t)})}return this},trigger:function(j,h){var l=this,k=l[a],i;typeof j==="string"?j=d.Event(l.buildEventName(i=j)):j.type=l.buildEventName(i=j.type);if(k&&(k=k[j.type])){var g=k.list.first,f;while(g){j.data=g.data;f=g.fn.call(g.ctx||l,j,h);if(typeof f!=="undefined"){j.result=f;if(f===false){j.preventDefault();j.stopPropagation()}}g.special&&g.special.one&&l.un(i,g.fn,g.ctx);g=g.next}}return this}};d.observable=d.inherit(b,b)})(jQuery);(function(e,g){var d=[],f={},a={};function c(j,i,h){return(j?"__elem_"+j:"")+"__mod"+(i?"_"+i:"")+(h?"_"+h:"")}function b(i,h,j){e.isFunction(i)?(h[c(j,"*","*")]=i):e.each(i,function(l,k){e.isFunction(k)?(h[c(j,l,"*")]=k):e.each(k,function(m,n){h[c(j,l,m)]=n})})}this.BEM=e.inherit(e.observable,{__constructor:function(i,j,h){var k=this;k._modCache=i||{};k._processingMods={};k.params=e.extend(k.getDefaultParams(),j);h!==false?k._init():k.afterCurrentEvent(k._init)},_init:function(){return this.setMod("js","inited").trigger("init")},changeThis:function(i,h){var j=this;return function(){return i.apply(h||j,arguments)}},afterCurrentEvent:function(i,h){this.__self.afterCurrentEvent(this.changeThis(i,h))},trigger:function(i,h){this.__base(i=this.buildEvent(i),h).__self.trigger(i,h);return this},buildEvent:function(h){typeof h=="string"&&(h=e.Event(h));h.block=this;return h},hasMod:function(k,l,i){var h=arguments.length,m=false;if(h==1){i="";l=k;k=g;m=true}else{if(h==2){if(typeof k=="string"){i=l;l=k;k=g}else{i="";m=true}}}var j=this.getMod(k,l)===i;return m?!j:j},getMod:function(j,k){var h=typeof j;if(h==="string"||h==="undefined"){k=j||k;var i=this._modCache;return k in i?i[k]:i[k]=this._extractModVal(k)}return this._getElemMod(k,j)},_getElemMod:function(j,h,i){return this._extractModVal(j,h,i)},getMods:function(k){var i=k&&typeof k!="string",l=this,h=[].slice.call(arguments,i?1:0),j=l._extractMods(h,i?k:g);if(!i){h.length?e.each(h,function(n,m){l._modCache[m]=j[m]}):l._modCache=j}return j},setMod:function(k,o,p){if(typeof p=="undefined"){p=o;o=k;k=g}var l=this;if(!k||k[0]){var m=(k&&k[0]?e.identify(k[0]):"")+"_"+o;if(this._processingMods[m]){return l}var j,i=k?l._getElemMod(o,k,j=l.__self._extractElemNameFrom(k)):l.getMod(o);if(i===p){return l}this._processingMods[m]=true;var h=true,n=[o,p,i];k&&n.unshift(k);e.each([["*","*"],[o,"*"],[o,p]],function(){h=l._callModFn(j,this[0],this[1],n)!==false&&h});!k&&h&&(l._modCache[o]=p);h&&l._afterSetMod(o,p,k,j);delete this._processingMods[m]}return l},_afterSetMod:function(j,h,i){},toggleMod:function(j,k,i,m,l){if(typeof j=="string"){l=m;m=i;i=k;k=j;j=g}if(typeof m=="undefined"){m=""}else{if(typeof m=="boolean"){l=m;m=""}}var h=this.getMod(j,k);(h==i||h==m)&&this.setMod(j,k,typeof l==="boolean"?(l?i:m):this.hasMod(j,k,i)?m:i);return this},delMod:function(h,i){if(!i){i=h;h=g}return this.setMod(h,i,"")},_callModFn:function(k,j,h,i){var l=c(k,j,h);return this[l]?this[l].apply(this,i):g},_extractModVal:function(i,h){return""},_extractMods:function(h,i){return{}},channel:function(i,h){return this.__self.channel(i,h)},getDefaultParams:function(){return{}},del:function(i){var h=[].slice.call(arguments);typeof i=="string"&&h.unshift(this);this.__self.del.apply(this.__self,h);return this},destruct:function(){}},{_name:"i-bem",blocks:f,decl:function(h,i,k){if(typeof h=="string"){h={block:h}}else{if(h.name){h.block=h.name}}if(h.baseBlock&&!f[h.baseBlock]){throw ('baseBlock "'+h.baseBlock+'" for "'+h.block+'" is undefined')}if(i.onSetMod){b(i.onSetMod,i);delete i.onSetMod}if(i.onElemSetMod){e.each(i.onElemSetMod,function(n,m){b(m,i,n)});delete i.onElemSetMod}var j=f[h.baseBlock||h.block]||this;if(h.modName){e.each(i,function(m,n){e.isFunction(n)&&(i[m]=function(){var p;if(this.hasMod(h.modName,h.modVal)){p=n}else{var o=j.prototype[m];o&&o!==i[m]&&(p=this.__base)}return p?p.apply(this,arguments):g})})}var l;h.block==j._name?(l=e.inheritSelf(j,i,k))._processLive(true):(l=f[h.block]=e.inherit(j,i,k))._name=h.block;return l},_processLive:function(h){return false},create:function(i,h){typeof i=="string"&&(i={block:i});return new f[i.block](i.mods,h)},getName:function(){return this._name},_extractElemNameFrom:function(h){},afterCurrentEvent:function(i,h){d.push({fn:i,ctx:h})==1&&setTimeout(this._runAfterCurrentEventFns,0)},_runAfterCurrentEventFns:function(){var i=d.length;if(i){var h,j=d.splice(0,i);while(h=j.shift()){h.fn.call(h.ctx||this)}}},changeThis:function(i,h){return function(){return i.apply(h||this,arguments)}},del:function(l){var k=typeof l=="string",j=k?0:1,h=arguments.length;k&&(l=this);while(j<h){delete l[arguments[j++]]}return this},channel:function(i,h){if(typeof i=="boolean"){h=i;i=g}i||(i="default");if(h){if(a[i]){a[i].un();delete a[i]}return}return a[i]||(a[i]=new e.observable())}})})(jQuery);(function(i,b,a){var g="_",c="__",d="[a-zA-Z0-9-]+";function e(l,j,k){k.push(g,l,g,j)}function f(l,m,j,k){k.push(l);j&&e(m,j,k)}function h(n,l,m,j,k){f(n,a,a,k);k.push(c,l);j&&e(m,j,k)}i.INTERNAL={NAME_PATTERN:d,MOD_DELIM:g,ELEM_DELIM:c,buildModPostfix:function(m,j,k){var l=k||[];e(m,j,l);return k?l:l.join("")},buildClass:function(p,n,o,j,k){var m=typeof o;if(m=="string"){if(typeof j!="string"){k=j;j=o;o=n;n=a}}else{if(m!="undefined"){k=o;o=a}else{if(n&&typeof n!="string"){k=n;n=a}}}if(!(n||o||k)){return p}var l=k||[];n?h(p,n,o,j,l):f(p,o,j,l);return k?l:l.join("")},buildClasses:function(n,m,l,j){var k=j||[];m?h(n,m,a,a,k):f(n,a,a,k);l&&b.each(l,function(p,o){if(o){k.push(" ");m?h(n,m,p,o,k):f(n,p,o,k)}});return j?k:k.join("")}}})(BEM,jQuery);(function(a,d){if(typeof JSON!="undefined"){return a.stringify=JSON.stringify}var c=Object.prototype.toString,e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,b={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};a.stringify=function(l){if(l===null){return"null"}if(typeof l==="undefined"){return d}switch(c.call(l)){case"[object String]":return'"'+(e.test(l)?l.replace(e,function(i){var m=b[i];return typeof m==="string"?m:"\\u"+("0000"+i.charCodeAt(0).toString(16)).slice(-4)}):l)+'"';case"[object Number]":case"[object Boolean]":return""+l;case"[object Array]":var k="[",j=0,f=l.length,h;while(j<f){h=a.stringify(l[j]);k+=(j++?",":"")+(typeof h=="undefined"?"null":h)}return k+"]";case"[object Object]":var k="{",j=0,h;for(var g in l){if(l.hasOwnProperty(g)){h=a.stringify(l[g]);typeof h!="undefined"&&(k+=(j++?",":"")+'"'+g+'":'+h)}}return k+"}";default:return d}}})(jQuery);if(!window.JSON){window.JSON={stringify:$.stringify}}(function(k,d,c){var g=k.INTERNAL,f=g.ELEM_DELIM,h={area:1,base:1,br:1,col:1,command:1,embed:1,hr:1,img:1,input:1,keygen:1,link:1,meta:1,param:1,source:1,wbr:1},i=g.buildClasses,j={};function e(l,m,n){(l[m]||(l[m]=[])).unshift(n)}function b(l,m){return m.modName?function(n){(n._currBlock.mods||{})[m.modName]===m.modVal&&l(n)}:l}function a(m,l){var o=d.isArray(l),n;d.isArray(m)?o?n=m.concat(l):(n=m).push(l):o?(n=l).unshift(m):n=[m,l];return n}k.HTML={decl:function(n,m){typeof n=="string"&&(n={name:n});var l=j[n.name]||(j[n.name]={});m.onBlock&&e(l,"_block",b(m.onBlock,n));if(m.onElem){d.isFunction(m.onElem)?e(l,"_elem",b(m.onElem,n)):d.each(m.onElem,function(p,o){e(l,"_elem"+(p==="*"?"":f+p),b(o,n))})}},build:function(m){var l=new this.Ctx(m);l._buildAll();return l._flush()},Ctx:d.inherit({__constructor:function(l){this._buffer=[];this._params=l;this._tParams=null;this._tParamsChanges=null;this._currBlock=c},pos:function(){return this._params._pos},isFirst:function(){return this._params._pos===1},isLast:function(){var l=this._params;return l._pos===l._siblingsCount},params:function(l){var m=this;if(typeof l=="undefined"){return m._params}m._params=l;return m},param:function(l,o,m,q){var p=this,n=p._params;if(typeof o=="undefined"){return n[l]}if(m||!(l in n)){n[l]=o}else{if(q){n[l]=d.extend(o,n[l])}}return p},attrs:function(m,l){return this.param("attrs",m,l,true)},attr:function(m,o,n){var p=this;if(typeof o=="undefined"){return(p._params.attrs||{})[m]}var l=p._params.attrs;l?(n||!(m in l))&&(l[m]=o):(p._params.attrs={})[m]=o;return p},tag:function(m,l){return this.param("tag",m,l)},cls:function(m,l){return this.param("cls",m,l)},mods:function(m,l){return this.param("mods",m,l,true)},mod:function(l,o,n){var p=this;if(typeof o=="undefined"){return(p._params.mods||{})[l]}var m=p._params.mods;m?(n||!(l in m))&&(m[l]=o):(p._params.mods={})[l]=o;return p},mix:function(n,l){var o=this,m=o._params;if(typeof n=="undefined"){return m.mix}if(l||!("mix" in m)){m.mix=n}else{m.mix=m.mix.concat(n)}return o},js:function(l){return this.param("js",l)},content:function(m,l){return this.param("content",m,l)},wrapContent:function(l){var n=this,m=n._params;l.content=m.content;m.content=l;return n},beforeContent:function(l){var n=this,m=n._params;m.content=a(l,m.content);return n},afterContent:function(l){var n=this,m=n._params;m.content=a(m.content,l);return n},wrap:function(l){var n=this,m=n._params;l.block||(l._currBlock=n._currBlock);l.content=m._wrapper?m._wrapper:m;m._wrapper=l;return n},tParam:function(l,o){var p=this,n=p._tParams||(p._tParams={});if(typeof o=="undefined"){return n[l]}var m=p._tParamsChanges||(p._tParamsChanges={});l in m||(m[l]=n[l]);n[l]=o;return p},generateId:function(){return d.identify()},_buildAll:function(){var s=this,m=s._buffer,r=s._params,p=typeof r;if(p=="string"||p=="number"){m.push(r)}else{if(d.isArray(r)){var o=0,l=r.length,n,q;while(o<l){s._params=n=r[o++];q=typeof n;if(q=="string"||q=="number"){m.push(n)}else{if(n){n._pos=o;n._siblingsCount=l;s._buildByDecl()}}}}else{if(r){s._params._pos=s._params._siblingsCount=1;s._buildByDecl()}}}},_build:function(){var q=this,m=q._buffer,p=q._params,l=p.tag||"div",o,n=p.block||p.elem;p.js&&((o={})[p.block]=p.js===true?{}:p.js);m.push("<",l);if(n||p.cls){m.push(' class="');if(n){i(p.block||q._currBlock.block,p.elem,p.mods,m);p.mix&&d.each(p.mix,function(r,s){if(s){m.push(" ");i(s.block,s.elem,s.mods,m);s.js&&((o||(o={}))[s.block]=s.js===true?{}:s.js)}})}p.cls&&m.push(n?" ":"",p.cls);o&&m.push(" i-bem");m.push('"')}o&&m.push(' onclick="return ',d.stringify(o).replace(/'/g,"\\'").replace(/"/g,"'"),'"');p.attrs&&d.each(p.attrs,function(r,s){typeof s!="undefined"&&s!==null&&s!==false&&m.push(" ",r,'="',s.toString().replace(/"/g,"""),'"')});if(h[l]){m.push("/>")}else{m.push(">");if(typeof p.content!="undefined"){q._params=p.content;q._buildAll()}m.push("</",l,">")}},_flush:function(){var l=this._buffer.join("");delete this._buffer;return l},_buildByDecl:function(){var o=this,r=o._currBlock,l=o._params;l._currBlock&&(o._currBlock=l._currBlock);l.block&&(o._currBlock=l);if(!l._wrapper){if(l.block||l.elem){var q=j[o._currBlock.block];if(q){var s;if(l.elem){s=q["_elem"+f+l.elem];q._elem&&(s=(s?s.concat(q._elem):q._elem))}else{s=q._block}if(s){var m=0,p;while(p=s[m++]){p(o)}}}}if(l._wrapper){l._currBlock=o._currBlock;o._params=l._wrapper;return o._buildAll()}}var t=o._tParamsChanges;o._tParamsChanges=null;o._build();o._currBlock=r;if(t){var n=o._tParams;d.each(t,function(u,v){typeof v=="undefined"?delete n[u]:n[u]=v})}}})}})(BEM,jQuery);(function(a){if(!a){a=window.Lego={}}a.messages=a.messages||{};a.message=function(c,b){return a.params.locale=="ru"?b:(a.messages[c]||b)}})(window.Lego);(function(a){a=a||{};a.oframebustMatchDomain=function(g,h){g=Object.prototype.toString.call(g)==="[object Array]"?g:(function(){var d=[];for(var e in g){g.hasOwnProperty(e)&&d.push(e)}return d}());for(var c=0,b=g.length;c<b;c++){var k=g[c];if(typeof(k)=="string"){if(/(\?|\*)/.test(k)){var f=k.replace(/\./g,"\\.").replace(/\*/g,".*").replace(/\?/g,".{1}");if((new RegExp("^"+f+"$")).test(h)){return true}}else{if(h==k){return true}}}else{try{if(k.test(h)){return true}}catch(j){}}}}})(window.Lego);(function(a){if(!a){a=window.Lego={}}a.oframebust=function(c){if(location==top.location){return}var d=(location.search.match(/[&?]oframebust=([^&;]+)/)||[])[1];if(!d){top.location=location}if(a.oframebustMatchDomain(c,d)){var b=document.createElement("iframe");b.style.position="absolute";b.style.left="-999px";b.style.width="1px";b.src="//"+d+"/oframebust.html?"+encodeURIComponent(location.href);(function(){if(document.body&&document.body.firstChild){document.body.insertBefore(b,document.body.firstChild)}else{setTimeout(arguments.callee,0)}})();return}top.location=location}})(window.Lego);(function(i,e,h){var d=e(window),x=e(document),m={},v={},z={},f={},p={},u=i.blocks,b=i.INTERNAL,k=b.NAME_PATTERN,o=b.MOD_DELIM,j=b.ELEM_DELIM,y=b.buildModPostfix,s=b.buildClass;function q(C,A){var B=C[0];e.each(r(B),function(D,F){c(F,B,D,A);var E=v[F.uniqId];if(E){E.domElem=E.domElem.add(C);e.extend(E.params,F)}else{a(D,C,F)}})}function a(H,D,C,A,I){if(typeof C=="boolean"){I=A;A=C;C=h}var E=D[0];C=c(C||r(E)[H],E,H);var G=C.uniqId;if(v[G]){return v[G]._init()}m[G]=m[G]?m[G].add(D):D;var F=u[H]||t.decl(H,{},{live:true});if(!(F._liveInitable=!!F._processLive())||A||C.live===false){var B=new F(m[G],C,!!A);delete m[G];I&&I.apply(B,Array.prototype.slice.call(arguments,4));return B}}function c(F,C,B,A){(F||(F={})).uniqId||(F.uniqId=(F.id?B+"-id-"+F.id:e.identify())+(A||e.identify()));var E=e.identify(C),D=z[E]||(z[E]={});D||(D[B]=F);return F}function w(B,A,D){var C=B.find(A);return D?C:C.add(B.filter(A))}function r(A){var B=e.identify(A);return z[B]||(z[B]=g(A))}function g(C){var B=C.onclick||C.ondblclick;if(!B&&C.tagName.toLowerCase()=="body"){var D=e(C),A=D.attr("onclick")||D.attr("ondblclick");A&&(B=Function(A))}return B?B():{}}function l(A){delete z[e.identify(A)]}function n(){return x[0][e.support.boxModel?"documentElement":"body"]}e.fn.bem=function(A,B){return a(A,this,B,true)};var t=i.DOM=i.decl("i-bem__dom",{__constructor:function(B,C,A){var D=this;D.domElem=B;D._eventNameCache={};D._elemCache={};v[D._uniqId=C.uniqId||e.identify(D)]=D;D._needSpecialUnbind=false;D.__base(null,C,A)},findBlocksInside:function(A,B){return this._doBlocksMethod(this._buildFindBlocksParams("find",A,B))},findBlockInside:function(A,B){return this._doBlocksMethod(this._buildFindBlocksParams("find",A,B,true))},findBlocksOutside:function(A,B){return this._doBlocksMethod(this._buildFindBlocksParams("parents",A,B))},findBlockOutside:function(A,B){return this._doBlocksMethod(this._buildFindBlocksParams("closest",A,B))[0]},findBlocksOn:function(A,B){return this._doBlocksMethod(this._buildFindBlocksParams("",A,B))},findBlockOn:function(A,B){return this._doBlocksMethod(this._buildFindBlocksParams("",A,B,true))},_buildFindBlocksParams:function(A,B,D,C){return{select:A,elem:D?B:h,block:D||B,onlyFirst:C}},doBlocksMethodInside:function(B,C,D,A){return this._doBlocksMethod(this._buildDoBlocksMethodParams("find",B,C,D,A))},doBlocksMethodOutside:function(B,C,D,A){return this._doBlocksMethod(this._buildDoBlocksMethodParams("closest",B,C,D,A))},doBlocksMethodOn:function(B,C,D,A){return this._doBlocksMethod(this._buildDoBlocksMethodParams("",B,C,D,A))},doBlocksMethod:function(B,C,A){return this._doBlocksMethod({blocks:B,method:C,args:A})},_buildDoBlocksMethodParams:function(A,D,E,F,C){var B=typeof F=="string";return{select:A,elem:B?D:h,block:B?E:D,method:B?F:E,args:B?C:F}},_doBlocksMethod:function(B){var E=this;if(B.blocks){return e.map(B.blocks,function(J){return E._doBlockMethod(J,B.method,B.args)})}var D=B.elem?(typeof B.elem=="string"?this.findElem(B.elem):B.elem):this.domElem,C=typeof B.block=="string",I=C?B.block:B.block.blockName,A="."+(C?s(I):s(I,B.block.modName,B.block.modVal))+(B.onlyFirst?":first":""),F=D.filter(A);B.select&&(F=F.add(D[B.select](A)));if(B.onlyFirst){return F[0]?this._doBlockMethod(a(I,F.eq(0),true),B.method,B.args):null}if(B.method){return e.map(F,function(J){return E._doBlockMethod(a(I,e(J),true),B.method,B.args)})}var H=[],G={};e.each(F,function(J,K){var L=a(I,e(K),true);if(!G[L._uniqId]){G[L._uniqId]=true;H.push(L)}});return H},_doBlockMethod:function(B,C,A){return C?B[C].apply(B,A||[]):B},bindToDomElem:function(B,C,A){var D=this;A?B.bind(D._buildEventName(C),function(E){(E.data||(E.data={})).domElem=e(this);return A.apply(D,arguments)}):e.each(C,function(F,E){D.bindToDomElem(B,F,E)});return D},bindToDoc:function(B,A){this._needSpecialUnbind=true;return this.bindToDomElem(x,B,A)},bindToWin:function(B,A){this._needSpecialUnbind=true;return this.bindToDomElem(d,B,A)},bindTo:function(C,B,A){if(!B||e.isFunction(B)){A=B;B=C;C=this.domElem}else{if(typeof C=="string"){C=this.elem(C)}}return this.bindToDomElem(C,B,A)},unbindFromDomElem:function(A,B){A.unbind(this._buildEventName(B));return this},unbindFromDoc:function(A){return this.unbindFromDomElem(x,A)},unbindFromWin:function(A){return this.unbindFromDomElem(d,A)},unbindFrom:function(B,A){if(!A){A=B;B=this.domElem}else{if(typeof B=="string"){B=this.elem(B)}}return this.unbindFromDomElem(B,A)},_buildEventName:function(A){var B=this;return A.indexOf(" ")>1?e.map(A.split(" "),function(C){return B._buildOneEventName(C)}).join(" "):B._buildOneEventName(A)},_buildOneEventName:function(C){var E=this,A=E._eventNameCache;if(C in A){return A[C]}var D="."+E._uniqId;if(C.indexOf(".")<0){return A[C]=C+D}var B=".bem_"+E.__self._name;return A[C]=e.map(C.split("."),function(G,F){return F==0?G+B:B+"_"+G}).join("")+D},trigger:function(B,A){this.__base(B=this.buildEvent(B),A).domElem&&this._ctxTrigger(B,A);return this},_ctxTrigger:function(B,A){var E=this,D=f[E.__self._buildCtxEventName(B.type)],C={};D&&E.domElem.each(function(){var G=this,F=D.counter;while(G&&F){var I=e.identify(G,true);if(I){if(C[I]){break}var H=D.ctxs[I];if(H){e.each(H,function(K,J){J.fn.call(J.ctx||E,B,A)});F--}C[I]=true}G=G.parentNode}})},setMod:function(B,C,A){if(B&&typeof A!="undefined"&&B.length>1){var D=this;B.each(function(){D.setMod(e(this),C,A)});return D}return this.__base(B,C,A)},_extractModVal:function(E,B,D){var A=(B||this.domElem)[0],C;A&&(C=A.className.match(this.__self._buildModValRE(E,D||B)));return C?C[2]:""},_extractMods:function(A,E){var D={},B=!A.length,C=0;e.each((E||this.domElem)[0].className.match(this.__self._buildModValRE("("+(B?k:A.join("|"))+")",E,"g"))||[],function(F,G){var I=(G=e.trim(G)).lastIndexOf(o),H=G.substr(0,I-1).lastIndexOf(o);D[G.substr(H+1,I-H-1)]=G.substr(I+1);++C});C<A.length&&e.each(A,function(F,G){G in D||(D[G]="")});return D},_afterSetMod:function(G,C,E,F){var B=this.__self,A=B._buildModClassPrefix(G,F),D=B._buildModValRE(G,F),H=C==="";(E||this.domElem).each(function(){var I=this.className;I.indexOf(A)>-1?this.className=I.replace(D,(H?"":"$1"+A+C)+"$3"):H||e(this).addClass(A+C)});F&&this.dropElemCache(F,G,C)},findElem:function(D,F,E,C){if(arguments.length%2){C=E;E=F;F=D;D=this.domElem}else{if(typeof D=="string"){D=this.findElem(D)}}var B=this.__self,A="."+e.map(F.split(" "),function(G){return s(B._name,G,E,C)}).join(",.");return w(D,A)},_elem:function(B,D,A){var C=B+y(D,A);return this._elemCache[C]||(this._elemCache[C]=this.findElem(B,D,A))},elem:function(D,C,A){if(D.indexOf(" ")<0){return this._elem(D,C,A)}var B=e([]),E=this;e.each(D.split(" "),function(){B=B.add(E._elem(this,C,A))});return B},dropElemCache:function(D,C,A){if(D){var E=this,B=y(C,A);D.indexOf(" ")<0?delete E._elemCache[D+B]:e.each(D.split(" "),function(G,F){delete E._elemCache[F+B]})}else{this._elemCache={}}return this},elemParams:function(A){var B;if(typeof A=="string"){B=A;A=this.elem(A)}else{B=this.__self._extractElemNameFrom(A)}return g(A[0])[s(this.__self.getName(),B)]||{}},containsDomElem:function(A){return A.parents().andSelf().index(this.domElem)>-1},buildSelector:function(B,C,A){return this.__self.buildSelector(B,C,A)},destruct:function(B){var C=this,A=C.__self;C._isDestructing=true;C._needSpecialUnbind&&A.doc.add(A.win).unbind("."+C._uniqId);C.dropElemCache().domElem.each(function(D,E){e.each(r(E),function(F,G){var H=v[G.uniqId];H&&!H._isDestructing&&H.destruct()});l(E)});B||C.domElem.remove();delete v[C.un()._uniqId];delete C.domElem;delete C._elemCache;C.__base()}},{doc:x,win:d,_processLive:function(B){var D=this,C=D._liveInitable;if("live" in D){var A=typeof C=="undefined";if(A^B){if(e.isFunction(D.live)){C=D.live()!==false;D.live=function(){}}else{C=D.live}}}return C},init:function(B,D,C){if(!B||e.isFunction(B)){C=D;D=B;B=x}var A=e.identify();w(B,".i-bem").each(function(){q(e(this),A)});D&&this.afterCurrentEvent(function(){D.call(C||this,B)});this._runAfterCurrentEventFns();return B},destruct:function(B,A,C){if(typeof B!="boolean"){C=A;A=B;B=h}w(A,".i-bem",C).each(function(){e.each(r(this),function(D,E){if(E.uniqId){var F=v[E.uniqId];F&&F.destruct(true)}});l(this)});B||(C?A.empty():A.remove())},update:function(A,B,D,C){this.destruct(A,true);this.init(A.html(B),D,C)},_buildCtxEventName:function(A){return this._name+":"+A},_liveClassBind:function(B,C,G,A){var F=this;if(C.indexOf(" ")>-1){e.each(C.split(" "),function(H,I){F._liveClassBind(B,I,G,A)})}else{var E=p[C],D=e.identify(G);if(!E){E=p[C]={};x.bind(C,F.changeThis(F._liveClassTrigger,F))}E=E[B]||(E[B]={uniqIds:{},fns:[]});if(!(D in E.uniqIds)){E.fns.push({uniqId:D,fn:F._buildLiveEventFn(G,A)});E.uniqIds[D]=E.fns.length-1}}return this},_liveClassUnbind:function(C,D,G){var F=p[D];if(F){if(G){if(F=F[C]){var E=e.identify(G);if(E in F.uniqIds){var B=F.uniqIds[E],A=F.fns.length-1;F.fns.splice(B,1);while(B<A){F.uniqIds[F.fns[B++].uniqId]=B-1}delete F.uniqIds[E]}}}else{delete F[C]}}return this},_liveClassTrigger:function(G){var F=p[G.type];if(F){var C=G.target,A=[];for(var H in F){F.hasOwnProperty(H)&&A.push(H)}do{var B=" "+C.className+" ",E=0;while(H=A[E++]){if(B.indexOf(" "+H+" ")>-1){var D=0,J=F[H].fns,I;while(I=J[D++]){I.fn.call(e(C),G)}if(G.isPropagationStopped()){return}A.splice(--E,1)}}}while(A.length&&(C=C.parentNode))}},_buildLiveEventFn:function(C,A){var B=this;return function(E){var D=[B._name,((E.data||(E.data={})).domElem=e(this)).closest(B.buildSelector()),true],F=a.apply(null,A?D.concat([C,E]):D);F&&(A||C.apply(F,arguments))}},liveInitOnEvent:function(B,A,C){return this.liveBindTo(B,A,C,true)},liveBindTo:function(E,B,D,A){if(!D){D=B;B=E;E=h}if(!E||typeof E=="string"){E={elemName:E}}var C=this;if(E.elemName&&E.elemName.indexOf(" ")>1){e.each(E.elemName.split(" "),function(F,G){C._liveClassBind(s(C._name,G,E.modName,E.modVal),B,D,A)});return C}return C._liveClassBind(s(C._name,E.elemName,E.modName,E.modVal),B,D,A)},liveUnbindFrom:function(B,A,D){var C=this;if(B.indexOf(" ")>1){e.each(B.split(" "),function(E,F){C._liveClassUnbind(s(C._name,F),A,D)});return C}return C._liveClassUnbind(s(C._name,B),A,D)},_liveInitOnBlockInit:function(B,D,C){var A=this._name;u[B].on("init",function(E){var F=E.block[C](A);D&&e.each(F,function(){D.call(this)})});return this},liveInitOnBlockInit:function(A,B){return this._liveInitOnBlockInit(A,B,"findBlocksOn")},liveInitOnBlockInsideInit:function(A,B){return this._liveInitOnBlockInit(A,B,"findBlocksOutside")},on:function(A,E,D,C,B){return A.jquery?this._liveCtxBind(A,E,D,C,B):this.__base(A,E,D,C)},un:function(A,D,C,B){return A.jquery?this._liveCtxUnbind(A,D,C,B):this.__base(A,D,C)},liveCtxBind:function(A,E,D,C,B){return this._liveCtxBind(A,E,D,C,B)},_liveCtxBind:function(A,F,E,D,C){if(e.isFunction(E)){C=D;D=E;E=h}var H=this;if(F.indexOf(" ")>-1){e.each(F.split(" "),function(I,J){H._liveCtxBind(A,J,E,D,C)})}else{var B=H._buildCtxEventName(F),G=f[B]||(f[B]={counter:0,ctxs:{}});A.each(function(){var J=e.identify(this),I=G.ctxs[J];if(!I){I=G.ctxs[J]={};++G.counter}I[e.identify(D)+(C?e.identify(C):"")]={fn:D,data:E,ctx:C}})}return H},liveCtxUnbind:function(A,D,C,B){return this._liveCtxBind(A,D,C,B)},_liveCtxUnbind:function(A,D,C,B){var F=this,E=f[D=F.buildEventName(D)];if(E){A.each(function(){var H=e.identify(this,true),G;if(H&&(G=E.ctxs[H])){C&&delete G[e.identify(C)+(B?e.identify(B):"")];if(!C||e.isEmptyObject(G)){E.counter--;delete E.ctxs[H]}}});E.counter||delete f[D]}return F},_extractElemNameFrom:function(A){var B=A[0].className.match(this._buildElemNameRE());return B?B[1]:h},extractParams:g,_buildModClassPrefix:function(B,A){return s(this._name)+(A?j+(typeof A==="string"?A:this._extractElemNameFrom(A)):"")+o+B+o},_buildModValRE:function(B,A,C){return new RegExp("(\\s?)"+this._buildModClassPrefix(B,A)+"("+k+")(\\s|$)",C)},_buildElemNameRE:function(){return new RegExp(this._name+j+"("+k+")(?:\\s|$)")},buildSelector:function(B,C,A){return"."+s(this._name,B,C,A)},getBlockByUniqId:function(A){return v[A]},getWindowSize:function(){var A=d[0];if(typeof A.innerWidth!="undefined"){return{width:A.innerWidth,height:A.innerHeight}}var B=n();return{width:B.clientWidth,height:B.clientHeight}}})})(BEM,jQuery);$(function(){BEM.DOM.init()});(function(a){var b=a.event.special.leftclick={setup:function(){a(this).bind("click",b.handler)},teardown:function(){a(this).unbind("click",b.handler)},handler:function(c){if(!c.button){c.type="leftclick";a.event.handle.apply(this,arguments);c.type="click"}}}})(jQuery);BEM.DOM.decl({name:"b-pseudo-link",modName:"is-bem",modVal:"yes"},{_onClick:function(a){a.preventDefault();this.hasMod("disabled","yes")||this.afterCurrentEvent(function(){this.trigger("click")})}},{live:function(){this.liveBindTo({modName:"is-bem",modVal:"yes"},"leftclick",function(a){this._onClick(a)})}});BEM.HTML.decl("b-pseudo-link",{onBlock:function(a){var b=a.param("url");a.tag(b?"a":"span").js(true);b&&a.attr("href",b)}});(function(c,b){var d;function a(e){e[0]&&!!e.attr("href")&&(window.location.href=e.attr("href"))}b.block["b-pager"]=function(e){if(d){return e.override&&(d=c(this))}d=c(this);if(e.keydownReaction){c(document).keydown(function(f){if(!f.ctrlKey||c(f.target).is("input, textarea")){return}if(f.keyCode==37){a(d.find(".b-pager__prev"))}else{if(f.keyCode==39){a(d.find(".b-pager__next"))}}})}}})(jQuery,window.Lego);BEM.DOM.decl("b-form-button",{onSetMod:{js:function(){(this._href=this.domElem.attr("href"))&&this.isDisabled()&&this.domElem.removeAttr("href")},focused:{yes:function(){if(this.isDisabled()){return false}this.bindTo("keydown",this._onKeyDown).elem("input").focus()},"":function(){this.unbindFrom("keydown").elem("input").blur()}},disabled:function(c,a){var b=a=="yes";this.elem("input").attr("disabled",b);this._href&&(b?this.domElem.removeAttr("href"):this.domElem.attr("href",this._href));b&&this.domElem.keyup()},pressed:function(b,a){this.isDisabled()||this.trigger(a=="yes"?"press":"release")},hovered:{"":function(){this.delMod("pressed")}},"*":function(a){if(this.isDisabled()&&"hovered pressed".indexOf(a)>-1){return false}}},isDisabled:function(){return this.hasMod("disabled","yes")},url:function(a){if(typeof a=="undefined"){return this._href}else{this._href=a;this.isDisabled()||this.domElem.attr("href",a);return this}},_onKeyDown:function(b){var a=b.keyCode;if((a==13||a==32)&&!this._keyDowned){this._keyDowned=true;this.setMod("pressed","yes").bindTo("keyup",function(){this.delMod("pressed").unbindFrom("keyup");delete this._keyDowned;if(a==32&&this.domElem.attr("href")){document.location=this.domElem.attr("href")}})}},_onClick:function(a){this.isDisabled()?a.preventDefault():this.afterCurrentEvent(function(){this.trigger("click")})}},{live:function(){var a={mouseover:{name:"hovered",val:"yes"},mouseout:{name:"hovered"},mousedown:{name:"pressed",val:"yes"},mouseup:{name:"pressed"},focusin:{name:"focused",val:"yes"},focusout:{name:"focused"}};this.liveBindTo("leftclick",function(b){this._onClick(b)}).liveBindTo("mouseover mouseout mouseup focusin focusout",function(c){var b=a[c.type];this.setMod(b.name,b.val||"")}).liveBindTo("mousedown",function(c){var b=a[c.type];c.which==1&&this.setMod(b.name,b.val||"")})}});BEM.HTML.decl("b-form-button",{onBlock:function(a){a.tag(a.param("url")?"a":"span").attrs({href:a.param("url"),target:a.param("target")}).mods({theme:a.mod("theme")||"grey-19",height:a.mod("height")||19}).content([{elem:"left",tag:"i"},{elem:"content",tag:"span",content:{elem:"text",content:a.content(),tag:"span"}},((a.param("type")=="button"||a.param("type")=="submit")&&{elem:"input",tag:"input",attrs:{type:a.param("type"),disabled:a.param("disabled"),value:""}}),a.param("url")&&{elem:"click",tag:"i"}],true).js(true)}});(function(d){BEM.DOM.decl("b-popupa",{onSetMod:{js:function(){this._owner=null;this._isShowed=false;this._direction=this.getMod("direction")||"down"}},show:function(k){if(!this._isShowed||this._owner!==k){this._owner=k;this._getUnder().show({left:-10000,top:-10000});this.pos()}return this},hide:function(){this._isShowed&&this._getUnder().hide();return this},toggle:function(k){return this.isShowed()?this.hide():this.show(k)},pos:function(){var k=this._calcParams(this._owner);this.elem("tail").css(k.tailOffsets);this.setMod("direction",k.direction)._getUnder().show(k.offsets);return this},isShowed:function(){return this._isShowed},setDirection:function(k){if(this._direction!=k){this._direction=k;this.isShowed()&&this.pos()}},setContent:function(k,m,l){BEM.DOM.update(this.elem("content"),k,m,l);return this.isShowed()?this.pos():this},_isOwnerNode:function(){return !!(this._owner&&this._owner.jquery)},_calcDimensions:function(){var l=this._under.domElem,t=this.__self.doc,o=this._owner,u=this._isOwnerNode(),r=u?o.offset():o,m=u?o.outerWidth():e,n=u?o.outerHeight():e,q=t.scrollLeft(),p=t.scrollTop(),s=this.__self.getWindowSize(),k=parseInt(this.elem("content").css("border-top-width"),10);return{ownerLeft:r.left,ownerTop:r.top,ownerRight:r.left+m,ownerBottom:r.top+n,ownerMiddle:r.left+m/2,underWidth:l.outerWidth(),underHeight:l.outerHeight(),borderWidth:isNaN(k)?0:k,windowLeft:q,windowRight:q+s.width,windowTop:p,windowBottom:p+s.height}},_calcParams:function(){var p=this._calcDimensions();if(this.hasMod("adjustable","no")){return f(this._direction,p)}var k={},m=d.inArray(this._direction,a),l=m,o,n;do{o=a[m];n=k[o]=f(o,p);if(!n.factor){return n}++m==a.length&&(m=0)}while(m!==l);return k["down-right"]},destruct:function(){var k=this._under;if(!k){this.__base.apply(this,arguments)}else{if(!this._destructing){this._destructing=true;BEM.DOM.destruct(false,k.domElem);this.__base(true)}}},_getUnder:function(){var l=this;if(!l._under){var k=d(BEM.HTML.build({block:"i-popup",zIndex:this.params.zIndex,mods:{autoclosable:l.getMod("autoclosable")||"yes",fixed:l.hasMod("direction","fixed")&&"yes"},underMods:l.params.underMods,underMix:[{block:"b-popupa",elem:"under"}]}));(l._under=l.findBlockOn(k,"i-popup")).on({show:function(){l._isShowed=true;l.hasMod("adjustable","no")||(l.bindToWin("resize",l.pos)._isOwnerNode()&&l.bindToDomElem(l._owner.parents(),"scroll",l.pos));l.trigger("show")},hide:function(){l._isShowed=false;l.hasMod("adjustable","no")||(l.unbindFromWin("resize")._isOwnerNode()&&l.unbindFromDomElem(l._owner.parents(),"scroll"));l.trigger("hide")},"outside-click":function(){l.trigger.apply(l,arguments)}}).elem("content").append(l.domElem)}return l._under}},{live:function(){this.liveBindTo("close","leftclick",function(){this.hide()})}});var e=19,b=7,i=15,g=15,h=7,j=8,a=["up","up-right","up-left","down","down-right","down-left","right","right-up","left","left-up"];function f(o,p){var l,m,k,n;switch(o){case"down":case"up":l=c(m={left:p.ownerMiddle-p.underWidth/2,top:o=="down"?p.ownerBottom+h:p.ownerTop-p.underHeight-h},p);k={marginLeft:(p.ownerRight-p.ownerLeft)/2+p.ownerLeft-m.left-i/2,marginTop:(o=="down"?-h+p.borderWidth:-p.borderWidth)};break;case"down-right":case"down-left":case"up-right":case"up-left":n=o=="down-right"||o=="down-left"?"down":"up";l=c(m={left:(o=="down-right"||o=="up-right"?p.ownerLeft:p.ownerRight-p.underWidth),top:n=="down"?p.ownerBottom+h:p.ownerTop-p.underHeight-h},p);k={marginLeft:(p.ownerRight-p.ownerLeft)/2+p.ownerLeft-m.left-i/2,marginTop:(n=="down"?-h+p.borderWidth:-p.borderWidth)};break;case"left":case"right":l=c(m={left:(o=="left"?p.ownerLeft-p.underWidth-b:p.ownerRight+b),top:p.ownerTop-e+g/2},p);k={marginLeft:o=="left"?-p.borderWidth:-b+p.borderWidth,marginTop:e-g/2};break;case"left-up":case"right-up":l=c(m={left:(o=="left-up"?p.ownerLeft-p.underWidth-b:p.ownerRight+b),top:p.ownerTop+g/2+e-p.underHeight},p);n=o=="left-up"?"left":"right";k={marginLeft:n=="left"?-p.borderWidth:-b+p.borderWidth,marginTop:p.ownerTop-m.top+j-g/2}}return{direction:n||o,factor:l,offsets:m,tailOffsets:k}}function c(m,l){var k=0;l.windowTop>m.top&&(k+=l.windowTop-m.top);m.top+l.underHeight>l.windowBottom&&(k+=m.top+l.underHeight-l.windowBottom);l.windowLeft>m.left&&(k+=l.windowLeft-m.left);m.left+l.underWidth>l.windowRight&&(k+=m.left+l.underWidth-l.windowRight);return k}BEM.HTML.decl("b-popupa",{onBlock:function(k){var l=false;d.each(k.param("content"),function(m,n){return !(l=n.elem=="close")});k.mods({theme:"ffffff",direction:"down","has-close":l&&"yes"}).js(true).afterContent({elem:"shadow"})},onElem:{content:function(k){k.wrap({elem:"wrap-cell",tag:"td"}).wrap({tag:"tr"}).wrap({elem:"wrap",tag:"table"})},close:function(k){k.tag("i")},shadow:function(k){k.tag("i")},tail:function(k){k.tag("i").wrapContent({elem:"tail-i",tag:"i"})}}})})(jQuery);(function(d){var c,g=[],a=d.browser;function f(){return g.length?g.shift():c?c.clone():c=b()}function e(h){g.push(h)}function b(){return d((a.safari||a.webkit)&&navigator.userAgent.toLowerCase().indexOf("mobile")>-1?"<div/>":"<iframe"+(a.msie&&a.version<9?' frameborder="0"':"")+"/>")}BEM.DOM.decl("i-popup",{onSetMod:{visibility:{visible:function(){var h=this._getUnder(),i=h.parent();this.hasMod(h,"type","paranja")?i.is("body")||h.appendTo("body"):(i[0]!==this.domElem[0])&&h.prependTo(this.domElem);this._inBody||(this._inBody=!!this.domElem.appendTo("body"));this.trigger("show")},"":function(){var h=this._getUnder();this.hasMod(h,"type","paranja")&&h.remove();this._putUnder();this.trigger("hide")}}},_getUnder:function(){return this._under||(this._under=f().attr("class",this._underClass||(this._underClass=this.findElem("under").remove().attr("class"))))},_putUnder:function(){e(this._under);delete this._under},show:function(h){h&&this.domElem.css(h);return this.setMod("visibility","visible")},hide:function(){return this.delMod("visibility")}},{live:true})})(jQuery);BEM.HTML.decl("i-popup",{onBlock:function(a){a.mod("autoclosable","yes").js(true).wrapContent({elem:"content"}).afterContent({elem:"under",mods:a.param("underMods"),mix:a.param("underMix")}).param("zIndex")&&a.attr("style","z-index:"+(32700+a.param("zIndex")))}});(function(a){BEM.DOM.decl({name:"i-popup",modName:"autoclosable",modVal:"yes"},{onSetMod:{visibility:{visible:function(){var b=a.browser.opera?"keypress":"keydown";this.afterCurrentEvent(function(){this.bindToDoc("leftclick",function(c){this.containsDomElem(a(c.target))||this._onOutClick(c)}).bindToDoc(b,function(c){c.keyCode==27&&this.hide()})});this.__base.apply(this,arguments)},"":function(){return this.unbindFromDoc("leftclick keypress").__base.apply(this,arguments)}}},_onOutClick:function(b){var c=a.Event("outside-click");this.trigger(c,{domEvent:b});c.isDefaultPrevented()||this.hide()}})})(jQuery);(function(){var a=10;BEM.DOM.decl({name:"b-popupa",modName:"direction",modVal:"fixed"},{pos:function(){var c=this._getUnder(),e=-c.domElem.outerWidth()/2,d=-c.domElem.outerHeight()/2,b=this.__self.getWindowSize();c.show({left:"50%",top:"50%",marginLeft:b.width/2-a+e<0?-b.width/2+a:e,marginTop:b.height/2-a+d<0?-b.height/2+a:d});return this}})})();(function(){var c,b={},a=BEM.decl("i-loader",{},{load:function(f,j,i,g){if(typeof j!="string"){g=i;i=j;j=f}var d=b[f];if(d){if(d.successFns[0]){d.successFns.push(i);g&&d.errorFns.push(g)}else{if(d.error){g&&g()}else{this.afterCurrentEvent(i)}}return}var h=document,e=h.createElement("script"),k=function(){a._error(f)};e.type="text/javascript";e.charset="utf-8";e.src=!$.browser.msie||h.documentMode>8?j:j.replace(/(\.[^.]+)$/,".ie$1");e.onerror=k;setTimeout(function(){(c||(c=$("head")[0])).insertBefore(e,c.firstChild)},0);b[f]={successFns:[i],errorFns:g?[g]:[],timer:setTimeout(k,20000)}},loaded:function(d){var g=b[d.id];clearTimeout(g.timer);d.js&&d.js();d.css&&$("head").append('<style type="text/css">'+d.css+"</style>");var e=g.successFns,f;while(f=e.shift()){f()}},_error:function(e){var g=b[e],d=g.errorFns,f;g.error=true;while(f=d.shift()){f()}}})})();(function(){BEM.DOM.decl("b-head-stripe",{onSetMod:{js:function(){this.bindTo("leftclick",this._install);this.bindTo("close","leftclick",function(b){this._close(b)});var a=this.getMod("theme")||this.elem("theme").text();this._changeTheme(a)}},_install:function(b){b.preventDefault();var a=this.elem("install").attr("href");a&&(window.location=a)},_close:function(a){a.preventDefault();a.stopPropagation();$.get(this.elem("close").attr("href"));this.domElem.animate({"margin-top":"-20px"},500);this.setMod("state","closed")},_changeTheme:function(a){if(!a){return}var b=this;BEM.blocks["i-loader"].load("b-head-stripe_theme_"+a,Lego.params["lego-static-host"]+"/blocks/b-head-stripe/_theme/b-head-stripe_theme_"+a+".bembundle.js",function(){b.setMod("theme",a)})}})})();(function(c,b){var a=b.block["b-statcounter__metrika"]=function(d){d.counter&&a.newCounter(d.counter)};a.counters=[];a.newCounter=function(d){a.counters.push(d)};a.callback=function(d){return function(){a.newCounter=function(g){var f=window["yaCounter"+g]=new Ya.Metrika({id:g,ut:"noindex"});f.clickmap();f.trackLinks({external:true})};var e;while(e=a.counters.shift()){a.newCounter(e)}d&&d()}};!(window.Ya&&Ya.Metrika)&&c(function(){var f=document,e=f.createElement("script");e.type="text/javascript";e.src="//mc.yandex.ru/metrika/watch.js";e.setAttribute("async","true");window.yandex_metrika_callback=a.callback(window.yandex_metrika_callback);f.documentElement.firstChild.appendChild(e)})})(jQuery,window.Lego);(function(c,a){var b=a.block["b-head-tabs"]=function(t){var e=c(this),w=c(".b-head-search"),v=w.find(".b-search .b-form-input input:first"),n=a.params.id,j=p(document.location.search),i={www:505,search:521,images:526}[n]||527,f={market:{cvredirect:1,clid:i}},l={news:{rpt:"nnews",grhow:"clutop"},haber:{rpt:"nnews2",grhow:"clutop"},yaca:{rpt:"rs2"},market:{cvredirect:1,clid:i},blogs:{ft:"blog"}},u=(function(){var x={};c.each(["news","yaca","market","blogs","maps","adresa","video","fotki","slovari","auto","images","music","www","aile","yandex","haber","gorsel"],function(){x[this]=["family"]});return x})(),q=(function(){var x={};c.each(["news","yaca","market","blogs","maps","adresa","video","fotki","slovari","auto","images","music","www","aile","yandex","haber","gorsel"],function(){x[this]=["noreask","family"]});return x})(),r=e.find(':not(strong)>a.b-head-tabs__link:not([href$="/all"])').map(function(){var y=this.host.split(".")[0],z=p(this.search),A=z.clid,x=c.param(c.extend(z,g(y,A)),true);return{node:this,clid:A,toServiceId:y,path:b.getHostToUrlMap()[y],host:this.host,searchHost:b.getHostMap()[y],noSearchParamsUrl:x?"?"+x:"",searchParams:c.extend(z,o(y,A))}}).filter(function(){return typeof this.path!=="undefined"}),m,s=w.find(".b-search__advanced")[0];if(s){var h=p(s.search),k=s.pathname.replace(/^\/?(.*)/,"$1");h.text="";r.push({node:s,clid:h.clid,toServiceId:n,path:k,host:s.host,noSearchParamsUrl:k+"?"+c.param(h,true),searchParams:h})}(function(){var x=c.trim(v.val())||t["default"];if(m!=x){m=x;c.each(r,function(){x&&(this.searchParams[b.getSearchParamName(this.toServiceId)]=x);this.node.href=[this.node.protocol+"/",x&&this.searchHost?this.searchHost:this.host,x?this.path+"?"+c.param(this.searchParams,true):this.noSearchParamsUrl].join("/")})}setTimeout(arguments.callee,200)})();function g(x,y){var z=f[x]||{};!z.clid&&y&&(z.clid=y);c.each(u[x]||[],function(){j[this]&&(z[this]=j[this])});return z}function o(y,z){var B=[].concat(q[y]),x=y+n;(x=="imageswww"||x=="wwwimages")&&B.push("site");var A=l[y]||{};c.each(B,function(){j[this]&&(A[this]=j[this])});!A.clid&&z&&y!=="www"&&(A.clid=z);return A}function p(x){var y={};c.each(x.substr(1).split("&"),function(C){var D=this.split("="),z=D[0],B=D[1];if(z){if(y.hasOwnProperty(z)){var A=y[z];c.isArray(A)?A.push(B):y[z]=[A,B]}else{y[z]=B}}});return c.decodeURIComponent!==undefined?d(y):y}function d(y){var x=["site"];c.each(y,function(z,A){if(c.inArray(z,x)>-1){y[z]=c.isArray(A)?A.map(function(B){return c.decodeURIComponent(B)}):c.decodeURIComponent(A)}});return y}};c.extend(b,{getHostToUrlMap:function(){var d={www:"yandsearch",market:"search.xml",maps:"",music:"#/search",video:"#search"};d.harita=d.maps;d.blogs=d.adresa=d.fotki=d.slovari=d.auto=d.market;d.news=d.yaca=d.images=d.gorsel=d.haber=d.aile=d.yandex=d.www;return d},getHostMap:function(){return{}},getSearchParamName:function(d){return"text"}})})(jQuery,window.Lego);(function(a){BEM.DOM.decl("b-dropdowna",{onSetMod:{js:function(){this._getSwitcher().on("click",this._toggle,this)},disabled:function(c,b){this._getSwitcher().setMod(c,b);b=="yes"&&this.getPopup().hide()}},_getSwitcher:function(){return this._switcher||(this._switcher=this.findBlockInside("b-"+(this.getMod(this.elem("switcher"),"type")||"pseudo-link")))},_toggle:function(){this.getPopup().toggle(this.elem("switcher"))},getPopup:function(){return this._popup||(this._popup=this.findBlockInside("b-popupa")).on("outside-click",function(c,b){this._getSwitcher().containsDomElem(a(b.domEvent.target))&&c.preventDefault()},this)},destruct:function(){var b=this._popup;b&&b.destruct.apply(b,arguments);this.__base.apply(this,arguments)}},{live:function(){this.liveInitOnEvent("switcher","leftclick",function(){})}})})(jQuery);BEM.decl("i-statface",{onSetMod:{js:function(){this._data={};this._needSend=false;this.hasMod("send","manual")||$(window).unload(this.changeThis(this.send))}},set:function(a,c){this._needSend=true;var b=this._data;if(typeof a=="object"){$.each(a,function(d,e){b[d]=e})}else{b[a]=c}return this},reset:function(){var a=this;arguments[0]?$.each(arguments,function(c,b){delete a._data[b]}):this._data={};$.isEmptyObject(this._data)&&(this._needSend=false);return this},serialize:function(){var a=this;return $.map(a.params.keys,function(b){return a._data[b]}).join(".")+(a.params.customKeys?$.map(a.params.customKeys,function(b){var c=a._data[b];return"/"+b+"="+(c==undefined?"":c)}).join(""):"")},send:function(b){if(this._needSend){var c=this.params,a=["//",c.host,"/jclck/dtype=stred/pid=",c.pid,"/cid=",c.cid,"/path=",this.serialize(),"/*",location.href].join("");$.ajax({type:"GET",url:a,data:null,complete:b||$.noop,dataType:"script",timeout:500});this._needSend=false}return this},getDefaultParams:function(){return{host:"clck.yandex.ru"}}});(function(b,a){a.block["b-search__input"]=function(e){var f=b(this);var c=b.extend({focus:false,shortcut:false},e);if(c.focus||f.data("lego:focused")){if(!f.data("lego:focused")){var d=document.activeElement;(d&&"input textarea".indexOf(d.tagName.toLowerCase())>-1)||setTimeout(function(){f.focus();if(f[0].createTextRange){var h=f[0].createTextRange(),g=f.val().length;h.collapse();h.moveStart("character",g);h.moveEnd("character",g);h.select()}f.data("lego:focused",true)},0)}if(!!window.history.length&&!b.trim(f.val())){f.bind("keydown",function(g){if(g.keyCode==8){if(!b.trim(f.val())){return window.history.back()}}f.unbind("keydown",arguments.callee)})}f.blur(function(){f.data("lego:focused",false)}).focus(function(){f.data("lego:focused",true)})}if(c.shortcut){b(document).keydown(function(g){if(!g.ctrlKey||b(g.target).is("input, textarea")){return}if(g.keyCode==38){f.focus().select()}})}}})(jQuery,window.Lego);(function(b,a){a.block["b-search__sample"]=function(g){var f=b(this),e=f.closest("form"),d=e.find("input[name='"+(g["for"]||"text")+"']"),c;f.find(".b-pseudo-link").click(function(h){d.data("b-suggest",false).focus().attr("value",g.text||b(h.target).text());c=e.find("input[name='nl']");if(g.nl&&!c.length){c=b('<input type="hidden" name="nl" value="1"/>').insertAfter(d)}b(document).trigger("popupsClose.lego");setTimeout(function(){d.removeData("b-suggest")},0);h.preventDefault()})}})(jQuery,window.Lego);(function(){var b,a;function c(){var d,e=0;while(d=b[e++]){d.val(d.elem("input").val())}}BEM.DOM.decl("b-form-input",{onSetMod:{js:function(){var f=this,d=f.elem("input"),e=f.__self.doc[0].activeElement;f._val=d.val();f._focused=e===d[0];if(!a){b=[];a=f.channel("sys").on({tick:c,idle:function(){a.un("tick",c)},wakeup:function(){a.on("tick",c)}})}f._focused&&f.setMod("focused","yes");if(f.params.autoFocus&&!f._focused&&!(e&&"input textarea".indexOf(e.tagName.toLowerCase())>-1)){f.setMod("focused","yes")._focused=true}f._instanceIndex=b.push(f.bindTo(d,{focus:f._onFocus,blur:f._onBlur}))-1;f.params.shortcut&&f.bindToDoc("keydown",function(g){if(g.ctrlKey&&g.keyCode==38&&!$(g.target).is("input, textarea")){f.setMod("focused","yes")}})},disabled:function(e,d){this.elem("input").attr("disabled",d=="yes")},focused:function(e,d){if(this.hasMod("disabled","yes")){return false}var f=d=="yes";f?this._focused||this._focus():this._focused&&this._blur();this.afterCurrentEvent(function(){this.trigger(f?"focus":"blur")})}},onElemSetMod:{message:{visibility:function(g,h,d){var i=this,f=i.getMod(g,"type");if(f){var e=true;d||i.elem("message","type",f).each(function(){this!=g[0]&&i.hasMod($(this),"visibility","visible")&&(e=false)});e&&i.toggleMod("message-"+f,"yes","",d==="visible")}}}},val:function(f,e){if(typeof f=="undefined"){return this._val}if(this._val!=f){var d=this.elem("input");d.val()!=f&&d.val(f);this._val=f;this.trigger("change",e)}return this},name:function(d){return this.elem("input").attr("name")},_onFocus:function(){this._focused=true;return this.setMod("focused","yes")},_onBlur:function(){this._focused=false;return this.delMod("focused")},_focus:function(){var e=this.elem("input")[0];if(e.createTextRange&&!e.selectionStart){var d=e.createTextRange();d.move("character",e.value.length);d.select()}else{e.focus()}},_blur:function(){this.elem("input").blur()},destruct:function(){this.__base.apply(this,arguments);this.params.shortcut&&this.unbindFromDoc("keydown");b.splice(this._instanceIndex,1);var e=this._instanceIndex,d;while(d=b[e++]){--d._instanceIndex}}});BEM.HTML.decl("b-form-input",{onBlock:function(d){var e=d.param("id")||d.generateId();d.tag("span").tParam("id",e).tParam("has-clear",d.mod("has-clear")==="yes").afterContent({elem:"box",tag:"span",content:{elem:"input",tag:d.mod("type")||"input",attrs:{value:d.param("value"),name:d.param("name"),id:e}}}).js(true)},onElem:{label:function(d){d.tag("label").attr("for",d.tParam("id"))},box:function(d){if(d.tParam("has-clear")){d.afterContent({elem:"clear",tag:"span"})}}}})})();(function(){var f,a=0,c=false,e=0,d=BEM.channel("sys"),b=50;BEM.decl("i-system",{},{start:function(){$(document).bind("mousemove keydown",function(){e=0;if(c){c=false;d.trigger("wakeup")}});this._tick()},_tick:function(){var g=this;d.trigger("tick",{counter:a++});if(!c&&(e+=b)>3000){c=true;d.trigger("idle")}f=setTimeout(function(){g._tick()},b)}}).start()})();(function(){var a={};BEM.decl("i-request",{get:function(c,e,b,d){if(!$.isFunction(b)){d=b;b=this.params.onError}this._get(c,e,b,$.extend({},this.params,d))},_get:function(e,g,d,f){var h=this,b=arguments,c=h._buildCacheKey(e,f);h.afterCurrentEvent(function(){var i=a[f.cacheGroup];f.cache&&i&&c in i.data?g.call(h.params.callbackCtx,i.data[c]):h._do.apply(h,b)})},_do:function(c,e,b,d){},_onSuccess:function(c,b,d,e){e.cache&&this.putToCache(e,c,d)},_buildCacheKey:function(b,c){return typeof b=="string"?b:$.param(b)},putToCache:function(f,d,e){var b=a[f.cacheGroup]||(a[f.cacheGroup]={keys:[],data:{}});if(b.keys.length>=f.cacheSize){delete b.data[b.keys.shift()]}var c=this._buildCacheKey(d,f);b.data[c]=e;b.keys.push(c)},dropCache:function(){delete a[this.params.cacheGroup]},getDefaultParams:function(){return{cache:false,cacheGroup:"default",cacheSize:100,callbackCtx:this}}})})();BEM.decl({block:"i-request_type_ajax",baseBlock:"i-request"},{onSetMod:{js:function(){this.__base();this._requestNumber=this._number=this._preventNumber=this._retryCount=0}},_get:function(b,d,a,c){this._number++;this._requestNumber++;this._retryCount=c.retryCount;this.__base.apply(this,arguments)},_do:function(d,f,c,e){var g=this;if(g._number>g._preventNumber){var a=arguments,b={data:e.data?$.extend({},e.data,d):d,success:g._wrapCallback(function(j,h,i){g._onSuccess(g._buildCacheKey(d,e),d,j[0],e);g._allowCallback(h,i)&&f.apply(e.callbackCtx,j)}),error:g._wrapCallback(function(j,h,i){g._allowCallback(h,i)&&(g._retryCount-->0?setTimeout(function(){g._do.apply(g,a)},e.retryInterval):c&&c.apply(e.callbackCtx,j))})};$.each(["url","dataType","timeout","type"].concat(e.paramsToSettings||[]),function(j,h){b[h]=e[h]});$.ajax(b)}},_wrapCallback:function(c){var a=this._requestNumber,b=this._number;return function(d){d!==null&&c(arguments,a,b)}},_allowCallback:function(a,b){return b>this._preventNumber&&this._requestNumber==a},_buildCacheKey:function(a,b){return typeof a=="string"?a:this.__base(a)+b.url},abort:function(){this._preventNumber=++this._number},preventCallbacks:function(){this.abort()},getDefaultParams:function(){return $.extend(this.__base(),{cache:true,type:"GET",dataType:"jsonp",timeout:20000,retryCount:0,retryInterval:2000})}});BEM.decl({name:"b-form-input__dataprovider",baseBlock:"i-request_type_ajax"},{get:function(a,b){return this.__base({part:a},function(c){b.call(this,{items:c[1],metainfo:c[2]})})}});BEM.DOM.decl("b-autocomplete-item",{val:function(){return this.params.val||this.elem("text").text()||this.domElem.text()},enter:function(){},select:function(a){}},{live:function(){this.liveBindTo("mouseover mouseout mousedown",function(a){this.trigger(a.type)})}});BEM.HTML.decl("b-autocomplete-item",{onBlock:function(a){a.tag("li").content(a.param("data")).js(true)}});BEM.HTML.decl({name:"b-autocomplete-item",modName:"type",modVal:"hl"},{onBlock:function(a){a.content($.map(a.param("data").slice(1),function(b){return $.isArray(b)?{tag:"span",elem:"highlight",content:b[0]}:b}))}});BEM.HTML.decl({name:"b-autocomplete-item",modName:"type",modVal:"fact"},{onBlock:function(a){var b=a.param("data").slice(1);a.content([{tag:"span",elem:"text",content:b[0]},{tag:"span",elem:"fact",content:[" — ",b[1]]}])}});BEM.DOM.decl({name:"b-autocomplete-item",modName:"type",modVal:"nav"},{enter:function(){return false},select:function(a){a&&$('<form style="display:none" action="'+this.val()+'" target="_blank"/>').appendTo("body").submit().remove();return false}});BEM.HTML.decl({name:"b-autocomplete-item",modName:"type",modVal:"nav"},{onBlock:function(a){var c=a.param("data"),b="http://"+c[2];a.js({val:b}).content({elem:"link",url:b,data:c})},onElem:{link:function(a){var b=a.param("data");a.tag("a").attrs({href:a.param("url"),target:"_blank"}).content([{elem:"link-url",tag:"span",content:b[2]},{elem:"link-info",tag:"span",content:" — "+b[1]}])}}});BEM.HTML.decl({name:"b-autocomplete-item",modName:"type",modVal:"nah"},{onBlock:function(a){a.content(a.param("data")[1])}});(function(){var b=BEM.HTML,a=BEM.DOM;a.decl({name:"b-form-input",modName:"autocomplete",modVal:"yes"},{onSetMod:{js:function(){var d=this;d._dataprovider=BEM.create(d.params.dataprovider.name||d.__self.getName()+"__dataprovider",$.extend(d.params.dataprovider,{callbackCtx:d}));d._preventRequest=true;d.__base.apply(d,arguments);d._userVal=d.val();var c=d._focused;c&&d.delMod("focused");d.elem("input").attr("autocomplete","off");d._preventRequest=false;c&&d.setMod("focused","yes");d._items=[];d._curItemIndex=-1;d._doRequest=$.debounce(d._doRequest,50)},focused:{yes:function(){this.__base();this.on("change",this._onChange())},"":function(){this.__base();this.un("change",this._onChange)._preventHide||this._getPopup().hide()}}},getDataprovider:function(){return this._dataprovider},_onChange:function(){this._preventRequest||this._doRequest();return this._onChange},_onKeyDown:function(h){if(h.keyCode==38||h.keyCode==40){h.preventDefault();var c=this._items.length;if(c){var g=h.keyCode-39,d=this._curItemIndex,f=0;do{d+=g;d=d<0?c-1:d>=c?0:d}while(this._onEnterItem(this._items[d],true)===false&&++f<c)}}},_onKeyPress:function(c){if(c.keyCode==13&&this._curItemIndex>-1){c.preventDefault();this._onSelectItem(this._items[this._curItemIndex],true)}},_getPopup:function(){var f=this;if(!f._popup){var c=$.browser.opera?"keypress":"keydown",e=f.__self.getName(),d=[{elem:"items",tag:"ul",mix:[{block:e,elem:"popup-items"}]},{block:"b-form-input",elem:"shadow",tag:"i"}];f._hasPopupFade()&&d.push({block:e,elem:"fade"});f._popup=$(b.build({block:"i-popup",mix:[{block:e,elem:"popup",mods:f.params.popupMods}],content:d})).bem("i-popup").on({show:function(){f.bindTo("keypress",f._onKeyPress).bindTo(c,f._onKeyDown).bindToWin("resize",f._updatePopupPos)},"outside-click":function(h,g){f.containsDomElem($(g.domEvent.target))&&h.preventDefault()},hide:function(){f.unbindFrom("keypress "+c).unbindFromWin("resize")._curItemIndex=-1}});$.each({mouseover:f._onEnterItem,mouseout:f._onLeaveItem,mousedown:f._onSelectItem},function(h,g){BEM.blocks["b-autocomplete-item"].liveCtxBind(f._popup.domElem,h,function(i){g.call(f,i.block)})})}return f._popup},_hasPopupFade:function(){return(this.params.popupMods||{}).fade=="yes"},_updatePopupPos:function(){var d=this.elem("box"),c=d.offset();c.top+=d.outerHeight();this._hasPopupFade()&&(c.width=d.outerWidth());this._getPopup().show(c)},_onEnterItem:function(e,f){if(e.hasMod("enterable","no")){return false}var c=this._items,d=this._curItemIndex;d>-1&&c[d].delMod("hovered");d=this._getItemIndex(e);d>-1&&c[this._curItemIndex=d].setMod("hovered","yes");if(f&&this.params.updateOnEnter){this._preventRequest=true;this.val(e.enter()!==false?e.val():this._userVal,{source:"autocomplete",itemIndex:this._curItemIndex}).del("_preventRequest")}},_onLeaveItem:function(d){var c=this._curItemIndex;if(c>-1&&c==this._getItemIndex(d)){this._items[c].delMod("hovered");this._curItemIndex=-1}},_onSelectItem:function(c,d){if(c.hasMod("enterable","no")){return this.afterCurrentEvent(function(){this.setMod("focused","yes")})}var e=c.select(d||false)!==false;this._preventRequest=true;e&&this.val(this._userVal=c.val(),{source:"autocomplete",itemIndex:this._curItemIndex})._getPopup().hide();if(d){this.del("_preventRequest")}else{e||(this._preventHide=true);this.afterCurrentEvent(function(){this.setMod("focused","yes").del("_preventRequest","_preventHide")})}e&&this.trigger("select",{item:c,byKeyboard:d})},_getItemIndex:function(c){return $.inArray(c,this._items)},_doRequest:function(){var c=this;c._userVal=c.val();c.trigger("data-requested")._dataprovider.get(c.val(),function(f){c.trigger("data-received",f);var d=c._getPopup(),e=f.items||f;if(e.length){c._curItemIndex=-1;a.update(d.elem("items"),c._buildItemsHtml(e),function(){c._updatePopupPos();c._items=d.findBlocksInside("b-autocomplete-item");c.trigger("update-items")})}else{d.hide()}})},_buildItemsHtml:function(c){return b.build($.map(c,function(e,d){return{block:"b-autocomplete-item",data:e,mods:{type:$.isArray(e)?e[0]:"text"}}}))},getDefaultParams:function(){return $.extend(this.__base(),{updateOnEnter:true})}})})();(function(){var c=false,a=false,b=[];BEM.decl("i-https",{},{isHTTPSSupported:function(){return a},enableHTTPS:function(){a=true;var d;while(d=b.shift()){d()}},getHTTPSHost:function(){var d=Lego.params["lego-static-host"];if(d){if(d.indexOf("https:")==0){return d}if(d.indexOf("http:")==0){return"https"+d.substr(4)}if(d.indexOf("//")==0){return"https:"+d}else{return"https://"+location.host+d}}else{return"https://"+location.host}},checkForHTTPS:function(d){if(a){return d()}b.push(d);if(c){return}c=true;BEM.create("i-request_type_ajax",{url:this.getHTTPSHost()+"/blocks/i-https/check-https.js",dataType:"script"}).get({},function(){},false,this)}})})();(function(){var a=BEM.blocks["i-https"];BEM.DOM.decl("b-head-userinfo",{onSetMod:{js:function(){var b=this;a.checkForHTTPS(function(){b._onHttps()})}},_onHttps:function(){var b=this.findBlockInside(this.elem("exit"),"b-link"),c=b&&(b=b.domElem,b.attr("href"));if(c&&a.isHTTPSSupported()){b.attr("href",c.replace(/^http:/,"https:"))}}})}());(function(a){if(!a){a=window.Lego={}}var b="…";a.cleverSubstring=function(e,c,d){return(e.length>c+d)?e.substring(0,c-1)+b:e}})(window.Lego);BEM.decl("i-user-services",{},{get:function(a){this._data?a(this._data):this._get(a)},getApiUrl:function(){return Lego.params["pass-host"]+"/services?callback=?"},_callbacks:[],_get:function(a){this._callbacks.push(a);var b=this;this._callbacks.length==1&&$.getJSON(b.getApiUrl(),{locale:Lego.params.locale,login:"yes","current-login":Lego.params.login,yu:Lego.getCookie("yandexuid")},function(c){b._data=c;$.each(b._callbacks,function(){this(c)});b._callbacks.length=0})}});(function(c,a){var b=a.block["b-head-user"]=function(g){var e=c(this);var d=parseInt(g.maxlength,10)||1000,f=parseInt(g["maxlength-relative"],10)||3;if(a.params.login!=""||a.params.displayName){BEM.blocks["i-user-services"].get(function(h){b.buildHtml(h,e,d,f)})}};b.buildHtml=function(h,l,d,f){if(!h||!h.services){return}var e=h.displayName&&h.displayName.social,k=a.cleverSubstring(c("<div/>").text(b.getUserLogin(h)).html(),d,f),g=e?'<b class="b-user b-user_social_yes b-user_provider_'+e.provider+'"><span class="b-user__provider-ico"></span>'+k+"</b>":'<b class="b-user"><b class="b-user__first-letter">'+k.substring(0,1)+"</b>"+k.substring(1)+"</b>",j="<a class=\"b-pseudo-link b-pseudo-link_is-bem_yes i-bem\" onclick=\"return {'b-pseudo-link':{name:'b-pseudo-link'}}\""+(!e&&l.hasClass("b-head-user_type_com")?"":' href="'+(e?a.params["social-host"]:"http://i.yandex.ru")+'"')+">"+g+"</a>",i='<div class="b-dropdowna b-dropdowna_is-bem_yes i-bem" onclick="return {\'b-dropdowna\':{name:\'b-dropdowna\'}}"><span class="b-dropdowna__switcher">'+j+'</span><div class="i-popup i-popup_autoclosable_yes i-popup_is-bem_yes i-bem" onclick="return {\'i-popup\':{name:\'i-popup\'}}"><div class="i-popup__content"><div class="i-popup__under b-popupa__under"></div><div class="b-popupa b-popupa_theme_ffffff b-popupa_direction_down b-popupa_is-bem_yes i-bem b-dropdowna__popup" onclick="return {\'b-popupa\':{name:\'b-popupa\'}}"><i class="b-popupa__shadow"></i><i class="b-popupa__tail"><i class="b-popupa__tail-i"></i></i><table cellpadding="0" cellspasing="0" class="b-popupa__wrap"><tr><td class="b-popupa__wrap-cell"><div class="b-popupa__content"><div class="b-menu b-menu_layout_vert b-dropdowna__menu"><ul class="b-menu__layout-vert">';e&&l.addClass("b-head-user_social_yes");c.each(h.services,function(m){i+='<li class="b-menu__layout-vert-cell'+(m==0?" b-menu__layout-vert-cell_position_first":"")+'"><div class="b-menu__item">';if(a.params.id==this.id&&a.params.index){i+="<strong>"+this.title+"</strong>"}else{i+='<a class="b-link b-head-user__link" href="'+this.url+'" onmousedown="Lego.ch(\''+a.params.id+".login.myservices."+this.id+"',this)\">"+this.title+"</a>"}i+="</div></li>"});if(h.services.length){i+='<li class="b-menu__layout-vert-separator"><i class="b-menu__separator"></i></li>'}i+=b.getUserItems(h,l);i+="</ul></div></div></td></tr></table></div></div></div></div>";l.find(".b-user").replaceWith(i);BEM.DOM.init(l)};b.getApiUrl=function(){return a.params["pass-host"]+"/services?callback=?"};b.getUserItems=function(f){var e=f.displayName&&f.displayName.social?[{name:a.message("b-head-userinfo.user:profile","Мои профили"),url:a.params["social-host"]}]:[{name:a.message("b-head-userinfo.user:passport","Паспорт"),url:a.params["passport-host"]},{name:a.message("b-head-userinfo.user:change-password","Сменить пароль"),url:a.params["passport-host"]+"/passport?mode=changepass&retpath="+encodeURIComponent(a.params.retpath)+"/"}];var d="";c.each(e,function(h,g){d+='<li class="b-menu__layout-vert-cell'+(h==e.length-1?" b-menu__layout-vert-cell_position_last":"")+'"><div class="b-menu__item"><a class="b-link b-head-user__link" href="'+g.url+'">'+g.name+"</a></div></li>"});return d};b.getUserLogin=function(d){return a.params.displayName&&a.params.displayName.social&&a.params.displayName.name||d.displayName&&d.displayName.name||a.params.login||d.login}})(jQuery,window.Lego);(function(b,a){var c=BEM.blocks["i-https"];a.block["b-domik"]=function(x){var d=this,s=d.find(".b-domik__lock"),u=d.find(".b-domik__social"),k=arguments.callee,n=b('<input type="hidden" name="timestamp"/>'),v=this.attr("class").match(/\bb-domik_type_(\w+)\b/)[1];if(u.length&&a.params["social-host"]){if(a.params["social-providers"]){y(a.params["social-providers"])}else{b.getJSON(a.params["social-host"]+"/providers.jsonp?callback=?",function(B){y(B)})}var A=new a.block["i-social"];b(".b-domik__social-link").live("click",function(B){j();b(".b-domik__social-popup").each(function(){b(this).bem("b-popupa").hide()});A.start(function(){if(!a.params.retpath||top.location.href==a.params.retpath){top.location.reload()}else{top.location.href=a.params.retpath}},function(){u.removeClass("b-domik__social_loading_yes").css("height","")},{provider:this.onclick()["b-domik"].provider});B.preventDefault()})}function y(C){if(!C.length){u.remove();return}u.html(m(C));var D=u.find(".b-dropdowna");if(!D.length){return}BEM.DOM.init(D);var E=D.bem("b-dropdowna").getPopup();function B(){E.pos()}E.on("show",function(){b(window).scroll(B)}).on("hide",function(){b(window).unbind("scroll",B)})}function m(D){var E=[{block:"b-domik",elem:"social-title",content:a.message("b-domik:enter-with","Войти при помощи")}];D=b.grep(D,function(F){return F.enabled});var C=b.grep(D,function(F){return F.primary});C=b.map(C,function(F){return{block:"b-domik",tag:"a",elem:"social-link",content:{elem:"social-icon",mods:{provider:F.code},tag:"i"},js:{provider:F.code},attrs:{tabIndex:103}}});[].push.apply(E,C);function B(I){var H=b.map(I,function(K){return{block:"b-domik",tag:"a",elem:"social-link",mods:{},attrs:{tabIndex:103},js:{provider:K.code},content:[{tag:"i",elem:"social-icon",mods:{provider:K.code}},K.display_name]}});H.length%2&&(H[H.length]="");var G=[],J;for(var F=0;F<H.length;F++){F%2||G.push(J={tag:"tr",content:[]});J.content.push({tag:"td",elem:"provider",content:H[F]})}return G}if(C.length<D.length){E.push({tag:"div",block:"b-dropdowna",js:true,content:[{elem:"switcher",tag:"span",content:{tag:"a",block:"b-pseudo-link",mods:{"is-bem":"yes"},js:true,attrs:{href:a.message("b-domik:passport-link","http://passport.yandex.ru/"),tabIndex:103}}},{block:"b-popupa",js:true,tag:"div",mix:[{block:"b-dropdowna",elem:"popup"},{block:"b-domik",elem:"social-popup",mods:{type:v}}],content:[{elem:"tail",tag:"i"},{elem:"content",content:[{elem:"providers",tag:"table",content:B(D)}]}]}]})}E.push({block:"b-spin",mods:{theme:v=="bigform"?"blue-50":"blue-16"}});return BEM.HTML.build(E)}function j(){u.css("height",u.height()).addClass("b-domik__social_loading_yes")}k.isHTTPSSupported=false;d.append(n).submit(function(){n.val(+new Date);var B=d.attr("action");if(B&&a.block["b-domik"].isHTTPSSupported){d.attr("action",B.replace(/^http:/,"https:"))}});var q=d.find("input[name=login]"),r=d.find("input[type=submit]");q.change(function(){var B=q.val();B.indexOf("@")==-1&&/[а-яçğıöşü]/i.test(B)?i(x&&x.err_msg||a.message("b-domik:wrong-keyboard-layout","смените раскладку")):o()});q.change();var h;function i(B){!h&&(h=b('<div class="b-domik__error"/>').insertAfter(d.find(".b-domik__password")));h.text(B).show()}function o(){h&&h.hide()}k.enableHTTPS=function(){k.isHTTPSSupported=true;s.addClass("b-domik__lock_visibility_visible")};k.checkForHTTPS=c.checkForHTTPS;c.checkForHTTPS(function(){k.enableHTTPS()});var w=k.getLockBaloonContent||function(){var C=/\(\(([^\)]+)\)\)/g;function B(F,E){return F.replace(C,'<a class="b-link" href="'+E+'">$1</a>')}var D=a.message("b-domik.lock-balloon:content","Логин и пароль будут передаваться в ((безопасном режиме))");return B(D,a.message("b-domik.lock-balloon:linkHref","http://help.yandex.ru/mail/?id=1113446"))},e=b(BEM.HTML.build({block:"b-popupa",mods:{direction:"right",theme:"feffd6"},mix:[{block:"b-domik",elem:"lock-balloon"}],content:[{elem:"tail",tag:"i"},{elem:"content",content:w()}]}));d.append(e);var l=e.bem("b-popupa"),g=300,p;function f(){p=setTimeout(function(){l.hide()},g)}var z;function t(){p&&clearTimeout(p);p=null;l.show(s);if(!z){z=true;e.hover(t,f)}}s.hover(t,f)}})(jQuery,window.Lego);(function(a){window.Lego||(window.Lego={block:{}});Lego.block["i-social"]=function(d){function e(j){var i=this,g={};this.url=j.startUrl+"?";delete j.startUrl;this.popupName=j.popupName;this.yaWindow=null;this.wTimer=null;this.paramsDefault=j;function l(){var m;if(!i.yaWindow){return true}try{m=i.yaWindow.closed}catch(n){m=true}return m}function k(){if(l()){i.wTimer=clearInterval(i.wTimer);i.onFailure({status:"error"})}}function f(v){var y=i.popupName,q=500,z=280,s=Math.round(((window.opera?window.innerWidth:screen.availWidth)-q)/2),w=Math.round(((window.opera?window.innerHeight:screen.availHeight)-z)/2),n="scrollbars=yes, resizable=1, menubar=0, toolbar=0, status=0, location=0, directories=0, left="+s+", top="+w+", width="+q+", height="+z;var r={};for(var u in i.paramsDefault){r[u]=i.paramsDefault[u]}for(var u in v){r[u]=v[u]}var x=["ddom="+(r.ddom||(location.hostname==document.domain?"":document.domain))];r.retpath+=(r.retpath.match("#")?"&":"#")+x.join("&");var m=i.url;var o=[];for(var t in r){o.push(encodeURIComponent(t)+"="+encodeURIComponent(r[t]))}m+=o.join("&");i.yaWindow=window.open(m,y,n);i.yaWindow.focus();if(i.yaWindow){i.wTimer=setInterval(k,500)}}function h(){this.handlers={onSuccess:null,onFailure:null};i.wTimer=clearInterval(i.wTimer);l()||i.yaWindow.close();i.yaWindow=false}this.start=function(n,m,o){h();i.handlers={onSuccess:n,onFailure:m};f(o)};this.onSuccess=function(n){h();var m=i.handlers.onSuccess;m&&m()};this.onFailure=function(n){h();var m=i.handlers.onFailure;m&&m()}}arguments.callee.Broker=e;var c=arguments.callee.defaultParams={startUrl:Lego.params["social-startUrl"]||Lego.params["social-host"]+"/broker/start",retpath:Lego.params["social-retpath"]||location.protocol+"//"+location.host+Lego.params["lego-path"]+"/blocks/i-social/closer/i-social__closer.html",consumer:Lego.params.id||"morda",popupName:"social_"+(Lego.params.id||"morda"),application:"",action_if_anonymous:"authorize",result_location:"fragment"};var b=arguments.callee.broker=new e(a.extend(c,d));return b}})(jQuery);(function(b,a){a.block["b-hint-input"]=function(){var i=b(this),e=b("#"+i.attr("for")),g=function(){i.hide()},d=function(){i.show()},c=function(){h||e.val()?g():d()},h=false;e.bind("focus blur",function(j){h=j.type=="focus";c()}).bind("change mouseover",c);i.click(function(){e.focus()});e.change();var f=e.val();(function(){if(e.val()!=f){b(e).trigger("change");f=e.val()}setTimeout(arguments.callee,200)})()}})(jQuery,window.Lego);(function(b,a){a.block["b-domik_type_popup"]=function(h){var e=b(this),d;b(".b-head-userinfo__entry .b-pseudo-link").click(function(i){i.preventDefault();setTimeout(function(){c()},0)});function c(j){if(!d){g()}if(j){a.params.retpath=j}var i="&from="+a.params["passport-msg"]+"&retpath="+encodeURIComponent(a.params.retpath);e.attr("action",a.params["passport-host"]+"/passport?mode=auth"+i);d.find(".b-domik__register .b-domik__link").attr("href",a.params["passport-host"]+"/passport?mode="+(h.regMode||"register")+i);b(document).bind("keyup.b-domik",function(k){if(k.keyCode==27){f()}}).bind("click.b-domik",function(m){var l=b(m.target),k=l.parents().andSelf();if(l.is("input[type=button]")||k.index(d)==-1&&!k.is(".b-popupa")){f()}});!d.hasClass("b-domik_position_popup-50-50")&&window.scrollTo(0,0);d.show().find("input[name=login]").focus();b(document).trigger("show.b-domik_type_popup")}function f(){b(document).unbind(".b-domik");d.hide()}function g(){d=b('<form class="'+e.attr("class").replace("g-hidden","")+'" method="POST"><i class="b-domik__roof"></i><table class="b-domik__shadow"><tr><td class="b-domik__shadow__lt"> </td><td class="b-domik__shadow__t"></td><td class="b-domik__shadow__rt"> </td></tr><tr><td class="b-domik__shadow__l"> </td><td class="b-domik__shadow__m"><div class="b-domik__form"><div class="b-domik__title">'+(h.title||a.message("b-domik:title","Вход"))+'</div><div class="b-domik__username"><label for="b-domik_popup-username" class="b-hint-input g-js" onclick="return {name:\'b-hint-input\'}">'+a.message("b-domik:login","логин")+'</label><div class="b-input"><input class="b-input__text" id="b-domik_popup-username" name="login" value="'+e.find("input[name=login]").val()+'" tabindex="11"/></div></div><div class="b-domik__password"><label for="b-domik_popup-password" class="b-hint-input g-js" onclick="return {name:\'b-hint-input\'}">'+a.message("b-domik:password","пароль")+'</label><div class="b-domik__lock"></div><div class="b-input"><input class="b-input__text" id="b-domik_popup-password" name="passwd" value="'+e.find("input[name=passwd]").val()+'" type="password" tabindex="11"/></div></div><div class="b-domik__permanent"><input class="b-domik__check" id="b-domik_popup-permanent" name="twoweeks" type="checkbox" value="yes" tabindex="11"/><label for="b-domik_popup-permanent" class="b-domik__permanent-label">'+a.message("b-domik:permanent","запомнить меня")+'</label> <span class="b-domik__help">(<a class="b-domik__link" href="'+a.message("b-domik:help-link","http://help.yandex.ru/passport/?id=922493")+'" tabindex="12">'+a.message("b-domik:help","что это")+'</a>)</span></div><div class="b-domik__button"><input class="b-domik__submit" type="submit" value="'+a.message("b-domik:logon","Войти")+'" tabindex="11"/><input class="b-domik__submit" type="button" value="'+a.message("b-domik:cancel","Отмена")+'" tabindex="11"/></div><div class="b-domik__social"></div><div class="b-domik__register"><a class="b-domik__link" href="" tabindex="11">'+(h.register||a.message("b-domik:register","Зарегистрироваться"))+'</a></div><div class="b-domik__remember"><a class="b-domik__remind" href="'+a.params["passport-host"]+'/passport?mode=restore" tabindex="11">'+a.message("b-domik:remember","Напомнить пароль")+'</a></div></div></td><td class="b-domik__shadow__r"> </td></tr><tr><td class="b-domik__shadow__lb"> </td><td class="b-domik__shadow__b"></td><td class="b-domik__shadow__rb"> </td></tr></table><iframe class="b-popup-under" frameborder="0"></iframe></form>').submit(function(i){i.preventDefault();e.find("input[name=login]").val(d.find("input[name=login]").change().val()).end().find("input[name=passwd]").val(d.find("input[name=passwd]").change().val()).end().find("input[name=twoweeks]").attr("checked",d.find("input[name=twoweeks]").attr("checked")||false).end().append('<input type="hidden" name="timestamp" value="'+ +new Date+'"/>').attr("action",a.block["b-domik"].isHTTPSSupported?e.attr("action").replace(/^http:/,"https:"):e.attr("action")).submit()});if(a.block["b-domik"]){a.block["b-domik"].call(d)}b("body").append(d);a.blockInit(d)}arguments.callee.login=function(){var i=arguments;setTimeout(function(){c.apply(this,i)},0)}}})(jQuery,window.Lego);(function(){var a=Lego.block["i-flashcookie"],b=function(e){var c=this,d=arguments.callee.load=function(){location.protocol.indexOf("https")<0&&c.replaceWith($('<iframe src="http://kiks.yandex'+location.host.match(/.*([.].*?):?\d{0,}$/)[1]+'/su/" class="'+c.attr("class")+'"/>'))};c.hasClass("i-flashcookie_autoload_no")||d()};Lego.block["i-flashcookie"]=function(d){var c=this.hasClass("i-flashcookie_type_iframe")?b:a;c&&c.call(this,d)}})();
/*!jeanny-ignore*/
(function(b,a){a.block["b-keyboard-loader"]=function(g){var i=b(document.body),e=b(window),j=this,l;j.click(function(s){s.preventDefault();var r=b(this),q=(this.className.match(/b-keyboard-loader_lang_(\w+)/)||["",""])[1];switch(q){case"uk":q="ua";break;case"kk":q="kz";break;case"be":q="by";break}var u=r.hasClass("b-keyboard-loader_dropdowna_yes");if(!i.find(".b-keyboard")[0]){var t=a.params["lego-static-host"]+(a.params["lego-static-host"]=="/"?"":"/")+"blocks/",p=(u?[t+"b-keyboard/_keyboard.js"]:[t+"b-keyboard-popup/_b-keyboard-popup.js",t+"b-keyboard/_b-keyboard.js",t+"b-dropdown/_b-dropdown.js"]),o=b.browser.msie&&((!document.documentMode)||(document.documentMode<9))?".ie":"",n=[t+"b-keyboard/_keyboard"+o+".css"];r.append('<i class="b-keyboard-loader__progress"/>');b.xLazyLoader({name:"b-keyboard",js:p,css:n,success:function(){a.block["b-keyboard-popup"]({lang:q,isDropdowna:u});i.append('<div class="b-keyboard'+(u?" b-keyboard-loader_dropdowna_yes":"")+" g-js\" onclick=\"return {name: 'b-keyboard', lang: '"+q+"'};\"></div>");a.blockInit(i,".b-keyboard");r.find(".b-keyboard-loader__progress").remove();e.trigger("keyboardOpened.lego",{afterLoad:true})}})}else{h()}});function h(n){var p=n?"addClass":"toggleClass",o=i.find(".b-keyboard-popup");if(o.length){i.find(".b-keyboard-popup__gap")[p]("g-hidden");if(i.find(".b-keyboard-popup")[p]("g-hidden").hasClass("g-hidden")){e.trigger("keyboardClosed");b(document).trigger("popupsClose.lego")}else{e.trigger("keyboardOpened.lego")}o.data("isHidden",false)}}e.bind("keyboardOpen.lego",function(){j.click()}).bind("keyboardClose.lego",h);g["for"]&&e.bind("keyboardOpened.lego",function(o,n){!(n&&n.afterLoad&&g.autoLoad)&&b(g["for"]).focus()});e.bind("keyboardLangChanged.lego keyboardSetLang.lego",function(o,p){var n=j.find(".b-keyboard-loader__flag");if(n[0]){if(p==="tt"){p="ru"}n.attr("src",n.attr("src").replace(/[a-z]+\.png$/,p+".png"))}});g.storeState=g.storeState!==false;if(g.storeState){e.bind("keyboardOpened.lego",function(){k("keyboard_state","open");var n=c("keyboard_lang");if(n){b(window).trigger("keyboardSetLang.lego",n)}}).bind("keyboardClosed.lego",function(){k("keyboard_state","close")}).bind("keyboardLangChanged.lego",function(n,o){k("keyboard_lang",o)})}(g.autoLoad=g.autoLoad||(g.storeState&&c("keyboard_state")=="open"))&&j.click();var m;function f(){if(m){return}a.cp(0,70873,a.params.id+"."+(g.autoLoad?"auto":"manual"));m=true}e.bind("keyboardOpened.lego",function(){f()});function c(n){return d()[n]}function d(){var n={};b.each(window.name.split("&"),function(){if(this.toString()){var o=this.split("=");n[o[0]]=o[1]}});return n}function k(n,p){var o=d(),q=[];o[n]=p;b.each(o,function(r,s){q.push(r+"="+s)});window.name=q.join("&")}}})(jQuery,window.Lego);(function(b){b.xLazyLoader=function(e,d){if(typeof e=="object"){d=e;e="init"}new c()[e](d)};b.xLazyLoader.defaults={js:[],css:[],img:[],name:null,timeout:20000,success:function(){},error:function(){},complete:function(){},each:function(){}};var a=document.getElementsByTagName("head")[0];function c(){var m=this,o,i=[],k=[],j,d,f,e=[];this.init=function(p){if(!p){return}o=b.extend({},b.xLazyLoader.defaults,p);f={js:o.js,css:o.css,img:o.img};b.each(f,function(q,r){if(typeof r=="string"){r=r.split(",")}e=e.concat(r)});if(!e.length){h("error");return}if(o.timeout){j=setTimeout(function(){var q=i.concat(k);b.each(e,function(s,r){b.inArray(r,q)==-1&&k.push(r)});h("error")},o.timeout)}b.each(f,function(q,r){if(b.isArray(r)){b.each(r,function(t,s){l(q,s)})}else{if(typeof r=="string"){l(q,r)}}})};this.js=function(u,v,q){var t=b('script[src*="'+u+'"]');if(t.length){t.attr("pending")?t.bind("scriptload",v):v();return}var r=document.createElement("script");r.setAttribute("type","text/javascript");r.setAttribute("charset","utf-8");r.setAttribute("src",u);r.setAttribute("pending",1);r.onerror=n;b(r).bind("scriptload",function(){b(this).removeAttr("pending");v();setTimeout(function(){b(r).unbind("scriptload")},10)});var p=false;r.onload=r.onreadystatechange=function(){if(!p&&(!this.readyState||/loaded|complete/.test(this.readyState))){p=true;r.onload=r.onreadystatechange=null;b(r).trigger("scriptload")}};a.appendChild(r)};this.css=function(p,s,q){if(b('link[href*="'+p+'"]').length){s();return}var r=document.createElement("link");r.setAttribute("type","text/css");r.setAttribute("rel","stylesheet");r.setAttribute("href",p);if(b.browser.msie){r.onreadystatechange=function(){/loaded|complete/.test(r.readyState)&&s()}}else{if(b.browser.opera){r.onload=s}else{(function(){if(r&&r.sheet){s()}else{d=setTimeout(arguments.callee,20)}})()}}a.appendChild(r)};this.img=function(q,r){var p=new Image();p.onload=r;p.onerror=n;p.src=q};this.disable=function(p){b("#lazy-loaded-"+p,a).attr("disabled","disabled")};this.enable=function(p){b("#lazy-loaded-"+p,a).removeAttr("disabled")};this.destroy=function(p){b("#lazy-loaded-"+p,a).remove()};function l(q,p){m[q](p,function(r){r=="error"?k.push(p):i.push(p)&&o.each(p);g()},"lazy-loaded-"+(o.name?o.name:new Date().getTime()))}function h(p){o.complete(p,i,k);o[p](p=="error"?k:i);clearTimeout(j);clearTimeout(d)}function g(){if(i.length==e.length){h("success")}else{if(i.length+k.length==e.length){h("error")}}}function n(){k.push(this.src);g()}}})(jQuery);
/*!jeanny-ignore*/
BEM.DOM.decl("b-menu",{onElemSetMod:{trigger:{state:function(b,c,a){this.toggleMod(this.findElem(b.closest(this.buildSelector("layout-vert-cell")),"item-content").eq(0),"visibility","visible",a=="opened").trigger("trigger",{domElem:b,state:a})}},item:{state:{current:function(c){var d=this,a=d.__self.getName(),b=d.elem("item","state","current").filter(function(){return $(this).closest(d.buildSelector()).bem(a)===d});d.findElem(c.parents(d.buildSelector("item-content")).prev(d.buildSelector("item")),"trigger").each(function(){d.setMod($(this),"state","opened")});d.delMod(b,"state").trigger("current",{prev:b,current:c})}}}},onTriggerClick:function(a){a.preventDefault();this.toggleMod(a.data.domElem,"state","opened")},onItemSelectorClick:function(b){var a=this._getItemByEvent(b);this.hasMod(a,"state","disabled")||this.setMod(a,"state","current")},_getItemByEvent:function(a){return a.data.domElem.closest(this.buildSelector("item"))}},{live:function(){this.liveBindTo("trigger","leftclick",function(a){this.onTriggerClick(a)}).liveBindTo("item-selector","leftclick",function(a){this.onItemSelectorClick(a)})}});BEM.DOM.decl({name:"b-popupa",modName:"direction",modVal:"fixed_top"},{pos:function(){var a=this._getUnder();a.show({position:"absolute",left:"50%",top:"0",marginLeft:-a.domElem.outerWidth()/2,marginTop:"25px"});return this}});$(document).ready(function(){if($("body.models").length){jQuery(window).bind("unload",function(){});$(".marks td li input").removeAttr("checked").parent().removeClass("active");$("#filters h3 p input[name='model']").remove()}$(".marks td li span input").click(function(f){var d=$(".marks td li span input."+$(this).attr("class"));var g=$(this).attr("class").substring(11);var c=$(this).next().text();if($(this).parent().hasClass("active")){d.removeAttr("checked").parent().removeClass("active");$("#filters h3 p input[value='"+g+"']").remove();$("#filters h3 b").html(" "+a())}else{d.attr("checked","checked").parent().addClass("active");var b=$('<input type=hidden name=model value="'+g+'"/>');$("#filters h3 p").append(b);$("#filters h3 b").html(" "+a())}});$(".marks td li span a").click(function(c){var d=$(this).attr("class").substring(11);var b=$('<input type=hidden name=model value="'+d+'"/>');$("#filters h3 p").append(b);$("#modelfilters").submit();return false});function a(){var b=[];$(".marks.all td li span.active input").each(function(){b.push($(this).next().text())});return b.join(", ")}$(".standard-options p a span").click(function(){$(".standard-options").toggleClass("show-all");var b=($(this).text()=="полный список")?"сокращенный список":"полный список";$(this).text(b)});$("#complect-cmp-form").submit(function(){if($(".complects td input:checked").length){return true}else{alert("Выберите модификации для сравнения");return false}});$("#check-all").click(function(){if($("#check-all:checked").length){$(".complects td input").attr("checked","checked")}else{$(".complects td input").removeAttr("checked")}});$("#content .cont span a").click(function(){if(!$("#content").hasClass("stop")){$("#content").toggleClass("all").toggleClass("popular")}});(function(){var b=$("#tip-popup .b-popupa");$(".abbr").live("click",function(){b.bem("b-popupa").setContent("<div class='b-popup-body'>"+$(this).attr("rel")+"</div>");b.bem("b-popupa").show($(this))})})();$(".reviews .actions .remove").mousedown(function(){var c=$(this);var d=$(this).attr("rel");var b=c.attr("id").substring(6);if(confirm("Вы уверены, что хотите удалить отзыв?")){$.ajax({url:"/gate/remove-ugc.xml",type:"POST",data:"id="+b+"&sk="+d,dataType:"json",error:vertis.utils.errorMsg,success:function(e){if(e.result){if($("body.reviews").length){c.parent().replaceWith('<p class="confim">Ваш отзыв будет удален из поиска в течение нескольких часов</p>')}else{location.reload()}}else{vertis.utils.errorMsg()}}})}else{return false}});$("#grouping-know").click(function(){$.ajax({url:"/gate/set-options.xml?no-redir=on&single_option=grouping_familiarized&grouping_familiarized=on",type:"GET",data:{},error:vertis.utils.errorMsg,success:function(b){txtrim=jQuery.trim(b);if(txtrim=="error"){vertis.utils.errorMsg()}$("#grouping-know").parent().remove()}})});$(".b-pseudo-link_auth").live("click",function(){Lego.block["b-domik_type_popup"].login();return false});(function(){var b=$("#auto-popup .b-popupa");$("#lnk-close").live("click",function(){b.bem("b-popupa").toggle()})})();$(".js-make-redir").live("mousedown",function(){vertis.utils.makeRedir($(this))});$("#js-generation-nav").slider()});var vertis=vertis||{};vertis.utils={makeRedir:function(a){if($(a).length){$(a).attr("href",$(a).attr("rel"))}},errorMsg:function(){alert("Произошла ошибка. Перезагрузите страницу или попробуйте позже.")},loading:function(){setTimeout(function(){if($("#yauto-load").length){$("#yauto-load").remove()}else{$("body").append("<div id='yauto-load'><img src='/i/loading.gif' alt='loading'/></div>")}},100)}};$(document).ready(function(){$("#filters.hide-extra div[rel],#filters span[rel]").hide();
$("#filters .extended-switcher").click(function(){$("#filters div[rel]").toggle();if($(this).find("img").attr("alt")=="+"){$(this).find("img").attr({src:"/i/hide.gif",title:"скрыть",alt:"-"})}else{$(this).find("img").attr({src:"/i/show.gif",title:"показать",alt:"+"})}});
$("#filters .show-unpopular").click(function(){$("span[rel]",$(this).parent()).toggle();$(this).text(($(this).text()=="показать все"?"только популярные":"показать все"))});$("#filters .js-years-assist").click(function(){var f=new Date();var c=f.getFullYear();var b=$(this).attr("rel");var a=b.substring(0,1);var e=b.substring(2);$("#filters select[name='year_to'] option, #filters select[name='year_from'] option").removeAttr("selected");$("#filters select[name='year_to']").find("option[value='"+(c-a)+"']").attr("selected","selected");$("#filters select[name='year_from']").find("option[value='"+(c-e)+"']").attr("selected","selected")})});$(document).ready(function(){$("#search-results .info span span .b-pseudo-link").click(function(){var c=$(this).closest("tr");var b=c.attr("id").substring(7);var a=$(this).closest("li").attr("rel");var e=$(this).parent().parent().attr("class");var d;if(e=="check"){d=c.hasClass("memo")?"none":"check"}else{if(e=="cross"){d=c.hasClass("cross")?"none":"cross"}else{if($("body.lists").length){d="none"}}}$.ajax({url:"/gate/flag-item.xml?car="+b+"&state="+d+"&sk="+a,type:"GET",data:{},beforeSend:function(){c.addClass("processing")},error:vertis.utils.errorMsg,success:function(f){txtrim=jQuery.trim(f);if(txtrim=="error"){vertis.utils.errorMsg()}else{if(e=="check"){c.attr("class",(d=="check")?"memo":"none")}else{if(e=="cross"){c.attr("class",(d=="cross")?"cross":"none")}else{if($("body.lists").length){c.remove();if(!$("#search-results tr").length){$("#content").append("<div class=warning>Нет избранных объявлений</div>");$(".action-lists,.sorters").remove()}}}}}},complete:function(){c.removeClass("processing")}})})});var vertis=vertis||{};$(document).ready(function(){$("body").delegate(".js-catalog-entities select:not([name = 'conf_comp_tech_id'])","change",function(){(vertis.entities[$(this).attr("name")+"Change"])()})});vertis.entities={selectors:{mark:".js-catalog-entities select[name='mark']",model:".js-catalog-entities select[name='model']",year:".js-catalog-entities select[name='year']",bodyType:".js-catalog-entities select[name='body_type']",complectation:".js-catalog-entities select[name='conf_comp_tech_id']"},compareGateUrl:"/gate/catalog-entities.xml?",showMarks:function(){this.collectData(this.selectors.mark,"",[this.selectors.model,this.selectors.year,this.selectors.bodyType,this.selectors.complectation])},markChange:function(){var a=$(this.selectors.mark).val();this.checkSelection(a,this.selectors.model,"mark_ids="+a,[this.selectors.year,this.selectors.bodyType,this.selectors.complectation])},modelChange:function(){var a=$(this.selectors.model).val();this.checkSelection(a,this.selectors.year,"model_ids="+a,[this.selectors.bodyType,this.selectors.complectation])},yearChange:function(){var a=$(this.selectors.year).val();this.checkSelection(a,this.selectors.bodyType,"generation_ids="+a,[this.selectors.complectation])},body_typeChange:function(){var a=$(this.selectors.bodyType).val();if(isNaN(a)){return}this.checkSelection(a,this.selectors.complectation,"configuration_ids="+a+(($("body[class ^= 'review-']").length)?"&no_price=true":""),[])},checkSelection:function(b,e,d,c,a){if(!b){c.push(e);this.disableFollowing(c)}else{this.collectData(e,d,c,a)}},collectData:function(d,c,b,a){$.ajax({url:this.compareGateUrl+c,type:"get",dataType:"json",error:this.onError,context:this,success:this.appendData(d,b,a)})},appendData:function(c,b,a){return function(f){var g="<option value=''>"+f["default"]+"</option>";$(c).find("optgroup,option").remove();if(f.itemsGroups){for(var e=0;e<f.itemsGroups.length;e++){g+="<optgroup label="+f.itemsGroups[e].label+">";for(var d=0;d<f.itemsGroups[e].items.length;d++){g+=this.createOption(f.itemsGroups[e].items[d],a)}g+="</optgroup>"}}else{for(var d=0;d<f.items.length;d++){g+=this.createOption(f.items[d],a)}}$(c).append(g).removeAttr("disabled");this.disableFollowing(b);if((c===this.selectors.bodyType&&f.items&&f.items.length===1)||(c===this.selectors.year&&f.items&&f.items.length===1)){$(c).find("option[value != '']").attr("selected","selected");if(c===this.selectors.bodyType){this.body_typeChange()}if(c===this.selectors.year){this.yearChange()}}}},createOption:function(b,a){return"<option value="+b.id+((a&&b.id===a)?" selected='selected'":"")+">"+b.name+"</option>"},disableFollowing:function(b){if(b===undefined){return}for(var a=0;a<b.length;a++){$(b[a]).attr("disabled","disabled").find("option[value = '']").attr("selected","selected")}},onError:function(){alert("Произошла ошибка. Обновите страницу или попробуйте позже.")}};var vertis=vertis||{};vertis.compareAuto={};$(document).ready(function(){if($("#add-to-comparison-from-page").length){vertis.compareAuto.popup=$("#auto-popup .b-popupa").bem("b-popupa");vertis.compareAuto.button=$("#add-to-comparison-from-page span").bem("b-form-button");vertis.compareAuto.button.on("click",function(){vertis.compareAuto.popup.toggle();vertis.entities.showMarks()})}$("#add-to-compare-from-popup .b-form-button__input").live("click",function(){var a=$("#add-to-compare-from-popup select[name='conf_comp_tech_id']").val();if(!a){alert("Необходимо указать комплектацию")}else{$.ajax({url:"/gate/edit-compare.xml?action=add&entity_id="+a,type:"GET",error:vertis.utils.errorMsg,success:function(c){var b=jQuery.trim(c);if(b=="error"){vertis.utils.errorMsg()}else{if($("body.specify-cmp").length){location.reload()}else{location.href=$("#link-for-add").val()+"&conf_comp_tech_id="+a}}}})}return false});$(".add-to-comparison .off").live("click",function(){var b=$(this).parent();var a=$(this).parent().attr("rel");var c=$(this).parent().attr("id").substring(4);$.ajax({url:"/gate/edit-compare.xml?action=add&entity_id="+c,type:"GET",data:{},error:vertis.utils.errorMsg,success:function(e){var d=jQuery.trim(e);if(d=="error"){vertis.utils.errorMsg()}else{b.addClass("already");$(".cmp-cont").css("display","block");$(".cmp-cont .lnk").prepend("<li id=it-"+c+">"+a+"<img src=/i/close.gif alt=/></li>")}}})});$(".remove-from-cmp").click(function(){var a=$(this).parent().attr("id").substring(3);var b=$(this).attr("href");$.ajax({url:"/gate/edit-compare.xml?action=remove_pos_entity&pos_entity_id="+a,type:"GET",data:{},error:vertis.utils.errorMsg,success:function(d){var c=jQuery.trim(d);if(c=="error"){vertis.utils.errorMsg()}else{if($("body.specify-cmp").length){location.reload()}else{location=b}}}});return false});$(".cmp-cont li img").live("click",function(){var a=$(this).parent();var b=$(this).parent().attr("id").substring(3);$.ajax({url:"/gate/edit-compare.xml?action=remove_by_configuration&configuration_id="+b,type:"GET",data:{},error:vertis.utils.errorMsg,success:function(d){var c=jQuery.trim(d);if(c=="error"){vertis.utils.errorMsg()}else{a.remove();$("#cmp-"+b).removeClass("already");if(!($(".cmp-cont li[class != 'lnk']").length)){$(".cmp-cont").css("display","none")}}}})});$("#spec-form").bind("submit",function(){if($(".conf_comp_tech_id option.def:selected").length){alert("Пожалуйста, укажите комплектации");return false}else{var b=$(this),a="";$(".conf_comp_tech_id").each(function(c){a=a+"&entity_id="+$(this).val()});$.ajax({url:"/gate/edit-compare.xml?action=set"+a,type:"GET",data:{},error:function(d){var c=jQuery.trim(d);if(c=="error"){vertis.utils.errorMsg()}},success:function(d){var c=jQuery.trim(d);if(c=="error"){vertis.utils.errorMsg()}b.unbind("submit");b.submit()}})}});$(".complects.all.grid tr").bind("mouseover mouseout",function(){$(this).toggleClass("hovered")})});$(document).ready(function(){var b=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,6})$/;var a=$("#auto-popup .b-popupa");$(".menu-link .subscribe.logged, .subscribe-few").live("click",function(){a.bem("b-popupa").toggle()});a.find("ul li").bind("click",function(){a.find("ul li").removeClass("active");$(this).addClass("active")});$("#add-subscription").submit(function(){var c=$(".menu-link .subscribe").parent();var e=a.find("ul .active a").attr("id").substring(6);var f=a.find(".info-message");var d=a.find("#subs-email-text").text()||a.find("#subs-email-input").val();if(!b.test(d)){f.text("Неправильный формат e-mail").addClass("error");return false}$.ajax({url:$(this).attr("action")+"&period="+e+"&email="+d,type:"GET",data:{},error:function(){f.text("Не удалось добавить подписку. Перезагрузите страницу или попробуйте позже.").addClass("error")},success:function(g){switch(jQuery.trim(g)){case"error":f.text("Не удалось добавить подписку. Перезагрузите страницу или попробуйте позже.").addClass("error");break;case"already":f.text("На данный e-mail уже приходят подписки по этому запросу.").addClass("error");break;default:if(a.find("#subs-email-input").length){a.find(".b-popup-body").html("<p class='info-message'>На указанный вами адрес электронной почты <b>"+d+"</b> отправлено письмо, необходимое для подтверждения подписки.</p>")}else{a.bem("b-popupa").toggle();c.removeClass("sub").addClass("unsub")}$(".subscribe-few").parent().html("— Вы успешно подписались на запрос");break}}});return false});$(".menu-link .unsubscribe").live("click",function(){var c=$(".menu-link .unsubscribe").parent();if(confirm("Вы уверены?")){$.ajax({url:$(this).attr("href"),type:"GET",data:{},beforeSend:vertis.utils.loading,error:vertis.utils.errorMsg,success:function(e){var d=jQuery.trim(e);if(d=="error"){vertis.utils.errorMsg()}else{c.removeClass("unsub").addClass("sub")}},complete:vertis.utils.loading});return false}else{return false}});$("#merge-email").submit(function(){$("#merge-results").remove();$("#merge-email").append("<p id='merge-results'></p>");var d=$("#merge-results");var c=$("#merge-email-input").val();if(!b.test(c)){d.html("Неправильный формат e-mail.").addClass("error");return false}else{$.ajax({url:"/gate/merge-subscriptions.xml?email="+c,type:"GET",data:{},beforeSend:vertis.utils.loading,error:function(){d.html("Произошла ошибка. Перезагрузите страницу или попробуйте позже.")},success:function(e){switch(jQuery.trim(e)){case"error":d.html("Произошла ошибка. Перезагрузите страницу или попробуйте позже.").addClass("error");break;case"nothing-to-merge":d.html("На данный e-mail ранее не было зарегистрировано подписок.");break;default:d.html("На указанный e-mail отправлено письмо с подтверждением.");break}},complete:vertis.utils.loading})}return false});$("#change-current-email").click(function(){$("#emails").toggle()});$("#emails a span").click(function(){var c=$(this).text();if(confirm("Получать подписки на адрес "+c+"?")){$.ajax({url:"/gate/change-email.xml?email="+c,type:"GET",data:{},beforeSend:vertis.utils.loading,error:vertis.utils.errorMsg,success:function(d){txtrim=jQuery.trim(d);if(txtrim=="error"){vertis.utils.errorMsg()}else{$("#current-email").text(c).append("<strong>e-mail успешно изменен</strong>");$("#emails").toggle()}},complete:vertis.utils.loading})}else{return false}})});$(document).ready(function(){$(".btn-cont.cur input").live("click",function(){$("#cur-cur").html($(this).parent().text())});$(".btn-cont.page-size input").live("click",function(){$("#page-size-cur").html($(this).parent().text())})});$(document).ready(function(){$("body").bind("click",function(){$("#geo-list").removeClass("show")});$("#geo-list li").live("click",function(){var a=$(this).attr("id").substring(4);vertis.geo.setCity($(this),a)});$("#geo-list li").live("mouseover mouseout",function(){$("#geo-list li").removeClass("focus");$(this).toggleClass("focus")});$("#selected-regions li img").live("click",function(){var a=$(this).parent().attr("id").substring(4);vertis.geo.deleteSelected($(this),a)});$("#geo-input,#geo-list li").bind("keydown mousedown",function(a){vertis.geo.keydownHandler(a)});vertis.geo.sKey=$("#geoselector input[name='sk']").val()});var vertis=vertis||{};vertis.geo={active:-1,callTimeout:0,lastKeyPressCode:1,sKey:"",setSuggest:function(){var a=$("#geo-input").val();$.ajax({url:"/gate/region-prompt.xml",type:"POST",data:"letters="+a+"&rids="+vertis.geo.makeRids(),beforeSend:vertis.geo.beforeSend,error:vertis.geo.showError,success:function(c){var b=jQuery.trim(c);if(!b.length){$("#geo-list").html("<span>нет результатов</span>")}else{if(b=="error"){vertis.geo.showError()}else{vertis.geo.makeSuggest($(c))}}},complete:vertis.geo.afterSend})},makeRids:function(a){var b=[];$("#selected-regions li").each(function(c){var d=$(this).attr("id").substring(4);if(d!=a){b.push(d)}});return b.join()},makeSuggest:function(a){var c=a.children("li");for(var b=0;b<c.length;b++){($(c[b]).find("span").text()===$("#geo-input").val())&&$(c[b]).addClass("focus")}$("#geo-list").html(c).addClass("show")},makeSelected:function(a){var b=a.children("li");$("#selected-regions").html(b)},setCity:function(b,a){$.ajax({url:"/gate/set-cities.xml",type:"POST",data:"cities="+vertis.geo.makeRids()+","+a+"&sk="+vertis.geo.sKey,beforeSend:vertis.geo.beforeSend,error:vertis.geo.showError,success:function(d){var c=jQuery.trim(d);if(c=="error"){vertis.geo.showError}else{vertis.geo.makeSelected($(d));vertis.geo.active=-1;$("#geoselector").removeClass("all-regions");$("#geo-list").removeClass("show").html("");$("#geo-input").val("")}},complete:vertis.geo.afterSend})},deleteSelected:function(c,b){var a=vertis.geo.makeRids(b);if(a.length){$.ajax({url:"/gate/set-cities.xml",type:"POST",data:"cities="+a+"&sk="+vertis.geo.sKey,beforeSend:vertis.geo.beforeSend,error:vertis.geo.showError,success:function(d){vertis.geo.makeSelected($(d))},complete:vertis.geo.afterSend})}else{vertis.geo.setAllRegions()}},keydownHandler:function(a){vertis.geo.lastKeyPressCode=a.keyCode;switch(a.keyCode){case 27:$("#geo-list").removeClass("show");break;case 37:break;case 38:vertis.geo.moveSelection(-1);break;case 39:break;case 40:vertis.geo.moveSelection(1);break;case 13:($("#geo-list li.focus"))&&vertis.geo.selectCurrent();break;default:vertis.geo.active=-1;clearTimeout(vertis.geo.callTimeout);vertis.geo.callTimeout=setTimeout(function(){vertis.geo.setSuggest()},100);break}},moveSelection:function(c){var b=-1;var a=$("#geo-list li");if(a.length){a.each(function(d){if($(this).hasClass("focus")){b=d}});vertis.geo.active+=c;if(vertis.geo.active<0){vertis.geo.active=0}else{if(b==0){vertis.geo.active=1}else{if(vertis.geo.active>=a.size()-1){vertis.geo.active=a.size()-1}}}a.removeClass("focus");$(a[vertis.geo.active]).addClass("focus")}},selectCurrent:function(){var a=$("li.focus")[0];var b=$(a).attr("id").substring(4);if(a){vertis.geo.setCity(a,b)}},setAllRegions:function(){$.ajax({url:"/gate/set-cities.xml",type:"POST",data:"cities=10000&sk="+vertis.geo.sKey,beforeSend:vertis.geo.beforeSend,error:vertis.geo.showError,success:function(a){vertis.geo.active=-1;$("#geoselector").addClass("all-regions");$("#geo-list").removeClass("show");$("#selected-regions li").remove()},complete:vertis.geo.afterSend})},showError:function(){$("#geo-status").addClass("show")},beforeSend:function(){$("#geoselector").addClass("loading")},afterSend:function(){$("#geoselector").removeClass("loading")}};$(document).ready(function(){$(".graphic-code .g-line a").click(function(){$(this).parent().parent().toggleClass("no-code");$(this).parent().parent().toggleClass("show-code")});$("#diap-switch").click(function(){$(this).parent().parent().parent().toggleClass("wod");$(this).parent().parent().parent().toggleClass("wd")});$("#avg-price-form").submit(function(){if($("#model").val()==""){alert("Необходимо указать марку и модель");return false}else{$('.filter-object select[id != "mark"][id != "model"]').removeAttr("disabled")}}).delegate("select","change",vertis.avgPrice.getFilter);$(".filter-object #mark option.def").attr("selected","selected");$(".filter-object #model option.def").attr("selected","selected");$("#diap-switch").removeAttr("checked")});var vertis=vertis||{};vertis.avgPrice={getFilter:function(){var a=this,c=$("#avg-price-form"),e=$('input[name = "rid"]',c).val(),g=$("#mark",c).val(),d=$("#model",c).val();if($("body.index").length&&a.id=="year"){return}if(a.id=="mark"&&g===""){$('select[id != "mark"]',c).attr("disabled","disabled");$("#model").val("");return}if(a.id=="model"&&d===""){$('select[id != "mark"][id != "model"]',c).attr("disabled","disabled");return}$.ajax({url:f(),type:"get",beforeSend:vertis.utils.loading,error:vertis.utils.errorMsg,success:b,complete:vertis.utils.loading});function f(){var i="/gate/avg-price-filter.xml?",h=i+"rid="+e;if(a.id=="mark"){h+="&mark="+g}else{if(a.id=="model"){h+="&mark="+g+"&model="+d}else{h=i+c.serialize()}}return h}function b(i){var h=$(i);if(a.id=="mark"){$("#model",c).replaceWith($("#model-cont",h).html());$('select[id != "mark"][id != "model"]',c).attr("disabled","disabled");return}$("select",c).each(function(){var k=this.id+"-cont",j=$("#"+k,h);if(j.length){$("#"+this.id).replaceWith(j.html())}})}}};var vertis=vertis||{};$(document).ready(function(){vertis.reviews.initRates();vertis.reviews.initForm()});vertis.reviews={initForm:function(){this.$form=$("form[name='review-form']");this.generations=vertis.__reviewGenerations;delete vertis.__reviewGenerations;this.staticBodyTypes=vertis.__staticBodyTypes;delete vertis.__staticBodyTypes;this.$form.find("select[name='prodyear']").change(function(){vertis.reviews.checkYear()});if($("body").hasClass("review-edit")){this.checkYear(vertis.__editBodyId,vertis.__editConfId)}this.$form.submit(function(){return vertis.reviews.checkForm()})},checkYear:function(e,f){var h=this.$form,g=parseInt(h.find("input[name='min-catalog-year']").val(),10),c=parseInt(h.find("select[name='prodyear']").val(),10),b=$(vertis.entities.selectors.complectation);vertis.entities.disableFollowing([vertis.entities.selectors.bodyType,vertis.entities.selectors.complectation]);if(!c){return}if(c>=g){b.show().prev().show();for(var a=0;a<this.generations.length;a++){var d=this.generations[a];if(c>=d.yearFrom&&c<=d.yearTo){this.makeBodyTypes(d.bodyTypes,e,f);break}}}else{b.hide().prev().hide();b.find("option[value != ''],optgroup").remove();this.makeBodyTypes(this.staticBodyTypes,e)}},makeBodyTypes:function(d,c,e){var b=$(vertis.entities.selectors.bodyType),f="<option value=''>выберите тип кузова</option>";b.find("option").remove();for(var a=0;a<d.length;a++){f+=vertis.entities.createOption(d[a],c);if(d[a].id===c){vertis.entities.checkSelection(d[a].id,vertis.entities.selectors.complectation,"configuration_ids="+d[a].id+"&no_price=true",[],e)}}b.append(f).removeAttr("disabled")},checkSummary:function(c){var b=$.trim($("input[name='summary']").val()),d=$("#rating-label_0"+c+"").text(),a;$(".b-rollover-tip .actual").each(function(){if($(this).text()===b||!b){a=true;return false}});if(a===true){$("input[name='summary'], .summary em").remove();$(".summary").append("<input type='text' class='longlong required' name='summary' maxlength='80' value='"+d+"'/>");a=false}},checkForm:function(){var i=true,b=false;$(".review-add em").remove();$(".required").each(function(){if(!$.trim($(this).val())){i=false;$(this).parent().append("<em>Обязательное поле</em>");if(!b){$.scrollTo($(this).parent(),800,{queue:true});b=true}}});if(i){var a=$(vertis.entities.selectors.bodyType),g=a.val(),c=g?$.trim(a.find("option:selected").text()):undefined,d=$(vertis.entities.selectors.complectation),e=d.val(),f=e?$.trim(d.find("option:selected").text()):undefined;this.$form.find("input[name = 'body_type_name'], input[name = 'conf_name']").remove();if(c){this.$form.append("<input type='hidden' name='body_type_name' value='"+c+"'/>")}if(f){var h=$.trim(d.find("option:selected").parent().attr("label"))||"";this.$form.append("<input type='hidden' name='conf_name' value='"+(h?h+" ":"")+f+"'/>")}}return i},initRates:function(){$('*[id ^= "rating-select_"]').each(function(){var d=$(this),f=d.attr("id").split("rating-select_")[1],g=$("#rating-stars_"+f+""),e=$("#rating-stars_"+f+" .b-rating__star").css("cursor","pointer");d.css("display","none");g.css("display","block");e.click(function(){var h=e.index(this)+1;d.find("option").removeAttr("selected");d.find("option[value = "+h+"]").attr("selected","selected");$(this).prevAll().andSelf().addClass("b-rating__star-my");$(this).nextAll().removeClass("b-rating__star-my");vertis.reviews.checkSummary(h);return false});e.hover(function(){$(this).prevAll().andSelf().addClass("b-rating__star-my-hover");$(this).nextAll().addClass("b-rating__star-hover")},function(){e.removeClass("b-rating__star-hover b-rating__star-my-hover")})});var b=$("#rating-stars_0 .b-rating__star"),c=$('span[id ^= "rating-label_0"]'),a=b.index(this)+1;b.click(function(){c.removeClass("visible");$("#rating-label_0"+a+"").addClass("visible");return false});b.hover(function(){c.addClass("hover-hidden");$("#rating-label_0"+a+"").removeClass("hover-hidden");$("#rating-label_0"+a+"").addClass("hover-visible")},function(){$('span[id ^= "rating-label_0"]').removeClass("hover-hidden hover-visible")})}};$(document).ready(function(){$(".grade-opinion-actions .grade-vote-pro").addClass("b-pseudo-link").click(function(){return vertis.voteGrade.postGradeVote($(this),"good",1)});$(".grade-opinion-actions .grade-vote-contra").addClass("b-pseudo-link").click(function(){return vertis.voteGrade.postGradeVote($(this),"bad",1)})});var vertis=vertis||{};vertis.voteGrade={voteGradeMsg:"Отзыв полезен?",votedGradeMsg:"Да",contraVotedGradeMsg:"Нет",postGradeVote:function(c,e,f){var a=c.parent();var g=a.attr("id").substring(6);var b=a.attr("rel");var d=c.parent();$.ajax({type:"post",url:"/gate/vote-grade.xml",data:"object_id="+g+"&vote="+e+"&sk="+b,dataType:"json",timeout:"3000",beforeSend:function(){d.addClass("grade-vote-process")},success:function(k){var i=k.good;var h=k.bad;var j=k.vote;if(j=="good"){d.html(vertis.voteGrade.voteGradeMsg+' <span class="grade-vote-current">'+vertis.voteGrade.votedGradeMsg+"</span> "+i+" / "+vertis.voteGrade.contraVotedGradeMsg+" "+h)}else{if(j=="bad"){d.html(vertis.voteGrade.voteGradeMsg+" "+vertis.voteGrade.votedGradeMsg+" "+i+' / <span class="grade-vote-current">'+vertis.voteGrade.contraVotedGradeMsg+"</span> "+h)}else{alert("Извините, произошла ошибка, попробуйте позже")}}},error:function(){if(f<=2){return vertis.voteGrade.postGradeVote(c,e,f+1)}else{alert("Извините, произошла ошибка, попробуйте позже")}},complete:function(){d.removeClass("grade-vote-process")}});return false}};(function(c){var a=c.scrollTo=function(d,f,g){c(window).scrollTo(d,f,g)};a.defaults={axis:"xy",duration:parseFloat(c.fn.jquery)>=1.3?0:1};a.window=function(d){return c(window)._scrollable()};c.fn._scrollable=function(){return this.map(function(){var d=this,f=!d.nodeName||c.inArray(d.nodeName.toLowerCase(),["iframe","#document","html","body"])!=-1;if(!f){return d}var g=(d.contentWindow||d).document||d.ownerDocument||d;return c.browser.safari||g.compatMode=="BackCompat"?g.body:g.documentElement})};c.fn.scrollTo=function(f,e,d){if(typeof e=="object"){d=e;e=0}if(typeof d=="function"){d={onAfter:d}}if(f=="max"){f=9000000000}d=c.extend({},a.defaults,d);e=e||d.speed||d.duration;d.queue=d.queue&&d.axis.length>1;if(d.queue){e/=2}d.offset=b(d.offset);d.over=b(d.over);return this._scrollable().each(function(){var n=this,l=c(n),m=f,j,k={},h=l.is("html,body");switch(typeof m){case"number":case"string":if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(m)){m=b(m);break}m=c(m,this);case"object":if(m.is||m.style){j=(m=c(m)).offset()}}c.each(d.axis.split(""),function(q,r){var t=r=="x"?"Left":"Top",s=t.toLowerCase(),v="scroll"+t,p=n[v],g=a.max(n,r);if(j){k[v]=j[s]+(h?0:p-l.offset()[s]);if(d.margin){k[v]-=parseInt(m.css("margin"+t))||0;k[v]-=parseInt(m.css("border"+t+"Width"))||0}k[v]+=d.offset[s]||0;if(d.over[s]){k[v]+=m[r=="x"?"width":"height"]()*d.over[s]}}else{var u=m[s];k[v]=u.slice&&u.slice(-1)=="%"?parseFloat(u)/100*g:u}if(/^\d+$/.test(k[v])){k[v]=k[v]<=0?0:Math.min(k[v],g)}if(!q&&d.queue){if(p!=k[v]){i(d.onAfterFirst)}delete k[v]}});i(d.onAfter);function i(g){l.animate(k,e,d.easing,g&&function(){g.call(this,f,d)})}}).end()};a.max=function(g,j){var n=j=="x"?"Width":"Height",k="scroll"+n;if(!c(g).is("html,body")){return g[k]-c(g)[n.toLowerCase()]()}var o="client"+n,f=g.ownerDocument.documentElement,d=g.ownerDocument.body;return Math.max(f[k],d[k])-Math.min(f[o],d[o])};function b(d){return typeof d=="object"?d:{top:d,left:d}}})(jQuery);window.yaSimpleBox=(function(){var n="a.thumb",h="td.thumbs div",g="<div class='thumbs-columns-wrapper' />",i="<div class='thumbs-columns-spreader' />",a="<div class='thumbs-column' />",b="div.thumbs-column",l="<div id='yauto-load' />",d="/i/loading.gif",f=["exterior","interior"],e="yasimplebox-js-init",p="cur",m="eof",r=false,o=4,k=2;var c=false;var q=".zoom";var j=function(){};j.prototype={init:function(u,t,s){if(!u||!t){return false}s=s||{};this.itemsContainer=u;this.bPopup=t;this.itemSelector=s.itemSelector||n;this.itemsLocalContainerSelector=s.itemsLocalContainerSelector||h;this.itemsColumnsContainer=s.itemsColumnsContainer||g;this.itemsColumnsSpreader=s.itemsColumnsSpreader||i;this.itemsColumnWrapper=s.itemsColumnWrapper||a;this.itemsColumnSelector=s.itemsColumnSelector||b;this.loaderLayout=s.loaderLayout||l;this.loaderUrl=s.loaderUrl||d;this.imageTypes=s.imageTypes||f;this.jsInitClass=s.jsInitClass||e;this.activeThumbClass=s.activeThumbClass||p;this.lastFullImageClass=s.lastFullImageClass||m;this.closeOnEscape=s.closeOnEscape||r;this.maxPerContainer=s.maxPerContainer||o;this.minContainers=s.minContainers||k;this.resizeControl=s.resizeControl;this.collectItems();this.regroupItems();this.organizeData();this.listen();this.afterInit();this.initResizeControl();this.createPopupContent();return this},afterInit:function(){this.itemsContainer.addClass(this.jsInitClass)},collectItems:function(){this.items=$(this.itemSelector,this.itemsContainer);this.itemsGroup=(function(s,u){var v={total:0,map:{}};for(var t=0;t<u.length;t++){v.map[u[t]]=[];s.filter("."+u[t]).each(function(){v.map[u[t]].push(this);v.total++})}return v})(this.items,this.imageTypes)},regroupItems:function(){var z=$(this.itemsLocalContainerSelector,this.itemsContainer),t=$(this.itemsColumnsContainer).insertBefore(z),s=0,y=this.createLayoutToRegroup(),x=this.itemsGroup.total,w=2;while(x){for(var v in this.itemsGroup.map){for(var u=0;u<w;u++){if(this.itemsGroup.map[v].length){y.wrapper.append(this.itemsGroup.map[v].shift());--x;++s}if(x==0){t.append(y.localContainer)}else{if(s==this.maxPerContainer){t.append(y.localContainer);y=this.createLayoutToRegroup();s=0}}}}}z.remove();this.itemsColumnsContainer=t},createLayoutToRegroup:function(){var t=$(this.itemsColumnWrapper),s=t;return{localContainer:t,wrapper:s}},organizeData:function(){var s={list:[],map:{}};this.items=$(this.itemSelector,this.itemsContainer);this.items.not(q).each(function(t){var u={index:t,url:this.href,providerName:$(this).data("provider-name"),providerUrl:$(this).data("provider-url")};s.list.push(u);s.map[this.href]=u});this.itemsData=s},createPopupContent:function(){var w=$("<div id='photo-zoom'/>");var v=$("<p class='g-line'><span id='prev-photo' class='prev'>← Ctrl <a href='#' class='prev'>предыдущая</a> </span><span id='next-photo' class='next'> <a href='#' class='next'>следующая</a> Ctrl → </span></p>");var u=$("<div />");if(this.items.length>2){v.appendTo(w);$("<div class='clear' />").appendTo(w);u.appendTo(w);$("<div class='clear' />").appendTo(w)}var t=$("<img class='TB_Image' />").appendTo(w);var s=$("<p class='TB_imageInfo'/>").appendTo(w);this.items.not(q).each(function(){var y=$(this).clone(true);var x=y.find("img")[0];y.addClass("thickbox");x.src=x.src.replace(/&?size=\d+/,"")+"&size=1";u.append(y)});this.popup={content:w,thumbs:u.find(this.itemSelector),full:t,infoProvider:s,controls:{next:{wrapper:v.find("span.next"),button:v.find("a.next")},prev:{wrapper:v.find("span.prev"),button:v.find("a.prev")}}};this.listenPopup();return this.popup},listen:function(){var s={context:this};this.items.bind("click",s,this.onItemClick);$(document).bind("keydown",$.proxy(this.keydownHandler,this));$(document).bind("keypress",$.proxy(this.keypressHandler,this));this.bPopup.on("hide",$.proxy(this.onHide,this))},listenPopup:function(){var s={context:this};this.popup.thumbs.unbind("click").bind("click",s,this.onItemClick);this.popup.full.unbind("click").bind("click",$.proxy(this.moveNext,this));this.popup.controls.prev.button.unbind("click").bind("click",$.proxy(this.movePrev,this));this.popup.controls.next.button.unbind("click").bind("click",$.proxy(this.moveNext,this))},keydownHandler:function(s){if(!this.isOpen){return}if(s.ctrlKey&&s.keyCode==37){this.movePrev()}if(s.ctrlKey&&s.keyCode==39){this.moveNext()}if(this.closeOnEscape&&s.keyCode==27){this.hide()}},keypressHandler:function(s){if(this.isOpen&&s.ctrlKey&&(s.keyCode==37||s.keyCode==39)){return false}},onItemClick:function(u){var v=u.data.context;var t=this.href;var s=v.itemsData.map[t].index;v.open(s);return false},open:function(s){if(s===this.currentIndex){return}if(c&&c!=this){c.hide()}this.changeImage(s)},hide:function(){this.bPopup.hide();this.onHide()},onHide:function(){this.isOpen=c=this.currentIndex=null},show:function(){this.bPopup.setContent(this.popup.content);this.bPopup.show();this.listenPopup();this.isOpen=c=this},changeImage:function(u){var v=this,t=new Image(),s;t.onload=function(){s.remove();v.afterChange(u)};t.onerror=function(){s.remove()};s=$(this.loaderLayout).append($("<img/>").attr("src",this.loaderUrl)).appendTo($("body"));t.src=this.itemsData.list[u].url},movePrev:function(){this.open((this.itemsData.list.length+this.currentIndex-1)%this.itemsData.list.length);return false},moveNext:function(s){this.open((this.itemsData.list.length+this.currentIndex+1)%this.itemsData.list.length);return false},afterChange:function(t){this.currentIndex=t;this.popup.full.attr("src",this.itemsData.list[t].url);var s="";if(this.itemsData.list[t].providerUrl&&this.itemsData.list[t].providerName){var s="Фото: <a target='_blank' href='"+this.itemsData.list[t].providerUrl+"'>"+this.itemsData.list[t].providerName+"</a>"}this.popup.infoProvider.html(s);this.popup.thumbs.removeClass(this.activeThumbClass);this.popup.thumbs.eq(this.currentIndex).addClass(this.activeThumbClass);this.popup.content[this.currentIndex==this.itemsData.list.length-1?"addClass":"removeClass"](this.lastFullImageClass);this.show()},initResizeControl:function(){if(!this.itemsGroup.total||!this.resizeControl){return}this.addResizeControlContainer();this.collectItemsColumns();this.decorateItemsColumns();this.listenResize();this.setViewByWidth()},addResizeControlContainer:function(){this.resizeControlContainer=$("<tr><td colspan='2'></td><td class='more-photos'><a class='b-pseudo-link'><span>ещё <span class='more'></span> фото</span></a></td></tr>").appendTo(this.itemsContainer);this.invisibleItemsDBoard=$("span.more",this.narrowViewControlContainer)},collectItemsColumns:function(){var s={list:[],$:$(".thumbs-column",this.itemsContainer)};s.$.each(function(){s.list.push(this.offsetWidth)});this.itemsColumns=s},decorateItemsColumns:function(){this._decorateItemsColumns();this._waitItemsImagesLoading($.proxy(this._decorateItemsColumns,this))},_decorateItemsColumns:function(){var s=this.itemsColumns.$.slice(0,this.minContainers);this.itemsColumnsContainer.css({height:Math.max.apply(null,s.map(function(){return this.offsetHeight}).get())});$(this.itemsColumnsSpreader).css({width:(function(w){var v=0;for(var u=0,t=w.length;u<t;u++){v+=w[u].offsetWidth}return v})(s.get())}).insertBefore(this.itemsColumnsContainer)},_waitItemsImagesLoading:function(t){var s=this.itemsColumnsContainer.find("img");(function(){s=s.filter(function(){return !this.complete});if(!s.length){t()}else{setTimeout(arguments.callee,100)}})()},listenResize:function(){$(window).bind("resize",$.proxy(this.setViewByWidth,this));this.resizeControlContainer.find("a.b-pseudo-link").bind("click",$.proxy(this.openFromResizeControl,this))},setViewByWidth:function(){var u=this.itemsColumnsContainer.width();for(var t=0,s=this.itemsColumns.list.length;t<=s&&u>=0;t++){u-=this.itemsColumns.list[t]}this.itemsAreVisible=Math.min(this.itemsGroup.total,this.maxPerContainer*(t-1));this.itemsAreInvisible=this.itemsGroup.total-this.itemsAreVisible;this.resizeControlContainer[this.itemsAreInvisible>0?"show":"hide"]();this.invisibleItemsDBoard.html(this.itemsAreInvisible)},openFromResizeControl:function(){this.open(this.itemsAreVisible+1);return false}};return j})();$(function(){var a=$(".photos").eq(0);var b=$(".b-popupa_direction_fixed_top");if(!a.length||!b.length){return}window.ysb=new yaSimpleBox().init(a,b.bem("b-popupa").setMod("direction","fixed_top"),{resizeControl:true,closeOnEscape:true})});if(!("tb_remove" in window)){window.tb_remove=function(){};
/*! SWFObject v2.2 <http://code.google.com/p/swfobject/>
is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/
}var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y<X;Y++){U[Y]()}}function K(X){if(J){X()}else{U[U.length]=X}}function s(Y){if(typeof O.addEventListener!=D){O.addEventListener("load",Y,false)}else{if(typeof j.addEventListener!=D){j.addEventListener("load",Y,false)}else{if(typeof O.attachEvent!=D){i(O,"onload",Y)}else{if(typeof O.onload=="function"){var X=O.onload;O.onload=function(){X();Y()}}else{O.onload=Y}}}}}function h(){if(T){V()}else{H()}}function V(){var X=j.getElementsByTagName("body")[0];var aa=C(r);aa.setAttribute("type",q);var Z=X.appendChild(aa);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable("$version");if(ab){ab=ab.split(" ")[1].split(",");M.pv=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.removeChild(aa);Z=null;H()})()}else{H()}}function H(){var ag=o.length;if(ag>0){for(var af=0;af<ag;af++){var Y=o[af].id;var ab=o[af].callbackFn;var aa={success:false,id:Y};if(M.pv[0]>0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad<ac;ad++){if(X[ad].getAttribute("name").toLowerCase()!="movie"){ah[X[ad].getAttribute("name")]=X[ad].getAttribute("value")}}P(ai,ah,Y,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var Z=z(Y);if(Z&&typeof Z.SetVariable!=D){aa.success=true;aa.ref=Z}ab(aa)}}}}}function z(aa){var X=null;var Y=c(aa);if(Y&&Y.nodeName=="OBJECT"){if(typeof Y.SetVariable!=D){X=Y}else{var Z=Y.getElementsByTagName(r)[0];if(Z){X=Z}}}return X}function A(){return !a&&F("6.0.65")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)}function P(aa,ab,X,Z){a=true;E=Z||null;B={success:false,id:X};var ae=c(X);if(ae){if(ae.nodeName=="OBJECT"){l=g(ae);Q=null}else{l=ae;Q=X}aa.id=R;if(typeof aa.width==D||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.width="310"}if(typeof aa.height==D||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa.height="137"}j.title=j.title.slice(0,47)+" - Flash Player Installation";var ad=M.ie&&M.win?"ActiveX":"PlugIn",ac="MMredirectURL="+O.location.toString().replace(/&/g,"%26")+"&MMplayerType="+ad+"&MMdoctitle="+j.title;if(typeof ab.flashvars!=D){ab.flashvars+="&"+ac}else{ab.flashvars=ac}if(M.ie&&M.win&&ae.readyState!=4){var Y=C("div");X+="SWFObjectNew";Y.setAttribute("id",X);ae.parentNode.insertBefore(Y,ae);ae.style.display="none";(function(){if(ae.readyState==4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=4){var X=C("div");Y.parentNode.insertBefore(X,Y);X.parentNode.replaceChild(g(Y),X);Y.style.display="none";(function(){if(Y.readyState==4){Y.parentNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.parentNode.replaceChild(g(Y),Y)}}function g(ab){var aa=C("div");if(M.win&&M.ie){aa.innerHTML=ab.innerHTML}else{var Y=ab.getElementsByTagName(r)[0];if(Y){var ad=Y.childNodes;if(ad){var X=ad.length;for(var Z=0;Z<X;Z++){if(!(ad[Z].nodeType==1&&ad[Z].nodeName=="PARAM")&&!(ad[Z].nodeType==8)){aa.appendChild(ad[Z].cloneNode(true))}}}}}return aa}function u(ai,ag,Y){var X,aa=c(Y);if(M.wk&&M.wk<312){return X}if(aa){if(typeof ai.id==D){ai.id=Y}if(M.ie&&M.win){var ah="";for(var ae in ai){if(ai[ae]!=Object.prototype[ae]){if(ae.toLowerCase()=="data"){ag.movie=ai[ae]}else{if(ae.toLowerCase()=="styleclass"){ah+=' class="'+ai[ae]+'"'}else{if(ae.toLowerCase()!="classid"){ah+=" "+ae+'="'+ai[ae]+'"'}}}}}var af="";for(var ad in ag){if(ag[ad]!=Object.prototype[ad]){af+='<param name="'+ad+'" value="'+ag[ad]+'" />'}}aa.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</object>";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var Z=N.length;for(var aa=0;aa<Z;aa++){y(N[aa])}for(var Y in M){M[Y]=null}M=null;for(var X in swfobject){swfobject[X]=null}swfobject=null})}}();return{registerObject:function(ab,X,aa,Z){if(M.w3&&ab&&X){var Y={};Y.id=ab;Y.swfVersion=X;Y.expressInstall=aa;Y.callbackFn=Z;o[o.length]=Y;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObjectById:function(X){if(M.w3){return z(X)}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var X={success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){w(ah,false);K(function(){ae+="";ag+="";var aj={};if(af&&typeof af===r){for(var al in af){aj[al]=af[al]}}aj.data=ab;aj.width=ae;aj.height=ag;var am={};if(ad&&typeof ad===r){for(var ak in ad){am[ak]=ad[ak]}}if(Z&&typeof Z===r){for(var ai in Z){if(typeof am.flashvars!=D){am.flashvars+="&"+ai+"="+Z[ai]}else{am.flashvars=ai+"="+Z[ai]}}}if(F(Y)){var an=u(aj,am,ah);if(aj.id==ah){w(ah,true)}X.success=true;X.ref=an}else{if(aa&&A()){aj.data=aa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=false},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.pv[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){if(M.w3){return u(Z,Y,X)}else{return undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){if(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue:function(aa){var Z=j.location.search||j.location.hash;if(Z){if(/\?/.test(Z)){Z=Z.split("?")[1]}if(aa==null){return L(Z)}var Y=Z.split("&");for(var X=0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf("="))==aa){return L(Y[X].substring((Y[X].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(a){var X=c(R);if(X&&l){X.parentNode.replaceChild(l,X);if(Q){w(Q,true);if(M.ie&&M.win){l.style.display="block"}}if(E){E(B)}}a=false}}}}();$(document).ready(function(){$("#feedback-return").click(function(){history.back();return false});$("#feedback-form").submit(function(){if(vertis.runCheckForm(this.id)){$("#feedback-form").submit()}return false})});var vertis=vertis||{};vertis.makeCheckForm=function(a){this.oForm=document.getElementById(a);this.oElement=null;this.sErrMsg=null;this.bSubmit=true};vertis.makeCheckForm.prototype={run:function(){for(var a=0;a<this.oForm.elements.length;a++){this.oElement=this.oForm.elements[a];this.checkLength();if(this.matchRequired()){this.checkRequired()}if(this.matchEmail()){this.checkEmail()}}return this.bSubmit},checkRequired:function(){if(/^\s*$/.test(this.oElement.value)){this.sErrMsg=this.matchRequired();this.handleError()}},checkEmail:function(){var a=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;if(!a.test(this.oElement.value)){this.sErrMsg=this.matchEmail();this.handleError()}},checkLength:function(){var a=false;var b=0;switch(this.oElement.name){case"message":b=2000;break;case"check_url":b=250;break;case"name":b=100;break;case"email":b=100;break}if((this.oElement.value.length>b)&&b){a=true}if(a){a=false;this.sErrMsg="Длина превышает допустимое количество символов — "+b;this.handleError()}},handleError:function(){var a="msg_"+this.oElement.id;var b=document.getElementById(a);if(!(/^.* errorField$/.test(this.oElement.className))){this.oElement.className+=" errorField"}b.innerHTML=this.sErrMsg;this.sErrMsg=null;b.style.display="block";if(this.bSubmit){this.oElement.focus()}this.bSubmit=false},matchRequired:function(){return this.oElement.getAttribute("title")},matchEmail:function(){if(this.oElement.name==="email"){return this.oElement.getAttribute("title")}else{return false}}};vertis.runCheckForm=function(a){var b=new vertis.makeCheckForm(a);return b.run()};(function(a){a.fn.slider=function(b){return this.each(function(g,h){var k=a(h),l=a(".slider__left",k),f=a(".slider__right",k),i=a(".slider__content",k),o=a(".slider__content table",k),d=a(".slider__frame",k),e=0,c=parseInt(i.css("left")),m;var n={isAnimate:!(a.browser.msie&&a.browser.version<"7"),isRebuild:true};n.countItems=a(".slider__item",k).length||10;n.widthItem=a(".slider__item:eq(0)",k).outerWidth(true)||100;b=a.extend(n,b);a(l).add(f).add(d).height(o.height()+10);a(l).add(f).click(function(){if(this===l[0]){--e}else{++e}var p=(c-e*b.widthItem)+"px";if(b.isAnimate){i.stop().animate({left:p},200)}else{i.css({left:p})}j()});m=Math.floor(d.width()/b.widthItem);if(b.isRebuild){a(window).resize(function(){m=Math.floor(d.width()/b.widthItem);j()})}j();function j(){if(e<=0){k.addClass("slider__left_state_disable")}else{k.removeClass("slider__left_state_disable")}if((e+m)>=b.countItems){k.addClass("slider__right_state_disable")}else{k.removeClass("slider__right_state_disable")}}})}})(jQuery);
</script>
<?php
function SetGroups($mas_groups, $set)
{
$mas_groups = to_array($mas_groups);
foreach ($mas_groups as $key=>$value)
{
foreach ($value as $key1=>$value1)
{
$set[] = $value1;
if ($value1 == $key)
{
$set[] = $key;
SetGroups($mas_groups, $set);
}
}
}
return $set;
}
$xsl_catalog = to_str($GLOBALS['LA']['xsl_catalog']);
$xsl_item = to_str($GLOBALS['LA']['xsl_item']);
$current_shop_id = to_int($GLOBALS['LA']['shop_id']);
$param = array();
$my_index_param=0;
$shop = & singleton('shop');
if ($GLOBALS['shop_item_path'] != false)
{
$external_propertys = array();
if (class_exists("SiteUsers"))
{
/* Получаем id текущего пользователя сайта */
$SiteUsers = & singleton('SiteUsers');
$site_user_id = $SiteUsers->GetCurrentSiteUser();
$param['user_id'] = $site_user_id;
$external_propertys['user_id'] = $SiteUsers->GetCurrentSiteUser();
}
else
{
$site_user_id = 0;
$external_propertys['user_id'] = 0;
}
// Если добавление комментария
if (isset($_POST['submit_comment']) && !empty($GLOBALS['shop_item_path']['item']))
{
/* Проверяем CAPCHA*/
$Captcha = new Captcha();
$xmlData = '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
$xmlData .= '<document>' . "\n";
if ($site_user_id > 0
|| $Captcha->ValidCaptcha(to_str($_POST['captcha_key']), to_str($_POST['captcha_keystring'])))
{
$param['shop_items_catalog_item_id'] = $GLOBALS['shop_item_path']['item'];
$param['shop_comment_user_name'] = to_str($_REQUEST['shop_comment_user_name']);
$param['shop_comment_user_email'] = to_str($_REQUEST['shop_comment_user_email']);
$param['shop_comment_subject'] = to_str($_REQUEST['shop_comment_subject']);
$param['shop_comment_text'] = to_str($_REQUEST['shop_comment_text']);
$param['shop_comment_grade'] = to_int($_REQUEST['shop_comment_grade']);
$param['shop_comment_date_time'] = date("Y-m-d H:i:s");
/* Активность/неактивность комментария */
$shop_row = $shop->GetShop($current_shop_id);
if ($shop_row)
{
$param['shop_comment_active'] = to_int($shop_row['shop_comment_active']);
}
else
{
$param['shop_comment_active'] = false;
}
$external_propertys['comment_is_active'] = $param['shop_comment_active'];
// Если есть модуль "Пользователи сайта", получим текущего пользователя
if (class_exists('SiteUsers'))
{
$SiteUsers = & singleton('SiteUsers');
$param['site_users_id'] = $SiteUsers->GetCurrentSiteUser();
}
else
{
$param['site_users_id'] = 0;
}
$shop_comment_id = $shop->InsertComment($param);
// Задан XSL для формирования письма администратору о добавлении комментария к товару
if (to_str($GLOBALS['LA']['xsl_add_comment_letter_to_admin']) != '')
{
// Формируем XML для комментария
$xmlData .= $shop->GenXml4Comment($shop_comment_id);
$xmlData .= '</document>' . "\n";
$xsl = new xsl();
// Формируем текст письма администратору
$message = $xsl->build($xmlData, $GLOBALS['LA']['xsl_add_comment_letter_to_admin']);
// Формат письма - текст
if (to_int($GLOBALS['LA']['comment_mail_type']) == 0)
{
$comment_mail_type = 'text/plain';
}
else
{
$comment_mail_type = 'text/html';
}
$subject = $GLOBALS['MSG_shops']['subject_report_for_comment'];
$kernel = & singleton('kernel');
// Получаем e-mail куратора магазина
$email_to = to_str($shop_row['shop_shops_admin_mail']);
if (!empty($email_to))
{
$kernel->SendMailWithFile($email_to, EMAIL_TO, $subject, $message, array(), $comment_mail_type);
}
}
}
else
{
/* Неправильно введен код изображенный на картинке */
$external_propertys['error'] = 1;
/* Запоминаем значения */
$external_propertys['shop_comment_user_name'] = strip_tags(to_str($_REQUEST['shop_comment_user_name']));
$external_propertys['shop_comment_user_email'] = strip_tags(to_str($_REQUEST['shop_comment_user_email']));
$external_propertys['shop_comment_subject'] = strip_tags(to_str($_REQUEST['shop_comment_subject']));
$external_propertys['shop_comment_text'] = strip_tags(to_str($_REQUEST['shop_comment_text']));
$external_propertys['shop_comment_grade'] = to_int($_REQUEST['shop_comment_grade']);
$external_propertys['shop_comment_date_time'] = date("Y-m-d H:i:s");
}
}
/* Вывод списка */
if (!$GLOBALS['shop_item_path']['item'])
{
$param['current_group_id'] = $GLOBALS['shop_item_path']['group']; // корневая группа
/* Определяем номер элемента, с которого начинается показ в текущей группе */
$page = end($GLOBALS['URL_ARRAY']);
$page = to_str($page);
$shop_row = $shop->GetShop($current_shop_id);
if ($shop_row)
{
$items_on_page = $shop_row['shop_items_on_page'];
}
else
{
$items_on_page = 10;
}
/*
Порядок сортировки ('Asc' - по возрастанию, 'Desc' - по убыванию, 'Rand' - произвольный порядок)
$param['items_order']='Asc';
Поле, по которому сортируем (наименование элемента)
$param['items_field_order']='shop_items_catalog_name';
*/
if (isset($_GET['all_group']))
{
// Выводим из всех групп
$param['current_group_id'] = false;
}
/* Ограничиваем по группе */
if (to_int($_GET['group_id']) > 0)
{
$element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
$element['name'] = 'shop_groups_id';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '='; // Условие
$element['value'] = to_int($_GET['group_id']);
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['group_id'] = to_int($_GET['group_id']);
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Ограничиваем по производителю */
if (to_int($_GET['producer_id']) > 0)
{
$element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
$element['name'] = 'shop_producers_list_id';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '='; // Условие
$element['value'] = to_int($_GET['producer_id']);
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['producer_id'] = to_int($_GET['producer_id']);
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Ограничиваем по продавцу */
if (to_int($_GET['saller_id']) > 0)
{
$element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
$element['name'] = 'shop_sallers_id';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '='; // Условие
$element['value'] = to_int($_GET['saller_id']);
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['saller_id'] = to_int($_GET['saller_id']);
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
$my_years_condition = 0;
$my_photo_condition = 0;
/* Ограничиваем по годам */
$external_propertys['year1'] = isset($_GET['year1']);
$external_propertys['year2'] = isset($_GET['year2']);
$external_propertys['year3'] = isset($_GET['year3']);
/* Ограничиваем по годам: до 3-х лет */
if (to_int($_GET['year1']) > 0)
{
$element['type'] = 1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = '269';
$element['prefix'] = 'AND '; // префикс
$element['if'] = '>'; // Условие
// определяем дату
$d = to_int(date('Y'))-3;
// получаем id элемента списка
$lists = singleton('lists');
$lists_id = '46';
$list_item_value = $d;
$row=$lists->GetListItemIfIssetValue($lists_id, $list_item_value);
$element['value'] = $row['lists_items_id'];
// print_r($row);
$element['sufix'] = '';
$param['select'][] = $element;
$my_years_condition = 1;
$my_index_param = $my_index_param + 1;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Ограничиваем по годам: от 3-х до 5-ти лет */
if (to_int($_GET['year2']) > 0)
{
$element['type'] = 1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = '269';
if ($my_index_param>0)
{
$element['prefix'] = 'OR ('; // префикс
}
else
{
$element['prefix'] = 'AND ('; // префикс
}
$element['if'] = '<'; // Условие
// определяем дату
$d = to_int(date('Y'))-2;
// получаем id элемента списка
$lists = singleton('lists');
$lists_id = '46';
$list_item_value = $d;
$row=$lists->GetListItemIfIssetValue($lists_id, $list_item_value);
$element['value'] = $row['lists_items_id'];
$element['sufix'] = '';
$param['select'][] = $element;
$my_years_condition = 1;
$my_index_param = $my_index_param + 1;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
if (to_int($_GET['year2']) > 0)
{
$element['type'] = 1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = '269';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '>'; // Условие
// определяем дату
$d = to_int(date('Y'))-6;
// получаем id элемента списка
$lists = singleton('lists');
$lists_id = '46';
$list_item_value = $d;
$row=$lists->GetListItemIfIssetValue($lists_id, $list_item_value);
$element['value'] = $row['lists_items_id'];
$element['sufix'] = ')';
$param['select'][] = $element;
$my_years_condition = 1;
$my_index_param = $my_index_param + 1;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Ограничиваем по годам: свыше 5-ти лет */
if (to_int($_GET['year3']) > 0)
{
$element['type'] = 1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = '269';
if ($my_index_param>0)
{
$element['prefix'] = 'OR'; // префикс
}
else
{
$element['prefix'] = 'AND'; // префикс
}
$element['if'] = '<'; // Условие
// определяем дату
$d = to_int(date('Y'))-5;
// получаем id элемента списка
$lists = singleton('lists');
$lists_id = '46';
$list_item_value = $d;
$row=$lists->GetListItemIfIssetValue($lists_id, $list_item_value);
$element['value'] = $row['lists_items_id'];
$element['sufix'] = '';
$param['select'][] = $element;
$my_years_condition = 1;
$my_index_param = $my_index_param + 1;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Ограничиваем по фото */
$external_propertys['is_photo'] = isset($_GET['is_photo']);
if (to_int($_GET['is_photo']) > 0)
{
$element['type'] = 1; // 0 - основное св-во, 1 - дополнительное
if ($my_index_param>0)
{
$element['prefix'] = 'OR('; // префикс
}
else
{
$element['prefix'] = 'AND('; // префикс
}
$element['prefix'] = 'AND('; // префикс
$element['property_id'] = '272';
$element['if'] = '!='; // Условие
$element['value'] = '""';
// $element['sufix'] = "OR shop_list_of_properties_table.shop_list_of_properties_id='274' AND shop_properties_items_table.shop_properties_items_value != '')";
// пока в системе невозможен фильтр, сочетающий условия И & ИЛИ, поэтому сделаем по-простому: будем проверять картинку только в 272, а остальные свойства игнорировать
$element['sufix'] = ')';
$param['select'][] = $element;
// $my_photo_condition = 2;
$my_photo_condition = 1;
$my_index_param = $my_index_param + 1;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
$external_propertys['is_extendedsearchblock'] = isset($_GET['is_extendedsearchblock']);
$external_propertys['is_extendedoptionsblock'] = isset($_GET['is_extendedoptionsblock']);
/* Ограничиваем по цене ОТ */
$price_from = str_replace(',', '.', to_float($_GET['price_from']));
if ($price_from > 0)
{
$external_propertys['price_from'] = $price_from;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Ограничиваем по цене ДО */
$price_to = str_replace(',', '.', to_float($_GET['price_to']));
if ($price_to > 0)
{
$external_propertys['price_to'] = $price_to;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Число элементов на странице */
$on_page = to_int($_GET['on_page']);
if ($on_page > 0 && $on_page < 150)
{
$param['items_on_page'] = $on_page;
$external_propertys['on_page'] = $on_page;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
// Определяем номер страницы.
if ($on_page)
{
$items_on_page = $on_page;
}
if (ereg("^page-([0-9]*)$", $page, $regs) && to_int($regs[1]) > 1)
{
/* Страница умножается на кол-во элементов, выводимых на страницу */
$items_begin = ($regs[1] - 1) * $items_on_page;
}
else
{
$items_begin = 0;
}
$param['items_begin'] = $items_begin;
/* Направление сортировки, 0 - по-возрастанию, 1 - по-убыванию */
$order_direction = to_int($_GET['order_direction']);
switch ($order_direction)
{
case 1: /* По-возрастанию */
{
$order_direction = 'ASC';
break;
}
case 2: /* По-убыванию */
{
$order_direction = 'DESC';
break;
}
default: /* по умолчанию */
{
$order_direction = 'ASC';
break;
}
}
/* Поле сортировки */
$sort_field = to_int($_GET['sort_by_field']);
switch ($sort_field)
{
case 1: /* По имени */
{
$param['items_field_order'] = 'shop_items_catalog_name';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
case 2: /* По цене */
{
//$param['items_field_order'] = 'shop_items_catalog_price';
$param['items_field_order'] = 'item_price_absolute';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
case 3: /* По оценке*/
{
$param['items_field_order'] = 'shop_comment_grade';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
case 4: /* По просмотрам*/
{
$param['items_field_order'] = 'shop_items_catalog_show_count';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
}
// Задан фильтр и/или сортировка по цене
if ($price_from > 0 || $price_to > 0 || $sort_field == 2)
{
// Получаем список валют магазина
$currency_result = $shop->GetAllCurrency();
$query_currency_switch = 'shop_items_catalog_price';
// Цикл по валютам магазина
while ($currency_row = mysql_fetch_assoc($currency_result))
{
// Получаем коэффициент пересчета для каждой валюты
$currency_coefficient = $shop->GetCurrencyCoefficientToShopCurrency($currency_row['shop_currency_id'], $shop_row['shop_currency_id']);
$query_currency_switch = "IF (shop_items_catalog_table.shop_currency_id = {$currency_row['shop_currency_id']}, shop_items_catalog_table.shop_items_catalog_price * $currency_coefficient, $query_currency_switch)";
}
$param['sql_external_select'] = ' ,' . $query_currency_switch . ' AS item_price_absolute';
}
/* Обработка дополнительных свойств.
Получаем список свойств, разрешенных для отображения в данной группе и в фильтре */
$resource_properties = $shop->GetPropertiesOfGroupForXml($current_shop_id, $param['current_group_id']);
if ($resource_properties)
{
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
/* Префикс, если нужен. */
if(($my_years_condition>0)||($my_photo_condition>0))
{
$element['prefix'] = ' OR ('; // префикс
}
else
{
$element['prefix'] = ' AND ('; // префикс
}
/* ОСТАВЛЯЕТЕ БЕЗ ИЗМЕНЕНИЙ, ЭТО НУЖНО ДЛЯ СОРТИРОВКИ */
$element['name'] = ''; // Имя
/* поля для основного св-ва, если тип = 1, то не указывается */
$element['if'] = ''; // Условие
/* Вот здесь передается ID доп. св-ва, по которому производится сортировка.
ID ВАШЕГО ПОЛЯ УКАЗЫВАЕТЕ ЗДЕСЬ */
$element['value'] = ''; /* Значение поля (или параметра) */
$element['sufix']=' ';
/* Добавляем в общий список условий */
$param['select'][] = $element;
$count_condition = 0;
$property_xml = '';
$count_properties = mysql_num_rows($resource_properties);
// Массив идентификаторов доп. свойств, для которых задан тип отображения "Список - флажками"
$mas_key_list_checkbox = array();
for ($i = 0; $i < $count_properties; $i++)
{
$row = mysql_fetch_assoc($resource_properties);
$element['value'] = 0;
switch ($row['shop_list_of_properties_show_kind'])
{
case 1: // Поле ввода
case 2: // Список - списком
case 3: // Список - переключателями
case 5: // Флажок
{
/* Выбираем режим отображения */
$get_param = 'property_id_' . $row['shop_list_of_properties_id'];
if (isset($_GET[$get_param]))
{
if ($row['shop_list_of_properties_type'] == 0
|| $row['shop_list_of_properties_show_kind'] == 1)
{
if (to_str($_GET[$get_param]) !== '')
{
$element['value'] = quote_smart(to_str($_GET[$get_param]));
$external_propertys['property_id_' . to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_' . to_int($row['shop_list_of_properties_id']) . '=' . $element['value'];
$element['value'] = '%' . $element['value'] . '%';
}
}
// Флажок
elseif($row['shop_list_of_properties_type'] == 7)
{
$element['value'] = 1;
$external_propertys['property_id_' . to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_' . to_int($row['shop_list_of_properties_id']) . '=' . $element['value'];
}
else
{
if (to_int($_GET[$get_param]) > 0)
{
$element['value'] = to_int($_GET[$get_param]);
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'='.$element['value'];
}
}
}
if ($element['value'])
{
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
$element['property_id'] = to_int($row['shop_list_of_properties_id']);
$element['type'] = 1; /* 0 - основное св-во, 1 - дополнительное */
//$element['prefix'] = ''; /* префикс */
// Способ отображения "Поле ввода"
if ($row['shop_list_of_properties_show_kind'] == 1 && !is_numeric($_GET[$get_param]))
{
$element['value'] = '%' . $element['value'] . '%';
$element['if'] = ' LIKE '; /* Условие */
}
else
{
$element['if'] = '='; /* Условие */
}
$element['sufix'] = '';
if ($count_condition)
{
$element['prefix'] = ' OR '; /* префикс */
}
else
{
$element['prefix'] = ' '; /* префикс */
}
$count_condition++;
$param['select'][] = $element;
}
}
case 4: // Тип отображения - список флажками
{
// Модуль "Списки" подключен и значенич доп. свойства не обработаны ранее
if (class_exists('lists') && !in_array($row['lists_id'], $mas_key_list_checkbox))
{
$mas_key_list_checkbox[] = $row['lists_id'];
$lists = & singleton('lists');
// Получаем информацию о элементах списка, который задан для доп. свойства
$list_items_resource = $lists->SelectListsItems($row['lists_id']);
$k = 0;
// Цикл по элементам списка
while($row_list_item = mysql_fetch_assoc($list_items_resource))
{
// Передано значение элемента списка. Формируем запрос.
if (isset($_GET['property_id_' . $row['shop_list_of_properties_id'] .'_item_id_' . $row_list_item['lists_items_id']]))
{
if ($count_condition || $k > 0)
{
$element['prefix'] = ' OR '; /* префикс */
}
else
{
$element['prefix'] = ' '; // ' '
}
$element['property_id'] = to_int($row['shop_list_of_properties_id']);
$element['type'] = 1; /* 0 - основное св-во, 1 - дополнительное */
$element['if'] = '='; /* Условие */
$element['value'] = $row_list_item['lists_items_id'];
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['property_id_' . to_int($row['shop_list_of_properties_id']) . '_item_id_' . $row_list_item['lists_items_id']] = $element['value'];
$property_xml .= '&property_id_' . to_int($row['shop_list_of_properties_id']) . '_item_id_' . $row_list_item['lists_items_id'] . '=' . $element['value'];
$k++;
}
}
// Задан фильтр по одному из значений списка
if ($k > 0)
{
$count_condition++;
}
}
break;
}
case 6: // Тип отображения - диапазон
{
$get_param_from = 'property_id_' . $row['shop_list_of_properties_id'] . '_from';
$get_param_to = 'property_id_' . $row['shop_list_of_properties_id'] . '_to';
if (isset($_GET[$get_param_from]) && strlen($_GET[$get_param_from]) > 0)
{
// Sielski
// только для диапазона по годам (по пробегу и объёму двигаткля брать не надо!!!)
if(($row['shop_list_of_properties_id'] != "279")&&($row['shop_list_of_properties_id'] != "280"))
{
$my_years_condition = 0;
}
// End Sielski
$value = floatval($_GET[$get_param_from]);
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id']) . '_from'] = $value;
$property_xml .= '&property_id_' . to_int($row['shop_list_of_properties_id']).'_from=' . $value;
$element['type'] = 1; /* 0 - основное св-во, 1 - дополнительное */
$element['property_id'] = to_int($row['shop_list_of_properties_id']);
$element['if'] = 'IS NOT NULL'; /* Условие */
$element['value'] = '';
$property_row = $shop->GetPropretyOfItems($element['property_id']);
if($property_row['shop_list_of_properties_type'] == 2)
{
$lists_id = to_int($property_row['lists_id']);
$lists = & singleton('lists');
$list_row = $lists->GetListItemsById($lists_id);
$in = array();
if (is_array($list_row) && count($list_row) > 0)
{
foreach ($list_row as $row_lists_items_value)
{
if ($row_lists_items_value['lists_items_value'] >= $value)
{
$in[] = $row_lists_items_value['lists_items_id'];
}
}
}
if(count($in) > 0)
{
$element['sufix'] = 'AND shop_properties_items_table.shop_properties_items_value - 0.0 IN ('.implode(',', $in).') ';
}
else
{
$element['sufix'] = "";
}
}
else
{
$element['sufix'] = " AND shop_properties_items_table.shop_properties_items_value - 0.0 >=$value";
}
if ($count_condition)
{
$element['prefix'] = ' OR '; /* префикс */
}
else
{
$element['prefix'] = ' '; /* префикс */
}
$param['select'][] = $element;
$count_condition++;
}
if (isset($_GET[$get_param_to]) && strlen($_GET[$get_param_to]) > 0)
{
$value = floatval($_GET[$get_param_to]);
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id']) . '_to'] = $value;
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'_to='.$value;
$element['property_id'] = to_int($row['shop_list_of_properties_id']);
$element['type'] = 1; /* 0 - основное св-во, 1 - дополнительное */
$element['if'] = 'IS NOT NULL'; /* Условие */
$element['value'] = '';
$property_row = $shop->GetPropretyOfItems($element['property_id']);
if ($property_row['shop_list_of_properties_type'] == 2)
{
$lists_id = to_int($property_row['lists_id']);
$lists = & singleton('lists');
$list_row = $lists->GetListItemsById($lists_id);
$in = array();
if (is_array($list_row) && count($list_row) > 0)
{
foreach ($list_row as $row_lists_items_value)
{
if($row_lists_items_value['lists_items_value'] <= $value)
{
$in[] = $row_lists_items_value['lists_items_id'];
}
}
}
if(count($in) > 0)
{
$element['sufix'] = 'AND shop_properties_items_table.shop_properties_items_value - 0.0 IN ('.implode(',', $in).') ';
}
else
{
$element['sufix'] = "";
}
}
else
{
$element['sufix'] = "AND shop_properties_items_table.shop_properties_items_value - 0.0 <= $value";
}
if (!(isset($_GET[$get_param_from]) && strlen($_GET[$get_param_from]) > 0))
{
if ($count_condition)
{
$element['prefix'] = ' OR '; /* префикс */
}
else
{
$element['prefix'] = ' '; /* префикс */
}
$count_condition++;
}
else
{
$element['prefix'] = ' AND ';
}
$param['select'][] = $element;
}
break;
}
case 7: // Список - список с множественным выбором
{
// Модуль "Списки" подключен и передан массив значений доп. свойства
if (class_exists('lists') && isset($_GET['property_id_' . $row['shop_list_of_properties_id']]) && is_array($_GET['property_id_' . $row['shop_list_of_properties_id']]))
{
$lists = & singleton('lists');
// Получаем информацию о элементах списка, который задан для доп. свойства
$list_items_resource = $lists->SelectListsItems($row['lists_id']);
$k = 0;
// Цикл по элементам списка
while($row_list_item = mysql_fetch_assoc($list_items_resource))
{
// Передано значение элемента списка. Формируем запрос.
if (in_array($row_list_item['lists_items_id'], $_GET['property_id_' . $row['shop_list_of_properties_id']]))
{
if ($count_condition || $k > 0)
{
$element['prefix'] = ' OR '; /* префикс */
}
else
{
$element['prefix'] = ' ';
}
$element['property_id'] = to_int($row['shop_list_of_properties_id']);
$element['type'] = 1; /* 0 - основное св-во, 1 - дополнительное */
$element['if'] = '='; /* Условие */
$element['value'] = $row_list_item['lists_items_id'];
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['property_id_' . to_int($row['shop_list_of_properties_id']) . '_item_id_' . $row_list_item['lists_items_id']] = $element['value'];
$property_xml .= '&property_id_' . to_int($row['shop_list_of_properties_id']) . '_item_id_' . $row_list_item['lists_items_id'] . '=' . $element['value'];
$k++;
}
}
// Задан фильтр по одному из значений списка
if ($k > 0)
{
$count_condition++;
}
}
break;
}
}
}
if (!$count_condition)
{
$element['prefix'] = ' 1'; /* префикс */
}
else
{
$element['prefix'] = ''; // префикс
}
/* добавляем конечный элемент, содержащий HAVING */
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
/* ОСТАВЛЯЕТЕ БЕЗ ИЗМЕНЕНИЙ, ЭТО НУЖНО ДЛЯ СОРТИРОВКИ */
$element['name'] = ''; /* Имя */
/* поля для основного св-ва, если тип = 1, то не указывается */
$element['if'] = ''; /* Условие */
/* Вот здесь передается ID доп. св-ва, по которому производится сортировка.
ID ВАШЕГО ПОЛЯ УКАЗЫВАЕТЕ ЗДЕСЬ */
$element['value'] = ''; // Значение поля (или параметра)
//sielski
$count_condition_=$count_condition+$my_years_condition;
//sielski
//if ($count_condition != 0 && ($price_from > 0 || $price_to >0))
if ($count_condition_ > 0)
{
// Sielski
$count_condition_=$count_condition_ + $my_photo_condition;
// Sielski
$param['sql_group_by'] = 'GROUP BY shop_items_catalog_table.shop_items_catalog_item_id';
$param['sql_having'] = "HAVING COUNT(shop_properties_items_table.shop_properties_items_id) = {$count_condition_}";
}
else
{
$param['sql_having'] = 'HAVING 1 ';
}
$element['sufix'] = ' ) ';
/* Добавляем в общий список условий */
$param['select'][] = $element;
}
else
{
$param['sql_having'] = 'HAVING 1 ';
}
if ($price_from > 0)
{
$param['sql_having'] .= ' AND item_price_absolute >= ' . $price_from;
}
if ($price_to > 0)
{
$param['sql_having'] .= ' AND item_price_absolute <= ' . $price_to;
}
/* добавляем конечный элемент, содержащий HAVING */
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
$element['prefix'] = ' AND';
$element['name'] = 'shop_items_catalog_table.shop_shops_id'; /* Имя */
$element['if'] = '='; /* Условие */
$element['value'] = $current_shop_id; // Значение поля (или параметра)
$element['sufix'] = '';
/* Добавляем в общий список условий */
$param['select'][] = $element;
if (!empty($property_xml))
{
$external_propertys['property_xml'] = $property_xml;
}
// Если передано имя тэга - фильтруем
if (isset($GLOBALS['shop_item_path']['tag_name']))
{
if (class_exists('Tag'))
{
$oTag = & singleton('Tag');
$tag_row = $oTag->GetTagByPath($GLOBALS['shop_item_path']['tag_name']);
$param['tags'] = array($tag_row['tag_id']);
// При выводе тэгов вывод элементов ведется из всех групп
$param['current_group_id'] = false;
}
}
// При выводе списка товаров получать подробное описание каждого товара не нужно
$param['show_text'] = false;
// При выводе списка товаров получать сопутствующие товары не нужно
$param['xml_show_tying_products'] = false;
// Разрешаем передачу в XML свойств групп
$param['xml_show_group_property'] = true;
// Разрешаем передачу в XML всех групп
$param['xml_show_group_type'] = 'all';
// Получаем информацию об элементах текущей группы
$param_item_group['shop_groups_id'] = $GLOBALS['shop_item_path']['group'];
$items_group_resource = $shop->GetItemByParam($param_item_group);
// В текущей группе отсутствуют товары
if (mysql_num_rows($items_group_resource) == 0)
{
$mas_group = $shop->GetGroupsTree($GLOBALS['shop_item_path']['group'], $current_shop_id);
// в $in будет хранится массив подгрупп
$group_id = to_int($_GET['group_id']);
$in = array($group_id);
$set = array();
$set = SetGroups($mas_group, $set);
$elements = array();
foreach ($set as $key => $value)
{
$in[] = $value;
}
$elements['type'] = 0;
$elements['prefix'] = ' and (';
$elements['name'] = 'shop_items_catalog_table.shop_groups_id';
$elements['if'] = ' IN (' . implode(',', $in) . ') ';
$elements['value'] = '';
$elements['sufix'] = ')';
$param['select'][] = $elements;
$param['current_group_id'] = false;
}
else
{
$param['current_group_id'] = $GLOBALS['shop_item_path']['group'];
}
$external_propertys['ТекущаяГруппа'] = $GLOBALS['shop_item_path']['group'];
// В корне выводим из всех поддиректорий
if ($param['current_group_id'] == 0)
{
$param['current_group_id'] = false;
}
//print_r($param);
// заменим префикс OR на AND, если выбраны только чекбоксы ("до 3-х лет", "3 - 5 лет", "старше 5 лет") и не выбрано других доп. условий
if ($count_condition<1)
{
$param['select'][$my_index_param]['prefix']="AND (";
}
$shop->ShowShop($current_shop_id, $xsl_catalog, $param, $external_propertys);
}
else
{
/* Вывод конкретного элемент */
//$param['show_catalog_item_type'] = array('active', 'inactive');
/* Вывод конкретного элемент */
$shop->ShowItem($GLOBALS['shop_item_path']['item'], $xsl_item, $param, $external_propertys);
}
}
[b]
if (isset($_GET['mark_code_value']))
{
$list_item_value = $_GET['mark_code_value'];
$lists = singleton('lists');
$lists_id = '44';
$row = $lists->GetListItemIfIssetValue($lists_id, $list_item_value);
$value = $row['lists_items_id'];
$external_propertys['mark_code'] = 1;
print_r($value);
}
?>
Полужирным я выделил код, участвующий в определении кода списка
Авторизация