/*! * jQuery Form Plugin * version: 4.2.1 * Requires jQuery v1.7 or later * Copyright 2017 Kevin Morris * Copyright 2006 M. Alsup * Project repository: https://github.com/jquery-form/form * Dual licensed under the MIT and LGPLv3 licenses. * https://github.com/jquery-form/form#license */ !function (a) { "function" == typeof define && define.amd ? define(["jquery"], a) : "object" == typeof module && module.exports ? module.exports = function (b, c) { return void 0 === c && (c = "undefined" != typeof window ? require("jquery") : require("jquery")(b)), a(c), c } : a(jQuery) }(function (a) { "use strict"; function b(b) { var c = b.data; b.isDefaultPrevented() || (b.preventDefault(), a(b.target).closest("form").ajaxSubmit(c)) } function c(b) { var c = b.target, d = a(c); if (!d.is("[type=submit],[type=image]")) { var e = d.closest("[type=submit]"); if (0 === e.length) return; c = e[0] } var f = c.form; if (f.clk = c, "image" === c.type) if (void 0 !== b.offsetX) f.clk_x = b.offsetX, f.clk_y = b.offsetY; else if ("function" == typeof a.fn.offset) { var g = d.offset(); f.clk_x = b.pageX - g.left, f.clk_y = b.pageY - g.top } else f.clk_x = b.pageX - c.offsetLeft, f.clk_y = b.pageY - c.offsetTop; setTimeoutGener(function () { f.clk = f.clk_x = f.clk_y = null }, 100) } function d() { if (a.fn.ajaxSubmit.debug) { var b = "[jquery.form] " + Array.prototype.join.call(arguments, ""); window.console && window.console.log ? window.console.log(b) : window.opera && window.opera.postError && window.opera.postError(b) } } var e = {}; e.fileapi = void 0 !== a('').get(0).files, e.formdata = void 0 !== window.FormData; var f = !!a.fn.prop; a.fn.attr2 = function () { if (!f) return this.attr.apply(this, arguments); var a = this.prop.apply(this, arguments); return a && a.jquery || "string" == typeof a ? a : this.attr.apply(this, arguments) }, a.fn.ajaxSubmit = function (b, c, g, h) { function i(c) { var d, e, f = a.param(c, b.traditional).split("&"), g = f.length, h = []; for (d = 0; d < g; d++)f[d] = f[d].replace(/\+/g, " "), e = f[d].split("="), h.push([decodeURIComponent(e[0]), decodeURIComponent(e[1])]); return h } function j(c) { for (var d = new FormData, e = 0; e < c.length; e++)d.append(c[e].name, c[e].value); if (b.extraData) { var f = i(b.extraData); for (e = 0; e < f.length; e++)f[e] && d.append(f[e][0], f[e][1]) } b.data = null; var g = a.extend(!0, {}, a.ajaxSettings, b, { contentType: !1, processData: !1, cache: !1, type: l || "POST" }); b.uploadProgress && (g.xhr = function () { var c = a.ajaxSettings.xhr(); return c.upload && c.upload.addEventListener("progress", function (a) { var c = 0, d = a.loaded || a.position, e = a.total; a.lengthComputable && (c = Math.ceil(d / e * 100)), b.uploadProgress(a, d, e, c) }, !1), c }), g.data = null; var h = g.beforeSend; return g.beforeSend = function (a, c) { b.formData ? c.data = b.formData : c.data = d, h && h.call(this, a, c) }, a.ajax(g) } function k(c) { function e(a) { var b = null; try { a.contentWindow && (b = a.contentWindow.document) } catch (a) { d("cannot get iframe.contentWindow document: " + a) } if (b) return b; try { b = a.contentDocument ? a.contentDocument : a.document } catch (c) { d("cannot get iframe.contentDocument: " + c), b = a.document } return b } function g() { function b() { try { var a = e(q).readyState; d("state = " + a), a && "uninitialized" === a.toLowerCase() && setTimeoutGener(b, 50) } catch (a) { d("Server abort: ", a, " (", a.name, ")"), h(2), w && clearTimeout(w), w = void 0 } } var c = o.attr2("target"), f = o.attr2("action"), g = o.attr("enctype") || o.attr("encoding") || "multipart/form-data"; x.setAttribute("target", n), l && !/post/i.test(l) || x.setAttribute("method", "POST"), f !== k.url && x.setAttribute("action", k.url), k.skipEncodingOverride || l && !/post/i.test(l) || o.attr({ encoding: "multipart/form-data", enctype: "multipart/form-data" }), k.timeout && (w = setTimeoutGener(function () { v = !0, h(1) }, k.timeout)); var i = []; try { if (k.extraData) for (var j in k.extraData) k.extraData.hasOwnProperty(j) && (a.isPlainObject(k.extraData[j]) && k.extraData[j].hasOwnProperty("name") && k.extraData[j].hasOwnProperty("value") ? i.push(a('', z).val(k.extraData[j].value).appendTo(x)[0]) : i.push(a('', z).val(k.extraData[j]).appendTo(x)[0])); k.iframeTarget || p.appendTo(A), q.attachEvent ? q.attachEvent("onload", h) : q.addEventListener("load", h, !1), setTimeoutGener(b, 15); try { x.submit() } catch (a) { var m = document.createElement("form").submit; m.apply(x) } } finally { x.setAttribute("action", f), x.setAttribute("enctype", g), c ? x.setAttribute("target", c) : o.removeAttr("target"), a(i).remove() } } function h(b) { if (!r.aborted && !F) { if (E = e(q), E || (d("cannot access response document"), b = 2), 1 === b && r) return r.abort("timeout"), void y.reject(r, "timeout"); if (2 === b && r) return r.abort("server abort"), void y.reject(r, "error", "server abort"); if (E && E.location.href !== k.iframeSrc || v) { q.detachEvent ? q.detachEvent("onload", h) : q.removeEventListener("load", h, !1); var c, f = "success"; try { if (v) throw "timeout"; var g = "xml" === k.dataType || E.XMLDocument || a.isXMLDoc(E); if (d("isXml=" + g), !g && window.opera && (null === E.body || !E.body.innerHTML) && --G) return d("requeing onLoad callback, DOM not available"), void setTimeoutGener(h, 250); var i = E.body ? E.body : E.documentElement; r.responseText = i ? i.innerHTML : null, r.responseXML = E.XMLDocument ? E.XMLDocument : E, g && (k.dataType = "xml"), r.getResponseHeader = function (a) { return { "content-type": k.dataType }[a.toLowerCase()] }, i && (r.status = Number(i.getAttribute("status")) || r.status, r.statusText = i.getAttribute("statusText") || r.statusText); var j = (k.dataType || "").toLowerCase(), l = /(json|script|text)/.test(j); if (l || k.textarea) { var n = E.getElementsByTagName("textarea")[0]; if (n) r.responseText = n.value, r.status = Number(n.getAttribute("status")) || r.status, r.statusText = n.getAttribute("statusText") || r.statusText; else if (l) { var o = E.getElementsByTagName("pre")[0], s = E.getElementsByTagName("body")[0]; o ? r.responseText = o.textContent ? o.textContent : o.innerText : s && (r.responseText = s.textContent ? s.textContent : s.innerText) } } else "xml" === j && !r.responseXML && r.responseText && (r.responseXML = H(r.responseText)); try { D = J(r, j, k) } catch (a) { f = "parsererror", r.error = c = a || f } } catch (a) { d("error caught: ", a), f = "error", r.error = c = a || f } r.aborted && (d("upload aborted"), f = null), r.status && (f = r.status >= 200 && r.status < 300 || 304 === r.status ? "success" : "error"), "success" === f ? (k.success && k.success.call(k.context, D, "success", r), y.resolve(r.responseText, "success", r), m && a.event.trigger("ajaxSuccess", [r, k])) : f && (void 0 === c && (c = r.statusText), k.error && k.error.call(k.context, r, f, c), y.reject(r, "error", c), m && a.event.trigger("ajaxError", [r, k, c])), m && a.event.trigger("ajaxComplete", [r, k]), m && !--a.active && a.event.trigger("ajaxStop"), k.complete && k.complete.call(k.context, r, f), F = !0, k.timeout && clearTimeout(w), setTimeoutGener(function () { k.iframeTarget ? p.attr("src", k.iframeSrc) : p.remove(), r.responseXML = null }, 100) } } } var i, j, k, m, n, p, q, r, t, u, v, w, x = o[0], y = a.Deferred(); if (y.abort = function (a) { r.abort(a) }, c) for (j = 0; j < s.length; j++)i = a(s[j]), f ? i.prop("disabled", !1) : i.removeAttr("disabled"); k = a.extend(!0, {}, a.ajaxSettings, b), k.context = k.context || k, n = "jqFormIO" + (new Date).getTime(); var z = x.ownerDocument, A = o.closest("body"); if (k.iframeTarget ? (p = a(k.iframeTarget, z), u = p.attr2("name"), u ? n = u : p.attr2("name", n)) : (p = a('