{% extends "layout-2-col.html" %}
{% load russian stafflink staff_books_link book_links %}
{% block content %}
<form name="form1" action="{% url choose_case %}" method="post">
<style>
th {
	text-align:right;
}
</style>
<lego:b-page-title>
	<lego:title>Выберите книги для шкафа {{ case_value }} и полки
	{{ shelf_value }} в городе {{ city.name }}</lego:title>
</lego:b-page-title>
<table>
</table>
<div id="ok_message" style="margin: 10px 0 10px 0; color: green;"></div>
<div id="error_message" style="margin: 10px 0 10px 0; color: red;">Книг в списке нет</div>
<p id="rfid_start_page" style="display: blank;">Эта страница позволяет добавить новые книги на полку.</p>
<p id="rfid_start_page" style="display: blank;">Для начала ввода книг нажмите кнопку "Считывать"</p>
<p id="rfid_ready_page" style="display: none; color: green;">Прикладывайте книги к считывателю</p>
<br>
<p><input type="button" value="Считывать" id="start" onclick="rfid_start();" onblur="rfid_stop();" />
<input type="button" value="Сохранить" onclick="book_save();" />
<input type="button" value="Отменить" onclick="window.location='{% url choose_case %}';" /></p>
<br>
<div id="book_list"></div>
</form>
<div>
	{% if book_items %}
	<p>На этой полке уже стоят:</p>
	{% endif %}
	<table class="b-book-copies" onclick="return {url:'{% url igot_book %}'}">
            <tr class="header">
            	<style type="text/css">
            	.header th {text-align: center;}
            	</style>
                <th colspan="2">Название</th>
                <th>Владелец</th>
                <th>RFID метка</th>
                <th></th>
            </tr>
            {% for bi in book_items|dictsort:"book.title" %}
            <tr>
                <td>{{ forloop.counter }}</td>
                <td class="rp js-owner-cont">{% book_link_standard bi.book %}</td>
                <td class="rp">{% if bi.owner %} {% staff_books_link bi.owner %} {% else %} {{ bi.owner_text }}{% endif %}</td>
                <td class="rfid">{{ bi.human_rfid|default:"-" }}</td>
                {% if user.is_staff %}
                    <td><a class="admin-link" href="{% url admin:books_bookitem_change bi.id %}">adm</a></td>
                {% endif %}
            </tr>
            {% endfor %}
            <tr>
                <td colspan="7">
                    Всего {% quantity book_item_count "экземпляр" %}
                </td>
            </tr>
        </table>
</div>

<script type="text/javascript">
	var ready = 0;
	var timer = null;
	var buffer = '';
	$(document).keyup(function(event) {
            if(event.keyCode > 47 && event.keyCode < 91 && ready == 1) {
                buffer += String.fromCharCode(event.keyCode).toLocaleLowerCase();
                if(timer) clearTimeout(timer);
                timer = setTimeout(function() {
            		clearTimeout(timer);
            		timer = null;
            		if(buffer.length > 0) {
			    book_insert(buffer);
        		}
        		buffer = '';
                }, 500);
            }
        });
	function rfid_start() {
		ready = 1;
		$('#rfid_start_page').hide(200);
		$('#rfid_ready_page').show(200);
		$('#error_message').html("&nbsp;");
		$('#ok_message').empty();
	}
	function rfid_stop() {
		ready = 0;
		$('#rfid_ready_page').hide(200);
		$('#rfid_start_page').show(200);
		$('#error_message').html("&nbsp;");
		$('#ok_message').empty();
	}
	function book_insert(rfid) {
		$.getJSON('{% url choose_book_rfid %}',
		{
			rfid : rfid
		},
		function(data) {
			if(data.result == 'ok') {
				if(! $('#bookitem-'+data.bookitem_id).length) {
					$('#error_message').html("&nbsp;");
					$('#book_list').append(data.html);
				}
				else {
					$('#ok_message').empty();
					$('#error_message').html("Вы уже добавили эту книгу");
				}
			} else {
				$('#ok_message').empty();
				$('#error_message').html(data.message);
			}
		});
	}
	function book_save() {
		var bookitem_id = '';
		$.each($('input[name=bookitem_id]'),
			function(i, n) {
				bookitem_id += bookitem_id == '' ? n.value : ',' + n.value;
			}
		);
		if(bookitem_id != '') {
			$.getJSON('{% url choose_book_save %}',
			{
				case: {{ case_value }},
				shelf: {{ shelf_value }},
				bookitem_id : bookitem_id
			},
			function(data) {
				if(data.result == 'ok') {
					$('#ok_message').html('Операция выполнена успешно');
					$('#error_message').empty();
					$('#book_list').empty();
				}
				else {
					$('#ok_message').empty();
					$('#error_message').html(data.message);
				}
			});
		}
		else
		$('#error_message').html('Вы не выбрали ни одной книги');
	}
</script>

{% endblock %}
