/************************************************
  Файл с массивом данных для осуществления выборки
  книг по заданной строке поиска для четырех
  предметных областей поиска:
  0 - выборка по году издания
  1 - выборка по автору
  2 - выборка по названию книги
  3 - выборка по секции отображения -
      разделы сайта, где выставлена книга
      (Культура, История, Петербург и т.д.)
      
  В основе лежит структура описания книги 
  bookRecord(file, year, author, title, section), где
	file - имя файла, относящегося к книге
	year - год издания
	author - автор(ы)
	title - ключевые слова названия
	section - разделы сайта, где выставляется книга
	
	Эти структуры образуют массив booksArray,
	заполняемый как исходный блок данных и 
	пополняемый по мере выхода книг. Массив
	изначально формируется упорядоченный 
	по году издания (элемент [0] всегда содержит
	последнюю занесенную книгу).
	
	Другой структурой является sectionRecord, из которой 
	формируется массив secArray с параметрами настройки
	секций:
	section - условное имя секции
	book1 и book2 - книги-новинки в секции
	hfoto - панорамное фото вверху
	ftitle - название панорамного фото во всплывающей подсказке
	secname - название секции после слов ИЗДАННЫЕ КНИГИ
	ref1 ... ref4 - пункты меню перехода на подразделы
	   секции с условным обозначением секции перехода
	
	В файле определена функция
	
	function SelectItems(itemType, substrng),
	========================================
	где itemType=(0...3) задает предметную
	область поиска, а substrng определяет 
	строку поиска, на основании которой из 
	массива booksArray формируется массив 
	booksSelArray, удовлетворяющий заданному
	критерию. Новый массив состоит из 
	тех же структур booksArray. 
	Кроме того, формируется одномерный массив 
	Fnames[] из имен файлов выборки.
	Функция возвращает размер массива.
	
	function zakazItems()
	=====================
	Для формирования нового массива booksSelArray
	на основе имеющегося в cookie параметра zakaz.
	На его основе выводится список заказанных книг.
	
	function whichSection(param)
	============================
	Для определения номера элемента массива secArray
	по условному наименованию секции (param)
	
	function displaySecRef(idx) 
	===========================
	Вывод левой (idx=0) или правой (idx=1) группы
	ссылок на подсекции
	
	function ShowPageWithBooks()
	============================ 
	Реакция на кнопку "Показать выборку" в левой колонке
	
	function showNewBook(book,idx) 
	==============================
	На страницах "Изданные книги" и "Готовятся к изданию"
	показывает указанную книгу book с учетом уровня вложенности
	папки idx: 0 для Изданных книг (нулевой уровень вложенности) 
	idx=1 для Готовящихся к изданию (первый уровень вложенности) 
	и т.д. 
	
*************************************************/
var booksArray=new Array(); // создание массива ссылок
var booksSelArray=new Array(); 	// массив отобранных книг
var secArray=new Array(); // массив параметров секции
var Fnames=new Array();	// массив имен отобранных книг: booksSelArray[i].file
var refArray=new Array(8); // массив пар: название секции-перехода и ссылка на нее

var FnamesSize; // число книг в разделе, устанавливается в SelectedItems
var PagesInChapter=Math.floor((FnamesSize-1)/6)+1; // число страниц в разделе

// Книги-новинки на страницах "Готовятся к печати" и "Изданные книги"
// показываются функцией showNewBook(book) в этом блоке
var newBook1inGotov="svetopis",
    newBook2inGotov="kofod",
    newBook1inIzdan="kofod",
    newBook2inIzdan="brikulez";
	newBook3inIzdan="borisenkov";

// конструктор структуры данных о книге
function bookRecord(file, year, author, title, section) {
	this.file=file; 	// имя файла, относящегося к книге
	this.year=year;		// год издания
	this.author=author;	// автор(ы)
	this.title=title;	// ключевые слова названия
	this.section=section;	// разделы сайта, где выставляется книга
}

