банк


внимание! магазин переехал на другой этаж

Код:
<!--HTML-->
<div class="html_thems-wrapper">

	<div class="html_thems-container_wrapper2">
    <div class="bank_button active">банк</div>
    <div class="bank_section-wrapper showme bank-main">
    	<div class="bank_container obtain">
        <h5 class="bank_header">заработать</h5>
        <div class="bank_inner">
        	<ul class="bank_list">
        	<li><b>за регистрацию (начисляется автоматически)</b> 300 <span style="width: 24px" /></li>
        	<li>
            <b>каждые 100 сообщений</b> 100
            <button class="earn-button" data-type="-100--1">+</button>
        	</li>
        	<li>
            <b>каждые 100 репутации</b> 50
            <button class="earn-button" data-type="-100--2">+</button>
        	</li>
        	<li>
            <b>каждые 100 позитива</b> 50
            <button class="earn-button" data-type="-100--3">+</button>
        	</li>
        	<li>
            <b>игровой пост в личный эп до 3к символов</b> 300
            <button class="earn-button" data-type="---3--4">+</button>
        	</li>
        	<li>
            <b>каждая тысяча символом свыше</b> 50
            <button class="earn-button" data-type="----5">+</button>
        	</li>
        	<li>
            <b>ответ в течении суток</b> 100
            <button class="earn-button" data-type="----6">+</button>
        	</li>
        	<li>
            <b>открытие эпизода (при наличии 1 поста от каждого)</b> 100
            <button class="earn-button" data-type="----1----7">+</button>
        	</li>
        	<li>
            <b>завершенный эпизод</b> 700
            <button class="earn-button" data-type="--8">+</button>
        	</li>
        	<li>
            <b>пост в социальной сети nesswork</b> 50
            <button class="earn-button" data-type="-5-----9">+</button>
        	</li>
        	<li>
            <b>пост в квест</b> 500
            <button class="earn-button" data-type="---10">+</button>
        	</li>
        	<li>
            <b>забрать из «хочу к вам»</b> 100
            <button class="earn-button" data-type="-----11">+</button>
        	</li>
        	<li>
            <b>написать заявку в «нужные персонажи»</b> 100
            <button class="earn-button" data-type="-----12">+</button>
        	</li>
        	<li>
            <b>написать заявку в «хочу видеть»</b> 10
            <button class="earn-button" data-type="-----13">+</button>
        	</li>
        	<li>
            <b>попадание в таблицу (за каждую номинацию)</b> 300
            <button class="earn-button" data-type="------14">+</button>
        	</li>
        	<li>
            <b>графический подарок игроку</b> 500
            <button class="earn-button" data-type="---15">+</button>
        	</li>
        	<li>
            <b>каждые 10 взаимных реклам</b> 300
            <button class="earn-button" data-type="-10---16">+</button>
        	</li>
        	<li>
            <b>баннер на рено в подписи</b> 500
            <button class="earn-button" data-type="-----17">+</button>
        	</li>
        	<li>
            <b>каждое выполненное достижение</b> 50
            <button class="earn-button" data-type="---18">+</button>
        	</li>
        	</ul>
        </div>
    	</div>
    	<div class="bank_container spend">
        <h5 class="bank_header">потратить</h5>
        <div class="bank_inner">
        	<ul class="bank_list bank-spend-buttons">
        	<li><b>объявление/привет в итогах</b> 300 <button class="earn-button" data-type="30">+</button></li>
        	<li><b>подарок</b> 200 <button class="earn-button" data-type="-19">+</button></li>
        	<li><b>выкуп внешности на месяц</b> 700 <button class="earn-button" data-type="----20">+</button></li>
        	<li><b>смена внешности</b> 500 <button class="earn-button" data-type="--21">+</button></li>
        	<li><b>смена персонажа</b> 1000 <button class="earn-button" data-type="--22">+</button></li>
        	<li><b>пак на временного персонажа (имя, фамилия, внешность, должность) на 3 месяца</b> 3000 <button class="earn-button" data-type="---------3--23">+</button></li>
        	<li><b>выкуп внешности для нужного бессрочно</b> 10000 <button class="earn-button" data-type="-----24">+</button></li>
        	<li><b>создание рекламы с вашим нужным и 50 реклам</b> 1500 <button class="earn-button" data-type="------50--25">+</button></li>
        	<li><b>защита от чистки на 2 недели</b> 5000 <button class="earn-button" data-type="---26">+</button></li>
        	<li><b>+ 1 сутки на отпись в квесте</b> 500 <button class="earn-button" data-type="-1------27">+</button></li>
        	<li><b>профиль / твинк</b> 5000 <button class="earn-button" data-type="---28">+</button></li>
        	<li><b>переброс кубов</b> 1000 <button class="earn-button" data-type="---29">+</button></li>
        	</ul>
        </div>
    	</div>
    </div>
    
    <div class="bank_button">подарки</div>
    <div class="bank_section-wrapper decorations-statics">
    	<div class="bank_container gift_icons">
        <div class="gift_inner">
        	<ul class="gift_list">
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/681503.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/681503.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/104305.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/104305.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/202111.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/202111.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/488032.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/488032.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/916839.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/916839.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/241581.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/241581.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/640478.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/640478.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/210907.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/210907.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/460604.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/460604.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/284146.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/284146.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/707934.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/707934.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/415309.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/415309.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/228371.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/228371.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/661732.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/661732.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/464233.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/464233.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/350335.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/350335.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/658260.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/658260.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/286744.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/286744.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/819425.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/819425.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/442791.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/442791.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/166579.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/166579.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/368258.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/368258.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/713192.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/713192.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/103620.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/103620.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/629812.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/629812.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/553376.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/553376.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/906934.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/906934.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/926845.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/926845.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/882560.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/882560.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/372765.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/372765.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/751751.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/751751.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/230378.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/230378.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/603485.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/603485.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/524756.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/524756.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/623450.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/623450.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/143878.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/143878.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/939106.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/939106.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/911336.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/911336.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/741174.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/741174.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/605122.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/605122.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/329769.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/329769.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/406015.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/406015.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/80846.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/80846.png"
            >
            	+
            </button>
        	</li>
        	<li>
            <img src="https://upforme.ru/uploads/001c/7a/06/353/750951.png" />
            <button
            	class="gift-select-btn"
            	data-gift-url="https://upforme.ru/uploads/001c/7a/06/353/750951.png"
            >
            	+
            </button>
        	</li>
        	</ul>
        </div>
    	</div>
    </div>
	</div>
