

const CATEGORIES = [
  {
    id: 'sort',
    title: 'Сортовой прокат',
    short: 'Заготовки для строительства и производства',
    items: [
      { name: 'Арматура А1 / А240', spec: 'Гладкая, ГОСТ 5781-82', sizes: 'Ø 6–10 мм', length: 'бухты 0.85–2 т', price: 320, unit: 'кг' },
      { name: 'Арматура А3', spec: 'Рифлёная, А500, ГОСТ 5781-82', sizes: 'Ø 6–32 мм', length: '6 / 11.75 / 12 м', price: 335, unit: 'кг' },
      { name: 'Круг (кругляк)', spec: 'ГОСТ 2590-88, 1435-99, 7417-75', sizes: 'Ø 6–270 мм', length: 'мерн. 6 / 12 м', price: null, unit: 'кг' },
      { name: 'Шестигранник', spec: 'ГОСТ 2879-88, 8560-78', sizes: 'Ø вписанного 5–100 мм', length: '2–6.5 м', price: null, unit: 'кг' },
      { name: 'Квадрат', spec: 'Россия, ст.3 сп/пс', sizes: '10×10 — 20×20 мм', length: '6.05 м', price: 415, unit: 'кг' },
      { name: 'Полоса стальная', spec: 'ст.3 сп/пс, ГОСТ 103-76', sizes: '25×4 — 50×5 мм', length: '6 м', price: 460, unit: 'кг' },
      { name: 'Катанка', spec: 'ГОСТ 30136-95, ТУ 14-1-5282-94', sizes: 'Ø 6–8 мм', length: 'в бухтах 0.85–2 т', price: 330, unit: 'кг' },
    ],
  },
  {
    id: 'fas',
    title: 'Фасонный прокат',
    short: 'Несущие каркасы и металлоконструкции',
    items: [
      { name: 'Швеллер', spec: 'ст.3 сп/пс, ГОСТ 535-2005, 27772-2015', sizes: '№ 8–40', length: '12 м', price: 398, unit: 'кг' },
      { name: 'Балка (двутавр)', spec: 'Б1 / К1 / Ш1 / М, ГОСТ 26020-83', sizes: '12Б1 — 60Б1', length: '12 м', price: 488, unit: 'кг' },
      { name: 'Уголок равнополочный', spec: 'ст.3 сп/пс, ГОСТ 8509-93', sizes: '25×3 — 125×12 мм', length: '6 / 12 м', price: 358, unit: 'кг' },
      { name: 'Уголок неравнополочный', spec: 'ст.3 / 09Г2С', sizes: '25×16×3 — 300×250×16 мм', length: '6 / 12 м', price: null, unit: 'кг' },
    ],
  },
  {
    id: 'trub',
    title: 'Трубный прокат',
    short: 'Водо-, газо-, электросварные и бесшовные',
    items: [
      { name: 'Труба ВГП', spec: '08кп/пс, ст.3 сп/пс, ГОСТ 3262-75', sizes: 'Ø 15×2.5 — 80×3.5 мм', length: '6 / 10 м', price: 387, unit: 'кг' },
      { name: 'Труба ВГП оцинкованная', spec: 'ст.2пс, ГОСТ 3262-75', sizes: '40×3.5 — 50×3.0 мм', length: '7.8 м', price: 705, unit: 'кг' },
      { name: 'Труба электросварная', spec: 'ГОСТ 10705-80, 10704-91', sizes: '108×3.5 — 219×6 мм', length: '11.75 м', price: 390, unit: 'кг' },
      { name: 'Труба бесшовная г/д', spec: 'Горячедеформированная', sizes: '32×2 — 720×12 мм', length: '2–12 м', price: null, unit: 'кг' },
      { name: 'Труба бесшовная х/д', spec: 'Холоднодеформированная', sizes: '6×1 — 89×5 мм', length: '2–12 м', price: null, unit: 'кг' },
      { name: 'Труба квадратная', spec: 'ст.08кп/пс, ст.3 сп/пс, ГОСТ 8639-82', sizes: '15×15×1.2 — 300×300×10 мм', length: '6 / 12 м', price: 415, unit: 'кг' },
      { name: 'Труба прямоугольная', spec: 'Профильная, ГОСТ 30245-03', sizes: '40×20×1.2 — 200×200×8 мм', length: '6 / 12 м', price: 425, unit: 'кг' },
    ],
  },
  {
    id: 'armatura',
    title: 'Запорная арматура',
    short: 'Краны, клапаны, задвижки, затворы, фланцы и отводы',
    items: [
      { name: 'Отводы все виды', spec: 'Стальные, бесшовные, приварные', sizes: 'DN 15–1220 мм', length: '45° / 90°', price: null, unit: 'шт' },
      { name: 'Фланцы', spec: 'Плоские, воротниковые, стальные', sizes: 'DN 15–1200 мм', length: 'Ру 10–40', price: null, unit: 'шт' },
      { name: 'Задвижки', spec: 'Фланцевые, клиновые, шиберные', sizes: 'DN 50–400 мм', length: 'Ру 10–16', price: null, unit: 'шт' },
      { name: 'Кран', spec: 'Шаровые и трубопроводные краны', sizes: 'DN 15–300 мм', length: 'муфта / фланец / сварка', price: null, unit: 'шт' },
      { name: 'Клапан', spec: 'Обратные, предохранительные, регулирующие', sizes: 'DN 15–400 мм', length: 'Ру 10–40', price: null, unit: 'шт' },
      { name: 'Затвор', spec: 'Поворотный дисковый, межфланцевый', sizes: 'DN 40–600 мм', length: 'ручной / редукторный', price: null, unit: 'шт' },
    ],
  },
  {
    id: 'oil',
    title: 'Трубы нефтегазовой промышленности',
    short: 'Транспортировка сырья от скважины до пункта сбора',
    items: [
      { name: 'Обсадные трубы', spec: 'Удерживают породу от осыпания', sizes: 'по таблице', length: '—', price: null, unit: 'кг' },
      { name: 'Насосно-компрессорные (НКТ)', spec: 'Извлечение жидкости и газа', sizes: 'по запросу', length: '—', price: null, unit: 'кг' },
      { name: 'Бурильные трубы', spec: 'Бесшовные кольцевого сечения', sizes: 'по запросу', length: '—', price: null, unit: 'кг' },
      { name: 'Штанги буровые', spec: 'Для буровой колонны', sizes: 'по запросу', length: '—', price: null, unit: 'кг' },
    ],
  },
  {
    id: 'list',
    title: 'Листовой прокат',
    short: 'Холодно- и горячекатаные листы',
    items: [
      { name: 'Лист горячекатаный', spec: 'ст.3 сп/пс, ГОСТ 14637-89', sizes: '2 — 50 мм', length: '1×2 — 1.5×6 м', price: 350, unit: 'кг' },
      { name: 'Лист холоднокатаный', spec: 'ст.08кп/пс, ГОСТ 16523-97', sizes: '1 — 2 мм', length: '1×2 — 1.25×2.5 м', price: 425, unit: 'кг' },
      { name: 'Лист оцинкованный', spec: 'С защитным цинковым покрытием', sizes: 'по запросу', length: '—', price: null, unit: 'кг' },
      { name: 'Лист рифлёный', spec: 'ст.3 сп/пс, ГОСТ 8568-77', sizes: '2.6 — 5 мм', length: '1.25×2.5 — 1.5×6 м', price: 367, unit: 'кг' },
      { name: 'Лист ПВЛ', spec: 'Просечно-вытяжной, ТУ 36.26.11-5-89', sizes: '410, 510', length: '1.2×2.7 / 1.2×2.25 м', price: null, unit: 'кг' },
      { name: 'Профнастил', spec: 'Кровельный / стеновой', sizes: 'h 8–75 мм', length: 'по запросу', price: null, unit: 'м²' },
    ],
  },
  {
    id: 'met',
    title: 'Метизная продукция',
    short: 'Крепёж, проволока, канаты, сетки, электроды',
    items: [
      { name: 'Проволока', spec: 'ОК черная / оцинк., ГОСТ 3282-74', sizes: 'Ø 1.2 / 6 мм', length: 'бухты 0.025–0.8 т', price: 450, unit: 'кг' },
      { name: 'Крепёж (болты, гайки, шпильки)', spec: 'Стандартизованный', sizes: 'M6 — M48', length: '—', price: null, unit: 'кг' },
      { name: 'Канаты стальные', spec: 'Грузоподъёмные тросы', sizes: 'по запросу', length: '—', price: null, unit: 'кг' },
      { name: 'Электроды', spec: 'Сварочные', sizes: 'Ø 2–6 мм', length: '—', price: null, unit: 'кг' },
      { name: 'Сетки', spec: 'Кладочная, сварная, тканая', sizes: 'по запросу', length: '—', price: null, unit: 'м²' },
    ],
  },
];

