1// Init actions 2function lifecoach_sc_init_actions() { 3 "use strict"; 4 setTimeout(function() { 5 lifecoach_sc_animation(); 6 }, 600); 7 8 // MenuItems - init once 9 jQuery('body') 10 .on('click', '.show_popup_menuitem', function(e) { 11 "use strict"; 12 lifecoach_menuitems_show_popup(jQuery(this)); 13 e.preventDefault(); 14 return false; 15 }) 16 .on('click', '.close_menuitem, .popup_menuitem', function(e) { 17 "use strict"; 18 var target = jQuery(e.target); 19 if (target.hasClass('popup_menuitem') || target.hasClass('close_menuitem') || target.parent().hasClass('close_menuitem')) { 20 lifecoach_menuitems_hide_popup(); 21 e.preventDefault(); 22 return false; 23 } 24 }); 25 26 // Init sc in container 27 lifecoach_sc_init(jQuery('body').eq(0)); 28} 29 30 31// Resize actions 32function lifecoach_sc_resize_actions() { 33 "use strict"; 34 lifecoach_sc_sliders_resize(); 35 lifecoach_sc_equal_height(); 36} 37 38 39// Scroll actions 40function lifecoach_sc_scroll_actions() { 41 "use strict"; 42 lifecoach_sc_animation(); 43} 44 45 46// Animation 47function lifecoach_sc_animation() { 48 jQuery('[data-animation^="animated"]:not(.animated)').each(function() { 49 "use strict"; 50 if (jQuery(this).offset().top < jQuery(window).scrollTop() + jQuery(window).height()) 51 jQuery(this).addClass(jQuery(this).data('animation')); 52 }); 53} 54 55 56// Shortcodes init 57function lifecoach_sc_init(container) { 58 59 // Accordion 60 if (container.find('.sc_accordion:not(.inited)').length > 0) { 61 container.find(".sc_accordion:not(.inited)").each(function () { 62 "use strict"; 63 var init = jQuery(this).data('active'); 64 if (isNaN(init)) init = 0; 65 else init = Math.max(0, init); 66 jQuery(this) 67 .addClass('inited') 68 .accordion({ 69 active: init, 70 heightStyle: "content", 71 header: "> .sc_accordion_item > .sc_accordion_title", 72 create: function (event, ui) { 73 "use strict"; 74 lifecoach_sc_init(ui.panel); 75 if (window.lifecoach_init_hidden_elements) lifecoach_init_hidden_elements(ui.panel); 76 ui.header.each(function () { 77 "use strict"; 78 jQuery(this).parent().addClass('sc_active'); 79 }); 80 }, 81 activate: function (event, ui) { 82 "use strict"; 83 lifecoach_sc_init(ui.newPanel); 84 if (window.lifecoach_init_hidden_elements) lifecoach_init_hidden_elements(ui.newPanel); 85 ui.newHeader.each(function () { 86 "use strict"; 87 jQuery(this).parent().addClass('sc_active'); 88 }); 89 ui.oldHeader.each(function () { 90 "use strict"; 91 jQuery(this).parent().removeClass('sc_active'); 92 }); 93 } 94 }); 95 }); 96 } 97 98 // Blogger: style Polaroid 99 if (container.find('.sc_blogger.layout_polaroid .photostack:not(.inited)').length > 0) { 100 container.find(".sc_blogger.layout_polaroid .photostack:not(.inited)").each(function () { 101 "use strict"; 102 var obj = jQuery(this); 103 var id = obj.attr('id'); 104 if (id == undefined) { 105 id = 'photostack_'+Math.random(); 106 id = id.replace('.', ''); 107 obj.attr('id', id); 108 } 109 setTimeout(function() { 110 "use strict"; 111 obj.addClass('inited').parent().height("auto"); 112 new Photostack( obj.get(0), { 113 callback: function( item ) { 114 } 115 } ); 116 }, 10); 117 }); 118 } 119 120 // Blogger: Scroll horizontal 121 if (container.find('.sc_blogger .sc_scroll_horizontal .sc_scroll_wrapper:not(.inited)').length > 0) { 122 container.find(".sc_blogger .sc_scroll_horizontal .sc_scroll_wrapper:not(.inited)").each(function () { 123 "use strict"; 124 var obj = jQuery(this); 125 var width = 0; 126 obj.find('.isotope_item').each(function(){ 127 "use strict"; 128 width += jQuery(this).outerWidth(); 129 }); 130 obj.addClass('inited').width(width); 131 }); 132 } 133 134 // Form 135 if (container.find('.sc_form form:not(.inited)').length > 0) { 136 container.find(".sc_form form:not(.inited)").each(function() { 137 "use strict"; 138 jQuery(this).addClass('inited'); 139 jQuery(this).submit(function(e) { 140 "use strict"; 141 lifecoach_sc_form_validate(jQuery(this)); 142 e.preventDefault(); 143 return false; 144 }); 145 if (jQuery(this).find('.js__datepicker').length > 0) { 146 jQuery(this).find('.js__datepicker').pickadate({ 147 // Work-around for some mobile browsers clipping off the picker. 148 onOpen: function() { 149 "use strict"; 150 jQuery('pre').css('overflow', 'hidden'); 151 }, 152 onClose: function() { 153 "use strict"; 154 jQuery('pre').css('overflow', ''); 155 }, 156 monthsShort: [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec' ], 157 showMonthsShort: true, 158 format: 'dd.mm.yyyy', 159 formatSubmit: 'yyyy-mm-dd', 160 min: true 161 }); 162 } 163 if (jQuery(this).find('.js__timepicker').length > 0) { 164 jQuery(this).find('.js__timepicker').pickatime(); 165 } 166 }); 167 } 168 169 //Countdown 170 if (container.find('.sc_countdown:not(.inited)').length > 0) { 171 container.find('.sc_countdown:not(.inited)') 172 .each(function () { 173 "use strict"; 174 jQuery(this).addClass('inited'); 175 var id = jQuery(this).attr('id'); 176 var curDate = new Date(); 177 var curDateTimeStr = curDate.getFullYear()+'-'+(curDate.getMonth()<9 ? '0' : '')+(curDate.getMonth()+1)+'-'+(curDate.getDate()<10 ? '0' : '')+curDate.getDate() 178 +' '+(curDate.getHours()<10 ? '0' : '')+curDate.getHours()+':'+(curDate.getMinutes()<10 ? '0' : '')+curDate.getMinutes()+':'+(curDate.getSeconds()<10 ? '0' : '')+curDate.getSeconds(); 179 var interval = 1; //jQuery(this).data('interval'); 180 var endDateStr = jQuery(this).data('date'); 181 var endDateParts = endDateStr.split('-'); 182 var endTimeStr = jQuery(this).data('time'); 183 var endTimeParts = endTimeStr.split(':'); 184 if (endTimeParts.length < 3) endTimeParts[2] = '00'; 185 var endDateTimeStr = endDateStr+' '+endTimeStr; 186 if (curDateTimeStr < endDateTimeStr) { 187 jQuery(this).find('.sc_countdown_placeholder').countdown({ 188 until: new Date(endDateParts[0], endDateParts[1]-1, endDateParts[2], endTimeParts[0], endTimeParts[1], endTimeParts[2]), 189 tickInterval: interval, 190 onTick: lifecoach_countdown 191 }); 192 } else { 193 jQuery(this).find('.sc_countdown_placeholder').countdown({ 194 since: new Date(endDateParts[0], endDateParts[1]-1, endDateParts[2], endTimeParts[0], endTimeParts[1], endTimeParts[2]), 195 tickInterval: interval, 196 onTick: lifecoach_countdown 197 }); 198 } 199 }); 200 } 201 202 // Googlemap init 203 if (container.find('.sc_googlemap:not(.inited)').length > 0) { 204 container.find('.sc_googlemap:not(.inited)') 205 .each(function () { 206 "use strict"; 207 if (jQuery(this).parents('div:hidden,article:hidden').length > 0) return; 208 var map = jQuery(this).addClass('inited'); 209 var map_id = map.attr('id'); 210 var map_zoom = map.data('zoom'); 211 var map_style = map.data('style'); 212 var map_markers = []; 213 map.find('.sc_googlemap_marker').each(function() { 214 "use strict"; 215 var marker = jQuery(this); 216 map_markers.push({ 217 point: marker.data('point'), 218 address: marker.data('address'), 219 latlng: marker.data('latlng'), 220 description: marker.data('description'), 221 title: marker.data('title') 222 }); 223 }); 224 lifecoach_googlemap_init( jQuery('#'+map_id).get(0), {style: map_style, zoom: map_zoom, markers: map_markers}); 225 }); 226 } 227 228 // Infoboxes 229 if (container.find('.sc_infobox.sc_infobox_closeable:not(.inited)').length > 0) { 230 container.find('.sc_infobox.sc_infobox_closeable:not(.inited)') 231 .addClass('inited') 232 .on('click', function (e) { 233 "use strict"; 234 jQuery(this).slideUp(); 235 e.preventDefault(); 236 return false;
237 }); 238 } 239 240 // Intro 241 if (container.find('.sc_intro[data-href]:not(.inited)').length > 0) { 242 container.find('.sc_intro[data-href]:not(.inited)') 243 .addClass('inited') 244 .on('click', function (e) { 245 "use strict"; 246 var link = jQuery(this).data('href'); 247 window.location.href = link; 248 e.preventDefault(); 249 return false; 250 }); 251 } 252 253 // Matches 254 if (container.find('.sc_matches:not(.inited)').length > 0) { 255 container.find('.sc_matches:not(.inited)') 256 .each(function () { 257 "use strict"; 258 jQuery(this).find('.sc_matches_next .sc_matches_list .sc_match').on('click', function () { 259 "use strict"; 260 jQuery(this).parents('.sc_matches').find('.sc_matches_current .sc_match').hide(); 261 var item = jQuery(this).data('item'); 262 jQuery(item).fadeIn(); 263 }); 264 }); 265 } 266 267 // Matches & Players: Sort players by points 268 if (container.find('.sc_players_table:not(.inited)').length > 0) { 269 container.find('.sc_players_table:not(.inited)') 270 .addClass('inited') 271 .on('click', '.sort', function (e) { 272 "use strict"; 273 var table = jQuery(this).parents('.sc_players_table'); 274 var id = jQuery(table).attr('id')
275 var sort = jQuery(table).data('sort') == 'asc' ? 'desc' : 'asc'; 276 jQuery.post(LIFECOACH_STORAGE['ajax_url'], { 277 action: 'sort_by_points', 278 nonce: LIFECOACH_STORAGE['ajax_nonce'], 279 sort: sort, 280 table: LIFECOACH_STORAGE['ajax_' + id] 281 }).done(function(response) { 282 var rez = {}; 283 try { 284 rez = JSON.parse(response); 285 } catch (e) { 286 rez = { error: LIFECOACH_STORAGE['ajax_error'] }; 287 console.log(response); 288 } 289 if (rez.error === '') { 290 table 291 .data('sort', sort) 292 .find('.sc_table') 293 .after(rez.data) 294 .remove(); 295 lifecoach_select_players_category(jQuery(table).find('.sc_players_table_category select')); 296 } 297 }); 298 e.preventDefault(); 299 return false; 300 }); 301 } 302 303 // Matches & Players: Select category in the points table 304 if (container.find('.sc_players_table_category:not(.inited)').length > 0) { 305 container.find('.sc_players_table_category:not(.inited)') 306 .addClass('inited') 307 .on('change', function () { 308 "use strict"; 309 lifecoach_select_players_category(jQuery(this)); 310 }); 311 } 312 313 // Popup links 314 if (container.find('.sc_popup_link:not(.inited)').length > 0) { 315 container.find('.sc_popup_link:not(.inited)').each(function() { 316 var popup_id = jQuery(this).attr('href'); 317 jQuery(this) 318 .addClass('inited') 319 .magnificPopup({ 320 type: 'inline', 321 removalDelay: 500, 322 midClick: true, 323 callbacks: { 324 beforeOpen: function () { 325 this.st.mainClass = 'mfp-zoom-in'; 326 }, 327 open: function() { 328 "use strict"; 329 lifecoach_sc_init(jQuery(popup_id)); 330 lifecoach_resize_actions(); 331 if (window.lifecoach_init_hidden_elements) lifecoach_init_hidden_elements(jQuery(popup_id)); 332 }, 333 close: function() {} 334 } 335 }); 336 }); 337 } 338 339 // Recent news widget and sc 340 if (container.find('.sc_recent_news_header_category_item_more:not(.inited)').length > 0) { 341 container.find('.sc_recent_news_header_category_item_more:not(.inited)').each(function() { 342 "use strict"; 343 jQuery(this) 344 .addClass('inited') 345 .on('click', function(e) { 346 "use strict"; 347 jQuery(this).toggleClass('opened').find('.sc_recent_news_header_more_categories').slideToggle(); 348 e.preventDefault(); 349 return false; 350 }); 351 }); 352 } 353 354 // Search form 355 if (container.find('.search_wrap:not(.inited)').length > 0) { 356 container.find('.search_wrap:not(.inited)').each(function() { 357 "use strict"; 358 jQuery(this) 359 .addClass('inited') 360 .on('click', '.search_submit', function(e) { 361 "use strict"; 362 var search_wrap = jQuery(this).parents('.search_wrap'); 363 if (!search_wrap.hasClass('search_state_fixed')) { 364 if (search_wrap.hasClass('search_state_opened')) { 365 if (search_wrap.find('.search_field').val() != '') 366 search_wrap.find('form').get(0).submit(); 367 else 368 search_wrap.removeClass('search_state_opened').addClass('search_state_closed').find('.search_results').fadeOut(); 369 } else 370 search_wrap.removeClass('search_state_closed').addClass('search_state_opened').find('.search_field').get(0).focus(); 371 } else { 372 if (search_wrap.find('.search_field').val() != '') 373 search_wrap.find('form').get(0).submit(); 374 else { 375 search_wrap.find('.search_field').val(''); 376 search_wrap.find('.search_results').fadeOut(); 377 } 378 } 379 e.preventDefault(); 380 return false; 381 }) 382 .on('click', '.search_close', function(e) { 383 "use strict"; 384 jQuery(this).parents('.search_wrap').removeClass('search_state_opened').addClass('search_state_closed').find('.search_results').fadeOut(); 385 e.preventDefault(); 386 return false; 387 }) 388 .on('click', '.search_results_close', function(e) { 389 "use strict"; 390 jQuery(this).parent().fadeOut(); 391 e.preventDefault(); 392 return false; 393 }) 394 .on('click', '.search_more', function(e) { 395 "use strict"; 396 if (jQuery(this).parents('.search_wrap').find('.search_field').val() != '') 397 jQuery(this).parents('.search_wrap').find('form').get(0).submit(); 398 e.preventDefault(); 399 return false;
400 }) 401 .on('blur', '.search_field', function(e) { 402 if (jQuery(this).val() == '' && !jQuery(this).parents('.search_wrap').hasClass('search_state_fixed')) 403 jQuery(this).parents('.search_wrap').removeClass('search_state_opened').addClass('search_state_closed').find('.search_results').fadeOut(); 404 }); 405 406 if (jQuery(this).hasClass('search_ajax')) { 407 var ajax_timer = null; 408 jQuery(this).find('.search_field').keyup(function(e) { 409 "use strict"; 410 var search_field = jQuery(this); 411 var s = search_field.val(); 412 if (ajax_timer) { 413 clearTimeout(ajax_timer); 414 ajax_timer = null; 415 } 416 if (s.length >= LIFECOACH_STORAGE['ajax_search_min_length']) { 417 ajax_timer = setTimeout(function() { 418 "use strict"; 419 jQuery.post(LIFECOACH_STORAGE['ajax_url'], { 420 action: 'ajax_search', 421 nonce: LIFECOACH_STORAGE['ajax_nonce'], 422 text: s 423 }).done(function(response) { 424 "use strict"; 425 clearTimeout(ajax_timer); 426 ajax_timer = null; 427 var rez = {}; 428 try { 429 rez = JSON.parse(response); 430 } catch (e) { 431 rez = { error: LIFECOACH_STORAGE['ajax_error'] }; 432 console.log(response); 433 } 434 if (rez.error === '') { 435 search_field.parents('.search_ajax').find('.search_results_content').empty().append(rez.data); 436 search_field.parents('.search_ajax').find('.search_results').fadeIn(); 437 } else { 438 lifecoach_message_warning(LIFECOACH_STORAGE['strings']['search_error']); 439 } 440 }); 441 }, LIFECOACH_STORAGE['ajax_search_delay']); 442 } 443 }); 444 } 445 }); 446 } 447 448 449 // Section Pan init 450 if (container.find('.sc_pan:not(.inited_pan)').length > 0) { 451 container.find('.sc_pan:not(.inited_pan)') 452 .each(function () { 453 "use strict"; 454 if (jQuery(this).parents('div:hidden,article:hidden').length > 0) return; 455 var pan = jQuery(this).addClass('inited_pan'); 456 var cont = pan.parent(); 457 cont.mousemove(function(e) { 458 "use strict"; 459 var anim = {}; 460 var tm = 0; 461 var pw = pan.width(), ph = pan.height(); 462 var cw = cont.width(), ch = cont.height(); 463 var coff = cont.offset(); 464 if (pan.hasClass('sc_pan_vertical')) 465 pan.css('top', -Math.floor((e.pageY - coff.top) / ch * (ph-ch))); 466 if (pan.hasClass('sc_pan_horizontal')) 467 pan.css('left', -Math.floor((e.pageX - coff.left) / cw * (pw-cw))); 468 }); 469 cont.mouseout(function(e) { 470 "use strict"; 471 pan.css({'left': 0, 'top': 0}); 472 }); 473 }); 474 } 475 476 // Scroll 477 if (container.find('.sc_scroll:not(.inited)').length > 0) { 478 container.find('.sc_scroll:not(.inited)') 479 .each(function () { 480 "use strict"; 481 if (jQuery(this).parents('div:hidden,article:hidden').length > 0) return; 482 LIFECOACH_STORAGE['scroll_init_counter'] = 0; 483 lifecoach_sc_init_scroll_area(jQuery(this)); 484 }); 485 } 486 487 488 // Swiper Slider 489 if (container.find('.sc_slider_swiper:not(.inited)').length > 0) { 490 container.find('.sc_slider_swiper:not(.inited)') 491 .each(function () { 492 "use strict"; 493 if (jQuery(this).parents('div:hidden,article:hidden').length > 0) return; 494 //if (jQuery(this).parents('.isotope_wrap:not(.inited)').length > 0) return; 495 jQuery(this).addClass('inited'); 496 lifecoach_sc_slider_autoheight(jQuery(this)); 497 if (jQuery(this).parents('.sc_slider_pagination_area').length > 0) { 498 jQuery(this).parents('.sc_slider_pagination_area').find('.sc_slider_pagination .post_item').eq(0).addClass('active'); 499 } 500 var id = jQuery(this).attr('id'); 501 if (id == undefined) { 502 id = 'swiper_'+Math.random(); 503 id = id.replace('.', ''); 504 jQuery(this).attr('id', id); 505 } 506 jQuery(this).addClass(id); 507 jQuery(this).find('.slides .swiper-slide').css('position', 'relative'); 508 var width = jQuery(this).width(); 509 if (width == 0) width = jQuery(this).parent().width(); 510 var spv = jQuery(this).data('slides-per-view'); 511 if (spv == undefined) spv = 1; 512 var min_width = jQuery(this).data('slides-min-width'); 513 if (min_width == undefined) min_width = 50; 514 if (width / spv < min_width) spv = Math.max(1, Math.floor(width / min_width)); 515 var space = jQuery(this).data('slides-space'); 516 if (space == undefined) space = 0; 517 if (LIFECOACH_STORAGE['swipers'] === undefined) LIFECOACH_STORAGE['swipers'] = {}; 518 LIFECOACH_STORAGE['swipers'][id] = new Swiper('.'+id, { 519 calculateHeight: !jQuery(this).hasClass('sc_slider_height_fixed'), 520 resizeReInit: true, 521 autoResize: true, 522 loop: true, 523 grabCursor: true, 524 nextButton: jQuery(this).hasClass('sc_slider_controls') ? '#'+id+' .sc_slider_next' : false, 525 prevButton: jQuery(this).hasClass('sc_slider_controls') ? '#'+id+' .sc_slider_prev' : false, 526 pagination: jQuery(this).hasClass('sc_slider_pagination') ? '#'+id+' .sc_slider_pagination_wrap' : false, 527 paginationClickable: true, 528 autoplay: jQuery(this).hasClass('sc_slider_noautoplay') ? false : (isNaN(jQuery(this).data('interval')) ? 7000 : jQuery(this).data('interval')), 529 autoplayDisableOnInteraction: false, 530 initialSlide: 0, 531 slidesPerView: spv, 532 loopedSlides: spv, 533 spaceBetween: space, 534 speed: 600,
535 // Autoheight on start 536 onFirstInit: function (slider){ 537 "use strict"; 538 var cont = jQuery(slider.container); 539 if (!cont.hasClass('sc_slider_height_auto')) return; 540 var li = cont.find('.swiper-slide').eq(1); 541 var h = li.data('height_auto'); 542 if (h > 0) { 543 var pt = parseInt(li.css('paddingTop')), pb = parseInt(li.css('paddingBottom')); 544 li.height(h); 545 cont.height(h + (isNaN(pt) ? 0 : pt) + (isNaN(pb) ? 0 : pb)); 546 cont.find('.swiper-wrapper').height(h + (isNaN(pt) ? 0 : pt) + (isNaN(pb) ? 0 : pb)); 547 } 548 }, 549 // Autoheight on slide change 550 onSlideChangeStart: function (slider){ 551 "use strict"; 552 var cont = jQuery(slider.container); 553 if (!cont.hasClass('sc_slider_height_auto')) return; 554 var idx = slider.activeIndex; 555 var li = cont.find('.swiper-slide').eq(idx); 556 var h = li.data('height_auto'); 557 if (h > 0) { 558 var pt = parseInt(li.css('paddingTop')), pb = parseInt(li.css('paddingBottom')); 559 li.height(h); 560 cont.height(h + (isNaN(pt) ? 0 : pt) + (isNaN(pb) ? 0 : pb)); 561 cont.find('.swiper-wrapper').height(h + (isNaN(pt) ? 0 : pt) + (isNaN(pb) ? 0 : pb)); 562 } 563 }, 564 // Change current item in 'full' or 'over' pagination wrap 565 onSlideChangeEnd: function (slider, dir) { 566 "use strict"; 567 var cont = jQuery(slider.container); 568 if (cont.parents('.sc_slider_pagination_area').length > 0) { 569 var li = cont.parents('.sc_slider_pagination_area').find('.sc_slider_pagination .post_item'); 570 var idx = slider.activeIndex > li.length ? 0 : slider.activeIndex-1; 571 lifecoach_sc_change_active_pagination_in_slider(cont, idx); 572 } 573 } 574 }); 575 576 jQuery(this).data('settings', {mode: 'horizontal'}); // VC hook 577 578 var curSlide = jQuery(this).find('.slides').data('current-slide'); 579 if (curSlide > 0) 580 LIFECOACH_STORAGE['swipers'][id].slideTo(curSlide-1); 581 582 lifecoach_sc_prepare_slider_navi(jQuery(this)); 583 584 }); 585 586 // Check slides per view 587 lifecoach_sc_sliders_resize(); 588 } 589 590 //Skills init 591 if (container.find('.sc_skills_item:not(.inited)').length > 0) { 592 lifecoach_sc_init_skills(container); 593 jQuery(window).scroll(function () { lifecoach_sc_init_skills(container); }); 594 } 595 //Skills type='arc' init 596 if (container.find('.sc_skills_arc:not(.inited)').length > 0) { 597 lifecoach_sc_init_skills_arc(container); 598 jQuery(window).scroll(function () { lifecoach_sc_init_skills_arc(container); }); 599 } 600 601 // Tabs 602 if (container.find('.sc_tabs:not(.inited):not(.no_jquery_ui),.tabs_area:not(.inited)').length > 0) { 603 container.find('.sc_tabs:not(.inited):not(.no_jquery_ui),.tabs_area:not(.inited)').each(function () { 604 "use strict"; 605 var init = jQuery(this).data('active'); 606 if (isNaN(init)) init = 0; 607 else init = Math.max(0, init); 608 jQuery(this) 609 .addClass('inited') 610 .tabs({ 611 active: init, 612 show: { 613 effect: 'fadeIn', 614 duration: 300 615 }, 616 hide: { 617 effect: 'fadeOut', 618 duration: 300 619 }, 620 create: function (event, ui) { 621 "use strict"; 622 lifecoach_sc_init(ui.panel); 623 if (window.lifecoach_init_hidden_elements) lifecoach_init_hidden_elements(ui.panel); 624 lifecoach_init_isotope(); 625 }, 626 activate: function (event, ui) { 627 "use strict"; 628 lifecoach_sc_init(ui.newPanel); 629 if (window.lifecoach_init_hidden_elements) lifecoach_init_hidden_elements(ui.newPanel); 630 lifecoach_init_isotope(); 631 } 632 }); 633 }); 634 } 635 if (container.find('.sc_tabs.no_jquery_ui:not(.inited)').length > 0) { 636 container.find('.sc_tabs.no_jquery_ui:not(.inited)').each(function () { 637 "use strict"; 638 jQuery(this) 639 .addClass('inited') 640 .on('click', '.sc_tabs_titles li a', function(e) { 641 "use strict"; 642 if (!jQuery(this).parent().hasClass('sc_tabs_active')) { 643 var id_act = jQuery(this).parent().siblings('.sc_tabs_active').find('a').attr('href'); 644 var id = jQuery(this).attr('href'); 645 jQuery(this).parent().addClass('sc_tabs_active').siblings().removeClass('sc_tabs_active'); 646 jQuery(id_act).fadeOut(function() { 647 "use strict"; 648 jQuery(id).fadeIn(function() { 649 "use strict"; 650 lifecoach_sc_init(jQuery(this)); 651 if (window.lifecoach_init_hidden_elements) lifecoach_init_hidden_elements(jQuery(this)); 652 }); 653 }); 654 } 655 e.preventDefault(); 656 return false;
657 }); 658 jQuery(this).find('.sc_tabs_titles li').eq(0).addClass('sc_tabs_active'); 659 jQuery(this).find('.sc_tabs_content').eq(0).fadeIn(function() { 660 "use strict"; 661 lifecoach_sc_init(jQuery(this)); 662 if (window.lifecoach_init_hidden_elements) lifecoach_init_hidden_elements(jQuery(this)); 663 }); 664 }); 665 } 666 667 // Toggles 668 if (container.find('.sc_toggles .sc_toggles_title:not(.inited)').length > 0) { 669 container.find('.sc_toggles .sc_toggles_title:not(.inited)') 670 .addClass('inited') 671 .on('click', function () { 672 "use strict"; 673 jQuery(this).toggleClass('ui-state-active').parent().toggleClass('sc_active'); 674 jQuery(this).parent().find('.sc_toggles_content').slideToggle(300, function () { 675 "use strict"; 676 lifecoach_sc_init(jQuery(this).parent().find('.sc_toggles_content')); 677 if (window.lifecoach_init_hidden_elements) lifecoach_init_hidden_elements(jQuery(this).parent().find('.sc_toggles_content')); 678 }); 679 }); 680 } 681 682 //Zoom 683 if (container.find('.sc_zoom:not(.inited)').length > 0) { 684 container.find('.sc_zoom:not(.inited)') 685 .each(function () { 686 "use strict"; 687 if (jQuery(this).parents('div:hidden,article:hidden').length > 0) return; 688 jQuery(this).addClass('inited'); 689 jQuery(this).find('img').elevateZoom({ 690 zoomType: "lens", 691 lensShape: "round", 692 lensSize: 200, 693 lensBorderSize: 4, 694 lensBorderColour: '#ccc' 695 }); 696 }); 697 } 698 699} 700 701 702 703// Scrolled areas 704function lifecoach_sc_init_scroll_area(obj) { 705 "use strict"; 706 707 // Wait for images loading 708 if (!lifecoach_check_images_complete(obj) && LIFECOACH_STORAGE['scroll_init_counter']++ < 30) { 709 setTimeout(function() { lifecoach_sc_init_scroll_area(obj); }, 200); 710 return; 711 } 712 713 // Start init scroll area 714 obj.addClass('inited'); 715 716 var id = obj.attr('id'); 717 if (id == undefined) { 718 id = 'scroll_'+Math.random(); 719 id = id.replace('.', ''); 720 obj.attr('id', id); 721 } 722 obj.addClass(id); 723 724 var parent_obj = obj.parent(); 725 var parent_id = parent_obj.attr('id'); 726 if (parent_id == undefined) { 727 parent_id = 'scroll_wrap_'+Math.random(); 728 parent_id = parent_id.replace('.', ''); 729 parent_obj.attr('id', parent_id); 730 } 731 parent_obj.addClass(parent_id); 732 733 var bar = obj.find('#'+id+'_bar'); 734 if (bar.length > 0 && !bar.hasClass(id+'_bar')) { 735 bar.addClass(id+'_bar'); 736 } 737 738 // Correct wrapper width (if scroll dir = horizontal) 739 if (obj.hasClass('sc_scroll_horizontal')) { 740 obj.find('.sc_scroll_wrapper > .sc_scroll_slide').css('width', 'auto'); 741 obj.find('.sc_scroll_wrapper').css('width', obj.find('.sc_scroll_wrapper > .sc_scroll_slide').width()+10); 742 obj.find('.sc_scroll_wrapper > .sc_scroll_slide').css('width', '100%') 743 } 744 745 // Init Swiper with scroll plugin 746 if (LIFECOACH_STORAGE['swipers'] === undefined) LIFECOACH_STORAGE['swipers'] = {}; 747 LIFECOACH_STORAGE['swipers'][id] = new Swiper('.'+id, { 748 calculateHeight: false, 749 resizeReInit: true, 750 autoResize: true, 751 freeMode: true, 752 freeModeFluid: true, 753 grabCursor: true, 754 mode: obj.hasClass('sc_scroll_vertical') ? 'vertical' : 'horizontal', 755 direction: obj.hasClass('sc_scroll_vertical') ? 'vertical' : 'horizontal', 756 slidesPerView: obj.hasClass('sc_scroll') ? 'auto' : 1, 757 nextButton: parent_obj.hasClass('sc_scroll_controls') ? '#'+parent_id+' .sc_scroll_next' : false, 758 prevButton: parent_obj.hasClass('sc_scroll_controls') ? '#'+parent_id+' .sc_scroll_prev' : false, 759 scrollbar: '.'+id+'_bar', 760 scrollbarHide: true, 761 }) 762 763 // VC hook 764 obj.data('settings', {mode: 'horizontal'}); 765} 766 767 768// Slider navigation 769function lifecoach_sc_prepare_slider_navi(slider) { 770 "use strict"; 771 var navi = null; 772 773 // Prev / Next
774 // Remove condition in the line below if you need add click handler to next/prev buttons 775 if (false) { 776 navi = slider.find('> .sc_slider_controls_wrap, > .sc_scroll_controls_wrap'); 777 if (navi.length == 0) navi = slider.siblings('.sc_slider_controls_wrap,.sc_scroll_controls_wrap'); 778 if (navi.length > 0) { 779 navi.on('click', '.sc_slider_prev,.sc_scroll_prev', function(e) { 780 var swiper = jQuery(this).parents('.swiper-slider-container'); 781 if (swiper.length == 0) swiper = jQuery(this).parents('.sc_slider_controls_wrap,.sc_scroll_controls_wrap').siblings('.swiper-slider-container'); 782 var id = swiper.attr('id'); 783 LIFECOACH_STORAGE['swipers'][id].slidePrev(); 784 e.preventDefault(); 785 return false; 786 }) 787 .on('click', '.sc_slider_next,.sc_scroll_next', function(e){ 788 var swiper = jQuery(this).parents('.swiper-slider-container'); 789 if (swiper.length == 0) swiper = jQuery(this).parents('.sc_slider_controls_wrap,.sc_scroll_controls_wrap').siblings('.swiper-slider-container'); 790 var id = swiper.attr('id'); 791 LIFECOACH_STORAGE['swipers'][id].slideNext(); 792 e.preventDefault(); 793 return false; 794 }); 795 } 796 } 797 798 // Pagination with slide's title 799 navi = slider.siblings('.sc_slider_pagination'); 800 if (navi.length > 0) { 801 navi.on('click', '.post_item', function(e){ 802 var swiper = jQuery(this).parents('.sc_slider_pagination_area').find('.swiper-slider-container'); 803 var id = swiper.attr('id'); 804 LIFECOACH_STORAGE['swipers'][id].slideTo(jQuery(this).index()+1); 805 e.preventDefault(); 806 return false; 807 }); 808 } 809} 810 811// Sliders: Pagination 812function lifecoach_sc_change_active_pagination_in_slider(slider, idx) { 813 "use strict"; 814 var pg = slider.parents('.sc_slider_pagination_area').find('.sc_slider_pagination'); 815 if (pg.length==0) return; 816 pg.find('.post_item').removeClass('active').eq(idx).addClass('active'); 817 var h = pg.height(); 818 var off = pg.find('.active').offset().top - pg.offset().top; 819 var off2 = pg.find('.sc_scroll_wrapper').offset().top - pg.offset().top; 820 var h2 = pg.find('.active').height(); 821 if (off < 0) { 822 pg.find('.sc_scroll_wrapper').css({'transform': 'translate3d(0px, 0px, 0px)', 'transition-duration': '0.3s'}); 823 } else if (h <= off+h2) { 824 pg.find('.sc_scroll_wrapper').css({'transform': 'translate3d(0px, -'+(Math.abs(off2)+off-h/4)+'px, 0px)', 'transition-duration': '0.3s'}); 825 } 826} 827 828// Sliders: Autoheight 829function lifecoach_sc_slider_autoheight(slider) { 830 "use strict"; 831 if (slider.hasClass('.sc_slider_height_auto')) { 832 slider.find('.swiper-slide').each(function() { 833 "use strict"; 834 if (jQuery(this).data('height_auto') == undefined) { 835 jQuery(this).attr('data-height_auto', jQuery(this).height()); 836 } 837 }); 838 } 839} 840 841// Sliders: Resize 842function lifecoach_sc_sliders_resize() { 843 "use strict"; 844 var slider = arguments[0]!==undefined ? arguments[0] : '.sc_slider_swiper.inited'; 845 var resize = arguments[1]!==undefined ? arguments[1] : true; 846 847 jQuery(slider).each(function() { 848 "use strict"; 849 var id = jQuery(this).attr('id'); 850 var width = jQuery(this).width(); 851 var last_width = jQuery(this).data('last-width'); 852 if (isNaN(last_width)) last_width = 0; 853 854 // Change slides_per_view 855 if (last_width==0 || last_width!=width) { 856 var spv = jQuery(this).data('slides-per-view'); 857 if (spv == undefined) spv = 1; 858 var min_width = jQuery(this).data('slides-min-width'); 859 if (min_width == undefined) min_width = 50; 860 if (width / spv < min_width) spv = Math.max(1, Math.floor(width / min_width)); 861 jQuery(this).data('last-width', width); 862 if (LIFECOACH_STORAGE['swipers'][id].params.slidesPerView != spv) { 863 LIFECOACH_STORAGE['swipers'][id].params.slidesPerView = spv; 864 LIFECOACH_STORAGE['swipers'][id].params.loopedSlides = spv; 865 //LIFECOACH_STORAGE['swipers'][id].reInit(); 866 } 867 LIFECOACH_STORAGE['swipers'][id].onResize(); 868 } 869 870 // Resize slider 871 if ( resize && !jQuery(this).hasClass('sc_slider_height_fixed') ) { 872 var h = 0; 873 if ( jQuery(this).find('.swiper-slide > img').length > 0 ) { 874 jQuery(this).find('.swiper-slide > img').each(function() { 875 "use strict"; 876 if (jQuery(this).height() > h) h = jQuery(this).height(); 877 }); 878 jQuery(this).height(h); 879 } else if ( jQuery(this).find('.swiper-slide').css('backgroundImage')!='none' ) { 880 h = Math.floor(width/16*9); 881 jQuery(this).height(h).find('.swiper-slide').height(h); 882 } 883 } 884 }); 885 886 // Resize slider pagination area 887 jQuery('.sc_slider_pagination_area').each(function() { 888 "use strict";
889 var h = jQuery(this).find('.sc_slider').height(); 890 if (h) { 891 jQuery(this).height(h); 892 jQuery(this).find('.sc_slider_pagination').height(h); 893 jQuery(this).find('.sc_slider_pagination .sc_scroll_vertical').height(h); 894 } 895 }); 896} 897 898// Equal height for items in the row 899function lifecoach_sc_equal_height() { 900 "use strict"; 901 jQuery('[data-equal-height]').each(function() { 902 "use strict"; 903 var eh_wrap = jQuery(this); 904 var eh_items_selector = eh_wrap.data('equal-height'); 905 if (eh_items_selector) { 906 var max_h = 0; 907 var items = []; 908 var row_y = 0; 909 var i=0; 910 eh_wrap.find(eh_items_selector).each(function() { 911 "use strict"; 912 var el = jQuery(this); 913 el.height('auto'); 914 var el_height = el.height(); 915 var el_offset = el.offset().top; 916 if (row_y == 0) row_y = el_offset; 917 if (row_y < el_offset) { 918 if (items.length > 0) { 919 if (max_h > 0) { 920 for (i=0; i<items.length; i++) 921 items[i].height(max_h); 922 } 923 items = []; 924 max_h = 0; 925 } 926 row_y = el_offset; 927 } 928 if (el_height > max_h) max_h = el_height; 929 items.push(el); 930 }); 931 if (items.length > 0 && max_h > 0) { 932 for (i=0; i<items.length; i++) 933 items[i].height(max_h); 934 } 935 } 936 }); 937} 938 939 940// Skills init 941function lifecoach_sc_init_skills(container) { 942 "use strict"; 943 if (arguments.length==0) var container = jQuery('body'); 944 var scrollPosition = jQuery(window).scrollTop() + jQuery(window).height(); 945 946 container.find('.sc_skills_item:not(.inited)').each(function () { 947 "use strict"; 948 var skillsItem = jQuery(this); 949 var scrollSkills = skillsItem.offset().top; 950 if (scrollPosition > scrollSkills) { 951 skillsItem.addClass('inited'); 952 var skills = skillsItem.parents('.sc_skills').eq(0); 953 var type = skills.data('type'); 954 var total = (type=='pie' && skills.hasClass('sc_skills_compact_on')) ? skillsItem.find('.sc_skills_data .pie') : skillsItem.find('.sc_skills_total').eq(0); 955 var start = parseInt(total.data('start')); 956 var stop = parseInt(total.data('stop')); 957 var maximum = parseInt(total.data('max')); 958 var startPercent = Math.round(start/maximum*100); 959 var stopPercent = Math.round(stop/maximum*100); 960 var ed = total.data('ed'); 961 var duration = parseInt(total.data('duration')); 962 var speed = parseInt(total.data('speed')); 963 var step = parseInt(total.data('step')); 964 if (type == 'bar') { 965 var dir = skills.data('dir'); 966 var count = skillsItem.find('.sc_skills_count').eq(0); 967 if (dir=='horizontal') 968 count.css('width', startPercent + '%').animate({ width: stopPercent + '%' }, duration); 969 else if (dir=='vertical') 970 count.css('height', startPercent + '%').animate({ height: stopPercent + '%' }, duration); 971 lifecoach_sc_animate_skills_counter(start, stop, speed-(dir!='unknown' ? 5 : 0), step, ed, total); 972 } else if (type == 'counter') { 973 lifecoach_sc_animate_skills_counter(start, stop, speed - 5, step, ed, total); 974 } else if (type == 'pie') { 975 var steps = parseInt(total.data('steps')); 976 var bg_color = total.data('bg_color'); 977 var border_color = total.data('border_color'); 978 var cutout = parseInt(total.data('cutout')); 979 var easing = total.data('easing'); 980 var options = { 981 segmentShowStroke: false, 982 segmentStrokeColor: border_color, 983 segmentStrokeWidth: 1, 984 percentageInnerCutout : cutout, 985 animationSteps: steps, 986 animationEasing: easing, 987 animateRotate: true, 988 animateScale: false, 989 }; 990 var pieData = []; 991 total.each(function() { 992 "use strict"; 993 var color = jQuery(this).data('color'); 994 var stop = parseInt(jQuery(this).data('stop')); 995 var stopPercent = Math.round(stop/maximum*100); 996 pieData.push({ 997 value: stopPercent, 998 color: color 999 }); 1000 }); 1001 if (total.length == 1) { 1002 lifecoach_sc_animate_skills_counter(start, stop, Math.round(1500/steps), step, ed, total); 1003 pieData.push({ 1004 value: 100-stopPercent, 1005 color: bg_color 1006 }); 1007 } 1008 var canvas = skillsItem.find('canvas'); 1009 canvas.attr({width: skillsItem.width(), height: skillsItem.width()}).css({width: skillsItem.width(), height: skillsItem.height()}); 1010 new Chart(canvas.get(0).getContext("2d")).Doughnut(pieData, options); 1011 } 1012 } 1013 }); 1014} 1015 1016// Skills counter animation 1017function lifecoach_sc_animate_skills_counter(start, stop, speed, step, ed, total) { 1018 "use strict"; 1019 start = Math.min(stop, start + step); 1020 total.text(start+ed); 1021 if (start < stop) { 1022 setTimeout(function () { 1023 lifecoach_sc_animate_skills_counter(start, stop, speed, step, ed, total); 1024 }, speed); 1025 } 1026} 1027 1028// Skills arc init 1029function lifecoach_sc_init_skills_arc(container) { 1030 "use strict"; 1031 if (arguments.length==0) var container = jQuery('body');
1032 container.find('.sc_skills_arc:not(.inited)').each(function () { 1033 var arc = jQuery(this); 1034 arc.addClass('inited'); 1035 var items = arc.find('.sc_skills_data .arc'); 1036 var canvas = arc.find('.sc_skills_arc_canvas').eq(0); 1037 var legend = arc.find('.sc_skills_legend').eq(0); 1038 var w = Math.round(arc.width() - legend.width()); 1039 var c = Math.floor(w/2); 1040 var o = { 1041 random: function(l, u){ 1042 "use strict"; 1043 return Math.floor((Math.random()*(u-l+1))+l); 1044 }, 1045 diagram: function(){ 1046 "use strict"; 1047 var r = Raphael(canvas.attr('id'), w, w), 1048 hover = Math.round(w/2/items.length), 1049 rad = hover, 1050 step = Math.round(((w-20)/2-rad)/items.length), 1051 stroke = Math.round(w/9/items.length), 1052 speed = 400; 1053 1054 1055 r.circle(c, c, Math.round(w/2)).attr({ stroke: 'none', fill: LIFECOACH_STORAGE['theme_bg_color'] ? LIFECOACH_STORAGE['theme_bg_color'] : '#ffffff' }); 1056 1057 var title = r.text(c, c, arc.data('caption')).attr({ 1058 font: Math.round(rad*0.75)+'px "'+LIFECOACH_STORAGE['theme_font']+'"', 1059 fill: LIFECOACH_STORAGE['theme_color'] ? LIFECOACH_STORAGE['theme_color'] : '#909090' 1060 }).toFront(); 1061 1062 rad -= Math.round(step/2); 1063 1064 r.customAttributes.arc = function(value, color, rad){ 1065 "use strict"; 1066 var v = 3.6 * value, 1067 alpha = v == 360 ? 359.99 : v, 1068 rand = o.random(91, 240), 1069 a = (rand-alpha) * Math.PI/180, 1070 b = rand * Math.PI/180, 1071 sx = c + rad * Math.cos(b), 1072 sy = c - rad * Math.sin(b), 1073 x = c + rad * Math.cos(a), 1074 y = c - rad * Math.sin(a), 1075 path = [['M', sx, sy], ['A', rad, rad, 0, +(alpha > 180), 1, x, y]]; 1076 return { path: path, stroke: color } 1077 } 1078 1079 items.each(function(i){ 1080 "use strict"; 1081 var t = jQuery(this), 1082 color = t.find('.color').val(), 1083 value = t.find('.percent').val(), 1084 text = t.find('.text').text(); 1085 1086 rad += step; 1087 var z = r.path().attr({ arc: [value, color, rad], 'stroke-width': stroke }); 1088 1089 z.mouseover(function(){ 1090 "use strict"; 1091 this.animate({ 'stroke-width': hover, opacity: .75 }, 1000, 'elastic'); 1092 if (Raphael.type != 'VML') //solves IE problem 1093 this.toFront(); 1094 title.stop().animate({ opacity: 0 }, speed, '>', function(){ 1095 this.attr({ text: (text ? text + '\n' : '') + value + '%' }).animate({ opacity: 1 }, speed, '<'); 1096 }); 1097 }).mouseout(function(){ 1098 "use strict"; 1099 this.stop().animate({ 'stroke-width': stroke, opacity: 1 }, speed*4, 'elastic'); 1100 title.stop().animate({ opacity: 0 }, speed, '>', function(){ 1101 title.attr({ text: arc.data('caption') }).animate({ opacity: 1 }, speed, '<'); 1102 }); 1103 }); 1104 1105 }); 1106 1107 } 1108 } 1109 o.diagram(); 1110 }); 1111} 1112 1113 1114// Countdown update 1115function lifecoach_countdown(dt) { 1116 "use strict"; 1117 var counter = jQuery(this).parent(); 1118 for (var i=3; i<dt.length; i++) { 1119 var v = (dt[i]<10 ? '0' : '') + dt[i]; 1120 counter.find('.sc_countdown_item').eq(i-3).find('.sc_countdown_digits span').addClass('hide'); 1121 for (var ch=v.length-1; ch>=0; ch--) { 1122 counter.find('.sc_countdown_item').eq(i-3).find('.sc_countdown_digits span').eq(ch+(i==3 && v.length<3 ? 1 : 0)).removeClass('hide').text(v.substr(ch, 1)); 1123 } 1124 } 1125} 1126 1127 1128// Contact form handlers 1129function lifecoach_sc_form_validate(form){ 1130 "use strict"; 1131 var url = form.attr('action'); 1132 if (url == '') return false; 1133 form.find('input').removeClass('error_fields_class'); 1134 var error = false; 1135 var form_custom = form.data('formtype')=='form_custom'; 1136 if (!form_custom) { 1137 error = lifecoach_form_validate(form, { 1138 error_message_show: true, 1139 error_message_time: 4000, 1140 error_message_class: "sc_infobox sc_infobox_style_error", 1141 error_fields_class: "error_fields_class", 1142 exit_after_first_error: false, 1143 rules: [ 1144 { 1145 field: "username", 1146 min_length: { value: 1, message: LIFECOACH_STORAGE['strings']['name_empty'] }, 1147 max_length: { value: 60, message: LIFECOACH_STORAGE['strings']['name_long'] } 1148 }, 1149 { 1150 field: "email", 1151 min_length: { value: 7, message: LIFECOACH_STORAGE['strings']['email_empty'] }, 1152 max_length: { value: 60, message: LIFECOACH_STORAGE['strings']['email_long'] }, 1153 mask: { value: LIFECOACH_STORAGE['email_mask'], message: LIFECOACH_STORAGE['strings']['email_not_val
1153id'] } 1154 }, 1155 { 1156 field: "subject", 1157 min_length: { value: 1, message: LIFECOACH_STORAGE['strings']['subject_empty'] }, 1158 max_length: { value: 100, message: LIFECOACH_STORAGE['strings']['subject_long'] } 1159 }, 1160 { 1161 field: "message", 1162 min_length: { value: 1, message: LIFECOACH_STORAGE['strings']['text_empty'] }, 1163 max_length: { value: LIFECOACH_STORAGE['contacts_maxlength'], message: LIFECOACH_STORAGE['strings']['text_long'] } 1164 } 1165 ] 1166 }); 1167 } 1168 if (!error && url!='#') { 1169 jQuery.post(url, { 1170 action: "send_form", 1171 nonce: LIFECOACH_STORAGE['ajax_nonce'], 1172 type: form.data('formtype'), 1173 data: form.serialize() 1174 }).done(function(response) { 1175 "use strict"; 1176 var rez = {}; 1177 try { 1178 rez = JSON.parse(response); 1179 } catch (e) { 1180 rez = { error: LIFECOACH_STORAGE['ajax_error'] }; 1181 console.log(response); 1182 } 1183 var result = form.find(".result").toggleClass("sc_infobox_style_error", false).toggleClass("sc_infobox_style_success", false); 1184 if (rez.error === '') { 1185 form.get(0).reset(); 1186 result.addClass("sc_infobox_style_success").html(LIFECOACH_STORAGE['strings']['send_complete']); 1187 var return_url = form.find('input[name="return_url"]'); 1188 if (return_url.length > 0 && return_url.val()!='') { 1189 setTimeout(function() { 1190 "use strict"; 1191 window.location.href = return_url.val(); 1192 }, 3300); 1193 } 1194 } else { 1195 result.addClass("sc_infobox_style_error").html(LIFECOACH_STORAGE['strings']['send_error'] + ' ' + rez.error); 1196 } 1197 result.fadeIn().delay(3000).fadeOut(); 1198 }); 1199 } 1200 return !error; 1201} 1202 1203 1204 1205// Get players by category 1206function lifecoach_select_players_category(sel) { 1207 var value = sel.find(':selected').data('cat'); 1208 var table = sel.parents('.sc_players_table'); 1209 if (value == 'all') 1210 jQuery(table).find('.sc_table tr:nth-child(n+2)').show(); 1211 else { 1212 jQuery(table).find('.sc_table tr:nth-child(n+2)').hide(); 1213 jQuery(table).find('.sc_table tr').each(function() { 1214 var cat = jQuery(this).data('cat'); 1215 if (cat != null && cat.indexOf(value)!=-1) 1216 jQuery(this).show(); 1217 }); 1218 } 1219} 1220 1221 1222 1223// Display menuitem in the popup 1224function lifecoach_menuitems_show_popup(obj) { 1225 "use strict"; 1226 1227 // First init vars 1228 if (typeof LIFECOACH_STORAGE['menuitem_load'] == 'undefined') { 1229 LIFECOACH_STORAGE['menuitem_load'] = false; 1230 LIFECOACH_STORAGE['menuitems_list'] = []; 1231 1232 // If busy - return 1233 } else if ( LIFECOACH_STORAGE['menuitem_load'] ) { 1234 return; 1235 } 1236 1237 // Show preloader 1238 jQuery('#page_preloader').data('bg-color', jQuery('#page_preloader').css('background-color')).css({display: 'block', opacity: 0, backgroundColor: 'transparent'}).animate({opacity:0.8}, 300); 1239 1240 // Get items list on first click 1241 if (LIFECOACH_STORAGE['menuitems_list'].length == 0) { 1242 var menuitems_list_id = obj.parents('.sc_menuitems').attr("id"); 1243 LIFECOACH_STORAGE['menuitems_list'] = LIFECOACH_STORAGE['menuitems'][menuitems_list_id].split(","); 1244 } 1245 1246 var menuitem_id = obj.attr('rel'); 1247 1248 LIFECOACH_STORAGE['menuitem_load'] = true; 1249 1250 jQuery.post(LIFECOACH_STORAGE['ajax_url'], { 1251 action: 'ajax_menuitem', 1252 nonce: LIFECOACH_STORAGE['ajax_nonce'], 1253 text: menuitem_id 1254 }).done(function(response) { 1255 "use strict"; 1256 LIFECOACH_STORAGE['menuitem_load'] = false; 1257 var rez = {}; 1258 try { 1259 rez = JSON.parse(response); 1260 } catch (e) { 1261 rez = { error: LIFECOACH_STORAGE['ajax_error'] + '<br>' + response }; 1262 } 1263 jQuery('#page_preloader').animate({opacity:0}
1263, 500, function() { jQuery(this).css({display: 'none', backgroundColor: jQuery(this).data('bg-color')}); }); 1264 if (rez.error === '') { 1265 var delay = 0; 1266 // Create popup 1267 if (jQuery('.popup_menuitem').length == 0) { 1268 jQuery('body').append('<div id="overlay"></div><div class="popup_menuitem"></div>'); 1269 jQuery('#overlay').fadeIn(500); 1270 } else { 1271 delay = 500; 1272 jQuery('.popup_menuitem').fadeOut(delay); 1273 } 1274 // Add new content in the popup 1275 setTimeout(function() { 1276 jQuery('.popup_menuitem').html(rez.data); 1277 jQuery('.popup_menuitem .sc_menuitems_wrap').append("<a class='close_menuitem' href='#'><span class='icon-cancel'></span></a>"); 1278 if ( LIFECOACH_STORAGE['menuitems_list'].length > 1 ) { 1279 var idx = 0; 1280 for (var i=0; i<LIFECOACH_STORAGE['menuitems_list'].length; i++ ) { 1281 if ( LIFECOACH_STORAGE['menuitems_list'][i] === menuitem_id ) { 1282 idx = i; 1283 break; 1284 } 1285 } 1286 var prev = (idx - 1 + LIFECOACH_STORAGE['menuitems_list'].length) % LIFECOACH_STORAGE['menuitems_list'].length; 1287 var next = (idx + 1) % LIFECOACH_STORAGE['menuitems_list'].length; 1288 jQuery('.popup_menuitem .sc_menuitems_wrap .sc_menuitem_content').append( 1289 "<a class='prev_menuitem prevnext_menuitem show_popup_menuitem' rel='"+LIFECOACH_STORAGE['menuitems_list'][prev]+"' href='#'><span class='icon-left'></span></a>" 1290 + "<a class='next_menuitem prevnext_menuitem show_popup_menuitem' rel='"+LIFECOACH_STORAGE['menuitems_list'][next]+"' href='#'><span class='icon-right'></span></a>" 1291 ); 1292 } 1293 jQuery('.popup_menuitem').fadeIn(500); 1294 }, delay); 1295 } else { 1296 lifecoach_message_warning(LIFECOACH_STORAGE['strings']['search_error']); 1297 } 1298 }); 1299} 1300 1301// Hide popup with menuitem 1302function lifecoach_menuitems_hide_popup() { 1303 "use strict"; 1304 jQuery('#overlay').fadeOut(); 1305 jQuery('.popup_menuitem').fadeOut(function() { 1306 LIFECOACH_STORAGE['menuitem_load'] = false; 1307 LIFECOACH_STORAGE['menuitems_list'] = []; 1308 jQuery('#overlay').remove(); 1309 jQuery(this).remove(); 1310 }); 1311}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.