jQuery(document).ready(function($){
var JDATA={};
var submit_open=false;
function load_json_to_local(O){
JDATA=O.closest('.evo_metarow_rsvp').find('.evors_jdata').data('j');
}
$.fn.evors_form=function (opt){
var form=this;
const form_holder=form.closest('.evors_forms');
var formtype=form.find('input[name="formtype"]').val();
works={
reset_notifications: function(elm){
$('.evors_lightbox_body').removeClass('error');
$('.evolb_content').removeClass('error');
elm.removeClass('err');
$('.evors_lightbox_body').find('.notification').hide();
},
interaction: function(){
var ERROR=false;
form.on('change','input[name="count"]', function(){
var O=$(this);
works.reset_notifications(O);
CAP=JDATA.cap;
true_capacity=JDATA.true_cap;
PERCAP=JDATA.precap;
form=O.closest('.evors_submission_form');
const oldCount=O.data('oval');
const rsvp_type=form.find('input[name=rsvp_type]').val();
VAL=parseInt(O.val());
original_rsvp_cap=parseInt(O.attr('value'));
if(formtype=='update'){
if(CAP=='wl'){
if(VAL > original_rsvp_cap){
$(this).addClass('err');
works.show_msg('err9');
ERROR=true;
}}else{
if(VAL > original_rsvp_cap){
const increased_spaces=VAL - original_rsvp_cap;
if(increased_spaces > true_capacity){
$(this).addClass('err');
works.show_msg('err9');
ERROR=true;
}}
}}else{
if(VAL > parseInt(CAP)&&CAP!='na'){
$(this).addClass('err');
works.show_msg('err9','','', 2000);
ERROR=true;
O.val(CAP);
}
if(VAL > parseInt(PERCAP)&&PERCAP!='na'){
$(this).addClass('err');
works.show_msg('err10');
ERROR=true;
}}
if(!ERROR){
works.reset_error();
}
if(!ERROR){
var guestNames=form.find('.form_guest_names');
var maskField=`<input class="regular input" name="names[]" type="text" placeholder="${evors_ajax_script.text.guest_name}">`;
var inputHolder=guestNames.find('.form_guest_names_list');
if(VAL>1){
var ExistInputCount=inputHolder.find('input').length;
if((VAL - 1) > ExistInputCount){
var appender='';
for (var x=0; x < (VAL - 1 - ExistInputCount); x++){
appender +=maskField;
}
inputHolder.append(appender);
}else{
inputHolder.find('input').each(function(index){
if(index >=(VAL - 1)) $(this).remove();
});
}
guestNames.show();
}else{
guestNames.hide();
inputHolder.html(maskField);
}}
});
form.on('click', 'span.evors_choices', function(){
var OBJ=$(this);
var VAL=OBJ.data('val');
form.attr('class','evors_gen_form evors_submission_form  rsvp_'+VAL);
OBJ.siblings().removeClass('set');
OBJ.addClass('set');
OBJ.parent().siblings('input').val(VAL);
});
$('body').on('evo_plusminus_changed', function(e, NEWQTY, MAX, OBJ){
$(OBJ).siblings('input').trigger('change');
});
form.on('click','.evors_incard_close',function(){
$(this).closest('.evors_incard_form').hide();
$(this).closest('.evo_metarow_rsvp').find('.evors_choices').removeClass('set');
});
form.on('click', '.evors_checkbox_field', function(){
var O=$(this);
if(O.hasClass('checked')){
O.removeClass('checked');
O.siblings('input').val('no');
}else{
O.addClass('checked');
O.siblings('input').val('yes');
}});
},
show_msg: function (code, type, message, hide_message){
if(message==''||message===undefined){
var C=form_holder.find('.evors_msg_').data('j');
var classN=(type==undefined||type=='error'||type=='')? 'err':type;
message=message||C.codes[code];
}
form_holder.find('.notification').addClass(classN).show().find('p').html(message);
form_holder.parent().addClass('error');
form.addClass('error');
if(hide_message > 0){
setTimeout(function(){
works.reset_error();
}, hide_message);
}},
reset_error: function(){
form_holder.find('.notification').hide().find('p').html('');
form_holder.parent().removeClass('error');
form.removeClass('error');
}}
works.interaction();
return this;
}
$('body').on('click','.evors_trig_open_rsvp_form', function(event){
event.preventDefault();
event.stopPropagation();
show_rsvp_form($(this), $(this).attr('data-val'), 'submit');
});
$('body').on('click','.evoRS_status_option_selection span.evors_choices',function(){
show_rsvp_form($(this), $(this).attr('data-val'), 'submit');
});
$('body').on('click', '.evors_rsvpiable span.evors_choices', function(event){
event.preventDefault();
event.stopPropagation();
load_json_to_local($(this));
var obj=$(this),
rsvp=obj.closest('.evors_rsvpiable'),
evoet_rsvp=obj.closest('.evoet_rsvp'),
ajaxdataa={};
ajaxdataa['rsvp']=obj.data('val');
ajaxdataa['lang']=rsvp.data('lang');
ajaxdataa['uid']=rsvp.data('uid');
ajaxdataa['updates']='no';
ajaxdataa['action']='the_ajax_evors_a7';
ajaxdataa['repeat_interval']=rsvp.data('ri');
ajaxdataa['e_id']=parseInt(rsvp.data('eid'));
var event_uid='event_'+ ajaxdataa.e_id +'_'+ ajaxdataa.repeat_interval;
$.ajax({
beforeSend: function(){
evoet_rsvp.addClass('evoloading');
},
type: 'POST',
url:evors_ajax_script.ajaxurl,
data: ajaxdataa,
dataType:'json',
success:function(data){
if(data.status=='0'){
$('body').trigger('evors_new_rsvp_eventtop');
$('body').find('.eventon_list_event.'+event_uid).each(function(){
evoet_rsvp.html(data.message);
setTimeout(function(){
evoet_rsvp.html(data.content_eventtop);
},3000);
$(this).find('.evors_eventtop_section_data').replaceWith(data.content);
if(data.card_content!==undefined){
$(this).find('.evors_eventcard_content').html(data.card_content);
}});
}else{
rsvp.append('<span class="error">'+data.message+'</span>');
}},complete:function(){
evoet_rsvp.removeClass('evoloading');
}});
});
$('body').on('click', '.evors_submit_rsvpform_btn', function(e){
e.preventDefault();
var obj=O = $(this),
ajaxdataa={ },
form=obj.closest('form.evors_submission_form'),
FORMPAR=form.parent(),
formSection=form.parent(),
error=0,
formType=form.find('input[name="formtype"]').val(),
lightbox=false;
const $count=parseInt(form.find('input[name=count]').val());
const $countMax=parseInt(form.find('input[name=count]').data('max'));
const newRSVP_status=form.find('input[name=rsvp]').val();
var is_LB_exists=$('body').find('.evors_lightbox.evo_lightbox').length ? true: false;
rsvp_hide_notifications();
FORMPAR.parent().removeClass('error');
if(error==0){
var changeCount=$count;
if(formType=='update'){
pastVal=parseInt(form.find('input[name=count]').attr('data-oval'));
changeCount=$count - pastVal;
}
if(form.find('.rsvp_status span.set').data('val')!='n'
&& JDATA.cap
&& JDATA.cap!='na'
){
var error2=false;
if(JDATA.cap=='wl'&&formType=='update'){
if(changeCount > 0) error2=true;
}else if(JDATA.cap!='wl'){
if(changeCount > parseInt(JDATA.cap)) error2=true;
}
if(error2){
error=4;
form.find('input[name=count]').addClass('err');
const errCode=(JDATA.cap=='wl'&&changeCount > 0) ? 'err11':'err9';
rsvp_error(errCode,'','',form);
}}
if(JDATA.precap!='na'&&$count > parseInt(JDATA.precap)){
error=4;
form.find('input[name=count]').addClass('err');
rsvp_error('err10','','',form);
}
if(formType=='update'&&JDATA.cap!='wl'&&$count > $countMax&&newRSVP_status!='n'){
error=4;
form.find('input[name=count]').addClass('err');
rsvp_error('err10','','',form);
}}
form.find('.form_row.req').each(function(index){
const row=$(this);
row.removeClass('err');
iO=$(this).find('input');
if(iO.length > 0){
$.each(iO, function(){
ioo=$(this);
if(ioo.hasClass('checkbox')&&ioo.val()=='no'){
error=1;
row.addClass('err');
}
if(ioo.val()==''&&ioo.is(":visible")){
error=1;
row.addClass('err');
}
if(ioo.val()=='') return true;
});
}
if($(this).find('select').length > 0&&$(this).find('select').val()=='-'){
error=1;
row.addClass('err');
}});
if(error==0){
var thisemail=form.find('input[name=email]');
if(!is_email(thisemail.val().trim())){
thisemail.addClass('err');
rsvp_error('err2','','', form);
error=2;
}}
if(error==0){
var human=rsvp_validate_human(form.find('input.captcha'));
if(!human){
error=3;
rsvp_error('err6','','',form);
}}
if(formType=='wl-remove') error=0;
if(error==0){
var updates=form.find('.updates input').attr('checked');
updates=(updates=='checked')? 'yes':'no';
ajaxdataa['action']='the_ajax_evors';
form.ajaxSubmit({
beforeSend: function(){
O.addClass('evobtn_loader full l10').prop('disabled', true);
},
type: 'POST',url:evors_ajax_script.ajaxurl,data: ajaxdataa,dataType:'json',
success:function(data){
if(data.status=='0'){
if(is_LB_exists){
const LB=$('body').find('.evors_lightbox.evo_lightbox');
LB.find('.evolb_content').addClass('evopad0i');
console.log('e');
}
FORMPAR.parent().html(data.message);
EVENTCARD=$('body').find('.event_'+data.e_id+'_'+ data.ri);
lb_eventcard=$('body').find('.evo_lightbox_body.event_'+ data.e_id+'_'+ data.ri);
if('data_content_eventtop' in data){
if(lb_eventcard.find('.evors_eventtop_section_data').length>0){
lb_eventcard.find('.evors_eventtop_section_data').replaceWith(data.data_content_eventtop);
}
if(EVENTCARD.find('.evors_eventtop_section_data').length>0){
EVENTCARD.find('.evors_eventtop_section_data').replaceWith(data.data_content_eventtop);
}}
if('data_content_eventtop_your' in data){
if(lb_eventcard.find('.evors_eventop_rsvped_data').length>0){
lb_eventcard.find('.evors_eventop_rsvped_data').replaceWith(data.data_content_eventtop_your);
}
if(EVENTCARD.find('.evors_eventop_rsvped_data').length>0){
EVENTCARD.find('.evors_eventop_rsvped_data').replaceWith(data.data_content_eventtop_your);
}}
if(data.e_id){
if(data.data_content_eventcard!=''){
const incard_form_html=EVENTCARD.find('.evors_incard_form').html();
EVENTCARD.find('.evors_eventcard_content').html(data.data_content_eventcard);
lb_eventcard.find('.evors_eventcard_content').html(data.data_content_eventcard);
if(EVENTCARD.find('.evors_incard_form').is(":visible")){
EVENTCARD.find('.evors_incard_form').html(incard_form_html).show();
}}
}
if($('body').find('#rsvp_event_'+data.e_id).length>0&&data.new_rsvp_text){
STATUS=$('#rsvp_event_'+data.e_id).find('span.rsvpstatus');
STATUS.html(data.new_rsvp_text);
STATUS.attr('class','rsvpstatus status_'+data.new_rsvp_text);
}
if($('body').find('.evo_vir_data').length>0){
const vir_data_box=$('body').find('.evo_vir_data');
if(vir_data_box.data('single')!==undefined
&& vir_data_box.data('single')=='y' &&
vir_data_box.data('refresh')
){
extra_data={};
extra_data['refresh_main']='yy';
$('body').trigger('evo_refresh_designated_elm',[ vir_data_box,'evo_vir_data', extra_data]);
}}
}else{
var passedRsvppd=(data.status)? 'err'+data.status:'err7';
rsvp_error(passedRsvppd, '', data.message,form);
}},complete:function(){
form.parent().removeClass('loading');
O.removeClass('evobtn_loader full').prop('disabled', false);
}});
}else if(error==1){	rsvp_error('err','','',form);	}});
$("body").on('click','.evors_change_rsvp_trig',function(e){
e.preventDefault();
OBJ=$(this);
OBJ.addClass('evobtn_loader full');
var _extra_data={};
_extra_data['rsvpid']=OBJ.data('rsvpid');
show_rsvp_form(OBJ, '','update', _extra_data);
})
.on('click','#lookup_rsvp_trig',function(e){
e.preventDefault();
OBJ=$(this);
var _extra_data={};
_extra_data['force_change']=true;
OBJ.addClass('evobtn_loader full');
show_rsvp_form(OBJ, '','update', _extra_data);
});
$('body').on('click','.evors_change_trig',function(){
OBJ=$(this);
$(document).find('.evors_lightbox .evolb_content.evopad0i').removeClass('evopad0i');
OBJ.addClass('evobtn_loader full l10').prop('disabled', true);
JDATA=OBJ.data('j');
show_rsvp_form(OBJ, '','update');
});
$('.eventon_rsvp_rsvplist').on('click','.update_rsvp',function(){
OBJ=$(this);
PAR=OBJ.parent();
JDATA=OBJ.parent().siblings('.evors_jdata').data('j');
show_rsvp_form(OBJ, '','update');
});
function show_rsvp_form(OBJ, RSVP,formtype, extra_data){
var ajaxdataa={};
ajaxdataa['action']='evors_get_rsvp_form';
ROW=OBJ.closest('.evo_metarow_rsvp');
if(OBJ.closest('.evo_metarow_rsvp').length) load_json_to_local(OBJ);
if(JDATA){
$.each(JDATA, function(index, val){
ajaxdataa[index]=val;
});
}
if(extra_data&&extra_data!==undefined){
$.each(extra_data, function(ind, vall){
ajaxdataa[ ind ]=vall;
});
}
ajaxdataa['rsvp']=RSVP;
ajaxdataa['formtype']=formtype;
const FORM=OBJ.closest('.evors_forms');
FORMNEST=FORM.parent();
$.ajax({
beforeSend: function(){ 	loading(OBJ);		},
url:	evors_ajax_script.ajaxurl,data: 	ajaxdataa,	dataType:'json', type: 	'POST',
success:function(data){
if(data.status=='good'){
if(ajaxdataa.incard=='yes'){
ROW.find('.evors_incard_form')
.removeClass('error')
.html(data.content)
.slideDown('fast');
}else{
var is_LB_exists=$('body').find('.evors_lightbox.evo_lightbox').length ? true: false;
if(is_LB_exists){
const LB=$('body').find('.evors_lightbox.evo_lightbox');
LB.find('.evolb_content').html(data.content);
}else{
var lb_ajax_data={
lbdata:{
class:'evors_lightbox',
padding:'evopad0',
additional_class:(ajaxdataa['form_style']=='clean' ? 'clean':'color'),
content: data.content
},
adata:{	end:'_client'	}};
ROW.evo_lightbox_open(lb_ajax_data);
}
if(ajaxdataa.formtype=='update'&&ajaxdataa.rsvpid==''){
setTimeout(function(){ $('body').find('.evors_findrsvp_trig').focus(); },500);
}
$('body').trigger('evolightbox_show');
}
$('body').find('form.evors_gen_form').evors_form();
}else{
}},complete:function(){
completeloading(OBJ);
FORMNEST.closest('.evorow').removeClass('loading');
FORM.removeClass('loading');
}});
}
function loading(obj){
if(obj.hasClass('change')){
obj.addClass('evobtn_loader');
return;
}
obj.closest('.evorow').addClass('loading');
obj.closest('.trig_evo_loading').addClass('evoloading');
obj.closest('p.rsvpmanager_event').addClass('loading');
}
function completeloading(obj){
obj.closest('.evorow').removeClass('loading');
obj.closest('.trig_evo_loading').removeClass('evoloading');
obj.closest('p.rsvpmanager_event').removeClass('loading');
if(obj.hasClass('change')) obj.removeClass('evobtn_loader');
}
$(document).on('keypress', '.evors_findrsvp_trig', function (e){
if(e.which===13){
e.preventDefault();
$('body').find('.evors_findrsvp_form_btn').trigger('click');
}});
$('body').on('click','.evors_findrsvp_form_btn', function(){
var obj=$(this);
var form=obj.closest('form.evors_findrsvp_form');
var error=0;
var formdata=form.serializeArray().reduce(function(obj, item){
obj[item.name]=item.value;
return obj;
}, {});
f_holder=obj.closest('.evors_forms');
form.find('.input').each(function(index){
if($(this).hasClass('req')&&$(this).val()==''){
error=1;
}});
if(error=='1'){
rsvp_error('err','','',form);
}else{
var ajaxdataa={};
ajaxdataa['action']='evors_find_rsvp_form';
form.ajaxSubmit({
beforeSend: function(){ 	obj.addClass('evobtn_loader full l10');		},
url:	evors_ajax_script.ajaxurl,
data: 	ajaxdataa,	dataType:'json', type: 	'POST',
success:function(data){
if(data.status=='good'){
if(formdata.incard=='yes'){
}else{
}
f_holder.parent().removeClass('error').addClass('t');
f_holder.parent().html(data.content);
$('body').find('form.evors_gen_form').evors_form();
}else{
rsvp_error('err5','','',form);
}
obj.removeClass('evobtn_loader full');
},complete:function(){ 		}});
}});
$('body').on('mouseover','.evors_whos_coming span.initials', function(){
OBJ=$(this);
EM=OBJ.parent().find('em.tooltip');
TEXT=OBJ.data('name');
POS=OBJ.position();
EM.css({'left':(POS.left+20), 'top':(POS.top-30)}).html(TEXT).show();
});
$('body').on('mouseout','.evors_whos_coming span', function(){
OBJ=$(this);
EM=OBJ.parent().find('em.tooltip');
EM.hide();
});
$('body').on('click','.evors_whos_coming span',function(){
LINK=$(this).data('link');
if(LINK!='na')
window.open(LINK, '_blank');
});
$('#evoau_event_manager').on('click','a.load_rsvp_stats',function(event){
event.preventDefault();
O=$(this);
var data_arg={
eid: O.data('eid'),
ri: O.data('ri'),
data: O.closest('.evoau_manager').find('.evoau_manager_json').data('js')
};
load_rsvp_stats(O , data_arg);
});
$(document).on('click','.evorsau_refresh_data',function(){
O=$(this);
var data_arg={
eid: O.closest('.evoau_manager_continer').data('eid'),
ri: O.closest('.evoau_manager_continer').data('ri'),
data: O.closest('.evoau_manager').find('.evoau_manager_json').data('js')
};
load_rsvp_stats(O , data_arg, true);
});
function load_rsvp_stats(O, data_arg, refresh){
data_arg['action']='evors_ajax_get_auem_stats';
MANAGER=O.closest('.evoau_manager');
$.ajax({
beforeSend: function(){
MANAGER.find('.trig_evo_loading').addClass('evoloading');
MANAGER.find('.eventon_actionuser_eventslist').addClass('evoloading');
},
type: 'POST',
url:evors_ajax_script.ajaxurl,
data: data_arg,
dataType:'json',
success:function(data){
if(refresh){
MANAGER.find('.evoau_manager_event_content').html(data.html);
}else{
$('body').trigger('evoau_show_eventdata',[MANAGER, data.html, true]);
}},complete:function(){
MANAGER.find('.eventon_actionuser_eventslist').removeClass('evoloading');
MANAGER.find('.trig_evo_loading').removeClass('evoloading');
}});
}
$(document).on('click','.evorsau_trig_find_attendee',function(){
$(this).parent().siblings('.evorsau_find_rsvp').toggle();
});
$(document).on('change paste keyup','input.evorsau_find_attendee',function(){
var O=$(this);
var val=O.val();
const section=O.closest('.evorsau_attendee_list');
section.find('li').each(function(){
var show=false;
if(val==$(this).data('rsvpid')) show=true;
if(val==$(this).data('e')) show=true;
if($(this).data('e').includes(val)) show=true;
if(val=='') show=true;
(show) ? $(this).show(): $(this).hide();
});
});
$('body').on('click','.evorsau_trig_rsvp_form',function(){
OBJ=$(this);
JDATA=OBJ.siblings('.evors_jdata').data('j');
var extra_data={};
extra_data['loginuser']='no';
show_rsvp_form(OBJ, '','submit', extra_data);
});
$('.evoau_manager_event').on('click','span.checkin',function(){
var obj=$(this);
var PAR=obj.closest('.evorsau_attendee_list');
if(!PAR.hasClass('checkable')) return false;
var status=obj.attr('data-status');
status=(status==''||status=='check-in')? 'checked':'check-in';
var data_arg={
action: 'the_ajax_evors_f4',
rsvp_id: obj.attr('data-id'),
status:  status,
nonce: PAR.find('input#evors_nonce').val()
};
$.ajax({
beforeSend: function(){
obj.html(obj.html()+'...');
},
type: 'POST',
url:evors_ajax_script.ajaxurl,
data: data_arg,
dataType:'json',
success:function(data){
obj.attr({'data-status':status}).html(data.new_status_lang)
.removeAttr('class')
.addClass(status+' checkin');
}});
});
$('body').on('click','.evorsw_remove_wl',function(){
FORM=$(this).closest('form');
FORM.find('input[name="formtype"]').val('wl-remove');
FORM.find('.evors_submit_rsvpform_btn').trigger('click');
});
$('body').on('click', '.evo_elm_dynamic_select_trig',function(e){
e.preventDefault();
});
function rsvp_error(code, type, message, O){
FORM=O.closest('.evors_forms');
F=FORM.find('form');
if(message==''||message===undefined){
var C=FORM.find('.evors_msg_').data('j');
var classN=(type==undefined||type=='error'||type=='')? 'err':type;
message=C.codes[code]
}
FORM.find('.notification').addClass(classN).show().find('p').html(message);
FORM.parent().addClass('error');
F.addClass('error');
}
function rsvp_hide_notifications(){
$('.evors_lightbox_body').find('.notification').hide();
}
function rsvp_validate_human(field){
if(field==undefined){
return true;
}else{
var numbers=['11', '3', '6', '3', '8'];
if(numbers[field.attr('data-cal')]==field.val()){
return true;
}else{ return false;}}
}
function is_email(email){
var regex=/^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(email);
}});