</div>

<div id="earnModal" class="modal">
	<div class="modal-content">
    <span class="close">&times;</span>
    <div id="modalContent"></div>
	</div>
</div>

<div id="selected-items-preview">
	<div class="preview-empty">Выберите пункты для заработка/трат</div>
</div>

<div style="text-align: center; margin: 30px 0">
	<button id="finishBtn" class="finish-btn" style="display: none">Закончить</button>
</div>
<script>
setTimeout(() => {
	// Переключение вкладок
	$('.bank_button').each(function() {
    $(this).on('click', function() {
    	$('.bank_button').not($(this)).next().removeClass('showme');
    	$(this).next().toggleClass('showme');
    });
	});
	$('.bank_button').click(function() {  
    $('.bank_button').not(this).removeClass('active');
    $(this).toggleClass('active');
	});

	const modalData = {
  "30": {
    "title": "объявление/привет в итогах",
    "description": "объявление/привет в итогах",
    "fields": [],
    "amount": -300
  },
  "----300-0": {
    "title": "за регистрацию (начисляется автоматически)",
    "description": "Описание для: за регистрацию (начисляется автоматически)",
    "fields": [
      {
        "name": "character_name",
        "label": "Имя персонажа",
        "type": "text",
        "required": true
      }
    ],
    "amount": 300
  },
  "-100--1": {
    "title": "каждые 100 сообщений",
    "description": "Описание для: каждые 100 сообщений",
    "fields": [
      {
        "name": "count",
        "label": "Количество раз",
        "type": "number",
        "required": true
      }
    ],
    "amount": 100
  },
  "-100--2": {
    "title": "каждые 100 репутации",
    "description": "Описание для: каждые 100 репутации",
    "fields": [
      {
        "name": "count",
        "label": "Количество раз",
        "type": "number",
        "required": true
      }
    ],
    "amount": 50
  },
  "-100--3": {
    "title": "каждые 100 позитива",
    "description": "Описание для: каждые 100 позитива",
    "fields": [
      {
        "name": "count",
        "label": "Количество раз",
        "type": "number",
        "required": true
      }
    ],
    "amount": 50
  },
  "---3--4": {
    "title": "игровой пост в личный эп до 3к символов",
    "description": "Описание для: игровой пост до 3к символов",
    "fields": [
      {
        "name": "link",
        "label": "Ссылка",
        "type": "url",
        "required": true
      }
    ],
    "amount": 300
  },
  "----5": {
    "title": "каждая тысяча символом свыше",
    "description": "Описание для: каждая тысяча символом свыше",
    "fields": [
      {
        "name": "count",
        "label": "Количество",
        "type": "number",
        "required": true
      }
    ],
    "amount": 50
  },
  "----6": {
    "title": "ответ в течении суток",
    "description": "Описание для: ответ в течении суток",
    "fields": [
      {
        "name": "link",
        "label": "Ссылка",
        "type": "url",
        "required": true
      }
    ],
    "amount": 100
  },
  "----1----7": {
    "title": "открытие эпизода (при наличии 1 поста от каждого)",
    "description": "Описание для: открытие эпизода (при наличии 1 поста от каждого)",
    "fields": [
      {
        "name": "link",
        "label": "Ссылка",
        "type": "url",
        "required": true
      }
    ],
    "amount": 100
  },
  "--8": {
    "title": "завершенный эпизод",
    "description": "Описание для: завершенный эпизод",
    "fields": [
      {
        "name": "link",
        "label": "Ссылки",
        "type": "url",
        "required": true
      }
    ],
    "amount": 700
  },
  "-5-----9": {
    "title": "пост в социальной сети nesswork",
    "description": "Описание для: каждый пост в социальной сети",
    "fields": [
      {
        "name": "count",
        "label": "Количество",
        "type": "number",
        "required": true
      }
    ],
    "amount": 50
  },
  "---10": {
    "title": "пост в квест",
    "description": "Описание для: участие в квесте",
    "fields": [
      {
        "name": "link",
        "label": "Ссылка",
        "type": "url",
        "required": true
      }
    ],
    "amount": 500
  },
  "-----11": {
    "title": "забрать из «хочу к вам»",
    "description": "Описание для: забрать из «хочу к вам»",
    "fields": [
      {
        "name": "link",
        "label": "Ссылки",
        "type": "url",
        "required": true
      }
    ],
    "amount": 100
  },
  "-----12": {
    "title": "написать заявку в «нужные персонажи»",
    "description": "Описание для: написать заявку в «нужные персонажи»",
    "fields": [
      {
        "name": "link",
        "label": "Ссылка",
        "type": "url",
        "required": true
      }
    ],
    "amount": 100
  },
  "-----13": {
    "title": "написать заявку в «хочу видеть»",
    "description": "Описание для: написать заявку в «хочу видеть»",
    "fields": [
      {
        "name": "link",
        "label": "Ссылки",
        "type": "url",
        "required": true
      }
    ],
    "amount": 10
  },
  "------14": {
    "title": "попадание в таблицу (за каждую номинацию)",
    "description": "Описание для: попадание в таблицу (за каждую номинацию)",
    "fields": [
      {
        "name": "link",
        "label": "Ссылки",
        "type": "url",
        "required": true
      }
    ],
    "amount": 300
  },
  "---15": {
    "title": "графический подарок игроку",
    "description": "Описание для: графический подарок игроку",
    "fields": [
      {
        "name": "recipient",
        "label": "Кому подарок",
        "type": "text",
        "required": true
      },
      {
        "name": "gift_description",
        "label": "Описание подарка",
        "type": "textarea",
        "required": true
      }
    ],
    "amount": 500
  },
  "-10---16": {
    "title": "каждые 10 взаимных реклам",
    "description": "Описание для: каждые 10 взаимных реклам",
    "fields": [
      {
        "name": "count",
        "label": "Количество",
        "type": "number",
        "required": true
      }
    ],
    "amount": 300
  },
  "-----17": {
    "title": "баннер на рено в подписи",
    "description": "Описание для: баннер на рено в подписи",
    "fields": [
      {
        "name": "link",
        "label": "Ссылки",
        "type": "url",
        "required": true
      }
    ],
    "amount": 500
  },
  "---18": {
    "title": "каждое выполненное достижение",
    "description": "Описание для: каждое выполненное достижение",
    "fields": [
      {
        "name": "link",
        "label": "Ссылки",
        "type": "url",
        "required": true
      }
    ],
    "amount": 50
  },
  "-19": {
    "title": "подарок",
    "description": "Описание для: подарок",
    "fields": [
      {
        "name": "recipient",
        "label": "Кому подарок",
        "type": "text",
        "required": true
      },
      {
        "name": "gift_description",
        "label": "Описание подарка",
        "type": "textarea",
        "required": true
      }
    ],
    "amount": -200
  },
  "----20": {
    "title": "выкуп внешности на месяц",
    "description": "Описание для: выкуп внешности на месяц",
    "fields": [
      {
        "name": "description",
        "label": "Описание",
        "type": "text",
        "required": true
      }
    ],
    "amount": -700
  },
  "--21": {
    "title": "смена внешности",
    "description": "Описание для: смена внешности",
    "fields": [
      {
        "name": "description",
        "label": "Описание",
        "type": "text",
        "required": true
      }
    ],
    "amount": -500
  },
  "--22": {
    "title": "смена персонажа",
    "description": "Описание для: смена персонажа",
    "fields": [
      {
        "name": "description",
        "label": "Описание",
        "type": "text",
        "required": true
      }
    ],
    "amount": -1000
  },
  "---------3--23": {
    "title": "пак на временного персонажа (имя, фамилия, внешность, должность) на 3 месяца",
    "description": "Описание для: пак на временного персонажа (имя, фамилия, внешность, должность) на 3 месяца",
    "fields": [
      {
        "name": "description",
        "label": "Описание",
        "type": "text",
        "required": true
      }
    ],
    "amount": -3000
  },
  "-----24": {
    "title": "выкуп внешности для нужного бессрочно",
    "description": "Описание для: выкуп внешности для нужного бессрочно",
    "fields": [
      {
        "name": "description",
        "label": "Описание",
        "type": "text",
        "required": true
      }
    ],
    "amount": -10000
  },
  "------50--25": {
    "title": "создание рекламы с вашим нужным и 50 реклам",
    "description": "Описание для: создание рекламы с вашим нужным и 50 реклам",
    "fields": [
      {
        "name": "description",
        "label": "Описание",
        "type": "text",
        "required": true
      }
    ],
    "amount": -1500
  },
  "---26": {
    "title": "защита от чистки на 2 недели",
    "description": "Описание для: защита от чистки",
    "fields": [
      {
        "name": "description",
        "label": "Описание",
        "type": "text",
        "required": true
      }
    ],
    "amount": -5000
  },
  "-1------27": {
    "title": "+ 1 сутки на отпись в квесте",
    "description": "Описание для: + 1 сутки на отпись в квесте",
    "fields": [
      {
        "name": "description",
        "label": "Описание",
        "type": "text",
        "required": true
      }
    ],
    "amount": -500
  },
  "---28": {
    "title": "профиль / твинк",
    "description": "Описание для: профиль / твинк",
    "fields": [
      {
        "name": "description",
        "label": "Описание",
        "type": "text",
        "required": true
      }
    ],
    "amount": -5000
  },
  "---29": {
    "title": "переброс кубов",
    "description": "переброс кубов в квесте (1 раз за круг)",
    "fields": [],
    "amount": -1000
  }
};
	let selectedItems = [];
	let currentBalance = 0;
	let initialBalance = 0;

	function getInitialBalance() {
    try {
    	if (typeof UserFld2 !== "undefined" && UserFld2) {
        const cleanValue = UserFld2.toString().replace(/\s/g, "");
        const balance = parseInt(cleanValue);
        return isNaN(balance) ? 0 : balance;
    	}
    } catch (e) {
    	console.log("UserFld2 не доступна:", e);
    }
    return 0;
	}

	function getAmountForType(type) {
    return modalData[type] ? modalData[type].amount || 0 : 0;
	}

	function addItem(type, details = "") {
    const data = modalData[type];
    if (!data) return;

    const baseAmount = data.amount;
    let amount = baseAmount;
    let displayName = data.title;

    // Обработка количественных полей
    if (data.fields.some(f => f.name === 'count') && details) {
    	const countMatch = details.match(/:\s*(\d+)$/i);
    	if (countMatch) {
        const count = parseInt(countMatch[1]);
        if (count > 0) {
        	amount = baseAmount * count;
        	displayName = data.title + " (x" + count + ")";
        }
    	}
    }

    // Обработка множественных полей
    const multipleFields = data.fields.filter(f => f.name !== 'count');
    if (multipleFields.length > 0 && details) {
    	const fieldMatch = details.match(/:\s*([^,]+(?:,\s*[^,]+)*)/);
    	if (fieldMatch) {
        const values = fieldMatch[1].split(',').map(item => item.trim()).filter(item => item.length > 0);
        if (values.length > 1) {
        	amount = baseAmount * values.length;
        	displayName = data.title + " (x" + values.length + ")";
        }
    	}
    }

    selectedItems.push({
    	name: displayName,
    	amount: amount,
    	details: details
    });

    currentBalance += amount;
    updatePreview();
	}

	function addField(fieldName) {
    var container = document.getElementById(fieldName + "_container");
    var fieldCount = container.children.length;
    var newFieldRow = document.createElement("div");
    newFieldRow.className = "field-row";

    var input = document.createElement("input");
    input.type = "text";
    input.id = fieldName + "_" + fieldCount;
    input.name = fieldName;

    var removeBtn = document.createElement("button");
    removeBtn.type = "button";
    removeBtn.className = "remove-field-btn";
    removeBtn.innerHTML = "-";
    removeBtn.onclick = function () {
    	container.removeChild(newFieldRow);
    };

    newFieldRow.appendChild(input);
    newFieldRow.appendChild(removeBtn);
    container.appendChild(newFieldRow);
	}

	function removeItem(index) {
    if (index >= 0 && index < selectedItems.length) {
    	currentBalance -= selectedItems[index].amount;
    	selectedItems.splice(index, 1);
    	updatePreview();
    }
	}

	function updatePreview() {
    const previewContainer = document.getElementById("selected-items-preview");
    const finishBtn = document.getElementById("finishBtn");
    if (!previewContainer) return;

    if (selectedItems.length === 0) {
    	previewContainer.innerHTML = '<div class="preview-empty">Выберите пункты для заработка/трат</div>';
    	previewContainer.style.display = "none";
    	if (finishBtn) finishBtn.style.display = "none";
    	return;
    }

    previewContainer.style.display = "block";
    if (finishBtn) finishBtn.style.display = "inline-block";

    const earnings = selectedItems.filter(item => item.amount > 0);
    const expenses = selectedItems.filter(item => item.amount < 0);

    let previewHTML = '<div class="preview-header">выбранные пункты</div>';
    let totalAmount = 0;

    if (earnings.length > 0) {
    	previewHTML += '<div class="preview-section-title" style="color: var(--accent2);">Заработки:</div>';
    	earnings.forEach(function (item, index) {
        totalAmount += item.amount;
        previewHTML += '<div class="preview-item">';
        previewHTML += '<div class="preview-item-header">';
        previewHTML += '<span class="preview-item-number">' + (index + 1) + ".</span>";
        previewHTML += '<span class="preview-item-name">' + item.name + "</span>";
        previewHTML += '<span class="preview-item-amount" style="color: var(--accent);">+' + item.amount + "</span>";
        previewHTML += '<div class="preview-item-actions">';
        previewHTML += '<button type="button" class="remove-item-btn" data-index="' + selectedItems.indexOf(item) + '">X</button>';
        previewHTML += "</div>";
        previewHTML += "</div>";
        previewHTML += "</div>";
    	});
    }

    if (expenses.length > 0) {
    	if (earnings.length > 0) {
        previewHTML += '<div style="margin: 10px 0;"></div>';
    	}
    	previewHTML += '<div class="preview-section-title spend-section" style="color: var(--accent2);">Траты:</div>';
    	expenses.forEach(function (item, index) {
        totalAmount += item.amount;
        previewHTML += '<div class="preview-item spend-item">';
        previewHTML += '<div class="preview-item-header">';
        previewHTML += '<span class="preview-item-number">' + (earnings.length + index + 1) + ".</span>";
        previewHTML += '<span class="preview-item-name">' + item.name + "</span>";
        previewHTML += '<span class="preview-item-amount" style="color: var(--accent2);">' + item.amount + "</span>";
        previewHTML += '<div class="preview-item-actions">';
        previewHTML += '<button type="button" class="remove-item-btn" data-index="' + selectedItems.indexOf(item) + '">X</button>';
        previewHTML += "</div>";
        previewHTML += "</div>";
        previewHTML += "</div>";
    	});
    }

    const totalBalance = initialBalance + totalAmount;
    const totalClass = totalAmount < 0 ? ' class="preview-total negative"' : ' class="preview-total"';
    const balanceClass = totalBalance < 0 ? ' class="preview-total-balance negative"' : ' class="preview-total-balance"';

    previewHTML += "<div" + totalClass + ">Итого: <strong>" + totalAmount + "</strong></div>";
    previewHTML += "<div" + balanceClass + ">Общий баланс: <strong>" + totalBalance + "</strong></div>";
    previewContainer.innerHTML = previewHTML;
	}

	function closeModal() {
    const modal = document.getElementById("earnModal");
    modal.style.display = "none";
	}

	function openModal(type) {
    const modal = document.getElementById("earnModal");
    const modalContent = document.getElementById("modalContent");
    const data = modalData[type];

    if (!data) return;

    let fieldsHTML = "";
    if (data.fields.length !== 0) {
    	fieldsHTML = data.fields.map(function (field) {
        let fieldHTML = '<div class="form-group">';
        fieldHTML += '<label for="' + field.name + '">' + field.label + ':</label>';

        if (field.type === "textarea") {
        	fieldHTML += '<textarea id="' + field.name + '" name="' + field.name + '"';
        	if (field.required) fieldHTML += " required";
        	fieldHTML += "></textarea>";
        } else {
        	const isQuantityField = field.name === "count";
        	if (isQuantityField) {
            fieldHTML += '<input type="' + field.type + '" id="' + field.name + '" name="' + field.name + '"';
            if (field.required) fieldHTML += " required";
            fieldHTML += ">";
        	} else {
            fieldHTML += '<div id="' + field.name + '_container">';
            fieldHTML += '<div class="field-row">';
            fieldHTML += '<input type="' + field.type + '" id="' + field.name + '_0" name="' + field.name + '"';
            if (field.required) fieldHTML += " required";
            fieldHTML += ">";
            fieldHTML += '<button type="button" class="add-field-btn" data-field="' + field.name + '">+</button>';
            fieldHTML += "</div>";
            fieldHTML += "</div>";
        	}
        }
        fieldHTML += "</div>";
        return fieldHTML;
    	}).join("");
    }

    modalContent.innerHTML = "<h3 class='modal-title'>" + data.title + "</h3>" +
    	'<div class="info-text">' + data.description + "</div>" +
    	'<form id="earnForm">' + fieldsHTML +
    	'<button type="submit" class="submit-btn">Добавить</button></form>';

    modal.style.display = "block";

    document.getElementById("earnForm").addEventListener("submit", function (e) {
    	e.preventDefault();
    	let details = "";
    	if (data.fields.length !== 0) {
        const fieldValues = [];
        data.fields.forEach(function (field) {
        	if (field.type === "textarea") {
            const value = document.getElementById(field.name).value;
            if (value) {
            	fieldValues.push(field.label + ": " + value);
            }
        	} else {
            const isQuantityField = field.name === "count";
            if (isQuantityField) {
            	const value = document.getElementById(field.name).value;
            	if (value) {
                fieldValues.push(field.label + ": " + value);
            	}
            } else {
            	const container = document.getElementById(field.name + "_container");
            	const inputs = container.querySelectorAll('input[name="' + field.name + '"]');
            	const values = [];
            	inputs.forEach(function (input) {
                if (input.value.trim()) {
                	values.push(input.value.trim());
                }
            	});
            	if (values.length > 0) {
                fieldValues.push(field.label + ": " + values.join(", "));
            	}
            }
        	}
        });
        details = fieldValues.join(", ");
    	}
    	addItem(type, details);
    	closeModal();
    });
	}

	// Обработчики событий
	document.querySelectorAll(".earn-button").forEach(function (button) {
    button.addEventListener("click", function () {
    	const type = this.getAttribute("data-type");
    	if (type) {
        openModal(type);
    	}
    });
	});

	document.querySelector(".close").addEventListener("click", closeModal);
	window.addEventListener("click", function (event) {
    const modal = document.getElementById("earnModal");
    if (event.target === modal) {
    	closeModal();
    }
	});

	document.addEventListener("click", function (event) {
    if (event.target.classList.contains("remove-item-btn")) {
    	const index = parseInt(event.target.getAttribute("data-index"));
    	if (!isNaN(index)) {
        currentBalance -= selectedItems[index].amount;
        selectedItems.splice(index, 1);
        updatePreview();
    	}
    }
	});

	document.querySelectorAll(".gift-select-btn").forEach(function (button) {
    button.addEventListener("click", function (e) {
    	e.preventDefault();
    	e.stopPropagation();
    	const giftUrl = this.getAttribute("data-gift-url");
    	if (giftUrl) {
        // Ищем категорию подарка по названию (с чистым ключом)
        const giftKey = Object.keys(modalData).find(key => 
        	modalData[key].title && 
        	modalData[key].title.toLowerCase().includes('подарок') && 
        	modalData[key].amount < 0
        );
        if (giftKey) {
        	openModal(giftKey);
        	// Устанавливаем URL в поле описания
        	setTimeout(() => {
            const descField = document.getElementById("gift_description");
            if (descField) {
            	descField.value = "[img]" + giftUrl + "[/img]";
            }
        	}, 100);
        }
    	}
    });
	});

	document.getElementById("finishBtn").addEventListener("click", function() {
    updateTemplate();
    const textarea = document.getElementById("main-reply");
    if (textarea) {
    	textarea.scrollIntoView({ behavior: "smooth", block: "center" });
    	textarea.focus();
    }
    selectedItems = [];
    currentBalance = 0;
    updatePreview();
	});

	function updateTemplate() {
    const textarea = document.getElementById("main-reply");
    if (!textarea) return;

    if (selectedItems.length === 0) {
    	textarea.value = "";
    	return;
    }

    const earnings = selectedItems.filter(item => item.amount > 0);
    const expenses = selectedItems.filter(item => item.amount < 0);

    let template = "";

    if (earnings.length > 0) {
    	template += "[b]1. за что начисляем (не забывайте прикреплять ссылки и скрины)[/b]\n";
    	earnings.forEach(function (item, index) {
        template += index + 1 + ". " + item.name + " - " + item.amount + "\n";
        if (item.details) {
        	template += "   " + item.details + "\n";
        }
        template += "\n";
    	});
    	template += "[b]2. сколько добавить?[/b]\n";
    	const totalEarnings = earnings.reduce((sum, item) => sum + item.amount, 0);
    	template += "+" + totalEarnings + "\n\n";
    }

    if (expenses.length > 0) {
    	template += "[b]что приобретаем[/b]\n";
    	expenses.forEach(function (item, index) {
        template += index + 1 + ". " + item.name + " - " + Math.abs(item.amount) + "\n";
        if (item.details) {
        	template += "   " + item.details + "\n";
        }
        template += "\n";
    	});
    	template += "[b]сумма покупки[/b]\n";
    	const totalExpenses = Math.abs(expenses.reduce((sum, item) => sum + item.amount, 0));
    	template += totalExpenses + "\n\n";
    }

    template += "[b]3. изначальная сумма / итоговая сумма[/b]\n";
    const totalBalance = initialBalance + currentBalance;
    template += initialBalance + " / [b]" + totalBalance + "[/b]";

    textarea.value = template;
	}

	document.addEventListener("click", function (event) {
    if (event.target.classList.contains("add-field-btn")) {
    	const fieldName = event.target.getAttribute("data-field");
    	if (fieldName) {
        addField(fieldName);
    	}
    }

    if (event.target.classList.contains("remove-item-btn")) {
    	const index = parseInt(event.target.getAttribute("data-index"));
    	removeItem(index);
    }
	});

	initialBalance = getInitialBalance();
	updatePreview();
}, 1000);
</script>

[hideprofile]