<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
/** @var CBitrixComponent $this */
/** @var array $arParams */
/** @var array $arResult */
/** @var string $componentPath */
/** @var string $componentName */
/** @var string $componentTemplate */
/** @global CDatabase $DB */
/** @global CUser $USER */
/** @global CMain $APPLICATION */

use Bitrix\Main\Context,
	Bitrix\Main\Type\DateTime,
	Bitrix\Main\Loader,
	Bitrix\Iblock;

if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
{
	if(CModule::IncludeModule('iblock'))
	{
		$sort = [ "SORT" => "ASC" ];
		$filter = [ "ACTIVE" => "Y", "IBLOCK_ID" => $arParams['IBLOCK_ID_RULES'], ];
		$options = false;

		$group = null;
		$group_name = null;
		$group_genitive = null;
		$group_accusative = null;
		$group_prepositional = null;
		$group_slug = null;

		$brand = null;
		$brand_name = null;
		$brand_slug = null;

		$type = null;
		$type_name = null;
		$type_plural = null;
		$type_genitive = null;
		$type_accusative = null;
		
		$type_singular_genitive = null;
		$type_slug = null;
		$type_section = null;

		if(isset($_REQUEST['GROUP']))
		{
			$res_group = CIBlockSection::GetList(
				[ "SORT" => "ASC" ], 
				[ "ACTIVE" => "Y", "IBLOCK_ID" => $arParams['IBLOCK_ID_PROGRAMS_AGGREGATION'], "CODE" => $_REQUEST['GROUP'], ], 
				false, [ "UF_VEHICLE_GROUP_GENITIVE_NAME", "UF_VEHICLE_GROUP_ACCUSATIVE_NAME", "UF_VEHICLE_GROUP_PREPOSITIONAL_NAME", "UF_VEHICLE_GROUP_NAME_GENDER", ]
			);

			while($section_group = $res_group->GetNext())
			{
				$group = $section_group['ID'];
				$group_name = $section_group['NAME'];
				$group_genitive = $section_group['UF_VEHICLE_GROUP_GENITIVE_NAME'];
				$group_accusative = $section_group['UF_VEHICLE_GROUP_ACCUSATIVE_NAME'];
				$group_prepositional = $section_group['UF_VEHICLE_GROUP_PREPOSITIONAL_NAME'];
				$group_gender = UF_VEHICLE_GROUP_NAME_GENDER_IDS[$section_group['UF_VEHICLE_GROUP_NAME_GENDER']];
				$group_slug = $section_group['CODE'];

				//$section_group['PROPERTIES'] = $section_group;
//				print "<pre>";
//				print_r($section_group);
//				print "</pre>";
//				print "<pre>";
//				print_r($group);
//				print "</pre>";
			}
		}

		if(isset($_REQUEST['BRAND']))
		{
			$res_brand = CIBlockElement::GetList(
				[ "SORT" => "ASC" ], 
				[ "ACTIVE" => "Y", "IBLOCK_ID" => $arParams['IBLOCK_ID_PROGRAMS_AGGREGATION_BRANDS'], "CODE" => $_REQUEST['BRAND'], ], 
				false, false
			);

			while ($element_brand = $res_brand->GetNextElement())
			{
				$ar_res_brand = $element_brand->GetFields();
				$brand = $ar_res_brand['ID'];
				$brand_name = $ar_res_brand['NAME'];
				$brand_slug = $ar_res_brand['CODE'];
			}
		}

		if(isset($_REQUEST['TYPE']))
		{
			$res_type = CIBlockElement::GetList(
				[ "SORT" => "ASC" ], 
				[ "ACTIVE" => "Y", "IBLOCK_ID" => $arParams['IBLOCK_ID_PROGRAMS_AGGREGATION'], "CODE" => $_REQUEST['TYPE'], ], 
				false, false
			);

			while ($element_type = $res_type->GetNextElement())
			{
				$ar_res_type = $element_type->GetFields();
				$ar_res_type['PROPERTIES'] = $element_type->GetProperties();
				
				$type = $ar_res_type['ID'];
				$type_name = $ar_res_type['NAME'];
				$type_plural = $ar_res_type['PROPERTIES']['PLURAL_NAME']['VALUE'];
				$type_genitive = $ar_res_type['PROPERTIES']['GENITIVE_NAME']['VALUE'];
				$type_accusative = $ar_res_type['PROPERTIES']['ACCUSATIVE_NAME']['VALUE'];
				$type_singular_genitive = $ar_res_type['PROPERTIES']['GENITIVE_SINGULAR_NAME']['VALUE'];
				$type_slug = $ar_res_type['CODE'];
				$type_gender = $ar_res_type['PROPERTIES']['NAME_GENDER']['VALUE_XML_ID'];
				$type_section = $ar_res_type['IBLOCK_SECTION_ID'];
			}

			// if($group === null && $type_section !== null)
			// {
			// 	$group_res = CIBlockSection::GetByID($type_section);

			// 	if($ar_group_res = $group_res->GetNext())
			// 	{
			// 		$group_name = $ar_group_res['NAME'];
			// 		$group_slug = $ar_group_res['CODE'];
			// 	}
			// }
		}

		if(isset($_REQUEST['TYPE']))
		{
			/*
			elseif(isset($_REQUEST['CHUNK']))
			{
				$res_type = CIBlockElement::GetList(
					[ "SORT" => "ASC" ], 
					[ "ACTIVE" => "Y", "IBLOCK_ID" => $arParams['IBLOCK_ID_PROGRAMS_AGGREGATION'], "CODE" => $_REQUEST['CHUNK'], ], 
					false, false
				);
	
				while ($element_type = $res_type->GetNextElement())
				{
					$ar_res_type = $element_type->GetFields();
					$ar_res_type['PROPERTIES'] = $element_type->GetProperties();
	
					$type = $ar_res_type['ID'];
					$type_name = $ar_res_type['NAME'];
					$type_plural = $ar_res_type['PROPERTIES']['PLURAL_NAME']['VALUE'];
					$type_genitive = $ar_res_type['PROPERTIES']['GENITIVE_NAME']['VALUE'];
					$type_slug = $ar_res_type['CODE'];
					$type_gender = $ar_res_type['PROPERTIES']['NAME_GENDER']['VALUE_XML_ID'];
				}
	
				$res_brand = CIBlockElement::GetList(
					[ "SORT" => "ASC" ], 
					[ "ACTIVE" => "Y", "IBLOCK_ID" => $arParams['IBLOCK_ID_PROGRAMS_AGGREGATION_BRANDS'], "CODE" => $_REQUEST['CHUNK'], ], 
					false, false
				);
	
				while ($element_brand = $res_brand->GetNextElement())
				{
					$ar_res_brand = $element_brand->GetFields();
					$brand = $ar_res_brand['ID'];
					$brand_name = $ar_res_brand['NAME'];
					$brand_slug = $ar_res_brand['CODE'];
				}
			}
			*/
		}

		if($group !== null)
		{
			$filter['PROPERTY_VEHICLE_GROUP'] = $group;
		}
		else
		{
			$filter['PROPERTY_VEHICLE_GROUP'] = false;
		}

		if($type !== null)
		{
			$filter['PROPERTY_VEHICLE_TYPE'] = $type;
		}
		else
		{
			$filter['PROPERTY_VEHICLE_TYPE'] = false;
		}

		if($brand !== null)
		{
			$filter['PROPERTY_VEHICLE_BRAND'] = $brand;
		}
		else
		{
			$filter['PROPERTY_VEHICLE_BRAND'] = false;
		}

		$res = CIBlockElement::GetList($sort, $filter, false, $options);
//		print "<pre>";
//		print_r($filter);
//		print "</pre>";
//		die();
		while ($element = $res->GetNextElement())
		{
			$ar_res = $element->GetFields();
			$ar_res['PROPERTIES'] = $element->GetProperties();

			$arResult = $ar_res;
			$arResult['BANNER'] = CFile::GetPath($ar_res['PREVIEW_PICTURE']);
			$arResult['DETAIL_PICTURE'] = CFile::GetPath($ar_res['DETAIL_PICTURE']);

			$arResult['GROUP'] = $group;
			$arResult['GROUP_NAME'] = $group_name;
			$arResult['GROUP_SLUG'] = $group_slug;
			$arResult['GROUP_GENITIVE'] = $group_genitive;
			$arResult['GROUP_ACCUSATIVE'] = $group_accusative;
			$arResult['GROUP_PREPOSITIONAL'] = $group_prepositional;
			$arResult['GROUP_GENDER'] = $group_gender;

			$arResult['BRAND'] = $brand;
			$arResult['BRAND_NAME'] = $brand_name;
			$arResult['BRAND_SLUG'] = $brand_slug;

			$arResult['TYPE'] = $type;
			$arResult['TYPE_SLUG'] = $type_slug;
			$arResult['TYPE_PLURAL'] = $type_plural;
			$arResult['TYPE_GENITIVE'] = $type_genitive;
			$arResult['TYPE_GENITIVE_SINGULAR'] = $type_singular_genitive;
		}

		$APPLICATION->AddChainItem($arParams['TITLE'], "/programs/".$arParams['PATH']."/");
		$APPLICATION->SetPageProperty("title", "Лизинг ".mb_strtolower($arParams['SHORT_TITLE_GENITIVE'])." для юридических лиц и ИП в Москве - купить новую ".mb_strtolower($arParams['SHORT_TITLE_ACCUSATIVE'])." в лизинг | Эволюция");
		$APPLICATION->SetPageProperty("description", "Новая ".mb_strtolower($arParams['SHORT_TITLE'])." в лизинг для юридических лиц и ИП в Москве и в других регионах России. Вы можете купить ".mb_strtolower($arParams['SHORT_TITLE_ACCUSATIVE'])." в лизинг от официальных дилеров на выгодных условиях со скидкой. Телефон горячей линии 8 (800) 333-75-75 - звонок по России бесплатный.");
		$APPLICATION->SetPageProperty("keywords", "".$arParams['SHORT_TITLE']." в лизинг, лизинг ".mb_strtolower($arParams['SHORT_TITLE_GENITIVE'])." для юридических лиц, лизинг ".mb_strtolower($arParams['SHORT_TITLE_GENITIVE'])." для ип");

		if(empty($arResult['NAME'])) { define('ERROR_404', 'Y'); }
		else
		{
			if($group !== null)
			{
				$APPLICATION->SetPageProperty("title", "".$group_name." в лизинг для юридических лиц и ИП в Москве - купить ".($group_gender === "M" ? "новый" : ($group_gender === "F" ? "новую" : "новые" ))." ".mb_strtolower($group_accusative)." в лизинг | Эволюция");
				$APPLICATION->SetPageProperty("description", "".($group_gender === "M" ? "Новый" : ($group_gender === "F" ? "Новая" : "Новые" ))." ".mb_strtolower($group_name)." в лизинг для юридических лиц и ИП в Москве и в других регионах России. Вы можете купить ".mb_strtolower($group_accusative)." в лизинг от официальных дилеров на выгодных условиях со скидкой. Телефон горячей линии 8 (800) 333-75-75 - звонок по России бесплатный.");
				$APPLICATION->SetPageProperty("keywords", "".mb_strtolower($group_name)." в лизинг, купить ".mb_strtolower($group_accusative)." в лизинг, ".mb_strtolower($group_name)." в лизинг для юридических лиц, ".mb_strtolower($group_name)." в лизинг для ип");

				$APPLICATION->AddChainItem($group_name, "/programs/".$arParams['PATH']."/".$group_slug."/");

				if($type !== null)
				{
					$APPLICATION->SetPageProperty("title", "".$type_plural." в лизинг для юридических лиц и ИП в Москве - купить ".($type_gender === "M" ? "новый" : ($type_gender === "F" ? "новую" : "новые" ))." ".mb_strtolower($type_accusative)." в лизинг | Эволюция");
					$APPLICATION->SetPageProperty("description", "".($type_gender === "M" ? "Новые" : ($type_gender === "F" ? "Новая" : "Новое" ))." ".mb_strtolower($type_plural)." в лизинг для юридических лиц и ИП в Москве и в других регионах России. Вы можете купить ".mb_strtolower($type_accusative)." в лизинг от официальных дилеров на выгодных условиях со скидкой. Телефон горячей линии 8 (800) 333-75-75 - звонок по России бесплатный.");
					$APPLICATION->SetPageProperty("keywords", "".mb_strtolower($type_plural)." в лизинг, купить ".mb_strtolower($type_accusative)." в лизинг, ".mb_strtolower($type_name)." в лизинг для юридических лиц, ".mb_strtolower($type_name)." в лизинг для ип");

					$APPLICATION->AddChainItem($type_name, "/programs/".$arParams['PATH']."/".$group_slug."/".$type_slug."/");

					$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/programs/'.$arParams['PATH'].'/'.$group_slug.'/'.$type_slug.'/"/>');
				}
				else
				{
					$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/programs/'.$arParams['PATH'].'/'.$group_slug.'/"/>');
				}
			}
			else
			{
				if($type !== null)
				{
					$APPLICATION->SetPageProperty("title", "".$type_plural." в лизинг для юридических лиц и ИП в Москве - купить ".($type_gender === "M" ? "новый" : ($type_gender === "F" ? "новую" : "новые" ))." ".$type_name." в лизинг | Эволюция");
					$APPLICATION->SetPageProperty("description", "Новые ".mb_strtolower($type_plural)." в лизинг для юридических лиц и ИП в Москве и в других регионах России. Вы можете купить ".$type_name." в лизинг от официальных дилеров на выгодных условиях со скидкой. Телефон горячей линии 8 (800) 333-75-75 - звонок по России бесплатный.");
					$APPLICATION->SetPageProperty("keywords", "".$type_plural." в лизинг, купить ".$type_name." в лизинг, ".$type_name." в лизинг для юридических лиц, ".$type_name." в лизинг для ип");

					if($brand !== null)
					{
						$APPLICATION->AddChainItem($brand_name, "/programs/".$arParams['PATH']."/brand-".$brand_slug."/");

						$APPLICATION->SetPageProperty("title", "".$type_plural." ".$brand_name." в лизинг для юридических лиц и ИП в Москве - купить ".($type_gender === "M" ? "новый" : ($type_gender === "F" ? "новую" : "новые" ))." ".$type_name." ".$brand_name." в лизинг | Эволюция");
						$APPLICATION->SetPageProperty("description", "Новые ".mb_strtolower($type_plural)." ".$brand_name." в лизинг для юридических лиц и ИП в Москве и в других регионах России. Вы можете купить ".$type_name." ".$brand_name." в лизинг от официальных дилеров на выгодных условиях со скидкой. Телефон горячей линии 8 (800) 333-75-75 - звонок по России бесплатный.");
						$APPLICATION->SetPageProperty("keywords", "".$type_plural." ".$brand_name." в лизинг, купить ".$type_name." ".$brand_name." в лизинг, ".$type_name." ".$brand_name." в лизинг для юридических лиц, ".$type_name." ".$brand_name." в лизинг для ип");			
						$APPLICATION->AddChainItem($type_name, "/programs/".$arParams['PATH']."/brand-".$brand_slug."/".$type_slug."/");

						$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/programs/'.$arParams['PATH'].'/brand-'.$brand_slug.'/'.$type_slug.'/"/>');
					}
					else
					{
						$APPLICATION->AddChainItem($type_name, "/programs/".$arParams['PATH']."/".$type_slug."/");

						$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/programs/'.$arParams['PATH'].'/'.$type_slug.'/"/>');
					}
				}
				else
				{
					if($brand !== null)
					{
						$APPLICATION->AddChainItem($brand_name, "/programs/".$arParams['PATH']."/brand-".$brand_slug."/");

						$APPLICATION->SetPageProperty("title", "".$arParams['SHORT_TITLE']." ".$brand_name." в лизинг для юридических лиц и ИП в Москве - купить новую ".mb_strtolower($arParams['SHORT_TITLE_ACCUSATIVE'])." ".$brand_name." в лизинг | Эволюция");
						$APPLICATION->SetPageProperty("description", "Новая ".mb_strtolower($arParams['SHORT_TITLE'])." ".$brand_name." в лизинг для юридических лиц и ИП в Москве и в других регионах России. Вы можете купить ".mb_strtolower($arParams['SHORT_TITLE_ACCUSATIVE'])." ".$brand_name." в лизинг от официальных дилеров на выгодных условиях со скидкой. Телефон горячей линии 8 (800) 333-75-75 - звонок по России бесплатный.");
						$APPLICATION->SetPageProperty("keywords", "".$brand_name." в лизинг, купить ".$brand_name." в лизинг, ".$brand_name." в лизинг для юридических лиц, ".$brand_name." в лизинг для ип, ".mb_strtolower($arParams['SHORT_TITLE'])." ".$brand_name." в лизинг");	

						$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/programs/'.$arParams['PATH'].'/brand-'.$brand_slug.'/"/>');
					}
					else
					{
						$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/programs/'.$arParams['PATH'].'/"/>');
					}
				}
			}
		}

		$this->IncludeComponentTemplate();
	}
}