var TXT_SP_SORT_BY = "&sortby="; var TXT_SP_NUMBER = "&number="; var TXT_SP_START_DATE = "&startdate="; var TXT_SP_END_DATE = "&enddate="; var TXT_SP_CATEGORY = "&category="; var TXT_SP_TITLE = "&title="; var TXT_SP_TEXT = "&text="; var TXT_SP_CITY = "&city="; var TXT_SP_SEX = "&sex="; var TXT_SP_AGE = "&age="; var TXT_SP_EDUCATION = "&edu="; var TXT_SP_EXPIRIENCE = "&exp="; var TXT_SP_EMPLOYMENT = "&employ="; var TXT_SP_SCHEDULE = "&sched="; var TXT_SP_SALARY = "&salary="; //---------------------------------------------------------------------------------------------------------------------------------------------------------- function IsCorrectSearchDate(fieldname) { //data format for search is "DD-MM-YYYY" var myForm = document.forms[0]; var value = trim(myForm[fieldname].value); if ((value.length!=10) || (value.substring(2, 3)!="-") || (value.substring(5, 6)!="-") || (isNaN(parseInt(value.substring(0,2)))) || (parseInt(value.substring(0,2))<1) || (parseInt(value.substring(0,2))>31) || (parseInt(value.substring(3,5))<1) || (parseInt(value.substring(3,5))>12) || (isNaN(parseInt(value.substring(3,5)))) || (isNaN(parseInt(value.substring(6,10)))) ) { return false } else { return true } }; //---------------------------------------------------------------------------------------------------------------------------------------------------------- function IsSearchParametersCorrect() { // check if Vacancy document is filled correctly var myForm = document.forms[0]; var SearchType = myForm.fl_PageType.value submitOK="True"; var ErrMsg=""; var value; //for NLA search if (SearchType=="ka_nlalist") { ErrMsg=""; //введены ли параметры поиска для НПА if ((trim(myForm.fl_SNLAStartDate.value)=="") && (trim(myForm.fl_SNLAEndDate.value)=="") && (trim(myForm.fl_SNLANumber.value)=="") && (!IsCheckboxChecked("fl_SNLAType")) && (trim(myForm.fl_SNLATitle.value)=="") && (trim(myForm.fl_SNLAText.value)=="") ) { submitOK="False"; ErrMsg = "Забыли указать параметры поиска."; } else { //проверка формата даты - StartDate if (trim(myForm.fl_SNLAStartDate.value)!="") { if (! IsCorrectSearchDate("fl_SNLAStartDate")) { submitOK="False"; ErrMsg = 'Неправильный формат даты в поле "Дата подписания (от)".'; gotoField("fl_SNLAStartDate"); } }; //проверка формата даты - EndDate if (trim(myForm.fl_SNLAEndDate.value)!="") { if (! IsCorrectSearchDate("fl_SNLAEndDate")) { submitOK="False"; if (ErrMsg=="") { ErrMsg = 'Неправильный формат даты в поле "Дата подписания (до)".'; }; gotoField("fl_SNLAEndDate"); } }; } //end else }; //end of "if (_SearchType=="ka_nlalist") {" //for Vacancy search if (SearchType=="ka_vacancylist") { ErrMsg=""; //проверка формата числа - fl_SVacAge value = myForm.fl_SVacAge.value; if (trim(value+" ")!="") { if (isNaN(parseInt(value))) { submitOK="False"; if (ErrMsg=="") { ErrMsg = 'Неправильный формат числа в поле "Возраст".'; }; gotoField("fl_SVacAge"); } else { myForm.fl_SVacAge.value = parseInt(value); } } //проверка формата числа - fl_SVacSalary value = myForm.fl_SVacSalary.value; if (trim(value+" ")!="") { if (isNaN(parseInt(value))) { submitOK="False"; if (ErrMsg=="") { ErrMsg = 'Неправильный формат числа в поле "Зарплата".'; }; gotoField("fl_SVacSalary"); } else { myForm.fl_SVacSalary.value = parseInt(value); } } }; //end of "if (_SearchType=="ka_vacancylist") {" //for all docs search if (SearchType=="ka_searchall") { if (trim(myForm.SearchQuery.value)=="") { submitOK="False"; ErrMsg = "Задан пустой поисковый запрос."; } }; //end of "if (_SearchType=="ka_searchall") {" //show result if (submitOK=="False") { alert(ErrMsg); return false; } else { return true; }; }; //function ends //---------------------------------------------------------------------------------------------------------------------------------------------------------- function FormAllSearchParameters() { var myForm = document.forms[0]; var SearchString = myForm.fl_DBPath.value+"/fa_Search?OpenForm&type=ka_searchall"; var SearchParameters=""; var value=""; if (IsSearchParametersCorrect()) { value = trim(myForm.SearchQuery.value); if (value!="") { SearchParameters = SearchParameters + TXT_SP_TEXT + escape(value); }; window.location.href = SearchString + SearchParameters; } else { return false; }; }; //---------------------------------------------------------------------------------------------------------------------------------------------------------- function FormTranslationParameters() { var myForm = document.forms[0]; var URLString = myForm.fl_DBPath.value + "/fa_Dictionary?OpenForm"; var parameters = ""; var value = ""; var dictFieldvalue = ""; var dict = ""; var collID = ""; var pos = 0; value = trim(myForm.fl_TranslationQuery.value); if(value != "") { dictFieldvalue = trim(myForm.fl_Dictionary.value); pos = dictFieldvalue.indexOf("#"); collID = "4.0"+dictFieldvalue.substring(0, pos); dict = dictFieldvalue.substring(pos+1, dictFieldvalue.length); if (value != "") { parameters = "&query=" + escape(value); parameters = parameters + "&collID=" + escape(collID); parameters = parameters + "&dict=" + escape(dict); } window.location.href = URLString + parameters; } else alert("Не указана строка для перевода"); } //---------------------------------------------------------------------------------------------------------------------------------------------------------- function __artClick(collection, dictionary, article) { //alert("collection: "+collection+" ### dictionary: "+dictionary+" ### article: "+article) var myForm = document.forms[0]; var URLString = myForm.fl_DBPath.value + "/fa_Dictionary?OpenForm"; var value = trim(myForm.fl_TranslationQuery.value); window.location.href = URLString + "&query=" + escape(value) + "&dict=" + dictionary + "&article=" + article; } //---------------------------------------------------------------------------------------------------------------------------------------------------------- function FormNLASearchParameters() { var myForm = document.forms[0]; var SearchString = myForm.fl_DBPath.value+"/fa_Search?OpenForm&type=ka_nlalist"; var SearchParameters=""; var value=""; if (IsSearchParametersCorrect()) { value = trim(myForm.fl_SNLAStartDate.value); if (value!="") { SearchParameters = SearchParameters + TXT_SP_START_DATE + value; }; value = trim(myForm.fl_SNLAEndDate.value); if (value!="") { SearchParameters = SearchParameters + TXT_SP_END_DATE + value; }; value = trim(stringReplace(myForm.fl_SNLANumber.value, "&", " ")); value = stringReplace(value, "?", " "); if (value!="") { SearchParameters = SearchParameters + TXT_SP_NUMBER + escape(value); }; value = trim(stringReplace(myForm.fl_SNLATitle.value, "&", " ")); if (value!="") { SearchParameters = SearchParameters + TXT_SP_TITLE + escape(value); }; value = trim(stringReplace(myForm.fl_SNLAText.value, "&", " ")); if (value!="") { SearchParameters = SearchParameters + TXT_SP_TEXT + escape(value); }; type=myForm.fl_SNLAType; txt=""; for (i = 0; i 2){ if(window.XMLHttpRequest){ ajaxReq = new XMLHttpRequest(); if (ajaxReq.overrideMimeType) { ajaxReq.overrideMimeType('text/xml'); } } else if(window.ActiveXObject){ try { ajaxReq = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { ajaxReq = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if(ajaxReq!=null){ ajaxReq.onreadystatechange = function(){ resultsAddr(ajaxReq); }; ajaxReq.open("GET", "../aa_SearchInst.xml?OpenAgent&q=" + val, true); //ajaxReq.send("OpenAgent&query=" + val); ajaxReq.send(null); } } } //функция получает с сервера список найденных улиц function resultsAddr(ajaxReq){ try{ if(ajaxReq.readyState == 4){ if(ajaxReq.status == 200){ var xmlOut = ajaxReq.responseXML; var strStreets = xmlOut.getElementsByTagName('street'); if(strStreets!=null){ var newHtml = ""; var i; for(i=0; i"; //alert(strStreets.item(i).firstChild.data); } var divOut = document.getElementById("ac_input"); divOut.innerHTML = newHtml; divOut.style.visibility="visible"; } } } } catch(e) { } } //при нажатии на энтер отправляем запрос function OnEnterPress(x, ev){ var keynum; if(window.event) // IE { keynum = ev.keyCode if(keynum == 13){ receivHouses(x); } } else if(ev.which) // Netscape/Firefox/Opera { keynum = ev.which if(keynum == 13){ receivHouses(x); } } } //функция отправляет на сервер выбранную улицу function receivHouses(x){ var val = document.getElementById(x).value; if(val==""){ return; } var divHouses = document.getElementById("houses"); divHouses.innerHTML = "Идет обработка данных..."; var divInsts = document.getElementById("insts"); divInsts.innerHTML = ""; var ajaxReq; if(window.XMLHttpRequest){ ajaxReq = new XMLHttpRequest(); if (ajaxReq.overrideMimeType) { ajaxReq.overrideMimeType('text/xml'); } } else if(window.ActiveXObject){ try { ajaxReq = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { ajaxReq = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if(ajaxReq!=null){ if(val!=""){ ajaxReq.onreadystatechange = function(){ showHouses(ajaxReq); }; ajaxReq.open("GET", "../aa_GetHouses.xml?OpenAgent&q=" + val, true); ajaxReq.send(null); } } } //получаем дома и отображаем их function showHouses(ajaxReq){ try{ if(ajaxReq.readyState == 4){ if(ajaxReq.status == 200){ if(ajaxReq.responseText==""){ var divHouses = document.getElementById("houses"); divHouses.innerHTML = "Адрес не найден."; var divInsts = document.getElementById("insts"); divInsts.innerHTML = ""; return; } var xmlOut = ajaxReq.responseXML; var strStreets = xmlOut.getElementsByTagName('house'); if(strStreets!=null){ var newHtml = ""; var i; for(i=0; i" + strStreets.item(i).firstChild.data + ", "; //alert(strStreets.item(i).firstChild.data); } var divOut = document.getElementById("houses"); newHtml = newHtml.substr(0, newHtml.length-2); divOut.innerHTML = "Выберите дом:
" + newHtml; divOut.style.display="block"; var divInsts = document.getElementById("insts"); divInsts.style.display="none"; } } } } catch(e) { } } //отправляем на сервер запрос с выбранной улицей и домом function sendAddr(x){ var divInsts = document.getElementById("insts"); divInsts.innerHTML = "Идет обработка данных..."; var selStr = document.getElementById("selected_street").value; var ajaxReq; if(window.XMLHttpRequest){ ajaxReq = new XMLHttpRequest(); if (ajaxReq.overrideMimeType) { ajaxReq.overrideMimeType('text/xml'); } } else if(window.ActiveXObject){ try { ajaxReq = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { ajaxReq = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if(ajaxReq!=null){ if(x!=""){ ajaxReq.onreadystatechange = function(){ showInsts(ajaxReq); }; ajaxReq.open("GET", "../aa_GetInsts.xml?OpenAgent&street=" + selStr + "&house=" + x, true); ajaxReq.send(null); } } } function showInsts(ajaxReq){ try{ if(ajaxReq.readyState == 4){ if(ajaxReq.status == 200){ var newHTML = ajaxReq.responseText; //отображаем полученный html var divInsts = document.getElementById("insts"); var divOldList = document.getElementById("full_list_insts"); divInsts.innerHTML = newHTML; divInsts.style.display="block"; divOldList.style.display="none"; } } } catch(e) { } } //функции для правильного отображения всплывающего списка улиц function liFormat (row, i, num) { var result = row[0];// + '

' + row[1] + ' тыс.чел.

'; return result; } function selectItem(li) { if( li == null ) var sValue = 'А ничего не выбрано!'; if( !!li.extra ) var sValue = li.extra[2]; else var sValue = li.selectValue; gotoField("fl_street"); var selStr; selStr = document.getElementById("selected_street"); selStr.value = sValue; receivHouses("fl_street"); }