/* ATTENTION! This file was generated automatically! Don't change it!!! ----------------------------------------------------------------------- */ (function() { "use strict"; window.trx_addons_get_cookie = function(name) { var defa = arguments[1] !== undefined ? arguments[1] : null; var start = document.cookie.indexOf(name + '='); var len = start + name.length + 1; if ((!start) && (name != document.cookie.substring(0, name.length))) { return defa; } if (start == -1) return defa; var end = document.cookie.indexOf(';', len); if (end == -1) end = document.cookie.length; return unescape(document.cookie.substring(len, end)); }; window.trx_addons_set_cookie = function(name, value) { var expires = arguments[2] !== undefined ? arguments[2] : 0; var path = arguments[3] !== undefined ? arguments[3] : '/'; var domain = arguments[4] !== undefined ? arguments[4] : ''; var secure = arguments[5] !== undefined ? arguments[5] : ''; var today = new Date(); today.setTime(today.getTime()); if (expires) { expires = expires * 1000 * 60 * 60 * 24; } var expires_date = new Date(today.getTime() + (expires)); document.cookie = name + '=' + escape(value) + ((expires) ? ';expires=' + expires_date.toGMTString() : '') + ((path) ? ';path=' + path : '') + ((domain) ? ';domain=' + domain : '') + ((secure) ? ';secure' : ''); }; window.trx_addons_del_cookie = function(name) { var path = arguments[1] !== undefined ? arguments[1] : '/'; var domain = arguments[2] !== undefined ? arguments[2] : ''; if (trx_addons_get_cookie(name)) document.cookie = name + '=' + ((path) ? ';path=' + path : '') + ((domain) ? ';domain=' + domain : '') + ';expires=Thu, 01-Jan-1970 00:00:01 GMT'; }; window.trx_addons_is_local_storage_exists = function() { try { return 'localStorage' in window && window['localStorage'] !== null; } catch (e) { return false; } }; window.trx_addons_get_storage = function(name) { var defa = arguments[1] !== undefined ? arguments[1] : null; var val = null; if (trx_addons_is_local_storage_exists()) { val = window['localStorage'].getItem(name); if (val === null) val = defa; } else { val = trx_addons_get_cookie(name, defa); } return val; }; window.trx_addons_set_storage = function(name, value) { if (trx_addons_is_local_storage_exists()) window['localStorage'].setItem(name, value); else trx_addons_set_cookie(name, value, 365); }; window.trx_addons_del_storage = function(name) { if (trx_addons_is_local_storage_exists()) window['localStorage'].removeItem(name); else trx_addons_del_cookie(name); }; window.trx_addons_clear_storage = function() { if (trx_addons_is_local_storage_exists()) window['localStorage'].clear(); }; window.trx_addons_clear_listbox = function(box) { for (var i=box.options.length-1; i >= 0; i--) box.options[i] = null; }; window.trx_addons_add_listbox_item = function(box, val, text) { var item = new Option(); item.value = val; item.text = text; box.options.add(item); }; window.trx_addons_del_listbox_item_by_value = function(box, val) { for (var i=0; i < box.options.length; i++) { if (box.options[i].value == val) { box.options[i] = null; break; } } }; window.trx_addons_del_listbox_item_by_text = function(box, txt) { for (var i=0; i < box.options.length; i++) { if (box.options[i].text == txt) { box.options[i] = null; break; } } }; window.trx_addons_find_listbox_item_by_value = function(box, val) { var idx = -1; for (var i=0; i < box.options.length; i++) { if (box.options[i].value == val) { idx = i; break; } } return idx; }; window.trx_addons_find_listbox_item_by_text = function(box, txt) { var idx = -1; for (var i=0; i < box.options.length; i++) { if (box.options[i].text == txt) { idx = i; break; } } return idx; }; window.trx_addons_select_listbox_item_by_value = function(box, val) { for (var i = 0; i < box.options.length; i++) { box.options[i].selected = (val == box.options[i].value); } }; window.trx_addons_select_listbox_item_by_text = function(box, txt) { for (var i = 0; i < box.options.length; i++) { box.options[i].selected = (txt == box.options[i].text); } }; window.trx_addons_get_listbox_values = function(box) { var delim = arguments[1] ? arguments[1] : ','; var str = ''; for (var i=0; i < box.options.length; i++) { str += (str ? delim : '') + box.options[i].value; } return str; }; window.trx_addons_get_listbox_texts = function(box) { var delim = arguments[1] ? arguments[1] : ','; var str = ''; for (var i=0; i < box.options.length; i++) { str += (str ? delim : '') + box.options[i].text; } return str; }; window.trx_addons_sort_listbox = function(box) { var temp_opts = new Array(); var temp = new Option(); for(var i=0; i temp_opts[y].text) { temp = temp_opts[x]; temp_opts[x] = temp_opts[y]; temp_opts[y] = temp; } } } for(i=0; i 0 && val.length < opt.rules[i].min_length.value) { if (error_msg === '') jQuery(this).get(0).focus(); error_msg += '

' + (typeof(opt.rules[i].min_length.message)!='undefined' ? opt.rules[i].min_length.message : opt.error_message_text ) + '

'; error = true; } } if ((!error || !opt.exit_after_first_error) && typeof(opt.rules[i].max_length) == 'object') { if (opt.rules[i].max_length.value > 0 && val.length > opt.rules[i].max_length.value) { if (error_msg === '') jQuery(this).get(0).focus(); error_msg += '

' + (typeof(opt.rules[i].max_length.message)!='undefined' ? opt.rules[i].max_length.message : opt.error_message_text ) + '

'; error = true; } } if ((!error || !opt.exit_after_first_error) && typeof(opt.rules[i].mask) == 'object') { if (opt.rules[i].mask.value !== '') { var regexp = new RegExp(opt.rules[i].mask.value); if (!regexp.test(val)) { if (error_msg === '') jQuery(this).get(0).focus(); error_msg += '

' + (typeof(opt.rules[i].mask.message)!='undefined' ? opt.rules[i].mask.message : opt.error_message_text ) + '

'; error = true; } } } if ((!error || !opt.exit_after_first_error) && typeof(opt.rules[i].state) == 'object') { if (opt.rules[i].state.value=='checked' && !jQuery(this).get(0).checked) { if (error_msg === '') jQuery(this).get(0).focus(); error_msg += '

' + (typeof(opt.rules[i].state.message)!='undefined' ? opt.rules[i].state.message : opt.error_message_text ) + '

'; error = true; } } if ((!error || !opt.exit_after_first_error) && typeof(opt.rules[i].equal_to) == 'object') { if (opt.rules[i].equal_to.value !== '' && val!=jQuery(jQuery(this).get(0).form[opt.rules[i].equal_to.value]).val()) { if (error_msg === '') jQuery(this).get(0).focus(); error_msg += '

' + (typeof(opt.rules[i].equal_to.message)!='undefined' ? opt.rules[i].equal_to.message : opt.error_message_text ) + '

'; error = true; } } if (opt.error_fields_class !== '') jQuery(this).toggleClass(opt.error_fields_class, error); } } }); if (error_msg !== '' && opt.error_message_show) { var error_message_box = form.find(".trx_addons_message_box"); if (error_message_box.length == 0) error_message_box = form.parent().find(".trx_addons_message_box"); if (error_message_box.length == 0) { form.append('
'); error_message_box = form.find(".trx_addons_message_box"); } else error_message_box.removeClass(opt.success_message_class); if (opt.error_message_class) error_message_box.addClass(opt.error_message_class); error_message_box.html(error_msg).fadeIn(); setTimeout(function() { error_message_box.fadeOut(); }, opt.error_message_time); } return error_msg !== ''; }; window.trx_addons_refresh_list = function(parent_type, parent_val, list_fld, list_lbl, list_not_selected) { if (list_not_selected === undefined) { var list_not_selected = list_fld.data('not-selected')===true || list_fld.parents('.vc_edit-form-tab').length > 0 || list_fld.parents('#elementor-controls').length > 0 || list_fld.parents('[class*="widget_field_type_"]').length > 0 || list_fld.parents('.widget-liquid-right').length > 0 || list_fld.parents('.widgets-holder-wrap').length > 0 || list_fld.parents('.customize-control-widget_form').length > 0; } var list_val = list_fld.val(); if (list_lbl.find('.trx_addons_refresh').length == 0) { list_lbl.append(''); } if ( parent_val ) { var data = { action: 'trx_addons_refresh_list', nonce: TRX_ADDONS_STORAGE['ajax_nonce'], parent_type: parent_type, parent_value: parent_val, list_not_selected: list_not_selected }; jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], data, function(response) { var rez = {}; try { rez = JSON.parse(response); } catch (e) { rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; console.log(response); } if (rez.error === '') { trx_addons_refresh_field_items( rez.data ); } }); } else { trx_addons_refresh_field_items( [] ); } function trx_addons_refresh_field_items( data ) { var opt_list = ''; var list_type = list_fld.prop('tagName').toLowerCase(); var list_name = list_type == 'select' ? list_fld.attr('name') : list_fld.data('field_name'); if ( data.length == 0 ) { data = [ { key: 0, value: '-' } ]; } for (var i in data) { if (list_type != 'select' && data[i]['key'] == 0) continue; opt_list += list_type == 'select' ? '' : ''; } list_fld .html(opt_list); if (list_type == 'select' && list_fld.find('option:selected').length == 0 && list_fld.find('option').length > 0) { list_fld.find('option').get(0).selected = true; } list_lbl.find('span.trx_addons_refresh').remove(); list_fld.trigger('change'); } return false; }; window.trx_addons_document_animate_to = function(id, callback) { var oft = !isNaN(id) ? Number(id) : 0, oft2 = -1; if (isNaN(id)) { if (id.indexOf('#')==-1) id = '#' + id; var obj = jQuery(id).eq(0); if (obj.length == 0) return; oft = obj.offset().top; oft2 = Math.max(0, oft - trx_addons_fixed_rows_height()); } var speed = Math.min(1000, Math.max(300, Math.round(Math.abs( (oft2 < 0 ? oft : oft2) - jQuery(window).scrollTop()) / jQuery(window).height() * 300))); if (oft2 >= 0) { setTimeout(function() { if (isNaN(id)) oft = obj.offset().top; oft2 = Math.max(0, oft - trx_addons_fixed_rows_height()); jQuery('body,html').stop(true).animate( {scrollTop: oft2}, Math.floor(speed/2), 'linear', callback ); }, Math.floor(speed/2)); } else { oft2 = oft; } jQuery('body,html').stop(true).animate( {scrollTop: oft2}, speed, 'linear', callback ); }; window.trx_addons_fixed_rows_height = function() { var with_admin_bar = arguments.length>0 ? arguments[0] : true; var with_fixed_rows = arguments.length>1 ? arguments[1] : true; var oft = 0; if (with_admin_bar) { var admin_bar = jQuery('#wpadminbar'); oft += admin_bar.length > 0 && admin_bar.css('display')!='none' && admin_bar.css('position')=='fixed' ? admin_bar.height() : 0; } if (with_fixed_rows) { jQuery('.sc_layouts_row_fixed_on').each(function() { if (jQuery(this).css('position')=='fixed') oft += jQuery(this).height(); }); } return oft; }; window.trx_addons_document_set_location = function(curLoc){ if (history.pushState===undefined || navigator.userAgent.match(/MSIE\s[6-9]/i) != null) return; try { history.pushState(null, null, curLoc); return; } catch(e) {} location.href = curLoc; }; window.trx_addons_add_to_url = function(loc, prm) { var ignore_empty = arguments[2] !== undefined ? arguments[2] : true; var q = loc.indexOf('?'); var attr = {}; if (q > 0) { var qq = loc.substr(q+1).split('&'); var parts = ''; for (var i=0; i < qq.length; i++) { parts = qq[i].split('='); attr[parts[0]] = parts.length>1 ? parts[1] : ''; } } for (var p in prm) { attr[p] = prm[p]; } loc = (q > 0 ? loc.substr(0, q) : loc) + '?'; var i = 0; for (p in attr) { if (ignore_empty && attr[p] === '') continue; loc += (i++ > 0 ? '&' : '') + p + '=' + attr[p]; } return loc; }; window.trx_addons_is_local_link = function(url) { var rez = url!==undefined; if (rez) { var url_pos = url.indexOf('#'); if (url_pos == 0 && url.length == 1) rez = false; else { if (url_pos < 0) url_pos = url.length; var loc = window.location.href; var loc_pos = loc.indexOf('#'); if (loc_pos > 0) loc = loc.substring(0, loc_pos); rez = url_pos==0; if (!rez) rez = loc == url.substring(0, url_pos); } } return rez; }; window.trx_addons_get_embed_from_url = function(url, autoplay) { if (autoplay === undefined) var autoplay = true; url = url.replace('/watch?v=', '/embed/') .replace('/vimeo.com/', '/player.vimeo.com/video/'); if (autoplay) { url += (url.indexOf('?') > 0 ? '&' : '?') + '&autoplay=1'; } return ''; }; window.trx_addons_set_autoplay = function(container, value) { if (value === undefined) value = 1; container.find('.video_frame > iframe, iframe').each(function () { if (value) { jQuery(this).attr('allow', 'autoplay'); } var src = jQuery(this).data('src'); if (src) { jQuery(this).attr('src', src); } else { var src = jQuery(this).attr('src'); if (src === undefined) src = ''; if (src.indexOf('youtube')>=0 || src.indexOf('vimeo')>=0) { jQuery(this).attr('src', trx_addons_add_to_url(src, {'autoplay': value})); } } }); }; window.trx_addons_browser_is_mobile = function() { var check = false; (function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true})(navigator.userAgent||navigator.vendor||window.opera); return check; }; window.trx_addons_browser_is_ios = function() { return navigator.userAgent.match(/iPad|iPhone|iPod/i) != null || navigator.platform.match(/(Mac|iPhone|iPod|iPad)/i)?true:false; }; window.trx_addons_is_retina = function() { var mediaQuery = '(-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx)'; return (window.devicePixelRatio > 1) || (window.matchMedia && window.matchMedia(mediaQuery).matches); }; window.trx_addons_get_file_name = function(path) { path = path.replace(/\\/g, '/'); var pos = path.lastIndexOf('/'); if (pos >= 0) path = path.substr(pos+1); return path; }; window.trx_addons_get_file_ext = function(path) { var pos = path.lastIndexOf('.'); path = pos >= 0 ? path.substr(pos+1) : ''; return path; }; window.trx_addons_get_basename = function(path) { return trx_addons_get_file_name(path).replace('.'+trx_addons_get_file_ext(path), ''); }; window.trx_addons_is_images_loaded = function(cont) { var complete = true; cont.find('img').each(function() { if (!complete) return; var img = jQuery(this).get(0); if (typeof img.naturalWidth == 'number' && typeof img.naturalHeight == 'number') complete = !(this.naturalWidth == 0 && this.naturalHeight == 0); else if (typeof img.complete == 'boolean') complete = img.complete; }); return complete; }; window.trx_addons_when_images_loaded = function(cont, callback, max_delay) { if (max_delay === undefined) { var max_delay = 3000; } if (max_delay <= 0 || trx_addons_is_images_loaded(cont)) { callback(); } else { setTimeout(function(){ trx_addons_when_images_loaded(cont, callback, max_delay - 200); }, 200); } }; window.trx_addons_round_number = function(num) { var precision = arguments[1]!==undefined ? arguments[1] : 0; var p = Math.pow(10, precision); return Math.round(num*p)/p; }; Number.prototype.formatMoney = function(c, d, t) { var n = this, c = c == undefined ? 2 : (isNaN(c = Math.abs(c)) ? 2 : c), d = d == undefined ? "." : d, t = t == undefined ? "," : t, s = n < 0 ? "-" : "", i = String(parseInt(n = Math.abs(Number(n) || 0).toFixed(c))), j = (j = i.length) > 3 ? j % 3 : 0; return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : ""); }; window.trx_addons_random = function(a, b) { return Math.floor( Math.random() * ( b - a ) ) + a; }; window.trx_addons_proper = function(str) { return str.replace(/(\b\w)/gi, function(m) { return m.toUpperCase(); }); }; window.trx_addons_replicate = function(str, num) { var rez = ''; for (var i=0; i < num; i++) { rez += str; } return rez; }; window.trx_addons_prepare_macros = function(str) { return str .replace(/\{\{/g, "") .replace(/\}\}/g, "") .replace(/\(\(/g, "") .replace(/\)\)/g, "") .replace(/\|\|/g, "
"); }; window.trx_addons_remove_macros = function(str) { return str .replace(/\{\{/g, "") .replace(/\}\}/g, "") .replace(/\(\(/g, "") .replace(/\)\)/g, "") .replace(/\|\|/g, ""); }; window.trx_addons_parse_codes = function(text, tag_start, tag_end) { if (tag_start === undefined) tag_start = '{{'; if (tag_end === undefined) tag_end = '}}'; var r1 = new RegExp(tag_start, 'g'); var r2 = new RegExp(tag_end, 'g'); return text.replace(r1, '<').replace(r2, '>'); }; window.trx_addons_is_on = function(prm) { return prm>0 || ['true', 'on', 'yes', 'show'].indexOf((''+prm).toLowerCase()) >= 0; }; window.trx_addons_is_off = function(prm) { return prm === '' || prm === 0 || ['false', 'off', 'no', 'none', 'hide'].indexOf((''+prm).toLowerCase()) >= 0; }; window.trx_addons_is_inherit = function(prm) { return ['inherit'].indexOf((''+prm).toLowerCase()) >= 0; }; window.trx_addons_get_icon_class = function(classes) { var classes = classes.split(' '); var icon = ''; for (var i=0; i < classes.length; i++) { if (classes[i].indexOf('icon-') >= 0) { icon = classes[i]; break; } } return icon; }; window.trx_addons_chg_icon_class = function(classes, icon) { var chg = false; classes = classes.split(' '); for (var i=0; i < classes.length; i++) { if (classes[i].indexOf('icon-') >= 0) { classes[i] = icon; chg = true; break; } } if (!chg) { if (classes.length == 1 && classes[0] === '') classes[0] = icon; else classes.push(icon); } return classes.join(' '); }; window.trx_addons_hex2rgb = function(hex) { hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16); return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)}; }; window.trx_addons_hex2rgba = function(hex, alpha) { var rgb = trx_addons_hex2rgb(hex); return 'rgba('+rgb.r+','+rgb.g+','+rgb.b+','+alpha+')'; }; window.trx_addons_rgb2hex = function(color) { var aRGB; color = color.replace(/\s/g,"").toLowerCase(); if (color=='rgba(0,0,0,0)' || color=='rgba(0%,0%,0%,0%)') color = 'transparent'; if (color.indexOf('rgba(')==0) aRGB = color.match(/^rgba\((\d{1,3}[%]?),(\d{1,3}[%]?),(\d{1,3}[%]?),(\d{1,3}[%]?)\)$/i); else aRGB = color.match(/^rgb\((\d{1,3}[%]?),(\d{1,3}[%]?),(\d{1,3}[%]?)\)$/i); if(aRGB) { color = ''; for (var i=1; i <= 3; i++) color += Math.round((aRGB[i][aRGB[i].length-1]=="%"?2.55:1)*parseInt(aRGB[i])).toString(16).replace(/^(.)$/,'0$1'); } else color = color.replace(/^#?([\da-f])([\da-f])([\da-f])$/i, '$1$1$2$2$3$3'); return (color.substr(0,1)!='#' ? '#' : '') + color; }; window.trx_addons_components2hex = function(r,g,b) { return '#'+ Number(r).toString(16).toUpperCase().replace(/^(.)$/,'0$1') + Number(g).toString(16).toUpperCase().replace(/^(.)$/,'0$1') + Number(b).toString(16).toUpperCase().replace(/^(.)$/,'0$1'); }; window.trx_addons_rgb2components = function(color) { color = trx_addons_rgb2hex(color); var matches = color.match(/^#?([\dabcdef]{2})([\dabcdef]{2})([\dabcdef]{2})$/i); if (!matches) return false; for (var i=1, rgb = new Array(3); i <= 3; i++) rgb[i-1] = parseInt(matches[i],16); return rgb; }; window.trx_addons_hex2hsb = function(hex) { var h = arguments[1]!==undefined ? arguments[1] : 0; var s = arguments[2]!==undefined ? arguments[2] : 0; var b = arguments[3]!==undefined ? arguments[3] : 0; var hsb = trx_addons_rgb2hsb(trx_addons_hex2rgb(hex)); hsb.h = Math.min(359, Math.max( 0, hsb.h + h)); hsb.s = Math.min(100, Math.max( 0, hsb.s + s)); hsb.b = Math.min(100, Math.max( 0, hsb.b + b)); return hsb; }; window.trx_addons_hsb2hex = function(hsb) { var rgb = trx_addons_hsb2rgb(hsb); return trx_addons_components2hex(rgb.r, rgb.g, rgb.b); }; window.trx_addons_rgb2hsb = function(rgb) { var hsb = {}; hsb.b = Math.max(Math.max(rgb.r,rgb.g),rgb.b); hsb.s = (hsb.b <= 0) ? 0 : Math.round(100*(hsb.b - Math.min(Math.min(rgb.r,rgb.g),rgb.b))/hsb.b); hsb.b = Math.round((hsb.b /255)*100); if ((rgb.r==rgb.g) && (rgb.g==rgb.b)) hsb.h = 0; else if (rgb.r>=rgb.g && rgb.g>=rgb.b) hsb.h = 60*(rgb.g-rgb.b)/(rgb.r-rgb.b); else if (rgb.g>=rgb.r && rgb.r>=rgb.b) hsb.h = 60 + 60*(rgb.g-rgb.r)/(rgb.g-rgb.b); else if (rgb.g>=rgb.b && rgb.b>=rgb.r) hsb.h = 120 + 60*(rgb.b-rgb.r)/(rgb.g-rgb.r); else if (rgb.b>=rgb.g && rgb.g>=rgb.r) hsb.h = 180 + 60*(rgb.b-rgb.g)/(rgb.b-rgb.r); else if (rgb.b>=rgb.r && rgb.r>=rgb.g) hsb.h = 240 + 60*(rgb.r-rgb.g)/(rgb.b-rgb.g); else if (rgb.r>=rgb.b && rgb.b>=rgb.g) hsb.h = 300 + 60*(rgb.r-rgb.b)/(rgb.r-rgb.g); else hsb.h = 0; hsb.h = Math.round(hsb.h); return hsb; }; window.trx_addons_hsb2rgb = function(hsb) { var rgb = {}; var h = Math.round(hsb.h); var s = Math.round(hsb.s*255/100); var v = Math.round(hsb.b*255/100); if (s == 0) { rgb.r = rgb.g = rgb.b = v; } else { var t1 = v; var t2 = (255-s)*v/255; var t3 = (t1-t2)*(h%60)/60; if (h==360) h = 0; if (h<60) { rgb.r=t1; rgb.b=t2; rgb.g=t2+t3; } else if (h<120) { rgb.g=t1; rgb.b=t2; rgb.r=t1-t3; } else if (h<180) { rgb.g=t1; rgb.r=t2; rgb.b=t2+t3; } else if (h<240) { rgb.b=t1; rgb.r=t2; rgb.g=t1-t3; } else if (h<300) { rgb.b=t1; rgb.g=t2; rgb.r=t2+t3; } else if (h<360) { rgb.r=t1; rgb.g=t2; rgb.b=t1-t3; } else { rgb.r=0; rgb.g=0; rgb.b=0; } } return { r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b) }; }; window.trx_addons_color_picker = function(){ var id = arguments[0]!==undefined ? arguments[0] : "iColorPicker"+Math.round(Math.random()*1000); var colors = arguments[1]!==undefined ? arguments[1] : '#f00,#ff0,#0f0,#0ff,#00f,#f0f,#fff,#ebebeb,#e1e1e1,#d7d7d7,#cccccc,#c2c2c2,#b7b7b7,#acacac,#a0a0a0,#959595,' +'#ee1d24,#fff100,#00a650,#00aeef,#2f3192,#ed008c,#898989,#7d7d7d,#707070,#626262,#555,#464646,#363636,#262626,#111,#000,' +'#f7977a,#fbad82,#fdc68c,#fff799,#c6df9c,#a4d49d,#81ca9d,#7bcdc9,#6ccff7,#7ca6d8,#8293ca,#8881be,#a286bd,#bc8cbf,#f49bc1,#f5999d,' +'#f16c4d,#f68e54,#fbaf5a,#fff467,#acd372,#7dc473,#39b778,#16bcb4,#00bff3,#438ccb,#5573b7,#5e5ca7,#855fa8,#a763a9,#ef6ea8,#f16d7e,' +'#ee1d24,#f16522,#f7941d,#fff100,#8fc63d,#37b44a,#00a650,#00a99e,#00aeef,#0072bc,#0054a5,#2f3192,#652c91,#91278f,#ed008c,#ee105a,' +'#9d0a0f,#a1410d,#a36209,#aba000,#588528,#197b30,#007236,#00736a,#0076a4,#004a80,#003370,#1d1363,#450e61,#62055f,#9e005c,#9d0039,' +'#790000,#7b3000,#7c4900,#827a00,#3e6617,#045f20,#005824,#005951,#005b7e,#003562,#002056,#0c004b,#30004a,#4b0048,#7a0045,#7a0026'; var colorsList = colors.split(','); var tbl = ''; for (var i=0; i < colorsList.length; i++) { if (i%16==0) tbl += (i>0 ? '' : '') + ''; tbl += ''; } tbl += '' + '' + '' + '' + '
 
' + '' + '' + '' + '' + '
'; jQuery(document.createElement("div")) .attr("id", id) .css('display','none') .html(tbl) .appendTo("body") .addClass("iColorPickerTable") .on('mouseover', 'thead td', function(){ var aaa = trx_addons_rgb2hex(jQuery(this).css('background-color')); jQuery('#'+id+'_colorPreview').css('background',aaa); jQuery('#'+id+'_colorPreview input').val(aaa); }) .on('keypress', '#'+id+'_colorPreview input', function(key){ var aaa = jQuery(this).val(); if (key.which===13 && (aaa.length===4 || aaa.length===7)) { var fld = jQuery('#'+id).data('field'); var func = jQuery('#'+id).data('func'); if (func!=null && func!='undefined') { func(fld, aaa); } else { fld.val(aaa).css('backgroundColor', aaa).trigger('change'); } jQuery('#'+id+'_Bg').fadeOut(500); jQuery('#'+id).fadeOut(500); key.preventDefault(); return false; } }) .on('change', '#'+id+'_colorPreview input', function(key){ var aaa = jQuery(this).val(); if (aaa.substr(0,1)==='#' && (aaa.length===4 || aaa.length===7)) { jQuery('#'+id+'_colorPreview').css('background',aaa); } }) .on('click', 'thead td', function(e){ var fld = jQuery('#'+id).data('field'); var func = jQuery('#'+id).data('func'); var aaa = trx_addons_rgb2hex(jQuery(this).css('background-color')); if (func!=null && func!='undefined') { func(fld, aaa); } else { fld.val(aaa).css('backgroundColor', aaa).trigger('change'); } jQuery('#'+id+'_Bg').fadeOut(500); jQuery('#'+id).fadeOut(500); e.preventDefault(); return false; }) .on('click', 'tbody .iColorPicker_moreColors', function(e){ var thead = jQuery(this).parents('table').find('thead'); var out = ''; if (thead.hasClass('more_colors')) { for (var i=0; i < colorsList.length; i++) { if (i%16==0) out += (i>0 ? '' : '') + ''; out += ' '; } thead.removeClass('more_colors').empty().html(out+''); jQuery('#'+id+'_colorPreview').attr('colspan', 8); jQuery('#'+id+'_colorOriginal').attr('colspan', 8); } else { var rgb=[0,0,0], i=0, j=-1; while (rgb[0]<0xF || rgb[1]<0xF || rgb[2]<0xF) { if (i%18==0) out += (i>0 ? '' : '') + ''; i++; out += ' '; rgb[2]+=3; if (rgb[2]>0xF) { rgb[1]+=3; if (rgb[1]>(j===0 ? 6 : 0xF)) { rgb[0]+=3; if (rgb[0]>0xF) { if (j===0) { j=1; rgb[0]=0; rgb[1]=9; rgb[2]=0; } else { break; } } else { rgb[1]=(j < 1 ? 0 : 9); rgb[2]=0; } } else { rgb[2]=0; } } } thead.addClass('more_colors').empty().html(out+' '); jQuery('#'+id+'_colorPreview').attr('colspan', 9); jQuery('#'+id+'_colorOriginal').attr('colspan', 9); } jQuery('#'+id+' table.colorPickerTable thead td') .css({ 'width':'12px', 'height':'14px', 'border':'1px solid #000', 'cursor':'pointer' }); e.preventDefault(); return false; }); jQuery(document.createElement("div")) .attr("id", id+"_Bg") .on('click', function(e) { jQuery("#"+id+"_Bg").fadeOut(500); jQuery("#"+id).fadeOut(500); e.preventDefault(); return false; }) .appendTo("body"); jQuery('#'+id+' table.colorPickerTable thead td') .css({ 'width':'12px', 'height':'14px', 'border':'1px solid #000', 'cursor':'pointer' }); jQuery('#'+id+' table.colorPickerTable') .css({'border-collapse':'collapse'}); jQuery('#'+id) .css({ 'border':'1px solid #ccc', 'background':'#333', 'padding':'5px', 'color':'#fff' }); jQuery('#'+id+'_colorPreview') .css({'height':'50px'}); return id; }; window.trx_addons_color_picker_show = function(id, fld, func) { if (id === null || id === '') { id = jQuery('.iColorPickerTable').attr('id'); } var eICP = fld.offset(); var w = jQuery('#'+id).width(); var h = jQuery('#'+id).height(); var l = eICP.left + w < jQuery(window).width()-10 ? eICP.left : jQuery(window).width()-10 - w; var t = eICP.top + fld.outerHeight() + h < jQuery(document).scrollTop() + jQuery(window).height()-10 ? eICP.top + fld.outerHeight() : eICP.top - h - 13; jQuery("#"+id) .data({field: fld, func: func}) .css({ 'top':t+"px", 'left':l+"px", 'position':'absolute', 'z-index':999999 }) .fadeIn(500); jQuery("#"+id+"_Bg") .css({ 'position':'fixed', 'z-index':999998, 'top':0, 'left':0, 'width':'100%', 'height':'100%' }) .fadeIn(500); var def = fld.val().substr(0, 1)=='#' ? fld.val() : trx_addons_rgb2hex(fld.css('backgroundColor')); jQuery('#'+id+'_colorPreview input,#'+id+'_colorOriginal input').val(def); jQuery('#'+id+'_colorPreview,#'+id+'_colorOriginal').css('background',def); }; window.trx_addons_object_merge = function(o1, o2) { for (var i=1; i 0 && jQuery('.vc_empty-placeholder').length === 0 && vc_init_counter++ < 30) { setTimeout(trx_addons_init_actions, 200); return; } trx_addons_hide_preloader(); var msg = jQuery('.trx_addons_message_box_system'), msg_delay = 5000; if (msg.length > 0) { setTimeout(function() { msg.fadeIn().delay(msg_delay).fadeOut(); }, 1000); var login = jQuery('.trx_addons_login_link'); if (msg.hasClass('trx_addons_message_box_error') && login.length > 0) { setTimeout(function() { login.trigger('click'); }, 2000+msg_delay); } } if (typeof TRX_ADDONS_STORAGE['animate_to_hash']=='undefined' && !jQuery('body').hasClass('single-product')) { TRX_ADDONS_STORAGE['animate_to_hash'] = true; setTimeout(function() { if (window.mc4wp_forms_config && window.mc4wp_forms_config.submitted_form && window.mc4wp_forms_config.submitted_form.element_id) { trx_addons_document_animate_to(window.mc4wp_forms_config.submitted_form.element_id); } else if ( location.hash !== '' && location.hash != '#' && location.hash.indexOf('/') == -1 ) { var obj = jQuery(location.hash); if (obj.length > 0) { var off = obj.offset().top, scroll = jQuery(window).scrollTop(), fixed_height = trx_addons_fixed_rows_height(); if (!isNaN(off) && ((fixed_height > 0 && off - scroll < fixed_height + 60) || scroll === 0)) { trx_addons_document_animate_to(off - fixed_height - 60); } } } }, 600); } trx_addons_set_cookie('trx_addons_is_retina', trx_addons_is_retina() ? 1 : 0, 365); jQuery( document ).on( 'action.switch_to_mobile_layout', function() { jQuery('[data-hover-animation^="animated"]').each(function() { var animation = jQuery(this).data('hover-animation'); var animation_out = jQuery(this).data('animation-out'); if (animation_out == undefined) animation_out = "none"; jQuery(this).removeClass(animation + ' ' + animation_out); }); }); var first_call = true; jQuery(document) .on('action.init_hidden_elements', function() { trx_addons_ready_actions(); if ( ! first_call ) jQuery(window).trigger('scroll'); first_call = false; }) .trigger('action.init_hidden_elements', [jQuery('body')]); var vc_js = false; jQuery(document).on('vc_js', function() { if (!vc_js) { vc_js = true; trx_addons_add_handlers(); } }); setTimeout(function() { if (!vc_js) { trx_addons_add_handlers(); } }, 1); function trx_addons_add_handlers() { trx_addons_resize_actions(); jQuery(window).resize( function() { trx_addons_resize_actions(); } ); TRX_ADDONS_STORAGE['scroll_busy'] = true; trx_addons_scroll_actions(); jQuery(window).scroll( function() { if (window.requestAnimationFrame) { if ( ! TRX_ADDONS_STORAGE['scroll_busy'] ) { TRX_ADDONS_STORAGE['scroll_busy'] = true; window.requestAnimationFrame( trx_addons_scroll_actions ); } } else { TRX_ADDONS_STORAGE['scroll_busy'] = true; trx_addons_scroll_actions(); } } ); typeof window.wpb_prepare_tab_content == "function" && typeof window.wpb_prepare_tab_content_old == "undefined" && (window.wpb_prepare_tab_content_old = window.wpb_prepare_tab_content) && (window.wpb_prepare_tab_content = function(e, ui) { if (typeof ui.newPanel !== 'undefined' && ui.newPanel.length > 0) { jQuery(document).trigger('action.init_hidden_elements', [ui.newPanel]); } else if (typeof ui.panel !== 'undefined' && ui.panel.length > 0) { jQuery(document).trigger('action.init_hidden_elements', [ui.panel]); } window.wpb_prepare_tab_content_old(e, ui); } ); typeof window.vc_accordionActivate == "function" && typeof window.vc_accordionActivate_old == "undefined" && (window.vc_accordionActivate_old = window.vc_accordionActivate) && (window.vc_accordionActivate = function(e, ui) { if (typeof ui.newPanel !== 'undefined' && ui.newPanel.length > 0) { jQuery(document).trigger('action.init_hidden_elements', [ui.newPanel]); } else if (typeof ui.panel !== 'undefined' && ui.panel.length > 0) { jQuery(document).trigger('action.init_hidden_elements', [ui.panel]); } window.vc_accordionActivate_old(e, ui); } ); } } function trx_addons_ready_actions(e, container) { if (container === undefined) container = jQuery('body'); if (TRX_ADDONS_STORAGE['animate_inner_links'] > 0 && !container.hasClass('animate_to_inited')) { container .addClass('animate_to_inited') .on('click', 'a', function(e) { var link_obj = jQuery(this); var link_parent = link_obj.parent(); if (link_parent.parent().hasClass('trx_addons_tabs_titles') || link_obj.hasClass('trx_addons_panel_link') || link_obj.hasClass('trx_addons_popup_link') || link_parent.hasClass('vc_tta-tab') || link_obj.hasClass('vc_pagination-trigger') || link_obj.hasClass('ui-tabs-anchor') || link_parent.hasClass('vc_tta-panel-title') || link_parent.hasClass('wpb_accordion_header') || link_parent.parents('.wc-tabs').length > 0 || link_parent.parents('ul[class*="tabs"]').length > 0 ) { return true; } var href = link_obj.attr('href'); if (href == '#') return true; if (trx_addons_is_local_link(href)) { var pos = href.indexOf('#'), offset = 0; if (pos >= 0) { href = href.substr(pos); if (jQuery(href).length > 0) { trx_addons_document_animate_to(href); e.preventDefault(); return false; } } } }); } if (TRX_ADDONS_STORAGE['add_target_blank'] > 0) { jQuery('a').filter(function() { return this.hostname && this.hostname !== location.hostname; }).attr('target', '_blank').attr('rel', 'nofollow'); } jQuery('figcaption').each(function() { if (jQuery(this).text() == '') { jQuery(this).hide(); } }); if (jQuery.ui && jQuery.ui.tabs && container.find('.trx_addons_tabs:not(.inited)').length > 0) { container.find('.trx_addons_tabs:not(.inited)').each(function () { var init = jQuery(this).data('active'); if (isNaN(init)) { init = 0; var active = jQuery(this).find('> ul > li[data-active="true"]').eq(0); if (active.length > 0) { init = active.index(); if (isNaN(init) || init < 0) init = 0; } } else { init = Math.max(0, init); } var disabled = []; jQuery(this).find('> ul > li[data-disabled="true"]').each(function() { disabled.push(jQuery(this).index()); }); jQuery(this).addClass('inited').tabs({ active: init, disabled: disabled, show: { effect: 'fadeIn', duration: 300 }, hide: { effect: 'fadeOut', duration: 300 }, create: function( event, ui ) { if (ui.panel.length > 0) jQuery(document).trigger('action.init_hidden_elements', [ui.panel]); }, activate: function( event, ui ) { if (ui.newPanel.length > 0) jQuery(document).trigger('action.init_hidden_elements', [ui.newPanel]); } }); }); } if (jQuery.ui && jQuery.ui.accordion && container.find('.trx_addons_accordion:not(.inited)').length > 0) { container.find('.trx_addons_accordion:not(.inited)').each(function () { var accordion = jQuery(this); var headers = accordion.data('headers'); if (headers===undefined) headers = 'h5'; var height_style = accordion.data('height-style'); if (height_style===undefined) height_style = 'content'; var collapsible = accordion.data('collapsible'); if (collapsible===undefined) collapsible = false; var init = accordion.data('active'); var active = false; if (isNaN(init)) { init = 0; var active = accordion.find(headers+'[data-active="true"]').eq(0); if (active.length > 0) { while (!active.parent().hasClass('trx_addons_accordion')) { active = active.parent(); } init = active.index(); if (isNaN(init) || init < 0) init = 0; } } else { init = Math.max(0, init); } accordion.addClass('inited').accordion({ active: init, collapsible: collapsible, header: headers, heightStyle: height_style, create: function( event, ui ) { if (ui.panel.length > 0) { jQuery(document).trigger('action.init_hidden_elements', [ui.panel]); } else if (active !== false && active.length > 0) { active.find('>'+headers).trigger('click'); } }, activate: function( event, ui ) { if (ui.newPanel.length > 0) jQuery(document).trigger('action.init_hidden_elements', [ui.newPanel]); } }); }); } var cp = container.find('.trx_addons_color_selector:not(.inited)'), cp_created = false; if (cp.length > 0) { cp.addClass('inited').each(function() { if (jQuery(this).hasClass('iColorPicker')) { if (!cp_created) { trx_addons_color_picker(); cp_created = true; } trx_addons_change_field_colors(jQuery(this)); jQuery(this) .on('focus', function (e) { trx_addons_color_picker_show(null, jQuery(this), function(fld, clr) { fld.val(clr).trigger('change'); trx_addons_change_field_colors(fld); }); }).on('change', function(e) { trx_addons_change_field_colors(jQuery(this)); }); } else if (typeof jQuery.fn.wpColorPicker != 'undefined') { jQuery(this).wpColorPicker({ change: function(e, ui){ jQuery(e.target).val(ui.color).trigger('change'); }, clear: function(e) { jQuery(e.target).prev().trigger('change') }, }); } }); } function trx_addons_change_field_colors(fld) { var clr = fld.val(), hsb = trx_addons_hex2hsb(clr); fld.css({ 'backgroundColor': clr, 'color': hsb['b'] < 70 ? '#fff' : '#000' }); } if (jQuery.ui && jQuery.ui.slider && container.find('.trx_addons_range_slider:not(.inited)').length > 0) { container.find('.trx_addons_range_slider:not(.inited)').each(function () { var range_slider = jQuery(this); var linked_field = range_slider.data('linked_field'); if (linked_field===undefined) linked_field = range_slider.prev('input[type="hidden"]'); else linked_field = jQuery('#'+linked_field); if (linked_field.length == 0) return; var range_slider_cur = range_slider.find('> .trx_addons_range_slider_label_cur'); var range_slider_type = range_slider.data('range'); if (range_slider_type===undefined) range_slider_type = 'min'; var values = linked_field.val().split(','); var minimum = range_slider.data('min'); if (minimum===undefined) minimum = 0; var maximum = range_slider.data('max'); if (maximum===undefined) maximum = 0; var step = range_slider.data('step'); if (step===undefined) step = 1; var init_obj = { range: range_slider_type, min: minimum, max: maximum, step: step, slide: function(event, ui) { var cur_values = range_slider_type === 'min' ? [ui.value] : ui.values; linked_field.val(cur_values.join(',')).trigger('change'); for (var i=0; i < cur_values.length; i++) { range_slider_cur.eq(i) .html(cur_values[i]) .css('left', Math.max(0, Math.min(100, (cur_values[i]-minimum)*100/(maximum-minimum)))+'%'); } }, create: function(event, ui) { for (var i=0; i < values.length; i++) { range_slider_cur.eq(i) .html(values[i]) .css('left', Math.max(0, Math.min(100, (values[i]-minimum)*100/(maximum-minimum)))+'%'); } } }; if (range_slider_type === true) init_obj.values = values; else init_obj.value = values[0]; range_slider.addClass('inited').slider(init_obj); }); } if (jQuery.fn && jQuery.fn.select2) { container.find('.trx_addons_select2:not(.inited)').addClass('inited').select2(); } if (container.find('.trx_addons_video_player.with_cover .video_hover:not(.inited)').length > 0) { container.find('.trx_addons_video_player.with_cover .video_hover:not(.inited)') .addClass('inited') .on('click', function(e) { if (jQuery(this).hasClass('trx_addons_popup_link')) return; jQuery(this).parents('.trx_addons_video_player').eq(0) .addClass('video_play') .find('.video_embed').html(jQuery(this).data('video')); var slider = jQuery(this).parents('.slider_swiper').eq(0); if (slider.length > 0) { var id = slider.attr('id'); TRX_ADDONS_STORAGE['swipers'][id].stopAutoplay(); id = slider.data('controller'); if (id && TRX_ADDONS_STORAGE['swipers'][id+'_swiper']) TRX_ADDONS_STORAGE['swipers'][id+'_swiper'].stopAutoplay(); } jQuery(document).trigger('action.init_hidden_elements', [jQuery(this).parents('.trx_addons_video_player').eq(0)]); jQuery(window).trigger('resize'); e.preventDefault(); return false; }); } if (TRX_ADDONS_STORAGE['popup_engine'] == 'pretty') { container .find('a[href$="jpg"]:not(.inited):not([target="_blank"])' +',a[href$="jpeg"]:not(.inited):not([target="_blank"])' +',a[href$="png"]:not(.inited):not([target="_blank"])' +',a[href$="gif"]:not(.inited):not([target="_blank"])') .each(function() { if (!jQuery(this).parent().hasClass('woocommerce-product-gallery__image')) { jQuery(this).attr('rel', 'prettyPhoto[slideshow]'); } }); var images = container.find('a[rel*="prettyPhoto"]:not(.inited)' + ':not(.esgbox)' + ':not(.fancybox)' + ':not([target="_blank"])' + ':not([data-rel*="pretty"])' + ':not([rel*="magnific"])' + ':not([data-rel*="magnific"])' + ':not([data-elementor-open-lightbox="yes"])' + ':not([data-elementor-open-lightbox="default"])' ).addClass('inited'); try { images.prettyPhoto({ social_tools: '', theme: 'facebook', deeplinking: false }); } catch (e) {}; } else if (TRX_ADDONS_STORAGE['popup_engine']=='magnific' && typeof jQuery.fn.magnificPopup != 'undefined') { container .find('a[href$="jpg"]:not(.inited):not([target="_blank"])' +',a[href$="jpeg"]:not(.inited):not([target="_blank"])' +',a[href$="png"]:not(.inited):not([target="_blank"])' +',a[href$="gif"]:not(.inited):not([target="_blank"])') .each(function() { var obj = jQuery(this); if (obj.parents('.cq-dagallery').length == 0 && !obj.hasClass('prettyphoto') && !obj.hasClass('esgbox') ) { obj.attr('rel', 'magnific'); } }); var images = container.find('a[rel*="magnific"]:not(.inited)' + ':not(.esgbox)' + ':not(.fancybox)' + ':not([target="_blank"])' + ':not(.prettyphoto)' + ':not([rel*="pretty"])' + ':not([data-rel*="pretty"])' + ':not([data-elementor-open-lightbox="yes"])' + ':not([data-elementor-open-lightbox="default"])' ).addClass('inited'); setTimeout(function() { images.unbind('click.prettyphoto'); }, 100); try { images.magnificPopup({ type: 'image', mainClass: 'mfp-img-mobile', closeOnContentClick: true, closeBtnInside: true, fixedContentPos: true, midClick: true, preloader: true, tLoading: TRX_ADDONS_STORAGE['msg_magnific_loading'], gallery:{ enabled: true }, image: { tError: TRX_ADDONS_STORAGE['msg_magnific_error'], verticalFit: true }, zoom: { enabled: true, duration: 300, easing: 'ease-in-out', opener: function(openerElement) { if (!openerElement.is('img')) { if (openerElement.parents('.trx_addons_hover').find('img').length > 0) openerElement = openerElement.parents('.trx_addons_hover').find('img'); else if (openerElement.find('img').length > 0) openerElement = openerElement.find('img'); else if (openerElement.siblings('img').length > 0) openerElement = openerElement.siblings('img'); else if (openerElement.parent().parent().find('img').length > 0) openerElement = openerElement.parent().parent().find('img'); } return openerElement; } }, callbacks: { beforeClose: function(){ jQuery('.mfp-figure figcaption').hide(); jQuery('.mfp-figure .mfp-arrow').hide(); } } }); } catch (e) {}; var show_on_load = []; container.find('.sc_layouts_popup:not(.inited),.sc_layouts_panel:not(.inited)').each(function() { var obj = jQuery(this), id = obj.attr('id'), show = false; if (!id) return; var is_panel = obj.hasClass('sc_layouts_panel'); if (obj.hasClass('sc_layouts_show_on_page_load')) { show = true; } else if (obj.hasClass('sc_layouts_show_on_page_load_once') && trx_addons_get_cookie('trx_addons_show_on_page_load_once_'+id) != '1') { trx_addons_set_cookie('trx_addons_show_on_page_load_once_'+id, '1'); show = true; } var link = jQuery('a[href="#'+id+'"]'); if (show) { if (link.length == 0) { jQuery('body').append(''); link = jQuery('a[href="#'+id+'"]'); } show_on_load.push(link); } link.addClass(is_panel ? 'trx_addons_panel_link' : 'trx_addons_popup_link') .data('panel', obj); obj.addClass('inited') .on('click', '.sc_layouts_panel_close', function(e) { trx_addons_close_panel(obj); e.preventDefault(); return false; }); }); container.find('.sc_layouts_panel_hide_content:not(.inited)').addClass('inited') .on('click', function(e) { trx_addons_close_panel(jQuery(this).next()); e.preventDefault(); return false; }); container.find(".trx_addons_popup_link:not(.popup_inited)").addClass('popup_inited').magnificPopup({ type: 'inline', focus: 'input', closeBtnInside: true, callbacks: { open: function () { trx_addons_prepare_popup_content(this.content, true); }, close: function () { trx_addons_close_panel(this.content); }, resize: function () { trx_addons_resize_actions(jQuery(this.content)); } } }); container.find(".trx_addons_panel_link:not(.panel_inited)") .addClass('panel_inited') .on('click', function(e) { var panel = jQuery(this).data('panel'); if (!panel.hasClass('sc_layouts_panel_opened')) { trx_addons_prepare_popup_content(panel, true); panel.addClass('sc_layouts_panel_opened'); if (panel.prev().hasClass('sc_layouts_panel_hide_content')) panel.prev().addClass('sc_layouts_panel_opened'); } else { trx_addons_close_panel(panel); } e.preventDefault(); return false; }); window.trx_addons_close_panel = function(panel) { panel.removeClass('sc_layouts_panel_opened'); if (panel.prev().hasClass('sc_layouts_panel_hide_content')) panel.prev().removeClass('sc_layouts_panel_opened'); if (panel.data('popup-content') !== undefined) { setTimeout(function() { panel.empty(); }, 500); } }; window.trx_addons_prepare_popup_content = function(container, autoplay) { var wrapper = jQuery(container); if (wrapper.data('popup-content') === undefined) { var html = wrapper.html(); if (html.search(/\<(audio|video|iframe)/i) >= 0) { wrapper.data('popup-content', html); } } else { wrapper.html(wrapper.data('popup-content')); wrapper.find('.inited').removeClass('inited'); } wrapper.find('[data-src]').each(function() { jQuery(this).attr( 'src', jQuery(this).data('src') ); }); jQuery(document).trigger('action.init_hidden_elements', [wrapper]); jQuery(document).trigger('action.init_popup_elements', [wrapper]); if (autoplay) trx_addons_set_autoplay(wrapper); var frame = wrapper.find('.esg-grid'); if (frame.length > 0) { var wrappers = [".esg-tc.eec", ".esg-lc.eec", ".esg-rc.eec", ".esg-cc.eec", ".esg-bc.eec"]; for (var i=0; i'+wrappers[i]).unwrap(); } } jQuery(window).trigger('resize'); }; if ( !jQuery('body').hasClass('.elementor-editor-active') ) { for (var i = 0; i < show_on_load.length; i++) { show_on_load[i].trigger('click'); } } } if (container.find('a.post_meta_likes:not(.inited),a.comment_counters_likes:not(.inited)').length > 0) { var likes_busy = false; container.find('a.post_meta_likes:not(.inited),a.comment_counters_likes:not(.inited)') .addClass('inited') .on('click', function(e) { if (!likes_busy) { likes_busy = true; var button = jQuery(this); var inc = button.hasClass('enabled') ? 1 : -1; var post_id = button.hasClass('post_meta_likes') ? button.data('postid') : button.data('commentid'); var cookie_likes = trx_addons_get_cookie(button.hasClass('post_meta_likes') ? 'trx_addons_likes' : 'trx_addons_comment_likes'); if (cookie_likes === undefined || cookie_likes===null) cookie_likes = ''; jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], { action: button.hasClass('post_meta_likes') ? 'post_counter' : 'comment_counter', nonce: TRX_ADDONS_STORAGE['ajax_nonce'], post_id: post_id, likes: inc }).done(function(response) { var rez = {}; try { rez = JSON.parse(response); } catch (e) { rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; console.log(response); } if (rez.error === '') { var counter = rez.counter; if (inc == 1) { var title = button.data('title-dislike'); button.removeClass('enabled trx_addons_icon-heart-empty').addClass('disabled trx_addons_icon-heart'); cookie_likes += (cookie_likes.substr(-1)!=',' ? ',' : '') + post_id + ','; } else { var title = button.data('title-like'); button.removeClass('disabled trx_addons_icon-heart').addClass('enabled trx_addons_icon-heart-empty'); cookie_likes = cookie_likes.replace(','+post_id+',', ','); } button.data('likes', counter).attr('title', title).find(button.hasClass('post_meta_likes') ? '.post_meta_number' : '.comment_counters_number').html(counter); trx_addons_set_cookie(button.hasClass('post_meta_likes') ? 'trx_addons_likes' : 'trx_addons_comment_likes', cookie_likes, 365); } else { alert(TRX_ADDONS_STORAGE['msg_error_like']); } likes_busy = false; }); } e.preventDefault(); return false; }); } if (container.find('.trx_addons_emotions:not(.inited)').length > 0) { var emotions_busy = false; container.find('.trx_addons_emotions:not(.inited)') .addClass('inited') .on('click', '.trx_addons_emotions_item', function(e) { if (!emotions_busy) { emotions_busy = true; var button = jQuery(this); var button_active = button.parent().find('.trx_addons_emotions_active'); var post_id = button.data('postid'); jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], { action: 'post_counter', nonce: TRX_ADDONS_STORAGE['ajax_nonce'], post_id: post_id, emotion_inc: button.data('slug'), emotion_dec: button_active.length > 0 ? button_active.data('slug') : '', }).done(function(response) { var rez = {}; try { rez = JSON.parse(response); } catch (e) { rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; console.log(response); } if (rez.error === '') { var cookie_likes = trx_addons_get_cookie('trx_addons_emotions'), cookie_likes_new = ','; if (cookie_likes) { cookie_likes = cookie_likes.split(','); for (var i=0; i 0) { button_active.removeClass('trx_addons_emotions_active'); } if (button_active.length == 0 || button.data('slug') != button_active.data('slug')) { button.addClass('trx_addons_emotions_active'); cookie_likes += (cookie_likes.substr(-1)!=',' ? ',' : '') + post_id + '=' + button.data('slug') + ','; } for (var i in rez.counter) button.parent().find('[data-slug="'+i+'"] .trx_addons_emotions_item_number').html(rez.counter[i]); trx_addons_set_cookie('trx_addons_emotions', cookie_likes, 365); } else { alert(TRX_ADDONS_STORAGE['msg_error_like']); } emotions_busy = false; }); } e.preventDefault(); return false; }); } if (container.find('.socials_share .socials_caption:not(.inited)').length > 0) { container.find('.socials_share .socials_caption:not(.inited)').each(function() { jQuery(this).addClass('inited').on('click', function(e) { jQuery(this).siblings('.social_items').slideToggle(); e.preventDefault(); return false; }); }); } if (container.find('.socials_share .social_items:not(.inited)').length > 0) { container.find('.socials_share .social_items:not(.inited)').each(function() { jQuery(this).addClass('inited').on('click', '.social_item_popup', function(e) { var url = jQuery(this).data('link'); window.open(url, '_blank', 'scrollbars=0, resizable=1, menubar=0, left=100, top=100, width=480, height=400, toolbar=0, status=0'); e.preventDefault(); return false; }); }); } container.find('.widget ul > li').each(function() { if (jQuery(this).find('ul').length > 0) { jQuery(this).addClass('has_children'); } }); container.find('.widget_archive a:not(.inited)').addClass('inited').each(function() { var val = jQuery(this).html().split(' '); if (val.length > 1) { val[val.length-1] = '' + val[val.length-1] + ''; jQuery(this).html(val.join(' ')) } }); jQuery('.sc_layouts_menu_nav').each(function() { if (jQuery(this).find('.current-menu-item').length == 0 || jQuery('body').hasClass('blog_template')) { if (TRX_ADDONS_STORAGE['menu_cache'] === undefined) TRX_ADDONS_STORAGE['menu_cache'] = []; var id = jQuery(this).attr('id'); if (id === undefined) { id = ('sc_layouts_menu_nav_' + Math.random()).replace('.', ''); jQuery(this).attr('id', id); } TRX_ADDONS_STORAGE['menu_cache'].push('#'+id); } }); if (TRX_ADDONS_STORAGE['menu_cache'] && TRX_ADDONS_STORAGE['menu_cache'].length > 0) { var href = window.location.href; if (href.substr(-1)=='/') href = href.substr(0, href.length-1); var href2 = href + '/'; for (var i = 0; i < TRX_ADDONS_STORAGE['menu_cache'].length; i++) { var menu = jQuery(TRX_ADDONS_STORAGE['menu_cache'][i]+':not(.prepared)'); if (menu.length==0) continue; menu.addClass('prepared'); menu.find('li').removeClass('current-menu-ancestor current-menu-parent current-menu-item current_page_item'); menu.find('a[href="'+href+'"],a[href="'+href2+'"]').each(function(idx) { var li = jQuery(this).parent(); li.addClass('current-menu-item'); if (li.hasClass('menu-item-object-page')) li.addClass('current_page_item'); var cnt = 0; while ((li = li.parents('li')).length > 0) { cnt++; li.addClass('current-menu-ancestor'+(cnt==1 ? ' current-menu-parent' : '')); } }); } } jQuery("form").on('keypress', '.error_field', function() { if (jQuery(this).val() !== '') jQuery(this).removeClass('error_field'); }); jQuery("form#commentform").submit(function(e) { var rez = trx_addons_comments_validate(jQuery(this)); if (!rez) e.preventDefault(); return rez; }); function trx_addons_comments_validate(form) { form.find('input').removeClass('error_field'); var comments_args = { error_message_text: TRX_ADDONS_STORAGE['msg_validation_error'], error_message_show: true, error_message_time: 4000, error_message_class: 'trx_addons_message_box trx_addons_message_box_error', error_fields_class: 'error_field', exit_after_first_error: false, rules: [ { field: 'comment', min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_text_empty'] } } ] }; if (form.find('.comments_author input[aria-required="true"]').length > 0) { comments_args.rules.push( { field: 'author', min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_name_empty']}, max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_name_long']} } ); } if (form.find('.comments_email input[aria-required="true"]').length > 0) { comments_args.rules.push( { field: 'email', min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_email_empty']}, max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_email_long']}, mask: { value: TRX_ADDONS_STORAGE['email_mask'], message: TRX_ADDONS_STORAGE['msg_email_not_valid']} } ); } var error = trx_addons_form_validate(form, comments_args); return !error; } if ( TRX_ADDONS_STORAGE['disable_animation_on_mobile'] && jQuery('body').hasClass('ua_mobile') ) { jQuery('[data-animation^="animated"]').removeAttr('data-animation'); jQuery('[data-hover-animation^="animated"]').removeAttr('data-hover-animation'); } container.find('[data-hover-animation^="animated"]').closest('.elementor-column,.post_layout_custom').each(function() { if (jQuery(this).hasClass('hover-animation-inited')) return; jQuery(this).addClass('hover-animation-inited').hover( function(e) { jQuery(this).find('[data-hover-animation^="animated"]').each(function() { var obj = jQuery(this); var animation = obj.data('hover-animation'); var animation_in = obj.data('animation-in'); if (animation_in == undefined) animation_in = "none"; var animation_in_delay = obj.data('animation-in-delay'); if (animation_in_delay == undefined) animation_in_delay = 0; var animation_out = obj.data('animation-out'); if (animation_out == undefined) animation_out = "none"; if (animation_in != 'none') { setTimeout(function() { obj.removeClass(animation + ' ' + animation_out); obj.addClass(animation + ' ' + animation_in); }, animation_in_delay); } }); }, function(e) { jQuery(this).find('[data-hover-animation^="animated"]').each(function() { var obj = jQuery(this); var animation = obj.data('hover-animation'); var animation_in = obj.data('animation-in'); if (animation_in == undefined) animation_in = "none"; var animation_out = obj.data('animation-out'); if (animation_out == undefined) animation_out = "none"; var animation_out_delay = obj.data('animation-out-delay'); if (animation_out_delay == undefined) animation_out_delay = 0; if (animation_out != 'none') { setTimeout(function() { obj.removeClass(animation + ' ' + animation_in); obj.addClass(animation + ' ' + animation_out); }, animation_out_delay); } }); } ); }); container.find('.trx_addons_scroll_to_top:not(.inited)').addClass('inited').on('click', function(e) { jQuery('html,body').animate({ scrollTop: 0 }, 'slow'); e.preventDefault(); return false; }); jQuery(document).trigger('action.before_ready_trx_addons'); jQuery(document).trigger('action.ready_trx_addons'); jQuery(document).trigger('action.after_ready_trx_addons'); } if (TRX_ADDONS_STORAGE['ajax_views']) { jQuery(document).on('action.ready_trx_addons', function() { if (!TRX_ADDONS_STORAGE['post_views_counter_inited']) { TRX_ADDONS_STORAGE['post_views_counter_inited'] = true; setTimeout(function() { jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], { action: 'post_counter', nonce: TRX_ADDONS_STORAGE['ajax_nonce'], post_id: TRX_ADDONS_STORAGE['post_id'], views: 1 }).done(function(response) { var rez = {}; try { rez = JSON.parse(response); } catch (e) { rez = { error: TRX_ADDONS_STORAGE['ajax_error'] }; console.log(response); } if (rez.error === '') { jQuery('.post_meta_single .post_meta_views .post_meta_number,.sc_layouts_title_meta .post_meta_views .post_meta_number').html(rez.counter); } }); }, 10); } }); } window.trx_addons_scroll_actions = function() { var scroll_offset = jQuery(window).scrollTop(); var scroll_to_top_button = jQuery('.trx_addons_scroll_to_top'); var adminbar_height = Math.max(0, jQuery('#wpadminbar').height()); if (scroll_to_top_button.length > 0) { if (scroll_offset > 100) scroll_to_top_button.addClass('show'); else scroll_to_top_button.removeClass('show'); } jQuery('[data-animation^="animated"]:not(.animated)').each(function(idx) { var item = jQuery(this); if (item.offset().top < scroll_offset + jQuery(window).height()) { setTimeout( function() { item.addClass(item.data('animation')); }, 100 * trx_addons_random(0, 10) ); } }); if (TRX_ADDONS_STORAGE['scroll_progress'] == 'top' || TRX_ADDONS_STORAGE['scroll_progress'] == 'bottom') { trx_addons_show_scroll_progress(); } jQuery(document).trigger('action.before_scroll_trx_addons'); jQuery(document).trigger('action.scroll_trx_addons'); jQuery(document).trigger('action.after_scroll_trx_addons'); TRX_ADDONS_STORAGE['scroll_busy'] = false; }; function trx_addons_show_scroll_progress() { if (TRX_ADDONS_STORAGE['scroll_progress_status'] == undefined) { jQuery( 'body' ).append('
'); TRX_ADDONS_STORAGE['scroll_progress_status'] = jQuery( '.scroll_progress_wrap .scroll_progress_status' ); TRX_ADDONS_STORAGE['scroll_progress_status'].on('click', function(e) { trx_addons_document_animate_to( Math.round((jQuery(document).height() - jQuery(window).height()) * (e.pageX / jQuery(this).parent().width())) ); e.preventDefault(); return false; }); } TRX_ADDONS_STORAGE['scroll_progress_status'].width( Math.min(100, Math.round(jQuery(window).scrollTop() * 100 / (jQuery(document).height() - jQuery(window).height()))) + '%'); } window.trx_addons_resize_actions = function(cont) { if (cont===undefined) cont = jQuery('body'); jQuery(document).trigger('action.before_resize_trx_addons', [cont] ); jQuery(document).trigger('action.resize_trx_addons', [cont] ); jQuery(document).trigger('action.after_resize_trx_addons', [cont] ); }; jQuery(document).on('action.resize_trx_addons', trx_addons_resize_video); function trx_addons_resize_video(e, cont) { if (cont===undefined) cont = jQuery('body'); cont.find('video').each(function() { if (jQuery(this).parents('div:hidden,section:hidden,article:hidden').length > 0) { return; } var video = jQuery(this).addClass('trx_addons_resize').eq(0); var ratio = (video.data('ratio') !== undefined ? video.data('ratio').split(':') : [16,9]); ratio = ratio.length!=2 || ratio[0]==0 || ratio[1]==0 ? 16/9 : ratio[0]/ratio[1]; var mejs_cont = video.parents('.mejs-video').eq(0); var w_attr = video.data('width'); var h_attr = video.data('height'); if (!w_attr || !h_attr) { w_attr = video.attr('width'); h_attr = video.attr('height'); if ((!w_attr || !h_attr) && mejs_cont.length > 0) { w_attr = mejs_cont.width(); h_attr = mejs_cont.height(); } if (!w_attr || !h_attr) return; video.data({'width': w_attr, 'height': h_attr}); } var percent = (''+w_attr).substr(-1)=='%'; w_attr = parseInt(w_attr, 10); h_attr = parseInt(h_attr, 10); var w_real = Math.round(mejs_cont.length > 0 ? Math.min(percent ? 10000 : w_attr, mejs_cont.parents('div,article').eq(0).width()) : Math.min(percent ? 10000 : w_attr, video.parents('div,article').eq(0).width()) ), h_real = Math.round(percent ? w_real/ratio : w_real/w_attr*h_attr); if (parseInt(video.attr('data-last-width'), 10)==w_real) return; if (percent) { video.height(h_real); } else if (video.parents('.wp-video-playlist').length > 0) { if (mejs_cont.length === 0) { video.attr({'width': w_real, 'height': h_real}); } } else { video.attr({'width': w_real, 'height': h_real}).css({'width': w_real+'px', 'height': h_real+'px'}); if (mejs_cont.length > 0) { trx_addons_set_mejs_player_dimensions(video, w_real, h_real); } } video.attr('data-last-width', w_real); }); cont.find('.video_frame iframe,iframe').each(function() { if (jQuery(this).addClass('trx_addons_resize').parents('div:hidden,section:hidden,article:hidden').length > 0) { return; } var iframe = jQuery(this).eq(0), iframe_src = iframe.attr('src') ? iframe.attr('src') : iframe.data('src'); if (iframe_src === undefined || iframe_src.indexOf('soundcloud') > 0) return; var ratio = (iframe.data('ratio') !== undefined ? iframe.data('ratio').split(':') : (iframe.parent().data('ratio') !== undefined ? iframe.parent().data('ratio').split(':') : (iframe.find('[data-ratio]').length>0 ? iframe.find('[data-ratio]').data('ratio').split(':') : [16,9] ) ) ); ratio = ratio.length!=2 || ratio[0]==0 || ratio[1]==0 ? 16/9 : ratio[0]/ratio[1]; var w_attr = iframe.attr('width'); var h_attr = iframe.attr('height'); if (!w_attr || !h_attr) { return; } var percent = (''+w_attr).substr(-1)=='%'; w_attr = parseInt(w_attr, 10); h_attr = parseInt(h_attr, 10); var par = iframe.parents('div,section').eq(0), pw = par.width(), ph = par.height(), w_real = pw, h_real = Math.round(percent ? w_real/ratio : w_real/w_attr*h_attr); if (par.css('position') == 'absolute' && h_real > ph) { h_real = ph; w_real = Math.round(percent ? h_real*ratio : h_real*w_attr/h_attr) } if (parseInt(iframe.attr('data-last-width'), 10)==w_real) return; iframe.css({'width': w_real+'px', 'height': h_real+'px'}); iframe.attr('data-last-width', w_real); }); } function trx_addons_set_mejs_player_dimensions(video, w, h) { if (mejs) { for (var pl in mejs.players) { if (mejs.players[pl].media.src == video.attr('src')) { if (mejs.players[pl].media.setVideoSize) { mejs.players[pl].media.setVideoSize(w, h); } else if (mejs.players[pl].media.setSize) { mejs.players[pl].media.setSize(w, h); } mejs.players[pl].setPlayerSize(w, h); mejs.players[pl].setControlsSize(); } } } } jQuery(document).on('action.resize_trx_addons', trx_addons_fix_column); jQuery(document).on('action.scroll_trx_addons', trx_addons_fix_column); function trx_addons_fix_column(e, cont) { if (cont===undefined) cont = jQuery('body'); var force = e.namespace == 'resize_trx_addons'; cont.find('.sc_column_fixed').each(function() { var col = jQuery(this), row = col.parent(); if (col.attr('class').indexOf('vc_col-lg-')!=-1 || col.attr('class').indexOf('vc_col-md-')!=-1) { return; } else if (jQuery(window).width() < 768) { var old_style = col.data('old_style'); if (old_style !== undefined) { col.attr('style', old_style).removeAttr('data-old_style'); } } else { var col_height = col.outerHeight(); var row_height = row.outerHeight(); var row_top = row.offset().top; var scroll_offset = jQuery(window).scrollTop(); var top_panel_fixed_height = trx_addons_fixed_rows_height(); if (col_height < row_height && scroll_offset + top_panel_fixed_height > row_top) { var col_init = { 'position': 'undefined', 'top': 'auto', 'bottom' : 'auto' }; if (typeof TRX_ADDONS_STORAGE['scroll_offset_last'] == 'undefined') { TRX_ADDONS_STORAGE['col_top_last'] = row_top; TRX_ADDONS_STORAGE['scroll_offset_last'] = scroll_offset; TRX_ADDONS_STORAGE['scroll_dir_last'] = 1; } var scroll_dir = scroll_offset - TRX_ADDONS_STORAGE['scroll_offset_last']; if (scroll_dir == 0) scroll_dir = TRX_ADDONS_STORAGE['scroll_dir_last']; else scroll_dir = scroll_dir > 0 ? 1 : -1; var col_big = col_height + 30 >= jQuery(window).height() - top_panel_fixed_height, col_top = col.offset().top; if (col_top < 0) { col_top = TRX_ADDONS_STORAGE['col_top_last']; } if (col_big) { if (scroll_dir != TRX_ADDONS_STORAGE['scroll_dir_last'] && col.css('position') == 'fixed') { col_init.top = col_top - row_top; col_init.position = 'absolute'; } else if (scroll_dir > 0) { if (scroll_offset + jQuery(window).height() >= row_top + row_height + 30) { col_init.bottom = 0; col_init.position = 'absolute'; } else if (scroll_offset + jQuery(window).height() >= (col.css('position') == 'absolute' ? col_top : row_top) + col_height + 30) { col_init.bottom = 30; col_init.position = 'fixed'; } } else { if (scroll_offset + top_panel_fixed_height <= col_top) { col_init.top = top_panel_fixed_height; col_init.position = 'fixed'; } } } else { if (scroll_offset + top_panel_fixed_height >= row_top + row_height - col_height) { col_init.bottom = 0; col_init.position = 'absolute'; } else { col_init.top = top_panel_fixed_height; col_init.position = 'fixed'; } } if (force && col_init.position == 'undefined' && col.css('position') == 'absolute') { col_init.position = 'absolute'; if (col.css('top') != 'auto') { col_init.top = col.css('top'); } else { col_init.bottom = col.css('bottom'); } } if (col_init.position != 'undefined') { var style = col.attr('style'); if (!style) style = ''; if (!col.prev().hasClass('sc_column_fixed_placeholder')) { col.css(col_init); TRX_ADDONS_STORAGE['scroll_dir_last'] = 0; col.before('
'); } col_init.left = col_init.position == 'fixed' ? col.prev().offset().left : col.prev().position().left; col_init.width = col.prev().width() + parseFloat(col.prev().css('paddingLeft')) + parseFloat(col.prev().css('paddingRight')); if (force || col.css('position') != col_init.position || TRX_ADDONS_STORAGE['scroll_dir_last'] != scroll_dir || col.width() != col_init.width) { if (col.data('old_style') === undefined) { col.attr('data-old_style', style); } col.css(col_init); } } TRX_ADDONS_STORAGE['col_top_last'] = col_top; TRX_ADDONS_STORAGE['scroll_offset_last'] = scroll_offset; TRX_ADDONS_STORAGE['scroll_dir_last'] = scroll_dir; } else { var old_style = col.data('old_style'); if (old_style !== undefined) { col.attr('style', old_style).removeAttr('data-old_style'); if (col.prev().hasClass('sc_column_fixed_placeholder')) col.prev().remove(); } } } }); } jQuery(document).on('action.resize_trx_addons', trx_addons_stack_section); jQuery(document).on('action.scroll_trx_addons', trx_addons_stack_section); function trx_addons_stack_section(e, cont) { if (cont===undefined) cont = jQuery('body'); var force = e.namespace == 'resize_trx_addons'; var fixed_rows = trx_addons_fixed_rows_height(); var wso = jQuery(window).scrollTop() + fixed_rows; cont.find('.sc_stack_section_on:not(.elementor-element-edit-mode)').each(function() { var row = jQuery(this); if ( jQuery(window).width() < 480 ) { if ( row.hasClass('sc_stack_section_fixed') ) { row.removeClass('sc_stack_section_fixed').css( { top: row.data('old-top') } ).prev().remove(); } } else { if ( row.hasClass('sc_stack_section_fixed') ) { var row_holder = row.prev(), row_height = row_holder.outerHeight(), row_top = row_holder.offset().top; if ( row_top > wso ) { row.removeClass('sc_stack_section_fixed').css( { top: row.data('old-top') } ); row_holder.remove(); } else if (force) { var row_height = row.outerHeight(); row_holder.height(row_height); row.css( { top: fixed_rows + 'px !important' } ); } } else { var row_top = row.offset().top; if ( row_top <= wso ) { var row_height = row.outerHeight(); row .addClass('sc_stack_section_fixed') .data( 'old-top', row.css('top') ) .css( { top: fixed_rows+'px'} ) .before('
'); } } } } ); } }); (function() { "use strict"; window.trx_addons_draw_arc_on_canvas = function(item, value) { var canvas = item.find('canvas'); if (canvas.length == 0) return; var digits = canvas.next(); var brd = parseInt(digits.css('border-top-width'), 10); var w = Math.ceil(digits.width()+2*brd); var needRepaint = false; if (canvas.attr('width') != w) { needRepaint = true; canvas.attr({ 'width': w, 'height': w }); } if (item.data('old-value') == value && !needRepaint) return; item.data('old-value', value); var percent = value * 100 / canvas.data('max-value'); var angle = 360 * percent / 100; var Ar = angle * Math.PI / 180; var canvas_dom = canvas.get(0); var context = canvas_dom.getContext('2d'); var r = (w - brd) / 2; var cx = w / 2; var cy = w / 2; context.beginPath(); context.clearRect(0, 0, w, w); context.arc(cx, cy, r, 0, Ar, false); context.imageSmoothingEnabled= true; context.lineWidth = brd; context.strokeStyle = canvas.data('color'); context.stroke(); }; })(); jQuery(document).on('action.ready_trx_addons', function() { "use strict"; jQuery('form.trx_addons_popup_form_login:not(.inited)').addClass('inited').submit(function(e){ var rez = trx_addons_login_validate(jQuery(this)); if ( !rez ) { e.preventDefault(); } return rez; }); jQuery('form.trx_addons_popup_form_register:not(.inited)').addClass('inited').submit(function(e){ var rez = trx_addons_registration_validate(jQuery(this)); if ( !rez ) { e.preventDefault(); } return rez; }); function trx_addons_login_validate(form) { form.find('input').removeClass('trx_addons_field_error'); var error = trx_addons_form_validate(form, { error_message_time: 4000, exit_after_first_error: true, rules: [ { field: "log", min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_login_empty'] }, max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_login_long'] } }, { field: "pwd", min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_password_empty'] }, max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_password_long'] } } ] }); if (TRX_ADDONS_STORAGE['login_via_ajax'] && !error) { jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], { action: 'trx_addons_login_user', nonce: TRX_ADDONS_STORAGE['ajax_nonce'], redirect_to: form.find('input[name="redirect_to"]').length == 1 ? form.find('input[name="redirect_to"]').val() : '', remember: form.find('input[name="rememberme"]').val(), user_log: form.find('input[name="log"]').val(), user_pwd: form.find('input[name="pwd"]').val() }).done(function(response) { var rez = {}; try { rez = JSON.parse(response); } catch(e) { rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; console.log(response); } var result = form.find(".trx_addons_message_box").removeClass("trx_addons_message_box_error").removeClass("trx_addons_message_box_success"); if (rez.error === '') { result.addClass("trx_addons_message_box_success").html(TRX_ADDONS_STORAGE['msg_login_success']); setTimeout(function() { if (rez.redirect_to !== '') { location.href = rez.redirect_to; } else { location.reload(true); } }, 3000); } else { result.addClass("trx_addons_message_box_error").html(TRX_ADDONS_STORAGE['msg_login_error'] + (rez.error!==undefined ? '
' + rez.error : '')); } result.fadeIn().delay(3000).fadeOut(); }); } return !TRX_ADDONS_STORAGE['login_via_ajax'] && !error; } function trx_addons_registration_validate(form) { form.find('input').removeClass('trx_addons_field_error'); var error = trx_addons_form_validate(form, { error_message_time: 4000, exit_after_first_error: true, rules: [ { field: "agree", state: { value: 'checked', message: TRX_ADDONS_STORAGE['msg_not_agree'] }, }, { field: "log", min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_login_empty'] }, max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_login_long'] } }, { field: "email", min_length: { value: 7, message: TRX_ADDONS_STORAGE['msg_email_not_valid'] }, max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_email_long'] }, mask: { value: TRX_ADDONS_STORAGE['email_mask'], message: TRX_ADDONS_STORAGE['msg_email_not_valid'] } }, { field: "pwd", min_length: { value: 4, message: TRX_ADDONS_STORAGE['msg_password_empty'] }, max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_password_long'] } }, { field: "pwd2", equal_to: { value: 'pwd', message: TRX_ADDONS_STORAGE['msg_password_not_equal'] } } ] }); if (!error) { jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], { action: 'trx_addons_registration_user', nonce: TRX_ADDONS_STORAGE['ajax_nonce'], redirect_to: form.find('input[name="redirect_to"]').length == 1 ? form.find('input[name="redirect_to"]').val() : '', user_name: form.find('input[name="log"]').val(), user_email: form.find('input[name="email"]').val(), user_pwd: form.find('input[name="pwd"]').val() }).done(function(response) { var rez = {}; try { rez = JSON.parse(response); } catch (e) { rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; console.log(response); } var result = form.find(".trx_addons_message_box").removeClass("trx_addons_message_box_error").removeClass("trx_addons_message_box_success"); if (rez.error === '') { result.addClass("trx_addons_message_box_success").html(TRX_ADDONS_STORAGE['msg_registration_success']); setTimeout(function() { if (rez.redirect_to !== '') { location.href = rez.redirect_to; } else { jQuery('#trx_addons_login_popup .trx_addons_tabs_title_login > a').trigger('click'); } }, 3000); } else { result.addClass("trx_addons_message_box_error").html(TRX_ADDONS_STORAGE['msg_registration_error'] + (rez.error!==undefined ? '
' + rez.error : '')); } result.fadeIn().delay(3000).fadeOut(); }); } return false; } }); (function() { "use strict"; function trx_addons_sc_fullheight(e, container) { if (container === undefined) container = jQuery('body'); if (container === undefined || container.length === undefined || container.length == 0) return; container.find('.trx_addons_stretch_height').each(function () { if (jQuery(this).parents('div:hidden,article:hidden').length > 0) { return; } var fullheight_item = jQuery( this ), fullheight_row = jQuery(this).closest('.vc_row,.elementor-section').eq(0); if (fullheight_row.hasClass('vc_row-o-full-height') || fullheight_row.hasClass('elementor-section-height-full')) { if (fullheight_row.css('height') != 'auto') { fullheight_item.height( fullheight_row.height() ); } else if (fullheight_item.css( 'height' ) != 'auto') { fullheight_item.height( 'auto' ); } } else { var wh = jQuery( window ).height() >= 698 && jQuery( window ).width() > 1024 ? jQuery( window ).height() - trx_addons_fixed_rows_height() : 'auto'; if ( wh > 0 ) { if ( fullheight_item.data( 'display' ) != fullheight_item.css( 'display' ) ) { fullheight_item.css( 'display', fullheight_item.data( 'display' ) ); } if ( fullheight_item.css( 'height', 'auto' ).outerHeight() <= wh ) { fullheight_item.css( 'height', wh ); } } else if ( wh == 'auto' && fullheight_item.css( 'height' ) != 'auto' ) { if (fullheight_item.data( 'display' ) == undefined) { fullheight_item.attr( 'data-display', fullheight_item.css( 'display' ) ); } fullheight_item.css( {'height': wh, 'display': 'block'} ); } } }); } jQuery(document).on('action.resize_trx_addons', trx_addons_sc_equalheight); function trx_addons_sc_equalheight(e, container) { if (container === undefined) container = jQuery('body'); if (container===undefined || container.length === undefined || container.length == 0) return; container.find('[data-equal-height],.trx_addons_equal_height').each(function () { var eh_wrap = jQuery(this); var eh_items_selector = eh_wrap.data('equal-height'); if (eh_items_selector === undefined) eh_items_selector = '>*'; var max_h = 0; var items = []; var row_y = 0; var i=0; eh_wrap.find(eh_items_selector).each(function() { var el = jQuery(this); el.css('visibility', 'hidden').height('auto'); var el_height = el.height(); var el_offset = el.offset().top; if (row_y == 0) row_y = el_offset; if (row_y < el_offset) { if (items.length > 0) { if (max_h > 0) { for (i=0; i max_h) max_h = el_height; items.push(el); }); if (items.length > 0) { for (i=0; i 0) items[i].height(max_h); } } }); } jQuery(document).ready(function() { TRX_ADDONS_STORAGE['pagination_busy'] = false; }); jQuery( document ).on( 'action.scroll_trx_addons', function(e) { if (TRX_ADDONS_STORAGE['pagination_busy'] || TRX_ADDONS_STORAGE['pagebuilder_preview_mode']) { return; } var link_wrap = jQuery( '.sc_item_pagination_infinite' ); if (link_wrap.length == 0) { return; } var posts = link_wrap.siblings('.sc_item_posts_container').eq(0); if (posts.offset().top + posts.height() < jQuery( window ).scrollTop() + jQuery( window ).height() * 1.5) { link_wrap.find( 'a' ).trigger( 'click' ); } }); jQuery(document).on('action.init_hidden_elements', function() { jQuery('.sc_item_filters:not(.inited),.sc_item_pagination:not(.inited)') .addClass('inited') .on('click', 'a', function(e) { if (!TRX_ADDONS_STORAGE['pagination_busy']) { TRX_ADDONS_STORAGE['pagination_busy'] = true; var link = jQuery(this), link_wrap = link.parents('.sc_item_filters,.sc_item_pagination'), pagination_wrap = link.parents('.sc_item_pagination'), sc = link_wrap.parent(), posts = link_wrap.siblings('.sc_item_posts_container'), load_more = link_wrap.hasClass('sc_item_pagination_load_more'); if (load_more) { var page = Number( link.data( 'page' ) ); var max_page = Number( link.data( 'max-page' ) ); if (page > max_page) { return; } link_wrap.addClass('loading'); } else { posts.append('
'); } jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], { action: 'trx_addons_item_pagination', nonce: TRX_ADDONS_STORAGE['ajax_nonce'], params: link_wrap.data('params'), page: link.parents('.sc_item_filters').length > 0 ? 1 : link.data('page'), filters_active: link.parents('.sc_item_filters').length > 0 ? link.data('tab') : (link_wrap.siblings('.sc_item_filters').find('a.active').length > 0 ? link_wrap.siblings('.sc_item_filters').find('a.active').data('tab') : 'all' ) }).done(function(response) { var rez = {}; if (response=='' || response==0) { rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; } else { try { rez = JSON.parse(response); } catch (e) { rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; console.log(response); } } if (rez.error === '') { if (rez.css !== '') { var selector = 'trx_addons-inline-styles-inline-css', inline_css = jQuery('#'+selector); if (inline_css.length == 0) jQuery('body').append(''); else inline_css.append(rez.css); } if (load_more) { if (posts.find('[class*="_tabs_list_item"]').length > 0) { posts.find('[class*="_tabs_list_item"]').parent().append(jQuery(rez.data).find('.sc_item_posts_container [class*="_tabs_list_item"]').parent().html()); posts.find('[class$="_tabs_content"]').append(jQuery(rez.data).find('.sc_item_posts_container [class$="_tabs_content"]').html()); posts.find('[class*="_tabs_list_item_active"]').each(function(idx) { if (idx > 0) { var classes = jQuery(this).attr('class').split(' '), found = false; for (var i=0; i 0) { classes[i] = ''; found = true; break; } } if (found) jQuery(this).attr('class', classes.join(' ')); } }); posts.find('[class$="_tabs_content"] [class*="_item_active"]').each(function(idx) { if (idx > 0) { var classes = jQuery(this).attr('class').split(' '), found = false; for (var i=0; i 0) { classes[i] = ''; found = true; break; } } if (found) jQuery(this).attr('class', classes.join(' ')); } }); } else { if (posts.hasClass('masonry_wrap')) { var items = jQuery(rez.data).find('.sc_item_posts_container .masonry_item'); if (items.length > 0) { items.addClass( 'just_loaded_items hidden' ); posts.append( items ); var just_loaded_items = posts.find( '.just_loaded_items' ); trx_addons_when_images_loaded( just_loaded_items, function() { just_loaded_items.removeClass( 'hidden' ); posts.masonry( 'appended', items ).masonry(); } ); setTimeout(function() { just_loaded_items.removeClass( 'just_loaded_items hidden' ); }, 1000); } } else { posts.append(jQuery(rez.data).find('.sc_item_posts_container').html()); } } jQuery(document).trigger('action.init_hidden_elements', [posts]); link.data('page', Number(link.data('page')) + 1); if (link.data('page') > link.data('max-page')) { pagination_wrap.fadeOut(); } } else { posts.find('.trx_addons_loading').fadeOut(); sc.fadeOut(function() { sc.after(jQuery(rez.data).hide()); var sc_new = sc.next(); sc.remove(); sc_new.fadeIn(); jQuery(document).trigger('action.init_hidden_elements', [sc_new]); }); } } else { alert(rez.error); posts.find('.trx_addons_loading').remove(); } if (load_more) pagination_wrap.removeClass('loading'); TRX_ADDONS_STORAGE['pagination_busy'] = false; }); } e.preventDefault(); return false; }); jQuery('.sc_post_details_popup:not(.inited)') .addClass('inited') .on('click', 'a', function(e) { trx_addons_show_post_details(jQuery(this).parents('[data-post_id]'), true); e.preventDefault(); return false; }); if (jQuery('.sc_post_details_popup.inited').length > 0) { jQuery('body:not(.sc_post_details_popup_inited)') .addClass('sc_post_details_popup_inited') .on('click', '#trx_addons_post_details_popup_overlay, .trx_addons_post_details_popup_close', function(e) { jQuery('#trx_addons_post_details_popup').fadeOut(); jQuery('#trx_addons_post_details_popup_overlay').fadeOut(); }) .on('click', '.trx_addons_post_details_popup_prev,.trx_addons_post_details_popup_next', function(e) { var popup = jQuery('#trx_addons_post_details_popup'); var post_item = popup.data('post_item'); if (!post_item || post_item.length == 0) return; var posts_items = post_item.parents('.sc_item_columns,.sc_item_slider').find('[data-post_id]'); var cur_idx = -1; posts_items.each(function(idx) { if (jQuery(this).data('post_id') == post_item.data('post_id')) cur_idx = idx; }); if (cur_idx == -1) return; post_item = jQuery(this).hasClass('trx_addons_post_details_popup_prev') ? (cur_idx > 0 ? posts_items.eq(cur_idx-1) : false) : (cur_idx < posts_items.length-1 ? posts_items.eq(cur_idx+1) : false); if (!post_item || post_item.length == 0) return; popup.fadeOut(); trx_addons_show_post_details(post_item, false); }); } function trx_addons_show_post_details(post_item, show_overlay) { jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], { action: 'trx_addons_post_details_in_popup', nonce: TRX_ADDONS_STORAGE['ajax_nonce'], post_id: post_item.data('post_id'), post_type: post_item.data('post_type') }).done(function(response) { var rez = {}; if (response=='' || response==0) { rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; } else { try { rez = JSON.parse(response); } catch (e) { rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; console.log(response); } } var msg = rez.error === '' ? rez.data : rez.error; var popup = jQuery('#trx_addons_post_details_popup'); var overlay = jQuery('#trx_addons_post_details_popup_overlay'); if (popup.length == 0) { jQuery('body').append( '
' + '
' + '
' + '' + '' + '' + '
'); popup = jQuery('#trx_addons_post_details_popup'); overlay = jQuery('#trx_addons_post_details_popup_overlay'); } popup.data('post_item', post_item).find('.trx_addons_post_details_content').html(msg); if (show_overlay) overlay.fadeIn(); popup.fadeIn(); }); } jQuery(document).on('action.scroll_trx_addons', function() { var wt = jQuery(window).scrollTop(), wh = jQuery(window).height(); jQuery('.sc_typed_entry:not(.sc_typed_inited)').each(function() { var obj = jQuery(this), ot = obj.offset().top, oh = obj.height(); if ( wt <= ot + oh && wt + wh >= ot + oh ) { obj.addClass('sc_typed_inited').typed({ contentType: "html", strings: obj.data('strings'), loop: obj.data('loop') == 1, showCursor: obj.data('cursor') == 1, cursorChar: obj.data('cursor-char') != undefined ? obj.data('cursor-char') : '|', typeSpeed: obj.data('speed') > 0 ? (11 - Math.max(1, Math.min(10, obj.data('speed')))) * 10 : 50, backDelay: obj.data('delay') > 0 ? Math.max(0, Math.min(10, obj.data('delay'))) * 1000 : 1000 }); } }); }); }); })(); (function() { "use strict"; var trx_addons_once_resize = false; jQuery( document ).on( 'action.init_hidden_elements', function(e, cont) { cont.find('a.esgbox').attr('data-elementor-open-lightbox', 'no'); cont.find('a[href$=".jpg"],a[href$=".jpeg"],a[href$=".png"],a[href$=".gif"]').attr('data-elementor-open-lightbox', 'no'); }); jQuery( window ).on( 'elementor/frontend/init', function() { if ( typeof window.elementorFrontend !== 'undefined' && typeof window.elementorFrontend.hooks !== 'undefined' ) { if ( elementorFrontend.isEditMode() ) { elementorFrontend.hooks.addAction( 'frontend/element_ready/global', function( $cont ) { var body = $cont.parents('body'); if ( body.hasClass('cpt_layouts-template') || body.hasClass('cpt_layouts-template-default') || body.hasClass('single-cpt_layouts') ) { body.find('.elementor-element.elementor-widget').addClass('sc_layouts_item'); } jQuery('#toc_menu').remove(); jQuery(document).trigger('action.init_hidden_elements', [$cont]); if ( $cont.parents('.elementor-section-stretched').length > 0 && !trx_addons_once_resize ) { trx_addons_once_resize = true; jQuery(document).trigger('action.resize_trx_addons', [$cont.parents('.elementor-section-stretched')]); } else { jQuery(document).trigger('action.resize_trx_addons', [$cont]); } } ); var body = jQuery('body'); if (body.hasClass('cpt_layouts-template') || body.hasClass('cpt_layouts-template-default') || body.hasClass('single-cpt_layouts')) jQuery('.elementor-element.elementor-widget').addClass('sc_layouts_item'); jQuery('.elementor-shape').each(function() { var shape = jQuery(this).data('shape'); if (shape!==undefined && shape.indexOf('trx_addons_')==0) trx_addons_load_shape(jQuery(this), shape); }); function trx_addons_load_shape(cont, shape) { if (cont.length > 0 && shape !== '') { cont.empty().attr( 'data-shape', shape ); shape = TRX_ADDONS_STORAGE['shapes_url'] + shape.replace('trx_addons_', '') + '.svg'; jQuery.get( shape, function( data ) { cont.append(data.childNodes[0]).attr('data-negative', 'false'); } ); } } elementorFrontend.hooks.addFilter( 'frontend/handlers/menu_anchor/scroll_top_distance', function( scrollTop ) { return scrollTop - trx_addons_fixed_rows_height(); } ); } else { if (typeof elementorFrontend.config !== 'undefined' && typeof elementorFrontend.config.settings !== 'undefined' && typeof elementorFrontend.config.settings.general === 'undefined' ) { elementorFrontend.config.settings.general = { 'elementor_stretched_section_container': TRX_ADDONS_STORAGE['elementor_stretched_section_container'] }; } setTimeout(function() { trx_addons_once_resize = true; jQuery(document).trigger('action.resize_trx_addons'); }, 0); } } }); })();( function() { 'use strict'; var $window = jQuery( window ), $body = jQuery( 'body' ), motion_step = 0, motion_period = 250; $window.on( 'elementor/frontend/init', function() { function parallax_init( $target ) { var parallax_layers = new trx_addons_parallax( $target, 'layers' ); parallax_layers.init(); var parallax_blocks = new trx_addons_parallax( $target, 'blocks' ); parallax_blocks.init(); } window.elementorFrontend.hooks.addAction( 'frontend/element_ready/section', parallax_init ); window.elementorFrontend.hooks.addAction( 'frontend/element_ready/column', parallax_init ); window.elementorFrontend.hooks.addAction( 'frontend/element_ready/element', parallax_init ); window.elementorFrontend.hooks.addAction( 'frontend/element_ready/widget', parallax_init ); } ); window.trx_addons_parallax = function( $target, init_type ) { var self = this, settings = false, parallax_type = 'none', edit_mode = Boolean( window.elementorFrontend.isEditMode() ), scroll_list = [], mouse_list = [], motion_list = [], wst = $window.scrollTop(), ww = $window.width(), wh = $window.height(), tl = 0, tt = 0, tw = 0, th = 0, tx = 0, ty = 0, is_safari = !!navigator.userAgent.match(/Version\/[\d\.]+.*Safari/), platform = navigator.platform; self.init = function() { if ( ! edit_mode ) { if ( init_type == 'layers' ) { settings = $target.data( 'parallax-blocks' ) || false; if ( settings ) { parallax_type = 'layers'; } } else { var params = $target.data( 'parallax-params' ) || false; if ( params ) { settings = []; settings.push(params); parallax_type = 'blocks'; } } } else { settings = self.get_editor_settings( $target, init_type ); } if ( ! settings ) { return false; } if ( parallax_type == 'layers' ) { self.create_layers(); $target.on( 'mousemove.trx_addons_parallax', self.mouse_move_handler ); $target.on( 'mouseleave.trx_addons_parallax', self.mouse_leave_handler ); if ( motion_list.length > 0 ) { setInterval( self.motion_move_handler, motion_period ); } } else if ( parallax_type == 'blocks' ) { settings[0].selector = $target; scroll_list.push(settings[0]); } $window.on( 'action.resize_trx_addons action.scroll_trx_addons', self.scroll_handler ); self.scroll_update(); }; self.get_editor_settings = function( $target, init_type ) { if ( ! window.elementor.hasOwnProperty( 'elements' ) ) { return false; } var elements = window.elementor.elements; if ( ! elements.models ) { return false; } var section_id = $target.data('id'), section_cid = $target.data('model-cid'), section_data = {}; function get_section_data( idx, obj ) { if ( 0 < Object.keys( section_data ).length ) { return; } else if ( section_id == obj.id ) { section_data = obj.attributes.settings.attributes; } else if ( obj.attributes && obj.attributes.elements && obj.attributes.elements.models ) { jQuery.each( obj.attributes.elements.models, get_section_data ); } } jQuery.each( elements.models, get_section_data ); if ( 0 === Object.keys( section_data ).length ) { return false; } var settings = []; if ( init_type == 'layers' && section_data.hasOwnProperty( 'parallax_blocks' ) ) { parallax_type = 'layers'; jQuery.each( section_data[ 'parallax_blocks' ].models, function( index, obj ) { settings.push( obj.attributes ); } ); } else if ( init_type == 'blocks' && section_data.hasOwnProperty( 'parallax' ) && section_data.parallax == 'parallax' ) { parallax_type = 'blocks'; settings.push( { type: section_data.hasOwnProperty( 'parallax_type' ) ? section_data.parallax_type : 'object', x: section_data.hasOwnProperty( 'parallax_x' ) ? section_data.parallax_x.size : 0, y: section_data.hasOwnProperty( 'parallax_y' ) ? section_data.parallax_y.size : 0, scale: section_data.hasOwnProperty( 'parallax_scale' ) ? section_data.parallax_scale.size : 0, rotate: section_data.hasOwnProperty( 'parallax_rotate' ) ? section_data.parallax_rotate.size : 0, opacity: section_data.hasOwnProperty( 'parallax_opacity' ) ? section_data.parallax_opacity.size : 0, duration: section_data.hasOwnProperty( 'parallax_duration' ) ? section_data.parallax_duration.size : 1, amplitude: section_data.hasOwnProperty( 'parallax_amplitude' ) ? section_data.parallax_amplitude.size : 40, text: section_data.hasOwnProperty( 'parallax_text' ) ? section_data.parallax_text : 'block' } ); } return 0 !== settings.length ? settings : false; }; self.create_layers = function() { $target.find( '> .sc_parallax_block' ).remove(); jQuery.each( settings, function( index, block ) { var image = block['image'].url, speed = block['speed'].size, z_index = block['z_index'].size, bg_size = block['bg_size'] ? block['bg_size'] : 'auto', anim_prop = block['animation_prop'] ? block['animation_prop'] : 'background', left = block['left'].size, top = block['top'].size, type = block['type'] ? block['type'] : 'none', motion_dir = block['motion_dir'] ? block['motion_dir'] : 'round', motion_time = block['motion_time'] ? block['motion_time'].size : 5, $layout = null; if ( '' !== image || 'none' !== type ) { var layout_init = { 'z-index': z_index }; if ( 'none' === type ) { layout_init['left'] = left + '%'; layout_init['top'] = top + '%'; } $layout = jQuery( '
' ) .prependTo( $target ) .css( layout_init ); layout_init = { 'background-image': 'url(' + image + ')', 'background-size': bg_size, 'background-position-x': left + '%', 'background-position-y': top + '%' }; $layout.find( '> .sc_parallax_block_image' ).css(layout_init); var layout_data = { selector: $layout, image: image, size: bg_size, prop: anim_prop, type: type, x: left, y: top, z: z_index, speed: 2 * ( speed / 100 ), motion_dir: motion_dir, motion_time: motion_time }; if ( 'scroll' === type ) { scroll_list.push( layout_data ); } else if ( 'mouse' === type ) { mouse_list.push( layout_data ); } else if ( 'motion' === type ) { motion_list.push( layout_data ); } } }); }; self.motion_move_handler = function() { if ( tw == 0 ) { tl = $target.offset().left; tt = $target.offset().top; tw = $target.width(); th = $target.height(); } var cx = Math.ceil( tw / 2 ), cy = Math.ceil( th / 2 ); jQuery.each( motion_list, function( index, block ) { var delta = ( ( motion_period * motion_step++ ) % ( block['motion_time'] * 1000 ) ) / ( block['motion_time'] * 1000 ), angle = 2 * Math.PI * delta; if ( block['motion_dir'] == 'round' ) { var fi = Math.atan2(tw / 2 * Math.sin(angle), th / 2 * Math.cos(angle)), dx = tw / 2 * Math.cos(fi), dy = th / 2 * Math.sin(fi); } else if ( block['motion_dir'] == 'random' ) { var dx = -tw + tw * 2 * Math.random(), dy = -th + th * 2 * Math.random(); } else { var dx = block['motion_dir'] == 'vertical' ? 0 : tw / 2 * Math.cos(angle), dy = block['motion_dir'] == 'horizontal' ? 0 : th / 2 * Math.sin(angle); } tx = -1 * ( dx / cx ), ty = -1 * ( dy / cy ); if ( block['motion_dir'] == 'random' ) { if ( delta == 0 ) { self.mouse_move_update(index, block, block['motion_time'], Power0.easeNone); } } else { self.mouse_move_update(index, block); } } ); }; self.mouse_move_handler = function( e ) { if ( tw == 0 ) { tl = $target.offset().left; tt = $target.offset().top; tw = $target.width(); th = $target.height(); } wst = $window.scrollTop(), ww = $window.width(); wh = $window.height(); var cx = Math.ceil( tw / 2 ), cy = Math.ceil( th / 2 ), dx = e.clientX - tl - cx, dy = e.clientY + wst - tt - cy; tx = -1 * ( dx / cx ), ty = -1 * ( dy / cy ); jQuery.each( mouse_list, self.mouse_move_update ); }; self.mouse_leave_handler = function( e ) { jQuery.each( mouse_list, function( index, block ) { var $image = block.selector.find( '.sc_parallax_block_image' ).eq(0); if ( block.prop == 'transform3d' ) { TweenMax.to( $image, 1.5, { x: 0, y: 0, z: 0, rotationX: 0, rotationY: 0, ease:Power2.easeOut } ); } } ); }; self.mouse_move_update = function( index, block, time, ease ) { var $image = block.selector.find( '.sc_parallax_block_image' ).eq(0), speed = block.speed, x = parseFloat( tx * 125 * speed ).toFixed(1), y = parseFloat( ty * 125 * speed ).toFixed(1), z = block.z * 50, rotate_x = parseFloat( tx * 25 * speed ).toFixed(1), rotate_y = parseFloat( ty * 25 * speed ).toFixed(1); if ( block.prop == 'background' ) { TweenMax.to( $image, time === undefined ? 1 : time, { backgroundPositionX: 'calc(' + block.x + '% + ' + x + 'px)', backgroundPositionY: 'calc(' + block.y + '% + ' + y + 'px)', ease: ease === undefined ? Power2.easeOut : ease } ); } else if ( block.prop == 'transform' ) { TweenMax.to( $image, time === undefined ? 1 : time, { x: x, y: y, ease: ease === undefined ? Power2.easeOut : ease } ); } else if ( block.prop == 'transform3d' ) { TweenMax.to( $image, time === undefined ? 2 : time, { x: x, y: y, z: z, rotationX: rotate_y, rotationY: -rotate_x, ease: ease === undefined ? Power2.easeOut : ease } ); } }; self.scroll_handler = function( e ) { wst = $window.scrollTop(), ww = $window.width(); wh = $window.height(); self.scroll_update(); }; self.scroll_update = function() { jQuery.each( scroll_list, function( index, block ) { if ( parallax_type == 'layers' ) { var $image = block.selector.find( '.sc_parallax_block_image' ), speed = block.speed, prop = block.prop, offset_top = block.selector.offset().top, h = block.selector.outerHeight(), y = ( wst + wh - offset_top ) / h * 100; if ( wst < offset_top - wh) y = 0; if ( wst > offset_top + h) y = 200; y = parseFloat( speed * y ).toFixed(1); if ( 'background' === block.prop ) { $image.css( { 'background-position-y': 'calc(' + block.y + '% + ' + y + 'px)' } ); } else { $image.css( { 'transform': 'translateY(' + y + 'px)' } ); } } else { var w_top = wst, w_bottom = w_top + wh, obj = block.selector, obj_width = obj.outerWidth(), obj_height = obj.outerHeight(), obj_top = obj.offset().top, obj_bottom = obj_top + obj_height; var entrance = obj.hasClass('sc_parallax_entrance'), entrance_complete = obj.hasClass('sc_parallax_entrance_complete'), bottom_delta = entrance ? 100: 0, start = obj.hasClass('sc_parallax_start'), params = block; if ( typeof params.type == 'undefined' ) params.type = 'object'; if ( typeof params.x == 'undefined' ) params.x = 0; if ( typeof params.y == 'undefined' ) params.y = 0; if ( typeof params.scale == 'undefined' ) params.scale = 0; if ( typeof params.rotate == 'undefined' ) params.rotate = 0; if ( typeof params.opacity == 'undefined' ) params.opacity = 0; if ( typeof params.duration == 'undefined' ) params.duration = 1; if ( typeof params.amplitude == 'undefined' ) params.amplitude = 40; if ( typeof params.text == 'undefined' ) params.text = 'block'; if ( typeof params.ease == 'undefined' ) params.ease = "Power2"; if ( obj.data('inited') === undefined ) { if ( obj_top > w_bottom ) obj_top = w_bottom - bottom_delta; else if ( obj_bottom < w_top ) obj_bottom = w_top; obj.data('inited', 1); } if ( w_top <= obj_bottom && obj_top <= w_bottom - bottom_delta && !entrance_complete ) { if ( entrance ) { var entrance_start = false; if (start && !obj.data('entrance-inited')) { if (obj_top < w_bottom - bottom_delta) { obj.addClass('sc_parallax_entrance_complete'); return; } obj.data('entrance-inited', 1); entrance_start = true; } else { obj.addClass('sc_parallax_entrance_complete'); } } var delta = entrance ? 1 : Math.max( 1, ( wh + obj_height ) * params.amplitude / 100 ), shift = entrance ? (entrance_start ? 0 : 1) : w_bottom - obj_top, step_x = params.x != 0 ? params.x / delta : 0, step_y = params.y != 0 ? params.y / delta : 0, step_scale = params.scale != 0 ? params.scale / 100 / delta : 0, step_rotate = params.rotate != 0 ? params.rotate / delta : 0, step_opacity = params.opacity != 0 ? params.opacity / delta : 0; var scroller_init = { ease: self.get_ease(params.ease) }, transform = '', val = 0; if (step_opacity != 0) { scroller_init.opacity = trx_addons_round_number( start ? Math.min(1, 1 - shift * step_opacity + params.opacity) : 1 + shift * step_opacity, 2); } if (step_x != 0) { val = Math.round( start ? params.x - shift * step_x : shift * step_x - (params.type == 'bg' && params.x > 0 ? params.x : 0) ); if ( start && ( (params.x < 0 && val > 0) || (params.x > 0 && val < 0) ) ) val = 0; transform += 'translateX(' + val + 'px)'; scroller_init.x = val; } if (step_y != 0) { val = Math.round( start ? params.y - shift * step_y : shift * step_y - (params.type == 'bg' && params.y > 0 ? params.y : 0) ); if ( start && ( (params.y < 0 && val > 0) || (params.y > 0 && val < 0) ) ) val = 0; transform += (transform != '' ? ' ' : '') + 'translateY(' + val + 'px)'; scroller_init.y = val; } if (step_rotate != 0) { val = trx_addons_round_number( start ? params.rotate - shift * step_rotate : shift * step_rotate, 2); if ( start && ( (params.rotate < 0 && val > 0) || (params.rotate > 0 && val < 0) ) ) val = 0; transform += (transform != '' ? ' ' : '') + 'rotate(' + val + 'deg)'; scroller_init.rotation = val; } if (step_scale != 0) { val = trx_addons_round_number( start ? 1 + params.scale / 100 - shift * step_scale : 1 + shift * step_scale - (params.type == 'bg' && params.scale < 0 ? params.scale / 100 : 0), 2); if ( start && ( (params.scale < 1 && val > 1) || (params.scale > 1 && val < 1) ) ) val = 1; transform += (transform != '' ? ' ' : '') + 'scale(' + val + ')'; scroller_init.scale = val; } if ( [ 'chars', 'words'].indexOf(params.text) != -1 && obj.data('element_type') !== undefined ) { var sc = obj.data('element_type').split('.')[0], inner_obj = obj.find('.sc_parallax_text_block'); if (inner_obj.length == 0) { inner_obj = obj.find( sc == 'trx_sc_title' ? '.sc_item_title_text,.sc_item_subtitle' : ( sc == 'trx_sc_supertitle' ? '.sc_supertitle_text' : ( sc == 'heading' ? '.elementor-heading-title' : 'p') ) ); if (inner_obj.length > 0) { inner_obj.each(function(idx) { inner_obj.eq(idx) .html( params.text == 'chars' ? self.wrap_chars(inner_obj.eq(idx).html()) : self.wrap_words(inner_obj.eq(idx).html()) ); }); inner_obj = inner_obj.find('.sc_parallax_text_block'); } } if (inner_obj.length > 0) { obj = inner_obj; } } obj.each( function(idx) { if (idx == 0) { TweenMax.to( obj.eq(idx), params.duration, scroller_init ); } else { setTimeout(function() { TweenMax.to( obj.eq(idx), params.duration, scroller_init ); }, ( params.text == 'chars' ? 50 : 250 ) * idx); } }); } } } ); }; self.get_ease = function(name) { name = name.toLowerCase(); if ( name == 'none' || name == 'line' || name == 'linear' || name == 'power0' ) return Power0.easeNone; else if ( name == 'power1') return Power1.easeOut; else if ( name == 'power2') return Power2.easeOut; else if ( name == 'power3') return Power3.easeOut; else if ( name == 'power4') return Power4.easeOut; else if ( name == 'back') return Back.easeOut; else if ( name == 'elastic') return Elastic.easeOut; else if ( name == 'bounce') return Bounce.easeOut; else if ( name == 'rough') return Rough.easeOut; else if ( name == 'slowmo') return SlowMo.easeOut; else if ( name == 'stepped') return Stepped.easeOut; else if ( name == 'circ') return Circ.easeOut; else if ( name == 'expo') return Expo.easeOut; else if ( name == 'sine') return Sine.easeOut; }; self.wrap_chars = function(txt) { var rez = '', ch = '', in_tag = false; for (var i=0; i' + (txt.substr(i, 1) == ' ' ? ' ' : txt.substr(i, 1)) + ''; if (ch == '>') { in_tag = false; } } return rez; }; self.wrap_words = function(txt) { var rez = '', ch = '', in_tag = false, in_word = false; for (var i=0; i') { in_tag = false; } } return rez; }; }; }() ); jQuery(document).on('action.ready_trx_addons', function() { "use strict"; var rows = jQuery('.sc_layouts_row_fixed'), rows_always = jQuery('.sc_layouts_row_fixed_always'); if (rows.length > 0) { rows.each(function() { if (!jQuery(this).next().hasClass('sc_layouts_row_fixed_placeholder')) jQuery(this).after('
'); }); jQuery(document).on('action.scroll_trx_addons', function() { trx_addons_cpt_layouts_fix_rows(rows, rows_always, false); }); jQuery(document).on('action.resize_trx_addons', function() { trx_addons_cpt_layouts_fix_rows(rows, rows_always, true); }); } function trx_addons_cpt_layouts_fix_rows(rows, rows_always, resize) { if (jQuery(window).width() < 768) { rows.each(function() { if (!jQuery(this).hasClass('sc_layouts_row_fixed_always')) { jQuery(this).removeClass('sc_layouts_row_fixed_on').css({'top': 'auto'}); } }); if (rows_always.length == 0) return; else rows = rows_always; } var scroll_offset = jQuery(window).scrollTop(); var rows_offset = trx_addons_fixed_rows_height(true, false); rows.each(function() { var placeholder = jQuery(this).next(); var h = jQuery(this).outerHeight(); if ((jQuery(this).css('display')=='none' || h == 0) && !jQuery(this).hasClass('sc_layouts_row_hide_unfixed')) { placeholder.height(0); return; } var offset = parseInt(jQuery(this).hasClass('sc_layouts_row_fixed_on') ? placeholder.offset().top : jQuery(this).offset().top, 10); if (isNaN(offset)) offset = 0; if (scroll_offset + rows_offset <= offset) { if (jQuery(this).hasClass('sc_layouts_row_fixed_on')) { jQuery(this).removeClass('sc_layouts_row_fixed_on').css({'top': 'auto'}); jQuery(document).trigger('action.sc_layouts_row_fixed_off'); } } else { if (!jQuery(this).hasClass('sc_layouts_row_fixed_on')) { if (rows_offset + h < jQuery(window).height() * 0.33) { placeholder.height(h); jQuery(this).addClass('sc_layouts_row_fixed_on').css({'top': rows_offset+'px'}); h = jQuery(this).outerHeight(); jQuery(document).trigger('action.sc_layouts_row_fixed_on'); } } else if (resize && jQuery(this).hasClass('sc_layouts_row_fixed_on') && jQuery(this).offset().top != rows_offset) { jQuery(this).css({'top': rows_offset+'px'}); } rows_offset += h; } }); } }); jQuery(document).on('action.init_hidden_elements', function() { "use strict"; jQuery('.sc_services_tabs:not(.inited)') .addClass('inited') .on('click', '.sc_services_tabs_list_item:not(.sc_services_tabs_list_item_active)', function(e) { jQuery(this).siblings().removeClass('sc_services_tabs_list_item_active'); jQuery(this).addClass('sc_services_tabs_list_item_active'); var content = jQuery(this).parent().siblings('.sc_services_tabs_content'); var items = content.find('.sc_services_item'); content.find('.sc_services_item_active').addClass('sc_services_item_flip').removeClass('sc_services_item_active'); items.eq(jQuery(this).index()).addClass('sc_services_item_active'); setTimeout(function() { content.find('.sc_services_item_flip').addClass('trx_addons_hidden').removeClass('sc_services_item_flip'); items.removeClass('sc_services_item_flipping'); setTimeout(function() { items.removeClass('trx_addons_hidden'); }, 600); }, 600); if (true || /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor)) { setTimeout(function() { content.find('.sc_services_item_active').addClass('sc_services_item_flipping'); }, 250); } e.preventDefault(); return false; }); jQuery('.sc_services_tabs_simple:not(.inited)') .addClass('inited') .on('click', '.sc_services_tabs_list_item:not(.sc_services_tabs_list_item_active)', function(e) { jQuery(this).siblings().removeClass('sc_services_tabs_list_item_active'); jQuery(this).addClass('sc_services_tabs_list_item_active'); var content = jQuery(this).parent().siblings('.sc_services_tabs_content'); var items = content.find('.sc_services_tabs_content_item'); content.find('.sc_services_tabs_content_item_active').addClass('sc_services_item_flip').removeClass('sc_services_tabs_content_item_active'); items.eq(jQuery(this).index()).addClass('sc_services_tabs_content_item_active'); setTimeout(function() { content.find('sc_services_item_flip').removeClass('sc_services_item_flip'); }, 600); e.preventDefault(); return false; }); }); jQuery(document).on('action.init_hidden_elements', function(e, container) { "use strict"; var toc_menu = jQuery('#toc_menu'); if (toc_menu.length == 0) { trx_addons_build_page_toc(); toc_menu = jQuery('#toc_menu'); if (toc_menu.length == 0) return; } else if (toc_menu.hasClass('inited')) { return; } toc_menu.addClass('inited'); var toc_menu_items = toc_menu.find('.toc_menu_item'); jQuery('.toc_menu_item > a').on('click', function(e) { var link_obj = jQuery(this), href = link_obj.attr('href'), pos = href.indexOf('#'); if (pos >= 0 && href.length > 1 && trx_addons_is_local_link(href)) { e.preventDefault(); trx_addons_scroll_to_anchor(jQuery(this), true); return false; } }); var wheel_busy = false, wheel_time = 0, wheel_stop = false; if ( TRX_ADDONS_STORAGE['scroll_to_anchor'] == 1 && !TRX_ADDONS_STORAGE['scroll_to_anchor_wheel'] ) { TRX_ADDONS_STORAGE['scroll_to_anchor_wheel'] = true; jQuery(document).on('action.stop_wheel_handlers', function(e) { wheel_stop = true; }); jQuery(document).on('action.start_wheel_handlers', function(e) { wheel_stop = false; }); window.addEventListener('mousewheel', trx_addons_mouse_wheel, { passive: false } ); jQuery(window).on('DOMMouseScroll', trx_addons_mouse_wheel); } function trx_addons_mouse_wheel(e) { if (screen.width < 960 || jQuery(window).width() < 960 || wheel_stop || trx_addons_browser_is_ios()) { return true; } if (wheel_busy || wheel_time == e.timeStamp) { e.preventDefault(); return false; } wheel_time = e.timeStamp; var wheel_dir = e.originalEvent ? e.originalEvent.wheelDelta > 0 || e.originalEvent.detail < 0 ? -1 : 1 : e.wheelDelta > 0 || e.detail < 0 ? -1 : 1; toc_menu_items = jQuery('#toc_menu .toc_menu_item'); var items = trx_addons_detect_active_toc(true); if ( items ) { var doit = false; var scroll_offset = parseInt(jQuery(window).scrollTop(), 10); var wh = jQuery(window).height(); var ah = trx_addons_fixed_rows_height(); if (wheel_dir == -1) { doit = true; setTimeout( function() { if (items.prev >= 0 && items.prevOffset >= scroll_offset-wh-ah) { trx_addons_scroll_to_anchor( toc_menu_items.eq(items.prev).find('a'), false ); } else { trx_addons_document_animate_to( Math.max(0, scroll_offset-wh) ); } }, 10 ); } else { doit = true; setTimeout( function() { if (items.next >= 0 && items.nextOffset <= scroll_offset+wh+ah) { trx_addons_scroll_to_anchor( toc_menu_items.eq(items.next).find('a'), false ); } else { trx_addons_document_animate_to( Math.min( jQuery(document).height(), scroll_offset+wh ) ); } }, 10 ); } if (doit) { wheel_busy = true; setTimeout( function() { wheel_busy = false; }, trx_addons_browser_is_ios() ? 1200 : 100 ); e.preventDefault(); return false; } } } var last_scroll_offset = -1; function trx_addons_detect_active_toc( force ) { var scroll_offset = parseInt(jQuery(window).scrollTop(), 10); if ( !force && scroll_offset == last_scroll_offset ) { return false; } else { last_scroll_offset = scroll_offset; } var items = { loc: '', current: [], prev: -1, prevOffset: -1, next: -1, nextOffset: -1 }; var fixed_rows_height = Math.ceil( trx_addons_fixed_rows_height() ); toc_menu_items.each(function(idx) { var id = '#'+jQuery(this).data('id'); var pos = id.indexOf('#'); if (pos < 0 || id.length == 1) return; var href = jQuery(this).find('a').attr('href'); if (!trx_addons_is_local_link(href) || jQuery(id).length==0) return; var off = jQuery(id).offset().top; var id_next = jQuery(this).next().find('a').attr('href'); var off_next = id_next && idx < toc_menu_items.length-1 && jQuery(id_next).length > 0 ? parseInt(jQuery(id_next).offset().top, 10) : 1000000; if (off > scroll_offset + fixed_rows_height + 20) { if (items.next < 0) { items.next = idx; items.nextOffset = off; } } else if (off < scroll_offset - fixed_rows_height - 20) { items.prev = idx; items.prevOffset = off; } if (off < scroll_offset + jQuery(window).height()*0.8 && scroll_offset < off_next - fixed_rows_height) { items.current.push(idx); if (items.loc == '') { var loc = window.location.href; var loc_pos = loc.indexOf('#'); if (loc_pos > 0) loc = loc.substring(0, loc_pos); items.loc = href.indexOf('#')==0 ? loc + id : id; } } }); return items; } jQuery(window).on('scroll', function() { trx_addons_mark_active_toc(); }); setTimeout( function() { trx_addons_mark_active_toc(); }, 500); trx_addons_mark_active_toc(); function trx_addons_mark_active_toc() { var items = trx_addons_detect_active_toc(); if ( items ) { toc_menu_items.removeClass('toc_menu_item_active'); for (var i=0; i= 0 && href.length > 1 && trx_addons_is_local_link(href)) { wheel_busy = true; setTimeout(function() { wheel_busy = false; }, trx_addons_browser_is_ios() ? 1200 : 100); trx_addons_document_animate_to(href.substr(pos), function() { if (TRX_ADDONS_STORAGE['update_location_from_anchor']==1) { var loc = window.location.href; var loc_pos = loc.indexOf('#'); if (loc_pos > 0) loc = loc.substring(0, loc_pos); trx_addons_document_set_location(pos==0 ? loc + href : href); } }); return true; } return false; } function trx_addons_build_page_toc() { var toc = '', toc_count = 0; jQuery('[id^="toc_menu_"],.sc_anchor').each(function(idx) { var obj = jQuery(this); var obj_id = obj.attr('id') || ('sc_anchor_'+Math.random()).replace('.', ''); var row = obj.closest('.wpb_row,.elementor-row,.elementor-section').eq(0); if (row.length == 0) row = !obj.parent().hasClass('entry-content') ? obj.parent() : obj; var row_id = row.length>0 && row.attr('id') !== undefined && row.attr('id') !== '' ? row.attr('id') : ''; var id = row_id || obj_id.substr(10); if (row.length>0 && row_id == '') { row.attr('id', id); } var url = obj.data('url'); var icon = obj.data('vc-icon') || 'toc_menu_icon_default'; var title = obj.attr('title'); var description = obj.data('description'); var separator = obj.data('separator'); toc_count++; toc += ''; }); if (toc_count > 0) { jQuery('body').append('
'+toc+'
'); } } }); (function(){var j=false;window.JQClass=function(){};JQClass.classes={};JQClass.extend=function extender(f){var g=this.prototype;j=true;var h=new this();j=false;for(var i in f){h[i]=typeof f[i]=='function'&&typeof g[i]=='function'?(function(d,e){return function(){var b=this._super;this._super=function(a){return g[d].apply(this,a||[])};var c=e.apply(this,arguments);this._super=b;return c}})(i,f[i]):f[i]}function JQClass(){if(!j&&this._init){this._init.apply(this,arguments)}}JQClass.prototype=h;JQClass.prototype.constructor=JQClass;JQClass.extend=extender;return JQClass}})();(function($){JQClass.classes.JQPlugin=JQClass.extend({name:'plugin',defaultOptions:{},regionalOptions:{},_getters:[],_getMarker:function(){return'is-'+this.name},_init:function(){$.extend(this.defaultOptions,(this.regionalOptions&&this.regionalOptions[''])||{});var c=camelCase(this.name);$[c]=this;$.fn[c]=function(a){var b=Array.prototype.slice.call(arguments,1);if($[c]._isNotChained(a,b)){return $[c][a].apply($[c],[this[0]].concat(b))}return this.each(function(){if(typeof a==='string'){if(a[0]==='_'||!$[c][a]){throw'Unknown method: '+a;}$[c][a].apply($[c],[this].concat(b))}else{$[c]._attach(this,a)}})}},setDefaults:function(a){$.extend(this.defaultOptions,a||{})},_isNotChained:function(a,b){if(a==='option'&&(b.length===0||(b.length===1&&typeof b[0]==='string'))){return true}return $.inArray(a,this._getters)>-1},_attach:function(a,b){a=$(a);if(a.hasClass(this._getMarker())){return}a.addClass(this._getMarker());b=$.extend({},this.defaultOptions,this._getMetadata(a),b||{});var c=$.extend({name:this.name,elem:a,options:b},this._instSettings(a,b));a.data(this.name,c);this._postAttach(a,c);this.option(a,b)},_instSettings:function(a,b){return{}},_postAttach:function(a,b){},_getMetadata:function(d){try{var f=d.data(this.name.toLowerCase())||'';f=f.replace(/'/g,'"');f=f.replace(/([a-zA-Z0-9]+):/g,function(a,b,i){var c=f.substring(0,i).match(/"/g);return(!c||c.length%2===0?'"'+b+'":':b+':')});f=$.parseJSON('{'+f+'}');for(var g in f){var h=f[g];if(typeof h==='string'&&h.match(/^new Date\((.*)\)$/)){f[g]=eval(h)}}return f}catch(e){return{}}},_getInst:function(a){return $(a).data(this.name)||{}},option:function(a,b,c){a=$(a);var d=a.data(this.name);if(!b||(typeof b==='string'&&c==null)){var e=(d||{}).options;return(e&&b?e[b]:e)}if(!a.hasClass(this._getMarker())){return}var e=b||{};if(typeof b==='string'){e={};e[b]=c}this._optionsChanged(a,d,e);$.extend(d.options,e)},_optionsChanged:function(a,b,c){},destroy:function(a){a=$(a);if(!a.hasClass(this._getMarker())){return}this._preDestroy(a,this._getInst(a));a.removeData(this.name).removeClass(this._getMarker())},_preDestroy:function(a,b){}});function camelCase(c){return c.replace(/-([a-z])/g,function(a,b){return b.toUpperCase()})}$.JQPlugin={createPlugin:function(a,b){if(typeof a==='object'){b=a;a='JQPlugin'}a=camelCase(a);var c=camelCase(b.name);JQClass.classes[c]=JQClass.classes[a].extend(b);new JQClass.classes[c]()}}})(jQuery); (function($){var w='countdown';var Y=0;var O=1;var W=2;var D=3;var H=4;var M=5;var S=6;$.JQPlugin.createPlugin({name:w,defaultOptions:{until:null,since:null,timezone:null,serverSync:null,format:'dHMS',layout:'',compact:false,padZeroes:false,significant:0,description:'',expiryUrl:'',expiryText:'',alwaysExpire:false,onExpiry:null,onTick:null,tickInterval:1},regionalOptions:{'':{labels:['Years','Months','Weeks','Days','Hours','Minutes','Seconds'],labels1:['Year','Month','Week','Day','Hour','Minute','Second'],compactLabels:['y','m','w','d'],whichLabels:null,digits:['0','1','2','3','4','5','6','7','8','9'],timeSeparator:':',isRTL:false}},_getters:['getTimes'],_rtlClass:w+'-rtl',_sectionClass:w+'-section',_amountClass:w+'-amount',_periodClass:w+'-period',_rowClass:w+'-row',_holdingClass:w+'-holding',_showClass:w+'-show',_descrClass:w+'-descr',_timerElems:[],_init:function(){var c=this;this._super();this._serverSyncs=[];var d=(typeof Date.now=='function'?Date.now:function(){return new Date().getTime()});var e=(window.performance&&typeof window.performance.now=='function');function timerCallBack(a){var b=(a<1e12?(e?(performance.now()+performance.timing.navigationStart):d()):a||d());if(b-g>=1000){c._updateElems();g=b}f(timerCallBack)}var f=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||null;var g=0;if(!f||$.noRequestAnimationFrame){$.noRequestAnimationFrame=null;setInterval(function(){c._updateElems()},980)}else{g=window.animationStartTime||window.webkitAnimationStartTime||window.mozAnimationStartTime||window.oAnimationStartTime||window.msAnimationStartTime||d();f(timerCallBack)}},UTCDate:function(a,b,c,e,f,g,h,i){if(typeof b=='object'&&b.constructor==Date){i=b.getMilliseconds();h=b.getSeconds();g=b.getMinutes();f=b.getHours();e=b.getDate();c=b.getMonth();b=b.getFullYear()}var d=new Date();d.setUTCFullYear(b);d.setUTCDate(1);d.setUTCMonth(c||0);d.setUTCDate(e||1);d.setUTCHours(f||0);d.setUTCMinutes((g||0)-(Math.abs(a)<30?a*60:a));d.setUTCSeconds(h||0);d.setUTCMilliseconds(i||0);return d},periodsToSeconds:function(a){return a[0]*31557600+a[1]*2629800+a[2]*604800+a[3]*86400+a[4]*3600+a[5]*60+a[6]},resync:function(){var d=this;$('.'+this._getMarker()).each(function(){var a=$.data(this,d.name);if(a.options.serverSync){var b=null;for(var i=0;i-1)},_removeElem:function(b){this._timerElems=$.map(this._timerElems,function(a){return(a==b?null:a)})},_updateElems:function(){for(var i=this._timerElems.length-1;i>=0;i--){this._updateCountdown(this._timerElems[i])}},_optionsChanged:function(a,b,c){if(c.layout){c.layout=c.layout.replace(/</g,'<').replace(/>/g,'>')}this._resetExtraLabels(b.options,c);var d=(b.options.timezone!=c.timezone);$.extend(b.options,c);this._adjustSettings(a,b,c.until!=null||c.since!=null||d);var e=new Date();if((b._since&&b._sincee)){this._addElem(a[0])}this._updateCountdown(a,b)},_updateCountdown:function(a,b){a=a.jquery?a:$(a);b=b||this._getInst(a);if(!b){return}a.html(this._generateHTML(b)).toggleClass(this._rtlClass,b.options.isRTL);if($.isFunction(b.options.onTick)){var c=b._hold!='lap'?b._periods:this._calculatePeriods(b,b._show,b.options.significant,new Date());if(b.options.tickInterval==1||this.periodsToSeconds(c)%b.options.tickInterval==0){b.options.onTick.apply(a[0],[c])}}var d=b._hold!='pause'&&(b._since?b._now.getTime()=b._until.getTime());if(d&&!b._expiring){b._expiring=true;if(this._hasElem(a[0])||b.options.alwaysExpire){this._removeElem(a[0]);if($.isFunction(b.options.onExpiry)){b.options.onExpiry.apply(a[0],[])}if(b.options.expiryText){var e=b.options.layout;b.options.layout=b.options.expiryText;this._updateCountdown(a[0],b);b.options.layout=e}if(b.options.expiryUrl){window.location=b.options.expiryUrl}}b._expiring=false}else if(b._hold=='pause'){this._removeElem(a[0])}},_resetExtraLabels:function(a,b){for(var n in b){if(n.match(/[Ll]abels[02-9]|compactLabels1/)){a[n]=b[n]}}for(var n in a){if(n.match(/[Ll]abels[02-9]|compactLabels1/)&&typeof b[n]==='undefined'){a[n]=null}}},_adjustSettings:function(a,b,c){var d=null;for(var i=0;i0);h[i]=(c._show[i]=='?'&&!e?null:c._show[i]);f+=(h[i]?1:0);g-=(c._periods[i]>0?1:0)}var j=[false,false,false,false,false,false,false];for(var i=S;i>=Y;i--){if(c._show[i]){if(c._periods[i]){j[i]=true}else{j[i]=g>0;g--}}}var k=(c.options.compact?c.options.compactLabels:c.options.labels);var l=c.options.whichLabels||this._normalLabels;var m=function(a){var b=c.options['compactLabels'+l(c._periods[a])];return(h[a]?d._translateDigits(c,c._periods[a])+(b?b[a]:k[a])+' ':'')};var n=(c.options.padZeroes?2:1);var o=function(a){var b=c.options['labels'+l(c._periods[a])];return((!c.options.significant&&h[a])||(c.options.significant&&j[a])?''+''+d._minDigits(c,c._periods[a],n)+''+''+(b?b[a]:k[a])+'':'')};return(c.options.layout?this._buildLayout(c,h,c.options.layout,c.options.compact,c.options.significant,j):((c.options.compact?''+m(Y)+m(O)+m(W)+m(D)+(h[H]?this._minDigits(c,c._periods[H],2):'')+(h[M]?(h[H]?c.options.timeSeparator:'')+this._minDigits(c,c._periods[M],2):'')+(h[S]?(h[H]||h[M]?c.options.timeSeparator:'')+this._minDigits(c,c._periods[S],2):''):''+o(Y)+o(O)+o(W)+o(D)+o(H)+o(M)+o(S))+''+(c.options.description?''+c.options.description+'':'')))},_buildLayout:function(c,d,e,f,g,h){var j=c.options[f?'compactLabels':'labels'];var k=c.options.whichLabels||this._normalLabels;var l=function(a){return(c.options[(f?'compactLabels':'labels')+k(c._periods[a])]||j)[a]};var m=function(a,b){return c.options.digits[Math.floor(a/b)%10]};var o={desc:c.options.description,sep:c.options.timeSeparator,yl:l(Y),yn:this._minDigits(c,c._periods[Y],1),ynn:this._minDigits(c,c._periods[Y],2),ynnn:this._minDigits(c,c._periods[Y],3),y1:m(c._periods[Y],1),y10:m(c._periods[Y],10),y100:m(c._periods[Y],100),y1000:m(c._periods[Y],1000),ol:l(O),on:this._minDigits(c,c._periods[O],1),onn:this._minDigits(c,c._periods[O],2),onnn:this._minDigits(c,c._periods[O],3),o1:m(c._periods[O],1),o10:m(c._periods[O],10),o100:m(c._periods[O],100),o1000:m(c._periods[O],1000),wl:l(W),wn:this._minDigits(c,c._periods[W],1),wnn:this._minDigits(c,c._periods[W],2),wnnn:this._minDigits(c,c._periods[W],3),w1:m(c._periods[W],1),w10:m(c._periods[W],10),w100:m(c._periods[W],100),w1000:m(c._periods[W],1000),dl:l(D),dn:this._minDigits(c,c._periods[D],1),dnn:this._minDigits(c,c._periods[D],2),dnnn:this._minDigits(c,c._periods[D],3),d1:m(c._periods[D],1),d10:m(c._periods[D],10),d100:m(c._periods[D],100),d1000:m(c._periods[D],1000),hl:l(H),hn:this._minDigits(c,c._periods[H],1),hnn:this._minDigits(c,c._periods[H],2),hnnn:this._minDigits(c,c._periods[H],3),h1:m(c._periods[H],1),h10:m(c._periods[H],10),h100:m(c._periods[H],100),h1000:m(c._periods[H],1000),ml:l(M),mn:this._minDigits(c,c._periods[M],1),mnn:this._minDigits(c,c._periods[M],2),mnnn:this._minDigits(c,c._periods[M],3),m1:m(c._periods[M],1),m10:m(c._periods[M],10),m100:m(c._periods[M],100),m1000:m(c._periods[M],1000),sl:l(S),sn:this._minDigits(c,c._periods[S],1),snn:this._minDigits(c,c._periods[S],2),snnn:this._minDigits(c,c._periods[S],3),s1:m(c._periods[S],1),s10:m(c._periods[S],10),s100:m(c._periods[S],100),s1000:m(c._periods[S],1000)};var p=e;for(var i=Y;i<=S;i++){var q='yowdhms'.charAt(i);var r=new RegExp('\\{'+q+'<\\}([\\s\\S]*)\\{'+q+'>\\}','g');p=p.replace(r,((!g&&d[i])||(g&&h[i])?'$1':''))}$.each(o,function(n,v){var a=new RegExp('\\{'+n+'\\}','g');p=p.replace(a,v)});return p},_minDigits:function(a,b,c){b=''+b;if(b.length>=c){return this._translateDigits(a,b)}b='0000000000'+b;return this._translateDigits(a,b.substr(b.length-c))},_translateDigits:function(b,c){return(''+c).replace(/[0-9]/g,function(a){return b.options.digits[a]})},_determineShow:function(a){var b=a.options.format;var c=[];c[Y]=(b.match('y')?'?':(b.match('Y')?'!':null));c[O]=(b.match('o')?'?':(b.match('O')?'!':null));c[W]=(b.match('w')?'?':(b.match('W')?'!':null));c[D]=(b.match('d')?'?':(b.match('D')?'!':null));c[H]=(b.match('h')?'?':(b.match('H')?'!':null));c[M]=(b.match('m')?'?':(b.match('M')?'!':null));c[S]=(b.match('s')?'?':(b.match('S')?'!':null));return c},_calculatePeriods:function(c,d,e,f){c._now=f;c._now.setMilliseconds(0);var g=new Date(c._now.getTime());if(c._since){if(f.getTime()c._until.getTime()){c._now=f=g}}var h=[0,0,0,0,0,0,0];if(d[Y]||d[O]){var i=this._getDaysInMonth(f.getFullYear(),f.getMonth());var j=this._getDaysInMonth(g.getFullYear(),g.getMonth());var k=(g.getDate()==f.getDate()||(g.getDate()>=Math.min(i,j)&&f.getDate()>=Math.min(i,j)));var l=function(a){return(a.getHours()*60+a.getMinutes())*60+a.getSeconds()};var m=Math.max(0,(g.getFullYear()-f.getFullYear())*12+g.getMonth()-f.getMonth()+((g.getDate()o){f.setDate(o)}f.setFullYear(f.getFullYear()+h[Y]);f.setMonth(f.getMonth()+h[O]);if(n){f.setDate(o)}}var p=Math.floor((g.getTime()-f.getTime())/1000);var q=function(a,b){h[a]=(d[a]?Math.floor(p/b):0);p-=h[a]*b};q(W,604800);q(D,86400);q(H,3600);q(M,60);q(S,1);if(p>0&&!c._since){var r=[1,12,4.3482,7,24,60,60];var s=S;var t=1;for(var u=S;u>=Y;u--){if(d[u]){if(h[s]>=t){h[s]=0;p=1}if(p>0){h[u]++;p=0;s=u;t=1}}t*=r[u]}}if(e){for(var u=Y;u<=S;u++){if(e&&h[u]){e--}else if(!e){h[u]=0}}}return h}})})(jQuery); (function() { "use strict"; jQuery(document).on('action.init_hidden_elements', trx_addons_sc_countdown_init); function trx_addons_sc_countdown_init(e, container) { if (container === undefined) container = jQuery('body'); container.find('.sc_countdown:not(.inited)').each(function () { jQuery(this).addClass('inited'); var id = jQuery(this).attr('id'); var interval = 1; var countTo = jQuery(this).data('count-to') > 0; var countRestart = jQuery(this).data('count-restart') > 0; var endDateStr = '' + jQuery(this).data('date'); var endDateParts = endDateStr.split('-'); var endTimeStr = '' + jQuery(this).data('time'); var endTimeParts = endTimeStr.split(':'); if (endTimeParts.length < 3) endTimeParts[2] = '00'; if ( countRestart ) { var dt = new Date(); var countDate = new Date( dt.getTime() + ( endDateParts[0] * 3600 * 24 + endTimeParts[0] * 3600 + endTimeParts[1] * 60 + endTimeParts[2] * 1 ) * 1000 * ( countTo ? 1 : -1 ) ); } else { var countDate = new Date(endDateParts[0], endDateParts[1]-1, endDateParts[2], endTimeParts[0], endTimeParts[1], endTimeParts[2]); } var countInit = { tickInterval: interval, onTick: trx_addons_sc_countdown, alwaysExpire: true, onExpiry: trx_addons_sc_countdown_expire }; if ( countTo ) { countInit.until = countDate; } else { countInit.since = countDate; } jQuery(this).find('.sc_countdown_placeholder').countdown( countInit ); }); } function trx_addons_sc_countdown_expire() { trx_addons_sc_countdown([0,0,0,0,0,0]); } function trx_addons_sc_countdown(dt) { var counter = jQuery(this).parent(); for (var i=3; i < dt.length; i++) { var v = (dt[i]<10 ? '0' : '') + dt[i]; var item = counter.find('.sc_countdown_item').eq(i-3); var digits = item.find('.sc_countdown_digits span').addClass('hide'); for (var ch=v.length-1; ch >= 0; ch--) { digits.eq(ch + (i==3 && v.length<3 ? 1 : 0)).removeClass('hide').text(v.substr(ch, 1)); } trx_addons_draw_arc_on_canvas(item, dt[i]); } } })(); jQuery(document).on('action.init_hidden_elements', function(e, container) { "use strict"; if (container.find('.sc_form_form:not(.sc_form_custom):not(.inited)').length > 0) { container.find('.sc_form_form:not(.sc_form_custom):not(.inited)') .addClass('inited') .submit(function(e) { sc_form_validate(jQuery(this)); e.preventDefault(); return false; }); } jQuery('input[type="text"]:not(.fill_inited),input[type="number"]:not(.fill_inited),input[type="search"]:not(.fill_inited),input[type="password"]:not(.fill_inited),input[type="email"]:not(.fill_inited),textarea:not(.fill_inited),select:not(.fill_inited)').each(function() { var fld = jQuery(this); sc_form_mark_filled(fld); fld.addClass('fill_inited') .on('blur change', function() { sc_form_mark_filled(jQuery(this)); if (jQuery(this).hasClass('filled')) jQuery(this).removeClass('trx_addons_field_error wpcf7-not-valid'); }); }); function sc_form_mark_filled(field) { if (field.val() !== '') field.addClass('filled'); else field.removeClass('filled'); } function sc_form_validate(form){ var url = form.attr('action'); if (url == '') return false; form.find('input').removeClass('trx_addons_error_field'); var error = trx_addons_form_validate(form, { rules: [ { field: "name", min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_field_name_empty'] }, }, { field: "email", min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_field_email_empty'] }, mask: { value: TRX_ADDONS_STORAGE['email_mask'], message: TRX_ADDONS_STORAGE['msg_field_email_not_valid'] } }, { field: "message", min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_field_text_empty'] }, } ] }); if (!error && url!='#') { jQuery.post(url, { action: "send_sc_form", nonce: TRX_ADDONS_STORAGE['ajax_nonce'], data: form.serialize() }).done(function(response) { var rez = {}; try { rez = JSON.parse(response); } catch(e) { rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; console.log(response); } var result = form.find(".trx_addons_message_box").removeClass("trx_addons_message_box_error").removeClass("trx_addons_message_box_success"); if (rez.error === '') { form.get(0).reset(); result.addClass("trx_addons_message_box_success").html(TRX_ADDONS_STORAGE['msg_send_complete']); } else { result.addClass("trx_addons_message_box_error").html(TRX_ADDONS_STORAGE['msg_send_error'] + ' ' + rez.error); } result.fadeIn().delay(3000).fadeOut(); }); } return !error; } }); (function() { "use strict"; var googlemap = { 'inited': false, 'count': 0, 'geocoder': null, 'maps': [] }; var timer = null; jQuery(document).on('action.init_hidden_elements', function(e, container){ if (container === undefined) container = jQuery('body'); var gmap = container.find('.sc_googlemap:not(.inited)'); if (gmap.length > 0) { if (timer !== null) clearTimeout(timer); timer = setTimeout(function() { trx_addons_sc_googlemap_init(e, container); }, gmap.parents('.elementor-element-editable,.gutenberg__editor').length > 0 ? 500 : 0); } }); function trx_addons_sc_googlemap_init(e, container) { if (typeof google === 'undefined' || typeof google.maps === 'undefined') { if (timer !== null) clearTimeout(timer); timer = setTimeout(function() { trx_addons_sc_googlemap_init(e, container); }, 100); return; } if (container === undefined) container = jQuery('body'); var gmap = container.find('.sc_googlemap:not(.inited)'); if (gmap.length > 0) { gmap.each(function () { if (jQuery(this).parents('div:hidden,article:hidden').length > 0) return; var map = jQuery(this).addClass('inited'), map_id = map.attr('id'), map_zoom = map.data('zoom'), map_style = map.data('style'), map_center = map.data('center'), map_editable= map.data('editable')=='1', map_cluster_icon = map.data('cluster-icon'), map_markers = []; map.find('.sc_googlemap_marker').each(function() { var marker = jQuery(this), address = marker.data('address'); if ( !address ) return; var latlng = address.split(',').map(parseFloat); map_markers.push({ icon: marker.data('icon'), icon_retina: marker.data('icon_retina'), icon_width: marker.data('icon_width'), icon_height: marker.data('icon_height'), address: latlng.length == 2 && !isNaN(latlng[0]) && !isNaN(latlng[1]) ? '' : address, latlng: latlng.length != 2 || isNaN(latlng[0]) || isNaN(latlng[1]) ? '' : latlng, description: marker.data('description'), title: marker.data('title'), animation: marker.data('animation') == 'drop' ? google.maps.Animation.DROP : (marker.data('animation') == 'bounce' ? google.maps.Animation.BOUNCE : false ), }); }); trx_addons_sc_googlemap_create( map, { style: map_style, zoom: map_zoom, center: map_center, editable: map_editable, cluster_icon: map_cluster_icon, markers: map_markers } ); }); } } function trx_addons_sc_googlemap_create(map, coords) { if (!googlemap.inited) trx_addons_sc_googlemap_init_styles(); var id = map.attr('id'); googlemap.count++; if (typeof googlemap.maps[id] !== 'undefined') { id += '_copy' + googlemap.count; map.attr('id', id); } var center = null; if (coords.center) { center = (''+coords.center).split(',').map(parseFloat); center = center.length == 2 ? new google.maps.LatLng(center[0], center[1]) : null; } googlemap.maps[id] = { dom: map.get(0), markers_inited: 0, markers: coords.markers, geocoder_request: false, clusterer: null, clusterIcon: coords.cluster_icon, editable: coords.editable, fit_to_bounds: false, bounds: [ [-999, -999], [-999, -999] ], opt: { center: center, scrollwheel: false, scaleControl: false, disableDefaultUI: false, zoom: coords.zoom ? parseInt(coords.zoom, 10) : ( coords.markers.length == 1 && center === null ? 16 : 0 ), zoomControl: true, panControl: true, mapTypeControl: false, streetViewControl: false, overviewMapControl: false, styles: TRX_ADDONS_STORAGE['googlemap_styles'][coords.style ? coords.style : 'default'], mapTypeId: google.maps.MapTypeId.ROADMAP } }; trx_addons_sc_googlemap_build(id); } function trx_addons_sc_googlemap_refresh() { for (id in googlemap.maps) { trx_addons_sc_googlemap_build(id); } } function trx_addons_sc_googlemap_build(id) { googlemap.maps[id].map = new google.maps.Map(googlemap.maps[id].dom, googlemap.maps[id].opt); googlemap.maps[id].fit_to_bounds = googlemap.maps[id].opt['zoom'] < 1 && (googlemap.maps[id].opt['center'] || googlemap.maps[id].markers.length > 1); googlemap.maps[id].bounds = new google.maps.LatLngBounds(); if (googlemap.maps[id].opt['center']) { googlemap.maps[id].bounds.extend(googlemap.maps[id].opt['center']); } if (googlemap.maps[id].opt['zoom'] > 0) { googlemap.maps[id].map.setZoom(googlemap.maps[id].opt['zoom']); } jQuery(document).on('action.resize_trx_addons', function() { if (googlemap.maps[id].map && jQuery('#'+id).parent().hasClass('ready')) { if (googlemap.maps[id].opt['center']) { googlemap.maps[id].map.setCenter(googlemap.maps[id].opt['center']); } if (googlemap.maps[id].markers_inited == googlemap.maps[id].markers.length) { googlemap.maps[id].map.fitBounds(googlemap.maps[id].bounds); googlemap.maps[id].map.panToBounds(googlemap.maps[id].bounds); } } }); for (var i=0; i < googlemap.maps[id].markers.length; i++) { googlemap.maps[id].markers[i].inited = false; } trx_addons_sc_googlemap_add_markers(id); } function trx_addons_sc_googlemap_add_markers(id) { for (var i=0; i < googlemap.maps[id].markers.length; i++) { if (googlemap.maps[id].markers[i].inited) { continue; } if ( ! googlemap.maps[id].markers[i].latlng ) { if (googlemap.maps[id].geocoder_request!==false) continue; if (!googlemap.geocoder) googlemap.geocoder = new google.maps.Geocoder(); googlemap.maps[id].geocoder_request = i; googlemap.geocoder.geocode({address: googlemap.maps[id].markers[i].address}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { try { var idx = googlemap.maps[id].geocoder_request; if (results[0].geometry.location.lat && results[0].geometry.location.lng) { googlemap.maps[id].markers[idx].latlng = [ results[0].geometry.location.lat(), results[0].geometry.location.lng() ]; } else { googlemap.maps[id].markers[idx].latlng = results[0].geometry.location.toString().replace(/\(\)/g, '').split(',').map(parseFloat); } setTimeout(function() { trx_addons_sc_googlemap_add_markers(id); }, 200); } catch(e) { } } else { console.log(TRX_ADDONS_STORAGE['msg_sc_googlemap_geocoder_error'] + ' ' + status); } googlemap.maps[id].geocoder_request = false; }); } else { var markerInit = { map: googlemap.maps[id].map, position: new google.maps.LatLng(googlemap.maps[id].markers[i].latlng[0], googlemap.maps[id].markers[i].latlng[1]), clickable: googlemap.maps[id].markers[i].description !== '' }; if (googlemap.maps[id].markers[i].icon) { markerInit.icon = googlemap.maps[id].markers[i].icon_width > 0 && googlemap.maps[id].markers[i].icon_height > 0 ? new google.maps.MarkerImage(googlemap.maps[id].markers[i].icon, null, null, null, new google.maps.Size(googlemap.maps[id].markers[i].icon_width, googlemap.maps[id].markers[i].icon_height)) : googlemap.maps[id].markers[i].icon; } if (googlemap.maps[id].markers[i].title) { markerInit.title = googlemap.maps[id].markers[i].title; } if (googlemap.maps[id].markers[i].animation) { markerInit.animation = googlemap.maps[id].markers[i].animation; } googlemap.maps[id].markers[i].marker = new google.maps.Marker(markerInit); if (googlemap.maps[id].opt['center'] == null && (googlemap.maps[id].markers.length == 1 || googlemap.maps[id].opt['zoom'] > 0) ) { googlemap.maps[id].opt['center'] = markerInit.position; googlemap.maps[id].map.setCenter(googlemap.maps[id].opt['center']); } if (googlemap.maps[id].markers[i].description !== '') { googlemap.maps[id].markers[i].infowindow = new google.maps.InfoWindow({ content: '
' + googlemap.maps[id].markers[i].description + '
' }); google.maps.event.addListener(googlemap.maps[id].markers[i].marker, "click", function(e) { var latlng = e.latLng.toString().replace("(", '').replace(")", "").replace(" ", "").split(',').map(parseFloat); for (var j=0; j < googlemap.maps[id].markers.length; j++) { if (trx_addons_googlemap_compare_latlng(latlng, googlemap.maps[id].markers[j].latlng)) { googlemap.maps[id].opened_marker = googlemap.maps[id].markers[j]; googlemap.maps[id].old_zoom = googlemap.maps[id].map.getZoom(); googlemap.maps[id].map.setZoom(Math.max(16, googlemap.maps[id].old_zoom + 2)); googlemap.maps[id].old_center = googlemap.maps[id].map.getCenter(); var center = googlemap.maps[id].markers[j].latlng; googlemap.maps[id].map.setCenter(new google.maps.LatLng(center[0], center[1])); if (googlemap.maps[id].markers[j].animation) { googlemap.maps[id].markers[j].marker.setAnimation(null); } googlemap.maps[id].markers[j].infowindow.open( googlemap.maps[id].map, googlemap.maps[id].markers[j].marker ); break; } } }); google.maps.event.addListener(googlemap.maps[id].markers[i].infowindow, 'closeclick', function(){ googlemap.maps[id].map.setZoom(googlemap.maps[id].old_zoom); googlemap.maps[id].map.setCenter(googlemap.maps[id].old_center); if (googlemap.maps[id].opened_marker.animation) { googlemap.maps[id].opened_marker.marker.setAnimation(googlemap.maps[id].opened_marker.animation); } }); } googlemap.maps[id].markers[i].inited = true; googlemap.maps[id].markers_inited++; googlemap.maps[id].bounds.extend(markerInit.position); } } if (googlemap.maps[id].markers_inited == googlemap.maps[id].markers.length) { if (googlemap.maps[id].markers_inited > 1) { var markers = []; for (i = 0; i < googlemap.maps[id].markers.length; i++) { markers.push(googlemap.maps[id].markers[i].marker); } googlemap.maps[id].clusterer = new MarkerClusterer(googlemap.maps[id].map, markers, { maxZoom: 18, gridSize: 60, styles: [ { url: googlemap.maps[id].clusterIcon, width: 48, height: 48, textColor: "#fff" } ] }); } if (googlemap.maps[id].opt['zoom'] < 1 || googlemap.maps[id].fit_to_bounds) { googlemap.maps[id].map.fitBounds(googlemap.maps[id].bounds); googlemap.maps[id].map.panToBounds(googlemap.maps[id].bounds); } setTimeout(function() { jQuery('#'+id).parent().addClass('ready'); }, 100); } } function trx_addons_googlemap_compare_latlng(l1, l2) { var m0 = Math.min( (''+l1[0]).length, (''+l2[0]).length); l1[0] = Number(l1[0]).toFixed(m0); l2[0] = Number(l2[0]).toFixed(m0); var m1 = Math.min( (''+l1[1]).length, (''+l2[1]).length); l1[1] = Number(l1[1]).toFixed(m1); l2[1] = Number(l2[1]).toFixed(m1); return l1[0]==l2[0] && l1[1]==l2[1]; } function trx_addons_sc_googlemap_init_styles() { TRX_ADDONS_STORAGE['googlemap_styles'] = { 'default': [], 'greyscale': [ { "stylers": [ { "saturation": -100 } ] } ], 'inverse': [ { "stylers": [ { "invert_lightness": true }, { "visibility": "on" } ] } ], 'simple': [ { stylers: [ { hue: "#00ffe6" }, { saturation: -20 } ] }, { featureType: "road", elementType: "geometry", stylers: [ { lightness: 100 }, { visibility: "simplified" } ] }, { featureType: "road", elementType: "labels", stylers: [ { visibility: "off" } ] } ] }; jQuery(document).trigger('action.add_googlemap_styles'); googlemap.inited = true; } })(); function ClusterIcon(a,b){a.getMarkerClusterer().extend(ClusterIcon,google.maps.OverlayView),this.cluster_=a,this.className_=a.getMarkerClusterer().getClusterClass(),this.styles_=b,this.center_=null,this.div_=null,this.sums_=null,this.visible_=!1,this.setMap(a.getMap())}function Cluster(a){this.markerClusterer_=a,this.map_=a.getMap(),this.gridSize_=a.getGridSize(),this.minClusterSize_=a.getMinimumClusterSize(),this.averageCenter_=a.getAverageCenter(),this.markers_=[],this.center_=null,this.bounds_=null,this.clusterIcon_=new ClusterIcon(this,a.getStyles())}function MarkerClusterer(a,b,c){this.extend(MarkerClusterer,google.maps.OverlayView),b=b||[],c=c||{},this.markers_=[],this.clusters_=[],this.listeners_=[],this.activeMap_=null,this.ready_=!1,this.gridSize_=c.gridSize||60,this.minClusterSize_=c.minimumClusterSize||2,this.maxZoom_=c.maxZoom||null,this.styles_=c.styles||[],this.title_=c.title||"",this.zoomOnClick_=!0,void 0!==c.zoomOnClick&&(this.zoomOnClick_=c.zoomOnClick),this.averageCenter_=!1,void 0!==c.averageCenter&&(this.averageCenter_=c.averageCenter),this.ignoreHidden_=!1,void 0!==c.ignoreHidden&&(this.ignoreHidden_=c.ignoreHidden),this.enableRetinaIcons_=!1,void 0!==c.enableRetinaIcons&&(this.enableRetinaIcons_=c.enableRetinaIcons),this.imagePath_=c.imagePath||MarkerClusterer.IMAGE_PATH,this.imageExtension_=c.imageExtension||MarkerClusterer.IMAGE_EXTENSION,this.imageSizes_=c.imageSizes||MarkerClusterer.IMAGE_SIZES,this.calculator_=c.calculator||MarkerClusterer.CALCULATOR,this.batchSize_=c.batchSize||MarkerClusterer.BATCH_SIZE,this.batchSizeIE_=c.batchSizeIE||MarkerClusterer.BATCH_SIZE_IE,this.clusterClass_=c.clusterClass||"cluster",navigator.userAgent.toLowerCase().indexOf("msie")!==-1&&(this.batchSize_=this.batchSizeIE_),this.setupStyles_(),this.addMarkers(b,!0),this.setMap(a)}ClusterIcon.prototype.onAdd=function(){var b,c,a=this;this.div_=document.createElement("div"),this.div_.className=this.className_,this.visible_&&this.show(),this.getPanes().overlayMouseTarget.appendChild(this.div_),this.boundsChangedListener_=google.maps.event.addListener(this.getMap(),"bounds_changed",function(){c=b}),google.maps.event.addDomListener(this.div_,"mousedown",function(){b=!0,c=!1}),google.maps.event.addDomListener(this.div_,"click",function(d){if(b=!1,!c){var e,f,g=a.cluster_.getMarkerClusterer();google.maps.event.trigger(g,"click",a.cluster_),google.maps.event.trigger(g,"clusterclick",a.cluster_),g.getZoomOnClick()&&(f=g.getMaxZoom(),e=a.cluster_.getBounds(),g.getMap().fitBounds(e),setTimeout(function(){g.getMap().fitBounds(e),null!==f&&g.getMap().getZoom()>f&&g.getMap().setZoom(f+1)},100)),d.cancelBubble=!0,d.stopPropagation&&d.stopPropagation()}}),google.maps.event.addDomListener(this.div_,"mouseover",function(){var b=a.cluster_.getMarkerClusterer();google.maps.event.trigger(b,"mouseover",a.cluster_)}),google.maps.event.addDomListener(this.div_,"mouseout",function(){var b=a.cluster_.getMarkerClusterer();google.maps.event.trigger(b,"mouseout",a.cluster_)})},ClusterIcon.prototype.onRemove=function(){this.div_&&this.div_.parentNode&&(this.hide(),google.maps.event.removeListener(this.boundsChangedListener_),google.maps.event.clearInstanceListeners(this.div_),this.div_.parentNode.removeChild(this.div_),this.div_=null)},ClusterIcon.prototype.draw=function(){if(this.visible_){var a=this.getPosFromLatLng_(this.center_);this.div_.style.top=a.y+"px",this.div_.style.left=a.x+"px"}},ClusterIcon.prototype.hide=function(){this.div_&&(this.div_.style.display="none"),this.visible_=!1},ClusterIcon.prototype.show=function(){if(this.div_){var a="",b=this.backgroundPosition_.split(" "),c=parseInt(b[0].trim(),10),d=parseInt(b[1].trim(),10),e=this.getPosFromLatLng_(this.center_);this.div_.style.cssText=this.createCss(e),a="",this.div_.innerHTML=a+"
"+this.sums_.text+"
","undefined"==typeof this.sums_.title||""===this.sums_.title?this.div_.title=this.cluster_.getMarkerClusterer().getTitle():this.div_.title=this.sums_.title,this.div_.style.display=""}this.visible_=!0},ClusterIcon.prototype.useStyle=function(a){this.sums_=a;var b=Math.max(0,a.index-1);b=Math.min(this.styles_.length-1,b);var c=this.styles_[b];this.url_=c.url,this.height_=c.height,this.width_=c.width,this.anchorText_=c.anchorText||[0,0],this.anchorIcon_=c.anchorIcon||[parseInt(this.height_/2,10),parseInt(this.width_/2,10)],this.textColor_=c.textColor||"black",this.textSize_=c.textSize||11,this.textDecoration_=c.textDecoration||"none",this.fontWeight_=c.fontWeight||"bold",this.fontStyle_=c.fontStyle||"normal",this.fontFamily_=c.fontFamily||"Arial,sans-serif",this.backgroundPosition_=c.backgroundPosition||"0 0"},ClusterIcon.prototype.setCenter=function(a){this.center_=a},ClusterIcon.prototype.createCss=function(a){var b=[];return b.push("cursor: pointer;"),b.push("position: absolute; top: "+a.y+"px; left: "+a.x+"px;"),b.push("width: "+this.width_+"px; height: "+this.height_+"px;"),b.join("")},ClusterIcon.prototype.getPosFromLatLng_=function(a){var b=this.getProjection().fromLatLngToDivPixel(a);return b.x-=this.anchorIcon_[1],b.y-=this.anchorIcon_[0],b.x=parseInt(b.x,10),b.y=parseInt(b.y,10),b},Cluster.prototype.getSize=function(){return this.markers_.length},Cluster.prototype.getMarkers=function(){return this.markers_},Cluster.prototype.getCenter=function(){return this.center_},Cluster.prototype.getMap=function(){return this.map_},Cluster.prototype.getMarkerClusterer=function(){return this.markerClusterer_},Cluster.prototype.getBounds=function(){var a,b=new google.maps.LatLngBounds(this.center_,this.center_),c=this.getMarkers();for(a=0;ad)a.getMap()!==this.map_&&a.setMap(this.map_);else if(cb)return void this.clusterIcon_.hide();if(a0))for(a=0;a3?new google.maps.LatLngBounds(this.getMap().getBounds().getSouthWest(),this.getMap().getBounds().getNorthEast()):new google.maps.LatLngBounds(new google.maps.LatLng(85.02070771743472,-178.48388434375),new google.maps.LatLng(-85.08136444384544,178.00048865625));var f=this.getExtendedBounds(d),g=Math.min(a+this.batchSize_,this.markers_.length);for(b=a;b= this.duration) { throw new Error('Vivus [constructor]: delay must be shorter than duration'); } }; Vivus.prototype.setCallback = function (callback) { if (!!callback && callback.constructor !== Function) { throw new Error('Vivus [constructor]: "callback" parameter must be a function'); } this.callback = callback || function () {}; }; Vivus.prototype.mapping = function () { var i, paths, path, pAttrs, pathObj, totalLength, lengthMeter, timePoint; timePoint = totalLength = lengthMeter = 0; paths = this.el.querySelectorAll('path'); for (i = 0; i < paths.length; i++) { path = paths[i]; if (this.isInvisible(path)) { continue; } pathObj = { el: path, length: Math.ceil(path.getTotalLength()) }; if (isNaN(pathObj.length)) { if (window.console && console.warn) { console.warn('Vivus [mapping]: cannot retrieve a path element length', path); } continue; } this.map.push(pathObj); path.style.strokeDasharray = pathObj.length + ' ' + (pathObj.length + this.dashGap * 2); path.style.strokeDashoffset = pathObj.length + this.dashGap; pathObj.length += this.dashGap; totalLength += pathObj.length; this.renderPath(i); } totalLength = totalLength === 0 ? 1 : totalLength; this.delay = this.delay === null ? this.duration / 3 : this.delay; this.delayUnit = this.delay / (paths.length > 1 ? paths.length - 1 : 1); for (i = 0; i < this.map.length; i++) { pathObj = this.map[i]; switch (this.type) { case 'delayed': pathObj.startAt = this.delayUnit * i; pathObj.duration = this.duration - this.delay; break; case 'oneByOne': pathObj.startAt = lengthMeter / totalLength * this.duration; pathObj.duration = pathObj.length / totalLength * this.duration; break; case 'async': pathObj.startAt = 0; pathObj.duration = this.duration; break; case 'scenario-sync': path = pathObj.el; pAttrs = this.parseAttr(path); pathObj.startAt = timePoint + (parsePositiveInt(pAttrs['data-delay'], this.delayUnit) || 0); pathObj.duration = parsePositiveInt(pAttrs['data-duration'], this.duration); timePoint = pAttrs['data-async'] !== undefined ? pathObj.startAt : pathObj.startAt + pathObj.duration; this.frameLength = Math.max(this.frameLength, (pathObj.startAt + pathObj.duration)); break; case 'scenario': path = pathObj.el; pAttrs = this.parseAttr(path); pathObj.startAt = parsePositiveInt(pAttrs['data-start'], this.delayUnit) || 0; pathObj.duration = parsePositiveInt(pAttrs['data-duration'], this.duration); this.frameLength = Math.max(this.frameLength, (pathObj.startAt + pathObj.duration)); break; } lengthMeter += pathObj.length; this.frameLength = this.frameLength || this.duration; } }; Vivus.prototype.drawer = function () { var self = this; this.currentFrame += this.speed; if (this.currentFrame <= 0) { this.stop(); this.reset(); this.callback(this); } else if (this.currentFrame >= this.frameLength) { this.stop(); this.currentFrame = this.frameLength; this.trace(); if (this.selfDestroy) { this.destroy(); } this.callback(this); } else { this.trace(); this.handle = requestAnimFrame(function () { self.drawer(); }); } }; Vivus.prototype.trace = function () { var i, progress, path, currentFrame; currentFrame = this.animTimingFunction(this.currentFrame / this.frameLength) * this.frameLength; for (i = 0; i < this.map.length; i++) { path = this.map[i]; progress = (currentFrame - path.startAt) / path.duration; progress = this.pathTimingFunction(Math.max(0, Math.min(1, progress))); if (path.progress !== progress) { path.progress = progress; path.el.style.strokeDashoffset = Math.floor(path.length * (1 - progress)); this.renderPath(i); } } }; Vivus.prototype.renderPath = function (index) { if (this.forceRender && this.map && this.map[index]) { var pathObj = this.map[index], newPath = pathObj.el.cloneNode(true); pathObj.el.parentNode.replaceChild(newPath, pathObj.el); pathObj.el = newPath; } }; Vivus.prototype.init = function () { this.frameLength = 0; this.currentFrame = 0; this.map = []; new Pathformer(this.el); this.mapping(); this.starter(); if (this.onReady) { this.onReady(this); } }; Vivus.prototype.starter = function () { switch (this.start) { case 'manual': return; case 'autostart': this.play(); break; case 'inViewport': var self = this, listener = function () { if (self.isInViewport(self.parentEl, 1)) { self.play(); window.removeEventListener('scroll', listener); } }; window.addEventListener('scroll', listener); listener(); break; } }; Vivus.prototype.getStatus = function () { return this.currentFrame === 0 ? 'start' : this.currentFrame === this.frameLength ? 'end' : 'progress'; }; Vivus.prototype.reset = function () { return this.setFrameProgress(0); }; Vivus.prototype.finish = function () { return this.setFrameProgress(1); }; Vivus.prototype.setFrameProgress = function (progress) { progress = Math.min(1, Math.max(0, progress)); this.currentFrame = Math.round(this.frameLength * progress); this.trace(); return this; }; Vivus.prototype.play = function (speed) { if (speed && typeof speed !== 'number') { throw new Error('Vivus [play]: invalid speed'); } this.speed = speed || 1; if (!this.handle) { this.drawer(); } return this; }; Vivus.prototype.stop = function () { if (this.handle) { cancelAnimFrame(this.handle); this.handle = null; } return this; }; Vivus.prototype.destroy = function () { this.stop(); var i, path; for (i = 0; i < this.map.length; i++) { path = this.map[i]; path.el.style.strokeDashoffset = null; path.el.style.strokeDasharray = null; this.renderPath(i); } }; Vivus.prototype.isInvisible = function (el) { var rect, ignoreAttr = el.getAttribute('data-ignore'); if (ignoreAttr !== null) { return ignoreAttr !== 'false'; } if (this.ignoreInvisible) { rect = el.getBoundingClientRect(); return !rect.width && !rect.height; } else { return false; } }; Vivus.prototype.parseAttr = function (element) { var attr, output = {}; if (element && element.attributes) { for (var i = 0; i < element.attributes.length; i++) { attr = element.attributes[i]; output[attr.name] = attr.value; } } return output; }; Vivus.prototype.isInViewport = function (el, h) { var scrolled = this.scrollY(), viewed = scrolled + this.getViewportH(), elBCR = el.getBoundingClientRect(), elHeight = elBCR.height, elTop = scrolled + elBCR.top, elBottom = elTop + elHeight; h = h || 0; return (elTop + elHeight * h) <= viewed && (elBottom) >= scrolled; }; Vivus.prototype.docElem = window.document.documentElement; Vivus.prototype.getViewportH = function () { var client = this.docElem.clientHeight, inner = window.innerHeight; if (client < inner) { return inner; } else { return client; } }; Vivus.prototype.scrollY = function () { return window.pageYOffset || this.docElem.scrollTop; }; requestAnimFrame = (function () { return ( window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function( callback){ return window.setTimeout(callback, 1000 / 60); } ); })(); cancelAnimFrame = (function () { return ( window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || window.msCancelAnimationFrame || function(id){ return window.clearTimeout(id); } ); })(); parsePositiveInt = function (value, defaultValue) { var output = parseInt(value, 10); return (output >= 0) ? output : defaultValue; }; if (typeof define === 'function' && define.amd) { define([], function() { return Vivus; }); } else if (typeof exports === 'object') { module.exports = Vivus; } else { window.Vivus = Vivus; } }(window, document)); jQuery(document).on('action.init_hidden_elements', function(e, container) { "use strict"; var time = 50; container.find('.sc_icon_type_svg.sc_icon_animation:not(.inited)').each(function(idx) { var cont = jQuery(this); var id = cont.addClass('inited').attr('id'); if (id === undefined) { id = 'sc_icons_'+Math.random(); id = id.replace('.', ''); } else id += '_'+idx; cont.find('svg').attr('id', id); setTimeout( function(){ cont.css('visibility', 'visible'); var obj = new Vivus(id, {type: 'async', duration: 20}); cont.data('svg_obj', obj); cont.parent().hover( function() { cont.data('svg_obj').reset().play(); }, function() { } ); }, time); time += 300; }); }); (function() { "use strict"; jQuery(document).on('action.init_hidden_elements', trx_addons_sc_skills_init); jQuery(document).on('action.scroll_trx_addons', trx_addons_sc_skills_init); jQuery(document).on('action.resize_trx_addons', trx_addons_sc_skills_resize); function trx_addons_sc_skills_init(e, container) { if (container === undefined) container = jQuery('body'); var scrollPosition = jQuery(window).scrollTop() + jQuery(window).height(); container.find('.sc_skills_item:not(.inited)').each(function () { var skillsItem = jQuery(this); if (jQuery(this).parents('div:hidden,article:hidden').length > 0) { return; } var scrollSkills = skillsItem.offset().top; if (scrollPosition > scrollSkills) { var init_ok = true; var skills = skillsItem.parents('.sc_skills').eq(0); var type = skills.data('type'); var total = (type=='pie' && skills.hasClass('sc_skills_compact_on')) ? skillsItem.find('.sc_skills_data .pie') : skillsItem.find('.sc_skills_total').eq(0); var start = parseFloat(total.data('start')); var stop = parseFloat(total.data('stop')); var maximum = parseInt(total.data('max'), 10); var startPercent = Math.round(start/maximum*100); var stopPercent = Math.round(stop/maximum*100); var ed = total.data('ed'); var speed = parseInt(total.data('speed'), 10); var step = start!=parseInt(start, 10) || stop!=parseInt(stop, 10) ? parseFloat(total.data('step')) : parseInt(total.data('step'), 10); var duration = parseInt(total.data('duration'), 10); if (isNaN(duration)) duration = Math.ceil(maximum/step)*speed; if (type == 'bar') { var dir = skills.data('dir'); var count = skillsItem.find('.sc_skills_count').eq(0); if (dir=='horizontal') count.css('width', startPercent + '%').animate({ width: stopPercent + '%' }, duration); else if (dir=='vertical') count.css('height', startPercent + '%').animate({ height: stopPercent + '%' }, duration); trx_addons_sc_skills_animate_counter(start, stop, speed, step, ed, total); } else if (type == 'counter') { trx_addons_sc_skills_animate_counter(start, stop, speed, step, ed, total); } else if (type == 'pie') { if (window.Chart) { var steps = parseInt(total.data('steps'), 10); var bg_color = total.data('bg_color'); var border_color = total.data('border_color'); var cutout = parseInt(total.data('cutout'), 10); var easing = total.data('easing'); var options = { segmentShowStroke: border_color !== '', segmentStrokeColor: border_color, segmentStrokeWidth: border_color !== '' ? 1 : 0, percentageInnerCutout: cutout, animation: true, animationSteps: steps, animationEasing: easing, animateRotate: true, animateScale: true }; var pieData = []; total.each(function() { var color = jQuery(this).data('color'); var stop = parseInt(jQuery(this).data('stop'), 10); var stopPercent = Math.round(stop/maximum*100); pieData.push({ value: stopPercent, color: color }); }); if (total.length == 1) { trx_addons_sc_skills_animate_counter(start, stop, Math.round(1500/steps), step, ed, total); pieData.push({ value: 100-stopPercent, color: bg_color }); } var canvas = skillsItem.find('canvas'); canvas .data('pie-data', pieData) .data('pie-options', options) .attr({width: skillsItem.width(), height: skillsItem.width()}) .css({width: skillsItem.width(), height: skillsItem.height()}); new Chart(canvas.get(0).getContext("2d")).Doughnut(pieData, options); } else init_ok = false; } if (init_ok) skillsItem.addClass('inited'); } }); } function trx_addons_sc_skills_animate_counter(start, stop, speed, step, ed, total) { start = Math.min(stop, start + step); total.text(start+ed); if (start < stop) { setTimeout(function () { trx_addons_sc_skills_animate_counter(start, stop, speed, step, ed, total); }, speed); } } function trx_addons_sc_skills_resize() { jQuery('.sc_skills_pie canvas').each(function () { var canvas = jQuery(this); if (canvas.parents('div:hidden,article:hidden').length > 0) { return; } var skillsItem = canvas.parent(); if (skillsItem.width() != canvas.width()) { var data = canvas.data('pie-data'); var opt = canvas.data('pie-options'); if (data === undefined || opt === undefined) return; canvas.empty() .attr({width: skillsItem.width(), height: skillsItem.width()}) .css({width: skillsItem.width(), height: skillsItem.height()}); opt.animation = false; new Chart(canvas.get(0).getContext("2d")).Doughnut(data, opt); } }); } })(); (function() { "use strict"; var yandexmap = { 'inited': false, 'count': 0, 'maps': [] }; var timer = null, ymaps_ready = false; jQuery(document).ready(function() { if (typeof ymaps !== 'undefined') { ymaps.ready(function() { ymaps_ready = true; }); } }); jQuery(document).on('action.init_hidden_elements', function(e, container){ if (container === undefined) container = jQuery('body'); var ymap = container.find('.sc_yandexmap:not(.inited)'); if (ymap.length > 0) { if (timer !== null) clearTimeout(timer); timer = setTimeout(function() { trx_addons_sc_yandexmap_init(e, container); }, ymap.parents('.elementor-element-editable,.gutenberg__editor').length > 0 ? 500 : 0); } }); function trx_addons_sc_yandexmap_init(e, container) { if (!ymaps_ready) { if (timer !== null) clearTimeout(timer); timer = setTimeout(function() { trx_addons_sc_yandexmap_init(e, container); }, 100); return; } if (container === undefined) container = jQuery('body'); var ymap = container.find('.sc_yandexmap:not(.inited)'); if (ymap.length > 0) { ymap.each(function () { if (jQuery(this).parents('div:hidden,article:hidden').length > 0) return; var map = jQuery(this).addClass('inited'), map_id = map.attr('id'), map_zoom = map.data('zoom'), map_style = map.data('style'), map_center = map.data('center'), map_editable= map.data('editable')=='1', map_cluster_icon = map.data('cluster-icon'), map_markers = [], map_objects = []; map.find('.sc_yandexmap_marker').each(function() { var marker = jQuery(this), address = marker.data('address'); if ( !address ) return; var latlng = address.split(',').map(parseFloat); map_markers.push({ icon: marker.data('icon'), icon_retina: marker.data('icon_retina'), icon_width: marker.data('icon_width'), icon_height: marker.data('icon_height'), address: latlng.length == 2 && !isNaN(latlng[0]) && !isNaN(latlng[1]) ? '' : address, latlng: latlng.length != 2 || isNaN(latlng[0]) || isNaN(latlng[1]) ? '' : latlng, description: marker.data('description'), title: marker.data('title') }); map_objects.push(null); }); trx_addons_sc_yandexmap_create( map, { style: map_style, zoom: map_zoom, center: map_center, editable: map_editable, cluster_icon: map_cluster_icon, markers: map_markers, objects: map_objects } ); }); } } function trx_addons_sc_yandexmap_create(map, coords) { if (!yandexmap.inited) trx_addons_sc_yandexmap_init_styles(); var id = map.attr('id'); yandexmap.count++; if (typeof yandexmap.maps[id] !== 'undefined') { id += '_copy' + yandexmap.count; map.attr('id', id); } var center = []; if (coords.center) { center = (''+coords.center).split(',').map(parseFloat); } yandexmap.maps[id] = { markers_inited: 0, markers: coords.markers, objects: coords.objects, geocoder_request: false, clusterIcon: coords.cluster_icon, objectsManager: null, clusterer: null, editable: coords.editable, fit_to_bounds: false, bounds: [ [-999, -999], [-999, -999] ], styles: TRX_ADDONS_STORAGE['yandexmap_styles'][coords.style ? coords.style : 'default'], opt: { zoom: coords.zoom && coords.markers.length == 1 && center.length == 0 ? parseInt(coords.zoom, 10) : 0, center: center, } }; trx_addons_sc_yandexmap_build(id); } function trx_addons_sc_yandexmap_refresh() { for (id in yandexmap.maps) { if (yandexmap.maps[id].clusterer != null) { yandexmap.maps[id].clusterer.removeAll(); } else if (yandexmap.maps[id].objectsManager != null) { yandexmap.maps[id].objectsManager.objects.removeAll(); } trx_addons_sc_yandexmap_build(id); } } function trx_addons_sc_yandexmap_build(id) { yandexmap.maps[id].map = new ymaps.Map(id, yandexmap.maps[id].opt, { searchControlProvider: 'yandex#search' }); if ( yandexmap.maps[id].styles.length > 0 ) { var css = ''; for (var i=0; i' + css + ''); } else { css_tag.html(css); } } } var omInit = { gridSize: 64, clusterDisableClickZoom: false }; if (yandexmap.maps[id].clusterIcon) { omInit.clusterIcons = [{ href: yandexmap.maps[id].clusterIcon, size: [32, 32], offset: [-16, -32] }]; } if (yandexmap.maps[id].markers.length > 1 && !yandexmap.maps[id].editable) { if (false) { yandexmap.maps[id].objectsManager = new ymaps.ObjectManager(omInit); } else { yandexmap.maps[id].clusterer = new ymaps.Clusterer(omInit); } } yandexmap.maps[id].fit_to_bounds = ( yandexmap.maps[id].opt['center'].length > 0 || yandexmap.maps[id].markers.length > 1 ); if (yandexmap.maps[id].opt['center'].length > 0) { trx_addons_sc_yandexmap_add_bounds(id, yandexmap.maps[id].opt['center']); } jQuery(document).on('action.resize_trx_addons', function() { if (yandexmap.maps[id].map) { if (yandexmap.maps[id].opt['center']) { yandexmap.maps[id].map.setCenter(yandexmap.maps[id].opt['center']); } if (yandexmap.maps[id].markers_inited == yandexmap.maps[id].markers.length && jQuery('#'+id).parent().hasClass('ready')) { yandexmap.maps[id].map.setBounds(trx_addons_sc_yandexmap_get_bounds(id), { checkZoomRange: true }); } } }); for (var i=0; i < yandexmap.maps[id].markers.length; i++) { yandexmap.maps[id].markers[i].inited = false; } trx_addons_sc_yandexmap_add_markers(id); } function trx_addons_sc_yandexmap_add_markers(id) { for (var i=0; i < yandexmap.maps[id].markers.length; i++) { if (yandexmap.maps[id].markers[i].inited) { continue; } if ( ! yandexmap.maps[id].markers[i].latlng ) { if (yandexmap.maps[id].geocoder_request !== false) continue; yandexmap.maps[id].geocoder_request = i; ymaps.geocode(yandexmap.maps[id].markers[i].address).then( function(res) { var coords = false; try { coords = res.geoObjects.properties.get('metaDataProperty').GeocoderResponseMetaData.Point.coordinates; yandexmap.maps[id].markers[yandexmap.maps[id].geocoder_request].latlng = [ coords[1], coords[0] ]; setTimeout(function() { trx_addons_sc_yandexmap_add_markers(id); }, 200 ); } catch (e) { console.log('Error detect coords for '+yandexmap.maps[id].geocoder_request); } yandexmap.maps[id].geocoder_request = false; }, function (err) { console.log(TRX_ADDONS_STORAGE['msg_sc_yandexmap_geocoder_error']); console.log(err); yandexmap.maps[id].geocoder_request = false; } ); } else { var markerInit = { type: 'Feature', id: i, geometry: { type: 'Point', coordinates: yandexmap.maps[id].markers[i].latlng }, properties: { hintContent: yandexmap.maps[id].markers[i].title, balloonContentHeader: yandexmap.maps[id].markers[i].title, balloonContentBody: yandexmap.maps[id].markers[i].description, draggable: yandexmap.maps[id].editable }, options: {} }; if (yandexmap.maps[id].markers[i].icon) { if (yandexmap.maps[id].markers[i].icon_width == 0) yandexmap.maps[id].markers[i].icon_width = 32; if (yandexmap.maps[id].markers[i].icon_height == 0) yandexmap.maps[id].markers[i].icon_height = 32; markerInit.options = { iconLayout: 'default#image', iconImageHref: yandexmap.maps[id].markers[i].icon, iconImageSize: [yandexmap.maps[id].markers[i].icon_width, yandexmap.maps[id].markers[i].icon_height], iconImageOffset: [-yandexmap.maps[id].markers[i].icon_width/2, -yandexmap.maps[id].markers[i].icon_height] }; } if (yandexmap.maps[id].objectsManager != null) { yandexmap.maps[id].objectsManager.add(markerInit); } else { yandexmap.maps[id].objects[i] = new ymaps.Placemark(yandexmap.maps[id].markers[i].latlng, markerInit.properties, markerInit.options); if (yandexmap.maps[id].clusterer != null) { yandexmap.maps[id].clusterer.add(yandexmap.maps[id].objects[i]); } else { yandexmap.maps[id].map.geoObjects.add(yandexmap.maps[id].objects[i]); } } trx_addons_sc_yandexmap_add_bounds(id, yandexmap.maps[id].markers[i].latlng); if (yandexmap.maps[id].opt['center'].length < 2 && yandexmap.maps[id].markers.length == 1) { yandexmap.maps[id].opt['center'] = yandexmap.maps[id].markers[i].latlng; yandexmap.maps[id].map.setCenter(yandexmap.maps[id].opt['center'], yandexmap.maps[id].opt['zoom']); } yandexmap.maps[id].markers[i].inited = true; yandexmap.maps[id].markers_inited++; } } if (yandexmap.maps[id].markers_inited == yandexmap.maps[id].markers.length) { if (yandexmap.maps[id].opt['zoom'] < 1 || yandexmap.maps[id].fit_to_bounds) { yandexmap.maps[id].map.setBounds(trx_addons_sc_yandexmap_get_bounds(id), { checkZoomRange: true }); } var fit_bounds = false; if (yandexmap.maps[id].objectsManager != null) { yandexmap.maps[id].map.geoObjects.add(yandexmap.maps[id].objectsManager); fit_bounds = true; } else if (yandexmap.maps[id].clusterer != null) { yandexmap.maps[id].map.geoObjects.add(yandexmap.maps[id].clusterer); fit_bounds = true; } setTimeout(function() { jQuery('#'+id).parent().addClass('ready'); }, 100); } } function trx_addons_sc_yandexmap_add_bounds(id, latlng) { if (yandexmap.maps[id].bounds[0][0] == -999 || yandexmap.maps[id].bounds[0][0] > latlng[0]) yandexmap.maps[id].bounds[0][0] = latlng[0]; if (yandexmap.maps[id].bounds[0][1] == -999 || yandexmap.maps[id].bounds[0][1] > latlng[1]) yandexmap.maps[id].bounds[0][1] = latlng[1]; if (yandexmap.maps[id].bounds[1][0] == -999 || yandexmap.maps[id].bounds[1][0] < latlng[0]) yandexmap.maps[id].bounds[1][0] = latlng[0]; if (yandexmap.maps[id].bounds[1][1] == -999 || yandexmap.maps[id].bounds[1][1] < latlng[1]) yandexmap.maps[id].bounds[1][1] = latlng[1]; } function trx_addons_sc_yandexmap_get_bounds(id) { return yandexmap.maps[id].bounds; } function trx_addons_sc_yandexmap_init_styles() { TRX_ADDONS_STORAGE['yandexmap_styles'] = { 'default': [], 'greyscale': [ { "selector": '[class$="ground-pane"]', "css": 'filter: grayscale(100%);' } ], 'inverse': [ { "selector": '[class$="ground-pane"]', "css": 'filter: invert(100%);' } ], }; jQuery(document).trigger('action.add_yandexmap_styles'); yandexmap.inited = true; } })(); (function() { "use strict"; jQuery(document).on('action.init_hidden_elements', trx_addons_init_audio); jQuery( window ).on( 'load', function() { trx_addons_init_audio(); } ); jQuery( window ).resize( function(){ trx_addons_audio_height(); } ); function trx_addons_init_audio() { jQuery( '.trx_addons_audio_wrap:not(.inited)' ).addClass( 'inited' ).each( function() { var audio_wrap = jQuery( this ); if (audio_wrap.hasClass( 'list' )) { var current = audio_wrap.find( '.trx_addons_audio_player:first-child' ); current.addClass( 'current' ); if (current.hasClass( 'with_cover' )) { audio_wrap.addClass( 'with_cover' ); } audio_wrap.find( 'audio' ).each( function(){ var id = jQuery( this ).attr( 'id' ); var item = document.getElementById( id ); if (item) { item.load(); item.pause(); } } ); audio_wrap.on( 'click', '.mejs-playpause-button', function(){ if (jQuery( this ).hasClass( 'mejs-play' )) { audio_wrap.addClass( 'play' ).removeClass( 'pause' ); } else { audio_wrap.addClass( 'pause' ).removeClass( 'play' ); } } ); audio_wrap.on( 'click', '.mejs-volume-button', function(){ if (jQuery( this ).hasClass( 'mejs-mute' )) { audio_wrap.addClass( 'unmute' ).removeClass( 'mute' ); } else { audio_wrap.addClass( 'mute' ).removeClass( 'unmute' ); } } ); audio_wrap.on( 'click', '.mejs-horizontal-volume-slider', function(){ if (audio_wrap.hasClass( 'mute' )) { audio_wrap.addClass( 'unmute' ).removeClass( 'mute' ); } } ); audio_wrap.find( '.trx_addons_audio_navigation' ).on( 'click', '.nav_btn', function(e){ current = audio_wrap.find( '.trx_addons_audio_player.current' ); var id = current.find( 'audio' ).attr( 'id' ); var item = document.getElementById( id ); if (item) { item.pause(); } var volume = current.find( '.mejs-horizontal-volume-slider' ).attr( 'aria-valuenow' ); current.removeClass( 'current' ); if (jQuery( this ).hasClass( 'prev' )) { if (current.is( ':first-child' )) { current = audio_wrap.find( '.trx_addons_audio_player:last-child' ).addClass( 'current' ).show(); } else { current = current.prev().addClass( 'current' ).show(); } } if (jQuery( this ).hasClass( 'next' )) { if (current.is( ':last-child' )) { current = audio_wrap.find( '.trx_addons_audio_player:first-child' ).addClass( 'current' ).show(); } else { current = current.next().addClass( 'current' ).show(); } } id = current.find( 'audio' ).attr( 'id' ); item = document.getElementById( id ); if (item) { if (audio_wrap.hasClass( 'play' )) { item.play(); } if (audio_wrap.hasClass( 'mute' )) { item.setMuted( true ); } else if (audio_wrap.hasClass( 'unmute' )) { item.setMuted( false ); } if (volume > 0) { var current_volume = current.find( '.mejs-horizontal-volume-slider' ).attr( 'aria-valuenow' ); if (current_volume != volume) { item.setVolume( volume / 100 ); } } } if (current.hasClass( 'with_cover' )) { audio_wrap.addClass( 'with_cover' ); } else { audio_wrap.removeClass( 'with_cover' ); } e.preventDefault(); } ); } } ); trx_addons_audio_height(); } function trx_addons_audio_height(){ if (window.elementor !== undefined) { return; } jQuery( '.trx_addons_audio_wrap' ).each( function() { jQuery( this ).removeClass( 'resized' ); if (jQuery( this ).hasClass( 'list' )) { var height = 0; jQuery( this ).find( '.trx_addons_audio_player' ).each( function(){ var item_h = jQuery( this ).outerHeight(); if (item_h > height) { height = item_h; } } ); jQuery( this ).find( '.trx_addons_audio_list' ).height( height ); } jQuery( this ).addClass( 'resized' ); } ); } })(); jQuery(document).on('action.ready_trx_addons', function() { "use strict"; jQuery('.sc_recent_news_header_category_item_more:not(.inited)') .addClass('inited') .on('click', function() { jQuery(this).toggleClass('opened').find('.sc_recent_news_header_more_categories').slideToggle(); }); }); (function() { "use strict"; var init_attempts = 0; jQuery(document).on('action.init_hidden_elements', trx_addons_init_hidden_sliders); function trx_addons_init_sliders(e, container) { if (container.find('.sc_slider_controller:not(.inited)').length > 0) { container.find('.sc_slider_controller:not(.inited)') .each(function () { var controller = jQuery(this).addClass('inited'); var slider_id = controller.data('slider-id'); if (!slider_id) return; var controller_id = controller.attr('id'); if (controller_id == undefined) { controller_id = 'sc_slider_controller_'+Math.random(); controller_id = controller_id.replace('.', ''); controller.attr('id', controller_id); } jQuery('#'+slider_id+' .slider_container').attr('data-controller', controller_id); var controller_style = controller.data('style'); var controller_effect = controller.data('effect'); var controller_direction = controller.data('direction'); var controller_interval = controller.data('interval'); var controller_height = controller.data('height'); var controller_per_view = controller.data('slides-per-view'); var controller_space = controller.data('slides-space'); var controller_controls = controller.data('controls'); var controller_html = ''; jQuery('#'+slider_id+' .swiper-slide') .each(function (idx) { var slide = jQuery(this); var image = controller_style.indexOf('thumbs') == -1 ? '' : ( slide.data('image') ? slide.data('image') : (slide.find('img').length > 0 ? slide.find('img').eq(0).attr('src') : (slide.css('background-image')!='' ? slide.css('background-image').replace('url(', '').replace(')', '').replace(';', '') : '') ) ); var title = controller_style.indexOf('titles') == -1 ? '' : ( slide.data('title') ? slide.data('title') : slide.find('[class*="_item_title"]').text() ); var cats = slide.data('cats'); var date = slide.data('date'); controller_html += '
' + '
' + ''+(idx < 9 ? '0' : '')+(idx+1)+'' + ''+(title ? title : 'Slide '+(idx+1))+'' + '
' + '
'; }); controller.html('
' + '
' + '
' + controller_html + '
' + '
' + (controller_controls == 1 ? '
' : '' ) + '
' ); }); } if (container.find('.sc_slider_controls:not(.inited)').length > 0) { container.find('.sc_slider_controls:not(.inited)') .each(function () { var controls = jQuery(this).addClass('inited'), slider_id = controls.data('slider-id'), pagination_style = controls.data('pagination-style'); if (!slider_id) return; slider_id = jQuery('#'+slider_id+' .slider_swiper').attr('id'); if (!slider_id) return; controls.on('click', 'a', function(e) { var s = TRX_ADDONS_STORAGE['swipers'][slider_id]; if (jQuery(this).hasClass('slider_next')) s.slideNext(); else s.slidePrev(); e.preventDefault(); return false; }); var s = typeof TRX_ADDONS_STORAGE['swipers'] != 'undefined' && typeof TRX_ADDONS_STORAGE['swipers'][slider_id] != 'undefined' ? TRX_ADDONS_STORAGE['swipers'][slider_id] : false, slides = jQuery('#'+slider_id+' .swiper-slide'), spv = s ? ( s.params.loop ? s.loopedSlides : 0 ) : 0; var total = s ? ( s.params.loop ? Math.ceil((s.slides.length - s.loopedSlides * 2) / s.params.slidesPerGroup) : s.snapGrid.length ) : slides.length; if (pagination_style == 'thumbs') { var html = ''; slides.each(function(idx){ if ( idx < spv || idx >= slides.length - spv ) return; var slide = jQuery(this); var image = slide.data('image'); html += '' + '' + ''; }); controls.find('.slider_pagination_wrap').html(html); } else if (pagination_style == 'fraction') { controls.find('.slider_pagination_wrap').html('1' + '/' + ''+total+''); } else if (pagination_style == 'bullets') { var html = ''; slides.each(function(idx){ if ( idx < spv || idx >= slides.length - spv ) return; html += ''; }); controls.find('.slider_pagination_wrap').html(html); } if (pagination_style != 'none') { if (controls.find('.slider_progress_bar').length > 0) { var bar = controls.find('.slider_progress_bar'); bar.parent().on('click', function(e) { var s = TRX_ADDONS_STORAGE['swipers'][slider_id]; var total = s.params.loop ? Math.ceil((s.slides.length - s.loopedSlides * 2) / s.params.slidesPerGroup) : s.snapGrid.length; var slide_number = Math.max(0, Math.min(total-1, Math.floor(total * e.offsetX / jQuery(this).width()))); var slide_idx = jQuery('#'+slider_id).find('[data-slide-number="'+slide_number+'"]:not(.swiper-slide-duplicate)').index(); s.slideTo(slide_idx); e.preventDefault(); return false; }); } else { controls.find('.slider_pagination_button_wrap,.slider_pagination_bullet').on('click', function(e) { var s = TRX_ADDONS_STORAGE['swipers'][slider_id]; var slide_idx = jQuery('#'+slider_id).find('[data-slide-number="'+jQuery(this).index()+'"]:not(.swiper-slide-duplicate)').index(); s.slideTo(slide_idx); e.preventDefault(); return false; }); } jQuery('#'+slider_id).on('slider_init slide_change_start', function(e) { if (TRX_ADDONS_STORAGE['swipers'][slider_id]) { var s = TRX_ADDONS_STORAGE['swipers'][slider_id]; var current = jQuery(s.slides[s.activeIndex]).data('slide-number') + 1, total = s.params.loop ? Math.ceil((s.slides.length - s.loopedSlides * 2) / s.params.slidesPerGroup) : s.snapGrid.length; if (total > 0) { if (pagination_style == 'progressbar') { bar.width(Math.ceil(current/total*100)+'%'); } else if (pagination_style == 'thumbs') { controls.find('.slider_pagination_button') .removeClass('slider_pagination_button_active') .eq(current-1) .addClass('slider_pagination_button_active'); } else if (pagination_style == 'bullets') { controls.find('.slider_pagination_bullet') .removeClass('slider_pagination_bullet_active swiper-pagination-bullet-active') .eq(current-1) .addClass('slider_pagination_bullet_active swiper-pagination-bullet-active'); } else if (pagination_style == 'fraction') { controls.find('.slider_pagination_current').text(current); } } } }); } }); } if (container.find('.slider_swiper:not(.inited)').length > 0) { container.find('.slider_swiper:not(.inited)') .each(function () { if (jQuery(this).parents('div:hidden,article:hidden').length > 0) return; var loaded = true; jQuery(this).find('img').each(function() { if (!jQuery(this).get(0).complete) loaded = false; }); if (!loaded && init_attempts++ < 20) { setTimeout(function() { trx_addons_init_sliders(e, container); }, 100); return; } var slider = jQuery(this); var id = slider.attr('id'); if (id == undefined) { id = 'swiper_'+Math.random(); id = id.replace('.', ''); slider.attr('id', id); } var cont = slider.parent().hasClass('slider_swiper_outer') ? slider.parent().attr('id', id+'_outer') : slider; var cont_id = cont.attr('id'); var is_controller = slider.parents('.sc_slider_controller').length > 0; var controller_id = slider.data('controller'); slider.find('.swiper-slide').each(function(idx) { jQuery(this).attr('data-slide-number', idx); }); slider.css({ 'display': 'block', 'opacity': 0 }) .addClass(id) .addClass('inited') .data('settings', {mode: 'horizontal'}); var direction = slider.data('direction'); if (direction != 'vertical') direction = 'horizontal'; var smw = slider.data('slides-min-width'); if (smw === undefined) { smw = 150; slider.attr('data-slides-min-width', smw); } var spv = slider.data('slides-per-view'); if (spv == undefined || slider.parents('.widget_nav_menu').length > 0) { spv = 1; slider.attr('data-slides-per-view', spv); } var width = slider.width(); if (width == 0) width = slider.parent().width(); if (direction == 'horizontal') { if (width / spv < smw) spv = Math.max(1, Math.floor(width / smw)); } var space = slider.data('slides-space'); if (space == undefined) space = 0; if (direction == 'vertical' && slider.hasClass('slider_height_auto') && slider.hasClass('slider_noresize')) { var height = 0; slider.find('.swiper-slide').each(function(idx) { if (idx >= spv) return; height += jQuery(this).height()+(idx > 0 ? space : 0); }); if (height > 0) slider.height(height); } var interval = slider.data('interval'); if (interval === undefined) interval = Math.round(5000 * (1 + Math.random())); if (isNaN(interval)) interval = 0; var noswipe = slider.hasClass('slider_noswipe') || slider.parents('.slider_noswipe,.elementor-edit-mode').length > 0; if (TRX_ADDONS_STORAGE['swipers'] === undefined) TRX_ADDONS_STORAGE['swipers'] = {}; TRX_ADDONS_STORAGE['swipers'][id] = new Swiper('.'+id, { direction: direction, initialSlide: 0, speed: 600, loop: slider.data('slides-overflow') != 1, loopedSlides: spv, slidesPerView: spv, spaceBetween: space, centeredSlides: slider.data('slides-centered') == 1, mousewheel: slider.data('mouse-wheel') == 1, grabCursor: !is_controller && !noswipe, slideToClickedSlide: is_controller, touchRatio: is_controller ? 0.2 : 1, autoHeight: false, lazy: false, preloadImages: true, updateOnImagesReady: true, effect: slider.data('effect') ? slider.data('effect') : 'slide', swipeHandler: noswipe ? '.slider_controls_wrap,.slider_pagination_wrap' : null, pagination: { el: slider.hasClass('slider_pagination') ? '#'+cont_id+'>.slider_pagination_wrap,#'+cont_id+' > .slider_swiper > .slider_pagination_wrap' : null, clickable: slider.hasClass('slider_pagination') ? '#'+cont_id+' .slider_pagination_wrap' : false, type: slider.hasClass('slider_pagination') && slider.data('pagination') ? slider.data('pagination') : 'bullets', progressbarOpposite: slider.data('pagination') == 'progressbar' && ( ( slider.data('direction')=='vertical' && ( slider.hasClass('slider_pagination_pos_bottom') || slider.hasClass('slider_pagination_pos_bottom_outside') ) ) || ( slider.data('direction')=='horizontal' && ( slider.hasClass('slider_pagination_pos_left') || slider.hasClass('slider_pagination_pos_right') ) ) ) }, navigation: { nextEl: slider.hasClass('slider_controls') ? '#'+cont_id+' .slider_next' : null, prevEl: slider.hasClass('slider_controls') ? '#'+cont_id+' .slider_prev' : null }, autoplay: slider.hasClass('slider_noautoplay') || (typeof slider.data('autoplay')!=='undefined' && slider.data('autoplay') == 0) || interval==0 ? false : { delay: parseInt(interval, 10), disableOnInteraction: true }, on: { slideChangeTransitionStart: function () { var swiper = this; cont.find('.slider_titles_outside_wrap .active').removeClass('active').fadeOut(); jQuery( ( is_controller ? '#'+slider.data('controlled-slider') : '[data-slider-id="'+id.replace('_sc_swiper', '')+'"]' ) + ' .slider_swiper' ).each( function() { var controlled_slider = jQuery(this); var controlled_id = controlled_slider.attr('id'); if (TRX_ADDONS_STORAGE['swipers'][controlled_id] && jQuery('#'+controlled_id).attr('data-busy')!=1) { slider.attr('data-busy', 1); setTimeout(function() { slider.attr('data-busy', 0); }, 300); var slide_number = jQuery(swiper.slides[swiper.activeIndex]).data('slide-number'); var slide_idx = controlled_slider.find('[data-slide-number="'+slide_number+'"]:not(.swiper-slide-duplicate)').index(); TRX_ADDONS_STORAGE['swipers'][controlled_id].slideTo(slide_idx); } }); slider.trigger('slide_change_start'); }, slideChangeTransitionEnd: function () { var swiper = this; var slide_number = jQuery(swiper.slides[swiper.activeIndex]).data('slide-number'); var titles = cont.find('.slider_titles_outside_wrap .slide_info'); if (titles.length > 0) { titles.eq(slide_number).addClass('active').fadeIn(300); } cont.find('.swiper-pagination-custom > span') .removeClass('swiper-pagination-button-active') .eq(slide_number) .addClass('swiper-pagination-button-active'); cont.find('.trx_addons_video_player.with_cover.video_play').removeClass('video_play').find('.video_embed').empty(); slider.attr('data-busy', 0); slider.trigger('slide_change_end'); } } }); slider.trigger('slider_init'); cont.find('.swiper-pagination-custom').on('click', '>span', function(e) { jQuery(this).siblings().removeClass('swiper-pagination-button-active'); var t = jQuery(this).addClass('swiper-pagination-button-active').index() * TRX_ADDONS_STORAGE['swipers'][id].params.slidesPerGroup; TRX_ADDONS_STORAGE['swipers'][id].params.loop && (t += TRX_ADDONS_STORAGE['swipers'][id].loopedSlides), TRX_ADDONS_STORAGE['swipers'][id].slideTo(t); e.preventDefault(); return false; }); slider.attr('data-busy', 1).animate({'opacity':1}, 'fast', function() { slider.attr('data-busy', 0); trx_addons_set_controller_height(is_controller ? slider.parents('[data-slider-id]').eq(0).attr('id') : controller_id, is_controller ? jQuery('#'+slider.parents('[data-slider-id]').eq(0).data('slider-id')) : slider); slider.trigger('slider_inited'); jQuery(document).trigger('action.slider_inited', [slider, id]); }); jQuery(window).trigger('scroll'); jQuery(document).trigger('action.resize_trx_addons'); }); } if (container.find('.slider_elastistack:not(.inited)').length > 0) { container.find('.slider_elastistack:not(.inited)') .each(function () { if (jQuery(this).parents('div:hidden,article:hidden').length > 0 || typeof window.ElastiStack == 'undefined') return; var slider = jQuery(this); var id = slider.attr('id'); if (id == undefined) { id = 'elastistack_'+Math.random(); id = id.replace('.', ''); slider.attr('id', id); } var cont = slider.parent().hasClass('slider_outer') ? slider.parent().attr('id', id+'_outer') : slider; var cont_id = cont.attr('id'); var images = slider.find('ul.stack__images').attr('id', id+'_images'); var images_id = images.attr('id'); slider.css({ 'display': 'block', 'opacity': 0 }) .addClass(id) .addClass('inited') .data('settings', {mode: 'horizontal'}); trx_addons_resize_sliders(e, cont); var stack = new ElastiStack( images.get(0), { onUpdateStack : function(idx) { var titles = cont.find('.slider_titles_outside_wrap'); if (titles.length > 0) { titles.find('.active').removeClass('active').hide(); titles.find('.slide_info').eq(idx).addClass('active').fadeIn(300); } cont.find('.trx_addons_video_player.with_cover.video_play').removeClass('video_play').find('.video_embed').empty(); slider.trigger('slide_change_end'); } }); cont.find('.slider_next').on('click', function(e) { stack.nextItem( { transform : 'translate3d(0, -60px, 400px)' } ); e.preventDefault(); return false; }); cont.find('.slider_titles_outside_wrap .slide_info').eq(0).addClass('active').fadeIn(300); slider.animate({'opacity':1}, 'fast', function() { stack._setStackStyle(); }); }); } } function trx_addons_init_hidden_sliders(e, container) { trx_addons_init_sliders(e, container); trx_addons_resize_sliders(e, container); } jQuery(document).on('action.resize_trx_addons', trx_addons_resize_sliders); function trx_addons_resize_sliders(e, container) { if (container === undefined) { container = jQuery('body'); } container.find('.slider_container.inited').each(function() { var slider = jQuery(this); if (slider.parents('div:hidden,article:hidden').length > 0) return; var id = slider.attr('id'); var direction = slider.data('direction'); if (direction != 'vertical') direction = 'horizontal'; var on_resize = false; var max_width = jQuery('body').width(); var slider_width = slider.width(); if (slider_width > max_width) { slider_width = Math.min( slider_width, max_width ); on_resize = true; } var last_width = slider.data('last-width'); if (isNaN(last_width)) last_width = 0; if (last_width === 0 || last_width != slider_width) { if (direction != 'vertical') slider.data('last-width', slider_width); var space = slider.data('slides-space'); if (space == undefined) { space = 0; } var spv = slider.data('slides-per-view'); if (spv == undefined || slider.parents('.widget_nav_menu').length > 0) { spv = 1; } if (slider.hasClass('slider_swiper')) { if (typeof TRX_ADDONS_STORAGE['swipers'][id].params == 'object' && TRX_ADDONS_STORAGE['swipers'][id].params.slidesPerView != 'auto') { if (direction=='horizontal') { var smw = slider.data('slides-min-width'); if (slider_width / spv < smw) { spv = Math.max(1, Math.floor(slider_width / smw)); } if (TRX_ADDONS_STORAGE['swipers'][id].params.slidesPerView != spv) { TRX_ADDONS_STORAGE['swipers'][id].params.slidesPerView = spv; TRX_ADDONS_STORAGE['swipers'][id].params.loopedSlides = spv; } } on_resize = true; } } if ( !slider.hasClass('slider_noresize') || slider.height()===0 ) { var slide = slider.find('.slider-slide').eq(0); var slide_width = slide.width(); var slide_height = slide.height(); var ratio = slider.data('ratio'); if (ratio===undefined || (''+ratio).indexOf(':')<1) { ratio = slide_height > 0 ? slide_width+':'+slide_height : "16:9"; slider.attr('data-ratio', ratio); } ratio = ratio.split(':'); var ratio_x = !isNaN(ratio[0]) ? Number(ratio[0]) : 16; var ratio_y = !isNaN(ratio[1]) ? Number(ratio[1]) : 9; var height = Math.floor((spv==1 ? slider_width : slide_width)/ratio_x*ratio_y); slider.height(direction == 'vertical' ? height * spv + (spv-1) * space : height); on_resize = true; if (slider.hasClass('slider_elastistack')) { slider.find('.slider-wrapper,.stack__images,.slider-slide').height(height); } trx_addons_set_controller_height(slider.data('controller'), slider, e); } if (on_resize && (slider.hasClass('slider_swiper') || slider.hasClass('slider_swiper_outer'))) { if (typeof TRX_ADDONS_STORAGE['swipers'][id] == 'object' && typeof TRX_ADDONS_STORAGE['swipers'][id].resize == 'object' && typeof TRX_ADDONS_STORAGE['swipers'][id].resize.resizeHandler == 'function') { TRX_ADDONS_STORAGE['swipers'][id].resize.resizeHandler(e); } } } }); } function trx_addons_set_controller_height(controller_id, slider, e) { if ( !controller_id && typeof TRX_ADDONS_STORAGE['pagebuilder_preview_mode'] != 'undefined' && TRX_ADDONS_STORAGE['pagebuilder_preview_mode'] ) { var slider_id = slider.attr('id').replace('_sc_slider', ''); if (slider_id) { controller_id = jQuery('[data-slider-id="' + slider_id + '"]').eq(0).attr('id'); } } if ( !controller_id ) return; var controller = jQuery('#'+controller_id); if (controller.length > 0 && controller.hasClass('sc_slider_controller_vertical') && controller.hasClass('sc_slider_controller_height_auto')) { var controller_slider = controller.hasClass('slider_container') ? controller : controller.find('.slider_container'), controller_slider_id = controller_slider.attr('id'); if (jQuery(window).width() >= 768) { var paddings = parseFloat(controller.css('paddingTop')); if (isNaN(paddings)) paddings = 0; controller_slider.height(slider.height() - 2*paddings); } else { var controller_spv = controller.data('slides-per-view'); if (isNaN(controller_spv)) controller_spv = 1; controller_slider.height(controller_spv*100); } if ((controller_slider.hasClass('slider_swiper') || controller_slider.hasClass('slider_swiper_outer'))) { if (typeof TRX_ADDONS_STORAGE['swipers'][controller_slider_id] == 'object' && typeof TRX_ADDONS_STORAGE['swipers'][controller_slider_id].resize == 'object' && typeof TRX_ADDONS_STORAGE['swipers'][controller_slider_id].resize.resizeHandler == 'function') { TRX_ADDONS_STORAGE['swipers'][controller_slider_id].resize.resizeHandler(e); } } } } })(); jQuery(document).on('action.ready_trx_addons', function() { "use strict"; jQuery('.sc_layouts_logo,.custom-logo-link').on('click', function(e){ if (jQuery(this).attr('href') == '#' || location.href == jQuery(this).attr('href')) { trx_addons_document_animate_to(0); e.preventDefault(); return false; } }); }); (function() { "use strict"; jQuery(document).on('action.before_ready_trx_addons', function() { window.trx_addons_init_sfmenu = function(selector) { jQuery(selector).show().each(function() { var animation_in = jQuery(this).parent().data('animation-in'); if (animation_in == undefined) animation_in = "none"; var animation_out = jQuery(this).parent().data('animation-out'); if (animation_out == undefined) animation_out = "none"; jQuery(this).addClass('inited').superfish({ delay: 500, animation: { opacity: 'show' }, animationOut: { opacity: 'hide' }, speed: animation_in!='none' ? 500 : 200, speedOut: animation_out!='none' ? 500 : 200, autoArrows: false, dropShadows: false, onBeforeShow: function(ul) { var menu_item = jQuery(this); if (menu_item.hasClass('sc_layouts_submenu') && !menu_item.hasClass('layouts_inited') && menu_item.find('.slider_container').length > 0) { menu_item.addClass('sc_layouts_submenu_prepare'); } else { trx_addons_before_show_menu(menu_item); } }, onBeforeHide: function(ul) { trx_addons_before_hide_menu(jQuery(this)); }, onShow: function(ul) { trx_addons_after_show_menu(jQuery(this)); } }); function trx_addons_before_show_menu(menu_item) { if (menu_item.parents("ul").length > 1){ var page_wrap = jQuery('.page_wrap').eq(0), w = page_wrap.length > 0 ? page_wrap.width() : jQuery(window).width(), w_offset = page_wrap.length > 0 ? page_wrap.offset().left : 0, par = menu_item.parents("ul").eq(0), par_offset = par.offset().left - w_offset, par_width = par.outerWidth(), ul_width = menu_item.outerWidth(); if (par_offset + par_width + ul_width > w - 10 && par_offset - ul_width > 0) menu_item.addClass('submenu_left'); else menu_item.removeClass('submenu_left'); } if (menu_item.parents('.top_panel').length > 0) { var ul_width = menu_item.outerWidth(), w_width = jQuery(window).width(); if (menu_item.hasClass('submenu_left')) { var ul_pos = menu_item.data('ul_pos'), ul_offset = menu_item.offset().left; if (ul_pos === undefined) { ul_pos = parseInt(menu_item.css('right'), 10); } if ( isNaN(ul_pos) ) { ul_pos = 0; } if (ul_offset < 0) { if (menu_item.data('ul_pos') == undefined) { menu_item.data('ul_pos', ul_pos); } menu_item.css({ 'right': ul_pos + ul_offset + 'px' }); } } else { var ul_pos = menu_item.data('ul_pos'), ul_offset = menu_item.parents("ul").length > 1 ? menu_item.offset().left : menu_item.parent().offset().left; if (ul_pos === undefined) { ul_pos = parseInt(menu_item.css('left'), 10); } if ( isNaN(ul_pos) ) { ul_pos = 0; } if (ul_offset + ul_width >= w_width) { if (menu_item.data('ul_pos') == undefined) { menu_item.data('ul_pos', ul_pos); } menu_item.css({ 'left': ( ul_pos - ( ul_offset + ul_width - w_width ) ) + 'px' }); } } var ul_height = menu_item.outerHeight(), w_height = jQuery(window).height(), row = menu_item.parents('.sc_layouts_row'), row_offset = 0, row_height = 0, par = menu_item.parent(), par_offset = 0; while (row.length > 0) { row_offset += row.outerHeight(); if (row.hasClass('sc_layouts_row_fixed_on')) break; row = row.prev(); } while (par.length > 0) { par_offset += par.position().top + par.parent().position().top; row_height = par.outerHeight(); if (par.position().top == 0) break; par = par.parents('li'); } if (row_offset + par_offset + ul_height > w_height) { if (par_offset > ul_height) { menu_item.css({ 'top': 'auto', 'bottom': '-1.4em' }); } else { menu_item.css({ 'top': '-' + (par_offset - row_height - 2) + 'px', 'bottom': 'auto' }); } } } if (menu_item.parents('[class*="columns-"]').length == 0 && animation_in!='none') { menu_item.removeClass('animated fast '+animation_out); menu_item.addClass('animated fast '+animation_in); } } function trx_addons_before_hide_menu(menu_item) { menu_item.find('.trx_addons_video_player.with_cover.video_play').removeClass('video_play').find('.video_embed').empty(); if (menu_item.parents('[class*="columns-"]').length == 0 && animation_out!='none') { menu_item.removeClass('animated fast '+animation_in); menu_item.addClass('animated fast '+animation_out); } } function trx_addons_after_show_menu(menu_item) { if (menu_item.hasClass('sc_layouts_submenu') && !menu_item.hasClass('layouts_inited')) { jQuery(document).trigger('action.init_hidden_elements', [menu_item]); if (menu_item.find('.slider_container').length > 0) { jQuery(document).on('action.slider_inited', function(e, slider, id) { trx_addons_before_show_menu(menu_item); menu_item .removeClass('sc_layouts_submenu_prepare') .addClass('layouts_inited'); }); } else { menu_item.addClass('layouts_inited'); } } } }); }; trx_addons_init_sfmenu('.sc_layouts_menu:not(.inited) > ul:not(.inited)'); trx_addons_menu_collapse(); jQuery('.sc_layouts_menu:not(.inited)').each(function() { if (jQuery(this).find('>ul.inited').length == 1) jQuery(this).addClass('inited'); }); jQuery('.menu_hover_slide_line:not(.slide_inited),.menu_hover_slide_box:not(.slide_inited)').each(function() { var menu = jQuery(this).addClass('slide_inited'); var style = menu.hasClass('menu_hover_slide_line') ? 'line' : 'box'; setTimeout(function() { if (jQuery.fn.spasticNav !== undefined) { menu.find('>ul').spasticNav({ style: style, colorOverride: false }); } }, 500); }); jQuery('.sc_layouts_menu_mobile_button_burger:not(.inited)').each(function() { var burger = jQuery(this); var popup = burger.find('.sc_layouts_menu_popup'); if (popup.length == 1) { burger.addClass('inited').on('click', '>a', function(e) { popup.toggleClass('opened').slideToggle(); e.preventDefault(); return false; }); popup.on('click', 'a', function(e) { if ( jQuery(this).next().hasClass('sub-menu') ) { jQuery(this).next().fadeToggle(); e.preventDefault(); return false; } }); jQuery(document).on('click', function(e) { jQuery('.sc_layouts_menu_popup.opened').removeClass('opened').slideUp(); }); } }); }); jQuery(document).on('action.resize_trx_addons', function() { trx_addons_menu_collapse(); }); function trx_addons_menu_collapse() { if (TRX_ADDONS_STORAGE['menu_collapse'] == 0) return; jQuery('.sc_layouts_menu:not(.sc_layouts_menu_dir_vertical)').each(function() { if (jQuery(this).parents('div:hidden,section:hidden,article:hidden').length > 0) return; var ul = jQuery(this).find('>ul:not(.sc_layouts_menu_no_collapse).inited'); if (ul.length == 0 || ul.find('> li').length < 2) return; var sc_layouts_item = ul.parents('.sc_layouts_item'); if ( !sc_layouts_item.parent().hasClass('wpb_wrapper') && !sc_layouts_item.parent().hasClass('sc_layouts_column') && !sc_layouts_item.parent().hasClass('elementor-widget-wrap') ) return; var w_max = sc_layouts_item.parent().width() - (Math.ceil(parseFloat(sc_layouts_item.css('marginLeft'))) + Math.ceil(parseFloat(sc_layouts_item.css('marginRight')))) - 2; var w_siblings = 0, in_group = 0, ul_id = ul.attr('id'); sc_layouts_item.parent().find('>div').each(function() { if ( in_group > 1 ) return; if ( jQuery(this).hasClass('vc_empty_space') || jQuery(this).hasClass('vc_separator') || jQuery(this).hasClass('elementor-widget-spacer') || jQuery(this).hasClass('elementor-widget-divider') ) { if (in_group == 1) in_group = 2; else w_siblings = 0; } else { if (jQuery(this).find('#'+ul_id).length > 0) in_group = 1; else w_siblings += (jQuery(this).outerWidth() + Math.ceil(parseFloat(jQuery(this).css('marginLeft'))) + Math.ceil(parseFloat(jQuery(this).css('marginRight')))); } }); w_max -= w_siblings; var w_all = 0; var move = false; var li_collapse = ul.find('li.menu-item.menu-collapse'); if (li_collapse.length==0) { ul.append(''); li_collapse = ul.find('li.menu-item.menu-collapse'); } var li_collapse_ul = li_collapse.find('> ul'); ul.find('> li').each(function(idx) { var cur_item = jQuery(this); cur_item.data('index', idx); if (move || cur_item.attr('id') == 'blob') return; w_all += !cur_item.hasClass('menu-collapse') || cur_item.css('display')!='none' ? cur_item.outerWidth() + Math.ceil(parseFloat(cur_item.css('marginLeft'))) + Math.ceil(parseFloat(cur_item.css('marginRight'))) : 0; if (w_all > w_max) move = true; }); if (move) { w_all = li_collapse.outerWidth() + Math.ceil(parseFloat(li_collapse.css('marginLeft'))) + Math.ceil(parseFloat(li_collapse.css('marginRight'))); ul.find("> li:not('.menu-collapse')").each(function(idx) { var cur_item = jQuery(this); var cur_width = cur_item.outerWidth() + Math.ceil(parseFloat(cur_item.css('marginLeft'))) + Math.ceil(parseFloat(cur_item.css('marginRight'))); if (w_all <= w_max) w_all += cur_width; if (w_all > w_max) { var moved = false; li_collapse_ul.find('>li').each(function() { if (!moved && Number(jQuery(this).data('index')) > idx) { cur_item.attr('data-width', cur_width).insertBefore(jQuery(this)); moved = true; } }); if (!moved) cur_item.attr('data-width', cur_width).appendTo(li_collapse_ul); } }); li_collapse.show(); } else { var items = li_collapse_ul.find('>li'); var cnt = 0; move = true; items.each(function() { if (!move) return; if (items.length - cnt == 1) w_all -= (li_collapse.outerWidth() + Math.ceil(parseFloat(li_collapse.css('marginLeft'))) + Math.ceil(parseFloat(li_collapse.css('marginRight')))); w_all += parseFloat(jQuery(this).data('width')); if (w_all < w_max) { jQuery(this).insertBefore(li_collapse); cnt++; } else move = false; }); if (items.length - cnt == 0) li_collapse.hide(); } }); } })();(function($) { "use strict"; $.fn.spasticNav = function(options) { options = $.extend({ overlap : 0, style: 'box', reset : 50, color : '#00c6ff', colorOverride: true, }, options); return this.each(function() { var nav = $(this), currentPageItem = nav.find('>.current-menu-item,>.current-menu-parent,>.current-menu-ancestor'), hidden = false, blob, reset; if (currentPageItem.length === 0) { currentPageItem = nav.find('li').eq(0); hidden = true; } var a = currentPageItem.find('>a'); var pl = parseInt(a.css('paddingLeft'), 10); if (isNaN(pl)) pl = 0; $('
  • ').css({ width : options.style=='box' ? a.outerWidth() : a.width(), left : currentPageItem.position().left + (options.style=='box' ? 0 : pl), top : currentPageItem.position().top - options.overlap / 2, opacity: hidden ? 0 : 1 }).appendTo(this); blob = $('#blob', nav); if (options.style == 'box') blob.css({height: currentPageItem.outerHeight() + options.overlap}); if (options.colorOverride) { var bg = a.css('backgroundColor'); blob.css({backgroundColor : hidden || bg=='transparent' ? options.color : bg}); } nav.find('>li:not(#blob)').hover( function() { clearTimeout(reset); var a = $(this).find('>a'); var pl = parseInt(a.css('paddingLeft'), 10); if (isNaN(pl)) pl = 0; if (options.colorOverride) { var bg = a.css('backgroundColor'); if (bg!='transparent') blob.css({backgroundColor: bg}); } $(this).addClass('blob_over'); blob.css({ left: $(this).position().left + (options.style=='box' ? 0 : pl), top: $(this).position().top - options.overlap / 2, width: options.style=='box' ? a.outerWidth() : a.width(), opacity: 1 }); }, function() { reset = setTimeout(function() { var a = currentPageItem.find('>a'); var pl = parseInt(a.css('paddingLeft'), 10); if (isNaN(pl)) pl = 0; if (options.colorOverride) { var bg = a.css('backgroundColor'); if (bg!='transparent') blob.css({backgroundColor: bg}); } blob.css({ width: options.style=='box' ? a.outerWidth() : a.width(), left: currentPageItem.position().left + (options.style=='box' ? 0 : pl), opacity: hidden ? 0 : 1, }); }, options.reset); $(this).removeClass('blob_over'); } ); }); }; })(jQuery); jQuery(document).on('action.ready_trx_addons', function() { "use strict"; if (jQuery('.search_wrap:not(.inited)').length > 0) { jQuery('.search_wrap:not(.inited)').each(function() { var search_wrap = jQuery(this).addClass('inited'); var search_field = search_wrap.find('.search_field'); var ajax_timer = null; search_field.on('keyup', function(e) { if (e.keyCode == 27) { search_field.val(''); trx_addons_search_close(search_wrap); e.preventDefault(); return; } if (search_wrap.hasClass('search_ajax')) { var s = search_field.val(); if (ajax_timer) { clearTimeout(ajax_timer); ajax_timer = null; } if (s.length >= 4) { ajax_timer = setTimeout(function() { jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], { action: 'ajax_search', nonce: TRX_ADDONS_STORAGE['ajax_nonce'], text: s, post_types: search_wrap.find('input[name="post_types"]').val() }).done(function(response) { clearTimeout(ajax_timer); ajax_timer = null; var rez = {}; if (response=='' || response==0) { rez = { error: TRX_ADDONS_STORAGE['msg_search_error'] }; } else { try { rez = JSON.parse(response); } catch (e) { rez = { error: TRX_ADDONS_STORAGE['msg_search_error'] }; console.log(response); } } var msg = rez.error === '' ? rez.data : rez.error; search_field.parents('.search_ajax').find('.search_results_content').empty().append(msg); search_field.parents('.search_ajax').find('.search_results').fadeIn(); }); }, 500); } } }); search_wrap.find('.search_submit').on('click', function(e) { if ((search_wrap.hasClass('search_style_expand') || search_wrap.hasClass('search_style_fullscreen')) && !search_wrap.hasClass('search_opened')) { search_wrap.addClass('search_opened'); setTimeout(function() { search_field.get(0).focus(); }, 500); } else if (search_field.val() == '') { if (search_wrap.hasClass('search_opened')) trx_addons_search_close(search_wrap); else search_field.get(0).focus(); } else { search_wrap.find('form').get(0).submit(); } e.preventDefault(); return false; }); search_wrap.find('.search_close').on('click', function(e) { trx_addons_search_close(search_wrap); e.preventDefault(); return false; }); search_wrap.find('.search_results_close').on('click', function(e) { jQuery(this).parent().fadeOut(); e.preventDefault(); return false; }); search_wrap.on('click', '.search_more', function(e) { if (search_field.val() !== '') search_wrap.find('form').get(0).submit(); e.preventDefault(); return false; }); }); } function trx_addons_search_close(search_wrap) { search_wrap.removeClass('search_opened'); search_wrap.find('.search_results').fadeOut(); } });