  var m, brz;
/* show\hide element */
function onContext(){
	if (show_hide_elem("context")) {
		document.getElementById("img_context").src = base_url + "/img/sysminus.gif";
	} else {
		document.getElementById("img_context").src = base_url + "/img/sysplus.gif";
	}
}
function onOpisalovo(){
	if (show_hide_elem("opisalovo")) {
		document.getElementById("img_opisalovo").src = base_url + "/img/sysminus.gif";
	} else {
		document.getElementById("img_opisalovo").src = base_url + "/img/sysplus.gif";
	}
}
function show_hide_elem(id) {
    var elem = document.getElementById(id);
    
    if ((elem.style.display != 'block') || (elem.style.display == '')) {
        show_elem(id);
		return true;
    } else {
      	hide_elem(id);
		return false;
    }
}

function show_elem(id) {
   var elem = document.getElementById(id);
        
   if (elem) {
       elem.style.visibility = 'visible';
       elem.style.display = 'block';

	   switch(id) {
			case 'search_ext':
			    document.getElementById('search_arrow').innerHTML = '&laquo;';
			break;
			
			case 'project_list':
			    document.getElementById('project_arrow').className = 'project_arrow_on';
			break;
		}
   }
}

function hide_elem(id) {
    var elem = document.getElementById(id);

    if (elem) {
      	elem.style.visibility = 'hidden';
        elem.style.display = 'none';

	   switch(id) {
			case 'search_ext':
			    document.getElementById('search_arrow').innerHTML = '&raquo;';
			break;
			
			case 'project_list':
			    document.getElementById('project_arrow').className = 'project_arrow';
			break;			
	   }
    }
}
	
//загрузка описания проекта
function loadProjectInfo(id) {
	//загружаем инфу по проекту
	ajax_content(base_url + '/ajax_book_tree.php?action=about_project&project_id='+id);
}
	
//загрузка дерева проекта
function loadProjectTree(id, name) {
	//создаем новое дерево для проекта
	a = new dTree("a");
	a.config.useSelection = true;

	//прячем список проектов
	hide_elem('project_list');
	
	//меняем название выбранного проекта
	document.getElementById("project_sel").value = name;
	document.getElementById("project_id").value = id;
	
	//затемняем область
	my_wait("td_tree_content", true);
	
	//загружаем дерево
    JsHttpRequest.query(
        base_url + '/ajax_book_tree.php?action=tree&project_id='+id, // backend
        '',
        // Function is called when an answer arrives. 
        function(result, errors) {
		    for(var i=0; i < result["count"]; i++) {
				//добавляем пункты в дерево
			    a.add(result["items"][i]['id'], result["items"][i]['pid'], result["items"][i]['isbook'], result["items"][i]['author'], result["items"][i]['name'], result["items"][i]['href']);

		    }

			//выводим дерево
            a.out('td_tree_content');
			//осветляем область
			my_wait("td_tree_content", false);
        },
            
        false  // do not disable caching
    );	


}

