function check_all_sources(direction){
//alert(direction);
chk_obj=new Array();
if (document.SEARCH['R21DBN'] && !document.SEARCH['R21DBN'].length) chk_obj[0]=document.SEARCH['R21DBN'];
else chk_obj=document.SEARCH['R21DBN'];
for (i=0; i < chk_obj.length; i++){
// chk_obj[i].style.display = "none";
chk_obj[i].checked = direction;
//chk_obj[i].style.display = "";
}
}
function gid(element_id){
return document.getElementById(element_id);
}
function st(exp) {
document.SEARCH_FORM.S21STN.value='1';
document.SEARCH_FORM.SAME_SEARCH.value='';
document.SEARCH_FORM.FT_REQUEST.value='';
document.SEARCH_FORM.S21ALL.value="(<.>"+exp+"<.>)";
document.SEARCH_FORM.submit();
}
function sh(layer){
gid(layer).style.display=(gid(layer).style.display=="none") ? "" : "none";
}
function fulltext_search(mfn) {
document.SEARCH_FORM.S21ALL.value='';
document.SEARCH_FORM.S21STN.value='1';
document.SEARCH_FORM.SAME_SEARCH.value=mfn;
document.SEARCH_FORM.FT_NEAR_MFN_NEW.value=mfn;
document.SEARCH_FORM.SEARCHNEAR.value='1';
//document.SEARCH_FORM.FT_REQUEST.value=my_req;
//document.SEARCH_FORM.S21SRW.value='';
document.SEARCH_FORM.submit();
}
function next_card(mfn) {
document.SEARCH_FORM.S21ALL.value='';
document.SEARCH_FORM.S21STN.value='1';
document.SEARCH_FORM.Z21MFN.value=mfn;
//document.SEARCH_FORM.FT_NEAR_MFN_NEW.value=mfn;
//document.SEARCH_FORM.SEARCHNEAR.value='1';
document.SEARCH_FORM.FT_REQUEST.value='';
//document.SEARCH_FORM.S21SRW.value='';
document.SEARCH_FORM.submit();
}
function SSForm(r_number){
if (document.SEARCH_FORM.MFN && document.SEARCH_FORM.SEL_MFN) print_bo();
document.SEARCH_FORM.S21STN.value=r_number;
//alert('ALL'+document.SEARCH_FORM.S21ALL.value);
//alert('BACK'+document.SEARCH_FORM.REQ_BACK.value);
//Страховка от проблем при history back, связанных с динамической модификацией поля
if (document.SEARCH_FORM.REQ_BACK) document.SEARCH_FORM.S21ALL.value=document.SEARCH_FORM.REQ_BACK.value;
document.SEARCH_FORM.submit();
}
function request_decrypt(request,ft_requst){
pref=new Array();
pref[0]=new Array('T=','ЗАГЛАВИЕ','ЗАГЛАВИЯ');
pref[1]=new Array('D=','ДИСЦИПЛИНА','ДИСЦИПЛИНЫ');
pref[2]=new Array('SP=','СПЕЦИАЛЬНОСТЬ','СПЕЦИАЛЬНОСТИ');
pref[3]=new Array('A=','АВТОР','АВТОРЫ');
pref[4]=new Array('T=','ЗАГЛАВИЕ','ЗАГЛАВИЯ');
pref[5]=new Array('K=','КЛЮЧЕВЫЕ СЛОВА','КЛЮЧЕВЫЕ СЛОВА');
pref[6]=new Array('O=','ИЗДАТЕЛЬСТВО','ИЗДАТЕЛЬСТВА');
pref[7]=new Array('G=','ГОД ИЗДАНИЯ','ГОДЫ ИЗДАНИЯ');
pref[8]=new Array('R=','РУБРИКА','РУБРИКИ');
pref[9]=new Array('V=','ВИД ИЗДАНИЯ','ВИДЫ ИЗДАНИЯ');
pref[10]=new Array('HD=','ХАРАКТЕР ДОКУМЕНТА','ХАРАКТЕРЫ ДОКУМЕНТА');
pref[11]=new Array('MHR=','МЕСТО ХРАНЕНИЯ','МЕСТА ХРАНЕНИЯ');
pref[12]=new Array('TJ=','ЗАГЛАВИЕ СТАТЬИ','ЗАГЛАВИЯ СТАТЕЙ');
pref[13]=new Array('VR=','ВИД ДОКУМЕНТА','ВИДЫ ДОКУМЕНТОВ');
pref[14]=new Array('KAF=','КАФЕДРА','КАФЕДРЫ');
integrator2='';
prf_last='';
if (ft_requst)document.writeln(' ПОЛНОТЕКСТОВЫЙ ЗАПРОС: '+ft_requst);
if (request.indexOf('I=')>0 || request.indexOf('TXT=')>0) return;
multi=request.split('*');
for(i in multi){
addi=multi[i].split('+');
prf_find=false;
for(d in pref){
if (multi[i].indexOf(pref[d][0])>0){
prf_decript=(addi.length>1) ? pref[d][2]+': ' : pref[d][1]+': ';
prf_decript=(prf_last!=pref[d][0]) ? prf_decript : '';
document.writeln(integrator2+''+prf_decript+'');
integrator2=' И '
prf_find=true;
prf_last=pref[d][0];
break;
}
}
if (prf_find){
integrator='';
for(k in addi){
document.writeln(integrator+'"'+addi[k].replace(/(.*=)|(\<\.\>)|(\))|\$|(\/\(.*\))/g,'')+'"');
integrator=' ИЛИ ';
}
}
}
}
function make_win(mode,par,waiting){
cmd_str=new Array();
cmd_str[7]= new Array('Печать_записей',cgi+'?I21DBN='+par[0]+'_PRINT&P21DBN='+par[0]+'&S21FMT='+par[1]+'&S21CNR=500&S21COLORTERMS=0&C21COM=S&S21SRW='+par[2]+'&S21ALL='+par[3]+'&FT_PREFIX='+par[6]+'&SAME_SEARCH='+par[4]+'&FT_REQUEST='+par[5]+'&FT_DISTANCE='+par[7]+'&FT_PARAMS='+par[8]+'&FT_NEAR_MFN'+par[9],"status=no,location=no,directories=no,toolbar=no,scrollbars=yes,resizable=yes",620,440);
//make_win(7,[document.SEARCH_FORM.P21DBN.value,document.SEARCH_FORM.PRINT_FORMAT.value,srw,s_expression,full_search,encodeURIComponent(full_search_req),document.SEARCH_FORM.FT_PREFIX.value,document.SEARCH_FORM.FT_DISTANCE.value,document.SEARCH_FORM.FT_PARAMS.value]);
x=cmd_str[mode][3];
y=cmd_str[mode][4];
cx=screen.width/2-(x/2);
cy=screen.height/2-(y/2);
adr=(waiting) ? '' : cmd_str[mode][1];
var load_window=window.open(adr,cmd_str[mode][0],cmd_str[mode][2]+',width='+x+',height='+y+',top='+cy+',left='+cx);
load_window.focus();
if (load_window == null) {
alert('Отключите блокировку всплывающих окон в своём браузере! Всплывающие окна необходимы для корректной работы сайта!');
return;
}
if (waiting){
load_window.document.writeln('
Ждите... '+waiting+'
|
|
');
load_window.document.location=cmd_str[mode][1];
}
}
jQuery(function ($) {
//$.cookie("selected_codes2","");
$(".code_checkbox").each (function(){
var codes_cookies=$.cookie("selected_codes2") ? $.cookie("selected_codes2").split("*") : [];
if ($.inArray(this.value,codes_cookies)>=0)
this.checked=true;
});
$(".navLeft").click(function(){
$.cookie("selected_codes2","");
});
$(".code_checkbox").change(function () {
var codes_cookies=$.cookie("selected_codes2") ? $.cookie("selected_codes2").split("*") : [];
if (this.checked){
codes_cookies.push(this.value);
}else {
if (codes_cookies) {
var current_code=this.value;
codes_cookies = $.grep(codes_cookies, function(val, index){
return (val!= current_code);
});
}
}
//codes_cookies=$.unique(codes_cookies);
$.cookie("selected_codes2",codes_cookies.join('*'));
});
});
function print_bo(sel_type){
var codes_cookies=$.cookie("selected_codes2") ? $.cookie("selected_codes2").split("*") : [];
var full_search=document.SEARCH_FORM.SAME_SEARCH.value;
var full_search_req=document.SEARCH_FORM.FT_REQUEST.value;
var srw='avhead';
var id_prefix=(sp_base) ? 'TXT=' : 'I=';
var s_expression="";
if ((sel_type=="2"||sel_type=="3") && !codes_cookies.join()) alert("Для выбранного режима печати требуется отобрать записи!");
else{
if (sel_type){
s_expression="";
if (sel_type=="1"){
s_expression=document.SEARCH_FORM.SEL_ALL.value;
srw='';
} else {
integrator="%2B";
if (sel_type=="3"){
s_expression=document.SEARCH_FORM.SEL_ALL.value;
integrator="^";
if (document.SEARCH_FORM.SAME_SEARCH.value){
alert("В режиме ранжированного поиска исключение записей из списка печати невозможно!");
return;
}
}
for(i=0; i"+id_prefix+encodeURIComponent(decodeURIComponent(codes_cookies[i]))+"<.>";
}
full_search='';
full_search_req='';
}
if (full_search) full_search_req=''
//alert('SAME'+full_search);
//alert('FREQ'+full_search_req);
//alert('SEXPR'+s_expression);
make_win(7,[document.SEARCH_FORM.P21DBN.value,document.SEARCH_FORM.PRINT_FORMAT.value,srw,s_expression,full_search,full_search_req,document.SEARCH_FORM.FT_PREFIX.value,document.SEARCH_FORM.FT_DISTANCE.value,document.SEARCH_FORM.FT_PARAMS.value,document.SEARCH_FORM.FT_NEAR_MFN.value]);
}
}
}
// Запускаем только после отстройки DOM
$().ready(function() {
// Инициализируем автодополнение. Здесь задаём только общие для всех запросов параметры
$("#X_S21STR").autocomplete(cgi, {
multipleSeparator: " ",
cacheLength: 0,
matchSubset: false,
scrollHeight: 350
});
// Обрабатываем переключение области поиска. Событие также генерируется при загрузке страницы
$('#X_S21P03').change(function() {
// Определяем текущее значение выпадающего списка с префиксами
var prf=$(this).val();
// Устанавливаем параметры автодополнения для текущего случая.
$("#X_S21STR").setOptions({
multiple: ((prf==keywords_prefix) ? true : false),
// Здесь задаются параметры, которые мы хотим видеть в запросе для получения словаря
extraParams: {
T21CNR: '10',
C21COM: 'T',
T21PRF: prf,
I21DBN: $("#P21DBN").val()
}
});
});
// Имитируем изменение списка с префиксами при загрузке страницы (чтобы нам не плодить лишние функции :))
$('#X_S21P03').trigger( "change" );
// Ставим обработчик на отправку формы
$('#SEARCH').submit(function() {
// Если в форме есть и установлен флажок поиска в найденном
var searchIn=$('#searchIn:checked').length;
var prf=$('#X_S21P03').val();
// Если флаг Искать в найденном установлен и
if (!searchIn && $('#searchIn').length>0){
document.SEARCH.S21ALL.value="";
document.SEARCH.FT_REQUEST.value="";
document.SEARCH.FT_PREFIX.value="";
}
//===== Значения параметров поиска по умолчанию. Могут быть полезны при возврате назад =====
// Термином является фраза целиком
document.SEARCH.X_S21LOG.value = "2";
// Текст как термин
document.SEARCH.X_S21P01.value = "0";
// Усечение применяем. Для года позволяет
document.SEARCH.X_S21P02.value = "1";
// Квалификаторы не используем
document.SEARCH.X_S21P04.value = "";
//\===== Значения параметров поиска по умолчанию =====
switch ( prf ) {
case keywords_prefix:
// Слова, связанные логикой И
document.SEARCH.X_S21LOG.value = "1";
// Если мы хотим добавить уточнение по ключевым словам к полнотекстовому запросу или используется ИРБИС 32...
if (searchIn || irbis_generation==32)
document.SEARCH.X_S21P01.value = "3";
else
document.SEARCH.X_S21P01.value = "4";
break;
case "G=":
// Берём значение до пробела
document.SEARCH.X_S21P01.value = "2";
break;
case "A=":
var req=author_req($("#X_S21STR").val());
// Если нормализация была проведена
if (req){
if ($("#S21ALL").val()){
$("#S21ALL").val($("#S21ALL").val()+"*"+req);
}else {
$("#S21ALL").val(req);
}
$("#X_S21STR").val("");
}else {
document.SEARCH.A_S21LOG.value = "1";
document.SEARCH.A_S21P01.value = "1";
document.SEARCH.A_S21P02.value = "0";
document.SEARCH.A_S21P04.value = "700";
document.SEARCH.A_S21P03.value = keywords_prefix;
}
break;
default:
// По умолчанию (заглавие, автор) весь текст -- термин
document.SEARCH.X_S21P01.value = "0";
}
return true;
});
$('#SEARCH_EX').submit(function() {
if ($("#A_S21STR").val()){
var req=author_req($("#A_S21STR").val());
if (req){
$("#S21ALL").val(req);
$("#A_S21STR").val("");
}else {
document.SEARCH_EX.A_S21LOG.value = "1";
document.SEARCH_EX.A_S21P01.value = "1";
document.SEARCH_EX.A_S21P02.value = "0";
document.SEARCH_EX.A_S21P04.value = "700";
document.SEARCH_EX.A_S21P03.value = keywords_prefix;
}
}
return true;
});
var unique=function(arr){
var i,
len=arr.length,
out=[],
obj={};
for (i=0;i0){
return "(<.>A="+variants.join("$<.>+<.>A=")+"$<.>)";
}
return "";
}
// console.log(jQuery.unique(['иванов','иванов','иванов']));
//console.log(unique(['иванов','иванов','иванов']));
/*
Отладочный код для функции add_comma, демонстрирующий обработку различных вариантов написания данных об авторе.
Результат отображается в консоли браузера (кнопка F12)
*/
/* var output=function(author_string){
console.log(author_string+'=>'+author_req(author_string));
}
output("иванов");
output("ГОРДУКАЛОВА, ГАЛИНА ФЕОФАНОВНА (БИБЛИОГРАФ, ПЕДАГОГ)");
output("валентина брежнева");
output("кирилл евгеньевич соколинский");
output("Соколинский, К. Е.");
output("к. соколинский");
output("к.е. соколинский");
output("к. е. соколинский");
output("д.а.иванов");
output("и. а. иванов");
output("и.а. иванов");
output("иванов и.а.");
output("иВанОв, И.а.");
output("иванов И.");
output("д'артаньян и.и.");
output("мольер ж.-б.");
output("ёмкин а.в.");
output("ВЕБЕР, В. \\СОСТ.\\");
output("ÜNAY, D. \\ED.\\");
output("Соколинский Кирилл Евгеньевич");
output("ким чен ир");
output("Сер. Вл. Иванов");
output("Кирилл Петров");
*/
});