/**************************************************************************
* jquery.themepunch.revolution.js - jQuery Plugin for Revolution Slider
* @version: 5.2.5.3 (30.05.2016)
* @requires jQuery v1.7 or later (tested on 1.9)
* @author ThemePunch
**************************************************************************/
(function(jQuery,undefined){
"use strict";
jQuery.fn.extend({
revolution: function(options) {
// SET DEFAULT VALUES OF ITEM //
var defaults = {
delay:9000,
responsiveLevels:4064, // Single or Array for Responsive Levels i.e.: 4064 or i.e. [2048, 1024, 768, 480]
visibilityLevels:[2048,1024,778,480], // Single or Array for Responsive Visibility Levels i.e.: 4064 or i.e. [2048, 1024, 768, 480]
gridwidth:960, // Single or Array i.e. 960 or [960, 840,760,460]
gridheight:500, // Single or Array i.e. 500 or [500, 450,400,350]
minHeight:0,
autoHeight:"off",
sliderType : "standard", // standard, carousel, hero
sliderLayout : "auto", // auto, fullwidth, fullscreen
fullScreenAutoWidth:"off", // Turns the FullScreen Slider to be a FullHeight but auto Width Slider
fullScreenAlignForce:"off",
fullScreenOffsetContainer:"", // Size for FullScreen Slider minimising Calculated on the Container sizes
fullScreenOffset:"0", // Size for FullScreen Slider minimising
hideCaptionAtLimit:0, // It Defines if a caption should be shown under a Screen Resolution ( Basod on The Width of Browser)
hideAllCaptionAtLimit:0, // Hide all The Captions if Width of Browser is less then this value
hideSliderAtLimit:0, // Hide the whole slider, and stop also functions if Width of Browser is less than this value
disableProgressBar:"off", // Hides Progress Bar if is set to "on"
stopAtSlide:-1, // Stop Timer if Slide "x" has been Reached. If stopAfterLoops set to 0, then it stops already in the first Loop at slide X which defined. -1 means do not stop at any slide. stopAfterLoops has no sinn in this case.
stopAfterLoops:-1, // Stop Timer if All slides has been played "x" times. IT will stop at THe slide which is defined via stopAtSlide:x, if set to -1 slide never stop automatic
shadow:0, //0 = no Shadow, 1,2,3 = 3 Different Art of Shadows (No Shadow in Fullwidth Version !)
dottedOverlay:"none", //twoxtwo, threexthree, twoxtwowhite, threexthreewhite
startDelay:0, // Delay before the first Animation starts.
lazyType : "smart", //full, smart, single
spinner:"spinner0",
shuffle:"off", // Random Order of Slides,
viewPort:{
enable:false, // if enabled, slider wait with start or wait at first slide.
outof:"wait", // wait,pause
visible_area:"60%"
},
fallbacks:{
isJoomla:false,
panZoomDisableOnMobile:"off",
simplifyAll:"on",
nextSlideOnWindowFocus:"off",
disableFocusListener:true,
ignoreHeightChanges:"off", // off, mobile, always
ignoreHeightChangesSize:0
},
parallax : {
type : "off", // off, mouse, scroll, mouse+scroll
levels: [10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85],
origo:"enterpoint", // slidercenter or enterpoint
speed:400,
bgparallax : "off",
opacity:"on",
disable_onmobile:"off",
ddd_shadow:"on",
ddd_bgfreeze:"off",
ddd_overflow:"visible",
ddd_layer_overflow:"visible",
ddd_z_correction:65,
ddd_path:"mouse"
},
carousel : {
horizontal_align : "center",
vertical_align : "center",
infinity : "on",
space : 0,
maxVisibleItems : 3,
stretch:"off",
fadeout:"on",
maxRotation:0,
minScale:0,
vary_fade:"off",
vary_rotation:"on",
vary_scale:"off",
border_radius:"0px",
padding_top:0,
padding_bottom:0
},
navigation : {
keyboardNavigation:"off",
keyboard_direction:"horizontal", // horizontal - left/right arrows, vertical - top/bottom arrows
mouseScrollNavigation:"off", // on, off, carousel
onHoverStop:"on", // Stop Banner Timet at Hover on Slide on/off
touch:{
touchenabled:"off", // Enable Swipe Function : on/off
swipe_treshold : 75, // The number of pixels that the user must move their finger by before it is considered a swipe.
swipe_min_touches : 1, // Min Finger (touch) used for swipe
drag_block_vertical:false, // Prevent Vertical Scroll during Swipe
swipe_direction:"horizontal"
},
arrows: {
style:"",
enable:false,
hide_onmobile:false,
hide_onleave:true,
hide_delay:200,
hide_delay_mobile:1200,
hide_under:0,
hide_over:9999,
tmp:'',
rtl:false,
left : {
h_align:"left",
v_align:"center",
h_offset:20,
v_offset:0,
container:"slider",
},
right : {
h_align:"right",
v_align:"center",
h_offset:20,
v_offset:0,
container:"slider",
}
},
bullets: {
container:"slider",
rtl:false,
style:"",
enable:false,
hide_onmobile:false,
hide_onleave:true,
hide_delay:200,
hide_delay_mobile:1200,
hide_under:0,
hide_over:9999,
direction:"horizontal",
h_align:"left",
v_align:"center",
space:0,
h_offset:20,
v_offset:0,
tmp:''
},
thumbnails: {
container:"slider",
rtl:false,
style:"",
enable:false,
width:100,
height:50,
min_width:100,
wrapper_padding:2,
wrapper_color:"#f5f5f5",
wrapper_opacity:1,
tmp:'',
visibleAmount:5,
hide_onmobile:false,
hide_onleave:true,
hide_delay:200,
hide_delay_mobile:1200,
hide_under:0,
hide_over:9999,
direction:"horizontal",
span:false,
position:"inner",
space:2,
h_align:"left",
v_align:"center",
h_offset:20,
v_offset:0
},
tabs: {
container:"slider",
rtl:false,
style:"",
enable:false,
width:100,
min_width:100,
height:50,
wrapper_padding:10,
wrapper_color:"#f5f5f5",
wrapper_opacity:1,
tmp:'',
visibleAmount:5,
hide_onmobile:false,
hide_onleave:true,
hide_delay:200,
hide_delay_mobile:1200,
hide_under:0,
hide_over:9999,
direction:"horizontal",
span:false,
space:0,
position:"inner",
h_align:"left",
v_align:"center",
h_offset:20,
v_offset:0
}
},
extensions:"extensions/", //example extensions/ or extensions/source/
extensions_suffix:".min.js",
//addons:[{fileprefix:"revolution.addon.whiteboard",init:"initWhiteBoard",params:"opt",handel:"whiteboard"}],
debugMode:false
};
// Merge of Defaults
options = jQuery.extend(true,{},defaults, options);
return this.each(function() {
var c = jQuery(this);
// Prepare maxHeight
options.minHeight = options.minHeight!=undefined ? parseInt(options.minHeight,0) : options.minHeight;
//REMOVE SLIDES IF SLIDER IS HERO
if (options.sliderType=="hero") {
c.find('>ul>li').each(function(i) {
if (i>0) jQuery(this).remove();
})
}
options.jsFileLocation = options.jsFileLocation || getScriptLocation("themepunch.revolution.min.js");
options.jsFileLocation = options.jsFileLocation + options.extensions;
options.scriptsneeded = getNeededScripts(options,c);
options.curWinRange = 0;
options.rtl = true; //jQuery('body').hasClass("rtl");
if (options.navigation!=undefined && options.navigation.touch!=undefined)
options.navigation.touch.swipe_min_touches = options.navigation.touch.swipe_min_touches >5 ? 1 : options.navigation.touch.swipe_min_touches;
jQuery(this).on("scriptsloaded",function() {
if (options.modulesfailing ) {
c.html('
!! Error at loading Slider Revolution 5.0 Extrensions.'+options.errorm+'
').show();
return false;
}
// CHECK FOR MIGRATION
if (_R.migration!=undefined) options = _R.migration(c,options);
punchgs.force3D = true;
if (options.simplifyAll!=="on") punchgs.TweenLite.lagSmoothing(1000,16);
prepareOptions(c,options);
initSlider(c,options);
});
c.data('opt',options);
waitForScripts(c,options);
})
},
// Remove a Slide from the Slider
revremoveslide : function(sindex) {
return this.each(function() {
var container=jQuery(this);
if (container!=undefined && container.length>0 && jQuery('body').find('#'+container.attr('id')).length>0) {
var bt = container.parent().find('.tp-bannertimer'),
opt = bt.data('opt');
if (opt && opt.li.length>0) {
if (sindex>0 || sindex<=opt.li.length) {
var li = jQuery(opt.li[sindex]),
ref = li.data("index"),
nextslideafter = false;
opt.slideamount = opt.slideamount-1;
removeNavWithLiref('.tp-bullet',ref,opt);
removeNavWithLiref('.tp-tab',ref,opt);
removeNavWithLiref('.tp-thumb',ref,opt);
if (li.hasClass('active-revslide'))
nextslideafter = true;
li.remove();
opt.li = removeArray(opt.li,sindex);
if (opt.carousel && opt.carousel.slides)
opt.carousel.slides = removeArray(opt.carousel.slides,sindex)
opt.thumbs = removeArray(opt.thumbs,sindex);
if (_R.updateNavIndexes) _R.updateNavIndexes(opt);
if (nextslideafter) container.revnext();
punchgs.TweenLite.set(opt.li,{minWidth:"99%"});
punchgs.TweenLite.set(opt.li,{minWidth:"100%"});
}
}
}
});
},
// Add a New Call Back to some Module
revaddcallback: function(callback) {
return this.each(function() {
var container=jQuery(this);
if (container!=undefined && container.length>0 && jQuery('body').find('#'+container.attr('id')).length>0) {
var bt = container.parent().find('.tp-bannertimer'),
opt = bt.data('opt');
if (opt.callBackArray === undefined)
opt.callBackArray = new Array();
opt.callBackArray.push(callback);
}
})
},
// Get Current Parallax Proc
revgetparallaxproc : function() {
var container=jQuery(this);
if (container!=undefined && container.length>0 && jQuery('body').find('#'+container.attr('id')).length>0) {
var bt = container.parent().find('.tp-bannertimer'),
opt = bt.data('opt');
return opt.scrollproc;
}
},
// ENABLE DEBUG MODE
revdebugmode: function() {
return this.each(function() {
var container=jQuery(this);
if (container!=undefined && container.length>0 && jQuery('body').find('#'+container.attr('id')).length>0) {
var bt = container.parent().find('.tp-bannertimer'),
opt = bt.data('opt');
opt.debugMode = true;
containerResized(container,opt);
}
})
},
// METHODE SCROLL
revscroll: function(oy) {
return this.each(function() {
var container=jQuery(this);
if (container!=undefined && container.length>0 && jQuery('body').find('#'+container.attr('id')).length>0)
jQuery('body,html').animate({scrollTop:(container.offset().top+(container.height())-oy)+"px"},{duration:400});
})
},
// METHODE PAUSE
revredraw: function(oy) {
return this.each(function() {
var container=jQuery(this);
if (container!=undefined && container.length>0 && jQuery('body').find('#'+container.attr('id')).length>0) {
var bt = container.parent().find('.tp-bannertimer');
var opt = bt.data('opt');
containerResized(container,opt);
}
})
},
// METHODE PAUSE
revkill: function(oy) {
var self = this,
container=jQuery(this);
punchgs.TweenLite.killDelayedCallsTo(_R.showHideNavElements);
if (_R.endMoveCaption)
if (opt.endtimeouts && opt.endtimeouts.length>0)
jQuery.each(opt.endtimeouts,function(i,timeo) { clearTimeout(timeo);});
//punchgs.TweenLite.killDelayedCallsTo(_R.endMoveCaption);
if (container!=undefined && container.length>0 && jQuery('body').find('#'+container.attr('id')).length>0) {
container.data('conthover',1);
container.data('conthover-changed',1);
container.trigger('revolution.slide.onpause');
var bt = container.parent().find('.tp-bannertimer'),
opt = bt.data('opt');
opt.tonpause = true;
container.trigger('stoptimer');
punchgs.TweenLite.killTweensOf(container.find('*'),false);
punchgs.TweenLite.killTweensOf(container,false);
container.unbind('hover, mouseover, mouseenter,mouseleave, resize');
var resizid = "resize.revslider-"+container.attr('id');
jQuery(window).off(resizid);
container.find('*').each(function() {
var el = jQuery(this);
el.unbind('on, hover, mouseenter,mouseleave,mouseover, resize,restarttimer, stoptimer');
el.off('on, hover, mouseenter,mouseleave,mouseover, resize');
el.data('mySplitText',null);
el.data('ctl',null);
if (el.data('tween')!=undefined)
el.data('tween').kill();
if (el.data('kenburn')!=undefined)
el.data('kenburn').kill();
if (el.data('timeline_out')!=undefined)
el.data('timeline_out').kill();
if (el.data('timeline')!=undefined)
el.data('timeline').kill();
el.remove();
el.empty();
el=null;
})
punchgs.TweenLite.killTweensOf(container.find('*'),false);
punchgs.TweenLite.killTweensOf(container,false);
bt.remove();
try{container.closest('.forcefullwidth_wrapper_tp_banner').remove();} catch(e) {}
try{container.closest('.rev_slider_wrapper').remove()} catch(e) {}
try{container.remove();} catch(e) {}
container.empty();
container.html();
container = null;
opt = null;
delete(self.c);
delete(self.opt);
return true;
} else {
return false;
}
},
// METHODE PAUSE
revpause: function() {
return this.each(function() {
var c=jQuery(this);
if (c!=undefined && c.length>0 && jQuery('body').find('#'+c.attr('id')).length>0) {
c.data('conthover',1);
c.data('conthover-changed',1);
c.trigger('revolution.slide.onpause');
var bt = c.parent().find('.tp-bannertimer');
var opt = bt.data('opt');
opt.tonpause = true;
c.trigger('stoptimer');
}
})
},
// METHODE RESUME
revresume: function() {
return this.each(function() {
var c=jQuery(this);
if (c!=undefined && c.length>0 && jQuery('body').find('#'+c.attr('id')).length>0) {
c.data('conthover',0);
c.data('conthover-changed',1);
c.trigger('revolution.slide.onresume');
var bt = c.parent().find('.tp-bannertimer');
var opt = bt.data('opt');
opt.tonpause = false;
c.trigger('starttimer');
}
})
},
revstart: function() {
//return this.each(function() {
var c=jQuery(this);
if (c!=undefined && c.length>0 && jQuery('body').find('#'+c.attr('id')).length>0 && c.data('opt')) {
if (!c.data('opt')["sliderisrunning"]) {
runSlider(c,c.data('opt'));
return true;
}
else {
console.log("Slider Is Running Already");
return false;
}
}
//})
},
// METHODE NEXT
revnext: function() {
return this.each(function() {
// CATCH THE CONTAINER
var c=jQuery(this);
if (c!=undefined && c.length>0 && jQuery('body').find('#'+c.attr('id')).length>0) {
var bt = c.parent().find('.tp-bannertimer'),
opt = bt.data('opt');
_R.callingNewSlide(opt,c,1);
}
})
},
// METHODE RESUME
revprev: function() {
return this.each(function() {
// CATCH THE CONTAINER
var c=jQuery(this);
if (c!=undefined && c.length>0 && jQuery('body').find('#'+c.attr('id')).length>0) {
var bt = c.parent().find('.tp-bannertimer'),
opt = bt.data('opt');
_R.callingNewSlide(opt,c,-1);
}
})
},
// METHODE LENGTH
revmaxslide: function() {
// CATCH THE CONTAINER
return jQuery(this).find('.tp-revslider-mainul >li').length;
},
// METHODE CURRENT
revcurrentslide: function() {
// CATCH THE CONTAINER
var c=jQuery(this);
if (c!=undefined && c.length>0 && jQuery('body').find('#'+c.attr('id')).length>0) {
var bt = c.parent().find('.tp-bannertimer');
var opt = bt.data('opt');
return parseInt(opt.act,0)+1;
}
},
// METHODE CURRENT
revlastslide: function() {
// CATCH THE CONTAINER
return jQuery(this).find('.tp-revslider-mainul >li').length;
},
// METHODE JUMP TO SLIDE
revshowslide: function(slide) {
return this.each(function() {
// CATCH THE CONTAINER
var c=jQuery(this);
if (c!=undefined && c.length>0 && jQuery('body').find('#'+c.attr('id')).length>0) {
var bt = c.parent().find('.tp-bannertimer'),
opt = bt.data('opt');
_R.callingNewSlide(opt,c,"to"+(slide-1));
}
})
},
revcallslidewithid: function(slide) {
return this.each(function() {
// CATCH THE CONTAINER
var c=jQuery(this);
if (c!=undefined && c.length>0 && jQuery('body').find('#'+c.attr('id')).length>0) {
var bt = c.parent().find('.tp-bannertimer'),
opt = bt.data('opt');
_R.callingNewSlide(opt,c,slide);
}
})
}
});
//////////////////////////////////////////////////////////////
// - REVOLUTION FUNCTION EXTENSIONS FOR GLOBAL USAGE - //
//////////////////////////////////////////////////////////////
var _R = jQuery.fn.revolution;
jQuery.extend(true, _R, {
simp : function(a,b,basic) {
var c = Math.abs(a) - (Math.floor(Math.abs(a / b))*b);
if (basic)
return c;
else
return a<0 ? -1*c : c;
},
// - IS IOS VERSION OLDER THAN 5 ??
iOSVersion : function() {
var oldios = false;
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {
if (navigator.userAgent.match(/OS 4_\d like Mac OS X/i)) {
oldios = true;
}
} else {
oldios = false;
}
return oldios;
},
// - CHECK IF BROWSER IS IE -
isIE : function( version, comparison ){
var $div = jQuery('').appendTo(jQuery('body'));
$div.html('');
var ieTest = $div.find('a').length;
$div.remove();
return ieTest;
},
// - IS MOBILE ??
is_mobile : function() {
var agents = ['android', 'webos', 'iphone', 'ipad', 'blackberry','Android', 'webos', ,'iPod', 'iPhone', 'iPad', 'Blackberry', 'BlackBerry'];
var ismobile=false;
for(var i in agents) {
if (navigator.userAgent.split(agents[i]).length>1) {
ismobile = true;
}
}
return ismobile;
},
// - CALL BACK HANDLINGS - //
callBackHandling : function(opt,type,position) {
try{
if (opt.callBackArray)
jQuery.each(opt.callBackArray,function(i,c) {
if (c) {
if (c.inmodule && c.inmodule === type)
if (c.atposition && c.atposition === position)
if (c.callback)
c.callback.call();
}
});
} catch(e) {
console.log("Call Back Failed");
}
},
get_browser : function(){
var N=navigator.appName, ua=navigator.userAgent, tem;
var M=ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);
if(M && (tem= ua.match(/version\/([\.\d]+)/i))!= null) M[2]= tem[1];
M=M? [M[1], M[2]]: [N, navigator.appVersion, '-?'];
return M[0];
},
get_browser_version : function(){
var N=navigator.appName, ua=navigator.userAgent, tem;
var M=ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);
if(M && (tem= ua.match(/version\/([\.\d]+)/i))!= null) M[2]= tem[1];
M=M? [M[1], M[2]]: [N, navigator.appVersion, '-?'];
return M[1];
},
// GET THE HORIZONTAL OFFSET OF SLIDER BASED ON THE THU`MBNAIL AND TABS LEFT AND RIGHT SIDE
getHorizontalOffset : function(container,side) {
var thumbloff = gWiderOut(container,'.outer-left'),
thumbroff = gWiderOut(container,'.outer-right');
switch (side) {
case "left":
return thumbloff;
break;
case "right":
return thumbroff;
break;
case "both":
return thumbloff+thumbroff;
break;
}
},
// - CALLING THE NEW SLIDE - //
callingNewSlide : function(opt,container,direction) {
var aindex = container.find('.next-revslide').length>0 ? container.find('.next-revslide').index() : container.find('.processing-revslide').length>0 ? container.find('.processing-revslide').index() : container.find('.active-revslide').index(),
nindex = 0;
container.find('.next-revslide').removeClass("next-revslide");
// IF WE ARE ON AN INVISIBLE SLIDE CURRENTLY
if (container.find('.active-revslide').hasClass("tp-invisible-slide"))
aindex = opt.last_shown_slide;
// SET NEXT DIRECTION
if (direction && jQuery.isNumeric(direction) || direction.match(/to/g)) {
if (direction===1 || direction === -1) {
nindex = aindex + direction;
nindex = nindex<0 ? opt.slideamount-1 : nindex>=opt.slideamount ? 0 : nindex;
} else {
direction=jQuery.isNumeric(direction) ? direction : parseInt(direction.split("to")[1],0);
nindex = direction<0 ? 0 : direction>opt.slideamount-1 ? opt.slideamount-1 : direction;
}
container.find('.tp-revslider-slidesli:eq('+nindex+')').addClass("next-revslide");
} else
if (direction) {
container.find('.tp-revslider-slidesli').each(function() {
var li=jQuery(this);
if (li.data('index')===direction) li.addClass("next-revslide");
})
}
nindex = container.find('.next-revslide').index();
container.trigger("revolution.nextslide.waiting");
if ((aindex===nindex && aindex === opt.last_shown_slide) || (nindex !== aindex && nindex!=-1))
swapSlide(container,opt);
else
container.find('.next-revslide').removeClass("next-revslide");
},
slotSize : function(img,opt) {
opt.slotw=Math.ceil(opt.width/opt.slots);
if (opt.sliderLayout=="fullscreen")
opt.sloth=Math.ceil(jQuery(window).height()/opt.slots);
else
opt.sloth=Math.ceil(opt.height/opt.slots);
if (opt.autoHeight=="on" && img!==undefined && img!=="")
opt.sloth=Math.ceil(img.height()/opt.slots);
},
setSize : function(opt) {
var ofh = (opt.top_outer || 0) + (opt.bottom_outer || 0),
cpt = parseInt((opt.carousel.padding_top||0),0),
cpb = parseInt((opt.carousel.padding_bottom||0),0),
maxhei = opt.gridheight[opt.curWinRange];
opt.paddings = opt.paddings === undefined ? {top:(parseInt(opt.c.parent().css("paddingTop"),0) || 0), bottom:(parseInt(opt.c.parent().css("paddingBottom"),0) || 0)} : opt.paddings;
maxhei = maxheiopt.gridheight[opt.curWinRange] && opt.autoHeight!="on") opt.height=opt.gridheight[opt.curWinRange];
if (opt.sliderLayout=="fullscreen" || opt.infullscreenmode) {
opt.height = opt.bw * opt.gridheight[opt.curWinRange];
var cow = opt.c.parent().width();
var coh = jQuery(window).height();
if (opt.fullScreenOffsetContainer!=undefined) {
try{
var offcontainers = opt.fullScreenOffsetContainer.split(",");
if (offcontainers)
jQuery.each(offcontainers,function(index,searchedcont) {
coh = jQuery(searchedcont).length>0 ? coh - jQuery(searchedcont).outerHeight(true) : coh;
});
} catch(e) {}
try{
if (opt.fullScreenOffset.split("%").length>1 && opt.fullScreenOffset!=undefined && opt.fullScreenOffset.length>0)
coh = coh - (jQuery(window).height()* parseInt(opt.fullScreenOffset,0)/100);
else
if (opt.fullScreenOffset!=undefined && opt.fullScreenOffset.length>0)
coh = coh - parseInt(opt.fullScreenOffset,0);
} catch(e) {}
}
coh = coh0) {
jQuery.each(opt.lastplayedvideos,function(i,_nc) {
_R.playVideo(_nc,opt);
});
}
},
leaveViewPort : function(opt) {
opt.sliderlaststatus = opt.sliderstatus;
opt.c.trigger("stoptimer");
if (opt.playingvideos != undefined && opt.playingvideos.length>0) {
opt.lastplayedvideos = jQuery.extend(true,[],opt.playingvideos);
if (opt.playingvideos)
jQuery.each(opt.playingvideos,function(i,_nc) {
opt.leaveViewPortBasedStop = true;
if (_R.stopVideo) _R.stopVideo(_nc,opt);
});
}
},
unToggleState : function(a) {
if (a!=undefined && a.length>0)
jQuery.each(a,function(i,layer) {
layer.removeClass("rs-toggle-content-active");
});
},
toggleState : function(a) {
if (a!=undefined && a.length>0)
jQuery.each(a,function(i,layer) {
layer.addClass("rs-toggle-content-active");
});
},
lastToggleState : function(a) {
var state = 0;
if (a!=undefined && a.length>0)
jQuery.each(a,function(i,layer) {
state = layer.hasClass("rs-toggle-content-active");
});
return state;
}
});
var _ISM = _R.is_mobile();
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var removeArray = function(arr,i) {
var newarr = [];
jQuery.each(arr,function(a,b) {
if (a!=i) newarr.push(b);
})
return newarr;
}
var removeNavWithLiref = function(a,ref,opt) {
opt.c.find(a).each(function() {
var a = jQuery(this);
if (a.data('liref')===ref)
a.remove();
})
}
var lAjax = function(s,o) {
if (jQuery('body').data(s)) return false;
if (o.filesystem) {
if (o.errorm===undefined)
o.errorm = "
Local Filesystem Detected !
Put this to your header:";
console.warn('Local Filesystem detected !');
o.errorm = o.errorm+'
<script type="text/javascript" src="'+o.jsFileLocation+s+o.extensions_suffix+'"></script>';
console.warn(o.jsFileLocation+s+o.extensions_suffix+' could not be loaded !');
console.warn('Please use a local Server or work online or make sure that you load all needed Libraries manually in your Document.');
console.log(" ");
o.modulesfailing = true;
return false;
}
jQuery.ajax({
url:o.jsFileLocation+s+o.extensions_suffix,
'dataType':'script',
'cache':true,
"error":function(e) {
console.warn("Slider Revolution 5.0 Error !")
console.error("Failure at Loading:"+s+o.extensions_suffix+" on Path:"+o.jsFileLocation)
console.info(e);
}
});
jQuery('body').data(s,true);
}
var getNeededScripts = function(o,c) {
var n = new Object(),
_n = o.navigation;
n.kenburns = false;
n.parallax = false;
n.carousel = false;
n.navigation = false;
n.videos = false;
n.actions = false;
n.layeranim = false;
n.migration = false;
// MIGRATION EXTENSION
if (!c.data('version') || !c.data('version').toString().match(/5./gi)) {
n.kenburns = true;
n.parallax = true;
n.carousel = false;
n.navigation = true;
n.videos = true;
n.actions = true;
n.layeranim = true;
n.migration = true;
}
else {
// KEN BURN MODUL
c.find('img').each(function(){
if (jQuery(this).data('kenburns')=="on") n.kenburns = true;
});
// NAVIGATION EXTENSTION
if (o.sliderType =="carousel" || _n.keyboardNavigation=="on" || _n.mouseScrollNavigation=="on" || _n.touch.touchenabled=="on" || _n.arrows.enable || _n.bullets.enable || _n.thumbnails.enable || _n.tabs.enable )
n.navigation = true;
// LAYERANIM, VIDEOS, ACTIONS EXTENSIONS
c.find('.tp-caption, .tp-static-layer, .rs-background-video-layer').each(function(){
var _nc = jQuery(this);
if ((_nc.data('ytid')!=undefined || _nc.find('iframe').length>0 && _nc.find('iframe').attr('src').toLowerCase().indexOf('youtube')>0))
n.videos = true;
if ((_nc.data('vimeoid')!=undefined || _nc.find('iframe').length>0 && _nc.find('iframe').attr('src').toLowerCase().indexOf('vimeo')>0))
n.videos = true;
if (_nc.data('actions')!==undefined)
n.actions = true;
n.layeranim = true;
});
c.find('li').each(function() {
if (jQuery(this).data('link') && jQuery(this).data('link')!=undefined) {
n.layeranim = true;
n.actions = true;
}
})
// VIDEO EXTENSION
if (!n.videos && (c.find('.rs-background-video-layer').length>0 || c.find(".tp-videolayer").length>0 || c.find(".tp-audiolayer") || c.find('iframe').length>0 || c.find('video').length>0))
n.videos = true;
// VIDEO EXTENSION
if (o.sliderType =="carousel")
n.carousel = true;
if (o.parallax.type!=="off" || o.viewPort.enable || o.viewPort.enable=="true")
n.parallax = true;
}
if (o.sliderType=="hero") {
n.carousel = false;
n.navigation = false;
}
if (window.location.href.match(/file:/gi)) {
n.filesystem = true;
o.filesystem = true;
}
// LOAD THE NEEDED LIBRARIES
if (n.videos && typeof _R.isVideoPlaying=='undefined') lAjax('revolution.extension.video',o);
if (n.carousel && typeof _R.prepareCarousel=='undefined') lAjax('revolution.extension.carousel',o);
if (!n.carousel && typeof _R.animateSlide=='undefined') lAjax('revolution.extension.slideanims',o);
if (n.actions && typeof _R.checkActions=='undefined') lAjax('revolution.extension.actions',o);
if (n.layeranim && typeof _R.handleStaticLayers=='undefined') lAjax('revolution.extension.layeranimation',o);
if (n.kenburns && typeof _R.stopKenBurn=='undefined') lAjax('revolution.extension.kenburn',o);
if (n.navigation && typeof _R.createNavigation=='undefined') lAjax('revolution.extension.navigation',o);
if (n.migration && typeof _R.migration=='undefined') lAjax('revolution.extension.migration',o);
if (n.parallax && typeof _R.checkForParallax=='undefined') lAjax('revolution.extension.parallax',o);
if (o.addons!=undefined && o.addons.length>0) {
jQuery.each(o.addons, function(i,obj) {
if (typeof obj === "object" && obj.fileprefix!=undefined)
lAjax(obj.fileprefix,o);
})
}
return n;
}
///////////////////////////////////
// - WAIT FOR SCRIPT LOADS - //
///////////////////////////////////
var waitForScripts = function(c,o) {
// CHECK KEN BURN DEPENDENCIES
var addonsloaded = true,
n = o.scriptsneeded;
// CHECK FOR ADDONS
if (o.addons!=undefined && o.addons.length>0) {
jQuery.each(o.addons, function(i,obj) {
if (typeof obj === "object" && obj.init!=undefined) {
if (_R[obj.init]===undefined) addonsloaded = false;
}
})
}
if (n.filesystem ||
(typeof punchgs !== 'undefined' &&
(addonsloaded) &&
(!n.kenburns || (n.kenburns && typeof _R.stopKenBurn !== 'undefined')) &&
(!n.navigation || (n.navigation && typeof _R.createNavigation !== 'undefined')) &&
(!n.carousel || (n.carousel && typeof _R.prepareCarousel !== 'undefined')) &&
(!n.videos || (n.videos && typeof _R.resetVideo !== 'undefined')) &&
(!n.actions || (n.actions && typeof _R.checkActions !== 'undefined')) &&
(!n.layeranim || (n.layeranim && typeof _R.handleStaticLayers !== 'undefined')) &&
(!n.migration || (n.migration && typeof _R.migration !== 'undefined')) &&
(!n.parallax || (n.parallax && typeof _R.checkForParallax !== 'undefined')) &&
(n.carousel || (!n.carousel && typeof _R.animateSlide !== 'undefined'))
))
c.trigger("scriptsloaded");
else
setTimeout(function() {
waitForScripts(c,o);
},50);
}
//////////////////////////////////
// - GET SCRIPT LOCATION - //
//////////////////////////////////
var getScriptLocation = function(a) {
var srcexp = new RegExp("themepunch.revolution.min.js","gi"),
ret = "";
jQuery("script").each(function() {
var src = jQuery(this).attr("src");
if (src && src.match(srcexp))
ret = src;
});
ret = ret.replace('jquery.themepunch.revolution.min.js', '');
ret = ret.replace('jquery.themepunch.revolution.js', '');
ret = ret.split("?")[0];
return ret;
}
//////////////////////////////////////////
// - ADVANCED RESPONSIVE LEVELS - //
//////////////////////////////////////////
var setCurWinRange = function(opt,vis) {
var curlevel = 0,
curwidth = 9999,
lastmaxlevel = 0,
lastmaxid = 0,
curid = 0,
winw = jQuery(window).width(),
l = vis && opt.responsiveLevels==9999 ? opt.visibilityLevels : opt.responsiveLevels;
if (l && l.length)
jQuery.each(l,function(index,level) {
if (winwlevel) {
curwidth = level;
curid = index;
lastmaxlevel = level;
}
}
if (winw>level && lastmaxlevel');
// PREPRARE SOME CLASSES AND VARIABLES
container.find('>ul').addClass("tp-revslider-mainul");
// CREATE SOME DEFAULT OPTIONS FOR LATER
opt.c=container;
opt.ul = container.find('.tp-revslider-mainul');
// Remove Not Needed Slides for Mobile Devices
opt.ul.find('>li').each(function(i) {
var li = jQuery(this);
if (li.data('hideslideonmobile')=="on" && _ISM) li.remove();
if (li.data('invisible') || li.data('invisible')===true) {
li.addClass("tp-invisible-slide");
li.appendTo(opt.ul);
}
});
if (opt.addons!=undefined && opt.addons.length>0) {
jQuery.each(opt.addons, function(i,obj) {
if (typeof obj === "object" && obj.init!=undefined) {
_R[obj.init](eval(obj.params));
}
})
}
opt.cid = container.attr('id');
opt.ul.css({visibility:"visible"});
opt.slideamount = opt.ul.find('>li').not('.tp-invisible-slide').length;
opt.slayers = container.find('.tp-static-layers');
if (opt.waitForInit == true)
return;
else {
container.data('opt',opt);
runSlider(container,opt);
}
}
var runSlider = function(container,opt) {
opt.sliderisrunning = true;
// Save Original Index of Slides
opt.ul.find('>li').each(function(i) {
jQuery(this).data('originalindex',i);
});
// RANDOMIZE THE SLIDER SHUFFLE MODE
if (opt.shuffle=="on") {
var fsa = new Object,
fli = opt.ul.find('>li:first-child');
fsa.fstransition = fli.data('fstransition');
fsa.fsmasterspeed = fli.data('fsmasterspeed');
fsa.fsslotamount = fli.data('fsslotamount');
for (var u=0;uli:eq('+it+')').prependTo(opt.ul);
}
var newfli = opt.ul.find('>li:first-child');
newfli.data('fstransition',fsa.fstransition);
newfli.data('fsmasterspeed',fsa.fsmasterspeed);
newfli.data('fsslotamount',fsa.fsslotamount);
// COLLECT ALL LI INTO AN ARRAY
opt.li = opt.ul.find('>li').not('.tp-invisible-slide');
}
opt.allli = opt.ul.find('>li');
opt.li = opt.ul.find('>li').not('.tp-invisible-slide');
opt.inli = opt.ul.find('>li.tp-invisible-slide');
opt.thumbs = new Array();
opt.slots=4;
opt.act=-1;
opt.firststart=1;
opt.loadqueue = new Array();
opt.syncload = 0;
opt.conw = container.width();
opt.conh = container.height();
if (opt.responsiveLevels.length>1)
opt.responsiveLevels[0] = 9999;
else
opt.responsiveLevels = 9999;
// RECORD THUMBS AND SET INDEXES
jQuery.each(opt.allli,function(index,li) {
var li = jQuery(li),
img = li.find('.rev-slidebg') || li.find('img').first(),
i = 0;
li.addClass("tp-revslider-slidesli");
if (li.data('index')===undefined) li.data('index','rs-'+Math.round(Math.random()*999999));
var obj = new Object;
obj.params = new Array();
obj.id = li.data('index');
obj.src = li.data('thumb')!==undefined ? li.data('thumb') : img.data('lazyload') !== undefined ? img.data('lazyload') : img.attr('src');
if (li.data('title') !== undefined) obj.params.push({from:RegExp("\\{\\{title\\}\\}","g"), to:li.data("title")})
if (li.data('description') !== undefined) obj.params.push({from:RegExp("\\{\\{description\\}\\}","g"), to:li.data("description")})
for (var i=1;i<=10;i++) {
if (li.data("param"+i)!==undefined)
obj.params.push({from:RegExp("\\{\\{param"+i+"\\}\\}","g"), to:li.data("param"+i)})
}
opt.thumbs.push(obj);
li.data('origindex',li.index());
// IF LINK ON SLIDE EXISTS, NEED TO CREATE A PROPER LAYER FOR IT.
if (li.data('link')!=undefined) {
var link = li.data('link'),
target= li.data('target') || "_self",
zindex= li.data('slideindex')==="back" ? 0 : 60,
linktoslide=li.data('linktoslide'),
checksl = linktoslide;
if (linktoslide != undefined)
if (linktoslide!="next" && linktoslide!="prev")
opt.allli.each(function() {
var t = jQuery(this);
if (t.data('origindex')+1==checksl) linktoslide = t.data('index');
});
if (link!="slide") linktoslide="no";
var apptxt = '' : apptxt + 'data-actions='+"'"+jts + "'"+' data-start="0">';
apptxt = apptxt + '
';
li.append(apptxt);
}
});
// CREATE GRID WIDTH AND HEIGHT ARRAYS
opt.rle = opt.responsiveLevels.length || 1;
opt.gridwidth = cArray(opt.gridwidth,opt.rle);
opt.gridheight = cArray(opt.gridheight,opt.rle);
// END OF VERSION 5.0 INIT MODIFICATION
// SIMPLIFY ANIMATIONS ON OLD IOS AND IE8 IF NEEDED
if (opt.simplifyAll=="on" && (_R.isIE(8) || _R.iOSVersion())) {
container.find('.tp-caption').each(function() {
var tc = jQuery(this);
tc.removeClass("customin customout").addClass("fadein fadeout");
tc.data('splitin',"");
tc.data('speed',400);
})
opt.allli.each(function() {
var li= jQuery(this);
li.data('transition',"fade");
li.data('masterspeed',500);
li.data('slotamount',1);
var img = li.find('.rev-slidebg') || li.find('>img').first();
img.data('kenburns',"off");
});
}
opt.desktop = !navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry|BB10|mobi|tablet|opera mini|nexus 7)/i);
// SOME OPTIONS WHICH SHOULD CLOSE OUT SOME OTHER SETTINGS
opt.autoHeight = opt.sliderLayout=="fullscreen" ? "on" : opt.autoHeight;
if (opt.sliderLayout=="fullwidth" && opt.autoHeight=="off") container.css({maxHeight:opt.gridheight[opt.curWinRange]+"px"});
// BUILD A FORCE FULLWIDTH CONTAINER, TO SPAN THE FULL SLIDER TO THE FULL WIDTH OF BROWSER
if (opt.sliderLayout!="auto" && container.closest('.forcefullwidth_wrapper_tp_banner').length==0) {
if (opt.sliderLayout!=="fullscreen" || opt.fullScreenAutoWidth!="on") {
var cp = container.parent(),
mb = cp.css('marginBottom'),
mt = cp.css('marginTop'),
cid = container.attr('id')+"_forcefullwidth";
mb = mb===undefined ? 0 : mb;
mt = mt===undefined ? 0 : mt;
cp.wrap('');
container.closest('.forcefullwidth_wrapper_tp_banner').append('');
container.parent().css({marginTop:"0px",marginBottom:"0px"});
//container.css({'backgroundColor':container.parent().css('backgroundColor'),'backgroundImage':container.parent().css('backgroundImage')});
container.parent().css({position:'absolute'});
}
}
// SHADOW ADD ONS
if (opt.shadow!==undefined && opt.shadow>0) {
container.parent().addClass('tp-shadow'+opt.shadow);
container.parent().append('');
container.parent().find('.tp-shadowcover').css({'backgroundColor':container.parent().css('backgroundColor'),'backgroundImage':container.parent().css('backgroundImage')});
}
// ESTIMATE THE CURRENT WINDOWS RANGE INDEX
setCurWinRange(opt);
setCurWinRange(opt,true);
// IF THE CONTAINER IS NOT YET INITIALISED, LETS GO FOR IT
if (!container.hasClass("revslider-initialised")) {
// MARK THAT THE CONTAINER IS INITIALISED WITH SLIDER REVOLUTION ALREADY
container.addClass("revslider-initialised");
// FOR BETTER SELECTION, ADD SOME BASIC CLASS
container.addClass("tp-simpleresponsive");
// WE DONT HAVE ANY ID YET ? WE NEED ONE ! LETS GIVE ONE RANDOMLY FOR RUNTIME
if (container.attr('id')==undefined) container.attr('id',"revslider-"+Math.round(Math.random()*1000+5));
// CHECK IF FIREFOX 13 IS ON WAY.. IT HAS A STRANGE BUG, CSS ANIMATE SHOULD NOT BE USED
opt.firefox13 = false;
opt.ie = !jQuery.support.opacity;
opt.ie9 = (document.documentMode == 9);
opt.origcd=opt.delay;
// CHECK THE jQUERY VERSION
var version = jQuery.fn.jquery.split('.'),
versionTop = parseFloat(version[0]),
versionMinor = parseFloat(version[1]),
versionIncrement = parseFloat(version[2] || '0');
if (versionTop==1 && versionMinor < 7)
container.html(' The Current Version of jQuery:'+version+'
Please update your jQuery Version to min. 1.7 in Case you wish to use the Revolution Slider Plugin
');
if (versionTop>1) opt.ie=false;
// PREPARE VIDEO PLAYERS
var addedApis = new Object();
addedApis.addedyt=0;
addedApis.addedvim=0;
addedApis.addedvid=0;
container.find('.tp-caption, .rs-background-video-layer').each(function(i) {
var _nc = jQuery(this),
an = _nc.data('autoplayonlyfirsttime'),
ap = _nc.data('autoplay'),
al = _nc.hasClass("tp-audiolayer"),
loop = _nc.data('videoloop');
if (_nc.hasClass("tp-static-layer") && _R.handleStaticLayers)
_R.handleStaticLayers(_nc,opt);
var pom = _nc.data('noposteronmobile') || _nc.data('noPosterOnMobile') || _nc.data('posteronmobile') || _nc.data('posterOnMobile') || _nc.data('posterOnMObile');
_nc.data('noposteronmobile',pom);
// FIX VISIBLE IFRAME BUG IN SAFARI
var iff = 0;
_nc.find('iframe').each(function() {
punchgs.TweenLite.set(jQuery(this),{autoAlpha:0});
iff++;
})
if (iff>0)
_nc.data('iframes',true)
if (_nc.hasClass("tp-caption")) {
// PREPARE LAYERS AND WRAP THEM WITH PARALLAX, LOOP, MASK HELP CONTAINERS
var ec = _nc.hasClass("slidelink") ? "width:100% !important;height:100% !important;" : "";
_nc.wrap('');
var lar = ['pendulum', 'rotate','slideloop','pulse','wave'],
_lc = _nc.closest('.tp-loop-wrap');
jQuery.each(lar,function(i,k) {
var lw = _nc.find('.rs-'+k),
f = lw.data() || "";
if (f!="") {
_lc.data(f);
_lc.addClass("rs-"+k);
lw.children(0).unwrap();
_nc.data('loopanimation',"on");
}
});
punchgs.TweenLite.set(_nc,{visibility:"hidden"});
}
var as = _nc.data('actions');
if (as!==undefined) _R.checkActions(_nc,opt,as);
checkHoverDependencies(_nc,opt);
if (_R.checkVideoApis)
addedApis = _R.checkVideoApis(_nc,opt,addedApis);
// REMOVE VIDEO AUTOPLAYS FOR MOBILE DEVICES
if (_ISM) {
if (an == true || an=="true") {
_nc.data('autoplayonlyfirsttime',"false");
an=false;
}
if (ap==true || ap=="true" || ap=="on" || ap=="1sttime") {
_nc.data('autoplay',"off");
ap="off";
}
}
//loop = loop=="none" && _nc.hasClass('rs-background-video-layer') ? "loopandnoslidestop" : loop;
_nc.data('videoloop',loop);
// PREPARE TIMER BEHAVIOUR BASED ON AUTO PLAYED VIDEOS IN SLIDES
if (!al && (an == true || an=="true" || ap == "1sttime") && loop !="loopandnoslidestop")
_nc.closest('li.tp-revslider-slidesli').addClass("rs-pause-timer-once");
if (!al && (ap==true || ap=="true" || ap == "on" || ap == "no1sttime") && loop !="loopandnoslidestop")
_nc.closest('li.tp-revslider-slidesli').addClass("rs-pause-timer-always");
});
container.hover(
function() {
container.trigger('tp-mouseenter');
opt.overcontainer=true;
},
function() {
container.trigger('tp-mouseleft');
opt.overcontainer=false;
});
container.on('mouseover',function() {
container.trigger('tp-mouseover');
opt.overcontainer=true;
})
// REMOVE ANY VIDEO JS SETTINGS OF THE VIDEO IF NEEDED (OLD FALL BACK, AND HELP FOR 3THD PARTY PLUGIN CONFLICTS)
container.find('.tp-caption video').each(function(i) {
var v = jQuery(this);
v.removeClass("video-js vjs-default-skin");
v.attr("preload","");
v.css({display:"none"});
});
//PREPARE LOADINGS ALL IN SEQUENCE
if (opt.sliderType!=="standard") opt.lazyType = "all";
// PRELOAD STATIC LAYERS
loadImages(container.find('.tp-static-layers'),opt,0,true);
waitForCurrentImages(container.find('.tp-static-layers'),opt,function() {
container.find('.tp-static-layers img').each(function() {
var e = jQuery(this),
src = e.data('lazyload') != undefined ? e.data('lazyload') : e.attr('src'),
loadobj = getLoadObj(opt,src);
e.attr('src',loadobj.src)
})
})
// SET ALL LI AN INDEX AND INIT LAZY LOADING
opt.allli.each(function(i) {
var li = jQuery(this);
if (opt.lazyType=="all" || (opt.lazyType=="smart" && (i==0 || i == 1 || i == opt.slideamount || i == opt.slideamount-1))) {
loadImages(li,opt,i);
waitForCurrentImages(li,opt,function() {
if (opt.sliderType=="carousel")
punchgs.TweenLite.to(li,1,{autoAlpha:1,ease:punchgs.Power3.easeInOut});
});
}
});
// IF DEEPLINK HAS BEEN SET
var deeplink = getUrlVars("#")[0];
if (deeplink.length<9) {
if (deeplink.split('slide').length>1) {
var dslide=parseInt(deeplink.split('slide')[1],0);
if (dslide<1) dslide=1;
if (dslide>opt.slideamount) dslide=opt.slideamount;
opt.startWithSlide=dslide-1;
}
}
// PREPARE THE SPINNER
container.append( '');
// RESET THE TIMER
if (container.find('.tp-bannertimer').length===0) container.append('');
container.find('.tp-bannertimer').css({'width':'0%'});
container.find('.tp-bannertimer').data('opt',opt);
// PREPARE THE SLIDES
opt.ul.css({'display':'block'});
prepareSlides(container,opt);
if (opt.parallax.type!=="off" && _R.checkForParallax) _R.checkForParallax(container,opt);
// PREPARE SLIDER SIZE
_R.setSize(opt);
// Call the Navigation Builder
if (opt.sliderType!=="hero" && _R.createNavigation) _R.createNavigation(container,opt);
if (_R.resizeThumbsTabs && _R.resizeThumbsTabs) _R.resizeThumbsTabs(opt);
contWidthManager(opt);
var _v = opt.viewPort;
opt.inviewport = false;
if (_v !=undefined && _v.enable) {
if (!jQuery.isNumeric(_v.visible_area))
if (_v.visible_area.indexOf('%')!==-1)
_v.visible_area = parseInt(_v.visible_area)/100;
if (_R.scrollTicker) _R.scrollTicker(opt,container);
}
// START THE SLIDER
setTimeout(function() {
if ( opt.sliderType =="carousel" && _R.prepareCarousel) _R.prepareCarousel(opt);
if (!_v.enable || (_v.enable && opt.inviewport) || (_v.enable && !opt.inviewport && !_v.outof=="wait")) {
swapSlide(container,opt);
}
else
opt.waitForFirstSlide = true;
if (_R.manageNavigation) _R.manageNavigation(opt);
// START COUNTDOWN
if (opt.slideamount>1) {
if (!_v.enable || (_v.enable && opt.inviewport))
countDown(container,opt);
else
opt.waitForCountDown = true;
}
setTimeout(function() {
container.trigger('revolution.slide.onloaded');
},100);
},opt.startDelay);
opt.startDelay=0;
/******************************
- FULLSCREEN CHANGE -
********************************/
// FULLSCREEN MODE TESTING
jQuery("body").data('rs-fullScreenMode',false);
jQuery(window).on ('mozfullscreenchange webkitfullscreenchange fullscreenchange',function(){
jQuery("body").data('rs-fullScreenMode',!jQuery("body").data('rs-fullScreenMode'));
if (jQuery("body").data('rs-fullScreenMode')) {
setTimeout(function() {
jQuery(window).trigger("resize");
},200);
}
});
var resizid = "resize.revslider-"+container.attr('id');
// IF RESIZED, NEED TO STOP ACTUAL TRANSITION AND RESIZE ACTUAL IMAGES
jQuery(window).on(resizid,function() {
if (container==undefined) return false;
if (jQuery('body').find(container)!=0)
contWidthManager(opt);
var hchange = false;
if (opt.sliderLayout=="fullscreen") {
var jwh = jQuery(window).height();
if ((opt.fallbacks.ignoreHeightChanges=="mobile" && _ISM) || opt.fallbacks.ignoreHeightChanges=="always") {
opt.fallbacks.ignoreHeightChangesSize = opt.fallbacks.ignoreHeightChangesSize == undefined ? 0 : opt.fallbacks.ignoreHeightChangesSize;
hchange = (jwh!=opt.lastwindowheight) && (Math.abs(jwh-opt.lastwindowheight) > opt.fallbacks.ignoreHeightChangesSize)
} else {
hchange = (jwh!=opt.lastwindowheight)
}
}
if (container.outerWidth(true)!=opt.width || container.is(":hidden") || (hchange)) {
opt.lastwindowheight = jQuery(window).height();
containerResized(container,opt);
}
});
hideSliderUnder(container,opt);
contWidthManager(opt);
if (!opt.fallbacks.disableFocusListener && opt.fallbacks.disableFocusListener != "true" && opt.fallbacks.disableFocusListener !== true) tabBlurringCheck(container,opt);
}
}
/*************************************
- CREATE SIMPLE ARRAYS -
**************************************/
var cArray = function(b,l) {
if (!jQuery.isArray(b)) {
var t = b;
b = new Array();
b.push(t);
}
if (b.length0 && (cli.hasClass("active-revslide")) || cli.hasClass("processing-revslide")) || (stl.length>0)) {
if (otl!=undefined) {
otl.pause(0);
otl.kill();
}
_R.animateSingleCaption(tnc,opt,base_offsetx,base_offsety,0,false,true);
var tl = tnc.data('timeline');
tnc.data('triggerstate',"on");
tl.play(0);
}
});
});
opt.c.on('tp-mouseleft',function() {
if (opt.layersonhover)
jQuery.each(opt.layersonhover,function(i,tnc) {
tnc.data('animdirection',"out");
tnc.data('triggered',true);
tnc.data('triggerstate',"off");
if (_R.stopVideo) _R.stopVideo(tnc,opt);
if (_R.endMoveCaption) _R.endMoveCaption(tnc,null,null,opt);
});
});
opt.layersonhover = new Array;
}
opt.layersonhover.push(_nc);
}
}
var contWidthManager = function(opt) {
var rl = _R.getHorizontalOffset(opt.c,"left");
if (opt.sliderLayout!="auto" && (opt.sliderLayout!=="fullscreen" || opt.fullScreenAutoWidth!="on")) {
var loff = Math.ceil(opt.c.closest('.forcefullwidth_wrapper_tp_banner').offset().left - rl);
punchgs.TweenLite.set(opt.c.parent(),{'left':(0-loff)+"px",'width':jQuery(window).width()-_R.getHorizontalOffset(opt.c,"both")});
} else {
if (opt.sliderLayout=="fullscreen" && opt.fullScreenAutoWidth=="on")
punchgs.TweenLite.set(opt.ul,{left:0,width:opt.c.width()});
else
punchgs.TweenLite.set(opt.ul,{left:rl,width:opt.c.width()-_R.getHorizontalOffset(opt.c,"both")});
}
// put Static Layer Wrapper in Position
if (opt.slayers && (opt.sliderLayout!="fullwidth" && opt.sliderLayout!="fullscreen"))
punchgs.TweenLite.set(opt.slayers,{left:rl});
}
var cv = function(a,d) {
return a===undefined ? d : a;
}
var hideSliderUnder = function(container,opt,resized) {
// FIRST TIME STOP/START HIDE / SHOW SLIDER
//REMOVE AND SHOW SLIDER ON DEMAND
var contpar= container.parent();
if (jQuery(window).width()opt.bw)
opt.bh=opt.bw
else
opt.bw = opt.bh;
if (opt.bh>1 || opt.bw>1) { opt.bw=1; opt.bh=1; }
}
/////////////////////////////////////////
// - PREPARE THE SLIDES / SLOTS - //
///////////////////////////////////////
var prepareSlides = function(container,opt) {
container.find('.tp-caption').each(function() {
var c = jQuery(this);
if (c.data('transition')!==undefined) c.addClass(c.data('transition'));
});
// PREPARE THE UL CONTAINER TO HAVEING MAX HEIGHT AND HEIGHT FOR ANY SITUATION
opt.ul.css({overflow:'hidden',width:'100%',height:'100%',maxHeight:container.parent().css('maxHeight')})
if (opt.autoHeight=="on") {
opt.ul.css({overflow:'hidden',width:'100%',height:'100%',maxHeight:"none"});
container.css({'maxHeight':'none'});
container.parent().css({'maxHeight':'none'});
}
//_R.setSize("",opt);
opt.allli.each(function(j) {
var li=jQuery(this),
originalIndex = li.data('originalindex');
//START WITH CORRECT SLIDE
if ((opt.startWithSlide !=undefined && originalIndex==opt.startWithSlide) || opt.startWithSlide ===undefined && j==0)
li.addClass("next-revslide");
// MAKE LI OVERFLOW HIDDEN FOR FURTHER ISSUES
li.css({'width':'100%','height':'100%','overflow':'hidden'});
});
if (opt.sliderType === "carousel") {
//SET CAROUSEL
opt.ul.css({overflow:"visible"}).wrap('');
var apt = '';
opt.c.parent().prepend(apt);
opt.c.parent().append(apt);
_R.prepareCarousel(opt);
}
// RESOLVE OVERFLOW HIDDEN OF MAIN CONTAINER
container.parent().css({'overflow':'visible'});
opt.allli.find('>img').each(function(j) {
var img=jQuery(this),
bgvid = img.closest('li').find('.rs-background-video-layer');
bgvid.addClass("defaultvid").css({zIndex:30});
img.addClass('defaultimg');
// TURN OF KEN BURNS IF WE ARE ON MOBILE AND IT IS WISHED SO
if (opt.fallbacks.panZoomDisableOnMobile == "on" && _ISM) {
img.data('kenburns',"off");
img.data('bgfit',"cover");
}
img.wrap('');
bgvid.appendTo(img.closest('li').find('.slotholder'));
var dts = img.data();
img.closest('.slotholder').data(dts);
if (bgvid.length>0 && dts.bgparallax!=undefined)
bgvid.data('bgparallax',dts.bgparallax);
if (opt.dottedOverlay!="none" && opt.dottedOverlay!=undefined)
img.closest('.slotholder').append('');
var src=img.attr('src');
dts.src = src;
dts.bgfit = dts.bgfit || "cover";
dts.bgrepeat = dts.bgrepeat || "no-repeat",
dts.bgposition = dts.bgposition || "center center";
var pari = img.closest('.slotholder');
img.parent().append('');
var comment = document.createComment("Runtime Modification - Img tag is Still Available for SEO Goals in Source - " + img.get(0).outerHTML);
img.replaceWith(comment);
img = pari.find('.tp-bgimg');
img.data(dts);
img.attr("src",src);
if (opt.sliderType === "standard" || opt.sliderType==="undefined")
img.css({'opacity':0});
})
}
// REMOVE SLOTS //
var removeSlots = function(container,opt,where,addon) {
opt.removePrepare = opt.removePrepare + addon;
where.find('.slot, .slot-circle-wrapper').each(function() {
jQuery(this).remove();
});
opt.transition = 0;
opt.removePrepare = 0;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////// SLIDE SWAPS ////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// THE IMAGE IS LOADED, WIDTH, HEIGHT CAN BE SAVED
var cutParams = function(a) {
var b = a;
if (a!=undefined && a.length>0)
b = a.split("?")[0];
return b;
}
var relativeRedir = function(redir){
return location.pathname.replace(/(.*)\/[^/]*/, "$1/"+redir);
}
var abstorel = function (base, relative) {
var stack = base.split("/"),
parts = relative.split("/");
stack.pop(); // remove current file name (or empty string)
// (omit if "base" is the current folder without trailing slash)
for (var i=0; i');
element.find('.tp-svg-innercontainer').append(loadobj.innerHTML);
}
// ELEMENT IS NOW FULLY LOADED
element.data('loaded',true);
}
if (loadobj && loadobj.progress && loadobj.progress.match(/inprogress|inload|prepared/g))
if (!loadobj.error && jQuery.now()-element.data('start-to-load')<5000)
waitforload = true;
else {
loadobj.progress="failed";
if (!loadobj.reported_img) {
loadobj.reported_img = true;
console.warn(src+" Could not be loaded !");
}
}
// WAIT FOR VIDEO API'S
if (opt.youtubeapineeded == true && (!window['YT'] || YT.Player==undefined)) {
waitforload = true;
if (jQuery.now()-opt.youtubestarttime>5000 && opt.youtubewarning!=true) {
opt.youtubewarning = true;
var txt = "YouTube Api Could not be loaded !";
if (location.protocol === 'https:') txt = txt + " Please Check and Renew SSL Certificate !";
console.error(txt);
opt.c.append(''+txt+'
')
}
}
if (opt.vimeoapineeded == true && !window['Froogaloop']) {
waitforload = true;
if (jQuery.now()-opt.vimeostarttime>5000 && opt.vimeowarning!=true) {
opt.vimeowarning= true;
var txt = "Vimeo Froogaloop Api Could not be loaded !";
if (location.protocol === 'https:') txt = txt + " Please Check and Renew SSL Certificate !";
console.error(txt);
opt.c.append(''+txt+'
')
}
}
});
if (!_ISM && opt.audioqueue && opt.audioqueue.length>0) {
jQuery.each(opt.audioqueue,function(i,obj) {
if (obj.status && obj.status==="prepared")
if (jQuery.now() - obj.start0) {
opt.waitWithSwapSlide = setTimeout(function() {
swapSlide(container,opt);
},150);
return false;
}
var actli = container.find('.active-revslide'),
nextli = container.find('.next-revslide'),
defimg= nextli.find('.defaultimg');
if (nextli.index() === actli.index()) {
nextli.removeClass("next-revslide");
return false;
}
nextli.removeClass("next-revslide").addClass("processing-revslide");
nextli.data('slide_on_focus_amount',(nextli.data('slide_on_focus_amount')+1) || 1);
// CHECK IF WE ARE ALREADY AT LAST ITEM TO PLAY IN REAL LOOP SESSION
if (opt.stopLoop=="on" && nextli.index()==opt.lastslidetoshow-1) {
container.find('.tp-bannertimer').css({'visibility':'hidden'});
container.trigger('revolution.slide.onstop');
opt.noloopanymore = 1;
}
// INCREASE LOOP AMOUNTS
if (nextli.index()===opt.slideamount-1) {
opt.looptogo=opt.looptogo-1;
if (opt.looptogo<=0)
opt.stopLoop="on";
}
opt.tonpause = true;
container.trigger('stoptimer');
opt.cd=0;
if (opt.spinner==="off")
container.find('.tp-loader').css({display:"none"});
else
container.find('.tp-loader').css({display:"block"});
loadImages(nextli,opt,1);
if (_R.preLoadAudio) _R.preLoadAudio(nextli,opt,1);
// WAIT FOR SWAP SLIDE PROGRESS
waitForCurrentImages(nextli,opt,function() {
// MANAGE BG VIDEOS
nextli.find('.rs-background-video-layer').each(function() {
var _nc = jQuery(this);
if (!_nc.hasClass("HasListener")) {
_nc.data('bgvideo',1);
if (_R.manageVideoLayer) _R.manageVideoLayer(_nc,opt);
}
if (_nc.find('.rs-fullvideo-cover').length==0)
_nc.append('')
});
swapSlideProgress(opt,defimg,container)
});
}
//////////////////////////////////////
// - PROGRESS SWAP THE SLIDES - //
/////////////////////////////////////
var swapSlideProgress = function(opt,defimg,container) {
var actli = container.find('.active-revslide'),
nextli = container.find('.processing-revslide'),
actsh = actli.find('.slotholder'),
nextsh = nextli.find('.slotholder');
opt.tonpause=false;
opt.cd=0;
container.find('.tp-loader').css({display:"none"});
// if ( opt.sliderType =="carousel") _R.prepareCarousel(opt);
_R.setSize(opt);
_R.slotSize(defimg,opt);
if (_R.manageNavigation) _R.manageNavigation(opt);
var data={};
data.nextslide=nextli;
data.currentslide=actli;
container.trigger('revolution.slide.onbeforeswap',data);
opt.transition = 1;
opt.videoplaying = false;
// IF DELAY HAS BEEN SET VIA THE SLIDE, WE TAKE THE NEW VALUE, OTHER WAY THE OLD ONE...
if (nextli.data('delay')!=undefined) {
opt.cd=0;
opt.delay=nextli.data('delay');
} else
opt.delay=opt.origcd;
if (nextli.data('ssop')=="true" || nextli.data('ssop')===true)
opt.ssop = true
else
opt.ssop = false;
container.trigger('nulltimer');
var ai = actli.index(),
ni = nextli.index();
opt.sdir = ni-1)
opt.looptogo=opt.stopAfterLoops;
else
opt.looptogo=9999999;
if (opt.stopAtSlide!=undefined && opt.stopAtSlide>-1)
opt.lastslidetoshow=opt.stopAtSlide;
else
opt.lastslidetoshow=999;
opt.stopLoop="off";
if (opt.looptogo==0) opt.stopLoop="on";
var bt=container.find('.tp-bannertimer');
// LISTENERS //container.trigger('stoptimer');
container.on('stoptimer',function() {
var bt = jQuery(this).find('.tp-bannertimer');
bt.data('tween').pause();
if (opt.disableProgressBar=="on") bt.css({visibility:"hidden"});
opt.sliderstatus = "paused";
_R.unToggleState(opt.slidertoggledby);
});
container.on('starttimer',function() {
if (opt.forcepause_viatoggle) return;
if (opt.conthover!=1 && opt.videoplaying!=true && opt.width>opt.hideSliderAtLimit && opt.tonpause != true && opt.overnav !=true && opt.ssop!=true)
if (opt.noloopanymore !== 1 && (!opt.viewPort.enable || opt.inviewport)) {
bt.css({visibility:"visible"});
bt.data('tween').resume();
opt.sliderstatus = "playing";
}
if (opt.disableProgressBar=="on") bt.css({visibility:"hidden"});
_R.toggleState(opt.slidertoggledby);
});
container.on('restarttimer',function() {
if (opt.forcepause_viatoggle) return;
var bt = jQuery(this).find('.tp-bannertimer');
if (opt.mouseoncontainer && opt.navigation.onHoverStop=="on" && (!_ISM)) return false;
if (opt.noloopanymore !== 1 && (!opt.viewPort.enable || opt.inviewport) && opt.ssop!=true) {
bt.css({visibility:"visible"});
bt.data('tween').kill();
bt.data('tween',punchgs.TweenLite.fromTo(bt,opt.delay/1000,{width:"0%"},{force3D:"auto",width:"100%",ease:punchgs.Linear.easeNone,onComplete:countDownNext,delay:1}));
opt.sliderstatus = "playing";
}
if (opt.disableProgressBar=="on") bt.css({visibility:"hidden"});
_R.toggleState(opt.slidertoggledby);
});
container.on('nulltimer',function() {
bt.data('tween').kill();
bt.data('tween',punchgs.TweenLite.fromTo(bt,opt.delay/1000,{width:"0%"},{force3D:"auto",width:"100%",ease:punchgs.Linear.easeNone,onComplete:countDownNext,delay:1}));
bt.data('tween').pause(0);
if (opt.disableProgressBar=="on") bt.css({visibility:"hidden"});
opt.sliderstatus = "paused";
});
var countDownNext = function() {
if (jQuery('body').find(container).length==0) {
removeAllListeners(container,opt);
clearInterval(opt.cdint);
}
container.trigger("revolution.slide.slideatend");
//STATE OF API CHANGED -> MOVE TO AIP BETTER
if (container.data('conthover-changed') == 1) {
opt.conthover= container.data('conthover');
container.data('conthover-changed',0);
}
_R.callingNewSlide(opt,container,1);
}
bt.data('tween',punchgs.TweenLite.fromTo(bt,opt.delay/1000,{width:"0%"},{force3D:"auto",width:"100%",ease:punchgs.Linear.easeNone,onComplete:countDownNext,delay:1}));
bt.data('opt',opt);
if (opt.slideamount >1 && !(opt.stopAfterLoops==0 && opt.stopAtSlide==1)) {
container.trigger("starttimer");
}
else {
opt.noloopanymore = 1;
container.trigger("nulltimer");
}
container.on('tp-mouseenter',function() {
opt.mouseoncontainer = true;
if (opt.navigation.onHoverStop=="on" && (!_ISM)) {
container.trigger('stoptimer');
container.trigger('revolution.slide.onpause');
}
});
container.on('tp-mouseleft',function() {
opt.mouseoncontainer = false;
if (container.data('conthover')!=1 && opt.navigation.onHoverStop=="on" && ((opt.viewPort.enable==true && opt.inviewport) || opt.viewPort.enable==false)) {
container.trigger('revolution.slide.onresume');
container.trigger('starttimer');
}
});
}
//////////////////////////////////////////////////////
// * Revolution Slider - NEEDFULL FUNCTIONS
// * @version: 1.0 (30.10.2014)
// * @author ThemePunch
//////////////////////////////////////////////////////
// - BLUR / FOXUS FUNCTIONS ON BROWSER
var vis = (function(){
var stateKey,
eventKey,
keys = {
hidden: "visibilitychange",
webkitHidden: "webkitvisibilitychange",
mozHidden: "mozvisibilitychange",
msHidden: "msvisibilitychange"
};
for (stateKey in keys) {
if (stateKey in document) {
eventKey = keys[stateKey];
break;
}
}
return function(c) {
if (c) document.addEventListener(eventKey, c);
return !document[stateKey];
}
})();
var restartOnFocus = function(opt) {
if (opt==undefined || opt.c==undefined) return false;
if (opt.windowfocused!=true) {
opt.windowfocused = true;
punchgs.TweenLite.delayedCall(0.3,function(){
// TAB IS ACTIVE, WE CAN START ANY PART OF THE SLIDER
if (opt.fallbacks.nextSlideOnWindowFocus=="on") opt.c.revnext();
opt.c.revredraw();
if (opt.lastsliderstatus=="playing")
opt.c.revresume();
});
}
}
var lastStatBlur = function(opt) {
opt.windowfocused = false;
opt.lastsliderstatus = opt.sliderstatus;
opt.c.revpause();
var actsh = opt.c.find('.active-revslide .slotholder'),
nextsh = opt.c.find('.processing-revslide .slotholder');
if (nextsh.data('kenburns')=="on")
_R.stopKenBurn(nextsh,opt);
if (actsh.data('kenburns')=="on")
_R.stopKenBurn(actsh,opt);
}
var tabBlurringCheck = function(container,opt) {
var notIE = (document.documentMode === undefined),
isChromium = window.chrome;
if (notIE && !isChromium) {
// checks for Firefox and other NON IE Chrome versions
jQuery(window).on("focusin", function () {
restartOnFocus(opt);
}).on("focusout", function () {
lastStatBlur(opt);
});
} else {
// checks for IE and Chromium versions
if (window.addEventListener) {
// bind focus event
window.addEventListener("focus", function (event) {
restartOnFocus(opt);
}, false);
// bind blur event
window.addEventListener("blur", function (event) {
lastStatBlur(opt);
}, false);
} else {
// bind focus event
window.attachEvent("focus", function (event) {
restartOnFocus(opt);
});
// bind focus event
window.attachEvent("blur", function (event) {
lastStatBlur(opt);
});
}
}
}
// - GET THE URL PARAMETER //
var getUrlVars = function (hashdivider){
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf(hashdivider) + 1).split('_');
for(var i = 0; i < hashes.length; i++)
{
hashes[i] = hashes[i].replace('%3D',"=");
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
})(jQuery);