// конструктор структуры сменных элементов секции
function sectionRecord(section, book1, book2, hfoto, ftitle, secname, ref1, ref2, ref3, ref4) 
{
	this.section=section; 	// название секции
	this.book1=book1; 	// первая книга-новинка
	this.book2=book2; 	// вторая книга-новинка
	this.hfoto=hfoto;   // фото в шапке
	this.ftitle=ftitle; // название фотографии
	this.secname=secname; 	// заголовок секции
	this.ref1=ref1; 	// ссылка-переход
	this.ref2=ref2; 	// ссылка-переход
	this.ref3=ref3; 	// ссылка-переход
	this.ref4=ref4; 	// ссылка-переход
}
/***** Массив 9 параметров секций: имя секции, две книги-новинки
	   панорамное фото и его название, заголовок секции 
	   и 4 названия пунктов секционного меню (если нет - пусто).
	   Используется файлом displayBooks.htm для вывода вида страницы
	   любой секции в едином формате, но с индивидуальными настройками
	   внешнего вида страницы. 
******/
/* -- Культура, Образование, Религия -- */
secArray[secArray.length]=new sectionRecord (
"cult","brikulez","kofod","SpbPanorama.jpg",
"Санкт-Петербург: панорамный вид на Стрелку Васильевского острова",
"Культура и общество",
"Наследие-cultN","","Образование-cultO","Религия-cultR");
secArray[secArray.length]=new sectionRecord (
"cultN","svetopis","borisenkov","Kazansky.jpg",
"Санкт-Петербург: Казанский собор", "Наследие",
"Культура-cult","","Образование-cultO","Религия-cultR");
secArray[secArray.length]=new sectionRecord (
"cultR","vel_novg","sultanov","AlNevskLavra.jpg",
"Санкт-Петербург: Александро-Невская лавра","Религия",
"Культура-cult","","Образование-cultO","Наследие-cultN");
secArray[secArray.length]=new sectionRecord (
"cultO","kofod","voina_object","DvortsMost.gif",
"Санкт-Петербург: Белые Ночи - разведенный Дворцовый мост","Образование",
"Культура-cult","","Наследие-cultN","Религия-cultR");
/* -- Искусство -- */
secArray[secArray.length]=new sectionRecord (
"art","antikvar","moskva_fotoN","LetSad.jpg",
"Санкт-Петербург: Летний сад","Искусство",
"","","","");
/* -- История Санкт-Петербурга -- */
secArray[secArray.length]=new sectionRecord (
"peterb","borisenkov","acad_hud","SaintIsaacFromNeva.jpg",
"Санкт-Петербург: Английская набережная","История Санкт-Петербурга",
"Пригороды-peterbS","Улицы, здания-peterbB","","");
secArray[secArray.length]=new sectionRecord (
"peterbS","borisenkov","acad_hud","PavlovskPalace.jpg",
"Дворец в Павловске в окрестностях Санкт-Петербурга","Пригороды Санкт-Петербурга",
"История Петербурга-peterb","Улицы, здания-peterbB","","");
secArray[secArray.length]=new sectionRecord (
"peterbB","borisenkov","acad_hud","NewHolland.jpg",
"Санкт-Петербург: Новая Голландия","Улицы, здания",
"История Петербурга-peterb","Пригороды-peterbS","","");
/* -- История -- */
secArray[secArray.length]=new sectionRecord (
"hist","avtoportret","acad_hud","PetrInWinter.jpg",
"Санкт-Петербург: Петропавловская крепость зимой","Общая история",
"Россия в фото-histF","Из архивов-histA","Военная история-histV","Люди и институты-histM");
secArray[secArray.length]=new sectionRecord (
"histF","kotlin_prir","zaonegie2nd","PlOstr.jpg",
"Санкт-Петербург: садик на площади Островского","Россия в фотографиях",
"Общая история-hist","Из архивов-histA","Военная история-histV","Люди и институты-histM");
secArray[secArray.length]=new sectionRecord (
"histA","voina_object","antikvar","SadovMost.jpg",
"Санкт-Петербург: панорама 2-го Садового моста","Архивные материалы",
"Общая история-hist","Военная история-histV","Россия в фото-histF","Люди и институты-histM");
secArray[secArray.length]=new sectionRecord (
"histV","kotlin_prir","zaonegie2nd","PlPobedy.jpg",
"Санкт-Петербург: мемориальный комплекс площади Победы","Военная история",
"Общая история-hist","Из архивов-histA","Люди и институты-histM","Россия в фото-histF");
secArray[secArray.length]=new sectionRecord (
"histM","voina_object","antikvar","Peter_MikhZamok.jpg",
"Санкт-Петербург: памятник Петру I у Михайловского замка","Люди и институты",
"Общая история-hist","Военная история-histV","Россия в фото-histF","Из архивов-histA");
/* -- Краеведение -- */
secArray[secArray.length]=new sectionRecord (
"kraeved","acad_hud","romanov_blago","OldFortress.jpg",
"Старая крепость русского города","Краеведение",
"","","","");
/* -- Литература -- */
secArray[secArray.length]=new sectionRecord (
"liter","voina_object","tsusima","RumjantsSad.jpg",
"Санкт-Петербург: Румянцевский сад на Университетской набережной","Литература",
"Художественная-literH","Школьная-literS","","");
secArray[secArray.length]=new sectionRecord (
"literH","voina_object","tsusima","12Collegiy.jpg",
"Санкт-Петербург: здание 12-ти коллегий (Университет)","Художественная литература",
"Все книги раздела-liter","Школьная-literS","","");
secArray[secArray.length]=new sectionRecord (
"literS","voina_object","tsusima","AleksSad.jpg",
"Санкт-Петербург: Александровский сад у Адмиралтейства","Школьная литература",
"Все книги раздела-liter","Школьная-literH","","");
/* -- Разное -- */
secArray[secArray.length]=new sectionRecord (
"drug","brikulez","tserk_rev","Sunset.jpg","Закат на озере","Разное",
"","","","");
/* страница с отобранными для заказа книгами */
secArray[secArray.length]=new sectionRecord (
"zakazano","acad_hud","kofod","SenPlNoch.jpg",
"Санкт-Петербург: Сенатская площадь ночью","Отобранные книги",
"Культура-cult","История-hist","Искусство-art","Петербург-peterb");
/* страница вызывается при показе выборки книг по кнопке 'Показать'
   при задании критерия поиска по названию, автору или году
*/
secArray[secArray.length]=new sectionRecord (
"select","brikulez","svetopis","KronvProliv.jpg",
"Санкт-Петербург: Кронверкский пролив у Петропавловской крепости","Выборка по запросу",
"Культура-cult","История-hist","Искусство-art","Петербург-peterb");

/* инициализация очередного элемента массива из 5 строк с данными книг:
	имя файла-книги, год издания, авторы, название, раздел представления
*/
booksArray[booksArray.length]=
	new bookRecord("borisenkov","2009", "перевышко степанова", "василий борисенков живопись", "art");