const PRICE_UPDATED = '30.04.2026';

const SERVICES = [
  { code: '01', title: 'Резка металла', desc: 'Прямой и фигурный рез по чертежу. Под габарит транспортировки и под монтаж.', price: 'от 800 ₸/рез' },
  { code: '02', title: 'Гибка', desc: 'Гибка листового и профильного проката на станках с ЧПУ. Углы и радиусы под ТЗ.', price: 'от 1200 ₸/гиб' },
  { code: '03', title: 'Обработка отверстий', desc: 'Сверление, резьба, развёртка. Партии любого объёма.', price: 'от 350 ₸/отв.' },
  { code: '04', title: 'Холодное цинкование', desc: 'ГОСТ 9.305-84. Защитные покрытия для изделий длиной до 12 метров.', price: 'от 280 ₸/м²' },
  { code: '05', title: 'Горячее цинкование', desc: 'ГОСТ 9.307-89. Долговечная защита от коррозии.', price: 'от 420 ₸/кг' },
  { code: '06', title: 'Изоляция труб ППУ / ВУС', desc: 'ППУ-ПЭ, ППУ-ОЦ (ГОСТ 30372-2006). ВУС-изоляция (ГОСТ Р 51164-98).', price: 'по проекту' },
];

const PARTNERS = [
  { short: 'ММК', name: 'Магнитогорский металлургический комбинат' },
  { short: 'СЕВ', name: 'Северсталь' },
  { short: 'Q', name: 'Qarmet' },
  { short: 'ЗСМК', name: 'Западно-Сибирский металлургический комбинат' },
  { short: 'МЧ', name: 'МеЧел' },
  { short: 'EVR', name: 'Евраз' },
];

