Addrexx_AddressValidation - Version 1.1.6

Version Notes

This extension has been in use with community and enterprise customers since November, 2012.

Download this release

Release Info

Developer Joseph De La Cruz
Extension Addrexx_AddressValidation
Version 1.1.6
Comparing to
See all releases


Version 1.1.6

app/design/adminhtml/default/default/layout/addrexx_backend.xml ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <layout version="0.1.0">
3
+ <adminhtml_sales_order_create_index>
4
+ <reference name="head">
5
+ <action method="addItem"><type>skin_css</type><file>css/addrexx/addrexx.css</file></action>
6
+ </reference>
7
+ <reference name="js">
8
+ <block type="adminhtml/template" name="addrexx_config" template="addrexx/common_config.phtml" />
9
+ </reference>
10
+ </adminhtml_sales_order_create_index>
11
+ <adminhtml_sales_order_index>
12
+ <reference name="head">
13
+ <action method="addItem"><type>skin_css</type><file>css/addrexx/addrexx.css</file></action>
14
+ </reference>
15
+ <reference name="js">
16
+ <block type="adminhtml/template" name="addrexx_config" template="addrexx/common_config.phtml" />
17
+ </reference>
18
+ </adminhtml_sales_order_index>
19
+ <adminhtml_customer_new_key>
20
+ <reference name="head">
21
+ <action method="addItem"><type>skin_css</type><file>css/addrexx/addrexx.css</file></action>
22
+ </reference>
23
+ <reference name="js">
24
+ <block type="adminhtml/template" name="addrexx_config" template="addrexx/common_config.phtml" />
25
+ </reference>
26
+ </adminhtml_customer_new_key>
27
+ <adminhtml_customer_new>
28
+ <reference name="head">
29
+ <action method="addItem"><type>skin_css</type><file>css/addrexx/addrexx.css</file></action>
30
+ </reference>
31
+ <reference name="js">
32
+ <block type="adminhtml/template" name="addrexx_config" template="addrexx/common_config.phtml" />
33
+ </reference>
34
+ </adminhtml_customer_new>
35
+ <adminhtml_customer_edit>
36
+ <reference name="head">
37
+ <action method="addItem"><type>skin_css</type><file>css/addrexx/addrexx.css</file></action>
38
+ </reference>
39
+ <reference name="js">
40
+ <block type="adminhtml/template" name="addrexx_config" template="addrexx/common_config.phtml" />
41
+ </reference>
42
+ </adminhtml_customer_edit>
43
+ </layout>
app/design/adminhtml/default/default/template/addrexx/common_config.phtml ADDED
@@ -0,0 +1,483 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $conf = Mage::getStoreConfig('general');
3
+ $conf3 = Mage::getStoreConfig('tab1');
4
+ echo("<script>console.log('PHP:');</script>");
5
+ echo("<script>console.log($conf);</script>");
6
+ $activeFrontend = ($conf3['general']['active_frontend']);
7
+ $activeAdmin = ($conf3['general']['active_admin']);
8
+ $url = ($conf3['general']['url']);
9
+ $poX = ($conf3['general']['pobox']);
10
+ $nameX = ($conf3['general']['names']);
11
+ $zipX = ($conf3['general']['zip4']);
12
+ $accessTokenFrontend = ($conf3['general']['access_token_frontend']);
13
+ $accessTokenAdmin = ($conf3['general']['access_token_admin']);
14
+
15
+ ?>
16
+ <script type="text/javascript">
17
+ activeFrontend = "<?= $activeFrontend ?>";
18
+ activeAdmin = "<?= $activeAdmin ?>";
19
+ url = "<?= $url ?>";
20
+ poCheck = "<?= $poX ?>";
21
+ nameAutocomplete = "<?= $nameX ?>";
22
+ zipPlusFour = "<?= $zipX ?>";
23
+ accessTokenFrontend = "<?= $accessTokenFrontend ?>";
24
+ accessTokenAdmin = "<?= $accessTokenAdmin ?>";
25
+ console.log(activeFrontend);
26
+ var ww = location.hostname;
27
+ console.log(ww);
28
+ ww = ww.replace("www.","");
29
+ ww = ww.replace(/-/g,""); //remove dashes since function can't have them
30
+ var _DemoURL = "https://s3.amazonaws.com/xxredda";
31
+ var v = new Date().getMilliseconds();
32
+ console.log(ww);
33
+ function loadjscssfile(n) {
34
+ var t = document.createElement("link");
35
+ t.setAttribute("rel", "stylesheet"),
36
+ t.setAttribute("type", "text/css"),
37
+ t.setAttribute("href", n),
38
+ document.getElementsByTagName("head")[0].appendChild(t)
39
+ }
40
+
41
+ (function (n, t) {
42
+ function u(n) {
43
+ l[l.length] = n
44
+ }
45
+ function p(n) {
46
+ h.className = h.className.replace(RegExp("\\b" + n + "\\b"), "")
47
+ }
48
+ function a(n, t) {
49
+ for (var i = 0, r = n.length; i < r; i++)
50
+ t.call(n, n[i], i)
51
+ }
52
+ function w() {
53
+ var t,
54
+ r,
55
+ e;
56
+ h.className = h.className.replace(/ (w-|eq-|gt-|gte-|lt-|lte-|portrait|no-portrait|landscape|no-landscape)\d+/g, ""),
57
+ t = n.innerWidth || h.clientWidth,
58
+ r = n.outerWidth || n.screen.width,
59
+ f.screen.innerWidth = t,
60
+ f.screen.outerWidth = r,
61
+ u("w-" + t),
62
+ a(i.screens, function (n) {
63
+ t > n ? (i.screensCss.gt && u("gt-" + n), i.screensCss.gte && u("gte-" + n)) : t < n ? (i.screensCss.lt && u("lt-" + n), i.screensCss.lte && u("lte-" + n)) : t === n && (i.screensCss.lte && u("lte-" + n), i.screensCss.eq && u("e-q" + n), i.screensCss.gte && u("gte-" + n))
64
+ }),
65
+ r = n.innerHeight || h.clientHeight,
66
+ e = n.outerHeight || n.screen.height,
67
+ f.screen.innerHeight = r,
68
+ f.screen.outerHeight = e,
69
+ f.feature("portrait", r > t),
70
+ f.feature("landscape", r < t)
71
+ }
72
+ function b() {
73
+ n.clearTimeout(y),
74
+ y = n.setTimeout(w, 100)
75
+ }
76
+ var v = n.document,
77
+ e = n.navigator,
78
+ g = n.location,
79
+ h = v.documentElement,
80
+ l = [],
81
+ i = {
82
+ screens : [240, 320, 480, 640, 768, 800, 1024, 1280, 1440, 1680, 1920],
83
+ screensCss : {
84
+ gt : !0,
85
+ gte : !1,
86
+ lt : !0,
87
+ lte : !1,
88
+ eq : !1
89
+ },
90
+ browsers : [{
91
+ ie : {
92
+ min : 6,
93
+ max : 10
94
+ }
95
+ }
96
+ ],
97
+ browserCss : {
98
+ gt : !0,
99
+ gte : !1,
100
+ lt : !0,
101
+ lte : !1,
102
+ eq : !0
103
+ },
104
+ section : "-section",
105
+ page : "-page",
106
+ head : "head"
107
+ },
108
+ r,
109
+ f,
110
+ c,
111
+ k,
112
+ o,
113
+ d,
114
+ s,
115
+ y;
116
+ if (n.head_conf)
117
+ for (r in n.head_conf)
118
+ n.head_conf[r] !== t && (i[r] = n.head_conf[r]);
119
+ f = n[i.head] = function () {
120
+ f.ready.apply(null, arguments)
121
+ },
122
+ f.feature = function (n, t, i) {
123
+ return n ? ("[object Function]" === Object.prototype.toString.call(t) && (t = t.call()), u((t ? "" : "no-") + n), f[n] = !!t, i || (p("no-" + n), p(n), f.feature()), f) : (h.className += " " + l.join(" "), l = [], f)
124
+ },
125
+ f.feature("js", !0),
126
+ r = e.userAgent.toLowerCase(),
127
+ e = /mobile|midp/.test(r),
128
+ f.feature("mobile", e, !0),
129
+ f.feature("desktop", !e, !0),
130
+ r = /(chrome|firefox)[ \/]([\w.]+)/.exec(r) || /(iphone|ipad|ipod)(?:.*version)?[ \/]([\w.]+)/.exec(r) || /(android)(?:.*version)?[ \/]([\w.]+)/.exec(r) || /(webkit|opera)(?:.*version)?[ \/]([\w.]+)/.exec(r) || /(msie) ([\w.]+)/.exec(r) || [],
131
+ e = r[1],
132
+ r = parseFloat(r[2]);
133
+ switch (e) {
134
+ case "msie":
135
+ e = "ie",
136
+ r = v.documentMode || r;
137
+ break;
138
+ case "firefox":
139
+ e = "ff";
140
+ break;
141
+ case "ipod":
142
+ case "ipad":
143
+ case "iphone":
144
+ e = "ios";
145
+ break;
146
+ case "webkit":
147
+ e = "safari"
148
+ }
149
+ for (f.browser = {
150
+ name : e,
151
+ version : r
152
+ }, f.browser[e] = !0, c = 0, k = i.browsers.length; c < k; c++)
153
+ for (o in i.browsers[c])
154
+ if (e === o)
155
+ for (u(o), d = i.browsers[c][o].max, s = i.browsers[c][o].min; s <= d; s++)
156
+ r > s ? (i.browserCss.gt && u("gt-" + o + s), i.browserCss.gte && u("gte-" + o + s)) : r < s ? (i.browserCss.lt && u("lt-" + o + s), i.browserCss.lte && u("lte-" + o + s)) : r === s && (i.browserCss.lte && u("lte-" + o + s), i.browserCss.eq && u("eq-" + o + s), i.browserCss.gte && u("gte-" + o + s));
157
+ else
158
+ u("no-" + o);
159
+ "ie" === e && 9 > r && a("abbr article aside audio canvas details figcaption figure footer header hgroup mark meter nav output progress section summary time video".split(" "), function (n) {
160
+ v.createElement(n)
161
+ }),
162
+ a(g.pathname.split("/"), function (n, r) {
163
+ if (2 < this.length && this[r + 1] !== t)
164
+ r && u(this.slice(1, r + 1).join("-").toLowerCase() + i.section);
165
+ else {
166
+ var f = n || "index",
167
+ e = f.indexOf(".");
168
+ 0 < e && (f = f.substring(0, e)),
169
+ h.id = f.toLowerCase() + i.page,
170
+ r || u("root" + i.section)
171
+ }
172
+ }),
173
+ f.screen = {
174
+ height : n.screen.height,
175
+ width : n.screen.width
176
+ },
177
+ w(),
178
+ y = 0,
179
+ n.addEventListener ? n.addEventListener("resize", b, !1) : n.attachEvent("onresize", b)
180
+ })(window), function (n, t) {
181
+ function r(n) {
182
+ var u = n.charAt(0).toUpperCase() + n.substr(1),
183
+ n = (n + " " + h.join(u + " ") + u).split(" "),
184
+ r;
185
+ n : {
186
+ for (r in n)
187
+ if (i[n[r]] !== t) {
188
+ r = !0;
189
+ break n
190
+ }
191
+ r = !1
192
+ }
193
+ return !!r
194
+ }
195
+ var o = n.document.createElement("i"),
196
+ i = o.style,
197
+ s = " -o- -moz- -ms- -webkit- -khtml- ".split(" "),
198
+ h = ["Webkit", "Moz", "O", "ms", "Khtml"],
199
+ u = n[n.head_conf && n.head_conf.head || "head"],
200
+ e = {
201
+ gradient : function () {
202
+ return i.cssText = ("background-image:" + s.join("gradient(linear,left top,right bottom,from(#9f9),to(#fff));background-image:") + s.join("linear-gradient(left top,#eee,#fff);background-image:")).slice(0, -17),
203
+ !!i.backgroundImage
204
+ },
205
+ rgba : function () {
206
+ return i.cssText = "background-color:rgba(0,0,0,0.5)",
207
+ !!i.backgroundColor
208
+ },
209
+ opacity : function () {
210
+ return "" === o.style.opacity
211
+ },
212
+ textshadow : function () {
213
+ return "" === i.textShadow
214
+ },
215
+ multiplebgs : function () {
216
+ return i.cssText = "background:url(//:),url(//:),red url(//:)",
217
+ /(url\s*\(.*?){3}/.test(i.background)
218
+ },
219
+ boxshadow : function () {
220
+ return r("boxShadow")
221
+ },
222
+ borderimage : function () {
223
+ return r("borderImage")
224
+ },
225
+ borderradius : function () {
226
+ return r("borderRadius")
227
+ },
228
+ cssreflections : function () {
229
+ return r("boxReflect")
230
+ },
231
+ csstransforms : function () {
232
+ return r("transform")
233
+ },
234
+ csstransitions : function () {
235
+ return r("transition")
236
+ },
237
+ touch : function () {
238
+ return "ontouchstart" in n
239
+ },
240
+ retina : function () {
241
+ return 1 < n.devicePixelRatio
242
+ },
243
+ fontface : function () {
244
+ var n = u.browser.version;
245
+ switch (u.browser.name) {
246
+ case "ie":
247
+ return 9 <= n;
248
+ case "chrome":
249
+ return 13 <= n;
250
+ case "ff":
251
+ return 6 <= n;
252
+ case "ios":
253
+ return 5 <= n;
254
+ case "android":
255
+ return !1;
256
+ case "webkit":
257
+ return 5.1 <= n;
258
+ case "opera":
259
+ return 10 <= n;
260
+ default:
261
+ return !1
262
+ }
263
+ }
264
+ },
265
+ f;
266
+ for (f in e)
267
+ e[f] && u.feature(f, e[f].call(), !0);
268
+ u.feature()
269
+ }
270
+ (window), function (n, t) {
271
+ function l() {}
272
+
273
+ function u(n, t) {
274
+ if (n) {
275
+ "object" == typeof n && (n = [].slice.call(n));
276
+ for (var i = 0, r = n.length; i < r; i++)
277
+ t.call(n, n[i], i)
278
+ }
279
+ }
280
+ function k(n, i) {
281
+ var r = Object.prototype.toString.call(i).slice(8, -1);
282
+ return i !== t && null !== i && r === n
283
+ }
284
+ function s(n) {
285
+ return k("Function", n)
286
+ }
287
+ function f(n) {
288
+ n = n || l,
289
+ n._done || (n(), n._done = 1)
290
+ }
291
+ function a(n) {
292
+ var t = {},
293
+ i;
294
+ if ("object" == typeof n)
295
+ for (i in n)
296
+ n[i] && (t = {
297
+ name : i,
298
+ url : n[i]
299
+ });
300
+ else
301
+ t = n.split("/"), t = t[t.length - 1], i = t.indexOf("?"), t = {
302
+ name : -1 !== i ? t.substring(0, i) : t,
303
+ url : n
304
+ };
305
+ return (n = w[t.name]) && n.url === t.url ? n : w[t.name] = t
306
+ }
307
+ function v(n) {
308
+ var n = n || w,
309
+ t;
310
+ for (t in n)
311
+ if (n.hasOwnProperty(t) && n[t].state !== b)
312
+ return !1;
313
+ return !0
314
+ }
315
+ function y(n, t) {
316
+ t = t || l,
317
+ n.state === b ? t() : n.state === ut ? i.ready(n.name, t) : n.state === rt ? n.onpreload.push(function () {
318
+ y(n, t)
319
+ }) : (n.state = ut, d(n, function () {
320
+ n.state = b,
321
+ t(),
322
+ u(h[n.name], function (n) {
323
+ f(n)
324
+ }),
325
+ o && v() && u(h.ALL, function (n) {
326
+ f(n)
327
+ })
328
+ }))
329
+ }
330
+ function d(t, i) {
331
+ var i = i || l,
332
+ u,
333
+ f;
334
+ /\.css[^\.]*$/.test(t.url) ? (u = r.createElement("link"), u.type = "text/" + (t.type || "css"), u.rel = "stylesheet", u.href = t.url) : (u = r.createElement("script"), u.type = "text/" + (t.type || "javascript"), u.src = t.url),
335
+ u.onload = u.onreadystatechange = function (t) {
336
+ t = t || n.event,
337
+ ("load" === t.type || /loaded|complete/.test(u.readyState) && (!r.documentMode || 9 > r.documentMode)) && (u.onload = u.onreadystatechange = u.onerror = null, i())
338
+ },
339
+ u.onerror = function () {
340
+ u.onload = u.onreadystatechange = u.onerror = null,
341
+ i()
342
+ },
343
+ u.async = !1,
344
+ u.defer = !1,
345
+ f = r.head || r.getElementsByTagName("head")[0],
346
+ f.insertBefore(u, f.lastChild)
347
+ }
348
+ function e() {
349
+ r.body ? o || (o = !0, u(g, function (n) {
350
+ f(n)
351
+ })) : (n.clearTimeout(i.readyTimeout), i.readyTimeout = n.setTimeout(e, 50))
352
+ }
353
+ function p() {
354
+ r.addEventListener ? (r.removeEventListener("DOMContentLoaded", p, !1), e()) : "complete" === r.readyState && (r.detachEvent("onreadystatechange", p), e())
355
+ }
356
+ var r = n.document,
357
+ g = [],
358
+ nt = [],
359
+ h = {},
360
+ w = {},
361
+ ft = "async" in r.createElement("script") || "MozAppearance" in r.documentElement.style || n.opera,
362
+ tt,
363
+ o,
364
+ it = n.head_conf && n.head_conf.head || "head",
365
+ i = n[it] = n[it] || function () {
366
+ i.ready.apply(null, arguments)
367
+ },
368
+ rt = 1,
369
+ ut = 3,
370
+ b = 4,
371
+ c;
372
+ if (i.load = ft ? function () {
373
+ var t = arguments,
374
+ n = t[t.length - 1],
375
+ r = {};
376
+ return s(n) || (n = null),
377
+ u(t, function (i, u) {
378
+ i !== n && (i = a(i), r[i.name] = i, y(i, n && u === t.length - 2 ? function () {
379
+ v(r) && f(n)
380
+ }
381
+ : null))
382
+ }),
383
+ i
384
+ }
385
+ : function () {
386
+ var n = arguments,
387
+ r = [].slice.call(n, 1),
388
+ f = r[0];
389
+ return tt ? (f ? (u(r, function (n) {
390
+ if (!s(n)) {
391
+ var i = a(n);
392
+ i.state === t && (i.state = rt, i.onpreload = [], d({
393
+ url : i.url,
394
+ type : "cache"
395
+ }, function () {
396
+ i.state = 2,
397
+ u(i.onpreload, function (n) {
398
+ n.call()
399
+ })
400
+ }))
401
+ }
402
+ }), y(a(n[0]), s(f) ? f : function () {
403
+ i.load.apply(null, r)
404
+ })) : y(a(n[0])), i) : (nt.push(function () {
405
+ i.load.apply(null, n)
406
+ }), i)
407
+ }, i.js = i.load, i.test = function (n, t, r, u) {
408
+ return n = "object" == typeof n ? n : {
409
+ test : n,
410
+ success : t ? k("Array", t) ? t : [t] : !1,
411
+ failure : r ? k("Array", r) ? r : [r] : !1,
412
+ callback : u || l
413
+ },
414
+ (t = !!n.test) && n.success ? (n.success.push(n.callback), i.load.apply(null, n.success)) : !t && n.failure ? (n.failure.push(n.callback), i.load.apply(null, n.failure)) : u(),
415
+ i
416
+ }, i.ready = function (n, t) {
417
+ if (n === r)
418
+ return o ? f(t)
419
+ : g.push(t), i;
420
+ if (s(n) && (t = n, n = "ALL"), "string" != typeof n || !s(t))
421
+ return i;
422
+ var u = w[n];
423
+ return u && u.state === b || "ALL" === n && v() && o ? (f(t), i) : ((u = h[n]) ? u.push(t) : h[n] = [t], i)
424
+ }, i.ready(r, function () {
425
+ v() && u(h.ALL, function (n) {
426
+ f(n)
427
+ }),
428
+ i.feature && i.feature("domloaded", !0)
429
+ }), "complete" === r.readyState)e();
430
+ else if (r.addEventListener)
431
+ r.addEventListener("DOMContentLoaded", p, !1), n.addEventListener("load", e, !1);
432
+ else {
433
+ r.attachEvent("onreadystatechange", p),
434
+ n.attachEvent("onload", e),
435
+ c = !1;
436
+ try {
437
+ c = null == n.frameElement && r.documentElement
438
+ } catch (ot) {}
439
+
440
+ c && c.doScroll && function et() {
441
+ if (!o) {
442
+ try {
443
+ c.doScroll("left")
444
+ } catch (t) {
445
+ n.clearTimeout(i.readyTimeout),
446
+ i.readyTimeout = n.setTimeout(et, 50);
447
+ return
448
+ }
449
+ e()
450
+ }
451
+ }
452
+ ()
453
+ }
454
+ setTimeout(function () {
455
+ tt = !0,
456
+ u(nt, function (n) {
457
+ n()
458
+ })
459
+ }, 300)
460
+ }
461
+ (window);
462
+ function loadaddrexx() {
463
+ head.js(
464
+ "https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js",
465
+ "https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js",
466
+ "https://s3.amazonaws.com/xxredda/" + ww + "/varxBackend.js",
467
+ "https://s3.amazonaws.com/xxredda/" + ww + "/xcorex.js"
468
+ )
469
+ }
470
+
471
+
472
+ window.setTimeout(function ()
473
+ {
474
+ if (activeAdmin == 1) {
475
+ loadaddrexx();
476
+ }
477
+ }, 1550);
478
+
479
+ </script>
480
+
481
+
482
+
483
+
app/design/frontend/base/default/template/addrexx/common_config.phtml ADDED
@@ -0,0 +1,483 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $conf = Mage::getStoreConfig('general');
3
+ $conf3 = Mage::getStoreConfig('tab1');
4
+ echo("<script>console.log('PHP:');</script>");
5
+ echo("<script>console.log($conf);</script>");
6
+ $activeFrontend = ($conf3['general']['active_frontend']);
7
+ $activeAdmin = ($conf3['general']['active_admin']);
8
+ $url = ($conf3['general']['url']);
9
+ $poX = ($conf3['general']['pobox']);
10
+ $nameX = ($conf3['general']['names']);
11
+ $zipX = ($conf3['general']['zip4']);
12
+ $accessTokenFrontend = ($conf3['general']['access_token_frontend']);
13
+ $accessTokenAdmin = ($conf3['general']['access_token_admin']);
14
+
15
+ ?>
16
+ <script type="text/javascript">
17
+ activeFrontend = "<?= $activeFrontend ?>";
18
+ activeAdmin = "<?= $activeAdmin ?>";
19
+ url = "<?= $url ?>";
20
+ poCheck = "<?= $poX ?>";
21
+ nameAutocomplete = "<?= $nameX ?>";
22
+ zipPlusFour = "<?= $zipX ?>";
23
+ accessTokenFrontend = "<?= $accessTokenFrontend ?>";
24
+ accessTokenAdmin = "<?= $accessTokenAdmin ?>";
25
+ console.log(activeFrontend);
26
+ var ww = location.hostname;
27
+ console.log(ww);
28
+ ww = ww.replace("www.","");
29
+ ww = ww.replace(/-/g,""); //remove dashes since function can't have them
30
+ var _DemoURL = "https://s3.amazonaws.com/xxredda";
31
+ var v = new Date().getMilliseconds();
32
+ console.log(ww);
33
+ function loadjscssfile(n) {
34
+ var t = document.createElement("link");
35
+ t.setAttribute("rel", "stylesheet"),
36
+ t.setAttribute("type", "text/css"),
37
+ t.setAttribute("href", n),
38
+ document.getElementsByTagName("head")[0].appendChild(t)
39
+ }
40
+
41
+ (function (n, t) {
42
+ function u(n) {
43
+ l[l.length] = n
44
+ }
45
+ function p(n) {
46
+ h.className = h.className.replace(RegExp("\\b" + n + "\\b"), "")
47
+ }
48
+ function a(n, t) {
49
+ for (var i = 0, r = n.length; i < r; i++)
50
+ t.call(n, n[i], i)
51
+ }
52
+ function w() {
53
+ var t,
54
+ r,
55
+ e;
56
+ h.className = h.className.replace(/ (w-|eq-|gt-|gte-|lt-|lte-|portrait|no-portrait|landscape|no-landscape)\d+/g, ""),
57
+ t = n.innerWidth || h.clientWidth,
58
+ r = n.outerWidth || n.screen.width,
59
+ f.screen.innerWidth = t,
60
+ f.screen.outerWidth = r,
61
+ u("w-" + t),
62
+ a(i.screens, function (n) {
63
+ t > n ? (i.screensCss.gt && u("gt-" + n), i.screensCss.gte && u("gte-" + n)) : t < n ? (i.screensCss.lt && u("lt-" + n), i.screensCss.lte && u("lte-" + n)) : t === n && (i.screensCss.lte && u("lte-" + n), i.screensCss.eq && u("e-q" + n), i.screensCss.gte && u("gte-" + n))
64
+ }),
65
+ r = n.innerHeight || h.clientHeight,
66
+ e = n.outerHeight || n.screen.height,
67
+ f.screen.innerHeight = r,
68
+ f.screen.outerHeight = e,
69
+ f.feature("portrait", r > t),
70
+ f.feature("landscape", r < t)
71
+ }
72
+ function b() {
73
+ n.clearTimeout(y),
74
+ y = n.setTimeout(w, 100)
75
+ }
76
+ var v = n.document,
77
+ e = n.navigator,
78
+ g = n.location,
79
+ h = v.documentElement,
80
+ l = [],
81
+ i = {
82
+ screens : [240, 320, 480, 640, 768, 800, 1024, 1280, 1440, 1680, 1920],
83
+ screensCss : {
84
+ gt : !0,
85
+ gte : !1,
86
+ lt : !0,
87
+ lte : !1,
88
+ eq : !1
89
+ },
90
+ browsers : [{
91
+ ie : {
92
+ min : 6,
93
+ max : 10
94
+ }
95
+ }
96
+ ],
97
+ browserCss : {
98
+ gt : !0,
99
+ gte : !1,
100
+ lt : !0,
101
+ lte : !1,
102
+ eq : !0
103
+ },
104
+ section : "-section",
105
+ page : "-page",
106
+ head : "head"
107
+ },
108
+ r,
109
+ f,
110
+ c,
111
+ k,
112
+ o,
113
+ d,
114
+ s,
115
+ y;
116
+ if (n.head_conf)
117
+ for (r in n.head_conf)
118
+ n.head_conf[r] !== t && (i[r] = n.head_conf[r]);
119
+ f = n[i.head] = function () {
120
+ f.ready.apply(null, arguments)
121
+ },
122
+ f.feature = function (n, t, i) {
123
+ return n ? ("[object Function]" === Object.prototype.toString.call(t) && (t = t.call()), u((t ? "" : "no-") + n), f[n] = !!t, i || (p("no-" + n), p(n), f.feature()), f) : (h.className += " " + l.join(" "), l = [], f)
124
+ },
125
+ f.feature("js", !0),
126
+ r = e.userAgent.toLowerCase(),
127
+ e = /mobile|midp/.test(r),
128
+ f.feature("mobile", e, !0),
129
+ f.feature("desktop", !e, !0),
130
+ r = /(chrome|firefox)[ \/]([\w.]+)/.exec(r) || /(iphone|ipad|ipod)(?:.*version)?[ \/]([\w.]+)/.exec(r) || /(android)(?:.*version)?[ \/]([\w.]+)/.exec(r) || /(webkit|opera)(?:.*version)?[ \/]([\w.]+)/.exec(r) || /(msie) ([\w.]+)/.exec(r) || [],
131
+ e = r[1],
132
+ r = parseFloat(r[2]);
133
+ switch (e) {
134
+ case "msie":
135
+ e = "ie",
136
+ r = v.documentMode || r;
137
+ break;
138
+ case "firefox":
139
+ e = "ff";
140
+ break;
141
+ case "ipod":
142
+ case "ipad":
143
+ case "iphone":
144
+ e = "ios";
145
+ break;
146
+ case "webkit":
147
+ e = "safari"
148
+ }
149
+ for (f.browser = {
150
+ name : e,
151
+ version : r
152
+ }, f.browser[e] = !0, c = 0, k = i.browsers.length; c < k; c++)
153
+ for (o in i.browsers[c])
154
+ if (e === o)
155
+ for (u(o), d = i.browsers[c][o].max, s = i.browsers[c][o].min; s <= d; s++)
156
+ r > s ? (i.browserCss.gt && u("gt-" + o + s), i.browserCss.gte && u("gte-" + o + s)) : r < s ? (i.browserCss.lt && u("lt-" + o + s), i.browserCss.lte && u("lte-" + o + s)) : r === s && (i.browserCss.lte && u("lte-" + o + s), i.browserCss.eq && u("eq-" + o + s), i.browserCss.gte && u("gte-" + o + s));
157
+ else
158
+ u("no-" + o);
159
+ "ie" === e && 9 > r && a("abbr article aside audio canvas details figcaption figure footer header hgroup mark meter nav output progress section summary time video".split(" "), function (n) {
160
+ v.createElement(n)
161
+ }),
162
+ a(g.pathname.split("/"), function (n, r) {
163
+ if (2 < this.length && this[r + 1] !== t)
164
+ r && u(this.slice(1, r + 1).join("-").toLowerCase() + i.section);
165
+ else {
166
+ var f = n || "index",
167
+ e = f.indexOf(".");
168
+ 0 < e && (f = f.substring(0, e)),
169
+ h.id = f.toLowerCase() + i.page,
170
+ r || u("root" + i.section)
171
+ }
172
+ }),
173
+ f.screen = {
174
+ height : n.screen.height,
175
+ width : n.screen.width
176
+ },
177
+ w(),
178
+ y = 0,
179
+ n.addEventListener ? n.addEventListener("resize", b, !1) : n.attachEvent("onresize", b)
180
+ })(window), function (n, t) {
181
+ function r(n) {
182
+ var u = n.charAt(0).toUpperCase() + n.substr(1),
183
+ n = (n + " " + h.join(u + " ") + u).split(" "),
184
+ r;
185
+ n : {
186
+ for (r in n)
187
+ if (i[n[r]] !== t) {
188
+ r = !0;
189
+ break n
190
+ }
191
+ r = !1
192
+ }
193
+ return !!r
194
+ }
195
+ var o = n.document.createElement("i"),
196
+ i = o.style,
197
+ s = " -o- -moz- -ms- -webkit- -khtml- ".split(" "),
198
+ h = ["Webkit", "Moz", "O", "ms", "Khtml"],
199
+ u = n[n.head_conf && n.head_conf.head || "head"],
200
+ e = {
201
+ gradient : function () {
202
+ return i.cssText = ("background-image:" + s.join("gradient(linear,left top,right bottom,from(#9f9),to(#fff));background-image:") + s.join("linear-gradient(left top,#eee,#fff);background-image:")).slice(0, -17),
203
+ !!i.backgroundImage
204
+ },
205
+ rgba : function () {
206
+ return i.cssText = "background-color:rgba(0,0,0,0.5)",
207
+ !!i.backgroundColor
208
+ },
209
+ opacity : function () {
210
+ return "" === o.style.opacity
211
+ },
212
+ textshadow : function () {
213
+ return "" === i.textShadow
214
+ },
215
+ multiplebgs : function () {
216
+ return i.cssText = "background:url(//:),url(//:),red url(//:)",
217
+ /(url\s*\(.*?){3}/.test(i.background)
218
+ },
219
+ boxshadow : function () {
220
+ return r("boxShadow")
221
+ },
222
+ borderimage : function () {
223
+ return r("borderImage")
224
+ },
225
+ borderradius : function () {
226
+ return r("borderRadius")
227
+ },
228
+ cssreflections : function () {
229
+ return r("boxReflect")
230
+ },
231
+ csstransforms : function () {
232
+ return r("transform")
233
+ },
234
+ csstransitions : function () {
235
+ return r("transition")
236
+ },
237
+ touch : function () {
238
+ return "ontouchstart" in n
239
+ },
240
+ retina : function () {
241
+ return 1 < n.devicePixelRatio
242
+ },
243
+ fontface : function () {
244
+ var n = u.browser.version;
245
+ switch (u.browser.name) {
246
+ case "ie":
247
+ return 9 <= n;
248
+ case "chrome":
249
+ return 13 <= n;
250
+ case "ff":
251
+ return 6 <= n;
252
+ case "ios":
253
+ return 5 <= n;
254
+ case "android":
255
+ return !1;
256
+ case "webkit":
257
+ return 5.1 <= n;
258
+ case "opera":
259
+ return 10 <= n;
260
+ default:
261
+ return !1
262
+ }
263
+ }
264
+ },
265
+ f;
266
+ for (f in e)
267
+ e[f] && u.feature(f, e[f].call(), !0);
268
+ u.feature()
269
+ }
270
+ (window), function (n, t) {
271
+ function l() {}
272
+
273
+ function u(n, t) {
274
+ if (n) {
275
+ "object" == typeof n && (n = [].slice.call(n));
276
+ for (var i = 0, r = n.length; i < r; i++)
277
+ t.call(n, n[i], i)
278
+ }
279
+ }
280
+ function k(n, i) {
281
+ var r = Object.prototype.toString.call(i).slice(8, -1);
282
+ return i !== t && null !== i && r === n
283
+ }
284
+ function s(n) {
285
+ return k("Function", n)
286
+ }
287
+ function f(n) {
288
+ n = n || l,
289
+ n._done || (n(), n._done = 1)
290
+ }
291
+ function a(n) {
292
+ var t = {},
293
+ i;
294
+ if ("object" == typeof n)
295
+ for (i in n)
296
+ n[i] && (t = {
297
+ name : i,
298
+ url : n[i]
299
+ });
300
+ else
301
+ t = n.split("/"), t = t[t.length - 1], i = t.indexOf("?"), t = {
302
+ name : -1 !== i ? t.substring(0, i) : t,
303
+ url : n
304
+ };
305
+ return (n = w[t.name]) && n.url === t.url ? n : w[t.name] = t
306
+ }
307
+ function v(n) {
308
+ var n = n || w,
309
+ t;
310
+ for (t in n)
311
+ if (n.hasOwnProperty(t) && n[t].state !== b)
312
+ return !1;
313
+ return !0
314
+ }
315
+ function y(n, t) {
316
+ t = t || l,
317
+ n.state === b ? t() : n.state === ut ? i.ready(n.name, t) : n.state === rt ? n.onpreload.push(function () {
318
+ y(n, t)
319
+ }) : (n.state = ut, d(n, function () {
320
+ n.state = b,
321
+ t(),
322
+ u(h[n.name], function (n) {
323
+ f(n)
324
+ }),
325
+ o && v() && u(h.ALL, function (n) {
326
+ f(n)
327
+ })
328
+ }))
329
+ }
330
+ function d(t, i) {
331
+ var i = i || l,
332
+ u,
333
+ f;
334
+ /\.css[^\.]*$/.test(t.url) ? (u = r.createElement("link"), u.type = "text/" + (t.type || "css"), u.rel = "stylesheet", u.href = t.url) : (u = r.createElement("script"), u.type = "text/" + (t.type || "javascript"), u.src = t.url),
335
+ u.onload = u.onreadystatechange = function (t) {
336
+ t = t || n.event,
337
+ ("load" === t.type || /loaded|complete/.test(u.readyState) && (!r.documentMode || 9 > r.documentMode)) && (u.onload = u.onreadystatechange = u.onerror = null, i())
338
+ },
339
+ u.onerror = function () {
340
+ u.onload = u.onreadystatechange = u.onerror = null,
341
+ i()
342
+ },
343
+ u.async = !1,
344
+ u.defer = !1,
345
+ f = r.head || r.getElementsByTagName("head")[0],
346
+ f.insertBefore(u, f.lastChild)
347
+ }
348
+ function e() {
349
+ r.body ? o || (o = !0, u(g, function (n) {
350
+ f(n)
351
+ })) : (n.clearTimeout(i.readyTimeout), i.readyTimeout = n.setTimeout(e, 50))
352
+ }
353
+ function p() {
354
+ r.addEventListener ? (r.removeEventListener("DOMContentLoaded", p, !1), e()) : "complete" === r.readyState && (r.detachEvent("onreadystatechange", p), e())
355
+ }
356
+ var r = n.document,
357
+ g = [],
358
+ nt = [],
359
+ h = {},
360
+ w = {},
361
+ ft = "async" in r.createElement("script") || "MozAppearance" in r.documentElement.style || n.opera,
362
+ tt,
363
+ o,
364
+ it = n.head_conf && n.head_conf.head || "head",
365
+ i = n[it] = n[it] || function () {
366
+ i.ready.apply(null, arguments)
367
+ },
368
+ rt = 1,
369
+ ut = 3,
370
+ b = 4,
371
+ c;
372
+ if (i.load = ft ? function () {
373
+ var t = arguments,
374
+ n = t[t.length - 1],
375
+ r = {};
376
+ return s(n) || (n = null),
377
+ u(t, function (i, u) {
378
+ i !== n && (i = a(i), r[i.name] = i, y(i, n && u === t.length - 2 ? function () {
379
+ v(r) && f(n)
380
+ }
381
+ : null))
382
+ }),
383
+ i
384
+ }
385
+ : function () {
386
+ var n = arguments,
387
+ r = [].slice.call(n, 1),
388
+ f = r[0];
389
+ return tt ? (f ? (u(r, function (n) {
390
+ if (!s(n)) {
391
+ var i = a(n);
392
+ i.state === t && (i.state = rt, i.onpreload = [], d({
393
+ url : i.url,
394
+ type : "cache"
395
+ }, function () {
396
+ i.state = 2,
397
+ u(i.onpreload, function (n) {
398
+ n.call()
399
+ })
400
+ }))
401
+ }
402
+ }), y(a(n[0]), s(f) ? f : function () {
403
+ i.load.apply(null, r)
404
+ })) : y(a(n[0])), i) : (nt.push(function () {
405
+ i.load.apply(null, n)
406
+ }), i)
407
+ }, i.js = i.load, i.test = function (n, t, r, u) {
408
+ return n = "object" == typeof n ? n : {
409
+ test : n,
410
+ success : t ? k("Array", t) ? t : [t] : !1,
411
+ failure : r ? k("Array", r) ? r : [r] : !1,
412
+ callback : u || l
413
+ },
414
+ (t = !!n.test) && n.success ? (n.success.push(n.callback), i.load.apply(null, n.success)) : !t && n.failure ? (n.failure.push(n.callback), i.load.apply(null, n.failure)) : u(),
415
+ i
416
+ }, i.ready = function (n, t) {
417
+ if (n === r)
418
+ return o ? f(t)
419
+ : g.push(t), i;
420
+ if (s(n) && (t = n, n = "ALL"), "string" != typeof n || !s(t))
421
+ return i;
422
+ var u = w[n];
423
+ return u && u.state === b || "ALL" === n && v() && o ? (f(t), i) : ((u = h[n]) ? u.push(t) : h[n] = [t], i)
424
+ }, i.ready(r, function () {
425
+ v() && u(h.ALL, function (n) {
426
+ f(n)
427
+ }),
428
+ i.feature && i.feature("domloaded", !0)
429
+ }), "complete" === r.readyState)e();
430
+ else if (r.addEventListener)
431
+ r.addEventListener("DOMContentLoaded", p, !1), n.addEventListener("load", e, !1);
432
+ else {
433
+ r.attachEvent("onreadystatechange", p),
434
+ n.attachEvent("onload", e),
435
+ c = !1;
436
+ try {
437
+ c = null == n.frameElement && r.documentElement
438
+ } catch (ot) {}
439
+
440
+ c && c.doScroll && function et() {
441
+ if (!o) {
442
+ try {
443
+ c.doScroll("left")
444
+ } catch (t) {
445
+ n.clearTimeout(i.readyTimeout),
446
+ i.readyTimeout = n.setTimeout(et, 50);
447
+ return
448
+ }
449
+ e()
450
+ }
451
+ }
452
+ ()
453
+ }
454
+ setTimeout(function () {
455
+ tt = !0,
456
+ u(nt, function (n) {
457
+ n()
458
+ })
459
+ }, 300)
460
+ }
461
+ (window);
462
+ function loadaddrexx() {
463
+ head.js(
464
+ "https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js",
465
+ "https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js",
466
+ "https://s3.amazonaws.com/xxredda/" + ww + "/varxBackend.js",
467
+ "https://s3.amazonaws.com/xxredda/" + ww + "/xcorex.js"
468
+ )
469
+ }
470
+
471
+
472
+ window.setTimeout(function ()
473
+ {
474
+ if (activeAdmin == 1) {
475
+ loadaddrexx();
476
+ }
477
+ }, 1550);
478
+
479
+ </script>
480
+
481
+
482
+
483
+
app/design/frontend/default/default/layout/addrexx_frontend.xml ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ /**
4
+ * Addrexx
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * @category design
9
+ * @package default_default
10
+ * @author Addrexx <info@addrexx.com>
11
+ */
12
+ -->
13
+ <layout version="0.1.0">
14
+ <checkout_onepage_index>
15
+ <reference name="head">
16
+ <block type="page/html" name="addrexx_config" template="addrexx/common_config.phtml"/>
17
+ <action method="addItem"><type>skin_css</type><file>css/addrexx/addrexx.css</file></action>
18
+ </reference>
19
+ </checkout_onepage_index>
20
+ <onestepcheckout_index_index>
21
+ <reference name="head">
22
+ <block type="page/html" name="addrexx_config" template="addrexx/common_config.phtml"/>
23
+ <action method="addItem"><type>skin_css</type><file>css/addrexx/addrexx.css</file></action>
24
+ </reference>
25
+ </onestepcheckout_index_index>
26
+ <onepagecheckout_index_index>
27
+ <reference name="head">
28
+ <block type="page/html" name="addrexx_config" template="addrexx/common_config.phtml"/>
29
+ <action method="addItem"><type>skin_css</type><file>css/addrexx/addrexx.css</file></action>
30
+ </reference>
31
+ </onepagecheckout_index_index>
32
+ <customer_address_new>
33
+ <reference name="head">
34
+ <block type="page/html" name="addrexx_config" template="addrexx/common_config.phtml"/>
35
+ <action method="addItem"><type>skin_css</type><file>css/addrexx/addrexx.css</file></action>
36
+ </reference>
37
+ </customer_address_new>
38
+ <customer_account_edit>
39
+ <reference name="head">
40
+ <block type="page/html" name="addrexx_config" template="addrexx/common_config.phtml"/>
41
+ <action method="addItem"><type>skin_css</type><file>css/addrexx/addrexx.css</file></action>
42
+ </reference>
43
+ </customer_account_edit>
44
+ <checkout_multishipping>
45
+ <reference name="head">
46
+ <block type="page/html" name="addrexx_config" template="addrexx/common_config.phtml"/>
47
+ <action method="addItem"><type>skin_css</type><file>css/addrexx/addrexx.css</file></action>
48
+ </reference>
49
+ </checkout_multishipping>
50
+ <customer_account_create>
51
+ <reference name="head">
52
+ <block type="page/html" name="addrexx_config" template="addrexx/common_config.phtml"/>
53
+ <action method="addItem"><type>skin_css</type><file>css/addrexx/addrexx.css</file></action>
54
+ </reference>
55
+ </customer_account_create>
56
+ <customer_address_form>
57
+ <reference name="head">
58
+ <block type="page/html" name="addrexx_config" template="addrexx/common_config.phtml"/>
59
+ <action method="addItem"><type>skin_css</type><file>css/addrexx/addrexx.css</file></action>
60
+ </reference>
61
+ </customer_address_form>
62
+
63
+ </layout>
app/etc/modules/addrexx.xml ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <modules>
4
+ <Addrexx_Frontend>
5
+ <active>true</active>
6
+ <codePool>local</codePool>
7
+ </Addrexx_Frontend>
8
+ </modules>
9
+ <modules>
10
+ <Addrexx_Backend>
11
+ <active>true</active>
12
+ <codePool>local</codePool>
13
+ </Addrexx_Backend>
14
+ </modules>
15
+ </config>
package.xml ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package>
3
+ <name>Addrexx_AddressValidation</name>
4
+ <version>1.1.6</version>
5
+ <stability>stable</stability>
6
+ <license>Open Software License (OSL 3.0)</license>
7
+ <channel>community</channel>
8
+ <extends/>
9
+ <summary>Autocomplete and validate customer information including names and addresses.</summary>
10
+ <description>Addrexx radically changes your checkout page and enables autocompletion and validation of names and addresses. Customers can checkout 30 seconds faster and information is validated while it is being entered. Stop losing orders on the checkout page or receiving order with incomplete or undeliverable shipping details. &#xD;
11
+ &#xD;
12
+ Addrexx increases sales, solves shipping issues and improves customer satisfaction ratings.&#xD;
13
+ </description>
14
+ <notes>This extension has been in use with community and enterprise customers since November, 2012.</notes>
15
+ <authors><author><name>Joseph De La Cruz</name><user>addrexx</user><email>info@addrexx.com</email></author></authors>
16
+ <date>2013-12-02</date>
17
+ <time>20:52:32</time>
18
+ <contents><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><dir name="addrexx"><file name="addrexx.css" hash="2ee3d7315281a1a53408c7ead7de7613"/><dir name="images"><file name="Thumbs.db" hash="490192cdd1bb716a9ac78f072cd61c8a"/><file name="ui-bg_flat_0_302e2e_40x100.png" hash="6b407d54ab0b5cc1e4a88295e5d13b70"/><file name="ui-bg_flat_75_ffffff_40x100.png" hash="a3c44907f702e9a70d93b0db7e1efb6a"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="css"><dir name="addrexx"><file name="addrexx.css" hash="2ee3d7315281a1a53408c7ead7de7613"/><dir name="images"><file name="ui-bg_flat_0_302e2e_40x100.png" hash="6b407d54ab0b5cc1e4a88295e5d13b70"/><file name="ui-bg_flat_75_ffffff_40x100.png" hash="a3c44907f702e9a70d93b0db7e1efb6a"/></dir></dir></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="addrexx_backend.xml" hash="bf037a3b4e0745f2a77079da546b1da7"/></dir><dir name="template"><dir name="addrexx"><file name="common_config.phtml" hash="4cb31fefce4579dd83181bbf123dd36e"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="addrexx_frontend.xml" hash="bda3284855feedec1049c51d249c8717"/></dir></dir></dir><dir name="base"><dir name="default"><dir name="template"><dir name="addrexx"><file name="common_config.phtml" hash="4cb31fefce4579dd83181bbf123dd36e"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="addrexx.xml" hash="6085c32a6c4c5fda418fe8399c74ab06"/></dir></target></contents>
19
+ <compatible/>
20
+ <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
21
+ </package>
skin/adminhtml/default/default/css/addrexx/addrexx.css ADDED
@@ -0,0 +1,574 @@