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.