booksArray[booksArray.length]=
	new bookRecord("brikulez","2009", "скурлов", "виктор брикулец", "art");
booksArray[booksArray.length]=
	new bookRecord("kofod","2009", "кофод", "50 лет россии", "hist histM liter");
booksArray[booksArray.length]=
	new bookRecord("acad_hud","2009", "целищева литовченко богдан", "музей академии художеств страницы истории", "cultN art histM peterbB");
booksArray[booksArray.length]=
	new bookRecord("romanov_blago","2009", "соколов", "романовы благо россии", "hist histF");
booksArray[booksArray.length]=
	new bookRecord("avtoportret","2009", "балакина богдан", "автопортрет портрет художника", "art");
booksArray[booksArray.length]=
	new bookRecord("gos_soc_arch","2009", "штыков", "государство общество архивы истории россии", "hist histA");
booksArray[booksArray.length]=
	new bookRecord("sultanov","2009", "савельев", "николай владимирович султанов портрет архитектора эпохи историзма", "cultN art histM");
booksArray[booksArray.length]=
	new bookRecord("voina_object","2009", "колоскова денисова лебедева", "в объективе война 1941 1945", "histV histF");
booksArray[booksArray.length]=
	new bookRecord("svetopis","2009", "бархатова", "русская светопись первый век фотоискусства 1839-1914", "cult art histF drug");
booksArray[booksArray.length]=
	new bookRecord("moskva_fotoN","2009", "шелаева", "москва старых фотографиях", "cultN hist histF");
booksArray[booksArray.length]=
	new bookRecord("pisma_spb","2009", "фаньяни", "письма из петербурга 1810 1811", "histM peterb liter");
booksArray[booksArray.length]=
	new bookRecord("kamnerez_fig","2009", "фаберже илюхин скурлов", "фаберже и его продолжатели камнерезные фигурки русские типы", "cult art cultN");
booksArray[booksArray.length]=
	new bookRecord("PDD5-6Class","2008", "данченко форштат", "учебное пособие правилам безопасности дорожного движения учащихся 5-6 классов", "liter literS"); 
booksArray[booksArray.length]=
	new bookRecord("PDD5-9metod","2008", "григорян данченко форштат", "методические рекомендации учителя по правилам безопасности дорожного движения 5-9 классов", "liter literS");
booksArray[booksArray.length]=
	new bookRecord("tserk_rev","2008", "рогозный", "церковная революция", "cultR hist");
booksArray[booksArray.length]=
	new bookRecord("kotlin_put","2008", "крестьянинов", "кронштадт путеводитель телефонный справочник", "peterbS drug");
booksArray[booksArray.length]=
	new bookRecord("kotlin_prir","2008", "коткин", "природа острова котлин", "peterbS drug");
booksArray[booksArray.length]=
	new bookRecord("kaleidoskop","2008", "менакер", "калейдоскоп", "liter literH");
booksArray[booksArray.length]=
	new bookRecord("sev_okrest","2008", "александрова", "северные окрестности петербурга историческое прошлое", "peterS kraeved");
booksArray[booksArray.length]=
	new bookRecord("elita","2008", "", "управленческая элита российской империи история министерств", "hist histM drug");
booksArray[booksArray.length]=
	new bookRecord("nevsky_8ar","2008", "антонов кобак", "невский архив историко краеведческий сборник", "histM histA kraeved peterb");
booksArray[booksArray.length]=
	new bookRecord("vel_novg","2008", "мильчик", "архитектурное наследие Великого Новгорода Новгородской области", "cult cultN hist kraeved");
booksArray[booksArray.length]=
	new bookRecord("antikvar","2008", "толмацкий скурлов иванов", "антикварно художественный рынок Петербурга", "cult art drug");
booksArray[booksArray.length]=
	new bookRecord("politeh_ec","2008", "", "политехнический университет факультет экономики менеджмента", "cult cultO histM peterbB");
booksArray[booksArray.length]=
	new bookRecord("zimichev","2008", "зимичев", "избранные произведения", "drug");
booksArray[booksArray.length]=
	new bookRecord("kargopol","2008", "мильчик", "каргополь деревянная крепость и остроги по реке Онеге", "cult cultN kraeved");
booksArray[booksArray.length]=
	new bookRecord("giproshaht","2008", "груздев рогозинский", "гипрошахт 1928 2008", "drug");
booksArray[booksArray.length]=
	new bookRecord("moskva20g","2008", "колосова", "москва 1920 1930", "cultN hist histF");
booksArray[booksArray.length]=
	new bookRecord("siroty","2008", "занозина колосова чистиков", "сиротство беспризорность россии история современность", "cult cultO histA drug");
booksArray[booksArray.length]=
	new bookRecord("kronstadt","2008", "крестьянинов", "кронштадт город музей", "histF peterbS");
booksArray[booksArray.length]=
	new bookRecord("voen_stolitsa","2008", "лапин", "военная столица российской империи", "histV histF peterb");
booksArray[booksArray.length]=
	new bookRecord("tolstoi","2007", "ананьич", "толстой петербургское общество накануне революции", "histM cultO");
booksArray[booksArray.length]=
	new bookRecord("vseob_hist","2007", "каганович корсакова", "всеобщая история культуры историографический сборник", "hist");
booksArray[booksArray.length]=
	new bookRecord("stigliz","2007", "пугин", "традиции школы рисования художественно промышленной академии им Штиглица", "cult cultN art peterbB");
