1 /* 2 lg 1200px and up (center 846px;) 3 md 992px and up (center 615px;) 4 sm 768px and up (center 720px;) 5 xs 0px and up (center 718px;) 6*/ 7 8 /* 100% x 90 */ 9 function ya_ads_1() { 10 //console.log("#"+adblock_prefix+"-1", $("#"+adblock_prefix+"-1").length); 11 if ($("#"+adblock_prefix+"-1").length > 0) { 12 window.yaContextCb.push(()=>{ 13 Ya.Context.AdvManager.render({ 14 renderTo: adblock_prefix+"-1", 15 blockId: 'R-A-463347-1' 16 }) 17 }) 18 } 19 return true; 20 } 21 22 /* 100% x 90 */ 23 function ya_ads_2() { 24 //console.log("#"+adblock_prefix+"-2", $("#"+adblock_prefix+"-2").length); 25 if ($("#"+adblock_prefix+"-2").length > 0) { 26 window.yaContextCb.push(()=>{ 27 Ya.Context.AdvManager.render({ 28 renderTo: adblock_prefix+"-2", 29 blockId: 'R-A-463347-2' 30 }) 31 }) 32 } 33 return true; 34 } 35 36 /* 100% x 90 */ 37 function ya_ads_3() { 38 //console.log("#"+adblock_prefix+"-3", $("#"+adblock_prefix+"-3").length); 39 if ($("#"+adblock_prefix+"-3").length > 0) { 40 window.yaContextCb.push(()=>{ 41 Ya.Context.AdvManager.render({ 42 renderTo: adblock_prefix+"-3", 43 blockId: 'R-A-463347-3' 44 }) 45 }) 46 } 47 return true; 48 } 49 50 /* 240Ã400, 240Ã600 */ 51 function ya_ads_4() { 52 window.yaContextCb.push(()=>{ 53 Ya.Context.AdvManager.render({ 54 renderTo: adblock_prefix+"-4", 55 blockId: 'R-A-463347-4' 56 }) 57 }) 58 return true; 59 } 60 61 /* 240Ã400, 240Ã600 */ 62 function ya_ads_5() { 63 window.yaContextCb.push(()=>{ 64 Ya.Context.AdvManager.render({ 65 renderTo: adblock_prefix+"-5", 66 blockId: 'R-A-463347-5' 67 }) 68 }) 69 return true; 70 } 71 72 /* 240Ã400, 240Ã600 */ 73 function ya_ads_6() { 74 window.yaContextCb.push(()=>{ 75 Ya.Context.AdvManager.render({ 76 renderTo: adblock_prefix+"-6", 77 blockId: 'R-A-463347-6' 78 }) 79 }) 80 return true; 81 } 82 83 /* 240Ã400, 300Ã300 */ 84 function ya_ads_7() { 85 window.yaContextCb.push(()=>{ 86 Ya.Context.AdvManager.render({ 87 renderTo: adblock_prefix+"-7", 88 blockId: 'R-A-463347-7' 89 }) 90 }) 91 return true; 92 } 93 94 /* билбоÑд */ 95 function ya_ads_8() { 96 window.yaContextCb.push(()=>{ 97 Ya.Context.AdvManager.render({ 98 renderTo: adblock_prefix+"-8", 99 blockId: 'R-A-463347-8' 100 }) 101 }) 102 return true; 103 } 104 105 106 /* 100% x 90 */ 107 function ya_ads_23() { 108 //console.log("#"+adblock_prefix+"-3", $("#"+adblock_prefix+"-3").length); 109 //console.log("ya_ads_21"); 110 if ($("#"+adblock_prefix+"-3").length > 0) { 111 window.yaContextCb.push(()=>{ 112 Ya.Context.AdvManager.render({ 113 renderTo: adblock_prefix+"-3", 114 blockId: 'R-A-1962504-1' 115 }) 116 }) 117 } 118 return true; 119 } 120 121 /* 240Ã400, 240Ã600 */ 122 function ya_ads_24() { 123 //console.log("ya_ads_24"); 124 window.yaContextCb.push(()=>{ 125 Ya.Context.AdvManager.render({ 126 renderTo: adblock_prefix+"-4", 127 blockId: 'R-A-1962504-2' 128 }) 129 }) 130 return true; 131 } 132 /* 240Ã400, 240Ã600 */ 133 function ya_ads_25() { 134 //console.log("ya_ads_25"); 135 window.yaContextCb.push(()=>{ 136 Ya.Context.AdvManager.render({ 137 renderTo: adblock_prefix+"-5", 138 blockId: 'R-A-1962504-3' 139 }) 140 }) 141 return true; 142 } 143 /* 240Ã400, 240Ã600 */ 144 function ya_ads_26() { 145 //console.log("ya_ads_26"); 146 window.yaContextCb.push(()=>{ 147 Ya.Context.AdvManager.render({ 148 renderTo: adblock_prefix+"-6", 149 blockId: 'R-A-1962504-4' 150 }) 151 }) 152 return true; 153 } 154 155 156function check_ya_ads_8() { 157 if ($('.adspreloader').length == 1) { 158 $('.adspreloader').text(":("); 159 //$('.adspreloader').parent().css('height', '190px').css('min-height', '').slideUp(); 160 $('.adspreloader').parent().css('height', '105px').css('min-height', '').html('<div style="min-width: 1140px; overflow: hidden;"><a href="https://track24.ru/?g=ls-streamer-1140x100" target="_blank"><img src="https://track24.ru/img/alksjdu/ls-1140x100-4.gif"></a></div>'); 161 } 162 return true; 163} 164 165function check_ya_ads_8_render() { 166 if ($('yatag').length == 0) { 167 setTimeout(function() { 168 check_ya_ads_8_render(); 169 }, 100); 170 } 171 else { 172 //console.timeLog("check_ya_ads_8"); 173 } 174 return true; 175} 176 177 178 179 180function g_ads_1() { 181 $.getScript('//s.luxupcdnc.com/t/common_402.js').done(function() { 182 $('#'+adblock_prefix+'-1').html("<script class='__lxGc__' type='text/javascript'>((__lxGc__=window.__lxGc__||{'s':{},'b':0})['s']['_202980']=__lxGc__['s']['_202980']||{'b':{}})['b']['_597891']={'i':__lxGc__.b++};<\/script>"); 183 });
184 return true; 185 } 186 187 function g_ads_2() { 188 $.getScript('//s.luxupcdnc.com/t/common_402.js').done(function() { 189 $('#'+adblock_prefix+'-2').html("<script class='__lxGc__' type='text/javascript'>((__lxGc__=window.__lxGc__||{'s':{},'b':0})['s']['_202980']=__lxGc__['s']['_202980']||{'b':{}})['b']['_633240']={'i':__lxGc__.b++};<\/script>"); 190 }); 191 return true; 192 } 193 194 function g_ads_3() { 195 $.getScript('//s.luxupcdnc.com/t/common_402.js').done(function() { 196 $('#'+adblock_prefix+'-3').html("<script class='__lxGc__' type='text/javascript'>((__lxGc__=window.__lxGc__||{'s':{},'b':0})['s']['_202980']=__lxGc__['s']['_202980']||{'b':{}})['b']['_633507']={'i':__lxGc__.b++};<\/script>"); 197 }); 198 199 return true; 200 } 201 202 function g_ads_4() { 203 $.getScript('//s.luxupcdnc.com/t/common_402.js').done(function() { 204 $('#'+adblock_prefix+'-4').html("<script class='__lxGc__' type='text/javascript'>((__lxGc__=window.__lxGc__||{'s':{},'b':0})['s']['_202980']=__lxGc__['s']['_202980']||{'b':{}})['b']['_597890']={'i':__lxGc__.b++};<\/script>"); 205 }); 206 207 return true; 208 } 209 210 function g_ads_5() { 211 $.getScript('//s.luxupcdnc.com/t/common_402.js').done(function() { 212 $('#'+adblock_prefix+'-5').html("<script class='__lxGc__' type='text/javascript'>((__lxGc__=window.__lxGc__||{'s':{},'b':0})['s']['_202980']=__lxGc__['s']['_202980']||{'b':{}})['b']['_596530']={'i':__lxGc__.b++};<\/script>"); 213 }); 214 return true; 215 } 216 217 function g_ads_6() { 218 $.getScript('//s.luxupcdnc.com/t/common_402.js').done(function() { 219 $('#'+adblock_prefix+'-6').html("<script class='__lxGc__' type='text/javascript'>((__lxGc__=window.__lxGc__||{'s':{},'b':0})['s']['_202980']=__lxGc__['s']['_202980']||{'b':{}})['b']['_633221']={'i':__lxGc__.b++};<\/script>"); 220 }); 221 return true; 222 } 223 function g_ads_7() { 224 $.getScript('//s.luxupcdnc.com/t/common_402.js').done(function() { 225 $('#'+adblock_prefix+'-7').html("<script class='__lxGc__' type='text/javascript'>((__lxGc__=window.__lxGc__||{'s':{},'b':0})['s']['_202980']=__lxGc__['s']['_202980']||{'b':{}})['b']['_596288']={'i':__lxGc__.b++};<\/script>"); 226 }); 227 return true; 228 } 229 230 function g_ads_responsive_1() { 231 $.getScript('//s.luxupcdnc.com/t/common_402.js').done(function() { 232 $('#'+adblock_prefix+'-1').html("<script class='__lxGc__' type='text/javascript'>((__lxGc__=window.__lxGc__||{'s':{},'b':0})['s']['_202980']=__lxGc__['s']['_202980']||{'b':{}})['b']['_596293']={'i':__lxGc__.b++};<\/script>"); 233 }); 234 return true; 235 } 236 function g_ads_responsive_2() { 237 $.getScript('//s.luxupcdnc.com/t/common_402.js').done(function() { 238 $('#'+adblock_prefix+'-1').html("<script class='__lxGc__' type='text/javascript'>((__lxGc__=window.__lxGc__||{'s':{},'b':0})['s']['_202980']=__lxGc__['s']['_202980']||{'b':{}})['b']['_596294']={'i':__lxGc__.b++};<\/script>"); 239 }); 240 return true; 241 } 242 function adfox_bilboard() { 243 $('#'+adblock_prefix+'-0').html('<script>(function(w, n) { w[n] = w[n] || []; w[n].push([{ ownerId: 257193, containerId: "'+adblock_prefix+'-0", params: { pp: "ksr", ps: "deoo", p2: "fpxb" }}, [ "desktop",], { tabletWidth: 1024, phoneWidth: 767, isAutoReloads: false }]);})(window, "adfoxAsyncParamsAdaptive");<\/script>'); 244 245 } 246 function adfox_mobile() { 247 if ($('#'+adblock_prefix+'-2').is(':empty')) { 248 //$('#'+adblock_prefix+'-2').html("<script>(function(w, n) {w[n] = w[n] || []; w[n].push([{ ownerId: 257193, containerId: 'adfox_156155720504367400', params: { pk: __clADF__.state, pp: 'ksq',ps: 'deoo', p2: 'fpxb' }}, [ 'phone'], {tabletWidth: 1024, phoneWidth: 767, isAutoReloads: false }]);})(window, 'adfoxAsyncParamsAdaptive');<\/script>"); 249 $('#'+adblock_prefix+'-2').html("<script>(function(w, n) {w[n] = w[n] || []; w[n].push([{ ownerId: 257193, containerId: '"+adblock_prefix+"-2', params: { pk: __clADF__.state, pp: 'ksq',ps: 'deoo', p2: 'fpxb' }}, [ 'phone'], {tabletWidth: 1024, phoneWidth: 767, isAutoReloads: false }]);})(window, 'adfoxAsyncParamsAdaptive');<\/script>"); 250 } 251 return true; 252 } 253 254 function adfox_sticky() { 255 $('#adfox_155240045554651540').html("<script>(function(w,n){w[n]=w[n]||[];w[n].push([{ownerId:257193,containerId:'adfox_155240045554651540',params:{pk:__clADF__.state,pp:'ksp',ps:'deoo',p2:'fpxb'}},['desktop','tablet'],{tabletWidth:1024,phoneWidth:767,isAutoReloads:false}])})(window,'adfoxAsyncParamsAdaptive');<\/script>"); 256 return true; 257 } 258 259function initYads() { 260 var currentTime = new Date().getTime(); 261 $.Storage.set('lastAdsReRenderTime', currentTime.toString()); 262 if (yandex_ads_filter == false) { 263 if (findBootstrapEnvironment() === "lg") { 264 ya_ads_1(); 265 ya_ads_4(); // 266 ya_ads_5(); 267 ya_ads_6();
268 //ya_ads_24(); // 269 //ya_ads_25(); 270 //ya_ads_26(); 271 272 } 273 else if (findBootstrapEnvironment() === "md") { 274 ya_ads_1(); 275 ya_ads_4(); // 276 ya_ads_5(); 277 ya_ads_6(); 278 //ya_ads_24(); // 279 //ya_ads_25(); 280 //ya_ads_26(); 281 282 283 } 284 else if (findBootstrapEnvironment() === "sm") { 285 ya_ads_1(); 286 } 287 else if (findBootstrapEnvironment() === "xs") { 288 ya_ads_1(); 289 } 290 } 291 } 292 293 function reRenderAds() { 294 if ((findBootstrapEnvironment() === "lg") || (findBootstrapEnvironment() === "md")) { 295 ya_ads_2(); 296 } 297 else { 298 ya_ads_2(); 299 } 300 301 //ya_ads_3(); // 302 ya_ads_23(); // 303 304 /* 305 var rnd = Math.floor(Math.random() * 10); 306 console.log("rnd "+rnd); 307 if (rnd < 8) { 308 ya_ads_3(); 309 } 310 else { 311 ya_ads_21(); 312 } 313 */ 314 315 var currentTime = new Date().getTime(); 316 var nextReRenderAdsOverSec = 60; 317 var lastAdsReRenderDiffTime = ((typeof $.Storage.get("lastAdsReRenderTime") === "undefined") || ($.Storage.get("lastAdsReRenderTime") === null) || ($.Storage.get("lastAdsReRenderTime") === "") ) ? Math.ceil(currentTime) : Math.ceil((currentTime-$.Storage.get("lastAdsReRenderTime"))/1000); 318 319 if (lastAdsReRenderDiffTime >= nextReRenderAdsOverSec) { 320 $.Storage.set('lastAdsReRenderTime', currentTime.toString()); 321 } 322 } 323 324 325/* jq*/ 326$.urlParam = function(name){ 327 var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href); 328 if (results==null){ 329 return null; 330 } 331 else{ 332 return results[1] || 0; 333 } 334}; 335 336jQuery.fn.reverse = function(fn) { 337 var i = this.length; 338 while(i--) { 339 fn.call(this[i], i, this[i]) 340 } 341}; 342 343jQuery.fn.timeUpdate = function (filter,pole,intarval, options) { 344 var options = jQuery.extend({ 345 lang: { 346 years: ['год', 'года', 'леÑ'], 347 months: ['меÑÑÑ', 'меÑÑÑа', 'меÑÑÑев'], 348 days: ['денÑ', 'днÑ', 'дней'], 349 hours: ['ÑаÑ', 'ÑаÑа', 'ÑаÑов'], 350 minutes: ['минÑÑа', 'минÑÑÑ', 'минÑÑ'], 351 seconds: ['ÑекÑнда', 'ÑекÑндÑ', 'ÑекÑнд'], 352 plurar: function(n) { 353 return (n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); } 354 }, 355 end: " назад", 356 tolkochto:"ÑолÑко ÑÑо" 357 }, options); 358 359 var timeDifference = function(end, begin) { 360 if (end < begin) return false; 361 var difference = { 362 seconds: [end.getSeconds() - begin.getSeconds(), 60], 363 minutes: [end.getMinutes() - begin.getMinutes(), 60], 364 hours: [end.getHours() - begin.getHours() , 24], 365 days: [end.getDate() - begin.getDate() , new Date(begin.getYear(), begin.getMonth() + 1, 0).getDate()], 366 months: [end.getMonth() - begin.getMonth() , 12], 367 years: [end.getYear() - begin.getYear() , 0] 368 }; 369 if(difference.years[0]!= 0 ){ 370 delete (difference.days); 371 delete (difference.hours); 372 delete (difference.minutes); 373 delete (difference.seconds); } 374 else if(difference.months[0]!=0){ 375 delete (difference.hours); 376 delete (difference.minutes); 377 delete (difference.seconds); } 378 else if(difference.days[0]!=0 ){ 379 delete (difference.minutes); 380 delete (difference.seconds); } 381 else if(difference.hours[0]!=0 ) 382 delete (difference.seconds); 383 var result = new Array(); 384 var flag = false; 385 for (i in difference) { 386 if (flag) { 387 difference[i][0]--; 388 flag = false; 389 } 390 if (difference[i][0] < 0) { 391 flag = true; 392 difference[i][0] += difference[i][1]; 393 } 394 if (!difference[i][0]) continue; 395 result.push(difference[i][0] + ' ' + options.lang[i][options.lang.plurar(difference[i][0])]); 396 } 397 return result.reverse().join(' '); 398 }; 399 var timeUpdate = function () { 400 var need_to_time_update=$(filter); 401 if(need_to_time_update.size()>0){ 402 need_to_time_update.each(function(i){ 403 var date=need_to_time_update.eq(i).attr(pole).toString().split(","); 404 var s = timeDifference(new Date(), new Date(date[0],date[1]-1,date[2],date[3],date[4],date[5])); 405 if (s.length) need_to_time_update.eq(i).html(s+options.end); 406 else need_to_time_update.eq(i).html(options.tolkochto); 407 }); 408 } 409 }; 410 timeUpdate(); 411 var timer = setInterval(timeUpdate, intarval); 412 }; 413 414 415 416 417 418 419 420 //пÑовеÑÐºÑ Ð½Ð°Ñ Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ° в видимой облаÑÑи 421 function inWindow(el){ 422 var scrollTop = $(window).scrollTop(); 423 var windowHeight = $(window).height(); 424 var currentEls = $(el); 425 //var result = []; 426 var result = false; 427 currentEls.each(function(){ 428 var el = $(this); 429 var offset = el.offset(); 430 if(scrollTop <= offset.top && (el.height() + offset.top) < (scrollTop + windowHeight)) 431 //result.push(this); 432 result = true; 433 }); 434 //return $(result); 435 return result; 436} 437 /* 438 $(document).scroll(function () { 439 if(inWindow(".trackCat")) { 440 console.log('inWindow .trackCat'); 441 console.log(inWindow($('.trackCat'))); 442 } 443 else { 444 console.log(inWindow($('.trackCat'))); 445 } 446 }); 447*/ 448 449function changeFavicon(iconHref){ 450 var icon=$("[rel='shortcut icon']"); 451 var cache=icon.clone(); 452 cache.attr("href", iconHref); 453 icon.replaceWith(cache); 454} 455 456function jsInfoNote(text, url, buttonText) { 457 if (($('#jsInfoNote').length > 0) && ($('#jsInfoNote').visible() === false)) { 458 setTimeout( function() { 459 460 var jsInfoNoteHtmlContent = text; 461 var jsInfoNoteUrl = url; 462 var jsInfoNoteButtonText = buttonText; 463 464 if ((typeof jsInfoNoteHtmlContent !== "undefined") && (jsInfoNoteHtmlContent !== null) && (jsInfoNoteHtmlContent !== "")) { 465 var jsInfoNoteHtml = '<div class="jsInfoNoteWrapper"><div class="jsInfoNoteLeftBlock"><svg class="jsInfoNotificationIcon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z"></path><path d="M9 9h2v6H9zM9 5h2v2H9z"></path></svg></svg></div><div id="jsInfoNoteMidleBlock" class="jsInfoNoteMidleBlock">'+jsInfoNoteHtmlContent+'</div><div class="jsInfoNoteCloseWrapper"><i id="jsInfoNoteCloseButton" class="close-button-light"></i></div></div>'; 466 467 } 468 469 $('#jsInfoNote').html(jsInfoNoteHtml); 470 471 if (((typeof jsInfoNoteUrl !== "undefined") && (jsInfoNoteUrl !== null) && (jsInfoNoteUrl !== "")) && ((typeof jsInfoNoteButtonText !== "undefined") && (jsInfoNoteButtonText !== null) && (jsInfoNoteButtonText !== ""))) { 472 if (jsInfoNoteUrl.length > 0) { 473 $('#jsInfoNoteMidleBlock').append('<br><button type="button" id="jsInfoNoteButton" class="jsInfoNoteButton">'+jsInfoNoteButtonText+' »</button>'); 474 $('#jsInfoNoteButton').unbind(); 475 $('#jsInfoNoteButton').bind('click', function(e) { 476 //clickLoggerFunction($(this)); 477 var win = window.open(jsInfoNoteUrl, '_blank'); 478 win.focus(); 479 }); 480 } 481 } 482 483 var jsInfoNoteMd5 = md5(jsInfoNoteHtml); 484 if ((typeof $.Storage.get("jsInfoNote-"+jsInfoNoteMd5) === "undefined") || ($.Storage.get("jsInfoNote-"+jsInfoNoteMd5) === null) || ($.Storage.get("jsInfoNote-"+jsInfoNoteMd5) === "") || ($.Storage.get("jsInfoNote-"+jsInfoNoteMd5) == "true")) { 485 $.Storage.set("jsInfoNote-"+jsInfoNoteMd5, "true"); 486 $('#jsInfoNote').slideDown(); 487 } 488 489 490 491 $('#jsInfoNoteCloseButton').unbind(); 492 $('#jsInfoNoteCloseButton').bind('click', function(e) { 493 //clickLoggerFunction($(this)); 494 $('#jsInfoNote').slideUp(); 495 $.Storage.set("jsInfoNote-"+jsInfoNoteMd5, "false"); 496 }); 497 498 }, 1000); 499 } 500 } 501 502 function jsPromo(jsPromoContent) { 503 if (($('#jsPromo').length > 0) && ($('#jsPromo').visible() === false)) { 504 setTimeout( function() { 505 506 var jsPromoHtml = '<div class="jsInfoNoteWrapper"><div class="jsPromoCloseWrapper"><i id="jsPromoCloseButton" class="close-button-light" title="ÐакÑÑÑÑ"></i></div>'+jsPromoContent+'</div>'; 507 $('#jsPromo').html(jsPromoHtml); 508 509 var jsPromoMd5 = md5(jsPromoHtml); 510 if ((typeof $.Storage.get("jsPromo-"+jsPromoMd5) === "undefined") || ($.Storage.get("jsPromo-"+jsPromoMd5) === null) || ($.Storage.get("jsPromo-"+jsPromoMd5) === "") || ($.Storage.get("jsPromo-"+jsPromoMd5) == "true")) { 511 $.Storage.set("jsPromo-"+jsPromoMd5, "true"); 512 $('#jsPromo').slideDown("1300"); 513 } 514 515 $('#jsPromoCloseButton').unbind(); 516 $('#jsPromoCloseButton').bind('click', function(e) { 517 //clickLoggerFunction($(this));
518 $('#jsPromo').slideUp(); 519 $.Storage.set("jsPromo-"+jsPromoMd5, "false"); 520 }); 521 522 }, 3000); 523 } 524 } 525 526 527 528 function dxSimpleSlider(element, auto, pause) { 529 // Get parent element 530 var $this = $(element); 531 532 // Slides container 533 var slidesCont = $this.children('.slides-container'); 534 // Get all slides 535 var slides = slidesCont.children('.slide'); 536 537 // Get pager div 538 var pager = $this.children('.pager'); 539 540 // Get Previous / Next links 541 var arrowsCont = $this.children('.arrows'); 542 var prevSlide = arrowsCont.children('.prev'); 543 var nextSlide = arrowsCont.children('.next'); 544 545 // Total slides count 546 var slidesCount = slides.length; 547 548 // Set currentSlide to first child 549 var currentSlide = slides.first(); 550 var currentSlideIndex = 1; 551 552 var autoPlay = null; 553 554 // Hide all slides except first and add active class to first 555 slides.not(':first').css('display', 'none'); 556 currentSlide.addClass('active'); 557 558 // Function responsible for fading to next slide 559 function fadeNext() { 560 currentSlide.removeClass('active').fadeOut(700); 561 562 if(currentSlideIndex == slidesCount) { 563 currentSlide = slides.first(); 564 currentSlide.delay(500).addClass('active').fadeIn(700); 565 currentSlideIndex = 1; 566 } else { 567 currentSlideIndex++; 568 currentSlide = currentSlide.next(); 569 currentSlide.delay(500).addClass('active').fadeIn(700); 570 } 571 572 pager.text(currentSlideIndex+' / '+slidesCount); 573 } 574 575 // Function responsible for fading to previous slide 576 function fadePrev() { 577 currentSlide.removeClass('active').fadeOut(700); 578 579 if(currentSlideIndex == 1) { 580 currentSlide = slides.last(); 581 currentSlide.delay(500).addClass('active').fadeIn(); 582 currentSlideIndex = slidesCount; 583 } else { 584 currentSlideIndex--; 585 currentSlide = currentSlide.prev(); 586 currentSlide.delay(500).addClass('active').fadeIn(700); 587 } 588 589 pager.text(currentSlideIndex+' / '+slidesCount); 590 } 591 592 // Function that starts the autoplay and resets it in case user navigated (clicked prev or next) 593 function AutoPlay() { 594 clearInterval(autoPlay); 595 596 if(auto == true) 597 autoPlay = setInterval(function() {fadeNext()}, pause); 598 } 599 600 // Detect if user clicked on arrow for next slide and fade next slide if it did 601 $(nextSlide).click(function(e) { 602 e.preventDefault(); 603 fadeNext(); 604 AutoPlay(); 605 }); 606 607 // Detect if user clicked on arrow for previous slide and fade previous slide if it did 608 $(prevSlide).click(function(e) { 609 e.preventDefault(); 610 fadePrev(); 611 AutoPlay(); 612 }); 613 614 // Start autoplay if auto is set to true 615 AutoPlay(); 616 617 } 618 619function jcarouselInit() { 620 $('.jcarousel').jcarousel({ wrap: 'circular' }); 621 $('.jcarousel').jcarouselAutoscroll({ interval: 10000}); 622 623 $('.jcarousel-control-prev') 624 .on('jcarouselcontrol:active', function() { 625 $(this).removeClass('inactive'); 626 }) 627 .on('jcarouselcontrol:inactive', function() { 628 $(this).addClass('inactive'); 629 }) 630 .jcarouselControl({ 631 target: '-=1' 632 }); 633 634 $('.jcarousel-control-next') 635 .on('jcarouselcontrol:active', function() { 636 $(this).removeClass('inactive'); 637 }) 638 .on('jcarouselcontrol:inactive', function() { 639 $(this).addClass('inactive'); 640 }) 641 .jcarouselControl({ 642 target: '+=1' 643 }); 644 645 $('.jcarousel-pagination') 646 .on('jcarouselpagination:active', 'a', function() { 647 $(this).addClass('active'); 648 }) 649 .on('jcarouselpagination:inactive', 'a', function() { 650 $(this).removeClass('active'); 651 }) 652 .jcarouselPagination(); 653} 654 655 656 657function findBootstrapEnvironment() { 658 var envs = ['xs', 'sm', 'md', 'lg']; 659 660 $el = $('<div>'); 661 $el.appendTo($('body')); 662 663 for (var i = envs.length - 1; i >= 0; i--) { 664 var env = envs[i];
665 666 $el.addClass('hidden-'+env); 667 if ($el.is(':hidden')) { 668 $el.remove(); 669 return env 670 } 671 }; 672} 673 674 function rand(min, max) { 675 var offset = min; 676 var range = (max - min) + 1; 677 var randomNumber = Math.floor( Math.random() * range) + offset; 678 return randomNumber; 679} 680 681 function numberof(numberof, value, suffix) { 682 var numberof = Math.abs(numberof); 683 var keys = [2, 0, 1, 1, 1, 2]; 684 var mod = numberof % 100; 685 var suffix_key = mod > 4 && mod < 20 ? 2 : keys[Math.min(mod%10, 5)]; 686 687 return value+suffix[suffix_key]; 688 } 689 690 691 function numberFormat(number, decimals, dec_point, thousands_sep) { 692 number = (number + '').replace(/[^0-9+\-Ee.]/g, ''); 693 var n = !isFinite(+number) ? 0 : +number, 694 prec = !isFinite(+decimals) ? 0 : Math.abs(decimals), 695 sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep, 696 dec = (typeof dec_point === 'undefined') ? '.' : dec_point, 697 s = '', 698 toFixedFix = function(n, prec) { 699 var k = Math.pow(10, prec); 700 return '' + (Math.round(n * k) / k) 701 .toFixed(prec); 702 }; 703 704 s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)) 705 .split('.'); 706 if (s[0].length > 3) { 707 s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep); 708 } 709 if ((s[1] || '') 710 .length < prec) { 711 s[1] = s[1] || ''; 712 s[1] += new Array(prec - s[1].length + 1) 713 .join('0'); 714 } 715 return s.join(dec); 716} 717 718function animateCSS(element, animationName, callback) { 719 const node = document.querySelector(element) 720 node.classList.add('animated', animationName) 721 722 function handleAnimationEnd() { 723 node.classList.remove('animated', animationName) 724 node.removeEventListener('animationend', handleAnimationEnd) 725 726 if (typeof callback === 'function') callback() 727 } 728 729 node.addEventListener('animationend', handleAnimationEnd) 730} 731 732function googleGeoCoder(address, callback) { 733 var result = []; 734 geocoder = new google.maps.Geocoder(); 735 geocoder.geocode( {'address': address}, function(results, status) { 736 if (status == google.maps.GeocoderStatus.OK) { 737 result["label"] = results[0].formatted_address; 738 result["latitude"] = parseFloat(results[0].geometry.location.lat()); 739 result["longitude"] = parseFloat(results[0].geometry.location.lng()) 740 callback(result); 741 } 742 else { 743 callback(null); 744 } 745 }); 746 747 } 748 749function detectBrowser() { 750 var ua = navigator.userAgent; 751 752 if (ua.search(/Firefox/) > -1) { 753 return "firefox"; 754 } 755 756 if (ua.search(/OPR/) > -1) { 757 return "opera"; 758 } 759 760 if (ua.search(/YaBrowser/) > -1) { 761 return "yabrowser"; 762 } 763 if (ua.search(/Amigo/) > -1) { 764 return "amigo"; 765 } 766 if (ua.search(/Chrome/) > -1) { 767 return "chrome"; 768 } 769 if (ua.search(/Safari/) > -1) { 770 return "safari"; 771 } 772 773 return null; 774} 775 776function getExtensionUrl(name) { 777 return $('link[rel="' + name + '"]').attr('href'); 778 } 779 780 781 function isLocalStorageNameSupported() { 782 var testKey = 'isLocalStorageNameSupported', ls = window.localStorage, ss = window.sessionStorage; 783 try { 784 ls.setItem(testKey, '1'); 785 ls.removeItem(testKey); 786 } 787 catch (e) { 788 return false; 789 } 790 try { 791 ss.setItem(testKey, '1'); 792 ss.removeItem(testKey); 793 } 794 catch (e) { 795 return false; 796 } 797 return true; 798} 799 800 801function upuValidateInfo(inputedTrackCode, json) { 802 if ((jQuery.inArray("UPU", json.services) != -1 ) || (isValidUPU(inputedTrackCode) === true)) { 803 json.services.splice( json.services.indexOf("UPU"), 1 ); 804 $("#inputTrackCode").addClass("inputTrackCode-validate"); 805 } else { 806 $("#inputTrackCode").removeClass("inputTrackCode-validate"); 807 } 808} 809 810function isValidUPU(barCode) { 811 if (barCode.length == 13) { 812 var myRegExp = /[A-Za-z]{2}\d{9}[A-Za-z]{2}/; 813 var match = myRegExp.exec(barCode); 814 if (match != null) {
815 var checkNumbers = barCode.replace(/[^0-9]/g, ""); 816 if (checkNumbers.length == 9) { 817 var n_1 = parseInt(checkNumbers.charAt(0)) * 8; 818 var n_2 = parseInt(checkNumbers.charAt(1)) * 6; 819 var n_3 = parseInt(checkNumbers.charAt(2)) * 4; 820 var n_4 = parseInt(checkNumbers.charAt(3)) * 2; 821 var n_5 = parseInt(checkNumbers.charAt(4)) * 3; 822 var n_6 = parseInt(checkNumbers.charAt(5)) * 5; 823 var n_7 = parseInt(checkNumbers.charAt(6)) * 9; 824 var n_8 = parseInt(checkNumbers.charAt(7)) * 7; 825 826 var tmpSumm = n_1 + n_2 + n_3 + n_4 + +n_5 + n_6 + n_7 + n_8; 827 var tmpOst = tmpSumm % 11; 828 var controlSumm = 11 - tmpOst; 829 if (controlSumm == 10) { 830 controlSumm = 0; 831 } else if (controlSumm == 11) { 832 controlSumm = 5; 833 } 834 if (controlSumm == checkNumbers.charAt(8)) { 835 return true; 836 } else { 837 return false; 838 } 839 840 } 841 } else { 842 843 return false; 844 } 845 846 } else { 847 return false; 848 } 849 return false; 850 } 851 852 853function showNotificationsForm() { 854 855 856 857 $.get('https://track24.ru/forms/notifications.form.php?checkLogin='+$.Storage.get('login')+'&checkAuthKey='+$.Storage.get('authKey'), function(data) { 858 $('body').prepend(data); 859 $('#notificationsModal').modal({show:true}); 860 861 $('select').change(function() { 862 if ($(this).children('option:first-child').is(':selected')) { 863 $(this).addClass('selectWidthPlaceholder'); 864 } else { 865 $(this).removeClass('selectWidthPlaceholder'); 866 } 867 }); 868 869 $("input[type='checkbox']").on('change', function(){ 870 871 var thisElementName = $(this).attr('name'); 872 //console.log(thisElementName); 873 874 var checked = this.checked; 875 //console.log(checked); 876 877 if ((thisElementName == "reverseHistorySorting") && (checked === true)) { 878 $('#manualHistorySorting').prop("checked", false).trigger('change'); 879 } 880 if ((thisElementName == "manualHistorySorting") && (checked === true)) { 881 $('#reverseHistorySorting').prop("checked", false).trigger('change'); 882 } 883 884 885 }); 886 /* 887 $('checkbox').click(function() { 888 var checked = this.checked; 889 console.log("checkbox click"); 890 console.log(checked); 891 }); 892 */ 893 894 $('#buttonOk').bind('click', function(e) { 895 896 if (($("#buttonOk" ).hasClass("disabled") == true) || ($("#buttonCancel" ).hasClass("disabled") == true)) { 897 return false; 898 } 899 900 e.preventDefault(); 901 if ($(this).attr('name') == 'buttonOk') { 902 var ajaxUrl = '/ajax/notifications.ajax.php'; 903 var inputedEmail = $('#changeEmail').val(); 904 var inputedPhone = $('#changePhone').val(); 905 var inputedTelegramId = $('#changeTelegramId').val(); 906 var inputedCountryCode = $('#changeCountry').val(); 907 var inputedNotificationsLanguageCode = $('#changeNotificationsLanguage').val(); 908 var notifyToEmail = $("#notifyToEmail").prop("checked"); 909 var notifyToPhone = $("#notifyToPhone").prop("checked"); 910 var notifyToTelegram = $("#notifyToTelegram").prop("checked"); 911 var notifyToApp = $("#notifyToApp").prop("checked"); 912 var autoAdd = $("#autoAdd").prop("checked"); 913 var manualHistorySorting = $("#manualHistorySorting").prop("checked"); 914 var reverseHistorySorting = $("#reverseHistorySorting").prop("checked"); 915 916 var action = 'change'; 917 } 918 $.ajax({
919 url: ajaxUrl, 920 data : {'checkLogin': $.Storage.get('login'), 'checkAuthKey': $.Storage.get('authKey'), 'inputedEmail': inputedEmail, 'inputedPhone': inputedPhone, 'inputedTelegramId': inputedTelegramId, 'inputedCountryCode':inputedCountryCode, 'inputedNotificationsLanguageCode':inputedNotificationsLanguageCode, 'notifyToEmail': notifyToEmail, 'notifyToPhone': notifyToPhone, 'notifyToTelegram': notifyToTelegram, 'notifyToApp': notifyToApp, 'autoAdd': autoAdd, 'manualHistorySorting': manualHistorySorting, 'reverseHistorySorting': reverseHistorySorting, 'action':action}, 921 type: 'POST', 922 dataType: 'json', 923 success: function(data){ 924 if (data) { 925 if (data.status == 'ok') { 926 $('.modal-footer').html('<div class="text-center"><i class="fa fa-check fa-lg text-success"></i> '+data.message+'</div>').delay(300).fadeIn(300).delay(300).queue(function(){ 927 $('#notificationsModal').modal("hide"); 928 location.reload(); 929 }); 930 931 } 932 else if (data.status == 'error') { 933 $('.modal-footer').html('<div class="alert-error text-center">'+data.message+'</div>').fadeIn(); 934 $("#buttonOk").toggleClass('disabled'); 935 $("#buttonCancel").toggleClass('disabled'); 936 937 } 938 } 939 }, 940 beforeSend : function() { 941 $('.modal-footer').html('<div class="text-center alert-info"><i class="fa fa-spinner fa-spin"></i> ÐÑпÑавка даннÑÑ ...</div>').fadeIn(); 942 $("#buttonOk").toggleClass('disabled'); 943 $("#buttonCancel").toggleClass('disabled'); 944 }, 945 complete: function(response) { 946 //$("#buttonOk").toggleClass('disabled'); 947 //$("#buttonCancel").toggleClass('disabled'); 948 949 }, 950 error: function() { 951 $("#buttonOk").toggleClass('disabled'); 952 $("#buttonCancel").toggleClass('disabled'); 953 } 954 }); 955 956 }); 957 /* 958 959 beforeSend : function() { 960 $("#storeInfoButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-check-square-o"); 961 $("#storeInfoButton").toggleClass('disabled'); 962 $(".load-bar-disabled").show(); 963 $(".load-bar").toggleClass('active'); 964 965 }, 966 complete: function(response) { 967 $("#storeInfoButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-check-square-o"); 968 $("#storeInfoButton").toggleClass('disabled'); 969 $(".load-bar-disabled").hide(); 970 $(".load-bar-under-stripe-disabled").hide(); 971 $(".load-bar").toggleClass('active'); 972 973 974 }, 975 976 */ 977 978 979 980 $('#buttonCancel').bind('click', function(e) { 981 e.preventDefault(); 982 $('.modal.in').modal('hide'); 983 }); 984 985 $('.navSignOutLink').click(function(e){ 986 e.preventDefault(); 987 $('.modal.in').modal('hide'); 988 signOut(); 989 }); 990 991 $('#notificationsModal').on("hidden.bs.modal", function(){ 992 $('#notificationsModal').fadeOut().hide().remove(); 993 }); 994 995 996 997 998 999 }); 1000} 1001 1002function sign() { 1003 var inputedLogin = ''; 1004 var inputedPassword = ''; 1005 1006 $.get('/forms/sign.form.php?clientCountryCode='+clientCountryCode, function(data) { 1007 $('body').prepend(data); 1008 $('#signModal').modal({show:true}); 1009 $('.myTooltip').tooltip(); 1010 1011 1012 1013 $(".passwordGenerateLink").click(function(e) { 1014 var newPassword = generatePassword(); 1015 $("#signUpPassword").prop("type", "text").attr("value", newPassword); 1016 }); 1017 1018 1019 1020 1021 1022 $('.btn-success').bind('click', function(e) { 1023 e.preventDefault(); 1024 1025 if ($(this).attr('name') == 'signUpButton') { 1026 var ajaxUrl = '/ajax/sign.ajax.php'; 1027 var inputedLogin = $('#signUpLogin').val(); 1028 var inputedPassword = $('#signUpPassword').val(); 1029 var signUpAgree = $('#signUpAgree').prop('checked'); 1030 var action = 'signup'; 1031 } 1032 else if ($(this).attr('name') == 'signInButton') { 1033 var ajaxUrl = '/ajax/sign.ajax.php'; 1034 var inputedLogin = $('#signInLogin').val(); 1035 var inputedPassword = $('#signInPassword').val(); 1036 var signUpAgree = false; 1037 var action = 'signin'; 1038 } 1039 1040 1041 $.ajax({
1042 url: ajaxUrl, 1043 data : {'login': inputedLogin, 'password' : inputedPassword, 'action' : action, 'agree' : signUpAgree, 'fingerprint' : $.Storage.get("fingerprint")}, 1044 type: 'POST', 1045 dataType: 'json', 1046 success: function(response){ 1047 if (response) { 1048 1049 if (response.result == 'success') { 1050 $('.modal-footer').find('center').html('<div class="alert-info">'+response.message+'</div>').fadeIn(); 1051 $('#signModal').modal("hide"); 1052 $.Storage.set('login', inputedLogin); 1053 $.Storage.set('authKey', response.data.authKey); 1054 1055 1056 checkAuthKey($.Storage.get('login'), $.Storage.get('authKey'), function (s) { 1057 togleAuthForm(s); 1058 updateHistoryBlock(); 1059 togleNoAuth(s); 1060 }); 1061 1062 if ((window.location.href.indexOf("page=api") > 0 ) || (window.location.href.indexOf("page=deleteProfile") > 0 )) { 1063 location.reload(); 1064 } 1065 1066 } 1067 else if (response.result == 'error') { 1068 $('.modal-footer').find('center').html('<div class="alert-error">'+response.message+'</div>').fadeIn(); 1069 1070 //if ((typeof response.data.reason !== "undefined") && (response.data.reason !== null) && (response.data.reason !== "")) { 1071 // $('.modal-footer').find('.alert-error').append('<br>ÐÑиÑина: '+response.data.reason+'').fadeIn(); 1072 //} 1073 } 1074 } 1075 }, 1076 beforeSend : function() { 1077 $('.modal-footer').find('center').html('<div class="alert-info"><i class="fa fa-spinner fa-spin"></i> ÐÑпÑавка даннÑÑ ...</div>').fadeIn(); 1078 $.Storage.remove('authKey'); 1079 $.Storage.remove('social_name'); 1080 $.removeCookie('user_info', { path: '/' }); 1081 1082 }, 1083 complete: function(response) { 1084 1085 1086 }, 1087 error: function() { 1088 1089 } 1090 }); 1091 1092 }); 1093 1094 1095 $('#remindMePassword').bind('click', function(e) { 1096 e.preventDefault(); 1097 $(this).parent().hide(); 1098 $('#signInPassword').parent().parent().slideUp().remove(); 1099 $('#signInButton').text("ÐÑпÑавиÑÑ ÑÑÑÐ»ÐºÑ Ð½Ð° Email"); 1100 1101 $('.btn-success').unbind(); 1102 $('.btn-success').bind('click', function(e) { 1103 e.preventDefault(); 1104 1105 1106 if ($(this).hasClass("disabled") == false) { 1107 1108 var inputedEmail = $('#signInLogin').val(); 1109 inputedEmail = $.trim(inputedEmail); 1110 $('#signInLogin').val(inputedEmail); 1111 1112 if (inputedEmail.length < 1) { 1113 $("#signInLogin").attr("placeholder", "ÐÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ввеÑÑи e-mail!"); 1114 $('#signInLogin').addClass('has-error'); 1115 return false; 1116 } 1117 1118 if ((inputedEmail.length >= 3) && (inputedEmail.length <= 32)) { 1119 $.ajax({
1120 url: '/ajax/reset.password.ajax.php', 1121 data : {'inputedEmail': inputedEmail, 'step': '1'}, 1122 type: 'POST', 1123 dataType: 'json', 1124 success: function(data){ 1125 if (data) { 1126 if (data.status == 'success') { 1127 $('.modal-footer').find('center').html('<div class=""><i class="fa fa-check fa-lg"></i> '+data.message+'</div>').delay(1500).fadeIn(1000).delay(1500).queue(function(){ 1128 $('#signModal').modal("hide"); 1129 }); 1130 } 1131 else if (data.status == 'error') { 1132 $('.modal-footer').find('center').html('<div class="alert-error">'+data.message+'</div>').fadeIn(); 1133 $('#signInButton').removeClass('disabled'); 1134 } 1135 } 1136 }, 1137 beforeSend : function() { 1138 $('.modal-footer').find('center').html('<div class=""><i class="fa fa-spinner fa-spin fa-lg"></i> ÐÑпÑавка даннÑÑ ...</div>').fadeIn(); 1139 $('#signInButton').addClass('disabled'); 1140 }, 1141 complete: function(response) { 1142 //$('#signInButton').removeClass('disabled'); 1143 }, 1144 error: function() { 1145 $('#signInButton').removeClass('disabled'); 1146 } 1147 }); 1148 } 1149 } 1150 1151 }); 1152 }); 1153 1154 1155 $('#signModal').on("hidden.bs.modal", function(){ 1156 $('#signModal').fadeOut().hide().remove(); 1157 }); 1158 }); 1159 1160 /* } */ 1161 1162 } 1163 1164 function generatePassword(len = 12, chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&") { 1165 var password = ""; 1166 for (var i = 1; i <= len; i++) { 1167 var randomNumber = Math.floor(Math.random() * chars.length); 1168 password += chars.substring(randomNumber, randomNumber +1); 1169 } 1170 return password; 1171 } 1172 1173 function checkAuthKey(l, k, myCallback) { 1174 1175 if ((typeof l === "undefined") || (l === null) || (l === "")) { 1176 myCallback(false); 1177 } 1178 if ((typeof k === "undefined") || (k === null) || (k === "")) { 1179 myCallback(false); 1180 } 1181 1182 1183 if (((typeof l !== "undefined") && (l !== null) && (l !== "")) && ((typeof k !== "undefined") && (k !== null) && (k !== ""))) { 1184 var ajaxUrl = '/ajax/check.auth.ajax.php'; 1185 $.ajax({
1186 url: ajaxUrl, 1187 data : {'checkLogin': l, 'checkAuthKey': k, 'fingerprint': $.Storage.get("fingerprint")}, 1188 type: 'POST', 1189 dataType: 'json', 1190 success: function(data){ 1191 if (data) { 1192 if (data.status == 'success') { 1193 1194 delete data.status; 1195 delete data.time; 1196 localStorage.setItem('authorization', JSON.stringify(data)); 1197 1198 if ((typeof data.social_name !== "undefined") && (data.social_name !== null) && (data.social_name !== "")) { 1199 $.Storage.set('social_name', data.social_name); 1200 } 1201 if ((typeof data.avatar !== "undefined") && (data.avatar !== null) && (data.avatar !== "")) { 1202 $.Storage.set('avatar', data.avatar); 1203 } 1204 if ((typeof data.social_name !== "undefined") && (data.social_name !== null) && (data.social_name !== "")) { 1205 $.Storage.set('social_name', data.social_name); 1206 } 1207 myCallback(true); 1208 1209 } 1210 else { 1211 localStorage.removeItem('authorization'); 1212 1213 $.Storage.remove('login'); 1214 $.Storage.remove('social_name'); 1215 $.Storage.remove('avatar'); 1216 $.Storage.remove('authKey'); 1217 1218 myCallback(false); 1219 } 1220 1221 } 1222 else { 1223 localStorage.removeItem('authorization'); 1224 1225 $.Storage.remove('login'); 1226 $.Storage.remove('social_name'); 1227 $.Storage.remove('avatar'); 1228 $.Storage.remove('authKey'); 1229 1230 myCallback(false); 1231 } 1232 1233 }, 1234 beforeSend : function() { 1235 }, 1236 complete: function(response) { 1237 }, 1238 error: function() { 1239 1240 localStorage.removeItem('authorization'); 1241 $.Storage.remove('login'); 1242 $.Storage.remove('social_name'); 1243 $.Storage.remove('avatar'); 1244 $.Storage.remove('authKey'); 1245 1246 myCallback(false); 1247 1248 } 1249 }); 1250 1251 1252 } 1253 else { 1254 localStorage.removeItem('authorization'); 1255 myCallback(false); 1256 } 1257 } 1258 1259 1260 1261 function togleAuthForm(a) { 1262 if (a == true) { 1263 $('#navSignInButton').hide(); 1264 $('#loginOverSocials').hide(); 1265 1266 var sn = $.Storage.get('login'); 1267 var sa = "/img/avatars/default.jpg"; 1268 1269 if ((typeof $.Storage.get('social_name') !== "undefined") && ($.Storage.get('social_name') !== null) && ($.Storage.get('social_name') !== "")) { 1270 sn = $.Storage.get('social_name'); 1271 } 1272 if ((typeof $.Storage.get('avatar') !== "undefined") && ($.Storage.get('avatar') !== null) && ($.Storage.get('avatar') !== "")) { 1273 sa = $.Storage.get('avatar'); 1274 } 1275 $("#userAvatar").css("backgroundImage", "url("+sa+")"); 1276 $("#userAvatar").attr("title", sn); 1277 1278 $("#userName").text(sn); 1279 1280 if (sa != "/img/avatars/default.jpg") { 1281 $('#userAvatarBlock').show(); 1282 } 1283 else { 1284 $('#userNameInfoBlock').show(); 1285 } 1286 //$(".addTrackCodeRow").show(); 1287 1288 } 1289 else { 1290 $('#navSignInButton').show(); 1291 $('#userNameInfoBlock').hide(); 1292 $("#userAvatar").css("backgroundImage", "url(/img/avatars/default.jpg)"); 1293 $("#userAvatar").attr("title", ""); 1294 $("#userAvatarBlock").hide(); 1295 $('#loginOverSocials').show(); 1296 $("#history-short-stat-wrapper").hide(); 1297 $(".addTrackCodeRow").hide().remove(); 1298 1299 } 1300 } 1301 1302 1303function togleNoAuth(a) { 1304 if (a == true) { 1305 setTimeout( function() { 1306 $('.noAuth').fadeOut(); 1307 $('.auth').fadeIn(); 1308 }, 100); 1309 } 1310 else { 1311 setTimeout( function() { 1312 $('.noAuth').fadeIn(); 1313 $('.auth').fadeOut(); 1314 }, 100); 1315 } 1316 1317 } 1318 1319 1320 function tog(v){ 1321 return v ? 'addClass' : 'removeClass'; 1322} 1323 1324$(document).on('input', '.clearable', function(){ 1325 $(this)[tog(this.value)]('x'); 1326 }).on('mousemove', '.x', function( e ){ 1327 $(this)[tog(this.offsetWidth-18 < e.clientX-this.getBoundingClientRect().left)]('onX'); 1328 }).on('click', '.onX', function(){ 1329 $(this).removeClass('x onX').val(''); 1330 }); 1331 1332 /* 1333 $.fn.enterKey = function (fnc) { 1334 return this.each(function () { 1335 $(this).keypress(function (ev) { 1336 var keycode = (ev.keyCode ? ev.keyCode : ev.which); 1337 if (keycode == '13') { 1338 fnc.call(this, ev); 1339 } 1340 }) 1341 }) 1342} 1343*/ 1344 1345function showAddTrackCodeForm() { 1346 1347 var dialogHtml = '<div class="my-mfp-white-popup zoom-anim-dialog" style="">\ 1348 <div id="addTrackingNumberModal">\ 1349 <div class="addTrackingNumberModal-header"><h5 class="modal-title">ÐобавиÑÑ ÑÑек-код <span class="hidden-xs"> в мои ÑÑек-кодÑ</span></h5></div>\ 1350 <div class="addTrackingNumberModal-body">\ 1351 <div id="addTrackingNumberFormWrapper" class="row">\ 1352 <form id="addTrackingNumberForm" class="form-horizontal">\ 1353 <fieldset>\ 1354 <!-- Form Name -->\ 1355 <legend></legend>\ 1356 <!-- Text input-->\ 1357 <div class="form-group">\ 1358 <label class="col-md-3 control-label" for="addTrackingNumberFormInput"><span>ТÑек-код</span></label>\ 1359 <div class="col-md-12">\ 1360 <input id="addTrackingNumberFormInput" name="addTrackingNumberFormInput" type="text" maxlength="32" placeholder="ÐÑимеÑ: RU123456789CN" class="form-control input-md clearable">\ 1361 <div class="addTrackingNumberFormInputHelpBlockWrapper">\
1362 <span id="addTrackingNumberFormInputHelpBlock" class="addTrackingNumberFormInputHelpBlock"></span>\ 1363 </div>\ 1364 </div>\ 1365 </div>\ 1366 <!-- Text input-->\ 1367 <div class="form-group">\ 1368 <label class="col-md-3 control-label" for="addTrackingNumberDescriptionFormInput"><span>ÐпиÑание</span></label>\ 1369 <div class="col-md-12">\ 1370 <input id="addTrackingNumberDescriptionFormInput" name="addTrackingNumberDescriptionFormInput" type="text" maxlength="64" placeholder="ÐÑимеÑ: пÑлеÑоÑ" class="form-control input-md">\ 1371 </div>\ 1372 </div> \ 1373 <!-- Button (Double) -->\ 1374 <div class="form-group">\ 1375 <!-- <label class="col-md-12 control-label" for="addTrackingNumberFormButtonOk"></label> -->\ 1376 <div class="col-md-12 text-right">\ 1377 <button id="addTrackingNumberFormButtonCancel" name="addTrackingNumberFormButtonCancel" class="btn btn-danger">ÐÑмена</button>\ 1378 <button id="addTrackingNumberFormButtonOk" name="addTrackingNumberFormButtonOk" class="btn btn-success">ÐоÑово</button>\ 1379 </div>\ 1380 </div>\ 1381 </fieldset>\ 1382 </form>\ 1383 </div>\
1384 </div>\ 1385 <hr>\ 1386 <div id="addTrackingNumberModal-footer" class="addTrackingNumberModal-footer">ÐаполниÑе Ð¿Ð¾Ð»Ñ Ð¸ кликниÑе по кнопке "ÐоÑово"</div>\ 1387 \ 1388 </div>\ 1389 </div>'; 1390 1391 1392 1393 $.magnificPopup.open({ 1394 items: { src: dialogHtml}, 1395 type: 'inline', 1396 fixedBgPos: false, 1397 fixedContentPos: true, 1398 overflowY: 'scroll', 1399 closeBtnInside: true, 1400 preloader: false, 1401 midClick: false, 1402 removalDelay: 400, 1403 mainClass: 'my-mfp-zoom-in', 1404 alignTop:false, 1405 showCloseBtn: true, 1406 closeMarkup: '<button title="%title%" type="button" class="mfp-close"></button>', 1407 callbacks: { 1408 open: function() { 1409 $('.navbar-fixed-top').css('overflow-y', 'scroll'); 1410 1411 1412 /* 1413 $(document).keypress(function(e){ 1414 //if (e.which == 13) { 1415 if ($("#addTrackingNumberFormInput:focus") && (e.which == 13)) { 1416 e.preventDefault(); 1417 $('#addTrackingNumberFormButtonOk').click(); 1418 //console.log("!Enter"); 1419 } 1420 }); 1421 */ 1422 1423 }, 1424 close: function() { 1425 $('.navbar-fixed-top').css('overflow-y', 'visible'); 1426 } 1427 } 1428 1429 1430 }); 1431 1432 1433 if (device.desktop()) { 1434 setTimeout( function() { 1435 readClipboard(); 1436 $("#addTrackingNumberFormInput").focus(); 1437 }, 400); 1438 } 1439 1440 $( "#addTrackingNumberFormInput").keyup(function() { 1441 $("#addTrackingNumberFormButtonOk").removeClass('disabled'); 1442 $("#addTrackingNumberFormInputHelpBlock").empty(); 1443 }); 1444 1445 /* 1446 $("#addTrackingNumberFormInput").enterKey(function () { 1447 alert('Enter!'); 1448 }); 1449 */ 1450 1451 $('#addTrackingNumberFormButtonOk').unbind(); 1452 $('#addTrackingNumberFormButtonOk').bind('click', function(e) { 1453 e.preventDefault(); 1454 1455 if ($( "#addTrackingNumberFormButtonOk" ).hasClass("disabled") == true) { 1456 return false; 1457 } 1458 1459 1460 $("#addTrackingNumberFormInput").val($("#addTrackingNumberFormInput").val().toUpperCase()); 1461 1462 var inputedTrackCode = $("#addTrackingNumberFormInput").val(); 1463 inputedTrackCode = inputedTrackCode.replace(/[^Ð-Яа-ÑA-Za-z0-9\-\.\/\(\)]/gi, ''); 1464 inputedTrackCode = inputedTrackCode.substring(0, 32); 1465 inputedTrackCode = $.trim(inputedTrackCode); 1466 1467 var inputedDescription = $("#addTrackingNumberDescriptionFormInput").val(); 1468 inputedDescription = inputedDescription.replace(/[^a-zа-ÑÑ\w\d\s\-\_\.\,\@\+\#\$\&\%\!\(\)\[\]\:\;\^\/\£\â¬\\\$\&\Ð\Ñ\Ñ]/gi, ''); 1469 inputedDescription = inputedDescription.substring(0, 64); 1470 inputedDescription = $.trim(inputedDescription); 1471 1472 1473 1474 if (inputedTrackCode.length < 1) { 1475 $("#addTrackingNumberFormInput").attr("placeholder","ÐÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ввеÑÑи ÑÑек-код"); 1476 $('#addTrackingNumberFormInput').addClass('has-error'); 1477 return false; 1478 } 1479 else { 1480 $('#addTrackingNumberFormInput').removeClass('has-error'); 1481 } 1482 1483 if ((inputedTrackCode.length < 5) || (inputedTrackCode.length > 32)) { 1484 $("#addTrackingNumberFormInput").attr("placeholder","ÐекоÑÑекÑнÑй ÑÑек-код"); 1485 $('#addTrackingNumberFormInput').addClass('has-error'); 1486 $('#addTrackingNumberModal-footer').html('<div class="errorMessage">ÐÑибка! ÐекоÑÑекÑнÑй ÑÑек-код!</div>'); 1487 return false; 1488 } 1489 1490 1491 1492 1493 $("#addTrackingNumberFormButtonOk").toggleClass('disabled'); 1494 1495 $('#addTrackingNumberModal-footer').html('<div id="addTrackingNumberModal-loader"><div class="lds-ellipsis"><div></div><div></div><div></div><div></div></div></div>'); 1496 $("#addTrackingNumberModal-loader").fadeIn(); 1497 1498 1499 1500 $.ajax({
1501 url: 'https://track24.ru/ajax/history.ajax.php', 1502 data : {'checkLogin' : $.Storage.get('login'), 'checkAuthKey': $.Storage.get('authKey'), 'trackCode': inputedTrackCode, 'trackDescription': inputedDescription, 'action': 'add'}, 1503 type : 'POST', 1504 dataType : 'json', 1505 timeout : (10000), 1506 success: function(data){ 1507 1508 $("#addTrackingNumberModal-loader").hide(); 1509 1510 $(".addTrackCodeButtonWrapper").show(); 1511 $("#history-add-ajax-loader").hide(); 1512 1513 1514 if (data.status == 'ok') { 1515 1516 1517 if (data.action == 'added') { 1518 $('#addTrackingNumberModal-footer').html('<div class="successMessage">ТÑек-код добавлен в ÑпиÑок "Ðои ÑÑек-код"</div>'); 1519 updateHistoryBlock(); 1520 1521 setTimeout( function() { 1522 $.magnificPopup.close(); 1523 1524 }, 300); 1525 1526 } 1527 else if (data.action == 'updated') { 1528 $('#addTrackingNumberModal-footer').html('<div class="successMessage">ÐнÑоÑмаÑÐ¸Ñ Ð¾ ÑÑек-коде обновлена</div>'); 1529 updateHistoryBlock(); 1530 1531 setTimeout( function() { 1532 $.magnificPopup.close(); 1533 }, 1000); 1534 } 1535 else if (data.action == 'not updated') { 1536 $('#addTrackingNumberModal-footer').html('<div class="successMessage">ТÑек-код пÑиÑÑÑÑÑвÑÐµÑ Ð² ÑпиÑке "Ðои ÑÑек-кодÑ"</div>'); 1537 setTimeout( function() { 1538 $.magnificPopup.close(); 1539 }, 1500); 1540 } 1541 1542 if ($("#inputTrackCode").length > 0) { 1543 if ($("#trackingButton" ).hasClass("disabled") == false) { 1544 $("#inputTrackCode").val(inputedTrackCode); 1545 tracking(); 1546 } 1547 } 1548 1549 1550 1551 } 1552 else if (data.status == 'error') { 1553 if (data.message == "Track code is not valid!") { 1554 $('#addTrackingNumberModal-footer').html('<div class="errorMessage">ÐÑибка! ÐекоÑÑекÑнÑй ÑÑек-код!</div>'); 1555 } 1556 else { 1557 $('#addTrackingNumberModal-footer').html('<div class="errorMessage">ÐÑибка! '+data.message+'</div>'); 1558 } 1559 1560 } 1561 else { 1562 $("#addTrackingNumberFormButtonOk").toggleClass('disabled'); 1563 $(".addTrackingNumberModal-footer").find("center").html('<span class="danger">ÐепÑÐµÐ´Ð²Ð¸Ð´ÐµÐ½Ð½Ð°Ñ Ð¾Ñибка, ÑообÑиÑе ÑазÑабоÑÑикам!</span>'); 1564 return false; 1565 } 1566 1567 1568 }, 1569 complete: function(){ 1570 $("#addTrackingNumberModal-loader").hide(); 1571 $(".addTrackingNumberFormButtonCancel").toggleClass('disabled'); 1572 1573 $(".addTrackCodeButtonWrapper").show(); 1574 $("#history-add-ajax-loader").hide(); 1575 1576 }, 1577 beforeSend : function() { 1578 $(".addTrackingNumberFormButtonCancel").toggleClass('disabled'); 1579 $(".addTrackingNumberFormButtonOk").toggleClass('disabled'); 1580 1581 $(".addTrackCodeButtonWrapper").hide(); 1582 $("#history-add-ajax-loader").show(); 1583 1584 } 1585 , 1586 error: function(objAJAXRequest, strError) { 1587 $("#addTrackingNumberModal-loader").hide(); 1588 $(".addTrackingNumberFormButtonCancel").toggleClass('disabled'); 1589 $("#addTrackingNumberFormButtonOk").toggleClass('disabled'); 1590 $(".addTrackingNumberModal-footer").find("center").html('<span class="danger">Ðй, пÑоизоÑла оÑибка (код оÑибки: '+objAJAXRequest.status+')...<br> ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑообÑиÑÑ Ð¾ ней на [email protected]</span>'); 1591 $.notify('Ðй, пÑоизоÑла оÑибка (код оÑибки: '+objAJAXRequest.status+')...\n ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑообÑиÑÑ Ð¾ ней на [email protected]', "error"); 1592 1593 $(".addTrackCodeButtonWrapper").show(); 1594 $("#history-add-ajax-loader").hide(); 1595 1596 1597 } 1598 1599 });
1600 }); 1601 $('#addTrackingNumberFormButtonCancel').unbind(); 1602 $('#addTrackingNumberFormButtonCancel').bind('click', function(e) { 1603 e.preventDefault(); 1604 $.magnificPopup.close(); 1605 }); 1606 1607 1608 } 1609 1610 1611function updateHistoryBlock() { 1612 //var currentTrackingCode = $.urlParser("?code"); 1613 var currentTrackingCode = $("#inputTrackCode").val(); 1614 1615 if (((typeof $.Storage.get('login') !== "undefined") && ($.Storage.get('login') !== null) && ($.Storage.get('login') !== "")) && ((typeof $.Storage.get('authKey') !== "undefined") && ($.Storage.get('authKey') !== null) && ($.Storage.get('authKey') !== ""))) { 1616 1617 if ($("#history-ajax-loader").length == 0) { 1618 $('#history-lines-active').before('<div id="history-ajax-loader"><div class="lds-ellipsis"><div></div><div></div><div></div><div></div></div></div>'); 1619 $("#history-ajax-loader").show(); 1620 } 1621 1622 $.ajax({
1623 url: '/ajax/history.ajax.php', 1624 data : {'checkLogin': $.Storage.get('login'), 'checkAuthKey': $.Storage.get('authKey'), 'action': 'get', 'lng': $.Storage.get("lng"), 'limitArchiveCount':limitArchiveCount, 'v':2}, 1625 type: 'POST', 1626 dataType: 'json', 1627 success: function(data) { 1628 //$("#history-ajax-loader").hide().remove(); 1629 1630 if (data) { 1631 if (data.status == 'ok') { 1632 historyBuilder(data); 1633 } 1634 1635 1636 if ((!data.infoData) || (data.infoData.length == 0)) { 1637 1638 $('#history-lines-active').empty(); 1639 $('#history-archive').hide(); 1640 //$('#history-c').show(); 1641 //$('#history-c').find(".auth").slideDown(); 1642 $('.auth').fadeIn(); 1643 1644 $('.signLink').unbind(); 1645 $('.signLink').bind('click', function(e) { 1646 $('#navSignInButton').click(); 1647 }); 1648 } 1649 else { 1650 //$('#history-c').hide(); 1651 } 1652 1653 } 1654 }, 1655 beforeSend : function() { 1656 //$("#history-ajax-loader").show(); 1657 }, 1658 complete: function() { 1659 $("#history-ajax-loader").hide(); 1660 1661 }, 1662 error: function() { 1663 $("#history-ajax-loader").hide(); 1664 } 1665 }); 1666 1667 } 1668 else { 1669 $('.history-lines-active').empty(); 1670 $('#history-archive').hide(); 1671 //$('#history-c').show(); 1672 1673 1674 $('.signLink').unbind(); 1675 $('.signLink').bind('click', function(e) { 1676 $('#navSignInButton').click(); 1677 }); 1678 $('.autoUpdateHistory').hide().remove(); 1679 $('.multiTrackingCounter').hide().remove(); 1680 1681 1682 } 1683} 1684 1685 1686 1687function historyBuilder(jsonString) { 1688 var data = jsonString; 1689 //var currentTrackingCode = $.urlParser("?code"); 1690 var currentTrackingCode = $("#inputTrackCode").val(); 1691 1692 //lastTrackCodesArray.push(escape(inputedTrackCode)); 1693 1694 1695 $('#history-lines-active').empty(); 1696 $('#history-lines-archive').empty(); 1697 1698 var short_stat_total_count = data.infoData.length; 1699 var short_stat_in_transit_count = 0; 1700 var short_stat_delivered_count = 0; 1701 var short_stat_active_count = 0; 1702 var short_stat_archive_count = 0; 1703 var readyForMultiTrackingCount = 0; 1704 //var historyTrackCodesArray = $.Storage.get("historyTrackCodesArray"); 1705 var historyTrackCodesArray = []; 1706 1707 /* 1708 if (historyTrackCodesArray.length > 0) { 1709 historyTrackCodesArray = []; 1710 } 1711 */ 1712 /* 1713 if (historyTrackCodesAndNamesArray.length > 0) { 1714 historyTrackCodesAndNamesArray = []; 1715 } 1716 */ 1717 1718 1719 $.each(data.infoData, function(key, value) { 1720 historyTrackCodesAndNamesArray.push({"trackCode" : value['trackCode'], "trackName" : value['track_name']}); 1721 //historyTrackCodesArray.push(escape(value['trackCode'])); 1722 //console.log("push "+value['trackCode']); 1723 historyTrackCodesArray.push(value['trackCode']); 1724 1725 1726 if (value['notification'] == 0) { 1727 var notification_class = 'fa-bell-slash-o'; 1728 } 1729 else if (value['notification']==1) { 1730 var notification_class = 'fa-bell-o'; 1731 } 1732 1733 if ((value['track_name'] == '') || (value['track_name'] == null)) { 1734 value['track_name'] = 'ÐÐµÑ Ð¾Ð¿Ð¸ÑаниÑ'; 1735 } 1736 if (value['track_protection_date_time'] == null) { 1737 value['track_protection_date_time'] = ''; 1738 } 1739 1740 1741 //if (value['track_url'] == '') { 1742 value['track_url'] = '//ru.aliexpress.com/'; 1743 //} 1744 1745 1746 if ((typeof value['lastPoint']['operationDateTime'] !== "undefined") && (value['lastPoint']['operationDateTime'] !== null) ) { 1747 var lastPointOperationDateTime = value['lastPoint']['operationDateTime'].split(" "); 1748 } 1749 else 1750 { 1751 var lastPointOperationDateTime = ""; 1752 } 1753 1754 var daysFromLastChange = ""; 1755 var daysFromLastChangeClass = ""; 1756 if ((typeof lastPointOperationDateTime[0] !== "undefined") && (lastPointOperationDateTime[0] !== null) && (lastPointOperationDateTime[0] !== "") ) { 1757 var daysFromLastChange = dateDiff(lastPointOperationDateTime[0], nowDateTime.split(" ")[0]); 1758 if (daysFromLastChange < 0) { 1759 daysFromLastChange = 0; 1760 } 1761 1762 var firstDeliveryDateTime = value['firstDeliveryDateTime'].split(" "); 1763 var lastDeliveryDateTime = value['lastDeliveryDateTime'].split(" "); 1764 var deliveryDays = value['daysInTransit']; 1765 1766 if ((daysFromLastChange >= 0) && (daysFromLastChange <= 3)) { 1767 var daysFromLastChangeClass = 'label-success'; 1768 } 1769 if (daysFromLastChange >= 4) { 1770 var daysFromLastChangeClass = 'label-primary'; 1771 } 1772 if (daysFromLastChange >= 7) { 1773 var daysFromLastChangeClass = 'label-info'; 1774 } 1775 if (daysFromLastChange >= 30) { 1776 var daysFromLastChangeClass = 'label-warning'; 1777 } 1778 if (daysFromLastChange >= 60) { 1779 var daysFromLastChangeClass = 'label-danger'; 1780 } 1781 1782 } 1783 1784 1785 1786 if (value['status'] == '1') { 1787 var removeTitle = "ÐеÑенеÑÑи в аÑÑ Ð¸Ð²"; 1788 } 1789 else { 1790 var removeTitle = "УдалиÑÑ"; 1791 } 1792 1793 var historyStatusIcon = '<i class="fa fa-barcode muted"></i>'; 1794 if ((value['lastPoint']['operation'] !== null)) { 1795 if (value['lastPoint']['operation'].indexOf("Track24.ru") >= 0) { 1796 var historyStatusIcon = '<i class="fa fa-barcode muted"></i>'; 1797 } 1798 else if (value['lastPoint']['operation'].indexOf("Data Received") >= 0) { 1799 var historyStatusIcon = '<i class="fa fa-group fa-lg muted"></i>'; 1800 } 1801 else if (value['lastPoint']['operation'].indexOf("ÐÑибÑло") >= 0) { 1802 var historyStatusIcon = '<i class="fa fa-refresh fa-lg muted"></i>'; 1803 } 1804 else if (value['lastPoint']['operation'].indexOf("Sort") >= 0) { 1805 var historyStatusIcon = '<i class="fa fa-inbox fa-lg muted"></i>'; 1806 } 1807 else if (value['lastPoint']['operation'].indexOf("ÐкÑпоÑÑ") >= 0) { 1808 var historyStatusIcon = '<i class="fa fa-plane fa-lg muted"></i>'; 1809 } 1810 else if (value['lastPoint']['operation'].indexOf("Ðокин
1810Ñло") >= 0) { 1811 var historyStatusIcon = '<i class="fa fa-truck fa-lg fa-flip-horizontal muted"></i>'; 1812 } 1813 else if (value['lastPoint']['operation'].indexOf("sent letter") >= 0) { 1814 var historyStatusIcon = '<i class="fa fa-truck fa-train muted"></i>'; 1815 } 1816 else if (value['lastPoint']['operation'].indexOf("Port") >= 0) { 1817 var historyStatusIcon = '<i class="fa fa-truck fa-ship muted"></i>'; 1818 } 1819 else if (value['lastPoint']['operation'].indexOf("ÐÑибÑло в меÑÑо вÑÑÑениÑ") >= 0) { 1820 var historyStatusIcon = '<i class="fa fa-check-square-o fa-lg text-success"></i>'; 1821 } 1822 else if (value['lastPoint']['operation'].indexOf("ÐÑÑÑение") >= 0) { 1823 var historyStatusIcon = '<i class="fa fa-check-square-o fa-lg text-success"></i>'; 1824 } 1825 else if (value['lastPoint']['operation'].indexOf("ÐоÑÑавлена") >= 0) { 1826 var historyStatusIcon = '<i class="fa fa-check-square-o fa-lg text-success"></i>'; 1827 } 1828 else { 1829 var historyStatusIcon = '<i class="fa fa-barcode"></i>'; 1830 } 1831 //if ((value['deliveredStatus'] == 1) || (value['lastPoint']['operation'].toLowerCase().indexOf("вÑÑÑен") >= 0)) { 1832 // short_stat_delivered_count = short_stat_delivered_count + 1; 1833 //} 1834 1835 1836 } 1837 1838 if ((value['deliveredStatus'] == 1) && (value['status'] == 1)) { 1839 short_stat_delivered_count = short_stat_delivered_count + 1; 1840 } 1841 if ((value['status'] == 1) && (value['deliveredStatus'] == 0)) { 1842 short_stat_active_count = short_stat_active_count + 1; 1843 } 1844 1845 if (value['status'] == 0) { 1846 short_stat_archive_count = short_stat_archive_count + 1; 1847 } 1848 1849 1850 if (value['deliveredStatus'] == 1) { 1851 var historyStatusIcon = '<i class="fa fa-check-square-o fa-lg text-success"></i>'; 1852 } 1853 if (value['awaiting'] === true) { 1854 var historyStatusIcon = '<i class="fa fa-flag fa-lg text-success"></i>'; 1855 } 1856 1857 1858 1859 if (value['lastPoint']['operation'] != null) { 1860 var lastPointOperation = value['lastPoint']['operation']; 1861 } else { 1862 var lastPointOperation = "ÐÐµÑ Ð´Ð°Ð½Ð½ÑÑ "; 1863 } 1864 1865 //console.log(currentTrackingCode, value['track_name'], value['trackCode']); 1866 if (currentTrackingCode == value['trackCode']) { 1867 //console.log(currentTrackingCode); 1868 if (value['track_name'] != "ÐÐµÑ Ð¾Ð¿Ð¸ÑаниÑ") { 1869 $('.trackingInfo-title-right').html("<span class='trackTitleDescription' id='eip_title_"+value['trackCode']+"' trackCode='"+value['trackCode']+"'>"+value['track_name'].substr(0,26)+"</span>"); 1870 $('.panel-heading-right').html("<span class='trackHeadingDescription' id='eip_heading_"+value['trackCode']+"' trackCode='"+value['trackCode']+"'>"+value['track_name'].substr(0,26)+"</span>"); 1871 } 1872 } 1873 else { 1874 // var currentDescClass = ""; 1875 } 1876 1877 if ((value['status'] == 1) && (value['deliveredStatus'] == 0) && (value['trackUpdateDiffMinutes'] >= minMinutesForMultiTracking)) { 1878 readyForMultiTrackingCount++; 1879 } 1880 //console.log(value['trackCode'], value['trackUpdateDiffMinutes'], value['deliveredStatus'], (value['deliveredStatus'] == 1)); 1881 1882 //var historyPopoverHtml = value['lastPoint']['operation']; 1883 // 1884 1885 var html = ''; 1886 1887 html += '<div class="myTrackingNumbersCard '+((value['status'] == 1) ? "myTrackingNumbersCardActive" : "myTrackingNumbersCardArchive")+' '+((currentTrackingCode == value['trackCode']) ? 'active' :'') + ' '+((value['awaiting'] === true) ? "awaiting" : "")+'" data-trackCode="'+value['trackCode']+'" data-update-diff-minutes="'+value['trackUpdateDiffMinutes']+'" data-delivered-status="'+value['deliveredStatus']+'" data-track-code-modified="'+value['trackCodeModified']+'">'; 1888 html += ' <div class="myTrackingNumbersFirstLine" trackCode="'+value['trackCode']+'">'; 1889 html += ' <div class="myTrackingNumbersTrackCode myTooltip" trackCode="'+value['trackCode']+'"><span class="dotted_ pointer" trackCode="'+value['trackCode']+'">'+value['trackCode']+'</span> '+((value['status'] == 0) ? ' <i class="fa fa-history moveFromArchiveToActive myTooltip" data-toggle="tooltip" data-placement="top" title="ÐеÑенеÑÑи в акÑивнÑе" trackCode="'+value['trackCode']+'"></i>' : '')+' <i class="fa fa-copy copyToClipBoard" data-for-clipboard="'+value['trackCode']+'" style="display: none;"></i> </div>'; 1890 //html += ' <div class="myTrackingNumbersTrackCode myTooltip" trackCode="'+value['trackCode']+'"><span class="dotted" trackCode="'+value['trackCode']+'">'+((value['track_name'] == "ÐÐµÑ Ð¾Ð¿Ð¸ÑаниÑ") ? value['trackCode'] : value['track_name'].substr(0,23))+'</span></div>'; 1891 //html += ' <div class="myTrackingNumbersDateTime"><span class="myTrackingNumbersDate">'+lastPointOperationDateTime[0]+'</span><span class="myTrackingNumbersTime">'+lastPointOperationDateTime[1]+'</span></div>'; 1892 html += ' <div class="myTrackingNumbersSetting"><!-- '+(((value['track_name'] == "ÐÐµÑ Ð¾Ð¿Ð¸ÑаниÑ") && (value['track_protection_date_time'] == "")) ? '<i class="fa fa-pencil myTooltip showDescriptionRow" data-toggle="tooltip" data-placement="top" title="РедакÑиÑоваÑÑ Ð¾Ð¿Ð¸Ñание"> </i>': "") + '-->' + ((value['deliveredStatus'] != 1) ? '<i class="fa fa-check-square-o myTooltip setDelivered" action="setDelivered" trackCode="'+value['trackCode']+'" data-toggle="tooltip" data-placement="top" title="УÑÑановиÑÑ ÑÑаÑÑÑ "ÐÑÑÑение полÑÑаÑелÑ""></i>' : '') + '<i class="fa fa-clock-o myTooltip setCountdown" trackCode="'+value['trackCode']+'" data-toggle="tooltip" data-placement="top" title="УÑÑановиÑÑ ÑÐ°Ð¹Ð¼ÐµÑ Ð·Ð°ÑиÑÑ"></i><i class="fa '+notification_class+' myTooltip" action="notification" trackCode="'+value['trackCode']+'" data-toggle="tooltip" data-placement="top" title="'+ ((value['notification'] == 1) ? 'ÐÑклÑÑиÑÑ ÑведомлениÑ' : 'ÐклÑÑиÑÑ ÑведомлениÑ') +'"></i><i class="fa fa-remove_ myTrackingNumbersClose myTooltip" action="remove" trackCode="'+value['trackCode']+'" data-status="'+value['status']+'" data-toggle="tooltip" data-placement="top" title="'+removeTitle+'"></i></div>'; 1893 html += ' </div>'; 1894 html += ' <div class="myTrackingNumbersSecondLine myTooltip" trackCode="'+value['trackCode']+'" data-toggle="tooltip" data-placement="'+((findBootstrapEnvironment() == "lg" || findBootstrapEnvironment() == "md") ? 'left' : 'top')+'" title="'+$.trim(value['lastPoint']['operationPlacePostalCode']+ ' '+value['lastPoint']['operationPlaceNameTranslated'])+'">'; 1895 //html += ' <div class="myTrackingNumbersSource">'+value['lastPoint']['serviceName']+'</div>'; 1896 //html += ' <div class="myTrackingNumbersOperationAttribute">'+((value['deliveredStatus'] == 1 && (value['awaiting'] !== true)) ? '<i class="fa fa-check-square-o fa-lg text-success"></i> ' : '') + ((value['awaiting'] === true) ? '<i class="fa fa-flag fa-lg text-success"></i>
1896 ' : '')+' <span class="myTooltip" data-toggle="tooltip" data-placement="'+((findBootstrapEnvironment() == "lg" || findBootstrapEnvironment() == "md") ? 'left' : 'top')+'" title="СÑаÑÑÑ Ð¿Ð¾Ð»ÑÑен: '+value['lastPoint']['eventDateTime']+'">'+value['lastPoint']['operationAttributeTranslated']+'</span></div>'; 1897 //html += ' <div class="myTrackingNumbersOperationAttribute">'+((value['deliveredStatus'] == 1 && (value['awaiting'] !== true)) ? '<i class="fa fa-check-square-o fa-lg text-success"></i> ' : '') + ((value['awaiting'] === true) ? '<i class="fa fa-flag fa-lg text-success"></i> ' : '')+' <span class="myTooltip" data-toggle="tooltip" data-placement="'+((findBootstrapEnvironment() == "lg" || findBootstrapEnvironment() == "md") ? 'left' : 'top')+'">' +value['lastPoint']['operationAttributeTranslated']+(value['lastPoint']['operationPlaceNameTranslated'] != "" ? '</span> <i class="fa fa-map-marker myTooltip" style="opacity:0.8; color: #2f9cee;" title="'+value['lastPoint']['operationPlaceNameTranslated']+'" data-placement="'+((findBootstrapEnvironment() == "lg" || findBootstrapEnvironment() == "md" || findBootstrapEnvironment() == "sm") ? 'right' : 'top')+'"></i>' : '')+'</div>'; 1898 //html += ' <div class="myTrackingNumbersOperationAttribute">'+((value['deliveredStatus'] == 1 && (value['awaiting'] !== true)) ? '<i class="fa fa-check-square-o fa-lg text-success"></i> ' : '') + ((value['awaiting'] === true) ? '<i class="fa fa-flag fa-lg text-success"></i> ' : '')+' <span class="myTooltip myTrackingNumbersOperationAttributeText" data-toggle="tooltip" data-placement="'+((findBootstrapEnvironment() == "lg" || findBootstrapEnvironment() == "md") ? 'left' : 'top')+'" title="'+value['lastPoint']['operationPlaceNameTranslated']+'">'+value['lastPoint']['operationAttributeTranslated']+'</span>'+(value['lastPoint']['operationPlaceNameTranslated'] != "" ? ' <div class="myTrackingNumbersPlaceIconWrapper"><i class="fa fa-map-marker myTooltip" style="opacity:0.8; color: #2f9cee; font-size:13px; position: absolute; right: 24px; /* top:10px; */" title="'+value['lastPoint']['operationPlaceNameTranslated']+'" data-placement="'+((findBootstrapEnvironment() == "lg" || findBootstrapEnvironment() == "md" || findBootstrapEnvironment() == "sm") ? 'left' : 'top')+'"></i></div>' : '')+'</div>'; 1899 html += ' <div class="myTrackingNumbersOperationAttribute">'+((value['deliveredStatus'] == 1 && (value['awaiting'] !== true)) ? '<i class="fa fa-check-square-o fa-lg text-success"></i> ' : '') + ((value['awaiting'] === true) ? '<i class="fa fa-flag fa-lg text-success"></i> ' : '')+' <span >' +value['lastPoint']['operationAttributeTranslated']+'</span>'+(value['lastPoint']['operationPlaceNameTranslated'] != "" ? ' <i class="fa fa-map-marker" style="opacity:0.8; color: #2f9cee;"></i>' : '')+'</div>'; 1900 html += ' </div>'; 1901 1902 //html += ' <div class="myTrackingNumbersThirdLine" trackCode="'+value['trackCode']+'">'; 1903 //html += ' <div class="myTrackingNumbersOperationPlace">'+value['lastPoint']['operationPlaceNameTranslated']+'</div> '; 1904 //html += ' </div>'; 1905 1906 //html += ' <div class="myTrackingNumbersFourthLine" trackCode="'+value['trackCode']+'">'; 1907 // 1908 //html += ' </div>'; 1909 1910 html += ' <div class="myTrackingNumbersFourthLine" trackCode="'+value['trackCode']+'">'; 1911 //html += ' <div class="myTrackingNumbersDateTime">'+(value['lastPoint']['operationPlaceNameTranslated'] != "" ? '</span> <i class="fa fa-map-marker myTooltip" style="opacity:0.8; color: #2f9cee; font-size:13px; " title="'+value['lastPoint']['operationPlaceNameTranslated']+'" data-placement="'+((findBootstrapEnvironment() == "lg" || findBootstrapEnvironment() == "md" || findBootstrapEnvironment() == "sm") ? 'left' : 'top')+'"></i> ' : '')+'<span class="myTrackingNumbersDate myTooltip" data-toggle="tooltip" data-placement="left" title="ÐбновлÑлÑÑ: '+value['trackUpdateDateTime']+'">'+lastPointOperationDateTime[0]+'</span><span class="myTrackingNumbersTime">'+lastPointOperationDateTime[1]+'</span></div>'; 1912 html += ' <div class="myTrackingNumbersDateTime myTooltip" data-toggle="tooltip" data-placement="left" title="ÐбновлÑлÑÑ: '+value['trackUpdateDateTime']+'"><span class="myTrackingNumbersDate">'+lastPointOperationDateTime[0]+'</span><span class="myTrackingNumbersTime">'+lastPointOperationDateTime[1]+'</span></div>'; 1913 1914 html += ' <div class="myTrackingNumbersDaysMerged">'; 1915 1916 if (value['merged'] === true) { 1917 html += ' <div class="myTrackingNumbersMerged"><span class="mergedTrackCode myTooltip" id="mergedTrackCode_'+value['trackCode']+'" trackCode="'+value['trackCode']+'" trackCodeModified="'+value['trackCodeModified']+'" data-toggle="tooltip" data-placement="left" title="ÐбÑединено в '+value['trackCodeModified']+'"><span class="label label-info" style="background-color: #0165b1">
1917<i class="fa fa-sitemap fa-flip-vertical" style="/*opacity: 0.8*/"></i></span></span></div>'; 1918 } 1919 //html += ' <div class="myTrackingNumbersDaysCount"><span class="label '+daysFromLastChangeClass+' label-as-badge myTooltip" style="cursor: pointer;" data-toggle="tooltip" data-placement="'+(($(window).width() >= 1366) ? "right" : 'left')+'" title="РпÑÑи '+deliveryDays+' '+numberof(deliveryDays, '', ['денÑ', 'днÑ', 'дней'])+''+/*lastPointOperation*/ ", инÑоÑмаÑÐ¸Ñ Ð¿Ð¾Ð»ÑÑена" +' '+((daysFromLastChange > 0 ) ? (daysFromLastChange+' '+numberof(daysFromLastChange, '', ['денÑ', 'днÑ', 'дней']))+' назад' : "ÑегоднÑ") +'">'+deliveryDays+' / '+daysFromLastChange+'</span></div>'; 1920 html += ' <div class="myTrackingNumbersDaysCount"><span class="label '+daysFromLastChangeClass+' label-as-badge myTooltip" style="cursor: pointer;" data-toggle="tooltip" data-placement="'+(($(window).width() >= 1366) ? "right" : 'left')+'" title="РпÑÑи '+deliveryDays+' '+numberof(deliveryDays, '', ['денÑ', 'днÑ', 'дней'])+''+/*lastPointOperation*/ ", инÑоÑмаÑÐ¸Ñ Ð¿Ð¾Ð»ÑÑена" +' '+((daysFromLastChange > 0 ) ? (daysFromLastChange+' '+numberof(daysFromLastChange, '', ['денÑ', 'днÑ', 'дней']))+' назад' : "ÑегоднÑ") + ' ('+value['lastPoint']['eventDateTime']+') ">'+deliveryDays+' / '+daysFromLastChange+'</span></div>'; 1921 html += ' </div>'; 1922 //html += ' <div class="myTrackingNumbersSource">'+$.trim(value['lastPoint']['serviceName'].split(' ')[0]+' '+((typeof value['lastPoint']['serviceName'].split(' ')[1] !== 'undefined') ? value['lastPoint']['serviceName'].split(' ')[1] : ''))+'</div>'; 1923 html += ' </div>'; 1924 1925 //console.log(value['lastPoint']['serviceName'].split(' ')[1]); 1926 1927 //html += ' <div class="myTrackingNumbersFifthLine" '+(((value['track_name'] == "ÐÐµÑ Ð¾Ð¿Ð¸ÑаниÑ") && (value['track_protection_date_time'] == "")) ? 'style="display:none"' : '')+'>'; 1928 html += ' <div class="myTrackingNumbersFifthLine" trackCode="'+value['trackCode']+'">'; 1929 html += ' <div class="myTrackingNumbersCountdown"><span class="countdown" id="countdown_'+value['trackCode']+'" trackCode="'+value['trackCode']+'" style="position:absolute; right:42px; cursor:pointer; border-bottom: 0px;">'+value['track_protection_date_time']+'</span></div>'; 1930 html += ' <div class="myTrackingNumbersDescription"><span class="myTooltip dotted dotted-gray myTrackingNumbersDescriptionSpan '+((value['track_name'] == "ÐÐµÑ Ð¾Ð¿Ð¸ÑаниÑ") ? ' myTrackingNumbersDescriptionSpanMuted' : '')+' '+(((value['track_name'] != "ÐÐµÑ Ð¾Ð¿Ð¸ÑаниÑ") && (value['track_name'].length <= 30) && (value['track_protection_date_time'] == "")) ? 'myTrackingNumbersDescriptionSpanBig"' : '')+'" id="'+value['trackCode']+'" data-trackcode="'+value['trackCode']+'" trackCode="'+value['trackCode']+'" action="description" data-toggle="tooltip" data-placement="'+((findBootstrapEnvironment() == "lg" || findBootstrapEnvironment() == "md") ? 'left' : 'top')+'" title="ÐзмениÑÑ Ð¾Ð¿Ð¸Ñание">'+value['track_name']+'</span></div>'; 1931 //html += ' <div class="myTrackingNumbersDescription"><span class="myTooltip dotted myTrackingNumbersDescriptionSpan" id="'+value['trackCode']+'" trackCode="'+value['trackCode']+'" action="description" data-toggle="tooltip" data-placement="left" title="ÐзмениÑÑ Ð¾Ð¿Ð¸Ñание">'+value['trackCode']+'</span></div>'; 1932 html += ' </div>'; 1933 1934 html += '</div>'; 1935 1936 1937 //id="mergedTrackCode_'+value['trackCode']+'" trackCode="'+value['trackCode']+'" trackCodeModified="'+value['trackCodeModified']+'" data-toggle="tooltip" data-placement="top" title="ÐбÑединено в '+value['trackCodeModified']+'" 1938 1939 /* 1940 1941 //html += '<hr class="myTrackingNumbersCardHr">'; 1942 //var html = ''; 1943 if (value['status'] == '1') { 1944 html += ' <div class="desc drpnl '+currentDescClass+'" data-trackCode="'+value['trackCode']+'" data-track-code-modified="'+value['trackCodeModified']+'" data-update-diff-minutes="'+value['trackUpdateDiffMinutes']+'">'; 1945 } 1946 else { 1947 html += ' <div class="desc drpnl archived-track-code '+currentDescClass+'" data-trackCode="'+value['trackCode']+'" data-track-code-modified="'+value['trackCodeModified']+'" data-update-diff-minutes="'+value['trackUpdateDiffMinutes']+'">'; 1948 } 1949 1950 if (lastPointOperationDateTime != "") { 1951 var trackUpdateDateTimeHistoryToolTip = (typeof value['trackUpdateDateTime'] !== 'undefined' && value['trackUpdateDateTime'] !== null && value['trackUpdateDateTime'] !== "") ? 'ÐбновлÑлÑÑ: '+value['trackUpdateDateTime'] : 'ÐбновлÑлÑÑ: '+nowDateTime; 1952 html += ' <div class="operation drhdr" style="cursor:move; padding-bottom: 7px; overflow:hidden;width:100%;"><div class="box" style="white-space:nowrap;"><div class="operationDate badge badge-success myTooltip" style="display: inline-block; border-radius:0em; background-color: #0165b1; color: #ffffff; font-size: 85%;" data-toggle="tooltip" data-placement="left" title="'+trackUpdateDateTimeHistoryToolTip+'">'+lastPointOperationDateTime[0]+'</div> <div class="operationInfo badge badge-success" style="display: inline-block; border-radius:0em; background-color: #0165b1; color: #ffffff; font-size: 85%; width:100%; text-align:left;">'+value['lastPoint']['operation']+'</div></div></div>'; 1953 } 1954 else { 1955 html += ' <div class="operation drhdr" style="cursor:move; padding-bottom: 7px; overflow:hidden;width:100%;"><div class="box" style="white-space:nowrap;"><div class="badge badge-success" style="display: inline-block; border-radius:0em; background-color: #0165b1; color: #ffffff; font-size: 85%; width:100%; text-align:left;">ÐнÑоÑмаÑÐ¸Ñ Ð¿Ð¾ ÑÑек-ÐºÐ¾Ð´Ñ Ð½Ðµ найдена</div></div></div>'; 1956 } 1957 1958 html += ' <div class="thumb myTooltip" style="cursor: pointer;" data-toggle="tooltip" data-placement="left" title="РпÑÑи '+deliveryDays+' '+numberof(deliveryDays, '', ['денÑ', 'днÑ', 'дней'])+' / '+lastPointOperation+' '+daysFromLastChange+' '+numberof(daysFromLastChange, '', ['денÑ', 'днÑ', 'дней'])+' назад ">'; 1959 html += historyStatusIcon; 1960 html += ''; 1961 if (value['status'] == 1) { 1962 html += '<div style="margin-top:3px; visibility: hidden;"><span class="label '+daysFromLastChangeClass+' label-as-badge ">'+deliveryDays+' / '+daysFromLastChange+'</span></div>'; 1963 } 1964 1965 html += ' </div>'; 1966 1967 if (device.desktop()) { 1968 var deliveredStatusButton = (value['deliveredStatus'] != 1) ? '<i class="fa fa-check-square-o myTooltip setDelivered" action="setDelivered" trackCode="'+value['trackCode']+'" data-toggle="tooltip" data-placement="top" title="УÑÑановиÑÑ ÑÑаÑÑÑ "ÐÑÑÑение полÑÑаÑелÑ""></i> ' : ''; 1969 html += ' <div class="history-line-setting text-right">'+deliveredStatusButton+'<i class="fa fa-clock-o myTooltip setCountdown" trackCode="'+value['trackCode']+'" data-toggle="tooltip" data-placement="top" title="УÑÑановиÑÑ ÑÐ°Ð¹Ð¼ÐµÑ Ð·Ð°ÑиÑÑ"></i> <i class="fa '+notification_class+' myTooltip" action="notification" trackCode="'+value['trackCode']+'" data-toggle="tooltip" data-placement="top" title="Email и Telegram ÑведомлениÑ"></i> <i class="fa fa-remove myTooltip" action="remove" trackCode="'+value['trackCode']+'" data-toggle="tooltip" data-placement="top" title="'+removeTitle+'"></i></div>'; 1970 html += ' <div class="details">'; 1971 html += ' <p><muted class="sampleTrackCode myTooltip" data-toggle="tooltip" data-placement="right" title="ÐÑÑледиÑÑ">'+value['trackCode']+'</muted></i></p>'; 1972 } 1973 else { 1974 var deliveredStatusButton = (value['deliveredStatus'] != 1) ? '<i class="fa fa-check-square-o setDelivered" action="setDelivered" trackCode="'+value['trackCode']+'"></i> ' : ''; 1975 html += ' <div class="history-line-setting text-right">'+deliveredStatusButton+'<i class="fa fa-clock-o setCountdown" trackCode="'+value['trackCode']+'"></i> <i class="fa '+notification_class+'" action="notification" trackCode="'+value['trackCode']+'"></i> <i class="fa fa-remove" action="remove" trackCode="'+value['trackCode']+'"></i></div>'; 1976 html += ' <div class="details">'; 1977 html += ' <p><muted class="sampleTrackCode">'+value['trackCode']+'</muted></i></p>'; 1978 } 1979 1980 html += ' <p>'; 1981 html += ' <span class="trackDescription myTooltip" id="'+value['trackCode']+'" trackCode="'+value['trackCode']+'" action="description" data-toggle="tooltip" data-placement="left" title="ÐзмениÑÑ Ð¾Ð¿Ð¸Ñание">'+value['track_name'].substr(0,26)+'</span>'; 1982 if (value['merged'] !== true) { 1983 html += ' <span class="countdown" id="countdown_'+value['trackCode']+'" trackCode="'+value['trackCode']+'" style="position:absolute; right:24px; cursor:pointer; border-bottom: 0px;">'+value['track_protection_date_time']+'</span>'; 1984 } 1985 else { 1986 html += ' <span class="countdown" id="countdown_'+value['trackCode']+'" trackCode="'+value['trackCode']+'" style="position:absolute; right:42px; cursor:pointer; border-bottom: 0px;">'+value['track_protection_date_time']+'</span>'; 1987 html += ' <span class="mergedTrackCode myTooltip" id="mergedTrackCode_'+value['trackCode']+'" trackCode="'+value['trackCode']+'" trackCodeModified="'+value['trackCodeModified']+'" data-toggle="tooltip" data-placement="top" title="ÐбÑединено в '+value['trackCodeModified']+'" style="position:absolute; right:20px; cursor:pointer; border-bottom: 0px;"><span class="label label-info" style="background-color: #0165b1">
1987<i class="fa fa-sitemap fa-flip-vertical" style=""></i></span></span>'; 1988 } 1989 html += ' </p>'; 1990 html += ' <p class="trackUrl" trackCode="'+value['trackCode']+'" action="trackUrl" style="display:none;"><a href="'+value['track_url']+'" target="_blank">'+value['track_url']+'</a></p>'; 1991 html += ' </div>'; 1992 html += ' </div>'; 1993 */ 1994 1995 1996 if (value['status'] == '1') { 1997 $('#history-lines-active').append(html); 1998 } 1999 else { 2000 $('#history-lines-archive').append(html); 2001 } 2002 2003 }); 2004 //console.log(historyTrackCodesAndNamesArray); 2005 //console.log(JSON.stringify(historyTrackCodesArray)); 2006 /* 2007 if (historyTrackCodesAndNamesArray.length > 0) { 2008 $.Storage.set('historyTrackCodesAndNamesArray', JSON.stringify(historyTrackCodesAndNamesArray)); 2009 } 2010 */ 2011 if (historyTrackCodesArray.length > 0) { 2012 //console.log("historyTrackCodesArray.length > 0"); 2013 $.Storage.set('historyTrackCodesArray', JSON.stringify(historyTrackCodesArray)); 2014 } 2015 else { 2016 //console.log("historyTrackCodesArray.length = 0"); 2017 //$.Storage.remove('historyTrackCodesArray'); 2018 $.Storage.set('historyTrackCodesArray', JSON.stringify([])); 2019 } 2020 2021 //historyTrackCodesAndNamesArray = JSON.parse($.Storage.get("historyTrackCodesAndNamesArray")); 2022 //console.log($.Storage.get(historyTrackCodesAndNamesArray)); 2023 2024 var addTrackCodeRowHtml = '<div id="addTrackCodeRow-1" class="addTrackCodeRow">\ 2025 <div class="text-center addTrackCodeButtonWrapper">\ 2026 <button id="addTrackCodeButton-1" class="addTrackCodeButton" type="submit">\ 2027 <span>+ добавиÑÑ ÑÑек-код</span>\ 2028 </button>\ 2029 </div>\ 2030 <div id="history-add-ajax-loader"><div class="lds-ellipsis"><div></div><div></div><div></div><div></div></div></div>\ 2031 </div>\ 2032 '; 2033 2034 if ($(".addTrackCodeRow").length == 0) { 2035 if (data.sortingActive == "ASC") { 2036 $('#history-lines-active').after(addTrackCodeRowHtml); 2037 $(".addTrackCodeRow").show(); 2038 } 2039 else if (data.sortingActive == "DESC") { 2040 $('#history-lines-active').before(addTrackCodeRowHtml); 2041 $(".addTrackCodeRow").show(); 2042 } 2043 else { 2044 $('#history-lines-active').after(addTrackCodeRowHtml); 2045 $(".addTrackCodeRow").show(); 2046 } 2047 } 2048 2049 if (short_stat_total_count >=5) { 2050 $("#history-short-stat-wrapper").show(); 2051 } 2052 else { 2053 $("#history-short-stat-wrapper").hide(); 2054 } 2055 2056 2057 $("#short_stat_total_count").text(data.activeCount+data.archiveCount); 2058 $("#short_stat_in_transit_count").text(short_stat_active_count); 2059 $("#short_stat_delivered_count").text(short_stat_delivered_count); 2060 $("#short_stat_archive_count").text(short_stat_archive_count); 2061 2062 if (short_stat_archive_count < data.archiveCount) { 2063 $("#short_stat_archive_count").text(data.archiveCount); 2064 $('#history-lines-archive').append('<div class="showMoreArchivedWrapper" style="width: 115px;font-size: 13px; text-align: center; margin: 0 auto; padding-bottom: 10px;"><div class="showMoreArchived" style="cursor: pointer;color: #a3a3a3; border-bottom: 1px dashed #c5cacd; display: inline-block; margin-right: 5px; margin-top: 3px;">
2064еÑе '+limitArchiveCount+'</div><span><svg width="12" height="11" viewBox="0 0 27 27"><path fill="#ccc" d="M26.7,4.895c-0.4-0.5-1.199-0.5-1.599,0L13.512,19.382L1.923,4.895c-0.4-0.5-1.199-0.5-1.599,0c-0.4,0.5-0.4,1.299,0,1.798L12.613,22.08c0.2,0.3,0.5,0.4,0.899,0.4c0.3,0,0.599-0.1,0.899-0.4L26.7,6.694C27.1,6.194,27.1,5.395,26.7,4.895z"></path></svg></span></div>'); 2065 } 2066 2067 2068 autoAdd = data.autoAdd; 2069 //console.log("autoAdd", autoAdd); 2070 2071 2072 if (short_stat_archive_count > 0) { 2073 $(".c-round-num-block").addClass('c-round-num-block-small'); 2074 //$("#short_stat_archive_count").parent().show(); 2075 $(".c-round-num-block-archive").show(); 2076 } 2077 else { 2078 $(".c-round-num-block").removeClass('c-round-num-block-small'); 2079 //$("#short_stat_archive_count").parent().hide(); 2080 $(".c-round-num-block-archive").parent().hide(); 2081 } 2082 2083 2084 2085 if (device.desktop()) { 2086 //v2 2087 var panelList = $('#history-lines-active'); 2088 //panelList.fadeOut().fadeIn(); 2089 panelList.sortable({ 2090 handle: '.myTrackingNumbersFirstLine', 2091 update: function() { 2092 var sortingArray = []; 2093 $('.myTrackingNumbersCard', panelList).each(function(index, elem) { 2094 var $listItem = $(elem); 2095 newIndex = $(elem).index(); 2096 sortingArray.push($(elem).attr("data-trackCode")); 2097 }); 2098 //console.log(newIndex); 2099 //console.log(sortingArray); 2100 2101 $.ajax({
2102 url: '/ajax/history.ajax.php', 2103 data : {'checkLogin': $.Storage.get('login'), 'checkAuthKey': $.Storage.get('authKey'), 'trackCode' : $(this).attr("trackCode"), 'action': 'sort', 'trackCodes':sortingArray}, 2104 type: 'POST', 2105 dataType: 'json', 2106 success: function(data){ 2107 } 2108 }); 2109 } 2110 }); 2111 } 2112 2113 $('.countdown').each(function(i) { 2114 if ($(this).text() != ""){ 2115 var countdownDateTime = $(this).text().replace(/-/gi,'/'); 2116 $(this).countdown(countdownDateTime, function(event) { 2117 var labelClass = 'label label-success'; 2118 if (event.strftime('%D') < 7 ) { 2119 var labelClass = 'label label-info'; 2120 } 2121 if (event.strftime('%D') < 5 ) { 2122 var labelClass = 'label label-danger'; 2123 } 2124 $(this).html('<span class="'+labelClass+'"><i class="fa fa-clock-o"></i> '+event.strftime('%D дней %H:%M:%S')+'</span>'); 2125 }); 2126 } 2127 }); 2128 2129 2130 2131 2132 if ((data.infoData) && (data.infoData.length > 0)) { 2133 //$('#history-c').hide(); 2134 } 2135 2136 if ($('#history-lines-archive').children().length == 0) { 2137 $('#history-archive').hide(); 2138 } else { 2139 $('#history-archive').show(); 2140 } 2141 2142 2143 $('.myTooltip').tooltip(); 2144 2145 //if (device.desktop() { 2146 /* 2147 if (device.desktop()) { 2148 var trackingClickElement = $('.myTrackingNumbersTrackCode'); 2149 } 2150 else { 2151 var trackingClickElement = $('.myTrackingNumbersFirstLine'); 2152 }*/ 2153 //$('.myTrackingNumbersFirstLine').bind('click', function(e) { 2154 // $('.myTrackingNumbersTrackCode').bind('click', function(e) { 2155 var trackingClickElement = $('.myTrackingNumbersTrackCode, .myTrackingNumbersFirstLine, .myTrackingNumbersSecondLine, .myTrackingNumbersFourthLine'); 2156 trackingClickElement.bind('click', function(e) { 2157 2158 if ($("#inputTrackCode").length > 0) { 2159 //alert($("#trackingButton" ).hasClass("disabled")); 2160 if ($("#trackingButton" ).hasClass("disabled") == false) { 2161 $('.desc, .myTrackingNumbersCard').each(function() { 2162 $(this).removeClass('active'); 2163 }); 2164 $(this).parent().parent().addClass('active'); 2165 $("#inputTrackCode").val($(this).attr("trackCode")); 2166 if ($(window).width() < 767) { 2167 $('html, body').animate({ 2168 scrollTop: $("#mainContainer").offset().top - 10 2169 }, 1000); 2170 2171 2172 } 2173 else { 2174 if ($(".trackingInfo-title-wrapper").visible() !== true) { 2175 $('html, body').animate({ 2176 scrollTop: $("#trackingInfo").offset().top - 100 2177 }, 1000); 2178 } 2179 2180 } 2181 tracking(); 2182 } 2183 2184 } 2185 else { 2186 window.location = 'https://track24.ru/?code='+$(this).text(); 2187 } 2188 2189 }); 2190 2191 if (device.desktop()) { 2192 $(".myTrackingNumbersTrackCode").hover(function() { 2193 window.initHandler = setTimeout(handler, 400); 2194 var el = this; 2195 function handler() { 2196 $(el).find(".copyToClipBoard").fadeIn(); 2197 $(el).bind('mouseleave', function() { 2198 setTimeout( function() { 2199 $(el).find(".copyToClipBoard").fadeOut(); 2200 }, 1500); 2201 2202 }); 2203 } 2204 }, function () { 2205 clearTimeout(window.initHandler); 2206 });
2207 2208 /* копиÑование в бÑÑÑÐµÑ Ð¸Ð· Ð¼Ð¾Ð¸Ñ ÑÑек-кодов */ 2209 $(".myTrackingNumbersTrackCode ").find(".copyToClipBoard").click(function(e) { 2210 //console.log(".copyToClipBoard in history"); 2211 e.stopPropagation(); 2212 var trackCodeForClipBoard = $(this).attr("data-for-clipboard"); 2213 var el = $(this); 2214 try { 2215 navigator.clipboard.writeText(trackCodeForClipBoard).then(function() { 2216 $(el).attr('data-original-title', "СкопиÑовано!").tooltip("hide").tooltip('show'); 2217 setTimeout(function() { 2218 $(el).tooltip("destroy"); 2219 }, 1000); 2220 2221 }, function(err) { 2222 console.error('Async: Could not copy text: ', err); 2223 alert('Async: Could not copy text: '+ err); 2224 }); 2225 } catch (err) { 2226 console.log(err); 2227 console.log('Oops, unable to copy'); 2228 alert(err); 2229 } 2230 return false; 2231 }); 2232 2233 2234 2235 2236 2237 2238 } 2239 2240 $('.showMoreArchivedWrapper').bind('click', function(e) { 2241 e.stopPropagation(); 2242 limitArchiveCount = limitArchiveCount+limitArchiveCount; 2243 //$('#history-ajax-loader').show(); 2244 updateHistoryBlock(); 2245 2246 }); 2247 2248 2249 2250 //$('muted, .myTrackingNumbersTrackCode').bind('click', function(e) { 2251 //$('.desc, .myTrackingNumbersCard').each(function() { 2252 2253 $('.mergedTrackCode').bind('click', function(e) { 2254 e.stopPropagation(); 2255 var mergedTrackCode = $(this).attr("trackCodeModified"); 2256 $("#inputTrackCode").val(mergedTrackCode); 2257 $('.desc, .myTrackingNumbersCard').each(function() { 2258 if (mergedTrackCode == $(this).attr("data-track-code-modified")){ 2259 $(this).find(".mergedTrackCode").find(".label").css("background-color", "red"); 2260 //$(this).find(".mergedTrackCode").css("opacity", "1"); 2261 } 2262 else { 2263 $(this).find(".mergedTrackCode").find(".label").css("background-color", "#0165b1"); 2264 //$(this).find(".mergedTrackCode").css("opacity", "0.6"); 2265 } 2266 }); 2267 }); 2268 2269 2270 2271 2272 2273 $('.setDelivered').bind('click', function(e) { 2274 e.stopPropagation(); 2275 var historyAction = $(this).attr("action"); 2276 var historyTrackCode = $(this).attr("trackCode"); 2277 2278 var dialogHtml = '<div class="my-mfp-white-popup zoom-anim-dialog" style=""><div id="setDeliveredModal"><div class="setDelivered-header"><h4 class="modal-title">ÐоÑÑовое оÑпÑавление <b>'+historyTrackCode+'</b> полÑÑено?</h4></div><div class="setDelivered-body"></div><div class="setDelivered-footer hidden-xs" style="padding-top:10px;white-space:nowrap;"><hr><center>ÐажмиÑе "ÐолÑÑено", еÑли ÐÑ <b>дейÑÑвиÑелÑно полÑÑили поÑÑлкÑ</b>.<br>ÐÑмениÑÑ Ð´Ð°Ð½Ð½Ð¾Ðµ дейÑÑвие бÑÐ´ÐµÑ Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾!</center></div></div> </div>'; 2279 $.magnificPopup.open({ 2280 items: { src: dialogHtml}, 2281 type: 'inline', 2282 fixedBgPos: false, 2283 fixedContentPos: true, 2284 overflowY: 'scroll', 2285 closeBtnInside: true, 2286 preloader: false, 2287 midClick: false, 2288 removalDelay: 400, 2289 mainClass: 'my-mfp-zoom-in', 2290 alignTop:false, 2291 showCloseBtn: true, 2292 closeMarkup: '<button title="%title%" type="button" class="mfp-close"></button>', 2293 callbacks: { 2294 open: function() { 2295 $('.navbar-fixed-top').css('overflow-y', 'scroll'); 2296 }, 2297 close: function() { 2298 $('.navbar-fixed-top').css('overflow-y', 'visible'); 2299 } 2300 } 2301 2302 2303 }); 2304 2305 2306 2307 $('.setDelivered-body').html('<div style="margin-top:20px;"><div class="col-md-12 text-center"><button id="setDeliveredButtonOk" name="setDeliveredButtonOk" class="btn btn-success">ÐолÑÑено</button> <button id="setDeliveredButtonCancel" name="setDeliveredButtonCancel" class="btn btn-danger">ÐÑмена</button></div></div>'); 2308 $('#setDeliveredButtonOk').unbind(); 2309 $('#setDeliveredButtonOk').bind('click', function(e) { 2310 e.preventDefault(); 2311 2312 2313 $.ajax({
2314 url: '/ajax/history.ajax.php', 2315 data : {'checkLogin': $.Storage.get('login'), 'checkAuthKey': $.Storage.get('authKey'), 'trackCode' : historyTrackCode, 'action': historyAction}, 2316 type: 'POST', 2317 dataType: 'json', 2318 success: function(data){ 2319 if (data) { 2320 if (data.status == 'ok') { 2321 $.notify("СÑаÑÑÑ ÑÑек-кода "+historyTrackCode+" обновлен!", "success"); 2322 $.magnificPopup.close(); 2323 updateHistoryBlock(); 2324 } 2325 else if (data.status == 'error'){ 2326 $.notify(data.message, "error"); 2327 } 2328 } 2329 } 2330 }); 2331 2332 }); 2333 $('#setDeliveredButtonCancel').unbind(); 2334 $('#setDeliveredButtonCancel').bind('click', function(e) { 2335 e.preventDefault(); 2336 $.magnificPopup.close(); 2337 }); 2338 2339 2340 2341 }); 2342 2343 2344 2345 2346 2347 $('.clearArchive').bind('click', function(e) { 2348 e.stopPropagation(); 2349 var historyAction = $(this).attr("action"); 2350 var historyTrackCode = $(this).attr("trackCode"); 2351 2352 var dialogHtml = '<div class="my-mfp-white-popup zoom-anim-dialog" style=""><div id="setDeliveredModal"><div class="clearArchive-header"><h4 class="modal-title"><center>ÐÑиÑÑиÑÑ Ð°ÑÑ Ð¸Ð² оÑÑлеживаниÑ?</center></h4></div><div class="clearArchive-body"></div><div class="clearArchive-footer hidden-xs" style="padding-top:10px;white-space:nowrap;"><hr><center>ÐажмиÑе "Ðа", еÑли ÐÑ <b>Ñ Ð¾ÑиÑе ÑдалиÑÑ ÑÑек-кодÑ</b> из аÑÑ Ð¸Ð²Ð°.<br>ÐÑмениÑÑ Ð´Ð°Ð½Ð½Ð¾Ðµ дейÑÑвие бÑÐ´ÐµÑ Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾!</center></div></div> </div>'; 2353 $.magnificPopup.open({ 2354 items: { src: dialogHtml}, 2355 type: 'inline', 2356 fixedBgPos: false, 2357 fixedContentPos: true, 2358 overflowY: 'scroll', 2359 closeBtnInside: true, 2360 preloader: false, 2361 midClick: false, 2362 removalDelay: 400, 2363 mainClass: 'my-mfp-zoom-in', 2364 alignTop:false, 2365 showCloseBtn: true, 2366 closeMarkup: '<button title="%title%" type="button" class="mfp-close"></button>', 2367 callbacks: { 2368 open: function() { 2369 $('.navbar-fixed-top').css('overflow-y', 'scroll'); 2370 }, 2371 close: function() { 2372 $('.navbar-fixed-top').css('overflow-y', 'visible'); 2373 } 2374 } 2375 2376 2377 }); 2378 2379 2380 $('.clearArchive-body').html('<div style="margin-top:20px;"><div class="col-md-12 text-center"><button id="clearArchiveButtonOk" name="clearArchiveButtonOk" class="btn btn-success">Ðа</button> <button id="clearArchiveButtonCancel" name="clearArchiveButtonCancel" class="btn btn-danger">ÐеÑ</button></div></div>'); 2381 2382 2383 $('#clearArchiveButtonOk').unbind(); 2384 $('#clearArchiveButtonOk').bind('click', function(e) { 2385 e.preventDefault(); 2386 $.magnificPopup.close(); 2387 //updateHistoryBlock(); 2388 2389 //$('#history-archive').animate({scrollTop: 0}, 800); 2390 //scrollToElement('.history-block'); 2391 2392 2393 2394 2395 2396 $.ajax({
2397 url: '/ajax/history.ajax.php', 2398 data : {'checkLogin': $.Storage.get('login'), 'checkAuthKey': $.Storage.get('authKey'), 'action': 'clear-archive'}, 2399 type: 'POST', 2400 dataType: 'json', 2401 success: function(data){ 2402 if (data) { 2403 if (data.status == 'ok') { 2404 $.notify("ÐÑÑ Ð¸Ð² оÑиÑен!\nУдален"+numberof(data.removed, '', ['', 'о', 'ов'])+" "+data.removed+" ÑÑек-код"+numberof(data.removed, '', ['', 'а', 'ов']), "success"); 2405 $.magnificPopup.close(); 2406 $('html, body').stop().animate({scrollTop:0}, 800); 2407 updateHistoryBlock(); 2408 } 2409 else if (data.status == 'error') { 2410 $.notify(data.message, "error"); 2411 $.magnificPopup.close(); 2412 updateHistoryBlock(); 2413 } 2414 else { 2415 $.notify("ЧÑо-Ñо поÑло не Ñак...", "error"); 2416 $.magnificPopup.close(); 2417 updateHistoryBlock(); 2418 } 2419 } 2420 else { 2421 $.notify("ЧÑо-Ñо поÑло не Ñак...", "error"); 2422 $.magnificPopup.close(); 2423 updateHistoryBlock(); 2424 } 2425 } 2426 }); 2427 2428 2429 }); 2430 $('#clearArchiveButtonCancel').unbind(); 2431 $('#clearArchiveButtonCancel').bind('click', function(e) { 2432 e.preventDefault(); 2433 $.magnificPopup.close(); 2434 }); 2435 2436 2437 2438 }); 2439 2440 2441 2442 $(".showDescriptionRow").unbind( "click" ); 2443 $('.showDescriptionRow').bind('click', function(e) { 2444 if ($(this).parent().parent().parent().find(".myTrackingNumbersFifthLine").visible() === false) { 2445 $(this).parent().parent().parent().find(".myTrackingNumbersFifthLine").slideDown(); 2446 } 2447 else { 2448 $(this).parent().parent().parent().find(".myTrackingNumbersFifthLine").slideUp(); 2449 } 2450 2451 2452 2453 }); 2454 2455 $('.myTrackingNumbersCountdown').unbind( "click" ); 2456 $('.myTrackingNumbersCountdown').bind('click', function(e) { 2457 $(this).parent().parent().find(".setCountdown").click(); 2458 }); 2459 2460 $('.setCountdown').unbind("click"); 2461 $('.setCountdown').bind('click', function(e) { 2462 e.stopPropagation(); 2463 2464 if ($(this).parent().parent().parent().find(".myTrackingNumbersFifthLine").visible() === false) { 2465 $(this).parent().parent().parent().find(".myTrackingNumbersFifthLine").slideDown(); 2466 } 2467 2468 2469 var tcd = $(this).attr("trackCode"); 2470 var eId = '#countdown_'+$(this).attr("trackCode"); 2471 2472 if ($(window).width() >= 1366) { 2473 var place = 'right'; 2474 } 2475 else { 2476 var place = 'left'; 2477 } 2478 2479 $(eId).editable({ 2480 //showbuttons: false, 2481 //mode: 'inline', 2482 type: 'select', 2483 //type: 'date', 2484 url: '/ajax/history.ajax.php', 2485 params: {'checkLogin': $.Storage.get('login'), 'checkAuthKey': $.
2485Storage.get('authKey'), 'trackCode' : tcd, 'action': 'addProtectionOrderTimer'}, 2486 checkLogin : $.Storage.get('login'), 2487 checkAuthKey : $.Storage.get('authKey'), 2488 pk : "", 2489 placement: place, 2490 emptytext: '<span class="label label-success"><i class="fa fa-clock-o"></i> 50 дней 00:00:00</span>', 2491 value: "50", 2492 savenochange: true, 2493 source: [ 2494 {value: 0, text: 'ÐÑклÑÑиÑÑ'}, 2495 {value: 1, text: '1 денÑ'}, 2496 {value: 2, text: '2 днÑ'}, 2497 {value: 3, text: '3 днÑ'}, 2498 {value: 4, text: '4 днÑ'}, 2499 {value: 5, text: '5 дней'}, 2500 {value: 6, text: '6 дней'}, 2501 {value: 7, text: '7 дней'}, 2502 {value: 8, text: '8 дней'}, 2503 {value: 9, text: '9 денÑ'}, 2504 {value: 10, text: '10 дней'}, 2505 {value: 11, text: '11 дней'}, 2506 {value: 12, text: '12 дней'}, 2507 {value: 13, text: '13 дней'}, 2508 {value: 14, text: '14 дней'}, 2509 {value: 15, text: '15 дней'}, 2510 {value: 16, text: '16 дней'}, 2511 {value: 17, text: '17 дней'}, 2512 {value: 18, text: '18 дней'}, 2513 {value: 19, text: '19 дней'}, 2514 {value: 20, text: '20 дней'}, 2515 {value: 21, text: '21 денÑ'}, 2516 {value: 22, text: '22 днÑ'}, 2517 {value: 23, text: '23 днÑ'}, 2518 {value: 24, text: '24 днÑ'}, 2519 {value: 25, text: '25 дней'}, 2520 {value: 26, text: '26 дней'}, 2521 {value: 27, text: '27 дней'}, 2522 {value: 28, text: '28 дней'}, 2523 {value: 29, text: '29 дней'}, 2524 {value: 30, text: '30 дней'}, 2525 {value: 31, text: '31 денÑ'}, 2526 {value: 32, text: '32 днÑ'}, 2527 {value: 33, text: '33 днÑ'}, 2528 {value: 34, text: '34 днÑ'}, 2529 {value: 35, text: '35 дней'}, 2530 {value: 36, text: '36 дней'}, 2531 {value: 37, text: '37 дней'}, 2532 {value: 38, text: '38 дней'}, 2533 {value: 39, text: '39 дней'}, 2534 {value: 40, text: '40 дней'}, 2535 {value: 41, text: '41 денÑ'}, 2536 {value: 42, text: '42 днÑ'}, 2537 {value: 43, text: '43 днÑ'}, 2538 {value: 44, text: '44 днÑ'}, 2539 {value: 45, text: '45 дней'}, 2540 {value: 46, text: '46 дней'}, 2541 {value: 47, text: '47 дней'}, 2542 {value: 48, text: '48 дней'}, 2543 {value: 49, text: '49 дней'}, 2544 {value: 50, text: '50 дней'}, 2545 {value: 51, text: '51 денÑ'}, 2546 {value: 52, text: '52 днÑ'}, 2547 {value: 53, text: '53 днÑ'}, 2548 {value: 54, text: '54 днÑ'}, 2549 {value: 55, text: '55 дней'}, 2550 {value: 56, text: '56 дней'}, 2551 {value: 57, text: '57 дней'}, 2552 {value: 58, text: '58 дней'}, 2553 {value: 59, text: '59 дней'}, 2554 {value: 60, text: '60 дней'}, 2555 {value: 65, text: '65 дней'}, 2556 {value: 70, text: '70 дней'}, 2557 {value: 75, text: '75 дней'}, 2558 {value: 80, text: '80 дней'}, 2559 {value: 85, text: '85 дней'}, 2560 {value: 90, text: '90 дней'}, 2561 {value: 95, text: '95 дней'}, 2562 {value: 100, text: '100 дней'}, 2563 {value: 110, text: '110 дней'}, 2564 {value: 120, text: '120 дней'}, 2565 {value: 130, text: '130 дней'}, 2566 {value: 140, text: '140 дней'}, 2567 {value: 150, text: '150 дней'}, 2568 2569 ], 2570 validate: function(value) { 2571 if ($.trim(value) == '') return 'ÐÑибка!'; 2572 }, 2573 display: function(value) { 2574 }, 2575 change: function (value) { 2576 }, 2577 ajaxOptions: { 2578 dataType: 'json' 2579 }, 2580 success: function(response, newValue) { 2581 if (data) { 2582 if (data.status == 'ok') { 2583 updateHistoryBlock(); 2584 } 2585 } 2586 } 2587 2588 }).editable('show'); 2589 2590 2591 }); 2592 2593 $('.fa-bell, .fa-bell-o, .fa-bell-slash-o').bind('click', function(e) { 2594 e.stopPropagation(); 2595 var historyAction = $(this).attr("action"); 2596 var historyTrackCode = $(this).attr("trackCode"); 2597 $.ajax({
2598 url: '/ajax/history.ajax.php', 2599 data : {'checkLogin': $.Storage.get('login'), 'checkAuthKey': $.Storage.get('authKey'), 'trackCode' : historyTrackCode, 'action': historyAction}, 2600 type: 'POST', 2601 dataType: 'json', 2602 success: function(data){ 2603 if (data) { 2604 if (data.status == 'ok') { 2605 updateHistoryBlock(); 2606 } 2607 } 2608 } 2609 }); 2610 }); 2611 2612 // 2613 $('.myTrackingNumbersClose').unbind('click'); 2614 $('.myTrackingNumbersClose').bind('click', function(e) { 2615 e.stopPropagation(); 2616 var historyAction = $(this).attr("action"); 2617 var historyTrackCode = $(this).attr("trackCode"); 2618 var historyTrackCodeStatus = $(this).attr("data-status"); 2619 var historyTrackCodeBlock = $(this).parent().parent().parent(); 2620 var historyTrackCodeActiveCount = $(".myTrackingNumbersCardActive").length; 2621 var historyTrackCodeArchiveCount = $(".myTrackingNumbersCardArchive").length; 2622 2623 2624 2625 2626 2627 if (historyTrackCodeStatus == 1) { 2628 if (historyTrackCodeArchiveCount == 0) { 2629 $('#history-archive').animate({opacity: '100', height: 'toggle'}, 500); 2630 } 2631 2632 historyTrackCodeBlock.fadeOut(function(){ 2633 $('#history-lines-archive').prepend(historyTrackCodeBlock).show(function(){ 2634 historyTrackCodeBlock.fadeIn(function(){ 2635 $.ajax({
2636 url: '/ajax/history.ajax.php', 2637 data : {'checkLogin': $.Storage.get('login'), 'checkAuthKey': $.Storage.get('authKey'), 'trackCode' : historyTrackCode, 'action': historyAction}, 2638 type: 'POST', 2639 dataType: 'json', 2640 success: function(data){ 2641 if (data) { 2642 if (data.status == 'ok') { 2643 updateHistoryBlock(); 2644 } 2645 } 2646 } 2647 }); 2648 2649 }); 2650 2651 }); 2652 2653 }); 2654 2655 } 2656 else if (historyTrackCodeStatus == 0) { 2657 2658 if (historyTrackCodeArchiveCount == 1) { 2659 $('#history-archive').animate({opacity: '100', height: 'toggle'}, 500); 2660 } 2661 2662 historyTrackCodeBlock.fadeOut(function(){ 2663 2664 $.ajax({
2665 url: '/ajax/history.ajax.php', 2666 data : {'checkLogin': $.Storage.get('login'), 'checkAuthKey': $.Storage.get('authKey'), 'trackCode' : historyTrackCode, 'action': historyAction}, 2667 type: 'POST', 2668 dataType: 'json', 2669 success: function(data){ 2670 if (data) { 2671 if (data.status == 'ok') { 2672 updateHistoryBlock(); 2673 } 2674 } 2675 } 2676 }); 2677 2678 }); 2679 2680 } 2681 2682 }); 2683 2684 /* ÐеÑÐµÐ½Ð¾Ñ Ð¸Ð· аÑÑ Ð¸Ð²Ð° в акÑивнÑе */ 2685 $(".moveFromArchiveToActive").click(function(e) { 2686 e.stopPropagation(); 2687 var trackCodeForMove = $(this).attr("trackcode"); 2688 var historyTrackCodeBlock = $(this).parent().parent().parent(); 2689 2690 historyTrackCodeBlock.fadeOut(function(){ 2691 $('#history-lines-active').append(historyTrackCodeBlock).show(function(){ 2692 historyTrackCodeBlock.fadeIn(function(){ 2693 $.ajax({
2694 url: '/ajax/history.ajax.php', 2695 data : {'checkLogin': $.Storage.get('login'), 'checkAuthKey': $.Storage.get('authKey'), 'trackCode' : trackCodeForMove, 'action': 'add'}, 2696 type: 'POST', 2697 dataType: 'json', 2698 success: function(data){ 2699 if (data) { 2700 if (data.status == 'ok') { 2701 //$.notify("ТÑек-код "+trackCodeForMove+" пеÑенеÑен в акÑивнÑе ÑÑек-кодÑ!", "success"); 2702 updateHistoryBlock(); 2703 } 2704 else if (data.status == 'error'){ 2705 $.notify(data.message, "error"); 2706 } 2707 } 2708 } 2709 }); 2710 2711 }); 2712 2713 }); 2714 2715 }); 2716 2717 2718 2719 2720 2721 }); 2722 2723 //.trackDescription, 2724 $(".myTrackingNumbersDescriptionSpan").editInPlace({ 2725 text_max: 64, 2726 textarea_max: 64, 2727 text_size: 64, 2728 textarea_cols:1, 2729 textarea_rows:1, 2730 saving_animation_color: "#ECF2F8", 2731 preinit: function(original_element, html, original) { 2732 $(this).parent().parent().find(".myTrackingNumbersCountdown").hide(); 2733 }, 2734 success: function(data) { 2735 2736 var json = JSON.parse(data); 2737 2738 if ((json) && (json.status == 'ok')) { 2739 2740 if (json.description != "") { 2741 2742 $(this).parent().parent().parent().find(".myTrackingNumbersDescriptionSpan").text(json.description); 2743 $(this).parent().parent().parent().find(".myTrackingNumbersDescriptionSpan").removeClass("myTrackingNumbersDescriptionSpanMuted"); 2744 2745 if ((json.description != "ÐÐµÑ Ð¾Ð¿Ð¸ÑаниÑ") && (json.description.length <= 30)) { 2746 $(this).parent().parent().parent().find(".myTrackingNumbersDescriptionSpan").addClass("myTrackingNumbersDescriptionSpanBig"); 2747 } 2748 else { 2749 $(this).parent().parent().parent().find(".myTrackingNumbersDescriptionSpan").removeClass("myTrackingNumbersDescriptionSpanBig"); 2750 } 2751 } 2752 else { 2753 $(this).parent().parent().parent().find(".myTrackingNumbersDescriptionSpan").text("ÐÐµÑ Ð¾Ð¿Ð¸ÑаниÑ"); 2754 $(this).parent().parent().parent().find(".myTrackingNumbersDescriptionSpan").addClass("myTrackingNumbersDescriptionSpanMuted"); 2755 } 2756 } 2757 else { 2758 $(this).parent().parent().parent().find(".myTrackingNumbersDescriptionSpan").text("ÐÐµÑ Ð¾Ð¿Ð¸ÑаниÑ"); 2759 $(this).parent().parent().parent().find(".myTrackingNumbersDescriptionSpan").addClass("myTrackingNumbersDescriptionSpanMuted"); 2760 } 2761 }, 2762 postclose: function(data){ 2763 $(this).parent().parent().find(".myTrackingNumbersCountdown").slideDown(); 2764 }, 2765 url: "/ajax/history.ajax.php", 2766 params: 'checkLogin='+$.Storage.get('login')+'&checkAuthKey='+ $.Storage.get('authKey')+'&trackCode=' +$(this).attr("trackcode")+ '&action=description' 2767 }); 2768 2769 2770 2771 $('.fa-link').bind('click', function(e) { 2772 $(this).parent().next('.details').find(".trackUrl").slideToggle( "fast", function() { 2773 }); 2774 }); 2775 2776 //alert(readyForMultiTrackingCount); 2777 2778 if ((readyForMultiTrackingCount > 0) && (la <= 20)) { 2779 2780 $('.autoUpdateHistory').remove(); 2781 //<span class="label label-success label-as-badge myTooltip multiTrackingCounter" style="position: absolute; right: 15px; top: 40px; background-color: #d25b13; padding: 3px 7px 3px;">
2781'+readyForMultiTrackingCount+'</span> 2782 $('#history-block-desktop').prepend('<i class="fa fa-refresh myTooltip autoUpdateHistory" style="cursor:pointer;position: absolute;top: 5px;right: 20px;color: #ffffff;" data-toggle="tooltip" data-placement="left" title="ÐбновиÑÑ '+readyForMultiTrackingCount + ' ÑÑек-'+numberof(readyForMultiTrackingCount, '', ['код', 'кода', 'кодов'])+'"></i>'); 2783 $('#history-block-mobile').prepend('<i class="fa fa-refresh myTooltip autoUpdateHistory" style="cursor:pointer;position: absolute;top: 5px;right: 20px;color: #ffffff;" data-toggle="tooltip" data-placement="left" title="ÐбновиÑÑ '+readyForMultiTrackingCount + ' ÑÑек-'+numberof(readyForMultiTrackingCount, '', ['код', 'кода', 'кодов'])+'"></i>'); 2784 2785 $('.autoUpdateHistory').unbind(); 2786 $('.autoUpdateHistory').bind('click', function(e) { 2787 //$(this).remove(); 2788 //if (device.desktop()) { 2789 //setTimeout( function() { 2790 $(this).tooltip('hide'); 2791 //}, 3000); 2792 2793 //} 2794 $(this).hide(); 2795 $('#history-block-desktop').prepend('<div class="label label-success label-as-badge myTooltip multiTrackingCounter" style="position: absolute; right: 15px; top: 0px; background-color: #a00b0b6e; padding: 5px 8px 5px;"><span>'+readyForMultiTrackingCount+' / '+readyForMultiTrackingCount+'</span> <i class="fa fa-refresh fa-spin" style="margin-left:5px;"></i></div>'); 2796 $('#history-block-mobile').prepend('<div class="label label-success label-as-badge myTooltip multiTrackingCounter" style="position: absolute; right: 15px; top: 0px; background-color: #a00b0b6e; padding: 5px 8px 5px;"><span>'+readyForMultiTrackingCount+' / '+readyForMultiTrackingCount+'</span> <i class="fa fa-refresh fa-spin" style="margin-left:5px;"></i></div>'); 2797 autoUpdate(); 2798 2799 }); 2800 $('.autoUpdateHistory').tooltip(); 2801 2802 } 2803 else { 2804 $('.autoUpdateHistory').remove(); 2805 2806 $('#history-block-desktop').prepend('<i class="fa fa-refresh myTooltip disabled autoUpdateHistory auth_" style="cursor:pointer;position: absolute;top: 5px;right: 20px;color: #ffffff;" data-toggle="tooltip" data-placement="left" title="Ðбновление не ÑÑебÑеÑÑÑ..."></i>'); 2807 $('#history-block-mobile').prepend('<i class="fa fa-refresh myTooltip disabled autoUpdateHistory auth_" style="cursor:pointer;position: absolute;top: 5px;right: 20px;color: #ffffff;" data-toggle="tooltip" data-placement="left" title="Ðбновление не ÑÑебÑеÑÑÑ..."></i>'); 2808 $('.autoUpdateHistory').unbind(); 2809 $('.autoUpdateHistory').addClass('disabled'); 2810 $('.autoUpdateHistory').tooltip(); 2811 2812 } 2813 2814 2815 2816 return; 2817} 2818 2819function signOut(){ 2820 $.Storage.remove('login'); 2821 $.Storage.remove('authKey'); 2822 $.Storage.remove('social_name'); 2823 $.Storage.remove('avatar'); 2824 2825 $.removeCookie('xauth_user_info', { path: '/' }); 2826 $.Storage.remove('historyTrackCodesArray'); 2827 2828 checkAuthKey($.Storage.get('login'), $.Storage.get('authKey'), function (s) { 2829 togleAuthForm(s); 2830 updateHistoryBlock(); 2831 togleNoAuth(s); 2832 }); 2833 2834 if ((window.location.href.indexOf("page=api") > 0) || (window.location.href.indexOf("page=deleteProfile") > 0 )){ 2835 location.reload(); 2836 } 2837 } 2838 2839 2840function checkURL(url) { 2841 var regURL = /^(?:(?:https?|ftp|telnet):\/\/(?:[a-z0-9_-]{1,32}(?::[a-z0-9_-]{1,32})?@)?)?(?:(?:[a-z0-9-]{1,128}\.)+(?:com|net|org|mil|edu|arpa|ru|gov|biz|info|aero|inc|name|[a-z]{2})|(?!0)(?:(?!0[^.]|255)[0-9]{1,3}\.){3}(?!0|255)[0-9]{1,3})(?:\/[a-z0-9.,_@%&?+=\~\/-]*)?(?:#[^ \'\"&<>]*)?$/i; 2842 return regURL.test(url); 2843} 2844
2845function storeInfo(sId) { 2846 if ((typeof sId === "undefined") || (sId === null) || (sId === "") || (sId === 0)) { 2847 var sId = 0; 2848 } 2849 2850 if ($( "#storeInfoButton" ).hasClass("disabled") == true) { 2851 return false; 2852 } 2853 $('#storeDataInfo').empty(); 2854 $('#storeDataChart').empty(); 2855 2856 $("#inputStoreInfoUrl").val($.trim($("#inputStoreInfoUrl").val())); 2857 $('#inputStoreInfoUrl').removeClass('has-error'); 2858 2859 2860 var inputedUrl = (typeof $("#inputStoreInfoUrl").val() !== "undefined" && $("#inputStoreInfoUrl").val() != null && $("#inputStoreInfoUrl").val() != "" ) ? $("#inputStoreInfoUrl").val() : ""; 2861 2862 if ((inputedUrl.length < 1) && (sId == 0)) { 2863 $("#inputStoreInfoUrl").attr("placeholder","ÐÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ввеÑÑи ÑÑÑÐ»ÐºÑ Ð½Ð° ÑÐ¾Ð²Ð°Ñ Ð½Ð° AliExpress.com!"); 2864 $('#inputStoreInfoUrl').addClass('has-error'); 2865 return false; 2866 } 2867 2868 inputedUrl = inputedUrl.replace(/\?.+/, ''); 2869 2870 if (checkURL(inputedUrl) === false) { 2871 $("#inputStoreInfoUrl").attr("placeholder","ÐÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ввеÑÑи коÑÑекÑнÑÑ ÑÑÑлкÑ!"); 2872 $('#inputStoreInfoUrl').addClass('has-error'); 2873 $('#storeDataInfo').html('<div class="panel panel-danger" style="margin-top:20px;"><div class="panel-heading"><h4 class="panel-title">ÐÑибка</h4></div><div class="panel-body">ÐÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ввеÑÑи коÑÑекÑнÑÑ ÑÑÑлкÑ!</div></div>'); 2874 return false; 2875 } 2876 2877 $("#inputStoreInfoUrl").val($.trim(inputedUrl)); 2878 2879 2880 2881 if (sId === 0) { 2882 var ajaxUrl = '/ajax/store-info.ajax.php?url='+inputedUrl; 2883 document.title = 'ÐÑовеÑка пÑодавÑа на AliExpress: '+inputedUrl; 2884 window.history.pushState('', 'ÐÑовеÑка пÑодавÑа на AliExpress: '+inputedUrl, '/?page=store-info'); 2885 } 2886 else { 2887 var ajaxUrl = '/ajax/store-info.ajax?sId='+sId; 2888 } 2889 2890 $.ajax({
2891 url: ajaxUrl, 2892 type: 'GET', 2893 dataType: 'json', 2894 timeout: (60000), 2895 success: function(json){ 2896 2897 if (json.status == 'ok') { 2898 var r = 3; 2899 $('#storeDataInfo').append('<div><h4><i class="fa fa-info-circle fa-lg" title="ÐÑÐ¾Ð´Ð°Ð²ÐµÑ Ð·Ð°ÑегиÑÑÑиÑован: '+json.data.signup_date +' ('+json.data.days_diff_from_signup_date+' дней назад) / инÑоÑмаÑÐ¸Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð° '+json.data.update_date_time+'"></i> ÐнÑоÑмаÑÐ¸Ñ Ð¾ пÑодавÑе: <a href="//track24.ru/?g='+json.data.store_url+'" target="_blank">'+json.data.store_name+'</a></h4></div>'); 2900 $('#storeDataInfo').append('<div class="col-md-9" id="storeDataContent"></div>'); 2901 $('#storeDataInfo').append('<div class="col-md-3" id="storeDataChart"><div id="chart"><strong></strong></div><div class="shield"></div></div>'); 2902 $('#storeDataInfo').append('<div class="col-md-12 storeDataResult dashed" id="storeDataResult"></div>'); 2903 2904 if ((json.data.days_diff_from_signup_date >= 1) && (json.data.days_diff_from_signup_date < 182)) { 2905 $('#storeDataContent').append('<p class="text-danger"><i class="fa fa-minus-square-o fa-lg"></i> <b>ÐÑÐ¾Ð´Ð°Ð²ÐµÑ Ð½ÐµÐ´Ð°Ð²Ð½Ð¾ заÑегиÑÑÑиÑован на AliExpress</b>.</p>'); 2906 } 2907 if ((json.data.days_diff_from_signup_date >= 182) && (json.data.days_diff_from_signup_date < 365)){ 2908 $('#storeDataContent').append('<p><i class="fa fa-check-square-o fa-lg text-success"></i> ÐÑÐ¾Ð´Ð°Ð²ÐµÑ Ð·Ð°ÑегиÑÑÑиÑован на AliExpress более 6 меÑÑÑев назад.</p>'); 2909 } 2910 2911 2912 2913 if (json.data.days_diff_from_signup_date >= 365) { 2914 $('#storeDataContent').append('<p><i class="fa fa-check-square-o fa-lg text-success"></i> ÐÑÐ¾Ð´Ð°Ð²ÐµÑ Ð·Ð°ÑегиÑÑÑиÑован на AliExpress более года назад.</p>'); 2915 r = r + 1; 2916 } 2917 2918 if (parseFloat(json.data.communication_average) >= 4.5) { 2919 $('#storeDataContent').append('<p><i class="fa fa-check-square-o fa-lg text-success"></i> ÐÑÐ¾Ð´Ð°Ð²ÐµÑ Ð¾Ð¿ÐµÑаÑивно оÑвеÑÐ°ÐµÑ Ð½Ð° вопÑоÑÑ Ð¿Ð¾ÐºÑпаÑелей.</p>'); 2920 r = r + 1; 2921 } else { 2922 $('#storeDataContent').append('<p class="text-danger"><i class="fa fa-minus-square-o fa-lg"></i> <b>ÐÑÐ¾Ð´Ð°Ð²ÐµÑ Ð½ÐµÐ¾Ñ Ð¾Ñно обÑаеÑÑÑ Ñ Ð¿Ð¾ÐºÑпаÑелÑми</b>.</p>'); 2923 } 2924 if (parseFloat(json.data.item_described_average) >= 4.5) { 2925 $('#storeDataContent').append('<p><i class="fa fa-check-square-o fa-lg text-success"></i> ÐпиÑÐ°Ð½Ð¸Ñ ÑоваÑов и ÑоÑогÑаÑии ÑооÑвеÑÑÑвÑÑÑ Ð´ÐµÐ¹ÑÑвиÑелÑноÑÑи.</p>'); 2926 r = r + 1; 2927 } else { 2928 $('#storeDataContent').append('<p class="text-danger"><i class="fa fa-minus-square-o fa-lg"></i> <b>ÐпиÑÐ°Ð½Ð¸Ñ ÑоваÑов и ÑоÑогÑаÑии не ÑооÑвеÑÑÑвÑÑÑ Ð´ÐµÐ¹ÑÑвиÑелÑноÑÑи</b>.</p>'); 2929 } 2930 if (parseFloat(json.data.shipping_speed_average) >= 4.5) { 2931 $('#storeDataContent').append('<p><i class="fa fa-check-square-o fa-lg text-success"></i> ÐÑÐ¾Ð´Ð°Ð²ÐµÑ Ð¾Ð¿ÐµÑаÑивно оÑпÑавлÑÐµÑ Ð·Ð°ÐºÐ°Ð·Ñ.</p>'); 2932 r = r + 1; 2933 } else { 2934 $('#storeDataContent').append('<p class="text-danger"><i class="fa fa-minus-square-o fa-lg"></i> <b>ÐÐµÐ´Ð»ÐµÐ½Ð½Ð°Ñ Ð¾ÑпÑавка заказов</b>.</p>'); 2935 } 2936 2937 if (parseFloat(json.data.feedback_score) >= 1000) { 2938 $('#storeDataContent').append('<p><i class="fa fa-check-square-o fa-lg text-success"></i> ÐÑÑокий ÑейÑинг на AliExpress.</p>'); 2939 r = r + 1; 2940 } else { 2941 $('#storeDataContent').append('<p class="text-danger"><i class="fa fa-minus-square-o fa-lg"></i> <b>Ðизкий ÑейÑинг на AliExpress</b>
2941.</p>'); 2942 } 2943 2944 if (parseFloat(json.data.positive_feedback_percent) >= 95) { 2945 $('#storeDataContent').append('<p><i class="fa fa-check-square-o fa-lg text-success"></i> Ðного положиÑелÑнÑÑ Ð¾ÑзÑвов за поÑледние 6 меÑÑÑев.</p>'); 2946 r = r + 1; 2947 } else { 2948 $('#storeDataContent').append('<p class="text-danger"><i class="fa fa-minus-square-o fa-lg"></i> <b>Ðало положиÑелÑнÑÑ Ð¾ÑзÑвов 6 меÑÑÑев</b>.</p>'); 2949 } 2950 2951 if (parseFloat(json.data.fh_3_positive) >= 100) { 2952 $('#storeDataContent').append('<p><i class="fa fa-check-square-o fa-lg text-success"></i> Ðного заказов за поÑледние 3 меÑÑÑа.</p>'); 2953 r = r + 1; 2954 } else { 2955 $('#storeDataContent').append('<p class="text-danger"><i class="fa fa-minus-square-o fa-lg"></i> <b>Ðало заказов за поÑледние 3 меÑÑÑа</b>.</p>'); 2956 } 2957 2958 $('#chart').circleProgress({ 2959 value: r / 10, 2960 thickness: 15 2961 }).on('circle-animation-progress', function(event, progress, stepValue) { 2962 $(this).find('strong').text(String(stepValue.toFixed(1))*10); 2963 }); 2964 2965 $('#chart').append('<div class="storeDataChartScore">РейÑинг<br> '+ r +' из 10<br><br>'+numberFormat(Math.round(json.data.feedback_score), 0, "'", "'")+'<br>положиÑелÑнÑÑ '+numberof(json.data.feedback_score, '', ['оÑзÑв', 'оÑзÑва', 'оÑзÑвов'])+'</div>'); 2966 2967 2968 if (r == 10) { 2969 $('#storeDataResult').append('<img src="/img/shield-36-green.png" width="40px;" style="float:left; padding: 5px; margin-right: 10px; margin-top: 10px;"><div class="storeResumeText"><h4 class="text-success">ÐÑлиÑнÑй пÑодавеÑ, можно Ñмело делаÑÑ Ð·Ð°ÐºÐ°Ð·!</h4></div>'); 2970 } 2971 if (r == 9) { 2972 $('#storeDataResult').append('<div class="storeResumeText"><h4 class="text-success">ХоÑоÑий пÑодавеÑ, покÑпаÑÑ Ð¼Ð¾Ð¶Ð½Ð¾, но оÑÑоÑожно!</h4></div>'); 2973 } 2974 if (r == 8) { 2975 $('#storeDataResult').append('<div class="storeResumeText"><h4 class="text-success">ÐоÑмалÑнÑй пÑодавеÑ, покÑпаÑÑ Ð¼Ð¾Ð¶Ð½Ð¾, но бÑдÑÑе внимаÑелÑÐ½Ñ Ð¸ обÑаÑиÑе внимание на оÑзÑвÑ!</h4></div>'); 2976 } 2977 if (r == 7) { 2978 $('#storeDataResult').append('<div class="storeResumeText"><h4 class="text-danger">РейÑинг пÑодавÑа низкий, лÑÑÑе поиÑкаÑÑ ÑоваÑÑ Ñ Ð´ÑÑгого пÑодавÑа!</h4></div>'); 2979 } 2980 if (r == 6) { 2981 $('#storeDataResult').append('<div class="storeResumeText"><h4 class="text-danger">РейÑинг пÑодавÑа низкий, Ð¼Ñ Ð½Ðµ ÑекомендÑем пÑиобÑеÑаÑÑ ÑоваÑÑ Ñ ÑÑого пÑодавÑа!</h4></div>'); 2982 } 2983 if (r == 5) { 2984 $('#storeDataResult').append('<div class="storeResumeText"><h4 class="text-danger">РейÑинг пÑодавÑа оÑÐµÐ½Ñ Ð½Ð¸Ð·ÐºÐ¸Ð¹, Ð¼Ñ Ð½Ðµ ÑекомендÑем пÑиобÑеÑаÑÑ ÑоваÑÑ Ñ ÑÑого пÑодавÑа!</h4></div>'); 2985 } 2986 if (r == 4) { 2987 $('#storeDataResult').append('<div class="storeResumeText"><h4 class="text-danger">РейÑинг пÑодавÑа оÑÐµÐ½Ñ Ð½Ð¸Ð·ÐºÐ¸Ð¹, Ð¼Ñ Ð½Ðµ ÑекомендÑем пÑиобÑеÑаÑÑ ÑоваÑÑ Ñ ÑÑого пÑодавÑа!</h4></div>'); 2988 } 2989 if (r == 3) { 2990 $('#storeDataResult').append('<div class="storeResumeText"><h4 class="text-danger">РейÑинг пÑодавÑа оÑÐµÐ½Ñ Ð½Ð¸Ð·ÐºÐ¸Ð¹, Ð¼Ñ Ð½Ðµ ÑекомендÑем пÑиобÑеÑаÑÑ ÑоваÑÑ Ñ ÑÑого пÑодавÑа!</h4></div>'); 2991 } 2992 $('#storeDataResult').append('<div class="" style="margin-left:50px; padding-bottom:14px;">СÑÑлка на оÑÑÐµÑ Ð¾ пÑодавÑе '+json.data.store_name+': <a href="//track24.ru/?page=store-info&sId='+json.data.id+'" target="_blank">https://track24.ru/?page=store-info&sId='+json.data.id+'</a></div>'); 2993 2994 2995 } 2996 else if (json.status == 'error') { 2997 $('#storeDataInfo').html('<div class="panel panel-danger" style="margin-top:20px;"><div class="panel-heading"><h4 class="panel-title">ÐÑибка</h4></div><div class="panel-body">'+json.message+'</div></div>'); 2998 } 2999 else { 3000 $('#storeDataInfo').html('<div class="panel panel-danger" style="margin-top:20px;"><div class="panel-heading"><h4 class="panel-title">ÐÑибка</h4></div><div class="panel-body">ÐÑибка полÑÑÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ . ÐожалÑйÑÑа ÑообÑиÑе ÑазÑабоÑикам!</div></div>'); 3001 } 3002 }, 3003 beforeSend : function() { 3004 $("#storeInfoButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-check-square-o"); 3005 $("#storeInfoButton").toggleClass('disabled'); 3006 $(".load-bar-disabled").show(); 3007 $(".load-bar").toggleClass('active'); 3008 3009 }, 3010 complete: function(response) { 3011 $("#storeInfoButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-check-square-o"); 3012 $("#storeInfoButton").toggleClass('disabled'); 3013 $(".load-bar-disabled").hide(); 3014 $(".load-bar-under-stripe-disabled").hide(); 3015 $(".load-bar").toggleClass('active'); 3016 3017 3018 }, 3019 error: function(objAJAXRequest, strError) { 3020 $('#storeDataInfo').html('<div class="panel panel-danger" style="margin-top:20px;"><div class="panel-heading"><h4 class="panel-title">ÐÑибка</h4></div><div class="panel-body">'+strError+'</div></div>'); 3021 } 3022 });
3023} 3024 3025 3026function searchNotification() { 3027 if ($( "#searchNotificationButton" ).hasClass("disabled") == true) { 3028 return false; 3029 } 3030 $('#notificationDataInfo').empty(); 3031 3032 $("#inputSearchNotification").val($.trim($("#inputSearchNotification").val())); 3033 $('#inputSearchNotification').removeClass('has-error'); 3034 3035 3036 var inputedSearchNotification = (typeof $("#inputSearchNotification").val() !== "undefined" && $("#inputSearchNotification").val() != null && $("#inputSearchNotification").val() != "" ) ? $("#inputSearchNotification").val() : ""; 3037 if (inputedSearchNotification.length < 1) { 3038 $("#inputStoreInfoUrl").attr("placeholder","ÐÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ввеÑÑи ÑÑÑÐ»ÐºÑ Ð½Ð° ÑÐ¾Ð²Ð°Ñ Ð½Ð° AliExpress.com!"); 3039 $('#inputStoreInfoUrl').addClass('has-error'); 3040 return false; 3041 } 3042 3043 var ajaxUrl = '/ajax/search-notification.ajax.php?q='+inputedSearchNotification; 3044 document.title = 'ÐоиÑк в ÑееÑÑÑе ноÑиÑикаÑий: '+inputedSearchNotification; 3045 window.history.pushState('', 'ÐоиÑк в ÑееÑÑÑе ноÑиÑикаÑий: '+inputedSearchNotification, '/?page=cryptographic-notifications'); 3046 3047 $.ajax({
3048 url: ajaxUrl, 3049 type: 'GET', 3050 dataType: 'json', 3051 timeout: (60000), 3052 success: function(json){ 3053 3054 if (json.status == 'ok') { 3055 var searchResult = ""; 3056 searchResult += "<h3>РезÑлÑÑÐ°Ñ Ð¿Ð¾Ð¸Ñка: "+inputedSearchNotification+"</h3><br>"; 3057 $.each(json.data, function(key, value) { 3058 3059 searchResult += "<b>ÐденÑиÑикаÑоÑ:</b> "+value["identificator"]+" ("+value["status"]+")<br><br>"; 3060 searchResult += "<b>Ðаименование:</b> "+value["name"]+"<br><br>"; 3061 searchResult += "<b>ÐÑоизводиÑелÑ:</b>"+value["manufacturer"]+"<br><br>"; 3062 searchResult += "<b>ÐаÑа пÑбликаÑии:</b> "+value["publicationDate"]+" / <b>СÑок дейÑÑвиÑ:</b> "+value["validatePeriod"]; 3063 if (value["cancelationDate"] != "") { 3064 searchResult += " / <b>ÐаÑа анÑлиÑованиÑ:</b> "+value["cancelationDate"]+"<br>"; 3065 } 3066 searchResult += "<hr><br>"; 3067 3068 }); 3069 $('#notificationDataInfo').html(searchResult); 3070 3071 } 3072 else if (json.status == 'error') { 3073 $('#notificationDataInfo').html("<br><br><h4><center>ÐнÑоÑмаÑÐ¸Ñ Ð½Ðµ найдена</center><h4><br><br>"); 3074 } 3075 else { 3076 $('#storeDataInfo').html('<div class="panel panel-danger" style="margin-top:20px;"><div class="panel-heading"><h4 class="panel-title">ÐÑибка</h4></div><div class="panel-body">ÐÑибка полÑÑÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ . ÐожалÑйÑÑа ÑообÑиÑе ÑазÑабоÑикам!</div></div>'); 3077 } 3078 }, 3079 beforeSend : function() { 3080 $("#searchNotificationButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-check-square-o"); 3081 $("#searchNotificationButton").toggleClass('disabled'); 3082 $(".load-bar-disabled").show(); 3083 $(".load-bar").toggleClass('active'); 3084 //console.log("before"); 3085 }, 3086 complete: function(response) { 3087 $("#searchNotificationButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-check-square-o"); 3088 $("#searchNotificationButton").toggleClass('disabled'); 3089 $(".load-bar-disabled").hide(); 3090 $(".load-bar-under-stripe-disabled").hide(); 3091 $(".load-bar").toggleClass('active'); 3092 //console.log("complete"); 3093 3094 }, 3095 error: function(objAJAXRequest, strError) { 3096 $('#notificationDataInfo').html('<div class="panel panel-danger" style="margin-top:20px;"><div class="panel-heading"><h4 class="panel-title">ÐÑибка</h4></div><div class="panel-body">'+strError+'</div></div>'); 3097 //console.log("error"); 3098 } 3099 }); 3100 } 3101 3102 3103 3104 function guideCate(){ 3105 $(".g-1").hide(); 3106 $.Storage.remove('tour4_current_step'); 3107 $.Storage.remove('tour4_end'); 3108 var trackingNumberFromUrl = $.urlParam('guide'); 3109 if ((typeof trackingNumberFromUrl !== "undefined") && (trackingNumberFromUrl !== null) && (trackingNumberFromUrl !== "")) { 3110 $("#inputTrackCode").val(trackingNumberFromUrl); 3111 } 3112 else { 3113 $("#inputTrackCode").val("LM942926894CN"); 3114 } 3115 tracking(); 3116 3117 3118 var lastStatusChild = (sortEventsTrigger == true ) ? "last-child" : "first-child"; 3119 var t = new Tour({ 3120 name: "tour4", 3121 debug: true, 3122 backdrop: true, 3123 backdropContainer: 'body', 3124 backdropPadding: 0, 3125 orphan: false, 3126 duration: false, 3127 delay: false, 3128 3129 smartPlacement: false, 3130 keyboard: true, 3131 debug: true, 3132 template: '<div class="popover tour"><div class="arrow" style="left: 50%;"></div><h3 class="popover-title"></h3><div class=""><div class="col-lg-10 column"><div class="popover-content"></div></div> <div class="col-lg-2 column text-right"><img src="/img/cat-64.png" class="hidden-xs" data-toggle="tooltip" title="ÐÑо коÑо-гид =)" style="position:relative; right:1px; top: 1px;"></div></div><div class=""><div class="popover-navigation" style="overflow: inherit;"><div class="btn-group"> <button class="btn btn-sm btn-default" data-role="prev">
3132« Ðазад</button> <button class="btn btn-sm btn-default" data-role="next">ÐпеÑед »</button> </div> <button class="btn btn-sm btn-default" data-role="end">ÐавеÑÑиÑÑ</button> </div></div></div>', 3133 onShown: function(tour) { 3134 3135 }, 3136 steps: [ 3137 { 3138 element: "#trackingForm", 3139 title: "ÐÑо ÑоÑма оÑÑлеживаниÑ", 3140 content: "ÐÑи помоÑи коÑоÑой ÐÑ ÑможеÑе оÑÑлеживаÑÑ Ð¿Ð¾ÑÑлки на наÑем ÑайÑе", 3141 placement: "bottom", 3142 onNext: function(){ 3143 $("#inputTrackCode").css({'z-index' : '9999'}); 3144 } 3145 }, 3146 { 3147 element: "#inputTrackCode", 3148 title: "ÐÑо поле Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ð° ÑÑек-кода", 3149 content: "ÐведиÑе ÑÑда ÑÑек-код полÑÑеннÑй Ñ Ð¿ÑодавÑа...", 3150 placement: "bottom", 3151 onNext: function(){ 3152 $("#inputTrackCode").css({'z-index' : '1'}); 3153 $("#trackingButton").css({'z-index' : '9999'}); 3154 3155 } 3156 3157 }, 3158 { 3159 element: "#trackingButton", 3160 title: "Ð ÑÑо, ÑÐ°Ð¼Ð°Ñ Ð³Ð»Ð°Ð²Ð½Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÐ°", 3161 content: "ÐажмиÑе на нее, Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð¾ÑÑледиÑÑ ÑÑек-код, и полÑÑиÑÑ ÑÑаÑÑÑÑ Ð¿Ð¾ÑÑлки...", 3162 placement: "bottom", 3163 onNext: function(){ 3164 $("#trackingButton").css({'z-index' : '1'}); 3165 } 3166 }, 3167 { 3168 element: "#projectedDeliveryPeriodBeforeEvents", 3169 title: "Ðогда ждаÑÑ Ð¿Ð¾ÑÑлкÑ", 3170 content: "Ð ÑÑой ÑÑÑоке оÑобÑажаеÑÑÑ Ð¿ÑогнозиÑÑемÑй пеÑиод поÑÑÑÐ¿Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾ÑÑлки в ÐаÑе поÑÑовое оÑделение", 3171 placement: "top", 3172 onNext: function(){ 3173 } 3174 3175 }, 3176 { 3177 element: ".projectedDeliveryPeriodAffterEvents", 3178 title: "Ðогда ждаÑÑ Ð¿Ð¾ÑÑлкÑ", 3179 content: "РздеÑÑ Ð¾ÑобÑажаеÑÑÑ Ð¿ÑогнозиÑÑемÑй пеÑиод поÑÑÑÐ¿Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾ÑÑлки в ÐаÑе поÑÑовое оÑделение", 3180 placement: "top", 3181 onNext: function(){ 3182 } 3183 3184 }, 3185 3186 { 3187 element: "#trackingInfoEvents", 3188 title: "СÑаÑÑÑÑ Ð¿Ð¾ÑÑлки", 3189 content: "ТепеÑÑ ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑвидеÑÑ, ÑÑо пÑоиÑÑ Ð¾Ð´Ð¸Ñ Ñ ÐаÑей поÑÑлкой", 3190 placement: "top", 3191 onNext: function(){ 3192 } 3193 }, 3194 3195 { 3196 element: ".trackingInfoRow:"+lastStatusChild, 3197 title: "СÑаÑÑÑÑ Ð¿Ð¾ÑÑлки", 3198 content: "ÐÑобое внимание обÑаÑиÑе на поÑледний ÑÑаÑÑÑ Ð¿Ð¾ÑÑлки.", 3199 placement: "top", 3200 onNext: function(){ 3201 } 3202 }, 3203 3204 { 3205 element: "#history-a", 3206 title: "ÐÑÑоÑÐ¸Ñ Ð¾ÑÑлеживаниÑ", 3207 content: "РеÑли ÐÑ Ð·Ð°ÑегиÑÑÑиÑÑеÑеÑÑ Ð¸ авÑоÑизÑеÑеÑÑ Ð½Ð° наÑем ÑайÑе, вÑе ÐаÑи ÑÑек-ÐºÐ¾Ð´Ñ Ð±ÑдÑÑ Ð¾ÑобÑажаÑÑÑÑ Ð² блоке \"Ðои ÑÑек-кодÑ\", и ÐÑ ÑможеÑе оÑÑлеживаÑÑ Ñвои ÑÑек-ÐºÐ¾Ð´Ñ Ñ Ð»Ñбого компÑÑÑеÑа.<br>P.S.ÐÑ Ð²Ñегда ÑможеÑе ÑдалиÑÑ Ð½ÐµÐ½ÑжнÑе ÑÑек-кодÑ.<br>ÐÐ¾Ñ Ð¸ вÑÑ, как видиÑе, оÑÑлеживание - ÑÑо не Ñложно ;)", 3208 placement: "left", 3209 onNext: function(){ 3210 } 3211 }, 3212 3213 { 3214 element: "#trackingFormShare_", 3215 title: "Ðак оÑблагодаÑиÑÑ", 3216 content: "ÐÑ Ð±Ñдем иÑкÑенне ÑадÑ, еÑли ÐÑ Ð¿Ð¾Ð´Ð´ÐµÑжиÑе Ð½Ð°Ñ ÐºÐ»Ð¸ÐºÐ½Ñв по одной из ÑоÑиалÑнÑÑ ÐºÐ½Ð¾Ð¿Ð¾Ðº и поделиÑеÑÑ Ð½Ð°Ñим ÑайÑом Ñо Ñвоими дÑÑзÑÑми.<br>Ðам не Ñложно, а нам пÑиÑÑно! ;)", 3217 placement: "top", 3218 onNext: function(){ 3219 } 3220 }, 3221 3222 3223 ] 3224 }).restart(); 3225 3226 3227 3228 $.Storage.remove('tour4_current_step'); 3229 $.Storage.remove('tour4_end'); 3230} 3231 3232 function addTransportCompany() { 3233 $.get('forms/addTransportCompany.form.php?newTrackCode='+$("#inputTrackCode").val(), function(data) { 3234 $('body').prepend(data); 3235 $('#notificationsModal').modal({show:true}); 3236 3237 $('#buttonOk').bind('click', function(e) { 3238 e.preventDefault(); 3239 if ($(this).attr('name') == 'buttonOk') { 3240 var ajaxUrl = '/ajax/addTransportCompany.ajax.php'; 3241 var trackCode = $('#trackCode').val(); 3242 var companyName = $('#companyName').val(); 3243 var companyUrl = $("#companyUrl").val(); 3244 } 3245 $.ajax({
3246 url: ajaxUrl, 3247 data : {'login': $.Storage.get('login'), 'trackCode': trackCode, 'companyName': companyName, 'companyUrl': companyUrl}, 3248 type: 'POST', 3249 dataType: 'json', 3250 success: function(data){ 3251 if (data) { 3252 if (data.status == 'ok') { 3253 $('.modal-footer').find('center').html('<div class="text-success">'+data.message+'</div>').delay(1000).fadeIn().delay(100).fadeOut().queue(function(){ 3254 $('#notificationsModal').modal("hide"); 3255 }); 3256 } 3257 else if (data.status == 'error') { 3258 $('.modal-footer').find('center').html('<div class="text-danger">'+data.message+'</div>').fadeIn(); 3259 } 3260 } 3261 }, 3262 beforeSend : function() { 3263 $('.modal-footer').find('center').html('<div class="alert-info"><i class="fa fa-spinner fa-spin"></i> ÐÑпÑавка даннÑÑ ...</div>').fadeIn(); 3264 }, 3265 complete: function(response) { 3266 3267 3268 }, 3269 error: function() { 3270 3271 } 3272 }); 3273 3274 }); 3275 3276 $('#buttonCancel').bind('click', function(e) { 3277 e.preventDefault(); 3278 $('.modal.in').modal('hide'); 3279 }); 3280 3281 $('#notificationsModal').on("hidden.bs.modal", function(){ 3282 $('#notificationsModal').fadeOut().hide().remove(); 3283 }); 3284 3285 }); 3286 } 3287 3288 function addReview(){ 3289 $.get('https://track24.ru/forms/addReview.form.php', function(data) { 3290 $('#reviewModal').hide().remove(); 3291 $('body').prepend(data); 3292 $('#reviewModal').modal({show:true}); 3293 if ((typeof $.Storage.get('social_name') !== "undefined") && ($.Storage.get('social_name') !== null) && ($.Storage.get('social_name') !== "")) { 3294 $("#addReviewName").attr("value", $.Storage.get("social_name")); 3295 } 3296 3297 if (Math.floor($.urlParam('cat')) > 0) { 3298 $('#addReviewCat').val($.urlParam('cat')); 3299 } 3300 3301 3302 $('#buttonOk').bind('click', function(e) { 3303 e.preventDefault(); 3304 if ($("#buttonOk").hasClass("disabled") == true) { 3305 return false; 3306 } 3307 else { 3308 $("#buttonOk").toggleClass('disabled'); 3309 } 3310 var addReviewLogin = $.Storage.get('login'); 3311 var addReviewCat = Math.floor($('#addReviewCat').val()); 3312 var addReviewName = $('#addReviewName').val(); 3313 var addReviewImgUrl = $('#addReviewImgUrl').val(); 3314 var addReviewText = $("#addReviewText").val(); 3315 var addReviewGoodsUrl = $("#addReviewGoodsUrl").val(); 3316 3317 $.ajax({
3318 url: '/ajax/addReview.ajax.php', 3319 data : {'addReviewLogin': addReviewLogin, 'addReviewCat': addReviewCat, 'addReviewName': addReviewName, 'addReviewImgUrl': addReviewImgUrl, 'addReviewText': addReviewText, 'addReviewGoodsUrl': addReviewGoodsUrl}, 3320 type: 'POST', 3321 dataType: 'json', 3322 success: function(data){ 3323 if (data) { 3324 if (data.status == 'ok') { 3325 $('.modal-footer').find('center').html('<div class="text-success">'+data.message+'</div>').delay(1000).fadeIn().delay(100).fadeOut().queue(function(){ 3326 $('.modal.in').modal('hide'); 3327 }); 3328 } 3329 else if (data.status == 'error') { 3330 $('.modal-footer').find('center').html('<div class="text-danger">'+data.message+'</div>').fadeIn(); 3331 $("#buttonOk").toggleClass('disabled'); 3332 } 3333 else { 3334 $('.modal-footer').find('center').html('<div class="text-danger">Ðй, нам жалÑ, но пÑоизоÑла оÑибка...</div>').fadeIn(); 3335 $("#buttonOk").toggleClass('disabled'); 3336 } 3337 } 3338 else { 3339 $('.modal-footer').find('center').html('<div class="text-danger">Ðй, нам жалÑ, но пÑоизоÑла оÑибка...</div>').fadeIn(); 3340 $("#buttonOk").toggleClass('disabled'); 3341 } 3342 }, 3343 beforeSend : function() { 3344 $('.modal-footer').find('center').html('<div class="alert-info"><i class="fa fa-spinner fa-spin"></i> ÐÑпÑавка даннÑÑ ...</div>').fadeIn(); 3345 }, 3346 complete: function(response) { 3347 3348 3349 }, 3350 error: function() { 3351 $('.modal-footer').find('center').html('<div class="text-danger">Ðй, нам жалÑ, но пÑоизоÑла оÑибка...</div>').fadeIn(); 3352 } 3353 }); 3354 3355 }); 3356 3357 $('#buttonCancel').bind('click', function(e) { 3358 e.preventDefault(); 3359 $('.modal.in').modal('hide'); 3360 }); 3361 3362 $('#notificationsModal').on("hidden.bs.modal", function(){ 3363 $('#reviewModal').fadeOut().hide().remove(); 3364 }); 3365 3366 3367 3368 $("#imgFile").change(function() { 3369 $("#uploadingImgButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-picture-o"); 3370 $("#uploadingImgForm").submit(); 3371 $("#uploadingImgFrame").on('load', function() { 3372 $("#uploadingImgButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-picture-o"); 3373 var response = $("#uploadingImgFrame").contents().find("body"); 3374 var json = $.parseJSON($.trim(response[0]['textContent'])); 3375 $('#imgFile').val(""); 3376 if (json) { 3377 if (json.status == 'ok') { 3378 if ((typeof json.imgUrl !== "undefined") && (json.imgUrl !== null) && (json.imgUrl !== "")) { 3379 $("#addReviewImgUrl").attr("value", json.imgUrl); 3380 $("#uploadingImgButton").hide(); 3381 $("#addReviewImgPreview").html('<img src="'+json.imgUrl+'" width="200px">'); 3382 } 3383 } 3384 else if (json.status == 'error') { 3385 $("#addReviewImgPreview").html('<span class="text-danger">'+json.message+'</span>'); 3386 } 3387 } 3388 }); 3389 }); 3390 3391 $("#uploadingImgButton").click(function() { 3392 $("#imgFile").click(); 3393 }); 3394 3395 }); 3396} 3397 3398 function showDeliveredStatChart(prefix, postfix) { 3399 var currentPrefix = prefix.substr(0, 2).toUpperCase(); 3400 var currentPostfix = postfix.substr(0, 2).toUpperCase(); 3401 3402 var dialogHtml = '<div class="my-mfp-white-popup zoom-anim-dialog animated rubberBand" style="min-width:700px;">
3402<div id="deliveredChartsModal"><div class="delivered-charts-header"><h4 class="modal-title">СÑаÑиÑÑика доÑÑавок</h4></div><div class="delivered-charts-body"></div><hr><div class="delivered-charts-footer" style="padding-top:10px;"><center><small>ÐÑаÑик ÑÑоÑмиÑован на оÑнове <a href="https://track24.ru/?page=delivered-stat#'+currentPostfix+'" target="_blank" class="dotted">ÑÑаÑиÑÑики доÑÑавки</a> междÑнаÑоднÑÑ Ð¿Ð¾ÑÑовÑÑ Ð¾ÑпÑавлений<small></center></div></div><div style="position: absolute; right: 20px; bottom: 18px;"><img src="https://track24.ru/img/logo.38x38.png" width="28px"></div></div>'; 3403 $.magnificPopup.open({ 3404 items: { src: dialogHtml}, 3405 type: 'inline', 3406 fixedBgPos: false, 3407 fixedContentPos: true, 3408 overflowY: 'scroll', 3409 closeBtnInside: true, 3410 preloader: true, 3411 midClick: false, 3412 removalDelay: 400, 3413 mainClass: 'my-mfp-zoom-in', 3414 alignTop:false, 3415 showCloseBtn: true, 3416 closeMarkup: '<button title="%title%" type="button" class="mfp-close"></button>', 3417 callbacks: { 3418 open: function() { 3419 $('.navbar-fixed-top').css('overflow-y', 'scroll'); 3420 }, 3421 close: function() { 3422 $('.navbar-fixed-top').css('overflow-y', 'visible'); 3423 } 3424 } 3425 }); 3426 3427 $('#deliveredChartsModal > .delivered-charts-header > h4').text(''); 3428 $('.delivered-charts-body').html('<center>Ð¡Ð±Ð¾Ñ Ð´Ð°Ð½Ð½ÑÑ , минÑÑоÑкÑ...</center>'); 3429 $.ajax({
3430 url: '/ajax/delivered.stat.by.days.ajax.php', 3431 data : {'prefix': currentPrefix, 'postfix': currentPostfix}, 3432 type: 'POST', 3433 dataType: 'json', 3434 success: function(json){ 3435 $('.delivered-charts-body').html('<div class="col-md-12 hidden" id="deliveredCharts"></div>'); 3436 $("#deliveredCharts").append('<div id="chartContainer" style="width: 650px; height: 400px; margin: 0 auto"></div>'); 3437 $("#deliveredCharts").removeClass('hidden'); 3438 $('#chartContainer').highcharts({ 3439 chart: { 3440 type: 'spline' 3441 }, 3442 credits: { 3443 enabled: false 3444 }, 3445 title: { 3446 text: 'СÑоки доÑÑавки поÑÑовÑÑ Ð¾ÑпÑавлений<br> за поÑледние 2 меÑÑÑа' 3447 }, 3448 subtitle: { 3449 text: currentPrefix+' ######### '+currentPostfix 3450 }, 3451 xAxis: { 3452 type: 'datetime', 3453 dateTimeLabelFormats: { 3454 day: '%e' 3455 }, 3456 labels: { 3457 overflow: 'justify' 3458 } 3459 }, 3460 legend: { 3461 layout: 'vertical', 3462 align: 'center', 3463 verticalAlign: 'bottom', 3464 borderWidth: 0 3465 }, 3466 yAxis: { 3467 labels: { 3468 enabled: true 3469 }, 3470 title: { 3471 text: "Ðней в пÑÑи" 3472 } , 3473 gridLineWidth: 1, 3474 alternateGridColor: 2 3475 3476 }, 3477 series: [ 3478 { 3479 name: 'ÐинималÑное вÑÐµÐ¼Ñ Ð´Ð¾ÑÑавки (дней)', 3480 color: '#22ffc2', 3481 data: json.data['minDeliveryByDate'], 3482 pointStart: Date.UTC(showDeliveredStatChartY, showDeliveredStatChartN, 1), 3483 pointInterval: 24 * 3600 * 1000 3484 }, 3485 { 3486 name: 'СÑеднее вÑÐµÐ¼Ñ Ð´Ð¾ÑÑавки (дней)', 3487 color: '#425bbb', 3488 data: json.data['averageDeliveryByDate'], 3489 pointStart: Date.UTC(showDeliveredStatChartY, showDeliveredStatChartN, 1), 3490 pointInterval: 24 * 3600 * 1000 3491 }, 3492 { 3493 name: 'ÐакÑималÑное вÑÐµÐ¼Ñ Ð´Ð¾ÑÑавки (дней)',
3494 color: '#FF5722', 3495 data: json.data['maxDeliveryByDate'], 3496 pointStart: Date.UTC(showDeliveredStatChartY, showDeliveredStatChartN, 1), 3497 pointInterval: 24 * 3600 * 1000 3498 }, 3499 ] 3500 }); 3501 3502 3503 } 3504 }); 3505 } 3506 3507 3508 3509 function addthisInit() { 3510 if ((device.desktop()) && (findBootstrapEnvironment() === "lg") && ($( window ).width() >= 1275) ) { 3511 $.getScript('https://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5966ca4a1d596970').done(function( script, textStatus ) { 3512 }); 3513 } 3514 else if ((device.desktop()) && (findBootstrapEnvironment() === "md") && ($( window ).width() >= 1050) ) { 3515 $.getScript('https://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5966ca4a1d596970').done(function( script, textStatus ) { 3516 }); 3517 } 3518 } 3519 function loadBarOnScrollInit() { 3520 if ((findBootstrapEnvironment() === "lg") || (findBootstrapEnvironment() === "md") || (findBootstrapEnvironment() === "sm")) { 3521 $(window).scroll(function() { 3522 if (($(".load-bar").visible() === false) && ($(".load-bar").hasClass("active") == true)) { 3523 $(".load-bar-under-stripe-disabled").show(); 3524 } 3525 else { 3526 $(".load-bar-under-stripe-disabled").hide(); 3527 } 3528 }); 3529 } 3530 } 3531 function cookieconsentInit() { 3532 window.addEventListener("load", function(){ 3533 window.cookieconsent.initialise({ 3534 "palette": { 3535 "popup": { 3536 "background": "#edeff5", 3537 "text": "#838391" 3538 }, 3539 "button": { 3540 "background": "transparent", 3541 "text": "#4b81e8", 3542 "border": "#4b81e8" 3543 } 3544 }, 3545 "content": { 3546 "href": "https://track24.ru/?page=privacy" 3547 } 3548 }) 3549 3550 $('.cc-window').bind('click', function() { 3551 $('.cc-window').hide(); 3552 setTimeout( function() { 3553 $('.cc-window').fadeIn(1800); 3554 }, 3000); 3555 }); 3556 3557 }); 3558 } 3559 3560 function showResolutionInfoWindow() { 3561 var text_1 = "ÐаÑÑÑабиÑованное ÑазÑеÑение ÑкÑана: "+screen.width+"px X "+screen.height+"px"; 3562 var text_2 = "РеалÑное ÑазÑеÑение ÑкÑана: "+window.screen.width * window.devicePixelRatio+"px X "+window.screen.height * window.devicePixelRatio+"px"; 3563 var text_3 = "ШиÑина и вÑÑоÑа бÑаÑзеÑа: "+document.body.clientWidth+"px X "+document.body.clientHeight+"px"; 3564 var text_4 = "ШиÑина и вÑÑоÑа видимой облаÑÑи бÑаÑзеÑа: "+$(window).width()+"px X "+$(window).height()+"px"; 3565 var text_5 = "ÐаÑÑÑаб: "+window.devicePixelRatio; 3566 //var text_6 = "Тип : "+device; 3567 3568 if (device.desktop()) { 3569 var text_6 = "Тип: компÑкÑеÑ"; 3570 } 3571 else if (device.tablet()) { 3572 var text_6 = "Тип: планÑеÑ"; 3573 } 3574 else if (device.mobile()) { 3575 var text_6 = "Тип: ÑелеÑон"; 3576 } 3577 else { 3578 var text_6 = "Тип: непонÑÑно"; 3579 } 3580 3581 var resolutionPopupContent = '<div class="modal animated zoomInDown" id="resolutionModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">\ 3582 <div class="modal-dialog"> \ 3583 <div class="modal-content"> \ 3584 <div class="modal-header"> \ 3585 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> \ 3586 <h4 class="modal-title" id="myModalLabel">ХаÑакÑеÑиÑÑики ÑкÑана</h4> \ 3587 </div> \ 3588 <div class="resolutionModal-body modal-body">'+text_1+"<br>"+text_2+"<br>"+text_3+"<br>"+text_4+"<br>"+text_5+"<br>"+text_6+'</div> \ 3589 <div class="modal-footer"> \ 3590 <button type="button" class="btn btn-default" data-dismiss="modal">ÐакÑÑÑÑ</button> \ 3591 </div> \ 3592 </div> \ 3593 </div> \ 3594 </div>'; 3595 3596 $('body').append(resolutionPopupContent); 3597 $('#resolutionModal').modal('show'); 3598 3599 3600 } 3601 3602 3603 function feedBackInit() { 3604 /* 3605 if (device.desktop()) { 3606 var urlhash = window.location.hash, 3607 txthash = urlhash.replace("#", ""); 3608 alert(txthash); 3609 if (txthash == "feedback") { 3610 setTimeout(function() { 3611 $('html, body').animate({ 3612 scrollTop: $("#feedBackContainer").offset().top - 100 3613 }, 1000); 3614 }, 1000); 3615 3616 } 3617 } 3618 */ 3619 $('#feedBack').show(); 3620 //alert(); 3621 var fbi = 1; 3622 var feedbackHtmlContent = ""; 3623 $.each(feedBackArray, function(key, value) { 3624 if ((((fbi+1) % 2) == 0) || (fbi == 1)) { 3625 feedbackHtmlContent += '<div class="item slide">'; 3626 } 3627 3628 if (value[1].indexOf('@') === -1) { 3629 var uname = value[1]; 3630 var uavatar = 'https://track24.ru/img/feedback-avatars/'+value[3]; 3631 } 3632 else { 3633 var uname = value[1].split("@")[0]; 3634 var uavatar = 'https://track24.ru/img/feedback-avatars/default.jpg'; 3635 } 3636 3637 3638 if (uname.length > 19) { 3639 uname = uname.slice(0, 19); 3640 } 3641 3642 3643 feedbackHtmlContent += '<div class="col-sm-6">\ 3644 <div class="ui-item">\ 3645 <div class="ui-details">\ 3646 <div class="ui-text">'+value[2]+'</div>\ 3647 <div class="ui-user clearfix">\ 3648 <div class="feedBack-user-avatar" style="background: url(https://track24.ru/img/feedback-avatars/'+value[3]+') center no-repeat; background-size: cover;"></div>\ 3649 <div class="feedBack-user-name">'+uname+'<span>'+value[0]+'</span></div>\ 3650 </div>\ 3651 <div class="feedBack-review-stars"><div class="review-stars__empty" style="padding-left:'+value[4]+'%"></div></div>\ 3652 </div>\ 3653 </div>\ 3654 </div>'; 3655 3656 if (((fbi) % 2) == 0) { 3657 feedbackHtmlContent += '</div>'; 3658 } 3659 fbi++; 3660 }); 3661 $('#slides-container').append(feedbackHtmlContent); 3662 3663 dxSimpleSlider('#slider', true, 15000); 3664 //dxSimpleSlider('#slider', false, 15000); 3665 3666 $('.myTooltip').tooltip(); 3667 3668 $('.feedBackForm').hide(); 3669 $('#addFeedback').bind('click', function() { 3670 if ((typeof $.Storage.get('login') === "undefined") || ($.Storage.get('login') === null) || ($.Storage.get('login') === "") || (typeof $.Storage.get('authKey') === "undefined") || ($.Storage.get('authKey') === null) || ($.Storage.get('authKey') === "")) { 3671 $('#navSignInButton').click(); 3672 return false; 3673 } 3674 $('#addFeedback').hide(); 3675 3676 var sn = $.Storage.get('login').split("@")[0]; 3677 var sa = "/img/avatars/default.jpg"; 3678 3679 3680 3681 3682 if ((typeof $.Storage.get('social_name') !== "undefined") && ($.Storage.get('social_name') !== null) && ($.Storage.get('social_name') !== "")) { 3683 sn = $.Storage.get('social_name'); 3684 } 3685 3686 if ((typeof $.Storage.get('avatar') !== "undefined") && ($.Storage.get('avatar') !== null) && ($.Storage.get('avatar') !== "")) { 3687 sa = $.Storage.get('avatar'); 3688 } 3689 3690 $("#feedBackFormSocialName").text(sn); 3691 3692 $("#feedBackFormAvatar").css("backgroundImage", "url("+sa+")"); 3693 $("#feedBackFormAvatar").attr("title", sn); 3694 $('.feedBackFormAjaxInfo').text(""); 3695 3696 3697 3698 animateCSS(".feedBack", "flipOutX", function() { //flipOutX 3699 3700 $('.feedBack').hide(); 3701 $('.feedBackForm').show(); 3702 animateCSS(".feedBackForm", "flipInX", function() { 3703 $( "#addFeedbackText" ).focus(); 3704 3705 }); 3706 }); 3707 3708 }); 3709 $('#feedBackFormClose').bind('click', function() { 3710 animateCSS(".feedBackForm", "flipOutX", function() { 3711 3712 $('.feedBackForm').hide(); 3713 $('.feedBack').show(); 3714 animateCSS(".feedBack", "flipInX", function() { 3715 $('#addFeedback').show(); 3716 }); 3717 }); 3718 3719 3720 }); 3721 3722 3723 3724 $('#feedbackSubmitButton').bind('click', function(e) { 3725 e.preventDefault(); 3726 3727 var addFeedbackButton = this; 3728 var addFeedbackLogin = $.Storage.get('login'); 3729 var addFeedbackAuthKey = $.Storage.get('authKey'); 3730 var addFeedbackFingerprint = $.Storage.get("fingerprint"); 3731 var addFeedbackText = $("#addFeedbackText").val(); 3732 var addFeedBackRaiting = $(".star-rating__input:input:checked").attr("value"); 3733 3734 if (addFeedbackText.length < 3) { 3735 $('.feedBackFormAjaxInfo').text("ÐÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ напиÑаÑÑ Ð¾ÑзÑв!"); 3736 return false; 3737 } 3738 3739 if ((typeof addFeedBackRaiting === "undefined") || (addFeedBackRaiting === null) || (addFeedBackRaiting === "")) { 3740 $('.feedBackFormAjaxInfo').text("ÐоÑÑавÑÑе оÑÐµÐ½ÐºÑ Ð¿Ñи помоÑи звездоÑек!"); 3741 $.each($('.star-rating__input'), function(key, value) { 3742 var c = key+1; 3743 setTimeout(function() { 3744 $($('#star-rating-'+c)).attr('checked', true); 3745 }, key * 250); 3746 }); 3747 3748 3749 return false; 3750 } 3751 3752 3753 if ($(this).hasClass("disabled") == true) { 3754 return false; 3755 } 3756 3757 3758 $.ajax({
3759 url: '/ajax/addFeedback.ajax.php', 3760 data : {'addFeedbackLogin': addFeedbackLogin, 'addFeedbackAuthKey': addFeedbackAuthKey, 'addFeedbackFingerprint': addFeedbackFingerprint, 'addFeedbackText': addFeedbackText, 'addFeedBackRaiting': addFeedBackRaiting}, 3761 type: 'POST', 3762 dataType: 'json', 3763 success: function(data){ 3764 if (data) { 3765 if (data.status == 'ok') { 3766 3767 $('#feedbackSubmitButton').toggleClass('disabled'); 3768 $("#addFeedbackText").val(""); 3769 $('.feedBackFormAjaxInfo').html('<div class="text-info">ÐÑзÑв полÑÑен, ÑпаÑибо!</div>'); 3770 3771 setTimeout(function() { 3772 animateCSS(".feedBackForm", "flipOutX", function() { 3773 $('.feedBackForm').hide(); 3774 $('.feedBack').show(); 3775 animateCSS(".feedBack", "flipInX", function() { 3776 3777 }); 3778 }); 3779 }, 1500); 3780 3781 3782 return true; 3783 } 3784 else if (data.status == 'error') { 3785 $('.feedBackFormAjaxInfo').text(data.message); 3786 return false; 3787 } 3788 else { 3789 return false; 3790 } 3791 } 3792 else { 3793 return false; 3794 } 3795 }, 3796 beforeSend : function() { 3797 $(addFeedbackButton).toggleClass('disabled'); 3798 $('.feedBackFormAjaxInfo').html('<div class="text-info"><i class="fa fa-spinner fa-spin"></i></div>'); 3799 }, 3800 complete: function(response) { 3801 $(addFeedbackButton).toggleClass('disabled'); 3802 }, 3803 error: function() { 3804 $(addFeedbackButton).toggleClass('disabled'); 3805 } 3806 }); 3807 3808 }); 3809 } 3810 3811 /* fuckAdBlock*/ 3812 function adBlockDetectett() { 3813 //$(".comments").toggleClass('disabled'); 3814 $(".comments").css({"pointer-events" : "none" , "opacity" : "0.7"}).attr("tabindex" , "-1"); 3815 //pointer-events: none; 3816 //$(".comments").html('<center><i class="fa fa-exclamation-triangle text-danger"></i> Please disable adblock (adguard) for activate comments ;))</center>'); 3817 $(".hc__form").html('<div id="adblock-detected-message"><center><i class="fa fa-exclamation-triangle text-danger"></i> Please disable adblock (adguard) for activate comments ;))</center></div>'); 3818 3819 3820 var currentJsDate = new Date() 3821 var day = currentJsDate.getDate() 3822 var month = currentJsDate.getMonth() + 1 3823 var year = currentJsDate.getFullYear() 3824 var lastAdblockCheckDate = $.Storage.get("lastAdblockCheckDate"); 3825 var currentDate = day + "." + month + "." + year; 3826 3827 if ((typeof $.Storage.get("lastAdblockCheckDate") === "undefined") || ($.Storage.get("lastAdblockCheckDate") === null) || ($.Storage.get("lastAdblockCheckDate") === "")) { 3828 $.Storage.set('lastAdblockCheckDate', "-"); 3829 } 3830 3831 if (currentDate != lastAdblockCheckDate) { 3832 $.ajax({ 3833 url: '/ajax/adblock.ajax.php', 3834 data: {}, 3835 type: 'POST', 3836 dataType: 'json', 3837 success: function(data) { 3838 $.Storage.set('lastAdblockCheckDate', currentDate); 3839 } 3840 }); 3841 } 3842 //console.log("adBlockDetectett"); 3843 } 3844 3845 function adBlockNotDetecteddd() { 3846 setTimeout(function() { 3847 console.log($('#'+adblock_prefix+'-1').children().length); 3848 if ($('#'+adblock_prefix+'-1').children().length == 0) { 3849 console.log("=)"); 3850 adBlockDetectett(); 3851 } 3852 }, 1000); 3853 } 3854 3855 function checkAdBlockkk() { 3856 if (typeof fuckAdBlock === 'undefined') { 3857 console.log("adBlockDetectett"); 3858 adBlockDetectett(); 3859 } else { 3860 fuckAdBlock.setOption({ 3861 debug: false, 3862 loopMaxNumber: 5, 3863 loopCheckTime: 300, 3864 baitClass: ''+adblock_prefix+'' 3865 }); 3866 fuckAdBlock.onDetected(adBlockDetectett).onNotDetected(adBlockNotDetecteddd); 3867 fuckAdBlock.onDetected(console.log("checkAdBlockkk adBlockDetectett")).onNotDetected(console.log("checkAdBlockkk adBlockNotDetecteddd")); 3868 } 3869 } 3870 3871 function checkAgain() { 3872 setTimeout(function() { 3873 if (typeof fuckAdBlock === 'undefined') { 3874 adBlockDetectett(); 3875 } else { 3876 fuckAdBlock.onDetected(adBlockDetectett).onNotDetected(adBlockNotDetecteddd); 3877 fuckAdBlock.onDetected(console.log("checkAgain adBlockDetectett")).onNotDetected(console.log("checkAgain adBlockNotDetecteddd")); 3878 fuckAdBlock.check(); 3879 } 3880 }, 500); 3881 } 3882 /* fuckAdBlock*/ 3883 3884 3885 3886function yaShareInit(elementId, title, description, url, imgUrl) { 3887 $(document).ready(function() {
3888 var displayServices = (device.mobile() !== true) ? 'vkontakte,facebook,twitter,odnoklassniki,moimir,viber,whatsapp,telegram' : 'vkontakte,facebook,odnoklassniki,viber,whatsapp,telegram'; 3889 setTimeout( function() { 3890 Ya.share2(elementId, { 3891 content: { 3892 url: url, 3893 title: title, 3894 description: description, 3895 image: imgUrl 3896 }, 3897 theme: { 3898 services: displayServices, 3899 lang: 'ru', 3900 limit: 8, 3901 size: 'm', 3902 bare: false 3903 }, 3904 hooks: { 3905 onready: function () { 3906 //alert('onready'); 3907 }, 3908 onshare: function (name) { 3909 //alert('onshare' + name); 3910 } 3911 } 3912 }); 3913 }, 100); 3914 return true; 3915 }); 3916 } 3917 3918/* core */ 3919function tracking() { 3920 //return; 3921 //alert(clientCountryCode); 3922 if ($( "#trackingButton" ).hasClass("disabled") == true) { 3923 return false; 3924 } 3925 $('#trackingInfo').empty(); 3926 $("#inputTrackCode").val($("#inputTrackCode").val().toUpperCase()); 3927 $('#inputTrackCode').removeClass('has-error'); 3928 3929 var inputedTrackCode = $("#inputTrackCode").val(); 3930 inputedTrackCode = inputedTrackCode.replace(/[^Ð-Яа-ÑA-Za-z0-9\-\.\/\(\)]/gi, ''); 3931 inputedTrackCode = $.trim(inputedTrackCode); 3932 3933 if (inputedTrackCode.length < 1) { 3934 $("#inputTrackCode").attr("placeholder","ÐÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ввеÑÑи ÑÑек-код!"); 3935 $('#inputTrackCode').addClass('has-error'); 3936 return false; 3937 } 3938 3939 3940 3941 var lng = $.Storage.get("lng"); 3942 var lastPoint = null; 3943 3944 if ((inputedTrackCode.length >= 5) && (inputedTrackCode.length <= 32)) { 3945 $.Storage.set('lastPostTrackingCode', inputedTrackCode); 3946 document.title = 'ÐÑÑлеживание поÑÑового оÑпÑавлениÑ: '+inputedTrackCode; 3947 if ((typeof selectedService === "undefined") || (selectedService === null) || (selectedService === "") ) { 3948 3949 var tUrl = document.location.toString(); 3950 3951 if (!tUrl.match('#')) { 3952 if (tUrl.indexOf('https://track24.ru/tracking/') === -1) { 3953 window.history.pushState('', 'ÐÑÑлеживание поÑÑового оÑпÑавлениÑ: '+inputedTrackCode, '/?code='+inputedTrackCode); 3954 } 3955 else { 3956 window.history.pushState('', 'ÐÑÑлеживание поÑÑового оÑпÑавлениÑ: '+inputedTrackCode, 'https://track24.ru/tracking/?code='+inputedTrackCode); 3957 } 3958 3959 3960 } 3961 else { 3962 if (tUrl.indexOf('https://track24.ru/tracking/') === -1) { 3963 window.history.pushState('', 'ÐÑÑлеживание поÑÑового оÑпÑавлениÑ: '+inputedTrackCode+'#'+tUrl.split('#')[1], '/?code='+inputedTrackCode+'#'+tUrl.split('#')[1]); 3964 } 3965 else { 3966 window.history.pushState('', 'ÐÑÑлеживание поÑÑового оÑпÑавлениÑ: '+inputedTrackCode+'#'+tUrl.split('#')[1], 'https://track24.ru/tracking/?code='+inputedTrackCode+'#'+tUrl.split('#')[1]); 3967 } 3968 3969 } 3970 } 3971 else { 3972 window.history.pushState('', 'ÐÑÑлеживание поÑÑового оÑпÑавлениÑ: '+inputedTrackCode, '/service/'+selectedService.toLowerCase()+'/tracking/'+inputedTrackCode); 3973 } 3974 3975 3976 if ((device.desktop()) || (device.tablet())) { 3977 lastTrackCodesBuilder(inputedTrackCode); 3978 } 3979 3980 if (shiftKeyPressed === true) { 3981 $.ajax({
3982 url: '/ajax/upTrackCode.ajax.php', 3983 data : {'code' : inputedTrackCode}, 3984 type: 'GET', 3985 dataType: 'json', 3986 async: false, 3987 success: function(data){ 3988 } 3989 }); 3990 } 3991 shiftKeyPressed = false; 3992 3993 xhrTracking = $.ajax({ 3994 3995 url : trackingUrlCache, 3996 crossDomain: true, 3997 data : {'code' : inputedTrackCode, 'selectedService':selectedService, 'lng':lng, 'sort':sortEventsTrigger, 'grouped':groupEventsByServiceTrigger, 'type': 'cache', 'key':trackingKey, 'clientIp':clientIp, 'uuid':uuid, 'fingerprint': $.Storage.get("fingerprint")}, 3998 type : 'POST', 3999 dataType : 'json', 4000 4001 timeout : (trackingTimeOut), 4002 success: function(json){ 4003 if (json) { 4004 4005 try { 4006 var _0x6a0a=["\x63\x74","\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","","\x65\x6E\x63","\x73\x74\x72\x69\x6E\x67\x69\x66\x79", cp, "\x64\x65\x63\x72\x79\x70\x74","\x41\x45\x53","\x70\x61\x72\x73\x65"];if( typeof json[_0x6a0a[0]]!== _0x6a0a[1]&& json[_0x6a0a[0]]!== null&& json[_0x6a0a[0]]!== _0x6a0a[2]){var json=JSON[_0x6a0a[8]](CryptoJS[_0x6a0a[7]][_0x6a0a[6]](JSON[_0x6a0a[4]](json),_0x6a0a[5],{format:CryptoJSAesJson}).toString(CryptoJS[_0x6a0a[3]].Utf8))} 4007 } 4008 catch(e) { 4009 endTrackingProgress(); 4010 $(".progress").remove(); 4011 $(".progressBarText").empty(); 4012 trackingErrorLoggerFunction([clientIp, clientCountryCode, inputedTrackCode, "catch CryptoJSAesJson"]); 4013 console.log('Error: ' + e.name + ":" + e.message + "\n" + e.stack); 4014 } 4015 4016 4017 if (json.status == 'ok') { 4018 4019 if (json && json.challenge && json.challenge === true) { 4020 //clearInterval(getTrackingDataInterval); 4021 $("#turnstile-container").show(); 4022 loadTurnstileScript(function () { 4023 turnstile.render('#turnstile-container', { 4024 sitekey: '0x4AAAAAAA9kACzU3nI8h1V0', 4025 size: 'flexible', 4026 theme: 'light', 4027 callback: function (cf_turnstile_response) { 4028 verifyCaptcha(cf_turnstile_response); 4029 } 4030 }); 4031 }); 4032 return false; 4033 } 4034 4035 4036 if (json && json.data && json.data.events && json.data.events.length > 0) { 4037 trackingBuilder(inputedTrackCode, json); 4038 } 4039 else { 4040 GrowlNotification.notify({title:"Error",description:"Ooops... Item is not found at this moment, If necessary, please verify with the package sender and check back later.",type:"error",closeTimeout:5000,showProgress: true}); 4041 } 4042 4043 updateElementInHistory(inputedTrackCode, json.data.lastPoint); 4044 reRenderAds(); 4045 4046 4047 if (device.desktop()) { 4048 if ($('#trackingAvailableServices').length > 0) { 4049 serviceInfoBuilder(inputedTrackCode, json); 4050 } 4051 upuValidateInfo(inputedTrackCode, json); 4052 } 4053 4054 4055 4056 //console.log(json['data']['deliveredDaysAgo']); 4057 //if (json['data']['trackUpdateDiffMinutes'] >= 240) { 4058 if ((json['data']['trackUpdateDiffMinutes'] >= 240) && ((typeof json['data']['deliveredDaysAgo'] === "undefined") || (json['data']['deliveredDaysAgo'] === null) || (json['data']['deliveredDaysAgo'] === "") || (json['data']['deliveredDaysAgo'] <= maxDeliveredDaysAgoForTracking))) { 4059 var progress = ''; 4060 progress += '<span style="text-align: center; width: 100%; position: absolute; line-height: 40px;" class="progressBarText"><b>Ðбновление инÑоÑмаÑии...</b></span>'; 4061 progress += '<div class="progress progress-striped active" style="border-radius: 0em;">'; 4062 progress += '<div aria-valuemax="100" aria-valuemin="0" aria-valuenow="100" class="progress-bar progress-bar-info" role="progressbar" style="color: #000000; text-align:center; white-space:nowrap; padding-top:10px; font-size: 16px; width:100%;"></div>'; 4063 progress += '</div>'; 4064 4065 $(".progress-striped").parent().empty().html(progress); 4066 4067 xhrTracking = $.ajax({
4068 4069 url : trackingUrl, 4070 crossDomain: true, 4071 data : {'code' : inputedTrackCode, 'selectedService':selectedService, 'lng':lng, 'sort':sortEventsTrigger, 'grouped':groupEventsByServiceTrigger, 'type': 'update', 'key':trackingKey, 'clientIp':clientIp, 'uuid':uuid, 'fingerprint': $.Storage.get("fingerprint")}, 4072 type : 'POST', 4073 4074 dataType : trackingDataType, 4075 4076 timeout : (trackingTimeOut), 4077 success: function(json){ 4078 if (json) { 4079 4080 4081 try { 4082 var _0x6a0a=["\x63\x74","\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","","\x65\x6E\x63","\x73\x74\x72\x69\x6E\x67\x69\x66\x79", cp, "\x64\x65\x63\x72\x79\x70\x74","\x41\x45\x53","\x70\x61\x72\x73\x65"];if( typeof json[_0x6a0a[0]]!== _0x6a0a[1]&& json[_0x6a0a[0]]!== null&& json[_0x6a0a[0]]!== _0x6a0a[2]){var json=JSON[_0x6a0a[8]](CryptoJS[_0x6a0a[7]][_0x6a0a[6]](JSON[_0x6a0a[4]](json),_0x6a0a[5],{format:CryptoJSAesJson}).toString(CryptoJS[_0x6a0a[3]].Utf8))} 4083 } 4084 catch(e) { 4085 endTrackingProgress(); 4086 $(".progress").remove(); 4087 $(".progressBarText").empty(); 4088 trackingErrorLoggerFunction([clientIp, clientCountryCode, inputedTrackCode, "catch CryptoJSAesJson"]); 4089 console.log('Error: ' + e.name + ":" + e.message + "\n" + e.stack); 4090 } 4091 4092 if (json.status == 'ok') { 4093 $('#trackingInfo').empty(); 4094 trackingBuilder(inputedTrackCode, json); 4095 updateElementInHistory(inputedTrackCode, json.data.lastPoint); 4096 reRenderAds(); 4097 } 4098 else { 4099 $("#trackingButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-binoculars"); 4100 $("#trackingButton").toggleClass('disabled'); 4101 $(".load-bar-disabled").hide(); 4102 $(".load-bar-under-stripe-disabled").hide(); 4103 $(".load-bar").toggleClass('active'); 4104 4105 if ((json.status == 'error') && (typeof json.message !== "undefined") && (json.message !== null) && (json.message !== "")) { 4106 $('#trackingInfo').html('<div class="panel panel-danger" style="margin-top:20px;"><div class="panel-heading"><h4 class="panel-title">ÐÑибка</h4></div><div class="panel-body">'+json.message+'</div></div>'); 4107 } 4108 } 4109 4110 4111 } 4112 else { 4113 console.log("Error: !json"); 4114 setTimeout( function() { 4115 location.reload(); 4116 }, 5000); 4117 } 4118 }, 4119 beforeSend : function() { 4120 4121 }, 4122 complete: function(response) { 4123 $("#trackingButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-binoculars"); 4124 $("#trackingButton").toggleClass('disabled'); 4125 $(".load-bar-disabled").hide(); 4126 $(".load-bar-under-stripe-disabled").hide(); 4127 $(".load-bar").toggleClass('active'); 4128 4129 4130 }, 4131 error: function(objAJAXRequest, strError) { 4132 console.log("ajax update error: "+strError); 4133 4134 if (objAJAXRequest['status'] == "404") { 4135 setTimeout( function() { 4136 location.reload(); 4137 }, 5000); 4138 } 4139 else if (objAJAXRequest['status'] == "502") { 4140 setTimeout( function() { 4141 location.reload(); 4142 }, 5000); 4143 } 4144 else if (objAJAXRequest['status'] == "429") { 4145 $.notify('ÐÑ Ð´ÐµÐ»Ð°ÐµÑе ÑлиÑком ÑаÑÑÑе запÑоÑÑ!\nÐомедленее пожалÑйÑÑа...', "error"); 4146 } 4147 else { 4148 setTimeout( function() { 4149 location.reload(); 4150 }, 5000); 4151 } 4152 4153 } 4154 }); 4155 } 4156 else { 4157 $("#trackingButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-binoculars"); 4158 $("#trackingButton").toggleClass('disabled'); 4159 $(".load-bar-disabled").hide(); 4160 $(".load-bar-under-stripe-disabled").hide(); 4161 $(".load-bar").toggleClass('active'); 4162 4163 } 4164 } 4165 else { 4166 $("#trackingButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-binoculars"); 4167 $("#trackingButton").toggleClass('disabled'); 4168 $(".load-bar-disabled").hide(); 4169 $(".load-bar-under-stripe-disabled").hide(); 4170 $(".load-bar").toggleClass('active'); 4171 4172 if ((json.status == 'error') && (typeof json.message !== "undefined") && (json.message !== null) && (json.message !== "")) { 4173 $('#trackingInfo').html('<div class="panel panel-danger" style="margin-top:20px;"><div class="panel-heading"><h4 class="panel-title">ÐÑибка</h4></div><div class="panel-body">'+json.message+'</div></div>'); 4174 } 4175 4176 } 4177 } 4178 }, 4179 beforeSend : function() { 4180 $("#trackingButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-binoculars"); 4181 $("#trackingButton").toggleClass('disabled'); 4182 $(".load-bar-disabled").show(); 4183 $(".load-bar").toggleClass('active'); 4184 }, 4185 complete: function(response) { 4186 4187 4188 }, 4189 4190 error: function(objAJAXRequest, strError, errorThrown) {
4191 console.log("ajax cache error: "+strError); 4192 4193 4194 $("#trackingButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-binoculars"); 4195 $("#trackingButton").toggleClass('disabled'); 4196 $(".load-bar-disabled").hide(); 4197 $(".load-bar-under-stripe-disabled").hide(); 4198 $(".load-bar").toggleClass('active'); 4199 4200 if (objAJAXRequest['status'] != "502") { 4201 $('#trackingInfo').html('<div class="panel panel-danger hidden-phone" style="margin-top:20px;"><div class="panel-heading"><h4 class="panel-title">ÐÑибка оÑÑлеживаниÑ: <b>'+strError+' '+objAJAXRequest['status']+'</b></h4></div><div class="panel-body">Ð ÑожалениÑ, инÑоÑмаÑÐ¸Ñ Ð¾ поÑÑовом оÑпÑавлении Ñ Ð½Ð¾Ð¼ÐµÑом <b>'+inputedTrackCode+'</b> не найдена.</br>ÐопÑобÑйÑе еÑе Ñаз, но ÑÑÑÑ Ð¿Ð¾Ð·Ð¶Ðµ, напÑÐ¸Ð¼ÐµÑ Ð·Ð°Ð²ÑÑа...<br>Ðли заÑегиÑÑÑиÑÑйÑеÑÑ Ð¸ добавÑÑе ÑÑек-код в иÑÑоÑÐ¸Ñ Ð¾ÑÑлеживаниÑ, и Ð¼Ñ Ñведомим ÐаÑ, как ÑолÑко обновиÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¿Ð¾ ÐаÑÐµÐ¼Ñ ÑÑек-кодÑ!</div><div class="panel-footer"><p><b>ÐоÑÑоÑÐ½Ð½Ð°Ñ ÑÑÑлка</b>: <a href="//track24.ru/?code='+inputedTrackCode+'" style="border-bottom: 1px dotted;">https://track24.ru/?code='+inputedTrackCode+'</a></p></div></div>'); 4202 var dataArray = [clientIp, clientCountryCode, inputedTrackCode, strError, objAJAXRequest['status'], window.location.href, trackingUrl, navigator.userAgent]; 4203 trackingErrorLoggerFunction(dataArray); 4204 4205 if (objAJAXRequest['status'] == "404") { 4206 setTimeout( function() { 4207 location.reload(); 4208 }, 5000); 4209 } 4210 else if (objAJAXRequest['status'] == "429") { 4211 $.notify('ÐÑ Ð´ÐµÐ»Ð°ÐµÑе ÑлиÑком ÑаÑÑÑе запÑоÑÑ!\nÐомедленее пожалÑйÑÑа...', "error"); 4212 } 4213 else { 4214 setTimeout( function() { 4215 location.reload(); 4216 }, 5000); 4217 4218 } 4219 } 4220 4221 4222 if (objAJAXRequest['status'] == "502") { 4223 setTimeout( function() { 4224 location.reload(); 4225 }, 5000); 4226 } 4227 4228 4229 }, 4230 fail: function(objAJAXRequest, strError, errorThrown) { 4231 alert(strError); 4232 } 4233 4234 }); 4235 4236 4237 4238 4239 if ((typeof $.Storage.get('login') !== "undefined") && ($.Storage.get('login') !== null) && ($.Storage.get('login') !== "")) { 4240 //console.log($.Storage.get("historyTrackCodesArray")); 4241 4242 /* 4243 $('.myTrackingNumbersCard').each(function() { 4244 if ((inputedTrackCode == $(this).attr("data-trackcode")) && ($(this).hasClass("myTrackingNumbersCardArchive") == true)) { 4245 historyTrackCodesArray = []; 4246 } 4247 }); 4248 */ 4249 4250 4251 if ((typeof hostReferer === "undefined") || (hostReferer === null) || (hostReferer === "") || (hostReferer.indexOf('track24.ru') !== -1)) { 4252 4253 if (autoAdd === true) { 4254 //console.log("### TRUE ###"); 4255 //console.log($.Storage.get("historyTrackCodesArray")); 4256 4257 if (jQuery.inArray(inputedTrackCode, JSON.parse($.Storage.get("historyTrackCodesArray"))) == -1 ) { 4258 // console.log(inputedTrackCode, "in_array = false"); 4259 $.ajax({
4260 url: 'https://track24.ru/ajax/history.ajax.php', 4261 data : {'checkLogin' : $.Storage.get('login'), 'checkAuthKey': $.Storage.get('authKey'), 'trackCode': inputedTrackCode, 'trackDescription': "", 'action': 'add'}, 4262 type : 'POST', 4263 dataType : 'json', 4264 timeout : (10000), 4265 success: function(data){ 4266 4267 if (data.status == 'ok') { 4268 if (data.action == 'added') { 4269 updateHistoryBlock(); 4270 } 4271 else if (data.action == 'updated') { 4272 updateHistoryBlock(); 4273 } 4274 else if (data.action == 'not updated') { 4275 4276 } 4277 } 4278 4279 }, 4280 complete: function() { 4281 }, 4282 beforeSend : function() { 4283 }, 4284 error: function(objAJAXRequest, strError) { 4285 $.notify('Ðй, пÑоизоÑла оÑибка (код оÑибки: '+objAJAXRequest.status+')...\n ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑообÑиÑÑ Ð¾ ней на [email protected]', "error"); 4286 } 4287 }); 4288 } 4289 } 4290 //else { 4291 // console.log("### FASLE ###"); 4292 //} 4293 4294 /* 4295 setTimeout(function(){ 4296 if (ctrlKeyPressed !== true) { 4297 //if (jQuery.inArray(inputedTrackCode, historyTrackCodesArray) == -1 ) { 4298 if (jQuery.inArray(inputedTrackCode, JSON.parse($.Storage.get("historyTrackCodesArray"))) == -1 ) { 4299 console.log(inputedTrackCode, "in_array = false"); 4300 $.ajax({
4301 url: '/ajax/history.ajax.php', 4302 data : {'checkLogin': $.Storage.get('login'), 'checkAuthKey': $.Storage.get('authKey'), 'trackCode' : inputedTrackCode, 'action': 'send'}, 4303 type: 'POST', 4304 dataType: 'json', 4305 success: function(data){ 4306 if (data) { 4307 if (data.status == 'ok') { 4308 updateHistoryBlock(); 4309 } 4310 else if (data.status == 'error') { 4311 4312 } 4313 } 4314 }, 4315 beforeSend : function() { 4316 }, 4317 complete: function() { 4318 }, 4319 error: function() { 4320 } 4321 }); 4322 } 4323 else { 4324 //updateHistoryBlock(); 4325 } 4326 } 4327 4328 }, 100); 4329 */ 4330 4331 } 4332 4333 4334 4335 4336 hostReferer = null; 4337 } 4338 4339 } 4340 else { 4341 return false; 4342 } 4343 4344 } 4345 4346 function beginTrackingProgress() { 4347 $("#trackingButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-binoculars"); 4348 $("#trackingButton").toggleClass('disabled'); 4349 $(".load-bar-disabled").show(); 4350 $(".load-bar").toggleClass('active'); 4351 $(".progress").toggleClass('active'); 4352 } 4353 function endTrackingProgress() { 4354 $("#trackingButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-binoculars"); 4355 $("#trackingButton").toggleClass('disabled'); 4356 $(".load-bar-disabled").hide(); 4357 $(".load-bar-under-stripe-disabled").hide(); 4358 $(".load-bar").toggleClass('active'); 4359 $(".progress").toggleClass('active'); 4360 4361 } 4362 4363 function updateElementInHistory(trackCode, lastPoint) { 4364 //console.log(trackCode); 4365 //console.log(lastPoint); 4366 4367 var existing = false; 4368 4369 $('.desc, .myTrackingNumbersCard').each(function() { 4370 $(this).removeClass('active'); 4371 if (($(this).attr("data-trackcode")) == trackCode) { 4372 $(this).addClass('active'); 4373 existing = true; 4374 4375 //console.log(lastPoint.operationAttributeTranslated); 4376 //console.log(lastPoint.operationDateTime); 4377 //console.log(lastPoint.eventDateTime); 4378 //console.log(lastPoint.eventDateTime); 4379 4380 var lastPointOperationDateTime = lastPoint.operationDateTime.split(" ");; 4381 var daysFromLastChange = dateDiff(lastPointOperationDateTime[0], nowDateTime.split(" ")[0]); 4382 4383 4384 $(this).find(".myTrackingNumbersOperationAttribute").text(lastPoint.operationAttributeTranslated); 4385 $(this).find(".myTrackingNumbersDateTime").text(lastPoint.operationDateTime); 4386 $(this).find(".myTrackingNumbersDateTime").attr('data-original-title', 'ÐбновлÑлÑÑ: '+lastPoint.trackUpdateDateTime); 4387 4388 //$(this).find(".myTrackingNumbersDaysCount").html('<span class="label '+daysFromLastChangeClass+' label-as-badge myTooltip" style="cursor: pointer;" data-toggle="tooltip" data-placement="'+(($(window).width() >= 1366) ? "right" : 'left')+'" title="РпÑÑи '+deliveryDays+' '+numberof(deliveryDays, '', ['денÑ', 'днÑ', 'дней'])+''+/*lastPointOperation*/ ", инÑоÑмаÑÐ¸Ñ Ð¿Ð¾Ð»ÑÑена" +' '+((daysFromLastChange > 0 ) ? (daysFromLastChange+' '+numberof(daysFromLastChange, '', ['денÑ', 'днÑ', 'дней']))+' назад' : "ÑегоднÑ") + ' ('+value['lastPoint']['eventDateTime']+') ">'+deliveryDays+' / '+daysFromLastChange+'</span>'); 4389 //html += '<span class="label '+daysFromLastChangeClass+' label-as-badge myTooltip" style="cursor: pointer;" data-toggle="tooltip" data-placement="'+(($(window).width() >= 1366) ? "right" : 'left')+'" title="РпÑÑи '+deliveryDays+' '+numberof(deliveryDays, '', ['денÑ', 'днÑ', 'дней'])+''+/*lastPointOperation*/ ", инÑоÑмаÑÐ¸Ñ Ð¿Ð¾Ð»ÑÑена" +' '+((daysFromLastChange > 0 ) ? (daysFromLastChange+' '+numberof(daysFromLastChange, '', ['денÑ', 'днÑ', 'дней']))+' назад' : "ÑегоднÑ") + ' ('+value['lastPoint']['eventDateTime']+') ">'+deliveryDays+' / '+daysFromLastChange+'</span>'; 4390 4391 4392 4393 } 4394 }); 4395 4396 } 4397 4398function trackingBuilder(trackCode, dataJson) { 4399 var lng = $.Storage.get("lng"); 4400 var json = dataJson; 4401 var inputedTrackCode = trackCode; 4402 var eventsArray = []; 4403 4404 4405 //<img src="https://track24.ru/img/export-to-txt.png" width="16px" style="opacity: 0.4;margin-bottom: -1px;"> 4406 if ((json.status == 'ok') && ((typeof json.data.events !== "undefined") && (json.data.events !== null) && (json.data.events !== "")) ) { 4407 //var sortEventsIcon = (sortEventsTrigger == true ) ? "fa-sort-asc" : "fa-sort-desc"; 4408 var sortEventsIcon = (sortEventsTrigger == true ) ? "icon-sort-asc-48x48" : "icon-sort-desc-48x48"; 4409 var sortToolTipText = (sortEventsTrigger == true ) ? "ÐÑÑÐ¼Ð°Ñ ÑоÑÑиÑовка" : "ÐбÑаÑÐ½Ð°Ñ ÑоÑÑиÑовка"; 4410 4411 if (json.data.trackCodeModified != "") { 4412 var trackCodesModified = json.data.trackCodeModified.split(","); 4413 if (trackCodesModified.length == 1) { 4414 var trackCodeModifiedLink = (json.data.trackCodeModified != "") ? ' <i class="fa fa-angle-double-right" aria-hidden="true"></i> <a href="//track24.ru/?code='+json.data.trackCodeModified+'" class="myTooltip" data-toggle="tooltip" data-placement="top" title="ÐеÑемаÑкиÑованнÑй ÑÑек-код пÑиÑваиваеÑÑÑ Ð¿Ñи пеÑедаÑе поÑÑовой ÑлÑжбе ÑÑÑÐ°Ð½Ñ Ð½Ð°Ð·Ð½Ð°ÑениÑ">'+json.data.trackCodeModified+'</a>' : ""; 4415 } 4416 else { 4417 var trackCodeModifiedLink = ""; 4418 $.each(trackCodesModified, function(key, value) { 4419 trackCodeModifiedLink += ' <i class="fa fa-angle-double-right" aria-hidden="true"></i> <a href="//track24.ru/?code='+value+'" class="myTooltip" data-toggle="tooltip" data-placement="top" title="ÐеÑемаÑкиÑованнÑй ÑÑек-код пÑиÑваиваеÑÑÑ Ð¿Ñи пеÑедаÑе поÑÑовой ÑлÑжбе ÑÑÑÐ°Ð½Ñ Ð½Ð°Ð·Ð½Ð°ÑениÑ">'+value+'</a>'; 4420 }); 4421 } 4422 } 4423 else { 4424 var trackCodeModifiedLink = ""; 4425 } 4426 4427 $('#trackingInfo').append('<div class="trackingInfo-title-wrapper"><div class="trackingInfo-title-left">ÐÑÑлеживание <span class="hidden-xs hidden-sm">поÑÑового оÑпÑавлениÑ</span>: <a href="//track24.ru/?code='+inputedTrackCode+'">'+inputedTrackCode+'</a>'+trackCodeModifiedLink+' <i class="fa fa-paper-plane"></i></div><div class="trackingInfo-title-right"></div></div>'); 4428 4429 $('#trackingInfo').append('<div class="text-left" style="position:relative; width:100%; border: 1px dashed #ccc; height:28px;"><div class="text-left col-lg-11 col-md-11 col-sm-11 col-xs-10 column" style="margin-top:3px; white-space:nowrap;" id="projectedDeliveryPeriodBeforeEvents"></div><div class="text-right col-lg-1 col-md-1 col-sm-1 col-xs-2 column" style="margin-top:3px;"><i id="sortEvents" data-toggle="tooltip" class="myTooltip sortEvents" data-placement="top" title="'+sortToolTipText+'"><img src="https://track24.ru/img/icons/'+sortEventsIcon+'.png" width="16px" style="margin-bottom: -1px;"></i></div></div>'); 4430 $('#trackingInfo').append('<div id="trackingInfoEvents"></div>'); 4431 4432 var progressBarPercent = 0; 4433 var trackingInfoEventsDataForClipBoard = "ÐнÑоÑмаÑÐ¸Ñ Ð¾ ÑÑек-коде: "+inputedTrackCode+"\n"; 4434 trackingInfoEventsDataForClipBoard += '-------------------------'+'\n'; 4435 4436 var lastEventDataForClipBoard = "ÐнÑоÑмаÑÐ¸Ñ Ð¾ ÑÑек-коде: "+inputedTrackCode+"\n"; 4437 lastEventDataForClipBoard += '-------------------------'+'\n'; 4438 4439 var dateTimeEvents = []; 4440 4441 var trackCreationDateTime = json.data.trackCreationDateTime.split(" "); 4442 var trackUpdateDateTime = (typeof json.data.trackUpdateDateTime !== 'undefined' && json.data.trackUpdateDateTime !== null && json.data.trackUpdateDateTime !== "") ? json.data.trackUpdateDateTime.split(" ") : nowDateTime.split(" "); 4443 var firstDeliveryDateTime = (json.data.events[0].source != 'track24') ? json.data.events[0].operationDateTime.split(" ") : nowDateTime.split(" "); 4444 var lastDeliveryDateTime = (typeof json.data.deliveredStatus !== 'undefined' && json.data.deliveredStatus !== null && json.data.deliveredStatus !== "" && json.data.deliveredStatus == 1) ? json.data.trackDeliveredDateTime.split(" ") : nowDateTime.split(" "); 4445 var firstOperationDateTime = json.data.events[0].operationDateTime.split(" "); 4446 var lastOperationDateTime = json.data.events[json.data.events.length-1].operationDateTime.split(" "); 4447 var previosItemWeight = 0; 4448 var nextItemWeight = 0; 4449 var compareEventsArray = []; 4450 var dublicateEventRowClass = ""; 4451 4452 var events = []; 4453 if (groupEventsByServiceTrigger == false) { 4454 if (sortEventsTrigger == true) { 4455 events.push(json.data.events); 4456 } 4457 else { 4458 events.push(json.data.events.reverse()); 4459 } 4460 } 4461 else { 4462 4463 if (sortEventsTrigger == true) { 4464 $.each(json.data.groupedEvents, function(key, value) { 4465 events.push(value); 4466 }); 4467 } 4468 else { 4469 json.data.groupedCompanyNames.reverse(); 4470 $.each(json.data.groupedEvents.reverse(), function(key, value) { 4471 events.push(value.reverse()); 4472 4473 }); 4474 } 4475 } 4476 4477 rc = 0; 4478 //console.log(currentService); 4479 $.each(events, function(key, currentService) { 4480 4481 eventsArray = currentService; 4482 if ((groupEventsByServiceTrigger == true) && (json.data.groupedCompanyNames[key] != "Track24")) { 4483 $('#trackingInfoEvents').append('<div class="trackingServiceName">'+json.data.groupedCompanyNames[key]+'</div>'); 4484 } 4485 4486 $.each(eventsArray, function(key, value) { 4487 rc++; 4488 dateTimeEvents.push(value['operationDateTime']); 4489 4490 var statusIcon = (sortEventsTrigger == true ) ? "" : "reverse"; 4491 4492 if (((key == 0) && (sortEventsTrigger == true)) || ((key == json.data.events.length - 1) && (sortEventsTrigger == false))) { 4493 statusIcon = 'box'; 4494 } 4495 else if (((key == 0) && (sortEventsTrigger == false) && (value['icon'] == 'delivered')) || ((key == json.data.events.length - 1) && (sortEventsTrigger == true) && (value['icon'] == 'delivered'))) { 4496 statusIcon = value['icon']; 4497 } 4498 else { 4499 if ((value['icon'] != null) && (value['icon'] != "")) { 4500 if ((value['icon'] != 'accepted') && (value['icon'] != 'delivered')) { 4501 statusIcon = value['icon']; 4502 } 4503 } 4504 } 4505 4506 4507 4508 var operationDateTime = value['operationDateTime'].split(" "); 4509 4510 4511 if ((value['operationType'] == "ÐÑÑÑение") || (value['operationAttribute'] == "ÐÑÑÑение адÑеÑаÑÑ") || (value['operationAttribute'] == "ÐÑÑÑение полÑÑаÑелÑ") || (value['operationAttribute'] == "ÐÑибÑло в меÑÑо вÑÑÑениÑ")) { 4512 lastOperationDateTime = value['operationDateTime'].split(" "); 4513 progressBarPercent = 100; 4514 }
4515 if ((value['operationTypeTranslated'] == "ÐÑÑÑение") || (value['operationAttributeTranslated'] == "ÐÑÑÑение адÑеÑаÑÑ") || (value['operationAttributeTranslated'] == "ÐÑÑÑение полÑÑаÑелÑ") || (value['operationAttributeTranslated'] == "ÐÑибÑло в меÑÑо вÑÑÑениÑ")) { 4516 lastOperationDateTime = value['operationDateTime'].split(" "); 4517 progressBarPercent = 100; 4518 } 4519 4520 var deliveryDay = dateDiff(firstOperationDateTime[0], operationDateTime[0])+1; 4521 if ((deliveryDay > 0) && (deliveryDay < 21)) { 4522 var deliveryDayClass = 'label-success'; 4523 } 4524 if (deliveryDay >= 21) { 4525 var deliveryDayClass = 'label-info'; 4526 } 4527 if (deliveryDay >= 40) { 4528 var deliveryDayClass = 'label-warning'; 4529 } 4530 if (deliveryDay >= 60) { 4531 var deliveryDayClass = 'label-danger'; 4532 } 4533 4534 if ((value['latitude'] != null) && (value['longitude'] != null)) { 4535 var geoMarker = ' <i class="fa fa-map-marker" latitude="'+value['latitude']+'" longitude="'+value['longitude']+'" postindex="'+value['operationPlacePostalCode']+'"></i> '; 4536 } 4537 else 4538 { 4539 var geoMarker = ''; 4540 } 4541 4542 var itemWeightClass = 'label-success'; 4543 var itemWeightToolTip = ''; 4544 4545 4546 4547 4548 if (value['itemWeight'] > 0 ) { 4549 if (sortEventsTrigger == true) { 4550 if ((previosItemWeight > 0) && (value['itemWeight'] != previosItemWeight)) { 4551 var itemWeightClass = 'label-danger'; 4552 itemWeightToolTip = 'ÐаÑикÑиÑовано изменение веÑа!'; 4553 } 4554 previosItemWeight = value['itemWeight']; 4555 } 4556 else { 4557 for (niw=parseInt(key+1); niw <= parseInt(json.data.events.length-1); niw++){ 4558 if (json.data.events[niw].itemWeight > 0) { 4559 nextItemWeight = json.data.events[niw].itemWeight; 4560 break; 4561 } 4562 } 4563 if ((nextItemWeight > 0) && (value['itemWeight'] != nextItemWeight)) { 4564 var itemWeightClass = 'label-danger'; 4565 itemWeightToolTip = 'ÐаÑикÑиÑовано изменение веÑа!'; 4566 } 4567 4568 } 4569 var itemWeight = 'ÐеÑ: '+value['itemWeight']+' г'; 4570 } else { 4571 var itemWeight = ''; 4572 } 4573 4574 4575 4576 if ((typeof value['serviceName'] !== "undefined") && (value['serviceName'] !== null) && (value['serviceName'] !== "")) 4577 { 4578 var serviceName = value['serviceName']; 4579 } 4580 else { 4581 var serviceName = ""; 4582 } 4583 4584 var extendentInfo = ''; 4585 if ((value['operationType'] == "ÐкÑпоÑÑ") || (value['operationAttribute'] == "ÐкÑпоÑÑ")) { 4586 extendentInfo = '(ÐпеÑаÑÐ¸Ñ Ð¿ÑоизводиÑÑÑ Ð² ÑеÑение 7 - 60 дней наÑÐ¸Ð½Ð°Ñ Ñ '+operationDateTime[0]+')'; 4587 } 4588 4589 4590 var eventStatus = ''; 4591 if (dateDiff(value['eventDateTime'], nowDateTime.split(" ")[0]) == 0) { 4592 eventStatus = '<span style="cursor: pointer;" class="label label-success label-as-badge myTooltip" data-toggle="tooltip" data-placement="top" data-html="false" title="СÑаÑÑÑ Ð¿Ð¾Ð»ÑÑен: '+value['eventDateTime'].split(" ")[1]+'">New</span>'; 4593 } 4594 4595 if ((typeof value['operationAttributeInformation'] !== "undefined") && (value['operationAttributeInformation'] !== null) && (value['operationAttributeInformation'] !== "")) { 4596 if (device.desktop()) { 4597 var operationAttributeInformationDataTriger = "click hover"; 4598 } else { 4599 var operationAttributeInformationDataTriger = "hover"; 4600 } 4601 var operationAttributeInformation = '<span class="fa fa-question-circle" style="position: relative; cursor:pointer; color:#03487D;" data-toggle="popover" data-trigger="'+operationAttributeInformationDataTriger+'" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ <div><a href=\'https://track24.ru/?page=attributes#attribute-'+_translit(value['operationAttributeTranslated'].replace(/\[.*?\]/g, '').trim().replace(/[^a-zA-Zа-ÑÐ-Я0-9]/g, '_').toLowerCase())+'\' target=\'_blank\' style=\'position: absolute; right: 10px; top: 10px;\'><i class=\'fa fa-link fa-rotate-90\'></i></a></div>" data-content="'+value['operationAttributeInformation']+'"></span>'; 4602 } 4603 else { 4604 var operationAttributeInformation = ''; 4605 } 4606 4607 if (hideDublicateEventsTrigger == true) { 4608 compareCurrentAttribute = $.trim(value['operationAttribute'].toLowerCase()); 4609 compareCurrentType = $.trim(value['operationType'].toLowerCase()); 4610 compareCurrentPlace = $.trim(value['operationPlaceName'].toLowerCase()); 4611 4612 compareCurrentAttributeTranslated = (lng != "null") ? $.trim(value['operationAttributeTranslated'].toLowerCase()) : compareCurrentAttribute; 4613 compareCurrentTypeTranslated = (lng !== "null") ? $.trim(value['operationTypeTranslated'].toLowerCase()): compareCurrentType; 4614 compareCurrentPlaceTranslated = (lng !== "null") ? $.trim(value['operationPlaceNameTranslated'].toLowerCase()): compareCurrentPlace; 4615 4616 if (rc != 0) { 4617 if (jQuery.inArray($.trim(operationDateTime[0]+compareCurrentAttribute+compareCurrentType+compareCurrentPlace), compareEventsArray) >= 0) { 4618 var dublicateEventRowClass = "dublicateEventRow"; 4619 } 4620 else if (jQuery.inArray($.trim(operationDateTime[0]+compareCurrentAttributeTranslated+compareCurrentTypeTranslated+compareCurrentPlaceTranslated), compareEventsArray) >= 0) { 4621 var dublicateEventRowClass = "dublicateEventRow"; 4622 } 4623 else { 4624 var dublicateEventRowClass = ""; 4625 } 4626 } 4627 4628 compareEventsArray.push(operationDateTime[0]+compareCurrentAttributeTranslated+compareCurrentTypeTranslated+compareCurrentPlaceTranslated); 4629 compareEventsArray.push(operationDateTime[0]+compareCurrentAttribute+compareCurrentType+compareCurrentPlace); 4630 } 4631 else { 4632 var dublicateEventRowClass = ""; 4633 } 4634 4635 4636 if (jQuery.inArray(lng, availibleLanguageArray) != -1) { 4637 $('#trackingInfoEvents').append('<div class="trackingInfoRow '+dublicateEventRowClass+'"><div class="trackingInfoDateTime"><span class="date"><b>'+operationDateTime[0]+'</b></span><br><span class="time muted">'+operationDateTime[1]+'</span><br><span class="label '+deliveryDayClass+' myTooltip" title="'+deliveryDay+' '+numberof(deliveryDay, '', ['денÑ', 'днÑ', 'дней'])+' в пÑÑи" data-toggle="tooltip" data-placement="right">'+deliveryDay+' денÑ</span></div><div class="trackingInfoStatus"><div class="trackingInfoStatusIcon '+statusIcon+'"></div></div>
4637<div class="trackingInfoDetails"><div class="operationAttribute myTooltip auto-tooltip" data-toggle="tooltip" data-placement="left" title="'+$.trim(value['operationAttribute'])+'" originaltext="'+$.trim(value['operationAttribute'])+'">'+value['operationAttributeTranslated']+' '+operationAttributeInformation+'</div><div class="operationType myTooltip auto-tooltip" data-toggle="tooltip" data-placement="left" title="'+$.trim(value['operationType'])+'" originaltext="'+$.trim(value['operationType'])+'">'+value['operationTypeTranslated']+'</div><div class="muted"> '+geoMarker+'<span style="color:grey;" class="operationPlace myTooltip auto-tooltip" data-toggle="tooltip" data-placement="left" title="'+$.trim(value['operationPlaceName'])+'" originaltext="'+$.trim(value['operationPlaceName'])+'">'+$.trim(value['operationPlacePostalCode']+' '+value['operationPlaceNameTranslated'])+'</span></div></div> <div class="trackingExtendedDetails hidden-xs___"><div style="text-align: right; height:18px; /* padding-right:20px; */">'+eventStatus+' <span class="label label-info serviceName">'+serviceName+'</span></div> <div style="text-align: right; height:18px;"></div> <div class="hidden-xs" style="text-align: right; height:18px; /* padding-right:20px; */"><span class="label '+itemWeightClass+' myTooltip auto-tooltip" data-toggle="tooltip" data-placement="left" title="'+itemWeightToolTip+'">'+itemWeight+'</span></div></div> </div>'); 4638 } 4639 else { 4640 $('#trackingInfoEvents').append('<div class="trackingInfoRow '+dublicateEventRowClass+'"><div class="trackingInfoDateTime"><span class="date"><b>'+operationDateTime[0]+'</b></span><br><span class="time muted">'+operationDateTime[1]+'</span><br><span class="label '+deliveryDayClass+' myTooltip" title="'+deliveryDay+' '+numberof(deliveryDay, '', ['денÑ', 'днÑ', 'дней'])+' в пÑÑи" data-toggle="tooltip" data-placement="right">'+deliveryDay+' денÑ</span></div><div class="trackingInfoStatus"><div class="trackingInfoStatusIcon '+statusIcon+'"></div></div><div class="trackingInfoDetails"><div class="operationAttribute">'+value['operationAttributeOriginal']+' '+operationAttributeInformation+'</div><div class="operationType">'+value['operationTypeOriginal']+' '+extendentInfo+'</div><div class="muted"> '+geoMarker+'<span style="color:grey;" class="operationPlace">'+value['operationPlacePostalCode']+' '+value['operationPlaceNameOriginal']+'</span></div></div> <div class="trackingExtendedDetails hidden-xs"><div style="text-align: right; height:18px; /* padding-right:20px; */">'+eventStatus+' <span class="label label-info">'+serviceName+'</span></div> <div style="text-align: right; height:18px;"></div> <div style="text-align: right; height:18px; /* padding-right:20px; */"><span class="label label-success">'+itemWeight+'</span></div></div> </div>'); 4641 } 4642 4643 4644 4645 trackingInfoEventsDataForClipBoard += $.trim(operationDateTime[0]+' '+operationDateTime[1]+ ' '+ value['operationAttributeTranslated']+' '+value['operationTypeTranslated']+'')+'\n'; 4646 trackingInfoEventsDataForClipBoard += $.trim(value['operationPlacePostalCode']+' '+value['operationPlaceNameTranslated']+'')+'\n\n'; 4647 4648 4649 4650 4651 //console.log(key); 4652 }); 4653 4654 4655 if (groupEventsByServiceTrigger == false) { 4656 //$('#trackingInfoEvents').append('<div class="trackingServiceName-">--</div>'); 4657 } 4658 4659 4660 if (groupEventsByServiceTrigger == false) { 4661 return false; 4662 } 4663 4664 4665 }); 4666 4667 4668 4669 if (json.data.events.length == 1) { 4670 $(".trackingInfoStatus").css('background-image', 'url("")'); 4671 } 4672 4673 if (sortEventsTrigger == true ) { 4674 lastEventDataForClipBoard += $.trim(json.data.events[json.data.events.length - 1].operationDateTime+ '\n'+ json.data.events[json.data.events.length - 1].operationAttributeTranslated)+'\
4674n'; 4675 } 4676 else { 4677 4678 lastEventDataForClipBoard += $.trim(json.data.events[0].operationDateTime+ '\n'+ json.data.events[0].operationAttributeTranslated)+'\n'; 4679 } 4680 4681 if (sortEventsTrigger == true ) { 4682 if ((typeof json.data.events[json.data.events.length - 1].operationPlaceNameTranslated !== "undefined") && (json.data.events[json.data.events.length - 1].operationPlaceNameTranslated !== null) && (json.data.events[json.data.events.length - 1].operationPlaceNameTranslated !== "")) { 4683 lastEventDataForClipBoard += $.trim(json.data.events[json.data.events.length - 1].operationPlaceNameTranslated)+'\n'; 4684 } 4685 } 4686 else { 4687 if ((typeof json.data.events[0].operationPlaceNameTranslated !== "undefined") && (json.data.events[0].operationPlaceNameTranslated !== null) && (json.data.events[0].operationPlaceNameTranslated !== "")) { 4688 lastEventDataForClipBoard += $.trim(json.data.events[0].operationPlaceNameTranslated)+'\n'; 4689 } 4690 } 4691 4692 if (sortEventsTrigger == true ) { 4693 if ((typeof json.data.events[json.data.events.length - 1].operationAttributeInformation !== "undefined") && (json.data.events[json.data.events.length - 1].operationAttributeInformation !== null) && (json.data.events[json.data.events.length - 1].operationAttributeInformation !== "")) { 4694 lastEventDataForClipBoard += '\n'+$.trim(json.data.events[json.data.events.length - 1].operationAttributeInformation).replace(/<br>/g, '\n').replace(/<b>|<\/b>/g, '').replace(/<.*?>/g, '')+'\n'; 4695 } 4696 } 4697 else { 4698 if ((typeof json.data.events[0].operationAttributeInformation !== "undefined") && (json.data.events[0].operationAttributeInformation !== null) && (json.data.events[0].operationAttributeInformation !== "")) { 4699 lastEventDataForClipBoard += '\n'+$.trim(json.data.events[0].operationAttributeInformation).replace(/<br>/g, '\n').replace(/<b>|<\/b>/g, '').replace(/<.*?>/g, '')+'\n'; 4700 } 4701 } 4702 4703 if (json.projectedNextWaypoint !== null) { 4704 if (json.projectedNextWaypoint.nextAttribute != null) { 4705 lastEventDataForClipBoard += '-------------------------'+'\n'; 4706 lastEventDataForClipBoard += 'ÐжидайÑе ÑÑаÑÑÑ: '+json.projectedNextWaypoint.nextAttribute+'\n'; 4707 } 4708 } 4709 4710 if (json.deliveredStat !== null) { 4711 lastEventDataForClipBoard += '-------------------------'+'\n'; 4712 lastEventDataForClipBoard += $.trim('ÐÑогнозиÑÑемÑй пеÑиод доÑÑавки: '+projectedDate(firstOperationDateTime[0], parseInt(json.deliveredStat.averageDeliveryDays))+' - '+projectedDate(firstOperationDateTime[0], parseInt(json.deliveredStat.maxDeliveryDays)))+'\n'; 4713 } 4714 4715 lastEventDataForClipBoard += '-------------------------'+'\n'; 4716 lastEventDataForClipBoard += 'ÐоÑÑоÑÐ½Ð½Ð°Ñ ÑÑÑлка Ð´Ð»Ñ Ð¾ÑÑлеживаниÑ: https://track24.ru/?code='+inputedTrackCode+'\n\r'; 4717 4718 4719 4720 var groupEventsByServiceText = (groupEventsByServiceTrigger == false ) ? "ÐÑÑппиÑоваÑÑ" : "Ðе гÑÑппиÑоваÑÑ"; 4721 var hideDublicateEventsText = (hideDublicateEventsTrigger == true ) ? "ÐÑобÑазиÑÑ Ð´ÑбликаÑÑ" : "СкÑÑÑÑ Ð´ÑбликаÑÑ"; 4722 4723 4724 if (device.desktop()) { 4725 if (json.data.events.length > 3) { 4726 $("#trackingInfoEvents").after('<div style="margin-top:5px;"> <div class="text-right hidden-xs hidden-sm" style="padding:10px; display: inline-block;" id="trackingInfoEventsClipBoard"><i class="fa fa-lg fa-copy"></i> <span class="dotted">ÐÑе ÑÑаÑÑÑÑ</span></div> <div class="text-right hidden-xs hidden-sm" style="padding:10px; display: inline-block;" id="lastEventClipBoard""><i class="fa fa-lg fa-copy"></i> <span class="dotted">ÐоÑледний ÑÑаÑÑÑ</span></div> <div class="text-left hidden-xs" style="padding:10px; display: inline-block;" id=""><i class="fa fa-lg fa-globe"></i> <span class="dotted"><a href="http://track24.net/?code='+inputedTrackCode+'" target="_blank" style="text-decoration: none; color: #333;">Ðез пеÑевода</a></span></div> <div class="text-right hidden-xs hidden-sm hidden-md" style="padding:10px; display: inline-block; float:right;" id="hideDublicateEvents"><i class="fa fa-lg fa-outdent"></i> <span class="dotted">'+hideDublicateEventsText+'</span></div> <div class="text-right hidden-xs" style="padding:10px; display: inline-block; float:right;" id="groupEventsByService"><i class="fa fa-lg fa-th-list"></i> <span class="dotted">'+groupEventsByServiceText+'</span></div></div><div id="'+adblock_prefix+'-2" class="'+adblock_prefix+'-2"></div>'); 4727 } 4728 4729 } 4730 else { 4731 if (json.data.events.length > 3) { 4732 $("#trackingInfoEvents").after('<div id="'+adblock_prefix+'-2" class="'+adblock_prefix+'-2"></div>'); 4733 } 4734 } 4735 4736 var trackInfoToPanel = ''; 4737 4738 4739 if ((typeof json.data.trackName !== "undefined") && (json.data.trackName !== null) && (json.data.trackName !== "")) { 4740 trackInfoToPanel += '<p><b>ÐпиÑание ÑÑек-кода</b>: '+json.data.trackName +', '+ json.data.trackName +', '+ json.data.trackName+'</p>'; 4741 } 4742 4743 4744 trackInfoToPanel += '<ul class="sp-list">'; 4745 if ((typeof json.data.trackCreationDateTime !== "undefined") && (json.data.trackCreationDateTime !== null) && (json.data.trackCreationDateTime !== "")) { 4746 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">Ðобавлен в базÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+json.data.trackCreationDateTime+'</div></div></li>'; 4747 } 4748 if ((typeof json.data.trackUpdateDateTime !== "undefined") && (json.data.trackUpdateDateTime !== null) && (json.data.trackUpdateDateTime !== "")) { 4749 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐоÑледнее обновление</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+json.data.trackUpdateDateTime+' <!-- (<span time="2016,08,15,05,24,32" class="need_to_time_update"></span>) --></div></div></li>'; 4750 } 4751 4752 if (json.deliveredStat !== null) { 4753 var myRegExp = /([A-Z]{2})[0-9]{9}([A-Z]{2})/; 4754 var match = myRegExp.exec(inputedTrackCode); 4755 if (match != null) { 4756 var trackCodePrefix = match[1]; 4757 var trackCodePostfix = match[2]; 4758 var showDeliveredStatChartIcon = 'visible'; 4759 4760 } 4761 else { 4762 var trackCodePrefix = ""; 4763 var trackCodePostfix = ""; 4764 var showDeliveredStatChartIcon = 'hidden'; 4765 } 4766 4767 4768 if ((json.data.events[0].source != 'track24') && (json.data.events[0].source != 'garant')) { 4769 trackInfoToPanel += '<li class="sp projectedDeliveryPeriodAffterEvents"><div class="sp_left"><span class="sp_title">ÐÑогнозиÑÑемÑй пеÑиод доÑÑавки</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value"><span id="projectedDate" class="redMarker">'+projectedDate(firstOperationDateTime[0], parseInt(json.deliveredStat.averageDeliveryDays))+' - '+projectedDate(firstOperationDateTime[0], parseInt(json.deliveredStat.maxDeliveryDays))+'</span> <span class="hidden-xs hidden-md">(не гаÑанÑиÑÑемÑй)</span> <span class="" style="cursor:pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="СÑок доÑÑавки ÑаÑÑÑиÑÑваеÑÑÑ Ð½Ð° оÑновании анализа ÑÑаÑиÑÑики доÑÑавленнÑÑ Ð¼ÐµÐ¶Ð´ÑнаÑоднÑÑ Ð¿Ð¾ÑÑовÑÑ Ð¾ÑпÑавлений.<br><b>'+trackCodePrefix+' ### ### ### '+trackCodePostfix+'</b>: ÑÑеднее вÑÐµÐ¼Ñ Ð´Ð¾ÑÑавки '+json.deliveredStat.averageDeliveryDays+' '+numberof(json.deliveredStat.averageDeliveryDays, '', ['денÑ', 'днÑ', 'дней'])+' / макÑималÑное вÑÐµÐ¼Ñ '+json.deliveredStat.maxDeliveryDays+' '+numberof(json.deliveredStat.maxDeliveryDays, '', ['денÑ', 'днÑ', 'дней'])+'<br><br> Ð ÑаÑÑÐµÑ Ð½Ðµ беÑÑÑÑÑ Ð·Ð°Ð´ÐµÑжки Ñ Ð¾ÑпÑавкой поÑÑлки, завиÑÐ°Ð½Ð¸Ñ Ð½Ð° Ñаможне, ÑÑеÑÑннÑе поÑÑлки и Ñ.д.<br> УказаннÑй пеÑиод, ÑÑо не 100% инÑоÑмаÑиÑ, а вÑего лиÑÑ Ð¿Ñогноз, оÑиенÑиÑÑÑÑий ÐÐ°Ñ ÐºÐ¾Ð³Ð´Ð° ждаÑÑ Ð¿Ð¾ÑÑлкÑ. ÐÑли ÑÑок доÑÑавки ÐаÑей поÑÑлки болÑÑе, Ñем Ñказано в пÑогнозе, не пеÑеживайÑе, она пÑиедеÑ, но ÑÑÑÑ Ð¿Ð¾Ð·Ð¶Ðµ ;)"> <i class="fa fa-question-circle"></i></span> <i class="fa fa-area-chart myTooltip showDeliveredStatChart '+showDeliveredStatChartIcon+'" data-prefix="'+trackCodePrefix+'" data-postfix="'+trackCodePostfix+'" aria-hidden="true" style="cursor:pointer;" title="СÑаÑиÑÑика за меÑÑÑ"></i></div></div></li>'; 4770 $("#projectedDeliveryPeriodBeforeEvents").html('<b><span class="hidden-xs hidden-sm hidden-md">ÐÑогнозиÑÑемÑй пеÑиод доÑÑавки</span><span class="hidden-xs hidden-sm hidden-lg">ÐÑогнозиÑÑемÑй пеÑиод доÑÑавки</span><span class="hidden-md hidden-lg">ÐÑогноз</span></b>: '+projectedDate(firstOperationDateTime[0], parseInt(json.deliveredStat.averageDeliveryDays))+' - '+projectedDate(firstOperationDateTime[0], parseInt(json.deliveredStat.maxDeliveryDays))+' <span class="hidden-xs hidden-md">(не гаÑанÑиÑÑемÑй)</span> <span class="fa fa-question-circle" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" style="cursor:pointer;" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="СÑок доÑÑавки ÑаÑÑÑиÑÑваеÑÑÑ Ð½Ð° оÑновании анализа ÑÑаÑиÑÑики доÑÑавленнÑÑ Ð¼ÐµÐ¶Ð´ÑнаÑоднÑÑ Ð¿Ð¾ÑÑовÑÑ Ð¾ÑпÑавлений.<br><b>'+trackCodePrefix+' ### ### ### '+trackCodePostfix+'</b>: ÑÑеднее вÑÐµÐ¼Ñ Ð´Ð¾ÑÑавки '+json.deliveredStat.averageDeliveryDays+' '+numberof(json.deliveredStat.averageDeliveryDays, '', ['денÑ', 'днÑ', 'дней'])+' / макÑималÑное вÑÐµÐ¼Ñ '+json.deliveredStat.maxDeliveryDays+' '+numberof(json.deliveredStat.maxDeliveryDays, '', ['денÑ', 'днÑ', 'дней'])+'<br><br>Ð ÑаÑÑÐµÑ Ð½Ðµ беÑÑÑÑÑ Ð·Ð°Ð´ÐµÑжки Ñ Ð¾ÑпÑавкой поÑÑлки, завиÑÐ°Ð½Ð¸Ñ Ð½Ð° Ñаможне, ÑÑеÑÑннÑе поÑÑлки и Ñ.д. УказаннÑй пеÑиод, ÑÑо не 100% инÑоÑмаÑиÑ, а вÑего лиÑÑ Ð¿Ñогноз, оÑиенÑиÑÑÑÑий ÐÐ°Ñ ÐºÐ¾Ð³Ð´Ð° ждаÑÑ Ð¿Ð¾ÑÑлкÑ. ÐÑли ÑÑок доÑÑавки ÐаÑей поÑÑлки болÑÑе, Ñем Ñказано в пÑогнозе, не пеÑеживайÑе, она пÑиедеÑ, но ÑÑÑÑ Ð¿Ð¾Ð·Ð¶Ðµ ;)"></span>'); 4771 } 4772 4773 4774 } 4775 else { 4776 4777 if ((json.data.events[0].source != 'track24') && (json.data.events[0].source != 'garant')) { 4778 trackInfoToPanel += '<li class="sp projectedDeliveryPeriodAffterEvents"><div class="sp_left"><span class="sp_title">ÐÑогнозиÑÑемÑй пеÑиод доÑÑавки</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value"><span id="projectedDate" class="redMarker">'+projectedDate(firstOperationDateTime[0], (averageDeliveryDays))+' - '+projectedDate(firstOperationDateTime[0], (averageDeliveryDays)+10)+'</span> <span class="hidden-xs">(не гаÑанÑиÑÑемÑй)</span> <span class="fa fa-question-circle" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="СÑок доÑÑавки ÑаÑÑÑиÑÑваеÑÑÑ Ð½Ð° оÑновании анализа ÑÑаÑиÑÑики доÑÑавленнÑÑ Ð¼ÐµÐ¶Ð´ÑнаÑоднÑÑ Ð¿Ð¾ÑÑовÑÑ Ð¾ÑпÑавлений за поÑледний меÑÑÑ. Ð ÑаÑÑÐµÑ Ð½Ðµ беÑÑÑÑÑ Ð·Ð°Ð´ÐµÑжки Ñ Ð¾ÑпÑавкой поÑÑлки, завиÑÐ°Ð½Ð¸Ñ Ð½Ð° Ñаможне, ÑÑеÑÑннÑе поÑÑлки и Ñ.д. УказаннÑй пеÑиод, ÑÑо не 100% инÑоÑмаÑиÑ, а вÑего лиÑÑ Ð¿Ñогноз, оÑиенÑиÑÑÑÑий ÐÐ°Ñ ÐºÐ¾Ð³Ð´Ð° ждаÑÑ Ð¿Ð¾ÑÑлкÑ. ÐÑли ÑÑок доÑÑавки ÐаÑей поÑÑлки болÑÑе, Ñем Ñказано в пÑогнозе, не пеÑеживайÑе, она пÑиедеÑ, но ÑÑÑÑ Ð¿Ð¾Ð·Ð¶Ðµ ;)"></span></div></div></li>'; 4779 $("#projectedDeliveryPeriodBeforeEvents").html('<p><span class="hidden-xs hidden-sm hidden-md">ÐÑогнозиÑÑемÑй пеÑиод доÑÑавки</span><span class="hidden-xs hidden-sm hidden-lg">ÐÑогнозиÑÑемÑй пеÑиод доÑÑавки</span><span class="hidden-md hidden-lg">ÐÑогноз</span></b>: '+projectedDate(firstOperationDateTime[0], (averageDeliveryDays))+' - '+projectedDate(firstOperationDateTime[0], (averageDeliveryDays)+10)+' <span class="hidden-xs">(не гаÑанÑиÑÑемÑй)</span> <span class="fa fa-question-circle" style="cursor:pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="СÑок доÑÑавки ÑаÑÑÑиÑÑваеÑÑÑ Ð½Ð° оÑновании анализа ÑÑаÑиÑÑики доÑÑавленнÑÑ Ð¿Ð¾ÑÑовÑÑ Ð¾ÑпÑавлений за поÑледний меÑÑÑ. Ð ÑаÑÑÐµÑ Ð½Ðµ беÑÑÑÑÑ Ð·Ð°Ð´ÐµÑжки Ñ Ð¾ÑпÑавкой поÑÑлки, завиÑÐ°Ð½Ð¸Ñ Ð½Ð° Ñаможне, ÑÑеÑÑннÑе поÑÑлки и Ñ.д. УказаннÑй пеÑиод, ÑÑо не 100% инÑоÑмаÑиÑ, а вÑего лиÑÑ Ð¿Ñогноз, оÑиенÑиÑÑÑÑий ÐÐ°Ñ ÐºÐ¾Ð³Ð´Ð° ждаÑÑ Ð¿Ð¾ÑÑлкÑ. ÐÑли ÑÑок доÑÑавки ÐаÑей поÑÑлки болÑÑе, Ñем Ñказано в пÑогнозе, не пеÑеживайÑе, она пÑиедеÑ, но ÑÑÑÑ Ð¿Ð¾Ð·Ð¶Ðµ ;)"></span></p>'); 4780 } 4781 } 4782 4783 if ((typeof json.data.fromName !== "undefined") && (json.data.fromName !== null) && (json.data.fromName !== "")) { 4784 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐÑпÑавиÑелÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+json.data.fromName+' </div></div></li>'; 4785 trackingInfoEventsDataForClipBoard += 'ÐÑпÑавиÑелÑ: '+json.data.fromName+'\n'; 4786 } 4787 if ((typeof json.data.destinationName !== "undefined") && (json.data.destinationName !== null) && (json.data.destinationName !== "")) { 4788 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐолÑÑаÑелÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+json.data.destinationName+' <span class="fa fa-question-circle" style="cursor:pointer;" data-toggle="popover" data-trigger="click hove
4788r" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="ÐоÑÑаÑоÑно ÑаÑÑо (по необÑÑÑнимÑм пÑиÑинам), поÑле пÑÐ¾Ñ Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ ÑаможеннÑÑ Ð¿ÑоÑедÑÑ, ФÐРполÑÑаÑÐµÐ»Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑÑÑ, и не ÑооÑвеÑÑÑвоваÑÑ Ð´ÐµÐ¹ÑÑвиÑелÑноÑÑи. ÐÑли адÑÐµÑ Ð´Ð¾ÑÑавки ÑÐ¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ Ñ ÐаÑим, Ñо не ÑÑÐ¾Ð¸Ñ Ð¿ÐµÑеживаÑÑ Ð¿Ð¾ ÑÑÐ¾Ð¼Ñ Ð¿Ð¾Ð²Ð¾Ð´Ñ. ÐоÑÑлка пÑÐ¸ÐµÐ´ÐµÑ Ñ ÐаÑими ФÐÐ, и ÐÑ Ð±ÐµÐ· пÑоблем ÑможеÑе ÐµÑ Ð¿Ð¾Ð»ÑÑиÑÑ Ð² ÐаÑем поÑÑовом оÑделении. <br>Ð ÑелÑÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи и заÑиÑÑ Ð¿ÐµÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð² ФÐРзаменÑÑÑÑÑ Ð½Ð° ***."></span></div></div></li>'; 4789 trackingInfoEventsDataForClipBoard += 'ÐолÑÑаÑелÑ: '+json.data.destinationName+'\n'; 4790 } 4791 4792 if ((json.data.fromCountry == "") || (json.data.destinationCountry == "")){ 4793 4794 if ((typeof json.data.fromCountry !== "undefined") && (json.data.fromCountry !== null) && (json.data.fromCountry !== "")) { 4795 var fromCountry = json.data.fromCountry; 4796 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">СÑÑана оÑпÑавиÑелÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+fromCountry+'</div></div></li>'; 4797 trackingInfoEventsDataForClipBoard += 'СÑÑана оÑпÑавиÑелÑ: '+fromCountry+'\n'; 4798 } 4799 if ((typeof json.data.destinationCountry !== "undefined") && (json.data.destinationCountry !== null) && (json.data.destinationCountry !== "")) { 4800 var destinationCountry = json.data.destinationCountry; 4801 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">СÑÑана назнаÑениÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+destinationCountry+'</div></div></li>'; 4802 trackingInfoEventsDataForClipBoard += 'СÑÑана назнаÑениÑ: '+destinationCountry+'\n'; 4803 } 4804 4805 if ((typeof json.data.destinationCountry === "undefined") || (json.data.destinationCountry === null) || (json.data.destinationCountry === "")) { 4806 if ((typeof json.data.destinationCountryCode !== "undefined") && (json.data.destinationCountryCode !== null) && (json.data.destinationCountryCode !== "")) { 4807 var destinationCountryCode = json.data.destinationCountryCode 4808 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">Ðод ÑÑÑÐ°Ð½Ñ Ð½Ð°Ð·Ð½Ð°ÑениÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+destinationCountryCode+'</div></div></li>'; 4809 trackingInfoEventsDataForClipBoard += 'Ðод ÑÑÑÐ°Ð½Ñ Ð½Ð°Ð·Ð½Ð°ÑениÑ: '+destinationCountryCode+'\n'; 4810 } 4811 } 4812 4813 4814 } 4815 4816 var route = ""; 4817 var routePointsCount = 0; 4818 4819 if ((typeof json.data.fromCountry !== "undefined") && (json.data.fromCountry !== null) && (json.data.fromCountry !== "")) { 4820 route += '<span class="route" id="routeOriginCountry" style="cursor:pointer;">'+json.data.fromCountry+'</span>'; 4821 route += ' <i class="fa fa-angle-double-right"></i> '; 4822 routePointsCount++; 4823 } 4824 4825 if ((typeof json.data.fromCity !== "undefined") && (json.data.fromCity !== null) && (json.data.fromCity !== "")) { 4826 route += '<span class="route" id="routeFromCity">'+json.data.fromCity+'</span>'; 4827 route += ' <i class="fa fa-angle-double-right"></i> '; 4828 routePointsCount++; 4829 } 4830 if ((typeof json.data.destinationCountry !== "undefined") && (json.data.destinationCountry !== null) && (json.data.destinationCountry !== "")) { 4831 route += '<span class="route" id="routeDestinationCountry" style="cursor:pointer;">'+json.data.destinationCountry+'</span>'; 4832 route += ' <i class="fa fa-angle-double-right"></i> '; 4833 routePointsCount++; 4834 } 4835 4836 4837 if ((typeof json.data.destinationPostalCode !== "undefined") && (json.data.destinationPostalCode !== null) && (json.data.destinationPostalCode !== "") ) { 4838 4839 if ((typeof json.data.destinationPostalAddress !== "undefined") && (json.data.destinationPostalAddress !== null) && (json.data.destinationPostalAddress !== "") && (json.data.destinationPostalCode.length == 6) && (Number.isInteger(parseInt(json.data.destinationPostalCode))) && (json.data.destinationCompany == 'rupost')) { 4840 var postal_code_info = '<span style="border-bottom: 1px dotted; cursor: pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="<b>ÐнÑоÑмаÑÐ¸Ñ Ð¾ поÑÑовом оÑделении:</b> <a href=\'https://track24.ru/?page=postindex&index='+json.data.destinationPostalCode+'\' target=\'_blank\' class=\'dotted\'>'+json.data.destinationPostalCode+'</a> <a class=\'hidden-xs\' href=\'https://track24.ru/?page=postindex&index='+json.data.destinationPostalCode+'\' target=\'_blank\' style=\'/*position: absolute; right: 10px; top: 10px;*/\'><i class=\'fa fa-external-link\'></i></a>" data-content="<b>ÐдÑеÑ:</b> '+json.data.destinationPostalAddress+'<br><br><b>ТелеÑонÑ:</b> '+json.data.destinationPostalPhones+'<br><br><b>Режим ÑабоÑÑ:</b><br>'+json.data.destinationPostalWorkTime+'">'+json.data.destinationPostalCode+'</span>'; 4841 4842 route += '<span class="route" id="routeDestinationPostalCode">'+postal_code_info+'</span>'; 4843 route += ' <i class="fa fa-angle-double-right"></i> '; 4844 routePointsCount++; 4845 } 4846 else if ((typeof json.data.destinationPostalAddress !== "undefined") && (json.data.destinationPostalAddress !== null) && (json.data.destinationPostalAddress !== "") && (json.data.destinationCompany == 'cdek')) { 4847 var pvz_info = '<span style="border-bottom: 1px dotted; cursor: pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="<b>ÐнÑоÑмаÑÐ¸Ñ Ð¾ пÑнкÑе вÑдаÑи заказов:</b> <a href=\'https://track24.ru/?page=cdek&scode='+json.data.destinationPostalCode.replace(/CDEK:\s*/gm, '')+'\' target=\'_blank\' class=\'dotted\'> СÐÐÐ '+json.data.destinationPostalCode.replace(/CDEK:\s*/gm, '')+'</a> <div style=\'float: right; margin-left: 15px;\'><a href=\'https://track24.ru/?page=cdek&scode='+json.data.destinationPostalCode.replace(/CDEK:\s*/gm, '')+'\' target=\'_blank\' style=\'position: absolute; right: 10px; top: 10px;\'><i class=\'fa fa-external-link\'></i></a></div>" data-content="<b>ÐдÑеÑ:</b> '+json.data.destinationPostalAddress+'<br><br><b>ТелеÑонÑ:</b> '+json.data.destinationPostalPhones+'<br><br><b>Режим ÑабоÑÑ:</b><br>'+json.data.destinationPostalWorkTime+'">ÐÐÐ - СÐÐÐ</span>'; 4848 4849 route += '<span class="route" id="routeDestinationPostalCode">'+pvz_info+'</span>'; 4850 route += ' <i class="fa fa-angle-double-right"></i> '; 4851 routePointsCount++; 4852 } 4853 else { 4854 route += '<span class="route" id="routeDestinationPostalCode">'+json.data.destinationPostalCode+'</span>'; 4855 route += ' <i class="fa fa-angle-double-right"></i> '; 4856 routePointsCount++; 4857 } 4858 } 4859 4860 if ((typeof json.data.destinationCity !== "undefined") && (json.data.destinationCity !== null) && (json.data.destinationCity !== "")) { 4861 route += '<span class="route" id="routeDestinationCity">'+json.data.destinationCity+'</span>'; 4862 route += ' <i class="fa fa-angle-double-right"></i> '; 4863 routePointsCount++; 4864 } 4865 if ((typeof json.data.destinationAddress !== "undefined") && (json.data.destinationAddress !== null) && (json.data.destinationAddress !== "")) { 4866 route += '<span class="route" id="routeDestinationAddress">'+json.data.destinationAddress+'</span>'; 4867 route += ' <i class="fa fa-angle-double-right"></i> '; 4868 routePointsCount++; 4869 } 4870 4871 4872 4873 4874 4875 4876 4877 4878 if (routePointsCount > 0) { 4879 route = $.trim(route).replace(/<i class="fa fa-angle-double-right"><\/i>$/gm, ''); 4880 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title" id="routeTitle" style="">ÐаÑÑÑÑÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+route+' <!-- <i class="fa fa-map-o myTooltip" id="routeMarker" aria-hidden="true" style="cursor:pointer;" style="cursor:pointer;" title="ÐаÑÑÑÑÑ Ð½Ð° каÑÑе"></i>--></div></div></li>'; 4881 } 4882 4883 4884 if (json.data.itemWeight > 0) { 4885 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐеÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+json.data.itemWeight+' г</div></div></li>'; 4886 } 4887 if ( (typeof json.deliveredStat !== "undefined") && (json.deliveredStat !== null) && (json.deliveredStat !== "") ) { 4888 if ((typeof json.deliveredStat.type !== "undefined") && (json.deliveredStat.type !== null) && (json.deliveredStat.type !== "") && (json.deliveredStat.type !== "n/a")) { 4889 4890 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">Тип оÑпÑавлениÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+json.deliveredStat.type+'</div></div></li>'; 4891 } 4892 } 4893 4894 4895 if ((json.data.events[0].source != 'track24') && (json.data.events.length > 1)) { 4896 var deliveredByShippers = []; 4897 $.each(json.data.events, function(key, value) { 4898 if (deliveredByShippers.indexOf(value.source) == -1) { 4899 deliveredByShippers.push(value.source); 4900 } 4901 }); 4902 if (deliveredByShippers.length > 0) { 4903 //console.log(deliveredByShippers); 4904 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐÑÑоÑники</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'; 4905 var deliveredByShippersCount = 0; 4906 $.each(deliveredByShippers, function(key, value) { 4907 if (deliveredByShippersCount > 0) { 4908 trackInfoToPanel += '<i class="fa fa-angle-double-right" aria-hidden="true"></i>'; 4909 } 4910 4911 if (isEmpty(json.serviceNames) === false) { 4912 trackInfoToPanel += ' <span class="sampleTrackCode_ dotted active"><a href="https://track24.ru/service/'+value.toLowerCase()+'/tracking/'+inputedTrackCode+'" target="_blank">'+json.serviceNames[value.toUpperCase()]+'</a></span> '; 4913 deliveredByShippersCount++; 4914 } 4915 4916 4917 }); 4918 trackInfoToPanel += '<span class="fa fa-question-circle" style="cursor:pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="Ðомпании пÑедоÑÑавивÑие ÑÑаÑÑÑÑ Ñ Ð¸Ð½ÑоÑмаÑией об оÑÑлеживании ÑÑек-кода: <b>'+inputedTrackCode+'</b>"></span></div></div></li>'; 4919 } 4920 } 4921 4922 var myTrackingNumbersDescriptions = new Map(); 4923 $('.myTrackingNumbersDescriptionSpan').each(function(i, elem) { 4924 if ( $(this).text() != "ÐÐµÑ Ð¾Ð¿Ð¸ÑаниÑ") { 4925 myTrackingNumbersDescriptions.set($(this).attr("trackcode"), $(this).text()); 4926 } 4927 }); 4928 4929 if ( (typeof json.data.trackCodeModified !== "undefined") && (json.data.trackCodeModified !== null) && (json.data.trackCodeModified !== "") && (json.data.trackCodeModified != "") ) { 4930 var trackCodesModified = json.data.trackCodeModified.split(","); 4931 if (trackCodesModified.length == 1) { 4932 4933 if (myTrackingNumbersDescriptions.has(json.data.trackCodeModified) !== true) { 4934 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐеÑемаÑкиÑованнÑй ÑÑек-код</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value"><span class="sampleTrackCode active">'+json.data.trackCodeModified+'</span> <i class="fa fa-copy copyToClipBoard" data-for-clipboard="'+json.data.trackCodeModified+'" style=""></i> <span class="fa fa-question-circle" style="cursor:pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="ÐеÑемаÑкиÑованнÑй ÑÑек-код пÑиÑваиваеÑÑÑ Ð¿Ñи пеÑедаÑе поÑÑовой ÑлÑжбе ÑÑÑÐ°Ð½Ñ Ð½Ð°Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи далÑнейÑего оÑÑлеживаниÑ."></span></div></div></li>'; 4935 } 4936 else { 4937 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐеÑемаÑкиÑованнÑй ÑÑек-код</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value"><span class="sampleTrackCode active myTooltip" title="'+myTrackingNumbersDescriptions.get(json.data.trackCodeModified)+'">'+json.data.trackCodeModified+'</span> <i class="fa fa-copy copyToClipBoard" data-for-clipboard="'+json.data.trackCodeModified+'" style=""></i> <span class="fa fa-question-circle" style="cursor:pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="ÐеÑемаÑкиÑованнÑй ÑÑек-код пÑиÑваиваеÑÑÑ Ð¿Ñи пеÑедаÑе поÑÑовой ÑлÑжбе ÑÑÑÐ°Ð½Ñ Ð½Ð°Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи далÑнейÑего оÑÑлеживаниÑ."></span></div></div></li>'; 4938 } 4939 4940 4941 } 4942 else { 4943 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐеÑемаÑкиÑованнÑй ÑÑек-код</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'; 4944 $.each(trackCodesModified, function(key, value) { 4945 if (key > 0) { 4946 trackInfoToPanel += '<i class="fa fa-angle-double-right" aria-hidden="true"></i>'; 4947 } 4948 4949 if (myTrackingNumbersDescriptions.has(value) !== true) { 4950 trackInfoToPanel += ' <span class="sampleTrackCode active">'+value+'</span> '; 4951 } 4952 else { 4953 trackInfoToPanel += ' <span class="sampleTrackCode active myTooltip" title="'+myTrackingNumbersDescriptions.get(value)+'">'+value+'</spa
4953n> '; 4954 } 4955 4956 4957 }); 4958 trackInfoToPanel += '<span class="fa fa-question-circle" style="cursor:pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="ÐеÑемаÑкиÑованнÑй ÑÑек-код пÑиÑваиваеÑÑÑ Ð¿Ñи пеÑедаÑе поÑÑовой ÑлÑжбе ÑÑÑÐ°Ð½Ñ Ð½Ð°Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи далÑнейÑего оÑÑлеживаниÑ."></span></div></div></li>'; 4959 } 4960 } 4961 4962 if ( (typeof json.data.mergedTrackCodes !== "undefined") && (json.data.mergedTrackCodes !== null) && (json.data.mergedTrackCodes !== "") && (json.data.mergedTrackCodes != "") ) { 4963 var trackCodesMerged = json.data.mergedTrackCodes.split(","); 4964 if (trackCodesMerged.length > 1) { 4965 4966 4967 //console.log(myTrackingNumbersDescriptions); 4968 4969 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐбÑединÑннÑе оÑпÑавлениÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'; 4970 $.each(trackCodesMerged, function(key, value) { 4971 if (key > 0) { 4972 trackInfoToPanel += ', '; 4973 } 4974 //console.log(value, myTrackingNumbersDescriptions.has(value)); 4975 4976 if (myTrackingNumbersDescriptions.has(value) !== true) { 4977 trackInfoToPanel += ' <span class="sampleTrackCode active_ redMarker_">'+value+'</span>'; 4978 } 4979 else { 4980 trackInfoToPanel += ' <span class="sampleTrackCode active redMarker_ myTooltip" title="'+myTrackingNumbersDescriptions.get(value)+'">'+value+'</span>'; 4981 } 4982 }); 4983 trackInfoToPanel += ' <span class="fa fa-question-circle" style="cursor:pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="ÐÐ»Ñ ÑменÑÑÐµÐ½Ð¸Ñ ÑÑоимоÑÑи доÑÑавки, логиÑÑиÑеÑÐºÐ°Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¾Ð±Ñединила мелкие пакеÑÑ Ñ ÑÑек-кодами <b>'+trackCodesMerged.join(', ')+'</b> в одно поÑÑовое оÑпÑавление Ñ ÑÑек-кодом <b>'+json.data.trackCodeModified+'</b>."></span></div></div></li>'; 4984 } 4985 } 4986 4987 4988 4989 if ( (typeof json.projectedNextWaypoint !== "undefined") && (json.projectedNextWaypoint !== null) && (json.projectedNextWaypoint !== "") ) { 4990 if (json.projectedNextWaypoint.nextAttribute != null) { 4991 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐжидайÑе ÑÑаÑÑÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+json.projectedNextWaypoint.nextAttribute+' <span class="road-map-spoiler">
4991<svg width="12" height="11" viewBox="0 0 27 27"><path fill="#ccc" d="M26.7,4.895c-0.4-0.5-1.199-0.5-1.599,0L13.512,19.382L1.923,4.895c-0.4-0.5-1.199-0.5-1.599,0c-0.4,0.5-0.4,1.299,0,1.798L12.613,22.08c0.2,0.3,0.5,0.4,0.899,0.4c0.3,0,0.599-0.1,0.899-0.4L26.7,6.694C27.1,6.194,27.1,5.395,26.7,4.895z"></path></svg></span></div></div></li>'; 4992 trackInfoToPanel += '<div id="road-map" style="display: none;"></div>'; 4993 } 4994 } 4995 4996 4997 4998 if ((typeof json.data.declaredValue !== "undefined") && (json.data.declaredValue !== null) && (json.data.declaredValue !== "")) { 4999 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐбÑÑÐ²Ð»ÐµÐ½Ð½Ð°Ñ ÑенноÑÑÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+json.data.declaredValue+' ÑÑб.</div></div></li>'; 5000 } 5001 if ((typeof json.data.collectOnDeliveryPrice !== "undefined") && (json.data.collectOnDeliveryPrice !== null) && (json.data.collectOnDeliveryPrice !== "")) { 5002 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐаложеннÑй плаÑеж</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+json.data.collectOnDeliveryPrice+' ÑÑб.</div></div></li>'; 5003 } 5004 5005 5006 5007 if ((typeof json.data.allWayTracking !== "undefined") && (json.data.allWayTracking !== null) && (json.data.allWayTracking !== "") && (json.data.upu !== true) && (json.data.events[json.data.events.length - 1].serviceName != 'Track24.ru')) { 5008 if (json.data.allWayTracking === true) { 5009 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐÑÑлеживание</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">до вÑÑÑениÑ</div></div></li>'; 5010 } 5011 else { 5012 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐÑÑлеживание</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">ÑаÑÑиÑное</div></div></li>'; 5013 } 5014 } 5015 5016 5017 if ((json.data.deliveredDaysAgo) && (typeof json.data.deliveredDaysAgo !== "undefined") && (json.data.deliveredDaysAgo !== null) && (json.data.deliveredDaysAgo !== "") && (json.data.deliveredDaysAgo > 0)) { 5018 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐоÑÑавлен</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value"><span class="myTooltip dotted" data-toggle="tooltip" data-placement="top" title="'+json.data.trackDeliveredDateTime+'">'+json.data.deliveredDaysAgo+' '+numberof(json.data.deliveredDaysAgo, '', ['денÑ', 'днÑ', 'дней'])+' назад</span></div></div></li>'; 5019 } 5020 5021 5022 if ((typeof json.controlDays !== "undefined") && (json.controlDays !== null) && (json.controlDays !== "")) { 5023 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐонÑÑолÑнÑй ÑÑок доÑÑавки</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+json.controlDays+' '+numberof(json.controlDays, '', ['денÑ', 'днÑ', 'дней'])+'</div></div></li>'; 5024 } 5025 trackInfoToPanel += '</ul>'; 5026 5027 if ((json.data.events.length <= 1) && (json.data.events[0].serviceName == 'Track24.ru')) { 5028 trackInfoToPanel += '<p><i class="fa fa-info-circle"></i> ÐÑ Ñожалеем, но инÑоÑмаÑÐ¸Ñ Ð¾ ÑÑек-коде <a href="//track24.ru/?code='+inputedTrackCode+'">'+inputedTrackCode+'</a> еÑе не поÑвилаÑÑ Ð² наÑей ÑиÑÑеме.<br><br> Ðе пеÑеживайÑе! ÐÐ»Ñ Ð·Ð°ÐºÐ°Ð·Ð¾Ð² оÑоÑмленнÑÑ Ð¼ÐµÐ½ÐµÐµ 1 - 2 Ð½ÐµÐ´ÐµÐ»Ñ Ð½Ð°Ð·Ð°Ð´, ÑÑо ноÑмалÑно.<br> Ðак пÑавило, инÑоÑмаÑÐ¸Ñ <b>наÑÐ¸Ð½Ð°ÐµÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÑÑÑÑÑ ÑеÑез 3-7 дней</b>, поÑле полÑÑÐµÐ½Ð¸Ñ ÑÑек-кода</b>.<br> Ðногда, Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа полÑÑÐµÐ½Ð¸Ñ ÑÑек-кода, до наÑала оÑÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑойÑи <b>2 недели</b>.<br> <a href="//track24.ru/?page=faq#1" style="border-bottom: 1px dotted;">ÐодÑобнее в вопÑоÑÐ°Ñ Ð¸ оÑвеÑÐ°Ñ </a>.<br><br> ÐÑли ÑÑек-код не оÑÑлеживаеÑÑÑ Ð±Ð¾Ð»ÐµÐµ 14 дней, как на наÑем ÑайÑе Ñак и на ÑайÑе ÑоÑговой плоÑадки,<br> ÐÑ Ð²Ð¿Ñаве оÑкÑÑÑÑ ÑпоÑ, и ÑÑебоваÑÑ Ð²Ð¾Ð·Ð²ÑÐ°Ñ Ð´ÐµÐ½ÐµÐ³.</p>'; 5029 trackInfoToPanel += '<hr>'; 5030 trackInfoToPanel += '<p>РекомендÑем, на вÑÑкий ÑлÑÑай <a href="//track24.ru/?page=store-info" target="_blank">пÑовеÑиÑÑ Ð¿ÑодавÑа на "вÑивоÑÑÑ"</a>.</p>'; 5031 5032 5033 } 5034 else { 5035 if ((dateDiff(lastOperationDateTime[0], lastDeliveryDateTime[0]) > 0) && (dateDiff(lastOperationDateTime[0], lastDeliveryDateTime[0]) < 14) && (progressBarPercent <100)) { 5036 trackInfoToPanel += '<p><hr>C моменÑа Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñледнего ÑÑаÑÑÑа пÑоÑло вÑего: '+dateDiff(lastOperationDateTime[0], lastDeliveryDateTime[0])+' '+numberof(dateDiff(lastOperationDateTime[0], lastDeliveryDateTime[0]), '', ['денÑ', 'днÑ', 'дней'])+ '<br>ÐÑли ÑÑаÑÑÑ Ð¿Ð¾ÑÑового оÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ðµ менÑеÑÑÑ Ð¼ÐµÐ½ÐµÐµ 14 дней, не ÑÑÐ¾Ð¸Ñ Ð±ÐµÑпокоиÑÑÑÑ, ÑÑо ноÑмалÑное Ñвление Ð´Ð»Ñ Ð¼ÐµÐ¶Ð´ÑнаÑоднÑÑ Ð¿Ð¾ÑÑовÑÑ Ð¾ÑпÑавлений.</p>'; 5037 } 5038 } 5039 5040 trackInfoToPanel += '<p><b>ÐеÑвÑй Ñаз на ÑайÑе?</b><br> ÐоÑполÑзÑйÑеÑÑ ÐºÐ¾Ñо-гидом <a href="https://track24.ru/?guide='+inputedTrackCode+'">https://track24.ru/?guide='+inputedTrackCode+'</a><br><small>ÐнимаÑелÑно изÑÑайÑе подÑказки Ñ ÑÑаÑÑÑов (под знаками вопÑоÑов) и инÑоÑмаÑÐ¸Ñ Ð² кÑаÑной Ñамке (еÑли она еÑÑÑ).</small></p>'; 5041 5042 5043 5044 trackingInfoEventsDataForClipBoard += 'ÐÑÑлеживаеÑÑÑ: '+json.data.daysTracking+' дней\n'; 5045 trackingInfoEventsDataForClipBoard += '-------------------------'+'\n'; 5046 trackingInfoEventsDataForClipBoard += 'ÐоÑÑоÑÐ½Ð½Ð°Ñ ÑÑÑлка Ð´Ð»Ñ Ð¾ÑÑлеживаниÑ: https://track24.ru/?code='+inputedTrackCode+'\n\r'; 5047 5048 5049 if (progressBarPercent != 100) { 5050 progressBarPercent = Math.round((dateDiff(firstOperationDateTime[0], lastOperationDateTime[0])+1) / averageDeliveryDays * 100); 5051 if (progressBarPercent >= 100) { 5052 progressBarPercent = 90; 5053 } 5054 } 5055 5056 5057 5058 var progress = '<div style="position:relative; width:100%;">'; 5059 progress += '<span style=" text-align: center; width: 100%; position: absolute; line-height: 40px;">'; 5060 if (json.data.events[0].source != 'track24') { 5061 progress += '<b>РпÑÑи '+json.data.daysInTransit+ ' '+numberof(json.data.daysInTransit, '', ['денÑ', 'днÑ', 'дней'])+'</b> <span class="fa fa-question-circle hidden-xs" style="cursor:pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="РаÑÑÐµÑ ÑÑоков Ð½Ð°Ñ Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ð¾ÑÑового оÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² пÑÑи, пÑоизводиÑÑÑ Ð¸ÑÑ Ð¾Ð´Ñ Ð¸Ð· двÑÑ Ð´Ð°Ñ:<br> <b>1.</b> ÐаÑа пеÑвого ÑÑаÑÑÑа поÑÑовой ÑлÑжбÑ, либо ÑегоднÑÑнÑÑ Ð´Ð°Ñа ('+firstDeliveryDateTime[0]+').<br><b>2.</b> ÐаÑа пÑибÑÑиÑ, либо ÑегоднÑÑнÑÑ Ð´Ð°Ñа ('+lastDeliveryDateTime[0]+')."></span> <span class="hidden-xs">/</span> <b>ÐÑÑлеживаеÑÑÑ '+json.data.daysTracking+ ' '+numberof(json.data.daysTracking, '', ['денÑ', 'днÑ', 'дней'])+'</b> <span class="fa fa-question-circle hidden-xs" style="cursor:pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="РаÑÑÐµÑ ÑÑоков оÑÑлеживаниÑ, пÑоизводиÑÑÑ Ð¸ÑÑ Ð¾Ð´Ñ Ð¸Ð· двÑÑ Ð´Ð°Ñ:<br><b>1.</b> ÐаÑа, когда ÑÑек-код оÑÑлеживалÑÑ Ð¿ÐµÑвÑй Ñаз ('+trackCreationDateTime[0]+').<br> <b>2.</b> ÐаÑа поÑледнего Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ('+trackUpdateDateTime[0]+')."></span>'; 5062 } 5063 else { 5064 progress += '<b>ÐÑÑлеживаеÑÑÑ '+json.data.daysTracking+ ' '+numberof(json.data.daysTracking, '', ['денÑ', 'днÑ', 'дней'])+'</b> <span class="fa fa-question-circle hidden-xs" style="cursor:pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="РаÑÑÐµÑ ÑÑоков оÑÑлеживаниÑ, пÑоизводиÑÑÑ Ð¸ÑÑ Ð¾Ð´Ñ Ð¸Ð· двÑÑ Ð´Ð°Ñ:<br><b>1.</b> ÐаÑа, когда ÑÑек-код оÑÑлеживалÑÑ Ð¿ÐµÑвÑй Ñаз ('+trackCreationDateTime[0]+').<br> <b>2.</b> ÐаÑа поÑледнего Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ('+trackUpdateDateTime[0]+')."></span>'; 5065 } 5066 progress += '</span>'; 5067 5068 progress += '<div class="progress progress-striped" style="border-radius: 0em; padding-top:3px; ">'; 5069 progress += '<div aria-valuemax="100" aria-valuemin="0" aria-valuenow="'+progressBarPercent+'" class="progress-bar progress-bar-info" role="progressbar" style="color: #000000; text-align:center; white-space:nowrap; padding-top:10px; font-size: 16px;"></div>'; 5070 progress += '</div>'; 5071 progress += '</div>'; 5072 5073 5074 5075 5076 $(progress).insertAfter('.trackingInfo-title-wrapper'); 5077 5078 if ((typeof json.notice !== 'undefined') && (json.notice !== null) && (json.notice !== "") && (json.notice.length > 0)) { 5079 $.each(json.notice, function(key, value) { 5080 $('#trackingInfo').append(trackingNotice(value['type'], value['title'], value['text'], value['spoiler'], value['link'], value['img'], value['details'], value['phone'])); 5081 }); 5082 } 5083 5084 $('#trackingInfo').append('<div class="panel panel-info hidden-phone" style="margin-top:5px;"><div class="panel-heading panel-heading-wrapper"><div class="panel-heading-left"><h4 class="panel-title" style="color: #000000;"><span class="hidden-xs">ÐнÑоÑмаÑиÑ</span> <span class="hidden-xs hidden-sm">о ÑÑек-коде</span><span class="hidden-xs">:</span> <b>'+inputedTrackCode+'</b></h4></div><div class="panel-heading-right"></div></div><div class="panel-body">'+trackInfoToPanel+'</div><div class="panel-footer"><p class="hidden-xs"><b>ÐоÑÑоÑÐ½Ð½Ð°Ñ ÑÑÑлка</b>: <a href="//track24.ru/?code='+inputedTrackCode+'" style="border-bottom: 1px dotted;">https://track24.ru/?code='+inputedTrackCode+'</a></p><div id="share" style="float:left;"> <div id="ya-share-tracking-link" class="_addthis_inline_share_toolbox" style="margin-top:10px; margin-bottom:5px;"></div><span class="hidden-xs hidden-sm hidden-md">Ð¡Ð¾Ñ ÑаниÑе ÑÑÑлкÑ, ÑÑÐ¾Ð±Ñ Ð½Ðµ поÑеÑÑÑÑ!</span></div> <div style="float:right;"><div id="qrMin" class="hidden-xs hidden-sm hidden-md" style="float: left; cursor: pointer; float: right; position: relative; bottom: 1px; left: 4px; width: 80px;" width="80px" title="https://track24.ru/?code='+inputedTrackCode+'""></div><img class="hidden-xs" id="vanga" title="УзнаÑÑ ÑледÑÑÑий ÑÑаÑÑÑ Ð¸ дÑÑгие пÑедÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¾Ñ ÐºÐ¾Ñейки" src="https://track24.ru/img/cat-in-square.jpg?2" style="cursor:pointer; float: right; position: relative; bottom: 1px; width: 75px;"><img class="hidden-xs upTrackCode" title="ÐоднÑÑÑ Ð¿ÑиоÑиÑÐµÑ ÑÑек-кода в обÑей оÑеÑеди оÑÑлеживаниÑ" src="https://track24.ru/img/time-in-square.jpg?3" style="margin-right: 5px; cursor:pointer; float: right; position: relative; bottom: 1px; width: 75px;"><img class="visible-xs upTrackCode" title="ÐоднÑÑÑ Ð¿ÑиоÑиÑÐµÑ ÑÑек-кода в обÑей оÑеÑеди оÑÑлеживаниÑ" src="https://track24.ru/img/time-in-square.jpg?3" style="margin-right: 0px; cursor:pointer; float: right; position: relative; bottom: 1px; width: 32px;"></div><div class="clear"></div></div></div><div id="'+adblock_prefix+'-3" class="'+adblock_prefix+'-3"></div>'); 5085 5086 5087 if (historyTrackCodesAndNamesArray.length > 0) { 5088 $.each(historyTrackCodesAndNamesArray, function(index, value) { 5089 if (inputedTrackCode == value["trackCode"]) { 5090 $('.trackingInfo-title-right').html("<span class='trackTitleDescription' id='eip_title_"+value['trackCode']+"' trackCode='"+value['trackCode']+"'>"+value['trackName'].substr(0,26)+"</span>"); 5091 $('.panel-heading-right').html("<span class='trackHeadingDescription' id='eip_heading_"+value['trackCode']+"' trackCode='"+value['trackCode']+"'>"+value['trackName'].substr(0,26)+"</span>"); 5092 } 5093 }); 5094 5095 $(".trackTitleDescription, .trackHeadingDescription").editInPlace({ 5096 text_max: 26, 5097 textarea_max: 26, 5098 text_size: 25, 5099 textarea_cols:1, 5100 textarea_rows:1, 5101 url: "/ajax/history.ajax.php", 5102 success: function(data) { 5103 var json = JSON.parse(data); 5104 if ((json) && (json.status == 'ok')) { 5105 if (json.description != "") { 5106 $(this).text(json.description); 5107 } 5108 else { 5109 $(this).text(""); 5110 } 5111 } 5112 }, 5113 params: 'checkLogin='+$.Storage.get('login')+'&checkAuthKey='+ $.Storage.get('authKey')+'&trackCode=' + $("#inputTrackCode").val() + '&action=description' 5114 }); 5115 } 5116 5117 5118 5119 $(window).scroll(function() { 5120 if ($(".tracking-notice-block-redMarker").length > 0) { 5121 if ($(".tracking-notice-block-redMarker").visible() === true) { 5122 $('.tracking-notice-block-redMarker').each(function(i) { 5123 $(this).delay((i+1)*300).queueAddClass('tracking-notice-block-redMarkerActive').delay((i+1)*600).queueRemoveClass('tracking-notice-block-redMarker'); 5124 });
5125 } 5126 } 5127 5128 if ($(".well").visible() === true) { 5129 setTimeout( function() { 5130 $('.well').find(".redMarker").removeClass('redMarker').addClass('redMarkerActive'); 5131 }, 1600); 5132 } 5133 5134 if ($("#projectedDate").visible() === true) { 5135 setTimeout( function() { 5136 $('#projectedDate').removeClass('redMarker').addClass('redMarkerActive'); 5137 }, 2000); 5138 } 5139 5140 }); 5141 5142 $('[data-toggle="popover"]').popover({html:'true'}); 5143 5144 if (findBootstrapEnvironment() === "xs") { 5145 $('.sp').addClass('sp_m').removeClass('sp'); 5146 $('.sp_left').addClass('sp_left_m').removeClass('sp_left'); 5147 $('.sp_title').addClass('sp_title_m').removeClass('sp_title'); 5148 $('.sp_line').addClass('sp_line_m').removeClass('sp_line'); 5149 $('.sp_right').addClass('sp_right_m').removeClass('sp_right'); 5150 $('.sp_value').addClass('sp_value_m').removeClass('sp_value'); 5151 5152 5153 } 5154 5155 if (device.desktop()) { 5156 $('.road-map-spoiler').unbind(); 5157 $(".road-map-spoiler").bind("click", function(e) { 5158 $(".road-map-spoiler").toggleClass("road-map-spoiler-rotated"); 5159 if ($(".road-map-spoiler").hasClass("road-map-spoiler-rotated") === true) { 5160 roadMapInit(trackCode, json); 5161 $("#road-map").slideDown(1000); 5162 } 5163 else { 5164 $("#road-map").slideUp(1000); 5165 } 5166 5167 }); 5168 5169 } 5170 else { 5171 $('.road-map-spoiler').hide(); 5172 } 5173 5174 5175 $('.tracking-notice-block-spoiler').unbind(); 5176 $(".tracking-notice-block-spoiler").bind("click", function(e) { 5177 $(".tracking-notice-block-spoiler").toggleClass("tracking-notice-block-spoiler-rotated"); 5178 if ($(".tracking-notice-block-spoiler").hasClass("tracking-notice-block-spoiler-rotated") === true) { 5179 5180 $(".tracking-notice-block-spoiler-content").slideDown(500); 5181 } 5182 else { 5183 $(".tracking-notice-block-spoiler-content").slideUp(500); 5184 } 5185 5186 }); 5187 5188 5189 if ((device.desktop()) && (groupEventsByServiceTrigger != true) && (hideDublicateEventsTrigger != true)) { 5190 $(".trackingInfoRow").tooltip({title: "Ðлик левой кнопки мÑÑи Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÑаÑÑÑа в бÑÑÐµÑ Ð¾Ð±Ð¼ÐµÐ½Ð°.", placement: 'left', delay : { show: 3000} }); 5191 $(".trackingInfoRow").bind("click", function(e) { 5192 5193 var rowElement = this; 5194 var selectedEventDataForClipBoard = "ÐнÑоÑмаÑÐ¸Ñ Ð¾ ÑÑек-коде: "+inputedTrackCode+"\n"; 5195 selectedEventDataForClipBoard += events[0][$(this).index()]["operationDateTime"]+" ["+events[0][$(this).index()]["serviceName"]+"]\n"; 5196 selectedEventDataForClipBoard += (typeof events[0][$(this).index()]["operationAttributeTranslated"] !== 'undefined') ? $.trim(events[0][$(this).index()]["operationAttributeTranslated"])+"\n" : $.trim(events[0][$(this).index()]["operationAttributeOriginal"])+"\n"; 5197 if (eventsArray[$(this).index()]["operationTypeTranslated"] != "") { 5198 selectedEventDataForClipBoard += (typeof eventsArray[$(this).index()]["operationTypeTranslated"] !== 'undefined') ? $.trim(eventsArray[$(this).index()]["operationTypeTranslated"])+"\n" : $.trim(eventsArray[$(this).index()]["operationTypeOriginal"])+"\n"; 5199 } 5200 selectedEventDataForClipBoard += ((typeof events[0][$(this).index()]["operationPlacePostalCode"] !== 'undefined') && (events[0][$(this).index()]["operationPlacePostalCode"] !== "")) ? $.trim(events[0][$(this).index()]["operationPlacePostalCode"])+" " : ""; 5201 selectedEventDataForClipBoard += ((typeof events[0][$(this).index()]["operationPlaceNameTranslated"] !== 'undefined') && (events[0][$(this).index()]["operationPlaceNameTranslated"] !== "")) ? $.trim(events[0][$(this).index()]["operationPlaceNameTranslated"])+"\n" : $.trim(events[0][$(this).index()]["operationPlaceNameOriginal"])+"\n"; 5202 selectedEventDataForClipBoard += 'ÐÑÑледиÑÑ Ð½Ð° ÑайÑе: https://track24.ru/?code='+inputedTrackCode+"\n"; 5203 try { 5204 navigator.clipboard.writeText(selectedEventDataForClipBoard).then(function() { 5205 5206 $(rowElement).attr('data-original-title', "Copied!").tooltip("hide").tooltip('show'); 5207 setTimeout(function() { 5208 $(rowElement).attr('data-original-title', "Ðлик левой кнопки мÑÑи Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÑаÑÑÑа в бÑÑÐµÑ Ð¾Ð±Ð¼ÐµÐ½Ð°."); 5209 }, 1000); 5210 5211 }, function(err) { 5212 console.error('Async: Could not copy text: ', err); 5213 });
5214 } catch (err) { 5215 console.log(err); 5216 console.log('Oops, unable to copy'); 5217 } 5218 5219 }); 5220 } 5221 5222 //First / Last 5223 if ($(".trackingInfoStatus").length > 1) { 5224 $('.trackingInfoStatus').each(function(i) { 5225 if (i == 0) { 5226 $(this).addClass('trackingInfoStatusFirst'); 5227 } 5228 if (i == $(".trackingInfoStatus").length-1) { 5229 $(this).addClass('trackingInfoStatusLast'); 5230 } 5231 }); 5232 } 5233 //First / Last 5234 5235 if (hideProjectedDeliveryPeriodTrigger == true) { 5236 $("#projectedDeliveryPeriodBeforeEvents").css('visibility', 'hidden'); 5237 $(".projectedDeliveryPeriodAffterEvents").hide(); 5238 } 5239 5240 $('#translateEvents').bind('click', function() { 5241 $('.operationAttribute, .operationPlace').each(function(i) { 5242 var translatedElement = $(this); 5243 if ($.trim($(this).text().length) > 1) { 5244 if ((typeof $(this).attr("originalText") === "undefined") || ($(this).attr("originalText") === null) || ($(this).attr("originalText") === "")) { 5245 $(this).attr("originalText", $(this).text()); 5246 } 5247 5248 $(this).html('<i class="fa fa-spinner fa-spin"></i> ÐеÑеводим....'); 5249 $.ajax({
5250 url : '/ajax/translate.ajax.php', 5251 data : {'from': 'en', 'to': 'ru', 'text' : $.trim($(this).attr("originalText"))}, 5252 type : 'POST', 5253 dataType : 'json', 5254 success : function(json){ 5255 if (json) { 5256 if (json.status == 'ok') { 5257 if (json.translatedText !== null) { 5258 translatedElement.attr("translatedText", json.translatedText); 5259 } 5260 5261 if ((typeof translatedElement.attr("translatedText") !== "undefined") && (translatedElement.attr("translatedText") !== null) && (translatedElement.attr("translatedText") !== "")) { 5262 translatedElement.text(translatedElement.attr("translatedText")); 5263 translatedElement.addClass("myTooltip"); 5264 translatedElement.addClass("auto-tooltip"); 5265 translatedElement.attr("data-toggle", 'tooltip'); 5266 translatedElement.attr("data-placement", 'left'); 5267 translatedElement.attr("data-title", translatedElement.attr("originalText")); 5268 translatedElement.tooltip({container: 'body'}); 5269 } 5270 else { 5271 translatedElement.text(translatedElement.attr("originalText")); 5272 } 5273 5274 5275 5276 } 5277 } 5278 }, 5279 error: function() { 5280 translatedElement.text('УпÑ... ÐÑоизоÑла оÑибка пеÑевода... '); 5281 } 5282 }); 5283 } 5284 }); 5285 5286 $('#translateEvents').unbind(); 5287 $(this).delay(100).fadeOut().queue(function(){ 5288 $(this).html('<i class="fa fa-check" style="color:green;"></i> <span class="dotted">ÐеÑеведено</span>').fadeIn().dequeue(); 5289 }); 5290 5291 }); 5292 5293 var allEventsToClipboard = new Clipboard('#trackingInfoEventsClipBoard', { 5294 text: function() { 5295 return trackingInfoEventsDataForClipBoard; 5296 } 5297 }); 5298 5299 allEventsToClipboard.on('success', function(e) { 5300 $('#trackingInfoEventsClipBoard').delay(100).fadeOut().queue(function(){ 5301 $('#trackingInfoEventsClipBoard').html('<i class="fa fa-check" style="color:green;"></i> <span class="dotted">СкопиÑовано</span>').fadeIn().dequeue(); 5302 $('#trackingInfoEventsClipBoard').unbind(); 5303 }); 5304 }); 5305 var lastEventsToClipboard = new Clipboard('#lastEventClipBoard', { 5306 text: function() { 5307 return lastEventDataForClipBoard; 5308 } 5309 }); 5310 5311 lastEventsToClipboard.on('success', function(e) { 5312 $('#lastEventClipBoard').delay(100).fadeOut().queue(function(){ 5313 $('#lastEventClipBoard').html('<i class="fa fa-check" style="color:green;"></i> <span class="dotted">СкопиÑовано</span>').fadeIn().dequeue(); 5314 $('#lastEventClipBoard').unbind(); 5315 }); 5316 }); 5317 5318 $('#groupEventsByService').click(function(e){ 5319 groupEventsByServiceTrigger ^= true; 5320 $.Storage.set('groupEventsByServiceTrigger', ''+groupEventsByServiceTrigger+''); 5321 $('html, body').animate({ 5322 scrollTop: $("#mainContainer").offset().top - 10 5323 }, 1000); 5324 tracking(); 5325 }); 5326 $('#hideDublicateEvents').click(function(e){ 5327 hideDublicateEventsTrigger ^= true; 5328 $.Storage.set('hideDublicateEventsTrigger', ''+hideDublicateEventsTrigger+''); 5329 if (hideDublicateEventsTrigger == false) { 5330 $(".dublicateEventRow").slideDown(1000); 5331 var hideDublicateEventsText = (hideDublicateEventsTrigger == true ) ? "ÐÑобÑазиÑÑ Ð´ÑбликаÑÑ" : "СкÑÑÑÑ Ð´ÑбликаÑÑ"; 5332 $('#hideDublicateEvents > span').text(hideDublicateEventsText); 5333 $('html, body').animate({ 5334 scrollTop: $("#mainContainer").offset().top - 10 5335 }, 1000); 5336 } 5337 else { 5338 $('html, body').animate({ 5339 scrollTop: $("#mainContainer").offset().top - 10 5340 }, 1000); 5341 tracking(); 5342 } 5343 5344 }); 5345 5346 5347 $('#sortEvents').click(function(e){
5348 sortEventsTrigger ^= true; 5349 $.Storage.set('sortEventsTrigger', ''+sortEventsTrigger+''); 5350 $('html, body').animate({ 5351 scrollTop: $("#mainContainer").offset().top - 10 5352 }, 1000); 5353 tracking(); 5354 }); 5355 5356 5357 $('.sampleTrackCode').unbind(); 5358 $('.sampleTrackCode').bind('click', function() { 5359 $("#inputTrackCode").val($(this).text()); 5360 tracking(); 5361 }); 5362 5363 $('.myTooltip').tooltip(); 5364 var bar = $('.progress-bar'); 5365 5366 5367 /* копиÑование в бÑÑÑÐµÑ Ð¸Ð· оÑÑлеживаниÑ*/ 5368 $("#trackingInfo").find(".copyToClipBoard").click(function(e) { 5369 console.log(".copyToClipBoard in tracking"); 5370 e.stopPropagation(); 5371 var trackCodeForClipBoard = $(this).attr("data-for-clipboard"); 5372 var el = $(this); 5373 try { 5374 navigator.clipboard.writeText(trackCodeForClipBoard).then(function() { 5375 $(el).attr('data-original-title', "СкопиÑовано!").tooltip("hide").tooltip('show'); 5376 setTimeout(function() { 5377 $(el).tooltip("destroy"); 5378 }, 1000); 5379 5380 }, function(err) { 5381 console.error('Async: Could not copy text: ', err); 5382 alert('Async: Could not copy text: '+ err); 5383 }); 5384 } catch (err) { 5385 console.log(err); 5386 console.log('Oops, unable to copy'); 5387 alert(err); 5388 } 5389 return false; 5390 }); 5391 5392 $(function(){ 5393 $(bar).each(function(){ 5394 bar_width = $(this).attr('aria-valuenow'); 5395 $(this).width(bar_width + '%'); 5396 5397 }); 5398 }); 5399 5400 $('.printTracking').click(function(e){ 5401 $("#trackingInfo").printThis( { 5402 debug: false, 5403 importCSS: true, 5404 importStyle: true, 5405 printContainer: true, 5406 pageTitle: "ÐнÑоÑмаÑÐ¸Ñ Ð¿ÑедоÑÑавлена ÑиÑÑемой оÑÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ÑÑовÑÑ Ð¾ÑпÑавлений: Track24.ru", 5407 printDelay: 333, 5408 removeInline:false 5409 }); 5410 }); 5411 5412 5413 5414 $('.upTrackCode').bind('click', function(e) { 5415 $.ajax({
5416 url: '/ajax/upTrackCode.ajax.php', 5417 data : {'code' : inputedTrackCode}, 5418 type: 'GET', 5419 dataType: 'json', 5420 success: function(data){ 5421 }, 5422 beforeSend : function() { 5423 5424 }, 5425 complete: function() { 5426 }, 5427 error: function() { 5428 } 5429 }); 5430 5431 5432 var imElement = $(this); 5433 imElement.fadeOut( function() { 5434 imElement.attr("src", "https://track24.ru/img/updated-in-square.jpg?3").fadeIn(); 5435 setTimeout(function() { 5436 imElement.fadeOut(function() { 5437 imElement.attr("src", "https://track24.ru/img/ali-logo-in-square.jpg").attr("title", "ÐеÑейÑи на AliExpress за покÑпками").fadeIn(700); 5438 imElement.unbind(); 5439 imElement.bind('click', function(e) { 5440 window.open( 5441 'https://track24.ru/?g=upTrackCode', 5442 '_blank' 5443 ); 5444 }); 5445 }); 5446 }, 2300); 5447 5448 }); 5449 }); 5450 5451 $("#qrMin").qrcode({ 5452 render: 'image', // render method: 'canvas', 'image' or 'div' 5453 minVersion: 1, // version range somewhere in 1 .. 40 5454 maxVersion: 40, 5455 ecLevel: 'M', // error correction level: 'L', 'M', 'Q' or 'H' 5456 left: 0, // offset in pixel if drawn onto existing canvas 5457 top: 0, 5458 size: 71, // size in pixel 5459 fill: '#000', // code color or image element 5460 background: null, // background color or image element, null for transparent background 5461 text: 'https://track24.ru/?code='+inputedTrackCode, //content 5462 radius: 0,// corner radius relative to module width: 0.0 .. 0.5 5463 quiet: 0,// quiet zone in modules 5464 mode: 0, // modes // 0: normal // 1: label strip // 2: label box // 3: image strip // 4: image box 5465 mSize: 0.1, 5466 mPosX: 0.5, 5467 mPosY: 0.5, 5468 label: 'no label', 5469 fontname: 'sans', 5470 fontcolor: '#000', 5471 image: null 5472 }); 5473 5474 $('#qrMin').bind('click', function(e) { 5475 var dialogHtml = '<div class="my-mfp-white-popup zoom-anim-dialog text-center"><div id="qrCode"></div><br><div class="text-center" id="kendoBarcode-container"><center><span id="kendoBarcode"></span></center><div class="track-number-scaner"></div></div></div>'; 5476 5477 5478 5479 5480 $.magnificPopup.open({ 5481 items: { src: dialogHtml}, 5482 type: 'inline', 5483 fixedBgPos: false, 5484 fixedContentPos: true, 5485 overflowY: 'scroll', 5486 closeBtnInside: true, 5487 preloader: false, 5488 midClick: false, 5489 removalDelay: 400, 5490 mainClass: 'my-mfp-zoom-in', 5491 alignTop:false, 5492 showCloseBtn: true, 5493 closeMarkup: '<button title="%title%" type="button" class="mfp-close"></button>', 5494 callbacks: { 5495 open: function() { 5496 $('.navbar-fixed-top').css('overflow-y', 'scroll'); 5497 $("#qrCode").qrcode( { 5498 render: 'image', // render method: 'canvas', 'image' or 'div' 5499 minVersion: 1, // version range somewhere in 1 .. 40 5500 maxVersion: 40, 5501 ecLevel: 'M', // error correction level: 'L', 'M', 'Q' or 'H' 5502 left: 0, // offset in pixel if drawn onto existing canvas 5503 top: 0, 5504 size: 200, // size in pixel 5505 fill: '#000', // code color or image element 5506 background: null, // background color or image element, null for transparent background 5507 text: 'https://track24.ru/?code='+inputedTrackCode, //content 5508 radius: 0,// corner radius relative to module width: 0.0 .. 0.5 5509 quiet: 1,// quiet zone in modules 5510 mode: 0, // modes // 0: normal // 1: label str
5510ip // 2: label box // 3: image strip // 4: image box 5511 mSize: 0.1, 5512 mPosX: 0.5, 5513 mPosY: 0.5, 5514 label: 'no label', 5515 fontname: 'sans', 5516 fontcolor: '#000', 5517 image: null 5518 }); 5519 5520 $("#kendoBarcode").kendoBarcode({ 5521 value: inputedTrackCode, 5522 type: "code128", 5523 width: 280, 5524 height: 100 5525 }); 5526 setTimeout(function() { 5527 $('.track-number-scaner').animate({left: "100%"}, 600).fadeOut(300); 5528 }, 300); 5529 5530 }, 5531 close: function() { 5532 $('.navbar-fixed-top').css('overflow-y', 'visible'); 5533 } 5534 } 5535 5536 5537 }); 5538 }); 5539 5540 $('.showDeliveredStatChart').bind('click', function(e) { 5541 var currentPrefix = $(this).attr("data-prefix"); 5542 var currentPostfix = $(this).attr("data-postfix"); 5543 showDeliveredStatChart(currentPrefix, currentPostfix); 5544 }); 5545 if (json.data.upu !== true) { 5546 $('#vanga').hide(); 5547 } 5548 $('#vanga').click(function(){ 5549 var dialogHtml = '<div class="my-mfp-white-popup zoom-anim-dialog" style="min-width:700px;"><div id="vangaModal"><div class="vanga-header"><h4 class="modal-title">ÐнÑоÑмаÑÐ¸Ñ Ð¾ ÑÑек-коде</h4></div><div class="vanga-body"></div><hr><div class="vanga-footer" style="padding-top:10px;"><center>ÐнÑоÑмаÑÐ¸Ñ Ð¿ÑедоÑÑавлена по даннÑм звезд, коÑейной гÑÑи, каÑÑ ÑаÑо и магиÑеÑÐºÐ¸Ñ ÑаÑов =))</center></div></div> </div>'; 5550 $.magnificPopup.open({ 5551 items: { src: dialogHtml}, 5552 type: 'inline', 5553 fixedBgPos: false, 5554 fixedContentPos: true, 5555 overflowY: 'scroll', 5556 closeBtnInside: true, 5557 preloader: false, 5558 midClick: false, 5559 removalDelay: 400, 5560 mainClass: 'my-mfp-zoom-in', 5561 alignTop:false, 5562 showCloseBtn: true, 5563 closeMarkup: '<button title="%title%" type="button" class="mfp-close"></button>', 5564 callbacks: { 5565 open: function() { 5566 $('.navbar-fixed-top').css('overflow-y', 'scroll'); 5567 }, 5568 close: function() { 5569 $('.navbar-fixed-top').css('overflow-y', 'visible'); 5570 } 5571 } 5572 5573 5574 }); 5575 $('#vangaModal > div.vanga-header > h4').text('ÐнÑоÑмаÑÐ¸Ñ Ð¾ ÑÑек-коде: '+$('#inputTrackCode').val()); 5576 $('#vangaModal > div.vanga-body').html('<center><br><br><img src="/img/magic-cat.gif" style=""><br><br>Ð¡Ð±Ð¾Ñ Ð´Ð°Ð½Ð½ÑÑ , минÑÑоÑкÑ...</center>'); 5577 $.get('/ajax/vanga.ajax.php?code=' + $('#inputTrackCode').val(), function(data) { 5578 $('#vangaModal > div.vanga-body').fadeOut(function(){ 5579 $('#vangaModal > div.vanga-body').html(data).fadeIn(); 5580 $('#vangaModal > div.vanga-body > div:nth-child(1) > img').bind('click', function(e) { 5581 var statTable = $('#vangaDeliveryStatistics').html(); 5582 $('#vangaModal > div.vanga-body').html("<br><br><br><br><br><br>"+statTable); 5583 }); 5584 5585 }); 5586 }); 5587 5588 }); 5589 5590 5591 var trackCatClickCounter = 0; 5592 $(".trackCat").click(function() { 5593 trackCatClickCounter = trackCatClickCounter + 1; 5594 if (trackCatClickCounter == 3) { 5595 $('.embed').remove(); 5596 $('body').append('<audio id="meow" class="embed" src="//track24.ru/files/mp3/meow.mp3" preload="auto"></audio>'); 5597 document.getElementById('meow').play(); 5598 } 5599 if (trackCatClickCounter == 5) { 5600 $('.embed').remove(); 5601 $('body').append('<audio id="meow" class="embed" src="//track24.ru/files/mp3/mrrr.mp3" preload="auto"></audio>'); 5602 document.getElementById('meow').play(); 5603 } 5604 if (trackCatClickCounter > 5) { 5605 trackCatClickCounter = 0; 5606 } 5607 }); 5608 5609 5610 5611 5612 setTimeout(function() { 5613 5614 ya_share_title = "ÐÑÑледиÑÑ Ð¿Ð¾ÑÑлкÑ: "+inputedTrackCode; 5615 ya_share_description = "ÐÑÑлеживание поÑÑлок на Track24.ru"; 5616 ya_share_url = 'https://track24.ru/?code='+inputedTrackCode; 5617 ya_share_img_url = 'https://track24.ru/img/share-968x504.jpg'; 5618 yaShareInit('ya-share-tracking-link', ya_share_title, ya_share_description, ya_share_url, ya_share_img_url); 5619 5620 /* 5621 try { 5622 if (typeof addthis.layers.refresh === "function") { 5623 addthis.layers.refresh(); 5624 } 5625 } catch(e) { 5626 console.log('Error: ' + e.name + ":" + e.message + "\n" + e.stack); 5627 } 5628 */ 5629 }, 500); 5630 5631 5632 5633 $('#routeOriginCountry, #routeDestinationCountry').bind('click', function(e) { 5634 var addrr = $(this).text(); 5635 console.log(addrr); 5636 var dialogHtml = '<div class="my-mfp-white-popup zoom-anim-dialog"> <fieldset class="content"><legend> <b><font color="#1B81B1">'+addrr+'</font></b> </legend><div class="map" id="YMapsID" style="margin:5px; width: 98%; height: 400px; border: 0px #000000 solid;"></div></fieldset></div>'; 5637 $.magnificPopup.open({ 5638 items: { src: dialogHtml}, 5639 type: 'inline',
5640 fixedBgPos: false, 5641 fixedContentPos: true, 5642 overflowY: 'scroll', 5643 closeBtnInside: true, 5644 preloader: false, 5645 midClick: false, 5646 removalDelay: 400, 5647 mainClass: 'my-mfp-zoom-in', 5648 alignTop:false, 5649 showCloseBtn: true, 5650 closeMarkup: '<button title="%title%" type="button" class="mfp-close"></button>', 5651 callbacks: { 5652 open: function() { 5653 $('.navbar-fixed-top').css('overflow-y', 'scroll'); 5654 $.getScript('https://api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU&apikey=56f90107-af88-461a-9880-839fbac1cdbd').done(function() { 5655 ymaps.ready(init); 5656 5657 /* 5658 function init() { 5659 5660 ymaps.geocode(addrr, { results: 1 }).then(function(res) { 5661 myMap = new ymaps.Map("YMapsID", { 5662 center: res.geoObjects.get(0).geometry.getCoordinates(), 5663 zoom: 10 5664 }); 5665 myMap.container.fitToViewport(); 5666 var myPlacemark = window.lastPoint = new ymaps.Placemark(res.geoObjects.get(0).geometry.getCoordinates(), { 5667 balloonContent: '<i class="fa fa-building"></i> '+addrr, 5668 }, 5669 { 5670 preset: "twirl#buildingsIcon", 5671 balloonCloseButton: true, 5672 hideIconOnBalloonOpen: true 5673 }); 5674 myMap.geoObjects.add(myPlacemark); 5675 myMap.controls.add('zoomControl'); 5676 }); 5677 5678 5679 } 5680 */ 5681 function init() { 5682 $.getJSON( 5683 '/ajax/geocoder.ajax.php', {address: addrr}, 5684 function(response) { 5685 5686 // ÐÑовеÑÑем ÑезÑлÑÑÐ°Ñ API 5687 if (response.result !== 'success' || !response.data) { 5688 alert('Ðе ÑдалоÑÑ Ð¾Ð¿ÑеделиÑÑ ÐºÐ¾Ð¾ÑдинаÑÑ: ' + (response.message || 'неизвеÑÑÐ½Ð°Ñ Ð¾Ñибка') 5689 ); 5690 return; 5691 } 5692 5693 const coords = [response.data.latitude, response.data.longitude]; 5694 5695 myMap = new ymaps.Map("YMapsID", { 5696 center: coords, 5697 zoom: 5 5698 }); 5699 5700 myMap.container.fitToViewport(); 5701 5702 const myPlacemark = new ymaps.Placemark( 5703 coords, 5704 { 5705 balloonContent: 5706 '<i class="fa fa-building"></i> ' + addrr 5707 }, 5708 { 5709 preset: "twirl#buildingsIcon", 5710 balloonCloseButton: true, 5711 hideIconOnBalloonOpen: true 5712 } 5713 ); 5714 5715 myMap.geoObjects.add(myPlacemark); 5716 5717 myMap.controls.add('zoomControl'); 5718 5719 } 5720 ); 5721 } 5722 5723 5724 5725 }); 5726 5727 5728 5729 }, 5730 close: function() { 5731 $('.navbar-fixed-top').css('overflow-y', 'hidden'); 5732 } 5733 } 5734 5735 5736 }); 5737 5738 }); 5739 5740 } 5741 else if ((json.status == 'ok') && ((typeof json.data.events === "undefined") || (json.data.events !== null) || (json.data.events !== ""))) { 5742 $('#trackingInfo').html('<div class="panel panel-danger" style="margin-top:20px;"><div class="panel-heading"><h4 class="panel-title">ÐÑибка</h4></div><div class="panel-body">Ð ÑожалениÑ, инÑоÑмаÑÐ¸Ñ Ð¾ поÑÑовом оÑпÑавлении Ñ Ð½Ð¾Ð¼ÐµÑом <b>'+inputedTrackCode+'</b> не найдена.</br>ÐопÑобÑйÑе еÑе Ñаз, но ÑÑÑÑ Ð¿Ð¾Ð·Ð¶Ðµ, напÑÐ¸Ð¼ÐµÑ Ð·Ð°Ð²ÑÑа...<br>Ðли заÑегиÑÑÑиÑÑйÑеÑÑ Ð¸ добавÑÑе ÑÑек-код в иÑÑоÑÐ¸Ñ Ð¾ÑÑлеживаниÑ, и Ð¼Ñ Ñведомим ÐаÑ, как ÑолÑко обновиÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¿Ð¾ ÐаÑÐµÐ¼Ñ ÑÑек-кодÑ!</div><div class="panel-footer"><p><b>ÐоÑÑоÑÐ½Ð½Ð°Ñ ÑÑÑлка Ð´Ð»Ñ Ð¾ÑÑлеживаниÑ</b>: <a href="//track24.ru/?code='+inputedTrackCode+'" style="border-bottom: 1px dotted;">https://track24.ru/?code='+inputedTrackCode+'</a></p></div></div>'); 5743 5744 } 5745 5746 else if (json.status == 'error') { 5747 $('#trackingInfo').html('<div class="panel panel-danger" style="margin-top:20px;"><div class="panel-heading"><h4 class="panel-title">ÐÑибка</h4></div><div class="panel-body">'+json.message+'</div></div>'); 5748 $('.addTransportCompany').click(function(e){
5749 addTransportCompany(); 5750 }); 5751 5752 $('.sampleTrackCode').unbind(); 5753 $('.sampleTrackCode').bind('click', function() { 5754 $("#inputTrackCode").val($(this).text()); 5755 tracking(); 5756 }); 5757 5758 $('[data-toggle="popover"]').popover({html:'true'}); 5759 $('[data-toggle="tooltip"]').tooltip(); 5760 5761 var trackCatClickCounter = 0; 5762 $(".trackCat").click(function() { 5763 trackCatClickCounter = trackCatClickCounter + 1; 5764 if (trackCatClickCounter == 10) { 5765 $('.embed').remove(); 5766 $('body').append('<audio id="meow" class="embed" src="//track24.ru/files/mp3/meow.mp3" preload="auto"></audio>'); 5767 document.getElementById('meow').play(); 5768 } 5769 if (trackCatClickCounter == 15) { 5770 $('.embed').remove(); 5771 $('body').append('<audio id="meow" class="embed" src="//track24.ru/files/mp3/mrrr.mp3" preload="auto"></audio>'); 5772 document.getElementById('meow').play(); 5773 } 5774 if (trackCatClickCounter > 15) { 5775 trackCatClickCounter = 0; 5776 } 5777 }); 5778 5779 5780 } 5781 else { 5782 $('#trackingInfo').html('<div class="panel panel-danger" style="margin-top:20px;"><div class="panel-heading"><h4 class="panel-title">ÐÑибка</h4></div><div class="panel-body">ÐÑибка полÑÑÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ . ÐожалÑйÑÑа ÑообÑиÑе ÑазÑабоÑикам!</div><div class="panel-footer"><p><b>ÐоÑÑоÑÐ½Ð½Ð°Ñ ÑÑÑлка Ð´Ð»Ñ Ð¾ÑÑлеживаниÑ</b>: <a href="//track24.ru/?code='+inputedTrackCode+'" style="border-bottom: 1px dotted;">https://track24.ru/?code='+inputedTrackCode+'</a></p></div></div>'); 5783 } 5784} 5785 5786 5787 5788function trackingNotice(type, titleString, textString, spoilerString, linkUrl, imgrl, buttonText, phone) { 5789 var htmlResult = ""; 5790 5791 var blockClass = ((typeof type !== 'undefined') && (type !== null) && (type !== "")) ? 'tracking-notice-block-'+type : 'tracking-notice-block-danger' 5792 5793 5794 5795 htmlResult = '<div class="tracking-notice-block '+blockClass+'">'; 5796 if ((typeof linkUrl !== 'undefined') && (linkUrl !== null) && (linkUrl !== "") && (typeof imgrl !== 'undefined') && (imgrl !== null) && (imgrl !== "")) { 5797 htmlResult += ' <div class="tracking-notice-block-img-wrapper">\ 5798 <a href="'+linkUrl +'" target="_blank">\ 5799 <img class="tracking-notice-block-img" src="'+imgrl+'" width="120px">\ 5800 </a>\ 5801 </div>'; 5802 } 5803 if (((typeof linkUrl === 'undefined') || (linkUrl === null) || (linkUrl === "")) && ((typeof imgrl !== 'undefined') && (imgrl !== null) && (imgrl !== ""))) { 5804 htmlResult += ' <div class="tracking-notice-block-img-wrapper">\ 5805 <img class="tracking-notice-block-img" src="'+imgrl+'" width="120px">\ 5806 </div>'; 5807 } 5808 5809 if (((typeof titleString !== 'undefined') && (titleString !== null) && (titleString !== "")) || ((typeof textString !== 'undefined') && (textString !== null) && (textString !== ""))) { 5810 htmlResult += '<div class="tracking-notice-block-text-wrapper">'; 5811 if ((typeof titleString !== 'undefined') && (titleString !== null) && (titleString !== "")) { 5812 htmlResult += ' <div class="tracking-notice-block-title">'+titleString+'</div>'; 5813 } 5814 if ((typeof phone !== 'undefined') && (phone !== null) && (phone !== "")) { 5815 htmlResult += ' <div class="tracking-notice-block-phone"><a href="tel:'+phone+'"><i class="fa fa-phone"></i> '+phone+'</a></div>'; 5816 } 5817 if ((typeof textString !== 'undefined') && (textString !== null) && (textString !== "")) { 5818 htmlResult += ' <div class="tracking-notice-block-text">'+textString+'</div>'; 5819 5820 } 5821 if ( (typeof spoilerString !== 'undefined') && (spoilerString !== null) && (spoilerString !== "")) { 5822 htmlResult += ' <div class="tracking-notice-block-spoiler-content">'+spoilerString+'</div>'; 5823 } 5824 5825 htmlResult += '</div>'; 5826 } 5827 5828 if ((typeof linkUrl !== 'undefined') && (linkUrl !== null) && (linkUrl !== "") && (typeof buttonText !== 'undefined') && (buttonText !== null) && (buttonText !== "")) { 5829 htmlResult += '<div class="tracking-notice-block-link">\
5830 <span><a href="'+linkUrl+'" class="dotted" target="_blank">'+buttonText+'</a></span>\ 5831 </div>'; 5832 } 5833 5834 if ((typeof linkUrl !== 'undefined') && (linkUrl !== null) && (linkUrl !== "") ) { 5835 htmlResult += '<br class="tracking-notice-block-clear">'; 5836 } 5837 5838 if ( (typeof spoilerString !== 'undefined') && (spoilerString !== null) && (spoilerString !== "")) { 5839 htmlResult += '<div class="tracking-notice-block-spoiler-wrapper">\ 5840 <span><span class="tracking-notice-block-spoiler"><svg width="12" height="11" viewBox="0 0 27 27"><path fill="#ccc" d="M26.7,4.895c-0.4-0.5-1.199-0.5-1.599,0L13.512,19.382L1.923,4.895c-0.4-0.5-1.199-0.5-1.599,0c-0.4,0.5-0.4,1.299,0,1.798L12.613,22.08c0.2,0.3,0.5,0.4,0.899,0.4c0.3,0,0.599-0.1,0.899-0.4L26.7,6.694C27.1,6.194,27.1,5.395,26.7,4.895z"></path></svg></span></span>\ 5841 </div>'; 5842 } 5843 5844 5845 htmlResult += '</div>'; 5846 5847 5848 5849 return htmlResult; 5850} 5851 5852$.fn.queueAddClass = function(className) { 5853 this.queue('fx', function(next) { 5854 $(this).addClass(className); 5855 next(); 5856 }); 5857 return this; 5858}; 5859$.fn.queueRemoveClass = function(className) { 5860 this.queue('fx', function(next) { 5861 $(this).removeClass(className); 5862 next(); 5863 }); 5864 return this; 5865}; 5866 5867function activateRoadPoint(ind) { 5868 var roadMapsPoints = $('.road-map-point'); 5869 $('.road-map-point').each(function() { 5870 if ($(this).index() > ind) { 5871 $(this).removeClass('complete'); 5872 } 5873 else { 5874 $(this).addClass('complete'); 5875 } 5876 }); 5877 $(roadMapsPoints).not($(roadMapsPoints).eq(ind)).removeClass('active'); 5878 $($(roadMapsPoints).eq(ind)).addClass('active'); 5879 } 5880 5881 function roadMapInit(trackCode, json) { 5882 var roadMapContent = '\ 5883 <div class="road-map-wrapper">\ 5884 <div class="road-map-parent">\ 5885 <div class="road-map-points-container">\ 5886 <div class="road-map-point">\ 5887 <span data-date="" data-info="РегиÑÑÑаÑиÑ"></span>\ 5888 </div>\ 5889 <div class="road-map-point">\ 5890 <span data-date="" data-info="ÐÑием / оÑпÑавка"></span>\ 5891 </div>\ 5892 <div class="road-map-point">\ 5893 <span data-date="" data-info="ÐÑпÑавка в ÑÑÑÐ°Ð½Ñ Ð½Ð°Ð·Ð½Ð°ÑениÑ"></span>\ 5894 </div>\ 5895 <div class="road-map-point">\ 5896 <span data-date="" data-info="ÐÑибÑÑие в ÐÐÐÐ"></span>\ 5897 </div>\ 5898 <div class="road-map-point">\ 5899 <span data-date="" data-info="ÐкÑпоÑÑ"></span>\ 5900 </div>\ 5901 <div class="road-map-point">\ 5902 <span data-date="" data-info="ÐÑибÑÑие в ÑÑÑанÑ"></span>\ 5903 </div>\ 5904 <div class="road-map-point">\ 5905 <span data-date="" data-info="ÐмпоÑÑ"></span>\ 5906 </div>\ 5907 <div class="road-map-point">\ 5908 <span data-date="" data-info="ÐеÑедаÑа Ñаможне"></span>\ 5909 </div>\ 5910 <div class="road-map-point">\ 5911 <span data-date="" data-info="ÐÑпÑÑк Ñаможней"></span>\ 5912 </div>\ 5913 <div class="road-map-point">\ 5914 <span data-date="" data-info="УбÑÑие из ÐÐÐÐ"></span>\ 5915 </div>\ 5916 <div class="road-map-point">\ 5917 <span data-date="" data-info="ÐÑибÑÑие в меÑÑо вÑÑÑениÑ"></span>\ 5918 </div>\ 5919 <div class="road-map-point">\ 5920 <span data-date="" data-info="ÐÑÑÑение"></span>\ 5921 </div>\ 5922 </div>\ 5923 <div class="road-map-country-container">\ 5924 <div class="road-map-origin-country">'+json.data.fromCountry+'</div>\ 5925 <div class="road-map-track-code"></div>\ 5926 <div class="road-map-destination-country">'+json.data.destinationCountry+'</div>\ 5927 </div>\ 5928 </div>\ 5929 </div>'; 5930 //'+trackCode+' 5931 $('#road-map').html(roadMapContent); 5932 5933 var roadMapsPoints = $('.road-map-point'); 5934 var completedWaypointNumberKey = -1; 5935 5936 if ((json.projectedNextWaypoint !== null) && (json.projectedNextWaypoint.completedWaypointsByDate.length > 1)) { 5937 $.each(json.projectedNextWaypoint.completedWaypointsByDate, function(key, value) { 5938 if (value.date != null) { 5939 $(roadMapsPoints).eq(key).find("span").attr('data-date', value.date); 5940 completedWaypointNumberKey = (completedWaypointNumberKey <= key) ? key: completedWaypointNumberKey; 5941 } 5942 }); 5943 var totalCompletePoints = 12; 5944 $.each(roadMapsPoints, function(key, value) { 5945 if ((key < completedWaypointNumberKey) && ($(this).find("span").attr('data-date') == "")) { 5946 totalCompletePoints = totalCompletePoints - 1; 5947 } 5948 }); 5949 } 5950 5951 5952 if (completedWaypointNumberKey >= 0) { 5953 5954 setTimeout( function() { 5955 activateRoadPoint(completedWaypointNumberKey); 5956 }, 1000); 5957 } 5958 5959 $($('.road-map-point')).dblclick(function(){ 5960 activateRoadPoint($(this).index()); 5961 }); 5962 5963 } 5964 5965function trackingInComments(el, tc, e) { 5966 //console.log(el); 5967 //console.log(tc); 5968 //console.log("trackingInComments"); 5969 ctrlKeyPressed = e.ctrlKey; 5970 shiftKeyPressed = e.shiftKey; 5971 5972 if ($('#trackingInfo2').length > 0) { 5973 $(".trackingInCommentsFlagRotated").removeClass("trackingInCommentsFlagRotated"); 5974 5975 if ($("#trackingInfo2").attr("data-track-code") == tc) { 5976 $("#trackingInfo2").slideUp(600, function() { 5977 $("#trackingInfo2").empty().remove(); 5978 }); 5979 return false; 5980 } 5981 else { 5982 $('#trackingInfo2').each(function() { 5983 $(this).empty().remove(); 5984 });
5985 } 5986 } 5987 $(el).addClass("trackingInCommentsFlagRotated"); 5988 5989 var inputedTrackCode = tc.toUpperCase(); 5990 inputedTrackCode = inputedTrackCode.replace(/[^Ð-Яа-ÑA-Za-z0-9\-\.\/]/gi, ''); 5991 inputedTrackCode = $.trim(inputedTrackCode); 5992 5993 if (inputedTrackCode.length < 1) { 5994 return false; 5995 } 5996 5997 $(el).parent().parent().after('<div id="trackingInfo2" class="trackingInfoInComments" data-track-code="'+tc+'"><div id="tracking-in-comments-ajax-loader"><div class="lds-ellipsis"><div></div><div></div><div></div><div></div></div></div></div>'); 5998 $("#tracking-in-comments-ajax-loader").fadeIn(); 5999 6000 6001 6002 6003 6004 var lng = $.Storage.get("lng"); 6005 6006 if ((inputedTrackCode.length >= 5) && (inputedTrackCode.length <= 28)) { 6007 $.Storage.set('lastPostTrackingCode', inputedTrackCode); 6008 document.title = 'ÐÑÑлеживание поÑÑового оÑпÑавлениÑ: '+inputedTrackCode; 6009 if ((typeof selectedService === "undefined") || (selectedService === null) || (selectedService === "") ) { 6010 var tUrl = document.location.toString(); 6011 } 6012 else { 6013 window.history.pushState('', 'ÐÑÑлеживание поÑÑового оÑпÑавлениÑ: '+inputedTrackCode, '/service/'+selectedService.toLowerCase()+'/tracking/'+inputedTrackCode); 6014 } 6015 6016 6017 if ((device.desktop()) || (device.tablet())) { 6018 lastTrackCodesBuilder(inputedTrackCode); 6019 } 6020 6021 if (shiftKeyPressed === true) { 6022 $.ajax({
6023 url: '/ajax/upTrackCode.ajax.php', 6024 data : {'code' : inputedTrackCode}, 6025 type: 'GET', 6026 dataType: 'json', 6027 async: false, 6028 success: function(data){ 6029 } 6030 }); 6031 } 6032 shiftKeyPressed = false; 6033 6034 xhrTracking = $.ajax({ 6035 6036 url : trackingUrlCache, 6037 crossDomain: true, 6038 data : {'code' : inputedTrackCode, 'selectedService':selectedService, 'lng':lng, 'sort':sortEventsTrigger, 'grouped':groupEventsByServiceTrigger, 'type': 'cache', 'key':trackingKey, 'clientIp':clientIp, 'uuid':uuid, 'fingerprint': $.Storage.get("fingerprint")}, 6039 type : 'POST', 6040 dataType : 'json', 6041 6042 timeout : (trackingTimeOut), 6043 success: function(json){ 6044 6045 $("#tracking-in-comments-ajax-loader").hide(); 6046 if (json) { 6047 6048 try { 6049 var _0x6a0a=["\x63\x74","\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","","\x65\x6E\x63","\x73\x74\x72\x69\x6E\x67\x69\x66\x79", cp, "\x64\x65\x63\x72\x79\x70\x74","\x41\x45\x53","\x70\x61\x72\x73\x65"];if( typeof json[_0x6a0a[0]]!== _0x6a0a[1]&& json[_0x6a0a[0]]!== null&& json[_0x6a0a[0]]!== _0x6a0a[2]){var json=JSON[_0x6a0a[8]](CryptoJS[_0x6a0a[7]][_0x6a0a[6]](JSON[_0x6a0a[4]](json),_0x6a0a[5],{format:CryptoJSAesJson}).toString(CryptoJS[_0x6a0a[3]].Utf8))} 6050 } 6051 catch(e) { 6052 endTrackingProgress(); 6053 $(".progress").remove(); 6054 $(".progressBarText").empty(); 6055 trackingErrorLoggerFunction([clientIp, clientCountryCode, inputedTrackCode, "catch CryptoJSAesJson"]); 6056 console.log('Error: ' + e.name + ":" + e.message + "\n" + e.stack); 6057 } 6058 6059 6060 6061 6062 6063 if (json.status == 'ok') { 6064 6065 if (json && json.challenge && json.challenge === true) { 6066 //clearInterval(getTrackingDataInterval); 6067 $("#turnstile-container").show(); 6068 loadTurnstileScript(function () { 6069 turnstile.render('#turnstile-container', { 6070 sitekey: '0x4AAAAAAA9kACzU3nI8h1V0', 6071 size: 'flexible', 6072 theme: 'light', 6073 callback: function (cf_turnstile_response) { 6074 verifyCaptchaInComments(cf_turnstile_response, el, tc, e); 6075 } 6076 }); 6077 }); 6078 return false; 6079 } 6080 6081 if (json && json.data && json.data.events && json.data.events.length > 0) { 6082 trackingBuilderInComments(inputedTrackCode, json); 6083 } 6084 else { 6085 GrowlNotification.notify({title:"Error",description:"Ooops... Item is not found at this moment, If necessary, please verify with the package sender and check back later.",type:"error",closeTimeout:5000,showProgress: true}); 6086 } 6087 6088 6089 6090 if (device.desktop()) { 6091 if ($('#trackingAvailableServices').length > 0) { 6092 serviceInfoBuilder(inputedTrackCode, json); 6093 } 6094 upuValidateInfo(inputedTrackCode, json); 6095 } 6096 6097 6098 6099 //if (json['data']['trackUpdateDiffMinutes'] >= 240) { 6100 if ((json['data']['trackUpdateDiffMinutes'] >= 240) && ((typeof json['data']['deliveredDaysAgo'] === "undefined") || (json['data']['deliveredDaysAgo'] === null) || (json['data']['deliveredDaysAgo'] === "") || (json['data']['deliveredDaysAgo'] <= maxDeliveredDaysAgoForTracking))) { 6101 var progress = ''; 6102 progress += '<span style=" text-align: center; width: 100%; position: absolute; line-height: 40px;" class="progressBarText"><b>Ðбновление инÑоÑмаÑии...</b></span>'; 6103 progress += '<div class="progress progress-striped active" style="border-radius: 0em; padding-top:3px; /* position: relative;*/">'; 6104 progress += '<div aria-valuemax="100" aria-valuemin="0" aria-valuenow="100" class="progress-bar progress-bar-info" role="progressbar" style="color: #000000; text-align:center; white-space:nowrap; padding-top:10px; font-size: 16px; width:100%;"></div>'; 6105 progress += '</div>'; 6106 6107 $(".progress-striped").parent().empty().html(progress); 6108 6109 xhrTracking = $.ajax({
6110 url : trackingUrl, 6111 crossDomain: true, 6112 data : {'code' : inputedTrackCode, 'selectedService':selectedService, 'lng':lng, 'sort':sortEventsTrigger, 'grouped':groupEventsByServiceTrigger, 'type': 'update', 'key':trackingKey, 'clientIp':clientIp, 'uuid':uuid, 'fingerprint': $.Storage.get("fingerprint")}, 6113 type : 'POST', 6114 dataType : trackingDataType, 6115 timeout : (trackingTimeOut), 6116 success: function(json){ 6117 if (json) { 6118 6119 try { 6120 var _0x6a0a=["\x63\x74","\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","","\x65\x6E\x63","\x73\x74\x72\x69\x6E\x67\x69\x66\x79", cp, "\x64\x65\x63\x72\x79\x70\x74","\x41\x45\x53","\x70\x61\x72\x73\x65"];if( typeof json[_0x6a0a[0]]!== _0x6a0a[1]&& json[_0x6a0a[0]]!== null&& json[_0x6a0a[0]]!== _0x6a0a[2]){var json=JSON[_0x6a0a[8]](CryptoJS[_0x6a0a[7]][_0x6a0a[6]](JSON[_0x6a0a[4]](json),_0x6a0a[5],{format:CryptoJSAesJson}).toString(CryptoJS[_0x6a0a[3]].Utf8))} 6121 } 6122 catch(e) { 6123 endTrackingProgress(); 6124 $(".progress").remove(); 6125 $(".progressBarText").empty(); 6126 trackingErrorLoggerFunction([clientIp, clientCountryCode, inputedTrackCode, "catch CryptoJSAesJson"]); 6127 console.log('Error: ' + e.name + ":" + e.message + "\n" + e.stack); 6128 } 6129 $('#trackingInfo2').empty(); 6130 trackingBuilderInComments(inputedTrackCode, json); 6131 6132 } 6133 else { 6134 console.log("Error: !json"); 6135 setTimeout( function() { 6136 location.reload(); 6137 }, 100); 6138 } 6139 }, 6140 beforeSend : function() { 6141 6142 }, 6143 complete: function(response) { 6144 $("#trackingButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-binoculars"); 6145 $("#trackingButton").toggleClass('disabled'); 6146 $(".load-bar-disabled").hide(); 6147 $(".load-bar-under-stripe-disabled").hide(); 6148 $(".load-bar").toggleClass('active'); 6149 6150 6151 }, 6152 error: function(objAJAXRequest, strError) { 6153 console.log("ajax update error: "+strError); 6154 setTimeout( function() { 6155 location.reload(); 6156 }, 100); 6157 6158 6159 if (objAJAXRequest['status'] == "404") { 6160 setTimeout( function() { 6161 location.reload(); 6162 }, 5000); 6163 } 6164 if (objAJAXRequest['status'] == "502") { 6165 setTimeout( function() { 6166 location.reload(); 6167 }, 300); 6168 } 6169 6170 6171 6172 6173 6174 } 6175 }); 6176 } 6177 else { 6178 $("#trackingButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-binoculars"); 6179 $("#trackingButton").toggleClass('disabled'); 6180 $(".load-bar-disabled").hide(); 6181 $(".load-bar-under-stripe-disabled").hide(); 6182 $(".load-bar").toggleClass('active'); 6183 6184 } 6185 } 6186 else { 6187 6188 $("#trackingButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-binoculars"); 6189 $("#trackingButton").toggleClass('disabled'); 6190 $(".load-bar-disabled").hide(); 6191 $(".load-bar-under-stripe-disabled").hide(); 6192 $(".load-bar").toggleClass('active'); 6193 6194 if ((json.status == 'error') && (typeof json.message !== "undefined") && (json.message !== null) && (json.message !== "")) { 6195 $('#trackingInfo2').html('<div class="panel panel-danger hidden-phone" style="margin-top:20px;"><div class="panel-heading"><h4 class="panel-title">ÐÑибка</h4></div><div class="panel-body">'+json.message+'</div></div>'); 6196 } 6197 } 6198 } 6199 }, 6200 beforeSend : function() { 6201 $("#trackingButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-binoculars"); 6202 $("#trackingButton").toggleClass('disabled'); 6203 $(".load-bar-disabled").show(); 6204 $(".load-bar").toggleClass('active'); 6205 }, 6206 complete: function(response) { 6207 6208 6209 }, 6210 6211 error: function(objAJAXRequest, strError, errorThrown) {
6212 console.log("ajax cache error: "+strError); 6213 6214 6215 $("#trackingButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-binoculars"); 6216 $("#trackingButton").toggleClass('disabled'); 6217 $(".load-bar-disabled").hide(); 6218 $(".load-bar-under-stripe-disabled").hide(); 6219 $(".load-bar").toggleClass('active'); 6220 6221 if (objAJAXRequest['status'] != "502") { 6222 $('#trackingInfo2').html('<div class="panel panel-danger hidden-phone" style="margin-top:20px;"><div class="panel-heading"><h4 class="panel-title">ÐÑибка оÑÑлеживаниÑ: <b>'+strError+' '+objAJAXRequest['status']+'</b></h4></div><div class="panel-body">Ð ÑожалениÑ, инÑоÑмаÑÐ¸Ñ Ð¾ поÑÑовом оÑпÑавлении Ñ Ð½Ð¾Ð¼ÐµÑом <b>'+inputedTrackCode+'</b> не найдена.</br>ÐопÑобÑйÑе еÑе Ñаз, но ÑÑÑÑ Ð¿Ð¾Ð·Ð¶Ðµ, напÑÐ¸Ð¼ÐµÑ Ð·Ð°Ð²ÑÑа...<br>Ðли заÑегиÑÑÑиÑÑйÑеÑÑ Ð¸ добавÑÑе ÑÑек-код в иÑÑоÑÐ¸Ñ Ð¾ÑÑлеживаниÑ, и Ð¼Ñ Ñведомим ÐаÑ, как ÑолÑко обновиÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¿Ð¾ ÐаÑÐµÐ¼Ñ ÑÑек-кодÑ!</div><div class="panel-footer"><p><b>ÐоÑÑоÑÐ½Ð½Ð°Ñ ÑÑÑлка</b>: <a href="//track24.ru/?code='+inputedTrackCode+'" style="border-bottom: 1px dotted;">https://track24.ru/?code='+inputedTrackCode+'</a></p></div></div>'); 6223 var dataArray = [clientIp, clientCountryCode, inputedTrackCode, strError, objAJAXRequest['status'], window.location.href, trackingUrl, navigator.userAgent]; 6224 trackingErrorLoggerFunction(dataArray); 6225 6226 setTimeout( function() { 6227 location.reload(); 6228 }, 5000); 6229 } 6230 6231 if (objAJAXRequest['status'] == "404") { 6232 setTimeout( function() { 6233 location.reload(); 6234 }, 5000); 6235 } 6236 else if (objAJAXRequest['status'] == "429") { 6237 $.notify('ÐÑ Ð´ÐµÐ»Ð°ÐµÑе ÑлиÑком ÑаÑÑÑе запÑоÑÑ!\nÐомедленее пожалÑйÑÑа...', "error"); 6238 } 6239 else if (objAJAXRequest['status'] == "502") { 6240 setTimeout( function() { 6241 location.reload(); 6242 }, 5000); 6243 } 6244 6245 6246 6247 }, 6248 fail: function(objAJAXRequest, strError, errorThrown) { 6249 alert(strError); 6250 } 6251 6252 }); 6253 6254 } 6255 else { 6256 return false; 6257 } 6258 6259 } 6260 6261function trackingBuilderInComments(trackCode, dataJson) { 6262 var lng = $.Storage.get("lng"); 6263 var json = dataJson; 6264 var inputedTrackCode = trackCode; 6265 var eventsArray = []; 6266 6267 6268 if ((json.status == 'ok') && ((typeof json.data.events !== "undefined") && (json.data.events !== null) && (json.data.events !== "")) ) { 6269 var sortEventsIcon = (sortEventsTrigger == true ) ? "fa-sort-asc" : "fa-sort-desc"; 6270 var sortToolTipText = (sortEventsTrigger == true ) ? "ÐÑÑÐ¼Ð°Ñ ÑоÑÑиÑовка" : "ÐбÑаÑÐ½Ð°Ñ ÑоÑÑиÑовка"; 6271 6272 if (json.data.trackCodeModified != "") { 6273 var trackCodesModified = json.data.trackCodeModified.split(","); 6274 if (trackCodesModified.length == 1) { 6275 var trackCodeModifiedLink = (json.data.trackCodeModified != "") ? ' <i class="fa fa-angle-double-right" aria-hidden="true"></i> <a href="//track24.ru/?code='+json.data.trackCodeModified+'" class="myTooltip" data-toggle="tooltip" data-placement="top" title="ÐеÑемаÑкиÑованнÑй ÑÑек-код пÑиÑваиваеÑÑÑ Ð¿Ñи пеÑедаÑе поÑÑовой ÑлÑжбе ÑÑÑÐ°Ð½Ñ Ð½Ð°Ð·Ð½Ð°ÑениÑ">'+json.data.trackCodeModified+'</a>' : ""; 6276 } 6277 else { 6278 var trackCodeModifiedLink = ""; 6279 $.each(trackCodesModified, function(key, value) { 6280 trackCodeModifiedLink += ' <i class="fa fa-angle-double-right" aria-hidden="true"></i> <a href="//track24.ru/?code='+value+'" class="myTooltip" data-toggle="tooltip" data-placement="top" title="ÐеÑемаÑкиÑованнÑй ÑÑек-код пÑиÑваиваеÑÑÑ Ð¿Ñи пеÑедаÑе поÑÑовой ÑлÑжбе ÑÑÑÐ°Ð½Ñ Ð½Ð°Ð·Ð½Ð°ÑениÑ">'+value+'</a>'; 6281 }); 6282 } 6283 } 6284 else { 6285 var trackCodeModifiedLink = ""; 6286 } 6287 6288 $('#trackingInfo2').append('<div id="trackingInfoEvents2"></div>'); 6289 6290 var progressBarPercent = 0; 6291 var trackingInfoEventsDataForClipBoard = "ÐнÑоÑмаÑÐ¸Ñ Ð¾ ÑÑек-коде: "+inputedTrackCode+"\n"; 6292 trackingInfoEventsDataForClipBoard += '-------------------------'+'\n'; 6293 6294 var lastEventDataForClipBoard = "ÐнÑоÑмаÑÐ¸Ñ Ð¾ ÑÑек-коде: "+inputedTrackCode+"\n"; 6295 lastEventDataForClipBoard += '-------------------------'+'\n'; 6296 6297 var dateTimeEvents = []; 6298 6299 6300 var trackCreationDateTime = json.data.trackCreationDateTime.split(" "); 6301 var trackUpdateDateTime = (typeof json.data.trackUpdateDateTime !== 'undefined' && json.data.trackUpdateDateTime !== null && json.data.trackUpdateDateTime !== "") ? json.data.trackUpdateDateTime.split(" ") : nowDateTime.split(" "); 6302 var firstDeliveryDateTime = (json.data.events[0].source != 'track24') ? json.data.events[0].operationDateTime.split(" ") : nowDateTime.split(" "); 6303 var lastDeliveryDateTime = (typeof json.data.deliveredStatus !== 'undefined' && json.data.deliveredStatus !== null && json.data.deliveredStatus !== "" && json.data.deliveredStatus == 1) ? json.data.trackDeliveredDateTime.split(" ") : nowDateTime.split(" "); 6304 var firstOperationDateTime = json.data.events[0].operationDateTime.split(" "); 6305 var lastOperationDateTime = json.data.events[json.data.events.length-1].operationDateTime.split(" "); 6306 var previosItemWeight = 0; 6307 var nextItemWeight = 0; 6308 6309 6310 var compareEventsArray = []; 6311 var dublicateEventRowClass = ""; 6312 6313 var events = []; 6314 if (groupEventsByServiceTrigger == false) { 6315 if (sortEventsTrigger == true) { 6316 events.push(json.data.events); 6317 } 6318 else { 6319 events.push(json.data.events.reverse()); 6320 } 6321 } 6322 else { 6323 6324 if (sortEventsTrigger == true) { 6325 $.each(json.data.groupedEvents, function(key, value) { 6326 events.push(value); 6327 }); 6328 } 6329 else { 6330 json.data.groupedCompanyNames.reverse(); 6331 $.each(json.data.groupedEvents.reverse(), function(key, value) { 6332 events.push(value.reverse()); 6333 6334 }); 6335 } 6336 } 6337 6338 rc = 0; 6339 6340 $.each(events, function(key, currentService) { 6341 6342 eventsArray = currentService; 6343 if ((groupEventsByServiceTrigger == true) && (json.data.groupedCompanyNames[key] != "Track24")) { 6344 $('#trackingInfoEvents2').append('<div class="trackingServiceName2">'+json.data.groupedCompanyNames[key]+'</div>'); 6345 } 6346 6347 $.each(eventsArray, function(key, value) { 6348 rc++; 6349 dateTimeEvents.push(value['operationDateTime']); 6350 6351 6352 6353 var statusIcon = (sortEventsTrigger == true ) ? "" : "reverse"; 6354 6355 if (((key == 0) && (sortEventsTrigger == true)) || ((key == json.data.events.length - 1) && (sortEventsTrigger == false))) { 6356 statusIcon = 'box'; 6357 } 6358 else if (((key == 0) && (sortEventsTrigger == false) && (value['icon'] == 'delivered')) || ((key == json.data.events.length - 1) && (sortEventsTrigger == true) && (value['icon'] == 'delivered'))) { 6359 statusIcon = value['icon']; 6360 } 6361 else { 6362 if ((value['icon'] != null) && (value['icon'] != "")) { 6363 if ((value['icon'] != 'accepted') && (value['icon'] != 'delivered')) { 6364 statusIcon = value['icon']; 6365 } 6366 } 6367 } 6368 6369 6370 6371 var operationDateTime = value['operationDateTime'].split(" "); 6372 6373 6374 if ((value['operationType'] == "ÐÑÑÑение") || (value['operationAttribute'] == "ÐÑÑÑение адÑеÑаÑÑ") || (value['operationAttribute'] == "ÐÑÑÑение полÑÑаÑелÑ") || (value['operationAttribute'] == "ÐÑибÑло в меÑÑо вÑÑÑениÑ")) { 6375 lastOperationDateTime = value['operationDateTime'].split(" "); 6376 progressBarPercent = 100; 6377 }
6378 if ((value['operationTypeTranslated'] == "ÐÑÑÑение") || (value['operationAttributeTranslated'] == "ÐÑÑÑение адÑеÑаÑÑ") || (value['operationAttributeTranslated'] == "ÐÑÑÑение полÑÑаÑелÑ") || (value['operationAttributeTranslated'] == "ÐÑибÑло в меÑÑо вÑÑÑениÑ")) { 6379 lastOperationDateTime = value['operationDateTime'].split(" "); 6380 progressBarPercent = 100; 6381 } 6382 6383 var deliveryDay = dateDiff(firstOperationDateTime[0], operationDateTime[0])+1; 6384 if ((deliveryDay > 0) && (deliveryDay < 21)) { 6385 var deliveryDayClass = 'label-success'; 6386 } 6387 if (deliveryDay >= 21) { 6388 var deliveryDayClass = 'label-info'; 6389 } 6390 if (deliveryDay >= 40) { 6391 var deliveryDayClass = 'label-warning'; 6392 } 6393 if (deliveryDay >= 60) { 6394 var deliveryDayClass = 'label-danger'; 6395 } 6396 6397 if ((value['latitude'] != null) && (value['longitude'] != null)) { 6398 var geoMarker = ' <i class="fa fa-map-marker" latitude="'+value['latitude']+'" longitude="'+value['longitude']+'" postindex="'+value['operationPlacePostalCode']+'"></i> '; 6399 } 6400 else 6401 { 6402 var geoMarker = ''; 6403 } 6404 6405 var itemWeightClass = 'label-success'; 6406 var itemWeightToolTip = ''; 6407 6408 6409 6410 6411 if (value['itemWeight'] > 0 ) { 6412 if (sortEventsTrigger == true) { 6413 if ((previosItemWeight > 0) && (value['itemWeight'] != previosItemWeight)) { 6414 var itemWeightClass = 'label-danger'; 6415 itemWeightToolTip = 'ÐаÑикÑиÑовано изменение веÑа!'; 6416 } 6417 previosItemWeight = value['itemWeight']; 6418 } 6419 else { 6420 for (niw=parseInt(key+1); niw <= parseInt(json.data.events.length-1); niw++){ 6421 if (json.data.events[niw].itemWeight > 0) { 6422 nextItemWeight = json.data.events[niw].itemWeight; 6423 break; 6424 } 6425 } 6426 if ((nextItemWeight > 0) && (value['itemWeight'] != nextItemWeight)) { 6427 var itemWeightClass = 'label-danger'; 6428 itemWeightToolTip = 'ÐаÑикÑиÑовано изменение веÑа!'; 6429 } 6430 6431 } 6432 var itemWeight = 'ÐеÑ: '+value['itemWeight']+' г'; 6433 } else { 6434 var itemWeight = ''; 6435 } 6436 6437 6438 6439 if ((typeof value['serviceName'] !== "undefined") && (value['serviceName'] !== null) && (value['serviceName'] !== "")) 6440 { 6441 var serviceName = value['serviceName']; 6442 } 6443 else { 6444 var serviceName = ""; 6445 } 6446 6447 var extendentInfo = ''; 6448 if ((value['operationType'] == "ÐкÑпоÑÑ") || (value['operationAttribute'] == "ÐкÑпоÑÑ")) { 6449 extendentInfo = '(ÐпеÑаÑÐ¸Ñ Ð¿ÑоизводиÑÑÑ Ð² ÑеÑение 7 - 60 дней наÑÐ¸Ð½Ð°Ñ Ñ '+operationDateTime[0]+')'; 6450 } 6451 6452 var eventStatus = ''; 6453 if (dateDiff(value['eventDateTime'], nowDateTime.split(" ")[0]) == 0) { 6454 eventStatus = '<span style="cursor: pointer;" class="label label-success label-as-badge myTooltip" data-toggle="tooltip" data-placement="top" data-html="false" title="СÑаÑÑÑ Ð¿Ð¾Ð»ÑÑен: '+value['eventDateTime'].split(" ")[1]+'">New</span>'; 6455 } 6456 6457 6458 if ((typeof value['operationAttributeInformation'] !== "undefined") && (value['operationAttributeInformation'] !== null) && (value['operationAttributeInformation'] !== "")) { 6459 if (device.desktop()) { 6460 var operationAttributeInformationDataTriger = "click hover"; 6461 } else { 6462 var operationAttributeInformationDataTriger = "hover"; 6463 } 6464 var operationAttributeInformation = '<span class="fa fa-question-circle" style="position: relative; cursor:pointer; color:#03487D;" data-toggle="popover" data-trigger="'+operationAttributeInformationDataTriger+'" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="'+value['operationAttributeInformation']+' <div><a href=\'https://track24.ru/?page=attributes#attribute-'+_translit(value['operationAttributeTranslated'].replace(/\[.*?\]/g, '').trim().replace(/[^a-zA-Zа-ÑÐ-Я0-9]/g, '_').toLowerCase())+'\' target=\'_blank\' style=\'position: absolute; right: 10px; top: 10px;\'><i class=\'fa fa-link fa-rotate-90\'></i></a></div>"></span>'; 6465 } 6466 else { 6467 var operationAttributeInformation = ''; 6468 } 6469 6470 6471 if (hideDublicateEventsTrigger == true) { 6472 6473 6474 compareCurrentAttribute = $.trim(value['operationAttribute'].toLowerCase()); 6475 compareCurrentType = $.trim(value['operationType'].toLowerCase()); 6476 compareCurrentPlace = $.trim(value['operationPlaceName'].toLowerCase()); 6477 6478 compareCurrentAttributeTranslated = (lng != "null") ? $.trim(value['operationAttributeTranslated'].toLowerCase()) : compareCurrentAttribute; 6479 compareCurrentTypeTranslated = (lng !== "null") ? $.trim(value['operationTypeTranslated'].toLowerCase()): compareCurrentType; 6480 compareCurrentPlaceTranslated = (lng !== "null") ? $.trim(value['operationPlaceNameTranslated'].toLowerCase()): compareCurrentPlace; 6481 6482 6483 if (rc != 0) { 6484 if (jQuery.inArray($.trim(operationDateTime[0]+compareCurrentAttribute+compareCurrentType+compareCurrentPlace), compareEventsArray) >= 0) { 6485 //console.log(rc+" if 1"); 6486 var dublicateEventRowClass = "dublicateEventRow"; 6487 } 6488 else if (jQuery.inArray($.trim(operationDateTime[0]+compareCurrentAttributeTranslated+compareCurrentTypeTranslated+compareCurrentPlaceTranslated), compareEventsArray) >= 0) { 6489 //console.log(rc+" if 2"); 6490 var dublicateEventRowClass = "dublicateEventRow"; 6491 } 6492 else { 6493 //console.log(rc+" else"); 6494 var dublicateEventRowClass = ""; 6495 } 6496 } 6497 6498 compareEventsArray.push(operationDateTime[0]+compareCurrentAttributeTranslated+compareCurrentTypeTranslated+compareCurrentPlaceTranslated); 6499 compareEventsArray.push(operationDateTime[0]+compareCurrentAttribute+compareCurrentType+compareCurrentPlace); 6500 //console.log(compareEventsArray);
6501 } 6502 else { 6503 var dublicateEventRowClass = ""; 6504 } 6505 6506 if (jQuery.inArray(lng, availibleLanguageArray) != -1) { 6507 $('#trackingInfoEvents2').append('<div class="trackingInfoRow2 '+dublicateEventRowClass+'"><div class="trackingInfoDateTime2"><span class="date"><b>'+operationDateTime[0]+'</b></span><br><span class="time muted">'+operationDateTime[1]+'</span><br><span class="label '+deliveryDayClass+' myTooltip" title="'+deliveryDay+' '+numberof(deliveryDay, '', ['денÑ', 'днÑ', 'дней'])+' в пÑÑи" data-toggle="tooltip" data-placement="right">'+deliveryDay+' денÑ</span></div><div class="trackingInfoStatus2"><div class="trackingInfoStatusIcon '+statusIcon+'"></div></div><div class="trackingInfoDetails2"><div class="operationAttribute myTooltip auto-tooltip" data-toggle="tooltip" data-placement="left" title="'+$.trim(value['operationAttribute'])+'" originaltext="'+$.trim(value['operationAttribute'])+'">'+value['operationAttributeTranslated']+' '+operationAttributeInformation+'</div><div class="operationType myTooltip auto-tooltip" data-toggle="tooltip" data-placement="left" title="'+$.trim(value['operationType'])+'" originaltext="'+$.trim(value['operationType'])+'">'+value['operationTypeTranslated']+'</div><div class="muted"> '+geoMarker+'<span style="color:grey;" class="operationPlace2 myTooltip auto-tooltip" data-toggle="tooltip" data-placement="left" title="'+$.trim(value['operationPlaceName'])+'" originaltext="'+$.trim(value['operationPlaceName'])+'">'+$.trim(value['operationPlacePostalCode']+' '+value['operationPlaceNameTranslated'])+'</span></div></div> <div class="trackingExtendedDetails2 hidden-xs"><div style="text-align: right; height:18px; /* padding-right:20px; */">'+eventStatus+' <span class="label label-info serviceName">'+serviceName+'</span></div> <div style="text-align: right; height:18px;"></div> <div style="text-align: right; height:18px; /* padding-right:20px; */"><span class="label '+itemWeightClass+' myTooltip auto-tooltip" data-toggle="tooltip" data-placement="left" title="'+itemWeightToolTip+'">'+itemWeight+'</span></div></div> </div>'); 6508 } 6509 else { 6510 $('#trackingInfoEvents2').append('<div class="trackingInfoRow2 '+dublicateEventRowClass+'"><div class="trackingInfoDateTime2"><span class="date"><b>'+operationDateTime[0]+'</b></span><br><span class="time muted">'+operationDateTime[1]+'</span><br><span class="label '+deliveryDayClass+' myTooltip" title="'+deliveryDay+' '+numberof(deliveryDay, '', ['денÑ', 'днÑ', 'дней'])+' в пÑÑи" data-toggle="tooltip" data-placement="right">'+deliveryDay+' денÑ</span></div><div class="trackingInfoStatus"><div class="trackingInfoStatusIcon '+statusIcon+'"></div></div><div class="trackingInfoDetails2"><div class="operationAttribute">'+value['operationAttributeOriginal']+' '+operationAttributeInformation+'</div><div class="operationType">'+value['operationTypeOriginal']+' '+extendentInfo+'</div><div class="muted"> '+geoMarker+'<span style="color:grey;" class="operationPlace2">'+value['operationPlacePostalCode']+' '+value['operationPlaceNameOriginal']+'</span></div></div> <div class="trackingExtendedDetails2 hidden-xs"><div style="text-align: right; height:18px; /* padding-right:20px; */">'+eventStatus+' <span class="label label-info">'+serviceName+'</span></div> <div style="text-align: right; height:18px;"></div> <div style="text-align: right; height:18px; /* padding-right:20px; */"><span class="label label-success">'+itemWeight+'</span></div></div> </div>'); 6511 } 6512 6513 6514 6515 trackingInfoEventsDataForClipBoard += $.trim(operationDateTime[0]+' '+operationDateTime[1]+ ' '+ value['operationAttributeTranslated']+' '+value['operationTypeTranslated']+'')+'\n'; 6516 trackingInfoEventsDataForClipBoard += $.trim(value['operationPlacePostalCode']+' '+value['operationPlaceNameTranslated']+'')+'\n\n'; 6517 6518 6519 6520 6521 }); 6522 6523 6524 if (groupEventsByServiceTrigger == false) { 6525 return false; 6526 } 6527 }); 6528 6529 if (json.data.events.length == 1) { 6530 $(".trackingInfoStatus2").css('background-image', 'url("")'); 6531 } 6532 6533 if (sortEventsTrigger == true ) { 6534 lastEventDataForClipBoard += $.trim(json.data.events[json.data.events.length - 1].operationDateTime+ '\n'+ json.data.events[json.data.events.length - 1].operationAttributeTranslated)+'\
6534n'; 6535 } 6536 else { 6537 6538 lastEventDataForClipBoard += $.trim(json.data.events[0].operationDateTime+ '\n'+ json.data.events[0].operationAttributeTranslated)+'\n'; 6539 } 6540 6541 if (sortEventsTrigger == true ) { 6542 if ((typeof json.data.events[json.data.events.length - 1].operationPlaceNameTranslated !== "undefined") && (json.data.events[json.data.events.length - 1].operationPlaceNameTranslated !== null) && (json.data.events[json.data.events.length - 1].operationPlaceNameTranslated !== "")) { 6543 lastEventDataForClipBoard += $.trim(json.data.events[json.data.events.length - 1].operationPlaceNameTranslated)+'\n'; 6544 } 6545 } 6546 else { 6547 if ((typeof json.data.events[0].operationPlaceNameTranslated !== "undefined") && (json.data.events[0].operationPlaceNameTranslated !== null) && (json.data.events[0].operationPlaceNameTranslated !== "")) { 6548 lastEventDataForClipBoard += $.trim(json.data.events[0].operationPlaceNameTranslated)+'\n'; 6549 } 6550 } 6551 6552 if (sortEventsTrigger == true ) { 6553 if ((typeof json.data.events[json.data.events.length - 1].operationAttributeInformation !== "undefined") && (json.data.events[json.data.events.length - 1].operationAttributeInformation !== null) && (json.data.events[json.data.events.length - 1].operationAttributeInformation !== "")) { 6554 lastEventDataForClipBoard += '\n'+$.trim(json.data.events[json.data.events.length - 1].operationAttributeInformation).replace(/<br>/g, '\n').replace(/<b>|<\/b>/g, '').replace(/<.*?>/g, '')+'\n'; 6555 } 6556 } 6557 else { 6558 if ((typeof json.data.events[0].operationAttributeInformation !== "undefined") && (json.data.events[0].operationAttributeInformation !== null) && (json.data.events[0].operationAttributeInformation !== "")) { 6559 lastEventDataForClipBoard += '\n'+$.trim(json.data.events[0].operationAttributeInformation).replace(/<br>/g, '\n').replace(/<b>|<\/b>/g, '').replace(/<.*?>/g, '')+'\n'; 6560 } 6561 } 6562 6563 if (json.projectedNextWaypoint !== null) { 6564 if (json.projectedNextWaypoint.nextAttribute != null) { 6565 lastEventDataForClipBoard += '-------------------------'+'\n'; 6566 lastEventDataForClipBoard += 'ÐжидайÑе ÑÑаÑÑÑ: '+json.projectedNextWaypoint.nextAttribute+'\n'; 6567 } 6568 } 6569 6570 if (json.deliveredStat !== null) { 6571 lastEventDataForClipBoard += '-------------------------'+'\n'; 6572 lastEventDataForClipBoard += $.trim('ÐÑогнозиÑÑемÑй пеÑиод доÑÑавки: '+projectedDate(firstOperationDateTime[0], parseInt(json.deliveredStat.averageDeliveryDays))+' - '+projectedDate(firstOperationDateTime[0], parseInt(json.deliveredStat.maxDeliveryDays)))+'\n'; 6573 } 6574 6575 lastEventDataForClipBoard += '-------------------------'+'\n'; 6576 lastEventDataForClipBoard += 'ÐоÑÑоÑÐ½Ð½Ð°Ñ ÑÑÑлка Ð´Ð»Ñ Ð¾ÑÑлеживаниÑ: https://track24.ru/?code='+inputedTrackCode+'\n\r'; 6577 6578 6579 6580 var groupEventsByServiceText = (groupEventsByServiceTrigger == false ) ? "ÐÑÑппиÑоваÑÑ" : "Ðе гÑÑппиÑоваÑÑ"; 6581 var hideDublicateEventsText = (hideDublicateEventsTrigger == true ) ? "ÐÑобÑазиÑÑ Ð´ÑбликаÑÑ" : "СкÑÑÑÑ Ð´ÑбликаÑÑ"; 6582 6583 6584 6585 var trackInfoToPanel = ''; 6586 6587 if ((typeof json.data.trackName !== "undefined") && (json.data.trackName !== null) && (json.data.trackName !== "")) { 6588 trackInfoToPanel += '<p><b>ÐпиÑание ÑÑек-кода</b>: '+json.data.trackName +', '+ json.data.trackName +', '+ json.data.trackName+'</p>'; 6589 } 6590 6591 6592 trackInfoToPanel += '<ul class="sp-list">'; 6593 if ((typeof json.data.trackCreationDateTime !== "undefined") && (json.data.trackCreationDateTime !== null) && (json.data.trackCreationDateTime !== "")) { 6594 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">Ðобавлен в базÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+json.data.trackCreationDateTime+'</div></div></li>'; 6595 } 6596 if ((typeof json.data.trackUpdateDateTime !== "undefined") && (json.data.trackUpdateDateTime !== null) && (json.data.trackUpdateDateTime !== "")) { 6597 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐоÑледнее обновление</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+json.data.trackUpdateDateTime+' <!-- (<span time="2016,08,15,05,24,32" class="need_to_time_update"></span>) --></div></div></li>'; 6598 } 6599 6600 if (json.deliveredStat !== null) { 6601 var myRegExp = /([A-Z]{2})[0-9]{9}([A-Z]{2})/; 6602 var match = myRegExp.exec(inputedTrackCode); 6603 if (match != null) { 6604 var trackCodePrefix = match[1]; 6605 var trackCodePostfix = match[2]; 6606 var showDeliveredStatChartIcon = 'visible'; 6607 6608 } 6609 else { 6610 var trackCodePrefix = ""; 6611 var trackCodePostfix = ""; 6612 var showDeliveredStatChartIcon = 'hidden'; 6613 } 6614 6615 if (json.data.events[0].source != 'track24') { 6616 trackInfoToPanel += '<li class="sp projectedDeliveryPeriodAffterEvents2"><div class="sp_left"><span class="sp_title">ÐÑогнозиÑÑемÑй пеÑиод доÑÑавки</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value"><span id="projectedDate" class="redMarker">'+projectedDate(firstOperationDateTime[0], parseInt(json.deliveredStat.averageDeliveryDays))+' - '+projectedDate(firstOperationDateTime[0], parseInt(json.deliveredStat.maxDeliveryDays))+'</span> <span class="hidden-xs">(не гаÑанÑиÑÑемÑй)</span> <span class="" style="cursor:pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="СÑок доÑÑавки ÑаÑÑÑиÑÑваеÑÑÑ Ð½Ð° оÑновании анализа ÑÑаÑиÑÑики доÑÑавленнÑÑ Ð¼ÐµÐ¶Ð´ÑнаÑоднÑÑ Ð¿Ð¾ÑÑовÑÑ Ð¾ÑпÑавлений.<br><b>'+trackCodePrefix+' ### ### ### '+trackCodePostfix+'</b>: ÑÑеднее вÑÐµÐ¼Ñ Ð´Ð¾ÑÑавки '+json.deliveredStat.averageDeliveryDays+' '+numberof(json.deliveredStat.averageDeliveryDays, '', ['денÑ', 'днÑ', 'дней'])+' / макÑималÑное вÑÐµÐ¼Ñ '+json.deliveredStat.maxDeliveryDays+' '+numberof(json.deliveredStat.maxDeliveryDays, '', ['денÑ', 'днÑ', 'дней'])+'<br><br> Ð ÑаÑÑÐµÑ Ð½Ðµ беÑÑÑÑÑ Ð·Ð°Ð´ÐµÑжки Ñ Ð¾ÑпÑавкой поÑÑлки, завиÑÐ°Ð½Ð¸Ñ Ð½Ð° Ñаможне, ÑÑеÑÑннÑе поÑÑлки и Ñ.д.<br> УказаннÑй пеÑиод, ÑÑо не 100% инÑоÑмаÑиÑ, а вÑего лиÑÑ Ð¿Ñогноз, оÑиенÑиÑÑÑÑий ÐÐ°Ñ ÐºÐ¾Ð³Ð´Ð° ждаÑÑ Ð¿Ð¾ÑÑлкÑ. ÐÑли ÑÑок доÑÑавки ÐаÑей поÑÑлки болÑÑе, Ñем Ñказано в пÑогнозе, не пеÑеживайÑе, она пÑиедеÑ, но ÑÑÑÑ Ð¿Ð¾Ð·Ð¶Ðµ ;)"> <i class="fa fa-question-circle"></i></span> <i class="fa fa-area-chart myTooltip showDeliveredStatChart '+showDeliveredStatChartIcon+'" data-prefix="'+trackCodePrefix+'" data-postfix="'+trackCodePostfix+'" aria-hidden="true" style="cursor:pointer;" title="СÑаÑиÑÑика за меÑÑÑ"></i></div></div></li>'; 6617 $("#projectedDeliveryPeriodBeforeEvents").html('<b><span class="hidden-xs hidden-sm hidden-md">ÐÑогнозиÑÑемÑй пеÑиод доÑÑавки</span><span class="hidden-xs hidden-sm hidden-lg">ÐÑогнозиÑÑемÑй пеÑиод доÑÑавки</span><span class="hidden-md hidden-lg">ÐÑогноз</span></b>: '+projectedDate(firstOperationDateTime[0], parseInt(json.deliveredStat.averageDeliveryDays))+' - '+projectedDate(firstOperationDateTime[0], parseInt(json.deliveredStat.maxDeliveryDays))+' <span class="hidden-xs">(не гаÑанÑиÑÑемÑй)</span> <span class="fa fa-question-circle" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" style="cursor:pointer;" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="СÑок доÑÑавки ÑаÑÑÑиÑÑваеÑÑÑ Ð½Ð° оÑновании анализа ÑÑаÑиÑÑики доÑÑавленнÑÑ Ð¼ÐµÐ¶Ð´ÑнаÑоднÑÑ Ð¿Ð¾ÑÑовÑÑ Ð¾ÑпÑавлений.<br><b>'+trackCodePrefix+' ### ### ### '+trackCodePostfix+'</b>: ÑÑеднее вÑÐµÐ¼Ñ Ð´Ð¾ÑÑавки '+json.deliveredStat.averageDeliveryDays+' '+numberof(json.deliveredStat.averageDeliveryDays, '', ['денÑ', 'днÑ', 'дней'])+' / макÑималÑное вÑÐµÐ¼Ñ '+json.deliveredStat.maxDeliveryDays+' '+numberof(json.deliveredStat.maxDeliveryDays, '', ['денÑ', 'днÑ', 'дней'])+'<br><br>Ð ÑаÑÑÐµÑ Ð½Ðµ беÑÑÑÑÑ Ð·Ð°Ð´ÐµÑжки Ñ Ð¾ÑпÑавкой поÑÑлки, завиÑÐ°Ð½Ð¸Ñ Ð½Ð° Ñаможне, ÑÑеÑÑннÑе поÑÑлки и Ñ.д. УказаннÑй пеÑиод, ÑÑо не 100% инÑоÑмаÑиÑ, а вÑего лиÑÑ Ð¿Ñогноз, оÑиенÑиÑÑÑÑий ÐÐ°Ñ ÐºÐ¾Ð³Ð´Ð° ждаÑÑ Ð¿Ð¾ÑÑлкÑ. ÐÑли ÑÑок доÑÑавки ÐаÑей поÑÑлки болÑÑе, Ñем Ñказано в пÑогнозе, не пеÑеживайÑе, она пÑиедеÑ, но ÑÑÑÑ Ð¿Ð¾Ð·Ð¶Ðµ ;)"></span>'); 6618 } 6619 6620 6621 } 6622 else { 6623 if (json.data.events[0].source != 'track24') { 6624 trackInfoToPanel += '<li class="sp projectedDeliveryPeriodAffterEvents2"><div class="sp_left"><span class="sp_title">ÐÑогнозиÑÑемÑй пеÑиод доÑÑавки</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value"><span id="projectedDate" class="redMarker">'+projectedDate(firstOperationDateTime[0], (averageDeliveryDays))+' - '+projectedDate(firstOperationDateTime[0], (averageDeliveryDays)+10)+'</span> <span class="hidden-xs">(не гаÑанÑиÑÑемÑй)</span> <span class="fa fa-question-circle" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="СÑок доÑÑавки ÑаÑÑÑиÑÑваеÑÑÑ Ð½Ð° оÑновании анализа ÑÑаÑиÑÑики доÑÑавленнÑÑ Ð¼ÐµÐ¶Ð´ÑнаÑоднÑÑ Ð¿Ð¾ÑÑовÑÑ Ð¾ÑпÑавлений за поÑледний меÑÑÑ. Ð ÑаÑÑÐµÑ Ð½Ðµ беÑÑÑÑÑ Ð·Ð°Ð´ÐµÑжки Ñ Ð¾ÑпÑавкой поÑÑлки, завиÑÐ°Ð½Ð¸Ñ Ð½Ð° Ñаможне, ÑÑеÑÑннÑе поÑÑлки и Ñ.д. УказаннÑй пеÑиод, ÑÑо не 100% инÑоÑмаÑиÑ, а вÑего лиÑÑ Ð¿Ñогноз, оÑиенÑиÑÑÑÑий ÐÐ°Ñ ÐºÐ¾Ð³Ð´Ð° ждаÑÑ Ð¿Ð¾ÑÑлкÑ. ÐÑли ÑÑок доÑÑавки ÐаÑей поÑÑлки болÑÑе, Ñем Ñказано в пÑогнозе, не пеÑеживайÑе, она пÑиедеÑ, но ÑÑÑÑ Ð¿Ð¾Ð·Ð¶Ðµ ;)"></span></div></div></li>'; 6625 $("#projectedDeliveryPeriodBeforeEvents").html('<p><span class="hidden-xs hidden-sm hidden-md">ÐÑогнозиÑÑемÑй пеÑиод доÑÑавки</span><span class="hidden-xs hidden-sm hidden-lg">ÐÑогнозиÑÑемÑй пеÑиод доÑÑавки</span><span class="hidden-md hidden-lg">ÐÑогноз</span></b>: '+projectedDate(firstOperationDateTime[0], (averageDeliveryDays))+' - '+projectedDate(firstOperationDateTime[0], (averageDeliveryDays)+10)+' <span class="hidden-xs">(не гаÑанÑиÑÑемÑй)</span> <span class="fa fa-question-circle" style="cursor:pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="СÑок доÑÑавки ÑаÑÑÑиÑÑваеÑÑÑ Ð½Ð° оÑновании анализа ÑÑаÑиÑÑики доÑÑавленнÑÑ Ð¿Ð¾ÑÑовÑÑ Ð¾ÑпÑавлений за поÑледний меÑÑÑ. Ð ÑаÑÑÐµÑ Ð½Ðµ беÑÑÑÑÑ Ð·Ð°Ð´ÐµÑжки Ñ Ð¾ÑпÑавкой поÑÑлки, завиÑÐ°Ð½Ð¸Ñ Ð½Ð° Ñаможне, ÑÑеÑÑннÑе поÑÑлки и Ñ.д. УказаннÑй пеÑиод, ÑÑо не 100% инÑоÑмаÑиÑ, а вÑего лиÑÑ Ð¿Ñогноз, оÑиенÑиÑÑÑÑий ÐÐ°Ñ ÐºÐ¾Ð³Ð´Ð° ждаÑÑ Ð¿Ð¾ÑÑлкÑ. ÐÑли ÑÑок доÑÑавки ÐаÑей поÑÑлки болÑÑе, Ñем Ñказано в пÑогнозе, не пеÑеживайÑе, она пÑиедеÑ, но ÑÑÑÑ Ð¿Ð¾Ð·Ð¶Ðµ ;)"></span></p>'); 6626 } 6627 6628 6629 } 6630 if ((typeof json.data.fromName !== "undefined") && (json.data.fromName !== null) && (json.data.fromName !== "")) { 6631 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐÑпÑавиÑелÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+json.data.fromName+' </div></div></li>'; 6632 trackingInfoEventsDataForClipBoard += 'ÐÑпÑавиÑелÑ: '+json.data.fromName+'\n'; 6633 } 6634 6635 if ((typeof json.data.destinationName !== "undefined") && (json.data.destinationName !== null) && (json.data.destinationName !== "")) { 6636 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐолÑÑаÑелÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+json.data.destinationName+' <span class="fa fa-question-circle" style="cursor:pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="ÐоÑÑаÑоÑно ÑаÑÑо (по необÑÑÑнимÑм пÑиÑинам), поÑле пÑÐ¾Ñ Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ ÑаможеннÑÑ Ð¿ÑоÑедÑÑ, ФÐРполÑÑаÑÐµÐ»Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑÑÑ, и не ÑооÑвеÑÑÑвоваÑÑ Ð´ÐµÐ¹ÑÑвиÑелÑноÑÑи. ÐÑли адÑÐµÑ Ð´Ð¾ÑÑавки ÑÐ¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ Ñ ÐаÑим, Ñо не ÑÑÐ¾Ð¸Ñ Ð¿ÐµÑеживаÑÑ Ð¿Ð¾ ÑÑÐ¾Ð¼Ñ Ð¿Ð¾Ð²Ð¾Ð´Ñ. ÐоÑÑлка пÑÐ¸ÐµÐ´ÐµÑ Ñ ÐаÑими ФÐÐ, и ÐÑ Ð±ÐµÐ· пÑоблем ÑможеÑе ÐµÑ Ð¿Ð¾Ð»ÑÑиÑÑ Ð² ÐаÑем поÑÑовом оÑделении. <br>Ð ÑелÑÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи и заÑиÑÑ Ð¿ÐµÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð² ФÐРзаменÑÑÑÑÑ Ð½Ð° ***."></span></div></div></li>'; 6637 trackingInfoEventsDataForClipBoard += 'ÐолÑÑаÑелÑ: '+json.data.destinationName+'\n'; 6638 } 6639 6640 if ((json.data.fromCountry == "") || (json.data.destinationCountry == "")){ 6641 6642 if ((typeof json.data.fromCountry !== "undefined") && (json.data.fromCountry !== null) && (json.data.fromCountry !== "")) { 6643 var fromCountry = json.data.fromCountry; 6644 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">СÑÑана оÑпÑавиÑелÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+fromCountry+'</div></div></li>'; 6645 trackingInfoEventsDataForClipBoard += '
6645СÑÑана оÑпÑавиÑелÑ: '+fromCountry+'\n'; 6646 } 6647 if ((typeof json.data.destinationCountry !== "undefined") && (json.data.destinationCountry !== null) && (json.data.destinationCountry !== "")) { 6648 var destinationCountry = json.data.destinationCountry; 6649 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">СÑÑана назнаÑениÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+destinationCountry+'</div></div></li>'; 6650 trackingInfoEventsDataForClipBoard += 'СÑÑана назнаÑениÑ: '+destinationCountry+'\n'; 6651 } 6652 6653 if ((typeof json.data.destinationCountry === "undefined") || (json.data.destinationCountry === null) || (json.data.destinationCountry === "")) { 6654 if ((typeof json.data.destinationCountryCode !== "undefined") && (json.data.destinationCountryCode !== null) && (json.data.destinationCountryCode !== "")) { 6655 var destinationCountryCode = json.data.destinationCountryCode; 6656 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">Ðод ÑÑÑÐ°Ð½Ñ Ð½Ð°Ð·Ð½Ð°ÑениÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+destinationCountryCode+'</div></div></li>'; 6657 trackingInfoEventsDataForClipBoard += 'Ðод ÑÑÑÐ°Ð½Ñ Ð½Ð°Ð·Ð½Ð°ÑениÑ: '+destinationCountryCode+'\n'; 6658 } 6659 } 6660 6661 6662 } 6663 6664 var route = ""; 6665 var routePointsCount = 0; 6666 6667 if ((typeof json.data.fromCountry !== "undefined") && (json.data.fromCountry !== null) && (json.data.fromCountry !== "")) { 6668 route += '<span class="route" id="routeOriginCountry" style="cursor:pointer;">'+json.data.fromCountry+'</span>'; 6669 route += ' <i class="fa fa-angle-double-right"></i> '; 6670 routePointsCount++; 6671 } 6672 if ((typeof json.data.fromCity !== "undefined") && (json.data.fromCity !== null) && (json.data.fromCity !== "")) { 6673 route += '<span class="route" id="routeFromCity">'+json.data.fromCity+'</span>'; 6674 route += ' <i class="fa fa-angle-double-right"></i> '; 6675 routePointsCount++; 6676 } 6677 if ((typeof json.data.destinationCountry !== "undefined") && (json.data.destinationCountry !== null) && (json.data.destinationCountry !== "")) { 6678 route += '<span class="route" id="routeDestinationCountry" style="cursor:pointer;">'+json.data.destinationCountry+'</span>'; 6679 route += ' <i class="fa fa-angle-double-right"></i> '; 6680 routePointsCount++; 6681 6682 } 6683 6684 6685 6686 if ((typeof json.data.destinationPostalCode !== "undefined") && (json.data.destinationPostalCode !== null) && (json.data.destinationPostalCode !== "") ) { 6687 if ((typeof json.data.destinationPostalAddress !== "undefined") && (json.data.destinationPostalAddress !== null) && (json.data.destinationPostalAddress !== "") && (json.data.destinationPostalCode.length == 6) && (Number.isInteger(parseInt(json.data.destinationPostalCode))) && (json.data.destinationCompany == 'rupost')) { 6688 var postal_code_info = '<span style="border-bottom: 1px dotted; cursor: pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="<b>ÐнÑоÑмаÑÐ¸Ñ Ð¾ поÑÑовом оÑделении:</b> <a href=\'https://track24.ru/?page=postindex&index='+json.data.destinationPostalCode+'\' target=\'_blank\' class=\'dotted\'>'+json.data.destinationPostalCode+'</a> <a class=\'hidden-xs\' href=\'https://track24.ru/?page=postindex&index='+json.data.destinationPostalCode+'\' target=\'_blank\' style=\'/*position: absolute; right: 10px; top: 10px;*/\'><i class=\'fa fa-external-link\'></i></a>" data-content="<b>ÐдÑеÑ:</b> '+json.data.destinationPostalAddress+'<br><br><b>ТелеÑонÑ:</b> '+json.data.destinationPostalPhones+'<br><br><b>Режим ÑабоÑÑ:</b><br>'+json.data.destinationPostalWorkTime+'">'+json.data.destinationPostalCode+'</span>'; 6689 6690 route += '<span class="route" id="routeDestinationPostalCode">'+postal_code_info+'</span>'; 6691 route += ' <i class="fa fa-angle-double-right"></i> '; 6692 routePointsCount++; 6693 } 6694 else if ((typeof json.data.destinationPostalAddress !== "undefined") && (json.data.destinationPostalAddress !== null) && (json.data.destinationPostalAddress !== "") && (json.data.destinationCompany == 'cdek')) { 6695 var pvz_info = '<span style="border-bottom: 1px dotted; cursor: pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="<b>ÐнÑоÑмаÑÐ¸Ñ Ð¾ пÑнкÑе вÑдаÑи заказов:</b> <a href=\'https://track24.ru/?page=cdek&scode='+json.data.destinationPostalCode.replace(/CDEK:\s*/gm, '')+'\' target=\'_blank\' class=\'dotted\'> СÐÐÐ '+json.data.destinationPostalCode.replace(/CDEK:\s*/gm, '')+'</a> <div style=\'float: right; margin-left: 15px;\'><a href=\'https://track24.ru/?page=cdek&scode='+json.data.destinationPostalCode.replace(/CDEK:\s*/gm, '')+'\' target=\'_blank\' style=\'position: absolute; right: 10px; top: 10px;\'><i class=\'fa fa-external-link\'></i></a></div>" data-content="<b>ÐдÑеÑ:</b> '+json.data.destinationPostalAddress+'<br><br><b>ТелеÑонÑ:</b> '+json.data.destinationPostalPhones+'<br><br><b>Режим ÑабоÑÑ:</b><br>'+json.data.destinationPostalWorkTime+'">ÐÐÐ - СÐÐÐ</span>'; 6696 route += '<span class="route" id="routeDestinationPostalCode">'+pvz_info+'</span>'; 6697 route += ' <i class="fa fa-angle-double-right"></i> '; 6698 routePointsCount++; 6699 } 6700 else { 6701 route += '<span class="route" id="routeDestinationPostalCode">'+json.data.destinationPostalCode+'</span>'; 6702 route += ' <i class="fa fa-angle-double-right"></i> '; 6703 routePointsCount++; 6704 } 6705 } 6706 6707 if ((typeof json.data.destinationCity !== "undefined") && (json.data.destinationCity !== null) && (json.data.destinationCity !== "")) { 6708 route += '<span class="route" id="routeDestinationCity">'+json.data.destinationCity+'</span>'; 6709 route += ' <i class="fa fa-angle-double-right"></i> '; 6710 routePointsCount++; 6711 } 6712 if ((typeof json.data.destinationAddress !== "undefined") && (json.data.destinationAddress !== null) && (json.data.destinationAddress !== "")) { 6713 route += '<span class="route" id="routeDestinationAddress">'+json.data.destinationAddress+'</span>'; 6714 route += ' <i class="fa fa-angle-double-right"></i> '; 6715 routePointsCount++; 6716 } 6717 6718 if (routePointsCount > 0) { 6719 route = $.trim(route).replace(/<i class="fa fa-angle-double-right"><\/i>$/gm, ''); 6720 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title" id="routeTitle" style="/*cursor:pointer;*/">ÐаÑÑÑÑÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+route+' <!-- <i class="fa fa-map-o myTooltip" id="routeMarker" aria-hidden="true" style="cursor:pointer;" style="cursor:pointer;" title="ÐаÑÑÑÑÑ Ð½Ð° каÑÑе"></i>--></div></div></li>'; 6721 6722 } 6723 6724 6725 if (json.data.itemWeight > 0) { 6726 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐеÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+json.data.itemWeight+' г</div></div></li>'; 6727 } 6728 if ( (typeof json.deliveredStat !== "undefined") && (json.deliveredStat !== null) && (json.deliveredStat !== "") ) { 6729 if ((typeof json.deliveredStat.type !== "undefined") && (json.deliveredStat.type !== null) && (json.deliveredStat.type !== "") && (json.deliveredStat.type !== "n/a")) { 6730 6731 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">Тип оÑпÑавлениÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+json.deliveredStat.type+'</div></div></li>'; 6732 } 6733 } 6734 6735 6736 if ((json.data.events[0].source != 'track24') && (json.data.events.length > 1)) { 6737 var deliveredByShippers = []; 6738 $.each(json.data.events, function(key, value) { 6739 6740 if (deliveredByShippers.indexOf(value.source) == -1) { 6741 deliveredByShippers.push(value.source); 6742 } 6743 6744 }); 6745 if (deliveredByShippers.length > 0) { 6746 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐÑÑоÑники</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'; 6747 var deliveredByShippersCount = 0; 6748 $.each(deliveredByShippers, function(key, value) { 6749 6750 if (deliveredByShippersCount > 0) { 6751 trackInfoToPanel += '<i class="fa fa-angle-double-right" aria-hidden="true"></i>'; 6752 } 6753 6754 if (isEmpty(json.serviceNames) === false) { 6755 trackInfoToPanel += ' <span class="sampleTrackCode_ dotted active"><a href="https://track24.ru/service/'+value.toLowerCase()+'/tracking/'+inputedTrackCode+'" target="_blank">'+json.serviceNames[value.toUpperCase()]+'</a></span> '; 6756 deliveredByShippersCount++; 6757 } 6758 6759 }); 6760 trackInfoToPanel += '<span class="fa fa-question-circle" style="cursor:pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="Ðомпании пÑедоÑÑавивÑие ÑÑаÑÑÑÑ Ñ Ð¸Ð½ÑоÑмаÑией об оÑÑлеживании ÑÑек-кода: <b>'+inputedTrackCode+'</b>"></span></div></div></li>'; 6761 } 6762 6763 6764 6765 } 6766 6767 6768 6769 if ( (typeof json.data.trackCodeModified !== "undefined") && (json.data.trackCodeModified !== null) && (json.data.trackCodeModified !== "") && (json.data.trackCodeModified != "") ) { 6770 var trackCodesModified = json.data.trackCodeModified.split(","); 6771 if (trackCodesModified.length == 1) { 6772 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐеÑемаÑкиÑованнÑй ÑÑек-код</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value"><span class="sampleTrackCode active">'+json.data.trackCodeModified+'</span> <i class="fa fa-copy copyToClipBoard" data-for-clipboard="'+json.data.trackCodeModified+'" style=""></i> <span class="fa fa-question-circle" style="cursor:pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="ÐеÑемаÑкиÑованнÑй ÑÑек-код пÑиÑваиваеÑÑÑ Ð¿Ñи пеÑедаÑе поÑÑовой ÑлÑжбе ÑÑÑÐ°Ð½Ñ Ð½Ð°Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи далÑнейÑего оÑÑлеживаниÑ."></span></div></div></li>'; 6773 } 6774 else { 6775 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐеÑемаÑкиÑованнÑй ÑÑек-код</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'; 6776 $.each(trackCodesModified, function(key, value) { 6777 if (key > 0) { 6778 trackInfoToPanel += '<i class="fa fa-angle-double-right" aria-hidden="true"></i>'; 6779 } 6780 trackInfoToPanel += ' <span class="sampleTrackCode active">'+value+'</span> '; 6781 }); 6782 trackInfoToPanel += '<span class="fa fa-question-circle" style="cursor:pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="ÐеÑемаÑкиÑованнÑй ÑÑек-код пÑиÑваиваеÑÑÑ Ð¿Ñи пеÑедаÑе поÑÑовой ÑлÑжбе ÑÑÑÐ°Ð½Ñ Ð½Ð°Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи далÑнейÑего оÑÑлеживаниÑ."></span></div></div></li>'; 6783 } 6784 } 6785 6786 if ( (typeof json.data.mergedTrackCodes !== "undefined") && (json.data.mergedTrackCodes !== null) && (json.data.mergedTrackCodes !== "") && (json.data.mergedTrackCodes != "") ) { 6787 var trackCodesMerged = json.data.mergedTrackCodes.split(","); 6788 if (trackCodesMerged.length == 1) { 6789 6790 } 6791 else { 6792 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐбÑединÑннÑе оÑпÑавлениÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'; 6793 $.each(trackCodesMerged, function(key, value) { 6794 if (key > 0) { 6795 trackInfoToPanel += ', '; 6796 } 6797 trackInfoToPanel += ' <span class="sampleTrackCode active redMarkerActive">'+value+'</span>'; 6798 }); 6799 trackInfoToPanel += ' <span class="fa fa-question-circle" style="cursor:pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="ÐÐ»Ñ ÑменÑÑÐµÐ½Ð¸Ñ ÑÑоимоÑÑи доÑÑавки, логиÑÑиÑеÑÐºÐ°Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¾Ð±Ñединила мелкие пакеÑÑ Ñ ÑÑек-кодами <b>'+trackCodesMerged.join(', ')+'</b> в одно поÑÑовое оÑпÑавление Ñ ÑÑек-кодом <b>'+json.data.trackCodeModified+'</b>."></span></div></div></li>'; 6800 } 6801 } 6802 6803 6804 6805 if ( (typeof json.projectedNextWaypoint !== "undefined") && (json.projectedNextWaypoint !== null) && (json.projectedNextWaypoint !== "") ) { 6806 if (json.projectedNextWaypoint.nextAttribute != null) { 6807 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐжидайÑе ÑÑаÑÑÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+json.projectedNextWaypoint.nextAttribute+'</div></div></li>'; 6808 } 6809 } 6810 6811 6812 6813 if ((typeof json.data.declaredValue !== "undefined") && (json.data.declaredValue !== null) && (json.data.declaredValue !== "")) { 6814 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐбÑÑÐ²Ð»ÐµÐ½Ð½Ð°Ñ ÑенноÑÑÑ</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+json.data.declaredValue+' ÑÑб.</div></div></li>'; 6815 } 6816 if ((typeof json.data.collectOnDeliveryPrice !== "undefined") && (json.data.collectOnDeliveryPrice !== null) && (json.data.collectOnDeliveryPrice !== "")) { 6817 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐаложеннÑй плаÑеж</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+json.data.collectOnDeliveryPrice+' ÑÑб.</div></div></li>'; 6818 } 6819 6820 if ((typeof json.data.allWayTracking !== "und
6820efined") && (json.data.allWayTracking !== null) && (json.data.allWayTracking !== "") && (json.data.upu !== true) && (json.data.events[json.data.events.length - 1].serviceName != 'Track24.ru')) { 6821 if (json.data.allWayTracking === true) { 6822 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐÑÑлеживание</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">до вÑÑÑениÑ</div></div></li>'; 6823 } 6824 else { 6825 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐÑÑлеживание</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">ÑаÑÑиÑное</div></div></li>'; 6826 } 6827 } 6828 6829 if ((typeof json.controlDays !== "undefined") && (json.controlDays !== null) && (json.controlDays !== "")) { 6830 trackInfoToPanel += '<li class="sp"><div class="sp_left"><span class="sp_title">ÐонÑÑолÑнÑй ÑÑок доÑÑавки</span><div class="sp_line"></div></div> <div class="sp_right"><div class="sp_value">'+json.controlDays+' '+numberof(json.controlDays, '', ['денÑ', 'днÑ', 'дней'])+'</div></div></li>'; 6831 } 6832 6833 trackInfoToPanel += '<div style="width:100%; text-align: right;"><span class="trackCodeInComments- trackingInCommentsFlag trackingInCommentsFlagRotatedDown" data-track-code="'+inputedTrackCode+'" title="СвеÑнÑÑÑ Ð¾ÑÑлеживание â¡">
6833<svg width="12" height="11" viewBox="0 0 27 27"><path fill="#ccc" d="M26.7,4.895c-0.4-0.5-1.199-0.5-1.599,0L13.512,19.382L1.923,4.895c-0.4-0.5-1.199-0.5-1.599,0c-0.4,0.5-0.4,1.299,0,1.798L12.613,22.08c0.2,0.3,0.5,0.4,0.899,0.4c0.3,0,0.599-0.1,0.899-0.4L26.7,6.694C27.1,6.194,27.1,5.395,26.7,4.895z"></path></svg></span>'; 6834 6835 trackInfoToPanel += '</ul>'; 6836 6837 if ((json.data.events.length <= 1) && (json.data.events[0].serviceName == 'Track24.ru')) { 6838 trackInfoToPanel += '<p><i class="fa fa-info-circle"></i> ÐÑ Ñожалеем, но инÑоÑмаÑÐ¸Ñ Ð¾ ÑÑек-коде <a href="//track24.ru/?code='+inputedTrackCode+'">'+inputedTrackCode+'</a> еÑе не поÑвилаÑÑ Ð² наÑей ÑиÑÑеме.<br><br> Ðе пеÑеживайÑе! ÐÐ»Ñ Ð·Ð°ÐºÐ°Ð·Ð¾Ð² оÑоÑмленнÑÑ Ð¼ÐµÐ½ÐµÐµ 1 - 2 Ð½ÐµÐ´ÐµÐ»Ñ Ð½Ð°Ð·Ð°Ð´, ÑÑо ноÑмалÑно.<br> Ðак пÑавило, инÑоÑмаÑÐ¸Ñ <b>наÑÐ¸Ð½Ð°ÐµÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÑÑÑÑÑ ÑеÑез 3-7 дней</b>, поÑле полÑÑÐµÐ½Ð¸Ñ ÑÑек-кода</b>.<br> Ðногда, Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа полÑÑÐµÐ½Ð¸Ñ ÑÑек-кода, до наÑала оÑÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑойÑи <b>2 недели</b>.<br> <a href="//track24.ru/?page=faq#1" style="border-bottom: 1px dotted;">ÐодÑобнее в вопÑоÑÐ°Ñ Ð¸ оÑвеÑÐ°Ñ </a>.<br><br> ÐÑли ÑÑек-код не оÑÑлеживаеÑÑÑ Ð±Ð¾Ð»ÐµÐµ 14 дней, как на наÑем ÑайÑе Ñак и на ÑайÑе ÑоÑговой плоÑадки,<br> ÐÑ Ð²Ð¿Ñаве оÑкÑÑÑÑ ÑпоÑ, и ÑÑебоваÑÑ Ð²Ð¾Ð·Ð²ÑÐ°Ñ Ð´ÐµÐ½ÐµÐ³.</p>'; 6839 trackInfoToPanel += '<hr>'; 6840 trackInfoToPanel += '<p>РекомендÑем, на вÑÑкий ÑлÑÑай <a href="//track24.ru/?page=store-info" target="_blank">пÑовеÑиÑÑ Ð¿ÑодавÑа на "вÑивоÑÑÑ"</a>.</p>'; 6841 } 6842 else { 6843 if ((dateDiff(lastOperationDateTime[0], lastDeliveryDateTime[0]) > 0) && (dateDiff(lastOperationDateTime[0], lastDeliveryDateTime[0]) < 14) && (progressBarPercent <100)) { 6844 trackInfoToPanel += '<p><hr>C моменÑа Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñледнего ÑÑаÑÑÑа пÑоÑло вÑего: '+dateDiff(lastOperationDateTime[0], lastDeliveryDateTime[0])+' '+numberof(dateDiff(lastOperationDateTime[0], lastDeliveryDateTime[0]), '', ['денÑ', 'днÑ', 'дней'])+ '<br>ÐÑли ÑÑаÑÑÑ Ð¿Ð¾ÑÑового оÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ðµ менÑеÑÑÑ Ð¼ÐµÐ½ÐµÐµ 14 дней, не ÑÑÐ¾Ð¸Ñ Ð±ÐµÑпокоиÑÑÑÑ, ÑÑо ноÑмалÑное Ñвление Ð´Ð»Ñ Ð¼ÐµÐ¶Ð´ÑнаÑоднÑÑ Ð¿Ð¾ÑÑовÑÑ Ð¾ÑпÑавлений.</p>'; 6845 } 6846 } 6847 6848 6849 trackingInfoEventsDataForClipBoard += 'ÐÑÑлеживаеÑÑÑ: '+json.data.daysTracking+' дней\n'; 6850 trackingInfoEventsDataForClipBoard += '-------------------------'+'\n'; 6851 trackingInfoEventsDataForClipBoard += 'ÐоÑÑоÑÐ½Ð½Ð°Ñ ÑÑÑлка Ð´Ð»Ñ Ð¾ÑÑлеживаниÑ: https://track24.ru/?code='+inputedTrackCode+'\n\r'; 6852 6853 6854 if (progressBarPercent != 100) { 6855 progressBarPercent = Math.round((dateDiff(firstOperationDateTime[0], lastOperationDateTime[0])+1) / averageDeliveryDays * 100); 6856 if (progressBarPercent >= 100) { 6857 progressBarPercent = 90; 6858 } 6859 } 6860 6861 var progress = '<div style="position: relative; /* width: 100%; */ margin-left: -9px; margin-right: -9px;">'; 6862 progress += '<span style=" text-align: center; width: 100%; position: absolute; line-height: 40px;">'; 6863 if (json.data.events[0].source != 'track24') { 6864 progress += '<b>РпÑÑи '+json.data.daysInTransit+ ' '+numberof(json.data.daysInTransit, '', ['денÑ', 'днÑ', 'дней'])+'</b> <span class="fa fa-question-circle hidden-xs" style="cursor:pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="РаÑÑÐµÑ ÑÑоков Ð½Ð°Ñ Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ð¾ÑÑового оÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² пÑÑи, пÑоизводиÑÑÑ Ð¸ÑÑ Ð¾Ð´Ñ Ð¸Ð· двÑÑ Ð´Ð°Ñ:<br> <b>1.</b> ÐаÑа пеÑвого ÑÑаÑÑÑа поÑÑовой ÑлÑжбÑ, либо ÑегоднÑÑнÑÑ Ð´Ð°Ñа ('+firstDeliveryDateTime[0]+').<br><b>2.</b> ÐаÑа пÑибÑÑиÑ, либо ÑегоднÑÑнÑÑ Ð´Ð°Ñа ('+lastDeliveryDateTime[0]+')."></span> <span class="hidden-xs">/</span> <b>ÐÑÑлеживаеÑÑÑ '+json.data.daysTracking+ ' '+numberof(json.data.daysTracking, '', ['денÑ', 'днÑ', 'дней'])+'</b> <span class="fa fa-question-circle hidden-xs" style="cursor:pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="РаÑÑÐµÑ ÑÑоков оÑÑлеживаниÑ, пÑоизводиÑÑÑ Ð¸ÑÑ Ð¾Ð´Ñ Ð¸Ð· двÑÑ Ð´Ð°Ñ:<br><b>1.</b> ÐаÑа, когда ÑÑек-код оÑÑлеживалÑÑ Ð¿ÐµÑвÑй Ñаз ('+trackCreationDateTime[0]+').<br> <b>2.</b> ÐаÑа поÑледнего Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ('+trackUpdateDateTime[0]+')."></span>'; 6865 } 6866 else { 6867 progress += '<b>ÐÑÑлеживаеÑÑÑ '+json.data.daysTracking+ ' '+numberof(json.data.daysTracking, '', ['денÑ', 'днÑ', 'дней'])+'</b> <span class="fa fa-question-circle hidden-xs" style="cursor:pointer;" data-toggle="popover" data-trigger="click hover" data-placement="top" data-html="true" title="СпÑавоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ" data-content="РаÑÑÐµÑ ÑÑоков оÑÑлеживаниÑ, пÑоизводиÑÑÑ Ð¸ÑÑ Ð¾Ð´Ñ Ð¸Ð· двÑÑ Ð´Ð°Ñ:<br><b>1.</b> ÐаÑа, когда ÑÑек-код оÑÑлеживалÑÑ Ð¿ÐµÑвÑй Ñаз ('+trackCreationDateTime[0]+').<br> <b>2.</b> ÐаÑа поÑледнего Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ('+trackUpdateDateTime[0]+')."></span>'; 6868 } 6869 progress += '</span>'; 6870 6871 progress += '<div class="progress progress-striped" style="border-radius: 0em; /* padding-top: 3px; */ /* position: relative;*/">'; 6872 progress += '<div aria-valuemax="100" aria-valuemin="0" aria-valuenow="'+progressBarPercent+'" class="progress-bar progress-bar-info" role="progressbar" style="color: #000000; text-align:center; white-space:nowrap; padding-top:10px; font-size: 16px;"></div>'; 6873 progress += '</div>'; 6874 progress += '</div>'; 6875 6876 6877 $('#trackingInfo2').prepend(progress); 6878 6879 if ((typeof json.notice !== 'undefined') && (json.notice !== null) && (json.notice !== "") && (json.notice.length > 0)) { 6880 $.each(json.notice, function(key, value) { 6881 $('#trackingInfo2').append(trackingNotice(value['type'], value['title'], value['text'], value['spoiler'], value['link'], value['img'], value['details'])); 6882 }); 6883 } 6884 6885 $('#trackingInfo2').append('<hr><div class="">'+trackInfoToPanel+'</div><div class="clear"></div>'); 6886 6887 $(".trackingInCommentsFlagRotatedDown").unbind(); 6888 $(".trackingInCommentsFlagRotatedDown").bind("click", function(e) { 6889 6890 $(this).fadeOut(3000); 6891 if ($('#trackingInfo2').length > 0) { 6892 $('html, body').animate({scrollTop: $(".trackingInCommentsFlagRotated").offset().top - 190}, 300, 'swing', function(){ 6893 $("#trackingInfo2").slideUp(300, function() { 6894 $("#trackingInfo2").empty().remove(); 6895 $(".trackingInCommentsFlagRotated").removeClass("trackingInCommentsFlagRotated"); 6896 });
6897 }); 6898 } 6899 }); 6900 6901 $(window).scroll(function() { 6902 //console.log($(".tracking-notice-block-text-wrapper").visible()); 6903 if ($(".tracking-notice-block-text-wrapper").visible() === true) { 6904 setTimeout( function() { 6905 $('.tracking-notice-block-text-wrapper').find(".tracking-notice-block-redMarker").removeClass('tracking-notice-block-redMarker').addClass('tracking-notice-block-redMarkerActive'); 6906 }, 1000); 6907 } 6908 6909 //console.log($(".well").visible()); 6910 if ($(".well").visible() === true) { 6911 setTimeout( function() { 6912 $('.well').find(".redMarker").removeClass('redMarker').addClass('redMarkerActive'); 6913 }, 1600); 6914 } 6915 //console.log($("#projectedDate").visible()); 6916 if ($("#projectedDate").visible() === true) { 6917 setTimeout( function() { 6918 $('#projectedDate').removeClass('redMarker').addClass('redMarkerActive'); 6919 }, 2000); 6920 } 6921 6922 }); 6923 6924 $('[data-toggle="popover"]').popover({html:'true'}); 6925 6926 if (findBootstrapEnvironment() === "xs") { 6927 $('.sp').addClass('sp_m').removeClass('sp'); 6928 $('.sp_left').addClass('sp_left_m').removeClass('sp_left'); 6929 $('.sp_title').addClass('sp_title_m').removeClass('sp_title'); 6930 $('.sp_line').addClass('sp_line_m').removeClass('sp_line'); 6931 $('.sp_right').addClass('sp_right_m').removeClass('sp_right'); 6932 $('.sp_value').addClass('sp_value_m').removeClass('sp_value'); 6933 } 6934 6935 6936 $('.tracking-notice-block-spoiler').unbind(); 6937 $(".tracking-notice-block-spoiler").bind("click", function(e) { 6938 $(".tracking-notice-block-spoiler").toggleClass("tracking-notice-block-spoiler-rotated"); 6939 if ($(".tracking-notice-block-spoiler").hasClass("tracking-notice-block-spoiler-rotated") === true) { 6940 6941 $(".tracking-notice-block-spoiler-content").slideDown(500); 6942 } 6943 else { 6944 $(".tracking-notice-block-spoiler-content").slideUp(500); 6945 } 6946 6947 }); 6948 6949 6950 if ((device.desktop()) && (groupEventsByServiceTrigger != true) && (hideDublicateEventsTrigger != true)) { 6951 $(".trackingInfoRow2").tooltip({title: "Ðлик левой кнопки мÑÑи Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÑаÑÑÑа в бÑÑÐµÑ Ð¾Ð±Ð¼ÐµÐ½Ð°.", placement: 'left', delay : { show: 3000} }); 6952 $(".trackingInfoRow2").bind("click", function(e) { 6953 6954 var rowElement = this; 6955 var selectedEventDataForClipBoard = "ÐнÑоÑмаÑÐ¸Ñ Ð¾ ÑÑек-коде: "+inputedTrackCode+"\n"; 6956 selectedEventDataForClipBoard += events[0][$(this).index()]["operationDateTime"]+" ["+events[0][$(this).index()]["serviceName"]+"]\n"; 6957 selectedEventDataForClipBoard += (typeof events[0][$(this).index()]["operationAttributeTranslated"] !== 'undefined') ? $.trim(events[0][$(this).index()]["operationAttributeTranslated"])+"\n" : $.trim(events[0][$(this).index()]["operationAttributeOriginal"])+"\n"; 6958 if (eventsArray[$(this).index()]["operationTypeTranslated"] != "") { 6959 selectedEventDataForClipBoard += (typeof eventsArray[$(this).index()]["operationTypeTranslated"] !== 'undefined') ? $.trim(eventsArray[$(this).index()]["operationTypeTranslated"])+"\n" : $.trim(eventsArray[$(this).index()]["operationTypeOriginal"])+"\n"; 6960 } 6961 selectedEventDataForClipBoard += ((typeof events[0][$(this).index()]["operationPlacePostalCode"] !== 'undefined') && (events[0][$(this).index()]["operationPlacePostalCode"] !== "")) ? $.trim(events[0][$(this).index()]["operationPlacePostalCode"])+" " : ""; 6962 selectedEventDataForClipBoard += ((typeof events[0][$(this).index()]["operationPlaceNameTranslated"] !== 'undefined') && (events[0][$(this).index()]["operationPlaceNameTranslated"] !== "")) ? $.trim(events[0][$(this).index()]["operationPlaceNameTranslated"])+"\n" : $.trim(events[0][$(this).index()]["operationPlaceNameOriginal"])+"\n"; 6963 selectedEventDataForClipBoard += 'ÐÑÑледиÑÑ Ð½Ð° ÑайÑе: https://track24.ru/?code='+inputedTrackCode+"\n"; 6964 try { 6965 navigator.clipboard.writeText(selectedEventDataForClipBoard).then(function() { 6966 6967 $(rowElement).attr('data-original-title', "Copied!").tooltip("hide").tooltip('show'); 6968 6969 setTimeout(function() { 6970 $(rowElement).attr('data-original-title', "Ðлик левой кнопки мÑÑи Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÑаÑÑÑа в бÑÑÐµÑ Ð¾Ð±Ð¼ÐµÐ½Ð°."); 6971 }, 1000); 6972 6973 }, function(err) { 6974 console.error('Async: Could not copy text: ', err); 6975 });
6976 } catch (err) { 6977 console.log(err); 6978 console.log('Oops, unable to copy'); 6979 } 6980 6981 }); 6982 } 6983 6984 //First / Last 6985 if ($(".trackingInfoStatus2").length > 1) { 6986 $('.trackingInfoStatus2').each(function(i) { 6987 if (i == 0) { 6988 $(this).addClass('trackingInfoStatusFirst2'); 6989 } 6990 if (i == $(".trackingInfoStatus2").length-1) { 6991 $(this).addClass('trackingInfoStatusLast2'); 6992 } 6993 }); 6994 } 6995 //First / Last 6996 6997 if (hideProjectedDeliveryPeriodTrigger == true) { 6998 $("#projectedDeliveryPeriodBeforeEvents2").css('visibility', 'hidden'); 6999 $(".projectedDeliveryPeriodAffterEvents2").hide(); 7000 } 7001 7002 // 7003 $('#translateEvents').bind('click', function() { 7004 $('.operationAttribute, .operationPlace').each(function(i) { 7005 var translatedElement = $(this); 7006 if ($.trim($(this).text().length) > 1) { 7007 if ((typeof $(this).attr("originalText") === "undefined") || ($(this).attr("originalText") === null) || ($(this).attr("originalText") === "")) { 7008 $(this).attr("originalText", $(this).text()); 7009 } 7010 7011 $(this).html('<i class="fa fa-spinner fa-spin"></i> ÐеÑеводим....'); 7012 $.ajax({
7013 url : '/ajax/translate.ajax.php', 7014 data : {'from': 'en', 'to': 'ru', 'text' : $.trim($(this).attr("originalText"))}, 7015 type : 'POST', 7016 dataType : 'json', 7017 success : function(json){ 7018 if (json) { 7019 if (json.status == 'ok') { 7020 if (json.translatedText !== null) { 7021 translatedElement.attr("translatedText", json.translatedText); 7022 } 7023 7024 if ((typeof translatedElement.attr("translatedText") !== "undefined") && (translatedElement.attr("translatedText") !== null) && (translatedElement.attr("translatedText") !== "")) { 7025 translatedElement.text(translatedElement.attr("translatedText")); 7026 translatedElement.addClass("myTooltip"); 7027 translatedElement.addClass("auto-tooltip"); 7028 translatedElement.attr("data-toggle", 'tooltip'); 7029 translatedElement.attr("data-placement", 'left'); 7030 translatedElement.attr("data-title", translatedElement.attr("originalText")); 7031 translatedElement.tooltip({container: 'body'}); 7032 } 7033 else { 7034 translatedElement.text(translatedElement.attr("originalText")); 7035 } 7036 7037 7038 7039 } 7040 } 7041 }, 7042 error: function() { 7043 translatedElement.text('УпÑ... ÐÑоизоÑла оÑибка пеÑевода... '); 7044 } 7045 }); 7046 } 7047 }); 7048 7049 $('#translateEvents').unbind(); 7050 $(this).delay(100).fadeOut().queue(function(){ 7051 $(this).html('<i class="fa fa-check" style="color:green;"></i> <span class="dotted">ÐеÑеведено</span>').fadeIn().dequeue(); 7052 }); 7053 7054 }); 7055 7056 var allEventsToClipboard = new Clipboard('#trackingInfoEventsClipBoard', { 7057 text: function() { 7058 return trackingInfoEventsDataForClipBoard; 7059 } 7060 }); 7061 7062 allEventsToClipboard.on('success', function(e) { 7063 $('#trackingInfoEventsClipBoard').delay(100).fadeOut().queue(function(){ 7064 $('#trackingInfoEventsClipBoard').html('<i class="fa fa-check" style="color:green;"></i> <span class="dotted">СкопиÑовано</span>').fadeIn().dequeue(); 7065 $('#trackingInfoEventsClipBoard').unbind(); 7066 }); 7067 }); 7068 var lastEventsToClipboard = new Clipboard('#lastEventClipBoard', { 7069 text: function() { 7070 return lastEventDataForClipBoard; 7071 } 7072 }); 7073 7074 lastEventsToClipboard.on('success', function(e) { 7075 $('#lastEventClipBoard').delay(100).fadeOut().queue(function(){ 7076 $('#lastEventClipBoard').html('<i class="fa fa-check" style="color:green;"></i> <span class="dotted">СкопиÑовано</span>').fadeIn().dequeue(); 7077 $('#lastEventClipBoard').unbind(); 7078 }); 7079 }); 7080 7081 $('#groupEventsByService').click(function(e){ 7082 groupEventsByServiceTrigger ^= true; 7083 $.Storage.set('groupEventsByServiceTrigger', ''+groupEventsByServiceTrigger+''); 7084 $('html, body').animate({ 7085 scrollTop: $("#mainContainer").offset().top - 10 7086 }, 1000); 7087 tracking(); 7088 }); 7089 $('#hideDublicateEvents').click(function(e){ 7090 hideDublicateEventsTrigger ^= true; 7091 $.Storage.set('hideDublicateEventsTrigger', ''+hideDublicateEventsTrigger+''); 7092 if (hideDublicateEventsTrigger == false) { 7093 $(".dublicateEventRow").slideDown(1000); 7094 var hideDublicateEventsText = (hideDublicateEventsTrigger == true ) ? "ÐÑобÑазиÑÑ Ð´ÑбликаÑÑ" : "СкÑÑÑÑ Ð´ÑбликаÑÑ"; 7095 $('#hideDublicateEvents > span').text(hideDublicateEventsText); 7096 $('html, body').animate({ 7097 scrollTop: $("#mainContainer").offset().top - 10 7098 }, 1000); 7099 } 7100 else { 7101 $('html, body').animate({ 7102 scrollTop: $("#mainContainer").offset().top - 10 7103 }, 1000); 7104 tracking(); 7105 } 7106 7107 }); 7108 7109 7110 $('#sortEvents').click(function(e){
7111 sortEventsTrigger ^= true; 7112 $.Storage.set('sortEventsTrigger', ''+sortEventsTrigger+''); 7113 $('html, body').animate({ 7114 scrollTop: $("#mainContainer").offset().top - 10 7115 }, 1000); 7116 tracking(); 7117 }); 7118 7119 7120 $('.sampleTrackCode').unbind(); 7121 $('.sampleTrackCode').bind('click', function() { 7122 $("#inputTrackCode").val($(this).text()); 7123 tracking(); 7124 }); 7125 $('.myTooltip').tooltip(); 7126 var bar = $('.progress-bar'); 7127 7128 /* копиÑование в бÑÑÑÐµÑ Ð¸Ð· оÑÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð² комменÑаÑиÑÑ */ 7129 $("#trackingInfo2").find(".copyToClipBoard").click(function(e) { 7130 console.log(".copyToClipBoard in tracking"); 7131 e.stopPropagation(); 7132 var trackCodeForClipBoard = $(this).attr("data-for-clipboard"); 7133 var el = $(this); 7134 try { 7135 navigator.clipboard.writeText(trackCodeForClipBoard).then(function() { 7136 $(el).attr('data-original-title', "СкопиÑовано!").tooltip("hide").tooltip('show'); 7137 setTimeout(function() { 7138 $(el).tooltip("destroy"); 7139 }, 1000); 7140 7141 }, function(err) { 7142 console.error('Async: Could not copy text: ', err); 7143 alert('Async: Could not copy text: '+ err); 7144 }); 7145 } catch (err) { 7146 console.log(err); 7147 console.log('Oops, unable to copy'); 7148 alert(err); 7149 } 7150 return false; 7151 }); 7152 7153 $(function(){ 7154 $(bar).each(function(){ 7155 bar_width = $(this).attr('aria-valuenow'); 7156 $(this).width(bar_width + '%'); 7157 7158 }); 7159 }); 7160 7161 $('.printTracking').click(function(e){ 7162 $("#trackingInfo2").printThis( { 7163 debug: false, 7164 importCSS: true, 7165 importStyle: true, 7166 printContainer: true, 7167 pageTitle: "ÐнÑоÑмаÑÐ¸Ñ Ð¿ÑедоÑÑавлена ÑиÑÑемой оÑÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ÑÑовÑÑ Ð¾ÑпÑавлений: Track24.ru", 7168 printDelay: 333, 7169 removeInline:false 7170 }); 7171 }); 7172 7173 7174 7175 $('.upTrackCode').bind('click', function(e) { 7176 $.ajax({
7177 url: '/ajax/upTrackCode.ajax.php', 7178 data : {'code' : inputedTrackCode}, 7179 type: 'GET', 7180 dataType: 'json', 7181 success: function(data){ 7182 }, 7183 beforeSend : function() { 7184 7185 }, 7186 complete: function() { 7187 }, 7188 error: function() { 7189 } 7190 }); 7191 7192 7193 var imElement = $(this); 7194 imElement.fadeOut( function() { 7195 imElement.attr("src", "https://track24.ru/img/updated-in-square.jpg?3").fadeIn(); 7196 setTimeout(function() { 7197 imElement.fadeOut(function() { 7198 imElement.attr("src", "https://track24.ru/img/ali-logo-in-square.jpg").attr("title", "ÐеÑейÑи на AliExpress за покÑпками").fadeIn(700); 7199 imElement.unbind(); 7200 imElement.bind('click', function(e) { 7201 window.open( 7202 'https://track24.ru/?g=upTrackCode', 7203 '_blank' 7204 ); 7205 }); 7206 }); 7207 }, 2300); 7208 7209 }); 7210 }); 7211 7212 $('.showDeliveredStatChart').bind('click', function(e) { 7213 var currentPrefix = $(this).attr("data-prefix"); 7214 var currentPostfix = $(this).attr("data-postfix"); 7215 showDeliveredStatChart(currentPrefix, currentPostfix); 7216 }); 7217 7218 7219 var trackCatClickCounter = 0; 7220 $(".trackCat").click(function() { 7221 trackCatClickCounter = trackCatClickCounter + 1; 7222 if (trackCatClickCounter == 3) { 7223 $('.embed').remove(); 7224 $('body').append('<audio id="meow" class="embed" src="//track24.ru/files/mp3/meow.mp3" preload="auto"></audio>'); 7225 document.getElementById('meow').play(); 7226 } 7227 if (trackCatClickCounter == 5) { 7228 $('.embed').remove(); 7229 $('body').append('<audio id="meow" class="embed" src="//track24.ru/files/mp3/mrrr.mp3" preload="auto"></audio>'); 7230 document.getElementById('meow').play(); 7231 } 7232 if (trackCatClickCounter > 5) { 7233 trackCatClickCounter = 0; 7234 } 7235 }); 7236 7237 7238 7239 /* 7240 setTimeout(function() { 7241 7242 7243 try { 7244 if (typeof addthis.layers.refresh === "function") { 7245 addthis.layers.refresh(); 7246 } 7247 } catch(e) { 7248 console.log('Error: ' + e.name + ":" + e.message + "\n" + e.stack); 7249 } 7250 7251 }, 500); 7252 */ 7253 7254 $('#routeOriginCountry, #routeDestinationCountry').bind('click', function(e) { 7255 //var aa = $(this).attr("action"); 7256 var addrr = $(this).text(); 7257 console.log(addrr); 7258 var dialogHtml = '<div class="my-mfp-white-popup zoom-anim-dialog"> <fieldset class="content"><legend> <b><font color="#1B81B1">'+addrr+'</font></b> </legend><div class="map" id="YMapsID" style="margin:5px; width: 98%; height: 400px; border: 0px #000000 solid;"></div></fieldset></div>'; 7259 $.magnificPopup.open({ 7260 items: { src: dialogHtml}, 7261 type: 'inline', 7262 fixedBgPos: false, 7263 fixedContentPos: true, 7264 overflowY: 'scroll', 7265 closeBtnInside: true, 7266 preloader: false, 7267 midClick: false, 7268 removalDelay: 400, 7269 mainClass: 'my-mfp-zoom-in', 7270 alignTop:false, 7271 showCloseBtn: true, 7272 closeMarkup: '<button title="%title%" type="button" class="mfp-close"></button>', 7273 callbacks: { 7274 open: function() { 7275 $('.navbar-fixed-top').css('overflow-y', 'scroll'); 7276 7277 7278 $.getScript('https://api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU&apikey=56f90107-af88-461a-9880-839fbac1cdbd').done(function() { 7279 ymaps.ready(init); 7280
7281 function init() { 7282 ymaps.geocode(addrr, { results: 1 }).then(function(res) { 7283 myMap = new ymaps.Map("YMapsID", { 7284 center: res.geoObjects.get(0).geometry.getCoordinates(), 7285 zoom: 10 7286 }); 7287 myMap.container.fitToViewport(); 7288 var myPlacemark = window.lastPoint = new ymaps.Placemark(res.geoObjects.get(0).geometry.getCoordinates(), { 7289 balloonContent: '<i class="fa fa-building"></i> '+addrr, 7290 }, 7291 { 7292 preset: "twirl#buildingsIcon", 7293 balloonCloseButton: true, 7294 hideIconOnBalloonOpen: true 7295 }); 7296 myMap.geoObjects.add(myPlacemark); 7297 myMap.controls.add('zoomControl'); 7298 }); 7299 7300 } 7301 7302 }); 7303 7304 7305 7306 }, 7307 close: function() { 7308 $('.navbar-fixed-top').css('overflow-y', 'hidden'); 7309 } 7310 } 7311 7312 7313 }); 7314 7315 }); 7316 7317 7318 7319 7320 } 7321 else if ((json.status == 'ok') && ((typeof json.data.events === "undefined") || (json.data.events !== null) || (json.data.events !== ""))) { 7322 $('#trackingInfo2').html('<div class="panel panel-danger" style="margin-top:20px;"><div class="panel-heading"><h4 class="panel-title">ÐÑибка</h4></div><div class="panel-body">Ð ÑожалениÑ, инÑоÑмаÑÐ¸Ñ Ð¾ поÑÑовом оÑпÑавлении Ñ Ð½Ð¾Ð¼ÐµÑом <b>'+inputedTrackCode+'</b> не найдена.</br>ÐопÑобÑйÑе еÑе Ñаз, но ÑÑÑÑ Ð¿Ð¾Ð·Ð¶Ðµ, напÑÐ¸Ð¼ÐµÑ Ð·Ð°Ð²ÑÑа...<br>Ðли заÑегиÑÑÑиÑÑйÑеÑÑ Ð¸ добавÑÑе ÑÑек-код в иÑÑоÑÐ¸Ñ Ð¾ÑÑлеживаниÑ, и Ð¼Ñ Ñведомим ÐаÑ, как ÑолÑко обновиÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¿Ð¾ ÐаÑÐµÐ¼Ñ ÑÑек-кодÑ!</div><div class="panel-footer"><p><b>ÐоÑÑоÑÐ½Ð½Ð°Ñ ÑÑÑлка Ð´Ð»Ñ Ð¾ÑÑлеживаниÑ</b>: <a href="//track24.ru/?code='+inputedTrackCode+'" style="border-bottom: 1px dotted;">https://track24.ru/?code='+inputedTrackCode+'</a></p></div></div>'); 7323 7324 } 7325 7326 else if (json.status == 'error') { 7327 $('#trackingInfo2').html('<div class="panel panel-danger" style="margin-top:20px;"><div class="panel-heading"><h4 class="panel-title">ÐÑибка</h4></div><div class="panel-body">'+json.message+'</div></div>'); 7328 $('.addTransportCompany').click(function(e){ 7329 addTransportCompany(); 7330 }); 7331 7332 $('.sampleTrackCode').unbind(); 7333 $('.sampleTrackCode').bind('click', function() { 7334 $("#inputTrackCode").val($(this).text()); 7335 tracking(); 7336 }); 7337 7338 $('[data-toggle="popover"]').popover({html:'true'}); 7339 $('[data-toggle="tooltip"]').tooltip(); 7340 7341 var trackCatClickCounter = 0; 7342 $(".trackCat").click(function() { 7343 trackCatClickCounter = trackCatClickCounter + 1; 7344 if (trackCatClickCounter == 10) { 7345 $('.embed').remove(); 7346 $('body').append('<audio id="meow" class="embed" src="//track24.ru/files/mp3/meow.mp3" preload="auto"></audio>'); 7347 document.getElementById('meow').play(); 7348 } 7349 if (trackCatClickCounter == 15) { 7350 $('.embed').remove(); 7351 $('body').append('<audio id="meow" class="embed" src="//track24.ru/files/mp3/mrrr.mp3" preload="auto"></audio>'); 7352 document.getElementById('meow').play(); 7353 } 7354 if (trackCatClickCounter > 15) { 7355 trackCatClickCounter = 0; 7356 } 7357 }); 7358 7359 7360 } 7361 else { 7362 $('#trackingInfo2').html('<div class="panel panel-danger" style="margin-top:20px;"><div class="panel-heading"><h4 class="panel-title">ÐÑибка</h4></div><div class="panel-body">ÐÑибка полÑÑÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ . ÐожалÑйÑÑа ÑообÑиÑе ÑазÑабоÑикам!</div><div class="panel-footer"><p><b>ÐоÑÑоÑÐ½Ð½Ð°Ñ ÑÑÑлка Ð´Ð»Ñ Ð¾ÑÑлеживаниÑ</b>: <a href="//track24.ru/?code='+inputedTrackCode+'" style="border-bottom: 1px dotted;">https://track24.ru/?code='+inputedTrackCode+'</a></p></div></div>'); 7363 } 7364} 7365 7366function checkApiTrackingUrlAvailability(checkUrl, callback) { 7367 try { 7368 $.ajax({
7369 url : checkUrl, 7370 type : 'GET', 7371 data : {'action' : "check"}, 7372 dataType: 'json', 7373 success : function(json){ 7374 if (json) { 7375 if (json.status == "ok") { 7376 if (json.message == "success") { 7377 callback(true); 7378 } 7379 else { 7380 callback(false); 7381 } 7382 } 7383 else { 7384 callback(false); 7385 } 7386 } 7387 else { 7388 callback(false); 7389 } 7390 }, 7391 error: function(objAJAXRequest, strError, errorThrown) { 7392 var dataArray = [clientIp, clientCountryCode, strError, errorThrown, objAJAXRequest['status'], window.location.href, checkUrl, navigator.userAgent]; 7393 console.log("checkApiTrackingUrlAvailability Error!"); 7394 console.log(dataArray); 7395 $.ajax({ 7396 url: '/ajax/tracking.error.logger.ajax.php', 7397 data : {'data' : dataArray}, 7398 type: 'POST', 7399 dataType: 'json', 7400 }); 7401 callback(false); 7402 } 7403 }); 7404 } 7405 catch (err) { 7406 console.log("checkApiTrackingUrlAvailability error: "+err); 7407 callback(false); 7408 } 7409} 7410 7411 7412function serviceInfoBuilder(inputedTrackCode, dataJson) { 7413 var json = dataJson; 7414 var trackCode = inputedTrackCode; 7415 $('#trackingPrepand').html('<i class="fa fa-barcode"></i>'); 7416 $('.availableServiceCode').fadeOut(400); 7417 7418 if (json.status == 'ok') { 7419 var trackingAvailableServicesUrls = []; 7420 $.each(json.services, function(key, value) { 7421 if ((value != "UPU") && (value != "DBPOST") && (value != "INTRU") && (value != "RUPOST")) { 7422 trackingAvailableServicesUrls.push('<a href="https://track24.ru/service/'+value.toLowerCase()+'/tracking/'+trackCode+'" title="'+json.serviceNames[value]+'" service-code="'+value+'" class="dotted myTooltip availableServiceCode" data-toggle="tooltip" data-placement="bottom" style="margin-right:5px; display:none;">'+value+'</a>'); 7423 } 7424 }) 7425
7426 $('#trackingAvailableServices').html(trackingAvailableServicesUrls.join(' ')); 7427 7428 if (trackingAvailableServicesUrls.length >= 12) { 7429 $('#trackingAvailableServices').removeClass("trackingAvailableServices").addClass("trackingAvailableServices_2"); 7430 $('#lastTrackCodesWrapper').removeClass("lastTrackCodesWrapper").addClass("lastTrackCodesWrapper_2"); 7431 $('#lastTrackCodesNotice').removeClass("lastTrackCodesNotice").addClass("lastTrackCodesNotice_2"); 7432 $('#browserExtension').removeClass("browserExtension").addClass("browserExtension_2"); 7433 } 7434 else { 7435 $('#trackingAvailableServices').removeClass("trackingAvailableServices_2").addClass("trackingAvailableServices"); 7436 $('#lastTrackCodesWrapper').removeClass("lastTrackCodesWrapper_2").addClass("lastTrackCodesWrapper"); 7437 $('#lastTrackCodesNotice').removeClass("lastTrackCodesNotice_2").addClass("lastTrackCodesNotice"); 7438 $('#browserExtension').removeClass("browserExtension_2").addClass("browserExtension"); 7439 } 7440 7441 7442 $('.availableServiceCode').each(function(i, t) { 7443 var $this = $(t); 7444 setTimeout(function(){ 7445 $this.fadeIn(400); 7446 $this.tooltip(); 7447 }, i*100); 7448 }); 7449 } 7450 7451} 7452 7453 7454function lastTrackCodesBuilder(inputedTrackCode) { 7455 if ((typeof inputedTrackCode === "undefined") || (inputedTrackCode === null) || (inputedTrackCode === "")) { 7456 var lastTrackCodesArray = JSON.parse($.Storage.get("lastTrackCodes")); 7457 if (lastTrackCodesArray.length > 0) { 7458 lastTrackCodesArray.reverse(); 7459 $("#exampleTrackCodes").hide(); 7460 $("#lastTrackCodesWrapper").show(); 7461 $("#lastTrackCodes").empty(); 7462 $.each(lastTrackCodesArray, function(index, value) { 7463 $('#lastTrackCodes').append('<span class="sampleTrackCode active" style="margin-right:10px; margin-bottom:3px;">'+value+'</span> '); 7464 }); 7465 7466 var cws = 0; 7467 $("#lastTrackCodes > .sampleTrackCode").each(function() { 7468 var cWidth = $(this).width(); 7469 cws = Number(cws) + Number(cWidth); 7470 if ((Number(cws)+Number(25)) > $("#lastTrackCodesWrapper").width()) { 7471 $(this).hide(); 7472 } 7473 }); 7474 7475 7476 7477 } 7478 else { 7479 $("#exampleTrackCodes").show(); 7480 } 7481 7482 $("#lastTrackCodesWrapper").hover(function () { 7483 7484 window.initHandler = setTimeout(handler, 1300); 7485 var $this = this; 7486 function handler() { 7487 if ($(".lastTrackCodesCleaner").length === 0) { 7488 $('#lastTrackCodes').append('<span class="lastTrackCodesCleaner" title="ÐÑиÑÑиÑÑ ÑпиÑок"><i class="fa fa-times text-danger" aria-hidden="true"></i></span>'); 7489 //$('#lastTrackCodesWrapper').append('<span class="lastTrackCodesCleaner" title="ÐÑиÑÑиÑÑ ÑпиÑок"><i class="fa fa-times text-danger" aria-hidden="true"></i></span>'); 7490 $('#lastTrackCodesWrapper').bind('mouseleave', function() { 7491 setTimeout( function() { 7492 $(".lastTrackCodesCleaner").remove(); 7493 }, 300); 7494 7495 7496 }); 7497 $('.lastTrackCodesCleaner').bind('click', function() { 7498 $.Storage.set('lastTrackCodes' , JSON.stringify([])); 7499 $(".lastTrackCodesCleaner").remove(); 7500 $("#exampleTrackCodes").show(); 7501 $("#lastTrackCodesWrapper").hide(); 7502 $("#lastTrackCodes").empty(); 7503 7504 var tmpcookie = document.cookie.split(';'); 7505 while(name = tmpcookie.pop()) { 7506 $.cookie($.trim(name.split('=')[0]), null); 7507 } 7508 7509 7510 7511 }); 7512 } 7513 7514 7515 7516 } 7517 }, function () { 7518 clearTimeout( window.initHandler ); 7519 }); 7520 7521 7522 7523 7524 7525 } 7526 else { 7527 var myRegExp = /[Ð-Яа-Ñ]+/; 7528 var match = myRegExp.exec(inputedTrackCode); 7529 if (match === null) { 7530 var lastTrackCodesArray = JSON.parse($.Storage.get("lastTrackCodes")); 7531 if (jQuery.inArray(inputedTrackCode, lastTrackCodesArray) == -1) { 7532 lastTrackCodesArray.push(escape(inputedTrackCode));
7533 if (lastTrackCodesArray.length > 5) { 7534 lastTrackCodesArray.reverse(); 7535 lastTrackCodesArray.length = 5; 7536 lastTrackCodesArray.reverse(); 7537 } 7538 7539 $.Storage.set('lastTrackCodes' , JSON.stringify(lastTrackCodesArray)); 7540 if (lastTrackCodesArray.length > 0) { 7541 lastTrackCodesArray.reverse(); 7542 $("#exampleTrackCodes").hide(); 7543 $("#lastTrackCodesWrapper").show(); 7544 $("#lastTrackCodes").empty(); 7545 $.each(lastTrackCodesArray, function(index, value) { 7546 $('#lastTrackCodes').append('<span class="sampleTrackCode active" style="margin-right:10px; margin-bottom:3px;">'+value+'</span> '); 7547 }); 7548 7549 } 7550 } 7551 } 7552 } 7553} 7554 7555function autoUpdate(){ 7556 $('.autoUpdateHistory').unbind(); 7557 $('.autoUpdateHistory').addClass('disabled'); 7558 $('.autoUpdateHistory').addClass('fa-spin'); 7559 7560 7561 $("#trackingButton").toggleClass('disabled'); 7562 $("#trackingButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-binoculars"); 7563 $(".load-bar-disabled").show(); 7564 $(".load-bar").toggleClass('active'); 7565 7566 var queue = new Array(); 7567 $('.myTrackingNumbersCard').each(function() { 7568 queue.push($(this).attr("data-trackcode")); 7569 }); 7570 if (queue.length > 0) { 7571 autoUpdateQueue(queue, 1); 7572 } 7573 7574} 7575 7576function autoUpdateQueue(queue, n) { 7577 var readyForAutoUpdate = 0; 7578 var totalCount = $(".myTrackingNumbersCard").length; 7579 var activeCount = $(".myTrackingNumbersCardActive").length; 7580 var currentElementIndex = totalCount - queue.length; 7581 7582 7583 $('.myTrackingNumbersCardActive').each(function() { 7584 if (($(this).attr("data-update-diff-minutes") >= minMinutesForMultiTracking) && ($(this).attr("data-delivered-status") == 0)) { 7585 readyForAutoUpdate = readyForAutoUpdate + 1; 7586 } 7587 }); 7588 7589 7590 $('.multiTrackingCounter').find("span").text(n +' / '+readyForAutoUpdate); 7591 7592 if (queue.length > 0) { 7593 var ct = queue.shift(); 7594 if ($(".myTrackingNumbersCard").length > 0) { 7595 if ($(".myTrackingNumbersCard").eq(currentElementIndex).attr("class").indexOf("myTrackingNumbersCardArchive") < 0) { 7596 if (($(".myTrackingNumbersCard").eq(currentElementIndex).attr("data-update-diff-minutes") >= minMinutesForMultiTracking) && ($(".myTrackingNumbersCard").eq(currentElementIndex).attr("data-delivered-status") == 0)) { 7597 var n = n + 1; 7598 var lng = $.Storage.get("lng"); 7599 7600 7601 //23.03.2025 7602 $(".myTrackingNumbersCard").eq(currentElementIndex).find(".myTrackingNumbersSetting").find(".fa").hide(); 7603 $(".myTrackingNumbersCard").eq(currentElementIndex).find(".myTrackingNumbersSetting").append('<i class="fa fa-spinner fa-spin"></i>'); 7604 $(".myTrackingNumbersCard").eq(currentElementIndex).addClass('active'); 7605 7606 setTimeout(function(){ 7607 7608 $.ajax({
7609 url : trackingUrl, 7610 crossDomain: true, 7611 data : {'code' : ct, 'selectedService':selectedService, 'lng':lng, 'sort':sortEventsTrigger, 'grouped':groupEventsByServiceTrigger, 'type': 'update', 'key':trackingKey, 'clientIp':clientIp, 'uuid':uuid, 'fingerprint': $.Storage.get("fingerprint"), 'auto':true}, 7612 type : 'POST', 7613 dataType : trackingDataType, 7614 timeout : (trackingTimeOut), 7615 success: function(json) { 7616 7617 if (json.status == 'ok') { 7618 7619 if (json && json.challenge && json.challenge === true) { 7620 $("#turnstile-container").show(); 7621 loadTurnstileScript(function () { 7622 turnstile.render('#turnstile-container', { 7623 sitekey: '0x4AAAAAAA9kACzU3nI8h1V0', 7624 size: 'flexible', 7625 theme: 'light', 7626 callback: function (cf_turnstile_response) { 7627 verifyCaptcha(cf_turnstile_response); 7628 } 7629 }); 7630 }); 7631 return false; 7632 } 7633 } 7634 7635 $(".myTrackingNumbersCard").eq(currentElementIndex).find(".myTrackingNumbersSetting").find(".fa-spinner").remove(); 7636 $(".myTrackingNumbersCard").eq(currentElementIndex).find(".myTrackingNumbersSetting").find(".fa").show(); 7637 $(".myTrackingNumbersCard").eq(currentElementIndex).removeClass('active'); 7638 7639 7640 7641 7642 7643 7644 }, 7645 complete: function(){ 7646 7647 7648 $(".myTrackingNumbersCard").eq(currentElementIndex).find(".myTrackingNumbersSetting").find(".fa-spinner").remove(); 7649 $(".myTrackingNumbersCard").eq(currentElementIndex).find(".myTrackingNumbersSetting").find(".fa").show(); 7650 $(".myTrackingNumbersCard").eq(currentElementIndex).removeClass('active'); 7651 7652 autoUpdateQueue(queue, n); 7653 7654 7655 }, 7656 beforeSend : function() { 7657 $(".myTrackingNumbersCard").eq(currentElementIndex).find(".myTrackingNumbersSetting").find(".fa").hide(); 7658 $(".myTrackingNumbersCard").eq(currentElementIndex).find(".myTrackingNumbersSetting").append('<i class="fa fa-spinner fa-spin"></i>'); 7659 $(".myTrackingNumbersCard").eq(currentElementIndex).addClass('active'); 7660 7661 7662 }, 7663 error: function(objAJAXRequest, strError) { 7664 console.log("ajax update error: "+strError); 7665 $(".myTrackingNumbersCard").eq(currentElementIndex).find(".myTrackingNumbersSetting").find(".fa-spinner").remove(); 7666 $(".myTrackingNumbersCard").eq(currentElementIndex).find(".myTrackingNumbersSetting").find(".fa").show(); 7667 $(".myTrackingNumbersCard").eq(currentElementIndex).removeClass('active'); 7668 7669 if (objAJAXRequest['status'] == "404") { 7670 setTimeout( function() { 7671 location.reload(); 7672 }, 5000); 7673 } 7674 else if (objAJAXRequest['status'] == "502") { 7675 setTimeout( function() { 7676 location.reload(); 7677 }, 5000); 7678 } 7679 else if (objAJAXRequest['status'] == "429") { 7680 $.notify('ÐÑ Ð´ÐµÐ»Ð°ÐµÑе ÑлиÑком ÑаÑÑÑе запÑоÑÑ!\nÐомедленее пожалÑйÑÑа...', "error"); 7681 } 7682 else { 7683 setTimeout( function() { 7684 location.reload(); 7685 }, 5000); 7686 } 7687 7688 7689 } 7690 }); 7691 7692 }, 10000); 7693 7694 7695 7696 } 7697 else { 7698 7699 autoUpdateQueue(queue, n); 7700 } 7701 } 7702 else { 7703 7704 autoUpdateQueue(queue, n); 7705 } 7706 } 7707 else { 7708 7709 var queue = new Array(); 7710 7711 autoUpdateQueue(queue, n); 7712 } 7713 } 7714 else { 7715 updateHistoryBlock(); 7716 $("#trackingButton").toggleClass('disabled'); 7717 $("#trackingButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-binoculars"); 7718 $(".load-bar-disabled").hide(); 7719 $(".load-bar-under-stripe-disabled").hide(); 7720 $(".load-bar").toggleClass('active'); 7721 $('.multiTrackingCounter').hide(); 7722 7723 } 7724 } 7725 7726function clickLoggerFunction(element) { 7727 if ($(element).length > 0) { 7728 $.ajax({
7729 url: '/ajax/click.logger.ajax.php', 7730 data : {'elementId' : element.attr("id")}, 7731 type: 'POST', 7732 dataType: 'json', 7733 }); 7734 } 7735 } 7736 7737function trackCodeValidatorLoggerFunction(code) { 7738 if (code.length > 0) { 7739 $.ajax({ 7740 url: '/ajax/track.code.validator.logger.ajax.php', 7741 data : {'code' : code}, 7742 type: 'POST', 7743 dataType: 'json', 7744 }); 7745 } 7746 } 7747 7748function trackingErrorLoggerFunction(dataArray) { 7749 if (dataArray.length > 0) { 7750 $.ajax({ 7751 url: '/ajax/tracking.error.logger.ajax.php', 7752 data : {'data' : dataArray}, 7753 type: 'POST', 7754 dataType: 'json', 7755 }); 7756 } 7757 } 7758 7759 7760 7761$(document).ready(function() { 7762 //$('.lazy').lazy(); 7763}); 7764/* 7765$(document).ready(function() { 7766 var loadedElements = 0; 7767 $('.lazy').lazy({ 7768 beforeLoad: function(element){ 7769 console.log('image "' + (element.data('src')) + '" is about to be loaded'); 7770 }, 7771 afterLoad: function(element) { 7772 loadedElements++; 7773 console.log('image "' + (element.data('src')) + '" was loaded successfully'); 7774 }, 7775 onError: function(element) { 7776 loadedElements++; 7777 console.log('image "' + (element.data('src')) + '" could not be loaded'); 7778 }, 7779 onFinishedAll: function() { 7780 console.log('finished loading ' + loadedElements + ' elements'); 7781 console.log('lazy instance is about to be destroyed') 7782 }, 7783 //scrollDirection: 'vertical', 7784 delay: 1000, // For testing 7785 effect: "fadeIn", 7786 effectTime: 1000, 7787 //threshold: 0 7788 }); 7789 }); 7790*/ 7791$(document).ready(function() { 7792 7793 if ((device.desktop()) || (device.tablet())) { 7794 var $toTop = $('<div id="scroll-up-left-side" class="scroll-up-button hidden-xs hidden-sm hidden-md"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon--scroll-up-button__arrow"><svg id="icon--scroll-up-button__arrow" viewBox="0 0 9 7" width="100%" height="100%"><path d="M1 6l3.5-4L8 6" fill="none"></path></svg></svg></div>'); 7795 $('html').append($toTop); 7796 $toTop.hide().click(function(){ 7797 $('html, body').stop().animate({scrollTop:0}, 800); return false; 7798 }); 7799 7800 $(window).scroll(function(){ 7801 var sd = jQuery(window).scrollTop(); 7802 if ( typeof document.body.style.maxHeight === "undefined") { 7803 $toTop.css({'position':'absolute','top':jQuery(window).scrollTop( )+ $(window).height() - 20}); 7804 } 7805 if( sd > 400){ 7806 $toTop.fadeIn(600); 7807 } 7808 else{ 7809 $toTop.fadeOut(400); 7810 } 7811 }); 7812 } 7813
7814 $('body').append('<div id="back-to-top"><span class="glyphicon glyphicon-arrow-up"></span> ÐвеÑÑ </div>'); 7815 $("#back-to-top").hide(); 7816 $(function () { 7817 $(window).scroll(function () { 7818 if ($(this).scrollTop() > 1000) { 7819 $('#back-to-top').fadeIn(); 7820 } else { 7821 $('#back-to-top').fadeOut(); 7822 } 7823 }); 7824 $('#back-to-top').click(function () { 7825 $('body,html').animate({ 7826 scrollTop: 0 7827 }, 800); 7828 return false; 7829 }); 7830 }); 7831 7832 7833 7834 if (device.desktop()) { 7835 var browser = detectBrowser(); 7836 var browserExtensionUrl = null; 7837 7838 if (browser == "chrome") { 7839 $(".browserExtensionLogo").css('background-image', 'url(//track24.ru/img/browser-logo-google-24.png)'); 7840 $(".browserExtensionName").text('Google Chrome'); 7841 browserExtensionUrl = getExtensionUrl('chrome-webstore-item'); 7842 } 7843 if (browser == "yabrowser") { 7844 $(".browserExtensionLogo").css('background-image', 'url(//track24.ru/img/browser-logo-yandex-24.png)'); 7845 $(".browserExtensionName").text('Yandex Browser'); 7846 browserExtensionUrl = getExtensionUrl('chrome-webstore-item'); 7847 } 7848 if (browser == "amigo") { 7849 $(".browserExtensionLogo").css('background-image', 'url(//track24.ru/img/browser-logo-amigo-24.png)'); 7850 $(".browserExtensionName").text('Amigo'); 7851 browserExtensionUrl = getExtensionUrl('chrome-webstore-item'); 7852 } 7853 if (browser == "opera") { 7854 $(".browserExtensionLogo").css('background-image', 'url(//track24.ru/img/browser-logo-opera-24.png)'); 7855 $(".browserExtensionName").text('Opera'); 7856 browserExtensionUrl = getExtensionUrl('chrome-webstore-item'); 7857 } 7858 7859 if (browserExtensionUrl !== null) { 7860 $("#browserExtension").fadeIn(300); 7861 } 7862 7863 $("#browserExtension").click(function(e) { 7864 if (browser == "chrome") { 7865 window.location.href = browserExtensionUrl; 7866 } 7867 else { 7868 window.location.href = browserExtensionUrl; 7869 } 7870 }); 7871 } 7872 7873 if (!isLocalStorageNameSupported()) { 7874 alert('Ooops... Your web browser does not support storing settings locally. The most common cause of this is using "Private Browsing Mode".\nSome settings may not save or some features may not work properly for you. \n\nÐй ... ÐÐ°Ñ Ð±ÑаÑÐ·ÐµÑ Ð½Ðµ поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð»Ð¾ÐºÐ°Ð»Ñное Ñ Ñанение наÑÑÑоек. Ðаиболее ÑаÑпÑоÑÑÑаненной пÑиÑиной ÑвлÑеÑÑÑ Ð¸ÑполÑзование "Режима инкогниÑо".\nÐекоÑоÑÑе ÑÑнкÑии могÑÑ ÑабоÑаÑÑ Ð½ÐµÐºÐ¾ÑÑекÑно...'); 7875 } 7876 7877}); 7878 7879 7880 7881 7882function adsCounter(bid) { 7883 $.ajax({ 7884 url: '/ajax/ads.counter.ajax.php', 7885 data : {'bid' : bid}, 7886 type: 'POST', 7887 dataType: 'json', 7888 success: function(data){ 7889 if (data.status == 'ok') { 7890 return true; 7891 } 7892 else { 7893 return false; 7894 } 7895 } 7896 }); 7897} 7898 7899 7900(function($) { 7901 var input_class = 'zbz-input-clearable', 7902 input_class_x = input_class + '__x', 7903 input_class_x_over = input_class + '__x-over', 7904 input_selector = '.' + input_class, 7905 input_selector_x = '.' + input_class_x, 7906 input_selector_x_over = '.' + input_class_x_over, 7907 event_main = input_class + '-init', 7908 event_names = [event_main, 'click focus drop paste keydown keypress input change'].join(' '), 7909 // event_names = [event_main, 'click'].join(' '), 7910 btn_width = 20, 7911 btn_height = 20, 7912 btn_margin = 7; 7913 7914 function tog(v) { 7915 return v ? 'addClass' : 'removeClass'; 7916 } 7917 7918 $(document).on(event_names, input_selector, function () { 7919 7920 if ($("#inputTrackCode").hasClass("inputTrackCode-validate") == true) { 7921 //$("#inputTrackCode").removeClass("zbz-input-clearable"); 7922 //$("#inputTrackCode").removeClass("zbz-input-clearable__x"); 7923 //$("#inputTrackCode").removeClass("zbz-input-clearable__x-over"); 7924 } 7925 $(this)[tog(this.value)](input_class_x); 7926 }); 7927 7928 $(document).on('mousemove', input_selector_x, function (e) { 7929 var input = $(this), 7930 input_width = this.offsetWidth, 7931 input_height = this.offsetHeight, 7932 input_border_bottom = parseFloat(input.css('borderBottomWidth')), 7933 input_border_right = parseFloat(input.css('borderRightWidth')), 7934 input_border_left = parseFloat(input.css('borderLeftWidth')), 7935 input_border_top = parseFloat(input.css('borderTopWidth')), 7936 input_border_hr = input_border_left + input_border_right, 7937 input_border_vr = input_border_top + input_border_bottom, 7938 client_rect = this.getBoundingClientRect(), 7939 input_cursor_pos_x = e.clientX - client_rect.left, 7940 input_cursor_pos_y = e.clientY - client_rect.top, 7941 is_over_cross = true; 7942 7943 is_over_cross = is_over_cross && (input_cursor_pos_x >= input_width - input_border_hr - btn_margin - btn_width); 7944 is_over_cross = is_over_cross && (input_cursor_pos_x <= input_width - input_border_hr - btn_margin); 7945 is_over_cross = is_over_cross && (input_cursor_pos_y >= (input_height - input_border_vr - btn_height) / 2); 7946 is_over_cross = is_over_cross && (input_cursor_pos_y <= (input_height - input_border_vr - btn_height) / 2 + btn_height); 7947
7948 $(this)[tog(is_over_cross)](input_class_x_over); 7949 }); 7950 7951 $(document).on('click', input_selector_x_over, function () { 7952 $(this).removeClass([input_class_x, input_class_x_over].join(' ')).val('').trigger('input'); 7953 }); 7954 7955 $(function () { 7956 $(input_selector).trigger(event_main); 7957 }); 7958 7959 7960 7961})(jQuery); 7962 7963$(document).ready(function () { 7964 var trackCatClickCounter = 0; 7965 $(".trackCat").click(function() { 7966 trackCatClickCounter = trackCatClickCounter + 1; 7967 if (trackCatClickCounter == 3) { 7968 $('.embed').remove(); 7969 $('body').append('<audio id="meow" class="embed" src="//track24.ru/files/mp3/meow.mp3" preload="auto"></audio>'); 7970 document.getElementById('meow').play(); 7971 } 7972 if (trackCatClickCounter == 5) { 7973 $('.embed').remove(); 7974 $('body').append('<audio id="meow" class="embed" src="//track24.ru/files/mp3/mrrr.mp3" preload="auto"></audio>'); 7975 document.getElementById('meow').play(); 7976 } 7977 7978 if (trackCatClickCounter > 5) { 7979 trackCatClickCounter = 0; 7980 } 7981 }); 7982 7983 }); 7984 7985 7986 $(document).ready(function() { 7987 /* 7988 $('.g-covid-2019-1').bind('click', function() { 7989 window.location.href = "https://track24.ru/?page=covid-19"; 7990 }); 7991 */ 7992 7993 7994 $(document).on("a.click", ".smooth-scroll", function(e) { 7995 e.preventDefault(); 7996 var t = $($(this)[0]), 7997 n = $(t.attr("href")); 7998 scrollToElement(n) 7999 }); 8000 8001 }); 8002 8003 8004 function scrollToElement(e) { 8005 console.log(e, e.length); 8006 if (e.length == 1) { 8007 var t = e.offset().top - (38 + $("#navbar").height()) || 0; 8008 $("html, body").stop().animate({ 8009 scrollTop: t 8010 }) 8011 } 8012 } 8013 function _translit(str) { 8014 var ru = { 8015 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 8016 'е': 'e', 'Ñ': 'e', 'ж': 'j', 'з': 'z', 'и': 'i', 8017 'к': 'k', 'л': 'l', 'м': 'm', 'н': 'n', 'о': 'o', 8018 'п': 'p', 'Ñ': 'r', 'Ñ': 's', 'Ñ': 't', 'Ñ': 'u', 8019 'Ñ': 'f', 'Ñ ': 'h', 'Ñ': 'c', 'Ñ': 'ch', 'Ñ': 'sh', 8020 'Ñ': 'shch', 'Ñ': 'y', 'Ñ': 'e', 'Ñ': 'ju', 'Ñ': 'ya', 8021 'йо': 'jo', 'йе':'je' 8022 }, n_str = []; 8023 8024 str = str.replace(/[ÑÑ]+/g, '').replace(/й/g, 'j'); 8025 8026 for ( var i = 0; i < str.length; ++i ) { 8027 n_str.push( 8028 ru[ str[i] ] 8029 || ru[ str[i].toLowerCase() ] == undefined && str[i] 8030 || ru[ str[i].toLowerCase() ].toUpperCase() 8031 ); 8032 } 8033 8034 return n_str.join(''); 8035 } 8036 8037 8038 /* 8039 function readClipboard____() { 8040 var promise = navigator.clipboard.readText(); 8041 console.log(promise); 8042 8043 8044 //navigator.clipboard.writeText(text).then(function() { 8045 navigator.clipboard.readText().then(function() { 8046 console.log('Async: reading clipboard was successful!'); 8047 8048 var copyResult = document.getElementById('copyResult'); 8049 copyResult.style.visibility = 'visible'; 8050 copyResult.style.display = 'block'; 8051 8052 setTimeout(function(){ 8053 var copyResult = document.getElementById('copyResult'); 8054 copyResult.style.visibility = 'hidden'; 8055 copyResult.style.display = 'none'; 8056 }, 1000); 8057 }, 8058 function(err) { 8059 console.error('Async: Could not readClipboard: ', err); 8060 }); 8061 8062 } 8063 */ 8064async function readClipboard() { 8065 8066 if (!navigator.clipboard) { 8067 // Clipboard API not available 8068 return; 8069 } 8070 8071 try { 8072 const clipboardText = await navigator.clipboard.readText(); 8073 //console.log('clipboard readText: '+clipboardText); 8074 var myRegExp = /^[A-Za-z0-9\-]{3,32}$/; 8075 //console.log(myRegExp.exec(clipboardText)); 8076 if (myRegExp.exec($.trim(clipboardText)) !== null) { 8077 setTimeout( function() { 8078 document.getElementById('addTrackingNumberFormInput').value = $.trim(clipboardText); 8079 }, 100); 8080 setTimeout( function() { 8081 //document.getElementById('addTrackingNumberFormInputHelpBlock').innerText = "вÑÑавленно из бÑÑÑеÑа обмена"; 8082 $('#addTrackingNumberFormInputHelpBlock').text("вÑÑавленно из бÑÑÑеÑа обмена").fadeIn(1300); 8083 }, 300); 8084 8085 8086 8087 } 8088 8089 } catch (err) { 8090 //console.error('Failed to copy!', err); 8091 } 8092} 8093 8094function updateClipboard() { 8095 // Here You Can Debug without DomException 8096 debugger 8097 const clipboard = document.querySelector('.clipboard-content').innerText; 8098 document.querySelector('.clipboard-content').innerText = 'Updated => ' + clipboard; 8099} 8100 8101 8102 8103$(document).ready(function() { 8104 //console.time("fingerprint time"); 8105 if (fingerprint === null) { 8106 //setTimeout(function () { 8107 var fingerprintOptions = { 8108 excludes: {hardwareConcurrency: true, doNotTrack: true, pixelRatio: true, adBlock: true, canvas: true, plugins: true, webgl: true, audio: true, enumerateDevices: true}, 8109 sortPluginsFor: [/palemoon/i] 8110 } 8111 if (window.requestIdleCallback) { 8112 requestIdleCallback(function () { 8113 Fingerprint2.get(fingerprintOptions, function (components) { 8114 //console.log("v1: "+components) 8115 var values = components.map(function (component) { return component.value });
8116 /* 8117 var keys = components.map(function (component) { return component.key }); 8118 var cr = ""; 8119 for (var i = 0; i < keys.length; i++) { 8120 cr = cr+"\n"+keys[i]+": "+values[i]; 8121 } 8122 console.log(cr); 8123 */ 8124 fingerprint = Fingerprint2.x64hash128(values.join(''), 31); 8125 $.Storage.set('fingerprint', fingerprint); 8126 //console.timeEnd("fingerprint time"); 8127 }) 8128 }); 8129 } 8130 else { 8131 setTimeout(function () { 8132 Fingerprint2.get(fingerprintOptions, function (components) { 8133 //console.log("v2: "+components) 8134 var values = components.map(function (component) { return component.value }); 8135 /* 8136 var keys = components.map(function (component) { return component.key }); 8137 var cr = ""; 8138 for (var i = 0; i < keys.length; i++) { 8139 cr = cr+"\n"+keys[i]+": "+values[i]; 8140 } 8141 console.log(cr); 8142 */ 8143 fingerprint = Fingerprint2.x64hash128(values.join(''), 31); 8144 $.Storage.set('fingerprint', fingerprint); 8145 8146 //console.timeEnd("fingerprint time"); 8147 }); 8148 }, 1000); 8149 } 8150 8151 //setTimeout(function () { 8152 //console.log("fingerprint: "+fingerprint); 8153 //}, 1500); 8154 //}, 2000); 8155 } 8156 8157 if (visitors == true) { 8158 setTimeout(function () { 8159 $.ajax({
8160 url: 'https://track24.ru/ajax/visitors.ajax.php', 8161 data : {'fingerprint' : $.Storage.get("fingerprint")}, 8162 type: 'POST', 8163 dataType: 'json', 8164 success: function(data){ 8165 8166 }, 8167 beforeSend : function() { 8168 8169 }, 8170 complete: function(response) { 8171 8172 }, 8173 error: function(objAJAXRequest, strError, errorThrown) { 8174 if (objAJAXRequest['status'] == "505") { 8175 setTimeout( function() { 8176 location.reload(); 8177 }, 500); 8178 } 8179 } 8180 }); 8181 }, 300); 8182 } 8183 8184}); 8185 8186 8187function loadTurnstileScript(callback) { 8188 const scriptSrc = "https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit"; 8189 const existingScript = document.querySelector(`script[src="${scriptSrc}"]`); 8190 8191 if (!existingScript) { 8192 const script = document.createElement('script'); 8193 script.src = scriptSrc; 8194 script.defer = true; 8195 script.onload = callback; 8196 document.head.appendChild(script); 8197 } 8198 else { 8199 callback(); 8200 return; 8201 } 8202} 8203function verifyCaptcha(cf_turnstile_response) { 8204 $.ajax({ 8205 url: 'https://track24.ru/ajax/verify.captcha.php', 8206 type: 'POST', 8207 data: {"cf-turnstile-response": cf_turnstile_response }, 8208 success: function (response) { 8209 if (response.success) { 8210 $("#turnstile-container").empty().hide(); 8211 //var inputedTrackCode = $.trim($("#inputTrackCode").val().replace(/[^Ð-Яа-ÑA-Za-z0-9\-\.\/]/gi, '')); 8212 //var lng = $.Storage.get("lng"); 8213 //getTrackingData(inputedTrackCode, selectedService, lng, refreshStep, refreshTime, key, cp, clientIp).done(getTrackingHandle); 8214 8215 8216 8217 setTimeout(function() { 8218 8219 $("#trackingButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-binoculars"); 8220 $("#trackingButton").toggleClass('disabled'); 8221 $(".load-bar-disabled").hide(); 8222 $(".load-bar-under-stripe-disabled").hide(); 8223 $(".load-bar").toggleClass('active'); 8224 8225 tracking(); 8226 8227 }, 5000); 8228 8229 } 8230 else { 8231 GrowlNotification.notify({title:"Error",description:"Captcha verification failed.<br>Please try again later.",type:"error",closeTimeout:5000,showProgress: true}); 8232 } 8233 } 8234 }); 8235} 8236 8237function verifyCaptchaInComments(cf_turnstile_response, el, tc, e) { 8238 $.ajax({ 8239 url: 'https://track24.ru/ajax/verify.captcha.php', 8240 type: 'POST', 8241 data: {"cf-turnstile-response": cf_turnstile_response }, 8242 success: function (response) { 8243 if (response.success) { 8244 $("#turnstile-container").empty().hide(); 8245 8246 $("#trackingButton").find("i").toggleClass("fa-spinner").toggleClass("fa-spin").toggleClass("fa-binoculars"); 8247 $("#trackingButton").toggleClass('disabled'); 8248 $(".load-bar-disabled").hide(); 8249 $(".load-bar-under-stripe-disabled").hide(); 8250 $(".load-bar").toggleClass('active'); 8251 8252 trackingInComments(el, tc, e); 8253 } 8254 else { 8255 GrowlNotification.notify({title:"Error",description:"Captcha verification failed.<br>Please try again later.",type:"error",closeTimeout:5000,showProgress: true}); 8256 } 8257 } 8258 }); 8259} 8260 8261function getBrowserLanguage() { 8262 try { 8263 let lang = navigator.language || navigator.languages?.[0]; 8264 return lang ? lang.split('-')[0].toUpperCase() : "EN"; 8265 } catch (error) { 8266 console.error("ÐÑибка полÑÑÐµÐ½Ð¸Ñ ÑзÑка бÑаÑзеÑа:", error); 8267 return "EN"; 8268 } 8269}
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.