//загрузка узлов дерева
function ajax_tree(id, url) {

	//если узел имеет дочерние узлы
	if (a.hasChild(id)) {
		//открываем узел

		a.openToBookId(id);

	return;
}

	//иначе подгружаем дочерние узлы
	//затемняем область
	my_wait("td_tree_content", true);

	//загружаем дерево
    JsHttpRequest.query(
        url, // backend
        '',
        // Function is called when an answer arrives.
        function(result, errors) {
		    for(var i=0; i < result["count"]; i++) {
				//добавляем пункты в дерево
				name = result["items"][i]['name'];
				name = name.replace(/\\"/g, '"');
				name = name.replace(/\\'/g, "'");
			    a.add(result["items"][i]['id'], result["items"][i]['pid'], result["items"][i]['isbook'], result["items"][i]['author'], name, result["items"][i]['href']);
		    }

			//перевыводим дерево
            a.out('td_tree_content');
	        //открыаем узел
           //   alert(id);
			a.openToBookId(id);
          //  a.s(id);

			//осветляем область
			my_wait("td_tree_content", false);

        },
            
        false  // do not disable caching
    );
   $("#bkinf").text(''); // таким образом мы чистим то что осталось внизу после пбп просмотра книги
}

//
function toolOver(id) {
	var elem = document.getElementById(id);
	if (elem) {
		elem.className = 'toolsOn';
		setElementOpacity(id, 0.7);
	}
}

function toolOut(id) {
	var elem = document.getElementById(id);
	if (elem) {
		elem.className = 'tools';
		setElementOpacity(id, 1);
	}
}

/*********************************************************************
* 			Функции работы со страницами                                                  *
**********************************************************************/

/*
*	Класс "Страница"
*/
function Page(book_id, n) {
	var width = 595;		//ширина по умолчанию (текущая)
	var height = 842;		//высота по умолчанию (текущая)

	//оригинальные размеры (для масшатбирования)
	var original_width = 595;
	var original_height = 842;
	var url = "";			//ссылка на картинку
	var page_no = n;		//номер страницы
	var book_id = book_id;	//id-книги
	var img = new Image();	//объект "изображение", необходим для загрузки картинки
	var loaded = false;		//признак загруженности изображения


	display();
	setSize();
	
	
	/*
	* Закрытые методы класса
	*/
	
	//выравнивание по центру страницы
	function moveCenter() {
		if (!isIE) {
			//$("#itempage" + page_no).animate({left: left}, 500,'', function() {alert($("#itempage" + page_no)[0].style.left);});	
			$("#itempage" + page_no).css("left", (parseInt($("#page_content")[0].style.width) / 2) - (width / 2));
		}
	}
	
	//выравнивание по левому краю страницы
	function moveLeft() {
		$("#itempage" + page_no).css("left", 0);	
	}	
	
	//вывод страницы
	function display() {
		//добавляем страницу
		$("div.page_content").append('<div class="itempage" id="itempage' + page_no + '"></div><br/>');


		$("#itempage" + page_no).append('<div class="page" id="page' + page_no + '"></div>');
    	$("#itempage" + page_no).append('<div class="subpage" id="subpage' + page_no + '"></div>');

		//устанавливаем размеры страницы
		setSize();


		//если картинка уже загружена
		if (loaded) {

			//выводим картинку
			document.getElementById("page" + page_no).appendChild(img);

		} else {
			//показываем статус загрузки
			showLoading();
		}


	}

	//устанавливаем размеры листа
	function setSize() {
		//устанавливаем размеры подложки
		$("#page" + page_no).css("width", width);
		$("#page" + page_no).css("height", height);

		$("#subpage" + page_no).css("width", width);
		$("#subpage" + page_no).css("height", height);

		$("#itempage" + page_no).css("width", '*');
		$("#itempage" + page_no).css("height", height);



		$("#img" + page_no).css("width", width - 2);
		$("#img" + page_no).css("height", height - 2);

		
		if (page_allclient) {
			moveCenter();
		} else {
			moveLeft();
		}
	}
	
	function scale_self(scale) {
		width = original_width * scale;
		height = original_height * scale;
		
		//alert(scale + ";" + width + ";" + height);
		setSize();
	}
	
	//вывод статуса загрузки
	function showLoading() {
		$("#page" + page_no).append('<div class="prepage_up">Загрузка страницы ' + page_no + '</div>');
		$("#page" + page_no).append('<div class="prepage_down">Загрузка страницы' + page_no + '</div>');
	}


	
	/*
	*	Открытые методы класса
	*/	
	
	//загрузка страницы
	this.load = function() {
		//показываем статус загрузки
		showLoading();
		
		//урл загрузки
		url = base_url + '/ajax_book_tree.php?action=page_by_page&book_id=' + book_id + '&page=' + page_no + '&lib=' + lib;
        // alert(url);

		//по окончании загрузки
		img.onload = function() {
			img.setAttribute("id", "img" + page_no);

			//признак, что картинка загружена
			loaded = true;
			//убираем блок "Загрузка..."
			$("#page" + page_no).empty();

			//если размер картинки не менее размеров по умолчанию
			if (img.width > 500) {
				//сохраняем размеры страницы
				width = img.width;
				height = img.height;
			}
			
			//сохраняем оригинальные размеры
			original_width = img.width;
			original_height = img.height;
			
			//выводим картинку
			document.getElementById("page" + page_no).appendChild(img);
			
			//изменяем размер картинки			
			scale_self(scale);
		}
		img.src = url;
	}

	//отображение страницы
	this.display = function() {
		display();

//        if (width != 54.80000000000001){
            // попробуем нафигачить немного аякса
          if ($("#ctrlex" + page_no).text() == ''){

          $("#ctrlex" + page_no).text('');
               JsHttpRequest.query(
       base_url + '/ajax_book_tree.php?action=get_pdf_page_txt_cnt&book_id=' + book_id + '&page=' + page_no,
        '',
        // Function is called when an answer arrives.
        function(result, errors) {

                if (result['content'] == 'true'){


                 $("#itempage"+ page_no).append('<div class="ctrlex" id="ctrlex' + page_no + '" align="left"></div><br/>');
                   //	$("#ctrlex" + page_no).css("width", width);
            		$("#ctrlex" + page_no).css("height", "20px");
                 	$("#ctrlex" + page_no).append('<span align="left" id="pex'+page_no+'" style="cursor:hand; color:#FFFFFF; font-weight: bold; padding:0px;" onClick="showTXT('+page_no+','+book_id+');">Текст страницы</span>');
                	$("#ctrlex" + page_no).css("display", "block");
                    // после того как добавили, также проверяем ...
          //запрос на "можем ли мы распечатать страницу?"
         //$("#ctrlex" + page_no).append('<span align="left" id="prnt'+page_no+'" style="cursor:hand; color:#FFFFFF; font-weight: bold; padding:0px;" onClick="showTXT('+page_no+','+book_id+');">Печать страницы</span>');
                           $.ajax({
            async: false,
            url: base_url + '/ajax_book_tree.php?action=get_is_page_printable',     // указываем URL и
            type: 'GET',
            data : 'book_id='+book_id,
            success: function (res) { // вешаем свой обработчик на функцию success
                if (res){
          //  alert('Result: '+ $("#ctrlex" + page_no).html());
            $("#ctrlex" + page_no).append(' <span align="left" id="prnt'+page_no+'" style="cursor:hand; color:#FFFFFF; font-weight: bold; padding:0px;" onClick="printPage('+page_no+','+book_id+');">Печать страницы</span>');
            }
                            }
        });
                }
           },

               true  // do not disable caching
         );


        }


    }
	//выравнивание по центру страницы
	this.moveCenter = function() {
		moveCenter();
	}
	
	//выравнивание по левому краю страницы
	this.moveLeft = function() {
		 moveLeft();
	}
	
	this.getH = function() {
		return height;
	}
	
	this.getPageNo = function() {
		return parseInt(page_no);
	}

	this.scale = function(scale) {
		scale_self(scale);
	}
}

var init_viewer = false;	//признак инициализации просмотрщика
var page_allclient = false;	//признак раcкрытия на весь экран
var pages = new Array();	//массив страниц
var current_page = 1;		//текущая страница
var scale = 1;				//текущий масштаб [0..2]

//развертывание на весь экран области просмотра
function pageAllClient() {
	//при нажатии кнопки 'На весь экран'
	if (!page_allclient) {
		page_allclient = true;
		
		//скрываем дерево проекта
		document.getElementById("tree_content").style.display = "none";
		
		//позиционируем область контента влево, вверх
		$("#content").css("position", "absolute");
		$("#content").css("top", 0);
		$("#content").css("left", 0);
		$("#content").css("width", 400);
		$("#content").css("height", 300);
		$("#page_content").css("height", 300);

		//размеры окна
		height_new = getClientHeight();
		width_new = getClientWidth();
		
		//какие-то отступы (для каждого браузера разные)
		var delta = 0;
		if (isIE) delta = 1;
		if (isGecko) delta = 3;
		if (isOpera) delta = 2;		
		
		//..и по вертикали
		$("#content").css("height", height_new);
		$("#content").css("width", width_new);	
		$("#page_content").css("height", height_new - 25 - 20 - delta);
		$("#page_content").css("width", width_new - delta);
		
		//перемещаем страницы в центр
		for (key in pages) {
			pages[key].moveCenter();
		}
					
		//растягиваем область управления
		$("#page_cntl").css("width", width_new);
		//показываем нижнюю панель
		document.getElementById("page_cntl2").style.display = "block";
		$("#page_cntl2").css("width", width_new);	
		$("#page_cntl2td1").css("width", width_new / 2);	
		$("#page_cntl2td2").css("width", width_new / 2);			

		//меняем картинку на кнопке
		$("#allClient").attr("class", "btnAllNone");
	} else {
		page_allclient = false;

		//показываем дерево проекта
		document.getElementById("tree_content").style.display = "block";
		//скрываем нижнюю панель
		document.getElementById("page_cntl2").style.display = "none";
		
		$("#content").css("position", "relative");
		$("#content").css("top", 0);
		$("#content").css("left", 0);
		$("#content").css("width", 615);
		//$("#content").css("height", $("#content")[0].parentNode.offsetHeight);
		
		//сужаем область просмотра
		$("#page_content").animate({width: 615}, 10, '', 
			//перемещаем страницы влево	
			function() {
				for (key in pages) {
					pages[key].moveLeft();
				}		
			}
		);

		$("#page_cntl").css("left", 0);
		$("#page_cntl").css("width", 615);	
		
		//меняем картинку на кнопке
		$("#allClient").attr("class", "btnAllClient");
	}
}

//развертывание на весь экран области просмотра
function pageAllClientDJVU() {
	//при нажатии кнопки 'На весь экран'
	if (!page_allclient) {
		page_allclient = true;
		
		//скрываем дерево проекта
		document.getElementById("tree_content").style.display = "none";
		
		//позиционируем область контента влево, вверх
		$("#content").css("position", "absolute");
		$("#content").css("top", 0);
		$("#content").css("left", 0);
		$("#content").css("width", 400);
		$("#content").css("height", 300);

		//размеры окна
		height_new = getClientHeight();
		width_new = getClientWidth();
		
		//какие-то отступы (для каждого браузера разные)
		var delta = 0;
		if (isIE) delta = 1;
		if (isGecko) delta = 3;
		if (isOpera) delta = 2;		

		//..и по вертикали
		$("#content").css("height", height_new);
		$("#content").css("width", width_new);			
		
		//меняем картинку на кнопке
		$("#allClient").attr("class", "btnAllNone");
	} else {
		page_allclient = false;

		//показываем дерево проекта
		document.getElementById("tree_content").style.display = "block";
		
		$("#content").css("position", "relative");
		$("#content").css("top", 0);
		$("#content").css("left", 0);
		$("#content").css("width", 615);
		
		//меняем картинку на кнопке
		$("#allClient").attr("class", "btnAllClient");
	}
}

//при изменении размеров окна изменяем и область просмотрщика
window.onresize = function() {
	if (init_viewer && page_allclient) {
		page_allclient = false;
		pageAllClient();	
	}
}

//масштабирование
function Scale(value) {
	if (value == 1) {
		scale += (scale < 2) ? 0.2 : 0;		
	} else {
		scale -= (scale > 0) ? 0.2 : 0;
	}

	for (key in pages) {
		pages[key].scale(scale);
	}
}

//По ширине, в окне
function toSize(value) {
	if (value == 1) {
		scale = ($("#page_content").height()-10)/842;	
	} else {
		scale = ($("#page_content").width()-10)/595;		
	}

	for (key in pages) {
		pages[key].scale(scale);
	}
}

//установка номера страницы в selecte'e
function setPageNo(id) {
	var page_no = document.getElementById(id);
	if (page_no && (page_no.options.length > (current_page - 1))) {
		page_no.selectedIndex = current_page - 1;
	}
}

//переход ко странице
function goto_page(page) {
	var summ_scroll = 0;
	
	for (key in pages) {
		if (pages[key].getPageNo() == page) break;
		summ_scroll += pages[key].getH();
	}
	
	$("#page_content")[0].scrollTop = summ_scroll;
}


function sortPages(a, b) {
	return a.getPageNo() - b.getPageNo();
}

//загрузка страницы
function loadPage(book_id, page) {
	if (page <= 0) page = 1;
	var page_exists = false;
	
	//проверка существования страницы
	for (key in pages) {
		if (pages[key].getPageNo() == page) {
			page_exists = true;
			break;
		}
	}
	
	//если страницы не было - создаем ее
	if (!page_exists) {
		var cnt = pages.length;
		//создаем новую страницу
		pages[cnt] = new Page(book_id, page);
		//загружаем страницу
		pages[cnt].load();
		//удаляем все страницы
		$("#page_content").empty();
		//сортируем страницы

		pages.sort(sortPages);

		//выводим страницы
		for (key in pages) {
			pages[key].display();
		}
	}

	//переходим к требуемой с задержкой
	setTimeout("goto_page("+page+")", 100);

	//устанавливаем текущую страницу
	current_page = page;

	//устанавливаем номер в селекте
	setPageNo("page_no_up");
//     alert(base_url);



    //

}

//загрузка страницы
function loadPageEx(book_id, page) {
	if (page == '-1') {
		loadPage(book_id, parseInt(current_page) - 1);
	} else if (page == '+1') {
		loadPage(book_id, parseInt(current_page) + 1);
	} else {
		loadPage(book_id, parseInt(page));
	}

}
// загрузка просмотрщика из внешнего ресурса

function loadViewer_external(book_id, page_no) {
	//устанавливаем параметры по умолчанию, для каждой загрузки просмотрщика

	//затемняем область
	my_wait("content", true);
   //   loadViewer(135,1);
	//загружаем просмотрщик
    JsHttpRequest.query(
        base_url + '/ajax_book_tree.php?action=load_external&book_id=' + book_id, // backend
        '',
        // Function is called when an answer arrives.
        function(result, errors) {
			if (document.getElementById('content')) {
             //         alert(result.content);
			 	document.getElementById('content').innerHTML ='<iframe frameborder=0 width="100%" height="100%" src="'+result.content+'"></iframe>';
            	init_viewer = true;

			}

			//осветляем область
			my_wait("content", false);
 },

       false  // do not disable caching
    );

        // грузим в правый див инфу о книге, в конце чтоб типа красиво было
     /*********************************************************************/
  $("#bkinf").text("Загрузка книги...");
    JsHttpRequest.query(
        base_url + '/book_info_left.php?bk_id=' + book_id, // backend
        '',
        // Function is called when an answer arrives.
        function(result, errors) {

			if (document.getElementById('bkinf')) {
				document.getElementById('bkinf').innerHTML = result['rez'] +  errors;
			 

			}

        },

        false  // do not disable caching
    );

 $(window).keydown(function(event){

         if (event.keyCode == 34) {
            loadPageEx(book_id,  '+1' );


    }
       if ((event.keyCode == 33) ) {
            loadPageEx(book_id,  '-1' );

    }

});
}






//загрузка просмотрщика страниц
function loadViewer(book_id, page_no, auth, referat) {
 //устанавливаем параметры по умолчанию, для каждой загрузки просмотрщика
	init_viewer = false;
	page_allclient = false;
	pages = new Array();
	current_page = 1;
	scale = 1;

	//затемняем область
my_wait("content", true);
  // alert(book_id);	  	   //	  ;
	//загружаем просмотрщик
    JsHttpRequest.query(
        base_url + '/ajax_book_tree.php?action=load_viewer&book_id=' + book_id, // backend
        '',
        // Function is called when an answer arrives.
        function(result, errors) {
      //   alert(result["type"]);
			if (document.getElementById('content')) {

				document.getElementById('content').innerHTML = result["content"];
				init_viewer = true;

				if (result["type"] == "pdf") {
					//загрузка первой страницы

				  	loadPage(book_id, (typeof page_no !== 'undefined') ? page_no : 1);
				}
			}
			//осветляем область
			my_wait("content", false);
        },

        false  // do not disable caching
    );
     // грузим в правый див инфу о книге, в конце чтоб типа красиво было
     /*********************************************************************/
  $("#bkinf").text("Загрузка книги...");
    JsHttpRequest.query(
        base_url + '/book_info_left.php?bk_id=' + book_id, // backend
        '',
        // Function is called when an answer arrives.
        function(result, errors) {

			if (document.getElementById('bkinf')) {
				document.getElementById('bkinf').innerHTML = result['rez'] +  errors;
			    //Грузим блок с рефератами
			    if (auth==1) {
				    $('.arrow_off').show();
				    $('.referat').show();
				    $('#button_ref').show();
				    $('#left_pane').width('415px');
				    if (referat>0) {
				    	view_referat(referat);
				    	arr_show();
				    }
				}
			}

        },

        false  // do not disable caching
    );

 $(window).keydown(function(event){

         if (event.keyCode == 34) {
            loadPageEx(book_id,  '+1' );


    }
       if ((event.keyCode == 33) ) {
            loadPageEx(book_id,  '-1' );

    }

});

}
function showTXT(page_no,book_id) {
   $("#pex" + page_no).text("Текст страницы");
 var txt = $("#txt" + page_no).text();

  if (txt == ''){
  $("#pex" + page_no).text("Загрузка...");
 // alert(navigator.userAgent);
  JsHttpRequest.query(
       base_url + '/ajax_book_tree.php?action=get_pdf_page_txt&book_id=' + book_id + '&page=' + page_no,
        '',
        // Function is called when an answer arrives.


        function(result, errors) {
            	$("#pex" + page_no).text("Скрыть текст");
                $("#pex" + page_no).unbind("click").click(function(){hideTXT(page_no,book_id)});
                //$("#pex" + page_no).bind("click",);
                if (result['content'] != ''){
             	$("#ctrlex" + page_no).append('<div class="txt" id="txt'+page_no+'" align="left"><textarea readonly cols="95" rows="30" class="txtarea" id="txtarea'+page_no+'">'+result['content']+'</textarea></div>');


                }
           },

               false  // do not disable caching
         );

        }else{
            $("#pex" + page_no).unbind("click").click(function(){hideTXT(page_no,book_id)});
      //$("#txt" + page_no).slideToggle("slow");
         $("#pex" + page_no).text("Скрыть текст");

        }
         $("#pex" + page_no).attr("onClick","");
        $("#pex" + page_no).unbind("click").click(function(){hideTXT(page_no,book_id)});



      	$("#txt" + page_no).slideToggle("slow");



}
function hideTXT(page_no, book_id) {

  	$("#txt" + page_no).slideUp("slow");
    $("#pex" + page_no).text("Текст страницы");
    $("#pex" + page_no).unbind("click").click(function(){showTXT(page_no,book_id)});


}
function crError  (book_id) {
$("#errsend").slideToggle("normal");
  document.getElementById('mess_txt').value = '';
$("#myerror").click(function (){
var mess_ = document.getElementById('mess_txt').value;
  document.getElementById('mess_txt').value = 'Отправка сообщения..';
    var req = new JsHttpRequest();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            // Write result to page element (_RESULT becomes responseJS).
                // здесь код возврата
             document.getElementById('mess_txt').value = req.responseJS.q;

        }
    }
    // Prepare request object (automatically choose GET or POST).
    req.open('POST', '/find_err_back.php', true);
    // Send data to backend.
    req.send( { q: mess_, bk: book_id } );

//end ajax
});
$("#myclose").click(function (){
 $("#errsend").fadeOut("slow");
   document.getElementById('mess_txt').value = '';
});

}
 // для лит рес

