coupon-admin/public/static/pub/validform/js/validform_v5.3.2.js

1057 lines
41 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*
Validform version 5.3.2
By sean during April 7, 2010 - March 26, 2013
For more information, please visit http://validform.rjboy.cn
Validform is available under the terms of the MIT license.
*/
(function(d, f, b) {
var g = null,
j = null,
i = true;
var e = {
tit: "",
w: {
"*": "不能为空!",
"*6-16": "请填写6到16位任意字符",
"n": "请填写数字!",
"n6-16": "请填写6到16位数字",
"s": "不能输入特殊字符!",
"s6-18": "请填写6到18位字符",
"p": "请填写邮政编码!",
"m": "请填写手机号码!",
"e": "邮箱地址格式不对!",
"url": "请填写网址!"
},
def: "请填写正确信息!",
undef: "datatype未定义",
reck: "两次输入的内容不一致!",
r: "",
c: "",
s: "请{填写|选择}{0|信息}",
v: "所填信息没有经过验证,请稍后…",
p: "正在加载中,请稍后..."
};
d.Tipmsg = e;
var a = function(l, n, k) {
var n = d.extend({},
a.defaults, n);
n.datatype && d.extend(a.util.dataType, n.datatype);
var m = this;
m.tipmsg = {
w: {}
};
m.forms = l;
m.objects = [];
if (k === true) {
return false
}
l.each(function() {
if (this.validform_inited == "inited") {
return true
}
this.validform_inited = "inited";
var p = this;
p.settings = d.extend({},
n);
var o = d(p);
p.validform_status = "normal";
o.data("tipmsg", m.tipmsg);
o.delegate("[datatype]", "blur",
function() {
var q = arguments[1];
a.util.check.call(this, o, q)
});
o.delegate(":text", "keypress",
function(q) {
if (q.keyCode == 13 && o.find(":submit").length == 0) {
o.submit()
}
});
a.util.enhance.call(o, p.settings.tiptype, p.settings.usePlugin, p.settings.tipSweep);
p.settings.btnSubmit && o.find(p.settings.btnSubmit).bind("click",
function() {
o.trigger("submit");
return false
});
o.submit(function() {
var q = a.util.submitForm.call(o, p.settings);
q === b && (q = true);
return q
});
o.find("[type='reset']").add(o.find(p.settings.btnReset)).bind("click",
function() {
a.util.resetForm.call(o)
})
});
if (n.tiptype == 1 || (n.tiptype == 2 || n.tiptype == 3) && n.ajaxPost) {
c()
}
};
a.defaults = {
tiptype: 1,
tipSweep: false,
showAllError: false,
postonce: false,
ajaxPost: false
};
a.util = {
dataType: {
"*": /[\w\W]+/,
"*6-16": /^[\w\W]{6,16}$/,
n: /^\d+$/,
"n6-16": /^\d{6,16}$/,
s: /^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s]+$/,
"s6-18": /^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s]{6,18}$/,
p: /^[0-9]{6}$/,
m: /^13[0-9]{9}$|14[0-9]{9}|15[0-9]{9}$|18[0-9]{9}$/,
e: /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
url: /^(\w+:\/\/)?\w+(\.\w+)+.*$/
},
toString: Object.prototype.toString,
isEmpty: function(k) {
return k === "" || k === d.trim(this.attr("tip"))
},
getValue: function(m) {
var l, k = this;
if (m.is(":radio")) {
l = k.find(":radio[name='" + m.attr("name") + "']:checked").val();
l = l === b ? "": l
} else {
if (m.is(":checkbox")) {
l = "";
k.find(":checkbox[name='" + m.attr("name") + "']:checked").each(function() {
l += d(this).val() + ","
});
l = l === b ? "": l
} else {
l = m.val()
}
}
l = d.trim(l);
return a.util.isEmpty.call(m, l) ? "": l
},
enhance: function(l, m, n, k) {
var o = this;
o.find("[datatype]").each(function() {
if (l == 2) {
if (d(this).parent().next().find(".Validform_checktip").length == 0) {
d(this).parent().next().append("<span class='Validform_checktip' />");
d(this).siblings(".Validform_checktip").remove()
}
} else {
if (l == 3 || l == 4) {
if (d(this).siblings(".Validform_checktip").length == 0) {
d(this).parent().append("<span class='Validform_checktip' />");
d(this).parent().next().find(".Validform_checktip").remove()
}
}
}
});
o.find("input[recheck]").each(function() {
if (this.validform_inited == "inited") {
return true
}
this.validform_inited = "inited";
var q = d(this);
var p = o.find("input[name='" + d(this).attr("recheck") + "']");
p.bind("keyup",
function() {
if (p.val() == q.val() && p.val() != "") {
if (p.attr("tip")) {
if (p.attr("tip") == p.val()) {
return false
}
}
q.trigger("blur")
}
}).bind("blur",
function() {
if (p.val() != q.val() && q.val() != "") {
if (q.attr("tip")) {
if (q.attr("tip") == q.val()) {
return false
}
}
q.trigger("blur")
}
})
});
o.find("[tip]").each(function() {
if (this.validform_inited == "inited") {
return true
}
this.validform_inited = "inited";
var q = d(this).attr("tip");
var p = d(this).attr("altercss");
d(this).focus(function() {
if (d(this).val() == q) {
d(this).val("");
if (p) {
d(this).removeClass(p)
}
}
}).blur(function() {
if (d.trim(d(this).val()) === "") {
d(this).val(q);
if (p) {
d(this).addClass(p)
}
}
})
});
o.find(":checkbox[datatype],:radio[datatype]").each(function() {
if (this.validform_inited == "inited") {
return true
}
this.validform_inited = "inited";
var q = d(this);
var p = q.attr("name");
o.find("[name='" + p + "']").filter(":checkbox,:radio").bind("click",
function() {
setTimeout(function() {
q.trigger("blur")
},
0)
})
});
o.find("select[datatype][multiple]").bind("click",
function() {
var p = d(this);
setTimeout(function() {
p.trigger("blur")
},
0)
});
a.util.usePlugin.call(o, m, l, n, k)
},
usePlugin: function(o, l, n, r) {
var s = this,
o = o || {};
if (s.find("input[plugin='swfupload']").length && typeof(swfuploadhandler) != "undefined") {
var k = {
custom_settings: {
form: s,
showmsg: function(v, t, u) {
a.util.showmsg.call(s, v, l, {
obj: s.find("input[plugin='swfupload']"),
type: t,
sweep: n
})
}
}
};
k = d.extend(true, {},
o.swfupload, k);
s.find("input[plugin='swfupload']").each(function(t) {
if (this.validform_inited == "inited") {
return true
}
this.validform_inited = "inited";
d(this).val("");
swfuploadhandler.init(k, t)
})
}
if (s.find("input[plugin='datepicker']").length && d.fn.datePicker) {
o.datepicker = o.datepicker || {};
if (o.datepicker.format) {
Date.format = o.datepicker.format;
delete o.datepicker.format
}
if (o.datepicker.firstDayOfWeek) {
Date.firstDayOfWeek = o.datepicker.firstDayOfWeek;
delete o.datepicker.firstDayOfWeek
}
s.find("input[plugin='datepicker']").each(function(t) {
if (this.validform_inited == "inited") {
return true
}
this.validform_inited = "inited";
o.datepicker.callback && d(this).bind("dateSelected",
function() {
var u = new Date(d.event._dpCache[this._dpId].getSelected()[0]).asString(Date.format);
o.datepicker.callback(u, this)
});
d(this).datePicker(o.datepicker)
})
}
if (s.find("input[plugin*='passwordStrength']").length && d.fn.passwordStrength) {
o.passwordstrength = o.passwordstrength || {};
o.passwordstrength.showmsg = function(u, v, t) {
a.util.showmsg.call(s, v, l, {
obj: u,
type: t,
sweep: n
})
};
s.find("input[plugin='passwordStrength']").each(function(t) {
if (this.validform_inited == "inited") {
return true
}
this.validform_inited = "inited";
d(this).passwordStrength(o.passwordstrength)
})
}
if (r != "addRule" && o.jqtransform && d.fn.jqTransSelect) {
if (s[0].jqTransSelected == "true") {
return
}
s[0].jqTransSelected = "true";
var m = function(t) {
var u = d(".jqTransformSelectWrapper ul:visible");
u.each(function() {
var v = d(this).parents(".jqTransformSelectWrapper:first").find("select").get(0);
if (! (t && v.oLabel && v.oLabel.get(0) == t.get(0))) {
d(this).hide()
}
})
};
var p = function(t) {
if (d(t.target).parents(".jqTransformSelectWrapper").length === 0) {
m(d(t.target))
}
};
var q = function() {
d(document).mousedown(p)
};
if (o.jqtransform.selector) {
s.find(o.jqtransform.selector).filter('input:submit, input:reset, input[type="button"]').jqTransInputButton();
s.find(o.jqtransform.selector).filter("input:text, input:password").jqTransInputText();
s.find(o.jqtransform.selector).filter("input:checkbox").jqTransCheckBox();
s.find(o.jqtransform.selector).filter("input:radio").jqTransRadio();
s.find(o.jqtransform.selector).filter("textarea").jqTransTextarea();
if (s.find(o.jqtransform.selector).filter("select").length > 0) {
s.find(o.jqtransform.selector).filter("select").jqTransSelect();
q()
}
} else {
s.jqTransform()
}
s.find(".jqTransformSelectWrapper").find("li a").click(function() {
d(this).parents(".jqTransformSelectWrapper").find("select").trigger("blur")
})
}
},
getNullmsg: function(o) {
var n = this;
var m = /[\u4E00-\u9FA5\uf900-\ufa2da-zA-Z\s]+/g;
var k;
var l = o[0].settings.label || ".Validform_label";
l = n.siblings(l).eq(0).text() || n.siblings().find(l).eq(0).text() || n.parent().siblings(l).eq(0).text() || n.parent().siblings().find(l).eq(0).text();
l = l.replace(/\s(?![a-zA-Z])/g, "").match(m);
l = l ? l.join("") : [""];
m = /\{(.+)\|(.+)\}/;
k = o.data("tipmsg").s || e.s;
if (l != "") {
k = k.replace(/\{0\|(.+)\}/, l);
if (n.attr("recheck")) {
k = k.replace(/\{(.+)\}/, "");
n.attr("nullmsg", k);
return k
}
} else {
k = n.is(":checkbox,:radio,select") ? k.replace(/\{0\|(.+)\}/, "") : k.replace(/\{0\|(.+)\}/, "$1")
}
k = n.is(":checkbox,:radio,select") ? k.replace(m, "$2") : k.replace(m, "$1");
n.attr("nullmsg", k);
return k
},
getErrormsg: function(s, n, u) {
var o = /^(.+?)((\d+)-(\d+))?$/,
m = /^(.+?)(\d+)-(\d+)$/,
l = /(.*?)\d+(.+?)\d+(.*)/,
q = n.match(o),
t,
r;
if (u == "recheck") {
r = s.data("tipmsg").reck || e.reck;
return r
}
var p = d.extend({},
e.w, s.data("tipmsg").w);
if (q[0] in p) {
return s.data("tipmsg").w[q[0]] || e.w[q[0]]
}
for (var k in p) {
if (k.indexOf(q[1]) != -1 && m.test(k)) {
r = (s.data("tipmsg").w[k] || e.w[k]).replace(l, "$1" + q[3] + "$2" + q[4] + "$3");
s.data("tipmsg").w[q[0]] = r;
return r
}
}
return s.data("tipmsg").def || e.def
},
_regcheck: function(t, n, u, A) {
var A = A,
y = null,
v = false,
o = /\/.+\//g,
k = /^(.+?)(\d+)-(\d+)$/,
l = 3;
if (o.test(t)) {
var s = t.match(o)[0].slice(1, -1);
var r = t.replace(o, "");
var q = RegExp(s, r);
v = q.test(n)
} else {
if (a.util.toString.call(a.util.dataType[t]) == "[object Function]") {
v = a.util.dataType[t](n, u, A, a.util.dataType);
if (v === true || v === b) {
v = true
} else {
y = v;
v = false
}
} else {
if (! (t in a.util.dataType)) {
var m = t.match(k),
z;
if (!m) {
v = false;
y = A.data("tipmsg").undef || e.undef
} else {
for (var B in a.util.dataType) {
z = B.match(k);
if (!z) {
continue
}
if (m[1] === z[1]) {
var w = a.util.dataType[B].toString(),
r = w.match(/\/[mgi]*/g)[1].replace("/", ""),
x = new RegExp("\\{" + z[2] + "," + z[3] + "\\}", "g");
w = w.replace(/\/[mgi]*/g, "/").replace(x, "{" + m[2] + "," + m[3] + "}").replace(/^\//, "").replace(/\/$/, "");
a.util.dataType[t] = new RegExp(w, r);
break
}
}
}
}
if (a.util.toString.call(a.util.dataType[t]) == "[object RegExp]") {
v = a.util.dataType[t].test(n)
}
}
}
if (v) {
l = 2;
y = u.attr("sucmsg") || A.data("tipmsg").r || e.r;
if (u.attr("recheck")) {
var p = A.find("input[name='" + u.attr("recheck") + "']:first");
if (n != p.val()) {
v = false;
l = 3;
y = u.attr("errormsg") || a.util.getErrormsg.call(u, A, t, "recheck")
}
}
} else {
y = y || u.attr("errormsg") || a.util.getErrormsg.call(u, A, t);
if (a.util.isEmpty.call(u, n)) {
y = u.attr("nullmsg") || a.util.getNullmsg.call(u, A)
}
}
return {
passed: v,
type: l,
info: y
}
},
regcheck: function(n, s, m) {
var t = this,
k = null,
l = false,
r = 3;
if (m.attr("ignore") === "ignore" && a.util.isEmpty.call(m, s)) {
if (m.data("cked")) {
k = ""
}
return {
passed: true,
type: 4,
info: k
}
}
m.data("cked", "cked");
var u = a.util.parseDatatype(n);
var q;
for (var p = 0; p < u.length; p++) {
for (var o = 0; o < u[p].length; o++) {
q = a.util._regcheck(u[p][o], s, m, t);
if (!q.passed) {
break
}
}
if (q.passed) {
break
}
}
return q
},
parseDatatype: function(r) {
var q = /\/.+?\/[mgi]*(?=(,|$|\||\s))|[\w\*-]+/g,
o = r.match(q),
p = r.replace(q, "").replace(/\s*/g, "").split(""),
l = [],
k = 0;
l[0] = [];
l[0].push(o[0]);
for (var s = 0; s < p.length; s++) {
if (p[s] == "|") {
k++;
l[k] = []
}
l[k].push(o[s + 1])
}
return l
},
showmsg: function(n, l, m, k) {
if (n == b) {
return
}
if (k == "bycheck" && m.sweep && (m.obj && !m.obj.is(".Validform_error") || typeof l == "function")) {
return
}
d.extend(m, {
curform: this
});
if (typeof l == "function") {
l(n, m, a.util.cssctl);
return
}
if (l == 1 || k == "byajax" && l != 4) {
j.find(".Validform_info").html(n)
}
if (l == 1 && k != "bycheck" && m.type != 2 || k == "byajax" && l != 4) {
i = false;
j.find(".iframe").css("height", j.outerHeight());
j.show();
h(j, 100)
}
if (l == 2 && m.obj) {
m.obj.parent().next().find(".Validform_checktip").html(n);
a.util.cssctl(m.obj.parent().next().find(".Validform_checktip"), m.type)
}
if ((l == 3 || l == 4) && m.obj) {
m.obj.siblings(".Validform_checktip").html(n);
a.util.cssctl(m.obj.siblings(".Validform_checktip"), m.type)
}
},
cssctl: function(l, k) {
switch (k) {
case 1:
l.removeClass("Validform_right Validform_wrong").addClass("Validform_checktip Validform_loading");
break;
case 2:
l.removeClass("Validform_wrong Validform_loading").addClass("Validform_checktip Validform_right");
break;
case 4:
l.removeClass("Validform_right Validform_wrong Validform_loading").addClass("Validform_checktip");
break;
default:
l.removeClass("Validform_right Validform_loading").addClass("Validform_checktip Validform_wrong")
}
},
check: function(v, t, n) {
var o = v[0].settings;
var t = t || "";
var k = a.util.getValue.call(v, d(this));
if (o.ignoreHidden && d(this).is(":hidden") || d(this).data("dataIgnore") === "dataIgnore") {
return true
}
if (o.dragonfly && !d(this).data("cked") && a.util.isEmpty.call(d(this), k) && d(this).attr("ignore") != "ignore") {
return false
}
var s = a.util.regcheck.call(v, d(this).attr("datatype"), k, d(this));
if (k == this.validform_lastval && !d(this).attr("recheck") && t == "") {
return s.passed ? true: false
}
this.validform_lastval = k;
var r;
g = r = d(this);
if (!s.passed) {
a.util.abort.call(r[0]);
if (!n) {
a.util.showmsg.call(v, s.info, o.tiptype, {
obj: d(this),
type: s.type,
sweep: o.tipSweep
},
"bycheck"); ! o.tipSweep && r.addClass("Validform_error")
}
return false
}
var q = d(this).attr("ajaxurl");
if (q && !a.util.isEmpty.call(d(this), k) && !n) {
var m = d(this);
if (t == "postform") {
m[0].validform_subpost = "postform"
} else {
m[0].validform_subpost = ""
}
if (m[0].validform_valid === "posting" && k == m[0].validform_ckvalue) {
return "ajax"
}
m[0].validform_valid = "posting";
m[0].validform_ckvalue = k;
a.util.showmsg.call(v, v.data("tipmsg").c || e.c, o.tiptype, {
obj: m,
type: 1,
sweep: o.tipSweep
},
"bycheck");
a.util.abort.call(r[0]);
var u = d.extend(true, {},
o.ajaxurl || {});
var p = {
type: "POST",
cache: false,
url: q,
data: "param=" + encodeURIComponent(k) + "&name=" + encodeURIComponent(d(this).attr("name")),
success: function(x) {
if (d.trim(x.status) === "y") {
m[0].validform_valid = "true";
x.info && m.attr("sucmsg", x.info);
a.util.showmsg.call(v, m.attr("sucmsg") || v.data("tipmsg").r || e.r, o.tiptype, {
obj: m,
type: 2,
sweep: o.tipSweep
},
"bycheck");
r.removeClass("Validform_error");
g = null;
if (m[0].validform_subpost == "postform") {
v.trigger("submit")
}
} else {
m[0].validform_valid = x.info;
a.util.showmsg.call(v, x.info, o.tiptype, {
obj: m,
type: 3,
sweep: o.tipSweep
});
r.addClass("Validform_error")
}
r[0].validform_ajax = null
},
error: function(x) {
if (x.status == "200") {
if (x.responseText == "y") {
u.success({
status: "y"
})
} else {
u.success({
status: "n",
info: x.responseText
})
}
return false
}
if (x.statusText !== "abort") {
var y = "status: " + x.status + "; statusText: " + x.statusText;
a.util.showmsg.call(v, y, o.tiptype, {
obj: m,
type: 3,
sweep: o.tipSweep
});
r.addClass("Validform_error")
}
m[0].validform_valid = x.statusText;
r[0].validform_ajax = null;
return true
}
};
if (u.success) {
var w = u.success;
u.success = function(x) {
p.success(x);
w(x, m)
}
}
if (u.error) {
var l = u.error;
u.error = function(x) {
p.error(x) && l(x, m)
}
}
u = d.extend({},
p, u, {
dataType: "json"
});
r[0].validform_ajax = d.ajax(u);
return "ajax"
} else {
if (q && a.util.isEmpty.call(d(this), k)) {
a.util.abort.call(r[0]);
r[0].validform_valid = "true"
}
}
if (!n) {
a.util.showmsg.call(v, s.info, o.tiptype, {
obj: d(this),
type: s.type,
sweep: o.tipSweep
},
"bycheck");
r.removeClass("Validform_error")
}
g = null;
return true
},
submitForm: function(o, l, k, r, t) {
var w = this;
if (w[0].validform_status === "posting") {
return false
}
if (o.postonce && w[0].validform_status === "posted") {
return false
}
var v = o.beforeCheck && o.beforeCheck(w);
if (v === false) {
return false
}
var s = true,
n;
w.find("[datatype]").each(function() {
if (l) {
return false
}
if (o.ignoreHidden && d(this).is(":hidden") || d(this).data("dataIgnore") === "dataIgnore") {
return true
}
var z = a.util.getValue.call(w, d(this)),
A;
g = A = d(this);
n = a.util.regcheck.call(w, d(this).attr("datatype"), z, d(this));
if (!n.passed) {
a.util.showmsg.call(w, n.info, o.tiptype, {
obj: d(this),
type: n.type,
sweep: o.tipSweep
});
A.addClass("Validform_error");
if (!o.showAllError) {
A.focus();
s = false;
return false
}
s && (s = false);
return true
}
if (d(this).attr("ajaxurl") && !a.util.isEmpty.call(d(this), z)) {
if (this.validform_valid !== "true") {
var y = d(this);
a.util.showmsg.call(w, w.data("tipmsg").v || e.v, o.tiptype, {
obj: y,
type: 3,
sweep: o.tipSweep
});
A.addClass("Validform_error");
y.trigger("blur", ["postform"]);
if (!o.showAllError) {
s = false;
return false
}
s && (s = false);
return true
}
} else {
if (d(this).attr("ajaxurl") && a.util.isEmpty.call(d(this), z)) {
a.util.abort.call(this);
this.validform_valid = "true"
}
}
a.util.showmsg.call(w, n.info, o.tiptype, {
obj: d(this),
type: n.type,
sweep: o.tipSweep
});
A.removeClass("Validform_error");
g = null
});
if (o.showAllError) {
w.find(".Validform_error:first").focus()
}
if (s) {
var q = o.beforeSubmit && o.beforeSubmit(w);
if (q === false) {
return false
}
w[0].validform_status = "posting";
if (o.ajaxPost || r === "ajaxPost") {
var u = d.extend(true, {},
o.ajaxpost || {});
u.url = k || u.url || o.url || w.attr("action");
a.util.showmsg.call(w, w.data("tipmsg").p || e.p, o.tiptype, {
obj: w,
type: 1,
sweep: o.tipSweep
},
"byajax");
if (t) {
u.async = false
} else {
if (t === false) {
u.async = true
}
}
if (u.success) {
var x = u.success;
u.success = function(y) {
o.callback && o.callback(y);
w[0].validform_ajax = null;
if (d.trim(y.status) === "y") {
w[0].validform_status = "posted"
} else {
w[0].validform_status = "normal"
}
x(y, w)
}
}
if (u.error) {
var m = u.error;
u.error = function(y) {
o.callback && o.callback(y);
w[0].validform_status = "normal";
w[0].validform_ajax = null;
m(y, w)
}
}
var p = {
type: "POST",
async: true,
data: w.serializeArray(),
success: function(y) {
if (d.trim(y.status) === "y") {
w[0].validform_status = "posted";
a.util.showmsg.call(w, y.info, o.tiptype, {
obj: w,
type: 2,
sweep: o.tipSweep
},
"byajax")
} else {
w[0].validform_status = "normal";
a.util.showmsg.call(w, y.info, o.tiptype, {
obj: w,
type: 3,
sweep: o.tipSweep
},
"byajax")
}
o.callback && o.callback(y);
w[0].validform_ajax = null
},
error: function(y) {
var z = "status: " + y.status + "; statusText: " + y.statusText;
a.util.showmsg.call(w, z, o.tiptype, {
obj: w,
type: 3,
sweep: o.tipSweep
},
"byajax");
o.callback && o.callback(y);
w[0].validform_status = "normal";
w[0].validform_ajax = null
}
};
u = d.extend({},
p, u, {
dataType: "json"
});
w[0].validform_ajax = d.ajax(u)
} else {
if (!o.postonce) {
w[0].validform_status = "normal"
}
var k = k || o.url;
if (k) {
w.attr("action", k)
}
return o.callback && o.callback(w)
}
}
return false
},
resetForm: function() {
var k = this;
k.each(function() {
this.reset && this.reset();
this.validform_status = "normal"
});
k.find(".Validform_right").text("");
k.find(".passwordStrength").children().removeClass("bgStrength");
k.find(".Validform_checktip").removeClass("Validform_wrong Validform_right Validform_loading");
k.find(".Validform_error").removeClass("Validform_error");
k.find("[datatype]").removeData("cked").removeData("dataIgnore").each(function() {
this.validform_lastval = null
});
k.eq(0).find("input:first").focus()
},
abort: function() {
if (this.validform_ajax) {
this.validform_ajax.abort()
}
}
};
d.Datatype = a.util.dataType;
a.prototype = {
dataType: a.util.dataType,
eq: function(l) {
var k = this;
if (l >= k.forms.length) {
return null
}
if (! (l in k.objects)) {
k.objects[l] = new a(d(k.forms[l]).get(), {},
true)
}
return k.objects[l]
},
resetStatus: function() {
var k = this;
d(k.forms).each(function() {
this.validform_status = "normal"
});
return this
},
setStatus: function(k) {
var l = this;
d(l.forms).each(function() {
this.validform_status = k || "posting"
});
return this
},
getStatus: function() {
var l = this;
var k = d(l.forms)[0].validform_status;
return k
},
ignore: function(k) {
var l = this;
var k = k || "[datatype]";
d(l.forms).find(k).each(function() {
d(this).data("dataIgnore", "dataIgnore").removeClass("Validform_error")
});
return this
},
unignore: function(k) {
var l = this;
var k = k || "[datatype]";
d(l.forms).find(k).each(function() {
d(this).removeData("dataIgnore")
});
return this
},
addRule: function(n) {
var m = this;
var n = n || [];
for (var l = 0; l < n.length; l++) {
var p = d(m.forms).find(n[l].ele);
for (var k in n[l]) {
k !== "ele" && p.attr(k, n[l][k])
}
}
d(m.forms).each(function() {
var o = d(this);
a.util.enhance.call(o, this.settings.tiptype, this.settings.usePlugin, this.settings.tipSweep, "addRule")
});
return this
},
ajaxPost: function(k, m, l) {
var n = this;
d(n.forms).each(function() {
if (this.settings.tiptype == 1 || this.settings.tiptype == 2 || this.settings.tiptype == 3) {
c()
}
a.util.submitForm.call(d(n.forms[0]), this.settings, k, l, "ajaxPost", m)
});
return this
},
submitForm: function(k, l) {
var m = this;
d(m.forms).each(function() {
var n = a.util.submitForm.call(d(this), this.settings, k, l);
n === b && (n = true);
if (n === true) {
this.submit()
}
});
return this
},
resetForm: function() {
var k = this;
a.util.resetForm.call(d(k.forms));
return this
},
abort: function() {
var k = this;
d(k.forms).each(function() {
a.util.abort.call(this)
});
return this
},
check: function(m, k) {
var k = k || "[datatype]",
o = this,
n = d(o.forms),
l = true;
n.find(k).each(function() {
a.util.check.call(this, n, "", m) || (l = false)
});
return l
},
config: function(k) {
var l = this;
k = k || {};
d(l.forms).each(function() {
var m = d(this);
this.settings = d.extend(true, this.settings, k);
a.util.enhance.call(m, this.settings.tiptype, this.settings.usePlugin, this.settings.tipSweep)
});
return this
}
};
d.fn.Validform = function(k) {
return new a(this, k)
};
function h(n, m) {
var l = (d(window).width() - n.outerWidth()) / 2,
k = (d(window).height() - n.outerHeight()) / 2,
k = (document.documentElement.scrollTop ? document.documentElement.scrollTop: document.body.scrollTop) + (k > 0 ? k: 0);
n.css({
left: l
}).animate({
top: k
},
{
duration: m,
queue: false
})
}
function c() {
if (d("#Validform_msg").length !== 0) {
return false
}
j = d('<div id="Validform_msg"><div class="Validform_alert"><span id="Validform_alert_status" class="Validform_alert_loading"></span><span class="Validform_info"></span><span class="Validform_alert_end"></span></div></div>').appendTo("body");
j.find("a.Validform_close").click(function() {
j.hide();
i = true;
if (g) {
g.focus().addClass("Validform_error")
}
return false
}).focus(function() {
this.blur()
});
d(window).bind("scroll resize",
function() { ! i && h(j, 400)
})
}
d.Showmsg = function(k) {
c();
a.util.showmsg.call(f, k, 1, {})
};
d.Hidemsg = function() {
j.hide();
i = true
}
})(jQuery, window);