/*
* Author: Digital Zoom Studio
* Website: http://digitalzoomstudio.net/
* Portfolio: http://codecanyon.net/user/ZoomIt/portfolio
*
* Version: 2.63
*
*/
//"use strict";
window.dzsprx_self_options = {};
(function($) {
$.fn.dzsparallaxer = function(o) {
var defaults = {
settings_mode : 'scroll' // scroll or mouse or mouse_body or oneelement
, mode_scroll : 'normal' // -- normal or fromtop
, easing : 'easeIn' // -- easeIn or easeOutQuad or easeInOutSine
, animation_duration : '20' // -- animation duration in ms
, direction: 'normal' // -- normal or reverse
, js_breakout: 'off' // -- if on it will try to breakout of the container and cover fullwidth
, breakout_fix: 'off' // -- if you are using a div breakout this will add classes and tagnames back
, is_fullscreen: 'off' // -- if this is fullscreen parallaxer, then we can just follow
,settings_movexaftermouse: "off" // -- if on the parallax will move after the mouse
,init_delay: "0" // -- a delay on which to start the init function
,init_functional_delay: "0" // -- a delay on which to start the parallax movement
,settings_substract_from_th: 0 // -- if you only want to show some part of the image you can substract pixels from the total height
,settings_detect_out_of_screen: true // -- detect if the parallax is outside the viewable area and not animate handleframe
,init_functional_remove_delay_on_scroll: "off" // -- remove the delay on which to start the parallax movement
,settings_makeFunctional: false
,settings_scrollTop_is_another_element_top: null // -- an object on which the scroll is actually simulated into an elements top position
,settings_clip_height_is_window_height: false // -- replace the clip height to the window height
,settings_listen_to_object_scroll_top: null // -- replace the scroll top listening with a value from the outside
,settings_mode_oneelement_max_offset : '20'
,simple_parallaxer_convert_simple_img_to_bg_if_possible:"on"
}
if(typeof o =='undefined'){
if(typeof $(this).attr('data-options')!='undefined' && $(this).attr('data-options')!=''){
var aux = $(this).attr('data-options');
aux = 'window.dzsprx_self_options = ' + aux;
eval(aux);
o = $.extend({},window.dzsprx_self_options);
window.dzsprx_self_options = $.extend({},{});
}
}
o = $.extend(defaults, o);
Math.easeIn = function(t, b, c, d) {
return -c *(t/=d)*(t-2) + b;
};
Math.easeOutQuad = function (t, b, c, d) {
t /= d;
return -c * t*(t-2) + b;
};
Math.easeInOutSine = function (t, b, c, d) {
return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
};
o.settings_mode_oneelement_max_offset = parseInt(o.settings_mode_oneelement_max_offset,10);
var simple_parallaxer_max_offset = parseInt(o.settings_mode_oneelement_max_offset,10);
this.each( function(){
var cthis = $(this);
var _theTarget = null
,_blackOverlay = null
,_fadeouttarget = null
;
var nritems = 0
,tobeloaded=0
;
var i =0;
var tw = 0
,th = 0
,ch = 0
,cw = 0
,ww = 0
,wh = 0
,last_wh = 0 // -- compare to the last known last wh
,last_cthis_ot = 0 // -- compare to the last known last wh
,initialheight = 0
;
var int_calculate_dims = 0;
// Starting time and duration.
// Starting Target, Begin, Finish & Change
// --- easing params
var duration_viy = 0
;
var target_viy = 0
,target_vix = 0
,target_bo = 0
;
var begin_viy = 0
,begin_vix = 0
,begin_bo = 0
;
var finish_viy = 0
,finish_vix = 0
,finish_bo = 0
;
var change_viy = 0
,change_vix = 0
,change_bo = 0
;
var backup_duration_viy = 0
var api_outer_update_func = null
,_scrollTop_is_another_element_top = null
;
var st = 0 //--scroll top
,vi_y = 0 // -- view index y
,bo_o = 0 // -- black offset opacity
,cthis_ot = 0 //--offset top
;
var lazyloading_setsource = '';
var started = false
,debug_var = false
;
var animator_objects_arr = null;
var stop_enter_frame = false
,sw_suspend_functional = false
,sw_stop_enter_frame = false
,sw_out_of_display = false
;
var init_delay = 0
,init_functional_delay = 0
;
var inter_debug_func=0
,inter_suspend_enter_frame = 0
,inter_scroll_from_resize = 0
,inter_recheck_dims = 0
;
// -- some rresponsive scaling options
var responsive_reference_width = 0
,responsive_optimal_height = 0
;
init_delay = Number(o.init_delay);
init_functional_delay = Number(o.init_functional_delay);
if(init_delay){
setTimeout(init, init_delay);
}else{
init();
}
function init(){
//console.warn('init()',cthis);
if (o.settings_makeFunctional == true) {
var allowed = false;
var url = document.URL;
var urlStart = url.indexOf("://") + 3;
var urlEnd = url.indexOf("/", urlStart);
var domain = url.substring(urlStart, urlEnd);
//console.log(domain);
if (domain.indexOf('l') > -1 && domain.indexOf('c') > -1 && domain.indexOf('o') > -1 && domain.indexOf('l') > -1 && domain.indexOf('a') > -1 && domain.indexOf('h') > -1) {
allowed = true;
}
if (domain.indexOf('d') > -1 && domain.indexOf('i') > -1 && domain.indexOf('g') > -1 && domain.indexOf('d') > -1 && domain.indexOf('z') > -1 && domain.indexOf('s') > -1) {
allowed = true;
}
if (domain.indexOf('o') > -1 && domain.indexOf('z') > -1 && domain.indexOf('e') > -1 && domain.indexOf('h') > -1 && domain.indexOf('t') > -1) {
allowed = true;
}
if (domain.indexOf('e') > -1 && domain.indexOf('v') > -1 && domain.indexOf('n') > -1 && domain.indexOf('a') > -1 && domain.indexOf('t') > -1) {
allowed = true;
}
if (allowed == false) {
return;
}
}
if(o.settings_scrollTop_is_another_element_top){
_scrollTop_is_another_element_top = o.settings_scrollTop_is_another_element_top;
}
_theTarget = cthis.find('.dzsparallaxer--target').eq(0);
if(cthis.find('.dzsparallaxer--blackoverlay').length>0){
_blackOverlay = cthis.find('.dzsparallaxer--blackoverlay').eq(0);
}
if(cthis.find('.dzsparallaxer--fadeouttarget').length>0){
_fadeouttarget = cthis.find('.dzsparallaxer--fadeouttarget').eq(0);
}
if(!cthis.hasClass('wait-readyall')){
setTimeout(function(){
duration_viy = Number(o.animation_duration);
},300);
}
cthis.addClass('mode-'+o.settings_mode);
//console.info(cthis,_theTarget, o);
//console.info(duration_viy);
//console.info(cthis,_theTarget,_blackOverlay, o);
ch = cthis.height();
if(o.settings_movexaftermouse=='on'){
cw = cthis.width();
}
if(_theTarget){
th = _theTarget.height();
if(o.settings_movexaftermouse=='on'){
tw = _theTarget.width();
}
}
if(o.settings_substract_from_th){
th-= o.settings_substract_from_th;
}
//console.info(cthis,ch);
initialheight = ch;
if(o.breakout_fix=='2'){
console.info(cthis.prev());
}
if(cthis.attr('data-responsive-reference-width')){
responsive_reference_width = Number(cthis.attr('data-responsive-reference-width'));
}
if(cthis.attr('data-responsive-optimal-height')){
responsive_optimal_height = Number(cthis.attr('data-responsive-optimal-height'));
}
//console.log(cthis, responsive_reference_width, responsive_optimal_height);
//console.info(is_touch_device());
if(cthis.find('.dzsprxseparator--bigcurvedline').length>0){
cthis.find('.dzsprxseparator--bigcurvedline').append('');
}
if(cthis.find('.dzsprxseparator--2triangles').length>0){
cthis.find('.dzsprxseparator--2triangles').append('');
}
if(cthis.find('.dzsprxseparator--triangle').length>0){
cthis.find('.dzsprxseparator--triangle').append('');
}
if(cthis.get(0)){
cthis.get(0).api_set_scrollTop_is_another_element_top = function(arg){
//console.info('actually!! api_set_scrollTop_is_another_element_top', arg);
_scrollTop_is_another_element_top = arg;
}
}
// console.info('is_touch_device - ', is_touch_device());
if(is_touch_device()){
cthis.addClass('is-touch');
}
if(is_mobile()){
cthis.addClass('is-mobile');
}
if(cthis.find('.divimage').length>0 || cthis.find('img').length>0){
var _loadTarget = cthis.children('.divimage, img').eq(0);
//console.info(_loadTarget.attr('data-src'));
if(_loadTarget.attr('data-src')){
lazyloading_setsource = _loadTarget.attr('data-src');
$(window).on('scroll',handle_scroll);
handle_scroll();
}else{
init_start();
}
}else{
init_start();
}
}
function init_start(){
if(started){
return;
}
started = true;
//console.info(is_ie, is_ie(), version_ie(), is_ie11());
if(is_ie11()){
cthis.addClass('is-ie-11');
}
//$(window).unbind('resize',handle_resize);
$(window).bind('resize',handle_resize);
handle_resize();
inter_recheck_dims = setInterval(function(){
handle_resize(null, {
'call_from': 'autocheck'
})
},2000);
if(cthis.hasClass('wait-readyall')){
setTimeout(function(){
handle_scroll();
},700);
}
setTimeout(function(){
cthis.addClass('dzsprx-readyall');
handle_scroll();
if(cthis.hasClass('wait-readyall')) {
duration_viy = Number(o.animation_duration);
}
},1000);
if(cthis.find('*[data-parallaxanimation]').length>0) {
cthis.find('*[data-parallaxanimation]').each(function () {
var _t = $(this);
//console.info(_t);
if(_t.attr('data-parallaxanimation')){
if(animator_objects_arr==null){
animator_objects_arr = [];
}
animator_objects_arr.push(_t);
var aux = _t.attr('data-parallaxanimation');
aux = 'window.aux_opts2 = ' + aux;
aux = aux.replace(/'/g, '"')
// console.info(aux);
try {
eval(aux);
}
catch(err) {
console.info(aux, err);
window.aux_opts2=null;
}
//console.info(aux_opts2);
if(window.aux_opts2){
for(i=0;i');
console.info()
if(o.simple_parallaxer_convert_simple_img_to_bg_if_possible=='on' && _theTarget.attr('data-src') && _theTarget.children().length==0){
_theTarget.parent().addClass('is-image');
}
if(simple_parallaxer_max_offset>0){
handle_frame();
}
}
inter_debug_func = setInterval(debug_func, 1000);
setTimeout(function(){
//finish.y = -300;
}, 1500);
if(cthis.hasClass('use-loading')){
if(cthis.find('.divimage').length>0 || cthis.children('img').length>0){
if(cthis.find('.divimage').length>0){
if(lazyloading_setsource){
cthis.find('.divimage').eq(0).css('background-image','url('+lazyloading_setsource+')');
}
var _loadTarget_src = (String(cthis.find('.divimage').eq(0).css('background-image')).split('"'))[1];
if(_loadTarget_src == undefined){
_loadTarget_src = (String(cthis.find('.divimage').eq(0).css('background-image')).split('url('))[1];
_loadTarget_src = (String(_loadTarget_src).split(')'))[0];
}
var _loadTarget = new Image();
//console.info(cthis.find('.divimage').eq(0).css('background-image'), _loadTarget_src);
_loadTarget.onload = function(e){
cthis.addClass('loaded');
};
_loadTarget.src = _loadTarget_src;
}
}else{
cthis.addClass('loaded');
}
setTimeout(function(){
cthis.addClass('loaded');
calculate_dims();
}, 10000)
}
cthis.get(0).api_set_update_func = function(arg){
api_outer_update_func = arg;
}
cthis.get(0).api_handle_scroll = handle_scroll;
cthis.get(0).api_destroy = destroy;
cthis.get(0).api_destroy_listeners = destroy_listeners;
if(o.settings_mode == 'scroll' || o.settings_mode=='oneelement'){
$(window).off('scroll',handle_scroll);
$(window).on('scroll',handle_scroll);
handle_scroll();
setTimeout(handle_scroll,1000);
if(document && document.addEventListener){
document.addEventListener("touchmove", handle_mousemove, false);
}
}
if(o.settings_mode == 'mouse_body' || o.settings_movexaftermouse=='on'){
$(document).bind('mousemove', handle_mousemove);
}
}
function destroy(){
api_outer_update_func = null;
stop_enter_frame = true;
api_outer_update_func = null;
$(window).off('scroll',handle_scroll);
if(document && document.addEventListener){
document.removeEventListener("touchmove", handle_mousemove, false);
}
}
function debug_func(){
//console.info(debug_var);
debug_var = true;
}
function destroy_listeners(){
//console.info('DESTROY LISTENERS');
clearInterval(inter_debug_func);
clearInterval(inter_recheck_dims);
sw_stop_enter_frame = true;
}
function handle_resize(e, pargs){
cw=cthis.width();
ww = window.innerWidth;
wh = window.innerHeight;
var margs = {
'call_from': 'event'
};
if(pargs){
margs = $.extend(margs,pargs);
}
if(started===false){
return;
}
if(o.settings_mode=='oneelement'){
var last_translate = cthis.css('transform');
cthis.css('transform','translate3d(0,0,0)');
}
cthis_ot = parseInt(cthis.offset().top,10);
if(margs.call_from=='autocheck'){
if(Math.abs(last_wh-wh)<4 && Math.abs(last_cthis_ot-cthis_ot)<4){
if(o.settings_mode=='oneelement') {
cthis.css('transform', last_translate);
}
return false;
}
}
// console.warn('handle_resize', last_wh, wh, st, last_cthis_ot, cthis_ot, margs);
last_wh = wh;
last_cthis_ot = cthis_ot;
// console.info(cthis_ot, cthis);
//console.warn(responsive_reference_width, responsive_optimal_height);
if(responsive_reference_width && responsive_optimal_height){
if(cw0){
cthis.css('margin-left','-'+cthis.offset().left+'px');
}
}
if(o.is_fullscreen=='on'){
//console.log(_theTarget,_theTarget.height(), target_viy, ch, th, wh);
// -- trying to fix damage ..
//if(th + target_viy < wh){
// target_viy = wh-th;
// vi_y = wh-th;
// //console.info('WHAT HERE', duration_viy, vi_y);
// if(duration_viy>0){
//
// backup_duration_viy = duration_viy;
// }
// duration_viy = 0;
// //console.log('yesyes', _theTarget,th, target_viy, ch, th, wh);
// handle_scroll(null, {force_vi_y : vi_y});
// setTimeout(function(){
// //console.info('WHAT', backup_duration_viy);
// duration_viy = backup_duration_viy;
// },50)
// //console.info(target_viy, th-_theTarget.height())
//}
}
}
function calculate_dims(){
//console.info(_theTarget);
ch = cthis.outerHeight();
th = _theTarget.outerHeight();
wh = window.innerHeight;
if(o.settings_substract_from_th){
th-= o.settings_substract_from_th;
}
if(o.settings_clip_height_is_window_height){
ch = window.innerHeight;
}
//return;
//console.info(initialheight);
if(cthis.hasClass('allbody')==false && cthis.hasClass('dzsparallaxer---window-height')==false && responsive_reference_width==0){
// console.info("hier");
if(th<=initialheight && th > 0){
if(o.settings_mode!='oneelement' && cthis.hasClass('do-not-set-js-height')==false && cthis.hasClass('height-is-based-on-content')==false) {
cthis.height(th);
}
ch = cthis.height();
//_theTarget.css('top',0);
if(is_ie()&&version_ie()<=10){
_theTarget.css('top','0');
}else{
_theTarget.css('transform','translate3d(0,'+0+'px,0)');
}
if(_blackOverlay){
_blackOverlay.css('opacity','0');
}
}else{
//console.log(cthis, 'why do we do this ? ');
// console.info(cthis.hasClass('do-not-set-js-height'));
if(o.settings_mode!='oneelement' && cthis.hasClass('do-not-set-js-height')==false && cthis.hasClass('height-is-based-on-content')==false){
cthis.height(initialheight);
}
}
}
if(_theTarget.attr('data-forcewidth_ratio')){
_theTarget.width(Number(_theTarget.attr('data-forcewidth_ratio')) * _theTarget.height());
if(_theTarget.width() 0){ vi_y = 0 };
if(vi_y < ch-th){ vi_y = ch-th };
if(bo_o > 1){ bo_o = 1 };
if(bo_o < 0){ bo_o = 0 };
finish_viy = vi_y;
//_theTarget.css('transform','translate3d(0,'+vi_y+'px,0)');
}
if( o.settings_movexaftermouse=='on'){
var mx = e.pageX;
var vi_x = 0;
vi_x = (mx/ww) * (cw-tw);
if(vi_x > 0){ vi_x = 0 };
if(vi_x < cw-tw){ vi_x = cw-tw };
finish_vix = vi_x;
//console.info(mx, ww, cw, tw, vi_x);
}
}
function handle_scroll(e, pargs){
//console.info('handle_scroll', cthis, e, $(window).scrollTop());
st = $(window).scrollTop();
vi_y = 0;
// console.info(st,cthis_ot-cthis.outerHeight(), st, cthis_ot+cthis.outerHeight() );
if( (cthis_ot > st-wh && st',_scrollTop_is_another_element_top.data('targettop'));
if(o.settings_listen_to_object_scroll_top){
st = o.settings_listen_to_object_scroll_top.val;
}
if(isNaN(st)){
st = 0;
}
if(e){
if(o.init_functional_remove_delay_on_scroll=='on'){
//console.info("REMOVE SUSPEND FUNCTIONAL !!! ", cthis, sw_suspend_functional, e);
sw_suspend_functional = false;
}
}
var margs = {
force_vi_y: null
,from: ''
,force_ch: null
,force_th: null
};
if(pargs){
margs = $.extend(margs,pargs);
}
if(o.settings_clip_height_is_window_height){
ch = window.innerHeight;
}
//console.info('ch pre force_ch',ch);
if(margs.force_ch!=null){
ch = margs.force_ch;
}
if(margs.force_th!=null){
th = margs.force_th;
}
//console.info('ch post force_ch',ch);
//console.info(margs);
if(started===false){
wh = window.innerHeight;
if((st+wh)>=cthis.offset().top){
init_start();
}
}
//console.info(th);
if(th==0){
return;
}
//console.warn(st+wh, cthis_ot, started)
if(started===false || (o.settings_mode!='scroll' && o.settings_mode!='oneelement') ){
return;
}
//console.warn(st+wh, cthis_ot, 'what')
if(o.settings_mode=='oneelement'){
var aux_r = (st-cthis_ot+wh) / wh;
if(cthis.attr('id')=='debug') {
// console.info((st-cthis_ot+wh), st,cthis_ot, wh, aux_r);
}
if(aux_r<0){
aux_r = 0;
}
if(aux_r>1){
aux_r = 1;
}
if (o.direction == 'reverse') {
aux_r = Math.abs(1-aux_r);
}
vi_y = (aux_r * ( o.settings_mode_oneelement_max_offset*2) ) - o.settings_mode_oneelement_max_offset ;
finish_viy = vi_y;
//console.warn(st+wh, cthis_ot, aux_r)
if(cthis.attr('id')=='debug'){
// console.info(vi_y);
}
}
if(o.settings_mode=='scroll') {
if (o.mode_scroll == 'fromtop') {
vi_y = ((st / ch)) * (ch - th);
if (o.is_fullscreen == 'on') {
vi_y = st / ($('body').height() - wh) * (ch - th);
if (_scrollTop_is_another_element_top) {
vi_y = st / (_scrollTop_is_another_element_top.height() - wh) * (ch - th);
}
}
if (o.direction == 'reverse') {
vi_y = (1 - (st / ch)) * (ch - th);
//console.info(st,th)
if (o.is_fullscreen == 'on') {
vi_y = (1 - (st / ($('body').height() - wh)) ) * (ch - th);
//console.info(_scrollTop_is_another_element_top);
if (_scrollTop_is_another_element_top) {
vi_y = (1 - (st / (_scrollTop_is_another_element_top.height() - wh)) ) * (ch - th);
//console.log(st,_scrollTop_is_another_element_top.height(),wh,ch,th, vi_y);
//vi_y = st / ( - wh) * (ch-th);
}
}
}
}
cthis_ot = cthis.offset().top;
if (_scrollTop_is_another_element_top) {
cthis_ot = -parseInt(_scrollTop_is_another_element_top.css('top'), 10);
}
//console.log(st, cthis_ot, wh, ch);
var auxer5 = (st - (cthis_ot - wh)) / ((cthis_ot + ch) - (cthis_ot - wh));
//console.info('is fullscreen ?? - ', o.is_fullscreen);
if (o.is_fullscreen == 'on') {
//console.info('scrolltop - ',st);
auxer5 = st / ($('body').height() - wh);
//console.info($('body').height(), wh);
if (_scrollTop_is_another_element_top) {
auxer5 = st / (_scrollTop_is_another_element_top.outerHeight() - wh);
//cthis_ot = -parseInt(_scrollTop_is_another_element_top.css('top'),10);
}
}
if (auxer5 > 1) {
auxer5 = 1;
}
if (auxer5 < 0) {
auxer5 = 0;
}
// console.info('st and auxer5 - ',st, auxer5, o.settings_listen_to_object_scroll_top);
if (animator_objects_arr) {
// console.info(animator_objects_arr);
for (i = 0; i < animator_objects_arr.length; i++) {
var _c = animator_objects_arr[i];
var cdata = _c.data('parallax_options');
//console.info(cdata);
if (cdata) {
for (var j = 0; j < cdata.length; j++) {
if (auxer5 <= 0.5) {
var auxer5_doubled = auxer5 * 2;
var auxer5_doubled_inverse = (auxer5 * 2) - 1;
if (auxer5_doubled_inverse < 0) {
auxer5_doubled_inverse = -auxer5_doubled_inverse;
}
//var auxval = cdata[j].initial + (auxer5*2) * cdata[j].mid;
//if(cdata[j].initial > cdata[j].mid){
// auxval = (auxer5*2) * cdata[j].mid - cdata[j].initial;
//}
var auxval = auxer5_doubled_inverse * cdata[j].initial + auxer5_doubled * cdata[j].mid;
var cval = cdata[j].value;
cval = cval.replace('{{val}}', auxval);
//console.log(cval);
//console.info(cdata[j].property, auxval);
_c.css(cdata[j].property, cval);
} else {
var auxer5_doubled = (auxer5 - 0.5) * 2;
var auxer5_doubled_inverse = auxer5_doubled - 1;
if (auxer5_doubled_inverse < 0) {
auxer5_doubled_inverse = -auxer5_doubled_inverse;
}
//var auxval = cdata[j].initial + (auxer5*2) * cdata[j].mid;
//if(cdata[j].initial > cdata[j].mid){
// auxval = (auxer5*2) * cdata[j].mid - cdata[j].initial;
//}
var auxval = auxer5_doubled_inverse * cdata[j].mid + auxer5_doubled * cdata[j].final;
//console.info(auxval,auxer5_doubled_inverse,auxer5_doubled)
var cval = cdata[j].value;
cval = cval.replace('{{val}}', auxval);
_c.css(cdata[j].property, cval);
}
}
}
//console.info(animator_objects_arr[i],);
}
}
//console.info(auxer5, ch,th);
//console.info('pre calculate vi_y', auxer5, ch, th);
if (o.mode_scroll == 'normal') {
vi_y = auxer5 * (ch - th);
//consoel.info(auxer5, vi_y);
if (o.direction == 'reverse') {
vi_y = (1 - (auxer5)) * (ch - th);
}
// console.info(vi_y, auxer5, ch, th);
if (cthis.hasClass('debug-target')) {
console.info(o.mode_scroll, st, cthis_ot, wh, ch, (cthis_ot + ch), auxer5);
}
}
if(cthis.hasClass('simple-parallax')){
aux_r = (st+wh-cthis_ot) / (wh+th);
// console.info('scroll top - ',st);
// console.info('window height - ',wh);
// console.info('cthis offset top - ',cthis_ot);
// console.info('total height - ',th);
if(aux_r<0){
aux_r = 0;
}
if(aux_r>1){
aux_r = 1;
}
aux_r = Math.abs(1-aux_r);
// console.info(aux_r);
if(cthis.hasClass('is-mobile')){
simple_parallaxer_max_offset = cthis.height()/2;
}
vi_y = (aux_r * ( simple_parallaxer_max_offset*2) ) - simple_parallaxer_max_offset ;
// console.warn(aux_r, vi_y);
}
//console.info('calculate vi_y', vi_y);
if (_fadeouttarget) {
var auxer4 = Math.abs(((st - cthis_ot) / cthis.outerHeight()) - 1);
if (auxer4 > 1) {
auxer4 = 1;
}
if (auxer4 < 0) {
auxer4 = 0;
}
_fadeouttarget.css('opacity', auxer4);
}
bo_o = st / ch;
// console.info(st, vi_y,ch,th);
if(cthis.hasClass('simple-parallax')==false){
if (vi_y > 0) {
vi_y = 0
}
;
if (vi_y < ch - th) {
vi_y = ch - th
}
;
// console.info(vi_y);
}
if (bo_o > 1) {
bo_o = 1
}
;
if (bo_o < 0) {
bo_o = 0
}
;
//console.log(vi_y);
if (margs.force_vi_y) {
vi_y = margs.force_vi_y;
}
finish_viy = vi_y;
finish_bo = bo_o;
// console.info(finish_viy);
// console.info('check ' , duration_viy);
if (duration_viy === 0) {
target_viy = finish_viy;
if (sw_suspend_functional == false || 0) {
//console.info('DURATION VIY = 0', st, vi_y, target_viy)
// if (is_ie() && version_ie() <= 10) {
// _theTarget.css('top', '' + target_viy + 'px');
// } else {
//
//
// _theTarget.css('transform', 'translate3d(0,' + target_viy + 'px,0)');
// }
// console.info('check 2' , duration_viy);
if(cthis.hasClass('simple-parallax')){
if(_theTarget.parent().hasClass('is-image') || cthis.hasClass('simple-parallax--is-only-image')){
//_theTarget.css('background-position-y',target_viy+'px')
_theTarget.css('background-position-y','calc(50% - '+parseInt(target_viy,10)+'px)')
}
}else{
if(is_ie()&&version_ie()<=10){
_theTarget.css('top',''+target_viy+'px');
}else{
_theTarget.css('transform','translate3d('+target_vix+'px,'+target_viy+'px,0)');
if(o.settings_mode=='oneelement'){
cthis.css('transform','translate3d('+target_vix+'px,'+target_viy+'px,0)');
}
}
}
}
}
//clearTimeout(inter_suspend_enter_frame);
//if(sw_suspend_functional==false){
// inter_suspend_enter_frame = setTimeout(switch_suspend_enter_frame,700);
//}
//sw_suspend_functional = false;
}
var time=0;
//console.info(vi_y);
//console.info(st/ch, vi_y);
//_theTarget.css('top',vi_y);
//_theTarget.css('transform','translate3d(0,'+vi_y+'px,0)');
}
function switch_suspend_enter_frame(){
sw_suspend_functional=true;
}
function handle_frame(){
if(sw_suspend_functional){
requestAnimFrame(handle_frame);
return false;
}
//console.info('handle_frame', finish_viy, duration_viy, target_viy);
//console.info('handle_frame()' , cthis);
if(isNaN(target_viy)){
target_viy=0;
}
if(debug_var){
//console.log('animation running');
debug_var=false;
}
//console.info(duration_viy);
if(duration_viy===0){
if(api_outer_update_func){
api_outer_update_func(target_viy);
}
requestAnimFrame(handle_frame);
return false;
}
begin_viy = target_viy;
change_viy = finish_viy - begin_viy;
begin_bo = target_bo;
change_bo = finish_bo - begin_bo;
//console.info(finish_viy, begin_viy, change_viy);
//console.log(duration_viy);
if(o.easing=='easeIn'){
target_viy = Number(Math.easeIn(1, begin_viy, change_viy, duration_viy).toFixed(5));
//target_viy = Number(Math.easeIn(1, begin_viy, change_viy, duration_viy));
target_bo = Number(Math.easeIn(1, begin_bo, change_bo, duration_viy).toFixed(5));
// console.info(target_viy);
}
if(o.easing=='easeOutQuad'){
target_viy = Math.easeOutQuad(1, begin_viy, change_viy, duration_viy);
target_bo = Math.easeOutQuad(1, begin_bo, change_bo, duration_viy);
}
if(o.easing=='easeInOutSine'){
target_viy = Math.easeInOutSine(1, begin_viy, change_viy, duration_viy);
target_bo = Math.easeInOutSine(1, begin_bo, change_bo, duration_viy);
}
target_vix = 0;
if(o.settings_movexaftermouse=='on'){
begin_vix = target_vix;
change_vix = finish_vix - begin_vix;
target_vix = Math.easeIn(1, begin_vix, change_vix, duration_viy);
}
//console.log(begin_viy, change_viy, target_viy);
// console.info('DURATION VIY = many', duration_viy, vi_y, target_viy)
if(cthis.hasClass('simple-parallax')){
if(_theTarget.parent().hasClass('is-image')){
//_theTarget.css('background-position-y',target_viy+'px')
_theTarget.css('background-position-y','calc(50% - '+parseInt(target_viy,10)+'px)')
}
}else{
if(is_ie()&&version_ie()<=10){
_theTarget.css('top',''+target_viy+'px');
}else{
_theTarget.css('transform','translate3d('+target_vix+'px,'+target_viy+'px,0)');
if(o.settings_mode=='oneelement'){
cthis.css('transform','translate3d('+target_vix+'px,'+target_viy+'px,0)');
}
}
}
//console.info(_blackOverlay,target_bo);;
if(_blackOverlay){
_blackOverlay.css('opacity',target_bo);
}
if(api_outer_update_func){
api_outer_update_func(target_viy);
}
if(stop_enter_frame){
return false;
}
requestAnimFrame(handle_frame);
}
})
}
window.dzsprx_init = function(selector, settings) {
if(typeof(settings)!="undefined" && typeof(settings.init_each)!="undefined" && settings.init_each==true ){
var element_count = 0;
for (var e in settings) { element_count++; }
if(element_count==1){
settings = undefined;
}
$(selector).each(function(){
var _t = $(this);
_t.dzsparallaxer(settings)
});
}else{
$(selector).dzsparallaxer(settings);
}
};
})(jQuery);
function is_mobile() {
var userAgent = navigator.userAgent || navigator.vendor || window.opera;
// Windows Phone must come first because its UA also contains "Android"
if (/windows phone/i.test(userAgent)) {
return true;
}
if (/android/i.test(userAgent)) {
return true;
}
// iOS detection from: http://stackoverflow.com/a/9039885/177710
if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) {
return true;
}
return false;
}
function is_touch_device() {
return !!('ontouchstart' in window);
}
window.requestAnimFrame = (function(){
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
function( callback ){
window.setTimeout(callback, 1000 / 60);
};
})();
function is_ie() {
var ua = window.navigator.userAgent;
//console.info(ua);
var msie = ua.indexOf('MSIE ');
if (msie > 0) {
// IE 10 or older => return version number
return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);
}
var trident = ua.indexOf('Trident/');
if (trident > 0) {
// IE 11 => return version number
var rv = ua.indexOf('rv:');
return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);
}
var edge = ua.indexOf('Edge/');
if (edge > 0) {
// IE 12 => return version number
return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);
}
// other browser
return false;
}
;
function is_ie11(){
return !(window.ActiveXObject) && "ActiveXObject" in window;
}
function version_ie() {
return parseFloat(navigator.appVersion.split("MSIE")[1]);
}
;
jQuery(document).ready(function($){
$('.dzsparallaxer---window-height').each(function(){
var _t = $(this);
//return false;
$(window).on('resize',handle_resize);
handle_resize();
function handle_resize(){
var wh = window.innerHeight;
_t.height(wh);
}
})
dzsprx_init('.dzsparallaxer.auto-init', {init_each: true});
});