function loadViewer_ext(book_id, page_no) {
	//устанавливаем параметры по умолчанию, для каждой загрузки просмотрщика

	//затемняем область
	my_wait("content", true);
   //   loadViewer(135,1);
	//загружаем просмотрщик
    JsHttpRequest.query(
        base_url + '/ajax_book_tree.php?action=load_litres&book_id=' + book_id, // backend
        '',
        // Function is called when an answer arrives.
        function(result, errors) {
			if (document.getElementById('content')) {

				document.getElementById('content').innerHTML ='<iframe frameborder=0 width="100%" height="100%" src="http://dmedia.litres.ru/pages/read_book_online/?art='+book_id+'&page=1"></iframe>';
            	init_viewer = true;

			}

			//осветляем область
			my_wait("content", false);
 },

       false  // do not disable caching
    );
}
function crBookmark  (b, p) {
  var old = $("#bookn").text();
  //   alert(b);

        if (old.indexOf('Мои закладки')+1){
    $("#bookm").slideToggle("normal");
    }
    $("#bookn").text("Мои закладки - загрузка...");
    $("#marklist").html("<img src='/img/preloader.gif'>");
    $("#marklist").attr("align","center");
    // загружаем список закладок
      var req = new JsHttpRequest();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
              $("#bookn").text("Мои закладки - '" + req.responseJS.bookn+"'");
              $("#marklist").attr("align","left");
              $("#marklist").html(''+req.responseJS.list+'');
        }
    }
    // Prepare request object (automatically choose GET or POST).
    req.open('GET', '/ajax_book_tree.php?action=bookmark_list', true);

    req.send( { book_id: b, page_id: p } );
