isite 2022.5.1 → 2022.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,1198 +1,1201 @@
1
1
  (function (window, document, undefined, $) {
2
- function escape(s) {
3
- if (!s) {
4
- return '';
5
- }
6
- if (typeof s !== 'string') {
7
- s = s.toString();
8
- }
9
- return s.replace(/[\/\\^$*+?.()\[\]{}]/g, '\\$&');
10
- }
11
-
12
- if (!String.prototype.test) {
13
- String.prototype.test = function (reg, flag = 'gium') {
14
- try {
15
- return new RegExp(reg, flag).test(this);
16
- } catch (error) {
17
- return !1;
18
- }
19
- };
20
- }
21
-
22
- if (!String.prototype.like) {
23
- String.prototype.like = function (name) {
24
- if (!name) {
25
- return !1;
26
- }
27
- let r = !1;
28
- name.split('|').forEach((n) => {
29
- n = n.split('*');
30
- n.forEach((w, i) => {
31
- n[i] = escape(w);
32
- });
33
- n = n.join('.*');
34
- if (this.test('^' + n + '$', 'gium')) {
35
- r = !0;
36
- }
37
- });
38
- return r;
39
- };
2
+ function escape(s) {
3
+ if (!s) {
4
+ return '';
40
5
  }
41
-
42
- if (!String.prototype.contains) {
43
- String.prototype.contains = function (name) {
44
- let r = !1;
45
- if (!name) {
46
- return r;
47
- }
48
- name.split('|').forEach((n) => {
49
- if (n && this.test('^.*' + escape(n) + '.*$', 'gium')) {
50
- r = !0;
51
- }
52
- });
53
- return r;
54
- };
6
+ if (typeof s !== 'string') {
7
+ s = s.toString();
55
8
  }
56
-
57
- if (window.SOCIALBROWSER) {
58
- SOCIALBROWSER.var = SOCIALBROWSER.var || {};
59
- SOCIALBROWSER.var.white_list = SOCIALBROWSER.var.white_list || [];
60
- if (document.location.hostname) {
61
- let h = `*${document.location.hostname}*`;
62
- let h_exists = !1;
63
- SOCIALBROWSER.var.white_list.forEach((w) => {
64
- if (w.url == h) {
65
- h_exists = !0;
66
- }
67
- });
68
- if (!h_exists) {
69
- SOCIALBROWSER.var.white_list.push({
70
- url: h,
71
- });
72
- SOCIALBROWSER.call('set_var', {
73
- name: 'white_list',
74
- data: SOCIALBROWSER.var.white_list,
75
- });
76
- }
77
- }
78
-
79
- SOCIALBROWSER.var.blocking = SOCIALBROWSER.var.blocking || {};
80
- SOCIALBROWSER.var.blocking.block_ads = !1;
81
- SOCIALBROWSER.var.blocking.block_empty_iframe = !1;
82
- SOCIALBROWSER.var.blocking.remove_external_iframe = !1;
83
- SOCIALBROWSER.var.blocking.skip_video_ads = !1;
84
- SOCIALBROWSER.var.blocking.popup = SOCIALBROWSER.var.blocking.popup || {};
85
- SOCIALBROWSER.var.blocking.popup.allow_external = !0;
86
- SOCIALBROWSER.var.blocking.popup.allow_internal = !0;
87
-
88
- SOCIALBROWSER.var.blocking.javascript = SOCIALBROWSER.var.blocking.javascript || {};
89
- SOCIALBROWSER.var.blocking.javascript.block_window_open = !1;
90
- SOCIALBROWSER.var.blocking.javascript.block_eval = !1;
91
- SOCIALBROWSER.var.blocking.javascript.block_console_output = !1;
92
- }
93
-
94
- let site = {};
95
- site.printerList = [];
96
- site.getPrinters = function () {
97
- if (window.SOCIALBROWSER && SOCIALBROWSER.currentWindow.webContents.getPrintersAsync) {
98
- SOCIALBROWSER.currentWindow.webContents.getPrintersAsync().then((arr0) => {
99
- site.printerList = arr0;
100
- });
101
- } else if (window.SOCIALBROWSER && SOCIALBROWSER.currentWindow.webContents.getPrinters) {
102
- site.printerList = SOCIALBROWSER.currentWindow.webContents.getPrinters();
103
- } else {
104
- fetch('http://127.0.0.1:60080/printers/all')
105
- .then((res) => res.json())
106
- .then((data) => {
107
- site.printerList = data.list;
108
- });
109
- }
110
-
111
- return site.printerList;
112
- };
113
- site.getPrinters();
114
- site.render = function (selector, data) {
115
- let template = document.querySelector(selector);
116
- if (template) {
117
- return Mustache.render(template.innerHTML, data);
118
- }
119
- return '';
120
- };
121
-
122
- site.html = function (template, data) {
123
- return Mustache.render(template, data);
124
- };
125
-
126
- site.getUniqueObjects = function (arr, comp) {
127
- const unique = arr
128
- .map((e) => e[comp])
129
- .map((e, i, final) => final.indexOf(e) === i && i)
130
- .filter((e) => arr[e])
131
- .map((e) => arr[e]);
132
- return unique;
133
- };
134
-
135
- site.$ = function (name) {
136
- let arr = document.querySelectorAll(name);
137
- return arr;
9
+ return s.replace(/[\/\\^$*+?.()\[\]{}]/g, '\\$&');
10
+ }
11
+
12
+ if (!String.prototype.test) {
13
+ String.prototype.test = function (reg, flag = 'gium') {
14
+ try {
15
+ return new RegExp(reg, flag).test(this);
16
+ } catch (error) {
17
+ return !1;
18
+ }
138
19
  };
139
-
140
- let modal_z_index = 999999;
141
- site.showModal = function (name) {
142
- $(name).click(() => {
143
- $('popup').hide();
20
+ }
21
+
22
+ if (!String.prototype.like) {
23
+ String.prototype.like = function (name) {
24
+ if (!name) {
25
+ return !1;
26
+ }
27
+ let r = !1;
28
+ name.split('|').forEach((n) => {
29
+ n = n.split('*');
30
+ n.forEach((w, i) => {
31
+ n[i] = escape(w);
144
32
  });
145
-
146
- modal_z_index++;
147
-
148
- let el = site.$(name);
149
- if (el.length === 0) {
150
- return;
33
+ n = n.join('.*');
34
+ if (this.test('^' + n + '$', 'gium')) {
35
+ r = !0;
151
36
  }
152
-
153
- el[0].style.zIndex = modal_z_index;
154
- el[0].style.display = 'block';
155
- let fixed = el[0].getAttribute('fixed');
156
-
157
- if (fixed !== '') {
158
- el[0].addEventListener('click', function () {
159
- site.hideModal(name);
160
- });
37
+ });
38
+ return r;
39
+ };
40
+ }
41
+
42
+ if (!String.prototype.contains) {
43
+ String.prototype.contains = function (name) {
44
+ let r = !1;
45
+ if (!name) {
46
+ return r;
47
+ }
48
+ name.split('|').forEach((n) => {
49
+ if (n && this.test('^.*' + escape(n) + '.*$', 'gium')) {
50
+ r = !0;
161
51
  }
162
-
163
- let inputs = site.$(name + ' i-control input');
164
- if (inputs.length > 0) {
165
- inputs[0].focus();
52
+ });
53
+ return r;
54
+ };
55
+ }
56
+
57
+ if (window.SOCIALBROWSER) {
58
+ SOCIALBROWSER.var = SOCIALBROWSER.var || {};
59
+ SOCIALBROWSER.var.white_list = SOCIALBROWSER.var.white_list || [];
60
+ if (document.location.hostname) {
61
+ let h = `*${document.location.hostname}*`;
62
+ let h_exists = !1;
63
+ SOCIALBROWSER.var.white_list.forEach((w) => {
64
+ if (w.url == h) {
65
+ h_exists = !0;
166
66
  }
167
-
168
- site.$(name + ' .close').forEach((cl) => {
169
- cl.addEventListener('click', function () {
170
- site.hideModal(name);
171
- });
67
+ });
68
+ if (!h_exists) {
69
+ SOCIALBROWSER.var.white_list.push({
70
+ url: h,
172
71
  });
173
-
174
- site.$(name + ' .modal-header').forEach((he) => {
175
- he.addEventListener('click', function (event) {
176
- event = event || window.event;
177
- event.stopPropagation();
178
- });
179
- });
180
-
181
- site.$(name + ' .modal-body').forEach((bo) => {
182
- bo.addEventListener('click', function (event) {
183
- event = event || window.event;
184
- event.stopPropagation();
185
- });
72
+ SOCIALBROWSER.call('set_var', {
73
+ name: 'white_list',
74
+ data: SOCIALBROWSER.var.white_list,
186
75
  });
76
+ }
77
+ }
187
78
 
188
- site.$(name + ' .modal-footer').forEach((fo) => {
189
- fo.addEventListener('click', function (event) {
190
- event = event || window.event;
191
- event.stopPropagation();
192
- });
79
+ SOCIALBROWSER.var.blocking = SOCIALBROWSER.var.blocking || {};
80
+ SOCIALBROWSER.var.blocking.block_ads = !1;
81
+ SOCIALBROWSER.var.blocking.block_empty_iframe = !1;
82
+ SOCIALBROWSER.var.blocking.remove_external_iframe = !1;
83
+ SOCIALBROWSER.var.blocking.skip_video_ads = !1;
84
+ SOCIALBROWSER.var.blocking.popup = SOCIALBROWSER.var.blocking.popup || {};
85
+ SOCIALBROWSER.var.blocking.popup.allow_external = !0;
86
+ SOCIALBROWSER.var.blocking.popup.allow_internal = !0;
87
+
88
+ SOCIALBROWSER.var.blocking.javascript = SOCIALBROWSER.var.blocking.javascript || {};
89
+ SOCIALBROWSER.var.blocking.javascript.block_window_open = !1;
90
+ SOCIALBROWSER.var.blocking.javascript.block_eval = !1;
91
+ SOCIALBROWSER.var.blocking.javascript.block_console_output = !1;
92
+ }
93
+
94
+ let site = {};
95
+ site.printerList = [];
96
+ site.getPrinters = function () {
97
+ if (window.SOCIALBROWSER && SOCIALBROWSER.currentWindow.webContents.getPrintersAsync) {
98
+ SOCIALBROWSER.currentWindow.webContents.getPrintersAsync().then((arr0) => {
99
+ site.printerList = arr0;
100
+ });
101
+ } else if (window.SOCIALBROWSER && SOCIALBROWSER.currentWindow.webContents.getPrinters) {
102
+ site.printerList = SOCIALBROWSER.currentWindow.webContents.getPrinters();
103
+ } else {
104
+ fetch('http://127.0.0.1:60080/printers/all')
105
+ .then((res) => res.json())
106
+ .then((data) => {
107
+ site.printerList = data.list;
193
108
  });
194
- };
109
+ }
195
110
 
196
- site.hideModal = function (name) {
197
- $('popup').hide();
111
+ return site.printerList;
112
+ };
113
+ site.getPrinters();
114
+ site.render = function (selector, data) {
115
+ let template = document.querySelector(selector);
116
+ if (template) {
117
+ return Mustache.render(template.innerHTML, data);
118
+ }
119
+ return '';
120
+ };
121
+
122
+ site.html = function (template, data) {
123
+ return Mustache.render(template, data);
124
+ };
125
+
126
+ site.getUniqueObjects = function (arr, comp) {
127
+ const unique = arr
128
+ .map((e) => e[comp])
129
+ .map((e, i, final) => final.indexOf(e) === i && i)
130
+ .filter((e) => arr[e])
131
+ .map((e) => arr[e]);
132
+ return unique;
133
+ };
134
+
135
+ site.$ = function (name) {
136
+ let arr = document.querySelectorAll(name);
137
+ return arr;
138
+ };
139
+
140
+ let modal_z_index = 999999;
141
+ site.showModal = function (name) {
142
+ $(name).click(() => {
143
+ $('popup').hide();
144
+ });
145
+
146
+ modal_z_index++;
147
+
148
+ let el = site.$(name);
149
+ if (el.length === 0) {
150
+ return;
151
+ }
198
152
 
199
- let el = site.$(name);
200
- if (el.length > 0) {
201
- el[0].style.display = 'none';
202
- }
203
- };
153
+ el[0].style.zIndex = modal_z_index;
154
+ el[0].style.display = 'block';
155
+ let fixed = el[0].getAttribute('fixed');
204
156
 
205
- site.eventList = [];
157
+ if (fixed !== '') {
158
+ el[0].addEventListener('click', function () {
159
+ site.hideModal(name);
160
+ });
161
+ }
206
162
 
207
- site.on = function (name, callback) {
208
- callback = callback || function () {};
209
- site.eventList.push({
210
- name: name,
211
- callback: callback,
212
- });
213
- };
163
+ let inputs = site.$(name + ' i-control input');
164
+ if (inputs.length > 0) {
165
+ inputs[0].focus();
166
+ }
214
167
 
215
- site.call = function (name, obj) {
216
- for (var i = 0; i < site.eventList.length; i++) {
217
- var ev = site.eventList[i];
218
- if (ev.name == name) {
219
- ev.callback(obj);
220
- }
221
- }
222
- };
168
+ site.$(name + ' .close').forEach((cl) => {
169
+ cl.addEventListener('click', function () {
170
+ site.hideModal(name);
171
+ });
172
+ });
173
+
174
+ site.$(name + ' .modal-header').forEach((he) => {
175
+ he.addEventListener('click', function (event) {
176
+ event = event || window.event;
177
+ event.stopPropagation();
178
+ });
179
+ });
180
+
181
+ site.$(name + ' .modal-body').forEach((bo) => {
182
+ bo.addEventListener('click', function (event) {
183
+ event = event || window.event;
184
+ event.stopPropagation();
185
+ });
186
+ });
187
+
188
+ site.$(name + ' .modal-footer').forEach((fo) => {
189
+ fo.addEventListener('click', function (event) {
190
+ event = event || window.event;
191
+ event.stopPropagation();
192
+ });
193
+ });
194
+ };
195
+
196
+ site.hideModal = function (name) {
197
+ $('popup').hide();
198
+
199
+ let el = site.$(name);
200
+ if (el.length > 0) {
201
+ el[0].style.display = 'none';
202
+ }
203
+ };
204
+
205
+ site.eventList = [];
206
+
207
+ site.on = function (name, callback) {
208
+ callback = callback || function () {};
209
+ site.eventList.push({
210
+ name: name,
211
+ callback: callback,
212
+ });
213
+ };
214
+
215
+ site.call = function (name, obj) {
216
+ for (var i = 0; i < site.eventList.length; i++) {
217
+ var ev = site.eventList[i];
218
+ if (ev.name == name) {
219
+ ev.callback(obj);
220
+ }
221
+ }
222
+ };
223
+
224
+ site.translate = function (op, callback) {
225
+ if (typeof op === 'string') {
226
+ op = {
227
+ text: op,
228
+ lang: 'ar',
229
+ };
230
+ }
231
+ op.url = `https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=${op.lang}&dt=t&dt=bd&dj=1&q=${op.text}`;
232
+ site.getData(op, callback);
233
+ };
234
+
235
+ site.getData = function (op, callback, error) {
236
+ callback = callback || function () {};
237
+ error = error || function () {};
238
+
239
+ if (typeof op === 'string') {
240
+ op = {
241
+ url: op,
242
+ };
243
+ }
223
244
 
224
- site.translate = function (op, callback) {
225
- if (typeof op === 'string') {
226
- op = {
227
- text: op,
228
- lang: 'ar',
229
- };
230
- }
231
- op.url = `https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=${op.lang}&dt=t&dt=bd&dj=1&q=${op.text}`;
232
- site.getData(op, callback);
245
+ op.headers = op.headers || {
246
+ Accept: 'application/json',
247
+ 'Content-Type': 'application/json',
233
248
  };
249
+ op.url = site.handle_url(op.url);
250
+ fetch(op.url, {
251
+ mode: 'cors',
252
+ method: 'get',
253
+ headers: op.headers,
254
+ })
255
+ .then((res) => res.json())
256
+ .then((data) => {
257
+ callback(data);
258
+ })
259
+ .catch((err) => {
260
+ error(err);
261
+ });
262
+ };
263
+
264
+ site.getContent = function (op, callback, error) {
265
+ callback = callback || function () {};
266
+ error = error || function () {};
267
+
268
+ if (typeof op === 'string') {
269
+ op = {
270
+ url: op,
271
+ };
272
+ }
273
+ op.url = site.handle_url(op.url);
274
+ fetch(op.url, {
275
+ mode: 'cors',
276
+ method: 'get',
277
+ })
278
+ .then(function (res) {
279
+ return res.text();
280
+ })
281
+ .then(function (content) {
282
+ callback(content);
283
+ });
284
+ };
285
+
286
+ site.handle_url = function (u) {
287
+ if (typeof u !== 'string') {
288
+ return u;
289
+ }
290
+ u = u.trim();
291
+ if (u.like('http*') || u.indexOf('//') === 0 || u.indexOf('data:') === 0) {
292
+ u = u;
293
+ } else if (u.indexOf('/') === 0) {
294
+ u = window.location.origin + u;
295
+ } else if (u.split('?')[0].split('.').length < 3) {
296
+ let page = window.location.pathname.split('/').pop();
297
+ u = window.location.origin + window.location.pathname.replace(page, '') + u;
298
+ }
299
+ return u;
300
+ };
234
301
 
235
- site.getData = function (op, callback, error) {
236
- callback = callback || function () {};
237
- error = error || function () {};
238
-
239
- if (typeof op === 'string') {
240
- op = {
241
- url: op,
242
- };
243
- }
302
+ site.postData = function (op, callback, error) {
303
+ callback = callback || function () {};
304
+ error = error || function () {};
244
305
 
245
- op.headers = op.headers || {
246
- Accept: 'application/json',
247
- 'Content-Type': 'application/json',
248
- };
249
- op.url = site.handle_url(op.url);
250
- fetch(op.url, {
251
- mode: 'cors',
252
- method: 'get',
253
- headers: op.headers,
254
- })
255
- .then((res) => res.json())
256
- .then((data) => {
257
- callback(data);
258
- })
259
- .catch((err) => {
260
- error(err);
261
- });
262
- };
306
+ if (typeof op === 'string') {
307
+ op = {
308
+ url: op,
309
+ };
310
+ }
263
311
 
264
- site.getContent = function (op, callback, error) {
265
- callback = callback || function () {};
266
- error = error || function () {};
312
+ op.data = op.data || op.body;
313
+ delete op.body;
267
314
 
268
- if (typeof op === 'string') {
269
- op = {
270
- url: op,
271
- };
272
- }
273
- op.url = site.handle_url(op.url);
274
- fetch(op.url, {
275
- mode: 'cors',
276
- method: 'get',
277
- })
278
- .then(function (res) {
279
- return res.text();
280
- })
281
- .then(function (content) {
282
- callback(content);
283
- });
284
- };
315
+ if (op.data && typeof op.data == 'object') {
316
+ op.data = JSON.stringify(op.data);
317
+ }
285
318
 
286
- site.handle_url = function (u) {
287
- if (typeof u !== 'string') {
288
- return u;
289
- }
290
- u = u.trim();
291
- if (u.like('http*') || u.indexOf('//') === 0 || u.indexOf('data:') === 0) {
292
- u = u;
293
- } else if (u.indexOf('/') === 0) {
294
- u = window.location.origin + u;
295
- } else if (u.split('?')[0].split('.').length < 3) {
296
- let page = window.location.pathname.split('/').pop();
297
- u = window.location.origin + window.location.pathname.replace(page, '') + u;
298
- }
299
- return u;
319
+ op.headers = op.headers || {
320
+ Accept: 'application/json',
321
+ 'Content-Type': 'application/json',
300
322
  };
301
323
 
302
- site.postData = function (op, callback, error) {
303
- callback = callback || function () {};
304
- error = error || function () {};
305
-
306
- if (typeof op === 'string') {
307
- op = {
308
- url: op,
309
- };
310
- }
311
-
312
- op.data = op.data || op.body;
313
- delete op.body;
314
-
315
- if (op.data && typeof op.data == 'object') {
316
- op.data = JSON.stringify(op.data);
317
- }
318
-
319
- op.headers = op.headers || {
320
- Accept: 'application/json',
321
- 'Content-Type': 'application/json',
322
- };
324
+ if (op.data && typeof op.data == 'string') {
325
+ op.headers['Content-Length'] = op.data.length.toString();
326
+ }
323
327
 
324
- if (op.data && typeof op.data == 'string') {
325
- op.headers['Content-Length'] = op.data.length.toString();
326
- }
328
+ try {
329
+ op.headers['Cookie'] = document.cookie;
330
+ } catch (error) {
331
+ console.log(error);
332
+ }
327
333
 
328
- try {
329
- op.headers['Cookie'] = document.cookie;
330
- } catch (error) {
331
- console.log(error);
334
+ op.method = 'post';
335
+ op.redirect = 'follow';
336
+ op.mode = 'cors';
337
+ op.url = site.handle_url(op.url);
338
+
339
+ if (window.SOCIALBROWSER && window.SOCIALBROWSER.fetchJson) {
340
+ SOCIALBROWSER.fetchJson(op, (data) => {
341
+ callback(data);
342
+ });
343
+ } else {
344
+ fetch(op.url, {
345
+ mode: op.mode,
346
+ method: op.method,
347
+ headers: op.headers,
348
+ body: op.data,
349
+ redirect: op.redirect,
350
+ })
351
+ .then((res) => res.json())
352
+ .then((data) => {
353
+ callback(data);
354
+ })
355
+ .catch((err) => {
356
+ error(err);
357
+ });
358
+ }
359
+ };
360
+
361
+ site.typeOf = function type(elem) {
362
+ return Object.prototype.toString.call(elem).slice(8, -1);
363
+ };
364
+
365
+ site.toDateTime = function (_any) {
366
+ if (!_any) return new Date();
367
+ return new Date(_any);
368
+ };
369
+
370
+ site.toDateX = function (_any) {
371
+ let d = site.toDateTime(_any);
372
+ return d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();
373
+ };
374
+
375
+ site.toDateXT = function (_any) {
376
+ let d = site.toDateTime(_any);
377
+ return d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();
378
+ };
379
+
380
+ site.toDateXF = function (_any) {
381
+ let d = site.toDateTime(_any);
382
+ return d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();
383
+ };
384
+
385
+ site.toDateOnly = function (_any) {
386
+ let d = site.toDateTime(_any);
387
+ return new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0, 0, 0);
388
+ };
389
+
390
+ site.toDateT = function (_any) {
391
+ return site.toDateOnly(_any).getTime();
392
+ };
393
+
394
+ site.toDateF = function (_any) {
395
+ return site.toDateTime(_any).getTime();
396
+ };
397
+
398
+ site.addZero = function (code, number) {
399
+ let c = number - code.toString().length;
400
+ for (let i = 0; i < c; i++) {
401
+ code = '0' + code.toString();
402
+ }
403
+ return code;
404
+ };
405
+ site.addSubZero = function (n, fixed) {
406
+ let c = fixed;
407
+ if (n.toString().split('.').length == 2) {
408
+ let c = fixed - n.toString().split('.')[1].length;
409
+ n = n.toString();
410
+ } else {
411
+ n = n.toString() + '.';
412
+ }
413
+ for (let i = 0; i < c; i++) {
414
+ n = n.toString() + 0;
415
+ }
416
+ return n;
417
+ };
418
+ site.fixed = 3;
419
+ site.to_number = site.toNumber = function (_num, fixed) {
420
+ let _fixed = fixed || site.fixed;
421
+ let n = 0;
422
+ if (_num) {
423
+ n = parseFloat(_num).toFixed(_fixed);
424
+ }
425
+ return parseFloat(n);
426
+ };
427
+
428
+ site.to_money = site.toMoney = function (_num, float = true) {
429
+ let n = 0;
430
+ if (_num) {
431
+ _num = _num.toFixed(2).split('.');
432
+ let n1 = _num[0];
433
+ let n2 = _num[1] || '00';
434
+ if (n2) {
435
+ let n3 = n2[0] || '0';
436
+ let n4 = n2[1] || '0';
437
+ if (n4 && parseInt(n4) > 5) {
438
+ n3 = parseInt(n3) + 1;
439
+ n3 = n3 * 10;
440
+ if (n3 == 100) {
441
+ n3 = 0;
442
+ _num[0] = parseInt(_num[0]) + 1;
443
+ _num[1] = '';
444
+ } else {
445
+ _num[1] = n3;
446
+ }
447
+ } else if (n4 && parseInt(n4) == 5) {
448
+ _num[1] = n2;
449
+ } else if (n4 && parseInt(n4) > 2) {
450
+ n4 = 5;
451
+ _num[1] = n3 + n4;
452
+ } else {
453
+ _num[1] = n3 + '0';
332
454
  }
455
+ }
456
+ n = _num.join('.');
457
+ }
458
+ if (!float) {
459
+ if (n.endsWith('.')) {
460
+ n = n + '00';
461
+ }
462
+ return n;
463
+ } else {
464
+ return site.to_float(n);
465
+ }
466
+ };
333
467
 
334
- op.method = 'post';
335
- op.redirect = 'follow';
336
- op.mode = 'cors';
337
- op.url = site.handle_url(op.url);
468
+ site.to_float = site.toFloat = function (_num) {
469
+ if (_num) {
470
+ return parseFloat(_num);
471
+ }
472
+ return 0;
473
+ };
338
474
 
339
- if (window.SOCIALBROWSER && window.SOCIALBROWSER.fetchJson) {
340
- SOCIALBROWSER.fetchJson(op, (data) => {
341
- callback(data);
342
- });
343
- } else {
344
- fetch(op.url, {
345
- mode: op.mode,
346
- method: op.method,
347
- headers: op.headers,
348
- body: op.data,
349
- redirect: op.redirect,
350
- })
351
- .then((res) => res.json())
352
- .then((data) => {
353
- callback(data);
354
- })
355
- .catch((err) => {
356
- error(err);
357
- });
358
- }
359
- };
475
+ site.to_int = site.toInt = function (_num) {
476
+ if (_num) {
477
+ return parseInt(_num);
478
+ }
479
+ return 0;
480
+ };
481
+
482
+ site.$base64Letter = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
483
+ site.$base64Numbers = [];
484
+ for (let $i = 11; $i < 99; $i++) {
485
+ if ($i % 10 !== 0 && $i % 11 !== 0) {
486
+ site.$base64Numbers.push($i);
487
+ }
488
+ }
360
489
 
361
- site.typeOf = function type(elem) {
362
- return Object.prototype.toString.call(elem).slice(8, -1);
363
- };
490
+ site.toJson = (obj) => {
491
+ if (typeof obj === undefined || obj === null) {
492
+ return '';
493
+ }
494
+ return JSON.stringify(obj);
495
+ };
364
496
 
365
- site.toDateTime = function (_any) {
366
- if (!_any) return new Date();
367
- return new Date(_any);
368
- };
497
+ site.fromJson = (str) => {
498
+ if (typeof str !== 'string') {
499
+ return str;
500
+ }
501
+ return JSON.parse(str);
502
+ };
369
503
 
370
- site.toDateX = function (_any) {
371
- let d = site.toDateTime(_any);
372
- return d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();
373
- };
504
+ site.toBase64 = (str) => {
505
+ if (typeof str === undefined || str === null || str === '') {
506
+ return '';
507
+ }
508
+ if (typeof str !== 'string') {
509
+ str = site.toJson(str);
510
+ }
374
511
 
375
- site.toDateXT = function (_any) {
376
- let d = site.toDateTime(_any);
377
- return d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();
378
- };
512
+ return Base64.encode(str);
513
+ return window.btoa(unescape(encodeURIComponent(str)));
514
+ };
379
515
 
380
- site.toDateXF = function (_any) {
381
- let d = site.toDateTime(_any);
382
- return d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();
383
- };
516
+ site.fromBase64 = (str) => {
517
+ if (typeof str === undefined || str === null || str === '') {
518
+ return '';
519
+ }
520
+ return Base64.decode(str);
521
+ return decodeURIComponent(escape(window.atob(str)));
522
+ };
523
+
524
+ site.to123 = (data) => {
525
+ data = site.toBase64(data);
526
+ let newData = '';
527
+ for (let i = 0; i < data.length; i++) {
528
+ let letter = data[i];
529
+ newData += site.$base64Numbers[site.$base64Letter.indexOf(letter)];
530
+ }
531
+ return newData;
532
+ };
533
+
534
+ site.from123 = (data) => {
535
+ let newData = '';
536
+ for (let i = 0; i < data.length; i++) {
537
+ let num = data[i] + data[i + 1];
538
+ let index = site.$base64Numbers.indexOf(parseInt(num));
539
+ newData += site.$base64Letter[index];
540
+ i++;
541
+ }
542
+ newData = site.fromBase64(newData);
543
+ return newData;
544
+ };
545
+
546
+ site.typeOf = site.typeof = function type(elem) {
547
+ return Object.prototype.toString.call(elem).slice(8, -1);
548
+ };
549
+
550
+ site.showTabContent = function (e, tabContentSelector) {
551
+ let tabcontents = document.querySelectorAll('.tab-content');
552
+ for (i = 0; i < tabcontents.length; i++) {
553
+ tabcontents[i].style.display = 'none';
554
+ }
555
+ let tablinks = document.querySelectorAll('.tab-link');
556
+ for (i = 0; i < tablinks.length; i++) {
557
+ tablinks[i].className = tablinks[i].className.replace(' active', '');
558
+ }
559
+ document.querySelectorAll(tabContentSelector + '.tab-content').forEach((el) => {
560
+ el.style.display = 'inline-block';
561
+ });
384
562
 
385
- site.toDateOnly = function (_any) {
386
- let d = site.toDateTime(_any);
387
- return new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0, 0, 0);
388
- };
563
+ if (e) {
564
+ e.currentTarget.className += ' active';
565
+ }
566
+ };
389
567
 
390
- site.toDateT = function (_any) {
391
- return site.toDateOnly(_any).getTime();
392
- };
568
+ site.showTabs = function (e, tabSelector) {
569
+ if (e) {
570
+ e.stopPropagation();
571
+ }
393
572
 
394
- site.toDateF = function (_any) {
395
- return site.toDateTime(_any).getTime();
396
- };
573
+ $('.main-menu .tabs').hide();
574
+ $(tabSelector).show(100);
575
+ };
397
576
 
398
- site.addZero = function (code, number) {
399
- let c = number - code.toString().length;
400
- for (let i = 0; i < c; i++) {
401
- code = '0' + code.toString();
402
- }
403
- return code;
404
- };
405
- site.addSubZero = function (n, fixed) {
406
- let c = fixed;
407
- if (n.toString().split('.').length == 2) {
408
- let c = fixed - n.toString().split('.')[1].length;
409
- n = n.toString();
577
+ site.toHtmlTable = function (obj) {
578
+ if (obj === undefined || obj === null) {
579
+ return '';
580
+ }
581
+ if (site.typeOf(obj) == 'Object') {
582
+ let table = '<table class="table">';
583
+ for (let index = 0; index < Object.getOwnPropertyNames(obj).length; index++) {
584
+ let p = Object.getOwnPropertyNames(obj)[index];
585
+ table += '<tr>';
586
+ table += `<td><p> ${p} </p></td>`;
587
+ if (site.typeOf(obj[p]) == 'Object' || site.typeOf(obj[p]) == 'Array') {
588
+ table += `<td><p> ${site.toHtmlTable(obj[p])} </p></td>`;
410
589
  } else {
411
- n = n.toString() + '.';
590
+ table += `<td><p> ${obj[p]} </p></td>`;
412
591
  }
413
- for (let i = 0; i < c; i++) {
414
- n = n.toString() + 0;
415
- }
416
- return n;
417
- };
418
- site.fixed = 3;
419
- site.to_number = site.toNumber = function (_num, fixed) {
420
- let _fixed = fixed || site.fixed;
421
- let n = 0;
422
- if (_num) {
423
- n = parseFloat(_num).toFixed(_fixed);
424
- }
425
- return parseFloat(n);
426
- };
427
592
 
428
- site.to_money = site.toMoney = function (_num, float = true) {
429
- let n = 0;
430
- if (_num) {
431
- _num = _num.toFixed(2).split('.');
432
- let n1 = _num[0];
433
- let n2 = _num[1] || '00';
434
- if (n2) {
435
- let n3 = n2[0] || '0';
436
- let n4 = n2[1] || '0';
437
- if (n4 && parseInt(n4) > 5) {
438
- n3 = parseInt(n3) + 1;
439
- n3 = n3 * 10;
440
- if (n3 == 100) {
441
- n3 = 0;
442
- _num[0] = parseInt(_num[0]) + 1;
443
- _num[1] = '';
444
- } else {
445
- _num[1] = n3;
446
- }
447
- } else if (n4 && parseInt(n4) == 5) {
448
- _num[1] = n2;
449
- } else if (n4 && parseInt(n4) > 2) {
450
- n4 = 5;
451
- _num[1] = n3 + n4;
452
- } else {
453
- _num[1] = n3 + '0';
454
- }
455
- }
456
- n = _num.join('.');
457
- }
458
- if (!float) {
459
- return n;
593
+ table += '</tr>';
594
+ }
595
+ table += '</table>';
596
+ return table;
597
+ } else if (site.typeOf(obj) == 'Array') {
598
+ let table = '<table class="table">';
599
+ for (let i = 0; i < obj.length; i++) {
600
+ if (site.typeOf(obj[i]) == 'Object' || site.typeOf(obj[i]) == 'Array') {
601
+ table += `<tr><td><p>${site.toHtmlTable(obj[i])}</p></td></tr>`;
460
602
  } else {
461
- return site.to_float(n);
462
- }
463
- };
464
-
465
- site.to_float = site.toFloat = function (_num) {
466
- if (_num) {
467
- return parseFloat(_num);
468
- }
469
- return 0;
470
- };
471
-
472
- site.to_int = site.toInt = function (_num) {
473
- if (_num) {
474
- return parseInt(_num);
475
- }
476
- return 0;
477
- };
478
-
479
- site.$base64Letter = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
480
- site.$base64Numbers = [];
481
- for (let $i = 11; $i < 99; $i++) {
482
- if ($i % 10 !== 0 && $i % 11 !== 0) {
483
- site.$base64Numbers.push($i);
603
+ table += `<tr><td><p>${obj[i]}</p></td></tr>`;
484
604
  }
605
+ }
606
+ table += '</table>';
607
+ return table;
485
608
  }
486
-
487
- site.toJson = (obj) => {
488
- if (typeof obj === undefined || obj === null) {
489
- return '';
490
- }
491
- return JSON.stringify(obj);
492
- };
493
-
494
- site.fromJson = (str) => {
495
- if (typeof str !== 'string') {
496
- return str;
497
- }
498
- return JSON.parse(str);
609
+ return '';
610
+ };
611
+
612
+ site.vControles = [];
613
+ site.validated = function (s) {
614
+ const res = {
615
+ ok: !0,
616
+ messages: [],
499
617
  };
500
-
501
- site.toBase64 = (str) => {
502
- if (typeof str === undefined || str === null || str === '') {
503
- return '';
618
+ site.vControles.forEach((n) => {
619
+ n.el.style.border = n.border;
620
+ });
621
+ site.vControles = [];
622
+ s = s || 'body';
623
+ const arr = document.querySelectorAll(s + ' [v]');
624
+ arr.forEach((el) => {
625
+ const border = el.style.border;
626
+ const v = el.getAttribute('v');
627
+ const vList = v.split(' ');
628
+ vList.forEach((vl) => {
629
+ vl = vl.toLowerCase().trim();
630
+ if (vl === 'r') {
631
+ if ((el.nodeName === 'INPUT' || el.nodeName === 'SELECT') && (!el.value || el.value.like('*undefined*'))) {
632
+ site.vControles.push({
633
+ el: el,
634
+ border: border,
635
+ });
636
+ el.style.border = '2px solid #ff1100';
637
+ res.ok = !1;
638
+ res.messages.push({
639
+ en: 'Data Is Required',
640
+ ar: 'هذا البيان مطلوب',
641
+ });
642
+ }
643
+ } else if (vl.like('ml*')) {
644
+ const length = parseInt(vl.replace('ml', ''));
645
+ if ((el.nodeName === 'INPUT' || el.nodeName === 'TEXTAREA') && (!el.value || el.value.length > length)) {
646
+ site.vControles.push({
647
+ el: el,
648
+ border: border,
649
+ });
650
+ el.style.border = '2px solid #ff1100';
651
+ res.ok = !1;
652
+ res.messages.push({
653
+ en: 'Letter Count Must be <= ' + length,
654
+ ar: 'عدد الاحرف يجب ان يكون أقل من أو يساوى ' + length,
655
+ });
656
+ }
657
+ } else if (vl.like('ll*')) {
658
+ const length = parseInt(vl.replace('ll', ''));
659
+ if ((el.nodeName === 'INPUT' || el.nodeName === 'TEXTAREA') && (!el.value || el.value.length < length)) {
660
+ site.vControles.push({
661
+ el: el,
662
+ border: border,
663
+ });
664
+ el.style.border = '2px solid #ff1100';
665
+ res.ok = !1;
666
+ res.messages.push({
667
+ en: 'Letter Count Must be >= ' + length,
668
+ ar: 'عدد الاحرف يجب ان يكون اكبر من أو يساوى ' + length,
669
+ });
670
+ }
671
+ } else if (vl.like('l*')) {
672
+ const length = parseInt(vl.replace('l', ''));
673
+ if ((el.nodeName === 'INPUT' || el.nodeName === 'TEXTAREA') && (!el.value || el.value.length !== length)) {
674
+ site.vControles.push({
675
+ el: el,
676
+ border: border,
677
+ });
678
+ el.style.border = '2px solid #ff1100';
679
+ res.ok = !1;
680
+ res.messages.push({
681
+ en: 'Letter Count Must be = ' + length,
682
+ ar: 'عدد الاحرف يجب ان يساوى ' + length,
683
+ });
684
+ }
685
+ } else {
504
686
  }
505
- if (typeof str !== 'string') {
506
- str = site.toJson(str);
687
+ });
688
+ });
689
+ return res;
690
+ };
691
+
692
+ let numbers = [
693
+ {
694
+ n: 1,
695
+ i0: {
696
+ ar: 'واحد',
697
+ },
698
+ i1: {
699
+ ar: 'عشرة',
700
+ },
701
+ i2: {
702
+ ar: 'مائة',
703
+ },
704
+ i3: {
705
+ ar: 'الف',
706
+ },
707
+ i4: {
708
+ ar: 'عشرة الاف',
709
+ },
710
+ },
711
+ {
712
+ n: 2,
713
+ i0: {
714
+ ar: 'اثنان ',
715
+ },
716
+ i1: {
717
+ ar: 'عشرون',
718
+ },
719
+ i2: {
720
+ ar: 'مائتان',
721
+ },
722
+ i3: {
723
+ ar: 'الفان',
724
+ },
725
+ i4: {
726
+ ar: 'عشرون الف',
727
+ },
728
+ },
729
+ {
730
+ n: 3,
731
+ i0: {
732
+ ar: 'ثلاثة',
733
+ },
734
+ i1: {
735
+ ar: 'ثلاثون',
736
+ },
737
+ i2: {
738
+ ar: 'ثلاثمائة',
739
+ },
740
+ i3: {
741
+ ar: 'ثلاث الاف',
742
+ },
743
+ i4: {
744
+ ar: 'ثلاثون الف',
745
+ },
746
+ },
747
+ {
748
+ n: 4,
749
+ i0: {
750
+ ar: 'اربعة',
751
+ },
752
+ i1: {
753
+ ar: 'اربعون',
754
+ },
755
+ i2: {
756
+ ar: 'اربعة مائة',
757
+ },
758
+ i3: {
759
+ ar: 'اربعة الاف',
760
+ },
761
+ i4: {
762
+ ar: 'اربعون الف',
763
+ },
764
+ },
765
+ {
766
+ n: 5,
767
+ i0: {
768
+ ar: 'خمسة',
769
+ },
770
+ i1: {
771
+ ar: 'خمسون',
772
+ },
773
+ i2: {
774
+ ar: 'خمسمائة',
775
+ },
776
+ i3: {
777
+ ar: 'خمسة الاف',
778
+ },
779
+ i4: {
780
+ ar: 'خمسون الف',
781
+ },
782
+ },
783
+ {
784
+ n: 6,
785
+ i0: {
786
+ ar: 'ستة',
787
+ },
788
+ i1: {
789
+ ar: 'ستون',
790
+ },
791
+ i2: {
792
+ ar: 'ستة مائة',
793
+ },
794
+ i3: {
795
+ ar: 'ستة الااف',
796
+ },
797
+ i4: {
798
+ ar: 'ستون الف',
799
+ },
800
+ },
801
+ {
802
+ n: 7,
803
+ i0: {
804
+ ar: 'سبعة',
805
+ },
806
+ i1: {
807
+ ar: 'سبعون',
808
+ },
809
+ i2: {
810
+ ar: 'سبعمائة',
811
+ },
812
+ i3: {
813
+ ar: 'سبعة الااف',
814
+ },
815
+ i4: {
816
+ ar: 'سبعون الف',
817
+ },
818
+ },
819
+ {
820
+ n: 8,
821
+ i0: {
822
+ ar: 'ثمانية',
823
+ },
824
+ i1: {
825
+ ar: 'ثمانون',
826
+ },
827
+ i2: {
828
+ ar: 'ثمانمائة',
829
+ },
830
+ i3: {
831
+ ar: 'ثمان الااف',
832
+ },
833
+ i4: {
834
+ ar: 'ثمانون الف',
835
+ },
836
+ },
837
+ {
838
+ n: 9,
839
+ i0: {
840
+ ar: 'تسعة',
841
+ },
842
+ i1: {
843
+ ar: 'تسعون',
844
+ },
845
+ i2: {
846
+ ar: 'تسعمائة',
847
+ },
848
+ i3: {
849
+ ar: 'تسعة الااف',
850
+ },
851
+ i4: {
852
+ ar: 'تسعون الف',
853
+ },
854
+ },
855
+ {
856
+ n: 11,
857
+ i0: {
858
+ ar: 'احدى عشر',
859
+ },
860
+ },
861
+ {
862
+ n: 12,
863
+ i0: {
864
+ ar: 'اثنى عشر',
865
+ },
866
+ },
867
+ ];
868
+
869
+ site.strings = {
870
+ and: {
871
+ ar: 'و',
872
+ },
873
+ space: {
874
+ ar: ' ',
875
+ },
876
+ 10: {
877
+ ar: 'آلاف',
878
+ },
879
+ 20: {
880
+ ar: 'ألفاً',
881
+ },
882
+ 100: {
883
+ ar: 'ألف',
884
+ },
885
+ currency: {
886
+ ar: ' جنيها مصريا فقط لاغير ',
887
+ },
888
+ from10: {
889
+ ar: ' قروش ',
890
+ },
891
+ from100: {
892
+ ar: ' قرش ',
893
+ },
894
+ from1000: {
895
+ ar: ' من الف ',
896
+ },
897
+ };
898
+
899
+ function get1num(num, lang) {
900
+ let s = '';
901
+ numbers.forEach((n) => {
902
+ if (n.n == num) {
903
+ s = n.i0[lang];
904
+ }
905
+ });
906
+ return s;
907
+ }
908
+
909
+ function get2num(num, lang) {
910
+ let s = '';
911
+ if (num == 11) {
912
+ numbers.forEach((n) => {
913
+ if (n.n == num) {
914
+ s = n.i0[lang];
507
915
  }
508
-
509
- return Base64.encode(str);
510
- return window.btoa(unescape(encodeURIComponent(str)));
511
- };
512
-
513
- site.fromBase64 = (str) => {
514
- if (typeof str === undefined || str === null || str === '') {
515
- return '';
916
+ });
917
+ } else if (num == 12) {
918
+ numbers.forEach((n) => {
919
+ if (n.n == num) {
920
+ s = n.i0[lang];
516
921
  }
517
- return Base64.decode(str);
518
- return decodeURIComponent(escape(window.atob(str)));
519
- };
520
-
521
- site.to123 = (data) => {
522
- data = site.toBase64(data);
523
- let newData = '';
524
- for (let i = 0; i < data.length; i++) {
525
- let letter = data[i];
526
- newData += site.$base64Numbers[site.$base64Letter.indexOf(letter)];
922
+ });
923
+ } else {
924
+ numbers.forEach((n) => {
925
+ if (n.n == num[1]) {
926
+ s = n.i0[lang];
527
927
  }
528
- return newData;
529
- };
530
-
531
- site.from123 = (data) => {
532
- let newData = '';
533
- for (let i = 0; i < data.length; i++) {
534
- let num = data[i] + data[i + 1];
535
- let index = site.$base64Numbers.indexOf(parseInt(num));
536
- newData += site.$base64Letter[index];
537
- i++;
928
+ });
929
+
930
+ numbers.forEach((n) => {
931
+ if (n.n == num[0]) {
932
+ if (num[1] > 0 && num[0] > 1) {
933
+ s += site.strings['space'][lang] + site.strings['and'][lang];
934
+ } else {
935
+ s += '';
936
+ }
937
+ s += n.i1[lang];
538
938
  }
539
- newData = site.fromBase64(newData);
540
- return newData;
541
- };
939
+ });
940
+ }
941
+ return s;
942
+ }
943
+
944
+ function get3num(num, lang) {
945
+ let s = '';
946
+ numbers.forEach((n) => {
947
+ if (n.n == num[0]) {
948
+ s = n.i2[lang] + site.strings['space'][lang];
949
+ }
950
+ });
951
+
952
+ let n2 = get2num(num.substring(1), lang);
953
+ if (n2) {
954
+ if (s) {
955
+ s += site.strings['and'][lang];
956
+ }
957
+ s += n2;
958
+ }
959
+ return s;
960
+ }
961
+
962
+ function get4num(num, lang) {
963
+ let s = '';
964
+ numbers.forEach((n) => {
965
+ if (n.n == num[0]) {
966
+ s = n.i3[lang] + site.strings['space'][lang];
967
+ }
968
+ });
969
+
970
+ let n3 = get3num(num.substring(1), lang);
971
+ if (n3) {
972
+ if (s) {
973
+ s += site.strings['and'][lang];
974
+ }
975
+ s += n3;
976
+ }
977
+ return s;
978
+ }
979
+
980
+ function get5num(num, lang) {
981
+ let s = get2num(num.substring(0, 2), lang) + site.strings['space'][lang];
982
+ if (num[0] == 1) {
983
+ s += site.strings['10'][lang] + site.strings['space'][lang];
984
+ } else {
985
+ s += site.strings['20'][lang] + site.strings['space'][lang];
986
+ }
987
+ let n3 = get3num(num.substring(2), lang);
988
+ if (n3) {
989
+ s += site.strings['and'][lang] + n3;
990
+ }
542
991
 
543
- site.typeOf = site.typeof = function type(elem) {
544
- return Object.prototype.toString.call(elem).slice(8, -1);
545
- };
992
+ return s;
993
+ }
994
+ function get6num(num, lang) {
995
+ let s = get3num(num.substring(0, 3), lang) + site.strings['space'][lang];
546
996
 
547
- site.showTabContent = function (e, tabContentSelector) {
548
- let tabcontents = document.querySelectorAll('.tab-content');
549
- for (i = 0; i < tabcontents.length; i++) {
550
- tabcontents[i].style.display = 'none';
551
- }
552
- let tablinks = document.querySelectorAll('.tab-link');
553
- for (i = 0; i < tablinks.length; i++) {
554
- tablinks[i].className = tablinks[i].className.replace(' active', '');
555
- }
556
- document.querySelectorAll(tabContentSelector + '.tab-content').forEach((el) => {
557
- el.style.display = 'inline-block';
558
- });
997
+ s += site.strings['100'][lang] + site.strings['space'][lang];
559
998
 
560
- if (e) {
561
- e.currentTarget.className += ' active';
562
- }
563
- };
999
+ let n3 = get3num(num.substring(3), lang);
1000
+ if (n3) {
1001
+ s += site.strings['and'][lang] + n3;
1002
+ }
564
1003
 
565
- site.showTabs = function (e, tabSelector) {
566
- if (e) {
567
- e.stopPropagation();
568
- }
1004
+ return s;
1005
+ }
1006
+ site.stringfiy = function (_num, lang) {
1007
+ _num = _num || '';
1008
+ lang = lang || 'ar';
1009
+ _num = _num.toString().split('.');
1010
+
1011
+ let num = _num[0];
1012
+ let num2 = _num[1];
1013
+
1014
+ let s = '';
1015
+ if (num.length == 1) {
1016
+ s = get1num(num, lang);
1017
+ } else if (num.length == 2) {
1018
+ s = get2num(num, lang);
1019
+ } else if (num.length == 3) {
1020
+ s = get3num(num, lang);
1021
+ } else if (num.length == 4) {
1022
+ s = get4num(num, lang);
1023
+ } else if (num.length == 5) {
1024
+ s = get5num(num, lang);
1025
+ } else if (num.length == 6) {
1026
+ s = get6num(num, lang);
1027
+ }
569
1028
 
570
- $('.main-menu .tabs').hide();
571
- $(tabSelector).show(100);
572
- };
1029
+ let s2 = '';
573
1030
 
574
- site.toHtmlTable = function (obj) {
575
- if (obj === undefined || obj === null) {
576
- return '';
577
- }
578
- if (site.typeOf(obj) == 'Object') {
579
- let table = '<table class="table">';
580
- for (let index = 0; index < Object.getOwnPropertyNames(obj).length; index++) {
581
- let p = Object.getOwnPropertyNames(obj)[index];
582
- table += '<tr>';
583
- table += `<td><p> ${p} </p></td>`;
584
- if (site.typeOf(obj[p]) == 'Object' || site.typeOf(obj[p]) == 'Array') {
585
- table += `<td><p> ${site.toHtmlTable(obj[p])} </p></td>`;
586
- } else {
587
- table += `<td><p> ${obj[p]} </p></td>`;
588
- }
589
-
590
- table += '</tr>';
591
- }
592
- table += '</table>';
593
- return table;
594
- } else if (site.typeOf(obj) == 'Array') {
595
- let table = '<table class="table">';
596
- for (let i = 0; i < obj.length; i++) {
597
- if (site.typeOf(obj[i]) == 'Object' || site.typeOf(obj[i]) == 'Array') {
598
- table += `<tr><td><p>${site.toHtmlTable(obj[i])}</p></td></tr>`;
599
- } else {
600
- table += `<tr><td><p>${obj[i]}</p></td></tr>`;
601
- }
602
- }
603
- table += '</table>';
604
- return table;
605
- }
606
- return '';
607
- };
1031
+ if (num2) {
1032
+ if (num2.length == 1) {
1033
+ num2 += '0';
1034
+ }
608
1035
 
609
- site.vControles = [];
610
- site.validated = function (s) {
611
- const res = {
612
- ok: !0,
613
- messages: [],
614
- };
615
- site.vControles.forEach((n) => {
616
- n.el.style.border = n.border;
617
- });
618
- site.vControles = [];
619
- s = s || 'body';
620
- const arr = document.querySelectorAll(s + ' [v]');
621
- arr.forEach((el) => {
622
- const border = el.style.border;
623
- const v = el.getAttribute('v');
624
- const vList = v.split(' ');
625
- vList.forEach((vl) => {
626
- vl = vl.toLowerCase().trim();
627
- if (vl === 'r') {
628
- if ((el.nodeName === 'INPUT' || el.nodeName === 'SELECT') && (!el.value || el.value.like('*undefined*'))) {
629
- site.vControles.push({
630
- el: el,
631
- border: border,
632
- });
633
- el.style.border = '2px solid #ff1100';
634
- res.ok = !1;
635
- res.messages.push({
636
- en: 'Data Is Required',
637
- ar: 'هذا البيان مطلوب',
638
- });
639
- }
640
- } else if (vl.like('ml*')) {
641
- const length = parseInt(vl.replace('ml', ''));
642
- if ((el.nodeName === 'INPUT' || el.nodeName === 'TEXTAREA') && (!el.value || el.value.length > length)) {
643
- site.vControles.push({
644
- el: el,
645
- border: border,
646
- });
647
- el.style.border = '2px solid #ff1100';
648
- res.ok = !1;
649
- res.messages.push({
650
- en: 'Letter Count Must be <= ' + length,
651
- ar: 'عدد الاحرف يجب ان يكون أقل من أو يساوى ' + length,
652
- });
653
- }
654
- } else if (vl.like('ll*')) {
655
- const length = parseInt(vl.replace('ll', ''));
656
- if ((el.nodeName === 'INPUT' || el.nodeName === 'TEXTAREA') && (!el.value || el.value.length < length)) {
657
- site.vControles.push({
658
- el: el,
659
- border: border,
660
- });
661
- el.style.border = '2px solid #ff1100';
662
- res.ok = !1;
663
- res.messages.push({
664
- en: 'Letter Count Must be >= ' + length,
665
- ar: 'عدد الاحرف يجب ان يكون اكبر من أو يساوى ' + length,
666
- });
667
- }
668
- } else if (vl.like('l*')) {
669
- const length = parseInt(vl.replace('l', ''));
670
- if ((el.nodeName === 'INPUT' || el.nodeName === 'TEXTAREA') && (!el.value || el.value.length !== length)) {
671
- site.vControles.push({
672
- el: el,
673
- border: border,
674
- });
675
- el.style.border = '2px solid #ff1100';
676
- res.ok = !1;
677
- res.messages.push({
678
- en: 'Letter Count Must be = ' + length,
679
- ar: 'عدد الاحرف يجب ان يساوى ' + length,
680
- });
681
- }
682
- } else {
683
- }
684
- });
685
- });
686
- return res;
687
- };
1036
+ if (num2.length == 1) {
1037
+ s2 = get1num(num2, lang) + site.strings['from10'][lang];
1038
+ } else if (num2.length == 2) {
1039
+ s2 = get2num(num2, lang) + site.strings['from100'][lang];
1040
+ } else if (num2.length == 3) {
1041
+ s2 = get3num(num2, lang) + site.strings['from1000'][lang];
1042
+ }
1043
+ }
688
1044
 
689
- let numbers = [
690
- {
691
- n: 1,
692
- i0: {
693
- ar: 'واحد',
694
- },
695
- i1: {
696
- ar: 'عشرة',
697
- },
698
- i2: {
699
- ar: 'مائة',
700
- },
701
- i3: {
702
- ar: 'الف',
703
- },
704
- i4: {
705
- ar: 'عشرة الاف',
706
- },
707
- },
708
- {
709
- n: 2,
710
- i0: {
711
- ar: 'اثنان ',
712
- },
713
- i1: {
714
- ar: 'عشرون',
715
- },
716
- i2: {
717
- ar: 'مائتان',
718
- },
719
- i3: {
720
- ar: 'الفان',
721
- },
722
- i4: {
723
- ar: 'عشرون الف',
724
- },
725
- },
726
- {
727
- n: 3,
728
- i0: {
729
- ar: 'ثلاثة',
730
- },
731
- i1: {
732
- ar: 'ثلاثون',
733
- },
734
- i2: {
735
- ar: 'ثلاثمائة',
736
- },
737
- i3: {
738
- ar: 'ثلاث الاف',
739
- },
740
- i4: {
741
- ar: 'ثلاثون الف',
742
- },
743
- },
744
- {
745
- n: 4,
746
- i0: {
747
- ar: 'اربعة',
748
- },
749
- i1: {
750
- ar: 'اربعون',
751
- },
752
- i2: {
753
- ar: 'اربعة مائة',
754
- },
755
- i3: {
756
- ar: 'اربعة الاف',
757
- },
758
- i4: {
759
- ar: 'اربعون الف',
760
- },
761
- },
762
- {
763
- n: 5,
764
- i0: {
765
- ar: 'خمسة',
766
- },
767
- i1: {
768
- ar: 'خمسون',
769
- },
770
- i2: {
771
- ar: 'خمسمائة',
772
- },
773
- i3: {
774
- ar: 'خمسة الاف',
775
- },
776
- i4: {
777
- ar: 'خمسون الف',
778
- },
779
- },
780
- {
781
- n: 6,
782
- i0: {
783
- ar: 'ستة',
784
- },
785
- i1: {
786
- ar: 'ستون',
787
- },
788
- i2: {
789
- ar: 'ستة مائة',
790
- },
791
- i3: {
792
- ar: 'ستة الااف',
793
- },
794
- i4: {
795
- ar: 'ستون الف',
796
- },
797
- },
798
- {
799
- n: 7,
800
- i0: {
801
- ar: 'سبعة',
802
- },
803
- i1: {
804
- ar: 'سبعون',
805
- },
806
- i2: {
807
- ar: 'سبعمائة',
808
- },
809
- i3: {
810
- ar: 'سبعة الااف',
811
- },
812
- i4: {
813
- ar: 'سبعون الف',
814
- },
815
- },
816
- {
817
- n: 8,
818
- i0: {
819
- ar: 'ثمانية',
820
- },
821
- i1: {
822
- ar: 'ثمانون',
823
- },
824
- i2: {
825
- ar: 'ثمانمائة',
826
- },
827
- i3: {
828
- ar: 'ثمان الااف',
829
- },
830
- i4: {
831
- ar: 'ثمانون الف',
832
- },
833
- },
834
- {
835
- n: 9,
836
- i0: {
837
- ar: 'تسعة',
838
- },
839
- i1: {
840
- ar: 'تسعون',
841
- },
842
- i2: {
843
- ar: 'تسعمائة',
844
- },
845
- i3: {
846
- ar: 'تسعة الااف',
847
- },
848
- i4: {
849
- ar: 'تسعون الف',
850
- },
851
- },
852
- {
853
- n: 11,
854
- i0: {
855
- ar: 'احدى عشر',
856
- },
857
- },
858
- {
859
- n: 12,
860
- i0: {
861
- ar: 'اثنى عشر',
862
- },
863
- },
864
- ];
1045
+ s += site.strings['currency'][lang];
865
1046
 
866
- site.strings = {
867
- and: {
868
- ar: 'و',
869
- },
870
- space: {
871
- ar: ' ',
872
- },
873
- 10: {
874
- ar: 'آلاف',
875
- },
876
- 20: {
877
- ar: 'ألفاً',
1047
+ if (s2) {
1048
+ s += site.strings['space'][lang] + site.strings['and'][lang] + site.strings['space'][lang] + s2;
1049
+ }
1050
+ return s;
1051
+ };
1052
+
1053
+ site.ws = function (options, callback) {
1054
+ if ('WebSocket' in window) {
1055
+ if (typeof options === 'string') {
1056
+ options = {
1057
+ url: options,
1058
+ };
1059
+ }
1060
+ var ws = new WebSocket(options.url);
1061
+ let server = {
1062
+ ws: ws,
1063
+ options: options,
1064
+ closed: true,
1065
+ onError: (error) => {
1066
+ console.log('server.onError Not Implement ... ');
878
1067
  },
879
- 100: {
880
- ar: 'ألف',
1068
+ onClose: function (event) {
1069
+ if (event.wasClean) {
1070
+ console.log(`[ws closed] Connection closed cleanly, code=${event.code} reason=${event.reason}`);
1071
+ } else {
1072
+ console.warn('[ws closed] Connection died');
1073
+
1074
+ setTimeout(() => {
1075
+ site.ws(options, callback);
1076
+ }, 1000 * 5);
1077
+ }
881
1078
  },
882
- currency: {
883
- ar: ' جنيها مصريا فقط لاغير ',
1079
+ onOpen: () => {
1080
+ console.log('server.onOpen Not Implement ... ');
884
1081
  },
885
- from10: {
886
- ar: ' قروش ',
1082
+ onMessage: () => {
1083
+ console.log('server.onMessage Not Implement ... ');
887
1084
  },
888
- from100: {
889
- ar: ' قرش ',
1085
+ onData: () => {
1086
+ console.log('server.onData Not Implement ... ');
890
1087
  },
891
- from1000: {
892
- ar: ' من الف ',
1088
+ send: function (msg) {
1089
+ if (this.closed) {
1090
+ return false;
1091
+ }
1092
+ if (typeof msg !== 'object') {
1093
+ msg = {
1094
+ type: 'text',
1095
+ content: msg,
1096
+ };
1097
+ }
1098
+ this.ws.send(JSON.stringify(msg));
893
1099
  },
894
- };
895
-
896
- function get1num(num, lang) {
897
- let s = '';
898
- numbers.forEach((n) => {
899
- if (n.n == num) {
900
- s = n.i0[lang];
901
- }
902
- });
903
- return s;
904
- }
905
-
906
- function get2num(num, lang) {
907
- let s = '';
908
- if (num == 11) {
909
- numbers.forEach((n) => {
910
- if (n.n == num) {
911
- s = n.i0[lang];
912
- }
913
- });
914
- } else if (num == 12) {
915
- numbers.forEach((n) => {
916
- if (n.n == num) {
917
- s = n.i0[lang];
918
- }
919
- });
1100
+ };
1101
+ ws.onerror = function (error) {
1102
+ server.onError(error);
1103
+ };
1104
+ ws.onclose = function (event) {
1105
+ server.closed = true;
1106
+ server.onClose(event);
1107
+ };
1108
+
1109
+ ws.onopen = function () {
1110
+ server.closed = false;
1111
+ server.onOpen();
1112
+ };
1113
+
1114
+ ws.onmessage = function (msg) {
1115
+ if (msg instanceof Blob) {
1116
+ server.onData(msg);
920
1117
  } else {
921
- numbers.forEach((n) => {
922
- if (n.n == num[1]) {
923
- s = n.i0[lang];
924
- }
925
- });
926
-
927
- numbers.forEach((n) => {
928
- if (n.n == num[0]) {
929
- if (num[1] > 0 && num[0] > 1) {
930
- s += site.strings['space'][lang] + site.strings['and'][lang];
931
- } else {
932
- s += '';
933
- }
934
- s += n.i1[lang];
935
- }
936
- });
1118
+ server.onMessage(JSON.parse(msg.data));
937
1119
  }
938
- return s;
939
- }
940
-
941
- function get3num(num, lang) {
942
- let s = '';
943
- numbers.forEach((n) => {
944
- if (n.n == num[0]) {
945
- s = n.i2[lang] + site.strings['space'][lang];
946
- }
947
- });
1120
+ };
948
1121
 
949
- let n2 = get2num(num.substring(1), lang);
950
- if (n2) {
951
- if (s) {
952
- s += site.strings['and'][lang];
953
- }
954
- s += n2;
955
- }
956
- return s;
1122
+ callback(server);
1123
+ } else {
1124
+ console.error('WebSocket Not Supported');
957
1125
  }
958
-
959
- function get4num(num, lang) {
960
- let s = '';
961
- numbers.forEach((n) => {
962
- if (n.n == num[0]) {
963
- s = n.i3[lang] + site.strings['space'][lang];
964
- }
965
- });
966
-
967
- let n3 = get3num(num.substring(1), lang);
968
- if (n3) {
969
- if (s) {
970
- s += site.strings['and'][lang];
971
- }
972
- s += n3;
973
- }
974
- return s;
1126
+ };
1127
+
1128
+ site.hex = function (txt) {
1129
+ if (typeof txt == 'string') {
1130
+ const encoder = new TextEncoder();
1131
+ return Array.from(encoder.encode(txt))
1132
+ .map((b) => b.toString(16).padStart(2, '0'))
1133
+ .join('');
1134
+ } else if (typeof txt == 'number') {
1135
+ let value = txt.toString(16);
1136
+ if (value.length == 1) {
1137
+ value = '0' + value;
1138
+ }
1139
+ return value;
975
1140
  }
976
-
977
- function get5num(num, lang) {
978
- let s = get2num(num.substring(0, 2), lang) + site.strings['space'][lang];
979
- if (num[0] == 1) {
980
- s += site.strings['10'][lang] + site.strings['space'][lang];
981
- } else {
982
- s += site.strings['20'][lang] + site.strings['space'][lang];
983
- }
984
- let n3 = get3num(num.substring(2), lang);
985
- if (n3) {
986
- s += site.strings['and'][lang] + n3;
987
- }
988
-
989
- return s;
1141
+ };
1142
+ site.zakat = function (obj) {
1143
+ let value = '';
1144
+ if (obj.name) {
1145
+ value += '01' + site.hex(obj.name.length) + site.hex(obj.name);
990
1146
  }
991
- function get6num(num, lang) {
992
- let s = get3num(num.substring(0, 3), lang) + site.strings['space'][lang];
993
-
994
- s += site.strings['100'][lang] + site.strings['space'][lang];
995
-
996
- let n3 = get3num(num.substring(3), lang);
997
- if (n3) {
998
- s += site.strings['and'][lang] + n3;
999
- }
1000
-
1001
- return s;
1147
+ if (obj.vat_number) {
1148
+ value += '02' + site.hex(obj.vat_number.length) + site.hex(obj.vat_number);
1149
+ }
1150
+ if (obj.time) {
1151
+ value += '03' + site.hex(obj.time.length) + site.hex(obj.time);
1152
+ }
1153
+ if (obj.total) {
1154
+ value += '04' + site.hex(obj.total.length) + site.hex(obj.total);
1155
+ }
1156
+ if (obj.vat_total) {
1157
+ value += '05' + site.hex(obj.vat_total.length) + site.hex(obj.vat_total);
1158
+ }
1159
+ return site.toBase64(value);
1160
+ };
1161
+
1162
+ site.zakat2 = function (obj, callback) {
1163
+ fetch('/x-api/zakat', { method: 'POST', body: JSON.stringify(obj) })
1164
+ .then((res) => res.json())
1165
+ .then((data) => {
1166
+ callback(data);
1167
+ });
1168
+ };
1169
+
1170
+ site.barcode = function (options) {
1171
+ if (!options || !options.selector || !options.text) {
1172
+ console.error('qrcode need {selector , text}');
1173
+ return;
1174
+ }
1175
+ return JsBarcode(options.selector, options.selector, options.options);
1176
+ };
1177
+ site.qrcode = function (options) {
1178
+ if (!options || !options.selector || !options.text) {
1179
+ console.error('qrcode need {selector , text}');
1180
+ return;
1002
1181
  }
1003
- site.stringfiy = function (_num, lang) {
1004
- _num = _num || '';
1005
- lang = lang || 'ar';
1006
- _num = _num.toString().split('.');
1007
-
1008
- let num = _num[0];
1009
- let num2 = _num[1];
1010
-
1011
- let s = '';
1012
- if (num.length == 1) {
1013
- s = get1num(num, lang);
1014
- } else if (num.length == 2) {
1015
- s = get2num(num, lang);
1016
- } else if (num.length == 3) {
1017
- s = get3num(num, lang);
1018
- } else if (num.length == 4) {
1019
- s = get4num(num, lang);
1020
- } else if (num.length == 5) {
1021
- s = get5num(num, lang);
1022
- } else if (num.length == 6) {
1023
- s = get6num(num, lang);
1024
- }
1025
-
1026
- let s2 = '';
1027
-
1028
- if (num2) {
1029
- if (num2.length == 1) {
1030
- num2 += '0';
1031
- }
1032
-
1033
- if (num2.length == 1) {
1034
- s2 = get1num(num2, lang) + site.strings['from10'][lang];
1035
- } else if (num2.length == 2) {
1036
- s2 = get2num(num2, lang) + site.strings['from100'][lang];
1037
- } else if (num2.length == 3) {
1038
- s2 = get3num(num2, lang) + site.strings['from1000'][lang];
1039
- }
1040
- }
1041
-
1042
- s += site.strings['currency'][lang];
1043
-
1044
- if (s2) {
1045
- s += site.strings['space'][lang] + site.strings['and'][lang] + site.strings['space'][lang] + s2;
1046
- }
1047
- return s;
1048
- };
1049
-
1050
- site.ws = function (options, callback) {
1051
- if ('WebSocket' in window) {
1052
- if (typeof options === 'string') {
1053
- options = {
1054
- url: options,
1055
- };
1056
- }
1057
- var ws = new WebSocket(options.url);
1058
- let server = {
1059
- ws: ws,
1060
- options: options,
1061
- closed: true,
1062
- onError: (error) => {
1063
- console.log('server.onError Not Implement ... ');
1064
- },
1065
- onClose: function (event) {
1066
- if (event.wasClean) {
1067
- console.log(`[ws closed] Connection closed cleanly, code=${event.code} reason=${event.reason}`);
1068
- } else {
1069
- console.warn('[ws closed] Connection died');
1070
-
1071
- setTimeout(() => {
1072
- site.ws(options, callback);
1073
- }, 1000 * 5);
1074
- }
1075
- },
1076
- onOpen: () => {
1077
- console.log('server.onOpen Not Implement ... ');
1078
- },
1079
- onMessage: () => {
1080
- console.log('server.onMessage Not Implement ... ');
1081
- },
1082
- onData: () => {
1083
- console.log('server.onData Not Implement ... ');
1084
- },
1085
- send: function (msg) {
1086
- if (this.closed) {
1087
- return false;
1088
- }
1089
- if (typeof msg !== 'object') {
1090
- msg = {
1091
- type: 'text',
1092
- content: msg,
1093
- };
1094
- }
1095
- this.ws.send(JSON.stringify(msg));
1096
- },
1097
- };
1098
- ws.onerror = function (error) {
1099
- server.onError(error);
1100
- };
1101
- ws.onclose = function (event) {
1102
- server.closed = true;
1103
- server.onClose(event);
1104
- };
1105
-
1106
- ws.onopen = function () {
1107
- server.closed = false;
1108
- server.onOpen();
1109
- };
1110
-
1111
- ws.onmessage = function (msg) {
1112
- if (msg instanceof Blob) {
1113
- server.onData(msg);
1114
- } else {
1115
- server.onMessage(JSON.parse(msg.data));
1116
- }
1117
- };
1118
-
1119
- callback(server);
1120
- } else {
1121
- console.error('WebSocket Not Supported');
1122
- }
1123
- };
1124
-
1125
- site.hex = function (txt) {
1126
- if (typeof txt == 'string') {
1127
- const encoder = new TextEncoder();
1128
- return Array.from(encoder.encode(txt))
1129
- .map((b) => b.toString(16).padStart(2, '0'))
1130
- .join('');
1131
- } else if (typeof txt == 'number') {
1132
- let value = txt.toString(16);
1133
- if (value.length == 1) {
1134
- value = '0' + value;
1135
- }
1136
- return value;
1137
- }
1138
- };
1139
- site.zakat = function (obj) {
1140
- let value = '';
1141
- if (obj.name) {
1142
- value += '01' + site.hex(obj.name.length) + site.hex(obj.name);
1143
- }
1144
- if (obj.vat_number) {
1145
- value += '02' + site.hex(obj.vat_number.length) + site.hex(obj.vat_number);
1146
- }
1147
- if (obj.time) {
1148
- value += '03' + site.hex(obj.time.length) + site.hex(obj.time);
1149
- }
1150
- if (obj.total) {
1151
- value += '04' + site.hex(obj.total.length) + site.hex(obj.total);
1152
- }
1153
- if (obj.vat_total) {
1154
- value += '05' + site.hex(obj.vat_total.length) + site.hex(obj.vat_total);
1155
- }
1156
- return site.toBase64(value);
1157
- };
1158
-
1159
- site.zakat2 = function (obj, callback) {
1160
- fetch('/x-api/zakat', { method: 'POST', body: JSON.stringify(obj) })
1161
- .then((res) => res.json())
1162
- .then((data) => {
1163
- callback(data);
1164
- });
1165
- };
1166
-
1167
- site.barcode = function (options) {
1168
- if (!options || !options.selector || !options.text) {
1169
- console.error('qrcode need {selector , text}');
1170
- return;
1171
- }
1172
- return JsBarcode(options.selector, options.selector, options.options);
1173
- };
1174
- site.qrcode = function (options) {
1175
- if (!options || !options.selector || !options.text) {
1176
- console.error('qrcode need {selector , text}');
1177
- return;
1178
- }
1179
1182
 
1180
- let dom = typeof options.selector == 'string' ? document.querySelector(options.selector) : options.selector;
1181
- if (dom) {
1182
- dom.innerHTML = '';
1183
- /*if (192 <= options.text.length <= 217) {
1183
+ let dom = typeof options.selector == 'string' ? document.querySelector(options.selector) : options.selector;
1184
+ if (dom) {
1185
+ dom.innerHTML = '';
1186
+ /*if (192 <= options.text.length <= 217) {
1184
1187
  options.text = options.text.padEnd(220);
1185
1188
  }*/
1186
1189
 
1187
- return new QRCode(dom, {
1188
- text: options.text,
1189
- width: options.width || 256,
1190
- height: options.height || 256,
1191
- colorDark: options.colorDark || '#000000',
1192
- colorLight: options.colorLight || '#ffffff',
1193
- correctLevel: options.correctLevel || QRCode.CorrectLevel.H,
1194
- });
1195
- }
1196
- };
1197
- window.site = site;
1190
+ return new QRCode(dom, {
1191
+ text: options.text,
1192
+ width: options.width || 256,
1193
+ height: options.height || 256,
1194
+ colorDark: options.colorDark || '#000000',
1195
+ colorLight: options.colorLight || '#ffffff',
1196
+ correctLevel: options.correctLevel || QRCode.CorrectLevel.H,
1197
+ });
1198
+ }
1199
+ };
1200
+ window.site = site;
1198
1201
  })(window, document, 'undefined', jQuery);