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