(function($){function PowermailCondition(formElement){'use strict';var $formElement=$(formElement);var defaultFieldClassNames=['powermail_input','powermail_textarea','powermail_select','powermail_radio','powermail_checkbox'];this.ajaxListener=function(){sendFormValuesToPowermailCond();$(getDefaultFieldClassNamesList()).on('change',function(){sendFormValuesToPowermailCond()})};var processActions=function(data){if(data.todo!==undefined){for(var formUid in data.todo){var $form=$('.powermail_form_'+formUid);for(var pageUid in data.todo[formUid]){var $page=$form.find('.powermail_fieldset_'+pageUid);if(data.todo[formUid][pageUid]['#action']==='hide'){hidePage(getFieldsetByUid(pageUid,$form))}
if(data.todo[formUid][pageUid]['#action']==='un_hide'){showPage(getFieldsetByUid(pageUid,$form))}
for(var fieldMarker in data.todo[formUid][pageUid]){if(data.todo[formUid][pageUid][fieldMarker]['#action']==='hide'){hideField(fieldMarker,$form)}
if(data.todo[formUid][pageUid][fieldMarker]['#action']==='un_hide'){showField(fieldMarker,$form)}}}}
reInitializeParsleyValidation()}};var sendFormValuesToPowermailCond=function(){var formToSend=$($formElement.get(0));var tempEnabledFields=formToSend.find(':disabled').prop('disabled',!1);var dataToSend=new FormData($formElement.get(0));tempEnabledFields.prop('disabled',!0);$.ajax({type:'POST',url:getAjaxUri(),global:!1,data:dataToSend,contentType:!1,processData:!1,success:function(data){if(data.loops===100){log('100 loops reached by parsing conditions and rules. Maybe there are conflicting conditions.')}
processActions(data)}})};var derequireField=function($field){if($field.prop('required')||$field.data('parsley-required')){$field.prop('required',!1);$field.removeAttr('data-parsley-required');$field.data('powermailcond-required','required')}};var rerequireField=function($field){if($field.data('powermailcond-required')==='required'){if(isHtml5ValidationActivated()){$field.prop('required','required')}else if(isParsleyValidationActivated()){$field.prop('required','required')}}
$field.removeData('powermailcond-required')};var showField=function(fieldMarker,$form){var $wrappingContainer=$form.find('.powermail_fieldwrap_'+fieldMarker);$wrappingContainer.show();var $field=getFieldByMarker(fieldMarker,$form);$field.prop('disabled',!1);rerequireField($field)};var hideField=function(fieldMarker,$form){var $wrappingContainer=$form.find('.powermail_fieldwrap_'+fieldMarker);$wrappingContainer.hide();var $field=getFieldByMarker(fieldMarker,$form);$field.prop('disabled',!0);derequireField($field)};var showPage=function($page){$page.show()};var hidePage=function($page){$page.hide()};var getAjaxUri=function(){var uri=$('*[data-condition-uri]').data('condition-uri');if(uri===undefined){log('Tag with data-condition-uri not found. Maybe TypoScript was not included.')}
return uri};var getFieldByMarker=function(fieldMarker,$form){return $form.find('[name^="tx_powermail_pi1[field]['+fieldMarker+']"]').not('[type="hidden"]')};var getFieldsetByUid=function(pageUid,$form){return $form.find('.powermail_fieldset_'+pageUid)};var listFromArray=function(array,itemPrefix,glue){itemPrefix=typeof itemPrefix!=='undefined'?itemPrefix:'';glue=typeof glue!=='undefined'?glue:',';var string='';for(var i=0;i<array.length;i++){if(i>0){string+=glue}
string+=itemPrefix+array[i]}
return string};var getDefaultFieldClassNamesList=function(){return listFromArray(defaultFieldClassNames,'.')};var isParsleyValidationActivated=function(){return $formElement.data('parsley-validate')==='data-parsley-validate'};var isHtml5ValidationActivated=function(){return $formElement.data('validate')==='html5'};var reInitializeParsleyValidation=function(){if(isParsleyValidationActivated()){$formElement.parsley().destroy();$formElement.parsley();$(document).trigger('parsleyReinit')}};var log=function(message){if(typeof console=='object'){if(typeof message==='string'){message='powermail_cond: '+message}
console.log(message)}}}
$(document).ready(function(){$('form.powermail_form').each(function(){(new PowermailCondition(this)).ajaxListener()})});$('.tx-powermail').on('submitted.powermail.form',function(){$('form.powermail_form').each(function(){(new PowermailCondition(this)).ajaxListener()})})})(jQuery)