$("#mycloseb").click(function (){
 $("#bookm").fadeOut("slow");

});
}
function addBookmark  (b, p) {



 var old =  $("#bookn").text();
 if (old.indexOf('Создание')+1){
   // инсертим закладко
  var nam = $('#mark_name').val();
  var txt = $('#mark_txt').val();
  if (nam != ''){

 $("#marklist").html("<center><img src='/img/preloader.gif'></center>");

   var req = new JsHttpRequest();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
                   if (req.responseJS.err !== ''){
                      $("#marklist").html(""+req.responseJS.err+"");
                    }else{

                             crBookmark  (b, p);
                    }

        }
    }
    // Prepare request object (automatically choose GET or POST).
    req.open('GET', '/ajax_book_tree.php?action=add_bookmark', true);
 //   alert(nam);
        req.send( { book_id: b, page_id: p, name:nam, text:txt } );
      }else{
      crBookmark  (b, p);
      }
 }else{
   //показываем юзеру загрузку типа
       $("#marklist").html("<img src='/img/preloader.gif'>");
  var ar = old.split(' - ');
$("#bookn").text('Создание закладки - '+ar[1]);
 // забиваем код формы для добавления закладки
 var formadd = '<table align="left" width="100%" height="100%" cellpadding="0" cellspacing="0" bgcolor="#92C0F2"><tr class="body" valign="top"><td><b>Название:&nbsp;&nbsp;</b></td><td><input id="mark_name" name="mark_name" size="60" /></td></tr><tr class="body" valign="top"><td><b>Описание:&nbsp;&nbsp;</b></td><td><textarea id="mark_txt" rows="7" cols="60" name="message"></textarea></td></tr><tr class="body"><td colspan="2" align="center" valign="top"><b>Закладка будет установлена для страницы книги №:&nbsp;&nbsp;'+p+'</b></td></tr></table>';
 $("#marklist").html(formadd);
 }
}
function delBookmark(id, bid, pid){
//  alert(bid +' - - '+ pid);
   $("#bookn").text("Удаление закладки...");
 $("#marklist").html("<center><img src='/img/preloader.gif'></center>");

       var req = new JsHttpRequest();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
   //       alert(req.responseJS.err);
                if (req.responseJS.err != ''){
                  $("#marklist").html(''+req.responseJS.err+'');
                }else{
                    crBookmark  (bid, pid);
                }




        }
    }

        req.open('GET', '/ajax_book_tree.php?action=del_bookmark', true);

        req.send( { ids: id} );

}
 