booksArray[booksArray.length]=
	new bookRecord("konn_povoz","2007", "чернышев", "конные повозки экипажи", "hist histA drug");
booksArray[booksArray.length]=
	new bookRecord("mor_pobedy","2007", "фролов яковлев", "морские победы чесма корфу", "liter literS");
booksArray[booksArray.length]=
	new bookRecord("serg_pust","2007", "", "Альбом Свято-троицкой Сергиевой Пустыни", "cult cultR");
booksArray[booksArray.length]=
	new bookRecord("pasport","2007", "чернуха", "паспорт России", "hist histA drug");
booksArray[booksArray.length]=
	new bookRecord("naberegnajaN5","2007", "", "английская набережная", "hist histA");
booksArray[booksArray.length]=
	new bookRecord("gerzena2ed","2007", "гончаров бордовский", "педагогический университет герцена", "cultO histM peterbB");
booksArray[booksArray.length]=
	new bookRecord("vshkola","2007", "", "высшая школа Санкт-Петербурга сборник документов", "cultO histA");
booksArray[booksArray.length]=
	new bookRecord("tsgali","2007", "ярошецкая бонитенко захарова", "центральный государственный архив литературы и искусства Путеводитель", "hist histA");
booksArray[booksArray.length]=
	new bookRecord("plaksin","2007", "плаксин", "антимифы живопись графика", "art");
booksArray[booksArray.length]=
	new bookRecord("PDD7-9Class","2007", "данченко форштат", "учебное пособие правилам безопасности дорожного движения учащихся 7-9 классов", "liter literS");
booksArray[booksArray.length]=
	new bookRecord("sudba_ross","2007", "шепелев", "судьбы россии проблемы зкономического развития", "hist histM");
booksArray[booksArray.length]=
	new bookRecord("tsusima","2007", "крестьянинов тронь губер", "цусима хроника реквием", "histV histF");
booksArray[booksArray.length]=
	new bookRecord("moskva_foto","2004", "шелаева", "москва фотографиях", "cultN hist histF");
booksArray[booksArray.length]=
	new bookRecord("RSvoina","2007", "", "русско шведская война", "histV drug");
booksArray[booksArray.length]=
	new bookRecord("sablino","2007", "", "саблинский заповедник саблино", "kraeved drug peterbS");
booksArray[booksArray.length]=
	new bookRecord("hram_komlevo","2007", "", "Храм в честь иконы Божией Матери 'Знамение в селе Комлево'", "cultR");
booksArray[booksArray.length]=
	new bookRecord("devochka","2007", "рыхляева", "В семье родилась девочка Женщины России в фотографиях конца 19 начала 20 века", "hist histF drug");
booksArray[booksArray.length]=
	new bookRecord("555QLenObl","2007", "Лихой", "555 вопросов ответов по истории культуре Ленинградской области", "kraeved drug liter literS peterbS");
booksArray[booksArray.length]=
	new bookRecord("PDDnach_uch","2007", "михайлов форштат", "учебное пособие правилам дорожного движения ПДД", "liter literS");
booksArray[booksArray.length]=
	new bookRecord("PDDnach_rab","2007", "добровольская форштат", "рабочая тетрадь правилам дорожного движения ПДД", "liter literS");
booksArray[booksArray.length]=
	new bookRecord("zaonegie2nd","2007", "мильчик", "заонежье история культура документы фотографии", "cult cultN histF kraeved");
booksArray[booksArray.length]=
	new bookRecord("blag_in_rus2nd","2007", "соколов", "благотворительность России  механизм взаимодействия общества государства", "cult cultO hist");
booksArray[booksArray.length]=
	new bookRecord("ierusalim","2007", "длужневская", "иерусалим фотоальбом", "cult cultR histF histA");
booksArray[booksArray.length]=
	new bookRecord("trolley","2006", "", "ленинрадский петербургский троллейбус", "peterb drug");
booksArray[booksArray.length]=
	new bookRecord("tram","2006", "", "петербургский трамвай", "peterb drug");
booksArray[booksArray.length]=
	new bookRecord("menshikov2","2006", "калязин калязина", "меншиков строитель россии", "hist peterb peterbB");
booksArray[booksArray.length]=
	new bookRecord("imp_flot","2006", "крестьянинов", "российский императорский флот фотографии", "histV histF histV");
booksArray[booksArray.length]=
	new bookRecord("zeml_nevsk","2006", "", "земля невская православная церковный справочник", "cult cultN cultR histF");
booksArray[booksArray.length]=
	new bookRecord("nevsky_7ar","2006", "", "невский архив историко краеведческий сборник", "histA peterb kraeved");
booksArray[booksArray.length]=
	new bookRecord("MF","2006", "корнева чебоксарова", "любимые резиденции императрицы марии федоровны", "hist peterb");
booksArray[booksArray.length]=
	new bookRecord("tosno","2006", "", "земля тосненская тосно", "peterbS kraeved");
booksArray[booksArray.length]=
	new bookRecord("blag_in_rus","2006", "соколов", "благотворительность россии механизм взаимодействия", "cult hist");
booksArray[booksArray.length]=
	new bookRecord("igla_pam","2006", "ракова", "иглы памяти", "liter literH");
booksArray[booksArray.length]=
	new bookRecord("ross_imp2","2006", "колоскова боханов упит", "российская империя фотографиях", "cult hist histF");
booksArray[booksArray.length]=
	new bookRecord("petr_len","2006", "чистиков процай", "петроград ленинград 1920 1930 фотографиях", "hist histF");
