1jQuery(function($){ 2 "use strict"; 3 var EVENTER = window.EVENTER || {}; 4 5 // Match Height Function 6 EVENTER.MH = function() { 7 $('.equah').each(function() { 8 $(this).find('.equah-item').matchHeight(); 9 }); 10 }; 11 12 $(document).ready(function(){ 13 $(document).on("click", ".eventer-icon-calendar", function(){ 14 15 }); 16 17 function eventer_dynamic_bookings(dateText){ 18 var request = $.ajax({ 19 url: initval.ajax_url, 20 type: "post", 21 dataType: 'json', 22 data : { 23 action : 'eventer_dynamic_ticket_area', 24 date: dateText, 25 event: initval.dynamic_event, 26 }, 27 beforeSend: function( xhr ) { 28 29 }, 30 }); 31 request.done(function (response){ 32 $('.eventer-event-date').html('<i class="eventer-icon-calendar"></i>'+response.formatted); 33 $('.eventer-front-ticket-area-dynamic').empty(); 34 $('.eventer-front-ticket-area-dynamic').html(response.tickets); 35 $('#eventer-future-bookings').datepicker({ 36 showOn: "button", 37 buttonText: "Select Booking Date", 38 defaultDate: new Date(response.date), 39 beforeShowDay: disableDays, 40 onSelect: function(dateText, inst) { 41 eventer_dynamic_bookings(dateText); 42 } 43 }); 44 }); 45 } 46 function disableDays(date) { 47 var pad = function(value) { 48 return (value < 10 ? '0' : '') + value; 49 }; 50 var sDate = date.getFullYear() + "-" + pad(date.getMonth() +1) + 51 "-" + pad(date.getDate()); 52 $('#ui-datepicker-div').addClass('eventer-custom-ui-datepicker'); 53 return [$.inArray(sDate, initval.enabled_date) !== -1, 'highlight']; 54 } 55 $('#eventer-future-bookings').datepicker({ 56 showOn: "button", 57 buttonText: "Select Booking Date", 58 59 beforeShowDay: disableDays, 60 onSelect: function(dateText, inst) { 61 eventer_dynamic_bookings(dateText); 62 } 63 }); 64 $('.eventers-filter-check').click(function(){ 65 $(".eventer-filter-select").slideUp(); 66 }); 67 68 function split( val ) { 69 return val.split( /,\s*/ ); 70 } 71 function extractLast( term ) { 72 return split( term ).pop(); 73 } 74 var projects = initval.eventer_stored; 75 var eventers_show = $.map(projects, function(label, value) { 76 return {value, label}; 77 }); 78 $( ".keyword-search-eventer" ) 79 .on( "keydown", function( event ) { 80 if ( event.keyCode === $.ui.keyCode.TAB && 81 $( this ).autocomplete( "instance" ).menu.active ) { 82 event.preventDefault(); 83 } 84 }) 85 .autocomplete({ 86 minLength: 0, 87 source: function( request, response ) { 88 response( $.ui.autocomplete.filter( 89 eventers_show, extractLast( request.term ) ) ); 90 }, 91 focus: function() { 92 return false; 93 }, 94 select: function( event, ui ) { 95 var search_ids = split($(this).attr('data-search')); 96 search_ids.push(ui.item.value); 97 $(this).attr('data-search', search_ids); 98 var terms = split( this.value ); 99 terms.pop(); 100 terms.push( ui.item.label ); 101 terms.push( "" ); 102 this.value = terms.join( ", " ); 103 var target_url = window.location.href; 104 var status = $('.shortcode-attrs').attr("data-status"); 105 var shortcode_actual = JSON.parse($(this).closest('.eventer-list').find('.shortcode-attrs').text()); 106 var filter_data = EVENTER.GETFILTERDATA(); 107 $.each(filter_data, function(key, object) { 108 target_url = EVENTER.APPENDQUERYURL(key, object, target_url); 109 }); 110 var send_date = $(this).attr("data-arrow"); 111 EVENTER.EVENTERAJAXMONTHWISE(shortcode_actual, send_date, '', $(this).closest('div.eventer-list'), 0, target_url, filter_data, status); 112 return false;
113 } 114 }); 115if (!!$.prototype.datepicker) { 116$( function() { 117 var dateFormat = "mm/dd/yy", 118 from = $( "#eventer_from" ) 119 .datepicker({ 120 dateFormat: 'yy-mm-dd', 121 defaultDate: "+1w", 122 changeMonth: false, 123 numberOfMonths: 1, 124 beforeShow: function() { 125 $('#ui-datepicker-div').addClass('eventer-custom-ui-datepicker'); 126 } 127 }) 128 .on( "change", function() { 129 if($('#eventer_to').val()!='') 130 { 131 var target_url = window.location.href; 132 target_url = EVENTER.APPENDQUERYURL('eto', $('#eventer_to').val(), target_url); 133 target_url = EVENTER.APPENDQUERYURL('efrom', $(this).val(), target_url); 134 var status = $('.shortcode-attrs').attr("data-status"); 135 var shortcode_actual = JSON.parse($(this).closest('.eventer-list').find('.shortcode-attrs').text()); 136 var filter_data = EVENTER.GETFILTERDATA(); 137 $.each(filter_data, function(key, object) { 138 target_url = EVENTER.APPENDQUERYURL(key, object, target_url); 139 }); 140 EVENTER.EVENTERAJAXMONTHWISE(shortcode_actual, $(this).val(), '', $(this).closest('div.eventer-list'), 0, target_url, filter_data, status); 141 } 142 to.datepicker( "option", "minDate", getDate( this ) ); 143 }), 144 to = $( "#eventer_to" ).datepicker({ 145 dateFormat: 'yy-mm-dd', 146 defaultDate: "+1w", 147 changeMonth: false, 148 numberOfMonths: 1, 149 beforeShow: function() { 150 $('#ui-datepicker-div').addClass('eventer-custom-ui-datepicker'); 151 } 152 }) 153 .on( "change", function() { 154 var target_url = window.location.href; 155 target_url = EVENTER.APPENDQUERYURL('efrom', $('#eventer_from').val(), target_url); 156 target_url = EVENTER.APPENDQUERYURL('eto', $(this).val(), target_url); 157 var status = $('.shortcode-attrs').attr("data-status"); 158 var shortcode_actual = JSON.parse($(this).closest('.eventer-list').find('.shortcode-attrs').text()); 159 var filter_data = EVENTER.GETFILTERDATA(); 160 $.each(filter_data, function(key, object) { 161 target_url = EVENTER.APPENDQUERYURL(key, object, target_url); 162 }); 163 EVENTER.EVENTERAJAXMONTHWISE(shortcode_actual, $(this).val(), '', $(this).closest('div.eventer-list'), 0, target_url, filter_data, status); 164 from.datepicker( "option", "maxDate", getDate( this ) ); 165 }); 166 167 function getDate( element ) { 168 var date; 169 try { 170 date = $.datepicker.parseDate( dateFormat, element.value ); 171 } catch( error ) { 172 date = null; 173 } 174 175 return date; 176 } 177 }); 178} 179 window.addEventListener('popstate', function(e){ 180 if(e.state) { 181 //EVENTER.EVENTERAJAXMONTHWISE(shortcode_attr, send_date, arrow_class, $(this).closest('div.eventer-list'), data_jump, e.state.href, filter_data, status); 182 } 183 }); 184 185 //$('.save-registrant').prop('disabled', true); 186 EVENTER.MH(); 187 EVENTER.GETMODALHEIGHT = function(modalTrigger) 188 { 189 var windowHeight = $(window).height(); 190 var ticket_confirm = $('body').find(modalTrigger); 191 var modalInner = ticket_confirm.find('.eventer-modal-wrap'); 192 var modalBody = modalInner.find('.eventer-modal-body'); 193 var modalHeight = modalBody.actual('innerHeight'); 194 var modalHeightn = parseInt(modalHeight, 10); 195 if(modalHeight < windowHeight){ 196 modalInner.css("margin-top",-+modalHeightn/2); 197 } else{ 198 modalInner.css({"top":60,"margin-bottom":"60px"}); 199 } 200 ticket_confirm.fadeIn(); 201 $('body').addClass('eventer-overflow-hidden'); 202 }; 203 if(initval.register_status!=="" && typeof initval.register_status!=='undefined') 204 { 205 EVENTER.GETMODALHEIGHT("#eventer-ticket-confirmation"); 206 } 207 208 209 // Eventer filters date wise trigger 210 $('.eventer-filter-datewise-wrap').hide(); 211 $(document).delegate('.eventer-datewise-filter-trigger', 'click',function(){ 212 $('.eventer-filter-datewise-wrap').slideToggle(); 213 $(this).toggleClass('trigger-active'); 214 }); 215 }); 216 $(document).on('mouseenter mouseleave', '.eventer-event-save', function(){ 217 $(this).find('ul').toggle(); 218 }); 219 220 221 $(document).delegate('.eventer-modal-trigger', 'click',function(e){ 222 $('.eventer-modal').fadeOut(); 223 var modalTrigger = $(this).attr('data-eventer-modal'); 224 if(modalTrigger==='') { return; } 225 EVENTER.GETMODALHEIGHT(modalTrigger); 226 e.preventDefault(); 227 }); 228 $(document).delegate(".eventer-modal-body", 'click',function(e){ 229 e.stopPropagation(); 230 }); 231 $(document).delegate('.eventer-modal', 'click',function(){ 232 $(this).fadeOut(); 233 $('body').removeClass('eventer-overflow-hidden'); 234 }); 235 $(document).delegate('.eventer-modal-close', 'click',function(e){ 236 $(this).parents('.eventer-modal').fadeOut(); 237 $('body').removeClass('eventer-overflow-hidden'); 238 e.preventDefault(); 239 }); 240 241 $(document).delegate('.eventer-toggle-area-trigger', 'click',function(e){ 242 var dialog_heading = $(this).attr('data-eventer-dialog-heading'); 243 if(typeof dialog_heading!=='undefined' && dialog_heading!=='') 244 { 245 $(this).closest('.eventer-modal').find('.eventer-section-wise-heading').text(dialog_heading); 246 } 247 var targetIn = $(this).attr('data-eventer-toggle-in'); 248 var targetOut = $(this).attr('data-eventer-toggle-out'); 249 $(this).parents('.eventer-toggle-area').find(targetOut).slideUp('fast'); 250 $(this).parents('.eventer-toggle-area').find(targetIn).slideDown('slow'); 251 e.preventDefault(); 252 }); 253 254 255 $(document).delegate('.eventer-filter-trigger', 'click',function(e){ 256 if ($(this).parents('.eventer-filter-col').find('.eventer-filter-select').is(":visible")) { 257 $(".eventer-filter-select").hide(); 258 } else { 259 $(".eventer-filter-select").hide(); 260 $(this).parents('.eventer-filter-col').find('.eventer-filter-select').toggle(); 261 } 262 e.preventDefault(); 263 }); 264EVENTER.EVENTERPRINTTICKET = function(elem) 265{ 266 var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor); 267 if(isChrome) 268 { 269 var divToPrint=document.getElementById(elem); 270 var newWin=window.open('','Print-Window'); 271 newWin.document.open();
272 newWin.document.write('<link rel="stylesheet" href="'+initval.eventer_style+'" type="text/css" />'); 273 newWin.document.write('<html><body class="eventer eventer-print-window" onload="window.print()">'+divToPrint.innerHTML+'</body></html>'); 274 newWin.document.close(); 275 setTimeout(function(){newWin.close();},10); 276 } 277 else 278 { 279 var mywindow = window.open('', 'PRINT', 'height=400,width=600'); 280 mywindow.document.write('<html><head><title>' + document.title + '</title>'); 281 282 mywindow.document.write('<link rel="stylesheet" href="'+initval.eventer_style+'" type="text/css" />'); 283 mywindow.document.write('</head><body class="eventer eventer-print-window">'); 284 mywindow.document.write('<h1>' + document.title + '</h1>'); 285 286 mywindow.document.write(document.getElementById(elem).innerHTML); 287 mywindow.document.write('</body></html>'); 288 289 mywindow.document.close(); // necessary for IE >= 10 290 mywindow.focus(); // necessary for IE >= 10*/ 291 292 mywindow.print(); 293 mywindow.close(); 294 295 return true; 296 } 297 298 299}; 300 301EVENTER.GENERATEQRCODE = function(qrInstance, qrContent, qrSize) 302{ 303 qrInstance.qrcode({ 304 // render method: 'canvas', 'image' or 'div' 305 render: 'image', 306 // version range somewhere in 1 .. 40 307 minVersion: 1, 308 maxVersion: 40, 309 // error correction level: 'L', 'M', 'Q' or 'H' 310 ecLevel: 'L', 311 // offset in pixel if drawn onto existing canvas 312 left: 0, 313 top: 0, 314 // size in pixel 315 size: qrSize, 316 // code color or image element 317 fill: '#000', 318 // background color or image element, null for transparent background 319 background: null, 320 // content 321 text: qrContent, 322 // corner radius relative to module width: 0.0 .. 0.5 323 radius: 0, 324 // quiet zone in modules 325 quiet: 0, 326 // modes 327 // 0: normal 328 // 1: label strip 329 // 2: label box 330 // 3: image strip 331 // 4: image box 332 mode: 0, 333 mSize: 0.1, 334 mPosX: 0.5, 335 mPosY: 0.5, 336 label: 'no label', 337 fontname: 'sans', 338 fontcolor: '#000', 339 image: null 340 }); 341}; 342$('.eventer-temporary-tickets').hide(); 343$(document).on('click', '.eventer-fe-booking-linkss', function(){ 344 EVENTER.GENERATETICKETSREGISTRANTS('dashboard'); 345}); 346EVENTER.GENERATETICKETSREGISTRANTS = function(source = '') 347{ 348 if($('.eventer-temporary-tickets').length<=0) return; 349 $('.eventer-temporary-tickets').show(); 350 var qrcode_data = []; 351 var nonce_qrcode = $('#eventer-ticket-printable').attr('data-nonce'); 352 var organizer; 353 var backorder = ''; 354 var ticket_img = null; 355 var registrant = $('#eventer-ticket-printable').attr('data-registrant'); 356 var i = 0; 357 var ticket_reverse = null; 358 var ticket_front = null; 359 var event_id = $('#eventer-ticket-printable').attr('data-eid'); 360 var registrant_span = []; 361 var main_reg = $('#eventer-ticket-printable').attr('data-uemail'); 362 var reg_pos = $('#eventer-ticket-printable').attr('data-regpos'); 363 $('.eventer-registrant-show').each(function(){ 364 registrant_span.push($(this)); 365 }); 366 function nextStep(){ 367 if(i >= registrant_span.length) return; 368 var qrcode_merged = {}; 369 var registrant_listing = registrant_span[i]; 370 if(i===0) 371 { 372 nonce_qrcode = registrant_listing.parent('.eventer-all-registrants').attr('data-nonce'); 373 organizer = registrant_listing.parent('.eventer-all-registrants').attr('data-organizer'); 374 event_id = registrant_listing.parent('.eventer-all-registrants').attr('data-eid'); 375 registrant = registrant_listing.parent('.eventer-all-registrants').attr('data-registrant'); 376 main_reg = registrant_listing.parent('.eventer-all-registrants').attr('data-mainreg'); 377 reg_pos = registrant_listing.parent('.eventer-all-registrants').attr('data-regpos'); 378 backorder = registrant_listing.parent('.eventer-all-registrants').attr('data-backorder'); 379 $('#eventer-ticket-printable').find('.eventer-qrcode').removeClass('eventer-on-ticket-qr'); 380 $('#eventer-ticket-printable').find('.eventer-qrcode').attr('data-qr-content', ''); 381 } 382 383 var qrcode = registrant_listing.attr('data-qrcode'); 384 var reg_email = registrant_listing.attr('data-email'); 385 var reg_name = registrant_listing.attr('data-name'); 386 var reg_event_name = registrant_listing.attr('data-eventid'); 387 var reg_event_datetime = registrant_listing.attr('data-datetime'); 388 var reg_elocation = registrant_listing.attr('data-elocation'); 389 EVENTER.GENERATEQRCODE(registrant_listing, qrcode, 100); 390 var qrcode_src = registrant_listing.find('img'); 391 var reg_ticket = registrant_listing.attr('data-ticket'); 392 $('#eventer-ticket-printable').find('h3').html(''); 393 $('#eventer-ticket-printable').find('.eventer-tickets-booked-info').remove(); 394 $('#eventer-ticket-printable').find('.eventer-ticket-reg-code').html(''); 395 396 $('#eventer-ticket-printable').find('.eventer-qrcode').html(''); 397 $('#eventer-ticket-printable').find('h3').html(reg_name); 398 $('#eventer-ticket-printable').find('.registrant-ticket').html('<br/>'+reg_ticket); 399 $('#eventer-ticket-printable').find('.eventer-woo-title').html('<br/>'+reg_event_name); 400 $('#eventer-ticket-printable').find('.eventer-woo-datetime').html('<br/>'+reg_event_datetime); 401 $('#eventer-ticket-printable').find('.eventer-woo-location').html('<br/>'+reg_elocation); 402 $('#eventer-ticket-printable').find('.eventer-ticket-reg-code').html(qrcode); 403 $('#eventer-ticket-printable').find('.eventer-qrcode').html(qrcode_src); 404 html2canvas($('#eventer-ticket-printable'), 405 { 406 onrendered: function (canvas) { 407 ticket_img = canvas.toDataURL("image/png",1.0); 408 qrcode_merged.src = ticket_img; 409 nextStep(); 410 } 411 }); 412 qrcode_merged.code = qrcode; 413 qrcode_merged.email = reg_email; 414 qrcode_merged.name = reg_name; 415 qrcode_merged.ticket = reg_ticket; 416 qrcode_data.push(qrcode_merged); 417 i++; 418 } 419 html2canvas($('#eventer-ticket-printable'), 420 { 421 onrendered: function (canvas) { 422 ticket_front = canvas.toDataURL("image/png",1.0); 423 nextStep(); 424 } 425 }); 426 if(source==='') 427 { 428 $('<div class="eventer-loader-wrap eventer_custom_loader_tickets"><div class="eventer-loader"></div></div>').appendTo('body'); 429 } 430 else 431 { 432 $('.eventer-fe-dashboard').find('.eventer-loader-wrap').show(); 433 } 434 setTimeout( 435 function() { 436 var request = $.ajax({ 437 url: initval.ajax_url, 438 type: "post", 439 dataType:'json', 440 //async: false, 441 data : { 442 action : 'eventer_generate_ticket_qrcode', 443 qrdata: qrcode_data, 444 backorder: backorder, 445 regpos: reg_pos, 446 source: source, 447 front: ticket_front, 448 mainreg: main_reg, 449 reverse: ticket_reverse, 450 reg: registrant, 451 eid: event_id, 452 nonce: nonce_qrcode, 453 organizer: organizer, 454 //img: img 455 }, 456 beforeSend: function( xhr ) { 457 458 }, 459 }); 460 request.done(function (response){ 461 if(response===null) 462 { 463 return true; 464 } 465 $('form.eventer-show-download-tickets-form').find('.eventer-woo-tickets').val(response.tickets); 466 $('.eventer-temporary-tickets').remove(); 467 $('.eventer_custom_loader_tickets, .eventer-loader-wrap').hide(); 468 if($('body').find('.eventer-fe-dashboard').length>0) 469 { 470 var download_btn = $('.eventer-dashboard-download-tickets').clone(); 471 download_btn = download_btn.show(); 472 var all_tickets = '<div class="eventer-fe-booking-records">'; 473 for(var ticket_create=0; ticket_create<response.ticket_arr.length; ticket_create++) 474 { 475 all_tickets += '<img src="'+response.url+'/'+response.ticket_arr[ticket_create]+'">'; 476 } 477 all_tickets += '</div>'; 478 $('#eventer-dashboard-content-area').empty(); 479 $('#eventer-dashboard-content-area').append(all_tickets); 480 $('#eventer-dashboard-content-area').append(download_btn); 481 $('html, body').animate({ 482 scrollTop: $("#eventer-dashboard-content-area").offset().top 483 }, 2000); 484 } 485 486 if(typeof response.event_url!=='undefined' && response.event_url!=='') 487 { 488 window.location.href = response.event_url; 489 } 490 491 }); 492 request.fail(function (jqXHR, textStatus, errorThrown){ 493 $('.eventer-temporary-tickets').remove(); 494 }); 495 }, 496 1500); 497}; 498$(document).on('click', '.eventer-admin-woo-download-tickets-action', function(){ 499 $(this).closest('form').submit(); 500 return false;
501}); 502 503if(initval.reg_now==="1") 504{ 505 EVENTER.GENERATETICKETSREGISTRANTS(); 506} 507 508$('.eventer-print-ticket').click(function(){ 509 EVENTER.EVENTERPRINTTICKET('eventer-ticket-show-now'); 510}); 511 512 513 514 515 //QR Code Generator 516 $('.eventer-on-ticket-qr').each(function(){ 517 var qrInstance = $(this); 518 var qrContent = qrInstance.attr("data-qr-content") ? qrInstance.attr("data-qr-content") : ""; 519 var qrSize = qrInstance.attr("data-qr-size") ? qrInstance.attr("data-qr-size") : 200; 520 EVENTER.GENERATEQRCODE(qrInstance, qrContent, qrSize); 521 }); 522 523 524 // Eventer CountDown 525 $('.eventer-countdown-timer').each(function(){ 526 var expiryDate = $(this).data('date'); 527 var countdown_id = $(this).attr('id'); 528 $('#'+countdown_id).countdown(expiryDate).on('update.countdown', function(event) { 529 $(this).html(event.strftime(''+ '<div class="eventer-timer-col"><div><div><span>%D</span> <strong>'+initval.day+'</strong></div></div></div>' + '<div class="eventer-timer-col"><div><div><span>%H</span> <strong>'+initval.hr+'</strong></div></div></div>' + '<div class="eventer-timer-col"><div><div><span>%M</span> <strong>'+initval.min+'</strong></div></div></div>' + '<div class="eventer-timer-col"><div><div><span>%S</span> <strong>'+initval.sec+'</strong></div></div></div>')); 530 }); 531 }); 532 533 534 EVENTER.CHECKBOXVALIDATE = function(names, fields) 535 { 536 var chkds = $("input[name='"+names+"']:"+fields); 537 if(chkds.is(":checked")) 538 { 539 return "1"; 540 } 541 else 542 { 543 return "0"; 544 } 545 }; 546 547 EVENTER.VALIDATEEMAIL = function (emailField) 548 { 549 var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; 550 551 if (reg.test(emailField.val()) === false) 552 { 553 return "0"; 554 } 555 return "1"; 556 557 }; 558 559 EVENTER.APPENDQUERYURL = function(key, value, url) { 560 if (!url) { url = window.location.href; } 561 var re = new RegExp("([?&])" + key + "=.*?(&|#|$)(.*)", "gi"), 562 hash; 563 if (re.test(url)) { 564 if (typeof value !== 'undefined' && value !== null) { 565 return url.replace(re, '$1' + key + "=" + value + '$2$3'); } 566 else { 567 hash = url.split('#'); 568 url = hash[0].replace(re, '$1$3').replace(/(&|\?)$/, ''); 569 if (typeof hash[1] !== 'undefined' && hash[1] !== null) { 570 url += '#' + hash[1]; } 571 return url; 572 } 573 } 574 else { 575 if (typeof value !== 'undefined' && value !== null) { 576 var separator = url.indexOf('?') !== -1 ? '&' : '?'; 577 hash = url.split('#'); 578 url = hash[0] + separator + key + '=' + value; 579 if (typeof hash[1] !== 'undefined' && hash[1] !== null) { 580 url += '#' + hash[1]; } 581 return url; 582 } 583 else{ return url; } 584 585 } 586}; 587 EVENTER.EVENTERAJAXMONTHWISE = function(shortcode_attr, send_date, arrow_class, element, data_jump, target_url, filters, status) 588 { 589 shortcode_attr.eventerid = $('.keyword-search-eventer').attr('data-search'); 590 var date_range = $('.keyword-search-eventer').attr('data-range'); 591 var date_from = $('.keyword-search-eventer').attr('data-from'); 592 var date_to = $('.keyword-search-eventer').attr('data-to'); 593 var searchfrom = $('#eventer_from').val(); 594 var searchto = $('#eventer_to').val(); 595 var fromdate, todate; 596 if(searchfrom!=='' && searchto!=='') 597 { 598 fromdate = searchfrom; 599 todate = searchto; 600 shortcode_attr.efrom = fromdate; 601 shortcode_attr.eto = todate; 602 } 603 else if(date_range==="1" && $('.keyword-search-eventer').val()!=='') 604 { 605 fromdate = date_from; 606 todate = date_to; 607 shortcode_attr.efrom = fromdate; 608 shortcode_attr.eto = todate; 609 } 610 611 var currmonth = $(element).find(".eventer-switcher-current-month-in"); 612 var prevarrow = $(element).find("a.prev-month"); 613 var nextarrow = $(element).find("a.next-month"); 614 var twelvemonths = $(element).find(".eventer-twelve-months"); 615 $(element).find(".eventer-loader-wrap").show(); 616 var request = $.ajax({ 617 url: initval.ajax_url, 618 type: "post", 619 dataType:'json', 620 data : { 621 action : 'eventer_month_wise_events', 622 get_month : send_date, 623 arrow: arrow_class, 624 lang: initval.wpml_lang, 625 datajump: data_jump, 626 shortcode_attr: shortcode_attr, 627 filters: filters, 628 stat: status, 629 nonce: initval.month_events_nonce, 630 }, 631 }); 632 633 // Callback handler that will be called on success 634 request.done(function (response, textStatus, jqXHR){ 635 if(response.next_result!==1) 636 { 637 nextarrow.hide(); 638 } 639 else 640 {
641 nextarrow.show(); 642 } 643 if(response.previous_result!==1) 644 { 645 prevarrow.hide(); 646 } 647 else 648 { 649 prevarrow.show(); 650 } 651 window.history.replaceState({href: target_url}, '', target_url); 652 $('.today-btn').removeClass('show_month_events'); 653 $('.show_month_events').attr('data-arrow', send_date); 654 $('.keyword-search-eventer').attr('data-arrow', send_date); 655 $('.today-btn').addClass('show_month_events'); 656 var show_result = ''; 657 var monthsshow = ''; 658 currmonth.html(response.thismonth); 659 if(response.thisyear!=='') 660 { 661 currmonth.append('<span>'+response.thisyear+'</span>'); 662 } 663 prevarrow.attr('data-arrow', response.prevmonth); 664 nextarrow.attr('data-arrow', response.nextmonth); 665 if(response.noresult==1) 666 { 667 show_result += '<div class="noresult-msg">'; 668 show_result += '<p>'+response.blank+'</p>'; 669 if(response.tabs==='month') 670 { 671 show_result += '<p>'+response.halfyear+'</p>'; 672 show_result += '<p>'+response.fullyear+'</p>'; 673 } 674 show_result += '</div>'; 675 } 676 677 678 $.each(response['lidata'], function( key, value ) { 679 var recurring_icon = ''; 680 var class_thumb = ''; 681 if(value.recurring_icon==="1") 682 { 683 recurring_icon = ' <i class="eventer-icon-refresh"></i>'; 684 } 685 var $event_month = '<span class="eventer-event-month">'+value.mon+'</span>'; 686 var $event_year = '<span class="eventer-event-year">'+value.year+'</span>'; 687 var $event_title = value.title; 688 var $event_time = '<span class="eventer-event-time">'+value.ticon+' '+value.time+'</span>'; 689 if(response.layout==="minimal") 690 { 691 show_result += '<li class="eventer-event-item eventer-event-list-item" '+value.borderleft+'>'; 692 show_result += '<a href="'+value.eventer_url+'" class="eventer-event-item-link">'; 693 694 show_result += '<span class="eventer-event-date">'; 695 show_result += '<span><span class="eventer-cell">'; 696 show_result += value.da; 697 show_result += '<span class="eventer-dater">'; 698 show_result += $event_month; 699 700 show_result += $event_year; 701 show_result += $event_time; 702 show_result += '</span></span></span></span>'; 703 704 show_result += '<span class="eventer-event-details">'; 705 show_result += $event_title; 706 if(value.venue!=='') 707 { 708 show_result += '<span class="eventer-event-venue"> '+value.venue+'</span>'; 709 } 710 show_result += '</span>'; 711 show_result += '</a></li>'; 712 } 713 else 714 { 715 if(value.image_url) 716 { 717 class_thumb = 'eventer-event-list-item-wi'; 718 } 719 show_result += '<li class="eventer-event-item eventer-event-list-item '+class_thumb+'">'; 720 show_result += '<a href="'+value.eventer_url+'" class="eventer-event-item-link">'; 721 show_result += '<span class="eventer-event-date" '+value.bordertop+'>'; 722 show_result += value.da; 723 if(value.multidays==='') 724 { 725 show_result += '<span class="eventer-event-month">'+$event_month+'</span>'; 726 } 727 show_result += '<span class="eventer-event-year">'+$event_year+'</span>'; 728 show_result += '</span>'; 729 show_result += '<span class="eventer-event-details">'; 730 if(value.image_url) 731 { 732 show_result += '<img class="eventer-event-image" src="'+value.image_url+'">'; 733 } 734 show_result += '<span class="eventer-event-details-side">'; 735 show_result += $event_time; 736 show_result += $event_title; 737 if(value.venue!='') 738 { 739 show_result += '<span class="eventer-event-venue"><i class="eventer-icon-location-pin" style="color:'+value.color+'"></i> '+value.venue+'</span>'; 740 } 741 742 show_result += '</span>'; 743 show_result += '</span>'; 744 show_result += '<i class="eventer-icon-arrow-right"></i>'; 745 show_result += '</a></li>'; 746 } 747 748 }); 749 $(element).find(".monthly-list").empty(); 750 $(element).find(".eventer-loader-wrap").hide(); 751 $(element).find(".monthly-list").html(show_result); 752 twelvemonths.empty(); 753 $.each(response['monthsgrid'], function(key, value) 754 { 755 monthsshow += '<li data-jump="0" data-arrow="'+value.lival+'" class="show_month_events next-month">'+value.lishow+'</li>'; 756 }); 757 twelvemonths.html(monthsshow); 758 $(".eventer-filter-select").slideUp(); 759 }); 760 761 // Callback handler that will be called on failure 762 request.fail(function (jqXHR, textStatus, errorThrown){ 763 }); 764 }; 765 EVENTER.VALIDATEFORMFIELDS = function(element, counting = '') 766 { 767 768 var passing = "1"; 769 var total_counting = counting; 770 var required = element.attr("data-required"); 771 if(required==="1") 772 { 773 var field_type = element.prop("type"); 774 if(field_type==="text"||field_type==="textarea"||field_type==="email"||field_type==="number") 775 { 776 if(element.val()==='') 777 { 778 element.addClass("eventer-required-field"); 779 passing = "0"; 780 total_counting = total_counting+1; 781 } 782 else if(field_type==="email"&&EVENTER.VALIDATEEMAIL(element)==="0") 783 { 784 element.addClass("eventer-required-field"); 785 element.closest("form").find(".message").empty(); 786 element.closest("form").find(".message").append(element.attr("name")+' <p>
786'+initval.email_msg+'</p>'); 787 passing = "0"; 788 total_counting = total_counting+1; 789 } 790 else if(field_type==="number"&&!$.isNumeric(element.val())) 791 { 792 element.addClass("eventer-required-field"); 793 element.closest("form").find(".message").empty(); 794 element.closest("form").find(".message").append(element.attr("name")+' <p>'+initval.number_msg+'</p>'); 795 passing = "0"; 796 total_counting = total_counting+1; 797 } 798 else 799 { 800 element.removeClass("eventer-required-field"); 801 passing = "1"; 802 } 803 } 804 else if(field_type==="checkbox"||field_type==="radio") 805 { 806 var fname = element.attr("name"); 807 var result = EVENTER.CHECKBOXVALIDATE(fname, element.prop("type")); 808 if(result==="1") 809 { 810 element.closest("label").removeClass("eventer-required-field"); 811 passing = "1"; 812 } 813 else 814 { 815 element.closest("label").addClass("eventer-required-field"); 816 passing = "0"; 817 total_counting = total_counting+1; 818 } 819 } 820 else 821 { 822 if(element.val()==='') 823 { 824 element.addClass("eventer-required-field"); 825 passing = "0"; 826 total_counting = total_counting+1; 827 } 828 else 829 { 830 element.removeClass("eventer-required-field"); 831 passing = "1"; 832 833 } 834 } 835 } 836 if(counting==='') 837 { 838 return passing; 839 } 840 else 841 { 842 return total_counting; 843 } 844 845 }; 846 847 EVENTER.GETFILTERDATA = function() 848 { 849 var filters = {}; 850 $(".filter_eventers").each(function(){ 851 var taxonomy_atts = $(this).attr("data-taxonomy"); 852 var filter_ids = []; 853 $(this).find(".activated").each(function(){ 854 var term = $(this).attr("data-term"); 855 filter_ids.push(term); 856 }); 857 filters[taxonomy_atts] = filter_ids; 858 }); 859 return filters; 860 }; 861 862 $(document).delegate(".show_month_events", 'click', function(){ 863 var target_url = window.location.href; 864 if($(this).hasClass('eventers-filter-check')) 865 { 866 867 } 868 else 869 { 870 $('.eventer-filter-datewise').val(''); 871 target_url = EVENTER.APPENDQUERYURL('efrom', null, target_url); 872 target_url = EVENTER.APPENDQUERYURL('eto', null, target_url); 873 } 874 var arrow_class = "0"; 875 var data_jump; 876 877 var calview = $(this).attr('data-calview'); 878 var shortcode_attr = JSON.parse($(this).closest('.eventer-list').find('.shortcode-attrs').text()); 879 shortcode_attr.efrom = $('#eventer_from').val(); 880 shortcode_attr.eto = $('#eventer_to').val(); 881 if (typeof calview !== 'undefined' && calview !== null) 882 { 883 $('.shortcode-attrs').attr('data-status', calview); 884 $('.list_calendar_view').removeClass('active'); 885 $('.list_calendar_view').addClass('show_month_events'); 886 $(this).addClass('active'); 887 $(this).removeClass('show_month_events'); 888 target_url = EVENTER.APPENDQUERYURL('calview', $('.shortcode-attrs').attr('data-status'), target_url); 889 } 890 var send_date = $(this).attr("data-arrow"); 891 if($(this).hasClass("next-month")) 892 { 893 arrow_class = "1"; 894 } 895 target_url = EVENTER.APPENDQUERYURL('jump_date', send_date, target_url); 896 data_jump = $(this).attr("data-jump"); 897 if($(this).attr("data-arrowclass")==="2") 898 { 899 arrow_class = "2"; 900 if($(this).is(':checked')) 901 { 902 $(this).addClass("activated"); 903 $(this).parents("ul").addClass("filter_eventers"); 904 } 905 else 906 { 907 $(this).removeClass("activated"); 908 if($(this).parents("ul").find('.activated').length === 0) 909 { 910 $(this).parents("ul").removeClass("filter_eventers"); 911 } 912 } 913 } 914 var status = $('.shortcode-attrs').attr("data-status"); 915 target_url = EVENTER.APPENDQUERYURL('terms_cats', null, target_url); 916 target_url = EVENTER.APPENDQUERYURL('terms_tags', null, target_url); 917 target_url = EVENTER.APPENDQUERYURL('terms_venue', null, target_url); 918 target_url = EVENTER.APPENDQUERYURL('terms_organizer', null, target_url); 919 var filter_data = EVENTER.GETFILTERDATA(); 920 $.each(filter_data, function(key, object) { 921 target_url = EVENTER.APPENDQUERYURL(key, object, target_url); 922 }); 923 EVENTER.EVENTERAJAXMONTHWISE(shortcode_attr, send_date, arrow_class, $(this).closest('div.eventer-list'), data_jump, target_url, filter_data, status); 924 }); 925 926 $(document).on("change", 'input:radio[name="chosen-payment-option"]', 927 function(){ 928 if (this.checked && this.value === '0') 929 { 930 $("form#ticket-reg").attr('action', $("#paypal_return").text()); 931 $(".offline_message").show(); 932 $(".save-registrant").val(initval.proceed_register); 933 $(".save-registrant").attr("data-payment", ""); 934 $('form.ticket-reg').find(".message").empty(); 935 } 936 else 937 { 938 $("form#ticket-reg").attr('action', initval.paypal_site); 939 $(".offline_message").hide(); 940 $(".save-registrant").val(initval.paypal_proceed); 941 $(".save-registrant").attr("data-payment", "1"); 942 $('form.ticket-reg').find(".message").empty(); 943 } 944 }); 945 946 947$(document).delegate('.eventer-permission-add-registrants', 'change', function(){ 948 if ($(this).is(':checked')) { 949 $(this).closest('.eventer-registrants-row').find('.eventer-removable-field-bypermission').show(); 950 } 951 else 952 { 953 $(this).closest('.eventer-registrants-row').find('.eventer-removable-field-bypermission').hide(); 954 } 955}); 956 957$(document).delegate('.remove_from_cart_button', 'click', function(){ 958 var product = $(this).attr('data-product_id'); 959 $("input:checkbox[name='"+product+"']:checked").each(function(){ 960 $(this).trigger('change'); 961 }); 962 $("input:radio[name='"+product+"']:checked").each(function(){
963 $(this).prop('checked',false); 964 $(this).trigger('change'); 965 }); 966 setTimeout(function(){ 967 jQuery(document.body).trigger("update_checkout"); 968 $(".showcoupon").click( function() { 969 $(".checkout_coupon").slideToggle(); 970 return false;}); 971 }, 500); 972}); 973 974 975 $(document).on('keyup mouseup', ".num-tickets, .eventer-qtyminus, .eventer-qtyplus", function () { 976 var $crow = $(this).closest(".eventer-ticket-type-row"); 977 var closest_booking = $(this).closest('.eventer-front-ticket-area-dynamic'); 978 //$crow.append(registrant_fields); 979 var remaining_tickets = $crow.find('.remaining-ticket').text(); 980 var set_remaining = (remaining_tickets>=10)?10:remaining_tickets; 981 var price = $crow.find(".price-ticket").attr('data-tprice'); 982 var number = parseInt($crow.find(".num-tickets").val()); 983 var calculation; 984 var have_ticket; 985 if($(this).val()==='-' || $(this).val()==='+') 986 { 987 if (!isNaN(number) ) 988 { 989 if($(this).val()==='-' && number > 0) 990 { 991 calculation = $crow.find('.num-tickets').val(number - 1); 992 } 993 else if($(this).val()==='+') 994 { 995 calculation = $crow.find('.num-tickets').val(number + 1); 996 if($crow.find('.num-tickets').val()>set_remaining) 997 { 998 $crow.find('.num-tickets').val(set_remaining); 999 //calculation = 10; 1000 } 1001 } 1002 } 1003 else 1004 { 1005 calculation = $crow.find('.num-tickets').val(0); 1006 } 1007 } 1008 var total_tickets = $crow.find(".num-tickets").val(); 1009 if(total_tickets>set_remaining) 1010 { 1011 $crow.find(".num-tickets").val(set_remaining); 1012 } 1013 var new_total_tickets = $crow.find(".num-tickets").val(); 1014 var registrants_fields_set = ''; 1015 var registrants_boxes = $crow.find('.eventer-registrants-row').length; 1016 var registrants_boxes_ind = $crow.find('.eventer-registrants-row').find('.eventer-registrants-list').length; 1017 var registrant1_name = $(closest_booking).find('#reg_name').val(); 1018 var registrant1_email = $(closest_booking).find('#reg_email').val(); 1019 var checked_row_permission_field = 1; 1020 var eventer_allowed_registrants_details = 1; 1021 for (var i = registrants_boxes_ind; i < new_total_tickets; i++) 1022 { 1023 var registrant_fields = ''; 1024 1025 if($crow.find('.default-registrant').length<=0 && $(closest_booking).find('.default-registrant').length>0) 1026 { 1027 checked_row_permission_field = 0; 1028 } 1029 var permission_switch_added = $crow.find('.eventer-registrants-field-permission').length; 1030 var first_switch = 0; 1031 1032 if(i===checked_row_permission_field && initval.mandatory_registrants!=='on') 1033 { 1034 first_switch = 1; 1035 registrant_fields += '<div class="eventer-col10 eventer-registrants-field-permission"><label class="eventer-checkbox"><input class="eventer-permission-add-registrants" checked type="checkbox"> '+initval.individual_label+'</label></div>'; 1036 } 1037 var name_Series = (i+1); 1038 var registrants_field_class = (permission_switch_added>0 || first_switch!==0)?'eventer-removable-field-bypermission':''; 1039 registrant_fields += '<div class="eventer-registrants-list '+registrants_field_class+'"><div class="eventer-col5 eventer-col10-xs"><label>'+initval.registrant_label+' '+name_Series+'</label><input data-required="1" class="registrant-fields eventer_registrant_name" placeholder="'+initval.registrant_name+'" name="'+initval.registrant_name_label+i+'" type="text"></div><div class="eventer-col5 eventer-col10-xs"><label> </label><input data-required="1" class="registrant-fields eventer_registrant_email" placeholder="'+initval.registrant_email+'" name="'+initval.registrant_email_label+i+'" type="email"></div></div>'; 1040 1041 registrants_fields_set += registrant_fields; 1042 } 1043 var has_checkbox = $crow.find('.eventer-permission-add-registrants').length; 1044 eventer_allowed_registrants_details = (has_checkbox>0)?$crow.find('.eventer-permission-add-registrants:checked').length:eventer_allowed_registrants_details; 1045 if(initval.individual_reg==='1') 1046 { 1047 if(registrants_boxes>0 && new_total_tickets>=registrants_boxes_ind) 1048 { 1049 $crow.find('.eventer-registrants-row').append(registrants_fields_set); 1050 } 1051 else if(registrants_boxes>0 && new_total_tickets<=registrants_boxes_ind && new_total_tickets!=='0') 1052 { 1053 var less_fields = (registrants_boxes_ind-new_total_tickets); 1054 $crow.find('.eventer-registrants-row > .eventer-registrants-list').slice(-less_fields).remove(); 1055 } 1056 else 1057 { 1058 $crow.find('.eventer-registrants-row').remove(); 1059 $crow.append('<div class="eventer-row eventer-registrants-row" data-ticket="'+$crow.find('.name-ticket').text()+'">'+registrants_fields_set+'</div>'); 1060 } 1061 /*Starting Code to show hide registrant name & email field*/ 1062 if(eventer_allowed_registrants_details!==1) 1063 { 1064 $crow.find('.eventer-registrants-row').find('.eventer-removable-field-bypermission').hide(); 1065 } 1066 else 1067 { 1068 $crow.find('.eventer-registrants-row').find('.eventer-removable-field-bypermission').show(); 1069 } 1070 /*Ending Code to show hide registrant name & email field*/ 1071 var removable_rows = $crow.find('.eventer-removable-field-bypermission').length; 1072 if(removable_rows<=0) 1073 { 1074 $crow.find('.eventer-registrants-field-permission').remove(); 1075 } 1076 if($(closest_booking).find('.default-registrant').length===0) 1077 { 1078 $(closest_booking).find(".eventer-registrants-list:first").find('.eventer_registrant_name').addClass('default-registrant'); 1079 $(closest_booking).find(".eventer-registrants-list:first").find('.eventer_registrant_name').val(registrant1_name); 1080 $(closest_booking).find(".eventer-registrants-list:first").find('.eventer_registrant_email').val(registrant1_email); 1081 } 1082 1083 } 1084 1085 1086 1087 number = parseInt($crow.find(".num-tickets").val()); 1088 if(($.isNumeric(number)&&$.isNumeric(price))||number==='') 1089 { 1090 if(number==='') 1091 { 1092 number = 0; 1093 } 1094 var $ticket_counted_price = price*number; 1095 var set_price_individual = (initval.curr_position==="postfix")?$ticket_counted_price+initval.curr:initval.curr+$ticket_counted_price; 1096 $crow.find(".total-price").text(set_price_individual); 1097 $crow.find(".total-price").attr('data-mprice', $ticket_counted_price); 1098 } 1099 var total_price_ticket = 0; 1100 $(closest_booking).find(".total-price").each(function(){ 1101 var $one_price = ($(this).attr("data-mprice")!=='')?$(this).attr("data-mprice"):0; 1102 total_price_ticket = total_price_ticket+parseInt($one_price); 1103 }); 1104 var set_price = (initval.curr_position==="postfix")?total_price_ticket+initval.curr:initval.curr+total_price_ticket; 1105 $(closest_booking).find(".eventer-ticket-price-total").text(set_price); 1106 $(closest_booking).find(".eventer-ticket-price-total").attr('data-fprice', total_price_ticket); 1107 $(closest_booking).find(".num-tickets").each(function(){ 1108 if($(this).val()!=='0') 1109 { 1110 have_ticket = 1; 1111 } 1112 }); 1113 if(total_price_ticket>0) 1114 { 1115 $(closest_booking).find('.save-registrant').prop('disabled', false); 1116 $(closest_booking).find('.add_services_btn').removeClass('disableClick'); 1117 $(closest_booking).find("form#ticket-reg").attr('action', initval.paypal_site); 1118 $(closest_booking).find(".payment-options-area").show(); 1119 $(closest_booking).find(".offline_message").hide(); 1120 $(closest_booking).find(".save-registrant").val(initval.paypal_proceed); 1121 $(closest_booking).find(".save-registrant").attr("data-payment", "1");
1122 $(closest_booking).find('form.ticket-reg').find(".message").empty(); 1123 if(initval.offline_switch!=="1" && initval.woo_payment_switch!=='on') 1124 { 1125 $(closest_booking).find(".chosen-payment-option").prop("checked", true); 1126 } 1127 else 1128 { 1129 $(closest_booking).find("input[name=chosen-payment-option][value='0']").prop("checked",true); 1130 $(closest_booking).find(".offline_message").show(); 1131 $(closest_booking).find(".save-registrant").val(initval.proceed_register); 1132 $(closest_booking).find(".save-registrant").attr("data-payment", ""); 1133 $(closest_booking).find('form.ticket-reg').find(".message").empty(); 1134 $(closest_booking).find("form#ticket-reg").attr('action', $(closest_booking).find("#paypal_return").text()); 1135 } 1136 } 1137 else if(have_ticket===1) 1138 { 1139 $(closest_booking).find('.save-registrant').prop('disabled', false); 1140 $(closest_booking).find('.add_services_btn').removeClass('disableClick'); 1141 $(closest_booking).find("form#ticket-reg").attr('action', $(closest_booking).find("#paypal_return").text()); 1142 $(closest_booking).find(".payment-options-area").hide(); 1143 $(closest_booking).find(".offline_message").hide(); 1144 $(closest_booking).find(".save-registrant").val(initval.proceed_register); 1145 $(closest_booking).find(".save-registrant").attr("data-payment", ""); 1146 $(closest_booking).find('form.ticket-reg').find(".message").empty(); 1147 } 1148 else 1149 { 1150 $(closest_booking).find('.save-registrant').prop('disabled', true); 1151 $(closest_booking).find('.add_services_btn').addClass('disableClick'); 1152 $(closest_booking).find("form#ticket-reg").attr('action', $(closest_booking).find("#paypal_return").text()); 1153 $(closest_booking).find(".payment-options-area").hide(); 1154 $(closest_booking).find(".offline_message").show(); 1155 $(closest_booking).find(".save-registrant").val(initval.proceed_register); 1156 $(closest_booking).find(".save-registrant").attr("data-payment", ""); 1157 $(closest_booking).find('form.ticket-reg').find(".message").empty(); 1158 } 1159 }); 1160 1161 $('.add_services_btn').click(function(){ 1162 var closest_booking = $(this).closest('.eventer-front-ticket-area-dynamic'); 1163 if ($(closest_booking).find(".restrict-service").length && !$(closest_booking).find('.restrict-service-field').is(':checked')) 1164 { 1165 $(closest_booking).find('.save-registrant').prop('disabled', true); 1166 } 1167 }); 1168 //Code for additional services select field 1169 //Start 1170 $(".add_services").on('change', function () { 1171 var closest_booking = $(this).closest('.eventer-front-ticket-area-dynamic'); 1172 var have_ticket; 1173 $(closest_booking).find(".num-tickets").each(function(){ 1174 if($(this).val()!=='0') 1175 { 1176 have_ticket = 1; 1177 } 1178 }); 1179 var $crow = $(this).closest(".eventer-ticket-type-row"); 1180 var clist = $(this).closest("li"); 1181 var price = clist.attr('data-tprice'); 1182 var total_price_services = 0; 1183 var check_status; 1184 var total_price_ticket = 0; 1185 if ($(this).is(':radio')) { 1186 $crow.find(".price-ticket").attr('data-mprice', 0); 1187 } 1188 if($(this).is(':checked')) 1189 { 1190 clist.attr('data-mprice', price); 1191 check_status = "1"; 1192 } 1193 else 1194 { 1195 clist.attr('data-mprice', 0); 1196 check_status = "0"; 1197 } 1198 if ($(closest_booking).find(".restrict-service").length && !$(closest_booking).find('.restrict-service-field').is(':checked')) 1199 { 1200 check_status = "2"; 1201 } 1202 else 1203 { 1204 check_status = "1"; 1205 } 1206 $crow.find(".price-ticket").each(function(){ 1207 var service_price = ($(this).attr("data-mprice")!=='')?$(this).attr("data-mprice"):0; 1208 total_price_services = total_price_services+parseInt(service_price); 1209 }); 1210 var set_price_individual_service = (initval.curr_position==="postfix")?total_price_services+initval.curr:initval.curr+total_price_services; 1211 $crow.find(".total-price").text(set_price_individual_service); 1212 $crow.find(".total-price").attr('data-mprice', total_price_services); 1213 $(closest_booking).find(".total-price").each(function(){ 1214 var $one_price = ($(this).attr("data-mprice")!=='')?$(this).attr("data-mprice"):0; 1215 total_price_ticket = total_price_ticket+parseInt($one_price); 1216 }); 1217 var set_price = (initval.curr_position==="postfix")?total_price_ticket+initval.curr:initval.curr+total_price_ticket; 1218 $(closest_booking).find(".eventer-ticket-price-total").text(set_price); 1219 $(closest_booking).find(".eventer-ticket-price-total").attr('data-fprice', total_price_ticket); 1220 $(closest_booking).find(".payment-options-area").hide(); print_r(total_price_ticket); 1221 if(total_price_ticket>0) 1222 { 1223 $(closest_booking).find('.save-registrant').prop('disabled', false); 1224 $(closest_booking).find('.add_services_btn').removeClass('disableClick'); 1225 if(check_status==="2") 1226 { 1227 $(closest_booking).find('.save-registrant').prop('disabled', true); 1228 $(closest_booking).find('.add_services_btn').removeClass('disableClick'); 1229 } 1230 $(closest_booking).find("form#ticket-reg").attr('action', initval.paypal_site); 1231 $(closest_booking).find(".payment-options-area").show(); 1232 $(closest_booking).find(".offline_message").hide(); 1233 $(closest_booking).find(".save-registrant").val(initval.paypal_proceed); 1234 $(closest_booking).find(".save-registrant").attr("data-payment", "1");
1235 $(closest_booking).find('form.ticket-reg').find(".message").empty(); 1236 if(initval.offline_switch!=="1" && initval.woo_payment_switch!=='on') 1237 { 1238 $(closest_booking).find(".chosen-payment-option").prop("checked", true); 1239 } 1240 else 1241 { 1242 $(closest_booking).find("input[name=chosen-payment-option][value='0']").prop("checked",true); 1243 $(closest_booking).find(".offline_message").show(); 1244 $(closest_booking).find(".save-registrant").val(initval.proceed_register); 1245 $(closest_booking).find(".save-registrant").attr("data-payment", ""); 1246 $(closest_booking).find('form.ticket-reg').find(".message").empty(); 1247 $(closest_booking).find("form#ticket-reg").attr('action', $("#paypal_return").text()); 1248 } 1249 } 1250 else if(have_ticket===1 && check_status!=="2") 1251 { 1252 $(closest_booking).find('.save-registrant').prop('disabled', false); 1253 $(closest_booking).find('.add_services_btn').removeClass('disableClick'); 1254 } 1255 else 1256 { 1257 $(closest_booking).find('.save-registrant').prop('disabled', true); 1258 $(closest_booking).find('.add_services_btn').removeClass('disableClick'); 1259 } 1260 }); 1261 //End 1262 1263 /*$('.eventer-woo-checkout-process-form').on('submit', function(e){ 1264 var woo_validation = 0; 1265 var validated = "1"; 1266 $(this).find('.eventer-woo-checkout-form, .woocommerce-form__input').each(function(){ 1267 $(this).attr('data-required', "1"); 1268 woo_validation = EVENTER.VALIDATEFORMFIELDS($(this), woo_validation); 1269 }); 1270 if(woo_validation>0) 1271 { 1272 e.preventDefault(); 1273 return false; 1274 } 1275 });*/ 1276 1277 $(document).on('submit', 'form.ticket-reg', function (e) { 1278 var booking_type = $(this).attr('data-booking'); 1279 var closest_booking = $(this).closest('.eventer-front-ticket-area-dynamic'); console.log($(this)); 1280 var booking_nonce = $(this).attr('data-nonce'); 1281 $('.eventer-removable-field-bypermission').each(function(){ 1282 if($(this).css('visibility') == 'hidden' || $(this).css('display') == 'none'){ 1283 $(this).remove(); 1284 } 1285 }); 1286 if($(this).hasClass("eventer-direct-register") || initval.mandatory_registrants==='on') 1287 { 1288 var validated = "1"; 1289 $(closest_booking).find('form.ticket-reg *').filter(':input').each(function(){ 1290 var passing = EVENTER.VALIDATEFORMFIELDS($(this)); 1291 if(passing!=="1") 1292 { 1293 validated = "0"; 1294 } 1295 }); 1296 if(validated!=="1") 1297 { 1298 return false; 1299 } 1300 } 1301 var form_element = $(this); 1302 var total_price_ticket = $(closest_booking).find(".eventer-ticket-price-total").attr('data-fprice'); 1303 var $all_fields = $(this).find(':input').not('.registrant-fields').serializeArray(); 1304 var all_registrants_list = {}; 1305 $(closest_booking).find('.eventer-registrants-row').each(function(){ 1306 var ticket_name_reg = $(this).attr('data-ticket'); 1307 var registrants_list = []; 1308 $(this).find('.eventer-registrants-list').each(function(){ 1309 var registrants_field_list = {}; 1310 var registrant_name = $(this).find('.eventer_registrant_name').val(); 1311 var registrant_email = $(this).find('.eventer_registrant_email').val(); 1312 if(registrant_name==='') return true; 1313 registrants_field_list.name = registrant_name; 1314 registrants_field_list.email = registrant_email; 1315 registrants_list.push(registrants_field_list); 1316 }); 1317 all_registrants_list[ticket_name_reg] = registrants_list; 1318 }); 1319 1320 var registration; 1321 var Tickets = []; 1322 var Ticket_Validation = []; 1323 var service = []; 1324 $(closest_booking).find('.services-section').each(function(){ 1325 var pid = $(this).closest('.eventer-ticket-type-row').attr('data-pid'); 1326 var cost = $(this).closest('.eventer-ticket-type-row').find('.total-price').attr('data-mprice'); 1327 var services = {}; 1328 var service_vals = ''; 1329 services.name = $(this).closest('.eventer-ticket-type-row').find('.name-ticket').text(); 1330 $(this).find('.add_services').each(function(){ 1331 if($(this).is(':checked')) 1332 { 1333 service_vals += $(this).val()+', '; 1334 } 1335 }); 1336 services.value = service_vals; 1337 services.pid = pid; 1338 services.cost = cost; 1339 service.push(services); 1340 }); 1341 $(closest_booking).find(".num-tickets").each(function(){ 1342 1343 var $crow = $(this).closest(".eventer-ticket-type-row"); 1344 var data = {}; 1345 var ticket_price = '0'; 1346 var ticket_name_new = $crow.find(".name-ticket").text(); 1347 if($(this).val()!=='') 1348 { 1349 ticket_price = $crow.find(".price-ticket").attr('data-tprice'); 1350 Ticket_Validation.push(data); 1351 } 1352 if(ticket_name_new!=='') 1353 { 1354 data.name = $crow.find(".name-ticket").text(); 1355 data.number = $crow.find(".num-tickets").val(); 1356 data.pid = $crow.find('.eventer-row').attr('data-pid'); 1357 data.price = ticket_price; 1358 Tickets.push(data); 1359 } 1360 1361 }); 1362 if(Ticket_Validation.length === 0) 1363 {
1364 $(closest_booking).find('form.ticket-reg').find(".message").empty(); 1365 $(closest_booking).find('form.ticket-reg').find(".message").html(initval.blank_tickets); 1366 e.preventDefault(); 1367 return false; 1368 } 1369 else if($(closest_booking).find('input:radio:checked').length <= 0 && total_price_ticket>0 && booking_type!='woo') 1370 { 1371 $(closest_booking).find('form.ticket-reg').find(".message").empty(); 1372 $(closest_booking).find('form.ticket-reg').find(".message").html(initval.blank_payment); 1373 e.preventDefault(); 1374 return false; 1375 } 1376 else 1377 { 1378 $(closest_booking).find('form.ticket-reg').find(".message").empty(); 1379 if(initval.offline_switch!=="1") 1380 { 1381 $(closest_booking).find(".chosen-payment-option").prop("checked", true); 1382 } 1383 } 1384 var paypal_arguments = ''; 1385 if($(closest_booking).find("form#ticket-reg").attr("action").indexOf("paypal") > -1) 1386 { 1387 paypal_arguments = '<input type="hidden" name="business" value="'+initval.paypal_email+'">'; 1388 paypal_arguments += '<input type="hidden" name="cmd" value="_xclick">'; 1389 paypal_arguments += '<input type="hidden" name="on0" value="">'; 1390 paypal_arguments += '<input type="hidden" name="on1" value="'+$(closest_booking).find("#reg_email").val()+'">'; 1391 paypal_arguments += '<input type="hidden" name="item_name" value="'+$(closest_booking).find("#paypal_itemname").text()+'">'; 1392 paypal_arguments += '<input type="hidden" name="item_number" value="'+$(closest_booking).find("#eventer_id").text()+'">'; 1393 paypal_arguments += '<input type="hidden" name="amount" value="'+$(closest_booking).find(".eventer-ticket-price-total").attr('data-fprice')+'">'; 1394 paypal_arguments += '<input type="hidden" name="currency_code" value="'+initval.paypal_curr+'">'; 1395 paypal_arguments += '<input type="hidden" name="cancel_return" value="'+$("#paypal_return").text()+'">'; 1396 paypal_arguments += '<input type="hidden" name="return" value="'+$(closest_booking).find("#paypal_return").text()+'">'; 1397 $(closest_booking).find(".save-registrant").before(paypal_arguments); 1398 } 1399 else 1400 { 1401 //$(this).find("input:hidden").remove(); 1402 } 1403 if ($(closest_booking).find('#register-reg').is(":checked")) 1404 { 1405 registration = 1; 1406 } 1407 var amount = parseInt($(closest_booking).find(".eventer-ticket-price-total").attr('data-fprice')); 1408 var request = $.ajax({ 1409 url: initval.ajax_url, 1410 type: "post", 1411 //dataType:'json', 1412 //async: false, 1413 data : { 1414 action : 'eventer_registrant_tickets', 1415 reg_data: $all_fields, 1416 eventer_id: $(closest_booking).find("#eventer_id").text(), 1417 amount: amount, 1418 reg_mail: $(closest_booking).find("#reg_email").val(), 1419 reg_name: $(closest_booking).find("#reg_name").val(), 1420 reg_event_date: $(closest_booking).find("#reg_event_date").text(), 1421 tickets: Tickets, 1422 registration: registration, 1423 services: service, 1424 registrants: all_registrants_list, 1425 book_type: booking_type, 1426 //nonce: booking_nonce, 1427 }, 1428 beforeSend: function( jqXhr ) { 1429 $('body').addClass('woocommerce-checkout'); 1430 jqXhr.setRequestHeader('X-WP-Nonce', booking_nonce); 1431 form_element.find("input[type=submit]").prop('disabled', true); 1432 form_element.find('.eventer-loader-wrap').show(); 1433 }, 1434 }); 1435 request.done(function (response){ 1436 if(response) 1437 { console.log(closest_booking); 1438 var form_action = $(closest_booking).find("form.ticket-reg").attr("action"); 1439 if(form_action.indexOf("paypal") <= -1) 1440 { 1441 var newformaction = EVENTER.APPENDQUERYURL('reg', response, form_action); 1442 form_action = newformaction; 1443 $(closest_booking).find("form.ticket-reg").attr("action", form_action); 1444 1445 } 1446 var paypal_return = $(closest_booking).find("#paypal_return").text(); 1447 var new_paypal_return = EVENTER.APPENDQUERYURL('reg', response, paypal_return); 1448 $(closest_booking).find("input[name=return]").val(new_paypal_return); 1449 $(closest_booking).find("input[name=on0]").val(response); 1450 } 1451 form_element.find("input[type=submit]").prop('disabled', false); 1452 form_element.find('.eventer-loader-wrap').hide(); 1453 1454 if(booking_type==='woo') 1455 { 1456 $(closest_booking).find('.eventer_dynamic_checkout_payment').remove(); 1457 //$( document.body ).trigger( 'wc_fragment_refresh' ); 1458 form_element.closest('#eventer-ticket-form').find('.eventer-order-summary-added').remove(); 1459 $('<div class="eventer-order-summary-added widget woocommerce widget_shopping_cart">'+response+'</div>').insertBefore(closest_booking.find('.eventer-woo-checkout-section'));
1460 $(closest_booking).find('form.ticket-reg').find(".message").empty(); 1461 $(closest_booking).find('form.ticket-reg').find(".message").html(initval.tickets_added); 1462 $(closest_booking).find(".eventer-show-order-summary").trigger("click"); 1463 $(closest_booking).find('form.ticket-reg').find(".message").empty(); 1464 1465 var payment_options = closest_booking.find('.eventer_dynamic_checkout_payment'); 1466 closest_booking.find('.eventer_checkout_payment_options').empty(); 1467 closest_booking.find('.eventer_checkout_payment_options').html(payment_options); 1468 //form_element.find('.eventer-show-order-summary').show(); 1469 //jQuery(document.body).trigger("update_checkout"); 1470 $(closest_booking).find(".showcoupon").click( function() { 1471 $(closest_booking).find(".checkout_coupon").slideToggle(); 1472 return false;}); 1473 $(closest_booking).find(".showlogin").click( function() { 1474 $(closest_booking).find(".woocommerce-form-login").slideToggle(); 1475 return false;}); 1476 form_element.find('.eventer_dynamic_checkout_payment').show(); 1477 e.preventDefault(); 1478 } 1479 else 1480 { 1481 $(closest_booking).find( "form.ticket-reg" ).addClass( "new-ticket-reg" ); 1482 $(closest_booking).find( "form.ticket-reg" ).removeClass( "ticket-reg" ); 1483 $(closest_booking).find('form.new-ticket-reg').submit(); 1484 } 1485 }); 1486 request.fail(function (jqXHR, textStatus, errorThrown){ 1487 alert(errorThrown); 1488 }); 1489 return false; 1490 }); 1491 $(document).on("click", ".validate-registrant", function(e){ 1492 e.preventDefault(); 1493 var validated = "1"; 1494 var closest_booking = $(this).closest('.eventer-front-ticket-area-dynamic'); 1495 $(closest_booking).find('form.ticket-reg *').filter(':input').each(function(){ 1496 var passing = EVENTER.VALIDATEFORMFIELDS($(this)); 1497 if(passing!=="1") 1498 { 1499 validated = "0"; 1500 } 1501 }); 1502 if(validated!=="1") 1503 { 1504 return false; 1505 } 1506 $(closest_booking).find('.restricted-row').each(function(){ 1507 var ticket_cookie = $(this).attr('data-booked'); 1508 if(ticket_cookie!=="") 1509 { 1510 $(this).find('.num-tickets').prop('disabled', true); 1511 $(this).find('.eventer-qtyplus').prop('disabled', true); 1512 $(this).find('.eventer-qtyminus').prop('disabled', true); 1513 $(this).find('.eventer-restricted-msg').show(); 1514 } 1515 else 1516 { 1517 $(this).find('.num-tickets').prop('disabled', false); 1518 $(this).find('.eventer-qtyplus').prop('disabled', false); 1519 $(this).find('.eventer-qtyminus').prop('disabled', false); 1520 $(this).find('.eventer-restricted-msg').hide(); 1521 } 1522 }); 1523 $(closest_booking).find("#fname").removeClass("eventer-input-error"); 1524 $(closest_booking).find("#reg_email").removeClass("eventer-input-error"); 1525 $(closest_booking).find('form.ticket-reg').find(".message").empty(); 1526 var targetIn = $(this).attr('data-eventer-toggle-in'); 1527 var targetOut = $(this).attr('data-eventer-toggle-out'); 1528 $(this).parents('.eventer-toggle-area').find(targetOut).slideUp('fast'); 1529 $(this).parents('.eventer-toggle-area').find(targetIn).slideDown('slow'); 1530 }); 1531 1532 $("form.organizer-contact").on("submit", function(e){ 1533 var form_element = $(this); 1534 var validated = "1"; 1535 $(this).closest("form").find(".message").empty(); 1536 var all_fields = $(this).serializeArray(); 1537 var eventer_id = $(".organizer-details").text(); 1538 var eventer_date = $(".eventer-date").text(); 1539 $('form.organizer-contact *').filter(':input').each(function(){ 1540 var passing = EVENTER.VALIDATEFORMFIELDS($(this)); 1541 if(passing!=="1") 1542 { 1543 validated = "0"; 1544 } 1545 }); 1546 if(validated!=="1") 1547 { 1548 return false; 1549 } 1550 1551 var request = $.ajax({ 1552 url: initval.ajax_url, 1553 type: "post", 1554 //dataType:'json', 1555 async: false, 1556 data : { 1557 action : 'eventer_contact_organizer', 1558 org_data: all_fields, 1559 eventer_id: eventer_id, 1560 eventer_date: eventer_date, 1561 nonce: initval.organizer_contact, 1562 }, 1563 beforeSend: function( xhr ) { 1564 form_element.find("input[type=submit]").prop('disabled', true); 1565 }, 1566 }); 1567 request.done(function (response){ 1568 form_element.find("input[type=submit]").prop('disabled', false); 1569 form_element.find(".message").html(initval.contact_manager_text);
1570 $('#eventer-contact-form').slideUp(1500); 1571 }); 1572 request.fail(function (jqXHR, textStatus, errorThrown){ 1573 alert(errorThrown); 1574 }); 1575 e.preventDefault(); 1576 }); 1577 1578 1579 1580 1581 /* 1582 *$('.eventer-fn-field').each(function(){ 1583 $(this).append('<div class="eventer-fn-actions"><a href="#" class="eventer-fn-act-required" title="Mark as Required">*</a><a href="#" class="eventer-fn-act-disable" title="Disable Field"><i class="eventer-icon-eye"></i></a></div>'); 1584 1585 }); 1586 */ 1587 1588 // Disable click on expandable event details in compact list 1589 $('.eventer-list-accordion .eventer-event-item-link').on('click',function(){ 1590 $(this).parents('.eventer-event-list-item').find('.eventer-front-expandable-details').slideToggle(); 1591 return false; 1592 }); 1593});
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.