PageSourceSearch

https://nevgen.org/js/nevgen/nevgen.functions.js

js nevgen.org collected 2026-10-02 10:30:57 UTC 17,829 bytes, 538 lines download raw bytes

1 function NadjiMarkerimaNjihovoMjesto() { 
2	  
3	  var inpZaNiz = $('#inputZaNiz').val();
4	 
5	  var izabraniniz = $('input[name="izabraniporedak"]:checked').val();
6	  
7	  //ftdna Poredak
8	  if(izabraniniz==0){
9	    
10	    inpZaNiz = pripremiFtdnaPoredak(inpZaNiz);
11	    
12	    //alert(inpZaNiz);
13	      
14	    var uneseneOznakeNiz = inpZaNiz.split(',')
15	    
16	    //alert(uneseneOznakeNiz);
17	    
18	    var uneseneoznake= new Array();
19	    
20	    for	(index = 0, indexPoredak = 0; index < uneseneOznakeNiz.length; index++, indexPoredak++) {
21	      
22	      
23	      if(uneseneOznakeNiz[index] == "") continue;
24	    
25	      switch(index) {
26    
27            case 4:
28                DodajVrijednostUTabeluZaDvijeOznakeZaredom(uneseneOznakeNiz[index],"DYS385a","DYS385b",indexPoredak);
29                uneseneoznake.push("DYS385a");
30                uneseneoznake.push("DYS385b");
31                indexPoredak++;
32                break;
33            
34            case 12:
35                DodajVrijednostUTabeluZaDvijeOznakeZaredom(uneseneOznakeNiz[index],"DYS459a","DYS459b",indexPoredak);
36                uneseneoznake.push("DYS459a");
37                uneseneoznake.push("DYS459b");
38                indexPoredak++
39                break;
40            
41            case 19:
42                DodajVrijednostUTabeluZaCetiriOznakeZaredom(uneseneOznakeNiz[index],"DYS464a","DYS464b","DYS464c","DYS464d",indexPoredak);
43                uneseneoznake.push("DYS464a");
44                uneseneoznake.push("DYS464b");
45                uneseneoznake.push("DYS464c");
46                uneseneoznake.push("DYS464d");
47                indexPoredak=indexPoredak+3;
48                break;
49            
50            case 22:
51                DodajVrijednostUTabeluZaDvijeOznakeZaredom(uneseneOznakeNiz[index],"YCAIIa","YCAIIb",indexPoredak);
52                uneseneoznake.push("YCAIIa");
53                uneseneoznake.push("YCAIIb");
54                indexPoredak++
55                break;
56            
57            case 27:
58                DodajVrijednostUTabeluZaDvijeOznakeZaredom(uneseneOznakeNiz[index],"CDYa","CDYb",indexPoredak);
59                uneseneoznake.push("CDYa");
60                uneseneoznake.push("CDYb");
61                indexPoredak++
62                break;
63            
64            case 32:
65                DodajVrijednostUTabeluZaDvijeOznakeZaredom(uneseneOznakeNiz[index],"DYF395a","DYF395b",indexPoredak);
66                uneseneoznake.push("DYF395a");
67                uneseneoznake.push("DYF395b");
68                indexPoredak++
69                break;
70            
71            case 40:
72                DodajVrijednostUTabeluZaDvijeOznakeZaredom(uneseneOznakeNiz[index],"DYS413a","DYS413b",indexPoredak);
73                uneseneoznake.push("DYS413a");
74                uneseneoznake.push("DYS413b");
75                indexPoredak++
76                break;
77
78            default:
79            
80                var vrijednost = uneseneOznakeNiz[index];
81                var vrijednosti = vrijednost.split("-");
82                var oznaka = dajFtdnaPoredak[indexPoredak];
83                uneseneoznake.push(oznaka);
84                DodajVrijednostUTabelu(oznaka,vrijednosti[0]);
85                
86            
87                break;
88	      }
89	      
90	      
91	      
92	  }
93	  
94	    if(uneseneOznakeNiz.length < dajFtdnaPoredak.length)
95        {
96            var diff = diffArray(dajFtdnaPoredak,uneseneoznake);
97            
98            for	(i = 0; i < diff.length ; i++) 
99            {
100	            var oznaka = diff[i];
101	            DodajVrijednostUTabelu(oznaka,0);
102            }
103        }
104	  
105	  }
106	  
107	  //poredak 17 oznaka
108	  else if (izabraniniz == 1){
109	      
110	      inpZaNiz =  pripremiPoredak(inpZaNiz);
111	      
112	      var uneseneOznakeNiz = inpZaNiz.split(' ')
113	      
114	      var uneseneoznake= new Array();
115	       
116	     for (index = 0, indexPoredak = 0; index < uneseneOznakeNiz.length; index++, indexPoredak++) 
117	     {
118	      
119    	      if(uneseneOznakeNiz[index] == "") continue;
120    	    
121        	      switch(index) {
122        
123                    default:
124                    
125                        var vrijednost = uneseneOznakeNiz[index];
126                        var vrijednosti = vrijednost.split("-");
127                        var oznaka = dajPoredak17Oznaka[indexPoredak];
128                        uneseneoznake.push(oznaka);
129                        DodajVrijednostUTabelu(oznaka,vrijednosti[0]);
130                    
131                        break;
132        	      }
133    	}
134    	
135    	 if(uneseneOznakeNiz.length < dajPoredak17Oznaka.length)
136        {
137            var diff = diffArray(dajPoredak17Oznaka,uneseneoznake);
138            
139            for	(i = 0; i < diff.length ; i++) 
140            {
141	            var oznaka = diff[i];
142	            DodajVrijednostUTabelu(oznaka,0);
143            }
144        }
145    	
146	}
147	
148	  //poredak 23 oznake
149	  else if (izabraniniz == 3){
150	      
151	      inpZaNiz =  pripremiPoredak(inpZaNiz);
152	     
153	      var uneseneOznakeNiz = inpZaNiz.split(' ')
154	      
155	      var uneseneoznake= new Array();
156	       
157	     for (index = 0, indexPoredak = 0; index < uneseneOznakeNiz.length; index++, indexPoredak++) 
158	     {
159	      
160    	      if(uneseneOznakeNiz[index] == "") continue;
161    	    
162        	      switch(index) {
163        
164                    default:
165                    
166                        var vrijednost = uneseneOznakeNiz[index];
167                        var vrijednosti = vrijednost.split("-");
168                        var oznaka = dajPoredak23Oznake[indexPoredak];
169                        uneseneoznake.push(oznaka);
170                        DodajVrijednostUTabelu(oznaka,vrijednosti[0]);
171                    
172                        break;
173        	      }
174    	}
175    	
176    	 if(uneseneOznakeNiz.length < dajPoredak23Oznake.length)
177        {
178            var diff = diffArray(dajPoredak23Oznake,uneseneoznake);
179            
180            for	(i = 0; i < diff.length ; i++) 
181            {
182	            var oznaka = diff[i];
183	            DodajVrijednostUTabelu(oznaka,0);
184            }
185        }
186    	
187	}
188 }
189 
190 function DodajVrijednostUTabeluZaDvijeOznakeZaredom(vrijednost,oznaka1,oznaka2,index){
191                
192                var vrijednosti = vrijednost.split("-");
193                
194                if(vrijednosti.length==1)
195                {
196                    DodajVrijednostUTabelu(oznaka1,vrijednosti[0]);
197                    DodajVrijednostUTabelu(oznaka2,0);
198                }
199                else{
200                    
201                    DodajVrijednostUTabelu(oznaka1,vrijednosti[0]);
202                    DodajVrijednostUTabelu(oznaka2,vrijednosti[1]);
203                }
204                
205                index = index+2;
206                
207        return index;
208 }
209 
210 function DodajVrijednostUTabeluZaCetiriOznakeZaredom(vrijednost,oznaka1,oznaka2,oznaka3,oznaka4,index){
211                
212                var vrijednosti = vrijednost.split("-");
213                
214                if(vrijednosti.length==1)
215                {
216                    DodajVrijednostUTabelu(oznaka1,vrijednosti[0]);
217                    DodajVrijednostUTabelu(oznaka2,0);
218                    DodajVrijednostUTabelu(oznaka3,0);
219                    DodajVrijednostUTabelu(oznaka4,0);
220                }
221                else if(vrijednosti.length==2){
222                    
223                    DodajVrijednostUTabelu(oznaka1,vrijednosti[0]);
224                    DodajVrijednostUTabelu(oznaka2,vrijednosti[1]);
225                    DodajVrijednostUTabelu(oznaka3,0);
226                    DodajVrijednostUTabelu(oznaka4,0);
227                }
228                else if(vrijednosti.length==3){
229                    
230                    DodajVrijednostUTabelu(oznaka1,vrijednosti[0]);
231                    DodajVrijednostUTabelu(oznaka2,vrijednosti[1]);
232                    DodajVrijednostUTabelu(oznaka3,vrijednosti[2]);
233                    DodajVrijednostUTabelu(oznaka4,0);
234                }
235                else if (vrijednosti.length==4){
236                    
237                    DodajVrijednostUTabelu(oznaka1,vrijednosti[0]);
238                    DodajVrijednostUTabelu(oznaka2,vrijednosti[1]);
239                    DodajVrijednostUTabelu(oznaka3,vrijednosti[2]);
240                    DodajVrijednostUTabelu(oznaka4,vrijednosti[3]);
241                }
242                
243                
244        return index + 4;
245 }
246 
247 function DodajVrijednostUTabelu(oznaka,vrijednost){
248     
249     var  selectedval =  $("select[data-name='mark-select-"+oznaka+"']").val();
250     
251    //alert(selectedval);
252    //alert(vrijednost);
253     
254     if(selectedval===vrijednost) return;
255     
256     
257     if(vrijednost==0)
258     {	
259         var s = $('#'+oznaka);
260          $(s).val(vrijednost);
261          $(s).closest('td').removeClass( "nevgen-warning-limit");
262          $(s).closest('td').addClass("nevgen-disabled-select");
263        return;
264     }
265     
266     
267      $("select[data-name='mark-select-"+oznaka+"']").hide("slow","swing",function() {
268           
269        var  selected =  $('#'+oznaka +' option[value='+vrijednost+']');
270		
271		var s = $('#'+oznaka);
272		
273	   
274	    var prvaopcija = $('#'+oznaka +' option:eq(1)').val();
275
276    	if(Number(vrijednost) <= Number(prvaopcija)){
277    		
278    		$(s).val(prvaopcija);
279    		$(s).closest('td').addClass( "nevgen-warning-limit");
280            $(s).closest('td').removeClass("nevgen-disabled-select");
281    		return;
282    	}
283    	else{
284    		var posljednjaopcija = $('#'+oznaka +' option:last-child').val();
285
286    		if(Number(vrijednost) >= Number(posljednjaopcija)){
287    		    
288                $(s).val(posljednjaopcija);
289                $(s).closest('td').addClass( "nevgen-warning-limit");
290                $(s).closest('td').removeClass("nevgen-disabled-select");
291                return;
292            }
293		    else{
294        		 $(s).val(vrijednost);
295        		 $(s).closest('td').removeClass("nevgen-warning-limit");
296        		 $(s).closest('td').removeClass("nevgen-disabled-select");
297        		 return;
298		    }
299		    
300		    
301		}
302		
303     }).show("slow", "swing");
304 }
305
306 function PrebaciOznakeUNiz(obj) { 
307     
308      var izabraniniz = $('input[name="izabraniporedak"]:checked').val();
309     
310     $(obj).closest('td').removeClass("nevgen-disabled-select");
311     $(obj).closest('td').removeClass("nevgen-warning-limit");
312     $(obj).closest('td').removeClass("nevgen-warning-marker-value");
313     
314	 $('#inputZaNiz').val('');
315	 
316	 var str = '';
317	 
318	 //ftdna Poredak
319	 if(izabraniniz == 0)
320	 {
321	 for(index = 0; index < dajFtdnaPoredak.length; index++) 
322	 {
323        
324	     var s = $('#'+dajFtdnaPoredak[index]);
325	     
326	     switch(index) {
327    
328            case 4:
329                var DYS385a =  $('#'+dajFtdnaPoredak[index]).find(":selected").val();
330                index++;
331                var DYS385b =  $('#'+dajFtdnaPoredak[index]).find(":selected").val();
332                str = str + DYS385a + "-" + DYS385b + ',';;
333                break;
334            case 13:
335                var DYS459a =  $('#'+dajFtdnaPoredak[index]).find(":selected").val();
336                 index++;
337                var DYS459b =  $('#'+dajFtdnaPoredak[index]).find(":selected").val();
338                str = str + DYS459a + "-" + DYS459b+ ',';;
339                break;
340            case 21:  
341                var DYS464a =  $('#'+dajFtdnaPoredak[index]).find(":selected").val();
342                 index++;
343                var DYS464b =  $('#'+dajFtdnaPoredak[index]).find(":selected").val();
344                 index++;
345                var DYS464c =  $('#'+dajFtdnaPoredak[index]).find(":selected").val();
346                 index++;
347                var DYS464d =  $('#'+dajFtdnaPoredak[index]).find(":selected").val();
348                str = str + DYS464a + "-" + DYS464b  + "-" + DYS464c + "-" +  DYS464d+ ',';
349                break;
350            case 27:
351                var YCAIIa=  $('#'+dajFtdnaPoredak[index]).find(":selected").val();
352                index++;
353                var YCAIIb =  $('#'+dajFtdnaPoredak[index]).find(":selected").val();
354                str = str + YCAIIa + "-" + YCAIIb+ ',';
355                break;
356            case 33:
357                var CDYa =  $('#'+dajFtdnaPoredak[index]).find(":selected").val();
358                 index++;
359                var CDYb =  $('#'+dajFtdnaPoredak[index]).find(":selected").val();
360                str = str + CDYa + "-" + CDYb+ ',';
361                break;
362            case 39:
363                var DYF395a =  $('#'+dajFtdnaPoredak[index]).find(":selected").val();
364                 index++;
365                var DYF395b =  $('#'+dajFtdnaPoredak[index]).find(":selected").val();
366                str = str + DYF395a + "-" + DYF395b+ ',';
367                break;
368            case 48:
369                var DYS413a =  $('#'+dajFtdnaPoredak[index]).find(":selected").val();
370                  index++;
371                var DYS413b =  $('#'+dajFtdnaPoredak[index]).find(":selected").val();
372                str = str + DYS413a + "-" + DYS413b+ ',';
373                break;
374            default:
375            
376            str = str + $('#'+dajFtdnaPoredak[index]).find(":selected").val()+ ',';
377                
378            
379	     }
380	     
381		
382	}
383	
384        var n = str.lastIndexOf(",");
385		
386		if (n > -1) {
387		    
388          tr = str.substring(0,n);
389        }
390        
391         var zarez = str.endsWith(",");
392    
393         str = str.substring(0,str.lastIndexOf(","));
394            
395         str = izbrisiPoslednjuNulu(str);
396    
397    	 $('#inputZaNiz').val(str);
398
399	 }
400	 else if(izabraniniz==1)
401	 {
402	      for(index = 0; index < dajPoredak17Oznaka.length; index++) 
403    	 {
404            
405    	     var s = $('#'+dajPoredak17Oznaka[index]);
406    	     
407    	     str = str + $('#'+dajPoredak17Oznaka[index]).find(":selected").val()+ ' ';
408    	     
409    	      $('#inputZaNiz').val(str);
410    	 }
411	     
412	 }
413	 
414	else if(izabraniniz==3)
415	 {
416	      for(index = 0; index < dajPoredak23Oznake.length; index++) 
417    	 {
418            
419    	     var s = $('#'+dajPoredak23Oznake[index]);
420    	     
421    	     str = str + $('#'+dajPoredak23Oznake[index]).find(":selected").val()+ ' ';
422    	     
423    	      $('#inputZaNiz').val(str);
424    	 }
425	     
426	 }
427	 
428   bindautogrowfunction();
429	 
430 }
431 
432 function izbrisiPoslednjuNulu(str){
433    
434     //Kolla även 0-0 och  0-0-0-0 
435     var m = str.endsWith(",0");
436     
437     if(m)
438        {
439            str = str.substring(0,str.lastIndexOf(",0"));
440            return izbrisiPoslednjuNulu(str);
441        }
442        
443    else{
444         var m1 = str.endsWith(",0-0");
445         if(m1){
446             
447            str = str.substring(0,str.lastIndexOf(",0-0"));
448            return izbrisiPoslednjuNulu(str);
449         }
450         else{
451             var m2 = str.endsWith(",0-0-0-0");
452             if(m2){
453             
454            str = str.substring(0,str.lastIndexOf(",0-0-0-0"));
455            return izbrisiPoslednjuNulu(str);
456         }
457    }
458        return str;
459    }
460 }
461 
462 
463 function provjeriVrijednostDYS389IDYS389II(obj){
464        var vrijednostDYS389I = Number($('#DYS389I').val());
465        var vrijednostDYS389II = Number($('#DYS389II').val());
466        //alert('vrijednost DYS389I: '+vrijednostDYS389I + 'vrijednost DYS389II: '+vrijednostDYS389II);
467    
468        try{
469            if ((vrijednostDYS389II == 0) || ((vrijednostDYS389II > vrijednostDYS389I) && (vrijednostDYS389I > 0)))
470            {
471                  MakniUpozorenjeSaDYS389II();
472                                
473
474            }
475            else{
476                  PostaviUpozorenjeNaDYS389II();
477                 
478            }
479        }
480        catch(err) {
481            MakniUpozorenjeSaDYS389II();
482        }
483  
484}
485
486function MakniUpozorenjeSaDYS389II(){
487    $('#tdDYS389II').removeClass('nevgen-warning-marker-value');
488    $('#tdDYS389II').attr("data-original-title", "");
489    $('#tdDYS389II').tooltip('hide'); 
490}
491
492function PostaviUpozorenjeNaDYS389II(){
493     $('#tdDYS389II').addClass('nevgen-warning-marker-value');
494     $('#tdDYS389II').attr("data-original-title", window.lang.translate("Predictor calculates the difference between the markers DYS389II and DYS389I. Therefore, the DYS389II value cannot be less than the value DYS389I."));
495         
496         //"Predviđač računa sa razlikom između oznaka DYS389II i DYS389I. Stoga vrednost DYS389II ne može biti manja od vrednosti DYS389I."));
497     $('#tdDYS389II').tooltip('show');
498                 
499}
500
501 function diffArray(a, b) {
502  var seen = [], diff = [];
503  for ( var i = 0; i < b.length; i++)
504      seen[b[i]] = true;
505  for ( var i = 0; i < a.length; i++)
506      if (!seen[a[i]])
507          diff.push(a[i]);
508  return diff;
509}
510
511function pripremiFtdnaPoredak(inpZaNiz){
512    
513	  inpZaNiz = pripremiPoredak(inpZaNiz);
514	  inpZaNiz = inpZaNiz.replace(/ +/g, ",");
515	  
516	  return inpZaNiz;
517}
518
519function pripremiPoredak(inpZaNiz){
520
521	  inpZaNiz = $.trim(inpZaNiz);
522	  inpZaNiz = inpZaNiz.replace(/\t+/g, " ")
523	  
524	  return inpZaNiz;
525}
526
527
528if (!String.prototype.endsWith) {
529  String.prototype.endsWith = function(searchString, position) {
530      var subjectString = this.toString();
531      if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {
532        position = subjectString.length;
533      }
534      position -= searchString.length;
535      var lastIndex = subjectString.indexOf(searchString, position);
536      return lastIndex !== -1 && lastIndex === position;
537  };
538}

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.