function makeSearch(book_id){
 $("#srch").slideToggle("normal");
 $("#srchlist").text('Идет поиск...');
 var txt = $("#srch_txt").val();
 //alert('Искомый текст: '+txt);
 if (txt!=''){
//   alert('Поиск: '+'http://www.biblioclub.ru/search_in_book.php?book_id='+book_id+'&query='+txt);
 $.ajax({
    async: false, // тебе наверное надо тру
    url: '/search_in_book.php?book_id=' + book_id,     // указываем URL и параметры толко гет!!
    type: 'GET',
    data:  'query=' + txt,
    success: function (res) { // вешаем свой обработчик на функцию success
        //alert(res);
        var pgs = res.split("|");
        var t='';
        for (i=0; i<pgs.length; i++){
          t=t+'<a href="javascript:loadPage('+book_id+','+pgs[i]+');">'+pgs[i]+'</a> ';
            }
        if (t==''){t='Ничего не найдено.';}
        $("#srchlist").html(t);
        }
    });
    }
}

function closeSearch(){
    $("#srch").slideUp("slow");
}

function printPage(page_no,book_id){
  var url = base_url + '/ajax_book_tree.php?action=page_by_page_print&book_id=' + book_id + '&page=' + page_no;
  window.open(url,'Версия для печати','Toolbar=0,Location=0,Directories=0,Status=0,Menubar=0,Scrollbars=0,Resizable=0');
}

