1var $ = jQuery.noConflict(); 2 3$.fn.inlineStyle = function (prop) { 4 return this.prop("style")[$.camelCase(prop)]; 5}; 6 7$.fn.doOnce = function( func ) { 8 this.length && func.apply( this ); 9 return this; 10} 11 12$.extend($.infinitescroll.prototype,{ 13 _setup_portfolioinfiniteitemsloader: function infscr_setup_portfolioinfiniteitemsloader() { 14 var opts = this.options, 15 instance = this; 16 // Bind nextSelector link to retrieve 17 $(opts.nextSelector).click(function(e) { 18 if (e.which == 1 && !e.metaKey && !e.shiftKey) { 19 e.preventDefault(); 20 instance.retrieve(); 21 } 22 }); 23 // Define loadingStart to never hide pager 24 instance.options.loading.start = function (opts) { 25 opts.loading.msg 26 .appendTo(opts.loading.selector) 27 .show(opts.loading.speed, function () { 28 instance.beginAjax(opts); 29 }); 30 } 31 }, 32 _showdonemsg_portfolioinfiniteitemsloader: function infscr_showdonemsg_portfolioinfiniteitemsloader () { 33 var opts = this.options, 34 instance = this; 35 //Do all the usual stuff 36 opts.loading.msg 37 .find('img') 38 .hide() 39 .parent() 40 .find('div').html(opts.loading.finishedMsg).animate({ opacity: 1 }, 2000, function () { 41 $(this).parent().fadeOut('normal'); 42 }); 43 //And also hide the navSelector 44 $(opts.navSelector).fadeOut('normal'); 45 // user provided callback when done 46 opts.errorCallback.call($(opts.contentSelector)[0],'done'); 47 } 48}); 49 50(function() { 51 var lastTime = 0; 52 var vendors = ['ms', 'moz', 'webkit', 'o']; 53 for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) { 54 window.requestAnimationFrame = window[vendors[x]+'RequestAnimationFrame']; 55 window.cancelAnimationFrame = window[vendors[x]+'CancelAnimationFrame'] 56 || window[vendors[x]+'CancelRequestAnimationFrame']; 57 } 58 59 if (!window.requestAnimationFrame) 60 window.requestAnimationFrame = function(callback, element) { 61 var currTime = new Date().getTime(); 62 var timeToCall = Math.max(0, 16 - (currTime - lastTime)); 63 var id = window.setTimeout(function() { callback(currTime + timeToCall); }, 64 timeToCall); 65 lastTime = currTime + timeToCall; 66 return id; 67 }; 68 69 if (!window.cancelAnimationFrame) 70 window.cancelAnimationFrame = function(id) { 71 clearTimeout(id); 72 }; 73}()); 74 75 76 77function debounce(func, wait, immediate) { 78 var timeout, args, context, timestamp, result; 79 return function() { 80 context = this; 81 args = arguments; 82 timestamp = new Date(); 83 var later = function() { 84 var last = (new Date()) - timestamp; 85 if (last < wait) { 86 timeout = setTimeout(later, wait - last); 87 } else { 88 timeout = null; 89 if (!immediate) result = func.apply(context, args); 90 } 91 }; 92 var callNow = immediate && !timeout; 93 if (!timeout) { 94 timeout = setTimeout(later, wait); 95 } 96 if (callNow) result = func.apply(context, args); 97 return result; 98 }; 99} 100 101 102var requesting = false; 103 104var killRequesting = debounce(function () { 105 requesting = false; 106}, 100); 107 108function onScrollSliderParallax() { 109 if (!requesting) { 110 requesting = true; 111 requestAnimationFrame(function(){ 112 SEMICOLON.slider.sliderParallax(); 113 SEMICOLON.slider.sliderElementsFade(); 114 }); 115 } 116 killRequesting(); 117} 118 119 120 121var SEMICOLON = SEMICOLON || {}; 122 123(function($){ 124 125 // USE STRICT 126 "use strict"; 127 128 SEMICOLON.initialize = { 129 130 init: function(){ 131 132 SEMICOLON.initialize.responsiveClasses(); 133 SEMICOLON.initialize.imagePreload( '.portfolio-item:not(:has(.fslider)) img' ); 134 SEMICOLON.initialize.stickyElements(); 135 SEMICOLON.initialize.goToTop(); 136 SEMICOLON.initialize.fullScreen(); 137 SEMICOLON.initialize.verticalMiddle(); 138 SEMICOLON.initialize.lightbox(); 139 SEMICOLON.initialize.resizeVideos(); 140 SEMICOLON.initialize.imageFade(); 141 SEMICOLON.initialize.pageTransition(); 142 SEMICOLON.initialize.dataResponsiveClasses(); 143 SEMICOLON.initialize.dataResponsiveHeights(); 144 145 $('.fslider').addClass('preloader2'); 146 147 }, 148 149 responsiveClasses: function(){ 150 var jRes = jRespond([ 151 { 152 label: 'smallest', 153 enter: 0, 154 exit: 479
155 },{ 156 label: 'handheld', 157 enter: 480, 158 exit: 767 159 },{ 160 label: 'tablet', 161 enter: 768, 162 exit: 991 163 },{ 164 label: 'laptop', 165 enter: 992, 166 exit: 1199 167 },{ 168 label: 'desktop', 169 enter: 1200, 170 exit: 10000 171 } 172 ]); 173 jRes.addFunc([ 174 { 175 breakpoint: 'desktop', 176 enter: function() { $body.addClass('device-lg'); }, 177 exit: function() { $body.removeClass('device-lg'); } 178 },{ 179 breakpoint: 'laptop', 180 enter: function() { $body.addClass('device-md'); }, 181 exit: function() { $body.removeClass('device-md'); } 182 },{ 183 breakpoint: 'tablet', 184 enter: function() { $body.addClass('device-sm'); }, 185 exit: function() { $body.removeClass('device-sm'); } 186 },{ 187 breakpoint: 'handheld', 188 enter: function() { $body.addClass('device-xs'); }, 189 exit: function() { $body.removeClass('device-xs'); } 190 },{ 191 breakpoint: 'smallest', 192 enter: function() { $body.addClass('device-xxs'); }, 193 exit: function() { $body.removeClass('device-xxs'); } 194 } 195 ]); 196 }, 197 198 imagePreload: function(selector, parameters){ 199 var params = { 200 delay: 250, 201 transition: 400, 202 easing: 'linear' 203 }; 204 $.extend(params, parameters); 205 206 $(selector).each(function() { 207 var image = $(this); 208 image.css({visibility:'hidden', opacity: 0, display:'block'}); 209 image.wrap('<span class="preloader" />'); 210 image.one("load", function(evt) { 211 $(this).delay(params.delay).css({visibility:'visible'}).animate({opacity: 1}, params.transition, params.easing, function() { 212 $(this).unwrap('<span class="preloader" />'); 213 }); 214 }).each(function() { 215 if(this.complete) $(this).trigger("load"); 216 }); 217 }); 218 }, 219 220 verticalMiddle: function(){ 221 if( $verticalMiddleEl.length > 0 ) { 222 $verticalMiddleEl.each( function(){ 223 var element = $(this), 224 verticalMiddleH = element.outerHeight(), 225 headerHeight = $header.outerHeight(); 226 227 if( element.parents('#slider').length > 0 && !element.hasClass('ignore-header') ) { 228 if( $header.hasClass('transparent-header') && ( $body.hasClass('device-lg') || $body.hasClass('device-md') ) ) { 229 verticalMiddleH = verticalMiddleH - 70; 230 if( $slider.next('#header').length > 0 ) { verticalMiddleH = verticalMiddleH + headerHeight; } 231 } 232 } 233 234 if( $body.hasClass('device-xs') || $body.hasClass('device-xxs') ) { 235 if( element.parents('.full-screen').length && !element.parents('.force-full-screen').length ){ 236 if( element.children('.col-padding').length > 0 ) { 237 element.css({ position: 'relative', top: '0', width: 'auto', marginTop: '0' }).addClass('clearfix'); 238 } else { 239 element.css({ position: 'relative', top: '0', width: 'auto', marginTop: '0', paddingTop: '60px', paddingBottom: '60px' }).addClass('clearfix'); 240 } 241 } else { 242 element.css({ position: 'absolute', top: '50%', width: '100%', paddingTop: '0', paddingBottom: '0', marginTop: -(verticalMiddleH/2)+'px' }); 243 } 244 } else { 245 element.css({ position: 'absolute', top: '50%', width: '100%', paddingTop: '0', paddingBottom: '0', marginTop: -(verticalMiddleH/2)+'px' }); 246 } 247 }); 248 } 249 }, 250 251 stickyElements: function(){ 252 if( $siStickyEl.length > 0 ) { 253 var siStickyH = $siStickyEl.outerHeight(); 254 $siStickyEl.css({ marginTop: -(siStickyH/2)+'px' }); 255 } 256 257 if( $dotsMenuEl.length > 0 ) { 258 var opmdStickyH = $dotsMenuEl.outerHeight(); 259 $dotsMenuEl.css({ marginTop: -(opmdStickyH/2)+'px' }); 260 } 261 }, 262 263 goToTop: function(){ 264 $goToTopEl.click(function() { 265 $('body,html').stop(true).animate({scrollTop:0},400); 266 return false; 267 }); 268 }, 269 270 goToTopScroll: function(){ 271 if( $body.hasClass('device-lg') || $body.hasClass('device-md') || $body.hasClass('device-sm') ) { 272 if($window.scrollTop() > 450) { 273 $goToTopEl.fadeIn(); 274 } else { 275 $goToTopEl.fadeOut(); 276 } 277 } 278 }, 279 280 fullScreen: function(){ 281 if( $fullScreenEl.length > 0 ) { 282 $fullScreenEl.each( function(){ 283 var element = $(this), 284 scrHeight = window.innerHeight ? window.innerHeight : $window.height(), 285 negativeHeight = element.attr('data-negative-height'); 286 287 if( element.attr('id') == 'slider' ) { 288 var sliderHeightOff = $slider.offset().top; 289 scrHeight = scrHeight - sliderHeightOff; 290 if( element.hasClass('slider-parallax') ) { 291 var transformVal = element.css('transform'), 292 transformX = transformVal.match(/-?[\d\.]+/g); 293 if( !transformX ) { var transformXvalue = 0; } else { var transformXvalue = transformX[5]; } 294 scrHeight = ( ( window.innerHeight ? window.innerHeight : $window.height() ) + Number( transformXvalue ) ) - sliderHeightOff; 295 } 296 if( $('#slider.with-header').next('#header:not(.transparent-header)').length > 0 && ( $body.hasClass('device-lg') || $body.hasClass('device-md') ) ) { 297 var headerHeightOff = $header.outerHeight(); 298 scrHeight = scrHeight - headerHeightOff; 299 } 300 } 301 if( element.parents('.full-screen').length > 0 ) { scrHeight = element.parents('.full-screen').height(); } 302 303 if( $body.hasClass('device-xs') || $body.hasClass('device-xxs') ) { 304 if( !element.hasClass('force-full-screen') ){ scrHeight = 'auto'; } 305 } 306 307 if( negativeHeight ){ scrHeight = scrHeight - Number(negativeHeight); } 308 309 element.css('height', scrHeight); 310 if( element.attr('id') == 'slider' && !element.hasClass('canvas-slider-grid') ) { if( element.has('.swiper-slide') ) { element.find('.swiper-slide').css('height', scrHeight); } } 311 }); 312 } 313 }, 314 315 maxHeight: function(){ 316 if( $commonHeightEl.length > 0 ) { 317 $commonHeightEl.each( function(){ 318 var element = $(this); 319 if( element.has('.common-height') ) { 320 SEMICOLON.initialize.commonHeight( element.find('.common-height') ); 321 } 322 323 SEMICOLON.initialize.commonHeight( element ); 324 }); 325 } 326 }, 327 328 commonHeight: function( element ){ 329 var maxHeight = 0; 330 element.children('[class^=col-]').each(function() { 331 var element = $(this).children('div'); 332 if( element.hasClass('max-height') ){ 333 maxHeight = element.outerHeight(); 334 } else { 335 if (element.outerHeight() > maxHeight) 336 maxHeight = element.outerHeight(); 337 } 338 }); 339 340 element.children('[class^=col-]').each(function() { 341 $(this).height(maxHeight); 342 }); 343 }, 344 345 testimonialsGrid: function(){ 346 if( $testimonialsGridEl.length > 0 ) { 347 if( $body.hasClass('device-sm') || $body.hasClass('device-md') || $body.hasClass('device-lg') ) { 348 var maxHeight = 0; 349 $testimonialsGridEl.each( function(){ 350 $(this).find("li > .testimonial").each(function(){ 351 if ($(this).height() > maxHeight) { maxHeight = $(this).height(); } 352 });
353 $(this).find("li").height(maxHeight); 354 maxHeight = 0; 355 }); 356 } else { 357 $testimonialsGridEl.find("li").css({ 'height': 'auto' }); 358 } 359 } 360 }, 361 362 lightbox: function(){ 363 var $lightboxImageEl = $('[data-lightbox="image"]'), 364 $lightboxGalleryEl = $('[data-lightbox="gallery"]'), 365 $lightboxIframeEl = $('[data-lightbox="iframe"]'), 366 $lightboxInlineEl = $('[data-lightbox="inline"]'), 367 $lightboxAjaxEl = $('[data-lightbox="ajax"]'), 368 $lightboxAjaxGalleryEl = $('[data-lightbox="ajax-gallery"]'); 369 370 if( $lightboxImageEl.length > 0 ) { 371 $lightboxImageEl.magnificPopup({ 372 type: 'image', 373 closeOnContentClick: true, 374 closeBtnInside: false, 375 fixedContentPos: true, 376 mainClass: 'mfp-no-margins mfp-fade', // class to remove default margin from left and right side 377 image: { 378 verticalFit: true 379 } 380 }); 381 } 382 383 if( $lightboxGalleryEl.length > 0 ) { 384 $lightboxGalleryEl.each(function() { 385 var element = $(this); 386 387 if( element.find('a[data-lightbox="gallery-item"]').parent('.clone').hasClass('clone') ) { 388 element.find('a[data-lightbox="gallery-item"]').parent('.clone').find('a[data-lightbox="gallery-item"]').attr('data-lightbox',''); 389 } 390 391 element.magnificPopup({ 392 delegate: 'a[data-lightbox="gallery-item"]', 393 type: 'image', 394 closeOnContentClick: true, 395 closeBtnInside: false, 396 fixedContentPos: true, 397 mainClass: 'mfp-no-margins mfp-fade', // class to remove default margin from left and right side 398 image: { 399 verticalFit: true 400 }, 401 gallery: { 402 enabled: true, 403 navigateByImgClick: true, 404 preload: [0,1] // Will preload 0 - before current, and 1 after the current image 405 } 406 }); 407 }); 408 } 409 410 if( $lightboxIframeEl.length > 0 ) { 411 $lightboxIframeEl.magnificPopup({ 412 disableOn: 600, 413 type: 'iframe', 414 removalDelay: 160, 415 preloader: false, 416 fixedContentPos: false 417 }); 418 } 419 420 if( $lightboxInlineEl.length > 0 ) { 421 $lightboxInlineEl.magnificPopup({ 422 type: 'inline', 423 mainClass: 'mfp-no-margins mfp-fade', 424 closeBtnInside: false, 425 fixedContentPos: true 426 }); 427 } 428 429 if( $lightboxAjaxEl.length > 0 ) { 430 $lightboxAjaxEl.magnificPopup({ 431 type: 'ajax', 432 closeBtnInside: false, 433 callbacks: { 434 ajaxContentAdded: function(mfpResponse) { 435 SEMICOLON.widget.loadFlexSlider(); 436 SEMICOLON.initialize.resizeVideos(); 437 SEMICOLON.widget.masonryThumbs(); 438 }, 439 open: function() { 440 $body.addClass('ohidden'); 441 }, 442 close: function() { 443 $body.removeClass('ohidden'); 444 } 445 } 446 }); 447 } 448 449 if( $lightboxAjaxGalleryEl.length > 0 ) { 450 $lightboxAjaxGalleryEl.magnificPopup({ 451 delegate: 'a[data-lightbox="ajax-gallery-item"]', 452 type: 'ajax', 453 closeBtnInside: false, 454 gallery: { 455 enabled: true, 456 preload: 0, 457 navigateByImgClick: false 458 }, 459 callbacks: { 460 ajaxContentAdded: function(mfpResponse) { 461 SEMICOLON.widget.loadFlexSlider(); 462 SEMICOLON.initialize.resizeVideos(); 463 SEMICOLON.widget.masonryThumbs(); 464 }, 465 open: function() { 466 $body.addClass('ohidden'); 467 }, 468 close: function() { 469 $body.removeClass('ohidden'); 470 } 471 } 472 }); 473 } 474 }, 475 476 modal: function(){ 477 var $modal = $('.modal-on-load:not(.customjs)'); 478 if( $modal.length > 0 ) { 479 $modal.each( function(){ 480 var element = $(this), 481 elementTarget = element.attr('data-target'), 482 elementTargetValue = elementTarget.split('#')[1], 483 elementDelay = element.attr('data-delay'), 484 elementTimeout = element.attr('data-timeout'), 485 elementAnimateIn = element.attr('data-animate-in'), 486 elementAnimateOut = element.attr('data-animate-out'); 487 488 if( !element.hasClass('enable-cookie') ) { $.removeCookie( elementTargetValue ); } 489 490 if( element.hasClass('enable-cookie') ) { 491 var elementCookie = $.cookie( elementTargetValue ); 492 493 if( typeof elementCookie !== 'undefined' && elementCookie == '0' ) { 494 return true; 495 } 496 } 497 498 if( !elementDelay ) {
499 elementDelay = 1500; 500 } else { 501 elementDelay = Number(elementDelay) + 1500; 502 } 503 504 var t = setTimeout(function() { 505 $.magnificPopup.open({ 506 items: { src: elementTarget }, 507 type: 'inline', 508 mainClass: 'mfp-no-margins mfp-fade', 509 closeBtnInside: false, 510 fixedContentPos: true, 511 removalDelay: 500, 512 callbacks: { 513 open: function(){ 514 if( elementAnimateIn != '' ) { 515 $(elementTarget).addClass( elementAnimateIn + ' animated' ); 516 } 517 }, 518 beforeClose: function(){ 519 if( elementAnimateOut != '' ) { 520 $(elementTarget).removeClass( elementAnimateIn ).addClass( elementAnimateOut ); 521 } 522 }, 523 afterClose: function() { 524 if( elementAnimateIn != '' || elementAnimateOut != '' ) { 525 $(elementTarget).removeClass( elementAnimateIn + ' ' + elementAnimateOut + ' animated' ); 526 } 527 if( element.hasClass('enable-cookie') ) { 528 $.cookie( elementTargetValue, '0' ); 529 } 530 } 531 } 532 }, 0); 533 }, Number(elementDelay) ); 534 535 if( elementTimeout != '' ) { 536 var to = setTimeout(function() { 537 $.magnificPopup.close(); 538 }, Number(elementDelay) + Number(elementTimeout) ); 539 } 540 }); 541 } 542 }, 543 544 resizeVideos: function(){ 545 if ( $().fitVids ) { 546 $("#content,#footer,#slider:not(.revslider-wrap),.landing-offer-media,.portfolio-ajax-modal").fitVids({ 547 customSelector: "iframe[src^='http://www.dailymotion.com/embed']", 548 ignore: '.no-fv' 549 }); 550 } 551 }, 552 553 imageFade: function(){ 554 $('.image_fade').hover( function(){ 555 $(this).filter(':not(:animated)').animate({opacity: 0.8}, 400); 556 }, function() { 557 $(this).animate({opacity: 1}, 400); 558 }); 559 }, 560 561 blogTimelineEntries: function(){ 562 $('.post-timeline.grid-2').find('.entry').each( function(){ 563 var position = $(this).inlineStyle('left'); 564 if( position == '0px' ) { 565 $(this).removeClass('alt'); 566 } else { 567 $(this).addClass('alt'); 568 } 569 $(this).find('.entry-timeline').fadeIn(); 570 }); 571 }, 572 573 pageTransition: function(){ 574 if( !$body.hasClass('no-transition') ){ 575 var animationIn = $body.attr('data-animation-in'), 576 animationOut = $body.attr('data-animation-out'), 577 durationIn = $body.attr('data-speed-in'), 578 durationOut = $body.attr('data-speed-out'), 579 loaderTimeOut = $body.attr('data-loader-timeout'), 580 loaderStyle = $body.attr('data-loader'), 581 loaderColor = $body.attr('data-loader-color'), 582 loaderStyleHtml = $body.attr('data-loader-html'), 583 loaderBgStyle = '', 584 loaderBorderStyle = '', 585 loaderBgClass = '', 586 loaderBorderClass = '', 587 loaderBgClass2 = '', 588 loaderBorderClass2 = ''; 589 590 if( !animationIn ) { animationIn = 'fadeIn'; } 591 if( !animationOut ) { animationOut = 'fadeOut'; } 592 if( !durationIn ) { durationIn = 1500; } 593 if( !durationOut ) { durationOut = 800; } 594 if( !loaderStyleHtml ) { loaderStyleHtml = '<div class="css3-spinner-bounce1"></div><div class="css3-spinner-bounce2"></div><div class="css3-spinner-bounce3"></div>'; } 595 596 if( !loaderTimeOut ) { 597 loaderTimeOut = false; 598 } else { 599 loaderTimeOut = Number(loaderTimeOut); 600 } 601 602 if( loaderColor ) { 603 if( loaderColor == 'theme' ) { 604 loaderBgClass = ' bgcolor'; 605 loaderBorderClass = ' border-color'; 606 loaderBgClass2 = ' class="bgcolor"'; 607 loaderBorderClass2 = ' class="border-color"'; 608 } else { 609 loaderBgStyle = ' style="background-color:'+ loaderColor +';"'; 610 loaderBorderStyle = ' style="border-color:'+ loaderColor +';"'; 611 } 612 loaderStyleHtml = '<div class="css3-spinner-bounce1'+ loaderBgClass +'"'+ loaderBgStyle +'></div><div class="css3-spinner-bounce2'+ loaderBgClass +'"'+ loaderBgStyle +'></div><div class="css3-spinner-bounce3'+ loaderBgClass +'"'+ loaderBgStyle +'></div>' 613 } 614 615 if( loaderStyle == '2' ) { 616 loaderStyleHtml = '<div class="css3-spinner-flipper'+ loaderBgClass +'"'+ loaderBgStyle +'></div>'; 617 } else if( loaderStyle == '3' ) { 618 loaderStyleHtml = '<div class="css3-spinner-double-bounce1'+ loaderBgClass +'"'+ loaderBgStyle +'></div><div class="css3-spinner-double-bounce2'+ loaderBgClass +'"'+ loaderBgStyle +'></div>'; 619 } else if( loaderStyle == '4' ) { 620 loaderStyleHtml = '<div class="css3-spinner-rect1'+ loaderBgClass +'"'+ loaderBgStyle +'></div><div class="css3-spinner-rect2'+ loaderBgClass +'"'+ loaderBgStyle +'></div><div class="css3-spinner-rect3'+ loaderBgClass +'"'+ loaderBgStyle +'></div><div class="css3-spinner-rect4'+ loaderBgClass +'"'+ loaderBgStyle +'></div><div class="css3-spinner-rect5'+ loaderBgClass +'"'+ loaderBgStyle +'></div>'; 621 } else if( loaderStyle == '5' ) { 622 loaderStyleHtml = '<div class="css3-spinner-cube1'+ loaderBgClass +'"'+ loaderBgStyle +'></div><div class="css3-spinner-cube2'+ loaderBgClass +'"'+ loaderBgStyle +'></div>'; 623 } else if( loaderStyle == '6' ) { 624 loaderStyleHtml = '<div class="css3-spinner-scaler'+ loaderBgClass +'"'+ loaderBgStyle +'></div>'; 625 } else if( loaderStyle == '7' ) { 626 loaderStyleHtml = '<div class="css3-spinner-grid-pulse"><div'+ loaderBgClass2 + loaderBgStyle +'></div><div'+ loaderBgClass2 + loaderBgStyle +'></div><div'+ loaderBgClass2 + loaderBgStyle +'></div><div'+ loaderBgClass2 + loaderBgStyle +'></div><div'+ loaderBgClass2 + loaderBgStyle +'></div><div'+ loaderBgClass2 + loaderBgStyle +'></div><div'+ loaderBgClass2 + loaderBgStyle +'></div><div'+ loaderBgClass2 + loaderBgStyle +'></div><div'+ loaderBgClass2 + loaderBgStyle +'></div></div>'; 627 } else if( loaderStyle == '8' ) { 628 loaderStyleHtml = '<div class="css3-spinner-clip-rotate"><div'+ loaderBorderClass2 + loaderBorderStyle +'></div></div>'; 629 } else if( loaderStyle == '9' ) { 630 loaderStyleHtml = '<div class="css3-spinner-ball-rotate"><div'+ loaderBgClass2 + loaderBgStyle +'></div><div'+ loaderBgClass2 + loaderBgStyle +'></div><div'+ loaderBgClass2 + loaderBgStyle +'></div></div>'; 631 } else if( loaderStyle == '10' ) { 632 loaderStyleHtml = '<div class="css3-spinner-zig-zag"><div'+ loaderBgClass2 + loaderBgStyle +'></div><div'+ loaderBgClass2 + loaderBgStyle +'></div></div>'; 633 } else if( loaderStyle == '11' ) { 634 loaderStyleHtml = '<div class="css3-spinner-triangle-path"><div'+ loaderBgClass2 + loaderBgStyle +'></div><div'+ loaderBgClass2 + loaderBgStyle +'></div><div'+ loaderBgClass2 + loaderBgStyle +'></div></div>'; 635 } else if( loaderStyle == '12' ) { 636 loaderStyleHtml = '<div class="css3-spinner-ball-scale-multiple"><div'+ loaderBgClass2 + loaderBgStyle +'></div><div'+ loaderBgClass2 + loaderBgStyle +'></div><div'+ loaderBgClass2 + loaderBgStyle +'></div></div>'; 637 } else if( loaderStyle == '13' ) { 638 loaderStyleHtml = '<div class="css3-spinner-ball-pulse-sync"><div'+ loaderBgClass2 + loaderBgStyle +'></div><div'+ loaderBgClass2 + loaderBgStyle +'></div><div'+ loaderBgClass2 + loaderBgStyle +'></div></div>'; 639 } else if( loaderStyle == '14' ) { 640 loaderStyleHtml = '<div class="css3-spinner-scale-ripple"><div'+ loaderBorderClass2 + loaderBorderStyle +'></div><div'+ loaderBorderClass2 + loaderBorderStyle +'></div><div'+ loaderBorderClass2 + loaderBorderStyle +'></div></div>'; 641 } 642 643 $wrapper.animsition({ 644 inClass : animationIn, 645 outClass : animationOut, 646 inDuration : Number(durationIn), 647 outDuration : Number(durationOut), 648 linkElement : '#primary-menu ul li a:not([target="_blank"]):not([href*=#]):not([data-lightbox])', 649 loading : true, 650 loadingParentElement : 'body', 651 loadingClass : 'css3-spinner', 652 loadingHtml : loaderStyleHtml, 653 unSupportCss : [ 654 'animation-duration', 655 '-webkit-animation-duration', 656 '-o-animation-duration' 657 ], 658 overlay : false, 659 overlayClass : 'animsition-overlay-slide', 660 overlayParentElement : 'body', 661 timeOut: loaderTimeOut 662 }); 663 } 664 }, 665 666 topScrollOffset: function() { 667 var topOffsetScroll = 0; 668 669 if( ( $body.hasClass('device-lg') || $body.hasClass('device-md') ) && !SEMICOLON.isMobile.any() ) { 670 if( $header.hasClass('sticky-header') ) { 671 if( $pagemenu.hasClass('dots-menu') ) { topOffsetScroll = 100; } else { topOffsetScroll = 144; } 672 } else { 673 if( $pagemenu.hasClass('dots-menu') ) { topOffsetScroll = 140; } else { topOffsetScroll = 184; } 674 } 675 676 if( !$pagemenu.length ) { 677 if( $header.hasClass('sticky-header') ) { topOffsetScroll = 100; } else { topOffsetScroll = 140; } 678 } 679 } else { 680 topOffsetScroll = 40; 681 } 682 683 return topOffsetScroll; 684 }, 685 686 defineColumns: function( element ){ 687 var column = 4; 688 689 if( element.hasClass('portfolio-full') ) { 690 if( element.hasClass('portfolio-3') ) column = 3; 691 else if( element.hasClass('portfolio-5') ) column = 5; 692 else if( element.hasClass('portfolio-6') ) column = 6; 693 else column = 4; 694 695 if( $body.hasClass('device-sm') && ( column == 4 || column == 5 || column == 6 ) ) { 696 column = 3; 697 } else if( $body.hasClass('device-xs') && ( column == 3 || column == 4 || column == 5 || column == 6 ) ) { 698 column = 2; 699 } else if( $body.hasClass('device-xxs') ) { 700 column = 1; 701 } 702 } else if( element.hasClass('masonry-thumbs') ) { 703 704 var lgCol = element.attr('data-lg-col'), 705 mdCol = element.attr('data-md-col'), 706 smCol = element.attr('data-sm-col'), 707 xsCol = element.attr('data-xs-col'), 708 xxsCol = element.attr('data-xxs-col'); 709 710 if( element.hasClass('col-2') ) column = 2; 711 else if( element.hasClass('col-3') ) column = 3; 712 else if( element.hasClass('col-5') ) column = 5; 713 else if( element.hasClass('col-6') ) column = 6; 714 else column = 4; 715 716 if( $body.hasClass('device-lg') ) { 717 if( lgCol ) { column = Number(lgCol); } 718 } else if( $body.hasClass('device-md') ) { 719 if( mdCol ) { column = Number(mdCol); } 720 } else if( $body.hasClass('device-sm') ) { 721 if( smCol ) { column = Number(smCol); } 722 } else if( $body.hasClass('device-xs') ) { 723 if( xsCol ) { column = Number(xsCol); } 724 } else if( $body.hasClass('device-xxs') ) { 725 if( xxsCol ) { column = Number(xxsCol); } 726 } 727 728 } 729 730 return column; 731 }, 732 733 setFullColumnWidth: function( element ){ 734 735 if( element.hasClass('portfolio-full') ) { 736 var columns = SEMICOLON.initialize.defineColumns( element ); 737 var containerWidth = element.width(); 738 if( containerWidth == ( Math.floor(containerWidth/columns) * columns ) ) { containerWidth = containerWidth - 1; } 739 var postWidth = Math.floor(containerWidth/columns); 740 if( $body.hasClass('device-xxs') ) { var deviceSmallest = 1; } else { var deviceSmallest = 0; } 741 element.find(".portfolio-item").each(function(index){ 742 if( deviceSmallest == 0 && $(this).hasClass('wide') ) { var elementSize = ( postWidth*2 ); } else { var elementSize = postWidth; } 743 $(this).css({"width":elementSize+"px"}); 744 }); 745 } else if( element.hasClass('masonry-thumbs') ) { 746 var columns = SEMICOLON.initialize.defineColumns( element ), 747 containerWidth = element.innerWidth(), 748 windowWidth = $window.width(); 749 if( containerWidth == windowWidth ){ 750 containerWidth = windowWidth*1.004; 751 element.css({ 'width': containerWidth+'px' }); 752 } 753 var postWidth = (containerWidth/columns); 754 755 postWidth = Math.floor(postWidth);
756 757 if( ( postWidth * columns ) >= containerWidth ) { element.css({ 'margin-right': '-1px' }); } 758 759 element.children('a').css({"width":postWidth+"px"}); 760 761 var firstElementWidth = element.find('a:eq(0)').outerWidth(); 762 763 element.isotope({ 764 masonry: { 765 columnWidth: firstElementWidth 766 } 767 }); 768 769 var bigImageNumbers = element.attr('data-big'); 770 if( bigImageNumbers ) { 771 bigImageNumbers = bigImageNumbers.split(","); 772 var bigImageNumber = '', 773 bigi = ''; 774 for( bigi = 0; bigi < bigImageNumbers.length; bigi++ ){ 775 bigImageNumber = Number(bigImageNumbers[bigi]) - 1; 776 element.find('a:eq('+bigImageNumber+')').css({ width: firstElementWidth*2 + 'px' }); 777 } 778 var t = setTimeout( function(){ 779 element.isotope('layout'); 780 }, 1000 ); 781 } 782 } 783 784 }, 785 786 aspectResizer: function(){ 787 var $aspectResizerEl = $('.aspect-resizer'); 788 if( $aspectResizerEl.length > 0 ) { 789 $aspectResizerEl.each( function(){ 790 var element = $(this), 791 elementW = element.inlineStyle('width'), 792 elementH = element.inlineStyle('height'), 793 elementPW = element.parent().innerWidth(); 794 }); 795 } 796 }, 797 798 dataResponsiveClasses: function(){ 799 var $dataClassXxs = $('[data-class-xxs]'), 800 $dataClassXs = $('[data-class-xs]'), 801 $dataClassSm = $('[data-class-sm]'), 802 $dataClassMd = $('[data-class-md]'), 803 $dataClassLg = $('[data-class-lg]'); 804 805 if( $dataClassXxs.length > 0 ) { 806 $dataClassXxs.each( function(){ 807 var element = $(this), 808 elementClass = element.attr('data-class-xxs'), 809 elementClassDelete = element.attr('data-class-xs') + ' ' + element.attr('data-class-sm') + ' ' + element.attr('data-class-md') + ' ' + element.attr('data-class-lg'); 810 811 if( $body.hasClass('device-xxs') ) { 812 element.removeClass( elementClassDelete ); 813 element.addClass( elementClass ); 814 } 815 }); 816 } 817 818 if( $dataClassXs.length > 0 ) { 819 $dataClassXs.each( function(){ 820 var element = $(this), 821 elementClass = element.attr('data-class-xs'), 822 elementClassDelete = element.attr('data-class-xxs') + ' ' + element.attr('data-class-sm') + ' ' + element.attr('data-class-md') + ' ' + element.attr('data-class-lg'); 823 824 if( $body.hasClass('device-xs') ) { 825 element.removeClass( elementClassDelete ); 826 element.addClass( elementClass ); 827 } 828 }); 829 } 830 831 if( $dataClassSm.length > 0 ) { 832 $dataClassSm.each( function(){ 833 var element = $(this), 834 elementClass = element.attr('data-class-sm'), 835 elementClassDelete = element.attr('data-class-xxs') + ' ' + element.attr('data-class-xs') + ' ' + element.attr('data-class-md') + ' ' + element.attr('data-class-lg'); 836 837 if( $body.hasClass('device-sm') ) { 838 element.removeClass( elementClassDelete ); 839 element.addClass( elementClass ); 840 } 841 }); 842 } 843 844 if( $dataClassMd.length > 0 ) { 845 $dataClassMd.each( function(){ 846 var element = $(this), 847 elementClass = element.attr('data-class-md'), 848 elementClassDelete = element.attr('data-class-xxs') + ' ' + element.attr('data-class-xs') + ' ' + element.attr('data-class-sm') + ' ' + element.attr('data-class-lg'); 849 850 if( $body.hasClass('device-md') ) { 851 element.removeClass( elementClassDelete ); 852 element.addClass( elementClass ); 853 } 854 }); 855 } 856 857 if( $dataClassLg.length > 0 ) { 858 $dataClassLg.each( function(){ 859 var element = $(this), 860 elementClass = element.attr('data-class-lg'), 861 elementClassDelete = element.attr('data-class-xxs') + ' ' + element.attr('data-class-xs') + ' ' + element.attr('data-class-sm') + ' ' + element.attr('data-class-md'); 862 863 if( $body.hasClass('device-lg') ) { 864 element.removeClass( elementClassDelete ); 865 element.addClass( elementClass ); 866 } 867 }); 868 } 869 }, 870 871 dataResponsiveHeights: function(){ 872 var $dataHeightXxs = $('[data-height-xxs]'), 873 $dataHeightXs = $('[data-height-xs]'), 874 $dataHeightSm = $('[data-height-sm]'), 875 $dataHeightMd = $('[data-height-md]'), 876 $dataHeightLg = $('[data-height-lg]'); 877 878 if( $dataHeightXxs.length > 0 ) { 879 $dataHeightXxs.each( function(){ 880 var element = $(this), 881 elementHeight = element.attr('data-height-xxs'); 882 883 if( $body.hasClass('device-xxs') ) { 884 if( elementHeight != '' ) { element.css( 'height', elementHeight ); } 885 } 886 }); 887 } 888 889 if( $dataHeightXs.length > 0 ) { 890 $dataHeightXs.each( function(){ 891 var element = $(this), 892 elementHeight = element.attr('data-height-xs'); 893 894 if( $body.hasClass('device-xs') ) { 895 if( elementHeight != '' ) { element.css( 'height', elementHeight ); } 896 } 897 }); 898 } 899 900 if( $dataHeightSm.length > 0 ) { 901 $dataHeightSm.each( function(){ 902 var element = $(this), 903 elementHeight = element.attr('data-height-sm'); 904 905 if( $body.hasClass('device-sm') ) { 906 if( elementHeight != '' ) { element.css( 'height', elementHeight ); } 907 } 908 }); 909 } 910 911 if( $dataHeightMd.length > 0 ) { 912 $dataHeightMd.each( function(){ 913 var element = $(this), 914 elementHeight = element.attr('data-height-md'); 915 916 if( $body.hasClass('device-md') ) { 917 if( elementHeight != '' ) { element.css( 'height', elementHeight ); } 918 } 919 }); 920 } 921 922 if( $dataHeightLg.length > 0 ) { 923 $dataHeightLg.each( function(){ 924 var element = $(this), 925 elementHeight = element.attr('data-height-lg'); 926 927 if( $body.hasClass('device-lg') ) { 928 if( elementHeight != '' ) { element.css( 'height', elementHeight ); } 929 } 930 }); 931 } 932 }, 933 934 stickFooterOnSmall: function(){ 935 var windowH = $window.height(), 936 wrapperH = $wrapper.height(); 937 938 if( !$body.hasClass('sticky-footer') && $footer.length > 0 && $wrapper.has('#footer') ) { 939 if( windowH > wrapperH ) { 940 $footer.css({ 'margin-top': ( windowH - wrapperH ) }); 941 } 942 } 943 }, 944 945 stickyFooter: function(){ 946 if( $body.hasClass('sticky-footer') && $footer.length > 0 && ( $body.hasClass('device-lg') || $body.hasClass('device-md') ) ) { 947 var stickyFooter = $footer.outerHeight(); 948 $content.css({ 'margin-bottom': stickyFooter }); 949 } else { 950 $content.css({ 'margin-bottom': 0 }); 951 } 952 } 953 954 }; 955 956 SEMICOLON.header = { 957 958 init: function(){ 959 960 SEMICOLON.header.superfish(); 961 SEMICOLON.header.menufunctions(); 962 SEMICOLON.header.fullWidthMenu(); 963 SEMICOLON.header.overlayMenu(); 964 SEMICOLON.header.stickyMenu(); 965 SEMICOLON.header.sideHeader(); 966 SEMICOLON.header.sidePanel(); 967 SEMICOLON.header.onePageScroll(); 968 SEMICOLON.header.onepageScroller(); 969 SEMICOLON.header.logo(); 970 SEMICOLON.header.topsearch(); 971 SEMICOLON.header.topcart(); 972 973 }, 974 975 superfish: function(){ 976 977 if ( $().superfish ) { 978 if( $body.hasClass('device-lg') || $body.hasClass('device-md') ) { 979 $('#primary-menu ul ul, #primary-menu ul .mega-menu-content').css('display', 'block'); 980 SEMICOLON.header.menuInvert(); 981 } 982 983 $('body:not(.side-header) #primary-menu > ul, body:not(.side-header) #primary-menu > div > ul,.top-links > ul').superfish({ 984 popUpSelector: 'ul,.mega-menu-content,.top-link-section', 985 delay: 250, 986 speed: 350, 987 animation: {opacity:'show'}, 988 animationOut: {opacity:'hide'},
989 cssArrows: false 990 }); 991 992 $('body.side-header #primary-menu > ul').superfish({ 993 popUpSelector: 'ul', 994 delay: 250, 995 speed: 350, 996 animation: {opacity:'show',height:'show'}, 997 animationOut: {opacity:'hide',height:'hide'}, 998 cssArrows: false 999 }); 1000 } 1001 1002 }, 1003 1004 menuInvert: function() { 1005 1006 $('#primary-menu .mega-menu-content, #primary-menu ul ul').each( function( index, element ){ 1007 var $menuChildElement = $(element); 1008 var windowWidth = $window.width(); 1009 var menuChildOffset = $menuChildElement.offset(); 1010 var menuChildWidth = $menuChildElement.width(); 1011 var menuChildLeft = menuChildOffset.left; 1012 1013 if(windowWidth - (menuChildWidth + menuChildLeft) < 0) { 1014 $menuChildElement.addClass('menu-pos-invert'); 1015 } 1016 }); 1017 1018 }, 1019 1020 menufunctions: function(){ 1021 1022 $( '#primary-menu ul li:has(ul)' ).addClass('sub-menu'); 1023 $( '.top-links ul li:has(ul) > a' ).append( ' <i class="icon-angle-down"></i>' ); 1024 $( '.top-links > ul' ).addClass( 'clearfix' ); 1025 1026 if( $body.hasClass('device-lg') || $body.hasClass('device-md') ) { 1027 $('#primary-menu.sub-title > ul > li').hover(function() { 1028 $(this).prev().css({ backgroundImage : 'none' }); 1029 }, function() { 1030 $(this).prev().css({ backgroundImage : 'url("images/icons/menu-divider.png")' }); 1031 }); 1032 1033 $('#primary-menu.sub-title').children('ul').children('.current').prev().css({ backgroundImage : 'none' }); 1034 } 1035 1036 if( SEMICOLON.isMobile.Android() ) { 1037 $( '#primary-menu ul li.sub-menu' ).children('a').on('touchstart', function(e){ 1038 if( !$(this).parent('li.sub-menu').hasClass('sfHover') ) { 1039 e.preventDefault(); 1040 } 1041 }); 1042 } 1043 1044 if( SEMICOLON.isMobile.Windows() ) { 1045 $('#primary-menu > ul, #primary-menu > div > ul,.top-links > ul').superfish('destroy').addClass('windows-mobile-menu'); 1046 1047 $( '#primary-menu ul li:has(ul)' ).append('<a href="#" class="wn-submenu-trigger"><i class="icon-angle-down"></i></a>'); 1048 1049 $( '#primary-menu ul li.sub-menu' ).children('a.wn-submenu-trigger').click( function(e){ 1050 $(this).parent().toggleClass('open'); 1051 $(this).parent().find('> ul, > .mega-menu-content').stop(true,true).toggle(); 1052 return false; 1053 }); 1054 } 1055 1056 }, 1057 1058 fullWidthMenu: function(){ 1059 if( $body.hasClass('stretched') ) { 1060 if( $header.find('.container-fullwidth').length > 0 ) { $('.mega-menu .mega-menu-content').css({ 'width': $wrapper.width() - 120 }); } 1061 if( $header.hasClass('full-header') ) { $('.mega-menu .mega-menu-content').css({ 'width': $wrapper.width() - 60 }); } 1062 } else { 1063 if( $header.find('.container-fullwidth').length > 0 ) { $('.mega-menu .mega-menu-content').css({ 'width': $wrapper.width() - 120 }); } 1064 if( $header.hasClass('full-header') ) { $('.mega-menu .mega-menu-content').css({ 'width': $wrapper.width() - 80 }); } 1065 } 1066 }, 1067 1068 overlayMenu: function(){ 1069 if( $body.hasClass('overlay-menu') ) { 1070 var overlayMenuItem = $('#primary-menu').children('ul').children('li'), 1071 overlayMenuItemHeight = overlayMenuItem.outerHeight(), 1072 overlayMenuItemTHeight = overlayMenuItem.length * overlayMenuItemHeight, 1073 firstItemOffset = ( $window.height() - overlayMenuItemTHeight ) / 2; 1074 1075 $('#primary-menu').children('ul').children('li:first-child').css({ 'margin-top': firstItemOffset+'px' }); 1076 } 1077 }, 1078 1079 stickyMenu: function( headerOffset ){ 1080 if ($window.scrollTop() > headerOffset) { 1081 if( $body.hasClass('device-lg') || $body.hasClass('device-md') ) { 1082 $('body:not(.side-header) #header:not(.no-sticky)').addClass('sticky-header'); 1083 $('#page-menu:not(.dots-menu,.no-sticky)').addClass('sticky-page-menu'); 1084 if( !$headerWrap.hasClass('force-not-dark') ) { $headerWrap.removeClass('not-dark'); } 1085 SEMICOLON.header.stickyMenuClass(); 1086 } else if( $body.hasClass('device-xs') || $body.hasClass('device-xxs') || $body.hasClass('device-sm') ) { 1087 if( $body.hasClass('sticky-responsive-menu') ) { 1088 $('#header:not(.no-sticky)').addClass('responsive-sticky-header'); 1089 SEMICOLON.header.stickyMenuClass(); 1090 } 1091 if( $body.hasClass('sticky-responsive-pagemenu') ) { 1092 $('#page-menu:not(.dots-menu,.no-sticky)').addClass('sticky-page-menu'); 1093 } 1094 } 1095 } else { 1096 SEMICOLON.header.removeStickyness(); 1097 } 1098 }, 1099 1100 removeStickyness: function(){ 1101 if( $header.hasClass('sticky-header') ){ 1102 $('body:not(.side-header) #header:not(.no-sticky)').removeClass('sticky-header'); 1103 $header.removeClass().addClass(oldHeaderClasses); 1104 $headerWrap.removeClass().addClass(oldHeaderWrapClasses); 1105 if( !$headerWrap.hasClass('force-not-dark') ) { $headerWrap.removeClass('not-dark'); } 1106 SEMICOLON.slider.swiperSliderMenu(); 1107 SEMICOLON.slider.revolutionSliderMenu(); 1108 } 1109 if( $pagemenu.hasClass('sticky-page-menu') ){ 1110 $('#page-menu:not(.dots-menu,.no-sticky)').removeClass('sticky-page-menu'); 1111 } 1112 if( $header.hasClass('responsive-sticky-header') ){ 1113 $('body.sticky-responsive-menu #header').removeClass('responsive-sticky-header'); 1114 } 1115 if( ( $body.hasClass('device-xs') || $body.hasClass('device-xxs') || $body.hasClass('device-sm') ) && ( typeof responsiveMenuClasses === 'undefined' ) ) { 1116 $header.removeClass().addClass(oldHeaderClasses); 1117 $headerWrap.removeClass().addClass(oldHeaderWrapClasses); 1118 if( !$headerWrap.hasClass('force-not-dark') ) { $headerWrap.removeClass('not-dark'); } 1119 } 1120 }, 1121 1122 sideHeader: function(){ 1123 $("#header-trigger").click(function(){ 1124 $('body.open-header').toggleClass("side-header-open"); 1125 return false; 1126 }); 1127 }, 1128 1129 sidePanel: function(){
1130 $(".side-panel-trigger").click(function(){ 1131 $body.toggleClass("side-panel-open"); 1132 if( $body.hasClass('device-touch') ) { 1133 $body.toggleClass("ohidden"); 1134 } 1135 return false; 1136 }); 1137 }, 1138 1139 onePageScroll: function(){ 1140 if( $onePageMenuEl.length > 0 ){ 1141 var onePageSpeed = $onePageMenuEl.attr('data-speed'), 1142 onePageOffset = $onePageMenuEl.attr('data-offset'), 1143 onePageEasing = $onePageMenuEl.attr('data-easing'); 1144 1145 if( !onePageSpeed ) { onePageSpeed = 1000; } 1146 if( !onePageEasing ) { onePageEasing = 'easeOutQuad'; } 1147 1148 $onePageMenuEl.find('a[data-href]').click(function(){ 1149 var element = $(this), 1150 divScrollToAnchor = element.attr('data-href'), 1151 divScrollSpeed = element.attr('data-speed'), 1152 divScrollOffset = element.attr('data-offset'), 1153 divScrollEasing = element.attr('data-easing'); 1154 1155 if( $( divScrollToAnchor ).length > 0 ) { 1156 1157 if( !onePageOffset ) { 1158 var onePageOffsetG = SEMICOLON.initialize.topScrollOffset(); 1159 } else { 1160 var onePageOffsetG = onePageOffset; 1161 } 1162 1163 if( !divScrollSpeed ) { divScrollSpeed = onePageSpeed; } 1164 if( !divScrollOffset ) { divScrollOffset = onePageOffsetG; } 1165 if( !divScrollEasing ) { divScrollEasing = onePageEasing; } 1166 1167 if( $onePageMenuEl.hasClass('no-offset') ) { divScrollOffset = 0; } 1168 1169 onePageGlobalOffset = Number(divScrollOffset); 1170 1171 $onePageMenuEl.find('li').removeClass('current'); 1172 $onePageMenuEl.find('a[data-href="' + divScrollToAnchor + '"]').parent('li').addClass('current'); 1173 1174 $('#primary-menu > ul, #primary-menu > .container > ul').toggleClass('show', function() { 1175 $('html,body').stop(true).animate({ 1176 'scrollTop': $( divScrollToAnchor ).offset().top - Number(divScrollOffset) 1177 }, Number(divScrollSpeed), divScrollEasing); 1178 }, false); 1179 1180 onePageGlobalOffset = Number(divScrollOffset); 1181 } 1182 1183 return false; 1184 }); 1185 } 1186 }, 1187 1188 onepageScroller: function(){ 1189 $onePageMenuEl.find('li').removeClass('current'); 1190 $onePageMenuEl.find('a[data-href="#' + SEMICOLON.header.onePageCurrentSection() + '"]').parent('li').addClass('current'); 1191 }, 1192 1193 onePageCurrentSection: function(){ 1194 var currentOnePageSection = 'home', 1195 headerHeight = $headerWrap.outerHeight(); 1196 1197 $pageSectionEl.each(function(index) { 1198 var h = $(this).offset().top; 1199 var y = $window.scrollTop(); 1200 1201 var offsetScroll = headerHeight + onePageGlobalOffset; 1202 1203 if( y + offsetScroll >= h && y < h + $(this).height() && $(this).attr('id') != currentOnePageSection ) { 1204 currentOnePageSection = $(this).attr('id'); 1205 } 1206 }); 1207 1208 return currentOnePageSection; 1209 }, 1210 1211 logo: function(){ 1212 if( ( $header.hasClass('dark') || $body.hasClass('dark') ) && !$headerWrap.hasClass('not-dark') ) { 1213 if( defaultDarkLogo ){ defaultLogo.find('img').attr('src', defaultDarkLogo); } 1214 if( retinaDarkLogo ){ retinaLogo.find('img').attr('src', retinaDarkLogo); } 1215 } else { 1216 if( defaultLogoImg ){ defaultLogo.find('img').attr('src', defaultLogoImg); } 1217 if( retinaLogoImg ){ retinaLogo.find('img').attr('src', retinaLogoImg); } 1218 } 1219 if( $header.hasClass('sticky-header') ) { 1220 if( defaultStickyLogo ){ defaultLogo.find('img').attr('src', defaultStickyLogo); } 1221 if( retinaStickyLogo ){ retinaLogo.find('img').attr('src', retinaStickyLogo); } 1222 } 1223 if( $body.hasClass('device-xs') || $body.hasClass('device-xxs') ) { 1224 if( defaultMobileLogo ){ defaultLogo.find('img').attr('src', defaultMobileLogo); } 1225 if( retinaMobileLogo ){ retinaLogo.find('img').attr('src', retinaMobileLogo); } 1226 } 1227 }, 1228 1229 stickyMenuClass: function(){ 1230 if( stickyMenuClasses ) { var newClassesArray = stickyMenuClasses.split(/ +/); } else { var newClassesArray = ''; } 1231 var noOfNewClasses = newClassesArray.length; 1232 1233 if( noOfNewClasses > 0 ) { 1234 var i = 0; 1235 for( i=0; i<noOfNewClasses; i++ ) { 1236 if( newClassesArray[i] == 'not-dark' ) { 1237 $header.removeClass('dark'); 1238 $headerWrap.addClass('not-dark'); 1239 }
1239 else if( newClassesArray[i] == 'dark' ) { 1240 $headerWrap.removeClass('not-dark force-not-dark'); 1241 if( !$header.hasClass( newClassesArray[i] ) ) { 1242 $header.addClass( newClassesArray[i] ); 1243 } 1244 } else if( !$header.hasClass( newClassesArray[i] ) ) { 1245 $header.addClass( newClassesArray[i] ); 1246 } 1247 } 1248 } 1249 }, 1250 1251 responsiveMenuClass: function(){ 1252 if( $body.hasClass('device-xs') || $body.hasClass('device-xxs') || $body.hasClass('device-sm') ){ 1253 if( responsiveMenuClasses ) { var newClassesArray = responsiveMenuClasses.split(/ +/); } else { var newClassesArray = ''; } 1254 var noOfNewClasses = newClassesArray.length; 1255 1256 if( noOfNewClasses > 0 ) { 1257 var i = 0; 1258 for( i=0; i<noOfNewClasses; i++ ) { 1259 if( newClassesArray[i] == 'not-dark' ) { 1260 $header.removeClass('dark'); 1261 $headerWrap.addClass('not-dark'); 1262 } else if( newClassesArray[i] == 'dark' ) { 1263 $headerWrap.removeClass('not-dark force-not-dark'); 1264 if( !$header.hasClass( newClassesArray[i] ) ) { 1265 $header.addClass( newClassesArray[i] ); 1266 } 1267 } else if( !$header.hasClass( newClassesArray[i] ) ) { 1268 $header.addClass( newClassesArray[i] ); 1269 } 1270 } 1271 } 1272 SEMICOLON.header.logo(); 1273 } 1274 }, 1275 1276 topsocial: function(){ 1277 if( $topSocialEl.length > 0 ){ 1278 if( $body.hasClass('device-md') || $body.hasClass('device-lg') ) { 1279 $topSocialEl.show(); 1280 $topSocialEl.find('a').css({width: 40}); 1281 1282 $topSocialEl.find('.ts-text').each( function(){ 1283 var $clone = $(this).clone().css({'visibility': 'hidden', 'display': 'inline-block', 'font-size': '13px', 'font-weight':'bold'}).appendTo($body), 1284 cloneWidth = $clone.innerWidth() + 52; 1285 $(this).parent('a').attr('data-hover-width',cloneWidth); 1286 $clone.remove(); 1287 }); 1288 1289 $topSocialEl.find('a').hover(function() { 1290 if( $(this).find('.ts-text').length > 0 ) { 1291 $(this).css({width: $(this).attr('data-hover-width')}); 1292 } 1293 }, function() { 1294 $(this).css({width: 40}); 1295 }); 1296 } else { 1297 $topSocialEl.show(); 1298 $topSocialEl.find('a').css({width: 40}); 1299 1300 $topSocialEl.find('a').each(function() { 1301 var topIconTitle = $(this).find('.ts-text').text(); 1302 $(this).attr('title', topIconTitle); 1303 }); 1304 1305 $topSocialEl.find('a').hover(function() { 1306 $(this).css({width: 40}); 1307 }, function() { 1308 $(this).css({width: 40}); 1309 }); 1310 1311 if( $body.hasClass('device-xxs') ) { 1312 $topSocialEl.hide(); 1313 $topSocialEl.slice(0, 8).show(); 1314 } 1315 } 1316 } 1317 }, 1318 1319 topsearch: function(){ 1320 1321 $(document).on('click', function(event) { 1322 if (!$(event.target).closest('#top-search').length) { $body.toggleClass('top-search-open', false); } 1323 if (!$(event.target).closest('#top-cart').length) { $topCart.toggleClass('top-cart-open', false); } 1324 if (!$(event.target).closest('#page-menu').length) { $pagemenu.toggleClass('pagemenu-active', false); } 1325 if (!$(event.target).closest('#side-panel').length) { $body.toggleClass('side-panel-open', false); } 1326 }); 1327 1328 $("#top-search-trigger").click(function(e){ 1329 $body.toggleClass('top-search-open'); 1330 $topCart.toggleClass('top-cart-open', false); 1331 $( '#primary-menu > ul, #primary-menu > div > ul' ).toggleClass("show", false); 1332 $pagemenu.toggleClass('pagemenu-active', false); 1333 if ($body.hasClass('top-search-open')){ 1334 $topSearch.find('input').focus(); 1335 } 1336 e.stopPropagation(); 1337 e.preventDefault(); 1338 }); 1339 1340 }, 1341 1342 topcart: function(){ 1343 1344 $("#top-cart-trigger").click(function(e){ 1345 $pagemenu.toggleClass('pagemenu-active', false); 1346 $topCart.toggleClass('top-cart-open'); 1347 e.stopPropagation(); 1348 e.preventDefault(); 1349 }); 1350 1351 } 1352 1353 }; 1354 1355 SEMICOLON.slider = { 1356 1357 init: function() { 1358 1359 SEMICOLON.slider.sliderParallax(); 1360 SEMICOLON.slider.sliderElementsFade(); 1361 SEMICOLON.slider.captionPosition(); 1362 1363 }, 1364 1365 sliderParallaxOffset: function(){ 1366 var sliderParallaxOffsetTop = 0; 1367 var headerHeight = $header.outerHeight(); 1368 if( $body.hasClass('side-header') || $header.hasClass('transparent-header') ) { headerHeight = 0; } 1369 if( $pageTitle.length > 0 ) { 1370 var pageTitleHeight = $pageTitle.outerHeight(); 1371 sliderParallaxOffsetTop = pageTitleHeight + headerHeight; 1372 } else { 1373 sliderParallaxOffsetTop = headerHeight; 1374 } 1375 1376 if( $slider.next('#header').length > 0 ) { sliderParallaxOffsetTop = 0; } 1377 1378 return sliderParallaxOffsetTop; 1379 }, 1380 1381 sliderParallax: function(){ 1382 if( $sliderParallaxEl.length > 0 ) { 1383 if( ( $body.hasClass('device-lg') || $body.hasClass('device-md') ) && !SEMICOLON.isMobile.any() ) { 1384 var parallaxOffsetTop = SEMICOLON.slider.sliderParallaxOffset(), 1385 parallaxElHeight = $sliderParallaxEl.outerHeight(); 1386 1387 if( ( parallaxElHeight + parallaxOffsetTop + 50 ) > $window.scrollTop() ){ 1388 if ($window.scrollTop() > parallaxOffsetTop) { 1389 var tranformAmount = (($window.scrollTop()-parallaxOffsetTop) / 1.5 ).toFixed(2); 1390 var tranformAmount2 = (($window.scrollTop()-parallaxOffsetTop) / 7 ).toFixed(2); 1391 $sliderParallaxEl.stop(true,true).transition({ y: tranformAmount },0); 1392 $('.slider-parallax .slider-caption,.ei-title').stop(true,true).transition({ y: -tranformAmount2 },0); 1393 } else { 1394 $('.slider-parallax,.slider-parallax .slider-caption,.ei-title').transition({ y: 0 },0); 1395 } 1396 } 1397 if (requesting) { 1398 requestAnimationFrame(function(){ 1399 SEMICOLON.slider.sliderParallax();
1400 SEMICOLON.slider.sliderElementsFade(); 1401 }); 1402 } 1403 } else { 1404 $('.slider-parallax,.slider-parallax .slider-caption,.ei-title').transition({ y: 0 },0); 1405 } 1406 } 1407 }, 1408 1409 sliderElementsFade: function(){ 1410 if( $sliderParallaxEl.length > 0 ) { 1411 if( ( $body.hasClass('device-lg') || $body.hasClass('device-md') ) && !SEMICOLON.isMobile.any() ) { 1412 var parallaxOffsetTop = SEMICOLON.slider.sliderParallaxOffset(); 1413 if( $slider.length > 0 ) { 1414 if( $header.hasClass('transparent-header') || $('body').hasClass('side-header') ) { var tHeaderOffset = 100; } else { var tHeaderOffset = 0; } 1415 $sliderParallaxEl.find('#slider-arrow-left,#slider-arrow-right,.vertical-middle:not(.no-fade),.slider-caption,.ei-title,.camera_prev,.camera_next').css({'opacity':( ( 100 + ( $slider.offset().top + parallaxOffsetTop + tHeaderOffset ) - $window.scrollTop() ) ) /90}); 1416 } 1417 } else { 1418 $sliderParallaxEl.find('#slider-arrow-left,#slider-arrow-right,.vertical-middle:not(.no-fade),.slider-caption,.ei-title,.camera_prev,.camera_next').css({'opacity': 1}); 1419 } 1420 } 1421 }, 1422 1423 captionPosition: function(){ 1424 $slider.find('.slider-caption:not(.custom-caption-pos)').each(function(){ 1425 var scapHeight = $(this).outerHeight(); 1426 var scapSliderHeight = $slider.outerHeight(); 1427 if( $(this).parents('#slider').prev('#header').hasClass('transparent-header') && ( $body.hasClass('device-lg') || $body.hasClass('device-md') ) ) { 1428 if( $(this).parents('#slider').prev('#header').hasClass('floating-header') ) { 1429 $(this).css({ top: ( scapSliderHeight + 160 - scapHeight ) / 2 + 'px' }); 1430 } else { 1431 $(this).css({ top: ( scapSliderHeight + 100 - scapHeight ) / 2 + 'px' }); 1432 } 1433 } else { 1434 $(this).css({ top: ( scapSliderHeight - scapHeight ) / 2 + 'px' }); 1435 } 1436 }); 1437 }, 1438 1439 swiperSliderMenu: function( onWinLoad ){ 1440 onWinLoad = typeof onWinLoad !== 'undefined' ? onWinLoad : false; 1441 if( $body.hasClass('device-lg') || $body.hasClass('device-md') ) { 1442 var activeSlide = $slider.find('.swiper-slide.swiper-slide-visible'); 1443 SEMICOLON.slider.headerSchemeChanger(activeSlide, onWinLoad); 1444 } 1445 }, 1446 1447 revolutionSliderMenu: function( onWinLoad ){ 1448 onWinLoad = typeof onWinLoad !== 'undefined' ? onWinLoad : false; 1449 if( $body.hasClass('device-lg') || $body.hasClass('device-md') ) { 1450 var activeSlide = $slider.find('.current-sr-slide-visible'); 1451 SEMICOLON.slider.headerSchemeChanger(activeSlide, onWinLoad); 1452 } 1453 }, 1454 1455 headerSchemeChanger: function( activeSlide, onWinLoad ){ 1456 if( activeSlide.length > 0 ) { 1457 var darkExists = false; 1458 if( activeSlide.hasClass('dark') ){ 1459 if( oldHeaderClasses ) { var oldClassesArray = oldHeaderClasses.split(/ +/); } else { var oldClassesArray = ''; } 1460 var noOfOldClasses = oldClassesArray.length; 1461 1462 if( noOfOldClasses > 0 ) { 1463 var i = 0; 1464 for( i=0; i<noOfOldClasses; i++ ) { 1465 if( oldClassesArray[i] == 'dark' && onWinLoad == true ) { 1466 darkExists = true; 1467 break; 1468 } 1469 } 1470 } 1471 $('#header.transparent-header:not(.sticky-header,.semi-transparent,.floating-header)').addClass('dark'); 1472 if( !darkExists ) { 1473 $('#header.transparent-header.sticky-header,#header.transparent-header.semi-transparent.sticky-header,#header.transparent-header.floating-header.sticky-header').removeClass('dark'); 1474 } 1475 $headerWrap.removeClass('not-dark'); 1476 } else { 1477 if( $body.hasClass('dark') ) { 1478 activeSlide.addClass('not-dark'); 1479 $('#header.transparent-header:not(.semi-transparent,.floating-header)').removeClass('dark'); 1480 $('#header.transparent-header:not(.sticky-header,.semi-transparent,.floating-header)').find('#header-wrap').addClass('not-dark'); 1481 } else { 1482 $('#header.transparent-header:not(.semi-transparent,.floating-header)').removeClass('dark'); 1483 $headerWrap.removeClass('not-dark'); 1484 } 1485 } 1486 SEMICOLON.header.logo(); 1487 } 1488 }, 1489 1490 owlCaptionInit: function(){ 1491 if( $owlCarouselEl.length > 0 ){ 1492 $owlCarouselEl.each( function(){ 1493 var element = $(this); 1494 if( element.find('.owl-dot').length > 0 ) {
1495 element.find('.owl-controls').addClass('with-carousel-dots'); 1496 } 1497 }); 1498 } 1499 } 1500 1501 }; 1502 1503 SEMICOLON.portfolio = { 1504 1505 init: function(){ 1506 1507 SEMICOLON.portfolio.ajaxload(); 1508 1509 }, 1510 1511 portfolioDescMargin: function(){ 1512 var $portfolioOverlayEl = $('.portfolio-overlay'); 1513 if( $portfolioOverlayEl.length > 0 ){ 1514 $portfolioOverlayEl.each(function() { 1515 var element = $(this); 1516 if( element.find('.portfolio-desc').length > 0 ) { 1517 var portfolioOverlayHeight = element.outerHeight(); 1518 var portfolioOverlayDescHeight = element.find('.portfolio-desc').outerHeight(); 1519 if( element.find('a.left-icon').length > 0 || element.find('a.right-icon').length > 0 || element.find('a.center-icon').length > 0 ) { 1520 var portfolioOverlayIconHeight = 40 + 20; 1521 } else { 1522 var portfolioOverlayIconHeight = 0; 1523 } 1524 var portfolioOverlayMiddleAlign = ( portfolioOverlayHeight - portfolioOverlayDescHeight - portfolioOverlayIconHeight ) / 2 1525 element.find('.portfolio-desc').css({ 'margin-top': portfolioOverlayMiddleAlign }); 1526 } 1527 }); 1528 } 1529 }, 1530 1531 arrange: function(){ 1532 SEMICOLON.initialize.setFullColumnWidth( $portfolio ); 1533 $('#portfolio.portfolio-full').isotope('layout'); 1534 }, 1535 1536 ajaxload: function(){ 1537 $('.portfolio-ajax .portfolio-item a.center-icon').click( function(e) { 1538 var portPostId = $(this).parents('.portfolio-item').attr('id'); 1539 if( !$(this).parents('.portfolio-item').hasClass('portfolio-active') ) { 1540 SEMICOLON.portfolio.loadItem(portPostId, prevPostPortId); 1541 } 1542 e.preventDefault(); 1543 }); 1544 }, 1545 1546 newNextPrev: function( portPostId ){ 1547 var portNext = SEMICOLON.portfolio.getNextItem(portPostId); 1548 var portPrev = SEMICOLON.portfolio.getPrevItem(portPostId); 1549 $('#next-portfolio').attr('data-id', portNext); 1550 $('#prev-portfolio').attr('data-id', portPrev); 1551 }, 1552 1553 loadItem: function( portPostId, prevPostPortId, getIt ){ 1554 if(!getIt) { getIt = false; } 1555 var portNext = SEMICOLON.portfolio.getNextItem(portPostId); 1556 var portPrev = SEMICOLON.portfolio.getPrevItem(portPostId); 1557 if(getIt == false) { 1558 SEMICOLON.portfolio.closeItem(); 1559 $portfolioAjaxLoader.fadeIn(); 1560 var portfolioDataLoader = $('#' + portPostId).attr('data-loader'); 1561 $portfolioDetailsContainer.load(portfolioDataLoader, { portid: portPostId, portnext: portNext, portprev: portPrev }, 1562 function(){ 1563 SEMICOLON.portfolio.initializeAjax(portPostId); 1564 SEMICOLON.portfolio.openItem(); 1565 $portfolioItems.removeClass('portfolio-active'); 1566 $('#' + portPostId).addClass('portfolio-active'); 1567 }); 1568 } 1569 }, 1570 1571 closeItem: function(){ 1572 if( $portfolioDetails && $portfolioDetails.height() > 32 ) { 1573 $portfolioAjaxLoader.fadeIn(); 1574 $portfolioDetails.find('#portfolio-ajax-single').fadeOut('600', function(){ 1575 $(this).remove(); 1576 }); 1577 $portfolioDetails.removeClass('portfolio-ajax-opened'); 1578 } 1579 }, 1580 1581 openItem: function(){ 1582 var noOfImages = $portfolioDetails.find('img').length; 1583 var noLoaded = 0; 1584 1585 if( noOfImages > 0 ) { 1586 $portfolioDetails.find('img').on('load', function(){ 1587 noLoaded++; 1588 var topOffsetScroll = SEMICOLON.initialize.topScrollOffset(); 1589 if(noOfImages === noLoaded) { 1590 $portfolioDetailsContainer.css({ 'display': 'block' }); 1591 $portfolioDetails.addClass('portfolio-ajax-opened'); 1592 $portfolioAjaxLoader.fadeOut(); 1593 var t=setTimeout(function(){ 1594 SEMICOLON.widget.loadFlexSlider(); 1595 SEMICOLON.initialize.lightbox(); 1596 SEMICOLON.initialize.resizeVideos(); 1597 SEMICOLON.widget.masonryThumbs(); 1598 $('html,body').stop(true).animate({ 1599 'scrollTop': $portfolioDetails.offset().top - topOffsetScroll 1600 }, 900, 'easeOutQuad'); 1601 },500); 1602 } 1603 }); 1604 } else { 1605 var topOffsetScroll = SEMICOLON.initialize.topScrollOffset(); 1606 $portfolioDetailsContainer.css({ 'display': 'block' }); 1607 $portfolioDetails.addClass('portfolio-ajax-opened'); 1608 $portfolioAjaxLoader.fadeOut(); 1609 var t=setTimeout(function(){ 1610 SEMICOLON.widget.loadFlexSlider(); 1611 SEMICOLON.initialize.lightbox(); 1612 SEMICOLON.initialize.resizeVideos(); 1613 SEMICOLON.widget.masonryThumbs(); 1614 $('html,body').stop(true).animate({ 1615 'scrollTop': $portfolioDetails.offset().top - topOffsetScroll 1616 }, 900, 'easeOutQuad'); 1617 },500); 1618 } 1619 }, 1620 1621 getNextItem: function( portPostId ){ 1622 var portNext = ''; 1623 var hasNext = $('#' + portPostId).next(); 1624 if(hasNext.length != 0) { 1625 portNext = hasNext.attr('id'); 1626 } 1627 return portNext; 1628 }, 1629 1630 getPrevItem: function( portPostId ){ 1631 var portPrev = ''; 1632 var hasPrev = $('#' + portPostId).prev(); 1633 if(hasPrev.length != 0) { 1634 portPrev = hasPrev.attr('id'); 1635 } 1636 return portPrev; 1637 }, 1638 1639 initializeAjax: function( portPostId ){ 1640 prevPostPortId = $('#' + portPostId); 1641 1642 $('#next-portfolio, #prev-portfolio').click( function() { 1643 var portPostId = $(this).attr('data-id'); 1644 $portfolioItems.removeClass('portfolio-active'); 1645 $('#' + portPostId).addClass('portfolio-active'); 1646 SEMICOLON.portfolio.loadItem(portPostId,prevPostPortId); 1647 return false; 1648 }); 1649 1650 $('#close-portfolio').click( function() { 1651 $portfolioDetailsContainer.fadeOut('600', function(){ 1652 $portfolioDetails.find('#portfolio-ajax-single').remove(); 1653 }); 1654 $portfolioDetails.removeClass('portfolio-ajax-opened'); 1655 $portfolioItems.removeClass('portfolio-active'); 1656 return false; 1657 }); 1658 } 1659 1660 }; 1661 1662 SEMICOLON.widget = { 1663 1664 init: function(){ 1665 1666 SEMICOLON.widget.animations(); 1667 SEMICOLON.widget.youtubeBgVideo(); 1668 SEMICOLON.widget.tabs(); 1669 SEMICOLON.widget.tabsJustify(); 1670 SEMICOLON.widget.toggles();
1671 SEMICOLON.widget.accordions(); 1672 SEMICOLON.widget.counter(); 1673 SEMICOLON.widget.roundedSkill(); 1674 SEMICOLON.widget.progress(); 1675 SEMICOLON.widget.twitterFeed(); 1676 SEMICOLON.widget.flickrFeed(); 1677 SEMICOLON.widget.instagramPhotos( '36286274.b9e559e.4824cbc1d0c94c23827dc4a2267a9f6b', 'b9e559ec7c284375bf41e9a9fb72ae01' ); 1678 SEMICOLON.widget.dribbbleShots(); 1679 SEMICOLON.widget.navTree(); 1680 SEMICOLON.widget.textRotater(); 1681 SEMICOLON.widget.linkScroll(); 1682 SEMICOLON.widget.extras(); 1683 1684 }, 1685 1686 parallax: function(){ 1687 if( !SEMICOLON.isMobile.any() ){ 1688 $.stellar({ 1689 horizontalScrolling: false, 1690 verticalOffset: 150 1691 }); 1692 } else { 1693 $parallaxEl.addClass('mobile-parallax'); 1694 $parallaxPageTitleEl.addClass('mobile-parallax'); 1695 $parallaxPortfolioEl.addClass('mobile-parallax'); 1696 } 1697 }, 1698 1699 animations: function(){ 1700 var $dataAnimateEl = $('[data-animate]'); 1701 if( $dataAnimateEl.length > 0 ){ 1702 if( $body.hasClass('device-lg') || $body.hasClass('device-md') || $body.hasClass('device-sm') ){ 1703 $dataAnimateEl.each(function(){ 1704 var element = $(this), 1705 animationDelay = element.attr('data-delay'), 1706 animationDelayTime = 0; 1707 1708 if( element.parents('.fslider.no-thumbs-animate').length > 0 ) { return true; } 1709 1710 if( animationDelay ) { animationDelayTime = Number( animationDelay ) + 500; } else { animationDelayTime = 500; } 1711 1712 if( !element.hasClass('animated') ) { 1713 element.addClass('not-animated'); 1714 var elementAnimation = element.attr('data-animate'); 1715 element.appear(function () { 1716 setTimeout(function() { 1717 element.removeClass('not-animated').addClass( elementAnimation + ' animated'); 1718 }, animationDelayTime); 1719 },{accX: 0, accY: -120},'easeInCubic'); 1720 } 1721 }); 1722 } 1723 } 1724 }, 1725 1726 loadFlexSlider: function(){ 1727 var $flexSliderEl = $('.fslider:not(.customjs)').find('.flexslider'); 1728 if( $flexSliderEl.length > 0 ){ 1729 $flexSliderEl.each(function() { 1730 var $flexsSlider = $(this), 1731 flexsAnimation = $flexsSlider.parent('.fslider').attr('data-animation'), 1732 flexsEasing = $flexsSlider.parent('.fslider').attr('data-easing'), 1733 flexsDirection = $flexsSlider.parent('.fslider').attr('data-direction'), 1734 flexsSlideshow = $flexsSlider.parent('.fslider').attr('data-slideshow'), 1735 flexsPause = $flexsSlider.parent('.fslider').attr('data-pause'), 1736 flexsSpeed = $flexsSlider.parent('.fslider').attr('data-speed'), 1737 flexsVideo = $flexsSlider.parent('.fslider').attr('data-video'), 1738 flexsPagi = $flexsSlider.parent('.fslider').attr('data-pagi'), 1739 flexsArrows = $flexsSlider.parent('.fslider').attr('data-arrows'), 1740 flexsThumbs = $flexsSlider.parent('.fslider').attr('data-thumbs'), 1741 flexsHover = $flexsSlider.parent('.fslider').attr('data-hover'), 1742 flexsSheight = $flexsSlider.parent('.fslider').attr('data-smooth-height'), 1743 flexsUseCSS = false; 1744 1745 if( !flexsAnimation ) { flexsAnimation = 'slide'; } 1746 if( !flexsEasing || flexsEasing == 'swing' ) { 1747 flexsEasing = 'swing'; 1748 flexsUseCSS = true; 1749 } 1750 if( !flexsDirection ) { flexsDirection = 'horizontal'; } 1751 if( !flexsSlideshow ) { flexsSlideshow = true; } else { flexsSlideshow = false; } 1752 if( !flexsPause ) { flexsPause = 5000; } 1753 if( !flexsSpeed ) { flexsSpeed = 600; } 1754 if( !flexsVideo ) { flexsVideo = false; } 1755 if( flexsSheight == 'false' ) { flexsSheight = false; } 1756 if( flexsDirection == 'vertical' ) { flexsSheight = false; } 1757 if( flexsPagi == 'false' ) { flexsPagi = false; } else { flexsPagi = true; } 1758 if( flexsThumbs == 'true' ) { flexsPagi = 'thumbnails'; } else { flexsPagi = flexsPagi; } 1759 if( flexsArrows == 'false' ) { flexsArrows = false; } else { flexsArrows = true; } 1760 if( flexsHover == 'false' ) { flexsHover = false; } else { flexsHover = true; } 1761 1762 $flexsSlider.flexslider({ 1763 selector: ".slider-wrap > .slide", 1764 animation: flexsAnimation, 1765 easing: flexsEasing, 1766 direction: flexsDirection, 1767 slideshow: flexsSlideshow, 1768 slideshowSpeed: Number(flexsPause), 1769 animationSpeed: Number(flexsSpeed), 1770 pauseOnHover: flexsHover, 1771 video: flexsVideo, 1772 controlNav: flexsPagi, 1773 directionNav: flexsArrows, 1774 smoothHeight: flexsSheight, 1775 useCSS: flexsUseCSS, 1776 start: function(slider){ 1777 SEMICOLON.widget.animations(); 1778 SEMICOLON.initialize.verticalMiddle(); 1779 slider.parent().removeClass('preloader2'); 1780 var t = setTimeout( function(){ $('#portfolio.portfolio-masonry,#portfolio.portfolio-full,#posts.post-masonry').isotope('layout'); }, 1200 ); 1781 SEMICOLON.initialize.lightbox(); 1782 $('.flex-prev').html('<i class="icon-angle-left"></i>'); 1783 $('.flex-next').html('<i class="icon-angle-right"></i>'); 1784 SEMICOLON.portfolio.portfolioDescMargin(); 1785 }, 1786 after: function(){ 1787 if( $portfolio.has('portfolio-full') ) { 1788 $('#portfolio.portfolio-full').isotope('layout'); 1789 SEMICOLON.portfolio.portfolioDescMargin(); 1790 } 1791 } 1792 });
1793 }); 1794 } 1795 }, 1796 1797 html5Video: function(){ 1798 var videoEl = $('.video-wrap:has(video)'); 1799 if( videoEl.length > 0 ) { 1800 videoEl.each(function(){ 1801 var element = $(this), 1802 elementVideo = element.find('video'), 1803 outerContainerWidth = element.outerWidth(), 1804 outerContainerHeight = element.outerHeight(), 1805 innerVideoWidth = elementVideo.outerWidth(), 1806 innerVideoHeight = elementVideo.outerHeight(); 1807 1808 if( innerVideoHeight < outerContainerHeight ) { 1809 var videoAspectRatio = innerVideoWidth/innerVideoHeight, 1810 newVideoWidth = outerContainerHeight * videoAspectRatio, 1811 innerVideoPosition = (newVideoWidth - outerContainerWidth) / 2; 1812 elementVideo.css({ 'width': newVideoWidth+'px', 'height': outerContainerHeight+'px', 'left': -innerVideoPosition+'px' }); 1813 } else { 1814 var innerVideoPosition = (innerVideoHeight - outerContainerHeight) / 2; 1815 elementVideo.css({ 'width': innerVideoWidth+'px', 'height': innerVideoHeight+'px', 'top': -innerVideoPosition+'px' }); 1816 } 1817 1818 if( SEMICOLON.isMobile.any() ) { 1819 var placeholderImg = elementVideo.attr('poster'); 1820 1821 if( placeholderImg != '' ) { 1822 element.append('<div class="video-placeholder" style="background-image: url('+ placeholderImg +');"></div>') 1823 } 1824 } 1825 }); 1826 } 1827 }, 1828 1829 youtubeBgVideo: function(){ 1830 if( $youtubeBgPlayerEl.length > 0 ){ 1831 $youtubeBgPlayerEl.each( function(){ 1832 var element = $(this), 1833 ytbgVideo = element.attr('data-video'), 1834 ytbgMute = element.attr('data-mute'), 1835 ytbgRatio = element.attr('data-ratio'), 1836 ytbgQuality = element.attr('data-quality'), 1837 ytbgOpacity = element.attr('data-opacity'), 1838 ytbgContainer = element.attr('data-container'), 1839 ytbgOptimize = element.attr('data-optimize'), 1840 ytbgLoop = element.attr('data-loop'), 1841 ytbgVolume = element.attr('data-volume'), 1842 ytbgStart = element.attr('data-start'), 1843 ytbgStop = element.attr('data-stop'), 1844 ytbgAutoPlay = element.attr('data-autoplay'), 1845 ytbgFullScreen = element.attr('data-fullscreen'); 1846 1847 if( ytbgMute == 'false' ) { ytbgMute = false; } else { ytbgMute = true; } 1848 if( !ytbgRatio ) { ytbgRatio = '16/9'; } 1849 if( !ytbgQuality ) { ytbgQuality = 'hd720'; } 1850 if( !ytbgOpacity ) { ytbgOpacity = 1; } 1851 if( !ytbgContainer ) { ytbgContainer = 'self'; } 1852 if( ytbgOptimize == 'false' ) { ytbgOptimize = false; } else { ytbgOptimize = true; } 1853 if( ytbgLoop == 'false' ) { ytbgLoop = false; } else { ytbgLoop = true; } 1854 if( !ytbgVolume ) { ytbgVolume = 1; } 1855 if( !ytbgStart ) { ytbgStart = 0; } 1856 if( !ytbgStop ) { ytbgStop = 0; } 1857 if( ytbgAutoPlay == 'false' ) { ytbgAutoPlay = false; } else { ytbgAutoPlay = true; } 1858 if( ytbgFullScreen == 'true' ) { ytbgFullScreen = true; } else { ytbgFullScreen = false; } 1859 1860 element.mb_YTPlayer({ 1861 videoURL: ytbgVideo, 1862 mute: ytbgMute, 1863 ratio: ytbgRatio, 1864 quality: ytbgQuality, 1865 opacity: Number(ytbgOpacity), 1866 containment: ytbgContainer, 1867 optimizeDisplay: ytbgOptimize, 1868 loop: ytbgLoop, 1869 vol: Number(ytbgVolume), 1870 startAt: Number(ytbgStart), 1871 stopAt: Number(ytbgStop), 1872 autoplay: ytbgAutoPlay, 1873 realfullscreen: ytbgFullScreen, 1874 showYTLogo: false, 1875 showControls: false 1876 }); 1877 }); 1878 } 1879 }, 1880 1881 tabs: function(){ 1882 var $tabs = $('.tabs:not(.customjs)'); 1883 if( $tabs.length > 0 ) { 1884 $tabs.each( function(){ 1885 var element = $(this), 1886 elementSpeed = element.attr('data-speed'), 1887 tabActive = element.attr('data-active'); 1888 1889 if( !elementSpeed ) { elementSpeed = 400; } 1890 if( !tabActive ) { tabActive = 0; } else { tabActive = tabActive - 1; } 1891 1892 element.tabs({ 1893 active: Number(tabActive), 1894 show: { 1895 effect: "fade", 1896 duration: Number(elementSpeed) 1897 } 1898 }); 1899 }); 1900 } 1901 }, 1902 1903 tabsJustify: function(){ 1904 if( !$('body').hasClass('device-xxs') && !$('body').hasClass('device-xs') ){ 1905 var $tabsJustify = $('.tabs.tabs-justify'); 1906 if( $tabsJustify.length > 0 ) { 1907 $tabsJustify.each( function(){ 1908 var element = $(this), 1909 elementTabs = element.find('.tab-nav > li'), 1910 elementTabsNo = elementTabs.length, 1911 elementContainer = 0, 1912 elementWidth = 0; 1913 1914 if( element.hasClass('tabs-bordered') || element.hasClass('tabs-bb') ) { 1915 elementContainer = element.find('.tab-nav').outerWidth(); 1916 } else { 1917 if( element.find('tab-nav').hasClass('tab-nav2') ) { 1918 elementContainer = element.find('.tab-nav').outerWidth() - (elementTabsNo * 10); 1919 } else { 1920 elementContainer = element.find('.tab-nav').outerWidth() - 30; 1921 } 1922 } 1923 1924 elementWidth = Math.floor(elementContainer/elementTabsNo); 1925 elementTabs.css({ 'width': elementWidth + 'px' }); 1926 1927 });
1928 } 1929 } else { $('.tabs.tabs-justify').find('.tab-nav > li').css({ 'width': 'auto' }); } 1930 }, 1931 1932 toggles: function(){ 1933 var $toggle = $('.toggle'); 1934 if( $toggle.length > 0 ) { 1935 $toggle.each( function(){ 1936 var element = $(this), 1937 elementState = element.attr('data-state'); 1938 1939 if( elementState != 'open' ){ 1940 element.find('.togglec').hide(); 1941 } else { 1942 element.find('.togglet').addClass("toggleta"); 1943 } 1944 1945 element.find('.togglet').click(function(){ 1946 $(this).toggleClass('toggleta').next('.togglec').slideToggle(300); 1947 return true; 1948 }); 1949 }); 1950 } 1951 }, 1952 1953 accordions: function(){ 1954 var $accordionEl = $('.accordion'); 1955 if( $accordionEl.length > 0 ){ 1956 $accordionEl.each( function(){ 1957 var element = $(this), 1958 elementState = element.attr('data-state'), 1959 accordionActive = element.attr('data-active'); 1960 1961 if( !accordionActive ) { accordionActive = 0; } else { accordionActive = accordionActive - 1; } 1962 1963 element.find('.acc_content').hide(); 1964 1965 if( elementState != 'closed' ) { 1966 element.find('.acctitle:eq('+ Number(accordionActive) +')').addClass('acctitlec').next().show(); 1967 } 1968 1969 element.find('.acctitle').click(function(){ 1970 if( $(this).next().is(':hidden') ) { 1971 element.find('.acctitle').removeClass('acctitlec').next().slideUp("normal"); 1972 $(this).toggleClass('acctitlec').next().slideDown("normal"); 1973 } 1974 return false; 1975 }); 1976 }); 1977 } 1978 }, 1979 1980 counter: function(){ 1981 var $counterEl = $('.counter:not(.counter-instant)'); 1982 if( $counterEl.length > 0 ){ 1983 $counterEl.each(function(){ 1984 var element = $(this); 1985 var counterElementComma = $(this).find('span').attr('data-comma'); 1986 if( !counterElementComma ) { counterElementComma = false; } else { counterElementComma = true; } 1987 if( $body.hasClass('device-lg') || $body.hasClass('device-md') ){ 1988 element.appear( function(){ 1989 SEMICOLON.widget.runCounter( element, counterElementComma ); 1990 if( element.parents('.common-height') ) { 1991 SEMICOLON.initialize.maxHeight(); 1992 } 1993 },{accX: 0, accY: -120},'easeInCubic'); 1994 } else { 1995 SEMICOLON.widget.runCounter( element, counterElementComma ); 1996 } 1997 }); 1998 } 1999 }, 2000 2001 runCounter: function( counterElement,counterElementComma ){ 2002 if( counterElementComma == true ) { 2003 counterElement.find('span').countTo({ 2004 formatter: function (value, options) { 2005 value = value.toFixed(options.decimals); 2006 value = value.replace(/\B(?=(\d{3})+(?!\d))/g, ','); 2007 return value; 2008 } 2009 }); 2010 } else { 2011 counterElement.find('span').countTo(); 2012 } 2013 }, 2014 2015 roundedSkill: function(){ 2016 var $roundedSkillEl = $('.rounded-skill'); 2017 if( $roundedSkillEl.length > 0 ){ 2018 $roundedSkillEl.each(function(){ 2019 var element = $(this); 2020 2021 var roundSkillSize = element.attr('data-size'); 2022 var roundSkillSpeed = element.attr('data-speed'); 2023 var roundSkillWidth = element.attr('data-width'); 2024 var roundSkillColor = element.attr('data-color'); 2025 var roundSkillTrackColor = element.attr('data-trackcolor'); 2026 2027 if( !roundSkillSize ) { roundSkillSize = 140; } 2028 if( !roundSkillSpeed ) { roundSkillSpeed = 2000; } 2029 if( !roundSkillWidth ) { roundSkillWidth = 8; } 2030 if( !roundSkillColor ) { roundSkillColor = '#0093BF'; } 2031 if( !roundSkillTrackColor ) { roundSkillTrackColor = 'rgba(0,0,0,0.04)'; } 2032 2033 var properties = {roundSkillSize:roundSkillSize, roundSkillSpeed:roundSkillSpeed, roundSkillWidth:roundSkillWidth, roundSkillColor:roundSkillColor, roundSkillTrackColor:roundSkillTrackColor}; 2034 2035 if( $body.hasClass('device-lg') || $body.hasClass('device-md') ){ 2036 element.css({'width':roundSkillSize+'px','height':roundSkillSize+'px','line-height':roundSkillSize+'px'}).animate({opacity:0}
2036, 10); 2037 element.appear( function(){ 2038 if (!element.hasClass('skills-animated')) { 2039 var t = setTimeout( function(){ element.css({opacity: 1}); }, 100 ); 2040 SEMICOLON.widget.runRoundedSkills( element, properties ); 2041 element.addClass('skills-animated'); 2042 } 2043 },{accX: 0, accY: -120},'easeInCubic'); 2044 } else { 2045 SEMICOLON.widget.runRoundedSkills( element, properties ); 2046 } 2047 }); 2048 } 2049 }, 2050 2051 runRoundedSkills: function( element, properties ){ 2052 element.easyPieChart({ 2053 size: Number(properties.roundSkillSize), 2054 animate: Number(properties.roundSkillSpeed), 2055 scaleColor: false, 2056 trackColor: properties.roundSkillTrackColor, 2057 lineWidth: Number(properties.roundSkillWidth), 2058 lineCap: 'square', 2059 barColor: properties.roundSkillColor 2060 }); 2061 }, 2062 2063 progress: function(){ 2064 var $progressEl = $('.progress'); 2065 if( $progressEl.length > 0 ){ 2066 $progressEl.each(function(){ 2067 var element = $(this), 2068 skillsBar = element.parent('li'), 2069 skillValue = skillsBar.attr('data-percent'); 2070 2071 if( $body.hasClass('device-lg') || $body.hasClass('device-md') ){ 2072 element.appear( function(){ 2073 if (!skillsBar.hasClass('skills-animated')) { 2074 element.find('.counter-instant span').countTo(); 2075 skillsBar.find('.progress').css({width: skillValue + "%"}).addClass('skills-animated'); 2076 } 2077 },{accX: 0, accY: -120},'easeInCubic'); 2078 } else { 2079 element.find('.counter-instant span').countTo(); 2080 skillsBar.find('.progress').css({width: skillValue + "%"}); 2081 } 2082 }); 2083 } 2084 }, 2085 2086 twitterFeed: function(){ 2087 var $twitterFeedEl = $('.twitter-feed'); 2088 if( $twitterFeedEl.length > 0 ){ 2089 $twitterFeedEl.each(function() { 2090 var element = $(this), 2091 twitterFeedUser = element.attr('data-username'), 2092 twitterFeedCount = element.attr('data-count'); 2093 2094 if( !twitterFeedUser ) { twitterFeedUser = 'twitter' } 2095 if( !twitterFeedCount ) { twitterFeedCount = 3 } 2096 2097 $.getJSON('include/twitter/tweets.php?username='+ twitterFeedUser +'&count='+ twitterFeedCount, function(tweets){ 2098 if( element.hasClass('fslider') ) { 2099 element.find(".slider-wrap").html(sm_format_twitter3(tweets)).promise().done(function(){ 2100 var timer = setInterval(function(){ 2101 if( element.find('.slide').length > 1 ) { 2102 element.removeClass('customjs'); 2103 var t = setTimeout( function(){ SEMICOLON.widget.loadFlexSlider(); }, 500); 2104 clearInterval(timer); 2105 } 2106 },500); 2107 }); 2108 } else { 2109 element.html(sm_format_twitter(tweets)); 2110 } 2111 }); 2112 }); 2113 } 2114 }, 2115 2116 flickrFeed: function(){ 2117 var $flickrFeedEl = $('.flickr-feed'); 2118 if( $flickrFeedEl.length > 0 ){ 2119 $flickrFeedEl.each(function() { 2120 var element = $(this), 2121 flickrFeedID = element.attr('data-id'), 2122 flickrFeedCount = element.attr('data-count'), 2123 flickrFeedType = element.attr('data-type'), 2124 flickrFeedTypeGet = 'photos_public.gne'; 2125 2126 if( flickrFeedType == 'group' ) { flickrFeedTypeGet = 'groups_pool.gne'; } 2127 if( !flickrFeedCount ) { flickrFeedCount = 9; } 2128 2129 element.jflickrfeed({ 2130 feedapi: flickrFeedTypeGet, 2131 limit: Number(flickrFeedCount), 2132 qstrings: { 2133 id: flickrFeedID 2134 }, 2135 itemTemplate: '<a href="{{image_b}}" title="{{title}}" data-lightbox="gallery-item">' + 2136 '<img src="{{image_s}}" alt="{{title}}" />' + 2137 '</a>' 2138 }, function(data) { 2139 SEMICOLON.initialize.lightbox(); 2140 }); 2141 }); 2142 } 2143 }, 2144 2145 instagramPhotos: function( c_accessToken, c_clientID ){ 2146 var $instagramPhotosEl = $('.instagram-photos'); 2147 if( $instagramPhotosEl.length > 0 ){ 2148 2149 $instagramPhotosEl.each(function() { 2150 var element = $(this), 2151 instaGramTarget = element.attr('id'), 2152 instaGramUserId = element.attr('data-user'), 2153 instaGramTag = element.attr('data-tag'), 2154 instaGramLocation = element.attr('data-location'), 2155 instaGramCount = element.attr('data-count'), 2156 instaGramType = element.attr('data-type'), 2157 instaGramSortBy = element.attr('data-sortBy'), 2158 instaGramRes = element.attr('data-resolution'); 2159 2160 if( !instaGramCount ) { instaGramCount = 9; } 2161 if( !instaGramSortBy ) { instaGramSortBy = 'none'; } 2162 if( !instaGramRes ) { instaGramRes = 'thumbnail'; } 2163 2164 if( instaGramType == 'user' ) { 2165 2166 var feed = new Instafeed({ 2167 target: instaGramTarget, 2168 get: instaGramType, 2169 userId: Number(instaGramUserId), 2170 limit: Number(instaGramCount), 2171 sortBy: instaGramSortBy, 2172 resolution: instaGramRes, 2173 accessToken: c_accessToken, 2174 clientId: c_clientID 2175 });
2176 2177 } else if( instaGramType == 'tagged' ) { 2178 2179 var feed = new Instafeed({ 2180 target: instaGramTarget, 2181 get: instaGramType, 2182 tagName: instaGramTag, 2183 limit: Number(instaGramCount), 2184 sortBy: instaGramSortBy, 2185 resolution: instaGramRes, 2186 clientId: c_clientID 2187 }); 2188 2189 } else if( instaGramType == 'location' ) { 2190 2191 var feed = new Instafeed({ 2192 target: instaGramTarget, 2193 get: instaGramType, 2194 locationId: Number(instaGramUserId), 2195 limit: Number(instaGramCount), 2196 sortBy: instaGramSortBy, 2197 resolution: instaGramRes, 2198 clientId: c_clientID 2199 }); 2200 2201 } else { 2202 2203 var feed = new Instafeed({ 2204 target: instaGramTarget, 2205 get: 'popular', 2206 limit: Number(instaGramCount), 2207 sortBy: instaGramSortBy, 2208 resolution: instaGramRes, 2209 clientId: c_clientID 2210 }); 2211 2212 } 2213 2214 feed.run(); 2215 }); 2216 } 2217 }, 2218 2219 dribbbleShots: function(){ 2220 var $dribbbleShotsEl = $('.dribbble-shots'); 2221 if( $dribbbleShotsEl.length > 0 ){ 2222 $dribbbleShotsEl.each(function() { 2223 var element = $(this), 2224 dribbbleUsername = element.attr('data-user'), 2225 dribbbleCount = element.attr('data-count'), 2226 dribbbleList = element.attr('data-list'), 2227 dribbbleType = element.attr('data-type'); 2228 2229 if( !dribbbleCount ) { dribbbleCount = 9; } 2230 2231 if( dribbbleType == 'follows' ) { 2232 $.jribbble.getShotsThatPlayerFollows( dribbbleUsername , function (followedShots) { 2233 var html = []; 2234 $.each(followedShots.shots, function (i, shot) { 2235 html.push('<a href="' + shot.url + '" target="_blank">'); 2236 html.push('<img src="' + shot.image_teaser_url + '" '); 2237 html.push('alt="' + shot.title + '"></a>'); 2238 }); 2239 element.html(html.join('')); 2240 }, {page: 1, per_page: Number(dribbbleCount)}); 2241 } else if( dribbbleType == 'user' ) { 2242 $.jribbble.getShotsByPlayerId( dribbbleUsername , function (playerShots) { 2243 var html = []; 2244 $.each(playerShots.shots, function (i, shot) { 2245 html.push('<a href="' + shot.url + '" target="_blank">'); 2246 html.push('<img src="' + shot.image_teaser_url + '" '); 2247 html.push('alt="' + shot.title + '"></a>'); 2248 }); 2249 element.html(html.join('')); 2250 }, {page: 1, per_page: Number(dribbbleCount)}); 2251 } else if( dribbbleType == 'list' ) { 2252 $.jribbble.getShotsByList( dribbbleList , function (listDetails) { 2253 var html = []; 2254 $.each(listDetails.shots, function (i, shot) { 2255 html.push('<a href="' + shot.url + '" target="_blank">'); 2256 html.push('<img src="' + shot.image_teaser_url + '" '); 2257 html.push('alt="' + shot.title + '"></a>'); 2258 }); 2259 element.html(html.join('')); 2260 }, {page: 1, per_page: Number(dribbbleCount)}); 2261 } 2262 }); 2263 } 2264 }, 2265 2266 navTree: function(){ 2267 var $navTreeEl = $('.nav-tree'); 2268 if( $navTreeEl.length > 0 ){ 2269 $navTreeEl.each( function(){ 2270 var element = $(this), 2271 elementSpeed = element.attr('data-speed'), 2272 elementEasing = element.attr('data-easing'); 2273 2274 if( !elementSpeed ) { elementSpeed = 250; } 2275 if( !elementEasing ) { elementEasing = 'swing'; } 2276 2277 element.find( 'ul li:has(ul)' ).addClass('sub-menu'); 2278 element.find( 'ul li:has(ul) > a' ).append( ' <i class="icon-angle-down"></i>' ); 2279 2280 if( element.hasClass('on-hover') ){ 2281 element.find( 'ul li:has(ul):not(.active)' ).hover( function(e){ 2282 $(this).children('ul').stop(true, true).slideDown( Number(elementSpeed), elementEasing); 2283 }, function(){ 2284 $(this).children('ul').delay(250).slideUp( Number(elementSpeed), elementEasing); 2285 }); 2286 } else { 2287 element.find( 'ul li:has(ul) > a' ).click( function(e){ 2288 var childElement = $(this); 2289 element.find( 'ul li' ).not(childElement.parents()).removeClass('active'); 2290 childElement.parent().children('ul').slideToggle( Number(elementSpeed), elementEasing, function(){ 2291 $(this).find('ul').hide(); 2292 $(this).find('li.active').removeClass('active'); 2293 });
2294 element.find( 'ul li > ul' ).not(childElement.parent().children('ul')).not(childElement.parents('ul')).slideUp( Number(elementSpeed), elementEasing ); 2295 childElement.parent('li:has(ul)').toggleClass('active'); 2296 e.preventDefault(); 2297 }); 2298 } 2299 }); 2300 } 2301 }, 2302 2303 masonryThumbs: function(){ 2304 var $masonryThumbsEl = $('.masonry-thumbs'); 2305 if( $masonryThumbsEl.length > 0 ){ 2306 $masonryThumbsEl.each( function(){ 2307 var masonryItemContainer = $(this); 2308 SEMICOLON.widget.masonryThumbsArrange( masonryItemContainer ); 2309 }); 2310 } 2311 }, 2312 2313 masonryThumbsArrange: function( element ){ 2314 SEMICOLON.initialize.setFullColumnWidth( element ); 2315 element.isotope('layout'); 2316 }, 2317 2318 notifications: function( element ){ 2319 toastr.clear(); 2320 var notifyElement = $(element), 2321 notifyPosition = notifyElement.attr('data-notify-position'), 2322 notifyType = notifyElement.attr('data-notify-type'), 2323 notifyMsg = notifyElement.attr('data-notify-msg'), 2324 notifyCloseButton = notifyElement.attr('data-notify-close'); 2325 2326 if( !notifyPosition ) { notifyPosition = 'toast-top-right'; } else { notifyPosition = 'toast-' + notifyElement.attr('data-notify-position'); } 2327 if( !notifyMsg ) { notifyMsg = 'Please set a message!'; } 2328 if( notifyCloseButton == 'true' ) { notifyCloseButton = true; } else { notifyCloseButton = false; } 2329 2330 toastr.options.positionClass = notifyPosition; 2331 toastr.options.closeButton = notifyCloseButton; 2332 toastr.options.closeHtml = '<button><i class="icon-remove"></i></button>'; 2333 2334 if( notifyType == 'warning' ) { 2335 toastr.warning(notifyMsg); 2336 } else if( notifyType == 'error' ) { 2337 toastr.error(notifyMsg); 2338 } else if( notifyType == 'success' ) { 2339 toastr.success(notifyMsg); 2340 } else { 2341 toastr.info(notifyMsg); 2342 } 2343 2344 return false; 2345 }, 2346 2347 textRotater: function(){ 2348 if( $textRotaterEl.length > 0 ){ 2349 $textRotaterEl.each(function(){ 2350 var element = $(this), 2351 trRotate = $(this).attr('data-rotate'), 2352 trSpeed = $(this).attr('data-speed'), 2353 trSeparator = $(this).attr('data-separator'); 2354 2355 if( !trRotate ) { trRotate = "fade"; } 2356 if( !trSpeed ) { trSpeed = 1200; } 2357 if( !trSeparator ) { trSeparator = ","; } 2358 2359 var tRotater = $(this).find('.t-rotate'); 2360 2361 tRotater.Morphext({ 2362 animation: trRotate, 2363 separator: trSeparator, 2364 speed: Number(trSpeed) 2365 }); 2366 }); 2367 } 2368 }, 2369 2370 linkScroll: function(){ 2371 $("a[data-scrollto]").click(function(){ 2372 var element = $(this), 2373 divScrollToAnchor = element.attr('data-scrollto'), 2374 divScrollSpeed = element.attr('data-speed'), 2375 divScrollOffset = element.attr('data-offset'), 2376 divScrollEasing = element.attr('data-easing'), 2377 divScrollHighlight = element.attr('data-highlight'); 2378 2379 if( !divScrollSpeed ) { divScrollSpeed = 750; } 2380 if( !divScrollOffset ) { divScrollOffset = SEMICOLON.initialize.topScrollOffset(); } 2381 if( !divScrollEasing ) { divScrollEasing = 'easeOutQuad'; } 2382 2383 $('html,body').stop(true).animate({ 2384 'scrollTop': $( divScrollToAnchor ).offset().top - Number(divScrollOffset) 2385 }, Number(divScrollSpeed), divScrollEasing, function(){ 2386 if( divScrollHighlight != '' ) { 2387 if( $(divScrollToAnchor).find('.highlight-me').length > 0 ) { 2388 $(divScrollToAnchor).find('.highlight-me').animate({'backgroundColor': divScrollHighlight}, 300); 2389 var t = setTimeout( function(){ $(divScrollToAnchor).find('.highlight-me').animate({'backgroundColor': 'transparent'}, 300); }, 500 ); 2390 } else { 2391 $(divScrollToAnchor).animate({'backgroundColor': divScrollHighlight}, 300); 2392 var t = setTimeout( function(){ $(divScrollToAnchor).animate({'backgroundColor': 'transparent'}, 300); }, 500 ); 2393 } 2394 } 2395 }); 2396 2397 return false; 2398 }); 2399 }, 2400 2401 extras: function(){ 2402 $('[data-toggle="tooltip"]').tooltip({container: 'body'}); 2403 $('#primary-menu-trigger,#overlay-menu-close').click(function() { 2404 $( '#primary-menu > ul, #primary-menu > div > ul' ).toggleClass("show"); 2405 return false; 2406 }); 2407 $('#page-submenu-trigger').click(function() { 2408 $body.toggleClass('top-search-open', false); 2409 $pagemenu.toggleClass("pagemenu-active"); 2410 return false; 2411 }); 2412 $pagemenu.find('nav').click(function(e){
2413 $body.toggleClass('top-search-open', false); 2414 $topCart.toggleClass('top-cart-open', false); 2415 }); 2416 if( SEMICOLON.isMobile.any() ){ 2417 $body.addClass('device-touch'); 2418 } 2419 // var el = { 2420 // darkLogo : $("<img>", {src: defaultDarkLogo}), 2421 // darkRetinaLogo : $("<img>", {src: retinaDarkLogo}) 2422 // }; 2423 // el.darkLogo.prependTo("body"); 2424 // el.darkRetinaLogo.prependTo("body"); 2425 // el.darkLogo.css({'position':'absolute','z-index':'-100'}); 2426 // el.darkRetinaLogo.css({'position':'absolute','z-index':'-100'}); 2427 } 2428 2429 }; 2430 2431 SEMICOLON.isMobile = { 2432 Android: function() { 2433 return navigator.userAgent.match(/Android/i); 2434 }, 2435 BlackBerry: function() { 2436 return navigator.userAgent.match(/BlackBerry/i); 2437 }, 2438 iOS: function() { 2439 return navigator.userAgent.match(/iPhone|iPad|iPod/i); 2440 }, 2441 Opera: function() { 2442 return navigator.userAgent.match(/Opera Mini/i); 2443 }, 2444 Windows: function() { 2445 return navigator.userAgent.match(/IEMobile/i); 2446 }, 2447 any: function() { 2448 return (SEMICOLON.isMobile.Android() || SEMICOLON.isMobile.BlackBerry() || SEMICOLON.isMobile.iOS() || SEMICOLON.isMobile.Opera() || SEMICOLON.isMobile.Windows()); 2449 } 2450 }; 2451 2452 SEMICOLON.documentOnResize = { 2453 2454 init: function(){ 2455 2456 var t = setTimeout( function(){ 2457 SEMICOLON.header.topsocial(); 2458 SEMICOLON.header.fullWidthMenu(); 2459 SEMICOLON.header.overlayMenu(); 2460 SEMICOLON.initialize.fullScreen(); 2461 SEMICOLON.initialize.verticalMiddle(); 2462 SEMICOLON.initialize.maxHeight(); 2463 SEMICOLON.initialize.testimonialsGrid(); 2464 SEMICOLON.initialize.stickyFooter(); 2465 SEMICOLON.slider.captionPosition(); 2466 SEMICOLON.portfolio.arrange(); 2467 SEMICOLON.portfolio.portfolioDescMargin(); 2468 SEMICOLON.widget.tabsJustify(); 2469 SEMICOLON.widget.html5Video(); 2470 SEMICOLON.widget.masonryThumbs(); 2471 SEMICOLON.initialize.dataResponsiveClasses(); 2472 SEMICOLON.initialize.dataResponsiveHeights(); 2473 }, 500 ); 2474 2475 } 2476 2477 }; 2478 2479 SEMICOLON.documentOnReady = { 2480 2481 init: function(){ 2482 SEMICOLON.initialize.init(); 2483 SEMICOLON.header.init(); 2484 if( $slider.length > 0 ) { SEMICOLON.slider.init(); } 2485 if( $portfolio.length > 0 ) { SEMICOLON.portfolio.init(); } 2486 SEMICOLON.widget.init(); 2487 SEMICOLON.documentOnReady.windowscroll(); 2488 }, 2489 2490 windowscroll: function(){ 2491 2492 var headerOffset = 0; 2493 var headerWrapOffset = 0; 2494 2495 if( $header.length > 0 ) { headerOffset = $header.offset().top; } 2496 if( $header.length > 0 ) { headerWrapOffset = $headerWrap.offset().top; } 2497 2498 var headerDefinedOffset = $header.attr('data-sticky-offset'); 2499 if( typeof headerDefinedOffset !== 'undefined' ) { 2500 if( headerDefinedOffset == 'full' ) { 2501 headerWrapOffset = $window.height(); 2502 var headerOffsetNegative = $header.attr('data-sticky-offset-negative'); 2503 if( typeof headerOffsetNegative !== 'undefined' ) { headerWrapOffset = headerWrapOffset - headerOffsetNegative - 1; } 2504 } else { 2505 headerWrapOffset = Number(headerDefinedOffset); 2506 } 2507 } 2508 2509 $window.on( 'scroll', function(){ 2510 2511 SEMICOLON.initialize.goToTopScroll(); 2512 $('body.open-header.close-header-on-scroll').removeClass("side-header-open"); 2513 SEMICOLON.header.stickyMenu( headerWrapOffset ); 2514 SEMICOLON.header.logo(); 2515 2516 }); 2517 2518 window.addEventListener('scroll', onScrollSliderParallax, false); 2519 2520 if( $onePageMenuEl.length > 0 ){ 2521 $window.scrolled(function() { 2522 SEMICOLON.header.onepageScroller(); 2523 }); 2524 } 2525 } 2526 2527 }; 2528 2529 SEMICOLON.documentOnLoad = { 2530 2531 init: function(){ 2532 SEMICOLON.slider.captionPosition(); 2533 SEMICOLON.slider.swiperSliderMenu(true); 2534 SEMICOLON.slider.revolutionSliderMenu(true); 2535 SEMICOLON.initialize.maxHeight(); 2536 SEMICOLON.initialize.testimonialsGrid(); 2537 SEMICOLON.initialize.verticalMiddle(); 2538 SEMICOLON.initialize.stickFooterOnSmall(); 2539 SEMICOLON.initialize.stickyFooter(); 2540 SEMICOLON.portfolio.portfolioDescMargin(); 2541 SEMICOLON.portfolio.arrange(); 2542 SEMICOLON.widget.parallax(); 2543 SEMICOLON.widget.loadFlexSlider(); 2544 SEMICOLON.widget.html5Video(); 2545 SEMICOLON.widget.masonryThumbs(); 2546 SEMICOLON.slider.owlCaptionInit(); 2547 SEMICOLON.header.topsocial(); 2548 SEMICOLON.header.responsiveMenuClass(); 2549 SEMICOLON.initialize.modal(); 2550 } 2551 2552 }; 2553 2554 var $window = $(window), 2555 $body = $('body'), 2556 $wrapper = $('#wrapper'), 2557 $header = $('#header'), 2558 $headerWrap = $('#header-wrap'), 2559 $content = $('#content'), 2560 $footer = $('#footer'), 2561 oldHeaderClasses = $header.attr('class'), 2562 oldHeaderWrapClasses = $headerWrap.attr('class'), 2563 stickyMenuClasses = $header.attr('data-sticky-class'), 2564 responsiveMenuClasses = $header.attr('data-responsive-class'), 2565 defaultLogo = $('#logo').find('.standard-logo'), 2566 defaultLogoWidth = defaultLogo.find('img').outerWidth(), 2567 retinaLogo = $('#logo').find('.retina-logo'), 2568 defaultLogoImg = defaultLogo.find('img').attr('src'), 2569 retinaLogoImg = retinaLogo.find('img').attr('src'),
2570 defaultDarkLogo = defaultLogo.attr('data-dark-logo'), 2571 retinaDarkLogo = retinaLogo.attr('data-dark-logo'), 2572 defaultStickyLogo = defaultLogo.attr('data-sticky-logo'), 2573 retinaStickyLogo = retinaLogo.attr('data-sticky-logo'), 2574 defaultMobileLogo = defaultLogo.attr('data-mobile-logo'), 2575 retinaMobileLogo = retinaLogo.attr('data-mobile-logo'), 2576 $pagemenu = $('#page-menu'), 2577 $onePageMenuEl = $('.one-page-menu'), 2578 onePageGlobalOffset = 0, 2579 $portfolio = $('#portfolio'), 2580 $slider = $('#slider'), 2581 $sliderParallaxEl = $('.slider-parallax'), 2582 $pageTitle = $('#page-title'), 2583 $portfolioItems = $('.portfolio-ajax').find('.portfolio-item'), 2584 $portfolioDetails = $('#portfolio-ajax-wrap'), 2585 $portfolioDetailsContainer = $('#portfolio-ajax-container'), 2586 $portfolioAjaxLoader = $('#portfolio-ajax-loader'), 2587 prevPostPortId = '', 2588 $topSearch = $('#top-search'), 2589 $topCart = $('#top-cart'), 2590 $verticalMiddleEl = $('.vertical-middle'), 2591 $topSocialEl = $('#top-social').find('li'), 2592 $siStickyEl = $('.si-sticky'), 2593 $dotsMenuEl = $('.dots-menu'), 2594 $goToTopEl = $('#gotoTop'), 2595 $fullScreenEl = $('.full-screen'), 2596 $commonHeightEl = $('.common-height'), 2597 $testimonialsGridEl = $('.testimonials-grid'), 2598 $pageSectionEl = $('.page-section'), 2599 $owlCarouselEl = $('.owl-carousel'), 2600 $parallaxEl = $('.parallax'), 2601 $parallaxPageTitleEl = $('.page-title-parallax'), 2602 $parallaxPortfolioEl = $('.portfolio-parallax').find('.portfolio-image'), 2603 $youtubeBgPlayerEl = $('.yt-bg-player'), 2604 $textRotaterEl = $('.text-rotater'); 2605 2606 $(document).ready( SEMICOLON.documentOnReady.init ); 2607 $window.load( SEMICOLON.documentOnLoad.init ); 2608 $window.on( 'resize', SEMICOLON.documentOnResize.init ); 2609 2610})(jQuery);
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.