PageSourceSearch

https://book.allianceairlines.com.au/B2C/Scripts/MvcFoolproofJQueryValidation.js

js allianceairlines.com.au collected 2026-10-02 10:58:53 UTC 5,826 bytes, 148 lines download raw bytes

1var foolproof = function () { };
2foolproof.is = function (value1, operator, value2, passOnNull) {
3    if (passOnNull) {
4        var isNullish = function (input) {
5            return input == null || input == undefined || input == "";
6        };
7
8        var value1nullish = isNullish(value1);
9        var value2nullish = isNullish(value2);
10
11        if ((value1nullish && !value2nullish) || (value2nullish && !value1nullish))
12            return true;
13    }
14
15    var isNumeric = function (input) {
16        return (input - 0) == input && input.length > 0;
17    };
18
19    var isDate = function (input) {
20        var dateTest = new RegExp(/(?=\d)^(?:(?!(?:10\D(?:0?[5-9]|1[0-4])\D(?:1582))|(?:0?9\D(?:0?[3-9]|1[0-3])\D(?:1752)))((?:0?[13578]|1[02])|(?:0?[469]|11)(?!\/31)(?!-31)(?!\.31)|(?:0?2(?=.?(?:(?:29.(?!000[04]|(?:(?:1[^0-6]|[2468][^048]|[3579][^26])00))(?:(?:(?:\d\d)(?:[02468][048]|[13579][26])(?!\x20BC))|(?:00(?:42|3[0369]|2[147]|1[258]|09)\x20BC))))))|(?:0?2(?=.(?:(?:\d\D)|(?:[01]\d)|(?:2[0-8])))))([-.\/])(0?[1-9]|[12]\d|3[01])\2(?!0000)((?=(?:00(?:4[0-5]|[0-3]?\d)\x20BC)|(?:\d{4}(?!\x20BC)))\d{4}(?:\x20BC)?)(?:$|(?=\x20\d)\x20))?((?:(?:0?[1-9]|1[012])(?::[0-5]\d){0,2}(?:\x20[aApP][mM]))|(?:[01]\d|2[0-3])(?::[0-5]\d){1,2})?$/);
21
22        return dateTest.test(input);
23    };
24
25    var isBool = function (input) {
26        return input === true || input === false || input === "true" || input === "false";
27    };
28
29    if (isDate(value1)) {
30        value1 = Date.parse(value1);
31        value2 = Date.parse(value2);
32    }
33    else if (isBool(value1)) {
34        if (value1 == "false") value1 = false;
35        if (value2 == "false") value2 = false;
36        value1 = !!value1;
37        value2 = !!value2;
38    }
39    else if (isNumeric(value1)) {
40        value1 = parseFloat(value1);
41        value2 = parseFloat(value2);
42    }
43
44    switch (operator) {
45        case "EqualTo": if (value1 == value2) return true; break;
46        case "NotEqualTo": if (value1 != value2) return true; break;
47        case "GreaterThan": if (value1 > value2) return true; break;
48        case "LessThan": if (value1 < value2) return true; break;
49        case "GreaterThanOrEqualTo": if (value1 >= value2) return true; break;
50        case "LessThanOrEqualTo": if (value1 <= value2) return true; break;
51        case "RegExMatch": return (new RegExp(value2)).test(value1); break;
52        case "NotRegExMatch": return !(new RegExp(value2)).test(value1); break;
53    }
54
55    return false;
56};
57
58foolproof.getId = function (element, dependentPropety) {
59    var pos = element.id.lastIndexOf("_") + 1;
60    return element.id.substr(0, pos) + dependentPropety.replace(/\./g, "_");
61};
62
63foolproof.getName = function (element, dependentPropety) {
64    var pos = element.name.lastIndexOf(".") + 1;
65    return element.name.substr(0, pos) + dependentPropety;
66};
67
68function __MVC_ApplyValidator_RequiredIf() {
69}
70
71__MVC_ApplyValidator_Unknown = function (rules, type, params) {
72    rules[type] = params;
73};
74
75jQuery.validator.addMethod("is", function (value, element, params) {
76    var dependentProperty = foolproof.getId(element, params["dependentproperty"]);
77    var operator = params["operator"];
78    var passOnNull = params["passonnull"];    
79    var dependentValue = document.getElementById(dependentProperty).value;
80
81    if (foolproof.is(value, operator, dependentValue, passOnNull))
82        return true;
83
84    return false;
85});
86
87jQuery.validator.addMethod("requiredif", function (value, element, params) {
88    var dependentProperty = foolproof.getName(element, params["dependentproperty"]);
89    var dependentTestValue = params["dependentvalue"];
90    var operator = params["operator"];
91    var pattern = params["pattern"];
92    var dependentPropertyElement = document.getElementsByName(dependentProperty);
93    var dependentValue = null;
94
95    if (dependentPropertyElement.length > 1) {
96        for (var index = 0; index != dependentPropertyElement.length; index++)
97            if (dependentPropertyElement[index]["checked"]) {
98                dependentValue = dependentPropertyElement[index].value;
99                break;
100            }
101
102        if (dependentValue == null)
103            dependentValue = false
104    }
105    else
106        dependentValue = dependentPropertyElement[0].value;
107
108    if (foolproof.is(dependentValue, operator, dependentTestValue)) {
109        if (pattern == null) {
110            if (value != null && value.toString().replace(/^\s\s*/, '').replace(/\s\s*$/, '') != "")
111                return true;
112        }
113        else
114            return (new RegExp(pattern)).test(value);
115    }
116    else
117        return true;
118
119    return false;
120});
121
122jQuery.validator.addMethod("requiredifempty", function (value, element, params) {
123    var dependentProperty = foolproof.getId(element, params["dependentproperty"]);
124    var dependentValue = document.getElementById(dependentProperty).value;
125
126    if (dependentValue == null || dependentValue.toString().replace(/^\s\s*/, '').replace(/\s\s*$/, '') == "") {
127        if (value != null && value.toString().replace(/^\s\s*/, '').replace(/\s\s*$/, '') != "")
128            return true;
129    }
130    else
131        return true;
132
133    return false;
134});
135
136jQuery.validator.addMethod("requiredifnotempty", function (value, element, params) {
137    var dependentProperty = foolproof.getId(element, params["dependentproperty"]);
138    var dependentValue = document.getElementById(dependentProperty).value;
139
140    if (dependentValue != null && dependentValue.toString().replace(/^\s\s*/, '').replace(/\s\s*$/, '') != "") {
141        if (value != null && value.toString().replace(/^\s\s*/, '').replace(/\s\s*$/, '') != "")
142            return true;
143    }
144    else
145        return true;
146
147    return false;
148});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.