1(function($) 2{ 3 4 /* -- WYÅWIETLENIE OBIEKTU -- */ 5 6 // -- V.2 7 8 $.fn.SHOWW = function(f) 9 { 10 this.removeClass("off"); 11 this.width(); 12 this.removeClass("hide"); 13 if (typeof f !== "undefined") { 14 var t = parseInt(this.data("t")); 15 var d = parseFloat(this.css("transition-duration")) * 1000; 16 if (typeof t !== "undefined") d = t; 17 setTimeout(function() { 18 f(); 19 }, d); 20 } 21 return this; 22 }; 23 24 // -- V.1 25 26 $.fn.SHOW = function(t = 0, f) 27 { 28 this.removeClass("off"); 29 this.width(); 30 this.removeClass("hide"); 31 if (typeof f !== "undefined") { 32 setTimeout(function() { 33 f(); 34 }, t); 35 } 36 return this; 37 }; 38 39 40 41 42 43 /* -- UKRYCIE OBIEKTU -- */ 44 45 // -- V.2 46 47 $.fn.HIDEE = function(f) 48 { 49 var obj = this; 50 var d = parseFloat(obj.css("transition-duration")) * 1000; 51 obj.addClass("hide"); 52 setTimeout(function() { 53 obj.addClass("off"); 54 if (typeof f !== "undefined") { 55 f(); 56 } 57 }, d); 58 return obj; 59 }; 60 61 // -- V.1 62 63 $.fn.HIDE = function(t = 0, f) 64 { 65 var obj = this; 66 obj.addClass("hide"); 67 setTimeout(function() { 68 obj.addClass("off"); 69 if (typeof f !== "undefined") { 70 f(); 71 } 72 }, t); 73 return obj; 74 }; 75 76 77 78 79 80 /* -- ZAZNACZENIE CHECKBOXA ".N-CHECKBOX" -- */ 81 // -- PUNKTEM ODNIESIEINA JEST "INPUT" 82 83 $.fn.CHECK = function() 84 { 85 this.VAL(1); 86 this.parent(".n-checkbox").addClass("checked"); 87 return this; 88 }; 89 90 /* -- ODZNACZENIE CHECKBOXA ".N-CHECKBOX" -- */ 91 92 $.fn.UNCHECK = function() 93 { 94 this.VAL(0); 95 this.parent(".n-checkbox").removeClass("checked"); 96 return this; 97 }; 98 99 100 101 102 103 /* -- USTAWIENIE WARTOÅCI INPUTÃW -- */ 104 105 $.fn.VAL = function(value) 106 { 107 this.val(value).attr("value", value); 108 return this; 109 }; 110 111 112 113 114 115 /* -- USTAWIENIE WARTOÅCI ATRYBUTÃW -- */ 116 117 $.fn.DATA = function(attr, value) 118 { 119 this.data(attr, value).attr("data-" + attr, value); 120 return this; 121 }; 122 123 124 125 126 127 /* 128 * FUNKCJA: $.ACTIVATE_DROPZONE() 129 * --------------------------------- 130 * AKTYWACJA POLA DROPZONE DO PRZESYÅANIA PLIKÃW 131 */ 132 133 /* $.fn.ACTIVATE_DROPZONE = function() 134 { 135 if (this.length) 136 { 137 var dropzone_id = this.attr("id"); 138 var dropzone_obj = $("#" + dropzone_id); 139 var temporary_dir = $("#temporary_dir").val(); 140 var server_type = $("#server_type").val(); 141 var ftp_input = dropzone_obj.data("ftp-input"); 142 var upload_dir = dropzone_obj.data("upload-dir"); 143 var step = dropzone_obj.parents(".personalization-step"); 144 var block = step.parents(".personalization-block"); 145 var container = step.find(".container"); 146 147 dropzones[dropzone_id] = true; 148 dropzone_obj.dropzone( 149 { 150 paramName: "file", 151 thumbnailMethod: "contain", 152 thumbnailWidth: 200, 153 thumbnailHeight: null, 154 acceptedFiles: null, 155 maxFiles: null, 156 url: ".core/.php/upload.php", 157 params: 158 { 159 temporary_dir: temporary_dir, 160 upload_dir: upload_dir, 161 server_type: server_type 162 }, 163 init: function() 164 { 165 this.on("drop", function() 166 { 167 168 }); 169 170 this.on("addedfile", function() 171 { 172 dropzone_obj.find(".icon-send").addClass("hide"); 173 dropzone_obj.find(".icon-sended").addClass("hide"); 174 dropzone_obj.find(".icon-sending").removeClass("hide");
175 dropzone_obj.find(".start_info").HIDE(200); 176 dropzone_obj.find(".sending-info").SHOW(); 177 }); 178 179 this.on("uploadprogress", function(file, progress, bytesSent) 180 { 181 dropzone_obj.find(".sending-progress").find("p").css({"width": parseInt(progress) + "%"}); 182 }); 183 184 this.on("complete", function() 185 { 186 187 }); 188 189 this.on("queuecomplete", function() 190 { 191 setTimeout(function() 192 { 193 dropzone_obj.find(".sending-progress").find("p").css({"width": 0}); 194 dropzone_obj.find(".sended-actions").SHOW(); 195 dropzone_obj.find(".dz-preview").HIDE(); 196 197 if (typeof ftp_input !== "undefined") { 198 $("#" + ftp_input).VAL(1); 199 } 200 }, 300); 201 }); 202 203 this.on("success", function(file, response) 204 { 205 CREATE_DELETE_BUTTONS(dropzone_id); 206 dropzone_obj.find(".icon-sending").addClass("hide"); 207 dropzone_obj.find(".icon-sended").removeClass("hide"); 208 dropzone_obj.find(".sending-info").HIDE(200); 209 step.find(".sended-filename").html('<b>' + file['name'] + '</b>'); 210 step.addClass("compress"); 211 container.DATA("value", file['name']); 212 UPDATE_PERSONALIZATION_PARAMETERS(block); 213 }); 214 } 215 }); 216 } 217 } */ 218 219 220 221 222 223 224 225 226 227 228 229 230 /* 231 * FUNKCJA: $.ACTIVATE_DROPZONE_V3() 232 * ------------------------------------ 233 * AKTYWACJA POLA DROPZONE DO PRZESYÅANIA PLIKÃW 234 * Z PROJEKTEM KLIENTA W FORMULARZU ZAMÃWIEÅ 235 */ 236 237 $.fn.ACTIVATE_DROPZONE_V3 = function() 238 { 239 var dropzone_thumbs = {}; 240 var dropzone_loader = $("#dropzone-loader"); 241 var progress_radial = dropzone_loader.find(".progress-radial-container"); 242 var sending_stats = dropzone_loader.find(".sending-stats"); 243 244 if (this.length) { 245 var dropzone_id = this.attr("id"); 246 var dropzone_obj = $("#" + dropzone_id); 247 var server_type = "localhost"; 248 var size = dropzone_obj.data("size"); 249 var upload_dir = dropzone_obj.data("upload-dir"); 250 var sended_files_names = []; 251 var timeController; 252 var timeStarted; 253 var timeElapsed; 254 var uploadSpeed; 255 var sended_bytes = {}; 256 var sending_files_amount = 0; 257 var total_bytes = 0; 258 var total_bytes_sent = 0; 259 260 dropzones[dropzone_id] = true; 261 dropzone_obj.dropzone({ 262 paramName: "file", 263 thumbnailMethod: "contain", 264 thumbnailWidth: 200, 265 thumbnailHeight: null, 266 acceptedFiles: ".jpeg,.jpg,.psd,.zip,.cdr,.ai,.pdf,.ttf,.otf,.rar,.tif,.tiff,.svg,.png,.eps", 267 maxFiles: null, 268 url: ".core/.php/upload.php", 269 params: { 270 server_type: server_type, 271 size: size, 272 upload_dir: upload_dir 273 }, 274 init: function() { 275 this.on("drop", function() { 276 console.log("DROPZONE: DROP"); 277 }); 278 279 this.on("processingmultiple", function() { 280 console.log("DROPZONE: PROCESSINGMULTIPLE"); 281 }); 282 283 this.on("addedfiles", function() { 284 console.log("DROPZONE: ADDEDFILES"); 285 286 progress_radial.removeClass("hide"); 287 timeStarted = new Date(); 288 timeController = setInterval(function() { 289 timeElapsed = (new Date()) - timeStarted; 290 uploadSpeed = total_bytes_sent / (timeElapsed / 1000); 291 $("#upload_speed").html(CONVERT_BYTES(uploadSpeed) + "/s"); 292 $("#time_elapsed").html(parseInt((total_bytes - total_bytes_sent) / uploadSpeed) + " s"); 293 }, 1000); 294 295 dropzone_loader.SHOW(); 296 $("#top-layer-mask").SHOW(); 297 $("#send-in-background").removeClass("off"); 298 }); 299 300 this.on("addedfile", function(file) { 301 console.log("DROPZONE: ADDEDFILE"); 302 303 var lang = $("#lang").val(); 304 305 var variants_arr_1 = {}; 306 var variants_arr_2 = {}; 307 308 variants_arr_1['pl'] = ["plik", "plików", "pliki"]; 309 variants_arr_1['en'] = ["file", "files", "files"]; 310 variants_arr_1['nl'] = ["bestand", "bestanden", "bestanden"]; 311 variants_arr_1['de'] = ["datei", "dateien", "dateien"]; 312 variants_arr_1['sv'] = ["fil", "filer", "filer"]; 313 314 variants_arr_2['pl'] = ["pliku", "plików", "plików"]; 315 variants_arr_2['en'] = ["file", "files", "files"]; 316 variants_arr_2['nl'] = ["bestand", "bestanden", "bestanden"]; 317 variants_arr_2['de'] = ["datei", "dateien", "dateien"]; 318 variants_arr_2['sv'] = ["fil", "filer", "filer"]; 319 320 sending_files_amount++; 321 total_bytes = total_bytes + file.size; 322 dropzone_thumbs[file.name] = $('<div class="file off"><p class="filename mhl"></p><p class="size mhl fr"></p></div>'); 323 324 $("#uploaded_files_amount").html(sending_files_amount); 325 $("#sending_files_amount").html(sending_files_amount); 326 327 $("#uploaded_variant").html(FIND_VARIANT(sending_files_amount, variants_arr_1[lang])); 328 $("#sending_variant").html(FIND_VARIANT(sending_files_amount, variants_arr_2[lang])); 329 $("#total_bytes").html(CONVERT_BYTES(total_bytes)); 330 331 // -- DODAWANIE ELEMENTU DO KONTENERA 332 333 $("#uploaded_files_list").removeClass('off').find(".files").append(dropzone_thumbs[file.name]); 334 sending_stats.removeClass("hide"); 335 sended_files_names.push(file.name); 336 }); 337 338 this.on("processing", function(file) { 339 console.log("DROPZONE: PROCESSING"); 340 console.log(file); 341 }); 342 343 // -- UPLOADPROGRESS - SINGLE FILE 344 345 this.on("uploadprogress", function(file, percent, bytes) { 346 console.log("DROPZONE: UPLOADPROGRESS"); 347 348 sended_bytes[file.name] = bytes; 349 total_bytes_sent = 0; 350 351 $.each(sended_bytes, function(filename, bytes) { 352 total_bytes_sent = total_bytes_sent + bytes; 353 }); 354 355 $("#total_bytes_sent").html(CONVERT_BYTES(total_bytes_sent)); 356 percent = (total_bytes_sent / total_bytes) * 100; 357 UPDATE_UPLOAD_PROGRESS(percent); 358 }); 359 360 // -- COMPLETE - SINGLE FILE 361 362 this.on("complete", function() { 363 console.log("DROPZONE: COMPLETE"); 364 }); 365 366 // -- SUCCESS - SINGLE FILE 367 368 this.on("success", function(file, response) { 369 console.log("DROPZONE: SUCCESS"); 370 371 response = JSON.parse(response); 372 dropzone_thumbs[file.name].removeClass("off"); 373 dropzone_thumbs[file.name].find(".filename").html(response['full_filename']); 374 dropzone_thumbs[file.name].find(".size").html(CONVERT_BYTES(response['size']) + ' <span>/ ' + response['date'] + '</span>'); 375 376 V2_FIX_H(); 377 378 // -- UPDATE LICZNIKA WYSÅANYCH PLIKÃW W KOSZYKU 379 380 var files_counter = dropzone_obj.parents(".product").find(".uploaded-files-amount"); 381 COUNT_UPLOADED_FILES(upload_dir, files_counter); 382 }); 383 384 // -- QUEUECOMPLETE - ALL FILES 385 386 this.on("queuecomplete", function() { 387 console.log("DROPZONE: QUEUECOMPLETE"); 388 389 // -- UPDATE ILOÅCI ODBITEK DO ILOÅCI PRZESÅANYCH PLIKÃW 390 391 if ($("#prints_amount").length) { 392 var product = $("#product").val(); 393 394 if (product !== "box_prints") { 395 $("#prints_amount").VAL(sending_files_amount); 396 COUNT_PRICE(); 397 } 398 } 399 400 clearInterval(timeController); 401 progress_radial.addClass("upload-successful"); 402 UPDATE_UPLOAD_PROGRESS(0); 403 sended_bytes = {}; 404 sending_files_amount = 0; 405 total_bytes = 0; 406 total_bytes_sent = 0; 407 $("#send-in-background").addClass("off"); 408 $(".to-cart").removeClass("disabled"); 409 410 CHECK_DISK_SPACE("orders"); 411 412 // -- WYSYÅANIE MAILA DO LABU Z IFORMACJÄ O TYM, 413 // -- Å»E KLIENT DOSÅAÅ JAKIEÅ PLIKI 414 415 var get_id = $("#get_id").val(); 416 417 if (get_id === "orders_history") { 418 var product_id = $("#" + dropzone_id).parents(".product").data("product-id"); 419 var order_id = $("#" + dropzone_id).parents(".order").data("order-id"); 420 421 SENDED_FILES_EMAIL_NOTIFICATION(order_id, product_id, sended_files_names); 422 } 423 }); 424 425 // -- ERROR 426 427 this.on("error", function(file, message, xhr) { 428 console.log("DROPZONE: ERROR"); 429 console.log("FILE: " + file); 430 console.log("MESSAGE: " + message); 431 console.log("XHR: " + xhr); 432 }); 433 } 434 }); 435 } 436 } 437 438}(jQuery)); 439 440 441 442 443 444 445 446 447 448 449/* 450 * CONSOLE.DEBUG 451 * ---------------- 452 * WIZUALNE USUWANIE Z KONSOLI OBIEKTÃW __PROTO__ 453 */ 454 455console.debug = function() 456{ 457 function clear(o) { 458 var obj = JSON.parse(JSON.stringify(o)); 459 if (obj && typeof obj === 'object') { 460 obj.__proto__ = null; 461 for (var j in obj) { 462 obj[j] = clear(obj[j]); 463 } 464 } 465 return obj;
466 } 467 for (var i = 0, args = Array.prototype.slice.call(arguments, 0); i < args.length; i++) { 468 args[i] = clear(args[i]); 469 } 470 console.log.apply(console, args); 471}; 472 473 474 475 476 477 478 479 480 481 482/* 483 * FUNKCJA: CHECK_DISK_SPACE() 484 * ------------------------------ 485 * CZUJKA SPRAWDZAJÄCA ZAJÄTOÅÄ DYSKU 486 */ 487 488function CHECK_DISK_SPACE(dir) 489{ 490 $.ajax({ 491 type: "POST", 492 url: ".core/.php/ajax.php?action=check_disk_space", 493 data: { 494 dir: dir 495 }, 496 success: function() {} 497 }); 498} 499 500 501 502 503 504 505 506 507 508 509/* 510 * FUNKCJA: SENDED_FILES_EMAIL_NOTIFICATION() 511 * --------------------------------------------- 512 * WYSYÅANIE MAILA DO LABU Z INFORMACJÄ, Å»E KLIENT 513 * DOSÅAÅ NOWE PLIKI DO ZAMÃWIENIA 514 */ 515 516function SENDED_FILES_EMAIL_NOTIFICATION(order_id, product_id, dropzone_sended_files) 517{ 518 $.ajax({ 519 type: "POST", 520 url: ".core/.php/ajax.php?action=sended_files_email_notification", 521 data: { 522 order_id: order_id, 523 product_id: product_id, 524 dropzone_sended_files: dropzone_sended_files 525 }, 526 success: function() {} 527 }); 528} 529 530 531 532 533 534 535 536 537 538 539/* 540 * FUNKCJA: COUNT_UPLOADED_FILES() 541 * ---------------------------------- 542 * PRZELICZANIE ILOÅCI WYSÅANYCH PLIKÃW DO ZAMÃWIENIA 543 */ 544 545function COUNT_UPLOADED_FILES(dir, target) 546{ 547 $.ajax({
548 type: "POST", 549 url: ".core/.php/ajax.php?action=count_uploaded_files", 550 data: { 551 dir: dir 552 }, 553 success: function(data) { 554 if (parseInt(data) === 0) { 555 target.html(data).addClass("no-files hollow"); 556 557 // -- UKRYWANIE LISTY PLIKÃW W SZCZEGÃÅACH PRODUKTU 558 559 $("#product-details").find(".buttons-files, .files-list").addClass("off"); 560 $("#product-details").find(".no-file-uploaded").removeClass("off"); 561 } else { 562 target.html(data).removeClass("no-files hollow"); 563 } 564 } 565 }); 566} 567 568 569 570 571 572 573 574 575 576 577/* 578 * FUNKCJA: UPDATE_UPLOAD_PROGRESS() 579 * ------------------------------------ 580 * LOADER PRZYSYÅANIA PLIKÃW W STYLU WETRANSFER 581 */ 582 583function UPDATE_UPLOAD_PROGRESS(percent) 584{ 585 var val = parseInt(percent) / 100; 586 var percent_rounded = parseInt(percent); 587 var progress_bar = $("#dropzone-loader").find(".progress-radial-container").find(".progress-bar"); 588 var progress_percent = $("#dropzone-loader").find(".progress-radial-container").find(".progress-percent"); 589 var r = progress_bar.attr("r"); 590 var c = 2 * Math.PI * r; 591 var progress = c * (1 - val); 592 593 progress_bar.css({strokeDashoffset: progress}); 594 progress_percent.html(percent_rounded + "<i>%</i>"); 595} 596 597 598 599 600 601 602 603 604 605 606/* 607 * FUNKCJA: CONVERT_BYTES() 608 * --------------------------- 609 * KONWERSJA BAJTÃW AN MB, KB ITP. 610 */ 611 612function CONVERT_BYTES(bytes, decimals = 2) 613{ 614 if (!+bytes) return '0 Bytes'; 615 616 const k = 1024; 617 const dm = decimals < 0 ? 0 : decimals; 618 const sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']; 619 const i = Math.floor(Math.log(bytes) / Math.log(k)); 620 return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`; 621} 622 623 624 625 626 627 628 629 630 631 632/* 633 * FUNKCJA: PARSE_TO_PARAM() 634 * ---------------------------- 635 * ZAMIANA PODANEJ FRAZY NA FORMAT PARAMETRU 636 * (MAÅE LITERY, BEZ ZNAKÃW SPECJALNYCH, SPACJI ITP.) 637 * UÅ»UCIE PRZEZ AJAXA FUNKCJI Z PHP 638 */ 639 640function PARSE_TO_PARAM(phrase) 641{ 642 var replace_from = " ÄÃÃÃÃÃÄ Ã Ã¡Ã¢Ã£Ã¤ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĹĻĽÅĺļľÅÅÅ ÅÅÅÅÅÅÃÅÅÅóÅÅÅÅÅÅÅ ÅÅÅšŨŪŬŮŰŲũūÅůűųŹŻŽźżž!@#$%^&*()_+.,"; 643 var replace_to = "_aaaaaaaaaaaacccccccceeeeeeeeeellllllllnnnnnnnnoooooooossssssssuuuuuuuuuuuuzzzzzz______________"; 644 var return_phrase = STRTR(phrase, replace_from, replace_to); 645 return return_phrase.toLowerCase(); 646} 647 648 649 650 651 652 653 654 655 656 657// -- ILOÅÄ ZDJÄÄ 658 659function CHECK_PRINTS_AMOUNT() 660{ 661 var prints_amount = $("#prints_amount").val(); 662 if (typeof prints_amount !== "undefined") { 663 if (parseInt(prints_amount) === 0) { 664 $(".dependent_on-prints_amount").addClass("off"); 665 $(".dependent_on-prints_amount-reverse").removeClass("off"); 666 } 667 else { 668 $(".dependent_on-prints_amount").removeClass("off"); 669 $(".dependent_on-prints_amount-reverse").addClass("off"); 670 } 671 672 var step_obj_id = current_parameter_obj.data("step-id"); 673 var step_obj = $("#step-" + step_obj_id); 674 V2_UPDATE_PARAMETERS_LIST_MASK(step_obj); 675 } 676} 677 678// -- ILOÅÄ PASSE-PARTOUT 679 680function CHECK_PASSEPARTOUT_AMOUNT() 681{ 682 var passepartout_amount = $("#passepartout_amount").val(); 683 if (typeof passepartout_amount !== "undefined") { 684 if (parseInt(passepartout_amount) === 0) { 685 $(".dependent_on-passepartout_amount").addClass("off"); 686 $(".dependent_on-passepartout_amount-reverse").removeClass("off"); 687 } 688 else { 689 $(".dependent_on-passepartout_amount").removeClass("off"); 690 $(".dependent_on-passepartout_amount-reverse").addClass("off"); 691 } 692 693 var step_obj_id = current_parameter_obj.data("step-id"); 694 var step_obj = $("#step-" + step_obj_id); 695 V2_UPDATE_PARAMETERS_LIST_MASK(step_obj); 696 } 697} 698 699 700 701 702 703 704 705 706 707 708/* 709 * FUNKCJA: LOAD_PERSONALIZATION_QUALITY_TABLE_FOR_COLOR() 710 * ---------------------------------------------------------- 711 * ÅADOWANIE TABELI JAKOÅCI PERSONALIZACJI DLA WYBRANEGO KOLORU PO
711KRYCIA 712 */ 713 714function LOAD_PERSONALIZATION_QUALITY_TABLE_FOR_COLOR(color_obj) 715{ 716 var table_content = $("#personalization-table-quality-content").html(); 717 var quality_table = color_obj.find(".thumb-options-v2"); 718 var color_id = color_obj.data("form-value"); 719 var qualities = PRODUCT_FULL_JSON_FORM['COLORS_PERSONALIZATION'][color_id]; 720 if (!quality_table.length) { 721 color_obj.find(".thumb-content").append(table_content); 722 color_obj.find(".thumb-options-v2").width(); 723 quality_table = color_obj.find(".thumb-options-v2"); 724 quality_table.find(".quality-circle").addClass("off"); 725 quality_table.find(".quality-line").removeClass("off"); 726 quality_table.find(".quality-line, .quality-title").each(function() { 727 var q = $(this); 728 var parameter_id = parseInt(q.data("parameter-id")); 729 if (typeof qualities[parameter_id] === "undefined") { 730 qualities[parameter_id] = 0; 731 } 732 q.find(".q" + qualities[parameter_id]).removeClass("off"); 733 }); 734 color_obj.find(".thumb-options-v2").removeClass("appended"); 735 } 736} 737 738 739 740 741 742 743 744 745 746 747/* 748 * FUNKCJA: UPDATE_TABS_HOVERS() 749 * -------------------------------- 750 * UPDATE TREÅCI HOVERÃW W KROKACH FORMULARZA 751 */ 752 753function UPDATE_TABS_HOVERS() 754{ 755 $("#product_steps").find(".step").each(function() 756 { 757 var step = $(this); 758 var step_title = step.find("b:not(.off)").text(); 759 step.DATA("hover", step_title); 760 }); 761 762 $(".filter-tabs .highlight-tab").each(function() 763 { 764 var tab = $(this); 765 var tab_title = tab.find("b:not(.off)").text(); 766 tab.DATA("hover", tab_title); 767 }); 768} 769 770 771 772 773 774 775 776 777 778 779/* 780 * FUNKCJA: SHOW_VALIDATE_ALERT() 781 * --------------------------------- 782 * INFO Z WALIDACJÄ DO FORMULARZY 783 */ 784 785function SHOW_VALIDATE_ALERT(input_id, attr, fn_success) 786{ 787 var input_obj = $("#" + input_id); 788 var x = parseInt(input_obj.offset().left); 789 var y = parseInt(input_obj.offset().top); 790 var w = parseInt(input_obj.outerWidth()); 791 var h = parseInt(input_obj.outerHeight()); 792 var validate_info = $("#validate-info"); 793 var alert = validate_info.find("." + attr).html(); 794 var main_margin_top = parseInt($("main").css("margin-top")); 795 796 validate_info.find(".alert").html(alert); 797 798 var alert_w = parseInt(validate_info.outerWidth()); 799 var move_by = (w - alert_w) / 2; 800 801 validate_info.css({"left": (x + move_by) + "px", "top": ((y - main_margin_top) + h + 8) + "px"}).removeClass("hide"); 802 input_obj.addClass("fill"); 803 input_obj.focus(); 804 805 $("html, body").animate({scrollTop: (y - 180)}, 250, function() 806 { 807 $("#" + input_id).addClass("fill").focus(); 808 }); 809 810 if (!lock_hide) 811 { 812 $(window).bind("keyup", function(){ $("#validate-info").addClass("hide"); }); 813 $(window).bind("mouseup", function(){ $("#validate-info").addClass("hide"); }); 814 } 815 816 if (typeof loader !== 'undefined') 817 { 818 loader.addClass("hide"); 819 } 820 821 if (typeof fn_success !== "undefined") 822 { 823 fn_success(); 824 } 825} 826 827 828 829 830 831 832 833 834 835 836/* 837 * FUNKCJA: VALIDATE_EMAIL() 838 * ---------------------------- 839 * WALIDACJA POPRAWNOÅCI ADRESU E-MAIL 840 */ 841 842function VALIDATE_EMAIL(email) 843{ 844 var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 845 return re.test(String(email).toLowerCase()); 846} 847 848 849 850 851 852 853 854 855 856 857/* 858 * FUNKCJA: SELECT_TAB() 859 * ------------------------ 860 * ZAZNACZENIE WYBRANEJ ZAKÅADKI 861 */ 862 863function SELECT_TAB(tab) 864{ 865 var tabs = tab.parent(".tabs"); 866 var content = tab.data("content"); 867 var content_obj = $("." + content); 868 var id = tab.attr("id"); 869 var default_tab = $("#" + id + "-steps").find(".default"); 870 871 tabs.find(".tab").removeClass("active"); 872 tab.addClass("active"); 873 874 var active_content_obj = tabs.next(".tabs-content").find(".tab-content.active"); 875 876 if (active_content_obj.length) { 877 active_content_obj.removeClass("active").HIDE(0, function() { 878 content_obj.addClass("active").SHOW(0, function() { 879 default_tab.trigger("click"); 880 default_tab.removeClass("default"); 881 }); 882 }); 883 } else { 884 content_obj.addClass("active").SHOW(0, function() { 885 default_tab.trigger("click"); 886 default_tab.removeClass("default"); 887 }); 888 } 889} 890 891 892 893 894 895 896 897 898 899 900/* 901 * FUNKCJA: SELECT_FILTER_TAB() 902 * ------------------------------- 903 * ZAZNACZENIE WYBRANEJ ZAKÅADKI 904 */ 905 906function SELECT_FILTER_TAB(tab, fn) 907{ 908 var tabs = tab.parents(".filter-tabs"); 909 var block = tab.parents(".form_block"); 910 var component = tab.parents(".component"); 911 var filter = tab.data("filter"); 912 var description = tab.data("description"); 913 var type = tabs.data("type"); 914 915 block.find('.collection-description').html(description); 916 block.find('.description').html(description); 917 918 if (type !== "switch") { 919 block.find('.thumb').addClass("off"); 920 block.find('.thumbs-group').addClass("off"); 921 } 922 923 block.find('.' + filter).removeClass("off back-off"); 924 block.find('.' + filter + ".details").trigger("click"); 925 926 if (filter === "all") { 927 $('.filter-content').removeClass("off"); 928 } 929 else { 930 $('.filter-content').addClass("off"); 931 $('.flex-card.' + filter).removeClass("off"); 932 } 933 934 if (typeof component !== "undefined") { 935 component.find('.thumb').addClass("off"); 936 component.find('.thumbs-group').addClass("off"); 937 component.find('.' + filter).removeClass("off"); 938 } 939 940 if (filter === "all") { 941 tab.parent(".filter-tabs").find("li").each(function() { 942 var filter = $(this).data("filter"); 943 var off = $(this).hasClass("off"); 944 945 if (!off && filter !== "all") { 946 $(".thumbs-group." + filter).removeClass("off").find(".thumb").removeClass("off"); 947 } 948 }); 949 } 950 951 tab.parent(".filter-tabs").find("li").removeClass("active"); 952 tab.addClass("active"); 953 954 UPDATE_TAB_HIGHLIGHT(tab); 955 V2_FIX_H(); 956 957 if (typeof fn !== "undefined") { 958 fn(); 959 } 960 961 962 963 // -- REAGOWANIE WSKAZANEGO OBIEKTU W "DATA-TARGET" 964 // -- NA PRZEÅÄCZANIE ZAKÅADEK 965 966 var target = tabs.data("target"); 967 var all_filters = tabs.data("all-filters"); 968 969 if (typeof target !== "undefined") { 970 if (typeof all_filters === "undefined") { 971 all_filters = ""; 972 tabs.find(".highlight-tab").each(function() { 973 var f = $(this).data("filter"); 974 all_filters += f + " "; 975 }); 976 tabs.DATA("all-filters", all_filters); 977 } 978 979 $(target).removeClass(all_filters).addClass(filter); 980 } 981} 982 983 984 985 986 987 988 989 990 991 992/* 993 * FUNKCJA: SET_SESSION_VAR() 994 * ----------------------------- 995 * DEFINIOWANIE ZMIENNEJ SESYJNEJ PRZEZ AJAXA
996 */ 997 998function SET_SESSION_VAR(var_name, value, fn) 999{ 1000 $.post(".core/.php/ajax.php?action=set_session_var", {"var_name": var_name, "value": value}, function() { 1001 if (typeof fn !== "undefined") { 1002 fn(); 1003 } 1004 }); 1005} 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016/* 1017 * FUNKCJA: CREATE_DELETE_BUTTONS() 1018 * ----------------------------------- 1019 * UTWORZENIE PRZYCISKU USUWAJÄCEGO 1020 * PRZESÅANY PLIK PRZEZ POLE DROPZONE 1021 */ 1022 1023function CREATE_DELETE_BUTTONS(dropzone_id) 1024{ 1025 $("#send_" + dropzone_id).find(".dz-preview").each(function() 1026 { 1027 var is_delete_button = $(this).find(".delete_file").length; 1028 1029 if (!is_delete_button) 1030 { 1031 var filename = $(this).find(".dz-image").find("img").attr("alt"); 1032 $(this).append('<p class="delete_file" data-filename="' + filename + '">Ã</p>'); 1033 } 1034 }); 1035} 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046/* 1047 * FUNKCJA: COUNT_SENDED_FILES() 1048 * -------------------------------- 1049 * PRZELICZANIE ILOÅCI WYSÅANYCH PLIKÃW 1050 */ 1051 1052function COUNT_SENDED_FILES(dropzone_id) 1053{ 1054 var all_sended = 0; 1055 1056 if (dropzone_id === "all") 1057 { 1058 $(".dz-preview").each(function() 1059 { 1060 all_sended++; 1061 }); 1062 1063 // $("#ftp_is_any_files").val(all_sended).attr("value", all_sended); 1064 } 1065 else 1066 { 1067 $("#send_" + dropzone_id).find(".dz-preview").each(function() 1068 { 1069 all_sended++; 1070 }); 1071 1072 $("#ftp_" + dropzone_id).val(all_sended).attr("value", all_sended); 1073 } 1074} 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085/* 1086 * FUNKCJA: PUSH_TO_ESC_HISTORY() 1087 * ------------------------------ 1088 * DODAWANIE ELEMENTU DO HISTORII 1089 * ZAMYKANIA KLAWISZEM ESC 1090 */ 1091 1092function PUSH_TO_ESC_HISTORY(id) 1093{ 1094 esc_history.push(id); 1095} 1096 1097/* 1098 * FUNKCJA: SPLICE_FROM_ESC_HISTORY() 1099 * ---------------------------------- 1100 * USUWANIE ELEMENTU Z HISTORII 1101 * ZAMYKANIA KLAWISZEM ESC 1102 */ 1103 1104function SPLICE_FROM_ESC_HISTORY(id) 1105{ 1106 esc_history.splice(esc_history.indexOf(id), 1); 1107} 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118/* 1119 * FUNKCJA: EXPLODE_TO_ASOC() 1120 * -------------------------- 1121 * ROZBICIE CIÄGU ZNAKÃW DO 1122 * TABLICY ASOCJACYJNEJ 1123 */ 1124 1125function EXPLODE_TO_ASOC(string, first_separator, second_separator) 1126{ 1127 var arr1 = []; 1128 var arr2 = []; 1129 1130 string = string.split(first_separator); 1131 1132 for (var z = 0; z < string.length; z++) 1133 { 1134 arr1 = string[z].split(second_separator); 1135 arr2[TRIM(arr1[0])] = TRIM(arr1[1]); 1136 } 1137 1138 return arr2; 1139} 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150/* 1151 * NIE UÅ»YWANA - WYÅÄCZONA 1152 * ======================= 1153 * FUNKCJA: IS_NUMERIC() 1154 * --------------------- 1155 * SPRAWDZANIE CZY PODANY 1156 * CIÄG ZNAKÃW JEST LICZBÄ 1157 */ 1158 1159/* function IS_NUMERIC(strString) 1160{ 1161 if (strString) 1162 { 1163 var strValidChars = "0123456789.-"; 1164 var strChar; 1165 var blnResult = true; 1166 1167 if (strString.length === 0) 1168 { 1169 return false; 1170 } 1171 1172 for (var i = 0; i < strString.length && blnResult === true; i++) 1173 { 1174 strChar = strString.charAt(i); 1175 1176 if (strValidChars.indexOf(strChar) === -1) 1177 { 1178 blnResult = false; 1179 } 1180 } 1181 1182 return blnResult; 1183 } 1184} */ 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195/* 1196 * FUNKCJA: COUNT_PRODUCT_PRICE() 1197 * ------------------------------ 1198 * PRZELICZANIE CENY WSKAZANEGO 1199 * PRODUKTU Z KOSZYKA 1200 */ 1201 1202function COUNT_PRODUCT_PRICE(product_form_link, product_id) 1203{ 1204 var currency = $("#currency").val(); 1205 1206 $.ajax( 1207 { 1208 type: "POST", 1209 url: ".core/.sitemap.pages/" + product_form_link + "/_ajax.php?action=count_price", 1210 data: 1211 { 1212 product_id: product_id 1213 }, 1214 success: function(data) 1215 { 1216 data = data.split("|"); 1217 1218 inp_price = data[0]; 1219 inp_price_no_discounts = data[1]; 1220 1221 $("#record" + product_id).find(".price").find("span").html(data[0] + " " + currency); 1222 } 1223 });
1224} 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235/* 1236 * FUNKCJA: CALCULATE_PRICE() 1237 * -------------------------- 1238 * PRZELICZANIE CENY NA AKTUALNÄ 1239 * WALUTÄ SERWISU I ODLICZENIE BONUSÃW 1240 */ 1241 1242/* function CALCULATE_PRICE(price, discounts, tax) 1243{ 1244 if (price > 0) 1245 { 1246 var currency_ratio = parseFloat($("#currency_ratio").val()); 1247 var currency_multiplier = $("#currency_multiplier").val(); 1248 var user_vat = parseInt($("#user_vat").val()); 1249 var user_discount = parseInt($("#user_discount").val()); 1250 var user_level = parseInt($("#user_level").val()); 1251 var user_retail_vat = parseInt($("#user_retail_vat").val()); 1252 1253 var coupon_value = parseInt($("#new_coupon_value").val()); 1254 var value_type = parseInt($("#new_value_type").val()); 1255 1256 var discount_percent = 0; 1257 var vat = 0; 1258 1259 1260 1261 // -- DODANIE VATU 1262 1263 if (tax === "netto") 1264 { 1265 // -- DLA DETALISTÃW 1266 1267 if (user_level === 0) 1268 { 1269 vat = (price * user_retail_vat) / 100; 1270 } 1271 1272 // -- DLA KONTRAHENTÃW 1273 1274 if (user_level !== 0) 1275 { 1276 vat = (price * user_vat) / 100; 1277 } 1278 1279 price += vat; 1280 } 1281 1282 1283 1284 // -- PRZELICZANIE WALUTY 1285 1286 if (currency_ratio !== 0.0) 1287 { 1288 if (currency_multiplier === "dz") price = price / currency_ratio; 1289 if (currency_multiplier === "mn") price = price * currency_ratio; 1290 } 1291 1292 1293 1294 // -- ODLICZANIE RABATÃW 1295 1296 if (discounts) 1297 { 1298 // -- RABAT KLIENTA 1299 1300 if (user_discount !== 0) 1301 { 1302 discount_percent = (price * user_discount) / 100; 1303 } 1304 1305 1306 1307 // -- PROCENTOWY RABAT KODU PROMOCYJNEGO 1308 1309 if (coupon_value !== 0 && value_type === 1) 1310 { 1311 discount_percent = (price * coupon_value) / 100; 1312 } 1313 1314 price -= discount_percent; 1315 } 1316 1317 return parseFloat(price); 1318 } 1319 else 1320 { 1321 return 0.00; 1322 } 1323} */ 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334/* 1335 * FUNKCJA: UPDATE_SUMMARY_DISCOUNTS() 1336 * ----------------------------------- 1337 * INFO O RABATACH W PODSUMOWANIU 1338 */ 1339 1340function UPDATE_SUMMARY_DISCOUNTS() 1341{ 1342 var user_discount = parseInt($("#user_discount").val()); 1343 var coupon_value = parseInt($("#new_coupon_value").val()); 1344 var value_type = parseInt($("#new_value_type").val()); 1345 var is_discount = false; 1346 var discount_value = 0; 1347 1348 // -- RESETOWANIE PÃL Z RABATAMI 1349 1350 $(".discount_available").removeClass("discount_color"); 1351 $(".discount_info").removeClass("show").html("-0%"); 1352 $(".no_discount_info").removeClass("show"); 1353 $("#user_discount_info").removeClass("show").find(".discount_info").html("0%"); 1354 $("#coupon_discount_info").removeClass("show").find(".discount_info").html("0%"); 1355 1356 // -- RABAT KLIENTA 1357 1358 if (user_discount !== 0) 1359 { 1360 $("#user_discount_info").addClass("show"); 1361 1362 is_discount = true; 1363 discount_value = user_discount; 1364 } 1365 1366 // -- PROCENTOWY RABAT KODU PROMOCYJNEGO 1367 1368 if (coupon_value !== 0 && value_type === 1) 1369 { 1370 $("#user_discount_info").removeClass("show"); 1371 $("#coupon_discount_info").addClass("show"); 1372 1373 is_discount = true; 1374 discount_value = coupon_value; 1375 } 1376 1377 // -- DODANIE KOLORU ZIELONEGO JEÅLI SÄ RABATY 1378 1379 if (is_discount) 1380 { 1381 $(".no_discount_info").addClass("show"); 1382 $(".discount_available").each(function() 1383 { 1384 var id = $(this).attr("id"); 1385 var data_price = $(this).data("price"); 1386 var html = $(this).next(".discount_info").html(); 1387 1388 if (data_price !== 0.00) 1389 { 1390 html = html.replace("0", discount_value); 1391 1392 $(this).addClass("discount_color"); 1393 $(this).next(".discount_info").addClass("show").html(html); 1394 } 1395 }); 1396 } 1397} 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408/* 1409 * FUNKCJA: UPDATE_SUMMARY_UPLOADED_FILES() 1410 * ---------------------------------------- 1411 * INFO O PRZESÅANYCH PLIKACH W PODSUMOWANIU 1412 */ 1413 1414/* function UPDATE_SUMMARY_UPLOADED_FILES() 1415{ 1416 var cover_project = parseInt($("#ftp_cover_project").val()); 1417 var cut_out_project = parseInt($("#ftp_cut_out_project").val()); 1418 var case_uv_print_project = parseInt($("#ftp_case_uv_print_project").val()); 1419 var case_engraver_font = parseInt($("#ftp_case_engraver_font").val()); 1420 var pendrive_uv_print_project = parseInt($("#ftp_pendrive_uv_print_project").val()); 1421 var pendrive_engraver_font = parseInt($("#ftp_pendrive_engraver_font").val()); 1422 1423 if (cover_project === 1) $("#ftp_cover_project_summary").removeClass("off"); 1424 if (cut_out_project === 1) $("#ftp_cut_out_project_summary").removeClass("off"); 1425 if (case_uv_print_project === 1) $("#ftp_case_uv_print_project_summary").removeClass("off"); 1426 if (case_engraver_font === 1) $("#ftp_case_engraver_font_summary").removeClass("off"); 1427 if (pendrive_uv_print_project === 1) $("#ftp_pendrive_uv_print_project_summary").removeClass("off"); 1428 if (pendrive_engraver_font === 1) $("#ftp_pendrive_engraver_font_summary").removeClass("off"); 1429} */ 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440/* 1441 * ROUND_PRICE() 1442 * ------------- 1443 * ZAOKRÄGLANIE CENY 1444 */ 1445 1446function ROUND_PRICE(price) 1447{ 1448 var str = String(price); 1449 var arr = str.split("."); 1450 var str1 = arr[0]; 1451 var str2 = ""; 1452 1453 if (arr[1]) { 1454 if (arr[1].length > 1) { 1455 str2 = arr[1].slice(0, 2); 1456 } 1457 else { 1458 str2 = arr[1] + "0"; 1459 } 1460 } 1461 else { 1462 str2 = "00"; 1463 } 1464 1465 return str1 + "." + str2; 1466} 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477/* 1478 * FUNKCJA: SELECT_THUMB() 1479 * -------------------------- 1480 * ZAZNACZENIE WYBRANEGO PARAMETRU FORMULARZA 1481 * I ODCZYT JEGO ATRYBUTÃW "DATA" 1482 */ 1483 1484function SELECT_THUMB(thumb, fn) 1485{ 1486 var container = thumb.parents(".container"); 1487 var multiple_selection = container.hasClass("multiple-selection"); 1488 1489 1490 1491 // -- ZAZNACZENIE I WYBÃR PARAMETRU 1492 1493 if (multiple_selection) { 1494 container.find(".thumb").removeClass("selected options"); 1495 thumb.addClass("selected"); 1496 } 1497 else { 1498 container.find(".thumb").removeClass("added selected options"); 1499 thumb.addClass("added selected"); 1500 1501 // -- AUTOWYBÃR PIERWSZEJ WARTOÅCI CECHY, JEÅCI Å»ADNA NIE JEST WYBRANA 1502 1503 thumb.find(".option").each(function() 1504 { 1505 var all_selected = $(this).find(".tabs-select").find("li.selected").length; 1506 1507 if (all_selected === 0) { 1508 var input = $(this).find(".tabs-select").data("input"); 1509 var first = $(this).find(".tabs-select").find("li:first"); 1510 var value = first.data("value"); 1511 first.addClass("selected"); 1512 $("#" + input).VAL(value); 1513 } 1514 }); 1515 } 1516 1517 1518 1519 // -- FOCUS NA INPUTACH WEWNÄTRZ PARAMETRU 1520 1521 var find_input = thumb.find("input:first").attr("id"); 1522 if (typeof find_input !== "undefined") { 1523 document.getElementById(find_input).focus({preventScroll: true}); 1524 } 1525 1526 1527 1528 // -- ODCZYT ZAZNACZONYCH DODATKOWYCH OPCJI PARAMETRU Z PÃL "TABS-SELECT" 1529 // -- I UPDATE WARTOÅCI PÃL INPUT FORMULARZA 1530 1531 thumb.find(".tabs-select").each(function() 1532 { 1533 var tab_input = $(this).data("input"); 1534 var tab_value = $(this).find(".selected").data("value"); 1535 1536 if (typeof tab_input !== 'undefined' && typeof tab_value !== "undefined") 1537 { 1538 $("#" + tab_input).VAL(tab_value); 1539 } 1540 });
1541 1542 1543 1544 // -- ODCZYTANIE KILKU WARTOÅCI PARAMETRU Z JEDNEGO ATRYBUTU 1545 // -- WARTOÅCI I NAZWY INPUTÃW, ROZDZIELONE PRZECINKAMI 1546 // -- ODCZYT Z ATRYBUTÃW: "DATA-FORM-INPUTS" I "DATA-FORM-VALUES" 1547 1548 var inputs = container.data("form-inputs"); 1549 var values = thumb.data("form-values"); 1550 1551 if (typeof inputs !== 'undefined' && typeof values !== "undefined") 1552 { 1553 inputs = inputs.split(","); 1554 values = values.split(","); 1555 1556 for (var x = 0; x < inputs.length; x++) 1557 { 1558 $("#" + inputs[x]).VAL(values[x]); 1559 } 1560 } 1561 1562 1563 1564 // -- ODCZYT ZE SKRÃCONYCH ATRYBUTÃW: "DATA-INPUTS" I "DATA-VALUES" 1565 1566 inputs = container.data("inputs"); 1567 values = thumb.data("values"); 1568 1569 if (typeof inputs !== 'undefined' && typeof values !== "undefined") 1570 { 1571 inputs = inputs.split(","); 1572 values = values.split(","); 1573 1574 for (var x = 0; x < inputs.length; x++) 1575 { 1576 $("#" + inputs[x]).VAL(values[x]); 1577 } 1578 } 1579 1580 1581 1582 // -- POJEDYÅCZA WARTOÅÄ PODSTAWOWA 1583 // -- ODCZYT Z ATRYBUTÃW SKRÃCONYCH: "DATA-INPUT" I "DATA-VALUE" 1584 1585 var input_short = container.data("input"); 1586 var value_short = thumb.data("value"); 1587 1588 if (typeof input_short !== 'undefined' && input_short !== '...') 1589 { 1590 $("#" + input_short).VAL(value_short); 1591 1592 // -- DOSTÄPNOÅÄ INNYCH PARAMETRÃW SPRAWDZANA NA PODSTAWIE KLAS 1593 // -- NAZWA KLAS BUDOWANA NA BAZIE NAZWY INPUTA 1594 // -- "INPUT_SHORT-OPTION" - WSZYSTKIE 1595 // -- "INPUT_SHORT-VALUE_SHORT" - DOSTÄPNE DLA WYBRANEJ WARTOÅCI 1596 1597 $("." + input_short + "-option").addClass("off"); 1598 $("." + input_short + "-option.all").removeClass("off"); 1599 $("." + input_short + "-" + value_short).removeClass("off"); 1600 } 1601 1602 1603 1604 // -- POJEDYÅCZA WARTOÅÄ PODSTAWOWA 1605 // -- ODCZYT Z ATRYBUTÃW: "DATA-FORM-INPUT" I "DATA-FORM-VALUE" 1606 1607 var input = container.data("form-input"); 1608 var value = thumb.data("form-value"); 1609 1610 if (typeof input !== 'undefined' && input !== '...') 1611 { 1612 $("#" + input).VAL(value); 1613 } 1614 1615 1616 1617 // -- POJEDYÅCZA WARTOÅÄ DODATKOWA 1618 // -- ODCZYT Z ATRYBUTÃW: "DATA-ADDITIONAL-FORM-INPUT" I "DATA-ADDITIONAL-FORM-VALUE" 1619 1620 var additional_input = container.data("additional-form-input"); 1621 var additional_value = thumb.data("additional-form-value"); 1622 1623 if (typeof additional_input !== 'undefined') 1624 { 1625 $("#" + additional_input).VAL(additional_value); 1626 } 1627 1628 1629 1630 // -- NAZWA WYBRANEGO PARAMETRU 1631 // -- SPRAWDZANIE KLAS: TITLE, SYMBOL I LABEL 1632 1633 var title = thumb.find(".thumb_title").text(); 1634 var label = thumb.find(".label").text(); 1635 var symbol = thumb.find(".symbol").text(); 1636 1637 if (typeof symbol !== 'undefined' && symbol !== "") 1638 { 1639 title = symbol; 1640 } 1641 else 1642 { 1643 if (typeof label !== 'undefined' && label !== "") 1644 { 1645 title = label; 1646 } 1647 } 1648 1649 1650 1651 // -- OPIS WYBRANEGO PARAMETRU 1652 1653 var description = thumb.data("description"); 1654 var form_block = thumb.parents(".form_block"); 1655 1656 if (typeof description !== 'undefined') 1657 { 1658 form_block.find(".description").html('<h5>' + title + '</h5>' + description); 1659 } 1660 1661 1662 1663 // -- FUNKCJA WYWOÅYWANA PO ZAKOÅCZENIU WSZYSTKICH OPERACJI 1664 1665 if (typeof fn !== "undefined") { 1666 fn(); 1667 } 1668} 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679/* 1680 * FUNKCJA: UPDATE_HIGHLIGHT() 1681 * ------------------------------ 1682 * UPDATE POZYCJI I SZEROKOÅCI PODÅWIETLENIA 1683 * POD ZAKÅADKAMI ".HIGHLIGHT-TAB" 1684 */ 1685 1686function UPDATE_TAB_HIGHLIGHT(active_tab) 1687{ 1688 if (typeof active_tab !== "undefined" && active_tab.length) 1689 { 1690 // -- SPRAWDZANIE CZY ZAKÅADKI SÄ WIDOCZNE 1691 1692 var is_tabs_off = active_tab.parents(".step_container").hasClass("off"); 1693 1694 if (!is_tabs_off) 1695 { 1696 var highlight = active_tab.parents(".highlight-tabs").find(".highlight"); 1697 var w = parseInt(active_tab.outerWidth()); 1698 var x = parseInt(active_tab.position().left); 1699 var step_id = active_tab.attr("id"); 1700 var summary_step = active_tab.hasClass("summary_step"); 1701 1702 if (highlight.length) 1703 { 1704 if (summary_step) 1705 { 1706 highlight.addClass("summary_step"); 1707 } 1708 else 1709 { 1710 highlight.removeClass("summary_step"); 1711 } 1712 1713 highlight.css({"transform": "translate(" + x + "px, 0)", "width": Math.floor(w) + "px", "opacity": 1}).SHOW(10, function() 1714 { 1715 highlight.removeClass("trans-off"); 1716 1717 // -- SZUKANIE ZAKÅADEK NIÅ»SZEGO POZIOMU 1718 1719 if (typeof step_id !== "undefined") 1720 { 1721 var lower_steps = $("#" + step_id + "-steps"); 1722 1723 if (lower_steps.length) 1724 { 1725 var search_lower_active_tab = $("#" + step_id + "-steps").find(".highlight-tab.active"); 1726 1727 if (typeof search_lower_active_tab !== "undefined" && search_lower_active_tab.length) 1728 { 1729 UPDATE_TAB_HIGHLIGHT(search_lower_active_tab); 1730 } 1731 } 1732 } 1733 }); 1734 } 1735 } 1736 } 1737} 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748/* 1749 * FUNKCJA: CHECK_LAST_PARAMETER_STEP() 1750 * --------------------------------------- 1751 * SPRAWDZANIE KTÃRY KROK JEST OSTATNI I WÅÄCZENIE 1752 * W NIM PRZYCISKU DO KIERUJÄCEGO DO PODSUMOWANIA 1753 */ 1754 1755function CHECK_LAST_PARAMETER_STEP() 1756{ 1757 var all_parameters_step = $("#parameters-list").find("ul").find(".L2"); 1758 var last_parameter_step = $("#parameters-list").find("ul").find(".L2:not(.off):last"); 1759 var parameter_id = last_parameter_step.data("parameter-id"); 1760 var parameter_container = $("#parameter-container-" + parameter_id); 1761 all_parameters_step.removeClass("hide-arrow"); 1762 last_parameter_step.addClass("hide-arrow"); 1763 parameter_container.find(".next-step-v2").HIDE(); 1764 parameter_container.find(".goto-step-product-summary").SHOW(); 1765} 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776/* 1777 * FUNKCJA: V2_UPDATE_PARAMETERS_LIST_MASK() 1778 * -------------------------------------------- 1779 * UPDATE WIDOCZNYCH PARAMETRÃW PRODUKTU W ZALEÅ»NOÅCI 1780 * OD WYBRANEGO KROKU FORMULARZA 1781 */ 1782 1783function V2_UPDATE_PARAMETERS_LIST_MASK(step_obj) 1784{ 1785 // -- OBLICZANIE SZEROKOÅCI DLA MASKI 1786 1787 var step_id = step_obj.data("step-id"); 1788 var mask = $("#parameters-list").find(".mask"); 1789 var parameters_list = $("#parameters-list").find("ul"); 1790 var mask_w = 0; 1791 parameters_list.find(".step-" + step_id).each(function() { 1792 var parameter = $(this); 1793 var w = parameter.outerWidth(); 1794 mask_w += w; 1795 parameter.removeClass("hide"); 1796 // parameter.removeClass("hide hide-arrow"); 1797 });
1798 mask.css({"width": mask_w + "px"}); 1799 setTimeout(function() { 1800 mask.removeClass("trans-off"); 1801 }, 300); 1802 1803 // -- OBLICZANIE PRZESUNIÄCIA W LEWO LISTY PARAMETRÃW 1804 1805 var first = $("#parameters-list").find("ul").find(".step-" + step_id + ":first"); 1806 var last = $("#parameters-list").find("ul").find(".step-" + step_id + ":not(.off):not(.hide):last"); 1807 var x = 0; 1808 first.prevAll("li:not(.highlight)").each(function() { 1809 var parameter = $(this); 1810 var w = parameter.outerWidth(); 1811 x += w; 1812 parameter.addClass("hide"); 1813 }); 1814 // last.addClass("hide-arrow"); 1815 last.nextAll("li:not(.highlight)").each(function() { 1816 var step = $(this); 1817 step.addClass("hide"); 1818 }); 1819 parameters_list.css({"transform": "translate(-" + x + "px, 0)"}); 1820 CHECK_LAST_PARAMETER_STEP(); 1821} 1822 1823 1824 1825 1826 1827/* -- V2_UPDATE_LIST_HIGHLIGHT -- */ 1828 1829function V2_UPDATE_LIST_HIGHLIGHT(obj) 1830{ 1831 if (typeof obj !== "undefined" && obj.length) 1832 { 1833 var highlight = obj.parent().find(".highlight"); 1834 var w = parseInt(obj.outerWidth()); 1835 var x = parseInt(obj.position().left); 1836 if (highlight.length) 1837 { 1838 highlight.css({"transform": "translate(" + x + "px, 0)", "width": Math.floor(w) + "px", "opacity": 1}).removeClass("trans-off").SHOW(0); 1839 } 1840 } 1841} 1842 1843 1844 1845 1846 1847/* -- PRZEJÅCIE DO WSKAZANEGO KROKU -- */ 1848 1849function V2_GOTO_STEP(step_obj, fn) 1850{ 1851 var step_id = step_obj.data("step-id"); 1852 var step_title = step_obj.find("b").text(); 1853 var first_parameter = $(".L2.step-" + step_id + ":first"); 1854 var first_parameter_id = first_parameter.data("parameter-id"); 1855 var first_parameter_container_obj = $("#parameter-container-" + first_parameter_id); 1856 var first_parameter_active_tab = first_parameter_container_obj.find(".filter-tabs").find(".active"); 1857 var is_active_parameters = $(".L2.step-" + step_id + ".force-active").length; 1858 1859 step_obj.DATA("hover", step_title); 1860 step_obj.addClass("force-active"); 1861 step_obj.nextAll().removeClass("force-active"); 1862 step_obj.prevAll().removeClass("force-active"); 1863 1864 V2_UPDATE_LIST_HIGHLIGHT(step_obj); 1865 V2_UPDATE_PARAMETERS_LIST_MASK(step_obj); 1866 1867 if (is_active_parameters === 0) 1868 { 1869 V2_GOTO_PARAMETER(first_parameter); 1870 } 1871 1872 setTimeout(function() 1873 { 1874 V2_UPDATE_LIST_HIGHLIGHT(first_parameter_active_tab); 1875 }, 600); 1876 1877 if (typeof fn !== "undefined") 1878 { 1879 fn(); 1880 } 1881} 1882 1883 1884 1885 1886 1887/* -- ZAZNACZENIE WSKAZANEGO KROKU -- */ 1888 1889function V2_SELECT_STEP(step_obj, fn) 1890{ 1891 var step_title = step_obj.find("b:not(.off)").text(); 1892 1893 step_obj.DATA("hover", step_title); 1894 step_obj.addClass("force-active"); 1895 step_obj.nextAll().removeClass("force-active"); 1896 step_obj.prevAll().removeClass("force-active"); 1897 1898 V2_UPDATE_LIST_HIGHLIGHT(step_obj); 1899 V2_UPDATE_PARAMETERS_LIST_MASK(step_obj); 1900 1901 if (typeof fn !== "undefined") 1902 { 1903 fn(); 1904 } 1905} 1906 1907 1908 1909 1910 1911/* -- PRZEJÅCIE DO WSKAZANEGO PARAMETRU -- */ 1912 1913function V2_GOTO_PARAMETER(parameter_obj, fn) 1914{ 1915 // $("html, body").stop().animate({scrollTop: 0}, 250, 'swing', function() 1916 // { 1917 var step_id = parameter_obj.data("step-id"); 1918 var step_obj = $("#step-" + step_id); 1919 var parameter_id = parameter_obj.data("parameter-id"); 1920 var parameter_title = parameter_obj.find("b:not(.off)").text(); 1921 var parameter_container_obj = $("#parameter-container-" + parameter_id); 1922 var parameter_container_mask_obj = parameter_container_obj.parent(); 1923 1924 // -- SPRAWDZANIE CZY KTÃRYÅ PARAMETR JEST JUÅ» WYBRANY 1925 1926 if (typeof current_parameter_obj !== "undefined") 1927 { 1928 // -- SPRAWDZANIE CZY WYBRANY PARAMETR ZNAJDUJE SIÄ 1929 // -- PO LEWEJ CZY PO PRAWEJ STRONIE OD BIEÅ»ÄCEGO 1930 // -- Å»EBY USTALIÄ, W KTÃRÄ STRONÄ WIZUALNIE GO PRZESUNÄÄ 1931 1932 if (current_parameter_obj.prevAll("#parameter-" + parameter_id).length === 1) current_parameter_container_obj.addClass("push-right").HIDE(400); 1933 if (current_parameter_obj.nextAll("#parameter-" + parameter_id).length === 1) current_parameter_container_obj.addClass("push-left").HIDE(400); 1934 } 1935 1936 // -- ZMIANA BIEÅ»ÄCEGO PARAMETRU NA WYBRANY 1937 1938 parameter_obj.DATA("hover", parameter_title); 1939 parameter_obj.addClass("force-active"); 1940 parameter_obj.nextAll().removeClass("force-active"); 1941 parameter_obj.prevAll().removeClass("force-active"); 1942 parameter_container_obj.SHOW(0, function() 1943 { 1944 var h = parameter_container_obj.outerHeight(); 1945 parameter_container_obj.removeClass("push-left push-right"); 1946 parameter_container_mask_obj.css({"height": h + "px"}); 1947 }); 1948 1949 current_parameter_obj = parameter_obj; 1950 current_parameter_container_obj = parameter_container_obj; 1951 current_parameter_container_obj.nextAll(".parameter-container").removeClass("push-left").addClass("push-right"); 1952 current_parameter_container_obj.prevAll(".parameter-container").removeClass("push-right").addClass("push-left"); 1953 1954 V2_SELECT_STEP(step_obj); 1955 V2_UPDATE_LIST_HIGHLIGHT(parameter_obj); 1956 1957 // -- WYÅWIETLENIE BUTONA DO PODSUMOWANIA 1958 // -- JEÅLI WYBRANY PARAMETR JEST OSTATNI 1959 1960 if (parameter_obj.nextAll().length === 0) 1961 { 1962 parameter_container_obj.find(".next-step-v2").HIDE(); 1963 parameter_container_obj.find(".goto-step-product-summary").SHOW(); 1964 } 1965 1966 var active_filter_tab = parameter_container_obj.find(".filter-tabs").find(".active"); 1967 1968 V2_UPDATE_LIST_HIGHLIGHT(active_filter_tab); 1969 V2_FIX_H(); 1970 1971 if (typeof fn !== "undefined") { 1972 fn(); 1973 } 1974 1975 $("html, body").stop().animate({scrollTop: 0}, 250, 'swing'); 1976 // }); 1977} 1978 1979 1980 1981 1982 1983/* -- KOREKTA WYSOKOÅCI KONTENERA Z KROKIEM -- */ 1984 1985function V2_FIX_H() 1986{ 1987 if (typeof current_parameter_container_obj !== "undefined") { 1988 var h = current_parameter_container_obj.outerHeight(); 1989 1990 if (current_parameter_container_obj.parent().length) { 1991 current_parameter_container_obj.parent().css({"height": h + "px"}); 1992 } 1993 1994 if (current_parameter_container_obj.parent().parent().length) { 1995 current_parameter_container_obj.parent().parent().css({"height": h + "px"}); 1996 } 1997 } 1998} 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019/* 2020 * FUNKCJA: FLOATING_CONSOLE() 2021 * ------------------------------ 2022 * KONSOLA PO LEWEJ: TREÅÄ, AKCJA I KIERUNEK 2023 * AKCJE: ADD (DODANIE) CLEAR (WYCZYSZCZENIE KONSOLI) 2024 * KIERUNEK: BEFORE (OD GÃRY) AFTER (OD DOÅU) 2025 */ 2026 2027function FLOATING_CONSOLE(console_content, container, action, direction) 2028{ 2029 var web_console = $("#web_console").val(); 2030 2031 if (web_console === "on") 2032 { 2033 var floating_console = $("#floating-console").find("div"); 2034 var p = $('<p>' + console_content + '</p>'); 2035 2036 if (typeof action === "undefined" || action === "") action = "add"; 2037 if (typeof direction === "undefined" || direction === "") direction = "after"; 2038 if (typeof container !== "undefined") 2039 { 2040 var container_obj = $("#" + container); 2041 2042 if (!container_obj.length) 2043 { 2044 if (direction === "before") floating_console.prepe
2044nd('<p id="' + container + '">' + console_content + '</p>'); 2045 if (direction === "after") floating_console.append('<p id="' + container + '">' + console_content + '</p>'); 2046 } 2047 else 2048 { 2049 container_obj.html(console_content); 2050 } 2051 } 2052 else 2053 { 2054 if (action === "clear") floating_console.html(p); 2055 if (action === "add") 2056 { 2057 if (direction === "before") floating_console.prepend(p); 2058 if (direction === "after") floating_console.append(p); 2059 } 2060 } 2061 2062 var console_h = $("#floating-console").find("div").outerHeight(); 2063 $("#floating-console").scrollTop(console_h); 2064 } 2065} 2066 2067 2068 2069 2070 2071/* 2072 * FUNKCJA: GET_PERSONALIZATION_VARS() 2073 * -------------------------------------- 2074 * ODCZYT ZMIENNYCH ZWIÄZANYCH Z FORMULARZEM 2075 * NA PERSONALIZACJÄ 2076 */ 2077 2078function GET_PERSONALIZATION_VARS() 2079{ 2080 var web_console = $("#web_console").val(); 2081 var get_id = $("#get_id").val(); 2082 if (web_console === "on" && get_id === "order") { 2083 var colors = {}; 2084 var field_symbol = ""; 2085 colors["true"] = "#0a0"; 2086 colors["false"] = "#a00"; 2087 if (typeof current_personalization_field !== "undefined" && current_personalization_field != null) { 2088 field_symbol = current_personalization_field.data("field-symbol"); 2089 } 2090 $("#var-current_model_view_mode").html(current_model_view_mode); 2091 $("#var-mouseon_del_personalization").html(mouseon_del_personalization.toString()).css("color", colors[mouseon_del_personalization.toString()]); 2092 $("#var-mouseon_change_personalization_value").html(mouseon_change_personalization_value.toString()).css("color", colors[mouseon_change_personalization_value.toString()]); 2093 $("#var-hide_del_personalization_delay").html(hide_del_personalization_delay); 2094 $("#var-personalization_details").html(personalization_details.toString()).css("color", colors[personalization_details.toString()]); 2095 $("#var-current_personalization_field").html(field_symbol); 2096 $("#var-current_personalization_target").html(current_personalization_target); 2097 } 2098} 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109/* 2110 * NOTICE 2111 * --------- 2112 * WYÅWIETLANIE PODPOWIEDZI Z WYGASZENIEM 2113 */ 2114 2115function SHOW_NOTICE(id) 2116{ 2117 if (parseInt($.cookie("preset-notice")) !== 1 && !was_preset_notice) { 2118 var x = $("#preset-save-panel-icon").offset().left; 2119 $("#" + id).css({"left": x + "px"}) 2120 $("#notice-mask").SHOW(); 2121 } 2122} 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133/* 2134 * FUNKCJA: FIND_VARIANT() 2135 * -------------------------- 2136 * ODMIANA RZECZOWNIKÃW PRZEZ LICZBY I PÅEÄ 2137 */ 2138 2139function FIND_VARIANT(amount, variant_arr) 2140{ 2141 var variant = ""; 2142 var a; 2143 2144 amount = parseInt(amount); 2145 2146 if (amount > 21) { 2147 a = parseInt((amount.toString()).slice(-1)); 2148 if (a === 0 || a === 1) variant = variant_arr[1]; 2149 if (a === 2 || a === 3 || a === 4) variant = variant_arr[2]; 2150 if (a >= 5 && a <= 9) variant = variant_arr[1]; 2151 } 2152 else { 2153 a = amount; 2154 if (a === 1) variant = variant_arr[0]; 2155 if (a === 2 || a === 3 || a === 4) variant = variant_arr[2]; 2156 if (a >= 5 && a <= 21) variant = variant_arr[1]; 2157 } 2158 2159 return variant; 2160} 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171/* 2172 * FUNKCJA: T() 2173 * --------------- 2174 * POBIERANIE AJAXEM TÅUMACZENIA 2175 * DO FRAZ W JS 2176 */ 2177 2178function T(phrase, callback) { 2179 $.ajax({
2180 type: "POST", 2181 url: ".core/.php/ajax.php?action=get_translation", 2182 data: { 2183 phrase: phrase 2184 }, 2185 success: function(translation) { 2186 callback(translation); 2187 } 2188 }); 2189} 2190 2191
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.