"use strict";
!function($) {
$(function () {
$('.fieldlist').each(function() {
var $this=$(this);
var lis=$this.children('li');
lis.first().children(':first').after(' ');
lis.first().children('button').click(function() {
clone_fieldlist($this.children('li:last'));
});
lis=lis.slice(1);
lis.each(function() {
append_remove_button($(this));
});
});
$('.selectpicker').selectpicker();
});
function change_input_num(li, new_num, reset=false) {
li.find('input,select').each(function() {
var id = $(this).attr('id').replace(/^(.*)-\d{1,4}/, '$1-'+new_num);
$(this).attr({'name': id, 'id': id});
if(reset)
$(this).val('').removeAttr('checked');
});
}
function append_remove_button(li) {
li.children(':first').after(' ');
li.children('button').click(function() {
var ul=li.parent();
li.remove();
var i=0;
ul.children('li').each(function() {
change_input_num($(this), i);
i++;
});
});
};
function clone_fieldlist(el) {
var new_element = el.clone(true);
var elem_id = new_element.find(':input')[0].id;
var elem_num = parseInt(elem_id.replace(/^.*-(\d{1,4})/, '$1')) + 1;
change_input_num(new_element, elem_num, true);
new_element.children('button').remove();
new_element.children('.help-inline.error-list').remove();
new_element.find('.bootstrap-select').remove();
append_remove_button(new_element);
new_element.find('.selectpicker').data('selectpicker', null).selectpicker();
el.after(new_element);
}
}(window.jQuery);