jQuery(document).ready(function($){
/*** Lightbox ***/
(function() {
try{
$('.magnific-pop').magnificPopup({
type:'image'
});
} catch (ignore) {}
})();
});
/*** Global template functionalities ***/
(function() {
var slides_selector = '.cycloneslider-template-dark .cycloneslider-slides';
slides_selector += ',.cycloneslider-template-default .cycloneslider-slides';
slides_selector += ',.cycloneslider-template-standard .cycloneslider-slides';
slides_selector += ',.cycloneslider-template-thumbnails .cycloneslider-slides';
slides_selector += ',.cycloneslider-template-galleria .cycloneslider-slides';
slides_selector += ',.cycloneslider-template-text .cycloneslider-slides';
slides_selector += ',.cycloneslider-template-dos .cycloneslider-slides';
jQuery(document).on('cycle-before', slides_selector, function( event, optionHash, outgoingSlideEl, incomingSlideEl, forwardFlag ) {
var slide = jQuery( outgoingSlideEl ), /* Current slide */
curHeight = 0,
nextHeight = 0;
/* Autoheight when dynamic height is on */
/* Using getBoundingClientRect() instead of jQuery's outerHeight() for more accurate reading (floating point values) */
if( "on" == optionHash.dynamicHeight ) {
curHeight = jQuery(outgoingSlideEl)[0].getBoundingClientRect().height;
if ( undefined == curHeight || 0 == curHeight ) { /* IE8 returns undefined so we use outerHeight as fallback. Also works for older templates! */
curHeight = jQuery(outgoingSlideEl).outerHeight();
}
nextHeight = jQuery(incomingSlideEl)[0].getBoundingClientRect().height;
if ( undefined == nextHeight || 0 == nextHeight ) { /* IE8 returns undefined so we use outerHeight as fallback. Also works for older templates! */
nextHeight = jQuery(incomingSlideEl).outerHeight();
}
if ( nextHeight != curHeight ) jQuery(this).animate({height:nextHeight}, optionHash.autoHeightSpeed, optionHash.autoHeightEasing);
}
if(slide.hasClass('cycloneslider-slide-youtube')) pauseYoutube( slide ); /* Pause youtube video on next */
if(slide.hasClass('cycloneslider-slide-vimeo')) pauseVimeo( slide ); /* Pause vimeo video on next */
});
jQuery(document).on('cycle-initialized cycle-after', slides_selector, function( event, optionHash, outgoingSlideEl, incomingSlideEl, forwardFlag ) {
var index = (event.type == 'cycle-initialized') ? optionHash.currSlide : optionHash.nextSlide;
var slide = jQuery( optionHash.slides[ index ] ); /* Current slide */
/* Make sure current slide has the highest z-index.
Fix for issue when previous slides appear on top of the current slide due to cycle's weird z-index assigments */
if( false == optionHash.hideNonActive ) slide.css('zIndex', parseInt(slide.css('zIndex'))+20);
});
function pauseYoutube( slide ){
var data = {
"event": "command",
"func": "pauseVideo",
"args": [],
"id": ""
}
postMessage( slide.find('iframe'), data, '*');
}
function pauseVimeo( slide ){
postMessage( slide.find('iframe'), {method:'pause'}, slide.find('iframe').attr('src'));
}
function postMessage(iframe, data, url){
try{
if (iframe[0]) { // Frame exists
iframe[0].contentWindow.postMessage(JSON.stringify(data), url);
}
} catch (ignore) {}
}
})();