booksArray[booksArray.length]=
	new bookRecord("mus_mir","2006", "длужневская", "мусульманский мир российской империи", "cultR hist histF");
booksArray[booksArray.length]=
	new bookRecord("gai","2006", "ганжа", "государственная инспекция безопасности ГИБДД петербурга", "peterb histM drug");
booksArray[booksArray.length]=
	new bookRecord("duma1st","2005", "лукоянов любомирова соколов", "государственная дума россии 1906 1917", "hist histA histM");
booksArray[booksArray.length]=
	new bookRecord("duma2nd","2005", "сахаров ивлиев андреева шувалов", "государственная дума федерального собрания 1994 2006", "hist histA histM");
booksArray[booksArray.length]=
	new bookRecord("meklen","2005", "", "русская ветвь мекленбург стрелицкого дома", "hist histA");
booksArray[booksArray.length]=
	new bookRecord("faber","2005", "перевышко скурлов фаберже", "петербург карла фаберже", "peterb art histF");
booksArray[booksArray.length]=
	new bookRecord("blagnarobr","2005", "соколов", "благотворительность народном образовании", "cultO histM histA");
booksArray[booksArray.length]=
	new bookRecord("spb_duma","2005", "", "петербургская городская дума 1846 1918", "peterb histM histA");
booksArray[booksArray.length]=
	new bookRecord("menshikov","2005", "калязин калязина", "меншиков строитель россии", "hist peterb histM");
booksArray[booksArray.length]=
	new bookRecord("leningradVOV","2005", "", "ленинград годы великой отечественной войны", "peterb histV");
booksArray[booksArray.length]=
	new bookRecord("vizanty","2005", "савельев", "византийский стиль архитектуре россии", "cultR cultN");
booksArray[booksArray.length]=
	new bookRecord("lubov_v_efire","2005", "мархасев", "любовь прямом эфире", "liter literH");
booksArray[booksArray.length]=
	new bookRecord("rus_hramy","2005", "антонов кобак", "русские храмы обители европе", "cult cultR");
booksArray[booksArray.length]=
	new bookRecord("sestr_mil","2005", "беляков", "сестры милосердия россии", "cult cultN histM");
booksArray[booksArray.length]=
	new bookRecord("pestel","2004", "чернов", "Павел Пестель избранные статьи по истории декабризма", "hist histA");
booksArray[booksArray.length]=
	new bookRecord("naberegnajaN4","2004", "", "английская набережная", "hist histA");
booksArray[booksArray.length]=
	new bookRecord("dor_smol","2004", "", "дорогами смоленской области", "kraeved");
booksArray[booksArray.length]=
	new bookRecord("dor_lenobl","2004", "", "дороги ленинградской области", "peterbS kraeved");
booksArray[booksArray.length]=
	new bookRecord("petrosobor","2004", "гендриков сенько", "петропавловский собор усыпальница романовых", "cult cultN hist peterb");
booksArray[booksArray.length]=
	new bookRecord("belki","2004", "мархасев", "белки колесе", "liter literH peterb");
booksArray[booksArray.length]=
	new bookRecord("bril_sergi","2004", "алянский", "бриллиантовые серьги", "liter literH");
booksArray[booksArray.length]=
	new bookRecord("volgo_balt","2004", "акимов", "волго балт волгобалт", "hist kraeved");
booksArray[booksArray.length]=
	new bookRecord("zarub_ros","2004", "", "зарубежная россия 1917 1945", "cult hist");
booksArray[booksArray.length]=
	new bookRecord("liteinaja","2004", "жерихина", "литейная часть невы кирочной", "peterbB");
booksArray[booksArray.length]=
	new bookRecord("moskva_pr","2004", "шелаева", "москва православная окрестности фотографиях", "cult cultR hist histF");
booksArray[booksArray.length]=
	new bookRecord("nemtsy","2004", "смагина", "немцы россии", "cult cultN hist");
booksArray[booksArray.length]=
	new bookRecord("balkanu","2004", "васильев длужневская малевинская", "православные святыни балкан", "cult cultR");
booksArray[booksArray.length]=
	new bookRecord("ross_imp","2004", "колоскова боханов упит", "российская империя фотографиях", "cult hist histF");
booksArray[booksArray.length]=
	new bookRecord("mirom_sozdan","2004", "корнева чебоксарова", "петербург миром создан красотой храним", "cult cultN hist kraeved peterb");
booksArray[booksArray.length]=
	new bookRecord("sled_v_efire","2004", "мархасев", "след эфире", "liter literH peterb");
booksArray[booksArray.length]=
	new bookRecord("haos","2004", "филиппов", "хаос гармония искусстве палеолита", "art drug");
booksArray[booksArray.length]=
	new bookRecord("gorod_port","2003", "", "город начинается порта", "peterbS");
booksArray[booksArray.length]=
	new bookRecord("eats","2003", "щербанин аксенова", "евроазиатские транспортные связи", "hist drug");
booksArray[booksArray.length]=
	new bookRecord("nevsky_6ar","2003", "антонов кобак", "невский архив историко краеведческий сборник", "histM kraeved peterb art");
booksArray[booksArray.length]=
	new bookRecord("romanov","2003", "шелаев шелаева семенов процай", "николай романов страницы жизни", "hist histF");
booksArray[booksArray.length]=
	new bookRecord("angel","2003", "бобров", "хранители ангела", "peterb liter literH");
