(function (b) { b.fn.formset = function (d) { var a = b.extend({}, b.fn.formset.defaults, d), c = b(this), d = c.parent(), i = function (a, e, g) { var d = RegExp("(" + e + "-(\\d+|__prefix__))"), e = e + "-" + g; b(a).prop("for") && b(a).prop("for", b(a).prop("for").replace(d, e)); a.id && (a.id = a.id.replace(d, e)); a.name && (a.name = a.name.replace(d, e)) }, f = b("#id_" + a.prefix + "-TOTAL_FORMS").prop("autocomplete", "off"), g = parseInt(f.val(), 10), e = b("#id_" + a.prefix + "-MAX_NUM_FORMS").prop("autocomplete", "off"), f = "" === e.val() || 0 < e.val() - f.val(); c.each(function () { b(this).not("." + a.emptyCssClass).addClass(a.formCssClass) }); if (c.length && f) { var h; "TR" == c.prop("tagName") ? (c = this.eq(-1).children().length, d.append('' + a.addText + ""), h = d.find("tr:last a")) : (c.filter(":last").after('
' + a.addText + "
"), h = c.filter(":last").next().find("a")); h.click(function (d) { d.preventDefault(); var f = b("#id_" + a.prefix + "-TOTAL_FORMS"), d = b("#" + a.prefix + "-empty"), c = d.clone(true); c.removeClass(a.emptyCssClass).addClass(a.formCssClass).attr("id", a.prefix + "-" + g); c.is("tr") ? c.children(":last").append('
' + a.deleteText + "
") : c.is("ul") || c.is("ol") ? c.append('
  • ' + a.deleteText + "
  • ") : c.children(":first").append('' + a.deleteText + ""); c.find("*").each(function () { i(this, a.prefix, f.val()) }); c.insertBefore(b(d)); b(f).val(parseInt(f.val(), 10) + 1); g = g + 1; e.val() !== "" && e.val() - f.val() <= 0 && h.parent().hide(); c.find("a." + a.deleteCssClass).click(function (d) { d.preventDefault(); d = b(this).parents("." + a.formCssClass); d.remove(); g = g - 1; a.removed && a.removed(d); d = b("." + a.formCssClass); b("#id_" + a.prefix + "-TOTAL_FORMS").val(d.length); (e.val() === "" || e.val() - d.length > 0) && h.parent().show(); for (var c = 0, f = d.length; c < f; c++) { i(b(d).get(c), a.prefix, c); b(d.get(c)).find("*").each(function () { i(this, a.prefix, c) }) } }); a.added && a.added(c) }) } return this }; b.fn.formset.defaults = {prefix: "form", addText: "add another", deleteText: "remove", addCssClass: "add-row", deleteCssClass: "delete-row", emptyCssClass: "empty-row", formCssClass: "dynamic-form", added: null, removed: null}; b.fn.tabularFormset = function (d) { var a = b(this), c = function () { b(a.selector).not(".add-row").removeClass("row1 row2").filter(":even").addClass("row1").end().filter(":odd").addClass("row2") }; a.formset({prefix: d.prefix, addText: d.addText, formCssClass: "dynamic-" + d.prefix, deleteCssClass: "inline-deletelink", deleteText: d.deleteText, emptyCssClass: "empty-form", removed: c, added: function (a) { a.find(".prepopulated_field").each(function () { var d = b(this).find("input, select, textarea"), c = d.data("dependency_list") || [], e = []; b.each(c, function (d, b) { e.push("#" + a.find(".field-" + b).find("input, select, textarea").attr("id")) }); e.length && d.prepopulate(e, d.attr("maxlength")) }); "undefined" != typeof DateTimeShortcuts && (b(".datetimeshortcuts").remove(), DateTimeShortcuts.init()); "undefined" != typeof SelectFilter && (b(".selectfilter").each(function (a, b) { var c = b.name.split("-"); SelectFilter.init(b.id, c[c.length - 1], false, d.adminStaticPrefix) }), b(".selectfilterstacked").each(function (a, b) { var c = b.name.split("-"); SelectFilter.init(b.id, c[c.length - 1], true, d.adminStaticPrefix) })); c(a) }}); return a }; b.fn.stackedFormset = function (d) { var a = b(this), c = function () { b(a.selector).find(".inline_label").each(function (a) { a += 1; b(this).html(b(this).html().replace(/(#\d+)/g, "#" + a)) }) }; a.formset({prefix: d.prefix, addText: d.addText, formCssClass: "dynamic-" + d.prefix, deleteCssClass: "inline-deletelink", deleteText: d.deleteText, emptyCssClass: "empty-form", removed: c, added: function (a) { a.find(".prepopulated_field").each(function () { var d = b(this).find("input, select, textarea"), c = d.data("dependency_list") || [], e = []; b.each(c, function (d, b) { e.push("#" + a.find(".form-row .field-" + b).find("input, select, textarea").attr("id")) }); e.length && d.prepopulate(e, d.attr("maxlength")) }); "undefined" != typeof DateTimeShortcuts && (b(".datetimeshortcuts").remove(), DateTimeShortcuts.init()); "undefined" != typeof SelectFilter && (b(".selectfilter").each(function (a, b) { var c = b.name.split("-"); SelectFilter.init(b.id, c[c.length - 1], false, d.adminStaticPrefix) }), b(".selectfilterstacked").each(function (a, b) { var c = b.name.split("-"); SelectFilter.init(b.id, c[c.length - 1], true, d.adminStaticPrefix) })); c(a) }}); return a } })(django.jQuery);