1/** 2 * 0- Preloader 3 * 1- Main menu 4 * 2- Mobile menu 5 * 3- Video wrapper 6 * 4- Flex slider 7 * 5- Owl Carousel 8 * 6- Color Box 9 * 7- Scroll to top 10 * 8- Bootstrap Collapse 11 * 9- NiceScroll 12 * 10- Masonry 13 * 11- Portfolio Filter 14 * 12- Google Map 15 * 13- Validate Form 16 14- Single-author-Filter 17 15- Fraction Slider 18 16- Fix css ie8 19 17- Wow.js 20 *----------------------------------------------------------------- 21 **/ 22 23 24"use strict"; 25 26/* ========================================================= 270. Preloader 28============================================================ */ 29 30 31jQuery(document).ready(function(){ 32 33var kopa_variable = { 34 "contact": { 35 "address": "Lorem ipsum dolor sit amet, consectetur adipiscing elit", 36 "marker": "/url image" 37 }, 38 "i18n": { 39 "VIEW": "View", 40 "VIEWS": "Views", 41 "validate": { 42 "form": { 43 "SUBMIT": "Submit", 44 "SENDING": "Sending..." 45 }, 46 "name": { 47 "REQUIRED": "Please enter your name", 48 "MINLENGTH": "At least {0} characters required" 49 }, 50 "email": { 51 "REQUIRED": "Please enter your email", 52 "EMAIL": "Please enter a valid email" 53 }, 54 "url": { 55 "REQUIRED": "Please enter your url", 56 "URL": "Please enter a valid url" 57 }, 58 "message": { 59 "REQUIRED": "Please enter a message", 60 "MINLENGTH": "At least {0} characters required" 61 } 62 }, 63 "tweets": { 64 "failed": "Sorry, twitter is currently unavailable for this user.", 65 "loading": "Loading tweets..." 66 } 67 }, 68 "url": { 69 "template_directory_uri": resourcesPath 70 } 71}; 72var map; 73/* ========================================================= 741. Main Menu 75============================================================ */ 76 77Modernizr.load([ 78 { 79 load: kopa_variable.url.template_directory_uri + 'js/superfish.js', 80 complete: function () { 81 82 //Main menu 83 jQuery('.main-menu').superfish({ 84 cssArrows: true 85 }); 86 87 } 88 } 89]); 90 91Modernizr.load([ 92 { 93 load: kopa_variable.url.template_directory_uri + 'js/superfish.js', 94 complete: function () { 95 96 //Main menu 97 jQuery('.secondary-menu').superfish({
98 cssArrows: false 99 }); 100 101 } 102 } 103]); 104 105/* ============================================ 1062. Mobile-menu 107=============================================== */ 108 Modernizr.load([{ 109 load: [kopa_variable.url.template_directory_uri + 'js/jquery.navgoco.js'], 110 complete: function () { 111 jQuery(".main-menu-mobile").navgoco({ 112 accordion: true 113 }); 114 jQuery(".main-nav-mobile > .pull").click(function () { 115 jQuery(".main-menu-mobile").slideToggle("slow"); 116 }); 117 jQuery(".caret").removeClass("caret"); 118 } 119 }]); 120 121/* ========================================================= 1223. Video wrapper 123============================================================ */ 124 125if (jQuery(".video-wrapper").length > 0) { 126 Modernizr.load([{ 127 load: kopa_variable.url.template_directory_uri + '/js/fitvids.js', 128 complete: function () { 129 jQuery(".video-wrapper").fitVids(); 130 } 131 }]); 132}; 133 134 135/* ========================================================= 1364. Flex slider 137============================================================ */ 138 139Modernizr.load([ 140 { 141 load: kopa_variable.url.template_directory_uri + 'js/jquery.flexslider.js', 142 complete: function () { 143 jQuery('.kopa-home-slider').flexslider({ 144 animation: "slide", 145 controlNav: false, 146 slideshow: false, 147 smoothHeight: true, 148 prevText: "", 149 nextText: "", 150 start: function(slider){ 151 jQuery(".loading").hide(); 152 jQuery('.total-slides').text(slider.count); 153 jQuery('.current-slide').text(slider.currentSlide + 1); 154 }, 155 after: function(slider) { 156 jQuery('.current-slide').text(slider.currentSlide + 1); 157 } 158 }); 159 } 160 } 161]); 162 163 164/* ========================================================= 1655. Owl Carousel 166============================================================ */ 167 168 Modernizr.load([{ 169 load: [kopa_variable.url.template_directory_uri + 'js/owl.carousel.js'], 170 complete: function () { 171 172 jQuery('.kopa-testimonial-carousel').owlCarousel({ 173 items : 1, 174 itemsDesktop : [1120,1], 175 itemsDesktopSmall : [979,1], 176 itemsTablet : [799,1], 177 lazyLoad : true, 178 navigation : true, 179 pagination: false, 180 navigationText : false, 181 autoPlay: true 182 }); 183 184 185 var owl1 = jQuery(".owl-carousel-1"); 186 owl1.owlCarousel({ 187 singleItem: true, 188 pagination: false, 189 slideSpeed: 600, 190 transitionStyle : "fade", 191 navigationText: false, 192 navigation: true, 193 afterInit: function(){ 194 jQuery(".loading").hide(); 195 } 196 }); 197 198 var owl2 = jQuery(".owl-carousel-2"); 199 owl2.owlCarousel({ 200 singleItem: true, 201 pagination: true, 202 autoPlay: 5000, 203 slideSpeed: 1000, 204 transitionStyle : "fade", 205 navigation: false 206 }); 207 208 var owl3 = jQuery(".owl-carousel-3"); 209 owl3.owlCarousel({ 210 singleItem: true, 211 pagination: true, 212 autoPlay: 5000, 213 slideSpeed: 1000, 214 transitionStyle : "fade", 215 navigation: false 216 }); 217 218 var owl4 = jQuery(".owl-carousel-4"); 219 owl4.owlCarousel({ 220 items: 4, 221 pagination: false, 222 slideSpeed: 600, 223 navigationText: false, 224 navigation: true 225 }); 226 227 var owl5 = jQuery(".owl-carousel-5"); 228 owl5.owlCarousel({ 229 singleItem: true, 230 pagination: true, 231 slideSpeed: 1000, 232 transitionStyle : "backSlide", 233 navigation: false 234 }); 235 236 var owl6 = jQuery(".owl-carousel-6"); 237 owl6.owlCarousel({ 238 singleItem: true, 239 pagination: false, 240 slideSpeed: 600,
241 navigationText: false, 242 navigation: true 243 }); 244 245 var owl7 = jQuery(".owl-carousel-7"); 246 owl7.owlCarousel({ 247 items: 4, 248 pagination: false, 249 slideSpeed: 600, 250 navigationText: false, 251 navigation: true 252 }); 253 254 var owl8 = jQuery(".owl-carousel-8"); 255 owl8.owlCarousel({ 256 items: 3, 257 itemsDesktop: [1024, 3], 258 pagination: false, 259 slideSpeed: 600, 260 navigationText: false, 261 navigation: true 262 }); 263 264 var owl9 = jQuery(".owl-carousel-9"); 265 owl9.owlCarousel({ 266 singleItem: true, 267 pagination: false, 268 slideSpeed: 600, 269 navigationText: false, 270 navigation: true 271 }); 272 273 jQuery('.owl-prev').addClass('fa fa-angle-left'); 274 jQuery('.owl-next').addClass('fa fa-angle-right'); 275 jQuery('.owl-carousel-1 .owl-prev').removeClass('fa-angle-left').addClass('fa-caret-left'); 276 jQuery('.owl-carousel-1 .owl-next').removeClass('fa-angle-right').addClass('fa-caret-right'); 277 } 278 }]) 279 280 281 282/* ========================================================= 2836. Color Box 284============================================================ */ 285 286Modernizr.load([ 287{ 288 load: kopa_variable.url.template_directory_uri + 'js/jquery.colorbox.js', 289 complete: function () { 290 jQuery(".group1").colorbox({rel:'group1'}); 291 jQuery(".group2").colorbox({rel:'group2'}); 292 jQuery(".group3").colorbox({rel:'group3'}); 293 jQuery(".group4").colorbox({rel:'group4'}); 294 jQuery(".group5").colorbox({rel:'group5'}); 295 jQuery(".group6").colorbox({rel:'group6'}); 296 jQuery(".group7").colorbox({rel:'group7'}); 297 jQuery(".group8").colorbox({rel:'group8'}); 298 jQuery(".group9").colorbox({rel:'group9'}); 299 jQuery(".group10").colorbox({rel:'group10'}); 300 jQuery(".group11").colorbox({rel:'group11'}); 301 jQuery(".group12").colorbox({rel:'group12'}); 302 } 303} 304]); 305 306/* ========================================================= 3077. Scroll to top 308============================================================ */ 309 310 // hide #back-top first 311 jQuery("#back-top").hide(); 312 313 // fade in #back-top 314 jQuery(function () { 315 jQuery(window).scroll(function () { 316 if (jQuery(this).scrollTop() > 200) { 317 jQuery('#back-top').fadeIn(); 318 } else { 319 jQuery('#back-top').fadeOut(); 320 } 321 }); 322 323 // scroll body to 0px on click 324 jQuery('#back-top a').click(function () { 325 jQuery('body,html').animate({ 326 scrollTop: 0 327 }, 800); 328 return false; 329 }); 330 }); 331 332/* ========================================================= 3338. BOOTSTRAP COLLAPSE 334============================================================ */ 335 336var panel_titles = jQuery('.panel-title a'); 337 panel_titles.addClass("collapsed"); 338 jQuery('.panel-heading.active').find(panel_titles).removeClass("collapsed"); 339 if (panel_titles.length > 0) { 340 panel_titles.click(function() { 341 parent = jQuery(this).attr('data-parent'); 342 //ACCORDION 343 if (undefined !== parent) { 344 var obj_actived = jQuery(parent).find('.panel-heading.active'); 345 obj_actived.removeClass('active'); 346 obj_actived.find('span.b-collapse').html('+'); 347 if (jQuery(this).hasClass('collapsed')) { 348 jQuery(this).parents('.panel-heading').addClass('active'); 349 jQuery(this).find('span.b-collapse').html('-'); 350 } else { 351 jQuery(this).parents('.panel-heading').removeClass('active'); 352 jQuery(this).find('span.b-collapse').html('+'); 353 } 354 } else { 355 //TOGGLE 356 parent = jQuery(this).parents('.panel-heading'); 357 if (parent.hasClass('active')) { 358 parent.removeClass('active'); 359 jQuery(this).find('span.b-collapse').html('+'); 360 } else { 361 parent.addClass('active'); 362 jQuery(this).find('span.b-collapse').html('-'); 363 } 364 } 365 }); 366 } 367 368 /* ========================================================= 369Toggle 370============================================================ */ 371 372 jQuery('#toggle .collapse').collapse({ 373 toggle: false 374}); 375 376 377 378 /* ========================================================= 37910. masonry 380============================================================ */ 381 382 Modernizr.load([{ 383 load: [kopa_variable.url.template_directory_uri + 'js/masonry.pkgd.js', kopa_variable.url.template_directory_uri + 'js/imagesloaded.js'], 384 complete: function () { 385 var jQuerymasonry1 = jQuery('.kopa-blog-masonry-widget > ul'); 386 imagesLoaded(jQuerymasonry1, function () { 387 jQuerymasonry1.masonry({ 388 columnWidth: 1, 389 itemSelector: '.ms-item1' 390 }); 391 jQuerymasonry1.masonry('bindResize') 392 }); 393 } 394 }]); 395 396 /* ========================================================= 39711. Portfolio Filter 398============================================================ */ 399 400 401 402 /* ========================================================= 40311. Portfolio Filter 404============================================================ */ 405 406 Modernizr.load([{ 407 load: [kopa_variable.url.template_directory_uri + 'js/jquery.imagesloaded.js',kopa_variable.url.template_directory_uri + 'js/jquery.wookmark.js'], 408 complete: function () { 409 jQuery('.portfolio-list-item').imagesLoaded(function() { 410 // Prepare layout options. 411 var options = { 412 autoResize: true, // This will auto-update the layout when the browser window is resized. 413 container: jQuery('.portfolio-container'), // Optional, used for some extra CSS styling 414 offset: 0, // Optional, the distance between grid items
415 fillEmptySpace: true // Optional, fill the bottom of each column with widths of flexible height 416 }; 417 418 // Get a reference to your grid items. 419 var handler = jQuery('.portfolio-list-item li'), 420 filters = jQuery('.filters-options li'); 421 422 // Call the layout function. 423 handler.wookmark(options); 424 425 /** 426 * When a filter is clicked, toggle it's active state and refresh. 427 */ 428 var onClickFilter = function(event) { 429 var item = jQuery(event.currentTarget), 430 activeFilters = []; 431 432 if (!item.hasClass('active')) { 433 filters.removeClass('active'); 434 } 435 item.toggleClass('active'); 436 437 // Filter by the currently selected filter 438 if (item.hasClass('active')) { 439 activeFilters.push(item.data('filter')); 440 } 441 442 handler.wookmarkInstance.filter(activeFilters); 443 } 444 445 // Capture filter click events. 446 filters.click(onClickFilter); 447 }); 448 449 450 jQuery('.portfolio-list').imagesLoaded(function() { 451 // Prepare layout options. 452 var options = { 453 autoResize: true, // This will auto-update the layout when the browser window is resized. 454 container: jQuery('.portfolio-container2'), // Optional, used for some extra CSS styling 455 offset: 0, // Optional, the distance between grid items 456 fillEmptySpace: true // Optional, fill the bottom of each column with widths of flexible height 457 }; 458 459 // Get a reference to your grid items. 460 var handler = jQuery('.portfolio-list > li'), 461 filters = jQuery('.filters-options2 li'); 462 463 // Call the layout function. 464 handler.wookmark(options); 465 466 /** 467 * When a filter is clicked, toggle it's active state and refresh. 468 */ 469 var onClickFilter = function(event) { 470 var item = jQuery(event.currentTarget), 471 activeFilters = []; 472 473 if (!item.hasClass('active')) { 474 filters.removeClass('active'); 475 } 476 item.toggleClass('active'); 477 478 // Filter by the currently selected filter 479 if (item.hasClass('active')) { 480 activeFilters.push(item.data('filter')); 481 } 482 483 handler.wookmarkInstance.filter(activeFilters); 484 } 485 486 // Capture filter click events. 487 filters.click(onClickFilter); 488 }); 489 } 490 }]); 491 492/* ========================================================= 49312. Google Map 494============================================================ */ 495 496var map; 497if (jQuery('.kopa-map').length > 0) { 498 Modernizr.load([{ 499 load: ['js/gmaps.js'], 500 complete: function () { 501 var id_map = jQuery('.kopa-map').attr('id'); 502 var lat = parseFloat(jQuery('.kopa-map').attr('data-latitude')); 503 var lng = parseFloat(jQuery('.kopa-map').attr('data-longitude')); 504 var place = jQuery('.kopa-map').attr('data-place'); 505 506 map = new GMaps({ 507 el: '#'+id_map, 508 lat: lat, 509 lng: lng, 510 zoomControl : true, 511 zoomControlOpt: { 512 style : 'SMALL', 513 position: 'TOP_LEFT' 514 }, 515 panControl : false, 516 streetViewControl : false, 517 mapTypeControl: false, 518 overviewMapControl: false 519 }); 520 map.addMarker({ 521 lat: lat, 522 lng: lng, 523 title: place 524 }); 525 } 526 }]); 527}; 528 529/* ========================================================= 53013. Validate Form 531============================================================ */ 532 533 if (jQuery('.contact-form').length >0) { 534 Modernizr.load([ 535 { 536 load:['js/jquery.form.js','js/jquery.validate.js'], 537 complete: function () { 538 jQuery('.contact-form').validate({ 539 // Add requirements to each of the fields 540 rules: { 541 name: { 542 required: true, 543 minlength: 2 544 }, 545 email: { 546 required: true, 547 email: true 548 }, 549 phone: { 550 required: true, 551 phone: true 552 }, 553 message: { 554 required: true, 555 minlength: 10 556 } 557 }, 558 // Specify what error messages to display 559 // when the user does something horrid 560 messages: { 561 name: { 562 required: "Please enter your name.", 563 minlength: jQuery.format("At least {0} characters required.") 564 }, 565 email: { 566 required: "Please enter your email.", 567 email: "Please enter a valid email." 568 }, 569 phone: { 570 required: "Please enter your phone.", 571 url: "Please enter a valid phone." 572 }, 573 message: { 574 required: "Please enter a message.", 575 minlength: jQuery.format("At least {0} characters required.") 576 } 577 },
578 // Use Ajax to send everything to processForm.php 579 submitHandler: function(form) { 580 jQuery("#input-submit").attr("value", "Sending..."); 581 jQuery(form).ajaxSubmit({ 582 success: function(responseText, statusText, xhr, jQueryform) { 583 jQuery("#response").html(responseText).hide().slideDown("fast"); 584 jQuery("#input-submit").attr("value", "Submit"); 585 } 586 }); 587 return false; 588 } 589 }); 590 } 591 } 592 ]); 593 }; 594 /*** comment form ***/ 595 if (jQuery('#comments-form').length >0) { 596 Modernizr.load([ 597 { 598 load:['js/jquery.form.js','js/jquery.validate.js'], 599 complete: function () { 600 jQuery('#comments-form').validate({ 601 // Add requirements to each of the fields 602 rules: { 603 name: { 604 required: true, 605 minlength: 2 606 }, 607 email: { 608 required: true, 609 email: true 610 }, 611 phone: { 612 required: true, 613 phone: true 614 }, 615 message: { 616 required: true, 617 minlength: 10 618 } 619 }, 620 // Specify what error messages to display 621 // when the user does something horrid 622 messages: { 623 name: { 624 required: "Please enter your name.", 625 minlength: jQuery.format("At least {0} characters required.") 626 }, 627 email: { 628 required: "Please enter your email.", 629 email: "Please enter a valid email." 630 }, 631 phone: { 632 required: "Please enter your phone.", 633 url: "Please enter a valid phone." 634 }, 635 message: { 636 required: "Please enter a message.", 637 minlength: jQuery.format("At least {0} characters required.") 638 } 639 }, 640 // Use Ajax to send everything to processForm.php 641 submitHandler: function(form) { 642 jQuery("#input-submit").attr("value", "Sending..."); 643 jQuery(form).ajaxSubmit({ 644 success: function(responseText, statusText, xhr, jQueryform) { 645 jQuery("#response").html(responseText).hide().slideDown("fast"); 646 jQuery("#input-submit").attr("value", "Submit"); 647 } 648 }); 649 return false; 650 } 651 }); 652 } 653 } 654 ]); 655 }; 656 657/* ============================================ 65814. Single-author-Filter 659=============================================== */ 660 661 jQuery('.social-filter > div span').click(function () { 662 if (jQuery(".social-filter ul").is(":hidden")) { 663 jQuery(".social-filter ul").slideDown("slow"); 664 } else { 665 jQuery(".social-filter ul").slideUp(); 666 } 667 }); 668 669/* ============================================ 67015. Fraction Slider 671=============================================== */ 672 673 Modernizr.load([{ 674 load: [kopa_variable.url.template_directory_uri + 'js/jquery.fractionslider.js'], 675 complete: function () { 676 var fr1 = jQuery('.kopa-home-slider-3-widget .slider'); 677 fr1.fractionSlider({ 678 'fullWidth': true, 679 'controls': true, 680 'pager': true, 681 'responsive': true, 682 'dimensions': "1366,453", 683 'increase': false, 684 'pauseOnHover': true, 685 'slideEndAnimation': true, 686 'slideTransitionSpeed' : 400, 687 'backgroundSpeed' : 400, 688 'timeout' : 400 689 }); 690 691 var fr2 = jQuery('.kopa-home-slider-4-widget .slider'); 692 fr2.fractionSlider({ 693 'fullWidth': false, 694 'controls': true, 695 'pager': true, 696 'responsive': true, 697 'dimensions': "1150,434", 698 'increase': false, 699 'pauseOnHover': true, 700 'slideEndAnimation': true, 701 'slideTransitionSpeed' : 400, 702 'backgroundSpeed' : 400, 703 'timeout' : 400 704 }); 705 706 var fr3 = jQuery('.kopa-home-slider-5-widget .slider'); 707 fr3.fractionSlider({ 708 'fullWidth': false, 709 'controls': true, 710 'pager': true, 711 'responsive': true, 712 'dimensions': "1366,434", 713 'increase': false, 714 'pauseOnHover': true, 715 'slideEndAnimation': true, 716 'slideTransitionSpeed' : 400, 717 'backgroundSpeed' : 400, 718 'timeout' : 400 719 }); 720
721 jQuery('.fraction-slider .prev').addClass('fa fa-angle-left'); 722 jQuery('.fraction-slider .next').addClass('fa fa-angle-right'); 723 } 724 }]); 725 726/* ========================================================= 72716. Fix css ie8 728============================================================ */ 729 jQuery(".e-heading p:last-child").css("margin-bottom", "0"); 730 jQuery(".kopa-area-1 .widget:last-child.parallax, .kopa-area-2 .widget:last-child.parallax, .kopa-area-2 .widget:last-child.kopa-portfolio-2-widget, .article-list-3 > ul > li:last-child").css("margin-bottom", "0 !important"); 731 jQuery(".kopa-parallax-2-widget .ms-item1:nth-child(2)").css("background", "url(images/background/bg/6.png);"); 732 733/* ========================================================= 73417. Wow 735============================================================ */ 736function mobilecheck() { 737 if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) { 738 return false; 739 } 740 return true; 741} 742Modernizr.load([ 743{ 744 load: resourcesPath + 'js/jquery.wow.js', 745 complete: function () { 746 if (mobilecheck()) { 747 //Wow js animation 748 new WOW().init(); 749 jQuery("wow").addClass("animated"); 750 } 751 } 752} 753]); 754 755 756 757/* ========================================================= 75818. Sticky menu 759============================================================ */ 760 761var sticky = $j('.kopa-header-bottom '); 762var origOffsetY = sticky.position().top +28;//les menus n'ont pas la m�me taille; 763 764function onScroll(e) { 765 var top = (document.documentElement && document.documentElement.scrollTop) || 766 document.body.scrollTop; 767 if (!sticky.hasClass('fixed') && top >= origOffsetY) { 768 sticky.addClass('fixed'); 769 } 770 else if (top< origOffsetY) { 771 sticky.removeClass('fixed'); 772 } 773} 774 775document.addEventListener('scroll', onScroll); 776 777 778});
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.