const WA_PHONE = '77776660196';
const WA_DISPLAY = '+7 777 666 0196';
const PHONES = [
  '+7 777 666 0196',
  '+7 776 083 65 22',
  '+7 771 688 20 96',
  '+7 708 240 86 10',
];
const EMAIL = 'tps_250@mail.ru';
const ADDRESS_FULL = 'Казахстан, г. Алматы, Медеуский район, ул. Халиуллина 66/1, корпус В, офис 402';
const ADDRESS_SHORT = 'Алматы, Халиуллина 66/1';
const COMPANY_NAME = 'ТОО «ТехПромСталь»';
const COMPANY_BIN  = '170840012322';
const waLink = (msg) => `https://wa.me/${WA_PHONE}?text=${encodeURIComponent(msg)}`;

const PHOTO_BASE = '/photos/';
const PRODUCT_BASE = '/photos/products/';
const PHOTOS = {

  shipments: Array.from({ length: 59 }, (_, i) => `shipment-${String(i + 1).padStart(2, '0')}.jpg`),

  byCategory: {
    sort: [],
    fas:  [],
    trub: [],
    oil:  [],
    list: [],
    met:  [],
  },

  byItem: {
    'Арматура А3': 'armatura-a3.jpg',
    'Арматура А1 / А240': 'armatura-a3.jpg',
    'Круг (кругляк)': 'krug.jpg',
    'Шестигранник': 'shestigrannik.jpg',
    'Квадрат': 'kvadrat.jpg',
    'Катанка': 'katanka.jpg',
    'Полоса стальная': 'polosa.jpg',
    'Швеллер': 'shveller.jpg',
    'Балка (двутавр)': 'balka.jpg',
    'Уголок равнополочный': 'ugolok.jpg',
    'Уголок неравнополочный': 'ugolok.jpg',
    'Труба ВГП': 'truba-vgp.jpg',
    'Труба ВГП оцинкованная': 'truba-vgp.jpg',
    'Труба электросварная': 'truba-electrosvarnaya.jpg',
    'Труба бесшовная г/д': 'truba-besshovnaya.jpg',
    'Труба бесшовная х/д': 'truba-besshovnaya.jpg',
    'Труба квадратная': 'truba-pryamougolnaya.jpg',
    'Труба прямоугольная': 'truba-pryamougolnaya.jpg',
    'Отводы все виды': 'otvody.jpg',
    'Фланцы': 'flantsy.webp',
    'Задвижки': 'zadvizhki.webp',
    'Кран': 'kran.png',
    'Клапан': 'klapan.jpg',
    'Затвор': 'zatvor.jpg',
    'Обсадные трубы': 'obsadnye-truby.jpg',
    'Насосно-компрессорные (НКТ)': 'obsadnye-truby.jpg',
    'Бурильные трубы': 'obsadnye-truby.jpg',
    'Штанги буровые': 'shtangi-burovye.jpg',
    'Лист горячекатаный': 'list-gk.jpg',
    'Лист холоднокатаный': 'list-xk.jpg',
    'Лист оцинкованный': 'list-otsink.jpg',
    'Лист рифлёный': 'list-riflyonyy.jpg',
    'Лист ПВЛ': 'list-pvl.jpg',
    'Профнастил': 'profnastil.jpg',
    'Проволока': 'provoloka.jpg',
    'Канаты стальные': 'kanaty.jpg',
    'Электроды': 'elektrody.jpg',
    'Сетки': 'setki.jpg',
  },
};
const photoUrl = (file) => file ? PHOTO_BASE + file : null;
const productPhotoUrl = (file) => file ? PRODUCT_BASE + file : null;
const categoryPhotos = (catId) => (PHOTOS.byCategory[catId] || []).map(photoUrl);
const shipmentPhotos = () => PHOTOS.shipments.map(photoUrl);
const itemPhoto = (name) => productPhotoUrl(PHOTOS.byItem[name]);

window.TPS_CATEGORIES = CATEGORIES;
window.TPS_PRICE_UPDATED = PRICE_UPDATED;
window.TPS_SERVICES = SERVICES;
window.TPS_PARTNERS = PARTNERS;
window.TPS_WA = WA_PHONE;
window.TPS_WA_DISPLAY = WA_DISPLAY;
window.TPS_PHONES = PHONES;
window.TPS_EMAIL = EMAIL;
window.TPS_ADDRESS_FULL = ADDRESS_FULL;
window.TPS_ADDRESS_SHORT = ADDRESS_SHORT;
window.TPS_COMPANY_NAME = COMPANY_NAME;
window.TPS_COMPANY_BIN = COMPANY_BIN;
window.TPS_WA_LINK = waLink;
window.TPS_PHOTOS = PHOTOS;
window.TPS_CATEGORY_PHOTOS = categoryPhotos;
window.TPS_SHIPMENT_PHOTOS = shipmentPhotos;
window.TPS_ITEM_PHOTO = itemPhoto;
