PageSourceSearch

https://velemjaro.sk/js/velemjaro-globals.js

js velemjaro.sk collected 2026-10-03 01:28:57 UTC 7,060 bytes, 186 lines download raw bytes

1// GLOBAL scripts
2
3var sSr={}; //stored search results
4var selectedItem=-1;
5function searchLock(){
6	var callback=undefined;
7	var sL=false;
8	this.lock=function(){
9		sL=true;
10	}
11	this.unlock=function(){
12		sL=false;
13		if(this.callback){
14			this.callback();
15			this.callback=undefined;
16		}
17	}
18	this.isLocked=function(){
19		return sL;
20	}
21	this.performAfterUnlocked=function(cb){
22		this.callback=cb;
23	}
24}
25sL=new searchLock();
26
27function searchSuggestions(querystring){
28	removeSuggestions();
29	$('#searchpane-result-fewchars').css("display","block");
30	$('#searchpane-result-noresult').css("display","none");
31	$('#searchpane-result-telepreszek').css("display","none");
32	$('#searchpane-result-telepulesek').css("display","none");
33	if(querystring.length>=3){
34		$('#searchpane-result-fewchars').css("display","none");
35		$('#searchpane-result-waiting').css("display","block");
36		var actStrR=querystring;
37		var actStr=actStrR.substring(0,3);
38		if(!(actStr in sSr)){
39			sL.lock();
40			sSr[actStr]=null;
41			$.getJSON( "/api/settlementsearch/"+ actStr +"/", function( data ) {
42				if(data.success){
43					sSr[actStr]=data.result;
44					$('#searchpane-result-waiting').css("display","none");
45					addSuggestions(sSr[actStr], actStrR);
46				}
47				else{
48					$('#searchpane-result-waiting').css("display","none");
49					addSuggestions(null, null);
50				}
51				sL.unlock();
52			});
53		}else{
54			if(sL.isLocked())
55				sL.performAfterUnlocked(function (){ addSuggestions(sSr[actStr], actStrR)});
56			else{
57				$('#searchpane-result-waiting').css("display","none");
58				addSuggestions(sSr[actStr], actStrR);
59			}
60		}
61	}
62}
63
64function addSuggestions(relevantCache, query){
65	removeSuggestions();
66	if(relevantCache){
67		var processed = 0;
68		var resultexist_telep = false;
69		var resultexist_telepresz = false;
70		var itemno = 0;
71		relevantCache.forEach(function(matches){
72			if(matches.magyarnev.substr(0,query.length).localeCompare(query, 'de', {sensitivity: 'base'})==0 || matches.szlovaknev.substr(0,query.length).localeCompare(query, 'de', {sensitivity: 'base'})==0 || matches.magyarkorm.substr(0,query.length).localeCompare(query, 'de', {sensitivity: 'base'})==0 || matches.magyarrovidnev.substr(0,query.length).localeCompare(query, 'de', {sensitivity: 'base'})==0) {
73				if(matches.foegyseg==''){
74					$('#searchpane-left-rows').append( "<div id='result-item-" + itemno++ + "' class='searchpane-items " + (matches.magyarlakta=='1'?"hu":"nemhu") + "'><a href='/telepulestar/" + matches.slug + "'><strong>" + matches.magyarnev + " </strong><small> (<strong>" + matches.szlovaknev + "</strong>) " + matches.rang + ", "  + matches.jarasmnevi + "</small></a></div>" );
75					resultexist_telep=true;
76				}
77				else{
78					$('#searchpane-right-rows').append( "<div id='result-item-" + itemno++ + "' class='searchpane-items " + (matches.magyarlakta=='1'?"hu":"nemhu") + "'><a href='/telepulestar/" + matches.slug + "'><strong>" + matches.magyarnev + " </strong><small> (<strong>" + matches.szlovaknev + "</strong>) " + matches.foegyseg + " " + matches.rang + ", "  + matches.jarasmnevi + "</small></a></div>" );
79					resultexist_telepresz=true;
80				}
81			}
82			if(++processed==relevantCache.length){
83				$('#searchpane-result-telepulesek').css("display",(resultexist_telep?"block":"none"));
84				$('#searchpane-result-telepreszek').css("display",(resultexist_telepresz?"block":"none"));
85				$('#searchpane-result-noresult').css("display",(resultexist_telepresz || resultexist_telep)?"none":"block");
86				selectedItem=(resultexist_telepresz || resultexist_telep);
87				$('#result-item-'+(selectedItem=0)).addClass("searchpane-items-selected");
88			}
89		});
90	} else {
91		$('#searchpane-result-noresult').css("display",(resultexist_telepresz || resultexist_telep)?"none":"block");
92	}
93}
94
95function removeSuggestions(){
96	selectedItem=-1;
97	$('.searchpane-items').remove();
98}
99
100function sendBugReport(cStr){
101	$.post("/api/bugreport/", {site: window.location.href , comment: cStr.comment, email: cStr.email, nev: cStr.nev }, function(result){
102		console.log(result.success);
103	});
104}
105
106function checkIfInView(element, scrollable){
107	if(element.offset().top - scrollable.offset().top < 0){
108		scrollable.animate({scrollTop: element.offset().top-scrollable.offset().top + scrollable.scrollTop()}, 100);
109	}
110	if(element.offset().top + element.outerHeight() >
110 scrollable.offset().top + scrollable.innerHeight()){
111		scrollable.animate({scrollTop: element.offset().top - scrollable.offset().top + scrollable.scrollTop() }, 100);
112	}
113}
114
115$(document).ready(function () {
116	$('#content').css('min-height', $(window).height() - $('#footer').outerHeight());
117	$(window).on('resize', function(){
118		$('#content').css('min-height', $(window).height() - $('#footer').outerHeight())
119	});
120
121	// bugreport
122	$('#bugreport-send').click(function (event) {
123		if($('#bugreport-text').val().length>1){
124			sendBugReport({nev: ($('#bugreport-nev').val()==""?"Nincs megadva név":$('#bugreport-nev').val()), email: ($('#bugreport-email').val()==""?"Nincs megadva e-mailcím":$('#bugreport-email').val()), comment: $('#bugreport-text').val()});
125			$('#bugreport-text').val('');
126			$('#bugreport-email').val('');
127			$('#bugreport-nev').val('');
128			alert('Köszönjük a visszajelzést!');
129		}
130	});
131
132	$('#searchpane-input-text').keydown(function(e){
133		if(e.which === 40){
134			e.preventDefault();
135			$('#result-item-'+selectedItem).removeClass("searchpane-items-selected");
136			if($('#result-item-'+(++selectedItem)).length==0)
137				$('#result-item-'+(--selectedItem)).addClass("searchpane-items-selected");
138			$('#result-item-'+selectedItem).addClass("searchpane-items-selected");
139			checkIfInView($('#result-item-'+selectedItem), $("#searchpane-results"));
140		}
141		if(e.which === 38){
142			e.preventDefault();
143			$('#result-item-'+selectedItem).removeClass("searchpane-items-selected");
144			if(--selectedItem<0)
145				selectedItem=0;
146			$('#result-item-'+(selectedItem)).addClass("searchpane-items-selected");
147			checkIfInView($('#result-item-'+selectedItem), $("#searchpane-results"));
148		}
149		if(e.which === 13){
150			e.preventDefault();
151			$('#result-item-'+selectedItem).children().children().trigger('click');
152		}
153		if(e.which === 27){
154			e.preventDefault();
155			$('#searchpane').css("display", "none");
156		}
157	});
158
159	$('#trigger-search').click(function(e){
160		e.preventDefault();
161		removeSuggestions();
162		$('#searchpane-result-fewchars').css("display","block");
163		$('#searchpane-result-noresult').css("display","none");
164		$('#searchpane-result-telepreszek').css("display","none");
165		$('#searchpane-result-telepulesek').css("display","none");
166		$('#searchpane').css("display", "block");
167		$('#searchpane-input-text').val("");
168		$('#searchpane-input-text').focus();
169
170		$('#searchpane').bind('mousewheel', function(e) { // on scroll
171			$("#searchpane-results").scrollTop($("#searchpane-results").scrollTop() - e.originalEvent.wheelDelta);
172			return false;
173		});
174	});
175
176	$('#searchpane-input-text').on('input', function() {
177		searchSuggestions(this.value);
178	});
179
180	$('#searchpane-exit').on('click', function(){
181		$('#searchpane').css("display", "none");
182	});
183
184});
185
186// / GLOBAL scripts

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.