';
if(typeof result.fields!=='undefined'){
$.each(result.fields, function(index, value){
$(value+'[name="'+index+'"]').parent().addClass('error');
});
}
SUPER.form_submission_finished(form, result, html, oldHtml, duration);
}}
}
if(proceed) callback();
};
SUPER.before_email_send_hook=function(event, form, data, oldHtml, callback){
var i, name, found=0, functions=super_common_i18n.dynamic_functions.before_email_send_hook;
if(typeof functions!=='undefined'){
for(i=0; i < functions.length; i++){
name=functions[i].name;
if(typeof SUPER[name]==='undefined') continue;
found++;
SUPER[name](event, form, data, oldHtml, callback);
}}
if(found==0) callback();
};
SUPER.before_validating_form_hook=function(changedField, form, doingSubmit){
var i, name, functions=super_common_i18n.dynamic_functions.before_validating_form_hook;
if(typeof functions!=='undefined'){
for(i=0; i < functions.length; i++){
name=functions[i].name;
if(typeof SUPER[name]==='undefined') continue;
SUPER[name](changedField, form, doingSubmit);
}}
};
SUPER.after_validating_form_hook=function(changedField, form){
var i, name, functions=super_common_i18n.dynamic_functions.after_validating_form_hook;
if(typeof functions!=='undefined'){
for(i=0; i < functions.length; i++){
name=functions[i].name;
if(typeof SUPER[name]==='undefined') continue;
SUPER[name](changedField, form);
}}
};
SUPER.after_initializing_forms_hook=function(changedField, form, callback){
var i, name, functions=super_common_i18n.dynamic_functions.after_initializing_forms_hook;
if(typeof functions!=='undefined'){
for(i=0; i < functions.length; i++){
name=functions[i].name;
if(typeof SUPER[name]==='undefined') continue;
SUPER[name](changedField, form);
}}
callback(form);
};
SUPER.get_frontend_or_backend_form=function(element, form){
var final_form=form;
if(element){
if(element.closest('.super-form')) final_form=element.closest('.super-form');
if(element.closest('.super-preview-elements')) final_form=element.closest('.super-preview-elements');
}else{
if(!form){
if(document.querySelector('.super-preview-elements')) final_form=document.querySelector('.super-preview-elements');
if(document.querySelector('.super-live-preview')) final_form=document.querySelector('.super-live-preview');
}else{
final_form=form;
}}
if(!final_form) final_form=document.body;
if(final_form&&final_form.classList.contains('super-multipart')){
final_form=final_form.closest('.super-form');
}
return final_form;
};
SUPER.after_dropdown_change_hook=function($field, $form, $skip){
$form=SUPER.get_frontend_or_backend_form($field, $form);
var $functions=super_common_i18n.dynamic_functions.after_dropdown_change_hook;
jQuery.each($functions, function(key, value){
if(typeof SUPER[value.name]!=='undefined'){
SUPER[value.name]($field, $form);
}});
if(typeof $field!=='undefined'&&($skip!==true)){
SUPER.auto_step_multipart($field, $form);
}
SUPER.save_form_progress($form);
};
SUPER.after_field_change_blur_hook=function($field, $form, $skip){
if(typeof $field!=='undefined'){
if($field.value===''){
if($field.closest('.super-shortcode')) $field.closest('.super-shortcode').classList.remove('super-filled');
}else{
if($field.closest('.super-shortcode')) $field.closest('.super-shortcode').classList.add('super-filled');
}}
$form=SUPER.get_frontend_or_backend_form($field, $form);
var $functions=super_common_i18n.dynamic_functions.after_field_change_blur_hook;
jQuery.each($functions, function(key, value){
if(typeof SUPER[value.name]!=='undefined'){
SUPER[value.name]($field, $form, $skip);
}});
if(typeof $field!=='undefined'&&($skip!==true)){
SUPER.auto_step_multipart($field, $form);
}
SUPER.save_form_progress($form);
};
SUPER.after_radio_change_hook=function($field, $form, $skip){
$form=SUPER.get_frontend_or_backend_form($field, $form);
var $functions=super_common_i18n.dynamic_functions.after_radio_change_hook;
jQuery.each($functions, function(key, value){
if(typeof SUPER[value.name]!=='undefined'){
SUPER[value.name]($field, $form);
}});
if(typeof $field!=='undefined'&&($skip!==true)){
SUPER.auto_step_multipart($field, $form);
}
SUPER.save_form_progress($form);
};
SUPER.after_checkbox_change_hook=function($field, $form, $skip){
$form=SUPER.get_frontend_or_backend_form($field, $form);
var $functions=super_common_i18n.dynamic_functions.after_checkbox_change_hook;
jQuery.each($functions, function(key, value){
if(typeof SUPER[value.name]!=='undefined'){
SUPER[value.name]($field, $form);
}});
if(typeof $field!=='undefined'&&($skip!==true)){
SUPER.auto_step_multipart($field, $form);
}
SUPER.save_form_progress($form);
};
SUPER.after_init_common_fields=function(){
var $functions=super_common_i18n.dynamic_functions.after_init_common_fields;
jQuery.each($functions, function(key, value){
if(typeof SUPER[value.name]!=='undefined'){
SUPER[value.name]();
}});
};
SUPER.save_form_progress_timeout=null;
SUPER.save_form_progress=function($form){
if(!$form.classList.contains('super-save-progress')){
return false;
}
if(SUPER.save_form_progress_timeout!==null){
clearTimeout(SUPER.save_form_progress_timeout);
}
SUPER.save_form_progress_timeout=setTimeout(function (){
var $data=SUPER.prepare_form_data($($form));
var $form_id=$data.form_id;
$data=SUPER.after_form_data_collected_hook($data.data);
$.ajax({
url: super_common_i18n.ajaxurl,
type: 'post',
data: {
action: 'super_save_form_progress',
data: $data,
form_id: $form_id
}});
}, 1000);
};
SUPER.after_email_send_hook=function($form, $data, $old_html, $result){
var $event,
ga=window[window.GoogleAnalyticsObject||'ga'],
$ga_tracking,
$proceed,
$values,
$parameters;
if(typeof ga=='function'){
$ga_tracking=super_common_i18n.ga_tracking;
$ga_tracking=$ga_tracking.split('\n');
$($ga_tracking).each(function(index, value){
$proceed=true;
$values=value.split(":");
if($values.length>1){
$event=$values[1].split("|");
if(!$form.hasClass('super-form-'+$values[0])){
$proceed=false;
}}else{
$event=$values[0].split("|");
}
if($proceed){
if(( (typeof $event[1]==='undefined')||($event[1]==='')) ||
((typeof $event[2]==='undefined')||($event[2]===''))){
console.log('Seems like we are missing required ga() parameters!');
}else{
if(($event[0]=='send')&&($event[1]=='event')){
if((typeof $event[3]==='undefined')||($event[3]==='')){
console.log('ga() is missing the "eventAction" parameter (The type of interaction e.g. "play")');
}else{
$parameters={};
$parameters.hitType=$event[1];
$parameters.eventCategory=$event[2];
$parameters.eventAction=$event[3];
if(typeof $event[4]!=='undefined'){
$parameters.eventLabel=$event[4];
}
if(typeof $event[5]!=='undefined'){
$parameters.eventValue=$event[5];
}
ga($event[0], $parameters);
}}
}}
});
}
var $functions=super_common_i18n.dynamic_functions.after_email_send_hook;
jQuery.each($functions, function(key, value){
if(typeof SUPER[value.name]!=='undefined'){
SUPER[value.name]($form, $data, $old_html, $result);
}});
};
SUPER.after_responsive_form_hook=function($classes, $new_class, $window_classes, $new_window_class){
var $functions=super_common_i18n.dynamic_functions.after_responsive_form_hook;
jQuery.each($functions, function(key, value){
if(typeof SUPER[value.name]!=='undefined'){
SUPER[value.name]($classes, $new_class, $window_classes, $new_window_class);
}});
};
SUPER.prepare_form_data_fields=function($form){
var $data={},
$field,
$files;
$form.find('.super-shortcode-field').each(function(){
var $this=$(this),
$hidden=false,
$parent=$this.parents('.super-shortcode:eq(0)'),
$i,
$new_value,
$selected_items,
$email_value,
$item_value;
if(typeof $this.attr('name')==='undefined'){
return true;
}
$this.parents('.super-shortcode.super-column').each(function(){
if($(this).css('display')=='none'){
$hidden=true;
}});
if(( $hidden===true)||(( $parent.css('display')=='none')&&(!$parent.hasClass('super-hidden')))){
}else{
if($this.hasClass('super-fileupload')){
$parent=$this.parents('.super-field-wrapper:eq(0)');
$field=$parent.find('.super-active-files');
$files=$parent.find('.super-fileupload-files > div');
$data[$field.attr('name')]={
'label':$field.data('email'),
'type':'files',
'exclude':$field.data('exclude'),
'exclude_entry':$field.data('exclude-entry'),
'files':{}};
$files.each(function($index,$file){
$file=$(this);
$data[$field.attr('name')].files[$index]={
'name':$field.attr('name'),
'value':$file.attr('data-name'),
'url':$file.attr('data-url'),
'thumburl':$file.attr('data-thumburl'),
'label':$field.data('email'),
'exclude':$field.data('exclude'),
'exclude_entry':$field.data('exclude-entry'),
'excludeconditional':$field.data('excludeconditional'),
};});
}else{
$data[$this.attr('name')]={
'name':$this.attr('name'),
'value':$this.val(),
'label':$this.data('email'),
'exclude':$this.data('exclude'),
'replace_commas':$this.data('replace-commas'),
'exclude_entry':$this.data('exclude-entry'),
'excludeconditional':$this.data('excludeconditional'),
'type':'var'
};
if($this.attr('name')==='mailchimp_list_id'){
if($this.attr('data-subscriber-tags')) $data[$this.attr('name')].subscriber_tags=$this.attr('data-subscriber-tags');
if($this.attr('data-vip')) $data[$this.attr('name')].vip=$this.attr('data-vip');
}
var $super_field=$this.parents('.super-field:eq(0)');
if($super_field.hasClass('super-date')){
$data[$this.attr('name')].timestamp=$this[0].dataset.mathDiff;
}
if($super_field.hasClass('super-textarea')){
$data[$this.attr('name')].type='text';
}
if($this.hasClass('super-address-autopopulate')){
$data[$this.attr('name')].type='google_address';
$data[$this.attr('name')].geometry={
location: {
'lat':$this.data('lat'),
'lng':$this.data('lng'),
}};}
if($super_field.hasClass('super-hidden')){
if($this.data('code')===true){
$data[$this.attr('name')].code='true';
if($this.attr('data-invoice-padding')){
$data[$this.attr('name')].invoice_padding=$this.attr('data-invoice-padding');
}}
}
if($super_field.hasClass('super-auto-suggest')||$super_field.hasClass('super-wc-order-search')){
var $value=$super_field.find('.super-field-wrapper .super-dropdown-ui > .super-active').attr('data-value');
if(typeof $value!=='undefined'){
$data[$this.attr('name')].value=$value.split(";")[0];
}}
if($super_field.hasClass('super-dropdown')){
$i=0;
$new_value='';
$selected_items=$super_field.find('.super-field-wrapper .super-dropdown-ui > .super-active');
$selected_items.each(function(){
if($i===0){
$new_value +=$(this).text();
if($this.data('admin-email-value')=='both'){
$new_value +=' ('+$(this).data('value')+')';
}}else{
$new_value +=', '+$(this).text();
if($this.data('admin-email-value')=='both'){
$new_value +=' ('+$(this).data('value')+')';
}}
$i++;
});
$data[$this.attr('name')].option_label=$new_value;
if(($this.data('admin-email-value')=='label')||($this.data('admin-email-value')=='both')){
$data[$this.attr('name')].admin_value=$new_value;
}else{
$i=0;
$new_value='';
$selected_items.each(function(){
$item_value=$(this).data('value').toString().split(';');
if($i===0){
$new_value +=$item_value[0];
}else{
$new_value +=', '+$item_value[0];
}
$i++;
});
$data[$this.attr('name')].value=$new_value;
}
$email_value=$this.data('confirm-email-value');
if(($email_value=='label')||($email_value=='both')){
$i=0;
$new_value='';
$selected_items.each(function(){
$item_value=$(this).data('value').toString().split(';');
if($i===0){
$new_value +=$(this).text();
if($email_value=='both'){
$new_value +=' ('+$item_value[0]+')';
}}else{
$new_value +=', '+$(this).text();
if($email_value=='both'){
$new_value +=' ('+$item_value[0]+')';
}}
$i++;
});
$data[$this.attr('name')].confirm_value=$new_value;
}
$email_value=$this.data('contact-entry-value');
if(($email_value=='label')||($email_value=='both')){
$i=0;
$new_value='';
$selected_items.each(function(){
$item_value=$(this).data('value').toString().split(';');
if($i===0){
$new_value +=$(this).text();
if($email_value=='both'){
$new_value +=' ('+$item_value[0]+')';
}}else{
$new_value +=', '+$(this).text();
if($email_value=='both'){
$new_value +=' ('+$item_value[0]+')';
}}
$i++;
});
$data[$this.attr('name')].entry_value=$new_value;
}}
if($super_field.hasClass('super-checkbox')||$super_field.hasClass('super-radio')){
$i=0;
$new_value='';
$selected_items=$super_field.find('.super-field-wrapper .super-active');
$selected_items.each(function(){
$item_value=$(this).find('input').val().toString().split(';');
if($i===0){
$new_value +=$(this).text();
if($this.data('admin-email-value')=='both'){
$new_value +=' ('+$item_value[0]+')';
}}else{
$new_value +=', '+$(this).text();
if($this.data('admin-email-value')=='both'){
$new_value +=' ('+$item_value[0]+')';
}}
$i++;
});
$data[$this.attr('name')].option_label=$new_value;
if(($this.data('admin-email-value')=='label')||($this.data('admin-email-value')=='both')){
$data[$this.attr('name')].admin_value=$new_value;
}else{
$i=0;
$new_value='';
$selected_items.each(function(){
$item_value=$(this).find('input').val().toString().split(';');
if($i===0){
$new_value +=$item_value[0];
}else{
$new_value +=','+$item_value[0];
}
$i++;
});
$data[$this.attr('name')].value=$new_value;
}
$email_value=$this.data('confirm-email-value');
if(($email_value=='label')||($email_value=='both')){
$i=0;
$new_value='';
$selected_items.each(function(){
$item_value=$(this).find('input').val().toString().split(';');
if($i===0){
$new_value +=$(this).text();
if($email_value=='both'){
$new_value +=' ('+$item_value[0]+')';
}}else{
$new_value +=', '+$(this).text();
if($email_value=='both'){
$new_value +=' ('+$item_value[0]+')';
}}
$i++;
});
$data[$this.attr('name')].confirm_value=$new_value;
}
$email_value=$this.data('contact-entry-value');
if(($email_value=='label')||($email_value=='both')){
$i=0;
$new_value='';
$selected_items.each(function(){
$item_value=$(this).find('input').val().toString().split(';');
if($i===0){
$new_value +=$(this).text();
if($email_value=='both'){
$new_value +=' ('+$item_value[0]+')';
}}else{
$new_value +=', '+$(this).text();
if($email_value=='both'){
$new_value +=' ('+$item_value[0]+')';
}}
$i++;
});
$data[$this.attr('name')].entry_value=$new_value;
}}
}}
});
return $data;
};
SUPER.prepare_form_data=function($form){
var $data=SUPER.prepare_form_data_fields($form),
$form_id='',
$entry_id='',
$dynamic_columns={},
$dynamic_arrays=[],
$map_key_names=[],
$first_property_name,
new_key,
i,
$dynamic_column_fields_data;
$form.find('.super-column[data-duplicate-limit]').each(function(){
$dynamic_arrays=[];
$map_key_names=[];
$first_property_name=undefined;
$(this).find('.super-duplicate-column-fields').each(function(){
$dynamic_column_fields_data=SUPER.prepare_form_data_fields($(this));
if(typeof $first_property_name==='undefined'){
$first_property_name=Object.getOwnPropertyNames($dynamic_column_fields_data)[0];
}
$dynamic_arrays.push($dynamic_column_fields_data);
});
if($first_property_name!==undefined){
Object.keys($dynamic_arrays[0]).forEach(function(key){
$map_key_names.push(key);
});
Object.keys($dynamic_arrays).forEach(function(key){
if(key>0){
i=0;
Object.keys($dynamic_arrays[key]).forEach(function(old_key){
new_key=$map_key_names[i];
if(old_key!==new_key){
Object.defineProperty($dynamic_arrays[key], new_key, Object.getOwnPropertyDescriptor($dynamic_arrays[key], old_key));
delete $dynamic_arrays[key][old_key];
}
i++;
});
}});
$dynamic_columns[$first_property_name]=$dynamic_arrays;
}});
if(Object.keys($dynamic_columns).length>0){
$data._super_dynamic_data=$dynamic_columns;
}
if($form.find('input[name="hidden_form_id"]').length!==0){
$form_id=$form.find('input[name="hidden_form_id"]').val();
}
$data.hidden_form_id={
'name':'hidden_form_id',
'value':$form_id,
'type':'form_id'
};
if($form.find('input[name="hidden_contact_entry_id"]').length!==0){
$entry_id=$form.find('input[name="hidden_contact_entry_id"]').val();
}
$data.hidden_contact_entry_id={
'name':'hidden_contact_entry_id',
'value':$entry_id,
'type':'entry_id'
};
return {data:$data, form_id:$form_id, entry_id:$entry_id};};
SUPER.after_form_data_collected_hook=function(data){
var i, name, functions=super_common_i18n.dynamic_functions.after_form_data_collected_hook;
for(i=0; i < functions.length; i++){
name=functions[i].name;
if(typeof SUPER[name]!=='undefined'){
data=SUPER[name](data);
}}
return data;
};
SUPER.after_duplicate_column_fields_hook=function(el, field, counter, column, fieldNames, fieldLabels){
var i, name, functions=super_common_i18n.dynamic_functions.after_duplicate_column_fields_hook;
for(i=0; i < functions.length; i++){
name=functions[i].name;
if(typeof SUPER[name]!=='undefined'){
SUPER[name](el, field, counter, column, fieldNames, fieldLabels);
}}
};
SUPER.after_appending_duplicated_column_hook=function(form, uniqueFieldNames, clone){
var i, name, functions=super_common_i18n.dynamic_functions.after_appending_duplicated_column_hook;
for(i=0; i < functions.length; i++){
name=functions[i].name;
if(typeof SUPER[name]!=='undefined'){
SUPER[name](form, uniqueFieldNames, clone);
}}
};
SUPER.after_duplicating_column_hook=function(form, uniqueFieldNames, clone){
var i, name, functions=super_common_i18n.dynamic_functions.after_duplicating_column_hook;
for(i=0; i < functions.length; i++){
name=functions[i].name;
if(typeof SUPER[name]!=='undefined'){
SUPER[name](form, uniqueFieldNames, clone);
}}
};
SUPER.before_submit_button_click_hook=function(e, $submit_button){
var $proceed=true;
var $functions=super_common_i18n.dynamic_functions.before_submit_button_click_hook;
jQuery.each($functions, function(key, value){
if(typeof SUPER[value.name]!=='undefined'){
$proceed=SUPER[value.name](e, $proceed, $submit_button);
}});
return $proceed;
};
SUPER.after_preview_loaded_hook=function($form_id){
var $functions=super_common_i18n.dynamic_functions.after_preview_loaded_hook;
jQuery.each($functions, function(key, value){
if(typeof SUPER[value.name]!=='undefined'){
SUPER[value.name]($form_id);
}});
};
SUPER.after_form_cleared_hook=function(form){
var functions=super_common_i18n.dynamic_functions.after_form_cleared_hook;
jQuery.each(functions, function(key, value){
if(typeof SUPER[value.name]!=='undefined'){
SUPER[value.name](form);
}});
};
SUPER.before_scrolling_to_error_hook=function(form, scroll){
var proceed=true;
var functions=super_common_i18n.dynamic_functions.before_scrolling_to_error_hook;
jQuery.each(functions, function(key, value){
if(typeof SUPER[value.name]!=='undefined'){
proceed=SUPER[value.name](proceed, form, scroll);
}});
return proceed;
};
SUPER.before_scrolling_to_message_hook=function($form, $scroll){
var $proceed=true;
var $functions=super_common_i18n.dynamic_functions.before_scrolling_to_message_hook;
jQuery.each($functions, function(key, value){
if(typeof SUPER[value.name]!=='undefined'){
$proceed=SUPER[value.name]($proceed, $form, $scroll);
}});
return $proceed;
};
SUPER.google_maps_api=function(){};
SUPER.google_maps_init=function(field, form){
form=SUPER.get_frontend_or_backend_form(field, form);
if(!form) return true;
SUPER.google_maps_api.initAutocomplete(field, form);
SUPER.google_maps_api.initMaps(field, form);
};
SUPER.get_field_name=function($field){
if($field.name) return $field.name;
};
SUPER.google_maps_api.initMaps=function($field, $form){
$form=SUPER.get_frontend_or_backend_form($field, $form);
var $maps;
if(!$field){
$maps=$form.querySelectorAll('.super-google-map');
}else{
$maps=$form.querySelectorAll('.super-google-map[data-fields*="{'+SUPER.get_field_name($field)+'}"]');
}
Object.keys($maps).forEach(function(key){
var $data=JSON.parse($maps[key].querySelector('textarea').value),
$form_id=$form.querySelector('input[name="hidden_form_id"]').value,
$zoom=parseFloat($data.zoom),
$address=$data.address,
$address_marker=$data.address_marker,
$polyline_stroke_weight=$data.polyline_stroke_weight,
$polyline_stroke_color=$data.polyline_stroke_color,
$polyline_stroke_opacity=$data.polyline_stroke_opacity,
$polyline_geodesic=$data.polyline_geodesic,
$map=new google.maps.Map(document.getElementById('super-google-map-'+$form_id), {
zoom: $zoom
}),
$center_based_on_address=true,
$polylines,
$path=[],
$coordinates,
$lat,
$lng,
$field_name,
$lat_min='',
$lat_max='',
$lng_min='',
$lng_max='',
$regular_expression=/\{(.*?)\}/g,
Path,
geocoder;
if($data.enable_polyline=='true'){
$polylines=$data.polylines.split('\n');
$($polylines).each(function(index, value){
$coordinates=value.split("|");
$lat=$coordinates[0];
$lng=$coordinates[1];
if($regular_expression.exec($lat)!==null){
$field_name=$lat.replace('{','').replace('}','');
$lat=SUPER.field($form, $field_name).dataset.lat;
if(!$lat) $lat=0;
}
if($regular_expression.exec($lng)!==null){
$field_name=$lng.replace('{','').replace('}','');
$lng=SUPER.field($form, $field_name).dataset.lng;
if(!$lng) $lng=0;
}
$lat=parseFloat($lat);
$lng=parseFloat($lng);
if($lat!==0&&$lng!==0){
new google.maps.Marker({
position: {lat: $lat, lng: $lng},
map: $map
});
}
$path.push({lat: $lat, lng: $lng});
if($lat_min===''){
$lat_min=$lat;
$lat_max=$lat;
$lng_min=$lng;
$lng_max=$lng;
}
if($lat_min>$lat) $lat_min=$lat;
if($lat_max<$lat) $lat_max=$lat;
if($lng_min>$lng) $lng_min=$lng;
if($lng_max<$lng) $lng_max=$lng;
});
if($lat_min===0||$lat_max===0||$lng_min===0||$lng_max===0){
$map.setCenter(new google.maps.LatLng((($lat_max + $lat_min) / 2.0),
(($lng_max + $lng_min) / 2.0)
));
}else{
$center_based_on_address=false;
$map.setCenter(new google.maps.LatLng((($lat_max + $lat_min) / 2.0),
(($lng_max + $lng_min) / 2.0)
));
$map.fitBounds(new google.maps.LatLngBounds(new google.maps.LatLng($lat_min, $lng_min),
new google.maps.LatLng($lat_max, $lng_max)
));
Path=new google.maps.Polyline({
path: $path,
geodesic: $polyline_geodesic,
strokeColor: $polyline_stroke_color,
strokeOpacity: $polyline_stroke_opacity,
strokeWeight: $polyline_stroke_weight
});
Path.setMap($map);
}}
if(($address!=='')&&($center_based_on_address===true)){
geocoder=new google.maps.Geocoder();
$address=SUPER.update_variable_fields.replace_tags($form, $regular_expression, $address);
if($address!==''){
geocoder.geocode({ 'address': $address}, function(results, status){
if(status=='OK'){
$map.setCenter(results[0].geometry.location);
if($address_marker=='true'){
new google.maps.Marker({
map: $map,
position: results[0].geometry.location
});
}}else{
console.log('Geocode was not successful for the following reason: ' + status);
}});
}}
});
};
SUPER.google_maps_api.initAutocomplete=function(changedField, form){
var inputField,
items=form.querySelectorAll('.super-address-autopopulate:not(.super-autopopulate-init)');
Object.keys(items).forEach(function(key){
var field=items[key];
field.classList.add('super-autopopulate-init');
var autocomplete=new google.maps.places.Autocomplete(field, {types: ['geocode']});
autocomplete.addListener('place_changed', function (){
var place=autocomplete.getPlace();
field.value=place.formatted_address;
SUPER.calculate_distance(field);
var mapping={
street_number: 'street_number',
route: 'street_name',
locality: 'city',
administrative_area_level_2: 'municipality',
administrative_area_level_1: 'state',
country: 'country',
postal_code: 'postal_code'
};
var street_data={
number: {
long: '',
short: ''
},
name: {
long: '',
short: ''
}};
var lat=place.geometry.location.lat();
var lng=place.geometry.location.lng();
field.dataset.lat=lat;
field.dataset.lng=lng;
SUPER.google_maps_init(field, form);
$(field).trigger('keyup');
var $attribute;
var $val;
var $address;
for (var i=0; i < place.address_components.length; i++){
var item=place.address_components[i];
var long=item.long_name;
var short=item.short_name;
var types=item.types;
if(types.indexOf('street_number')!==-1){
street_data.number.long=long;
street_data.number.short=short;
}
if(types.indexOf('route')!==-1){
street_data.name.long=long;
street_data.name.short=short;
}
$attribute=$(field).data('map-'+mapping[types[0]]);
if(typeof $attribute!=='undefined'){
$attribute=$attribute.split('|');
if($attribute[1]==='') $attribute[1]='long';
$val=place.address_components[i][$attribute[1]+'_name'];
inputField=SUPER.field(form, $attribute[0]);
inputField.value=$val;
SUPER.after_dropdown_change_hook(inputField);
}}
$attribute=$(field).data('map-street_name_number');
if(typeof $attribute!=='undefined'){
$attribute=$attribute.split('|');
$address='';
if(street_data.name[$attribute[1]]!=='') $address +=street_data.name[$attribute[1]];
if($address!==''){
$address +=' '+street_data.number[$attribute[1]];
}else{
$address +=street_data.number[$attribute[1]];
}
inputField=SUPER.field(form, $attribute[0]);
inputField.value=$address;
SUPER.after_dropdown_change_hook(inputField);
}
$attribute=$(field).data('map-street_number_name');
if(typeof $attribute!=='undefined'){
$attribute=$attribute.split('|');
$address='';
if(street_data.number[$attribute[1]]!=='') $address +=street_data.number[$attribute[1]];
if($address!==''){
$address +=' '+street_data.name[$attribute[1]];
}else{
$address +=street_data.name[$attribute[1]];
}
inputField=SUPER.field(form, $attribute[0]);
inputField.value=$address;
SUPER.after_dropdown_change_hook(inputField);
}});
});
};
SUPER.checkboxes=function(){
$('.super-checkbox').each(function(){
var $value='';
var $counter=0;
var $checked=$(this).find('input[type="checkbox"]:checked');
$checked.each(function (){
if($counter===0) $value=$(this).val();
if($counter!==0) $value=$value + ',' + $(this).val();
$counter++;
});
$(this).find('input[type="hidden"]').val($value);
});
$('.super-radio, .super-shipping').each(function(){
var $name=$(this).find('.super-shortcode-field').attr('name');
$(this).find('input[type="radio"]').attr('name','group_'+$name);
});
$('.super-shipping').each(function(){
if(!$(this).hasClass('html-finished')){
var $currency=$(this).find('.super-shortcode-field').attr('data-currency');
$(this).find('input[type="radio"]').each(function(){
var $html=$(this).parent().html();
var $value=$(this).val();
$(this).parent().html($html+'
— '+$currency+''+parseFloat($value).toFixed(2)+'');
});
$(this).addClass('html-finished');
}});
};
SUPER.reverse_columns=function($form){
$($form).find('.super-grid').each(function(){
var $grid=$(this);
var $columns=$grid.children('div.super-column:not(.super-not-responsive)');
$grid.append($columns.get().reverse());
$grid.children('div.super-column:last-child').removeClass('first-column');
$grid.children('div.super-column:eq(0)').addClass('first-column');
});
};
SUPER.handle_columns=function(){
var $this,
$exclusion,
$fields,
$width=0;
$('div.super-field').each(function(){
if($(this).hasClass('super-grouped')){
if((!$(this).prev().hasClass('super-grouped'))||($(this).prev().hasClass('super-grouped-end'))){
$(this).addClass('super-grouped-start');
}}
});
$('.super-field > .super-label').each(function (){
if($(this).parent().index());
if(!$(this).parent().hasClass('super-grouped')){
if($(this).outerWidth(true) > $width) $width=$(this).outerWidth(true);
}});
SUPER.checkboxes();
SUPER.generateBarcode();
SUPER.rating();
var forms=document.querySelectorAll('.super-form');
Object.keys(forms).forEach(function(key){
$this=forms[key];
if($this.classList.contains('super-rtl')){
SUPER.reverse_columns($this);
}
$exclusion=super_common_i18n.tab_index_exclusion;
$fields=$($($this).find('.super-field:not('+$exclusion+')').get());
$fields.each(function(key, value){
$(value).attr('data-super-tab-index', key);
});
if($this.classList.contains('super-rtl')){
SUPER.reverse_columns($this);
}
SUPER.after_initializing_forms_hook(undefined, $this, function($this){
$this.classList.add('super-rendered');
if(!$this.classList.contains('preload-disabled')){
if(!$this.classList.contains('super-initialized')){
setTimeout(function (){
$($this).fadeOut(100, function (){
$this.classList.add('super-initialized');
$($this).fadeIn(500);
});
}, 500);
}}else{
$this.classList.add('super-initialized');
}});
});
};
SUPER.remove_super_form_classes=function($this, $classes){
$.each($classes, function(k, v){
$this.removeClass(v);
});
};
SUPER.init_replace_html_tags=function($changed_field, form){
var $i,
$v,
$regex,
$row_regex,
$html_fields,
$target,
$html,
$row_str,
$original,
$field_name,
$field,
$return,
$rows,
$row,
$found,
$tag_items,
$old_name,
$new_name,
$regular_expression,
$array,
$values,
$new_value,
$match;
if(typeof $changed_field==='undefined'){
$html_fields=form.querySelectorAll('.super-html-content, .super-accordion-title, super-accordion-desc');
}else{
$html_fields=form.querySelectorAll('.super-html-content[data-fields*="{'+SUPER.get_field_name($changed_field)+'}"], .super-accordion-title[data-fields*="{'+SUPER.get_field_name($changed_field)+'}"], .super-accordion-desc[data-fields*="{'+SUPER.get_field_name($changed_field)+'}"]');
}
Object.keys($html_fields).forEach(function(key){
var $counter=0;
$target=$html_fields[key];
if($target.classList.contains('super-accordion-title')||$target.classList.contains('super-accordion-desc')){
$html=$target.dataset.original;
}else{
$html=$target.parentNode.querySelector('textarea').value;
}
if($html!==''){
$regex=/foreach\s?\(\s?['|"|\s|]?(.*?)['|"|\s|]?\)\s?:([\s\S]*?)(?:endforeach\s?;)/g;
while (($v=$regex.exec($html))!==null){
if($v.index===$regex.lastIndex){
$regex.lastIndex++;
}
$original=$v[0];
$field_name=$v[1];
$return='';
if(typeof $v[2]!=='undefined') $return=$v[2];
$rows='';
$field=SUPER.field(form, $field_name);
if($field){
$row=$return.split('<%counter%>').join(1);
$row=$row.split('<%').join('{');
$row=$row.split('%>').join('}');
$rows +=$row;
$i=2;
$found=SUPER.field_exists(form, $field_name + '_' + ($i));
while($found){
$found=SUPER.field_exists(form, $field_name + '_' + ($i));
if($found){
$row=$return.split('<%counter%>').join($i);
$row_regex=/<%(.*?)%>/g;
$row_str=$return;
while (($v=$row_regex.exec($row_str))!==null){
if($v.index===$row_regex.lastIndex){
$row_regex.lastIndex++;
}
$tag_items=$v[1].split(';');
$old_name=$tag_items[0];
if($old_name!=='counter'){
$tag_items[0]=$tag_items[0]+'_'+$i;
$new_name=$tag_items.join(';');
$row=$row.split('<%'+$v[1]+'%>').join('{'+$new_name+'}');
}}
$rows +=$row;
}
$i++;
}}
$html=$html.split($original).join($rows);
}
$regular_expression=/\{(.*?)\}/g;
$array=[];
while (($match=$regular_expression.exec($html))!==null){
$array[$counter]=$match[1];
$counter++;
}
if($array.length>0){
for ($counter=0; $counter < $array.length; $counter++){
$values=$array[$counter];
$new_value=SUPER.update_variable_fields.replace_tags(form, $regular_expression, '{'+$values+'}', $target);
$html=$html.replace('{'+$values+'}', $new_value);
}}
$html=SUPER.filter_if_statements($html);
$target.innerHTML=$html;
}});
};
SUPER.init_replace_post_url_tags=function($changed_field, form){
form=SUPER.get_frontend_or_backend_form($changed_field, form);
var $match,
$target=form.querySelector('form'),
$actiontags=($target ? $target.dataset.actiontags:''),
$regular_expression=/\{(.*?)\}/g,
$array=[],
$counter=0,
$values,
$new_value;
if($target){
while (($match=$regular_expression.exec($actiontags))!==null){
$array[$counter]=$match[1];
$counter++;
}
if($array.length>0){
for ($counter=0; $counter < $array.length; $counter++){
$values=$array[$counter];
$new_value=SUPER.update_variable_fields.replace_tags(form, $regular_expression, '{'+$values+'}', $target);
$actiontags=$actiontags.replace('{'+$values+'}', $new_value);
}}
$target.action=$actiontags;
}};
SUPER.init_text_editors=function(){
if(typeof tinyMCE!=='undefined'){
$('.super-text-editor:not(.super-initialized)').each(function(){
var $this=$(this),
$name=$this.attr('id'),
$incl_url=$this.data('incl-url');
tinyMCE.execCommand ('mceRemoveEditor', true, $name);
var tinyMCEPreInit={
baseURL: $this.data('baseurl'),
suffix: '.min',
mceInit: {},
qtInit: {},
ref: {},
load_ext: function(url,lang){
var sl=tinyMCE.ScriptLoader;
sl.markDone(url+'/langs/'+lang+'.js');
sl.markDone(url+'/langs/'+lang+'_dlg.js');
}};
tinyMCEPreInit.mceInit[$name]={
theme:"modern",
skin:"lightgray",
language:"en",
formats:{
alignleft: [{
selector: "p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",
styles: {
textAlign:"left"
}},{
selector: "img,table,dl.wp-caption",
classes: "alignleft"
}],
aligncenter: [{
selector: "p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",
styles: {
textAlign:"center"
}},{
selector: "img,table,dl.wp-caption",
classes: "aligncenter"
}],
alignright: [{
selector: "p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",
styles: {
textAlign:"right"
}},{
selector: "img,table,dl.wp-caption",
classes: "alignright"
}],strikethrough: {
inline: "del"
}},
relative_urls:false,
remove_script_host:false,
convert_urls:false,
browser_spellcheck:true,
fix_list_elements:true,
entities:"38,amp,60,lt,62,gt",
entity_encoding:"raw",
keep_styles:false,
cache_suffix:"wp-mce-4310-20160418",
preview_styles:"font-family font-size font-weight font-style text-decoration text-transform",
end_container_on_empty_block:true,
wpeditimage_disable_captions:false,
wpeditimage_html5_captions:true,
plugins:"charmap,colorpicker,hr,lists,media,paste,tabfocus,textcolor,fullscreen,wordpress,wpautoresize,wpeditimage,wpemoji,wpgallery,wplink,wpdialogs,wptextpattern,wpview",
wp_lang_attr:"en-US",
content_css:$incl_url+"/css/dashicons.css,"+$incl_url+"/js/tinymce/skins/wordpress/wp-content.css",
selector:"#"+$name,
resize:"vertical",
menubar:false,
wpautop:false,
indent:false,
toolbar1:"bold,italic,strikethrough,bullist,numlist,blockquote,hr,alignleft,aligncenter,alignright,link,unlink,wp_more,spellchecker,fullscreen,wp_adv",
toolbar2:"formatselect,underline,alignjustify,forecolor,pastetext,removeformat,charmap,outdent,indent,undo,redo,wp_help",
toolbar3:"",
toolbar4:"",
tabfocus_elements:":prev,:next",
body_class:$name+" post-type-page post-status-publish locale-en-us"
};
tinyMCEPreInit.qtInit[$name]={
id:$name,
buttons:"strong,em,link,block,del,ins,img,ul,ol,li,code,more,close"
};
tinyMCEPreInit.ref={
plugins:"charmap,colorpicker,hr,lists,media,paste,tabfocus,textcolor,fullscreen,wordpress,wpautoresize,wpeditimage,wpemoji,wpgallery,wplink,wpdialogs,wptextpattern,wpview",
theme:"modern",
language:"en"
};
if(($this.data('teeny')=='true')||($this.data('teeny')===true)){
tinyMCEPreInit.mceInit[$name].toolbar2=false;
}
if(($this.data('force-br')=='true')||($this.data('force-br')===true)){
tinyMCEPreInit.mceInit[$name].forced_root_block=false;
tinyMCEPreInit.mceInit[$name].force_br_newlines=true;
tinyMCEPreInit.mceInit[$name].force_p_newlines=false;
tinyMCEPreInit.mceInit[$name].convert_newlines_to_brs=true;
}
var init, id, $wrap;
for(id in tinyMCEPreInit.mceInit){
init=tinyMCEPreInit.mceInit[id];
$wrap=tinyMCE.$('#wp-' + id + '-wrap');
if(( $wrap.hasClass('tmce-active')||! Object.prototype.hasOwnProperty.call(tinyMCEPreInit.qtInit, id))&&! init.wp_skip_init){
tinyMCE.init(init);
if(! window.wpActiveEditor){
window.wpActiveEditor=id;
}}
}
for(id in tinyMCEPreInit.qtInit){
quicktags(tinyMCEPreInit.qtInit[id]);
if(! window.wpActiveEditor){
window.wpActiveEditor=id;
}}
});
}};
SUPER.init_set_dropdown_placeholder=function($form){
if(typeof $form==='undefined') $form=$('.super-form');
$form.find('.super-dropdown-ui').each(function(){
var $this=$(this);
var $field=$this.parent('.super-field-wrapper').find('.super-shortcode-field');
var $first_item=$this.find('.super-item:eq(1)');
var $value=$field.val();
if($value===''){
$value=$field.data('default-value');
}
if((typeof $value!=='undefined')&&($value!=='')){
$field.val($value);
var $new_placeholder='';
$value=$value.toString().split(',');
$.each($value, function(index, value){
value=$.trim(value).split(';')[0];
$this.find('.super-item:not(.super-placeholder)').each(function(){
var $item_first_value=$(this).attr('data-value').split(';')[0];
if($item_first_value==value){
$(this).addClass('super-active');
if($new_placeholder===''){
$new_placeholder +=$(this).html();
}else{
$new_placeholder +=','+$(this).html();
}}
});
});
if($new_placeholder!=='') $this.children('.super-placeholder').html($new_placeholder);
}else{
$field.val('');
var $placeholder=$field.attr('placeholder');
if((typeof $placeholder!=='undefined')&&($placeholder!=='')){
$this.children('.super-placeholder').attr('data-value', '').html($placeholder);
}else{
if($this.children('.super-placeholder').html()===''){
$first_item.addClass('super-active');
$this.children('.super-placeholder').attr('data-value', $first_item.attr('data-value')).html($first_item.html());
}}
}});
};
SUPER.init_print_form=function($form, submitButton){
var items,
$data,
$parent,
$css,
nodes,
el,
$items,
i, ii,
$file_id,
win=window.open('','printwindow'),
$html='',
$print_file=submitButton.querySelector('input[name="print_file"]');
if($print_file&&$print_file.value!==''&&$print_file.value!='0'){
$file_id=$print_file.value;
$data=SUPER.prepare_form_data($($form));
$data=SUPER.after_form_data_collected_hook($data.data);
$.ajax({
url: super_common_i18n.ajaxurl,
type: 'post',
data: {
action: 'super_print_custom_html',
data: $data,
file_id: $file_id
},
success: function (result){
win.document.write(result);
win.document.close();
win.focus();
setTimeout(function(){
win.print();
win.close();
}, 250);
return false;
},
error: function (xhr, ajaxOptions, thrownError){
console.log(xhr, ajaxOptions, thrownError);
alert('Failed to process data, please try again');
return false;
}});
}else{
$css="";
$html=$css;
$html +='
';
nodes=$form.querySelectorAll('.super-shortcode-field');
for (i=0; i < nodes.length; i++){
el=nodes[i];
$items='';
if((el.name=='hidden_form_id')||(el.name=='id')) continue;
$parent=el.closest('.super-shortcode');
$html +='';
$html +='';
$html +=el.dataset.email;
$html +=' | ';
$html +='';
if($parent.classList.contains('super-radio')){
$html +=$parent.querySelector('.super-active').innerText;
}else if($parent.classList.contains('super-dropdown')){
items=$parent.querySelectorAll('.super-dropdown-ui .super-active');
for (ii=0; ii < items.length; ii++){
$items +=($items==='' ? items[ii].innerText:', '+items[ii].innerText);
}
$html +=$items;
}else if($parent.classList.contains('super-checkbox')){
items=$parent.querySelectorAll('.super-active');
for (ii=0; ii < items.length; ii++){
$items +=($items==='' ? items[ii].innerText:', '+items[ii].innerText);
}
$html +=$items;
}else{
$html +=el.value;
}
$html +=' | ';
$html +='
';
}
$html +='
';
win.document.write($html);
win.document.close();
win.focus();
setTimeout(function(){
win.print();
win.close();
}, 250);
return false;
}};
SUPER.init_clear_form=function(form, clone){
var field, nodes, innerNodes, el, i, ii,
children, index, element, dropdown, dropdownItem,
option, switchBtn, activeItem,
value='',
default_value,
main_form=form,
new_value='',
placeholder,
new_placeholder='';
if(typeof clone!=='undefined'){
main_form=form;
form=clone;
nodes=form.querySelectorAll('.super-shortcode.super-slider > .super-field-wrapper > *:not(.super-shortcode-field)');
for (i=0; i < nodes.length; i++){
nodes[i].remove();
}
nodes=form.querySelectorAll('.super-color .sp-replacer');
for (i=0; i < nodes.length; i++){
nodes[i].remove();
}}
nodes=form.querySelectorAll('.super-address-autopopulate.super-autopopulate-init');
for (i=0; i < nodes.length; i++){
nodes[i].classList.remove('super-autopopulate-init');
}
nodes=form.querySelectorAll('.super-picker-initialized');
for (i=0; i < nodes.length; i++){
nodes[i].classList.remove('super-picker-initialized');
}
nodes=form.querySelectorAll('.super-auto-suggest .super-dropdown-ui .super-item.super-active');
for (i=0; i < nodes.length; i++){
nodes[i].style.display='';
nodes[i].classList.remove('super-active');
}
nodes=form.querySelectorAll('.super-overlap');
for (i=0; i < nodes.length; i++){
nodes[i].classList.remove('super-overlap');
}
nodes=form.querySelectorAll('.super-keyword-tags .super-keyword-filter');
for (i=0; i < nodes.length; i++){
nodes[i].style.display='block';
nodes[i].value='';
}
nodes=form.querySelectorAll('.super-keyword-tags .super-autosuggest-tags > div > span');
for (i=0; i < nodes.length; i++){
nodes[i].remove();
}
nodes=form.querySelectorAll('.super-keyword-tags .super-autosuggest-tags-list .super-active');
for (i=0; i < nodes.length; i++){
nodes[i].classList.remove('super-active');
}
nodes=form.querySelectorAll('.super-keyword-tags .super-shortcode-field');
for (i=0; i < nodes.length; i++){
nodes[i].value='';
}
nodes=form.querySelectorAll('.super-keyword-tags');
for (i=0; i < nodes.length; i++){
field=nodes[i].querySelector('.super-keyword-filter');
field.placeholder=field.dataset.placeholder;
}
nodes=form.querySelectorAll('.super-tabs-menu .super-tabs-tab');
if(nodes){
if(nodes[0]) nodes[0].click();
}
nodes=form.querySelectorAll('.super-duplicate-column-fields');
for (i=0; i < nodes.length; i++){
children=Array.prototype.slice.call(nodes[i].parentNode.children);
index=children.indexOf(nodes[i]);
if(index>0) nodes[i].remove();
}
nodes=form.querySelectorAll('.super-error, .super-error-active, .super-filled');
for (i=0; i < nodes.length; i++){
nodes[i].classList.remove('super-error');
nodes[i].classList.remove('super-error-active');
nodes[i].classList.remove('super-filled');
}
nodes=form.querySelectorAll('.super-shortcode-field');
for (i=0; i < nodes.length; i++){
if(nodes[i].name=='hidden_form_id') continue;
element=nodes[i];
default_value='';
default_value=element.dataset.defaultValue;
if(typeof element.dataset.absoluteDefault!=='undefined'){
default_value=element.dataset.absoluteDefault;
}
field=element.closest('.super-field');
if(!field) continue;
if(field.classList.contains('super-checkbox')||field.classList.contains('super-radio')){
innerNodes=form.querySelectorAll('.super-field-wrapper .super-item.super-active');
for (ii=0; ii < innerNodes.length; ii++){
innerNodes[ii].classList.remove('super-active');
}
innerNodes=form.querySelectorAll('.super-field-wrapper .super-item input');
for (ii=0; ii < innerNodes.length; ii++){
$(innerNodes[ii]).prop('checked', false);
}
innerNodes=form.querySelectorAll('.super-field-wrapper .super-item.super-default-selected');
for (ii=0; ii < innerNodes.length; ii++){
innerNodes[ii].classList.add('super-active');
}
innerNodes=form.querySelectorAll('.super-field-wrapper .super-item.super-default-selected input');
for (ii=0; ii < innerNodes.length; ii++){
$(innerNodes[ii]).prop('checked', true);
}}
if(field.classList.contains('super-quantity')){
if(default_value==='') default_value=0;
}
if(field.classList.contains('super-currency')){
element.value=default_value;
continue;
}
if(field.classList.contains('super-color')){
if(typeof $.fn.spectrum==="function"){
if(default_value==='') default_value='#fff';
$(field.querySelector('.super-shortcode-field')).spectrum('set', default_value);
}
continue;
}
if(field.classList.contains('super-toggle')){
switchBtn=field.querySelector('.super-toggle-switch');
activeItem=switchBtn.querySelector('label[data-value="'+default_value+'"]');
if(!activeItem){
default_value=switchBtn.querySelector('.super-toggle-off').dataset.value;
activeItem=switchBtn.querySelector('label[data-value="'+default_value+'"]');
}
if(activeItem.classList.contains('super-toggle-on')){
switchBtn.classList.add('super-active');
}else{
switchBtn.classList.remove('super-active');
}
element.value=activeItem.dataset.value;
continue;
}
if(field.classList.contains('super-dropdown')){
innerNodes=field.querySelectorAll('.super-dropdown-ui .super-item.super-active');
for (ii=0; ii < innerNodes.length; ii++){
innerNodes[ii].classList.remove('super-active');
}
innerNodes=field.querySelectorAll('.super-dropdown-ui .super-item.super-default-selected');
for (ii=0; ii < innerNodes.length; ii++){
innerNodes[ii].classList.add('super-active');
}
if(typeof default_value==='undefined') default_value='';
option=field.querySelector('.super-dropdown-ui .super-item:not(.super-placeholder)[data-value="'+default_value+'"]:not(.super-placeholder)');
if(option){
field.querySelector('.super-placeholder').innerHTML=option.innerText;
option.classList.add('super-active');
element.value=default_value;
element.value='';
}else{
if(field.querySelectorAll('.super-dropdown-ui .super-item.super-active').length===0){
if((typeof element.placeholder!=='undefined')&&(element.placeholder!=='')){
field.querySelector('.super-placeholder').innerHTML=element.placeholder;
dropdownItem=field.querySelector('.super-dropdown-ui .super-item[data-value="'+element.placeholder+'"]');
if(dropdownItem) dropdownItem.classList.add('super-active');
}else{
field.querySelector('.super-placeholder').innerHTML=field.querySelector('.super-dropdown-ui .super-item').innerText;
}
element.value='';
}else{
innerNodes=field.querySelectorAll('.super-dropdown-ui .super-item.super-active');
for (ii=0; ii < innerNodes.length; ii++){
if(new_value===''){
new_value +=innerNodes[ii].dataset.value;
}else{
new_value +=','+innerNodes[ii].dataset.value;
}
if(new_placeholder===''){
new_placeholder +=innerNodes[ii].innerText;
}else{
new_placeholder +=', '+innerNodes[ii].innerText;
}}
field.querySelector('.super-placeholder').innerHTML=new_placeholder;
element.value=new_value;
}}
continue;
}
if(field.classList.contains('super-auto-suggest')){
innerNodes=field.querySelectorAll('.super-dropdown-ui .super-item.super-active');
for (ii=0; ii < innerNodes.length; ii++){
innerNodes[ii].classList.remove('super-active');
}
field.querySelector('.super-field-wrapper').classList.remove('super-overlap');
element.value='';
continue;
}
if(field.classList.contains('super-countries')){
placeholder=element.placeholder;
dropdown=field.querySelector('.super-dropdown-ui');
innerNodes=dropdown.querySelectorAll('.super-item.super-active');
if(typeof placeholder==='undefined'){
option=field.querySelector('.super-dropdown-ui .super-item')[2];
for (ii=0; ii < innerNodes.length; ii++){
innerNodes[ii].classList.remove('super-active');
}
if(dropdown.querySelectorAll('.super-default-selected')){
dropdown.querySelectorAll('.super-default-selected').classList.add('super-active');
}
dropdown.querySelector('.super-placeholder').dataset.value=option.dataset.value;
dropdown.querySelector('.super-placeholder').innerHTML=option.innerHTML;
element.value=option.dataset.value;
}else{
for (ii=0; ii < innerNodes.length; ii++){
innerNodes[ii].classList.remove('super-active');
}
el=dropdown.querySelector('.super-placeholder');
el.dataset.value='';
el.innerHTML=placeholder;
element.value='';
}
field.classList.remove('super-focus');
continue;
}
if(field.classList.contains('super-file')){
field.querySelector('.super-fileupload-files').innerHTML='';
field.querySelector('.super-progress-bar').removeAttribute('style');
field.querySelector('.super-active-files').value='';
continue;
}
if(typeof default_value!=='undefined'){
value=default_value;
element.value=value;
if(field.classList.contains('super-slider')){
if(element.parentNode.querySelector('.slider')){
$(element).simpleSlider("setValue", value);
}
continue;
}
if(field.classList.contains('super-rating')){
innerNodes=field.querySelectorAll('.super-rating-star');
for (ii=0; ii < innerNodes.length; ii++){
if((parseInt(value,10)-1) < ii){
innerNodes[ii].classList.add('super-active');
}else{
innerNodes[ii].classList.remove('super-active');
}}
}}
element.value=value;
}
if(typeof clone==='undefined'){
SUPER.after_field_change_blur_hook(undefined, main_form);
}
SUPER.after_form_cleared_hook(form);
};
SUPER.populate_form_with_entry_data=function(data, form){
var i,ii,iii,nodes,items,item,options,wrapper,input,innerNodes,firstValue,dropdown,setFieldValue,itemFirstValue,
html,files,element,field,stars,currentStar,placeholder,firstField,firstFieldName,
switchBtn,activeItem,signatureDataUrl,placeholderHtml,fieldName,
dynamicFields={},
updatedFields={};
data=JSON.parse(data);
if(data!==false&&data.length!==0){
SUPER.init_clear_form(form);
nodes=form.querySelectorAll('.super-duplicate-column-fields');
for(i=0; i < nodes.length; i++){
firstField=SUPER.field(nodes[i]);
if(firstField){
firstFieldName=firstField.name;
dynamicFields[firstFieldName]=firstField;
}}
Object.keys(dynamicFields).forEach(function(index){
i=2;
while(typeof data[index+'_'+i]!=='undefined'){
if(SUPER.field_exists(form, index+'_'+i)===0){
dynamicFields[index].closest('.super-duplicate-column-fields').querySelector('.super-add-duplicate').click();
}
i++;
}});
Object.keys(data).forEach(function(i){
if(data[i].length===0) return true;
html='';
files='';
fieldName=data[i].name;
if(data[i].type=='files'){
if((typeof data[i].files!=='undefined')&&(data[i].files.length!==0)){
fieldName=data[i].files[0].name;
}}
element=SUPER.field(form, fieldName);
if(!element) return true;
if(element.value!=data[i].value){
updatedFields[fieldName]=element;
}
field=element.closest('.super-field');
element.value=data[i].value;
if(element.value===''){
element.closest('.super-shortcode').classList.remove('super-filled');
}else{
element.closest('.super-shortcode').classList.add('super-filled');
}
if(field.classList.contains('super-color')){
if(typeof $.fn.spectrum==="function"){
$(field.querySelector('.super-shortcode-field')).spectrum('set', data[i].value);
}}
if(field.classList.contains('super-signature')){
if(typeof $.fn.signature==="function"){
signatureDataUrl=data[i].value;
field.classList.add('super-filled');
$(field.querySelector('.super-signature-canvas')).signature('draw', signatureDataUrl)
}}
if(field.classList.contains('super-toggle')){
switchBtn=field.querySelector('.super-toggle-switch');
activeItem=switchBtn.querySelector('label[data-value="'+data[i].value+'"]');
if(activeItem.classList.contains('super-toggle-on')){
switchBtn.classList.add('super-active');
}else{
switchBtn.classList.remove('super-active');
}
return true;
}
if(data[i].type=='files'){
if((typeof data[i].files!=='undefined')&&(data[i].files.length!==0)){
$.each(data[i].files, function(fi, fv){
if(fi===0){
files +=fv.value;
}else{
files +=','+fv.value;
}
element=form.querySelector('.super-active-files[name="'+fv.name+'"]');
field=element.closest('.super-field');
html +='
';
});
element.value=files;
field.querySelector('.super-fileupload-files').innerHTML=html;
field.querySelector('.super-fileupload').classList.add('finished');
}else{
field.querySelector('.super-fileupload-files').innerHTML='';
field.querySelector('.super-progress-bar').removeAttribute('style');
field.querySelector('.super-active-files').value='';
}
return true;
}
if(field.classList.contains('super-slider')){
$(element).simpleSlider("setValue", data[i].value);
return true;
}
if(field.classList.contains('super-auto-suggest')){
if(data[i].value!==''){
firstValue=data[i].value.split(';')[0];
dropdown=field.querySelector('.super-dropdown-ui');
setFieldValue='';
nodes=dropdown.querySelectorAll('.super-item.super-active');
for(ii=0; ii < nodes.length; ii++){
nodes[ii].classList.remove('super-active');
}
nodes=dropdown.querySelectorAll('.super-item[data-value^="'+firstValue+'"]');
for(ii=0; ii < nodes.length; ii++){
itemFirstValue=nodes[ii].dataset.value.split(';')[0];
if(itemFirstValue==firstValue){
field.querySelector('.super-field-wrapper').classList.add('super-overlap');
nodes[ii].classList.add('super-active');
if(setFieldValue===''){
setFieldValue +=nodes[ii].innerText;
}else{
setFieldValue +=','+nodes[ii].innerText;
}}
}
element.value=setFieldValue;
}else{
nodes=dropdown.querySelectorAll('.super-dropdown-ui .super-item.super-active');
for(ii=0; ii < nodes.length; ii++){
nodes[ii].classList.remove('super-active');
}}
return true;
}
if(field.classList.contains('super-dropdown')){
if(data[i].value!==''){
options=data[i].value.split(',');
dropdown=field.querySelector('.super-dropdown-ui');
setFieldValue='';
nodes=dropdown.querySelectorAll('.super-item.super-active');
for(ii=0; ii < nodes.length; ii++){
nodes[ii].classList.remove('super-active');
}
for(ii=0; ii < options.length; ii++){
innerNodes=dropdown.querySelectorAll('.super-item:not(.super-placeholder)[data-value^="'+options[ii]+'"]');
for(iii=0; iii < innerNodes.length; iii++){
itemFirstValue=innerNodes[iii].dataset.value.split(';')[0];
innerNodes[iii].classList.add('super-active');
if(setFieldValue===''){
setFieldValue +=itemFirstValue;
}else{
setFieldValue +=','+itemFirstValue;
}}
}
element.value=setFieldValue;
}else{
nodes=field.querySelectorAll('.super-dropdown-ui .super-item.super-active');
for(ii=0; ii < nodes.length; ii++){
nodes[ii].classList.remove('super-active');
}
nodes=field.querySelectorAll('.super-dropdown-ui .super-item.super-default-selected');
for(ii=0; ii < nodes.length; ii++){
nodes[ii].classList.add('super-active');
}}
SUPER.init_set_dropdown_placeholder();
return true;
}
if(field.classList.contains('super-radio')){
wrapper=field.querySelector('.super-field-wrapper');
items=wrapper.querySelectorAll('.super-item');
for(ii=0; ii < items.length; ii++){
input=items[ii].querySelector('input');
items[ii].classList.remove('super-active');
input.checked=false;
}
for(ii=0; ii < items.length; ii++){
input=items[ii].querySelector('input');
if(data[i].value!==''&&input.value==data[i].value){
input.checked=true;
items[ii].classList.add('super-active');
break;
}}
if(data[i].value===''){
item=wrapper.querySelector('.super-item.super-default-selected');
item.classList.add('super-active');
item.querySelector('input').checked=true;
}
return true;
}
if(field.classList.contains('super-checkbox')){
wrapper=field.querySelector('.super-field-wrapper');
items=wrapper.querySelectorAll('.super-item');
for(ii=0; ii < items.length; ii++){
input=items[ii].querySelector('input');
items[ii].classList.remove('super-active');
input.checked=false;
if(data[i].value!==''){
options=data[i].value.split(',');
if(options.indexOf(input.value)!==-1){
input.checked=true;
items[ii].classList.add('super-active');
}}
}
if(data[i].value===''){
items=wrapper.querySelectorAll('.super-item.super-default-selected');
for(ii=0; ii < items.length; ii++){
items[ii].classList.add('super-active');
items[ii].querySelector('input').checked=true;
}}
return true;
}
if(field.classList.contains('super-rating')){
stars=field.querySelectorAll('.super-rating-star');
currentStar=parseInt(data[i].value)||0;
for(ii=0; ii < stars.length; ii++){
if(ii+1 <=currentStar){
stars[ii].classList.add('super-active');
}else{
stars[ii].classList.remove('super-active');
}}
return true;
}
if(field.classList.contains('super-countries')){
dropdown=field.querySelector('.super-dropdown-ui');
items=dropdown.querySelectorAll('.super-item');
if(data[i].value!==''){
options=data[i].value.split(',');
placeholderHtml='';
for(ii=0; ii < items.length; ii++){
items[ii].classList.remove('super-active');
if(options.indexOf(items[ii].dataset.value)!==-1){
items[ii].classList.add('super-active');
if(placeholderHtml===''){
placeholderHtml +=items[ii].dataset.value;
}else{
placeholderHtml +=', '+items[ii].dataset.value;
}}
}
placeholder=dropdown.querySelector('.super-placeholder');
placeholder.dataset.value='';
placeholder.innerHTML=placeholderHtml;
}else{
placeholder=element.placeholder;
if(typeof placeholder==='undefined'){
for(ii=0; ii < items.length; ii++){
if(items[ii].classList.contains('super-default-selected')){
items[ii].classList.add('super-active');
}else{
items[ii].classList.remove('super-active');
}}
item=field.querySelectorAll('.super-dropdown-ui .super-item')[1];
dropdown.querySelector('.super-placeholder').dataset.value=item.dataset.value;
dropdown.querySelector('.super-placeholder').innerHTML=item.innerHTML;
element.value=item.dataset.value;
}else{
for(ii=0; ii < items.length; ii++){
items[ii].classList.remove('super-active');
}
dropdown.querySelector('.super-placeholder').dataset.value='';
dropdown.querySelector('.super-placeholder').innerHTML=placeholder;
element.value='';
}}
return true;
}});
Object.keys(updatedFields).forEach(function(key){
SUPER.after_field_change_blur_hook(updatedFields[key]);
});
}};
SUPER.populate_form_data_ajax=function(field){
var orderId,
value,
skipFields,
method,
form=SUPER.get_frontend_or_backend_form(field);
if(field.classList.contains('super-wc-order-search')){
value=field.querySelector('.super-active').dataset.value;
orderId=value.split(';')[0];
skipFields='';
if(field.querySelector('.super-shortcode-field')){
if(field.querySelector('.super-shortcode-field').dataset.wcoss){
skipFields=field.querySelector('.super-shortcode-field').dataset.wcoss;
}}
field.querySelector('.super-field-wrapper').classList.add('super-populating');
form.classList.add('super-populating');
$.ajax({
url: super_common_i18n.ajaxurl,
type: 'post',
data: {
action: 'super_populate_form_data',
order_id: orderId,
skip: skipFields
},
success: function (data){
SUPER.populate_form_with_entry_data(data, form);
},
complete: function(){
field.querySelector('.super-field-wrapper').classList.remove('super-populating');
form.classList.remove('super-populating');
},
error: function (xhr, ajaxOptions, thrownError){
console.log(xhr, ajaxOptions, thrownError);
alert('Failed to process data, please try again');
}});
}else{
field.dataset.typing='false';
value=field.value;
method=field.dataset.searchMethod;
skipFields=(field.dataset.searchSkip ? field.dataset.searchSkip:'');
if(value.length > 2){
field.closest('.super-field-wrapper').classList.add('super-populating');
form.classList.add('super-populating');
$.ajax({
url: super_common_i18n.ajaxurl,
type: 'post',
data: {
action: 'super_populate_form_data',
value: value,
method: method,
skip: skipFields
},
success: function (data){
SUPER.populate_form_with_entry_data(data, form);
},
complete: function(){
field.closest('.super-field-wrapper').classList.remove('super-populating');
form.classList.remove('super-populating');
},
error: function (xhr, ajaxOptions, thrownError){
console.log(xhr, ajaxOptions, thrownError);
alert('Failed to process data, please try again');
}});
}}
};
SUPER.init_super_form_frontend=function(){
if(document.querySelectorAll('.super-form').length===document.querySelectorAll('.super-form.super-initialized').length){
return true;
}
$('.super-shortcode-field[data-search="true"]:not(.super-dom-populated)').each(function(){
var field=this;
if(field.value!==''){
field.classList.add('super-dom-populated');
SUPER.populate_form_data_ajax(field);
}});
SUPER.init_text_editors();
SUPER.init_fileupload_fields();
SUPER.init_set_dropdown_placeholder($('.super-form:not(.super-rendered)'));
$('.super-field.super-radio').each(function(){
var $this=$(this);
var $value=$this.find('.super-shortcode-field').val();
if(typeof $value!=='undefined'){
$value=$value.split(',');
$this.find('input[type="radio"]').prop("checked", false);
$.each($value, function(index, value){
value=$.trim(value);
$this.find('input[type="radio"][value="'+value+'"]').prop("checked", true);
});
}});
$('.super-field.super-checkbox').each(function(){
var $this=$(this);
var $value=$this.find('.super-shortcode-field').val();
if(typeof $value!=='undefined'){
$value=$value.split(',');
$this.find('input[type="checkbox"]').prop("checked", false);
$.each($value, function(index, value){
value=$.trim(value);
$this.find('input[type="checkbox"][value="'+value+'"]').prop("checked", true);
});
}});
$('.super-shortcode-field[data-mask]').each(function(){
$(this).mask($(this).data('mask'));
});
$('.super-form').each(function(){
var $form=$(this),
$multipart={},
$multiparts=[],
$submit_button,
$button_clone,
$total=$form.find('.super-multipart').length,
$prev,
$next,
$progress,
$progress_steps,
$progress_bar,
$clone;
if($form.parent().hasClass('elementor-text-editor')){
var $form_id=$form.find('input[name="hidden_form_id"]').val();
$form.html('
'+super_common_i18n.elementor.notice+': [Form ID: '+$form_id+ '] - '+super_common_i18n.elementor.msg+'
');
return false;
}
if($total!==0){
if(!$form.find('.super-multipart:eq(0)').hasClass('super-rendered')){
$form.find('.super-multipart:eq(0)').addClass('super-active').addClass('super-rendered');
$submit_button=$form.find('.super-form-button:last');
$clone=$submit_button.clone();
$($clone).appendTo($form.find('.super-multipart:last'));
$button_clone=$submit_button[0].outerHTML;
$submit_button.remove();
$($button_clone).appendTo($form.find('.super-multipart').not(':last')).removeClass('super-form-button').addClass('super-next-multipart').find('.super-button-name').html(super_common_i18n.directions.next);
$($button_clone).appendTo($form.find('.super-multipart').not(':first')).removeClass('super-form-button').addClass('super-prev-multipart').find('.super-button-name').html(super_common_i18n.directions.prev);
$form.find('.super-multipart').each(function(){
if(typeof $(this).data('prev-text')==='undefined'){
$prev=super_common_i18n.directions.prev;
}else{
$prev=$(this).data('prev-text');
}
if(typeof $(this).data('next-text')==='undefined'){
$next=super_common_i18n.directions.next;
}else{
$next=$(this).data('next-text');
}
$(this).find('.super-prev-multipart .super-button-name').html($prev);
$(this).find('.super-next-multipart .super-button-name').html($next);
$multipart={
name: $(this).data('step-name'),
description: $(this).data('step-description'),
image: $(this).data('image'),
icon: $(this).data('icon'),
};
$multiparts.push($multipart);
});
$progress_steps='
';
$.each($multiparts, function(index, value){
if($total==1){
$progress_steps +='- ';
}else{
if((index===0)&&($total!=(index+1))){
$progress_steps +='
- ';
}else{
if($total==(index+1)){
$progress_steps +='
- ';
}else{
$progress_steps +='
- ';
}}
}
$progress_steps +='';
if(value.image){
$progress_steps +='';
}else{
if(value.icon){
$progress_steps +='';
}else{
$progress_steps +=''+(index+1)+'';
}}
if(value.name!==''){
$progress_steps +=''+value.name+'';
}
if(value.description!==''){
$progress_steps +=''+value.description+'';
}
$progress_steps +='';
$progress_steps +='
';
});
$progress_steps +='
';
$progress=100 / $total;
$progress_bar='
';
$progress_bar +='
';
$progress_bar +='
';
$progress_bar +='
';
$progress_bar +='
';
if($form.find('.super-i18n-switcher').length!=0){
$($progress_steps).insertAfter($form.find('.super-i18n-switcher'));
$($progress_bar).insertAfter($form.find('.super-i18n-switcher'));
}else{
$form.prepend($progress_steps);
$form.prepend($progress_bar);
}}
}});
SUPER.init_super_responsive_form_fields();
SUPER.init_common_fields();
$(window).resize(function(){
SUPER.init_super_responsive_form_fields();
});
var $handle_columns_interval=setInterval(function(){
if(($('.super-form').length!=$('.super-form.super-rendered').length)||($('.super-form').length===0)){
SUPER.handle_columns();
}else{
clearInterval($handle_columns_interval);
}}, 100);
};
SUPER.init_slider_field=function(){
$('.super-slider').each(function (){
var $this=$(this),
$field,
$steps,
$min,
$max,
$currency,
$format,
$value,
$decimals,
$thousand_separator,
$decimal_separator,
$regular_expression,
$wrapper,
$slider,
$number,
$amount,
$dragger,
$slider_width,
$amount_width,
$dragger_margin_left,
$offset_left,
$position;
if($this.find('.slider').length===0){
$field=$this.find('.super-shortcode-field');
$steps=$field.data('steps');
$min=$field.data('minnumber');
$max=$field.data('maxnumber');
if(typeof $min==='undefined') $min=0;
if(typeof $max==='undefined') $max=100;
$currency=$field.data('currency');
$format=$field.data('format');
$value=($field.val()==='' ? 0:parseFloat($field.val()));
$decimals=$field.data('decimals');
$thousand_separator=$field.data('thousand-separator');
$decimal_separator=$field.data('decimal-separator');
$regular_expression='\\d(?=(\\d{' + (3||3) + '})+' + ($decimals > 0 ? '\\D':'$') + ')';
if($value<$min){
$value=$min;
}
$value=parseFloat($value).toFixed(Math.max(0, ~~$decimals));
$value=($decimal_separator ? $value.replace('.', $decimal_separator):$value).replace(new RegExp($regular_expression, 'g'), '$&' + ($thousand_separator||''));
$field.simpleSlider({
snap: true,
step: $steps,
range: [$min, $max],
animate: false
});
$wrapper=$field.parents('.super-field-wrapper:eq(0)');
$slider=$wrapper.find('.slider');
$wrapper.append('
'+$currency+''+$value+''+$format+'');
$slider_width=$slider.outerWidth(true);
$amount_width=$wrapper.children('.amount').outerWidth(true);
$position=$slider.find('.dragger').position();
if(( typeof $position!=='undefined'&&($position.left+$amount_width) + 5) < $slider_width){
$wrapper.children('.amount').css('left', $position.left+'px');
}
$field.bind("slider:changed", function ($event, $data){
$number=parseFloat($data.value).toFixed(Math.max(0, ~~$decimals));
$number=($decimal_separator ? $number.replace('.', $decimal_separator):$number).replace(new RegExp($regular_expression, 'g'), '$&' + ($thousand_separator||''));
$amount=$wrapper.children('.amount');
$dragger=$data.el[0].querySelector('.dragger');
$amount.children('i').html($currency+''+($number)+''+$format);
setTimeout(function(){
$slider_width=$data.el[0].offsetWidth;
$amount_width=$amount[0].offsetWidth;
$dragger_margin_left=$dragger.style.marginLeft.replace('px','');
if($dragger_margin_left<0){
$dragger_margin_left=-$dragger_margin_left;
}
$offset_left=$dragger.offsetLeft + $dragger_margin_left;
if($offset_left<0){
$offset_left=0;
}
if($slider_width < ($offset_left + $amount_width)){
$amount.css('right', '0px');
$amount.css('left', 'inherit');
}else{
$amount.css('right', 'inherit');
$amount.css('left', $offset_left+'px');
}},1);
});
}});
$('.slider-field').each(function (){
var $this=$(this),
$field=$this.children('input'),
$steps=$field.data('steps'),
$min=$field.data('min'),
$max=$field.data('max');
if($this.children('.slider').length===0){
$field.simpleSlider({
snap: true,
step: $steps,
range: [$min, $max]
});
$field.show();
}});
};
SUPER.init_carouseljs=function(){
if(typeof CarouselJS!=='undefined'){
CarouselJS.init();
}};
SUPER.init_tooltips=function(){
if($.isFunction($.fn.tooltipster)){
$('.super-tooltip:not(.tooltipstered)').tooltipster({
contentAsHTML: true,
});
}};
SUPER.init_color_pickers=function(){
if($.isFunction($.fn.wpColorPicker)){
$('.super-color-picker').each(function(){
if($(this).find('.wp-picker-container').length===0){
$(this).children('input').wpColorPicker({
change: function(event, ui){
if(typeof SUPER.backend_setting_changed==="function"){
SUPER.backend_setting_changed($(this), ui.color.toString());
}},
palettes: ['#F26C68', '#444444', '#6E7177', '#FFFFFF', '#000000']
});
}});
}};
SUPER.init_common_fields=function(){
if(typeof SUPERreCaptcha==='function') SUPERreCaptcha();
SUPER.after_init_common_fields();
};
SUPER.init_super_responsive_form_fields=function(){
var $classes=[
'super-first-responsiveness',
'super-second-responsiveness',
'super-third-responsiveness',
'super-fourth-responsiveness',
'super-last-responsiveness'
];
var $window_classes=[
'super-window-first-responsiveness',
'super-window-second-responsiveness',
'super-window-third-responsiveness',
'super-window-fourth-responsiveness',
'super-window-last-responsiveness'
];
var $new_class='';
var $new_window_class='';
var $window_width=$(window).outerWidth(true);
$('.super-form').each(function(){
var $this=$(this);
var $width=$(this).outerWidth(true);
if($width > 0&&$width < 530){
SUPER.remove_super_form_classes($this,$classes);
$this.addClass($classes[0]);
$new_class=$classes[0];
}
if($width >=530&&$width < 760){
SUPER.remove_super_form_classes($this,$classes);
$this.addClass($classes[1]);
$new_class=$classes[1];
}
if($width >=760&&$width < 1200){
SUPER.remove_super_form_classes($this,$classes);
$this.addClass($classes[2]);
$new_class=$classes[2];
}
if($width >=1200&&$width < 1400){
SUPER.remove_super_form_classes($this,$classes);
$this.addClass($classes[3]);
$new_class=$classes[3];
}
if($width >=1400){
SUPER.remove_super_form_classes($this,$classes);
$this.addClass($classes[4]);
$new_class=$classes[4];
}
if($window_width > 0&&$window_width < 530){
SUPER.remove_super_form_classes($this,$window_classes);
$this.addClass($window_classes[0]);
$new_window_class=$window_classes[0];
}
if($window_width >=530&&$window_width < 760){
SUPER.remove_super_form_classes($this,$window_classes);
$this.addClass($window_classes[1]);
$new_window_class=$window_classes[1];
}
if($window_width >=760&&$window_width < 1200){
SUPER.remove_super_form_classes($this,$window_classes);
$this.addClass($window_classes[2]);
$new_window_class=$window_classes[2];
}
if($window_width >=1200&&$window_width < 1400){
SUPER.remove_super_form_classes($this,$window_classes);
$this.addClass($window_classes[3]);
$new_window_class=$window_classes[3];
}
if($window_width >=1400){
SUPER.remove_super_form_classes($this,$window_classes);
$this.addClass($window_classes[4]);
$new_window_class=$window_classes[4];
}
if($this.hasClass('super-rtl')){
if((!$this.hasClass('super-rtl-reversed'))&&($new_class=='super-first-responsiveness')){
$this.find('.super-grid').each(function(){
var $grid=$(this);
var $columns=$grid.children('div.super-column:not(.super-not-responsive)');
$grid.append($columns.get().reverse());
$grid.children('div.super-column:last-child').removeClass('first-column');
$grid.children('div.super-column:eq(0)').addClass('first-column');
});
$this.addClass('super-rtl-reversed');
}else{
if(($this.hasClass('super-rtl-reversed'))&&($new_class!='super-first-responsiveness')){
$this.find('.super-grid').each(function(){
var $grid=$(this);
var $columns=$grid.children('div.super-column:not(.super-not-responsive)');
$grid.append($columns.get().reverse());
$grid.children('div.super-column:last-child').removeClass('first-column');
$grid.children('div.super-column:eq(0)').addClass('first-column');
});
$this.removeClass('super-rtl-reversed');
}}
}});
SUPER.after_responsive_form_hook($classes, $new_class, $window_classes, $new_window_class);
};
SUPER.init_field_filter_visibility=function($this, type){
if(typeof type==='undefined') type='';
var $nodes,
$name;
if(typeof $this==='undefined'){
$nodes=$('.super-elements-container .super-field.super-filter[data-filtervalue], .super-settings .super-field.super-filter[data-filtervalue]');
$nodes.addClass('super-hidden');
}else{
$name=$this.find('.element-field').attr('name');
$nodes=$('.super-elements-container .super-field[data-parent="'+$name+'"], .super-settings .super-field[data-parent="'+$name+'"]');
}
$nodes.each(function(){
var $this=$(this),
$container=$this.parents('.super-elements-container:eq(0)'),
$filtervalue=$this.data('filtervalue'),
$parent,
$value,
$visibility,
$filtervalues,
$string_value,
$match_found=false;
if($container.length===0){
$container=$this.parents('.super-settings:eq(0)');
}
$parent=$container.find('.element-field[name="'+$this.data('parent')+'"]');
if($parent.attr('type')=='radio'){
$parent=$container.find('.element-field[name="'+$this.data('parent')+'"]:checked');
}
$value=$parent.val();
if(typeof $value==='undefined') $value='';
$parent=$parent.parents('.super-field.super-filter:eq(0)');
$visibility=$parent.hasClass('super-hidden');
if($visibility===true){
$visibility='hidden';
}else{
$visibility='visible';
}
$filtervalues=$filtervalue.toString().split(',');
$string_value=$value.toString();
$.each($filtervalues, function(index, value){
if(value==$string_value){
$match_found=true;
}});
if($match_found&&($visibility!='hidden')){
$this.removeClass('super-hidden');
}else{
$this.addClass('super-hidden');
}
SUPER.init_field_filter_visibility($this, type);
});
};
SUPER.init_distance_calculators=function(){
var i, form, method, destination, destinationField,
nodes=document.querySelectorAll('.super-form .super-distance-calculator');
for(i=0; i < nodes.length; i++){
nodes[i];
form=SUPER.get_frontend_or_backend_form(nodes[i]);
method=nodes[i].dataset.distanceMethod;
if(method=='start'){
destination=nodes[i].dataset.distanceDestination;
destinationField=SUPER.field(form, destination);
if(destinationField){
destinationField.dataset.distanceStart=nodes[i].name;
}}
}};
SUPER.super_find_next_tab_field=function(field, form, nextTabIndex){
var nextTabIndexSmallIncrement,
nextField,
nextFieldSmallIncrement,
nextCustomField,
customTabIndex;
if(typeof nextTabIndex==='undefined'){
nextTabIndexSmallIncrement=parseFloat(parseFloat(field.dataset.superTabIndex)+0.001).toFixed(3);
nextTabIndex=parseFloat(field.dataset.superTabIndex)+1;
}
if(typeof field.dataset.superCustomTabIndex!=='undefined'){
nextTabIndex=parseFloat(field.dataset.superCustomTabIndex)+1;
}
nextTabIndexSmallIncrement=parseFloat(nextTabIndexSmallIncrement);
nextTabIndex=parseFloat(parseFloat(nextTabIndex).toFixed(0));
nextFieldSmallIncrement=form.querySelector('.super-field[data-super-tab-index="'+nextTabIndexSmallIncrement+'"]');
if(nextFieldSmallIncrement){
nextField=nextFieldSmallIncrement;
}else{
nextField=form.querySelector('.super-field[data-super-tab-index="'+nextTabIndex+'"]');
}
nextCustomField=form.querySelector('.super-field[data-super-custom-tab-index="'+nextTabIndex+'"]');
if((nextCustomField)&&(!nextCustomField.classList.contains('super-focus'))){
nextField=nextCustomField;
}
customTabIndex=nextField.dataset.superCustomTabIndex;
if(typeof customTabIndex!=='undefined'){
if(nextTabIndex < parseFloat(customTabIndex)){
nextField=SUPER.super_find_next_tab_field(field, form, nextTabIndex+1);
}}
if(SUPER.has_hidden_parent(nextField)){
nextField=SUPER.super_find_next_tab_field(field, form, nextTabIndex+1);
}
return nextField;
};
SUPER.super_focus_next_tab_field=function(e, next, form, skipNext){
var i,nodes,keyCode;
if(typeof skipNext!=='undefined'){
next=skipNext;
}else{
next=SUPER.super_find_next_tab_field(next, form);
}
nodes=form.querySelectorAll('.super-focus *');
for(i=0; i < nodes.length; i++){
nodes[i].blur();
if(nodes[i].closest('.super-focus')){
nodes[i].closest('.super-focus').classList.remove('super-focus');
}}
nodes=form.querySelectorAll('.super-focus-dropdown');
for(i=0; i < nodes.length; i++){
nodes[i].classList.remove('super-focus-dropdown');
}
nodes=form.querySelectorAll('.super-color .super-shortcode-field');
for(i=0; i < nodes.length; i++){
$(nodes[i]).spectrum("hide");
}
if(next.classList.contains('super-form-button')){
next.classList.add('super-focus');
SUPER.init_button_hover_colors(next);
next.querySelector('.super-button-wrap').focus();
e.preventDefault();
return false;
}
if(next.classList.contains('super-next-multipart')){
keyCode=e.keyCode||e.which;
if(keyCode==9){
next.click();
next.classList.add('super-focus');
SUPER.super_focus_next_tab_field(e, next, form);
}
e.preventDefault();
return false;
}
if(next.classList.contains('super-color')){
next.classList.add('super-focus');
$(next.querySelector('.super-shortcode-field')).spectrum('show');
e.preventDefault();
return false;
}
if(next.classList.contains('super-keyword-tags')){
next.classList.add('super-focus');
next.querySelector('.super-keyword-filter').focus();
e.preventDefault();
return false;
}
if((next.classList.contains('super-dropdown'))||(next.classList.contains('super-countries'))){
next.classList.add('super-focus');
next.classList.add('super-focus-dropdown');
if(next.querySelector('input[name="super-dropdown-search"]')){
next.querySelector('input[name="super-dropdown-search"]').focus();
e.preventDefault();
return false;
}}else{
next.classList.add('super-focus');
}
if(next.querySelector('.super-shortcode-field')){
next.querySelector('.super-shortcode-field').focus();
}
e.preventDefault();
return false;
};
jQuery(document).ready(function ($){
var $doc=$(document);
var $super_hp=$doc.find('input[name="super_hp"]');
window.setInterval(function(){
$super_hp.each(function(){
var hasValue=$(this).val().length > 0;
if(!hasValue){
if($(this).is("\\:-webkit-autofill")){
hasValue=true;
}}
if(hasValue){
$super_hp.val('');
}});
}, 1000);
$doc.on('change keyup keydown blur', '.super-form .super-text .super-distance-calculator:not(.super-address-autopopulate)', function(){
var field=this;
if(timeout!==null) clearTimeout(timeout);
timeout=setTimeout(function (){
SUPER.calculate_distance(field);
}, 1000);
});
SUPER.init_field_filter_visibility();
$doc.on('change keyup keydown blur','.super-field.super-filter',function(){
if(this.closest('.super-form-settings')){
SUPER.init_field_filter_visibility($(this));
}else{
SUPER.init_field_filter_visibility($(this), 'element_settings');
}});
function super_update_dropdown_value(e, dropdown, key){
var i,nodes,value,name,max,min,total,names='',values='',counter,validation,duration,form,
input=dropdown.querySelector('.super-field-wrapper > input'),
parent=dropdown.querySelector('.super-dropdown-ui'),
placeholder=parent.querySelector('.super-placeholder'),
selected=parent.querySelector('.super-active');
if(!parent.classList.contains('multiple')){
if(selected){
value=selected.dataset.value;
name=selected.dataset.searchValue;
placeholder.innerHTML=(name);
placeholder.dataset.value=value;
placeholder.classList.add('super-active');
nodes=parent.querySelectorAll('.super-item.super-active');
for (i=0; i < nodes.length; i++){
nodes[i].classList.remove('super-active');
}
selected.classList.add('super-active');
input.value=value;
}}else{
max=input.dataset.maxlength;
min=input.dataset.minlength;
total=parent.querySelectorAll('li.super-active:not(.super-placeholder)').length;
if(selected.classList.contains('super-active')){
if(total>1){
if(total <=min) return false;
selected.classList.remove('super-active');
}}else{
if(total >=max) return false;
selected.classList.add('super-active');
}
nodes=parent.querySelectorAll('li.super-active:not(.super-placeholder)');
total=nodes.length;
counter=1;
for (i=0; i < nodes.length; i++){
if((total==counter)||(total==1)){
names +=nodes[i].dataset.searchValue;
values +=nodes[i].dataset.value;
}else{
names +=nodes[i].dataset.searchValue+', ';
values +=nodes[i].dataset.value+', ';
}
counter++;
}
placeholder.innerHTML=names;
input.value=values;
}
validation=input.dataset.validation;
if(typeof validation!=='undefined'&&validation!==false){
duration=SUPER.get_duration();
form=input.closest('.super-form');
SUPER.handle_validations(input, validation, '', duration, form);
}
if(key=='enter'){
dropdown.classList.remove('super-focus-dropdown');
dropdown.classList.remove('super-string-found');
}
SUPER.after_dropdown_change_hook(input);
e.preventDefault();
}
$doc.on('click', '.super-field.super-currency',function(){
var $field=$(this);
var $form=$field.closest('.super-form');
$form.find('.super-focus').removeClass('super-focus');
$form.find('.super-focus-dropdown').removeClass('super-focus-dropdown');
$field.addClass('super-focus');
});
$doc.keydown(function(e){
var i, nodes, total,
field,
form,
children,
dropdown,
dropdown_ui,
element,
item,
current,
placeholder,
nextIndex,
submitButton,
keyCode=e.keyCode||e.which;
if(keyCode==13){
dropdown=document.querySelector('.super-focus-dropdown');
if(dropdown){
super_update_dropdown_value(e, dropdown, 'enter');
}else{
element=document.querySelector('.super-focus');
if(element){
form=element.closest('.super-form');
if(form.dataset.disableEnter=='true'){
e.preventDefault();
return false;
}
if(!element.classList.contains('super-textarea')){
if(!form.querySelector('.super-form-button.super-loading')){
submitButton=form.querySelector('.super-form-button .super-button-wrap .super-button-name[data-action="submit"]').parentNode;
SUPER.validate_form(form, submitButton, undefined, e, true);
}
e.preventDefault();
}}
}}
if((keyCode==40)||(keyCode==38)){
dropdown=document.querySelector('.super-focus-dropdown');
if(dropdown){
total=dropdown.querySelectorAll('.super-dropdown-ui .super-item').length;
placeholder=dropdown.querySelector('.super-dropdown-ui .super-placeholder');
if(!dropdown.querySelector('.super-dropdown-ui .super-active')){
item=dropdown.querySelectorAll('.super-dropdown-ui .super-item')[1];
if(keyCode==38){
item=dropdown.querySelectorAll('.super-dropdown-ui .super-item')[total-1];
}
item.classList.add('super-active');
placeholder.dataset.value=item.dataset.value;
placeholder.innerHTML=item.innerHTML;
}else{
current=dropdown.querySelector('.super-dropdown-ui .super-item.super-active');
if(current){
children=Array.prototype.slice.call(current.parentNode.children);
if(keyCode==38){
nextIndex=children.indexOf(current) - 1;
if(nextIndex===0) nextIndex=total-1;
}else{
nextIndex=children.indexOf(current) + 1;
}
item=dropdown.querySelectorAll('.super-dropdown-ui .super-item')[nextIndex];
if(!item){
item=dropdown.querySelectorAll('.super-dropdown-ui .super-item')[1];
}
nodes=dropdown.querySelectorAll('.super-dropdown-ui .super-item.super-active');
for (i=0; i < nodes.length; i++){
nodes[i].classList.remove('super-active');
}
placeholder.dataset.value=item.dataset.value
placeholder.innerHTML=item.innerHTML;
item.classList.add('super-active');
}}
dropdown_ui=$(dropdown.querySelector('.super-dropdown-ui'));
dropdown_ui.scrollTop(dropdown_ui.scrollTop() - dropdown_ui.offset().top + $(item).offset().top - 50);
super_update_dropdown_value(e, dropdown);
}}
if((keyCode==37)||(keyCode==39)){
nodes=document.querySelectorAll('.super-form .super-tabs-contents');
for (i=0; i < nodes.length; i++){
field=nodes[i].closest('.super-shortcode');
if(!SUPER.has_hidden_parent(field, true)){
var activeTab=field.querySelector('.super-tabs-contents > .super-tabs-content.super-active');
var focusFound=activeTab.querySelectorAll('.super-focus').length;
if(focusFound) continue;
if(!field.closest('.super-tabs-contents')){
if(keyCode==37) nodes[i].querySelector(':scope > .super-content-prev').click();
if(keyCode==39) nodes[i].querySelector(':scope > .super-content-next').click();
}}
}}
if(keyCode==9){
field=document.querySelector('.super-field.super-focus');
if(field){
form=field.closest('.super-form');
SUPER.super_focus_next_tab_field(e, field, form);
}}
});
$doc.on('keyup', '.super-icon-search input', function(){
var $value=$(this).val();
var $icons=$(this).parents('.super-icon-field').children('.super-icon-list').children('i');
if($value===''){
$icons.css('display','inline-block');
}else{
$icons.each(function(){
if($(this).is('[class*="'+$value+'"]')){
$(this).css('display','inline-block');
}else{
$(this).css('display','none');
}});
}});
$doc.on('click','.super-icon-list i',function(){
if($(this).hasClass('super-active')){
$(this).parent().find('i').removeClass('super-active');
$(this).parents('.super-icon-field').find('input').val('');
}else{
$(this).parent().find('i').removeClass('super-active');
$(this).parents('.super-icon-field').find('input').val($(this).attr('class'));
$(this).addClass('super-active');
}});
var timeout=null;
$doc.on('keyup', '.super-text .super-shortcode-field[data-search="true"]', function(){
var field=this;
if(timeout!==null) clearTimeout(timeout);
timeout=setTimeout(function (){
SUPER.populate_form_data_ajax(field);
}, 1000);
});
var timeout2=null;
$doc.on('keyup', '.super-text .super-shortcode-field[data-wcosm]', function(){
var $this=$(this);
if(timeout2!==null){
clearTimeout(timeout2);
}
timeout2=setTimeout(function (){
var $value=$this.val();
var $method=$this.data('wcosm');
var $filterby=$this.data('wcosfb');
var $return_label=$this.data('wcosrl');
var $return_value=$this.data('wcosrv');
var $populate=$this.data('wcosp');
var $skip=$this.data('wcoss');
var $status=$this.data('wcosst');
var $form=$this.closest('.super-form');
if($value.length>0){
$this.parents('.super-field-wrapper:eq(0)').addClass('super-populating');
$form.addClass('super-populating');
$.ajax({
url: super_common_i18n.ajaxurl,
type: 'post',
data: {
action: 'super_search_wc_orders',
value: $value,
method: $method,
filterby: $filterby,
return_label: $return_label,
return_value: $return_value,
populate: $populate,
skip: $skip,
status: $status
},
success: function (result){
if(result!==''){
$this.parents('.super-shortcode:eq(0)').addClass('super-focus');
$this.parents('.super-shortcode:eq(0)').addClass('super-string-found');
}
var ul=$this.parents('.super-field-wrapper:eq(0)').children('.super-dropdown-ui');
if(ul.length){
ul.html(result);
}else{
$('
').appendTo($this.parents('.super-field-wrapper:eq(0)'));
}},
complete: function(){
$this.parents('.super-field-wrapper:eq(0)').removeClass('super-populating');
$form.removeClass('super-populating');
},
error: function (xhr, ajaxOptions, thrownError){
console.log(xhr, ajaxOptions, thrownError);
alert('Failed to process data, please try again');
}});
}}, 1000);
});
SUPER.init_common_fields();
});
})(jQuery);