PageSourceSearch

https://kurlarim.com/frontend/main_https.js?v=1.31790904825

js kurlarim.com collected 2026-10-02 01:33:57 UTC 14,347 bytes, 405 lines download raw bytes

1function number_format(number, decimals, dec_point, thousands_sep) {
2    // *     example 1: number_format(1234.56);
3    // *     returns 1: '1,235'
4    // *     example 2: number_format(1234.56, 2, ',', ' ');
5    // *     returns 2: '1 234,56'
6    // *     example 3: number_format(1234.5678, 2, '.', '');
7    // *     returns 3: '1234.57'
8    // *     example 4: number_format(67, 2, ',', '.');
9    // *     returns 4: '67,00'
10    // *     example 5: number_format(1000);
11    // *     returns 5: '1,000'
12    // *     example 6: number_format(67.311, 2);
13    // *     returns 6: '67.31'
14    // *     example 7: number_format(1000.55, 1);
15    // *     returns 7: '1,000.6'
16    // *     example 8: number_format(67000, 5, ',', '.');
17    // *     returns 8: '67.000,00000'
18    // *     example 9: number_format(0.9, 0);
19    // *     returns 9: '1'
20    // *    example 10: number_format('1.20', 2);
21    // *    returns 10: '1.20'
22    // *    example 11: number_format('1.20', 4);
23    // *    returns 11: '1.2000'
24    // *    example 12: number_format('1.2000', 3);
25    // *    returns 12: '1.200'
26    // *    example 13: number_format('1 000,50', 2, '.', ' ');
27    // *    returns 13: '100 050.00'
28    // Strip all characters but numerical ones.
29    number = (number + '').replace(/[^0-9+\-Ee.]/g, '');
30    var n = !isFinite(+number) ? 0 : +number,
31        prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
32        sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
33        dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
34        s = '',
35        toFixedFix = function (n, prec) {
36            var k = Math.pow(10, prec);
37            return '' + Math.round(n * k) / k;
38        };
39    // Fix for IE parseFloat(0.55).toFixed(0) = 0;
40    s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
41    if (s[0].length > 3) {
42        s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
43    }
44    if ((s[1] || '').length < prec) {
45        s[1] = s[1] || '';
46        s[1] += new Array(prec - s[1].length + 1).join('0');
47    }
48    return s.join(dec);
49}
50
51function formatMoney(number, decPlaces, decSep, thouSep) {
52    decPlaces = isNaN(decPlaces = Math.abs(decPlaces)) ? 2 : decPlaces,
53    decSep = typeof decSep === "undefined" ? "." : decSep;
54    thouSep = typeof thouSep === "undefined" ? "," : thouSep;
55    var sign = number < 0 ? "-" : "";
56    var i = String(parseInt(number = Math.abs(Number(number) || 0).toFixed(decPlaces)));
57    var j = (j = i.length) > 3 ? j % 3 : 0;
58
59    return sign +
60    	(j ? i.substr(0, j) + thouSep : "") +
61    	i.substr(j).replace(/(\decSep{3})(?=\decSep)/g, "$1" + thouSep) +
62    	(decPlaces ? decSep + Math.abs(number - i).toFixed(decPlaces).slice(2) : "");
63}
64
65function flashLiveCell($el, nextText) {
66    if (!$el || !$el.length) return;
67
68    var prevRaw = ($el.text() || '').replace(/[^\d,.\-]/g, '').replace(/\./g, '').replace(',', '.');
69    var nextRaw = String(nextText || '').replace(/[^\d,.\-]/g, '').replace(/\./g, '').replace(',', '.');
70    var prevNum = parseFloat(prevRaw);
71    var nextNum = parseFloat(nextRaw);
72
73    $el.removeClass('valueIncreased valueDecreased');
74    if ($el[0]) {
75        void $el[0].offsetWidth;
76    }
77
78    if (isFinite(prevNum) && isFinite(nextNum) && prevNum !== nextNum) {
79        $el.addClass(nextNum > prevNum ? 'valueIncreased' : 'valueDecreased');
80    }
81
82    $el.empty().append(nextText);
83}
84
85$(document).ready(function () {
86
87// MAINTENANCE || ISSUE || WARNING MESSAGE
88//       $('body').append(`
89//     <div style="position: fixed; top: 0; left: 0; right: 0; background: #D26466; width: 100%; height: auto; color: white; padding: 5px; text-align: center; font-size: 14px; z-index: 100000;">
90//       Değerli kullanıcılarımız yaşamakta olduğumuz teknik bir arızadan ötürü güncel verileri geçici olarak gösteremiyoruz. Anlayışınız için teşekkür ederiz.
91//     </div>
92// `);
93
94    $.ajaxSetup({
95        headers: {
96            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
97        }
98    });
99
100    var socket = io.connect('https://www.kurlarim.com:8381');
101    socket.emit('kuralarimGroupLogin',{room:'kurlarimGroups'});
102    socket.on('kurlarimGroupResponse',function(msg) {
103        let data = JSON.parse(msg.response);
104
105        let hours = data.dtime;
106        if(typeof hours == 'undefined'){
107          var local = new Date();
108          var h = local.getHours();
109          var m = local.getMinutes();
110
111          if(h <= 9){ h = "0" + local.getHours(); }
112          if(m <= 9){ m = "0" + local.getMinutes(); }
113
114          hours = h + ":" + m;
115
116        }
117
118        if(typeof data.C !== 'undefined'){
119            $('.frRate'+ data._i).empty().append('% '+ number_format(data.C,2,'.',''));
120            $('.frTime' + data._i).empty().append(hours);
121        }
122        if(typeof data.a !== 'undefined'){
123            var askText;
124            if(data._i == 'o1698'){
125                askText = formatMoney(data.a,2, ".", ",");
126            }else if(data._i == 'o461'){
127                askText = formatMoney(data.a,2, ".", ",");
128            }else if(data._i == 'o15'){
129                askText = formatMoney(data.a,4, ".", ",");
130            }else{
131                askText = formatMoney(data.a,4, ".", ",");
132            }
133
134            flashLiveCell($('.frSValue'+ data._i), askText);
135            $('.frTime' + data._i).empty().append(hours);
136        }
137        if(typeof data.b !== 'undefined'){
138          var bidText;
139          if(data._i == 'o1698'){
140              bidText = formatMoney(data.b,2, ".", ",");
141          }else if(data._i == 'o461'){
142              bidText = formatMoney(data.b,2, ".", ",");
143          }else{
144            bidText = formatMoney(data.b,4, ".", ",");
145          }
146
147          flashLiveCell($('.frValue'+ data._i), bidText);
148          $('.frTime' + data._i).empty().append(hours);
149        }
150
151        if(typeof data.d !== 'undefined'){
152            let $frHeadVal = $('.frHeadVal'+ data._i);
153
154            if ($frHeadVal.hasClass("valueIncreased")) {
155                $frHeadVal.removeClass("valueIncreased");
156            }
157
158            if ($frHeadVal.hasClass("valueDecreased")) {
159                $frHeadVal.removeClass("valueDecreased");
160            }
161
162            if(data.d == '1'){
163                $frHeadVal.addClass("valueIncreased");
164            }else if(data.d == '-1'){
165                $frHeadVal.addClass("valueDecreased");
166            }
167        }
168
169        if(typeof data.C !== 'undefined'){
170            let c = Math.sign(data.C);
171
172            let $farrow = $('.frArrow'+ data._i);
173            let $farrow3 = $('.frArrow3'+ data._i);
174            let $frHeadVal = $('.frHeadVal'+ data._i);
175            let $frBadge   = $('.frBadge'+ data._i);
176
177            if ($farrow.hasClass("up")) {
178                $farrow.removeClass("up");
179            }
180
181            if ($frBadge.hasClass("bggreen")) {
182                $frBadge.removeClass("bggreen");
183            }
184
185            if ($frBadge.hasClass("bgred")) {
186                $frBadge.removeClass("bgred");
187            }
188
189            if ($frHeadVal.hasClass("valueIncreased")) {
190                $frHeadVal.removeClass("valueIncreased");
191            }
192
193            if ($farrow.hasClass("down")) {
194                $farrow.removeClass("down");
195            }
196
197            if ($frHeadVal.hasClass("valueDecreased")) {
198                $frHeadVal.removeClass("valueDecreased");
199            }
200
201            if(c == '1'){
202                $farrow3.empty().append('<i class="fa fa-arrow-up up"></i>');
203                $farrow.addClass("up");
204                $frHeadVal.addClass("valueIncreased");
205                $frBadge.addClass("bggreen");
206            }else if(c == '-1'){
207                $farrow3.empty().append('<i class="fa fa-arrow-down down"></i>');
208                $farrow.addClass("down");
209                $frHeadVal.addClass("valueDecreased");
210                $frBadge.addClass("bgred");
211            }
212        }
213    });
214
215});
216
217function kmHideUnfilledAds() {
218    var slots = document.querySelectorAll('ins.adsbygoogle');
219    for (var i = 0; i < slots.length; i++) {
220        var status = slots[i].getAttribute('data-ad-status') || '';
221        if (status.indexOf('unfill') === 0) {
222            slots[i].style.setProperty('display', 'none', 'important');
223            slots[i].style.height = '0';
224            var box = slots[i].closest('.km-ad-slot') || slots[i].closest('.mb-3');
225            if (box) box.style.display = 'none';
226        }
227    }
228}
229
230$(document).ready(function(){
231    kmHideUnfilledAds();
232    if (window.MutationObserver) {
233        new MutationObserver(kmHideUnfilledAds).observe(document.documentElement, {
234            attributes: true,
235            subtree: true,
236            attributeFilter: ['data-ad-status']
237        });
238    }
239    $.typeahead({
240        input: '.js-typeahead-country_v2',
241        minLength: 1,
242        order: "asc",
243        dynamic: true,
244        hint: true,
245        highlight: true,
246        debug: false,
247        maxItem: 38,
248        limit: Infinity,
249        source: {
250            curren: {
251                display: "name",
252                href: function (item) {
253                    return item.link
254                },
255                ajax: [{
256                    type: "GET",
257                    url: "/search-auto",
258                    data: {
259                        q: "{{query}}"
260                    }
261                },"data.curren"],
262                template: "{{displayCode}} <small style='color:#999;'>Kurlar</small>"
263            },
264            currcode: {
265                display: "name",
266                href: function (item) {
267                    return item.link
268                },
269                ajax: [{
270                    type: "GET",
271                    url: "/search-auto",
272                    data: {
273                        q: "{{query}}"
274                    }
275                },"data.currcode"],
276                template: "{{displayCode}} <small style='color:#999;'>Kurlar</small>"
277            },
278            gold: {
279                 display: "name",
280                href: function (item) {
281                    return item.link
282                },
283                ajax: [{
284                    type: "GET",
285                    url: "/search-auto",
286                    data: {
287                        q: "{{query}}"
288                    }
289                },"data.gold"],
290                template: "{{displayCode}} <small style='color:#999;'>Altın Türleri</small>"
291            },
292            goldcode: {
293                display: "name",
294                href: function (item) {
295                    return item.link
296                },
297                ajax: [{
298                    type: "GET",
299                    url: "/search-auto",
300                    data: {
301                        q: "{{query}}"
302                    }
303                },"data.goldcode"],
304                template: "{{displayCode}} <small style='color:#999;'>Altın Türleri</small>"
305            },
306            news: {
307                display: "name",
308                href: function (item) {
309                    return item.link
310                },
311                ajax: [{
312                    type: "GET",
313                    url: "/search-auto",
314                    data: {
315                        q: "{{query}}"
316                    }
317                },"data.news"],
318                template: "{{displayCode}} <small style='color:#999;'>Haberler</small>"
319            },
320            parity: {
321                display: "name",
322                href: function (item) {
323                    return item.link
324                },
325                ajax: [{
326                    type: "GET",
327                    url: "/search-auto",
328                    data: {
329                        q: "{{query}}"
330                    }
331                },"data.parity"],
332                template: "{{displayCode}} <small style='color:#999;'>Pariteler</small>"
333            },
334            paritycode: {
335                display: "name",
336                href: function (item) {
337                    return item.link
338                },
339                ajax: [{
340                    type: "GET",
341                    url: "/search-auto",
342                    data: {
343                        q: "{{query}}"
344                    }
345                },"data.paritycode"],
346                template: "{{displayCode}} <small style='color:#999;'>Pariteler</small>"
347            }
348        }
349    });
350
351    function kmBestSearchLink(data, q) {
352        var up = $.trim(String(q || '')).toUpperCase();
353        var coded = ['currcode', 'goldcode', 'paritycode'];
354        var groups = ['currcode', 'goldcode', 'paritycode', 'curren', 'gold', 'parity', 'news'];
355        var i, j, list, item;
356        for (i = 0; i < coded.length; i++) {
357            list = data[coded[i]] || [];
358            for (j = 0; j < list.length; j++) {
359                item = list[j];
360                if (item && String(item.name || '').toUpperCase() === up && item.link) return item.link;
361            }
362        }
363        for (i = 0; i < groups.length; i++) {
364            list = data[groups[i]] || [];
365            if (list[0] && list[0].link) return list[0].link;
366        }
367        return '';
368    }
369
370    function kmRunSearch(form) {
371        var q = $.trim($(form).find('.js-typeahead-country_v2').val() || '');
372        if (!q) return false;
373        var picked = $(form).find('.typeahead__item.active a').attr('href');
374        if (picked) {
375            window.location.href = picked;
376            return false;
377        }
378        $.getJSON('/search-auto', { q: q }).done(function (res) {
379            var link = kmBestSearchLink((res && res.data) || {}, q);
380            if (link) window.location.href = link;
381        });
382        return false;
383    }
384
385    $(document).on('submit', '#form-country_v2', function (e) {
386        e.preventDefault();
387        return kmRunSearch(this);
388    });
389
390    document.addEventListener('keydown', function (e) {
391        if (e.key !== 'Enter') return;
392        var input = e.target;
393        if (!input || !input.classList || !input.classList.contains('js-typeahead-country_v2')) return;
394        e.preventDefault();
395        e.stopPropagation();
396        var form = input.form || input.closest('form');
397        if (form) kmRunSearch(form);
398    }, true);
399    
400    
401    // For the site to refresh itself.
402    setTimeout(function () {
403        window.location.reload()
404    }, 60000);
405})

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.