booksArray[booksArray.length]=
	new bookRecord("zap_coll","2003", "лобанов", "записки коллекционера", "liter literH");
booksArray[booksArray.length]=
	new bookRecord("kapella","2003", "", "петербургская певческая капелла", "cult cultN art peterb");
booksArray[booksArray.length]=
	new bookRecord("okno","2003", "калязин калязина", "окно европу", "cult hist");
booksArray[booksArray.length]=
	new bookRecord("ot_tsarsk_do_okt","2003", "", "от царскосельской до октябрьской", "hist kraeved peterb");
booksArray[booksArray.length]=
	new bookRecord("svatini","2003","антонов кобак", "святыни санкт петербурга христианская энциклопедия", "cult cultR hist peterb");
booksArray[booksArray.length]=
	new bookRecord("politeh","2003", "", "санкт петербургский политехнический университет", "cultO peterbB");
booksArray[booksArray.length]=
	new bookRecord("parlament","2003", "лукоянов", "истоков российского парламентаризма", "hist histM");
booksArray[booksArray.length]=
	new bookRecord("medicina","2002", "занозина семенов шелаева", "медицина культура милосердие фотографиях", "histF drug");
booksArray[booksArray.length]=
	new bookRecord("smolny","2002", "жерихина", "смольный", "histM peterbB cultO");
booksArray[booksArray.length]=
	new bookRecord("menaker","2002", "менакер", "цареубийцы", "art liter");
booksArray[booksArray.length]=
	new bookRecord("omar","2002", "омар махамид", "россия палестина", "cult cultR hist");
booksArray[booksArray.length]=
	new bookRecord("arhangelsk","2002", "мильчик попова", "первые ворота российского государства архангельск холмогоры", "cult cultN hist kraeved");
booksArray[booksArray.length]=
	new bookRecord("sport","2002", "андреева гусева", "спорт наших дедов фотографиях", "cult hist histF");
booksArray[booksArray.length]=
	new bookRecord("vlad_aleks","2001", "корнева петрицкий чебосарова", "дворец владимира александровича дом ученых", "hist peterbB");
booksArray[booksArray.length]=
	new bookRecord("tver","2001", "", "дороги тверской области", "hist kraeved");
booksArray[booksArray.length]=
	new bookRecord("zaonegie","2001", "мильчик", "заонежье старых фотографиях", "cult cultN hist kraeved");
booksArray[booksArray.length]=
	new bookRecord("klejmenie","2001", "скурлов иванов", "клеймение золотых серебряных изделий", "cult art drug");
booksArray[booksArray.length]=
	new bookRecord("nevsky_5ar","2001", "скурлов иванов", "невский архив историко краеведческий сборник", "histA kraeved peterb");
booksArray[booksArray.length]=
	new bookRecord("prav_mir","2001", "шелаева", "православный мир россии фотографиях", "cult cultR hist histF");
booksArray[booksArray.length]=
	new bookRecord("enciklopedia_metr","2001", "", "российская метрологическая энциклопедия", "drug");
booksArray[booksArray.length]=
	new bookRecord("juvelir","2001", "скурлов", "ювелиры камнерезы урала", "cult art");
booksArray[booksArray.length]=
	new bookRecord("menshikov1st","2000", "калязина калязин", "дворец музей меншикова", "histM peterb peterbB");
booksArray[booksArray.length]=
	new bookRecord("naberegnajaN2","2000", "", "английская набережная ежегодник историков архивистов", "hist");
booksArray[booksArray.length]=
	new bookRecord("miloserdie","2000", "занозина адаменко", "благотворительность милосердие санкт петербурге", "cult histF peterb");
booksArray[booksArray.length]=
	new bookRecord("glav_doroga","2000", "фролов чистиков яковлев", "главная дорога россии москва петербург", "hist peterb");
booksArray[booksArray.length]=
	new bookRecord("obrazovanie","2000", "никольцева", "начальное среднее образование санкт петербурге", "cultO hist peterb");
booksArray[booksArray.length]=
	new bookRecord("zem_gar_pt","2000", "сюзанна масси", "земля жар птицы", "hist cult cultN");
booksArray[booksArray.length]=
	new bookRecord("volsh_fonar","1998", "менакер", "волшебный фонарь", "liter literH");
booksArray[booksArray.length]=
	new bookRecord("nikolaj","1998", "шелаев шелаева семенов процай", "николай ii страницы жизни", "hist");
booksArray[booksArray.length]=
	new bookRecord("len_obl","1997", "", "ленинградская область история современность", "hist kraeved peterbS");
booksArray[booksArray.length]=
	new bookRecord("pavlovsk","1997", "сюзанна масси", "павловск жизнь русского дворца", "cult cultN hist peterb peterbS");
booksArray[booksArray.length]=
	new bookRecord("gerzena","1997", "гончаров гончарова фруменкова колосова", "педагогический университет герцена", "cultO histM peterbB");
booksArray[booksArray.length]=
	new bookRecord("on_den","1997", "радашкевич", "оный день", "liter literH");
booksArray[booksArray.length]=
	new bookRecord("teni_zakona","1997", "темин", "тени закона", "liter");
booksArray[booksArray.length]=
	new bookRecord("moja_gizn","1996", "кирилл владимирович князь", "моя жизнь службе россии", "hist");
booksArray[booksArray.length]=
	new bookRecord("rossia_serdce","1995", "владимир кириллович леонида георгиевна", "россия нашем сердце", "hist");
booksArray[booksArray.length]=
	new bookRecord("sto_let","1995", "акимов", "100 лет русской литературы", "liter literS");
