/* 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, expires, path, domain, secure) { 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, path, domain) { 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_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 temp_opts[y].text) { temp = temp_opts[x]; temp_opts[x] = temp_opts[y]; temp_opts[y] = temp; } } } for(var 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"); } if (opt.error_message_class) error_message_box.toggleClass(opt.error_message_class, true); 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) { var list_val = list_fld.val(); list_lbl.append(''); 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===true || list_fld.data('not-selected')===true || list_fld.parents('.vc_edit-form-tab').length > 0 || list_fld.parents('.siteorigin-widget-field').length > 0 }; 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 === '') { 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'); for (var i in rez.data) { if (list_type != 'select' && rez.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; if (isNaN(id)) { if (id.indexOf('#')==-1) id = '#' + id; var obj = jQuery(id).eq(0); if (obj.length == 0) return; oft = obj.offset().top; } var st = jQuery(window).scrollTop(); var speed = Math.min(1200, Math.max(300, Math.round(Math.abs(oft-st) / jQuery(window).height() * 300))); var admin_bar = jQuery('#wpadminbar'); oft -= Math.max(0, admin_bar.length > 0 && admin_bar.css('display')!='none' && admin_bar.css('position')=='fixed' ? admin_bar.height() : 0 ) - 1; jQuery('body,html').stop(true).animate( {scrollTop: oft}, speed, 'linear', callback ); }; 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; i1 ? 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_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_check_images_complete = function(cont) { var complete = true; cont.find('img').each(function() { if (!complete) return; if (!jQuery(this).get(0).complete) complete = false; }); return complete; }; window.trx_addons_replicate = function(str, num) { var rez = ''; for (var i=0; i= 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= 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_serialize = function(mixed_val) { var obj_to_array = arguments.length==1 || argument[1]===true; switch ( typeof(mixed_val) ) { case "number": if ( isNaN(mixed_val) || !isFinite(mixed_val) ) return false; else return (Math.floor(mixed_val) == mixed_val ? "i" : "d") + ":" + mixed_val + ";"; case "string": return "s:" + mixed_val.length + ":\"" + mixed_val + "\";"; case "boolean": return "b:" + (mixed_val ? "1" : "0") + ";"; case "object": if (mixed_val == null) return "N;"; else if (mixed_val instanceof Array) { var idxobj = { idx: -1 }; var map = []; for (var i=0; i 0 && jQuery('.vc_empty-placeholder').length==0 && vc_init_counter++ < 30) { setTimeout(trx_addons_init_actions, 200); return; } jQuery('#page_preloader').animate({opacity:0}, 800, function() { jQuery(this).css( {display: 'none'} ); }); if (trx_addons_is_retina()) { trx_addons_set_cookie('trx_addons_is_retina', 1, 365); } jQuery(document).on('action.init_hidden_elements', function() { trx_addons_ready_actions(); jQuery(window).trigger('scroll'); }); jQuery(document).on('vc-full-width-row', function(e, el) { jQuery(document).trigger('action.resize_vc_row_start', [el]); jQuery(document).trigger('action.resize_vc_row_end', [el]); }); jQuery(document).on('action.resize_vc_row_end', function(e, el) { vc_resize = true; trx_addons_resize_actions(); }); trx_addons_ready_actions(); setTimeout(function() { if (!vc_resize) trx_addons_resize_actions(); jQuery(window).resize(function() { if (!vc_resize) trx_addons_resize_actions(); }); trx_addons_scroll_actions(); jQuery(window).scroll(function() { trx_addons_scroll_actions(); }); }, 1); 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_parent.hasClass('vc_tta-tab') || link_obj.hasClass('ui-tabs-anchor') || link_parent.hasClass('vc_tta-panel-title') || link_parent.hasClass('wpb_accordion_header') ) return; var href = link_obj.attr('href'); if (href == '#') return; if (trx_addons_is_local_link(href)) { var pos = href.indexOf('#'), offset = 0; if (pos >= 0) { href = href.substr(pos); var obj = jQuery(href); if (obj.length > 0) { offset = jQuery(href).offset().top; if (window.trx_addons_cpt_layouts_fixed_rows_height) offset -= trx_addons_cpt_layouts_fixed_rows_height(); } } trx_addons_document_animate_to(offset); e.preventDefault(); return false; } }); } if (container.find('.trx_addons_tabs:not(.inited)').length > 0 && jQuery.ui && jQuery.ui.tabs) { 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 (container.find('.trx_addons_accordion:not(.inited)').length > 0 && jQuery.ui && jQuery.ui.accordion) { 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]); } }); }); } if (container.find('.trx_addons_range_slider:not(.inited)').length > 0 && jQuery.ui && jQuery.ui.slider) { 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(',')); for (var i=0; i 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') .addClass('video_play') .find('.video_embed').html(jQuery(this).data('video')); var slider = jQuery(this).parents('.slider_swiper'); 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(window).trigger('resize'); e.preventDefault(); return false; }); } if (TRX_ADDONS_STORAGE['popup_engine'] == 'pretty') { container.find("a[href$='jpg']:not(.inited),a[href$='jpeg']:not(.inited),a[href$='png']:not(.inited),a[href$='gif']:not(.inited)").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([data-rel*='pretty']):not([rel*='magnific']):not([data-rel*='magnific'])").addClass('inited'); try { images.prettyPhoto({ social_tools: '', theme: 'facebook', deeplinking: false }); } catch (e) {}; } else if (TRX_ADDONS_STORAGE['popup_engine']=='magnific') { container.find("a[href$='jpg']:not(.inited),a[href$='jpeg']:not(.inited),a[href$='png']:not(.inited),a[href$='gif']:not(.inited)").each(function() { jQuery(this).attr('rel', 'magnific'); }); var images = container.find("a[rel*='magnific']:not(.inited):not(.esgbox):not(.prettyphoto):not([rel*='pretty']):not([data-rel*='pretty'])").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) {}; container.find(".trx_addons_popup_link:not(.popup_inited)").addClass('popup_inited').magnificPopup({ type: 'inline', focus: 'input', closeBtnInside: true, callbacks: { open: function () { if (jQuery(this.content).data('popup-content') === undefined) jQuery(this.content).data('popup-content', jQuery(this.content).html()); else jQuery(this.content).html(jQuery(this.content).data('popup-content')); jQuery(document).trigger('action.init_hidden_elements', [jQuery(this.content)]); var frame = jQuery(this.content).find('.video_frame'); if (frame.length > 0) { frame.find('> iframe').each(function () { var src = jQuery(this).attr('src'); if (src.indexOf('youtube')>=0 || src.indexOf('vimeo')>=0) { jQuery(this).attr('src', trx_addons_add_to_url(src, {'autoplay': 1})); } }); } }, close: function () { jQuery(this.content).empty(); }, resize: function () { trx_addons_resize_actions(); } } }); } if (container.find('.post_counters_likes:not(.inited),.comment_counters_likes:not(.inited)').length > 0) { container.find('.post_counters_likes:not(.inited),.comment_counters_likes:not(.inited)') .addClass('inited') .on('click', function(e) { var button = jQuery(this); var inc = button.hasClass('enabled') ? 1 : -1; var post_id = button.hasClass('post_counters_likes') ? button.data('postid') : button.data('commentid'); var cookie_likes = trx_addons_get_cookie(button.hasClass('post_counters_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_counters_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_counters_likes') ? '.post_counters_number' : '.comment_counters_number').html(counter); trx_addons_set_cookie(button.hasClass('post_counters_likes') ? 'trx_addons_likes' : 'trx_addons_comment_likes', cookie_likes, 365); } else { alert(TRX_ADDONS_STORAGE['msg_error_like']); } }); 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; for (var menu in TRX_ADDONS_STORAGE['menu_cache']) { menu = jQuery(TRX_ADDONS_STORAGE['menu_cache'][menu]+':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+'"]').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' : '')); } }); } } 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_counters_single .post_counters_views .post_counters_number,.sc_layouts_title_meta .post_counters_views .post_counters_number').html(rez.counter); } }); }, 10); } }); } function trx_addons_scroll_actions() { 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() { if (jQuery(this).offset().top < scroll_offset + jQuery(window).height()) jQuery(this).addClass(jQuery(this).data('animation')); }); jQuery(document).trigger('action.scroll_trx_addons'); } function trx_addons_resize_actions(cont) { trx_addons_resize_video(cont); jQuery(document).trigger('action.resize_trx_addons', [cont]); } function trx_addons_resize_video(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).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'); 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) return; video.data({'width': w_attr, 'height': h_attr}); } var percent = (''+w_attr).substr(-1)=='%'; w_attr = parseInt(w_attr); h_attr = parseInt(h_attr); var w_real = Math.round(mejs_cont.length > 0 ? Math.min(percent ? 10000 : w_attr, mejs_cont.parents('div,article').width()) : video.width()), h_real = Math.round(percent ? w_real/ratio : w_real/w_attr*h_attr); if (parseInt(video.attr('data-last-width'))==w_real) return; if (mejs_cont.length > 0 && mejs) { trx_addons_set_mejs_player_dimensions(video, w_real, h_real); } if (percent) { video.height(h_real); } else { video.attr({'width': w_real, 'height': h_real}).css({'width': w_real+'px', 'height': h_real+'px'}); } video.attr('data-last-width', w_real); }); cont.find('.video_frame iframe').each(function() { if (jQuery(this).parents('div:hidden,section:hidden,article:hidden').length > 0) { return; } var iframe = jQuery(this).eq(0); if (iframe.attr('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); h_attr = parseInt(h_attr); var pw = iframe.parent().width(), ph = iframe.parent().height(), w_real = pw, h_real = Math.round(percent ? w_real/ratio : w_real/w_attr*h_attr); if (iframe.parent().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'))==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); } mejs.players[pl].setPlayerSize(w, h); mejs.players[pl].setControlsSize(); } } } } }); 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: 4, 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").toggleClass("trx_addons_message_box_error", false).toggleClass("trx_addons_message_box_success", false); 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(); } }, 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").toggleClass("trx_addons_message_box_error", false).toggleClass("trx_addons_message_box_success", false); 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 () { var fullheight_item = jQuery(this); if (jQuery(this).parents('div:hidden,article:hidden').length > 0) { return; } var wh = 0; var fullheight_row = jQuery(this).parents('.vc_row-o-full-height'); if (fullheight_row.length > 0) { wh = fullheight_row.css('height') != 'auto' ? fullheight_row.height() : 'auto'; } else { if (screen.height > 1000) { var adminbar = jQuery('#wpadminbar'); wh = jQuery(window).height() - (adminbar.length > 0 ? adminbar.height() : 0); } else wh = 'auto'; } if (wh == 'auto' || wh > 0) fullheight_item.height(wh); }); } 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 && max_h > 0) { for (i=0; i 0) { widget_list.append('
  • '+title+'
  • '); if (widget_list.find('li').length < 2) widget_list.addClass('cars_compare_list_empty'); else widget_list.toggleClass('cars_compare_list_empty', false); } } function trx_addons_cars_compare_list_remove(id) { var list = trx_addons_get_cookie('trx_addons_cars_compare_list'); if (!list) list = {}; else list = JSON.parse(list); if (typeof list['id_'+id] != 'undefined') { delete list['id_'+id]; } trx_addons_set_cookie('trx_addons_cars_compare_list', JSON.stringify(list), 365); jQuery('.sc_cars_item_compare.in_compare_list[data-car-id="'+id+'"]').removeClass('in_compare_list'); var widget_list = jQuery('.widget_cars_compare .cars_compare_list'); widget_list.find('li[data-car-id="'+id+'"]').remove(); if (widget_list.find('li').length < 2) widget_list.addClass('cars_compare_list_empty'); else widget_list.toggleClass('cars_compare_list_empty', false); } jQuery('.sc_cars:not(.inited)') .addClass('inited') .on('click', '.sc_cars_item_compare', function(e) { if (jQuery(this).hasClass('in_compare_list')) { trx_addons_cars_compare_list_remove(jQuery(this).data('car-id')); } else { trx_addons_cars_compare_list_add(jQuery(this).data('car-id'), jQuery(this)); } e.preventDefault(); return false; }); jQuery('.widget_cars_compare .cars_compare_list:not(.inited)') .addClass('inited') .on('click', 'li', function(e) { trx_addons_cars_compare_list_remove(jQuery(this).data('car-id')); e.preventDefault(); return false; }); jQuery('select[name="cars_order"]:not(.inited)') .addClass('inited') .on('change', function(e) { jQuery(this).parents('form').submit(); e.preventDefault(); return false; }); jQuery('.cars_search_show_advanced:not(.inited)') .addClass('inited') .on('click', function () { jQuery(this).parents('.cars_search').toggleClass('cars_search_opened'); }); jQuery('select[name="cars_maker"]:not(.inited)') .addClass('inited') .on('change', function () { var fld = jQuery(this); var slave_fld = fld.parents('form').find('select[name="cars_model"]'); if (slave_fld.length > 0) { var slave_lbl = slave_fld.parents('label'); trx_addons_refresh_list('models', fld.val(), slave_fld, slave_lbl); } }); }); jQuery(document).on('action.ready_trx_addons', function() { "use strict"; jQuery('.sc_dishes_popup:not(.inited)') .addClass('inited') .on('click', 'a', function(e) { trx_addons_dishes_show_details(jQuery(this).parents('.sc_dishes_item'), true); e.preventDefault(); return false; }); if (jQuery('.sc_dishes_popup.inited').length > 0) { jQuery('body:not(.sc_dishes_popup_inited)') .addClass('sc_dishes_popup_inited') .on('click', '#trx_addons_dishes_details_popup_overlay, .trx_addons_dishes_details_popup_close', function(e) { jQuery('#trx_addons_dishes_details_popup').fadeOut(); jQuery('#trx_addons_dishes_details_popup_overlay').fadeOut(); }) .on('click', '.trx_addons_dishes_details_popup_prev,.trx_addons_dishes_details_popup_next', function(e) { var popup = jQuery('#trx_addons_dishes_details_popup'); var dish_item = popup.data('dish_item'); if (!dish_item || dish_item.length == 0) return; var dishes_items = dish_item.parents('.sc_dishes').find('.sc_dishes_item'); var cur_idx = -1; dishes_items.each(function(idx) { if (jQuery(this).data('post_id') == dish_item.data('post_id')) cur_idx = idx; }); if (cur_idx == -1) return; dish_item = jQuery(this).hasClass('trx_addons_dishes_details_popup_prev') ? (cur_idx > 0 ? dishes_items.eq(cur_idx-1) : false) : (cur_idx < dishes_items.length-1 ? dishes_items.eq(cur_idx+1) : false); if (!dish_item || dish_item.length == 0) return; popup.fadeOut(); trx_addons_dishes_show_details(dish_item, false); }); } function trx_addons_dishes_show_details(dish_item, show_overlay) { jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], { action: 'dishes_details', nonce: TRX_ADDONS_STORAGE['ajax_nonce'], post_id: dish_item.data('post_id') }).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_dishes_details_popup'); var overlay = jQuery('#trx_addons_dishes_details_popup_overlay'); if (popup.length == 0) { jQuery('body').append( '
    ' + '
    ' + '
    ' + '' + '' + '' + '
    '); popup = jQuery('#trx_addons_dishes_details_popup'); overlay = jQuery('#trx_addons_dishes_details_popup_overlay'); } popup.data('dish_item', dish_item).find('.trx_addons_dishes_details_content').html(msg); if (show_overlay) overlay.fadeIn(); popup.fadeIn(); }); } }); jQuery(document).on('action.ready_trx_addons', function() { "use strict"; var rows = jQuery('.sc_layouts_row_fixed'); 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, false); }); jQuery(document).on('action.resize_trx_addons', function() { trx_addons_cpt_layouts_fix_rows(rows, true); }); } function trx_addons_cpt_layouts_fix_rows(rows, resize) { if (jQuery(window).width() <= 960) { rows.removeClass('sc_layouts_row_fixed_on').css({'top': 'auto'}); return; } var scroll_offset = jQuery(window).scrollTop(); var admin_bar = jQuery('#wpadminbar'); var rows_offset = Math.max(0, admin_bar.length > 0 && admin_bar.css('display')!='none' && admin_bar.css('position')=='fixed' ? admin_bar.height() : 0); rows.each(function() { var placeholder = jQuery(this).next(); var offset = parseInt(jQuery(this).hasClass('sc_layouts_row_fixed_on') ? placeholder.offset().top : jQuery(this).offset().top); 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'}); } } else { var h = jQuery(this).outerHeight(); 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(); } } 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; } }); } window.trx_addons_cpt_layouts_fixed_rows_height = function() { var fixed_height = 0; jQuery('.sc_layouts_row_fixed').each(function() { fixed_height += jQuery(this).height(); }); return fixed_height; }; setTimeout(function() { var fixed_height = 0; if (location.hash != '' && (fixed_height = trx_addons_cpt_layouts_fixed_rows_height()) > 0) trx_addons_document_animate_to(jQuery(window).scrollTop() - fixed_height); }, 10); }); jQuery(document).on('action.ready_trx_addons', function() { "use strict"; jQuery('.properties_page_gallery:not(.inited)') .addClass('inited') .on('click', '.properties_page_gallery_item', function(e) { if (jQuery(this).hasClass('properties_page_gallery_item_active')) return; jQuery(this).siblings().removeClass('properties_page_gallery_item_active'); jQuery(this).addClass('properties_page_gallery_item_active'); var image = jQuery(this).data('image'); if (!image) return; var featured = jQuery(this).parent().prev('.properties_page_featured'); var img_old = featured.find('img'); var h = img_old.height(); featured.height(h); img_old.animate({'opacity': 0}, 300, function() { jQuery(this).attr({ 'src': image, 'srcset': '' }).animate({'opacity': 1}, 400, function() { featured.height('auto'); }); setTimeout(function() { featured.height(img_old.height()); }, 100); }); e.preventDefault(); return false; }); function trx_addons_properties_compare_list_add(id, cmp_icon) { var title = cmp_icon.siblings('.sc_properties_item_title').text(); var list = trx_addons_get_cookie('trx_addons_properties_compare_list'); if (!list) list = {}; else list = JSON.parse(list); list['id_'+id] = title; trx_addons_set_cookie('trx_addons_properties_compare_list', JSON.stringify(list), 365); cmp_icon.addClass('in_compare_list'); var widget_list = jQuery('.widget_properties_compare .properties_compare_list'); if (widget_list.length > 0) { widget_list.append('
  • '+title+'
  • '); if (widget_list.find('li').length < 2) widget_list.addClass('properties_compare_list_empty'); else widget_list.toggleClass('properties_compare_list_empty', false); } } function trx_addons_properties_compare_list_remove(id) { var list = trx_addons_get_cookie('trx_addons_properties_compare_list'); if (!list) list = {}; else list = JSON.parse(list); if (typeof list['id_'+id] != 'undefined') { delete list['id_'+id]; } trx_addons_set_cookie('trx_addons_properties_compare_list', JSON.stringify(list), 365); jQuery('.sc_properties_item_compare.in_compare_list[data-property-id="'+id+'"]').removeClass('in_compare_list'); var widget_list = jQuery('.widget_properties_compare .properties_compare_list'); widget_list.find('li[data-property-id="'+id+'"]').remove(); if (widget_list.find('li').length < 2) widget_list.addClass('properties_compare_list_empty'); else widget_list.toggleClass('properties_compare_list_empty', false); } jQuery('.sc_properties:not(.inited)') .addClass('inited') .on('click', '.sc_properties_item_compare', function(e) { if (jQuery(this).hasClass('in_compare_list')) { trx_addons_properties_compare_list_remove(jQuery(this).data('property-id')); } else { trx_addons_properties_compare_list_add(jQuery(this).data('property-id'), jQuery(this)); } e.preventDefault(); return false; }); jQuery('.widget_properties_compare .properties_compare_list:not(.inited)') .addClass('inited') .on('click', 'li', function(e) { trx_addons_properties_compare_list_remove(jQuery(this).data('property-id')); e.preventDefault(); return false; }); jQuery('select[name="properties_order"]:not(.inited)') .addClass('inited') .on('change', function(e) { jQuery(this).parents('form').submit(); e.preventDefault(); return false; }); jQuery('.properties_search_show_advanced:not(.inited)') .addClass('inited') .on('click', function () { jQuery(this).parents('.properties_search').toggleClass('properties_search_opened'); }); jQuery('select[name="properties_country"]:not(.inited)') .addClass('inited') .on('change', function () { var fld = jQuery(this); var slave_fld = fld.parents('form').find('select[name="properties_state"]'); if (slave_fld.length > 0) { var slave_lbl = slave_fld.parents('label'); trx_addons_refresh_list('states', fld.val(), slave_fld, slave_lbl); } }); jQuery('select[name="properties_state"]:not(.inited)') .addClass('inited') .on('change', function () { var fld = jQuery(this); var slave_fld = fld.parents('form').find('select[name="properties_city"]'); if (slave_fld.length > 0) { var slave_lbl = slave_fld.parents('label'); var country = 0; if (fld.val() == 0) country = fld.parents('form').find('select[name="properties_country"]').val(); trx_addons_refresh_list('cities', {'state': fld.val(), 'country': country}, slave_fld, slave_lbl); } }); jQuery('select[name="properties_city"]:not(.inited)') .addClass('inited') .on('change', function () { var fld = jQuery(this); var slave_fld = fld.parents('form').find('select[name="properties_neighborhood"]'); if (slave_fld.length > 0) { var slave_lbl = slave_fld.parents('label'); trx_addons_refresh_list('neighborhoods', fld.val(), slave_fld, slave_lbl); } }); }); jQuery(document).on('action.ready_trx_addons', 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.ready_trx_addons', function() { "use strict"; jQuery('.sport_page_list:not(.inited)').addClass('inited').on('click', '.sport_page_round_time', function(e) { var rnd = jQuery(this).data('round'); var list = jQuery(this).parents('.sport_page_list'); list.find('[data-round="'+rnd+'"]').toggleClass('closed'); list.find(rnd).slideToggle(); e.preventDefault(); return false; }); }); jQuery(document).on('action.ready_trx_addons', function() { "use strict"; if (jQuery('.trx_addons_cv_section').length > 0) { jQuery('.trx_addons_cv_section_ajax').on( "tabsbeforeactivate", ".trx_addons_tabs", function( event, ui ) { if (ui.newPanel.data('need-content')) trx_addons_tab_content_loader(ui.newPanel, 1); }); jQuery('.trx_addons_cv_section_ajax').on( "click", '.trx_addons_pagination a', function(e) { var panel = jQuery(this).parents('.trx_addons_tabs_content'); if (panel.length == 0) panel = jQuery(this).parents('.trx_addons_cv_section_content'); trx_addons_tab_content_loader(panel, jQuery(this).data('page')); e.preventDefault(); return false; }); jQuery('.trx_addons_cv_section').on( "click", '.trx_addons_cv_section_title, .trx_addons_tabs_titles > li > a', function(e) { trx_addons_document_set_location(trx_addons_add_to_url(location.href, { 'section': jQuery(this).parents('.trx_addons_cv_section').data('section'), 'tab': jQuery(this).hasClass('trx_addons_cv_section_title') ? '' : jQuery(this).data('tab') })); e.preventDefault(); return false; }); jQuery('.trx_addons_cv_section_title > a.trx_addons_cv_section_title_icon').on( "click", function(e) { if (!e) { window.event.cancelBubble = true; } else if (e.stopPropagation) { e.stopPropagation(); } }); if (jQuery('.trx_addons_cv_navi_buttons').length > 0) { var cont = jQuery('.trx_addons_cv_navi_buttons'); var titles = ''; var href = location.href; cont.find('.trx_addons_cv_section_title').each(function(idx) { var section = jQuery(this).parent().data('section'); titles += ''; }); cont.append('
    '+titles+'
    '); cont.find('.trx_addons_cv_navi_buttons_area a').on('click', function(e) { cont.find('.trx_addons_cv_section').eq(jQuery(this).data('idx')).find('.trx_addons_cv_section_title').trigger('click'); jQuery(this).parent().find('.trx_addons_cv_navi_buttons_item').removeClass('trx_addons_cv_navi_buttons_item_active'); jQuery(this).addClass('trx_addons_cv_navi_buttons_item_active'); e.preventDefault(); return false; }); jQuery(document).on('action.init_hidden_elements', trx_addons_cv_navi_buttons_state); } jQuery('.trx_addons_cv_header .trx_addons_cv_button_cv2').on( "click", function(e) { jQuery('body').removeClass('trx_addons_cv_splash'); e.preventDefault(); return false; }); } function trx_addons_tab_content_loader(panel, page) { if (panel.html().replace(/\s/g, '')=='') panel.html('
    '); else panel.find('> *').css('opacity', 0); panel.data('need-content', false).addClass('trx_addons_loading'); jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], { nonce: TRX_ADDONS_STORAGE['ajax_nonce'], action: 'trx_addons_ajax_get_posts', section: panel.parents('.trx_addons_cv_section').data('section'), tab: panel.data('tab'), page: page }).done(function(response) { panel.removeClass('trx_addons_loading'); var rez = {}; try { rez = JSON.parse(response); } catch (e) { rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; console.log(response); } if (rez.error !== '') { panel.html('
    '+rez.error+'
    '); } else { panel.html(rez.data).fadeIn(function() { jQuery(document).trigger('action.init_shortcodes', [panel]); jQuery(document).trigger('action.init_hidden_elements', [panel]); }); } }); } function trx_addons_cv_navi_buttons_state(e, container) { var act = jQuery('.trx_addons_cv_section_title.ui-state-active'); var buttons = jQuery('.trx_addons_cv_navi_buttons_item'); if (act.length > 0 && buttons.length > 0) { buttons.removeClass('trx_addons_cv_navi_buttons_item_active'); buttons.eq(act.parent().index()).addClass('trx_addons_cv_navi_buttons_item_active'); } } }); jQuery(document).on('action.init_shortcodes', 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:not(.inited)'); if (toc_menu.length == 0) return; var toc_menu_items = toc_menu.addClass('inited').find('.toc_menu_item'); trx_addons_detect_active_toc(); var wheel_busy = false, wheel_time = 0; jQuery('.toc_menu_item > a').on('click', function(e) { if (trx_addons_scroll_to_anchor(jQuery(this), true)) { e.preventDefault(); return false; } }); jQuery(window).on('scroll', function() { trx_addons_mark_active_toc(); }); trx_addons_mark_active_toc(); if (TRX_ADDONS_STORAGE['scroll_to_anchor'] == 1) { var wheel_stop = false; jQuery(document).on('action.stop_wheel_handlers', function(e) { wheel_stop = true; }); jQuery(document).on('action.start_wheel_handlers', function(e) { wheel_stop = false; }); jQuery(window).bind('mousewheel DOMMouseScroll', function(e) { if (screen.width < 960 || jQuery(window).width() < 960 || wheel_stop || trx_addons_browser_is_ios()) { return; } if (wheel_busy || wheel_time == e.timeStamp) { e.preventDefault(); return false; } wheel_time = e.timeStamp; var wheel_dir = e.originalEvent.wheelDelta > 0 || e.originalEvent.detail < 0 ? -1 : 1; var items = trx_addons_detect_active_toc(); var doit = false; var scroll_offset = parseInt(jQuery(window).scrollTop()); var wh = jQuery(window).height(); var ah = jQuery('#wpadminbar').length > 0 ? jQuery('#wpadminbar').height() : 0; 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; } }); } function trx_addons_detect_active_toc() { var items = { loc: '', current: [], prev: -1, prevOffset: -1, next: -1, nextOffset: -1 }; 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)) return; var off = jQuery(id).offset().top; var id_next = jQuery(this).next().find('a').attr('href'); var off_next = id_next ? parseInt(jQuery(id_next).offset().top) : 1000000; var scroll_offset = parseInt(jQuery(window).scrollTop()); if (off > scroll_offset + 50) { if (items.next < 0) { items.next = idx; items.nextOffset = off; } } else if (off < scroll_offset - 50) { items.prev = idx; items.prevOffset = off; } if (off < scroll_offset + jQuery(window).height()*0.8 && scroll_offset < off_next - 50) { 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; } function trx_addons_mark_active_toc() { var items = trx_addons_detect_active_toc(); 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.parents('.wpb_row'); if (row.length == 0) row = obj.parent(); 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('icon') || 'toc_menu_icon_default'; var sow_icon = obj.data('sow-icon') || ''; 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 initializing = false; window.JQClass = function(){}; JQClass.classes = {}; JQClass.extend = function extender(prop) { var base = this.prototype; initializing = true; var prototype = new this(); initializing = false; for (var name in prop) { prototype[name] = typeof prop[name] == 'function' && typeof base[name] == 'function' ? (function(name, fn){ return function() { var __super = this._super; this._super = function(args) { return base[name].apply(this, args || []); }; var ret = fn.apply(this, arguments); this._super = __super; return ret; }; })(name, prop[name]) : prop[name]; } function JQClass() { if (!initializing && this._init) { this._init.apply(this, arguments); } } JQClass.prototype = prototype; 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 jqName = camelCase(this.name); $[jqName] = this; $.fn[jqName] = function(options) { var otherArgs = Array.prototype.slice.call(arguments, 1); if ($[jqName]._isNotChained(options, otherArgs)) { return $[jqName][options].apply($[jqName], [this[0]].concat(otherArgs)); } return this.each(function() { if (typeof options === 'string') { if (options[0] === '_' || !$[jqName][options]) { throw 'Unknown method: ' + options; } $[jqName][options].apply($[jqName], [this].concat(otherArgs)); } else { $[jqName]._attach(this, options); } }); }; }, setDefaults: function(options) { $.extend(this.defaultOptions, options || {}); }, _isNotChained: function(name, otherArgs) { if (name === 'option' && (otherArgs.length === 0 || (otherArgs.length === 1 && typeof otherArgs[0] === 'string'))) { return true; } return $.inArray(name, this._getters) > -1; }, _attach: function(elem, options) { elem = $(elem); if (elem.hasClass(this._getMarker())) { return; } elem.addClass(this._getMarker()); options = $.extend({}, this.defaultOptions, this._getMetadata(elem), options || {}); var inst = $.extend({name: this.name, elem: elem, options: options}, this._instSettings(elem, options)); elem.data(this.name, inst); this._postAttach(elem, inst); this.option(elem, options); }, _instSettings: function(elem, options) { return {}; }, _postAttach: function(elem, inst) { }, _getMetadata: function(elem) { try { var data = elem.data(this.name.toLowerCase()) || ''; data = data.replace(/'/g, '"'); data = data.replace(/([a-zA-Z0-9]+):/g, function(match, group, i) { var count = data.substring(0, i).match(/"/g); return (!count || count.length % 2 === 0 ? '"' + group + '":' : group + ':'); }); data = $.parseJSON('{' + data + '}'); for (var name in data) { var value = data[name]; if (typeof value === 'string' && value.match(/^new Date\((.*)\)$/)) { data[name] = eval(value); } } return data; } catch (e) { return {}; } }, _getInst: function(elem) { return $(elem).data(this.name) || {}; }, option: function(elem, name, value) { elem = $(elem); var inst = elem.data(this.name); if (!name || (typeof name === 'string' && value == null)) { var options = (inst || {}).options; return (options && name ? options[name] : options); } if (!elem.hasClass(this._getMarker())) { return; } var options = name || {}; if (typeof name === 'string') { options = {}; options[name] = value; } this._optionsChanged(elem, inst, options); $.extend(inst.options, options); }, _optionsChanged: function(elem, inst, options) { }, destroy: function(elem) { elem = $(elem); if (!elem.hasClass(this._getMarker())) { return; } this._preDestroy(elem, this._getInst(elem)); elem.removeData(this.name).removeClass(this._getMarker()); }, _preDestroy: function(elem, inst) { } }); function camelCase(name) { return name.replace(/-([a-z])/g, function(match, group) { return group.toUpperCase(); }); } $.JQPlugin = { createPlugin: function(superClass, overrides) { if (typeof superClass === 'object') { overrides = superClass; superClass = 'JQPlugin'; } superClass = camelCase(superClass); var className = camelCase(overrides.name); JQClass.classes[className] = JQClass.classes[superClass].extend(overrides); new JQClass.classes[className](); } }; })(jQuery); (function($) { var pluginName = '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: pluginName, 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: pluginName + '-rtl', _sectionClass: pluginName + '-section', _amountClass: pluginName + '-amount', _periodClass: pluginName + '-period', _rowClass: pluginName + '-row', _holdingClass: pluginName + '-holding', _showClass: pluginName + '-show', _descrClass: pluginName + '-descr', _timerElems: [], _init: function() { var self = this; this._super(); this._serverSyncs = []; var now = (typeof Date.now == 'function' ? Date.now : function() { return new Date().getTime(); }); var perfAvail = (window.performance && typeof window.performance.now == 'function'); function timerCallBack(timestamp) { var drawStart = (timestamp < 1e12 ? (perfAvail ? (performance.now() + performance.timing.navigationStart) : now()) : timestamp || now()); if (drawStart - animationStartTime >= 1000) { self._updateElems(); animationStartTime = drawStart; } requestAnimationFrame(timerCallBack); } var requestAnimationFrame = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || null; var animationStartTime = 0; if (!requestAnimationFrame || $.noRequestAnimationFrame) { $.noRequestAnimationFrame = null; setInterval(function() { self._updateElems(); }, 980); } else { animationStartTime = window.animationStartTime || window.webkitAnimationStartTime || window.mozAnimationStartTime || window.oAnimationStartTime || window.msAnimationStartTime || now(); requestAnimationFrame(timerCallBack); } }, UTCDate: function(tz, year, month, day, hours, mins, secs, ms) { if (typeof year == 'object' && year.constructor == Date) { ms = year.getMilliseconds(); secs = year.getSeconds(); mins = year.getMinutes(); hours = year.getHours(); day = year.getDate(); month = year.getMonth(); year = year.getFullYear(); } var d = new Date(); d.setUTCFullYear(year); d.setUTCDate(1); d.setUTCMonth(month || 0); d.setUTCDate(day || 1); d.setUTCHours(hours || 0); d.setUTCMinutes((mins || 0) - (Math.abs(tz) < 30 ? tz * 60 : tz)); d.setUTCSeconds(secs || 0); d.setUTCMilliseconds(ms || 0); return d; }, periodsToSeconds: function(periods) { return periods[0] * 31557600 + periods[1] * 2629800 + periods[2] * 604800 + periods[3] * 86400 + periods[4] * 3600 + periods[5] * 60 + periods[6]; }, resync: function() { var self = this; $('.' + this._getMarker()).each(function() { var inst = $.data(this, self.name); if (inst.options.serverSync) { var serverSync = null; for (var i = 0; i < self._serverSyncs.length; i++) { if (self._serverSyncs[i][0] == inst.options.serverSync) { serverSync = self._serverSyncs[i]; break; } } if (serverSync[2] == null) { var serverResult = ($.isFunction(inst.options.serverSync) ? inst.options.serverSync.apply(this, []) : null); serverSync[2] = (serverResult ? new Date().getTime() - serverResult.getTime() : 0) - serverSync[1]; } if (inst._since) { inst._since.setMilliseconds(inst._since.getMilliseconds() + serverSync[2]); } inst._until.setMilliseconds(inst._until.getMilliseconds() + serverSync[2]); } }); for (var i = 0; i < self._serverSyncs.length; i++) { if (self._serverSyncs[i][2] != null) { self._serverSyncs[i][1] += self._serverSyncs[i][2]; delete self._serverSyncs[i][2]; } } }, _instSettings: function(elem, options) { return {_periods: [0, 0, 0, 0, 0, 0, 0]}; }, _addElem: function(elem) { if (!this._hasElem(elem)) { this._timerElems.push(elem); } }, _hasElem: function(elem) { return ($.inArray(elem, this._timerElems) > -1); }, _removeElem: function(elem) { this._timerElems = $.map(this._timerElems, function(value) { return (value == elem ? null : value); }); }, _updateElems: function() { for (var i = this._timerElems.length - 1; i >= 0; i--) { this._updateCountdown(this._timerElems[i]); } }, _optionsChanged: function(elem, inst, options) { if (options.layout) { options.layout = options.layout.replace(/</g, '<').replace(/>/g, '>'); } this._resetExtraLabels(inst.options, options); var timezoneChanged = (inst.options.timezone != options.timezone); $.extend(inst.options, options); this._adjustSettings(elem, inst, options.until != null || options.since != null || timezoneChanged); var now = new Date(); if ((inst._since && inst._since < now) || (inst._until && inst._until > now)) { this._addElem(elem[0]); } this._updateCountdown(elem, inst); }, _updateCountdown: function(elem, inst) { elem = elem.jquery ? elem : $(elem); inst = inst || this._getInst(elem); if (!inst) { return; } elem.html(this._generateHTML(inst)).toggleClass(this._rtlClass, inst.options.isRTL); if ($.isFunction(inst.options.onTick)) { var periods = inst._hold != 'lap' ? inst._periods : this._calculatePeriods(inst, inst._show, inst.options.significant, new Date()); if (inst.options.tickInterval == 1 || this.periodsToSeconds(periods) % inst.options.tickInterval == 0) { inst.options.onTick.apply(elem[0], [periods]); } } var expired = inst._hold != 'pause' && (inst._since ? inst._now.getTime() < inst._since.getTime() : inst._now.getTime() >= inst._until.getTime()); if (expired && !inst._expiring) { inst._expiring = true; if (this._hasElem(elem[0]) || inst.options.alwaysExpire) { this._removeElem(elem[0]); if ($.isFunction(inst.options.onExpiry)) { inst.options.onExpiry.apply(elem[0], []); } if (inst.options.expiryText) { var layout = inst.options.layout; inst.options.layout = inst.options.expiryText; this._updateCountdown(elem[0], inst); inst.options.layout = layout; } if (inst.options.expiryUrl) { window.location = inst.options.expiryUrl; } } inst._expiring = false; } else if (inst._hold == 'pause') { this._removeElem(elem[0]); } }, _resetExtraLabels: function(base, options) { for (var n in options) { if (n.match(/[Ll]abels[02-9]|compactLabels1/)) { base[n] = options[n]; } } for (var n in base) { if (n.match(/[Ll]abels[02-9]|compactLabels1/) && typeof options[n] === 'undefined') { base[n] = null; } } }, _adjustSettings: function(elem, inst, recalc) { var serverEntry = null; for (var i = 0; i < this._serverSyncs.length; i++) { if (this._serverSyncs[i][0] == inst.options.serverSync) { serverEntry = this._serverSyncs[i][1]; break; } } if (serverEntry != null) { var serverOffset = (inst.options.serverSync ? serverEntry : 0); var now = new Date(); } else { var serverResult = ($.isFunction(inst.options.serverSync) ? inst.options.serverSync.apply(elem[0], []) : null); var now = new Date(); var serverOffset = (serverResult ? now.getTime() - serverResult.getTime() : 0); this._serverSyncs.push([inst.options.serverSync, serverOffset]); } var timezone = inst.options.timezone; timezone = (timezone == null ? -now.getTimezoneOffset() : timezone); if (recalc || (!recalc && inst._until == null && inst._since == null)) { inst._since = inst.options.since; if (inst._since != null) { inst._since = this.UTCDate(timezone, this._determineTime(inst._since, null)); if (inst._since && serverOffset) { inst._since.setMilliseconds(inst._since.getMilliseconds() + serverOffset); } } inst._until = this.UTCDate(timezone, this._determineTime(inst.options.until, now)); if (serverOffset) { inst._until.setMilliseconds(inst._until.getMilliseconds() + serverOffset); } } inst._show = this._determineShow(inst); }, _preDestroy: function(elem, inst) { this._removeElem(elem[0]); elem.empty(); }, pause: function(elem) { this._hold(elem, 'pause'); }, lap: function(elem) { this._hold(elem, 'lap'); }, resume: function(elem) { this._hold(elem, null); }, toggle: function(elem) { var inst = $.data(elem, this.name) || {}; this[!inst._hold ? 'pause' : 'resume'](elem); }, toggleLap: function(elem) { var inst = $.data(elem, this.name) || {}; this[!inst._hold ? 'lap' : 'resume'](elem); }, _hold: function(elem, hold) { var inst = $.data(elem, this.name); if (inst) { if (inst._hold == 'pause' && !hold) { inst._periods = inst._savePeriods; var sign = (inst._since ? '-' : '+'); inst[inst._since ? '_since' : '_until'] = this._determineTime(sign + inst._periods[0] + 'y' + sign + inst._periods[1] + 'o' + sign + inst._periods[2] + 'w' + sign + inst._periods[3] + 'd' + sign + inst._periods[4] + 'h' + sign + inst._periods[5] + 'm' + sign + inst._periods[6] + 's'); this._addElem(elem); } inst._hold = hold; inst._savePeriods = (hold == 'pause' ? inst._periods : null); $.data(elem, this.name, inst); this._updateCountdown(elem, inst); } }, getTimes: function(elem) { var inst = $.data(elem, this.name); return (!inst ? null : (inst._hold == 'pause' ? inst._savePeriods : (!inst._hold ? inst._periods : this._calculatePeriods(inst, inst._show, inst.options.significant, new Date())))); }, _determineTime: function(setting, defaultTime) { var self = this; var offsetNumeric = function(offset) { var time = new Date(); time.setTime(time.getTime() + offset * 1000); return time; }; var offsetString = function(offset) { offset = offset.toLowerCase(); var time = new Date(); var year = time.getFullYear(); var month = time.getMonth(); var day = time.getDate(); var hour = time.getHours(); var minute = time.getMinutes(); var second = time.getSeconds(); var pattern = /([+-]?[0-9]+)\s*(s|m|h|d|w|o|y)?/g; var matches = pattern.exec(offset); while (matches) { switch (matches[2] || 's') { case 's': second += parseInt(matches[1], 10); break; case 'm': minute += parseInt(matches[1], 10); break; case 'h': hour += parseInt(matches[1], 10); break; case 'd': day += parseInt(matches[1], 10); break; case 'w': day += parseInt(matches[1], 10) * 7; break; case 'o': month += parseInt(matches[1], 10); day = Math.min(day, self._getDaysInMonth(year, month)); break; case 'y': year += parseInt(matches[1], 10); day = Math.min(day, self._getDaysInMonth(year, month)); break; } matches = pattern.exec(offset); } return new Date(year, month, day, hour, minute, second, 0); }; var time = (setting == null ? defaultTime : (typeof setting == 'string' ? offsetString(setting) : (typeof setting == 'number' ? offsetNumeric(setting) : setting))); if (time) time.setMilliseconds(0); return time; }, _getDaysInMonth: function(year, month) { return 32 - new Date(year, month, 32).getDate(); }, _normalLabels: function(num) { return num; }, _generateHTML: function(inst) { var self = this; inst._periods = (inst._hold ? inst._periods : this._calculatePeriods(inst, inst._show, inst.options.significant, new Date())); var shownNonZero = false; var showCount = 0; var sigCount = inst.options.significant; var show = $.extend({}, inst._show); for (var period = Y; period <= S; period++) { shownNonZero |= (inst._show[period] == '?' && inst._periods[period] > 0); show[period] = (inst._show[period] == '?' && !shownNonZero ? null : inst._show[period]); showCount += (show[period] ? 1 : 0); sigCount -= (inst._periods[period] > 0 ? 1 : 0); } var showSignificant = [false, false, false, false, false, false, false]; for (var period = S; period >= Y; period--) { if (inst._show[period]) { if (inst._periods[period]) { showSignificant[period] = true; } else { showSignificant[period] = sigCount > 0; sigCount--; } } } var labels = (inst.options.compact ? inst.options.compactLabels : inst.options.labels); var whichLabels = inst.options.whichLabels || this._normalLabels; var showCompact = function(period) { var labelsNum = inst.options['compactLabels' + whichLabels(inst._periods[period])]; return (show[period] ? self._translateDigits(inst, inst._periods[period]) + (labelsNum ? labelsNum[period] : labels[period]) + ' ' : ''); }; var minDigits = (inst.options.padZeroes ? 2 : 1); var showFull = function(period) { var labelsNum = inst.options['labels' + whichLabels(inst._periods[period])]; return ((!inst.options.significant && show[period]) || (inst.options.significant && showSignificant[period]) ? '' + '' + self._minDigits(inst, inst._periods[period], minDigits) + '' + '' + (labelsNum ? labelsNum[period] : labels[period]) + '' : ''); }; return (inst.options.layout ? this._buildLayout(inst, show, inst.options.layout, inst.options.compact, inst.options.significant, showSignificant) : ((inst.options.compact ? '' + showCompact(Y) + showCompact(O) + showCompact(W) + showCompact(D) + (show[H] ? this._minDigits(inst, inst._periods[H], 2) : '') + (show[M] ? (show[H] ? inst.options.timeSeparator : '') + this._minDigits(inst, inst._periods[M], 2) : '') + (show[S] ? (show[H] || show[M] ? inst.options.timeSeparator : '') + this._minDigits(inst, inst._periods[S], 2) : '') : '' + showFull(Y) + showFull(O) + showFull(W) + showFull(D) + showFull(H) + showFull(M) + showFull(S)) + '' + (inst.options.description ? '' + inst.options.description + '' : ''))); }, _buildLayout: function(inst, show, layout, compact, significant, showSignificant) { var labels = inst.options[compact ? 'compactLabels' : 'labels']; var whichLabels = inst.options.whichLabels || this._normalLabels; var labelFor = function(index) { return (inst.options[(compact ? 'compactLabels' : 'labels') + whichLabels(inst._periods[index])] || labels)[index]; }; var digit = function(value, position) { return inst.options.digits[Math.floor(value / position) % 10]; }; var subs = {desc: inst.options.description, sep: inst.options.timeSeparator, yl: labelFor(Y), yn: this._minDigits(inst, inst._periods[Y], 1), ynn: this._minDigits(inst, inst._periods[Y], 2), ynnn: this._minDigits(inst, inst._periods[Y], 3), y1: digit(inst._periods[Y], 1), y10: digit(inst._periods[Y], 10), y100: digit(inst._periods[Y], 100), y1000: digit(inst._periods[Y], 1000), ol: labelFor(O), on: this._minDigits(inst, inst._periods[O], 1), onn: this._minDigits(inst, inst._periods[O], 2), onnn: this._minDigits(inst, inst._periods[O], 3), o1: digit(inst._periods[O], 1), o10: digit(inst._periods[O], 10), o100: digit(inst._periods[O], 100), o1000: digit(inst._periods[O], 1000), wl: labelFor(W), wn: this._minDigits(inst, inst._periods[W], 1), wnn: this._minDigits(inst, inst._periods[W], 2), wnnn: this._minDigits(inst, inst._periods[W], 3), w1: digit(inst._periods[W], 1), w10: digit(inst._periods[W], 10), w100: digit(inst._periods[W], 100), w1000: digit(inst._periods[W], 1000), dl: labelFor(D), dn: this._minDigits(inst, inst._periods[D], 1), dnn: this._minDigits(inst, inst._periods[D], 2), dnnn: this._minDigits(inst, inst._periods[D], 3), d1: digit(inst._periods[D], 1), d10: digit(inst._periods[D], 10), d100: digit(inst._periods[D], 100), d1000: digit(inst._periods[D], 1000), hl: labelFor(H), hn: this._minDigits(inst, inst._periods[H], 1), hnn: this._minDigits(inst, inst._periods[H], 2), hnnn: this._minDigits(inst, inst._periods[H], 3), h1: digit(inst._periods[H], 1), h10: digit(inst._periods[H], 10), h100: digit(inst._periods[H], 100), h1000: digit(inst._periods[H], 1000), ml: labelFor(M), mn: this._minDigits(inst, inst._periods[M], 1), mnn: this._minDigits(inst, inst._periods[M], 2), mnnn: this._minDigits(inst, inst._periods[M], 3), m1: digit(inst._periods[M], 1), m10: digit(inst._periods[M], 10), m100: digit(inst._periods[M], 100), m1000: digit(inst._periods[M], 1000), sl: labelFor(S), sn: this._minDigits(inst, inst._periods[S], 1), snn: this._minDigits(inst, inst._periods[S], 2), snnn: this._minDigits(inst, inst._periods[S], 3), s1: digit(inst._periods[S], 1), s10: digit(inst._periods[S], 10), s100: digit(inst._periods[S], 100), s1000: digit(inst._periods[S], 1000)}; var html = layout; for (var i = Y; i <= S; i++) { var period = 'yowdhms'.charAt(i); var re = new RegExp('\\{' + period + '<\\}([\\s\\S]*)\\{' + period + '>\\}', 'g'); html = html.replace(re, ((!significant && show[i]) || (significant && showSignificant[i]) ? '$1' : '')); } $.each(subs, function(n, v) { var re = new RegExp('\\{' + n + '\\}', 'g'); html = html.replace(re, v); }); return html; }, _minDigits: function(inst, value, len) { value = '' + value; if (value.length >= len) { return this._translateDigits(inst, value); } value = '0000000000' + value; return this._translateDigits(inst, value.substr(value.length - len)); }, _translateDigits: function(inst, value) { return ('' + value).replace(/[0-9]/g, function(digit) { return inst.options.digits[digit]; }); }, _determineShow: function(inst) { var format = inst.options.format; var show = []; show[Y] = (format.match('y') ? '?' : (format.match('Y') ? '!' : null)); show[O] = (format.match('o') ? '?' : (format.match('O') ? '!' : null)); show[W] = (format.match('w') ? '?' : (format.match('W') ? '!' : null)); show[D] = (format.match('d') ? '?' : (format.match('D') ? '!' : null)); show[H] = (format.match('h') ? '?' : (format.match('H') ? '!' : null)); show[M] = (format.match('m') ? '?' : (format.match('M') ? '!' : null)); show[S] = (format.match('s') ? '?' : (format.match('S') ? '!' : null)); return show; }, _calculatePeriods: function(inst, show, significant, now) { inst._now = now; inst._now.setMilliseconds(0); var until = new Date(inst._now.getTime()); if (inst._since) { if (now.getTime() < inst._since.getTime()) { inst._now = now = until; } else { now = inst._since; } } else { until.setTime(inst._until.getTime()); if (now.getTime() > inst._until.getTime()) { inst._now = now = until; } } var periods = [0, 0, 0, 0, 0, 0, 0]; if (show[Y] || show[O]) { var lastNow = this._getDaysInMonth(now.getFullYear(), now.getMonth()); var lastUntil = this._getDaysInMonth(until.getFullYear(), until.getMonth()); var sameDay = (until.getDate() == now.getDate() || (until.getDate() >= Math.min(lastNow, lastUntil) && now.getDate() >= Math.min(lastNow, lastUntil))); var getSecs = function(date) { return (date.getHours() * 60 + date.getMinutes()) * 60 + date.getSeconds(); }; var months = Math.max(0, (until.getFullYear() - now.getFullYear()) * 12 + until.getMonth() - now.getMonth() + ((until.getDate() < now.getDate() && !sameDay) || (sameDay && getSecs(until) < getSecs(now)) ? -1 : 0)); periods[Y] = (show[Y] ? Math.floor(months / 12) : 0); periods[O] = (show[O] ? months - periods[Y] * 12 : 0); now = new Date(now.getTime()); var wasLastDay = (now.getDate() == lastNow); var lastDay = this._getDaysInMonth(now.getFullYear() + periods[Y], now.getMonth() + periods[O]); if (now.getDate() > lastDay) { now.setDate(lastDay); } now.setFullYear(now.getFullYear() + periods[Y]); now.setMonth(now.getMonth() + periods[O]); if (wasLastDay) { now.setDate(lastDay); } } var diff = Math.floor((until.getTime() - now.getTime()) / 1000); var extractPeriod = function(period, numSecs) { periods[period] = (show[period] ? Math.floor(diff / numSecs) : 0); diff -= periods[period] * numSecs; }; extractPeriod(W, 604800); extractPeriod(D, 86400); extractPeriod(H, 3600); extractPeriod(M, 60); extractPeriod(S, 1); if (diff > 0 && !inst._since) { var multiplier = [1, 12, 4.3482, 7, 24, 60, 60]; var lastShown = S; var max = 1; for (var period = S; period >= Y; period--) { if (show[period]) { if (periods[lastShown] >= max) { periods[lastShown] = 0; diff = 1; } if (diff > 0) { periods[period]++; diff = 0; lastShown = period; max = 1; } } max *= multiplier[period]; } } if (significant) { for (var period = Y; period <= S; period++) { if (significant && periods[period]) { significant--; } else if (!significant) { periods[period] = 0; } } } return periods; } }); })(jQuery); (function() { "use strict"; jQuery(document).on('action.init_hidden_elements', trx_addons_sc_countdown_init); jQuery(document).on('action.init_shortcodes', 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 curDate = new Date(); var curDateTimeStr = curDate.getFullYear() + '-' + (curDate.getMonth()<9 ? '0' : '') + (curDate.getMonth()+1) + '-' + (curDate.getDate()<10 ? '0' : '') + curDate.getDate() + ' ' + (curDate.getHours()<10 ? '0' : '') + curDate.getHours() + ':' + (curDate.getMinutes()<10 ? '0' : '') + curDate.getMinutes() + ':' + (curDate.getSeconds()<10 ? '0' : '') + curDate.getSeconds(); var interval = 1; 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'; var endDateTimeStr = endDateStr+' '+endTimeStr; if (curDateTimeStr < endDateTimeStr) { jQuery(this).find('.sc_countdown_placeholder').countdown({ until: new Date(endDateParts[0], endDateParts[1]-1, endDateParts[2], endTimeParts[0], endTimeParts[1], endTimeParts[2]), tickInterval: interval, onTick: trx_addons_sc_countdown }); } else { jQuery(this).find('.sc_countdown_placeholder').countdown({ since: new Date(endDateParts[0], endDateParts[1]-1, endDateParts[2], endTimeParts[0], endTimeParts[1], endTimeParts[2]), tickInterval: interval, onTick: trx_addons_sc_countdown }); } }); } function trx_addons_sc_countdown(dt) { var counter = jQuery(this).parent(); for (var i=3; i=0; ch--) { digits.eq(ch+(i==3 && v.length<3 ? 1 : 0)).removeClass('hide').text(v.substr(ch, 1)); } trx_addons_sc_countdown_update_canvas(item, dt[i]); } } function trx_addons_sc_countdown_update_canvas(item, value) { var canvas = item.find('canvas'); if (canvas.length == 0) return; var digits = canvas.next(); var brd = parseInt(digits.css('border-top-width')); 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.init_shortcodes', 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('[class*="sc_input_hover_"] input,[class*="sc_input_hover_"] textarea').each(function() { sc_form_mark_filled(jQuery(this)); }); jQuery('[class*="sc_input_hover_"] input,[class*="sc_input_hover_"] textarea').on('blur change', function() { sc_form_mark_filled(jQuery(this)); }); jQuery('input,textarea,select').on('change', function() { jQuery(this).removeClass('trx_addons_field_error'); }); 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").toggleClass("trx_addons_message_box_error", false).toggleClass("trx_addons_message_box_success", false); 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, 'geocoder': null, 'maps': [] }; jQuery(document).on('action.init_hidden_elements', trx_addons_sc_googlemap_init); jQuery(document).on('action.init_shortcodes', trx_addons_sc_googlemap_init); function trx_addons_sc_googlemap_init(e, container) { if (container === undefined) container = jQuery('body'); if (container.find('.sc_googlemap:not(.inited)').length > 0) { container.find('.sc_googlemap:not(.inited)') .each(function () { if (jQuery(this).parents('div:hidden,article:hidden').length > 0) return; var map = jQuery(this).addClass('inited'); var map_id = map.attr('id'); var map_zoom = map.data('zoom'); var map_style = map.data('style'); var map_cluster_icon = map.data('cluster-icon'); var map_markers = []; map.find('.sc_googlemap_marker').each(function() { var marker = jQuery(this); map_markers.push({ icon: marker.data('icon'), address: marker.data('address'), latlng: marker.data('latlng'), description: marker.data('description'), title: marker.data('title') }); }); trx_addons_sc_googlemap_create( jQuery('#'+map_id).get(0), { style: map_style, zoom: map_zoom, cluster_icon: map_cluster_icon, markers: map_markers } ); }); } } function trx_addons_sc_googlemap_create(dom_obj, coords) { if (!googlemap.inited) trx_addons_sc_googlemap_init_styles(); var id = dom_obj.id; googlemap.maps[id] = { dom: dom_obj, markers: coords.markers, geocoder_request: false, cluster: null, clusterIcon: coords.cluster_icon, opt: { center: null, scrollwheel: false, scaleControl: false, disableDefaultUI: false, zoom: coords.zoom, 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); if (googlemap.maps[id].opt['zoom'] < 1) googlemap.maps[id].bounds = new google.maps.LatLngBounds(); else googlemap.maps[id].map.setZoom(googlemap.maps[id].opt['zoom']); for (var i in googlemap.maps[id].markers) googlemap.maps[id].markers[i].inited = false; trx_addons_sc_googlemap_add_markers(id); jQuery(document).on('action.resize_trx_addons', function() { if (googlemap.maps[id].map) googlemap.maps[id].map.setCenter(googlemap.maps[id].opt['center']); }); } function trx_addons_sc_googlemap_add_markers(id) { var inited = 0; for (var i in googlemap.maps[id].markers) { if (googlemap.maps[id].markers[i].inited) { 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) { 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, ''); googlemap.maps[id].geocoder_request = false; setTimeout(function() { trx_addons_sc_googlemap_add_markers(id); }, 200); } else dcl(TRX_ADDONS_STORAGE['msg_sc_googlemap_geocoder_error'] + ' ' + status); }); } else { var latlngStr = googlemap.maps[id].markers[i].latlng.split(','); var markerInit = { map: googlemap.maps[id].map, position: new google.maps.LatLng(latlngStr[0], latlngStr[1]), clickable: googlemap.maps[id].markers[i].description!='' }; if (googlemap.maps[id].markers[i].icon) markerInit.icon = googlemap.maps[id].markers[i].icon; if (googlemap.maps[id].markers[i].title) markerInit.title = googlemap.maps[id].markers[i].title; googlemap.maps[id].markers[i].marker = new google.maps.Marker(markerInit); if (googlemap.maps[id].opt['center'] == null) { 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(" ", ""); for (var i in googlemap.maps[id].markers) { if (trx_addons_googlemap_compare_latlng(latlng, googlemap.maps[id].markers[i].latlng)) { googlemap.maps[id].markers[i].infowindow.open( googlemap.maps[id].map, googlemap.maps[id].markers[i].marker ); break; } } }); } googlemap.maps[id].markers[i].inited = true; inited++; if (googlemap.maps[id].opt['zoom'] < 1) { googlemap.maps[id].bounds.extend(markerInit.position); } } } if (inited > 1 && inited == googlemap.maps[id].markers.length) { var markers = []; for (i in googlemap.maps[id].markers) markers.push(googlemap.maps[id].markers[i].marker); googlemap.maps[id].cluster = 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].map.fitBounds(googlemap.maps[id].bounds); } } function trx_addons_googlemap_compare_latlng(l1, l2) { var l1 = l1.replace(/\s/g, '', l1).split(','); var l2 = l2.replace(/\s/g, '', l2).split(','); 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_shortcodes', function(e, container) { "use strict"; var time = 50; container.find('.sc_icon_type_svg: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; }); }); jQuery(document).on('action.init_shortcodes', function(e, container) { "use strict"; jQuery('.sc_popup:not(.inited)').each(function() { var id = jQuery(this).attr('id'); if (!id) return; jQuery('a[href="#'+id+'"]').addClass('trx_addons_popup_link'); jQuery(this).addClass('inited'); }); }); (function() { "use strict"; jQuery(document).on('action.init_hidden_elements', trx_addons_sc_skills_init); jQuery(document).on('action.init_shortcodes', 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')); 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')); var step = start!=parseInt(start) || stop!=parseInt(stop) ? parseFloat(total.data('step')) : parseInt(total.data('step')); var duration = parseInt(total.data('duration')); 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')); var bg_color = total.data('bg_color'); var border_color = total.data('border_color'); var cutout = parseInt(total.data('cutout')); var easing = total.data('easing'); var options = { segmentShowStroke: border_color!='', segmentStrokeColor: border_color, segmentStrokeWidth: border_color!='' ? 1 : 0, percentageInnerCutout: cutout, animation: skillsItem.parents('.vc_row[data-vc-full-width="true"]').length==0, animationSteps: steps, animationEasing: easing, animateRotate: true, animateScale: skillsItem.parents('.vc_row[data-vc-full-width="true"]').length==0, }; var pieData = []; total.each(function() { var color = jQuery(this).data('color'); var stop = parseInt(jQuery(this).data('stop')); 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); } }); } })(); 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"; jQuery(document).on('action.init_sliders', trx_addons_init_sliders); 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_swiper').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 = slide.data('image'); var title = slide.data('title'); var cats = slide.data('cats'); var date = slide.data('date'); controller_html += '
    ' + '
    ' + ''+(idx < 9 ? '0' : '')+(idx+1)+'' + ''+title+'' + '
    ' + '
    '; }); 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'); var slider_id = controls.data('slider-id'); if (!slider_id) return; slider_id += '_swiper'; if (jQuery('#'+slider_id).length==0) return; controls.on('click', 'a', function(e) { if (jQuery(this).hasClass('slider_next')) TRX_ADDONS_STORAGE['swipers'][slider_id].slideNext(); else TRX_ADDONS_STORAGE['swipers'][slider_id].slidePrev(); e.preventDefault(); return false; }); }); } 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 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 = 180; slider.attr('data-slides-min-width', smw); } var spv = slider.data('slides-per-view'); if (spv == undefined) { 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; var interval = slider.data('interval'); if (interval === undefined) interval = Math.round(5000 * (1 + Math.random())); if (isNaN(interval)) interval = 0; if (TRX_ADDONS_STORAGE['swipers'] === undefined) TRX_ADDONS_STORAGE['swipers'] = {}; TRX_ADDONS_STORAGE['swipers'][id] = new Swiper('.'+id, { direction: direction, calculateHeight: !slider.hasClass('slider_height_fixed'), resizeReInit: true, autoResize: true, effect: slider.data('effect') ? slider.data('effect') : 'slide', pagination: slider.hasClass('slider_pagination') ? '#'+cont_id+' .slider_pagination_wrap' : false, paginationClickable: slider.hasClass('slider_pagination') ? '#'+cont_id+' .slider_pagination_wrap' : false, paginationType: slider.hasClass('slider_pagination') && slider.data('pagination') ? slider.data('pagination') : 'bullets', nextButton: slider.hasClass('slider_controls') ? '#'+cont_id+' .slider_next' : false, prevButton: slider.hasClass('slider_controls') ? '#'+cont_id+' .slider_prev' : false, autoplay: slider.hasClass('slider_noautoplay') || interval==0 ? false : parseInt(interval), autoplayDisableOnInteraction: true, initialSlide: 0, slidesPerView: spv, loopedSlides: spv, spaceBetween: space, speed: 600, centeredSlides: false, loop: true, grabCursor: !is_controller, slideToClickedSlide: is_controller, touchRatio: is_controller ? 0.2 : 1, onSlideChangeStart: function (swiper) { cont.find('.slider_titles_outside_wrap .active').removeClass('active').fadeOut(); var controlled_slider = jQuery('#'+slider.data(is_controller ? 'controlled-slider' : 'controller')+' .slider_swiper'); 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+'"]').index(); TRX_ADDONS_STORAGE['swipers'][controlled_id].slideTo(slide_idx); } }, onSlideChangeEnd: function (swiper) { 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); } }); 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'); setTimeout(function() { slider.attr('data-busy', 0); var controller = controller_id ? jQuery('#'+controller_id) : false; if (controller && controller.length > 0 && controller.hasClass('sc_slider_controller_vertical') && controller.hasClass('sc_slider_controller_height_auto')) { var paddings = parseFloat(controller.css('paddingTop')); if (isNaN(paddings)) paddings = 0; controller.find('.slider_swiper').height(slider.height() - 2*paddings); } }, 300); jQuery(window).trigger('scroll'); }); } } 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_swiper.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 slider_width = slider.width(); 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 spv = slider.data('slides-per-view'); if (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; } } TRX_ADDONS_STORAGE['swipers'][id].onResize(); } if ( !slider.hasClass('slider_noresize') || slider.height()==0 ) { var slide = slider.find('.swiper-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; slider.height( Math.floor((spv==1 ? slider_width : slide_width)/ratio_x*ratio_y) ); var controller_id = slider.data('controller'); var controller = controller_id ? jQuery('#'+controller_id) : false; if (controller && controller.length > 0 && controller.hasClass('sc_slider_controller_vertical') && controller.hasClass('sc_slider_controller_height_auto')) { if (screen.width >= 768) { var paddings = parseFloat(controller.css('paddingTop')); if (isNaN(paddings)) paddings = 0; controller.find('.slider_swiper').height(slider.height() - 2*paddings); } else { var controller_spv = controller.data('slides-per-view'); if (isNaN(controller_spv)) controller_spv = 1; controller.find('.slider_swiper').height(controller_spv*100); } } } } }); } })(); jQuery(document).on('action.ready_trx_addons', function() { "use strict"; if (jQuery('.sc_layouts_cart').length > 0) { jQuery('body:not(.added_to_cart_inited)').addClass('added_to_cart_inited').bind('added_to_cart', function() { var total = jQuery('.widget_shopping_cart').eq(0).find('.total .amount').text(); if (total != undefined) { jQuery('.sc_layouts_cart_summa').text(total); } var cnt = 0; jQuery('.widget_shopping_cart_content').eq(0).find('.cart_list li').each(function() { var q = jQuery(this).find('.quantity').html().split(' ', 2); if (!isNaN(q[0])) cnt += Number(q[0]); }); var items = jQuery('.sc_layouts_cart_items').eq(0).text().split(' ', 2); items[0] = cnt; jQuery('.sc_layouts_cart_items').text(items[0]+' '+items[1]); jQuery('.sc_layouts_cart_items_short').text(items[0]); jQuery('.sc_layouts_cart').data({ 'items': cnt ? cnt : 0, 'summa': total ? total : 0 }); }); jQuery('.sc_layouts_cart:not(.inited)') .addClass('inited') .on('click', '.sc_layouts_cart_icon,.sc_layouts_cart_details', function(e) { var widget = jQuery(this).siblings('.sc_layouts_cart_widget'); if (widget.length > 0 && widget.text().replace(/\s*/g, '')!='') { jQuery(this).siblings('.sc_layouts_cart_widget').slideToggle(); } e.preventDefault(); return false; }) .on('click', '.sc_layouts_cart_widget_close', function(e) { jQuery(this).parent().slideUp(); e.preventDefault(); return false; }); } }); jQuery(document).on('action.ready_trx_addons', function() { "use strict"; jQuery('.sc_layouts_logo').on('click', function(e){ if (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) { if (jQuery(this).parents("ul").length > 1){ var w = jQuery('.page_wrap').length > 0 ? jQuery('.page_wrap').width() : jQuery(window).width(); var par_offset = jQuery(this).parents("ul").offset().left; var par_width = jQuery(this).parents("ul").outerWidth(); var ul_width = jQuery(this).outerWidth(); if (par_offset+par_width+ul_width > w-20 && par_offset-ul_width > 0) jQuery(this).addClass('submenu_left'); else jQuery(this).removeClass('submenu_left'); } if (jQuery(this).parents('[class*="columns-"]').length == 0 && animation_in!='none') { jQuery(this).removeClass('animated fast '+animation_out); jQuery(this).addClass('animated fast '+animation_in); } }, onBeforeHide: function(ul) { if (jQuery(this).parents('[class*="columns-"]').length == 0 && animation_out!='none') { jQuery(this).removeClass('animated fast '+animation_in); jQuery(this).addClass('animated fast '+animation_out); } } }); }); }; 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() { 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; }); 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() { jQuery('.sc_layouts_menu').each(function() { var ul = jQuery(this).find('>ul.inited'); if (ul.length == 0) 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')) return; var w_max = sc_layouts_item.parent().width(); sc_layouts_item.siblings().each(function() { if (!jQuery(this).hasClass('vc_empty_space')) w_max -= (jQuery(this).outerWidth() + parseFloat(jQuery(this).css('marginLeft')) + parseFloat(jQuery(this).css('marginRight'))); }); w_max -= (parseFloat(sc_layouts_item.css('marginLeft')) + parseFloat(sc_layouts_item.css('marginRight'))); w_max -= 2; 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) return; w_all += !cur_item.hasClass('menu-collapse') || cur_item.css('display')!='none' ? cur_item.outerWidth() : 0; if (w_all > w_max) move = true; }); if (move) { w_all = li_collapse.outerWidth(); ul.find("> li:not('.menu-collapse')").each(function(idx) { var cur_item = jQuery(this); var cur_width = cur_item.outerWidth(); 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(); 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 }).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(); } }); jQuery(document).on('action.ready_trx_addons', function() { "use strict"; jQuery('body:not(.woocommerce) .widget_area:not(.footer_wrap) .widget_product_categories ul.product-categories .has_children > a').append(''); jQuery('body:not(.woocommerce) .widget_area:not(.footer_wrap) .widget_product_categories').on('click', 'ul.product-categories.plain li a .open_child_menu', function(e) { var $a = jQuery(this).parent(); if ($a.siblings('ul:visible').length > 0) $a.siblings('ul').slideUp().parent().removeClass('opened'); else { jQuery(this).parents('li').siblings('li').find('ul:visible').slideUp().parent().removeClass('opened'); $a.siblings('ul').slideDown().parent().addClass('opened'); } e.preventDefault(); return false; }); jQuery(document).on('action.resize_trx_addons', function() { trx_addons_woocommerce_resize_actions(); }); trx_addons_woocommerce_resize_actions(); function trx_addons_woocommerce_resize_actions() { var cat_menu = jQuery('body:not(.woocommerce) .widget_area:not(.footer_wrap) .widget_product_categories ul.product-categories'); var sb = cat_menu.parents('.widget_area'); if (sb.length > 0 && cat_menu.length > 0) { if (sb.width() == sb.parents('.content_wrap').width()) { if (cat_menu.hasClass('inited')) { cat_menu.removeClass('inited').addClass('plain').superfish('destroy'); cat_menu.find('ul.animated').removeClass('animated').addClass('no_animated'); } } else { if (!cat_menu.hasClass('inited')) { cat_menu.removeClass('plain').addClass('inited'); cat_menu.find('ul.no_animated').removeClass('no_animated').addClass('animated'); trx_addons_init_sfmenu('body:not(.woocommerce) .widget_area:not(.footer_wrap) .widget_product_categories ul.product-categories'); } } } } jQuery('.variations_form.cart:not(.inited)').each(function() { var form = jQuery(this).addClass('inited'); var trx_addons_attribs = form.find('.trx_addons_attrib_item'); if (trx_addons_attribs.length == 0) return; trx_addons_attribs.on('click', function(e) { if (!jQuery(this).hasClass('trx_addons_attrib_disabled')) { jQuery(this).addClass('trx_addons_attrib_selected').siblings().removeClass('trx_addons_attrib_selected'); var term = jQuery(this).data('value'); var attrib = jQuery(this).parents('.trx_addons_attrib_extended').data('attrib'); var select_box = jQuery(this).parents('.trx_addons_attrib_extended').parent().find('#'+attrib).trigger('touchstart'); select_box.find('option:selected').removeAttr('selected'); select_box.find('option[value="'+term+'"]').attr('selected', 'selected'); select_box.trigger('change'); trx_addons_woocommerce_check_variations(form); } e.preventDefault(); return false; }); var busy = false; form.find( '.variations select' ).on('click', function(e) { if (!busy) { busy = true; trx_addons_woocommerce_check_variations(form); busy = false; } }); trx_addons_woocommerce_check_variations(form); }); function trx_addons_woocommerce_check_variations(form, exclude) { setTimeout(function() { if (exclude == undefined) exclude = ''; form.find( '.variations select' ).each( function() { var select_box = jQuery(this); var attrib_box = select_box.siblings('.trx_addons_attrib_extended').length==1 ? select_box.siblings('.trx_addons_attrib_extended') : select_box.parent().siblings('.trx_addons_attrib_extended'); if (select_box.attr('id') != exclude) select_box.trigger('touchstart'); attrib_box.find('.trx_addons_attrib_item').removeClass('trx_addons_attrib_selected').addClass('trx_addons_attrib_disabled'); select_box.find('option').each(function() { attrib_box.find('.trx_addons_attrib_item[data-value="'+jQuery(this).val()+'"]') .removeClass('trx_addons_attrib_disabled') .toggleClass('trx_addons_attrib_selected', jQuery(this).get(0).selected); }); }); }, 10); } });