function get_keyword_from_index(bid){
    //alert("Получение ключевых слов для книги "+bid);
    $("#bkinf").text("Загрузка книги (анализ текста и добавление ключевых слов)...");
    $.ajax({
    async: false, // тебе наверное надо тру
    url: '/book_info_left_add.php?bk_id=' + bid,     // указываем URL и параметры толко гет!!
    type: 'GET',
    data:  '',
    success: function (res) { // вешаем свой обработчик на функцию success
        $("#bkinf").html(res);
        }
    });
}

function rusmarc (id) {
	var $dialogRusmarc = $('<div></div>')
  .html('<p>Производится загрузка данных, пожалуйста, подождите...</p>')
  .dialog({ width: '700px',
			autoOpen: false,
			title: 'Описание в RusMarc',
            draggable: false,
            modal: true,
           resizable: false
		});
		
		$dialogRusmarc.dialog('open');
		$.ajax({
			async: false,
			url: '/get_book_rusmark/' + id + '/',
			type: 'GET',
			data: '',
			success: function (res) { 
				$dialogRusmarc.html('<p>' + res + '</p>');
				$dialogRusmarc.dialog('option','position','center');
			}
		});
		return false;
};

// для форума
function  forumRedirekt(id){

  var book =  id;//$('#bookid_hidden').text();
  brz = book;
  var $dialog = $('<div></div>')
  .html('<p>Происходит переадресация на форум, пожалуйста подождите...</p><p>Если переадресации не произошло, перейдите по этой ссылке: <a href="/forum.php" target="_self">forum.php</a></p>')
  .dialog({ width: '500px',
			autoOpen: false,
			title: 'Переадресация',
            draggable: false,
            modal: true,
           resizable: false


		});

                   $dialog.dialog('open');
            $.ajax({
    async: false,
    url: '/forum.php',
    type: 'GET',
    data: 'book=' +  book + '&s=newbie',
    success: function (res) {
            switch(res){
                case '3':
                                  $dialog.html('<p>Необходимо войти на сайт, переадресация...</p>');
                  location.href = '/register/login.php?returnUrl=forum.php';

                break;
                case '15':
    // * Зачем то это мне нужно было, но я не особо уже помню *

                //LOGIN
                          $.ajax({
    async: false,
    url: '/forum/index.php',
    type: 'GET',
    success: function (dat) {
           result = dat.match(/onsubmit="hashLoginPassword\(this, '+[A-Za-z0-9]{32}'\);/g);
                   // hash_sess_id
               $.ajax({
    async: false,
    url: '/forum.php?book=' +  book + '&s=pa',
    type: 'POST',
    data: 'res=' + result,
    success: function (put) {
      // если прошли проверку на хеш
           if (put != '333'){
             // создаем скрытй и фрейм и грузим в него логин форм
                $dialog.html('<p>Ожидайте, проверка имени пользователя и пароля...<br/><img src="/images/ajax-loader.gif" border="0"></p><iframe src="/forum/login.php" id="ifr" width="1" frameborder="0" height="1" align="left">Ошибка! Ваш браузер не поддреживает фреймы. Скачайте нормальный браузер.</iframe>');
            // устанавливаем результаты
          dat = String(put).split('$--$');
          m = dat;
            setTimeout('postform()', 3000 );

            // перенаправление к топику

          }else{
             setTimeout('gototopic()', 2000 );
            // значит формы там нету просто к топику

          }
    } });




    }

  });



                    // запрос топика

                break;
                default:
                break;

            }


            }
        });



}



        // первый запрос


 function doautologin(name) {
var pass = $('#passwd').val();
$.ajax({
    async: false,
    url: '/forum/index.php?action=login2',
    type: 'POST',
    data: 'user=' + name + '&passwrd=&cookielength=-1&hash_passwrd=0'  ,
//    user=sshaitan&passwrd=&cookielength=-1&hash_passwrd=2868fd02ce0d445996b6fb75d425714769ed2f0c
    success: function (put) {
       alert(put);
      }
      });
 }
 function postform(){

 $("#ifr").contents().find("#user").val(m[0]);
 $("#ifr").contents().find("#passwrd").val(m[1]);
 $("#ifr").contents().find("#guest_form").submit();
   setTimeout('gototopic()', 3000 ); // ждем пока залогинется
 }
 function gototopic(){
  var book = brz;
    $.ajax({
    async: false,
     url: '/forum.php',
    type: 'GET',
    data: 'book=' +  book + '&s=logged',
    success: function (res) {
     // alert(res);
        if (res != ''){
        link = String(res).split('topic')  ;
         location.href = '/index.php?topic='+link[1];
        }else{
          $dialog.html('<p>Ошибка! Попробуйте зайти на форум вручную, используя свои логин и пароль от сайта www.biblioclub.ru</p>');
        }
    }

     });
 }
 
function subscribe(projectId) {		
	$.ajax({
		async: false,
		url: '/room/update_subscribe.php?action=subscribe&project_id=' + projectId ,
		type: 'GET',
		data: '',
		success: function (res) { 
			alert(res);
			document.getElementById("subscribe").style.display="none";
		}
	});
}
 
function getAnalogs(book_id){
  var bk_id = $('#bookid_hidden').text();
  $.ajax({
    async: false,
    url: '/book.php?book_id='+book_id+'&get_analogs=1',
    type: 'GET',
    data:  '',
    success: function (res) {
        $("#analogs").html(res);
        }
    });
}

function toCourse (id, page) {
	$('#courseBook').text(id);
	$('#coursePage').text(page);
	$("#res").html('<div style="text-align: center;"><img src="/img/book/loading_page.gif"></div>');
	$("#courseTree").hide();
	$("#edt_form").hide();
	$("#res").show();
	$("#edt-dialog").dialog({ 
		width: '700px',
		autoOpen: false,
		title: 'Добавление к учебному курсу',
	    draggable: false,
	    modal: true,
		resizable: false
	});
		
	$("#edt-dialog").dialog('open');
	JsHttpRequest.query(
		'/room/courses.php?action=list', // backend
		'',
		function(result, errors) {
			if (result['content']=='ok') {
				$("#treeCourse").html(result['text']);
				$("#edt_form").show();
				$("#res").hide();
			} else {
				$("#res").html(result['text']);
			}
		},
		false
	);
	return false;
};

function toFav (id) {
	JsHttpRequest.query(
		'/room/my_favorites.php?action=add&id='+id, // backend
		'',
		function(result, errors) {
			alert(result['text']);
		},
		false
	);
	return false;
};

function treeCourseV(id) {
	$("#courseTree").show();
	$("#treeContent").show();
	$("#treeContent").html('<div style="text-align: center;"><img src="/img/book/loading_page.gif"></div>');
	JsHttpRequest.query(
		'/room/courses.php?action=tree&id='+id, // backend
		'',
		function(result, errors) {
			$('#treeContent').html(result['text']);
		},
		false
	);
};

function addToCourse(id, ex) {	
	$("#res").html('<div style="text-align: center;"><img src="/img/book/loading_page.gif"></div>');
	$("#courseTree").hide();
	$("#edt_form").hide();
	$("#res").show();
	if (ex==1) {
		add_link="add_link_ex";
	} else {
		add_link="add_link";
	}
	JsHttpRequest.query(
		'/room/courses.php?action='+add_link+'&type='+$('#typeBook').val()+'&id='+id+'&book='+$('#courseBook').text()+'&page='+$('#coursePage').text(), // backend
		{'title':$('h4.auth > a:first').text()+' '+$('h3.name').text()},
		function(result, errors) {
			if (result['content']=='ok') {
				$('#res').html('<div style="text-align: center;">Книга успешно добавлена к курсу.</div>');		
			} else {
				$('#res').html(result['text']);
			}
		},
		false
	);
	return false;
}

function arr_show() {
	if ($('#left_pane').scrollLeft()==0) {
		$('#left_pane').scrollTo($('.referat'),1000,{onAfter: function(){
			$('#arrow').html('&#9654;');
			$('#quote_button').show();
		}});
		update_list();
		
	} else {
		$('#left_pane').scrollTo(0,1000,{onAfter: function(){
			$('#arrow').html('&#9664;');
			$('#quote_button').hide();
		}});
	}
}

function quote(book_id) {
   var	id=$('#referat_id').text();
	JsHttpRequest.query(
		'/ajax_book_tree.php?action=get_pdf_page_txt&book_id=' + book_id + '&page=' + current_page,
		'',
		function(result, errors) {
			$('#citation').val($('#citation').val()+'&laquo;'+result['content']+'&raquo; - '+$('h4.auth > a').text()+', '+$('h3.name > a').text()+', стр.'+current_page);
			/*JsHttpRequest.query(
				base_url + '/room/referats.php?action=add_book&book_id=' + book_id + '&id=' + id,
				'',
				function(result, errors) {
				},
				false
			);*/
			JsHttpRequest.query(
				base_url + '/room/referats.php?action=add_book&book_id=' + book_id + '&id=' + id + '&page=' +current_page,
				'',
				function(result, errors) {
				},
				false
			);
		},
		false
	);
}

function view_referat(id) {
  var	book_id=$('#book_id').text();
	$('.referat_block').hide('slow');
	$('#referat_'+id).show('slow');
	JsHttpRequest.query(
		'/room/referats.php?action=view_referat&book_id=' + book_id + '&id=' + id + '&page_id=' + current_page,
		'',
		function(result, errors) {
			if (result['content']=='ok') {
				if (result['text']!=0) {
					view_block(result['text']);
				}
			} else {
				alert(result['text']);
			}
		},
		true
	);
	return false;
}

function view_block(id) {
var	book_id=$('#book_id').text();
	JsHttpRequest.query(
		'/room/referats.php?action=view_block&book_id=' + book_id + '&id=' + id + '&ref_id=' + $('#ref_id2').text(),
		'',
		function(result, errors) {
			if (result['content']=='ok') {
				$('#referat_block').show();
				$('#citation').text(result['cit']);
				$('#comment').text(result['com']);
				$('#referat_id').text(result['id'])
				$('#ref_id2').text(result['ref_id'])
				$('#referat_name').text(result['text']);;
				$('#referat_dialog').dialog('close');
			} else {
				alert(result['text']);
			}
		},
		true
	);
	return false;
}

function saveReferat() {
var	id=$('#referat_id').text();
var	cit=$('#citation').html();
var	com=$('#comment').html();
	if (cit!='') {
		JsHttpRequest.query(
			'/room/referats.php?action=save_referat&id=' + id,
			{'cit':cit,
			'com': com},
			function(result, errors) {
				if (result['content']=='ok') {
					update_list();
					view_block(0);
					$('#referat_notify').html('Реферат сохранен');
					$('#referat_notify').show();
					setTimeout("hide_notify()", 2000);
				} else {
					alert(result['text']);
				}
			},
			true
		);
	} else {
		alert('Цитата должна быть заполнена');
	}
	return false;
}

function hide_notify() {
	$('#referat_notify').hide('slow');
}

function all_referats() {
	JsHttpRequest.query(
		'/room/referats.php?action=list_referat&book_id=0',
		'',
		function(result, errors) {
			if (result['content']=='ok') {
				$('#referat_list_all').html(result['text']);
				$('#referat_dialog').dialog({ width: '510px',
					autoOpen: false,
					draggable: false,
					modal: false,
					resizable: false
				})
				$('#referat_dialog').dialog('open');
			} else {
				alert(result['text']);
			}
		},
		true
	);
	return false;
}

function del_referat(id) {
	if (window.confirm('Вы действительно хотите удалить реферат?')) {
		JsHttpRequest.query(
			'/room/referats.php?action=del&id='+id,
			'',
			function(result, errors) {
				if (result['content']=='ok') {
					update_list();
				} else {
					alert(result['text']);
				}
			},
			true
		);
	}
	return false;

}

function update_list() {
var book_id=$('#book_id').text();
	JsHttpRequest.query(
		'/room/referats.php?action=list_referat&book_id=' + book_id,
		'',
		function(result, errors) {
			if (result['content']=='ok') {
				$('#referat_list').html(result['text']);
			} 
		},
		true
	);
}

$(function() {
	$('textarea.tinymce').tinymce({
		// Location of TinyMCE script
		script_url : '/img/tinymce/tiny_mce.js',

		// General options
		theme : "advanced",

		// Example content CSS (should be your site CSS)
        content_css : "/img/tinymce/content.css",

		// Theme options
		theme_advanced_buttons1 : "bold,italic,underline,separator,strikethrough,justifyleft,justifycenter,justifyright,justifyfull,bullist,numlist,undo,redo,copy,paste",
		theme_advanced_buttons2 : "",
		theme_advanced_buttons3 : "",
		theme_advanced_toolbar_location : "top",
		theme_advanced_toolbar_align : "left",
		theme_advanced_statusbar_location : "bottom",
        theme_advanced_resizing : true,
        theme_advanced_resize_horizontal : false
	});

});
function kwhelpDialog(){
    //      alert('ok');
    // keywords add by users
    $("#keywordshelper").css('cursor', 'hand');
//    $("#keywordshelper").click(function(){

         var $kwHelperDialog = $('<div></div>')
             .html('<p>Вы можете добавить к книге ключевые слова,\
              которые Вы считаете необходимыми. Тем самым Вы\
               поможете другим пользователям быстрее найти книгу или \
               обратить на нее внимание. Для добавления нажмите кнопку \
               "Добавить ключевые слова". В появившемся диалоге введите ряд ключевых слов или словосочетаний и нажмите добавить.\
               После проверки администратором ключевые слова будут добавлены к книге и пользователи смогут более быстронаходить ее. </p>')
         .dialog({
			autoOpen: false,
            width: 500,
            height: 300,
            modal: false,
            show: 'slide',
            resizable: false,
			title: 'Помощник ключевых слов',
            buttons: {
             "Закрыть": function() {
           $kwHelperDialog.dialog('close');
             }
             }


		});

           $kwHelperDialog.dialog('open');
  //  })
    }
function addForm(id){




        var $kwForm = $('<div></div>')
         .html('<p>Пожалуйста добавьте ключевые слова в поле ниже.<br/> Введите слово или словосочетание и нажмите добавить.<br/> Для подтверждения нажмите "Сохранить"</p>\
         <div id="allready"></div>\
         <textarea id="kwdata" style="font-size: 11px; color: #000066; display: inline; float left;" rows="10" cols="90" readonly="readonly"></textarea><div id="cnt"></div>\
        <hr/>\
        <p><b>Ключевое слово</b>: <input id="onceword" size="50" maxlength="255" /> <input type="button" id="kwadd" value="Добавить" /></p>\
        <p style="font-size: 9px; font-weight: bold;">* если Вы допустили ошибку, пожалуйста щелкните "Очистить" и введите слова еще раз</p> ')
         .dialog({
			autoOpen: false,
            width: 640,
            height: 530,
            modal: true,
            show: 'slide',
            resizable: false,
			title: 'Добавлени ключевых слов',
            buttons: {
            "Сохранить": function() {
                    if ($('#kwdata').val() != ''){
                        $.ajax({
                        async: false,
                        url: '/kw.php?action=add',     // указываем URL и
                        type: 'POST',
                        data : 'b=' + id + '&cont=' + $('#kwdata').val(),
                        success: function (res) { // вешаем свой обработчик на функцию success
                        alert(res);
                                   if (res == '0'){
                                       $(this).dialog("close");
                                   }
                                                }
                        });
                      }else{
                                       $(this).dialog("close");
                      }
             },
              "Очистить": function() {
             $('#kwdata').val('');
              $("#cnt").html("<p>Всего: 0</p>");
             },
             "Закрыть": function() {
             $(this).dialog("close");
             }


             }


		});
             $('#kwadd').bind('click', function(){
               var conT = $.trim( $('#kwdata').val() + "\n" + $('#onceword').val());
               $('#onceword').val('');
                $('#kwdata').val(conT);
                var elem = document.getElementById('kwdata');
                elem.scrollTop = elem.scrollHeight;
                   $("#cnt").html("<p>Всего: " + $("#kwdata").val().split("\n").length + "</p>");
             });
             $('#kwdata').bind('change', function(){
                   $("#cnt").html("<p>Всего: " + $("#kwdata").val().split("\n").length + "</p>");

             })
           $kwForm.dialog('open');
                       $.getJSON("/kw.php?b="+id, function(data) {

                   $.each(data, function(i,item){
                        $("#allready").append(item + " ");

                    });
                var txt =   $.trim( $("#allready").text());
                          $("#allready").html("<p><b>Существующие: </b><i>"+ txt+ "</i></p>");

                    });

}