booksArray[booksArray.length]=
	new bookRecord("leningrad","1995", "", "ленинград осаде", "histV peterb");
booksArray[booksArray.length]=
	new bookRecord("skrjabin","1995", "ханон", "скрябин как лицо", "cult art");
booksArray[booksArray.length]=
	new bookRecord("spb_stolitsa","1993", "шелаев шелаева процай ирошников", "санкт петербург столица российской империи", "cult hist kraeved peterb");

//обращение к  фрагментам структуры
//var mYear=booksArray[0].year;
//var mTitle=booksArray[0].title;

/**************** SelectItems ********************
	Функция формирует новый массив booksSelArray
	из исходного массива booksArray на основе 
	заданного типа структуры itemType и подстроки 
	поиска substrng, на основе которой определяется
	участие элемента массива в выборке. Для типов
	year и section требуется точное совпадение с 
	подстрокой, для типов author и title - 
	совпадение подстроки с началом любого слова.
	Подстрока запроса для всех типов структуры, кроме
	section может включать несколько слов (чисел),
	разделяемых пробелами. Подстрока section должна
	состоять из одного слова.
	itemType определяет, какую часть структуры 
	элемента массива анализировать для выборки:
	0 - year, 1 - author, 2 - title, 3 - section
	
	Возвращается размер массива booksSelArray,
	заполняется массив Fnames и параметр FnamesSize
*************************************************/
function SelectItems(itemType, substrng) {

	var i, found, s, s1, j, k;
	var sSplit=new Array(); // для разбиваемых на слова элементов booksArray[]
	var sSplitFind=new Array(); // для разбиваемых на слова элементов подстроки поиска
	
	booksSelArray.length=0; // обнуление массива выборки
	Fnames.length=0;		// обнуление массива имен книг
	s=substrng.toLowerCase();
	sSplit=s.split(" "); // разделение на слова подстроки поиска
	// Удаление пустых слов, возникших из-за лишних пробелов
	for (i=0;i<sSplit.length;++i)
		if (sSplit[i]!="") sSplitFind[sSplitFind.length]=sSplit[i];
	// Удаление возможных звездочек по краям слов подстроки поиска
	for (i=0;i<sSplitFind.length;++i) {
		s1=sSplitFind[i];
		j=s1.length;
		if (s1.charAt(j-1)=="*") sSplitFind[i]=s1.slice(0,j-1); // удаление звездочки справа
		s1=sSplitFind[i];
		if (s1.charAt(0)=="*") sSplitFind[i]=s1.slice(1); // удаление звездочки слева
	}
	if (sSplitFind.length=="") return 0; // возврат при нулевой подстроке поиска
	
	/*** sSplitFind теперь содержит слова подстроки поиска ***/
	
	if ((itemType>3) || (itemType<0)) {
		alert("SelectItems: недопустимый itemType="+itemType);
		return 0;
	}
	
	/***** Цикл поиска хотя бы одного совпадения слов из подстроки
	       поиска со словами из строки сравнения (элемента массива
	       booksArray). Из элементов массива booksArray, содержащих
	       совпадения формируется массив booksSelArray[]
	*/
	for (i=0; i<booksArray.length;++i) {
	// выделение в s1 строки сравнения и разделение ее на слова	
		if (itemType==0) s1=booksArray[i].year;
		if (itemType==1) {s1=booksArray[i].author; if (s1=="") continue; }
		if (itemType==2) s1=booksArray[i].title;
		if (itemType==3) s1=booksArray[i].section;

		s1=s1.toLowerCase(); // перевели строку сравнения в нижний регистр
		sSplit.length=0;
		sSplit=s1.split(" "); // разделили строку сравнения на слова

	/* Поиск совпадений слов массива sSplitFind со словами массива sSplit
	   при этом для itemType=0 (год) и =3 (секция) требуется полное
	   совпадения, для остальных - совпадение слова из sSplitFind 
	   с началом слова из sSplit
	*/	
		for (j=0;j<sSplit.length;++j) { 
			found=0;
			for (k=0;k<sSplitFind.length;++k){
				if ((itemType==3) || (itemType==0)) {// нужно точное совпадение (секция, год)
					s=sSplit[j]; s1=sSplitFind[k];
					if (s1==s) {
						booksSelArray[booksSelArray.length]=booksArray[i];
						found=1; break; 
					} 
				}
				else { // нужно совпадение начала для автора и названия
					s1=sSplit[j]; s=sSplitFind[k];
					if ((s1.indexOf(s))==0) { // есть совпадение с начала
						booksSelArray[booksSelArray.length]=booksArray[i];
						found=1; break; 
					} 
				}
			} // end-for(k)
			if (found==1) break; // найдено первое совпадение	
		} // end-for(j)
	} // end-for i-cycle
	var len=booksSelArray.length;
		for (j=0;j<len;++j) Fnames[j]=PathKrat+booksSelArray[j].file+".js";
		
	FnamesSize=len;
	return len;		  
} // end-of SelectItems

