PageSourceSearch

https://www.krkonose-knihy.cz/media/js/nav_selective.js?v=0.0.3.25

js krkonose-knihy.cz collected 2026-10-09 04:47:57 UTC 12,613 bytes, 353 lines download raw bytes

1/* vytvorit polozky selectu */
2function buildSelect(elementSelect,elementItem,elementId){
3   //projit polozky
4   for(var i=0;i < elementItem.length;i++){
5      var nameItem = getContent(getElByName(elementItem[i], 'name')[0]);
6      var idItem = getContent(getElByName(elementItem[i], 'id')[0]);
7
8      option = document.createElement("option");
9      option.appendChild(document.createTextNode(nameItem));
10      option.setAttribute("value",idItem);
11      if(elementId == idItem){
12         option.setAttribute("selected","on");
13      }
14      //pridat option do selectu
15      elementSelect.appendChild(option);
16   }
17}
18
19/* zpracovani selektiniho pozadavku */
20function navigationSelective(urlForm,infotext,isGroup){
21    var param ='';
22    var url = urlForm + '?';
23    var timeStamp = "casotisk=" + new Date().getTime();
24    // level
25    var level = $('skupinka_level').getValue();
26    // znacky
27    var markId=$('id_znacka_id').getValue();
28    // kategorie
29    var categoryId=$('id_kategorie_id').getValue();
30
31    // id skupinky bud ze selectu pro skupinku nebo pro m a c z inputu
32    if(isGroup == 1) var groupusculeId=$('id_skupinka_'+level).getValue();
33    else var groupusculeId=$('id_skupinka_id').getValue();
34    if(groupusculeId == 0){
35       if(isGroup == 1){
36          // Odblokovat select pro horni level a zrusit posledni
37          if(level !=0 ){
38             // Ziskat level pro rodic select
39             if(level>0) var levelTmp = level-1;
40             else var levelTmp = 0;
41
42             // Ziskat level pro nadrodic select
43             if(levelTmp>0) var levelTmp2 = levelTmp-1;
44             else var levelTmp2 = 0;
45
46             $('id_skupinka_'+levelTmp2).removeProperty('disabled');
47             // Nastavit aktivni prvek - carky
48             //$('idg0_'+levelTmp2).setProperty('selected','selected');
49             // Nastavit level
50             $('skupinka_level').setProperty('value',levelTmp2);
51
52             // Nastavit id skupinky
53             if(levelTmp !=0) groupusculeId = $('id_skupinka_'+levelTmp2).getValue();
54             else groupusculeId = 0;
55
56             $('id_skupinka_id').setProperty('value',groupusculeId);
57
58             // Odmazat posledni prvek
59             var selectBox = document.getElementById('skupinka_select');
60             selectBox.removeChild(selectBox.lastChild);
61             if(levelTmp>0) selectBox.removeChild(selectBox.lastChild);
62          
63             // Prenastavit level
64             level = levelTmp2;
65          }
66       }
67    }
68    else{
69       // Nastavit level
70       $('skupinka_level').setProperty('value',level);
71       // Nastavit id skupinky
72       $('id_skupinka_id').setProperty('value',groupusculeId);
73    }
74
75    param = 'm='+markId+'&c='+categoryId+'&g='+groupusculeId+'&level='+level+'&isgroup='+isGroup;
76//alert(param);
77    var urlPost = url + timeStamp;
78    var postData = param;
79
80    // nastavit info
81    toggleShowEl('infoscreennav');
82    ViewPort.centerObject(jQuery('#infoscreennav'));
83
84    // Vypnout selecty
85    $('id_znacka_id').setProperty('disabled','disabled');
86    $('id_kategorie_id').setProperty('disabled','disabled');
87
88    var myAjax = new Ajax(urlPost, {method: 'post',postBody: postData,onComplete: resultNavigation }).request();
89}
90/* Zpracovani stavu pridani adresy */
91function resultNavigation(){
92   //alert(this.response.text);
93   workNavigation(this.response.xml);
94}
95/* Zpracovani vysledku pridni adresy */
96function workNavigation(xmlDoc){
97   var items = null;
98   var heads = null;
99   var itemFalse = '';
100   var itemid = '';
101   //ziskat id m
102   var mid = xmlDoc.getElementsByTagName('m')[0].firstChild.data;
103   //ziskat id c
104   var cid = xmlDoc.getElementsByTagName('c')[0].firstChild.data;
105   //ziskat id g
106   var gid = xmlDoc.getElementsByTagName('g')[0].firstChild.data;
107   // indikace znacek
108   var isM = parseInt(xmlDoc.getElementsByTagName('ism')[0].firstChild.data);
109   // indikace kategorii
110   var isC = parseInt(xmlDoc.getElementsByTagName('isc')[0].firstChild.data);
111   // indikace skupinek
112   var isG = parseInt(xmlDoc.getElementsByTagName('isg')[0].firstChild.data);
113   // level
114   var level = parseInt(xmlDoc.getElementsByTagName('level')[0].firstChild.data);
115   // Indikace generovani stromu
116   var genTree = parseInt(xmlDoc.getElementsByTagName('gentree')[0].firstChild.data);
117   // Indikace nalezeni skupiny
118   var isItem = parseInt(xmlDoc.getElementsByTagName('isitem')[0].firstChild.data);
119   // Indikace vybrane skupinky
120   var isSelGroup = parseInt(xmlDoc.getElementsByTagName('isselgroup')[0].firstChild.data);
121   // Jazykova data
122   var langNavBack = xmlDoc.getElementsByTagName('langback')[0].firstChild.data;
123   var langNav = xmlDoc.getElementsByTagName('langnav')[0].firstChild.data;
124   var langGroup = xmlDoc.getElementsByTagName('langgroup')[0].firstChild.data;
125
126   // Url navigace
127   var urlNav = xmlDoc.getElementsByTagName('urlnav')[0].firstChild.data;
128
129   // Url formulare
130   var urlForm = xmlDoc.getElementsByTagName('urlform')[0].firstChild.data;
131   $('navigation_selective').setProperty('action',urlForm);
132
133   // Nastavit tlacitko pro odeslani
134   if(isItem){
135      $('id_catalog_submit_send').removeClass('hidden');
136   }
137   else{
138      $('id_catalog_submit_send').addClass('hidden');
139   }
140
141   //znacky
142   var mark = xmlDoc.getElementsByTagName('mark');
143   var selectmark = document.getElementById('id_znacka_id');
144   removeSelect('id_znacka_id');
145   buildSelect(selectmark,mark,mid);
146
147   //kategorie
148   var category = xmlDoc.getElementsByTagName('category');
149   var selectcategory = document.getElementById('id_kategorie_id');
150   removeSelect('id_kategorie_id');
151   buildSelect(selectcategory,category,cid);
152
153   // Pregenerovat aktualni select
154   if(genTree == 1){
155      // Ziskat skupinky
156      var groupuscule = xmlDoc.getElementsByTagName('gsgen');
157
158      var selectGp = document.getElementById('id_skupinka_'+level);
159      removeSelect('id_skupinka_'+level);
160
161      // Vytvorit prvni polozku option
162      var option = document.createElement("option");
163      option.appendChild(document.createTextNode(langNavBack));
164      option.setAttribute("id",'idg00_'+level);
165      option.setAttribute("value",0);
166      //pridat option do selectu
167      selectGp.appendChild(option);
168
169      // Nastavit prvky selectu
170      buildSelectGp(selectGp,groupuscule,level);
171
172      // Nastavit vybrany prvek
173      $('idg'+gid+'_'+level).setProperty('selected','selected');
174   }
175
176   // Pokud jsou skupinky sestavit dalsi select
177   if(isG == 1){
178
179      // Ziskat skupinky
180      var groupuscule = xmlDoc.getElementsByTagName('groupuscule');
181
182      // Prvek pro umisteni prvniho selectu
183      var selectBox0 = document.getElementById('skupinka_select0');
184      // Prvek pro umisteni selectu
185      var selectBox = document.getElementById('skupinka_select');
186
187      if((gid != 0) && (isSelGroup == 1)){
188         // Vypnout predchozi select
189         $('id_skupinka_'+level).setProperty('disabled','disabled');
190
191         // Zvysit stupen
192         level++;
193
194          // Nastavit level
195          $('skupinka_level').setProperty('value',level);
196
197         // Vytvorit select box
198         var elSelect = 'id_skupinka_'+level;
199         selectGp = document.createElement("select");
200         selectGp.setAttribute("id",elSelect);
201         selectGp.setAttribute("name",'skupinka_'+level);
202         selectGp.onchange = new Function("navigationSelective('"+urlNav+"','Pracuji...','1');");
203      }
204      else{// Select bude jen pregenerovan
205         var selectGp = document.getElementById('id_skupinka_'+level);
206         removeSelect('id_skupinka_'+level);
207      }
208
209      // Vytvorit prvni polozku option
210      var option = document.createElement("option");
211      if(level == 0) option.appendChild(document.createTextNode(langNav));
212      else option.appendChild(document.createTextNode(langNavBack));
213      option.setAttribute("id",'idg00_'+level);
214      option.setAttribute("value",0);
215      //pridat option do selectu
216      selectGp.appendChild(option);
217
218      // Vytvorit info odelovac - pokud neni nalezna skupina
219      if(isItem == 0){
220         // Pokud je prvni level nastavit na nerozhoduje, pro dalsi prvek pro info o vyberu
221         if(level == 0){
222            $('idg00_'+level).setProperty('selected','selected');
223         }
224         else{
225            option = document.createElement("option");
226            option.appendChild(document.createTextNode(langGroup));
227            option.setAttribute("id",'idg0_'+level);
228            option.setAttribute("value",0);
229            option.setAttribute("selected","selected");
230            //pridat option do selectu
231            selectGp.appendChild(option);
232         }
233      }
234
235      // Nastavit prvky selectu
236      buildSelectGp(selectGp,groupuscule,level);
237
238      // Pridat select do boxu podle stupne
239      if(level !=0) selectBox.appendChild(selectGp);
240      else selectBox0.appendChild(selectGp);
241   }
242
243   // Zapnout selecty - jen pokud jsou nalezeny nejake prvky
244   $('id_znacka_id').removeProperty('disabled');
245   $('id_kategorie_id').removeProperty('disabled');
246
247   // Zavrit okno
248   ViewPort.close();
249}
250/* zpracovani selektiniho pozadavku - reset */
251function navigationSelectiveReset(urlForm,infotext){
252    var url = urlForm + '?';
253    var timeStamp = "casotisk=" + new Date().getTime();
254    var param = 'm=0&c=0&g=0&level=0';
255    var urlPost = url + timeStamp;
256    var postData = param;
257
258    toggleShowEl('infoscreennav');
259    ViewPort.centerObject(jQuery('#infoscreennav'));
260
261    var myAjax = new Ajax(urlPost, {method: 'post',postBody: postData,onComplete: resultNavigationSelectiveReset }).request();
262}
263/* Zpracovani vysledku pro obnovu navigace */
264function resultNavigationSelectiveReset(){
265
266   var xmlDoc = this.response.xml;
267   var items = null;
268   var heads = null;
269   var itemFalse = '';
270   var itemid = '';
271   //ziskat id m
272   var mid = xmlDoc.getElementsByTagName('m')[0].firstChild.data;
273   //ziskat id c
274   var cid = xmlDoc.getElementsByTagName('c')[0].firstChild.data;
275   //ziskat id g
276   var gid = xmlDoc.getElementsByTagName('g')[0].firstChild.data;
277
278   //ziskat znacky
279   var mark = xmlDoc.getElementsByTagName('mark');
280   //ziskat kategorie
281   var category = xmlDoc.getElementsByTagName('category');
282
283   //znacky
284   var selectmark = document.getElementById('id_znacka_id');
285   removeSelect('id_znacka_id');
286   buildSelect(selectmark,mark,mid);
287
288   //kategorie
289   var selectcategory = document.getElementById('id_kategorie_id');
290   removeSelect('id_kategorie_id');
291   buildSelect(selectcategory,category,cid);
292
293   //skupinky - potomci - smazat
294   removeSelect('skupinka_select');
295
296   // Ziskat skupinky
297   var groupuscule = xmlDoc.getElementsByTagName('groupuscule');
298   var selectGp = document.getElementById('id_skupinka_0');
299   removeSelect('id_skupinka_0');
300
301   // Vytvorit prvni polozku option
302   var option = document.createElement("option");
303   option.appendChild(document.createTextNode('Zpět'));
304   option.setAttribute("id",'idg00_0');
305   option.setAttribute("value",0);
306   //pridat option do selectu
307   selectGp.appendChild(option);
308
309   // Vytvorit info odelovac - pokud neni nalezna skupina
310   option = document.createElement("option");
311   option.appendChild(document.createTextNode('-- vyberte skupinku --'));
312   option.setAttribute("id",'idg0_0');
313   option.setAttribute("value",0);
314   option.setAttribute("selected","selected");
315   //pridat option do selectu
316   selectGp.appendChild(option);
317   // Nastavit prvky selectu
318   buildSelectGp(selectGp,groupuscule,'0');
319
320   // Nastavit level
321   $('idg0_0').setProperty('selected','selected');
322
323   // Nastavit level
324   $('skupinka_level').setProperty('value',0);
325   // Nastavit skupinku id
326   $('id_skupinka_id').setProperty('value',0);
327
328   // Zapnout selecty - jen pokud jsou nalezeny nejake prvky
329   $('id_znacka_id').removeProperty('disabled');
330   $('id_kategorie_id').removeProperty('disabled');
331   $('id_skupinka_0').removeProperty('disabled');
332   // Zviditelnit tlacitko pro odeslani
333   $('id_catalog_submit_send').addClass('hidden');
334
335   // Zavrit okno
336   ViewPort.close();
337}
338
339/* vytvorit polozky selectu pro skupinky */
340function buildSelectGp(elementSelect,elementItem,level){
341   //projit polozky
342   for(var i=0;i < elementItem.length;i++){
343      var nameItem = getContent(getElByName(elementItem[i], 'name')[0]);
344      var idItem = getContent(getElByName(elementItem[i], 'id')[0]);
345
346      option = document.createElement("option");
347      option.appendChild(document.createTextNode(nameItem));
348      option.setAttribute("id",'idg'+idItem+'_'+level);
349      option.setAttribute("value",idItem);
350      //pridat option do selectu
351      elementSelect.appendChild(option);
352   }
353}

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.