/***************** zakazItems ***********************
	Функция формирует новый массив booksSelArray
	на основе имеющегося в cookie параметра zakaz.
	На его основе выводится список заказанных книг.
	
	Возвращается размер массива booksSelArray,
	заполняется массив Fnames и параметр FnamesSize
*******************************************************/
function zakazItems(){
	var i, j, sAr, scookie, s;
	
	scookie=getCookie("zakaz")
	if (scookie=="") return 0;
	
	sAr=scookie.split(" ");	// выделение массива заказанных книг
	booksSelArray.length=0; // обнуление массива выборки
	Fnames.length=0;		// обнуление массива имен книг

	/***** Цикл поиска хотя бы одного совпадения слов из 
	       массива sAr с элементами массива booksArray[i].section. 
	       Из элементов массива booksArray, содержащих
	       совпадения формируется массив booksSelArray[]
	*/
	
	for (i=0; i<booksArray.length;++i) {
		s=booksArray[i].file;
		for (j=0; j<sAr.length;++j) {
			if (s==sAr[j]) {
				booksSelArray[booksSelArray.length]=booksArray[i];
				break; 
			} 
		} // end for(j)
	}// end for(i)

		
	var len=booksSelArray.length;
		for (j=0;j<len;++j) Fnames[j]=PathKrat+booksSelArray[j].file+".js";
		
	FnamesSize=len;
	return len;		  
}// zakazItems

/***************** whichSection ***********************
	Функция анализирует параметр param и проверяет
	его на соответствие названию секции. При совпадении
	возвращается номер элемента массива secArray, 
	соответствующий секции. При несовпадении - номер 
	последнего элемента массива, соответствующий выводу
	запрошенной выборки.
	Кроме того, функция формирует массив пар ссылок  
	refArray на основании элементов secArray[].ref1 ...
	secArray[].ref4: четные - имя подсекции перехода,
	нечетные - ссылка перехода. 

*******************************************************/
function whichSection(param) {

	var i, s, s1, found=0;
	for (i=0;i<secArray.length;++i){
		s=secArray[i].section;
		if (s==param) {found=1; break;}
	}
	if (!found) i=secArray.length-1;
	
	s=secArray[i].ref1;
	s1=s.split("-");
	refArray[0]=s1[0]; refArray[1]=s1[1];

	s=secArray[i].ref2;
	s1=s.split("-");
	refArray[2]=s1[0]; refArray[3]=s1[1];

	s=secArray[i].ref3;
	s1=s.split("-");
	refArray[4]=s1[0]; refArray[5]=s1[1];

	s=secArray[i].ref4;
	s1=s.split("-");
	refArray[6]=s1[0]; refArray[7]=s1[1];
	
	return i;
} // whichSection

/********************* displaySecRef(idx) ***********************
	Вывод левой (idx=0) или правой (idx=1) группы ссылок для
	подсекций над блоком книг. 
	Реализован вывод HTML-кода:
	<a href='displayBooks.htm?section=histF'>
 <img border=0 src='../Liki_img/bullets_ball63.gif' width=19 height=10>
    Россия в фотографиях </a><br> 
    и возможно второй такой же блок
*****************************************************************/
function displaySecRef(idx) {

var sN,sR;
var t1="<a href='displayBooks.htm?section=";
var t2="'><img border=0 src='../../Liki_img/bullets_ball63.gif' width=19 height=10>";
var t3="</a>", tbr="<br>";

	sN=refArray[2*idx]; sR=refArray[2*idx+1];
	if (sN!="") document.write(t1+sR+t2+sN+t3);
	
	sN=refArray[2*idx+4]; sR=refArray[2*idx+5];
	if (sN!="") {
		document.write(tbr);
		document.write(t1+sR+t2+sN+t3);
	}

} // displaySecRef

/********************* ShowPageWithBooks() ***********************
	Реакция на кнопку "Показать выборку" в левой колонке
	Переход на страницу "Выбранные книги". Поскольку исходный
	индекс типа был: год(0), автор(1), название(2), а на странице
	изменен порядок на "название(0)-автор(1)-год(2)", то производится
	перекодировка DataIdx
*****************************************************************/
function ShowPageWithBooks(){
	var iS=document.f_extract.s_extract.selectedIndex;
	var sRequest=document.f_extract.i_item.value;
	switch (iS) { 
		case 0: setCookie("DataIdx",2,0); break; // название
		case 1: setCookie("DataIdx",1,0); break; // автор
		case 2: setCookie("DataIdx",0,0); break; // год
	}
	setCookie("SearchStr",sRequest,0);
	setCookie("iPage",1,0);
//	alert(document.cookie);
	location.href="displayBooks.htm";
}//ShowPageWithBooks

/******************* showNewBook(book,idx) **********************
	На страницах "Изданные книги" и "Готовятся к изданию"
	показывает указанную книгу book. idx=0 для Изданных 
	(нулевой уровень вложенности) или idx=1 для Готовящихся
	(первый уровень вложенности) и т.д. Реализован код:
	<a title='Последние новинки' href='../Izdan/izdan_det/MF.htm'
  		onclick='setCookie("prevPage",document.location.href,0);'> 
    <img border=0 width=70 height=93 src='../Izdan/Izdimg/MF70.gif'> 
    </a>
*****************************************************************/
function showNewBook(book, idx) {

var l1="<a title='Последние новинки' href='",
	l2="Izdan/izdan_det/"+book+".htm' ",
    l3="onclick='setCookie(\"prevPage\",document.location.href,0);'",
    l4=">",
    l5="<img border=0 width=70 height=93 src='",
    l6="",
    l7="Izdan/Izdimg/"+book+"70.gif'> ",
    l8="</a>";

	switch (idx) {
	case 1: l6="..\/"; break;
	case 2: l6="..\/..\/"; break;
	}
	document.write(l1+l6+l2+l3+l4+l5+l6+l7+l8);
	
}

