1 /* Replayable replacements for global functions */
3 /***************************************************************
5 **************************************************************/
6 //! stable.js 0.1.3, https://github.com/Two-Screen/stable
7 //! © 2012 Stéphan Kochen, Angry Bytes. MIT licensed.
10 // A stable array sort, because `Array#sort()` is not guaranteed stable.
11 // This is an implementation of merge sort, without recursion.
13 var stable = function(arr, comp) {
14 if (typeof(comp) !== 'function') {
15 comp = function(a, b) {
26 if (len <= 1) return arr;
28 // Rather than dividing input, simply iterate chunks of 1, 2, 4, 8, etc.
29 // Chunks are the size of the left or right hand in merge sort.
30 // Stop when the left-hand covers all of the array.
32 for (var chk = 1; chk < len; chk *= 2) {
33 arr = pass(arr, comp, chk);
35 for (var i = 0; i < len; i++) {
41 // Run a single pass with the given chunk size. Returns a new array.
42 var pass = function(arr, comp, chk) {
44 // Output, and position.
45 var result = new Array(len);
47 // Step size / double chunk size.
49 // Bounds of the left and right chunks.
51 // Iterators over the left and right chunk.
54 // Iterate over pairs of chunks.
55 for (l = 0; l < len; l += dbl) {
61 // Iterate both chunks in parallel.
65 // Compare the chunks.
66 if (li < r && ri < e) {
67 // This works for a regular `sort()` compatible comparator,
68 // but also for a simple comparator like: `a > b`
69 if (comp(arr[li], arr[ri]) <= 0) {
70 result[i++] = arr[li++];
73 result[i++] = arr[ri++];
76 // Nothing to compare, just flush what's left.
78 result[i++] = arr[li++];
81 result[i++] = arr[ri++];
83 // Both iterators are at the chunk ends.
93 var arrsort = function(comp) {
94 return stable(this, comp);
97 if (Object.defineProperty) {
98 Object.defineProperty(Array.prototype, "sort", {
99 configurable: true, writable: true, enumerable: false,
103 Array.prototype.sort = arrsort;
107 /***************************************************************
109 **************************************************************/
112 * In a generated replay, this file is partially common, boilerplate code
113 * included in every replay, and partially generated replay code. The following
114 * header applies to the boilerplate code. A comment indicating "Auto-generated
115 * below this comment" marks the separation between these two parts.
117 * Copyright (C) 2011, 2012 Purdue University
118 * Written by Gregor Richards
119 * All rights reserved.
121 * Redistribution and use in source and binary forms, with or without
122 * modification, are permitted provided that the following conditions are met:
124 * 1. Redistributions of source code must retain the above copyright notice,
125 * this list of conditions and the following disclaimer.
126 * 2. Redistributions in binary form must reproduce the above copyright notice,
127 * this list of conditions and the following disclaimer in the documentation
128 * and/or other materials provided with the distribution.
130 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
131 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
132 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
133 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
134 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
135 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
136 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
137 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
138 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
139 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
140 * POSSIBILITY OF SUCH DAMAGE.
147 // detect if we're in a browser or not
148 var inbrowser = false;
149 var inharness = false;
150 var finished = false;
151 if (typeof window !== "undefined" && "document" in window) {
153 if (window.parent && "JSBNG_handleResult" in window.parent) {
156 } else if (typeof global !== "undefined") {
160 window = (function() { return this; })();
164 if ("console" in window) {
165 window.JSBNG_Console = window.console;
170 // Workaround for bound functions as events
171 delete Function.prototype.bind;
174 var JSBNG_Replay = window.top.JSBNG_Replay = {
175 push: function(arr, fun) {
180 path: function(str) {
184 forInKeys: function(of) {
192 // the actual replay runner
195 delete window.onload;
198 var jr = JSBNG_Replay$;
199 var cb = function() {
200 var end = new Date().getTime();
203 var msg = "Time: " + (end - st) + "ms";
206 window.parent.JSBNG_handleResult({error:false, time:(end - st)});
207 } else if (inbrowser) {
208 var res = document.createElement("div");
210 res.style.position = "fixed";
211 res.style.left = "1em";
212 res.style.top = "1em";
213 res.style.width = "35em";
214 res.style.height = "5em";
215 res.style.padding = "1em";
216 res.style.backgroundColor = "white";
217 res.style.color = "black";
218 res.appendChild(document.createTextNode(msg));
220 document.body.appendChild(res);
221 } else if (typeof console !== "undefined") {
223 } else if (typeof print !== "undefined") {
224 // hopefully not the browser print() function :)
233 var st = new Date().getTime();
234 while (jr !== null) {
239 // add a frame at replay time
240 function iframe(pageid) {
243 // represent the iframe as an iframe (of course)
244 var iframe = document.createElement("iframe");
245 iframe.style.display = "none";
246 document.body.appendChild(iframe);
247 iw = iframe.contentWindow;
248 iw.document.write("<script type=\"text/javascript\">var JSBNG_Replay_geval = eval;</script>");
251 // no general way, just lie and do horrible things
255 window.window = window;
257 window.JSBNG_Replay_geval = function(str) {
266 // called at the end of the replay stuff
267 function finalize() {
269 setTimeout(onload, 0);
275 // verify this recorded value and this replayed value are close enough
276 function verify(rep, rec) {
278 (rep === rep || rec === rec) /* NaN test */) {
280 if (typeof rec === "function" && typeof rep === "function") {
283 if (typeof rec !== "object" || rec === null ||
284 !(("__JSBNG_unknown_" + typeof(rep)) in rec)) {
292 var firstMessage = true;
293 function replayMessage(msg) {
297 firstMessage = false;
304 // complain when there's an error
305 function verificationError(msg) {
306 if (finished) return;
308 window.parent.JSBNG_handleResult({error:true, msg: msg});
309 } else replayMessage(msg);
314 function verifySet(objstr, obj, prop, gvalstr, gval) {
315 if (/^on/.test(prop)) {
316 // these aren't instrumented compatibly
320 if (!verify(obj[prop], gval)) {
321 var bval = obj[prop];
322 var msg = "Verification failure! " + objstr + "." + prop + " is not " + gvalstr + ", it's " + bval + "!";
323 verificationError(msg);
327 // to verify a call or new
328 function verifyCall(iscall, func, cthis, cargs) {
330 var callArgs = func.callArgs[func.inst];
331 iscall = iscall ? 1 : 0;
332 if (cargs.length !== callArgs.length - 1) {
335 if (iscall && !verify(cthis, callArgs[0])) ok = false;
336 for (var i = 0; i < cargs.length; i++) {
337 if (!verify(cargs[i], callArgs[i+1])) ok = false;
341 var msg = "Call verification failure!";
342 verificationError(msg);
345 return func.returns[func.inst++];
348 // to verify the callpath
349 function verifyPath(func) {
350 var real = callpath.shift();
352 var msg = "Call path verification failure! Expected " + real + ", found " + func;
353 verificationError(msg);
357 // figure out how to define getters
359 if (Object.defineProperty) {
360 var odp = Object.defineProperty;
361 defineGetter = function(obj, prop, getter, setter) {
362 if (typeof setter === "undefined") setter = function(){};
363 odp(obj, prop, {"enumerable": true, "configurable": true, "get": getter, "set": setter});
365 } else if (Object.prototype.__defineGetter__) {
366 var opdg = Object.prototype.__defineGetter__;
367 var opds = Object.prototype.__defineSetter__;
368 defineGetter = function(obj, prop, getter, setter) {
369 if (typeof setter === "undefined") setter = function(){};
370 opdg.call(obj, prop, getter);
371 opds.call(obj, prop, setter);
374 defineGetter = function() {
375 verificationError("This replay requires getters for correct behavior, and your JS engine appears to be incapable of defining getters. Sorry!");
379 var defineRegetter = function(obj, prop, getter, setter) {
380 defineGetter(obj, prop, function() {
381 return getter.call(this, prop);
383 // once it's set by the client, it's claimed
384 setter.call(this, prop, val);
385 Object.defineProperty(obj, prop, {
386 "enumerable": true, "configurable": true, "writable": true,
392 // for calling events
393 var fpc = Function.prototype.call;
395 // resist the urge, don't put a })(); here!
396 /******************************************************************************
397 * Auto-generated below this comment
398 *****************************************************************************/
399 var ow737951042 = window;
438 var fo737951042_813_clientWidth;
442 var fo737951042_1066_clientWidth;
443 JSBNG_Replay.s7dc9638224cef078c874cd3fa975dc7b976952e8_1 = [];
444 JSBNG_Replay.s23fdf1998fb4cb0dea31f7ff9caa5c49cd23230d_11 = [];
445 JSBNG_Replay.s27f27cc0a8f393a5b2b9cfab146b0487a0fed46c_0 = [];
446 JSBNG_Replay.sfbdb2900fa18bccd81cab55c766ea737c1109ca0_8 = [];
447 JSBNG_Replay.s6f54c5bf5199cec31b0b6ef5af74f23d8e084f79_1 = [];
448 JSBNG_Replay.s6f54c5bf5199cec31b0b6ef5af74f23d8e084f79_2 = [];
449 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15 = [];
450 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_26 = [];
451 JSBNG_Replay.s43fc3a4faaae123905c065ee7216f6efb640b86f_1 = [];
452 JSBNG_Replay.s6642b77f01f4d49ef240b29032e6da4372359178_0 = [];
453 JSBNG_Replay.s19bfa2ac1e19f511e50bfae28fc42f693a531db5_1 = [];
454 JSBNG_Replay.s19bfa2ac1e19f511e50bfae28fc42f693a531db5_2 = [];
455 JSBNG_Replay.s6642b77f01f4d49ef240b29032e6da4372359178_1 = [];
457 // record generated by JSBench at 2013-07-10T18:14:27.183Z
460 f737951042_0 = function() { return f737951042_0.returns[f737951042_0.inst++]; };
461 f737951042_0.returns = [];
462 f737951042_0.inst = 0;
464 ow737951042.JSBNG__Date = f737951042_0;
468 ow737951042.JSBNG__document = o0;
470 f737951042_6 = function() { return f737951042_6.returns[f737951042_6.inst++]; };
471 f737951042_6.returns = [];
472 f737951042_6.inst = 0;
474 ow737951042.JSBNG__removeEventListener = f737951042_6;
476 f737951042_7 = function() { return f737951042_7.returns[f737951042_7.inst++]; };
477 f737951042_7.returns = [];
478 f737951042_7.inst = 0;
480 ow737951042.JSBNG__addEventListener = f737951042_7;
482 ow737951042.JSBNG__top = ow737951042;
484 ow737951042.JSBNG__scrollX = 0;
486 ow737951042.JSBNG__scrollY = 0;
488 f737951042_12 = function() { return f737951042_12.returns[f737951042_12.inst++]; };
489 f737951042_12.returns = [];
490 f737951042_12.inst = 0;
492 ow737951042.JSBNG__setTimeout = f737951042_12;
494 f737951042_13 = function() { return f737951042_13.returns[f737951042_13.inst++]; };
495 f737951042_13.returns = [];
496 f737951042_13.inst = 0;
498 ow737951042.JSBNG__setInterval = f737951042_13;
500 ow737951042.JSBNG__frames = ow737951042;
502 ow737951042.JSBNG__self = ow737951042;
506 ow737951042.JSBNG__navigator = o1;
508 ow737951042.JSBNG__closed = false;
510 ow737951042.JSBNG__opener = null;
512 ow737951042.JSBNG__defaultStatus = "";
516 ow737951042.JSBNG__location = o2;
518 ow737951042.JSBNG__innerWidth = 1024;
520 ow737951042.JSBNG__innerHeight = 702;
522 ow737951042.JSBNG__outerWidth = 1024;
524 ow737951042.JSBNG__outerHeight = 774;
526 ow737951042.JSBNG__screenX = 79;
528 ow737951042.JSBNG__screenY = 22;
530 ow737951042.JSBNG__pageXOffset = 0;
532 ow737951042.JSBNG__pageYOffset = 0;
534 ow737951042.JSBNG__frameElement = null;
536 ow737951042.JSBNG__screenLeft = 79;
538 ow737951042.JSBNG__clientInformation = o1;
540 ow737951042.JSBNG__defaultstatus = "";
542 ow737951042.JSBNG__devicePixelRatio = 1;
544 ow737951042.JSBNG__offscreenBuffering = true;
546 ow737951042.JSBNG__screenTop = 22;
548 f737951042_57 = function() { return f737951042_57.returns[f737951042_57.inst++]; };
549 f737951042_57.returns = [];
550 f737951042_57.inst = 0;
552 ow737951042.JSBNG__Image = f737951042_57;
554 ow737951042.JSBNG__name = "uaMatch";
556 ow737951042.JSBNG__status = "";
558 f737951042_143 = function() { return f737951042_143.returns[f737951042_143.inst++]; };
559 f737951042_143.returns = [];
560 f737951042_143.inst = 0;
562 ow737951042.JSBNG__Document = f737951042_143;
564 ow737951042.JSBNG__XMLDocument = f737951042_143;
566 ow737951042.JSBNG__onerror = null;
571 f737951042_0.returns.push(o3);
577 f737951042_0.returns.push(o3);
583 f737951042_0.returns.push(o3);
589 f737951042_0.returns.push(o3);
595 f737951042_0.returns.push(o3);
601 f737951042_0.returns.push(o3);
605 ow737951042.JSBNG__onJSBNG__stop = undefined;
607 f737951042_424 = function() { return f737951042_424.returns[f737951042_424.inst++]; };
608 f737951042_424.returns = [];
609 f737951042_424.inst = 0;
611 ow737951042.JSBNG__onbeforeunload = f737951042_424;
613 o0.webkitHidden = void 0;
617 o0.msHidden = void 0;
619 o0.mozHidden = void 0;
625 f737951042_0.returns.push(o3);
629 f737951042_7.returns.push(undefined);
631 f737951042_7.returns.push(undefined);
635 f737951042_0.returns.push(o3);
637 f737951042_427 = function() { return f737951042_427.returns[f737951042_427.inst++]; };
638 f737951042_427.returns = [];
639 f737951042_427.inst = 0;
641 o3.getTime = f737951042_427;
645 f737951042_427.returns.push(1373480092811);
649 f737951042_0.returns.push(o3);
655 f737951042_0.returns.push(o3);
661 f737951042_0.returns.push(o3);
667 f737951042_57.returns.push(o3);
675 f737951042_0.returns.push(o5);
677 o5.getTime = f737951042_427;
681 f737951042_427.returns.push(1373480093022);
685 f737951042_0.returns.push(o5);
687 o5.getTime = f737951042_427;
691 f737951042_427.returns.push(1373480097717);
695 f737951042_0.returns.push(o5);
697 o5.getTime = f737951042_427;
701 f737951042_427.returns.push(1373480097727);
705 f737951042_57.returns.push(o5);
711 f737951042_57.returns.push(o6);
716 f737951042_438 = function() { return f737951042_438.returns[f737951042_438.inst++]; };
717 f737951042_438.returns = [];
718 f737951042_438.inst = 0;
720 o0.getElementById = f737951042_438;
724 f737951042_438.returns.push(o6);
728 f737951042_438.returns.push(o7);
730 o7.className = "size0 bottom-thumbs main-image-widget-for-dp standard";
744 f737951042_0.returns.push(o8);
746 f737951042_443 = function() { return f737951042_443.returns[f737951042_443.inst++]; };
747 f737951042_443.returns = [];
748 f737951042_443.inst = 0;
750 o8.getHours = f737951042_443;
752 f737951042_443.returns.push(14);
754 f737951042_444 = function() { return f737951042_444.returns[f737951042_444.inst++]; };
755 f737951042_444.returns = [];
756 f737951042_444.inst = 0;
758 o8.getMinutes = f737951042_444;
760 f737951042_444.returns.push(14);
762 f737951042_445 = function() { return f737951042_445.returns[f737951042_445.inst++]; };
763 f737951042_445.returns = [];
764 f737951042_445.inst = 0;
766 o8.getSeconds = f737951042_445;
770 f737951042_445.returns.push(57);
774 f737951042_0.returns.push(o8);
776 o8.getHours = f737951042_443;
778 f737951042_443.returns.push(14);
780 o8.getMinutes = f737951042_444;
782 f737951042_444.returns.push(14);
784 o8.getSeconds = f737951042_445;
788 f737951042_445.returns.push(57);
794 f737951042_438.returns.push(null);
796 f737951042_438.returns.push(null);
798 f737951042_12.returns.push(16);
802 f737951042_438.returns.push(o8);
813 f737951042_0.returns.push(o9);
819 f737951042_0.returns.push(o9);
823 f737951042_451 = function() { return f737951042_451.returns[f737951042_451.inst++]; };
824 f737951042_451.returns = [];
825 f737951042_451.inst = 0;
827 o0.createElement = f737951042_451;
831 f737951042_451.returns.push(o9);
840 o10.childNodes = o11;
844 f737951042_455 = function() { return f737951042_455.returns[f737951042_455.inst++]; };
845 f737951042_455.returns = [];
846 f737951042_455.inst = 0;
848 o10.insertBefore = f737951042_455;
860 f737951042_455.returns.push(o9);
868 f737951042_451.returns.push(o11);
872 o10.insertBefore = f737951042_455;
876 o10.firstChild = o12;
880 f737951042_455.returns.push(o11);
886 f737951042_0.returns.push(o11);
888 o11.getTime = f737951042_427;
892 f737951042_427.returns.push(1373480097828);
894 f737951042_12.returns.push(17);
898 f737951042_438.returns.push(o11);
903 o0.readyState = "loading";
905 f737951042_7.returns.push(undefined);
909 f737951042_57.returns.push(o12);
911 o2.protocol = "http:";
915 f737951042_7.returns.push(undefined);
917 ow737951042.JSBNG__attachEvent = undefined;
919 f737951042_7.returns.push(undefined);
923 o0.ue_backdetect = o2;
937 f737951042_0.returns.push(o2);
939 o2.getTime = f737951042_427;
943 f737951042_427.returns.push(1373480097920);
945 f737951042_7.returns.push(undefined);
947 f737951042_466 = function() { return f737951042_466.returns[f737951042_466.inst++]; };
948 f737951042_466.returns = [];
949 f737951042_466.inst = 0;
951 ow737951042.JSBNG__onload = f737951042_466;
953 ow737951042.JSBNG__performance = undefined;
957 f737951042_0.returns.push(o2);
963 f737951042_0.returns.push(o2);
965 f737951042_469 = function() { return f737951042_469.returns[f737951042_469.inst++]; };
966 f737951042_469.returns = [];
967 f737951042_469.inst = 0;
969 o2.toGMTString = f737951042_469;
973 f737951042_469.returns.push("Invalid Date");
977 f737951042_0.returns.push(o2);
985 f737951042_0.returns.push(o13);
987 o13.getTime = f737951042_427;
991 f737951042_427.returns.push(1373480097981);
997 f737951042_0.returns.push(o14);
999 o14.getTime = f737951042_427;
1003 f737951042_427.returns.push(1373480097982);
1007 f737951042_0.returns.push(o14);
1009 o14.getTime = f737951042_427;
1013 f737951042_427.returns.push(1373480097982);
1017 f737951042_0.returns.push(o14);
1021 o0.defaultView = ow737951042;
1023 o1.userAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/536.29.13 (KHTML, like Gecko) Version/6.0.4 Safari/536.29.13";
1030 f737951042_0.returns.push(o1);
1032 o1.getHours = f737951042_443;
1034 f737951042_443.returns.push(14);
1036 o1.getMinutes = f737951042_444;
1038 f737951042_444.returns.push(14);
1040 o1.getSeconds = f737951042_445;
1044 f737951042_445.returns.push(58);
1046 f737951042_438.returns.push(null);
1048 f737951042_438.returns.push(null);
1050 f737951042_12.returns.push(18);
1054 f737951042_438.returns.push(o1);
1059 f737951042_0.returns.push(o14);
1061 o14.getHours = f737951042_443;
1063 f737951042_443.returns.push(14);
1065 o14.getMinutes = f737951042_444;
1067 f737951042_444.returns.push(14);
1069 o14.getSeconds = f737951042_445;
1073 f737951042_445.returns.push(59);
1075 f737951042_438.returns.push(null);
1077 f737951042_438.returns.push(null);
1079 f737951042_12.returns.push(19);
1081 f737951042_438.returns.push(o1);
1085 f737951042_0.returns.push(o14);
1087 o14.getHours = f737951042_443;
1089 f737951042_443.returns.push(14);
1091 o14.getMinutes = f737951042_444;
1093 f737951042_444.returns.push(15);
1095 o14.getSeconds = f737951042_445;
1099 f737951042_445.returns.push(0);
1101 f737951042_438.returns.push(null);
1103 f737951042_438.returns.push(null);
1105 f737951042_12.returns.push(20);
1107 f737951042_438.returns.push(o1);
1111 f737951042_438.returns.push(o14);
1115 f737951042_451.returns.push(o15);
1120 f737951042_483 = function() { return f737951042_483.returns[f737951042_483.inst++]; };
1121 f737951042_483.returns = [];
1122 f737951042_483.inst = 0;
1124 o14.appendChild = f737951042_483;
1128 f737951042_483.returns.push(o15);
1134 f737951042_0.returns.push(o16);
1136 o16.getTime = f737951042_427;
1140 f737951042_427.returns.push(1373480101233);
1142 ow737951042.JSBNG__webkitPerformance = undefined;
1146 f737951042_0.returns.push(o16);
1148 o16.getTime = f737951042_427;
1152 f737951042_427.returns.push(1373480101233);
1156 f737951042_0.returns.push(o16);
1158 o16.getHours = f737951042_443;
1160 f737951042_443.returns.push(14);
1162 o16.getMinutes = f737951042_444;
1164 f737951042_444.returns.push(15);
1166 o16.getSeconds = f737951042_445;
1170 f737951042_445.returns.push(1);
1172 f737951042_438.returns.push(null);
1174 f737951042_438.returns.push(null);
1176 f737951042_12.returns.push(21);
1178 f737951042_438.returns.push(o1);
1182 f737951042_0.returns.push(o16);
1184 o16.getHours = f737951042_443;
1186 f737951042_443.returns.push(14);
1188 o16.getMinutes = f737951042_444;
1190 f737951042_444.returns.push(15);
1192 o16.getSeconds = f737951042_445;
1196 f737951042_445.returns.push(2);
1198 f737951042_438.returns.push(null);
1200 f737951042_438.returns.push(null);
1202 f737951042_12.returns.push(22);
1204 f737951042_438.returns.push(o1);
1210 f737951042_0.returns.push(o17);
1212 o17.getTime = f737951042_427;
1216 f737951042_427.returns.push(1373480103335);
1218 f737951042_6.returns.push(undefined);
1222 f737951042_0.returns.push(o17);
1224 o17.getTime = f737951042_427;
1228 f737951042_427.returns.push(1373480103336);
1232 f737951042_57.returns.push(o17);
1239 f737951042_0.returns.push(o17);
1243 f737951042_13.returns.push(23);
1247 f737951042_57.returns.push(o17);
1253 f737951042_0.returns.push(o17);
1257 f737951042_466.returns.push(undefined);
1259 f737951042_466.returns.push(undefined);
1261 f737951042_466.returns.push(undefined);
1263 f737951042_466.returns.push(undefined);
1265 f737951042_466.returns.push(undefined);
1267 f737951042_466.returns.push(undefined);
1269 f737951042_466.returns.push(undefined);
1271 f737951042_466.returns.push(undefined);
1273 f737951042_466.returns.push(undefined);
1275 f737951042_466.returns.push(undefined);
1277 f737951042_466.returns.push(undefined);
1279 f737951042_466.returns.push(undefined);
1281 f737951042_466.returns.push(undefined);
1283 f737951042_466.returns.push(undefined);
1285 f737951042_466.returns.push(undefined);
1287 f737951042_466.returns.push(undefined);
1289 f737951042_466.returns.push(undefined);
1291 f737951042_466.returns.push(undefined);
1293 f737951042_466.returns.push(undefined);
1295 f737951042_466.returns.push(undefined);
1297 f737951042_466.returns.push(undefined);
1299 f737951042_466.returns.push(undefined);
1301 f737951042_466.returns.push(undefined);
1303 f737951042_466.returns.push(undefined);
1305 f737951042_466.returns.push(undefined);
1307 f737951042_466.returns.push(undefined);
1309 f737951042_466.returns.push(undefined);
1311 f737951042_466.returns.push(undefined);
1313 f737951042_466.returns.push(undefined);
1315 f737951042_466.returns.push(undefined);
1317 f737951042_466.returns.push(undefined);
1319 f737951042_466.returns.push(undefined);
1321 f737951042_466.returns.push(undefined);
1323 f737951042_466.returns.push(undefined);
1325 f737951042_466.returns.push(undefined);
1327 f737951042_466.returns.push(undefined);
1329 f737951042_466.returns.push(undefined);
1331 f737951042_466.returns.push(undefined);
1333 f737951042_466.returns.push(undefined);
1335 f737951042_466.returns.push(undefined);
1337 f737951042_466.returns.push(undefined);
1339 f737951042_466.returns.push(undefined);
1341 f737951042_466.returns.push(undefined);
1343 f737951042_466.returns.push(undefined);
1345 f737951042_466.returns.push(undefined);
1347 f737951042_466.returns.push(undefined);
1349 f737951042_466.returns.push(undefined);
1351 f737951042_466.returns.push(undefined);
1353 f737951042_466.returns.push(undefined);
1355 f737951042_466.returns.push(undefined);
1357 f737951042_466.returns.push(undefined);
1359 f737951042_466.returns.push(undefined);
1361 f737951042_466.returns.push(undefined);
1363 f737951042_466.returns.push(undefined);
1365 f737951042_466.returns.push(undefined);
1367 f737951042_466.returns.push(undefined);
1369 f737951042_466.returns.push(undefined);
1371 f737951042_466.returns.push(undefined);
1373 f737951042_466.returns.push(undefined);
1375 f737951042_466.returns.push(undefined);
1377 f737951042_466.returns.push(undefined);
1379 f737951042_466.returns.push(undefined);
1381 f737951042_466.returns.push(undefined);
1383 f737951042_466.returns.push(undefined);
1385 f737951042_466.returns.push(undefined);
1387 f737951042_466.returns.push(undefined);
1389 f737951042_466.returns.push(undefined);
1391 f737951042_466.returns.push(undefined);
1393 f737951042_466.returns.push(undefined);
1395 f737951042_466.returns.push(undefined);
1397 f737951042_466.returns.push(undefined);
1399 f737951042_466.returns.push(undefined);
1401 f737951042_466.returns.push(undefined);
1403 f737951042_466.returns.push(undefined);
1405 f737951042_466.returns.push(undefined);
1407 f737951042_466.returns.push(undefined);
1409 f737951042_466.returns.push(undefined);
1411 f737951042_466.returns.push(undefined);
1413 f737951042_466.returns.push(undefined);
1415 f737951042_466.returns.push(undefined);
1417 f737951042_466.returns.push(undefined);
1419 f737951042_466.returns.push(undefined);
1421 f737951042_466.returns.push(undefined);
1423 f737951042_466.returns.push(undefined);
1425 f737951042_466.returns.push(undefined);
1427 f737951042_466.returns.push(undefined);
1429 f737951042_466.returns.push(undefined);
1431 f737951042_466.returns.push(undefined);
1433 f737951042_466.returns.push(undefined);
1435 f737951042_466.returns.push(undefined);
1437 f737951042_466.returns.push(undefined);
1439 f737951042_466.returns.push(undefined);
1441 f737951042_466.returns.push(undefined);
1443 f737951042_466.returns.push(undefined);
1445 f737951042_466.returns.push(undefined);
1447 f737951042_466.returns.push(undefined);
1449 f737951042_466.returns.push(undefined);
1451 f737951042_466.returns.push(undefined);
1453 f737951042_466.returns.push(undefined);
1455 f737951042_466.returns.push(undefined);
1457 f737951042_466.returns.push(undefined);
1459 f737951042_466.returns.push(undefined);
1461 f737951042_466.returns.push(undefined);
1463 f737951042_466.returns.push(undefined);
1465 f737951042_466.returns.push(undefined);
1467 f737951042_466.returns.push(undefined);
1469 f737951042_466.returns.push(undefined);
1471 f737951042_466.returns.push(undefined);
1473 f737951042_466.returns.push(undefined);
1475 f737951042_466.returns.push(undefined);
1477 f737951042_466.returns.push(undefined);
1479 f737951042_466.returns.push(undefined);
1481 f737951042_466.returns.push(undefined);
1483 f737951042_466.returns.push(undefined);
1485 f737951042_466.returns.push(undefined);
1487 f737951042_466.returns.push(undefined);
1489 f737951042_466.returns.push(undefined);
1491 f737951042_466.returns.push(undefined);
1493 f737951042_466.returns.push(undefined);
1495 f737951042_466.returns.push(undefined);
1497 f737951042_466.returns.push(undefined);
1499 f737951042_466.returns.push(undefined);
1501 f737951042_466.returns.push(undefined);
1503 f737951042_466.returns.push(undefined);
1505 f737951042_466.returns.push(undefined);
1507 f737951042_466.returns.push(undefined);
1509 f737951042_466.returns.push(undefined);
1511 f737951042_466.returns.push(undefined);
1513 f737951042_466.returns.push(undefined);
1515 f737951042_466.returns.push(undefined);
1517 f737951042_466.returns.push(undefined);
1519 f737951042_466.returns.push(undefined);
1521 f737951042_466.returns.push(undefined);
1523 f737951042_466.returns.push(undefined);
1525 f737951042_466.returns.push(undefined);
1527 f737951042_466.returns.push(undefined);
1529 f737951042_466.returns.push(undefined);
1531 f737951042_466.returns.push(undefined);
1533 f737951042_466.returns.push(undefined);
1535 f737951042_466.returns.push(undefined);
1537 f737951042_466.returns.push(undefined);
1539 f737951042_466.returns.push(undefined);
1541 f737951042_466.returns.push(undefined);
1543 f737951042_466.returns.push(undefined);
1545 f737951042_466.returns.push(undefined);
1547 f737951042_466.returns.push(undefined);
1549 f737951042_466.returns.push(undefined);
1551 f737951042_466.returns.push(undefined);
1553 f737951042_466.returns.push(undefined);
1555 f737951042_466.returns.push(undefined);
1557 f737951042_466.returns.push(undefined);
1559 f737951042_466.returns.push(undefined);
1561 f737951042_466.returns.push(undefined);
1563 f737951042_466.returns.push(undefined);
1565 f737951042_466.returns.push(undefined);
1567 f737951042_466.returns.push(undefined);
1569 f737951042_466.returns.push(undefined);
1571 f737951042_466.returns.push(undefined);
1573 f737951042_466.returns.push(undefined);
1575 f737951042_466.returns.push(undefined);
1577 f737951042_466.returns.push(undefined);
1579 f737951042_466.returns.push(undefined);
1581 f737951042_466.returns.push(undefined);
1583 f737951042_466.returns.push(undefined);
1585 f737951042_466.returns.push(undefined);
1587 f737951042_466.returns.push(undefined);
1589 f737951042_466.returns.push(undefined);
1591 f737951042_466.returns.push(undefined);
1593 f737951042_466.returns.push(undefined);
1595 f737951042_466.returns.push(undefined);
1597 f737951042_466.returns.push(undefined);
1599 f737951042_466.returns.push(undefined);
1601 f737951042_466.returns.push(undefined);
1603 f737951042_466.returns.push(undefined);
1605 f737951042_466.returns.push(undefined);
1607 f737951042_466.returns.push(undefined);
1609 f737951042_466.returns.push(undefined);
1611 f737951042_466.returns.push(undefined);
1613 f737951042_466.returns.push(undefined);
1615 f737951042_466.returns.push(undefined);
1617 f737951042_466.returns.push(undefined);
1619 f737951042_466.returns.push(undefined);
1621 f737951042_466.returns.push(undefined);
1623 f737951042_466.returns.push(undefined);
1625 f737951042_466.returns.push(undefined);
1627 f737951042_466.returns.push(undefined);
1629 f737951042_466.returns.push(undefined);
1631 f737951042_466.returns.push(undefined);
1633 f737951042_466.returns.push(undefined);
1635 f737951042_466.returns.push(undefined);
1637 f737951042_466.returns.push(undefined);
1639 f737951042_466.returns.push(undefined);
1641 f737951042_466.returns.push(undefined);
1643 f737951042_466.returns.push(undefined);
1645 f737951042_466.returns.push(undefined);
1647 f737951042_466.returns.push(undefined);
1649 f737951042_466.returns.push(undefined);
1651 f737951042_466.returns.push(undefined);
1653 f737951042_466.returns.push(undefined);
1655 f737951042_466.returns.push(undefined);
1657 f737951042_466.returns.push(undefined);
1659 f737951042_466.returns.push(undefined);
1661 f737951042_466.returns.push(undefined);
1663 f737951042_466.returns.push(undefined);
1665 f737951042_466.returns.push(undefined);
1667 f737951042_466.returns.push(undefined);
1669 f737951042_466.returns.push(undefined);
1671 f737951042_466.returns.push(undefined);
1673 f737951042_466.returns.push(undefined);
1675 f737951042_466.returns.push(undefined);
1677 f737951042_466.returns.push(undefined);
1679 f737951042_466.returns.push(undefined);
1681 f737951042_466.returns.push(undefined);
1683 f737951042_466.returns.push(undefined);
1685 f737951042_466.returns.push(undefined);
1687 f737951042_466.returns.push(undefined);
1689 f737951042_466.returns.push(undefined);
1691 f737951042_466.returns.push(undefined);
1693 f737951042_466.returns.push(undefined);
1695 f737951042_466.returns.push(undefined);
1697 f737951042_466.returns.push(undefined);
1699 f737951042_466.returns.push(undefined);
1701 f737951042_466.returns.push(undefined);
1703 f737951042_466.returns.push(undefined);
1705 f737951042_466.returns.push(undefined);
1707 f737951042_466.returns.push(undefined);
1709 f737951042_466.returns.push(undefined);
1711 f737951042_466.returns.push(undefined);
1713 f737951042_466.returns.push(undefined);
1715 f737951042_466.returns.push(undefined);
1717 f737951042_466.returns.push(undefined);
1719 f737951042_466.returns.push(undefined);
1721 f737951042_466.returns.push(undefined);
1723 f737951042_466.returns.push(undefined);
1725 f737951042_466.returns.push(undefined);
1727 f737951042_466.returns.push(undefined);
1729 f737951042_466.returns.push(undefined);
1731 f737951042_466.returns.push(undefined);
1733 f737951042_466.returns.push(undefined);
1735 f737951042_466.returns.push(undefined);
1737 f737951042_466.returns.push(undefined);
1739 f737951042_466.returns.push(undefined);
1741 f737951042_466.returns.push(undefined);
1743 f737951042_466.returns.push(undefined);
1745 f737951042_466.returns.push(undefined);
1747 f737951042_466.returns.push(undefined);
1749 f737951042_466.returns.push(undefined);
1751 f737951042_466.returns.push(undefined);
1753 f737951042_466.returns.push(undefined);
1755 f737951042_466.returns.push(undefined);
1757 f737951042_466.returns.push(undefined);
1759 f737951042_466.returns.push(undefined);
1761 f737951042_466.returns.push(undefined);
1763 f737951042_466.returns.push(undefined);
1768 f737951042_451.returns.push(o17);
1771 f737951042_497 = function() { return f737951042_497.returns[f737951042_497.inst++]; };
1772 f737951042_497.returns = [];
1773 f737951042_497.inst = 0;
1775 o0.getElementsByTagName = f737951042_497;
1779 f737951042_497.returns.push(o18);
1783 o10.appendChild = f737951042_483;
1787 f737951042_483.returns.push(o17);
1791 f737951042_12.returns.push(24);
1793 f737951042_12.returns.push(25);
1797 f737951042_438.returns.push(o10);
1802 f737951042_0.returns.push(o17);
1804 o17.getHours = f737951042_443;
1806 f737951042_443.returns.push(14);
1808 o17.getMinutes = f737951042_444;
1810 f737951042_444.returns.push(15);
1812 o17.getSeconds = f737951042_445;
1816 f737951042_445.returns.push(3);
1818 f737951042_438.returns.push(null);
1820 f737951042_438.returns.push(null);
1822 f737951042_12.returns.push(26);
1824 f737951042_438.returns.push(o1);
1829 f737951042_497.returns.push(o18);
1835 f737951042_497.returns.push(o12);
1847 o9.id = "divsinglecolumnminwidth";
1863 o9.id = "nav-cross-shop";
1871 o9.id = "welcomeRowTable";
1879 o9.id = "nav-ad-background-style";
1887 o9.id = "navSwmSlot";
1895 o9.id = "navSwmHoliday";
1919 o9.id = "nav-bar-outer";
1927 o9.id = "nav-logo-borderfade";
1951 o9.id = "nav-bar-inner";
1991 o9.id = "nav-iss-attach";
2015 o9.id = "rwImages_hidden";
2023 o9.id = "PrimeStripeContent";
2037 o7.id = "main-image-widget";
2045 o7.id = "main-image-content";
2053 o7.id = "main-image-relative-container";
2061 o7.id = "main-image-fixed-container";
2069 o7.id = "main-image-wrapper-outer";
2077 o7.id = "main-image-wrapper";
2085 o7.id = "holderMainImage";
2093 o7.id = "twister-main-image";
2101 o7.id = "main-image-unavailable";
2141 o7.id = "main-image-caption";
2149 o7.id = "thumbs-image";
2173 o7.id = "prodImageCell";
2189 o7.id = "radiobuyboxDivId";
2197 o7.id = "rbbContainer";
2213 o7.id = "bb_section";
2221 o7.id = "rbb_bb_trigger";
2237 o7.id = "twister-atf-emwa_feature_div";
2245 o7.id = "buyboxDivId";
2253 o7.id = "addonBuyboxID";
2269 o7.id = "goldBoxBuyBoxDivId";
2277 o7.id = "buyBoxContent";
2285 o7.id = "quantityDropdownDiv";
2293 o7.id = "buyboxTwisterJS";
2301 o7.id = "buyNewDiv";
2317 o7.id = "BBPricePlusShipID";
2325 o7.id = "BBAvailPlusMerchID";
2333 o7.id = "prime-rcx-subs-checkbox-outer";
2357 o7.id = "primeLearnMoreDiv";
2365 o7.id = "oneClickDivId";
2397 o7.id = "rbbFooter";
2437 o7.id = "tradeInBuyboxFeatureDiv";
2517 o7.id = "more-buying-choice-content-div";
2525 o7.id = "secondaryUsedAndNew";
2597 o7.id = "tafContainerDiv";
2613 o7.id = "contributorContainerB002N3VYB60596517742";
2621 o7.id = "contributorImageContainerB002N3VYB60596517742";
2693 o7.id = "priceBlock";
2709 o7.id = "ftMessage";
2715 o8.id = "ftMessageTimer";
2739 o7.id = "vellumMsg";
2747 o7.id = "vellumMsgIco";
2755 o7.id = "vellumMsgHdr";
2763 o7.id = "vellumMsgTxt";
2771 o7.id = "vellumMsgCls";
2779 o7.id = "vellumShade";
2787 o7.id = "vellumLdgIco";
2795 o7.id = "sitbReaderPlaceholder";
2843 o7.id = "heroQuickPromoDiv";
2859 o7.id = "promoGrid";
2867 o7.id = "ps-content";
2891 o7.id = "outer_postBodyPS";
2899 o7.id = "postBodyPS";
2923 o7.id = "psGradient";
2931 o7.id = "psPlaceHolder";
2947 o7.id = "collapsePS";
2971 o7.id = "fbt_price_block";
2979 o7.id = "xInfoWrapper";
2987 o7.id = "yInfoWrapper";
2995 o7.id = "zInfoWrapper";
3003 o7.id = "fbt_item_data";
3011 o7.id = "purchase-sims-feature";
3035 o7.id = "purchaseShvl";
3059 o7.id = "purchaseButtonWrapper";
3075 o7.id = "purchase_0596806752";
3123 o7.id = "purchase_0596805527";
3171 o7.id = "purchase_193398869X";
3219 o7.id = "purchase_0321812182";
3267 o7.id = "purchase_1593272820";
3315 o7.id = "purchase_059680279X";
3363 o7.id = "purchaseSimsData";
3379 o7.id = "cpsia-product-safety-warning_feature_div";
3387 o7.id = "productDescription";
3427 o7.id = "detail-bullets";
3443 o7.id = "feedbackFeaturesContainer";
3451 o7.id = "lwcfContainer";
3459 o7.id = "gfixFeaturesContainer";
3467 o7.id = "books-entity-teaser";
3483 o7.id = "summaryContainer";
3515 o7.id = "acr-dpReviewsSummaryWithQuotes-0596517742";
3563 o7.id = "revHist-dpReviewsSummaryWithQuotes-0596517742";
3779 o7.id = "quotesContainer";
3787 o7.id = "advice-quote-list-dpReviewsBucketSummary-0596517742";
3835 o7.id = "revListContainer";
3843 o7.id = "revMHLContainer";
3851 o7.id = "revMHLContainerChild";
3883 o7.id = "rev-dpReviewsMostHelpful-RNX5PEPWHPSHW";
4019 o7.id = "rev-dpReviewsMostHelpful-R2XPWE2CEP5FAN";
4155 o7.id = "rev-dpReviewsMostHelpful-R1BU48HVX41IK9";
4331 o7.id = "revMRLContainer";
4339 o7.id = "ADPlaceholder";
4347 o8.contentWindow = void 0;
4351 fo737951042_813_clientWidth = function() { return fo737951042_813_clientWidth.returns[fo737951042_813_clientWidth.inst++]; };
4352 fo737951042_813_clientWidth.returns = [];
4353 fo737951042_813_clientWidth.inst = 0;
4354 defineGetter(o8, "clientWidth", fo737951042_813_clientWidth, undefined);
4356 fo737951042_813_clientWidth.returns.push(300);
4363 fo737951042_813_clientWidth.returns.push(299);
4376 f737951042_815 = function() { return f737951042_815.returns[f737951042_815.inst++]; };
4377 f737951042_815.returns = [];
4378 f737951042_815.inst = 0;
4380 o7.getElementsByTagName = f737951042_815;
4386 f737951042_815.returns.push(o7);
4396 o11.contentWindow = void 0;
4400 o11.clientWidth = 0;
4402 o11.parentNode = o8;
4408 o8.getElementsByTagName = f737951042_815;
4414 f737951042_815.returns.push(o7);
4420 o11.getElementsByTagName = f737951042_815;
4424 f737951042_815.returns.push(o7);
4432 f737951042_451.returns.push(o7);
4434 f737951042_820 = function() { return f737951042_820.returns[f737951042_820.inst++]; };
4435 f737951042_820.returns = [];
4436 f737951042_820.inst = 0;
4438 o7.cloneNode = f737951042_820;
4444 f737951042_820.returns.push(o7);
4456 o11.insertBefore = f737951042_455;
4460 f737951042_455.returns.push(o7);
4463 f737951042_823 = function() { return f737951042_823.returns[f737951042_823.inst++]; };
4464 f737951042_823.returns = [];
4465 f737951042_823.inst = 0;
4467 o7.JSBNG__addEventListener = f737951042_823;
4469 f737951042_823.returns.push(undefined);
4471 f737951042_823.returns.push(undefined);
4473 f737951042_823.returns.push(undefined);
4479 o7.getElementsByTagName = f737951042_815;
4485 f737951042_815.returns.push(o7);
4530 o7.id = "rev-dpReviewsMostRecent-R2BM46SXMRWEL";
4570 o7.id = "rev-dpReviewsMostRecent-R3AOL0Y2H4SN9A";
4610 o7.id = "rev-dpReviewsMostRecent-RHO6KJES5M4CT";
4650 o7.id = "rev-dpReviewsMostRecent-R38985AUCNQS98";
4690 o7.id = "rev-dpReviewsMostRecent-R21OCHUX0YAQHY";
4730 o7.id = "rev-dpReviewsMostRecent-RLMS89XS21LHH";
4770 o7.id = "rev-dpReviewsMostRecent-R1AR9HJ6D34LQP";
4810 o7.id = "rev-dpReviewsMostRecent-R10HPX2Y40PNKP";
4850 o7.id = "rev-dpReviewsMostRecent-R1YAZS1X4VKU58";
4890 o7.id = "rev-dpReviewsMostRecent-R9AOJHI3XPETD";
4962 o7.id = "searchCustomerReviewsButton";
4994 o7.id = "nav-prime-menu";
5034 o7.id = "nav-prime-tooltip";
5074 o7.id = "nav_browse_flyout";
5082 o7.id = "nav_subcats_wrap";
5090 o7.id = "nav_subcats";
5098 o7.id = "nav_subcats_0";
5138 o7.id = "nav_subcats_1";
5202 o7.id = "nav_subcats_2";
5242 o7.id = "nav_subcats_3";
5346 o7.id = "nav_subcats_4";
5378 o7.id = "nav_subcats_5";
5410 o7.id = "nav_subcats_6";
5434 o7.id = "nav_subcats_7";
5442 o7.id = "nav_subcats_8";
5450 o7.id = "nav_subcats_9";
5466 o7.id = "nav_subcats_10";
5474 o7.id = "nav_subcats_11";
5482 o7.id = "nav_subcats_12";
5498 o7.id = "nav_subcats_13";
5506 o7.id = "nav_subcats_14";
5514 o7.id = "nav_subcats_15";
5538 o7.id = "nav_cats_wrap";
5570 o7.id = "nav_cat_indicator";
5578 o7.id = "nav_your_account_flyout";
5626 o7.id = "nav_cart_flyout";
5658 o7.id = "nav_wishlist_flyout";
5706 o7.id = "A9AdsMiddleBoxTop";
5722 o7.id = "A9AdsWidgetAdsWrapper";
5850 o7.id = "reports-ads-abuse";
5858 o7.id = "FeedbackFormDiv";
5874 o7.id = "view_to_purchase-sims-feature";
5898 o7.id = "view_to_purchaseShvl";
5922 o7.id = "view_to_purchaseButtonWrapper";
5938 o7.id = "view_to_purchase_B000OOYECC";
5970 o7.id = "view_to_purchase_B008ALAHA4";
6002 o7.id = "view_to_purchase_B005DLDTAE";
6034 o7.id = "view_to_purchase_B009SQQF9C";
6066 o7.id = "view_to_purchase_B002XVYZ82";
6098 o7.id = "view_to_purchase_B008PFDUW2";
6130 o7.id = "view_to_purchaseSimsData";
6146 o7.id = "likeAndShareBarLazyLoad";
6154 o7.id = "customer_discussions_lazy_load_div";
6194 o7.id = "dp_bottom_lazy_lazy_load_div";
6274 o7.id = "hmdFormDiv";
6314 o7.id = "rhf_container";
6330 o7.id = "rhf_error";
6354 o7.id = "navFooter";
6416 o10.id = "sis_pixel_r2";
6424 o7.contentWindow = void 0;
6428 fo737951042_1066_clientWidth = function() { return fo737951042_1066_clientWidth.returns[fo737951042_1066_clientWidth.inst++]; };
6429 fo737951042_1066_clientWidth.returns = [];
6430 fo737951042_1066_clientWidth.inst = 0;
6431 defineGetter(o7, "clientWidth", fo737951042_1066_clientWidth, undefined);
6433 fo737951042_1066_clientWidth.returns.push(1008);
6440 fo737951042_1066_clientWidth.returns.push(1007);
6445 o7.parentNode = o10;
6453 o10.getElementsByTagName = f737951042_815;
6459 f737951042_815.returns.push(o8);
6482 f737951042_0.returns.push(o7);
6484 o7.getHours = f737951042_443;
6486 f737951042_443.returns.push(14);
6488 o7.getMinutes = f737951042_444;
6490 f737951042_444.returns.push(15);
6492 o7.getSeconds = f737951042_445;
6496 f737951042_445.returns.push(4);
6498 f737951042_438.returns.push(null);
6500 f737951042_438.returns.push(null);
6502 f737951042_12.returns.push(27);
6504 f737951042_438.returns.push(o1);
6508 f737951042_0.returns.push(o7);
6510 o7.getHours = f737951042_443;
6512 f737951042_443.returns.push(14);
6514 o7.getMinutes = f737951042_444;
6516 f737951042_444.returns.push(15);
6518 o7.getSeconds = f737951042_445;
6522 f737951042_445.returns.push(5);
6524 f737951042_438.returns.push(null);
6526 f737951042_438.returns.push(null);
6528 f737951042_12.returns.push(28);
6530 f737951042_438.returns.push(o1);
6534 f737951042_0.returns.push(o7);
6536 o7.getHours = f737951042_443;
6538 f737951042_443.returns.push(14);
6540 o7.getMinutes = f737951042_444;
6542 f737951042_444.returns.push(15);
6544 o7.getSeconds = f737951042_445;
6548 f737951042_445.returns.push(6);
6550 f737951042_438.returns.push(null);
6552 f737951042_438.returns.push(null);
6554 f737951042_12.returns.push(29);
6556 f737951042_438.returns.push(o1);
6561 JSBNG_Replay$ = function(real, cb) { if (!real) return;
6563 geval("var ue_t0 = ((ue_t0 || +new JSBNG__Date()));");
6565 geval("var ue_csm = window;\nue_csm.ue_hob = ((ue_csm.ue_hob || +new JSBNG__Date()));\n(function(d) {\n var a = {\n ec: 0,\n pec: 0,\n ts: 0,\n erl: [],\n mxe: 50,\n startTimer: function() {\n a.ts++;\n JSBNG__setInterval(function() {\n ((((d.ue && ((a.pec < a.ec)))) && d.uex(\"at\")));\n a.pec = a.ec;\n }, 10000);\n }\n };\n function c(e) {\n if (((a.ec > a.mxe))) {\n return;\n }\n ;\n ;\n a.ec++;\n if (d.ue_jserrv2) {\n e.pageURL = ((\"\" + ((window.JSBNG__location ? window.JSBNG__location.href : \"\"))));\n }\n ;\n ;\n a.erl.push(e);\n };\n;\n function b(h, g, e) {\n var f = {\n m: h,\n f: g,\n l: e,\n fromOnError: 1,\n args: arguments\n };\n d.ueLogError(f);\n return false;\n };\n;\n b.skipTrace = 1;\n c.skipTrace = 1;\n d.ueLogError = c;\n d.ue_err = a;\n window.JSBNG__onerror = b;\n})(ue_csm);\nue_csm.ue_hoe = +new JSBNG__Date();\nvar ue_id = \"0H7NC1MNEB4A52DXKGX7\", ue_sid = \"177-2724246-1767538\", ue_mid = \"ATVPDKIKX0DER\", ue_sn = \"www.amazon.com\", ue_url = \"/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742/ref=sr_1_1/uedata/unsticky/177-2724246-1767538/Detail/ntpoffrw\", ue_furl = \"fls-na.amazon.com\", ue_pr = 0, ue_navtiming = 1, ue_log_idx = 0, ue_log_f = 0, ue_fcsn = 1, ue_ctb0tf = 1, ue_fst = 0, ue_fna = 1, ue_swi = 1, ue_swm = 4, ue_onbful = 3, ue_jserrv2 = 3;\nif (!window.ue_csm) {\n var ue_csm = window;\n}\n;\n;\nue_csm.ue_hob = ((ue_csm.ue_hob || +new JSBNG__Date));\nfunction ue_viz() {\n (function(d, j, g) {\n var b, l, e, a, c = [\"\",\"moz\",\"ms\",\"o\",\"webkit\",], k = 0, f = 20, h = \"JSBNG__addEventListener\", i = \"JSBNG__attachEvent\";\n while ((((b = c.pop()) && !k))) {\n l = ((((b ? ((b + \"H\")) : \"h\")) + \"idden\"));\n if (k = ((typeof j[l] == \"boolean\"))) {\n e = ((b + \"visibilitychange\"));\n a = ((b + \"VisibilityState\"));\n }\n ;\n ;\n };\n ;\n function m(q) {\n if (((d.ue.viz.length < f))) {\n var p = q.type, n = q.originalEvent;\n if (!((((/^focus./.test(p) && n)) && ((((n.toElement || n.fromElement)) || n.relatedTarget))))) {\n var r = ((j[a] || ((((((p == \"JSBNG__blur\")) || ((p == \"focusout\")))) ? \"hidden\" : \"visible\")))), o = ((+new JSBNG__Date - d.ue.t0));\n d.ue.viz.push(((((r + \":\")) + o)));\n ((((((ue.iel && ((ue.iel.length > 0)))) && ((r == \"visible\")))) && uex(\"at\")));\n }\n ;\n ;\n }\n ;\n ;\n };\n ;\n m({\n });\n if (k) {\n j[h](e, m, 0);\n }\n ;\n ;\n })(ue_csm, JSBNG__document, window);\n};\n;\nue_csm.ue_hoe = +new JSBNG__Date;\nue_csm.ue_hob = ((ue_csm.ue_hob || +new JSBNG__Date()));\n(function(e, h) {\n e.ueinit = ((((e.ueinit || 0)) + 1));\n e.ue = {\n t0: ((h.aPageStart || e.ue_t0)),\n id: e.ue_id,\n url: e.ue_url,\n a: \"\",\n b: \"\",\n h: {\n },\n r: {\n ld: 0,\n oe: 0,\n ul: 0\n },\n s: 1,\n t: {\n },\n sc: {\n },\n iel: [],\n ielf: [],\n fc_idx: {\n },\n viz: [],\n v: 30\n };\n e.ue.tagC = function() {\n var j = [];\n return function(k) {\n if (k) {\n j.push(k);\n }\n ;\n ;\n return j.slice(0);\n };\n };\n e.ue.tag = e.ue.tagC();\n e.ue.ifr = ((((((h.JSBNG__top !== h.JSBNG__self)) || (h.JSBNG__frameElement))) ? 1 : 0));\n function c(l, o, q, n) {\n if (((e.ue_log_f && e.ue.log))) {\n e.ue.log({\n f: \"uet\",\n en: l,\n s: o,\n so: q,\n to: n\n }, \"csm\");\n }\n ;\n ;\n var p = ((n || (new JSBNG__Date()).getTime()));\n var j = ((!o && ((typeof q != \"undefined\"))));\n if (j) {\n return;\n }\n ;\n ;\n if (l) {\n var m = ((o ? ((d(\"t\", o) || d(\"t\", o, {\n }))) : e.ue.t));\n m[l] = p;\n {\n var fin0keys = ((window.top.JSBNG_Replay.forInKeys)((q))), fin0i = (0);\n var k;\n for (; (fin0i < fin0keys.length); (fin0i++)) {\n ((k) = (fin0keys[fin0i]));\n {\n d(k, o, q[k]);\n };\n };\n };\n ;\n }\n ;\n ;\n return p;\n };\n;\n function d(k, l, m) {\n if (((e.ue_log_f && e.ue.log))) {\n e.ue.log({\n f: \"ues\",\n k: k,\n s: l,\n v: m\n }, \"csm\");\n }\n ;\n ;\n var n, j;\n if (k) {\n n = j = e.ue;\n if (((l && ((l != n.id))))) {\n j = n.sc[l];\n if (!j) {\n j = {\n };\n ((m ? (n.sc[l] = j) : j));\n }\n ;\n ;\n }\n ;\n ;\n n = ((m ? (j[k] = m) : j[k]));\n }\n ;\n ;\n return n;\n };\n;\n function g(n, o, m, k, j) {\n if (((e.ue_log_f && e.ue.log))) {\n e.ue.log({\n f: \"ueh\",\n ek: n\n }, \"csm\");\n }\n ;\n ;\n var l = ((\"JSBNG__on\" + m));\n var p = o[l];\n if (((typeof (p) == \"function\"))) {\n if (n) {\n e.ue.h[n] = p;\n }\n ;\n ;\n }\n else {\n p = function() {\n \n };\n }\n ;\n ;\n o[l] = ((j ? ((window.top.JSBNG_Replay.push)((window.top.JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15), function(q) {\n k(q);\n p(q);\n })) : function(q) {\n p(q);\n k(q);\n }));\n o[l].isUeh = 1;\n };\n;\n function b(s, m, r) {\n if (((e.ue_log_f && e.ue.log))) {\n e.ue.log({\n f: \"uex\",\n en: s,\n s: m,\n so: r\n }, \"csm\");\n }\n ;\n ;\n function l(P, N) {\n var L = [P,], G = 0, M = {\n };\n if (N) {\n L.push(\"m=1\");\n M[N] = 1;\n }\n else {\n M = e.ue.sc;\n }\n ;\n ;\n var E;\n {\n var fin1keys = ((window.top.JSBNG_Replay.forInKeys)((M))), fin1i = (0);\n var F;\n for (; (fin1i < fin1keys.length); (fin1i++)) {\n ((F) = (fin1keys[fin1i]));\n {\n var H = d(\"wb\", F), K = ((d(\"t\", F) || {\n })), J = ((d(\"t0\", F) || e.ue.t0));\n if (((N || ((H == 2))))) {\n var O = ((H ? G++ : \"\"));\n L.push(((((((\"sc\" + O)) + \"=\")) + F)));\n {\n var fin2keys = ((window.top.JSBNG_Replay.forInKeys)((K))), fin2i = (0);\n var I;\n for (; (fin2i < fin2keys.length); (fin2i++)) {\n ((I) = (fin2keys[fin2i]));\n {\n if (((((I.length <= 3)) && K[I]))) {\n L.push(((((((I + O)) + \"=\")) + ((K[I] - J)))));\n }\n ;\n ;\n };\n };\n };\n ;\n L.push(((((((\"t\" + O)) + \"=\")) + K[s])));\n if (((d(\"ctb\", F) || d(\"wb\", F)))) {\n E = 1;\n }\n ;\n ;\n }\n ;\n ;\n };\n };\n };\n ;\n if (((!n && E))) {\n L.push(\"ctb=1\");\n }\n ;\n ;\n return L.join(\"&\");\n };\n ;\n function v(H, F, J, E) {\n if (!H) {\n return;\n }\n ;\n ;\n var I = new JSBNG__Image();\n var G = function() {\n if (!e.ue.b) {\n return;\n }\n ;\n ;\n var L = e.ue.b;\n e.ue.b = \"\";\n v(L, F, J, 1);\n };\n if (((e.ue.b && !e.ue_swi))) {\n I.JSBNG__onload = G;\n }\n ;\n ;\n var K = ((((((!E || !e.ue.log)) || !window.amznJQ)) || ((window.amznJQ && window.amznJQ.isMock))));\n if (K) {\n e.ue.iel.push(I);\n I.src = H;\n }\n ;\n ;\n if (((e.ue.log && ((((J || E)) || e.ue_ctb0tf))))) {\n e.ue.log(H, \"uedata\", {\n n: 1\n });\n e.ue.ielf.push(H);\n }\n ;\n ;\n if (((e.ue_err && !e.ue_err.ts))) {\n e.ue_err.startTimer();\n }\n ;\n ;\n if (e.ue_swi) {\n G();\n }\n ;\n ;\n };\n ;\n function B(E) {\n if (!ue.collected) {\n var G = E.timing;\n if (G) {\n e.ue.t.na_ = G.navigationStart;\n e.ue.t.ul_ = G.unloadEventStart;\n e.ue.t._ul = G.unloadEventEnd;\n e.ue.t.rd_ = G.redirectStart;\n e.ue.t._rd = G.redirectEnd;\n e.ue.t.fe_ = G.fetchStart;\n e.ue.t.lk_ = G.domainLookupStart;\n e.ue.t._lk = G.domainLookupEnd;\n e.ue.t.co_ = G.connectStart;\n e.ue.t._co = G.connectEnd;\n e.ue.t.sc_ = G.secureConnectionStart;\n e.ue.t.rq_ = G.requestStart;\n e.ue.t.rs_ = G.responseStart;\n e.ue.t._rs = G.responseEnd;\n e.ue.t.dl_ = G.domLoading;\n e.ue.t.di_ = G.domInteractive;\n e.ue.t.de_ = G.domContentLoadedEventStart;\n e.ue.t._de = G.domContentLoadedEventEnd;\n e.ue.t._dc = G.domComplete;\n e.ue.t.ld_ = G.loadEventStart;\n e.ue.t._ld = G.loadEventEnd;\n }\n ;\n ;\n var F = E.navigation;\n if (F) {\n e.ue.t.ty = ((F.type + e.ue.t0));\n e.ue.t.rc = ((F.redirectCount + e.ue.t0));\n if (e.ue.tag) {\n e.ue.tag(((F.redirectCount ? \"redirect\" : \"nonredirect\")));\n }\n ;\n ;\n }\n ;\n ;\n e.ue.collected = 1;\n }\n ;\n ;\n };\n ;\n var D = ((!m && ((typeof r != \"undefined\"))));\n if (D) {\n return;\n }\n ;\n ;\n {\n var fin3keys = ((window.top.JSBNG_Replay.forInKeys)((r))), fin3i = (0);\n var j;\n for (; (fin3i < fin3keys.length); (fin3i++)) {\n ((j) = (fin3keys[fin3i]));\n {\n d(j, m, r[j]);\n };\n };\n };\n ;\n c(\"pc\", m, r);\n var x = ((d(\"id\", m) || e.ue.id));\n var p = ((((((((((((e.ue.url + \"?\")) + s)) + \"&v=\")) + e.ue.v)) + \"&id=\")) + x));\n var n = ((d(\"ctb\", m) || d(\"wb\", m)));\n if (n) {\n p += ((\"&ctb=\" + n));\n }\n ;\n ;\n if (((e.ueinit > 1))) {\n p += ((\"&ic=\" + e.ueinit));\n }\n ;\n ;\n var A = ((h.JSBNG__performance || h.JSBNG__webkitPerformance));\n var y = e.ue.bfini;\n var q = ((((A && A.navigation)) && ((A.navigation.type == 2))));\n var o = ((((m && ((m != x)))) && d(\"ctb\", m)));\n if (!o) {\n if (((y && ((y > 1))))) {\n p += ((\"&bft=\" + ((y - 1))));\n p += \"&bfform=1\";\n }\n else {\n if (q) {\n p += \"&bft=1\";\n }\n ;\n ;\n }\n ;\n ;\n if (q) {\n p += \"&bfnt=1\";\n }\n ;\n ;\n }\n ;\n ;\n if (((((e.ue._fi && ((s == \"at\")))) && ((!m || ((m == x))))))) {\n p += e.ue._fi();\n }\n ;\n ;\n var k;\n if (((((((s == \"ld\")) || ((s == \"ul\")))) && ((!m || ((m == x))))))) {\n if (((s == \"ld\"))) {\n if (((h.JSBNG__onbeforeunload && h.JSBNG__onbeforeunload.isUeh))) {\n h.JSBNG__onbeforeunload = null;\n }\n ;\n ;\n ue.r.ul = e.ue_onbful;\n if (((e.ue_onbful == 3))) {\n ue.detach(\"beforeunload\", e.onUl);\n }\n ;\n ;\n if (((JSBNG__document.ue_backdetect && JSBNG__document.ue_backdetect.ue_back))) {\n JSBNG__document.ue_backdetect.ue_back.value++;\n }\n ;\n ;\n if (e._uess) {\n k = e._uess();\n }\n ;\n ;\n }\n ;\n ;\n if (((((e.ue_navtiming && A)) && A.timing))) {\n d(\"ctb\", x, \"1\");\n if (((e.ue_navtiming == 1))) {\n e.ue.t.tc = A.timing.navigationStart;\n }\n ;\n ;\n }\n ;\n ;\n if (A) {\n B(A);\n }\n ;\n ;\n if (((e.ue_hob && e.ue_hoe))) {\n e.ue.t.hob = e.ue_hob;\n e.ue.t.hoe = e.ue_hoe;\n }\n ;\n ;\n if (e.ue.ifr) {\n p += \"&ifr=1\";\n }\n ;\n ;\n }\n ;\n ;\n c(s, m, r);\n var w = ((((((s == \"ld\")) && m)) && d(\"wb\", m)));\n if (w) {\n d(\"wb\", m, 2);\n }\n ;\n ;\n var z = 1;\n {\n var fin4keys = ((window.top.JSBNG_Replay.forInKeys)((e.ue.sc))), fin4i = (0);\n var u;\n for (; (fin4i < fin4keys.length); (fin4i++)) {\n ((u) = (fin4keys[fin4i]));\n {\n if (((d(\"wb\", u) == 1))) {\n z = 0;\n break;\n }\n ;\n ;\n };\n };\n };\n ;\n if (w) {\n if (((!e.ue.s && ((e.ue_swi || ((z && !e.ue_swi))))))) {\n p = l(p, null);\n }\n else {\n return;\n }\n ;\n ;\n }\n else {\n if (((((z && !e.ue_swi)) || e.ue_swi))) {\n var C = l(p, null);\n if (((C != p))) {\n e.ue.b = C;\n }\n ;\n ;\n }\n ;\n ;\n if (k) {\n p += k;\n }\n ;\n ;\n p = l(p, ((m || e.ue.id)));\n }\n ;\n ;\n if (((e.ue.b || w))) {\n {\n var fin5keys = ((window.top.JSBNG_Replay.forInKeys)((e.ue.sc))), fin5i = (0);\n var u;\n for (; (fin5i < fin5keys.length); (fin5i++)) {\n ((u) = (fin5keys[fin5i]));\n {\n if (((d(\"wb\", u) == 2))) {\n delete e.ue.sc[u];\n }\n ;\n ;\n };\n };\n };\n ;\n }\n ;\n ;\n var t = 0;\n if (!w) {\n e.ue.s = 0;\n if (((e.ue_err && ((e.ue_err.ec > 0))))) {\n if (((e.ue_jserrv2 == 3))) {\n if (((e.ue_err.pec < e.ue_err.ec))) {\n e.ue_err.pec = e.ue_err.ec;\n p += ((\"&ec=\" + e.ue_err.ec));\n }\n ;\n ;\n }\n else {\n p += ((\"&ec=\" + e.ue_err.ec));\n }\n ;\n ;\n }\n ;\n ;\n t = d(\"ctb\", m);\n d(\"t\", m, {\n });\n }\n ;\n ;\n if (((!window.amznJQ && e.ue.tag))) {\n e.ue.tag(\"noAmznJQ\");\n }\n ;\n ;\n if (((((p && e.ue.tag)) && ((e.ue.tag().length > 0))))) {\n p += ((\"&csmtags=\" + e.ue.tag().join(\"|\")));\n e.ue.tag = e.ue.tagC();\n }\n ;\n ;\n if (((((p && e.ue.viz)) && ((e.ue.viz.length > 0))))) {\n p += ((\"&viz=\" + e.ue.viz.join(\"|\")));\n e.ue.viz = [];\n }\n ;\n ;\n e.ue.a = p;\n v(p, s, t, w);\n };\n;\n function a(j, k, l) {\n l = ((l || h));\n if (l.JSBNG__addEventListener) {\n l.JSBNG__addEventListener(j, k, false);\n }\n else {\n if (l.JSBNG__attachEvent) {\n l.JSBNG__attachEvent(((\"JSBNG__on\" + j)), k);\n }\n ;\n ;\n }\n ;\n ;\n };\n;\n ue.attach = a;\n function i(j, k, l) {\n l = ((l || h));\n if (l.JSBNG__removeEventListener) {\n l.JSBNG__removeEventListener(j, k);\n }\n else {\n if (l.JSBNG__detachEvent) {\n l.JSBNG__detachEvent(((\"JSBNG__on\" + j)), k);\n }\n ;\n ;\n }\n ;\n ;\n };\n;\n ue.detach = i;\n function f() {\n if (((e.ue_log_f && e.ue.log))) {\n e.ue.log({\n f: \"uei\"\n }, \"csm\");\n }\n ;\n ;\n var l = e.ue.r;\n function k(n) {\n return ((window.top.JSBNG_Replay.push)((window.top.JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_26), function() {\n if (!l[n]) {\n l[n] = 1;\n b(n);\n }\n ;\n ;\n }));\n };\n ;\n e.onLd = k(\"ld\");\n e.onLdEnd = k(\"ld\");\n e.onUl = k(\"ul\");\n var j = {\n beforeunload: e.onUl,\n JSBNG__stop: function() {\n b(\"os\");\n }\n };\n {\n var fin6keys = ((window.top.JSBNG_Replay.forInKeys)((j))), fin6i = (0);\n var m;\n for (; (fin6i < fin6keys.length); (fin6i++)) {\n ((m) = (fin6keys[fin6i]));\n {\n g(0, window, m, j[m]);\n };\n };\n };\n ;\n ((e.ue_viz && ue_viz()));\n ue.attach(\"load\", e.onLd);\n if (((e.ue_onbful == 3))) {\n ue.attach(\"beforeunload\", e.onUl);\n }\n ;\n ;\n e.ue._uep = function() {\n new JSBNG__Image().src = ((((e.ue_md ? e.ue_md : \"http://uedata.amazon.com/uedata/?tp=\")) + (+new JSBNG__Date)));\n };\n if (((e.ue_pr && ((((e.ue_pr == 2)) || ((e.ue_pr == 4))))))) {\n e.ue._uep();\n }\n ;\n ;\n c(\"ue\");\n };\n;\n ue.reset = function(k, j) {\n if (!k) {\n return;\n }\n ;\n ;\n ((e.ue_cel && e.ue_cel.reset()));\n e.ue.t0 = +new JSBNG__Date();\n e.ue.rid = k;\n e.ue.id = k;\n e.ue.fc_idx = {\n };\n e.ue.viz = [];\n };\n e.uei = f;\n e.ueh = g;\n e.ues = d;\n e.uet = c;\n e.uex = b;\n f();\n})(ue_csm, window);\nue_csm.ue_hoe = +new JSBNG__Date();\nue_csm.ue_hob = ((ue_csm.ue_hob || +new JSBNG__Date()));\n(function(b) {\n var a = b.ue;\n a.rid = b.ue_id;\n a.sid = b.ue_sid;\n a.mid = b.ue_mid;\n a.furl = b.ue_furl;\n a.sn = b.ue_sn;\n a.lr = [];\n a.log = function(e, d, c) {\n if (((a.lr.length == 500))) {\n return;\n }\n ;\n ;\n a.lr.push([\"l\",e,d,c,a.d(),a.rid,]);\n };\n a.d = function(c) {\n return ((+new JSBNG__Date - ((c ? 0 : a.t0))));\n };\n})(ue_csm);\nue_csm.ue_hoe = +new JSBNG__Date();");
6567 geval("var imaget0;\n(function() {\n var i = new JSBNG__Image;\n i.JSBNG__onload = ((window.top.JSBNG_Replay.push)((window.top.JSBNG_Replay.s7dc9638224cef078c874cd3fa975dc7b976952e8_1), function() {\n imaget0 = new JSBNG__Date().getTime();\n }));\n i.src = \"http://ecx.images-amazon.com/images/I/51gdVAEfPUL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg\";\n})();");
6569 fpc.call(JSBNG_Replay.s7dc9638224cef078c874cd3fa975dc7b976952e8_1[0], o3,o4);
6575 geval("var amznJQ, jQueryPatchIPadOffset = false;\n(function() {\n function f(x) {\n return function() {\n x.push(arguments);\n };\n };\n;\n function ch(y) {\n return String.fromCharCode(y);\n };\n;\n var a = [], c = [], cs = [], d = [], l = [], o = [], s = [], p = [], t = [];\n amznJQ = {\n _timesliceJS: false,\n _a: a,\n _c: c,\n _cs: cs,\n _d: d,\n _l: l,\n _o: o,\n _s: s,\n _pl: p,\n addLogical: f(l),\n addStyle: f(s),\n addPL: f(p),\n available: f(a),\n chars: {\n EOL: ch(10),\n SQUOTE: ch(39),\n DQUOTE: ch(34),\n BACKSLASH: ch(92),\n YEN: ch(165)\n },\n completedStage: f(cs),\n declareAvailable: f(d),\n onCompletion: f(c),\n onReady: f(o),\n strings: {\n }\n };\n}());");
6577 geval("function amz_js_PopWin(url, JSBNG__name, options) {\n var ContextWindow = window.open(url, JSBNG__name, options);\n ContextWindow.JSBNG__focus();\n return false;\n};\n;");
6579 geval("function showElement(id) {\n var elm = JSBNG__document.getElementById(id);\n if (elm) {\n elm.style.visibility = \"visible\";\n if (((elm.getAttribute(\"JSBNG__name\") == \"heroQuickPromoDiv\"))) {\n elm.style.display = \"block\";\n }\n ;\n ;\n }\n;\n;\n};\n;\nfunction hideElement(id) {\n var elm = JSBNG__document.getElementById(id);\n if (elm) {\n elm.style.visibility = \"hidden\";\n if (((elm.getAttribute(\"JSBNG__name\") == \"heroQuickPromoDiv\"))) {\n elm.style.display = \"none\";\n }\n ;\n ;\n }\n;\n;\n};\n;\nfunction showHideElement(h_id, div_id) {\n var hiddenTag = JSBNG__document.getElementById(h_id);\n if (hiddenTag) {\n showElement(div_id);\n }\n else {\n hideElement(div_id);\n }\n;\n;\n};\n;\nwindow.isBowserFeatureCleanup = 1;\nvar touchDeviceDetected = false;\nvar CSMReqs = {\n af: {\n c: 2,\n e: \"amznJQ.AboveTheFold\",\n p: \"atf\"\n },\n cf: {\n c: 2,\n e: \"amznJQ.criticalFeature\",\n p: \"cf\"\n }\n};\nfunction setCSMReq(a) {\n a = a.toLowerCase();\n var b = CSMReqs[a];\n if (((b && ((--b.c == 0))))) {\n if (((typeof uet == \"function\"))) {\n uet(a);\n }\n ;\n ;\n ;\n if (b.e) {\n amznJQ.completedStage(b.e);\n }\n ;\n ;\n ;\n if (((typeof P != \"undefined\"))) {\n P.register(b.p);\n }\n ;\n ;\n ;\n }\n;\n;\n};\n;");
6581 geval("var gbEnableTwisterJS = 0;\nvar isTwisterPage = 0;");
6583 geval("if (window.amznJQ) {\n amznJQ.addLogical(\"csm-base\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/csm-base/csm-base-min-2486485847._V1_.js\",]);\n amznJQ.available(\"csm-base\", function() {\n \n });\n}\n;\n;");
6585 geval("amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n amznJQ.available(\"navbarJS-jQuery\", function() {\n \n });\n amznJQ.available(\"finderFitsJS\", function() {\n \n });\n amznJQ.available(\"twister\", function() {\n \n });\n amznJQ.available(\"swfjs\", function() {\n \n });\n});");
6587 geval("(function(d) {\n var e = function(d) {\n function b(f, c, b) {\n f[b] = function() {\n a._replay.push(c.concat({\n m: b,\n a: [].slice.call(arguments)\n }));\n };\n };\n ;\n var a = {\n };\n a._sourceName = d;\n a._replay = [];\n a.getNow = function(a, b) {\n return b;\n };\n a.when = function() {\n var a = [{\n m: \"when\",\n a: [].slice.call(arguments)\n },], c = {\n };\n b(c, a, \"run\");\n b(c, a, \"declare\");\n b(c, a, \"publish\");\n b(c, a, \"build\");\n return c;\n };\n b(a, [], \"declare\");\n b(a, [], \"build\");\n b(a, [], \"publish\");\n b(a, [], \"importEvent\");\n e._shims.push(a);\n return a;\n };\n e._shims = [];\n if (!d.$Nav) {\n d.$Nav = e(\"rcx-nav\");\n }\n;\n;\n if (!d.$Nav.make) {\n d.$Nav.make = e;\n }\n;\n;\n})(window);\nwindow.$Nav.when(\"exposeSBD.enable\", \"img.horz\", \"img.vert\", \"img.spin\", \"$popover\", \"btf.full\").run(function(d, e, j, b) {\n function a(a) {\n switch (typeof a) {\n case \"boolean\":\n h = a;\n i = !0;\n break;\n case \"function\":\n g = a;\n c++;\n break;\n default:\n c++;\n };\n ;\n ((((i && ((c > 2)))) && g(h)));\n };\n;\n function f(a, b) {\n var c = new JSBNG__Image;\n if (b) {\n c.JSBNG__onload = b;\n }\n ;\n ;\n c.src = a;\n return c;\n };\n;\n var c = 0, g, h, i = !1;\n f(e, ((d && a)));\n f(j, ((d && a)));\n window.$Nav.declare(\"protectExposeSBD\", a);\n window.$Nav.declare(\"preloadSpinner\", function() {\n f(b);\n });\n});\n((window.amznJQ && amznJQ.available(\"navbarJS-beacon\", function() {\n\n})));\nwindow._navbarSpriteUrl = \"http://g-ecx.images-amazon.com/images/G/01/gno/beacon/BeaconSprite-US-01._V397411194_.png\";\n$Nav.importEvent(\"navbarJS-beacon\");\n$Nav.importEvent(\"NavAuiJS\");\n$Nav.declare(\"exposeSBD.enable\", false);\n$Nav.declare(\"img.spin\", \"http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/snake._V192571611_.gif\");\n$Nav.when(\"$\").run(function($) {\n var ie6 = (($.browser.msie && ((parseInt($.browser.version) <= 6))));\n $Nav.declare(\"img.horz\", ((ie6 ? \"http://g-ecx.images-amazon.com/images/G/01/gno/beacon/nav-pop-8bit-h._V155961234_.png\" : \"http://g-ecx.images-amazon.com/images/G/01/gno/beacon/nav-pop-h-v2._V137157005_.png\")));\n $Nav.declare(\"img.vert\", ((ie6 ? \"http://g-ecx.images-amazon.com/images/G/01/gno/beacon/nav-pop-8bit-v._V155961234_.png\" : \"http://g-ecx.images-amazon.com/images/G/01/gno/beacon/nav-pop-v-v2._V137157005_.png\")));\n});");
6589 geval("window.Navbar = function(options) {\n options = ((options || {\n }));\n this._loadedCount = 0;\n this._hasUedata = ((typeof uet == \"function\"));\n this._finishLoadQuota = ((options[\"finishLoadQuota\"] || 2));\n this._startedLoading = false;\n this._btfFlyoutContents = [];\n this._saFlyoutHorizOffset = -16;\n this._saMaskHorizOffset = -17;\n this._sbd_config = {\n major_delay: 300,\n minor_delay: 100,\n target_slop: 25\n };\n ((window.$Nav && $Nav.declare(\"config.sbd\", this._sbd_config)));\n this.addToBtfFlyoutContents = function(JSBNG__content, callback) {\n this._btfFlyoutContents.push({\n JSBNG__content: JSBNG__content,\n callback: callback\n });\n };\n this.getBtfFlyoutContents = function() {\n return this._btfFlyoutContents;\n };\n this.loading = function() {\n if (((!this._startedLoading && this._isReportingEvents()))) {\n uet(\"ns\");\n }\n ;\n ;\n this._startedLoading = true;\n };\n this.componentLoaded = function() {\n this._loadedCount++;\n if (((((this._startedLoading && this._isReportingEvents())) && ((this._loadedCount == this._finishLoadQuota))))) {\n uet(\"ne\");\n }\n ;\n ;\n };\n this._isReportingEvents = function() {\n return this._hasUedata;\n };\n this.browsepromos = {\n };\n this.issPromos = [];\n var le = {\n };\n this.logEv = function(d, o) {\n \n };\n ((window.$Nav && $Nav.declare(\"logEvent\", this.logEv)));\n};\nwindow._navbar = new Navbar({\n finishLoadQuota: 1\n});\n_navbar.loading();\n((window.$Nav && $Nav.declare(\"config.lightningDeals\", ((window._navbar._lightningDealsData || {\n})))));\n((window.$Nav && $Nav.declare(\"config.swmStyleData\", ((window._navbar._swmStyleData || {\n})))));\n_navbar._ajaxProximity = [141,7,60,150,];\n((window.$Nav && $Nav.declare(\"config.ajaxProximity\", window._navbar._ajaxProximity)));");
6591 geval("_navbar.dynamicMenuUrl = \"/gp/navigation/ajax/dynamicmenu.html\";\n((window.$Nav && $Nav.declare(\"config.dynamicMenuUrl\", _navbar.dynamicMenuUrl)));\n_navbar.dismissNotificationUrl = \"/gp/navigation/ajax/dismissnotification.html\";\n((window.$Nav && $Nav.declare(\"config.dismissNotificationUrl\", _navbar.dismissNotificationUrl)));\n_navbar.dynamicMenus = true;\n((window.$Nav && $Nav.declare(\"config.enableDynamicMenus\", true)));\n_navbar.recordEvUrl = \"/gp/navigation/ajax/recordevent.html\";\n_navbar.recordEvInterval = 60000;\n_navbar.sid = \"177-2724246-1767538\";\n_navbar.rid = \"0H7NC1MNEB4A52DXKGX7\";\n((window.$Nav && $Nav.declare(\"config.recordEvUrl\", _navbar.recordEvUrl)));\n((window.$Nav && $Nav.declare(\"config.recordEvInterval\", 60000)));\n((window.$Nav && $Nav.declare(\"config.sessionId\", _navbar.sid)));\n((window.$Nav && $Nav.declare(\"config.requestId\", _navbar.rid)));\n_navbar.readyOnATF = false;\n((window.$Nav && $Nav.declare(\"config.readyOnATF\", _navbar.readyOnATF)));\n_navbar.dynamicMenuArgs = {\n isPrime: 0,\n primeMenuWidth: 310\n};\n((window.$Nav && $Nav.declare(\"config.dynamicMenuArgs\", ((_navbar.dynamicMenuArgs || {\n})))));\n((window.$Nav && $Nav.declare(\"config.signOutText\", _navbar.signOutText)));\n((window.$Nav && $Nav.declare(\"config.yourAccountPrimeURL\", _navbar.yourAccountPrimer)));\nif (((window.amznJQ && amznJQ.available))) {\n amznJQ.available(\"jQuery\", function() {\n if (!jQuery.isArray) {\n jQuery.isArray = function(o) {\n return ((Object.prototype.toString.call(o) === \"[object Array]\"));\n };\n }\n ;\n ;\n });\n}\n;\n;\nif (((typeof uet == \"function\"))) {\n uet(\"bb\", \"iss-init-pc\", {\n wb: 1\n });\n}\n;\n;\nif (((!window.$SearchJS && window.$Nav))) {\n window.$SearchJS = $Nav.make();\n}\n;\n;\nif (window.$SearchJS) {\n var iss, issHost = \"completion.amazon.com/search/complete\", issMktid = \"1\", issSearchAliases = [\"aps\",\"stripbooks\",\"popular\",\"apparel\",\"electronics\",\"sporting\",\"garden\",\"videogames\",\"toys-and-games\",\"jewelry\",\"digital-text\",\"digital-music\",\"watches\",\"grocery\",\"hpc\",\"instant-video\",\"baby-products\",\"office-products\",\"software\",\"magazines\",\"tools\",\"automotive\",\"misc\",\"industrial\",\"mi\",\"pet-supplies\",\"digital-music-track\",\"digital-music-album\",\"mobile\",\"mobile-apps\",\"movies-tv\",\"music-artist\",\"music-album\",\"music-song\",\"stripbooks-spanish\",\"electronics-accessories\",\"photo\",\"audio-video\",\"computers\",\"furniture\",\"kitchen\",\"audiobooks\",\"beauty\",\"shoes\",\"arts-crafts\",\"appliances\",\"gift-cards\",\"pets\",\"outdoor\",\"lawngarden\",\"collectibles\",\"financial\",\"wine\",], updateISSCompletion = function() {\n iss.updateAutoCompletion();\n };\n $SearchJS.importEvent(\"search-js-autocomplete-lib\");\n $SearchJS.when(\"search-js-autocomplete-lib\").run(function() {\n $SearchJS.importEvent(\"search-csl\");\n $SearchJS.when(\"search-csl\").run(function(searchCSL) {\n if (!searchCSL) {\n searchCSL = jQuery.searchCSL;\n }\n ;\n ;\n searchCSL.init(\"Detail\", \"0H7NC1MNEB4A52DXKGX7\");\n var ctw = [function() {\n var searchSelect = jQuery(\"select.searchSelect\"), nodeRegEx = new RegExp(/node=\\d+/i);\n return function() {\n var currDropdownSel = searchSelect.children();\n return ((((currDropdownSel.attr(\"data-root-alias\") || nodeRegEx.test(currDropdownSel.attr(\"value\")))) ? \"16458\" : undefined));\n };\n }(),];\n iss = new AutoComplete({\n src: issHost,\n mkt: issMktid,\n aliases: issSearchAliases,\n fb: 1,\n dd: \"select.searchSelect\",\n dupElim: 0,\n deptText: \"in {department}\",\n sugText: \"Search suggestions\",\n sc: 1,\n ime: 0,\n imeEnh: 0,\n imeSpacing: 0,\n isNavInline: 1,\n iac: 0,\n scs: 0,\n np: 4,\n deepNodeISS: {\n searchAliasAccessor: function() {\n return ((((window.SearchPageAccess && window.SearchPageAccess.searchAlias())) || jQuery(\"select.searchSelect\").children().attr(\"data-root-alias\")));\n },\n showDeepNodeCorr: 1,\n stayInDeepNode: 0\n },\n doCTW: function(e) {\n for (var i = 0; ((i < ctw.length)); i++) {\n searchCSL.addWlt(((ctw[i].call ? ctw[i](e) : ctw[i])));\n };\n ;\n }\n });\n $SearchJS.publish(\"search-js-autocomplete\", iss);\n if (((((typeof uet == \"function\")) && ((typeof uex == \"function\"))))) {\n uet(\"be\", \"iss-init-pc\", {\n wb: 1\n });\n uex(\"ld\", \"iss-init-pc\", {\n wb: 1\n });\n }\n ;\n ;\n });\n });\n}\n;\n;\n((window.amznJQ && amznJQ.declareAvailable(\"navbarInline\")));\n((window.$Nav && $Nav.declare(\"nav.inline\")));\n((window.amznJQ && amznJQ.available(\"jQuery\", function() {\n amznJQ.available(\"navbarJS-beacon\", function() {\n \n });\n})));\n_navbar._endSpriteImage = new JSBNG__Image();\n_navbar._endSpriteImage.JSBNG__onload = ((window.top.JSBNG_Replay.push)((window.top.JSBNG_Replay.s23fdf1998fb4cb0dea31f7ff9caa5c49cd23230d_11), function() {\n _navbar.componentLoaded();\n}));\n_navbar._endSpriteImage.src = window._navbarSpriteUrl;\n((window.$Nav && $Nav.declare(\"config.autoFocus\", false)));\n((window.$Nav && $Nav.declare(\"config.responsiveGW\", !!window._navbar.responsivegw)));\n((window.$Nav && $Nav.when(\"$\", \"flyout.JSBNG__content\").run(function(jQuery) {\n jQuery(\"#nav_amabotandroid\").parent().html(\"Get CSG-Crazy Ball\\ufffdfree today\");\n})));\n_navbar.browsepromos[\"android\"] = {\n destination: \"/gp/product/ref=nav_sap_mas_13_07_10?ie=UTF8&ASIN=B00AVFO41K\",\n productTitle2: \"(List Price: $0.99)\",\n button: \"Learn more\",\n price: \"FREE\",\n productTitle: \"CSG-Crazy Ball - Power Match5\",\n headline: \"Free App of the Day\",\n image: \"http://ecx.images-amazon.com/images/I/71ws-s180zL._SS100_.png\"\n};\n_navbar.browsepromos[\"audible\"] = {\n width: 479,\n promoType: \"wide\",\n vertOffset: \"0\",\n horizOffset: \"-19\",\n height: 470,\n image: \"http://g-ecx.images-amazon.com/images/G/01/Audible/en_US/images/creative/amazon/beacon/ADBLECRE_2309_Beacon_Headphones_mystery_thehit._V382182717_.png\"\n};\n_navbar.browsepromos[\"automotive-industrial\"] = {\n width: 479,\n promoType: \"wide\",\n vertOffset: \"0\",\n horizOffset: \"0\",\n height: 472,\n image: \"http://g-ecx.images-amazon.com/images/G/01/BISS/stores/homepage/flyouts/julyGNO._V381261427_.png\"\n};\n_navbar.browsepromos[\"books\"] = {\n width: 495,\n promoType: \"wide\",\n vertOffset: \"0\",\n horizOffset: \"0\",\n height: 472,\n image: \"http://g-ecx.images-amazon.com/images/G/01/img13/books/flyout/books_botysf_flyout_kids-2._V380040471_.png\"\n};\n_navbar.browsepromos[\"clothing-shoes-jewelry\"] = {\n width: 460,\n promoType: \"wide\",\n vertOffset: \"0\",\n horizOffset: \"-20\",\n height: 472,\n image: \"http://g-ecx.images-amazon.com/images/G/01/AMAZON_FASHION/2013/GATEWAY/BTS1/FLYOUTS/FO_watch._V381438784_.png\"\n};\n_navbar.browsepromos[\"cloud-drive\"] = {\n width: 480,\n promoType: \"wide\",\n vertOffset: \"0\",\n horizOffset: \"0\",\n height: 472,\n image: \"http://g-ecx.images-amazon.com/images/G/01/digital/adrive/images/gno/iOs_GNO1._V385462964_.jpg\"\n};\n_navbar.browsepromos[\"digital-games-software\"] = {\n width: 518,\n promoType: \"wide\",\n vertOffset: \"0\",\n horizOffset: \"-19\",\n height: 472,\n image: \"http://g-ecx.images-amazon.com/images/G/01/img13/digital-video-games/flyout/0610-dvg-civ-flyout-b._V382016459_.png\"\n};\n_navbar.browsepromos[\"electronics-computers\"] = {\n width: 498,\n promoType: \"wide\",\n vertOffset: \"0\",\n horizOffset: \"0\",\n height: 228,\n image: \"http://g-ecx.images-amazon.com/images/G/01/img13/camera-photo/flyout/7-1_-confidential-canon_GNO._V379604226_.png\"\n};\n_navbar.browsepromos[\"grocery-health-beauty\"] = {\n width: 496,\n promoType: \"wide\",\n vertOffset: \"0\",\n horizOffset: \"0\",\n height: 471,\n image: \"http://g-ecx.images-amazon.com/images/G/01/img13/wine/flyout/0702_wine_international_flyout.v2._V379935612_.png\"\n};\n_navbar.browsepromos[\"home-garden-tools\"] = {\n width: 485,\n promoType: \"wide\",\n vertOffset: \"0\",\n horizOffset: \"0\",\n height: 270,\n image: \"http://g-ecx.images-amazon.com/images/G/01/img13/home/flyout/6-20_home-craft_flyout._V380709162_.png\"\n};\n_navbar.browsepromos[\"instant-video\"] = {\n width: 500,\n promoType: \"wide\",\n vertOffset: \"-10\",\n horizOffset: \"-20\",\n height: 495,\n image: \"http://g-ecx.images-amazon.com/images/G/01/digital/video/merch/UnderTheDome/AIV_GNO-Flyout_UTDPostLaunchV2._V381606810_.png\"\n};\n_navbar.browsepromos[\"kindle\"] = {\n width: 440,\n promoType: \"wide\",\n vertOffset: \"-35\",\n horizOffset: \"28\",\n height: 151,\n image: \"http://g-ecx.images-amazon.com/images/G/01/gno/beacon/merch/browse/gno-family-440x151._V389693769_.png\"\n};\n_navbar.browsepromos[\"movies-music-games\"] = {\n width: 524,\n promoType: \"wide\",\n vertOffset: \"-25\",\n horizOffset: \"-21\",\n height: 493,\n image: \"http://g-ecx.images-amazon.com/images/G/01/img13/movies-tv/flyout/0628b-bsf-movie-n-music-flyout._V380036698_.png\"\n};\n_navbar.browsepromos[\"mp3\"] = {\n width: 520,\n promoType: \"wide\",\n vertOffset: \"-20\",\n horizOffset: \"-21\",\n height: 492,\n image: \"http://g-ecx.images-amazon.com/images/G/01/digital/music/mp3/flyout/JayZ_Flyout_1._V380151426_.png\"\n};\n_navbar.browsepromos[\"sports-outdoors\"] = {\n width: 500,\n promoType: \"wide\",\n vertOffset: \"0\",\n horizOffset: \"-20\",\n height: 487,\n image: \"http://g-ecx.images-amazon.com/images/G/01/img13/sports-outdoors/flyout/sgfitness._V382533691_.png\"\n};\n_navbar.browsepromos[\"toys-kids-baby\"] = {\n width: 479,\n promoType: \"wide\",\n vertOffset: \"0\",\n horizOffset: \"0\",\n height: 395,\n image: \"http://g-ecx.images-amazon.com/images/G/01/img13/babyregistry/2013sweepstakes/flyout/baby_2013sweeps_flyout._V381448744_.jpg\"\n};\n((window.$Nav && $Nav.declare(\"config.browsePromos\", window._navbar.browsepromos)));\n((window.amznJQ && amznJQ.declareAvailable(\"navbarPromosContent\")));");
6593 geval("(function() {\n var availableWidth = ((((window.JSBNG__innerWidth || JSBNG__document.body.offsetWidth)) - 1));\n;\n var widths = [1280,];\n var imageHashMain = [\"http://ecx.images-amazon.com/images/I/51gdVAEfPUL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg\",\"http://ecx.images-amazon.com/images/I/51gdVAEfPUL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg\",];\n var imageObj = new JSBNG__Image();\n var sz = 0;\n for (; ((((sz < widths.length)) && ((availableWidth >= widths[sz])))); sz++) {\n ;\n };\n;\n imageObj.src = imageHashMain[sz];\n})();");
6595 geval("{\n function eb5b0288fed53e19b78c01671c79d54cc37dfd3b4(JSBNG__event) {\n ;\n if (((typeof measureATFDiff == \"function\"))) {\n measureATFDiff(new JSBNG__Date().getTime(), 0);\n }\n ;\n ;\n ;\n if (((typeof setCSMReq == \"function\"))) {\n setCSMReq(\"af\");\n setCSMReq(\"cf\");\n }\n else if (((typeof uet == \"function\"))) {\n uet(\"af\");\n uet(\"cf\");\n amznJQ.completedStage(\"amznJQ.AboveTheFold\");\n }\n \n ;\n ;\n };\n ((window.top.JSBNG_Replay.s27f27cc0a8f393a5b2b9cfab146b0487a0fed46c_0.push)((eb5b0288fed53e19b78c01671c79d54cc37dfd3b4)));\n};\n;");
6597 geval("function e1b0b12fdb1fc60d25216fb2a57f235684e7754b6(JSBNG__event) {\n return false;\n};\n;");
6599 geval("var colorImages = {\n initial: [{\n large: \"http://ecx.images-amazon.com/images/I/51gdVAEfPUL.jpg\",\n landing: [\"http://ecx.images-amazon.com/images/I/51gdVAEfPUL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg\",],\n hiRes: \"http://ecx.images-amazon.com/images/I/814biaGJWaL._SL1500_.jpg\",\n thumb: \"http://ecx.images-amazon.com/images/I/51gdVAEfPUL._SS30_.jpg\",\n main: [\"http://ecx.images-amazon.com/images/I/51gdVAEfPUL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg\",\"http://ecx.images-amazon.com/images/I/51gdVAEfPUL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg\",]\n },]\n};\n(function(doc) {\n var mi = doc.getElementById(\"main-image\");\n var w = ((window.JSBNG__innerWidth || doc.body.offsetWidth));\n w--;\n var widths = [1280,];\n var sz = 0;\n for (; ((((sz < 1)) && ((w >= widths[sz])))); sz++) {\n ;\n };\n;\n if (((sz || 1))) {\n var miw = doc.getElementById(\"main-image-widget\");\n miw.className = miw.className.replace(/size[0-9]+/, ((\"size\" + sz)));\n if (((sz && 1))) {\n mi.width = 300;\n mi.height = 300;\n }\n else if (((!sz && 1))) {\n mi.width = 300;\n mi.height = 300;\n }\n \n ;\n ;\n amznJQ.onCompletion(\"amznJQ.AboveTheFold\", function() {\n var src = colorImages.initial[0].main[sz];\n var img = new JSBNG__Image();\n img.JSBNG__onload = function() {\n var clone = mi.cloneNode(true);\n clone.src = src;\n clone.removeAttribute(\"width\");\n clone.removeAttribute(\"height\");\n clone.removeAttribute(\"JSBNG__onload\");\n mi.parentNode.replaceChild(clone, mi);\n mi = clone;\n amznJQ.declareAvailable(\"ImageBlockATF\");\n };\n img.src = src;\n });\n }\n else {\n amznJQ.declareAvailable(\"ImageBlockATF\");\n }\n;\n;\n mi.style.display = \"inline\";\n})(JSBNG__document);");
6601 geval("function e27971e3cd30981ac73b4f7a29f45a807ff5ee736(JSBNG__event) {\n if (((typeof (SitbReader) != \"undefined\"))) {\n SitbReader.LightboxActions.openReader(\"sib_dp_ptu\");\n return false;\n }\n;\n;\n};\n;");
6603 geval("var legacyOnSelectedQuantityChange = function() {\n if (((jQuery(\"#pricePlusShippingQty\").length > 0))) {\n jQuery.ajax({\n url: \"/gp/product/du/quantity-sip-update.html\",\n data: {\n qt: jQuery(\"#quantityDropdownDiv select\").val(),\n a: jQuery(\"#ASIN\").val(),\n me: jQuery(\"#merchantID\").val()\n },\n dataType: \"html\",\n success: function(sipHtml) {\n jQuery(\"#pricePlusShippingQty\").html(sipHtml);\n }\n });\n }\n;\n;\n};\namznJQ.onReady(\"jQuery\", function() {\n jQuery(\"#quantityDropdownDiv select\").change(legacyOnSelectedQuantityChange);\n amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n amznJQ.available(\"quantityDropDownJS\", function() {\n var qdd = new jQuery.fn.quantityDropDown();\n qdd.setPopoverContent(\"\\u003Cstrong\\u003EWe're sorry. This item is limited to %d per customer.\\u003C/strong\\u003E\", \"\\u003Cbr /\\u003E\\u003Cbr /\\u003EWe strive to provide customers with great prices, and sometimes that means we limit quantity to ensure that the majority of customers have an opportunity to order products that have very low prices or a limited supply.\\u003Cbr /\\u003E\\u003Cbr /\\u003EWe may also adjust quantity in checkout if you have recently purchased this item.\");\n });\n });\n});");
6605 geval("amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n amznJQ.available(\"bbopCheckBoxJS\", function() {\n var bbopJS = new jQuery.fn.bbopCheckBox();\n bbopJS.initialize(1, 0, \"To get FREE Two-Day Shipping on this item, proceed to checkout using "Add to Cart"\");\n });\n});");
6607 geval("var gbSecure1Click = true;\nif (((((typeof (gbSecure1Click) != \"undefined\")) && gbSecure1Click))) {\n amznJQ.onReady(\"jQuery\", function() {\n jQuery(\"#oneClickBuyButton\").click(function() {\n var hbbAction = jQuery(\"#handleBuy\").attr(\"action\").replace(\"http:\", \"https:\");\n jQuery(\"#handleBuy\").attr(\"action\", hbbAction);\n return true;\n });\n });\n}\n;\n;");
6609 geval("if (window.gbvar) {\n amznJQ.onReady(\"jQuery\", function() {\n jQuery(\"#oneClickSignInLinkID\").attr(\"href\", window.gbvar);\n });\n}\n else {\n window.gbvar = \"http://jsbngssl.www.amazon.com/gp/product/utility/edit-one-click-pref.html?ie=UTF8&query=selectObb%3Dnew&returnPath=%2Fgp%2Fproduct%2F0596517742\";\n}\n;\n;");
6611 geval("if (window.gbvar) {\n amznJQ.onReady(\"jQuery\", function() {\n jQuery(\"#oneClickSignInLinkID\").attr(\"href\", window.gbvar);\n });\n}\n else {\n window.gbvar = \"http://jsbngssl.www.amazon.com/gp/product/utility/edit-one-click-pref.html?ie=UTF8&query=selectObb%3Dnew&returnPath=%2Fgp%2Fproduct%2F0596517742\";\n}\n;\n;");
6613 geval("amznJQ.onReady(\"jQuery\", function() {\n if (((((((typeof dpLdWidget !== \"undefined\")) && ((typeof dpLdWidget.deal !== \"undefined\")))) && ((typeof dpLdWidget.deal.asins !== \"undefined\"))))) {\n var dealPriceText;\n if (((((((typeof Deal !== \"undefined\")) && ((typeof Deal.Price !== \"undefined\")))) && ((typeof dpLdWidget.deal.asins[0] !== \"undefined\"))))) {\n var dp = dpLdWidget.deal.asins[0].dealPrice;\n if (((dp.price > 396))) {\n dealPriceText = Deal.Price.format(dp);\n jQuery(\"#rbb_bb_trigger .bb_price, #rentalPriceBlockGrid .buyNewOffers .rentPrice\").html(dealPriceText);\n }\n ;\n ;\n }\n ;\n ;\n }\n;\n;\n jQuery(\"#rbbContainer .rbb_section .rbb_header\").click(function(e) {\n var target = jQuery(e.target);\n if (!target.hasClass(\"rbb_header\")) {\n target.parents(\".rbbHeaderLink\").attr(\"href\", \"javascript:void(0);\");\n }\n ;\n ;\n var t = jQuery(this);\n var header = ((t.hasClass(\"rbb_header\") ? t : t.parents(\".rbb_header\")));\n if (header.parents(\".rbb_section\").hasClass(\"selected\")) {\n return false;\n }\n ;\n ;\n jQuery(\"#radiobuyboxDivId .bb_radio\").attr(\"checked\", false);\n header.JSBNG__find(\".bb_radio\").attr(\"checked\", \"checked\");\n header.parents(\".rbb_section\").removeClass(\"unselected\").addClass(\"selected\");\n jQuery(\"#radiobuyboxDivId .abbListInput\").attr(\"checked\", false);\n var bbClicked = jQuery(this).attr(\"id\");\n var slideMeDown, slideMeUp;\n jQuery(\"#radiobuyboxDivId .rbb_section\").each(function(i, bb) {\n if (((jQuery(bb).JSBNG__find(\".rbb_header\")[0].id == bbClicked))) {\n slideMeDown = jQuery(bb);\n }\n else if (jQuery(bb).hasClass(\"selected\")) {\n slideMeUp = jQuery(bb);\n }\n \n ;\n ;\n });\n slideMeUp.JSBNG__find(\".rbb_content\").slideUp(500, function() {\n slideMeUp.removeClass(\"selected\").addClass(\"unselected\");\n });\n slideMeDown.JSBNG__find(\".rbb_content\").slideDown(500);\n JSBNG__location.hash = ((\"#selectedObb=\" + header.attr(\"id\")));\n return true;\n });\n var locationHash = JSBNG__location.hash;\n if (((locationHash.length != 0))) {\n var selectObb = locationHash.substring(1).split(\"=\")[1];\n if (((typeof (selectObb) != \"undefined\"))) {\n var target = jQuery(((\"#\" + selectObb)));\n if (((target.length != 0))) {\n target.trigger(\"click\");\n }\n ;\n ;\n }\n ;\n ;\n }\n;\n;\n});");
6615 geval("function e40e2390f309411d63c2525776d94fb018097f85d(JSBNG__event) {\n return false;\n};\n;");
6617 geval("if (((typeof window.amznJQ != \"undefined\"))) {\n amznJQ.onReady(\"popover\", function() {\n jQuery(\"#tradeinBuyboxLearnMore\").amazonPopoverTrigger({\n closeText: \"Close\",\n width: 580,\n group: \"tradein\",\n destination: \"/gp/tradein/popovers/ajax-popover.html?ie=UTF8&name=howToTradeIn\",\n title: \"How to Trade In\"\n });\n });\n}\n;\n;");
6619 geval("function ef0bc3f377e3062d28aea1830ace34858ce86ac6f(JSBNG__event) {\n window.open(this.href, \"_blank\", \"location=yes,width=700,height=400\");\n return false;\n};\n;");
6621 geval("function e5bb5de6867a5183a9c9c1ae1653a4ce8f4690a3e(JSBNG__event) {\n window.open(this.href, \"_blank\", \"location=yes,width=700,height=400\");\n return false;\n};\n;");
6623 geval("function ed3072d3211730d66e3218a94559112058c7c5fc3(JSBNG__event) {\n window.open(this.href, \"_blank\", \"location=yes,width=700,height=570\");\n return false;\n};\n;");
6625 geval("if (((typeof window.amznJQ != \"undefined\"))) {\n amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n amznJQ.available(\"share-with-friends-js-new\", function() {\n var popoverParams = {\n url: \"/gp/pdp/taf/dpPop.html/ref=cm_sw_p_view_dp_zsA3rb07CME45?ie=UTF8&contentID=0596517742&contentName=item&contentType=asin&contentURI=%2Fdp%2F0596517742&emailCaptionStrID=&emailCustomMsgStrID=&emailDescStrID=&emailSubjectStrID=&emailTemplate=%2Fgp%2Fpdp%2Fcommon%2Femail%2Fshare-product&forceSprites=1&id=0596517742&imageURL=&isDynamicSWF=0&isEmail=0&learnMoreButton=&merchantID=&parentASIN=0596517742&placementID=dp_zsA3rb07CME45&ra=taf&referer=http%253A%252F%252Fwww.amazon.com%252Fgp%252Fproduct%252F0596517742%252Fref%253D&relatedAccounts=amazondeals%2Camazonmp3&suppressPurchaseReqLogin=&titleText=&tt=sh&viaAccount=amazon\",\n title: \"Share this item via Email\",\n closeText: \"Close\",\n isCompact: false\n };\n amz_taf_triggers.swftext = popoverParams;\n amz_taf_generatePopover(\"swftext\", false);\n });\n });\n}\n;\n;");
6627 geval("amznJQ.onReady(\"bylinePopover\", function() {\n\n});");
6629 geval("function acrPopoverHover(e, h) {\n if (h) {\n window.acrAsinHover = e;\n }\n else {\n if (((window.acrAsinHover == e))) {\n window.acrAsinHover = null;\n }\n ;\n }\n;\n;\n};\n;\namznJQ.onReady(\"popover\", function() {\n (function($) {\n if ($.fn.acrPopover) {\n return;\n }\n ;\n ;\n var popoverConfig = {\n showOnHover: true,\n showCloseButton: true,\n width: null,\n JSBNG__location: \"bottom\",\n locationAlign: \"left\",\n locationOffset: [-20,0,],\n paddingLeft: 15,\n paddingBottom: 5,\n paddingRight: 15,\n group: \"reviewsPopover\",\n clone: false,\n hoverHideDelay: 300\n };\n $.fn.acrPopover = function() {\n return this.each(function() {\n var $this = $(this);\n if (!$this.data(\"init\")) {\n $this.data(\"init\", 1);\n var getargs = $this.attr(\"getargs\");\n var ajaxURL = ((((((((((((((\"/gp/customer-reviews/common/du/displayHistoPopAjax.html?\" + \"&ASIN=\")) + $this.attr(\"JSBNG__name\"))) + \"&link=1\")) + \"&seeall=1\")) + \"&ref=\")) + $this.attr(\"ref\"))) + ((((typeof getargs != \"undefined\")) ? ((\"&getargs=\" + getargs)) : \"\"))));\n var myConfig = $.extend(true, {\n destination: ajaxURL\n }, popoverConfig);\n $this.amazonPopoverTrigger(myConfig);\n var w = window.acrAsinHover;\n if (((w && (($(w).parents(\".asinReviewsSummary\").get(0) == this))))) {\n $this.trigger(\"mouseover.amzPopover\");\n window.acrAsinHover = null;\n }\n ;\n ;\n }\n ;\n ;\n });\n };\n window.reviewHistPopoverConfig = popoverConfig;\n var jqInit = window.jQueryInitHistoPopovers = function(asin) {\n $(((((\".acr-popover[name=\" + asin)) + \"]\"))).acrPopover();\n };\n window.doInit_average_customer_reviews = jqInit;\n window.onAjaxUpdate_average_customer_reviews = jqInit;\n window.onCacheUpdate_average_customer_reviews = jqInit;\n window.onCacheUpdateReselect_average_customer_reviews = jqInit;\n amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n JSBNG__setTimeout(function() {\n amznJQ.declareAvailable(\"acrPopover\");\n }, 10);\n });\n })(jQuery);\n});\namznJQ.onReady(\"acrPopover\", function() {\n jQuery(\".acr-popover,#searchTemplate .asinReviewsSummary\").each(function() {\n jQuery(this).acrPopover();\n });\n});");
6631 geval("function e309f5704ece5ede498eae0765fc393089a6f15b8(JSBNG__event) {\n return acrPopoverHover(this, 1);\n};\n;");
6633 geval("function e862d63609207995e41de44e35ff14438231ac3f8(JSBNG__event) {\n return acrPopoverHover(this, 0);\n};\n;");
6635 geval("function e11c2cb1228b6dff9a9c26fb3c364431f848f7d47(JSBNG__event) {\n return acrPopoverHover(this, 1);\n};\n;");
6637 geval("function ee8a3b466a70108a3c86e2ea062737613424a1731(JSBNG__event) {\n return acrPopoverHover(this, 0);\n};\n;");
6639 geval("function ec9c5454880b85f6a43d3989ede361337cd78b89a(JSBNG__event) {\n return amz_js_PopWin(\"/gp/help/customer/display.html/ref=mk_sss_dp_1?ie=UTF8&nodeId=527692&pop-up=1\", \"AmazonHelp\", \"width=550,height=550,resizable=1,scrollbars=1,toolbar=0,status=0\");\n};\n;");
6641 geval("amznJQ.declareAvailable(\"gbPriceBlockFields\");");
6643 geval("var ftCountdownElementIDs = new Array();\nvar ftEntireMessageElementIDs = new Array();\nvar FT_CurrentDisplayMin = new Array();\nvar clientServerTimeDrift;\nvar firstTimeUpdate = false;\nfunction ftRegisterCountdownElementID(elementID) {\n ftCountdownElementIDs[ftCountdownElementIDs.length] = elementID;\n};\n;\nfunction ftRegisterEntireMessageElementID(elementID) {\n ftEntireMessageElementIDs[ftEntireMessageElementIDs.length] = elementID;\n};\n;\nfunction getTimeRemainingString(hours, minutes) {\n var hourString = ((((hours == 1)) ? \"hr\" : \"hrs\"));\n var minuteString = ((((minutes == 1)) ? \"min\" : \"mins\"));\n if (((hours == 0))) {\n return ((((minutes + \" \")) + minuteString));\n }\n;\n;\n if (((minutes == 0))) {\n return ((((hours + \" \")) + hourString));\n }\n;\n;\n return ((((((((((((hours + \" \")) + hourString)) + \" \")) + minutes)) + \" \")) + minuteString));\n return ((((((((((((hours + \" \")) + hourString)) + \" \")) + minutes)) + \" \")) + minuteString));\n};\n;\nfunction FT_displayCountdown(forceUpdate) {\n if (((((!JSBNG__document.layers && !JSBNG__document.all)) && !JSBNG__document.getElementById))) {\n return;\n }\n;\n;\n FT_showHtmlElement(\"ftShipString\", true, \"inline\");\n var FT_remainSeconds = ((FT_givenSeconds - FT_actualSeconds));\n if (((FT_remainSeconds < 1))) {\n FT_showEntireMessageElement(false);\n }\n;\n;\n var FT_secondsPerDay = ((((24 * 60)) * 60));\n var FT_daysLong = ((FT_remainSeconds / FT_secondsPerDay));\n var FT_days = Math.floor(FT_daysLong);\n var FT_hoursLong = ((((FT_daysLong - FT_days)) * 24));\n var FT_hours = Math.floor(FT_hoursLong);\n var FT_minsLong = ((((FT_hoursLong - FT_hours)) * 60));\n var FT_mins = Math.floor(FT_minsLong);\n var FT_secsLong = ((((FT_minsLong - FT_mins)) * 60));\n var FT_secs = Math.floor(FT_secsLong);\n if (((FT_days > 0))) {\n FT_hours = ((((FT_days * 24)) + FT_hours));\n }\n;\n;\n window.JSBNG__setTimeout(\"FT_getTime()\", 1000);\n var ftCountdown = getTimeRemainingString(FT_hours, FT_mins);\n for (var i = 0; ((i < ftCountdownElementIDs.length)); i++) {\n var countdownElement = JSBNG__document.getElementById(ftCountdownElementIDs[i]);\n if (countdownElement) {\n if (((((((((FT_CurrentDisplayMin[i] != FT_mins)) || forceUpdate)) || ((countdownElement.innerHTML == \"\")))) || firstTimeUpdate))) {\n countdownElement.innerHTML = ftCountdown;\n FT_CurrentDisplayMin[i] = FT_mins;\n firstTimeUpdate = false;\n }\n ;\n ;\n }\n ;\n ;\n };\n;\n};\n;\nfunction FT_showEntireMessageElement(shouldShow) {\n for (var i = 0; ((i < ftEntireMessageElementIDs.length)); i++) {\n FT_showHtmlElement(ftEntireMessageElementIDs[i], shouldShow);\n };\n;\n};\n;\nfunction FT_showHtmlElement(elementID, shouldShow, displayStyle) {\n var element = JSBNG__document.getElementById(elementID);\n if (element) {\n if (shouldShow) {\n element.style.display = ((((displayStyle != null)) ? displayStyle : \"\"));\n }\n else {\n element.style.display = \"none\";\n }\n ;\n ;\n }\n;\n;\n};\n;\nfunction FT_getAndClearCutOffEpochSeconds() {\n var ftCutOffEpochSecondsElementID = \"ftCutOffEpochSeconds\";\n var ftServerCurrentEpochSecondsElementID = \"ftServerCurrentEpochSeconds\";\n if (((((JSBNG__document.layers || JSBNG__document.all)) || JSBNG__document.getElementById))) {\n if (JSBNG__document.getElementById(ftCutOffEpochSecondsElementID)) {\n var cutOffEpochSeconds = JSBNG__document.getElementById(ftCutOffEpochSecondsElementID).innerHTML;\n if (((cutOffEpochSeconds != \"\"))) {\n JSBNG__document.getElementById(ftCutOffEpochSecondsElementID).innerHTML = \"\";\n if (((((clientServerTimeDrift == null)) && JSBNG__document.getElementById(ftServerCurrentEpochSecondsElementID)))) {\n var serverCurrentEpochSeconds = ((JSBNG__document.getElementById(ftServerCurrentEpochSecondsElementID).innerHTML * 1));\n clientServerTimeDrift = ((((new JSBNG__Date().getTime() / 1000)) - serverCurrentEpochSeconds));\n }\n ;\n ;\n return ((((((clientServerTimeDrift == null)) ? 0 : clientServerTimeDrift)) + ((cutOffEpochSeconds * 1))));\n }\n ;\n ;\n }\n ;\n ;\n }\n;\n;\n return 0;\n};\n;\nfunction FT_getCountdown(secondsLeft) {\n var FT_currentTime = new JSBNG__Date();\n var FT_currentHours = FT_currentTime.getHours();\n var FT_currentMins = FT_currentTime.getMinutes();\n var FT_currentSecs = FT_currentTime.getSeconds();\n FT_givenSeconds = ((((((FT_currentHours * 3600)) + ((FT_currentMins * 60)))) + FT_currentSecs));\n var FT_secondsFromCat = 17111;\n if (((secondsLeft != null))) {\n FT_secondsFromCat = secondsLeft;\n }\n;\n;\n FT_givenSeconds += FT_secondsFromCat;\n FT_getTime();\n};\n;\n{\n function FT_getTime() {\n var FT_newCurrentTime = new JSBNG__Date();\n var FT_actualHours = FT_newCurrentTime.getHours();\n var FT_actualMins = FT_newCurrentTime.getMinutes();\n var FT_actualSecs = FT_newCurrentTime.getSeconds();\n FT_actualSeconds = ((((((FT_actualHours * 3600)) + ((FT_actualMins * 60)))) + FT_actualSecs));\n var cutOffTimeFromPageElement = FT_getAndClearCutOffEpochSeconds();\n if (cutOffTimeFromPageElement) {\n var countDownSeconds = ((cutOffTimeFromPageElement - ((FT_newCurrentTime.getTime() / 1000))));\n if (((countDownSeconds >= 1))) {\n FT_showEntireMessageElement(true);\n }\n ;\n ;\n FT_givenSeconds = ((countDownSeconds + FT_actualSeconds));\n }\n ;\n ;\n FT_displayCountdown();\n };\n ((window.top.JSBNG_Replay.sfbdb2900fa18bccd81cab55c766ea737c1109ca0_8.push)((FT_getTime)));\n};\n;\nfunction onAjaxUpdate_fast_track(asin) {\n var timerDiv = JSBNG__document.getElementById(\"ftMessageTimer\");\n var cutOffElems = JSBNG__document.getElementsByName(((\"promise-cutoff-time.\" + asin)));\n if (((((cutOffElems == null)) || ((cutOffElems.length == 0))))) {\n return;\n }\n;\n;\n if (((timerDiv && timerDiv.style))) {\n timerDiv.style.display = \"inline\";\n }\n;\n;\n var cutOffTimeVal = cutOffElems[0].value;\n var cutOffTime = parseInt(cutOffTimeVal);\n var currSecs = ((new JSBNG__Date().getTime() / 1000));\n var secsLeft = ((cutOffTime - currSecs));\n FT_getCountdown(secsLeft);\n};\n;\nFT_getCountdown();");
6645 geval("ftRegisterCountdownElementID(\"ftCountdown\");\nftRegisterEntireMessageElementID(\"ftMessage\");");
6647 geval("function e8240ace95e3e898320cc7b14b73b46573dfc7dc6(JSBNG__event) {\n return amz_js_PopWin(\"/gp/help/customer/display.html/ref=ftinfo_dp_?ie=UTF8&nodeId=3510241&pop-up=1\", \"AmazonHelp\", \"width=550,height=600,resizable=1,scrollbars=1,toolbar=1,status=1\");\n};\n;");
6649 geval("var timerDiv = JSBNG__document.getElementById(\"ftMessageTimer\");\nif (((timerDiv && timerDiv.style))) {\n timerDiv.style.display = \"inline\";\n}\n;\n;");
6651 geval("if (((typeof measureATFDiff == \"function\"))) {\n measureATFDiff(0, new JSBNG__Date().getTime());\n}\n;\n;\n;\nif (((typeof setCSMReq == \"function\"))) {\n setCSMReq(\"af\");\n}\n else if (((typeof uet == \"function\"))) {\n uet(\"af\");\n}\n\n;\n;");
6653 geval("function e7644587aa18f1f011e5cb2af1a2ba28711e4f5ba(JSBNG__event) {\n javascript:\n Vellum.h();\n};\n;");
6655 geval("function e6596c5154f3368bd1eb7b54e55062297d8dac231(JSBNG__event) {\n javascript:\n Vellum.h();\n};\n;");
6657 geval("amznJQ.available(\"jQuery\", function() {\n window.sitbWeblab = \"\";\n if (((typeof (Vellum) == \"undefined\"))) {\n Vellum = {\n js: \"http://z-ecx.images-amazon.com/images/G/01/digital/sitb/reader/v4/201305301526/en_US/sitb-library-js._V383092699_.js\",\n sj: \"/gp/search-inside/js?locale=en_US&version=201305301526\",\n css: \"http://z-ecx.images-amazon.com/images/G/01/digital/sitb/reader/v4/201305301526/en_US/sitb-library-css._V383092698_.css\",\n pl: function() {\n Vellum.lj(Vellum.js, Vellum.sj, Vellum.css);\n },\n lj: function(u, u2, uc) {\n if (window.vellumLjDone) {\n return;\n }\n ;\n ;\n window.vellumLjDone = true;\n var d = JSBNG__document;\n var s = d.createElement(\"link\");\n s.type = \"text/css\";\n s.rel = \"stylesheet\";\n s.href = uc;\n d.getElementsByTagName(\"head\")[0].appendChild(s);\n s = d.createElement(\"script\");\n s.type = \"text/javascript\";\n s.src = u2;\n d.getElementsByTagName(\"head\")[0].appendChild(s);\n },\n lj2: function(u) {\n var d = JSBNG__document;\n var s = d.createElement(\"script\");\n s.type = \"text/javascript\";\n s.src = u;\n d.getElementsByTagName(\"head\")[0].appendChild(s);\n },\n go: function() {\n sitbLodStart = new JSBNG__Date().getTime();\n jQuery(\"body\").css(\"overflow\", \"hidden\");\n var jqw = jQuery(window);\n var h = jqw.height();\n var w = jqw.width();\n var st = jqw.scrollTop();\n jQuery(\"#vellumShade\").css({\n JSBNG__top: st,\n height: h,\n width: w\n }).show();\n var vli = jQuery(\"#vellumLdgIco\");\n var nl = ((((w / 2)) - ((vli.width() / 2))));\n var nt = ((((st + ((h / 2)))) - ((vli.height() / 2))));\n vli.css({\n left: nl,\n JSBNG__top: nt\n }).show();\n JSBNG__setTimeout(\"Vellum.x()\", 20000);\n Vellum.pl();\n },\n x: function() {\n jQuery(\"#vellumMsgTxt\").html(\"An error occurred while trying to show this book.\");\n jQuery(\"#vellumMsgHdr\").html(\"Server Timeout\");\n jQuery(\"#vellumMsg\").show();\n var reftagImage = new JSBNG__Image();\n reftagImage.src = \"/gp/search-inside/reftag/ref=rdr_bar_jsto\";\n },\n h: function() {\n jQuery(\"#vellumMsg\").hide();\n jQuery(\"#vellumShade\").hide();\n jQuery(\"#vellumLdgIco\").hide();\n jQuery(\"body\").css(\"overflow\", \"auto\");\n },\n cf: function(a) {\n return function() {\n v.mt = a;\n v.rg = Array.prototype.slice.call(arguments);\n v.go();\n };\n },\n c: function(a) {\n var v = Vellum;\n v.mt = \"c\";\n v.rg = [a,];\n v.pl();\n }\n };\n var f = \"opqr\".split(\"\");\n {\n var fin7keys = ((window.top.JSBNG_Replay.forInKeys)((f))), fin7i = (0);\n var i;\n for (; (fin7i < fin7keys.length); (fin7i++)) {\n ((i) = (fin7keys[fin7i]));\n {\n var v = Vellum;\n v[f[i]] = v.cf(f[i]);\n };\n };\n };\n ;\n sitbAsin = \"0596517742\";\n SitbReader = {\n LightboxActions: {\n openReader: function(r) {\n Vellum.o(\"0596517742\", r);\n return false;\n },\n openReaderToRandomPage: function(r) {\n Vellum.r(\"0596517742\", r);\n return false;\n },\n openReaderToSearchResults: function(q, r) {\n Vellum.q(\"0596517742\", q, r);\n return false;\n },\n openReaderToPage: function(p, t, r) {\n Vellum.p(\"0596517742\", p, t, r);\n return false;\n }\n }\n };\n }\n;\n;\n amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n Vellum.c(\"0596517742\");\n });\n});");
6659 geval("if (((typeof amznJQ != \"undefined\"))) {\n amznJQ.addLogical(\"twister-media-matrix\", [\"http://z-ecx.images-amazon.com/images/G/01/nav2/gamma/tmmJS/tmmJS-combined-core-4624._V1_.js\",]);\n window._tmm_1 = +new JSBNG__Date();\n}\n;\n;");
6661 geval("window._tmm_3 = +new JSBNG__Date();\nif (((typeof amznJQ != \"undefined\"))) {\n amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n amznJQ.available(\"twister-media-matrix\", function() {\n window._tmm_2 = +new JSBNG__Date();\n TwisterMediaMatrix.initialize({\n kindle_meta_binding: {\n n: \"1\",\n start: \"1\"\n },\n paperback_meta_binding: {\n n: \"4\",\n start: \"1\"\n },\n other_meta_binding: {\n n: \"1\",\n start: \"1\"\n }\n }, \"3\", \"books\", \"0596517742\", \"B00279BLLE\", \"book_display_on_website\", \"Loading...\", \"Error. Please try again.\", \"http://g-ecx.images-amazon.com/images/G/01/x-locale/twister/tiny-snake._V192199047_.gif\", false, \"1-1\", \"1373480082\");\n });\n });\n}\n;\n;\nvar disableWinnerPopup;");
6663 geval("function ecbe91b05b7a0169a5c7579671634aa2479f32de2(JSBNG__event) {\n amz_expandPostBodyDescription(\"PS\", [\"psGradient\",\"psPlaceHolder\",]);\n return false;\n};\n;");
6665 geval("function ed799235278295d1a8efd2717f5d3b126b9c9d8ba(JSBNG__event) {\n amz_collapsePostBodyDescription(\"PS\", [\"psGradient\",\"psPlaceHolder\",]);\n return false;\n};\n;");
6667 geval("function amz_expandPostBodyDescription(id, objects) {\n amznJQ.onReady(\"jQuery\", function() {\n for (var i = 0; ((i < objects.length)); i++) {\n jQuery(((\"#\" + objects[i]))).hide();\n };\n ;\n jQuery(((\"#outer_postBody\" + id))).animate({\n height: jQuery(((\"#postBody\" + id))).height()\n }, 500);\n jQuery(((\"#expand\" + id))).hide();\n jQuery(((\"#collapse\" + id))).show();\n jQuery.ajax({\n url: \"/gp/product/utility/ajax/impression-tracking.html\",\n data: {\n a: \"0596517742\",\n ref: \"dp_pd_showmore_b\"\n }\n });\n });\n};\n;\nfunction amz_collapsePostBodyDescription(id, objects) {\n amznJQ.onReady(\"jQuery\", function() {\n for (var i = 0; ((i < objects.length)); i++) {\n jQuery(((\"#\" + objects[i]))).show();\n };\n ;\n jQuery(((\"#outer_postBody\" + id))).animate({\n height: 200\n }, 500);\n jQuery(((\"#collapse\" + id))).hide();\n jQuery(((\"#expand\" + id))).show();\n jQuery.ajax({\n url: \"/gp/product/utility/ajax/impression-tracking.html\",\n data: {\n a: \"0596517742\",\n ref: \"dp_pd_showless_b\"\n }\n });\n });\n};\n;\namznJQ.onReady(\"jQuery\", function() {\n var psTotalHeight = jQuery(\"#postBodyPS\").height();\n if (((psTotalHeight > 200))) {\n jQuery(\"#outer_postBodyPS\").css(\"display\", \"block\").css(\"height\", 200);\n jQuery(\"#psPlaceHolder\").css(\"display\", \"block\");\n jQuery(\"#expandPS\").css(\"display\", \"block\");\n jQuery(\"#psGradient\").css(\"display\", \"block\");\n }\n else {\n jQuery(\"#outer_postBodyPS\").css(\"height\", \"auto\");\n jQuery(\"#psGradient\").hide();\n jQuery(\"#psPlaceHolder\").hide();\n }\n;\n;\n});");
6669 geval("function e30f5ac80acd380a7d106b02b7641a90a00fe13b3(JSBNG__event) {\n return false;\n};\n;");
6671 geval("function ec9f6814c6029cb408a199fa5e7c6237cb873a11a(JSBNG__event) {\n return false;\n};\n;");
6673 geval("function e4ceb95b8a0d844b7809d3594d7b69f06acaa93e8(JSBNG__event) {\n return false;\n};\n;");
6675 geval("window.AmazonPopoverImages = {\n snake: \"http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/snake._V192571611_.gif\",\n btnClose: \"http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/btn_close._V192188154_.gif\",\n closeTan: \"http://g-ecx.images-amazon.com/images/G/01/nav2/images/close-tan-sm._V192185930_.gif\",\n closeTanDown: \"http://g-ecx.images-amazon.com/images/G/01/nav2/images/close-tan-sm-dn._V192185961_.gif\",\n loadingBar: \"http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/loading-bar-small._V192188123_.gif\",\n pixel: \"http://g-ecx.images-amazon.com/images/G/01/icons/blank-pixel._V192192429_.gif\"\n};\nvar container = JSBNG__document.createElement(\"DIV\");\ncontainer.id = \"ap_container\";\nif (JSBNG__document.body.childNodes.length) {\n JSBNG__document.body.insertBefore(container, JSBNG__document.body.childNodes[0]);\n}\n else {\n JSBNG__document.body.appendChild(container);\n}\n;\n;");
6677 geval("(function() {\n var h = ((((JSBNG__document.head || JSBNG__document.getElementsByTagName(\"head\")[0])) || JSBNG__document.documentElement));\n var s = JSBNG__document.createElement(\"script\");\n s.async = \"async\";\n s.src = \"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/site-wide-js-1.2.6-beacon/site-wide-11198044143._V1_.js\";\n h.insertBefore(s, h.firstChild);\n})();");
6679 geval("amznJQ.addLogical(\"popover\", []);\namznJQ.addLogical(\"navbarCSSUS-beacon\", []);\namznJQ.addLogical(\"search-js-autocomplete\", []);\namznJQ.addLogical(\"navbarJS-beacon\", []);\namznJQ.addLogical(\"LBHUCCSS-US\", []);\namznJQ.addLogical(\"CustomerPopover\", [\"http://z-ecx.images-amazon.com/images/G/01/x-locale/communities/profile/customer-popover/script-13-min._V224617671_.js\",]);\namznJQ.addLogical(\"amazonShoveler\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/amazonShoveler/amazonShoveler-1466453065._V1_.js\",]);\namznJQ.addLogical(\"dpCSS\", []);\namznJQ.addLogical(\"discussionsCSS\", []);\namznJQ.addLogical(\"bxgyCSS\", []);\namznJQ.addLogical(\"simCSS\", []);\namznJQ.addLogical(\"condProbCSS\", []);\namznJQ.addLogical(\"ciuAnnotations\", []);\namznJQ.addLogical(\"dpProductImage\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/dpProductImage/dpProductImage-2900646310._V1_.js\",]);\namznJQ.addLogical(\"cmuAnnotations\", [\"http://z-ecx.images-amazon.com/images/G/01/nav2/gamma/cmuAnnotations/cmuAnnotations-cmuAnnotations-55262._V1_.js\",]);\namznJQ.addLogical(\"search-csl\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/search-csl/search-csl-2400229912._V1_.js\",]);\namznJQ.addLogical(\"AmazonHistory\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/AmazonHistory/AmazonHistory-61973207._V1_.js\",]);\namznJQ.addLogical(\"AmazonCountdown\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/AmazonCountdownMerged/AmazonCountdownMerged-27059._V1_.js\",]);\namznJQ.addLogical(\"bylinePopover\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/bylinePopover/bylinePopover-1310866238._V1_.js\",]);\namznJQ.addLogical(\"simsJS\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/simsJSMerged/simsMerged-8063003390._V1_.js\",]);\namznJQ.addLogical(\"callOnVisible\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/callOnVisible/callOnVisible-3144292562._V1_.js\",]);\namznJQ.addLogical(\"p13nlogger\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/p13nlogger/p13nlogger-1808340331._V1_.js\",]);\namznJQ.addLogical(\"gridReviewCSS-US\", []);\namznJQ.addLogical(\"reviewsCSS-US\", []);\namznJQ.addLogical(\"lazyLoadLib\", [\"http://z-ecx.images-amazon.com/images/G/01/nav2/gamma/lazyLoadLib/lazyLoadLib-lazyLoadLib-60357._V1_.js\",]);\namznJQ.addLogical(\"immersiveView\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/immersiveView/immersiveView-990982538._V1_.js\",]);\namznJQ.addLogical(\"imageBlock\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/imageBlock/imageBlock-1812119340._V1_.js\",]);\namznJQ.addLogical(\"quantityDropDownJS\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/quantityDropDownJSMerged/quantityDropDownJSMerged-63734._V1_.js\",]);\namznJQ.addLogical(\"bbopCheckBoxJS\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/bbopCheckBoxJSMerged/bbopCheckBoxJSMerged-33025._V1_.js\",]);\namznJQ.addLogical(\"share-with-friends-js-new\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/share-with-friends-js-new/share-with-friends-js-new-4128511603._V1_.js\",]);");
6681 geval("function acrPopoverHover(e, h) {\n if (h) {\n window.acrAsinHover = e;\n }\n else {\n if (((window.acrAsinHover == e))) {\n window.acrAsinHover = null;\n }\n ;\n }\n;\n;\n};\n;\namznJQ.onReady(\"popover\", function() {\n (function($) {\n if ($.fn.acrPopover) {\n return;\n }\n ;\n ;\n var popoverConfig = {\n showOnHover: true,\n showCloseButton: true,\n width: null,\n JSBNG__location: \"bottom\",\n locationAlign: \"left\",\n locationOffset: [-20,0,],\n paddingLeft: 15,\n paddingBottom: 5,\n paddingRight: 15,\n group: \"reviewsPopover\",\n clone: false,\n hoverHideDelay: 300\n };\n $.fn.acrPopover = function() {\n return this.each(function() {\n var $this = $(this);\n if (!$this.data(\"init\")) {\n $this.data(\"init\", 1);\n var getargs = $this.attr(\"getargs\");\n var ajaxURL = ((((((((((((((\"/gp/customer-reviews/common/du/displayHistoPopAjax.html?\" + \"&ASIN=\")) + $this.attr(\"JSBNG__name\"))) + \"&link=1\")) + \"&seeall=1\")) + \"&ref=\")) + $this.attr(\"ref\"))) + ((((typeof getargs != \"undefined\")) ? ((\"&getargs=\" + getargs)) : \"\"))));\n var myConfig = $.extend(true, {\n destination: ajaxURL\n }, popoverConfig);\n $this.amazonPopoverTrigger(myConfig);\n var w = window.acrAsinHover;\n if (((w && (($(w).parents(\".asinReviewsSummary\").get(0) == this))))) {\n $this.trigger(\"mouseover.amzPopover\");\n window.acrAsinHover = null;\n }\n ;\n ;\n }\n ;\n ;\n });\n };\n window.reviewHistPopoverConfig = popoverConfig;\n var jqInit = window.jQueryInitHistoPopovers = function(asin) {\n $(((((\".acr-popover[name=\" + asin)) + \"]\"))).acrPopover();\n };\n window.doInit_average_customer_reviews = jqInit;\n window.onAjaxUpdate_average_customer_reviews = jqInit;\n window.onCacheUpdate_average_customer_reviews = jqInit;\n window.onCacheUpdateReselect_average_customer_reviews = jqInit;\n amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n JSBNG__setTimeout(function() {\n amznJQ.declareAvailable(\"acrPopover\");\n }, 10);\n });\n })(jQuery);\n});\namznJQ.onReady(\"acrPopover\", function() {\n jQuery(\".acr-popover,#searchTemplate .asinReviewsSummary\").each(function() {\n jQuery(this).acrPopover();\n });\n});");
6683 geval("function e578c1e13c6f29b2bbf7d44b26ef211b094ea72b4(JSBNG__event) {\n return acrPopoverHover(this, 1);\n};\n;");
6685 geval("function e06e515d62da9bffd3461588068f6e3968f778d25(JSBNG__event) {\n return acrPopoverHover(this, 0);\n};\n;");
6687 geval("function ea7a3a1b2d956ff3bc320306a8a957e5e3a84829b(JSBNG__event) {\n return acrPopoverHover(this, 1);\n};\n;");
6689 geval("function e3a03f8207e9a4c559b40f64a87959b85ba281fc9(JSBNG__event) {\n return acrPopoverHover(this, 0);\n};\n;");
6691 geval("var DEFAULT_RENDERING_TIME = 123;\namznJQ.onReady(\"popover\", function() {\n jQuery(\"#ns_16FT3HARPGGCD65HKXMQ_515_1_community_feedback_trigger_product-detail\").amazonPopoverTrigger({\n title: \"What product features are missing?\",\n destination: \"/gp/lwcf/light-weight-form.html?asin=0596517742&root=283155\",\n showOnHover: false,\n draggable: true,\n width: 650,\n paddingBottom: 0,\n onHide: function() {\n logCloseWidgetEvent(DEFAULT_RENDERING_TIME);\n cleanupSearchResults();\n }\n });\n});");
6693 geval("amznJQ.onReady(\"popover\", function() {\n jQuery(\"#ns_16FT3HARPGGCD65HKXMQ_514_1_hmd_pricing_feedback_trigger_product-detail\").amazonPopoverTrigger({\n title: \"Tell Us About a Lower Price\",\n destination: \"/gp/pdp/pf/pricingFeedbackForm.html/ref=sr_1_1_pfdpb?ie=UTF8&ASIN=0596517742&PREFIX=ns_16FT3HARPGGCD65HKXMQ_514_2_&from=product-detail&originalURI=%2Fgp%2Fproduct%2F0596517742&storeID=books\",\n showOnHover: false,\n draggable: true\n });\n});");
6695 geval("amznJQ.onReady(\"lazyLoadLib\", function() {\n jQuery(\"#books-entity-teaser\").lazyLoadContent({\n url: \"/gp/product/features/entity-teaser/books-entity-teaser-ajax.html?ASIN=0596517742\",\n metrics: true,\n JSBNG__name: \"books-entity-teaser\",\n cache: true\n });\n});");
6697 geval("function e7320d6ce68e3b4f8530e6a80207ae8477ecdb5ff(JSBNG__event) {\n return amz_js_PopWin(this.href, \"AmazonHelp\", \"width=340,height=340,resizable=1,scrollbars=1,toolbar=1,status=1\");\n};\n;");
6699 geval("var paCusRevAllURL = \"http://product-ads-portal.amazon.com/gp/synd/?asin=0596517742&pAsin=&gl=14&sq=javascript%20the%20good%20parts&sa=&se=Amazon&noo=&pt=Detail&spt=Glance&sn=customer-reviews-top&pRID=0H7NC1MNEB4A52DXKGX7&ts=1373480089&h=281ECCD3A11A9ED579DA0216100E7E6984E2E5C0\";");
6701 geval("(function(d, w, i, b, e) {\n if (w.uDA = ((((w.ues && w.uet)) && w.uex))) {\n ues(\"wb\", i, 1);\n uet(\"bb\", i);\n }\n;\n;\n;\n JSBNG__setTimeout(((window.top.JSBNG_Replay.push)((window.top.JSBNG_Replay.s6f54c5bf5199cec31b0b6ef5af74f23d8e084f79_1), function() {\n b = d.getElementById(\"DAb\");\n e = d.createElement(\"img\");\n e.JSBNG__onload = ((window.top.JSBNG_Replay.push)((window.top.JSBNG_Replay.s6f54c5bf5199cec31b0b6ef5af74f23d8e084f79_2), function() {\n ((w.uDA && uex(\"ld\", i)));\n }));\n e.src = \"//g-ecx.images-amazon.com/images/G/01/da/creatives/mp3._V1_.jpg\";\n e.JSBNG__onmouseover = function() {\n this.i = ((this.i || ((new JSBNG__Image).src = \"//ad.doubleclick.net/clk;266953187;45570551;s?\")));\n };\n b.appendChild(e);\n })), 3200);\n})(JSBNG__document, window, \"DAcrt_7\");");
6703 geval("(function(w, d, e) {\n e = d.getElementById(\"DA3297i\");\n e.a = (w.aanParams = ((w.aanParams || {\n })))[\"customer-reviews-top\"] = \"site=amazon.us;pt=Detail;slot=customer-reviews-top;pid=0596517742;prid=0H7NC1MNEB4A52DXKGX7;arid=ff8eff2c73d04e879b23b4a3067acb18\";\n e.f = 1;\n w.d16g_dclick_DAcrt = \"amzn.us.dp.books/textbooks;sz=300x250;oe=ISO-8859-1;u=ff8eff2c73d04e879b23b4a3067acb18;s=i0;s=i1;s=i2;s=i3;s=i5;s=i6;s=i7;s=i8;s=i9;s=m1;s=m4;s=u4;s=u13;s=u11;s=u2;z=180;z=153;z=141;z=173;s=3072;s=32;s=3172a;s=3172;s=3;s=12;s=67;s=142;s=150;s=622;s=762;s=833;s=921;s=1009;s=1046;s=1324;s=3102;s=3103;s=3174;s=3175;s=3176;dc_ref=http%3A%2F%2Fwww.amazon.com;tile=3;ord=0H7NC1MNEB4A52DXKGX7;cid=sailfish7\";\n w.d16g_dclicknet_DAcrt = \"N4215\";\n e.src = \"/aan/2009-09-09/static/amazon/iframeproxy-24.html#zus&cbDAcrt&iDAcrt\";\n if (!w.DA) {\n w.DA = [];\n var L = ((window.top.JSBNG_Replay.push)((window.top.JSBNG_Replay.s43fc3a4faaae123905c065ee7216f6efb640b86f_1), function() {\n e = d.createElement(\"script\");\n e.src = \"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/DA-us/DA-us-1527499158._V381226140_.js\";\n d.getElementsByTagName(\"head\")[0].appendChild(e);\n }));\n if (((d.readyState == \"complete\"))) {\n L();\n }\n else {\n if (((typeof w.JSBNG__addEventListener === \"function\"))) {\n w.JSBNG__addEventListener(\"load\", L, !1);\n }\n else {\n w.JSBNG__attachEvent(\"JSBNG__onload\", L);\n }\n ;\n ;\n }\n ;\n ;\n }\n;\n;\n})(window, JSBNG__document);");
6705 geval("if (((typeof setCSMReq == \"function\"))) {\n setCSMReq(\"cf\");\n}\n else {\n if (((typeof uet == \"function\"))) {\n uet(\"cf\");\n }\n;\n;\n amznJQ.completedStage(\"amznJQ.criticalFeature\");\n}\n;\n;");
6707 geval("var cloudfrontImg = new JSBNG__Image();\nif (((JSBNG__location.protocol == \"http:\"))) {\n if (window.JSBNG__addEventListener) {\n window.JSBNG__addEventListener(\"load\", ((window.top.JSBNG_Replay.push)((window.top.JSBNG_Replay.s6642b77f01f4d49ef240b29032e6da4372359178_0), function() {\n JSBNG__setTimeout(((window.top.JSBNG_Replay.push)((window.top.JSBNG_Replay.s6642b77f01f4d49ef240b29032e6da4372359178_1), function() {\n cloudfrontImg.src = \"http://cloudfront-labs.amazonaws.com/x.png\";\n })), 400);\n })), false);\n }\n else if (window.JSBNG__attachEvent) {\n window.JSBNG__attachEvent(\"JSBNG__onload\", function() {\n JSBNG__setTimeout(function() {\n cloudfrontImg.src = \"http://cloudfront-labs.amazonaws.com/x.png\";\n }, 400);\n });\n }\n \n;\n;\n}\n;\n;");
6709 geval("amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n var DPCL;\n amznJQ.available(\"DPClientLogger\", function() {\n if (((typeof window.DPClientLogger != \"undefined\"))) {\n DPCL = new window.DPClientLogger.ImpressionLogger(\"dpbxapps\", \"bxapps-atfMarker\", true, true);\n }\n ;\n ;\n });\n jQuery(\".oneClickSignInLink\").click(function(e) {\n if (DPCL) {\n DPCL.logImpression(\"ma-books-oneClick-signIn-C\");\n }\n ;\n ;\n return true;\n });\n});");
6711 geval("var ImageBlockWeblabs = {\n};\nImageBlockWeblabs[\"swipe\"] = 0;\nImageBlockWeblabs[\"consolidated\"] = 1;\nImageBlockWeblabs[\"bookLargeImage\"] = 0;\namznJQ.available(\"ImageBlockATF\", function() {\n amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n var data = {\n indexToColor: [\"initial\",],\n visualDimensions: [\"color_name\",],\n productGroupID: \"book_display_on_website\",\n newVideoMissing: 0,\n useIV: 1,\n useChildVideos: 1,\n numColors: 1,\n defaultColor: \"initial\",\n logMetrics: 0,\n staticStrings: {\n playVideo: \"Click to play video\",\n rollOverToZoom: \"Roll over image to zoom in\",\n images: \"Images\",\n video: \"video\",\n touchToZoom: \"Touch the image to zoom in\",\n videos: \"Videos\",\n close: \"Close\",\n pleaseSelect: \"Please select\",\n clickToExpand: \"Click to open expanded view\",\n allMedia: \"All Media\"\n },\n gIsNewTwister: 0,\n title: \"JavaScript: The Good Parts\",\n ivRepresentativeAsin: {\n },\n mainImageSizes: [[\"300\",\"300\",],[\"300\",\"300\",],],\n isQuickview: 0,\n ipadVideoSizes: [[300,300,],[300,300,],],\n colorToAsin: {\n },\n showLITBOnClick: 1,\n stretchyGoodnessWidth: [1280,],\n videoSizes: [[300,300,],[300,300,],],\n autoplayVideo: 0,\n hoverZoomIndicator: \"\",\n sitbReftag: \"sib_dp_pt\",\n useHoverZoom: 0,\n staticImages: {\n spinner: \"http://g-ecx.images-amazon.com/images/G/01/ui/loadIndicators/loading-large_labeled._V192238949_.gif\",\n zoomOut: \"http://g-ecx.images-amazon.com/images/G/01/detail-page/cursors/zoom-out._V184888738_.bmp\",\n hoverZoomIcon: \"http://g-ecx.images-amazon.com/images/G/01/img11/apparel/UX/DP/icon_zoom._V138923886_.png\",\n zoomIn: \"http://g-ecx.images-amazon.com/images/G/01/detail-page/cursors/zoom-in._V184888790_.bmp\",\n videoSWFPath: \"http://g-ecx.images-amazon.com/images/G/01/Quarterdeck/en_US/video/20110518115040892/Video._V178668404_.swf\",\n zoomLensBackground: \"http://g-ecx.images-amazon.com/images/G/01/apparel/rcxgs/tile._V211431200_.gif\",\n arrow: \"http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/light/sprite-vertical-popover-arrow._V186877868_.png\",\n videoThumbIcon: \"http://g-ecx.images-amazon.com/images/G/01/Quarterdeck/en_US/images/video._V183716339_SS30_.gif\"\n },\n videos: [],\n gPreferChildVideos: 1,\n altsOnLeft: 0,\n ivImageSetKeys: {\n initial: 0\n },\n useHoverZoomIpad: \"\",\n isUDP: 0,\n alwaysIncludeVideo: 1,\n widths: 0,\n maxAlts: 7,\n useChromelessVideoPlayer: 0\n };\n data[\"customerImages\"] = eval(\"[]\");\n var def = ((colorImages ? colorImages[data.defaultColor] : []));\n colorImages = {\n };\n colorImages[data.defaultColor] = def;\n (function() {\n var markup = \"%0A%0A%0A%0A%0A%0A%0A%0A%0A%3Cstyle%3E%0A%0Aa.slateLink%3Alink%7B%20color%3A%20rgb(119%2C119%2C119)%3B%20text-decoration%3Anone%3B%7D%0Aa.slateLink%3Aactive%20%7B%20color%3A%20rgb(119%2C119%2C119)%3B%20text-decoration%3Anone%3B%7D%0Aa.slateLink%3Avisited%7B%20color%3A%20rgb(119%2C119%2C119)%3B%20text-decoration%3Anone%3B%7D%0Aa.slateLink%3Ahover%7B%20color%3A%20rgb(119%2C119%2C119)%3B%20text-decoration%3Anone%3B%7D%0A%0A.shuttleGradient%20%7B%0A%20%20%20%20float%3Aleft%3B%0A%20%20%20%20width%3A100%25%3B%0A%20%20%20%20text-align%3Aleft%3B%0A%20%20%20%20line-height%3A%20normal%3B%0A%20%20%20%20position%3Arelative%3B%0A%20%20%20%20height%3A43px%3B%20%0A%20%20%20%20background-color%3A%23dddddd%3B%20%0A%20%20%20%20background-image%3A%20url(http%3A%2F%2Fg-ecx.images-amazon.com%2Fimages%2FG%2F01%2Fx-locale%2Fcommunities%2Fcustomerimage%2Fshuttle-gradient._V192250138_.gif)%3B%20%0A%20%20%20%20background-position%3A%20bottom%3B%20%0A%20%20%20%20background-repeat%20%3A%20repeat-x%3B%0A%7D%0A%0A.shuttleTextTop%20%7B%0A%20%20%20%20font-size%3A18px%3B%0A%20%20%20%20font-weight%3Abold%3B%0A%20%20%20%20font-family%3Averdana%2Carial%2Chelvetica%2Csans-serif%3B%0A%20%20%20%20color%3A%20rgb(119%2C119%2C119)%3B%0A%20%20%20%20margin-left%3A10px%3B%0A%7D%0A%0A.shuttleTextBottom%20%7B%0A%20%20%20%20margin-top%3A-2px%3B%0A%20%20%20%20font-size%3A15px%3B%0A%20%20%20%20font-family%3Averdana%2Carial%2Chelvetica%2Csans-serif%3B%0A%20%20%20%20color%3A%20rgb(119%2C119%2C119)%3B%0A%20%20%20%20margin-left%3A10px%3B%0A%7D%0A.outercenterslate%7B%0A%20%20%20%20cursor%3Apointer%3B%0A%7D%0A.innercenterslate%7B%0A%20%20%20%20overflow%3A%20hidden%3B%0A%7D%0A%0A.slateoverlay%7B%0A%20%20%20%20position%3A%20absolute%3B%0A%20%20%20%20top%3A%200px%3B%0A%20%20%20%20border%3A%200px%0A%7D%0A%0A.centerslate%20%7B%0A%20%20%20%20display%3A%20table-cell%3B%0A%20%20%20%20background-color%3Ablack%3B%20%0A%20%20%20%20text-align%3A%20center%3B%0A%20%20%20%20vertical-align%3A%20middle%3B%0A%7D%0A.centerslate%20*%20%7B%0A%20%20%20%20vertical-align%3A%20middle%3B%0A%7D%0A.centerslate%20%7B%20display%2F*%5C**%2F%3A%20block%5C9%20%7D%20%0A%2F*%5C*%2F%2F*%2F%0A.centerslate%20%7B%0A%20%20%20%20display%3A%20block%3B%0A%7D%0A.centerslate%20span%20%7B%0A%20%20%20%20display%3A%20inline-block%3B%0A%20%20%20%20height%3A%20100%25%3B%0A%20%20%20%20width%3A%201px%3B%0A%7D%0A%2F**%2F%0A%3C%2Fstyle%3E%0A%3C!--%5Bif%20lt%20IE%209%5D%3E%3Cstyle%3E%0A.centerslate%20span%20%7B%0A%20%20%20%20display%3A%20inline-block%3B%0A%20%20%20%20height%3A%20100%25%3B%0A%7D%0A%3C%2Fstyle%3E%3C!%5Bendif%5D--%3E%0A%3Cstyle%3E%0A%3C%2Fstyle%3E%0A%0A%3Cscript%20type%3D%22text%2Fjavascript%22%3E%0AamznJQ.addLogical(%22swfobject-2.2%22%2C%20%5B%22http%3A%2F%2Fz-ecx.images-amazon.com%2Fimages%2FG%2F01%2Fmedia%2Fswf%2Famznjq-swfobject-2.2._V210753426_.js%22%5D)%3B%0A%0Awindow.AmznVideoPlayer%3Dfunction(mediaObject%2CtargetId%2Cwidth%2Cheight)%7B%0A%20%20AmznVideoPlayer.players%5BmediaObject.mediaObjectId%5D%3Dthis%3B%0A%20%20this.slateImageUrl%3DmediaObject.slateImageUrl%3B%0A%20%20this.id%3DmediaObject.mediaObjectId%3B%0A%20%20this.preplayWidth%3Dwidth%3B%0A%20%20this.preplayHeight%3Dheight%3B%0A%20%20this.flashDivWidth%3Dwidth%3B%0A%20%20this.flashDivHeight%3Dheight%3B%0A%20%20this.targetId%3DtargetId%3B%0A%20%20this.swfLoading%3D0%3B%0A%20%20this.swfLoaded%3D0%3B%0A%20%20this.preplayDivId%3D'preplayDiv'%2Bthis.id%3B%0A%20%20this.flashDivId%3D'flashDiv'%2Bthis.id%3B%0A%7D%0A%0AAmznVideoPlayer.players%3D%5B%5D%3B%0AAmznVideoPlayer.session%3D'177-2724246-1767538'%3B%0AAmznVideoPlayer.root%3D'http%3A%2F%2Fwww.amazon.com'%3B%0AAmznVideoPlayer.locale%3D'en_US'%3B%0AAmznVideoPlayer.swf%3D'http%3A%2F%2Fg-ecx.images-amazon.com%2Fimages%2FG%2F01%2Fam3%2F20120510035744301%2FAMPlayer._V148501545_.swf'%3B%0AAmznVideoPlayer.preplayTemplate%3D'%3Cdiv%20style%3D%22width%3A0px%3Bheight%3A0px%3B%22%20class%3D%22outercenterslate%22%3E%3Cdiv%20style%3D%22width%3A0px%3Bheight%3A-43px%3B%22%20class%3D%22centerslate%22%20%3E%3Cspan%3E%3C%2Fspan%3E%3Cimg%20border%3D%220%22%20alt%3D%22Click%20to%20watch%20this%20video%22%20src%3D%22slateImageGoesHere%22%3E%3C%2Fdiv%3E%3Cdiv%20class%3D%22shuttleGradient%22%3E%3Cdiv%20class%3D%22shuttleTextTop%22%3EAmazon%3C%2Fdiv%3E%3Cdiv%20class%3D%22shuttleTextBottom%22%3EVideo%3C%2Fdiv%3E%3Cimg%20id%3D%22mediaObjectIdpreplayImageId%22%20style%3D%22height%3A74px%3Bposition%3Aabsolute%3Bleft%3A-31px%3Btop%3A-31px%3B%22%20src%3D%22http%3A%2F%2Fg-ecx.images-amazon.com%2Fimages%2FG%2F01%2Fx-locale%2Fcommunities%2Fcustomerimage%2Fplay-shuttle-off._V192250119_.gif%22%20border%3D%220%22%2F%3E%3C%2Fdiv%3E%3C%2Fdiv%3E'%3B%0AAmznVideoPlayer.rollOn%3D'http%3A%2F%2Fg-ecx.images-amazon.com%2Fimages%2FG%2F01%2Fx-locale%2Fcommunities%2Fcustomerimage%2Fplay-shuttle-on._V192250112_.gif'%3B%0AAmznVideoPlayer.rollOff%3D'http%3A%2F%2Fg-ecx.images-amazon.com%2Fimages%2FG%2F01%2Fx-locale%2Fcommunities%2Fcustomerimage%2Fplay-shuttle-off._V192250119_.gif'%3B%0AAmznVideoPlayer.flashVersion%3D'9.0.115'%3B%0AAmznVideoPlayer.noFlashMsg%3D'To%20view%20this%20video%20download%20%3Ca%20target%3D%22_blank%22%20href%3D%22http%3A%2F%2Fget.adobe.com%2Fflashplayer%2F%22%20target%3D%22_top%22%3EFlash%20Player%3C%2Fa%3E%20(version%209.0.115%20or%20higher)'%3B%0A%0AAmznVideoPlayer.hideAll%3Dfunction()%7B%0A%20%20for(var%20i%20in%20AmznVideoPlayer.players)%7B%0A%20%20%20%20AmznVideoPlayer.players%5Bi%5D.hidePreplay()%3B%0A%20%20%20%20AmznVideoPlayer.players%5Bi%5D.hideFlash()%3B%0A%20%20%7D%0A%7D%0A%0AAmznVideoPlayer.prototype.writePreplayHtml%3Dfunction()%7B%0A%20%20if(typeof%20this.preplayobject%3D%3D'undefined')%7B%0A%20%20%20%20this.preplayobject%3DjQuery(AmznVideoPlayer.preplayTemplate.replace(%22slateImageGoesHere%22%2Cthis.slateImageUrl)%0A%20%20%20%20%20%20%20%20.replace(%22mediaObjectId%22%2Cthis.id).replace(%22-43px%22%2C(this.preplayHeight-43)%2B%22px%22).replace(%22-31px%22%2C(Math.round(this.preplayWidth%2F2)-31)%2B%22px%22))%3B%0A%20%20%20%20this.preplayobject.width(this.preplayWidth%2B%22px%22).height(this.preplayHeight%2B%22px%22)%3B%0A%20%20%20%20this.preplayobject.find(%22.innercenterslate%22).width(this.preplayWidth%2B%22px%22).height(this.preplayHeight%2B%22px%22)%3B%0A%20%20%20%20this.preplayobject.find(%22.centerslate%22).width(this.preplayWidth%2B%22px%22)%3B%0A%20%20%20%20var%20self%3Dthis%3B%0A%20%20%20%20this.preparePlaceholder()%3B%0A%20%20%20%20jQuery(%22%23%22%2Bthis.preplayDivId).click(function()%7Bself.preplayClick()%3B%7D)%3B%0A%20%20%20%20jQuery(%22%23%22%2Bthis.preplayDivId).hover(%0A%20%20%20%20%20%20%20%20function()%7BjQuery(%22%23%22%2Bself.id%2B'preplayImageId').attr('src'%2CAmznVideoPlayer.rollOn)%3B%7D%2C%0A%20%20%20%20%20%20%20%20function()%7BjQuery(%22%23%22%2Bself.id%2B'preplayImageId').attr('src'%2CAmznVideoPlayer.rollOff)%3B%7D)%3B%0A%20%20%20%20jQuery(%22%23%22%2Bthis.preplayDivId).html(this.preplayobject)%3B%0A%20%20%7D%0A%7D%0A%0AAmznVideoPlayer.prototype.writeFlashHtml%3Dfunction()%7B%0A%20%20if(!this.swfLoaded%26%26!this.swfLoading)%7B%0A%20%20%20%20this.swfLoading%3D1%3B%0A%20%20%20%20var%20params%3D%7B'allowscriptaccess'%3A'always'%2C'allowfullscreen'%3A'true'%2C'wmode'%3A'transparent'%2C'quality'%3A'high'%7D%3B%0A%20%20%20%20var%20shiftJISRegExp%20%3D%20new%20RegExp(%22%5Ehttps%3F%3A%22%2BString.fromCharCode(0x5C)%2B%22%2F%22%2BString.fromCharCode(0x5C)%2B%22%2F%22)%3B%0A%20%20%20%20var%20flashvars%3D%7B'xmlUrl'%3AAmznVideoPlayer.root%2B'%2Fgp%2Fmpd%2Fgetplaylist-v2%2F'%2Bthis.id%2B'%2F'%2BAmznVideoPlayer.session%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'mediaObjectId'%3Athis.id%2C'locale'%3AAmznVideoPlayer.locale%2C'sessionId'%3AAmznVideoPlayer.session%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'amazonServer'%3AAmznVideoPlayer.root.replace(shiftJISRegExp%2C'')%2C'swfEmbedTime'%3Anew%20Date().getTime()%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'allowFullScreen'%3A'true'%2C'amazonPort'%3A'80'%2C'preset'%3A'detail'%2C'autoPlay'%3A'1'%2C'permUrl'%3A'gp%2Fmpd%2Fpermalink'%2C'scale'%3A'noscale'%7D%3B%0A%20%20%20%20var%20self%3Dthis%3B%0A%20%20%20%20swfobject.embedSWF(AmznVideoPlayer.swf%2C'so_'%2Bthis.id%2C%22100%25%22%2C%22100%25%22%2CAmznVideoPlayer.flashVersion%2Cfalse%2Cflashvars%2Cparams%2Cparams%2C%0A%20%20%20%20%20%20function(e)%7B%0A%20%20%20%20%20%20%20%20self.swfLoading%3D0%3B%0A%20%20%20%20%20%20%20%20if(e.success)%7BAmznVideoPlayer.lastPlayedId%3Dself.id%3Bself.swfLoaded%3D1%3Breturn%3B%7D%0A%20%20%20%20%20%20%20%20jQuery('%23'%2Bself.flashDivId).html('%3Cbr%2F%3E%3Cbr%2F%3E%3Cbr%2F%3E%3Cbr%2F%3E%3Cbr%2F%3E%3Cbr%2F%3E%3Cbr%2F%3E'%2BAmznVideoPlayer.noFlashMsg).css(%7B'background'%3A'%23ffffff'%7D)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20)%3B%0A%20%20%7D%0A%7D%0A%0AAmznVideoPlayer.prototype.showPreplay%3Dfunction()%7B%0A%20%20this.writePreplayHtml()%3B%0A%20%20this.preparePlaceholder()%3B%0A%20%20jQuery(%22%23%22%2Bthis.preplayDivId).show()%3B%0A%20%20return%20this%3B%0A%7D%0A%0AAmznVideoPlayer.prototype.hidePreplay%3Dfunction()%7B%0A%20%20this.preparePlaceholder()%3B%0A%20%20jQuery(%22%23%22%2Bthis.preplayDivId).hide()%3B%0A%20%20return%20this%3B%0A%7D%0A%0AAmznVideoPlayer.prototype.showFlash%3Dfunction()%7B%0A%20%20this.preparePlaceholder()%3B%0A%20%20if(!this.swfLoaded%26%26!this.swfLoading)%7B%0A%20%20%20%20var%20self%3Dthis%3B%0A%20%20%20%20amznJQ.available(%22swfobject-2.2%22%2Cfunction()%7Bself.writeFlashHtml()%3B%7D)%3B%0A%20%20%7D%0A%20%20jQuery(%22%23%22%2Bthis.flashDivId).width(this.flashDivWidth%2B'px').height(this.flashDivHeight%2B'px')%3B%0A%20%20AmznVideoPlayer.lastPlayedId%3Dthis.id%3B%0A%20%20return%20this%3B%0A%7D%0A%0AAmznVideoPlayer.prototype.hideFlash%3Dfunction()%7B%0A%20%20this.preparePlaceholder()%3B%0A%20%20jQuery(%22%23%22%2Bthis.flashDivId).width('0px').height('1px')%3B%0A%20%20return%20this%3B%0A%7D%0A%0AAmznVideoPlayer.prototype.preparePlaceholder%3Dfunction()%7B%0A%20%20if(!(jQuery('%23'%2Bthis.flashDivId).length)%7C%7C!(jQuery('%23'%2Bthis.preplayDivId)))%7B%0A%20%20%20%20var%20preplayDiv%3DjQuery(%22%3Cdiv%20id%3D'%22%2Bthis.preplayDivId%2B%22'%3E%3C%2Fdiv%3E%22).css(%7B'position'%3A'relative'%7D)%3B%0A%20%20%20%20var%20flashDiv%3DjQuery(%22%3Cdiv%20id%3D'%22%2Bthis.flashDivId%2B%22'%3E%3Cdiv%20id%3D'so_%22%2Bthis.id%2B%22'%2F%3E%3C%2Fdiv%3E%22).css(%7B'overflow'%3A'hidden'%2Cbackground%3A'%23000000'%7D)%3B%0A%20%20%20%20var%20wrapper%3DjQuery(%22%3Cdiv%2F%3E%22).css(%7B'position'%3A'relative'%2C'float'%3A'left'%7D).append(preplayDiv).append(flashDiv)%3B%0A%20%20%20%20jQuery('%23'%2Bthis.targetId).html(wrapper)%3B%0A%20%20%7D%0A%7D%0A%0AAmznVideoPlayer.prototype.resizeVideo%3Dfunction(width%2Cheight)%7B%0A%20%20this.flashDivWidth%3Dwidth%3B%0A%20%20this.flashDivHeight%3Dheight%3B%0A%20%20if%20(jQuery(%22%23%22%2Bthis.flashDivId)%26%26jQuery(%22%23%22%2Bthis.flashDivId).width()!%3D0)%7Bthis.showFlash()%3B%7D%0A%7D%0A%0AAmznVideoPlayer.prototype.preplayClick%3Dfunction()%7B%20%0A%20%20if(this.swfLoaded)%7Bthis.play()%3B%7D%20%0A%20%20this.showFlash()%3B%0A%20%20this.hidePreplay()%3B%0A%7D%0A%0AAmznVideoPlayer.prototype.play%3Dfunction()%7B%0A%20%20var%20so%3Dthis.getSO()%3B%0A%20%20if(typeof%20so.playVideo%3D%3D'function')%7B%0A%20%20%20%20if(this.id!%3DAmznVideoPlayer.lastPlayedId)%7B%0A%20%20%20%20%20%20AmznVideoPlayer.players%5BAmznVideoPlayer.lastPlayedId%5D.pause()%3B%0A%20%20%20%20%7D%0A%20%20%20%20AmznVideoPlayer.lastPlayedId%3Dthis.id%3Bso.playVideo()%3B%0A%20%20%7D%0A%7D%0A%0AAmznVideoPlayer.prototype.pause%3Dfunction()%7Bif(this.swfLoading%7C%7Cthis.swfLoaded)%7Bthis.autoplayCancelled%3Dtrue%3B%7Dvar%20so%3Dthis.getSO()%3Bif(so%20%26%26%20typeof%20so.pauseVideo%3D%3D'function')%7Bso.pauseVideo()%3B%7D%7D%0AAmznVideoPlayer.prototype.stop%3Dfunction()%7Bif(this.swfLoading%7C%7Cthis.swfLoaded)%7Bthis.autoplayCancelled%3Dtrue%3B%7Dvar%20so%3Dthis.getSO()%3Bif(so%20%26%26%20typeof%20so.stopVideo%3D%3D'function')%7Bso.stopVideo()%3B%7D%7D%0AAmznVideoPlayer.prototype.getSO%3Dfunction()%7Breturn%20jQuery(%22%23so_%22%2Bthis.id).get(0)%3B%7D%0A%0Afunction%20isAutoplayCancelled(showID)%20%7B%0A%20%20return%20(AmznVideoPlayer.players%5BshowID%5D%20%26%26%20AmznVideoPlayer.players%5BshowID%5D.autoplayCancelled%20%3D%3D%20true)%3B%20%0A%7D%0A%3C%2Fscript%3E%0A\";\n jQuery(\"\\u003Cdiv\\u003E\\u003C/div\\u003E\").insertAfter(\"#main-image-widget\").html(decodeURIComponent(markup));\n })();\n data.cfEndTimer = new JSBNG__Date();\n amznJQ.available(\"imageBlock\", function() {\n jQuery.imageBlock = new ImageBlock(data);\n ImageBlock.TwisterReArchModule = function() {\n return jQuery.imageBlock.getTwisterReArchApis();\n }();\n });\n });\n});");
6713 geval("if (window.amznJQ) {\n amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n var precacheDetailImages = function(imageUrls, pids) {\n function transformUrl(imgUrl, pid) {\n var suffix = \"._SL500_AA300_.jpg\", defaultApparel = \"._AA300_.jpg\", imgUrlSplit = imgUrl.split(\"._\");\n if (imgUrlSplit.length) {\n var prefix = imgUrlSplit[0];\n if (((((!pid && ((storeName == \"books\")))) || ((pid == \"books_display_on_website\"))))) {\n if (imgUrl.match(\"PIsitb-sticker-arrow\")) {\n var OUID = imgUrl.substr(imgUrl.indexOf(\"_OU\"), 6);\n var lookInsideSticker = ((((\"._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20\" + OUID)) + \".jpg\"));\n urls.push(((prefix + lookInsideSticker)));\n }\n else {\n urls.push(((prefix + suffix)));\n }\n ;\n ;\n }\n else if (((((!pid && ((storeName == \"apparel\")))) || ((pid == \"apparel_display_on_website\"))))) {\n urls.push(((prefix + \"._SX342_.jpg\")));\n urls.push(((prefix + \"._SY445_.jpg\")));\n }\n else if (((((!pid && ((storeName == \"shoes\")))) || ((pid == \"shoes_display_on_website\"))))) {\n urls.push(((prefix + \"._SX395_.jpg\")));\n urls.push(((prefix + \"._SY395_.jpg\")));\n }\n else {\n urls.push(((prefix + suffix)));\n }\n \n \n ;\n ;\n }\n ;\n ;\n };\n ;\n ;\n var urls = [], numImgsPreload = Math.min(6, imageUrls.length), storeName = \"books\";\n for (var i = 0; ((i < numImgsPreload)); i++) {\n var currPid = ((((pids && pids.length)) ? pids[i] : \"\"));\n transformUrl(imageUrls[i], currPid);\n };\n ;\n for (var j = 0; ((j < urls.length)); j++) {\n var img = new JSBNG__Image();\n img.src = urls[j];\n };\n ;\n };\n var win = jQuery(window);\n var feature = jQuery(\"#purchaseShvl\");\n var shvlPresent = ((((feature.length > 0)) ? 1 : 0));\n var lastCheck = 0;\n var pending = 0;\n var onScrollPrecache = function() {\n if (pending) {\n return;\n }\n ;\n ;\n var lastCheckDiff = ((new JSBNG__Date().getTime() - lastCheck));\n var checkDelay = ((((lastCheckDiff < 200)) ? ((200 - lastCheckDiff)) : 10));\n pending = 1;\n var u = function() {\n if (((shvlPresent && ((((win.scrollTop() + win.height())) > ((feature.offset().JSBNG__top + 200))))))) {\n var p = precacheDetailImages, $ = jQuery;\n if (p) {\n var selector = \"#purchaseButtonWrapper\";\n var imgElems = $(selector).JSBNG__find(\"a \\u003E div \\u003E img\");\n var pgs, imgs = [], i = imgElems.length;\n while (((i-- > 0))) {\n imgs[i] = $(imgElems[i]).attr(\"src\");\n };\n ;\n p(imgs, pgs);\n }\n ;\n ;\n $(window).unbind(\"JSBNG__scroll\", onScrollPrecache);\n return;\n }\n ;\n ;\n pending = 0;\n lastCheck = new JSBNG__Date().getTime();\n };\n JSBNG__setTimeout(u, checkDelay);\n return;\n };\n jQuery(window).bind(\"JSBNG__scroll\", onScrollPrecache);\n });\n}\n;\n;");
6715 geval("amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n amznJQ.available(\"search-js-jq\", function() {\n \n });\n amznJQ.available(\"amazonShoveler\", function() {\n \n });\n amznJQ.available(\"simsJS\", function() {\n \n });\n amznJQ.available(\"cmuAnnotations\", function() {\n \n });\n amznJQ.available(\"externalJS.tagging\", function() {\n \n });\n amznJQ.available(\"amzn-ratings-bar\", function() {\n \n });\n amznJQ.available(\"accessoriesJS\", function() {\n \n });\n amznJQ.available(\"priceformatterJS\", function() {\n \n });\n amznJQ.available(\"CustomerPopover\", function() {\n \n });\n if (!window.DPClientLogger) {\n window.DPClientLogger = {\n };\n }\n;\n;\n window.DPClientLogger.ImpressionLogger = function(program_group, feature, forceUpload, controlledLogging) {\n var JSBNG__self = this, data = {\n };\n var isBooksUdploggingDisabled = false;\n var enableNewCSMs = false;\n var newCSMs = [\"ma-books-image-ftb-shown\",\"ma-books-image-listen-shown\",];\n JSBNG__self.logImpression = function(key) {\n if (!((((isBooksUdploggingDisabled && ((controlledLogging !== undefined)))) && controlledLogging))) {\n var isNewCSM = JSBNG__self.isKeyNewCSM(key);\n if (((!isNewCSM || ((isNewCSM && enableNewCSMs))))) {\n data[key] = 1;\n JSBNG__setTimeout(JSBNG__self.upload, 2000);\n }\n ;\n ;\n }\n ;\n ;\n };\n JSBNG__self.isKeyNewCSM = function(key) {\n var isNewCSM = false;\n jQuery.each(newCSMs, function(index, csm) {\n if (((csm == key))) {\n isNewCSM = true;\n }\n ;\n ;\n });\n return isNewCSM;\n };\n JSBNG__self.upload = function() {\n var t = [];\n jQuery.each(data, function(k, v) {\n t.push(k);\n });\n data = {\n };\n if (((t.length > 0))) {\n var protocol = ((((JSBNG__location.protocol == \"https:\")) ? \"http://jsbngssl.\" : \"http://\")), url = ((((((((((((((((((((((((((((((protocol + ue.furl)) + \"/1/action-impressions/1/OP/\")) + program_group)) + \"/action/\")) + feature)) + \":\")) + t.join())) + \"?marketplaceId=\")) + ue.mid)) + \"&requestId=\")) + ue.rid)) + \"&session=\")) + ue.sid)) + \"&_=\")) + (new JSBNG__Date()).getTime()));\n (new JSBNG__Image()).src = url;\n }\n ;\n ;\n };\n if (forceUpload) {\n jQuery(window).unload(function() {\n JSBNG__self.upload();\n });\n }\n ;\n ;\n };\n amznJQ.onReady(\"jQuery\", function() {\n amznJQ.declareAvailable(\"DPClientLogger\");\n });\n});");
6717 geval("window.$Nav.declare(\"config.prefetchUrls\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/cartPerformanceJS/cartPerformanceJS-2638627971._V1_.js\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/cartWithAjaxJS/cartWithAjaxJS-40220677._V1_.js\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/fruitCSS/US-combined-2621868138._V1_.css\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/registriesCSS/US-combined-545184966._V376148880_.css\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/browser-scripts/site-wide-js-1.2.6-beacon/site-wide-11198044143._V1_.js\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/browser-scripts/us-site-wide-css-beacon/site-wide-6804619766._V1_.css\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/browser-scripts/wcs-ya-homepage-beaconized/wcs-ya-homepage-beaconized-1899362992._V1_.css\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/browser-scripts/wcs-ya-homepage-beaconized/wcs-ya-homepage-beaconized-3515399030._V1_.js\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/browser-scripts/wcs-ya-order-history-beaconized/wcs-ya-order-history-beaconized-2777963369._V1_.css\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/gno/beacon/BeaconSprite-US-01._V397411194_.png\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/gno/images/general/navAmazonLogoFooter._V169459313_.gif\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/common/transparent-pixel._V386942464_.gif\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/communities/social/snwicons_v2._V369764580_.png\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/cs/css/images/amznbtn-sprite03._V387356454_.png\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/cs/help/images/spotlight/kindle-family-02b._V386370244_.jpg\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/cs/orders/images/acorn._V192250692_.gif\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/cs/orders/images/amazon-gc-100._V192250695_.gif\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/cs/orders/images/amazon-gcs-100._V192250695_.gif\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/cs/orders/images/btn-close._V192250694_.gif\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/cs/projects/text-trace/texttrace_typ._V381285749_.js\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/cs/ya/images/new-link._V192250664_.gif\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/cs/ya/images/shipment_large_lt._V192250661_.gif\",]);\n_navbar = ((window._navbar || {\n}));\n_navbar.prefetch = function() {\n ((window.amznJQ && amznJQ.addPL(window.$Nav.getNow(\"config.prefetchUrls\"))));\n};\n((window.$Nav && $Nav.declare(\"config.prefetch\", _navbar.prefetch)));\n((window.$Nav && $Nav.declare(\"config.flyoutURL\", null)));\n((window.$Nav && $Nav.declare(\"btf.lite\")));\n((window.amznJQ && amznJQ.declareAvailable(\"navbarBTFLite\")));\n((window.$Nav && $Nav.declare(\"btf.full\")));\n((window.amznJQ && amznJQ.declareAvailable(\"navbarBTF\")));");
6719 geval("function ea437a567b8951405923f1dd8a451ff2fb8af4bd9(JSBNG__event) {\n if (((typeof (SitbReader) != \"undefined\"))) {\n SitbReader.LightboxActions.openReaderToPage(1, null, \"sib_dp_pop_fc\");\n return false;\n }\n;\n;\n};\n;");
6721 geval("function eca22cd4d1fddb66e7e1131bc9351a418482824c6(JSBNG__event) {\n if (((typeof (SitbReader) != \"undefined\"))) {\n SitbReader.LightboxActions.openReaderToPage(8, null, \"sib_dp_pop_toc\");\n return false;\n }\n;\n;\n};\n;");
6723 geval("function eebf57e7d48ea0f9b644a375f832fa5c8e39288cf(JSBNG__event) {\n if (((typeof (SitbReader) != \"undefined\"))) {\n SitbReader.LightboxActions.openReaderToPage(16, null, \"sib_dp_pop_ex\");\n return false;\n }\n;\n;\n};\n;");
6725 geval("function eb63132dcbd7e3b87dbd8bdc80c7e6ac74502dbe7(JSBNG__event) {\n if (((typeof (SitbReader) != \"undefined\"))) {\n SitbReader.LightboxActions.openReaderToPage(162, null, \"sib_dp_pop_idx\");\n return false;\n }\n;\n;\n};\n;");
6727 geval("function e39fa9a32ceb518df7bdc69775f88030eb625c2e3(JSBNG__event) {\n if (((typeof (SitbReader) != \"undefined\"))) {\n SitbReader.LightboxActions.openReaderToPage(172, null, \"sib_dp_pop_bc\");\n return false;\n }\n;\n;\n};\n;");
6729 geval("function e6986d4a6bbbcb9d93324d13a669fcdc0e3ea6a91(JSBNG__event) {\n if (((typeof (SitbReader) != \"undefined\"))) {\n SitbReader.LightboxActions.openReaderToRandomPage(\"sib_dp_pop_sup\");\n return false;\n }\n;\n;\n};\n;");
6731 geval("function eb7facf46f7d690d56a594a47a467286f97f1c942(JSBNG__event) {\n if (((typeof (SitbReader) != \"undefined\"))) {\n SitbReader.LightboxActions.openReaderToSearchResults(jQuery(\"#sitb-pop-inputbox\").val(), \"sib_dp_srch_pop\");\n return false;\n }\n;\n;\n};\n;");
6733 geval("function sitb_doHide() {\n return false;\n};\n;\nfunction sitb_showLayer() {\n return false;\n};\n;\namznJQ.available(\"popover\", function() {\n jQuery(\"div#main-image-wrapper\").amazonPopoverTrigger({\n localContent: \"#sitb-pop\",\n showOnHover: true,\n showCloseButton: false,\n hoverShowDelay: 500,\n hoverHideDelay: 300,\n width: 370,\n JSBNG__location: \"left\",\n locationOffset: [400,60,]\n });\n});");
6735 geval("function e12164597c6e7aa13331b796bcfccfe8d183171fc(JSBNG__event) {\n return amz_js_PopWin(this.href, \"AmazonHelp\", \"width=450,height=450,resizable=1,scrollbars=1,toolbar=1,status=1\");\n};\n;");
6737 geval("function e7b4b62ed63bb24fb5d3a93038a3297706881d76b(JSBNG__event) {\n showSLF();\n};\n;");
6739 geval("amznJQ.available(\"jQuery\", function() {\n var obj = [{\n provider: \"g\",\n description: \"Chosen by top software vendors. View 200+ examples & full docs\",\n title: \"Enterprise AJAX Framework\",\n redirectUrl: \"http://rd.a9.com/srv/redirect/?info=AJ2aNCtL004gUZilaUqVplhytp01bzPVgJJ3bkCyDuXa.ysPWYKB24QMbX-QebySto9ULrlyNSZtBaSCraJTXDMSTZBkjwvFW8KR26Svjz0nz8t8hwtSnDVSTo.XuhNlcujP-KXRnhlh066vVXN5ct9X2fkgOKScX-.pDOoCwCEMvfdruxWPd3fwfe8beBif8ted6tAWddScs3UIhHJLsgkA6LAnEUHEHtcNPklKm3u-em-OkkpRYhUJ.M.ZIT.ARmZME4PRFJaAox9poewcJ4EarmV6eJfSn56tgHFLwCoVt1Vlb4IZWQTYYfNMzPY2IclkWlMFcv2rkhL51Zv8xFEhQY.9ijSBMgJ4Pmg7Bk07982cITzmunqOqBqZ6gxQ7oaIj0wLKQ0DSHw6NDBbN14EsxUdMNBc6KzTaoRZsjHHJn3pbb29A.mMbwfmorkFOGFGLb15ZhbdF93rsWZL3DGDd6VK2rTEV7WbFEsJEdeUHOjenEEbVX6aFjRJ5Sn6Fi4GPwbtjEKZ82XVka3bZvx1XD2k-BPuf7vQtkiIsnDBjIWpHXz5YOWWl7DKoPoRLmjJbwyAZz0UFvzEXR.jFaU_&awt=1&s=\",\n visibleUrl: \"www.smartclient.com/\"\n },{\n provider: \"g\",\n description: \"Find \\u003Cb\\u003EJavascript The Good Parts\\u003C/b\\u003E; Online at Ask.com. Try It Now!\",\n title: \"\\u003Cb\\u003EJavascript The Good Parts\\u003C/b\\u003E\",\n redirectUrl: \"http://rd.a9.com/srv/redirect/?info=AAw22oUkV89YOFGxfDDlH6u3QuipCjwXNPADJhGtVhKmRNT-.UtjyUOp9meMW66jiezXALcN42o3ErWrKrXkBoefwATIdnv7yG1adPJFhjlxeLkNe-H6mAiC5AW7l4UjEEogzXYCm7HQ9tuP3w5RnMR.wNHmi5uJhA.L3YmDrIvGLubHZgwaR.YEBSbACFN5HuegXC.4J-dw4mtQrDr.swQ98AAYinLRiUlOxKGyOtB7ir8hUZjpdczGFQR8qDJKalgmVNjdtVMNRIr5iaoPvc7pNp5cekMaJtytCpr-7yiLAC74Dpgu1XHP8cUCPBEtxDyWKb3HCVd.gmm2AFsxYzmce82mAfTSxBKpjsu1J0.MmtcE6cLjEFUIAC-BIRZPUr7QSVWLjKOH8KC7sdviB1aswBjV8YnFSbyg8ThfurAAGKjB4s.3F7XcfXNw1RQGm5DR.A9qTYRGjgkiSKBrln2.26P0UKnwuqznKnFyOkQSBrFjo6uBuM06Hph8akuFb5g6pBJifrfLySKj2mjBZ9pJIeqhkk0IakQmKsNyTkRdH3k3P6og5vRb6USm2hx0vivYKBAcmFBqqxJfh9sPeawV.nDz4WDIpHRMi0hDJDZV01nMLxdY8W3AHD43jrNZmtYJl8H-gcnoy9OZdfpIkuktAmGi6EBf.Z5coT9aTCh2AC5ui-vfIeVK.8YeSzbmGTQRq41iUQmHP1ithj509oircsmKljZnsK1HjLtmSBm8QXR.LFc0wLtgyHAfC7Yko3-7OaCRHZNxJojnD4SOpeBIodhJV9WMyw__&awt=1&s=\",\n visibleUrl: \"www.ask.com/\\u003Cb\\u003EJavascript\\u003C/b\\u003E+The+\\u003Cb\\u003EGood\\u003C/b\\u003E+\\u003Cb\\u003EParts\\u003C/b\\u003E\"\n },{\n provider: \"g\",\n description: \"Generate dynamical PDF documents out of Word templates with PHP\",\n title: \"PDFs from Word Templates\",\n redirectUrl: \"http://rd.a9.com/srv/redirect/?info=ALi0gFkAA0jg0m7Pbw8dHMm4-F.FJUKh3W9vtatzasdLbfEvaXy044E.6nWJZcF3FNCJz2IeDKM0KMDyOjNbccH.jZ1V5.5LSGareqCvWuoiKbNoNNtXZdJfXK1rWnGR6iOXqBzmYAG739YWgdlE5KYQxIm37EouYm60ypa7QHiFtL2W0lZcFNu8ibcsJ78hQ2OJoa-cwKnwNkwtJ8VMhZb0Pn68z9s8kBuVVqnopeuk8S-hdiPzRVKSGqABaT.BmjokBVUHj6uQ5m9jBuXcLKJEQ1L5tMmxJuBFllwiNlss5HjvbJySUwS10.iolF6MzQoXGz10-OWhvPMjdirr6mgdhLBaih5xeH7xraSdxN2JAeJ4YkzzCYdcHUssyd79r7aJNG2hH3ETJlk01C50DvucL-sjH7K3lEWvjRZ8F6piLaZ6yKZTvTV2S2dvoE-BYoXU5Cy70Flwp1TeLt8MTg1IVWqIRja2wP.etnytjuUp4BnAtKGqd96G2LbZJsfnGCxwpQT8tLoDsAHwGXYc6JNrtSJVqFPzFENzdzHLcS1XlV9p5ZF.TlqYsHRbDmmYNG2S9YRTd68KVqYn92ccwfcZwnYzQrJJGw__&awt=1&s=\",\n visibleUrl: \"www.pdf-php.com/WordTemplates\"\n },];\n var adPropertiesDelimiter = \"__\";\n var adCount = 3;\n var slDiv = \"SlDiv\";\n var expectedHeightWide = 34;\n var expectedHeightMiddle = 56;\n var reformatType = \"0\";\n jQuery(window).load(function() {\n amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n var divWideName = ((slDiv + \"_0\"));\n var divMiddleName = ((slDiv + \"_1\"));\n var heightOfOneAd = ((jQuery(((\"#\" + divWideName))).height() / adCount));\n if (((heightOfOneAd > expectedHeightWide))) {\n reformatType = \"1\";\n var newAdsHtml = ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((\"\\u003Ctr\\u003E\" + \" \\u003Ctd\\u003E\")) + \" \\u003Cdiv class=\\\"SponsoredLinkItemTD\\\"\\u003E\")) + \" \\u003Cspan class = \\\"SponsoredLinkYellowBlockEnclosureTop\\\"\\u003E\")) + \" \\u003Cspan class=\\\"SponsoredLinkYellowBlockEnclosure\\\"\\u003E\")) + \" \\u003Cspan class=\\\"SponsoredLinkYellowBlock\\\"\\u003E \\u003C/span\\u003E \")) + \" \\u003C/span\\u003E\")) + \" \\u003C/span\\u003E \")) + \" \\u003C/div\\u003E\")) + \" \\u003C/td\\u003E\")) + \" \\u003Ctd\\u003E\")) + \" \\u003Cdiv class=\\\"SponsoredLinkTitle\\\"\\u003E\")) + \" \\u003Ca target=\\\"_blank\\\" href=\\\"\")) + adPropertiesDelimiter)) + \"redirectUrl\")) + adPropertiesDelimiter)) + \"\\\" rel=\\\"nofollow\\\"\\u003E\\u003Cb\\u003E\")) + adPropertiesDelimiter)) + \"title\")) + adPropertiesDelimiter)) + \"\\u003C/b\\u003E\\u003C/a\\u003E\")) + \" \\u003Ca target=\\\"_blank\\\" href=\\\"\")) + adPropertiesDelimiter)) + \"redirectUrl\")) + adPropertiesDelimiter)) + \"\\\" rel=\\\"nofollow\\\"\\u003E\\u003Cimg src=\\\"http://g-ecx.images-amazon.com/images/G/01/icons/icon-offsite-sl-7069-t4._V171196157_.png\\\" width=\\\"23\\\" alt=\\\"opens new browser window\\\" align=\\\"absbottom\\\" style=\\\"padding-bottom:0px; margin-bottom:0px;\\\" height=\\\"20\\\" border=\\\"0\\\" /\\u003E\\u003C/a\\u003E\")) + \" \\u003C/div\\u003E\")) + \" \\u003C/td\\u003E\")) + \" \\u003Ctd style=\\\"padding-left: 20px;\\\"\\u003E\")) + \" \\u003Cdiv class=\\\"SponsoredLinkDescriptionDIV\\\"\\u003E\")) + \" \\u003Cspan class=\\\"SponsoredLinkDescriptionText\\\"\\u003E\")) + adPropertiesDelimiter)) + \"description\")) + adPropertiesDelimiter)) + \"\\u003C/span\\u003E\")) + \" \\u003C/div\\u003E\")) + \" \\u003C/td\\u003E\")) + \"\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\")) + \" \\u003Ctd\\u003E\")) + \" \\u003C/td\\u003E\")) + \" \\u003Ctd\\u003E\")) + \" \\u003C/td\\u003E\")) + \" \\u003Ctd style=\\\"padding-left: 20px;\\\"\\u003E\")) + \" \\u003Cdiv class=\\\"SponsoredLinkDescriptionDIV\\\" style=\\\"padding-top:0px; padding-bottom:10px\\\"\\u003E\")) + \" \\u003Ca target=\\\"_blank\\\" href=\\\"\")) + adPropertiesDelimiter)) + \"redirectUrl\")) + adPropertiesDelimiter)) + \"\\\" rel=\\\"nofollow\\\" class=\\\"SponsoredLinkDescriptionUrlLink\\\"\\u003E\")) + adPropertiesDelimiter)) + \"visibleUrl\")) + adPropertiesDelimiter)) + \"\\u003C/a\\u003E\")) + \" \\u003C/div\\u003E\")) + \" \\u003C/td\\u003E\")) + \"\\u003C/tr\\u003E\"));\n dumpHtml(obj, newAdsHtml, \"\\u003Cdiv id=\\\"SlDiv_1\\\"\\u003E\\u003Cdiv id=\\\"A9AdsWidgetAdsWrapper\\\"\\u003E\\u003Ctable class=\\\"SponsoredLinkColumnAds\\\"\\u003E \\u003Ctbody\\u003E \", \"\\u003C/tbody\\u003E \\u003C/table\\u003E \\u003C/div\\u003E\\u003C/div\\u003E\", divWideName);\n var heightOfOneAd = ((jQuery(((\"#\" + divMiddleName))).height() / adCount));\n if (((heightOfOneAd > expectedHeightMiddle))) {\n reformatType = \"2\";\n var newAdsHtml = ((((((((((((((((((((((((((((((((((((((((((((((((\"\\u003Cdiv class=\\\"SponsoredLinkItemTD\\\"\\u003E \\u003Cspan class=\\\"SponsoredLinkYellowBlockEnclosureTop\\\"\\u003E\\u003Cspan class=\\\"SponsoredLinkYellowBlockEnclosure\\\"\\u003E\\u003Cspan class=\\\"SponsoredLinkYellowBlock\\\"\\u003E \\u003C/span\\u003E \\u003C/span\\u003E\\u003C/span\\u003E \\u003Ca target=\\\"_blank\\\" href=\\\"\" + adPropertiesDelimiter)) + \"redirectUrl\")) + adPropertiesDelimiter)) + \"\\\" rel=\\\"nofollow\\\"\\u003E\\u003Cb\\u003E\")) + adPropertiesDelimiter)) + \"title\")) + adPropertiesDelimiter)) + \"\\u003C/b\\u003E\\u003C/a\\u003E \\u003Ca rel=\\\"nofollow\\\" href=\\\"\")) + adPropertiesDelimiter)) + \"redirectUrl\")) + adPropertiesDelimiter)) + \"\\\" target=\\\"_blank\\\"\\u003E\\u003Cimg src=\\\"http://g-ecx.images-amazon.com/images/G/01/icons/icon-offsite-sl-7069-t4._V171196157_.png\\\" width=\\\"23\\\" alt=\\\"opens new browser window\\\" align=\\\"absbottom\\\" style=\\\"padding-bottom:0px; margin-bottom:0px;\\\" height=\\\"20\\\" border=\\\"0\\\" /\\u003E\\u003C/a\\u003E \\u003Cdiv class=\\\"SponsoredLinkDescription\\\"\\u003E \\u003Ca target=\\\"_blank\\\" href=\\\"\")) + adPropertiesDelimiter)) + \"redirectUrl\")) + adPropertiesDelimiter)) + \"\\\" rel=\\\"nofollow\\\" class=\\\"SponsoredLinkDescriptionUrlLink\\\"\\u003E\")) + adPropertiesDelimiter)) + \"visibleUrl\")) + adPropertiesDelimiter)) + \"\\u003C/a\\u003E \\u003C/div\\u003E \\u003Cdiv class=\\\"SponsoredLinkDescription\\\"\\u003E \\u003Cspan class=\\\"SponsoredLinkDescriptionText\\\"\\u003E\")) + adPropertiesDelimiter)) + \"description\")) + adPropertiesDelimiter)) + \"\\u003C/span\\u003E \\u003C/div\\u003E \\u003C/div\\u003E\"));\n dumpHtml(obj, newAdsHtml, \"\\u003Cdiv id=\\\"SlDiv_2\\\"\\u003E\\u003Cdiv id=\\\"A9AdsWidgetAdsWrapper\\\"\\u003E\", \"\\u003C/div\\u003E\\u003C/div\\u003E\", divMiddleName);\n }\n ;\n ;\n }\n ;\n ;\n if (((typeof A9_SL_CSM_JS != \"undefined\"))) {\n A9_SL_CSM_JS(reformatType);\n }\n ;\n ;\n });\n });\n function dumpHtml(obj, newAdsHtml, topHtml, bottomHtml, divParent) {\n var i = 0;\n var completeAdsHtml = \"\";\n {\n var fin8keys = ((window.top.JSBNG_Replay.forInKeys)((obj))), fin8i = (0);\n (0);\n for (; (fin8i < fin8keys.length); (fin8i++)) {\n ((x) = (fin8keys[fin8i]));\n {\n var adChunks = newAdsHtml.split(adPropertiesDelimiter);\n for (var j = 0; ((j < adChunks.length)); j++) {\n if (((typeof obj[i][adChunks[j]] != \"undefined\"))) {\n adChunks[j] = obj[i][adChunks[j]];\n }\n ;\n ;\n };\n ;\n completeAdsHtml += adChunks.join(\"\");\n i++;\n };\n };\n };\n ;\n newAdsHtml = ((((topHtml + completeAdsHtml)) + bottomHtml));\n jQuery(((\"#\" + divParent))).replaceWith(newAdsHtml);\n };\n;\n});\nvar jsonAds = \"[{\\\"provider\\\":\\\"g\\\",\\\"description\\\":\\\"Chosen by top software vendors. View 200+ examples & full docs\\\",\\\"title\\\":\\\"Enterprise AJAX Framework\\\",\\\"redirectUrl\\\":\\\"http://rd.a9.com/srv/redirect/?info=AJ2aNCtL004gUZilaUqVplhytp01bzPVgJJ3bkCyDuXa.ysPWYKB24QMbX-QebySto9ULrlyNSZtBaSCraJTXDMSTZBkjwvFW8KR26Svjz0nz8t8hwtSnDVSTo.XuhNlcujP-KXRnhlh066vVXN5ct9X2fkgOKScX-.pDOoCwCEMvfdruxWPd3fwfe8beBif8ted6tAWddScs3UIhHJLsgkA6LAnEUHEHtcNPklKm3u-em-OkkpRYhUJ.M.ZIT.ARmZME4PRFJaAox9poewcJ4EarmV6eJfSn56tgHFLwCoVt1Vlb4IZWQTYYfNMzPY2IclkWlMFcv2rkhL51Zv8xFEhQY.9ijSBMgJ4Pmg7Bk07982cITzmunqOqBqZ6gxQ7oaIj0wLKQ0DSHw6NDBbN14EsxUdMNBc6KzTaoRZsjHHJn3pbb29A.mMbwfmorkFOGFGLb15ZhbdF93rsWZL3DGDd6VK2rTEV7WbFEsJEdeUHOjenEEbVX6aFjRJ5Sn6Fi4GPwbtjEKZ82XVka3bZvx1XD2k-BPuf7vQtkiIsnDBjIWpHXz5YOWWl7DKoPoRLmjJbwyAZz0UFvzEXR.jFaU_&awt=1&s=\\\",\\\"visibleUrl\\\":\\\"www.smartclient.com/\\\"},{\\\"provider\\\":\\\"g\\\",\\\"description\\\":\\\"Find \\u003Cb\\u003EJavascript The Good Parts\\u003C/b\\u003E; Online at Ask.com. Try It Now!\\\",\\\"title\\\":\\\"\\u003Cb\\u003EJavascript The Good Parts\\u003C/b\\u003E\\\",\\\"redirectUrl\\\":\\\"http://rd.a9.com/srv/redirect/?info=AAw22oUkV89YOFGxfDDlH6u3QuipCjwXNPADJhGtVhKmRNT-.UtjyUOp9meMW66jiezXALcN42o3ErWrKrXkBoefwATIdnv7yG1adPJFhjlxeLkNe-H6mAiC5AW7l4UjEEogzXYCm7HQ9tuP3w5RnMR.wNHmi5uJhA.L3YmDrIvGLubHZgwaR.YEBSbACFN5HuegXC.4J-dw4mtQrDr.swQ98AAYinLRiUlOxKGyOtB7ir8hUZjpdczGFQR8qDJKalgmVNjdtVMNRIr5iaoPvc7pNp5cekMaJtytCpr-7yiLAC74Dpgu1XHP8cUCPBEtxDyWKb3HCVd.gmm2AFsxYzmce82mAfTSxBKpjsu1J0.MmtcE6cLjEFUIAC-BIRZPUr7QSVWLjKOH8KC7sdviB1aswBjV8YnFSbyg8ThfurAAGKjB4s.3F7XcfXNw1RQGm5DR.A9qTYRGjgkiSKBrln2.26P0UKnwuqznKnFyOkQSBrFjo6uBuM06Hph8akuFb5g6pBJifrfLySKj2mjBZ9pJIeqhkk0IakQmKsNyTkRdH3k3P6og5vRb6USm2hx0vivYKBAcmFBqqxJfh9sPeawV.nDz4WDIpHRMi0hDJDZV01nMLxdY8W3AHD43jrNZmtYJl8H-gcnoy9OZdfpIkuktAmGi6EBf.Z5coT9aTCh2AC5ui-vfIeVK.8YeSzbmGTQRq41iUQmHP1ithj509oircsmKljZnsK1HjLtmSBm8QXR.LFc0wLtgyHAfC7Yko3-7OaCRHZNxJojnD4SOpeBIodhJV9WMyw__&awt=1&s=\\\",\\\"visibleUrl\\\":\\\"www.ask.com/\\u003Cb\\u003EJavascript\\u003C/b\\u003E+The+\\u003Cb\\u003EGood\\u003C/b\\u003E+\\u003Cb\\u003EParts\\u003C/b\\u003E\\\"},{\\\"provider\\\":\\\"g\\\",\\\"description\\\":\\\"Generate dynamical PDF documents out of Word templates with PHP\\\",\\\"title\\\":\\\"PDFs from Word Templates\\\",\\\"redirectUrl\\\":\\\"http://rd.a9.com/srv/redirect/?info=ALi0gFkAA0jg0m7Pbw8dHMm4-F.FJUKh3W9vtatzasdLbfEvaXy044E.6nWJZcF3FNCJz2IeDKM0KMDyOjNbccH.jZ1V5.5LSGareqCvWuoiKbNoNNtXZdJfXK1rWnGR6iOXqBzmYAG739YWgdlE5KYQxIm37EouYm60ypa7QHiFtL2W0lZcFNu8ibcsJ78hQ2OJoa-cwKnwNkwtJ8VMhZb0Pn68z9s8kBuVVqnopeuk8S-hdiPzRVKSGqABaT.BmjokBVUHj6uQ5m9jBuXcLKJEQ1L5tMmxJuBFllwiNlss5HjvbJySUwS10.iolF6MzQoXGz10-OWhvPMjdirr6mgdhLBaih5xeH7xraSdxN2JAeJ4YkzzCYdcHUssyd79r7aJNG2hH3ETJlk01C50DvucL-sjH7K3lEWvjRZ8F6piLaZ6yKZTvTV2S2dvoE-BYoXU5Cy70Flwp1TeLt8MTg1IVWqIRja2wP.etnytjuUp4BnAtKGqd96G2LbZJsfnGCxwpQT8tLoDsAHwGXYc6JNrtSJVqFPzFENzdzHLcS1XlV9p5ZF.TlqYsHRbDmmYNG2S9YRTd68KVqYn92ccwfcZwnYzQrJJGw__&awt=1&s=\\\",\\\"visibleUrl\\\":\\\"www.pdf-php.com/WordTemplates\\\"}]\";\nfunction enableFeedbackLinkDiv() {\n amznJQ.onReady(\"jQuery\", function() {\n jQuery(\"#ShowFeedbackLinkDiv\").show();\n });\n};\n;\nenableFeedbackLinkDiv();\nvar flag = 1;\nfunction showSLF() {\n if (((flag == 1))) {\n jQuery.post(\"/gp/product/handler.html\", {\n sid: \"177-2724246-1767538\",\n jsonAds: escape(jsonAds)\n }, function(data) {\n jQuery(\"#FeedbackFormDiv\").html(data);\n jQuery(\"#FeedbackFormDiv\").show();\n jQuery(\"#ShowFeedbackLinkDiv\").hide();\n jQuery(\"#ResponseFeedbackLinkDiv\").hide();\n flag = 0;\n });\n }\n else {\n jQuery(\"#reports-ads-abuse-form\").show();\n jQuery(\"#FeedbackFormDiv\").show();\n jQuery(\"#reports-ads-abuse\").show();\n jQuery(\"#ShowFeedbackLinkDiv\").hide();\n jQuery(\"#ResponseFeedbackLinkDiv\").hide();\n }\n;\n;\n};\n;");
6741 geval("function eb5afc37659316972838b2498108c35808983376f(JSBNG__event) {\n return false;\n};\n;");
6743 geval("function e80a769177d00456a176fbb81073dc811af7afbae(JSBNG__event) {\n return false;\n};\n;");
6745 geval("function ed24857301d54d9e736435a86f215a3d034c4f097(JSBNG__event) {\n return false;\n};\n;");
6747 geval("function efd762d09faefd756387821da1d4611d4ac4fbe54(JSBNG__event) {\n amznJQ.available(\"jQuery\", function() {\n window.AMZN_LIKE_SUBMIT = true;\n });\n return false;\n};\n;");
6749 geval("amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n amznJQ.available(\"amazonLike\", function() {\n var stateCache = new AmazonLikeStateCache(\"amznLikeStateCache_17727242461767538_dp_asin_0596517742\");\n stateCache.init();\n stateCache.ready(function() {\n if (((stateCache.getTimestamp() < 1373480090))) {\n stateCache.set(\"isLiked\", ((jQuery(\"#amznLikeStateCache_17727242461767538_dp_asin_0596517742_isLiked\").text() == \"true\")));\n stateCache.set(\"customerWhitelistStatus\", parseInt(jQuery(\"#amznLikeStateCache_17727242461767538_dp_asin_0596517742_customerWhitelistStatus\").text()));\n stateCache.set(\"likeCount\", parseInt(jQuery(\"#amznLikeStateCache_17727242461767538_dp_asin_0596517742_likeCount\").text()));\n stateCache.set(\"commifiedLikeCount\", jQuery(\"#amznLikeStateCache_17727242461767538_dp_asin_0596517742_commifiedLikeCount\").text());\n stateCache.set(\"commifiedLikeCountMinusOne\", jQuery(\"#amznLikeStateCache_17727242461767538_dp_asin_0596517742_commifiedLikeCountMinusOne\").text());\n stateCache.set(\"ts\", \"1373480090\");\n }\n ;\n ;\n if (!window.amznLikeStateCache) {\n window.amznLikeStateCache = {\n };\n }\n ;\n ;\n window.amznLikeStateCache[\"amznLikeStateCache_17727242461767538_dp_asin_0596517742\"] = stateCache;\n });\n var amznLikeDiv = jQuery(\"#amznLike_0596517742\");\n var stateCache = window.amznLikeStateCache[\"amznLikeStateCache_17727242461767538_dp_asin_0596517742\"];\n amznLikeDiv.remove();\n var amznLike;\n amznLike = amznLikeDiv.amazonLike({\n context: \"dp\",\n itemId: \"0596517742\",\n itemType: \"asin\",\n isLiked: stateCache.get(\"isLiked\"),\n customerWhitelistStatus: stateCache.get(\"customerWhitelistStatus\"),\n isCustomerSignedIn: false,\n isOnHover: false,\n isPressed: false,\n popoverWidth: 335,\n popoverAlign: \"right\",\n popoverOffset: 0,\n sessionId: \"177-2724246-1767538\",\n likeCount: stateCache.get(\"likeCount\"),\n commifiedLikeCount: stateCache.get(\"commifiedLikeCount\"),\n commifiedLikeCountMinusOne: stateCache.get(\"commifiedLikeCountMinusOne\"),\n isSignInRedirect: false,\n shareText: \"Share this item\",\n onBeforeAttachPopoverCallback: function() {\n jQuery(\"#likeAndShareBar\").append(amznLikeDiv).show();\n },\n spriteURL: \"http://g-ecx.images-amazon.com/images/G/01/x-locale/personalization/amznlike/amznlike_sprite_02._V196113939_.gif\",\n buttonOnClass: \"JSBNG__on\",\n buttonOffClass: \"off\",\n buttonPressedClass: \"pressed\",\n popoverHTML: ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((\"\\u003Cdiv id=\" + \"\\\"\")) + \"amazonLikePopoverWrapper_0596517742\")) + \"\\\"\")) + \" class=\")) + \"\\\"\")) + \"amazonLikePopoverWrapper amazonLikeContext_dp\")) + \"\\\"\")) + \" \\u003E\")) + String.fromCharCode(13))) + \"\\u003Cdiv class=\")) + \"\\\"\")) + \"amazonLikeBeak \")) + \"\\\"\")) + \"\\u003E \\u003C/div\\u003E \\u003Cdiv class=\")) + \"\\\"\")) + \"amazonLikePopover\")) + \"\\\"\")) + \"\\u003E\")) + String.fromCharCode(13))) + \"\\u003Cdiv class=\")) + \"\\\"\")) + \"likePopoverError\")) + \"\\\"\")) + \" style=\")) + \"\\\"\")) + \"display: none;\")) + \"\\\"\")) + \"\\u003E\")) + String.fromCharCode(13))) + \"\\u003Cspan class=\")) + \"\\\"\")) + \"error\")) + \"\\\"\")) + \" style=\")) + \"\\\"\")) + \"color: #900;\")) + \"\\\"\")) + \"\\u003E\\u003Cstrong\\u003EAn error has occurred. Please try your request again.\\u003C/strong\\u003E\\u003C/span\\u003E\")) + String.fromCharCode(13))) + \"\\u003C/div\\u003E\")) + String.fromCharCode(13))) + \"\\u003Cdiv class=\")) + \"\\\"\")) + \"likeOffPopoverContent\")) + \"\\\"\")) + \" \\u003E\")) + String.fromCharCode(13))) + \"\\u003Cdiv\\u003E\")) + String.fromCharCode(13))) + \"\\u003Cdiv class=\")) + \"\\\"\")) + \"likeCountText likeCountLoadingIndicator\")) + \"\\\"\")) + \" style=\")) + \"\\\"\")) + \"display: none;\")) + \"\\\"\")) + \"\\u003E\\u003Cimg src=\")) + \"\\\"\")) + \"http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/snake._V192571611_.gif\")) + \"\\\"\")) + \" width=\")) + \"\\\"\")) + \"16\")) + \"\\\"\")) + \" alt=\")) + \"\\\"\")) + \"Loading\")) + \"\\\"\")) + \" height=\")) + \"\\\"\")) + \"16\")) + \"\\\"\")) + \" border=\")) + \"\\\"\")) + \"0\")) + \"\\\"\")) + \" /\\u003E\\u003C/div\\u003E\")) + String.fromCharCode(13))) + \"\\u003Cspan style=\")) + \"\\\"\")) + \"font-weight: bold;\")) + \"\\\"\")) + \"\\u003E\\u003Ca class=\")) + \"\\\"\")) + \"likeSignInLink\")) + \"\\\"\")) + \" href=\")) + \"\\\"\")) + \"/gp/like/sign-in/sign-in.html/ref=pd_like_unrec_signin_nojs_dp?ie=UTF8&isRedirect=1&location=%2Fgp%2Flike%2Fexternal%2Fsubmit.html%2Fref%3Dpd_like_submit_like_unrec_nojs_dp%3Fie%3DUTF8%26action%3Dlike%26context%3Ddp%26itemId%3D0596517742%26itemType%3Dasin%26redirect%3D1%26redirectPath%3D%252Fgp%252Fproduct%252F0596517742%253Fref%25255F%253Dsr%25255F1%25255F1%2526s%253Dbooks%2526qid%253D1373480082%2526sr%253D1-1%2526keywords%253Djavascript%252520the%252520good%252520parts&useRedirectOnSuccess=1\")) + \"\\\"\")) + \"\\u003ESign in to like this\\u003C/a\\u003E.\\u003C/span\\u003E\")) + String.fromCharCode(13))) + \"\\u003C/div\\u003E\")) + String.fromCharCode(13))) + \"\\u003Cdiv class=\")) + \"\\\"\")) + \"spacer\")) + \"\\\"\")) + \"\\u003ETelling us what you like can improve your shopping experience. \\u003Ca class=\")) + \"\\\"\")) + \"grayLink\")) + \"\\\"\")) + \" href=\")) + \"\\\"\")) + \"/gp/help/customer/display.html/ref=pd_like_help_dp?ie=UTF8&nodeId=13316081#like\")) + \"\\\"\")) + \"\\u003ELearn more\\u003C/a\\u003E\\u003C/div\\u003E\")) + String.fromCharCode(13))) + \"\\u003C/div\\u003E\")) + String.fromCharCode(13))) + \"\\u003C/div\\u003E\")) + String.fromCharCode(13))) + \"\\u003C/div\\u003E\")),\n stateCache: stateCache\n });\n if (window.AMZN_LIKE_SUBMIT) {\n amznLike.onLike();\n }\n ;\n ;\n });\n});");
6751 geval("amznJQ.onReady(\"lazyLoadLib\", function() {\n jQuery(\"#customer_discussions_lazy_load_div\").lazyLoadContent({\n threshold: 400,\n url: \"/gp/rcxll/dpview/0596517742?ie=UTF8&enableDiscussionsRelatedForums=1&keywords=javascript%20the%20good%20parts&qid=1373480082&ref_=sr_1_1&s=books&sr=1-1&vi=custdiscuss\",\n metrics: true,\n JSBNG__name: \"customer_discussions\",\n cache: true\n });\n});");
6753 geval("amznJQ.onReady(\"lazyLoadLib\", function() {\n jQuery(\"#dp_bottom_lazy_lazy_load_div\").lazyLoadContent({\n threshold: 1200,\n url: \"/gp/rcxll/dpview/0596517742?ie=UTF8&keywords=javascript%20the%20good%20parts&qid=1373480082&ref_=sr_1_1&s=books&sr=1-1&vi=zbottest\",\n metrics: true,\n JSBNG__name: \"dp_bottom_lazy\",\n cache: true\n });\n});");
6755 geval("amznJQ.onReady(\"popover\", function() {\n jQuery(\"#ns_0H7NC1MNEB4A52DXKGX7_313_1_hmd_pricing_feedback_trigger_hmd\").amazonPopoverTrigger({\n title: \"Tell Us About a Lower Price\",\n destination: \"/gp/pdp/pf/pricingFeedbackForm.html/ref=sr_1_1_pfhmd?ie=UTF8&ASIN=0596517742&PREFIX=ns_0H7NC1MNEB4A52DXKGX7_313_2_&from=hmd&keywords=javascript%20the%20good%20parts&originalURI=%2Fgp%2Fproduct%2F0596517742&qid=1373480082&s=books&sr=1-1&storeID=books\",\n showOnHover: false,\n draggable: true\n });\n});");
6757 geval("var auiJavaScriptPIsAvailable = ((((typeof P === \"object\")) && ((typeof P.when === \"function\"))));\nvar rhfShovelerBootstrapFunction = function($) {\n (function($) {\n window.RECS_rhfShvlLoading = false;\n window.RECS_rhfShvlLoaded = false;\n window.RECS_rhfInView = false;\n window.RECS_rhfMetrics = {\n };\n $(\"#rhf_container\").show();\n var rhfShvlEventHandler = function() {\n if (((((!window.RECS_rhfShvlLoaded && !window.RECS_rhfShvlLoading)) && (($(\"#rhf_container\").size() > 0))))) {\n var yPosition = (($(window).scrollTop() + $(window).height()));\n var rhfElementFound = $(\"#rhfMainHeading\").size();\n var rhfPosition = $(\"#rhfMainHeading\").offset().JSBNG__top;\n if (/webkit.*mobile/i.test(JSBNG__navigator.userAgent)) {\n rhfPosition -= $(window).scrollTop();\n }\n ;\n ;\n if (((rhfElementFound && ((((rhfPosition - yPosition)) < 400))))) {\n window.RECS_rhfMetrics[\"start\"] = (new JSBNG__Date()).getTime();\n window.RECS_rhfShvlLoading = true;\n var handleSuccess = function(html) {\n $(\"#rhf_container\").html(html);\n $(\"#rhf0Shvl\").trigger(\"render-shoveler\");\n window.RECS_rhfShvlLoaded = true;\n window.RECS_rhfMetrics[\"loaded\"] = (new JSBNG__Date()).getTime();\n };\n var handleError = function() {\n $(\"#rhf_container\").hide();\n $(\"#rhf_error\").show();\n window.RECS_rhfMetrics[\"loaded\"] = \"error\";\n };\n var ajaxURL = \"/gp/history/external/full-rhf-rec-handler.html\";\n var ajaxArgs = {\n type: \"POST\",\n timeout: 10000,\n data: {\n shovelerName: \"rhf0\",\n key: \"rhf\",\n numToPreload: \"8\",\n isGateway: 0,\n refTag: \"pd_rhf_dp\",\n parentSession: \"177-2724246-1767538\",\n relatedRequestId: \"0H7NC1MNEB4A52DXKGX7\",\n excludeASIN: \"0596517742\",\n renderPopover: 0,\n forceSprites: 1,\n currentPageType: \"Detail\",\n currentSubPageType: \"Glance\",\n searchAlias: \"\",\n keywords: \"amF2YXNjcmlwdCB0aGUgZ29vZCBwYXJ0cw==\",\n node: \"\",\n ASIN: \"\",\n searchResults: \"\",\n isAUI: 0\n },\n dataType: \"json\",\n success: function(data, JSBNG__status) {\n if (((((((typeof (data) === \"object\")) && data.success)) && data.html))) {\n handleSuccess(data.html);\n if (((((typeof (P) === \"object\")) && ((typeof (P.when) === \"function\"))))) {\n P.when(\"jQuery\", \"a-carousel-framework\").execute(function(jQuery, framework) {\n jQuery(\"#rhf_upsell_div .a-carousel-viewport\").addClass(\"a-carousel-slide\");\n framework.createAll();\n });\n }\n ;\n ;\n }\n else {\n handleError();\n }\n ;\n ;\n },\n error: function(xhr, JSBNG__status) {\n handleError();\n }\n };\n if (((((typeof (P) === \"object\")) && ((typeof (P.when) === \"function\"))))) {\n P.when(\"A\").execute(function(A) {\n A.$.ajax(ajaxURL, ajaxArgs);\n });\n }\n else {\n ajaxArgs[\"url\"] = ajaxURL;\n $.ajax(ajaxArgs);\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n };\n var rhfInView = function() {\n if (((!window.RECS_rhfInView && (($(\"#rhf_container\").size() > 0))))) {\n var yPosition = (($(window).scrollTop() + $(window).height()));\n var rhfElementFound = (($(\"#rhfMainHeading\").size() > 0));\n var rhfPosition = $(\"#rhfMainHeading\").offset().JSBNG__top;\n if (/webkit.*mobile/i.test(JSBNG__navigator.userAgent)) {\n rhfPosition -= $(window).scrollTop();\n }\n ;\n ;\n if (((rhfElementFound && ((((rhfPosition - yPosition)) < 0))))) {\n window.RECS_rhfInView = true;\n window.RECS_rhfMetrics[\"inView\"] = (new JSBNG__Date()).getTime();\n }\n ;\n ;\n }\n ;\n ;\n };\n window.rhfYBHTurnOn = function() {\n $.ajax({\n url: \"/gp/history/external/full-rhf-ybh-on-handler.html\",\n type: \"POST\",\n timeout: 2000,\n data: {\n parentSession: \"177-2724246-1767538\"\n },\n dataType: \"text\",\n success: function(data, JSBNG__status) {\n $(\"#yourBrowsingHistoryOnText\").JSBNG__find(\"p\").html(\"You don't have any recently viewed Items.\");\n $(\"#rhf-ybh-turn-on-link\").hide();\n }\n });\n };\n $(JSBNG__document).ready(rhfShvlEventHandler);\n $(window).JSBNG__scroll(rhfShvlEventHandler);\n $(JSBNG__document).ready(rhfInView);\n $(window).JSBNG__scroll(rhfInView);\n })($);\n};\nif (((((typeof (P) === \"object\")) && ((typeof (P.when) === \"function\"))))) {\n P.when(\"jQuery\", \"ready\").register(\"rhf-bootstrapper\", function($) {\n return {\n bootstrap: function() {\n return rhfShovelerBootstrapFunction($);\n }\n };\n });\n P.when(\"rhf-bootstrapper\").execute(function(rhfBootstrapper) {\n rhfBootstrapper.bootstrap();\n });\n}\n else {\n amznJQ.onReady(\"jQuery\", function() {\n rhfShovelerBootstrapFunction(jQuery);\n });\n}\n;\n;");
6759 geval("(function(a, b) {\n ((a.JSBNG__attachEvent ? a.JSBNG__attachEvent(\"JSBNG__onload\", b) : ((a.JSBNG__addEventListener && a.JSBNG__addEventListener(\"load\", b, !1)))));\n})(window, ((window.top.JSBNG_Replay.push)((window.top.JSBNG_Replay.s19bfa2ac1e19f511e50bfae28fc42f693a531db5_1), function() {\n JSBNG__setTimeout(((window.top.JSBNG_Replay.push)((window.top.JSBNG_Replay.s19bfa2ac1e19f511e50bfae28fc42f693a531db5_2), function() {\n var el = JSBNG__document.getElementById(\"sis_pixel_r2\");\n ((el && (el.innerHTML = \"\\u003Cdiv id=\\\"DAsis\\\" src=\\\"//s.amazon-adsystem.com/iu3?d=amazon.com&slot=navFooter&a2=0101f47d94d9f275a489e67268ab7d6041bd0ca77c55dc59bd08a530f9403a4fd206&old_oo=0&cb=1373480090105\\\" width=\\\"1\\\" height=\\\"1\\\" frameborder=\\\"0\\\" marginwidth=\\\"0\\\" marginheight=\\\"0\\\" scrolling=\\\"no\\\"\\u003E\\u003C/div\\u003E\")));\n })), 300);\n})));");
6761 geval("amznJQ.addLogical(\"amazonLike\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/amazonLike/amazonLike-682075628._V1_.js\",]);");
6763 geval("amznJQ.onReady(\"jQuery\", function() {\n jQuery(\".MHRExpandLink\").click(function(JSBNG__event) {\n JSBNG__event.preventDefault();\n jQuery(this).hide();\n var parent = jQuery(this).parent();\n var fullText = ((parent.JSBNG__find(\".MHRHead\").html() + parent.JSBNG__find(\".MHRRest\").html()));\n var pxInitialSize = parent.height();\n parent.html(fullText);\n var pxTargetSize = parent.height();\n parent.height(pxInitialSize);\n parent.animate({\n height: ((pxTargetSize + \"px\"))\n });\n });\n});\namznJQ.onReady(\"jQuery\", function() {\n var voteAjaxDefaultBeforeSendReviews = function(buttonAnchor, buttonContainer, messageContainer) {\n messageContainer.html(\"Sending feedback...\");\n buttonContainer.hide();\n messageContainer.show();\n };\n var voteAjaxDefaultSuccessReviews = function(aData, aStatus, buttonAnchor, buttonContainer, messageContainer, isNoButton, inappUrl) {\n if (((aData.redirect == 1))) {\n return window.JSBNG__location.href = buttonAnchor.children[0].href;\n }\n ;\n ;\n if (((aData.error == 1))) {\n jQuery(buttonContainer.children()[0]).html(\"Sorry, we failed to record your vote. Please try again\");\n messageContainer.hide();\n buttonContainer.show();\n }\n else {\n messageContainer.html(\"Thank you for your feedback.\");\n if (((isNoButton == 1))) {\n messageContainer.append(\"\\u003Cspan class=\\\"black gl5\\\"\\u003EIf this review is inappropriate, \\u003Ca href=\\\"http://www.amazon.com/gp/voting/cast/Reviews/2115/RNX5PEPWHPSHW/Inappropriate/1/ref=cm_cr_dp_abuse_voteyn?ie=UTF8&target=&token=DC1039DFDCA9C50F6F3A24F9CA28ACE096511B78&voteAnchorName=RNX5PEPWHPSHW.2115.Inappropriate.Reviews&voteSessionID=177-2724246-1767538\\\" class=\\\"noTextDecoration\\\" style=\\\"color: #039;\\\" \\u003Eplease let us know.\\u003C/a\\u003E\\u003C/span\\u003E\");\n messageContainer.JSBNG__find(\"a\").attr(\"href\", inappUrl);\n }\n ;\n ;\n messageContainer.addClass(\"green\");\n }\n ;\n ;\n };\n var voteAjaxDefaultErrorReviews = function(aStatus, aError, buttonAnchor, buttonContainer, messageContainer) {\n jQuery(buttonContainer.children()[0]).html(\"Sorry, we failed to record your vote. Please try again\");\n messageContainer.hide();\n buttonContainer.show();\n };\n jQuery(\".votingButtonReviews\").each(function() {\n jQuery(this).unbind(\"click.vote.Reviews\");\n jQuery(this).bind(\"click.vote.Reviews\", function() {\n var buttonAnchor = this;\n var buttonContainer = jQuery(this).parent();\n var messageContainer = jQuery(buttonContainer).next(\".votingMessage\");\n var inappUrl = messageContainer.children()[0].href;\n var isNoButton = jQuery(this).hasClass(\"noButton\");\n jQuery.ajax({\n type: \"GET\",\n dataType: \"json\",\n ajaxTimeout: 10000,\n cache: false,\n beforeSend: function() {\n voteAjaxDefaultBeforeSendReviews(buttonAnchor, buttonContainer, messageContainer);\n },\n success: function(data, textStatus) {\n voteAjaxDefaultSuccessReviews(data, textStatus, buttonAnchor, buttonContainer, messageContainer, isNoButton, inappUrl);\n },\n error: function(JSBNG__XMLHttpRequest, textStatus, errorThrown) {\n voteAjaxDefaultErrorReviews(textStatus, errorThrown, buttonAnchor, buttonContainer, messageContainer);\n },\n url: ((buttonAnchor.children[0].href + \"&type=json\"))\n });\n return false;\n });\n });\n});");
6765 geval("if (((amznJQ && amznJQ.addPL))) {\n amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/cs/css/images/amznbtn-sprite03._V387356454_.png\");\n amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/gno/images/orangeBlue/navPackedSprites-US-22._V141013035_.png\");\n amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/common/login/fwcim._V369602065_.js\");\n amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/common/buttons/sign-in-secure._V192194766_.gif\");\n amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/common/errors-alerts/error-styles-ssl._V219086192_.css\");\n amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/authportal/common/js/ap_global-1.1._V371300931_.js\");\n amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/orderApplication/js/authPortal/sign-in._V375965495_.js\");\n amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/authportal/common/css/ap_global._V379708561_.css\");\n amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/authportal/flex/reduced-nav/ap-flex-reduced-nav-2.0._V393733149_.js\");\n amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/checkout/signin-banner._V192194415_.gif\");\n amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/javascripts/lib/jquery/jquery-1.2.6.min._V253690767_.js\");\n amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/advertising/dev/js/live/adSnippet._V142890782_.js\");\n amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/authportal/flex/reduced-nav/ap-flex-reduced-nav-2.1._V382581933_.css\");\n amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/orderApplication/css/authPortal/sign-in._V392399058_.css\");\n amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/common/transparent-pixel._V386942464_.gif\");\n amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/authportal/common/images/amazon_logo_no-org_mid._V153387053_.png\");\n}\n;\n;");
6767 geval("if (((window.amznJQ && amznJQ.addPL))) {\n amznJQ.addPL([\"http://z-ecx.images-amazon.com/images/G/01/AUIClients/AmazonUI.aff0ce299d8ddf2009c96f8326e68987a8ae59df.min._V1_.css\",\"http://z-ecx.images-amazon.com/images/G/01/AUIClients/AmazonUIPageJS.0dc375a02ca444aee997ad607d84d1385192713c.min._V384607259_.js\",\"http://z-ecx.images-amazon.com/images/G/01/AUIClients/AmazonUI.e8545a213b3c87a7feb5d35882c39903ed6997cb.min._V397413143_.js\",]);\n}\n;\n;");
6769 geval("amznJQ.available(\"jQuery\", function() {\n jQuery(window).load(function() {\n JSBNG__setTimeout(function() {\n var imageAssets = new Array();\n var jsCssAssets = new Array();\n imageAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/common/buy-buttons/review-1-click-order._V192251243_.gif\");\n imageAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/common/buttons/continue-shopping._V192193522_.gif\");\n imageAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/common/buy-buttons/thank-you-elbow._V192238786_.gif\");\n imageAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/communities/social/snwicons_v2._V369764580_.png\");\n imageAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/checkout/assets/carrot._V192196173_.gif\");\n imageAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/checkout/thank-you-page/assets/yellow-rounded-corner-sprite._V192238288_.gif\");\n imageAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/checkout/thank-you-page/assets/white-rounded-corner-sprite._V192259929_.gif\");\n imageAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/gno/beacon/BeaconSprite-US-01._V397411194_.png\");\n imageAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/common/transparent-pixel._V386942464_.gif\");\n jsCssAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/nav2/gamma/share-with-friends-css-new/share-with-friends-css-new-share-17385.css._V154656367_.css\");\n jsCssAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/nav2/gamma/share-with-friends-js-new/share-with-friends-js-new-share-2043.js._V157885514_.js\");\n jsCssAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/nav2/gamma/websiteGridCSS/websiteGridCSS-websiteGridCSS-48346.css._V176526456_.css\");\n imageAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/I/51gdVAEfPUL._SX35_.jpg\");\n jsCssAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/browser-scripts/us-site-wide-css-beacon/site-wide-6804619766._V1_.css\");\n jsCssAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/browser-scripts/site-wide-js-1.2.6-beacon/site-wide-11198044143._V1_.js\");\n for (var i = 0; ((i < imageAssets.length)); i++) {\n new JSBNG__Image().src = imageAssets[i];\n };\n ;\n var isIE = 0;\n var isFireFox = /Firefox/.test(JSBNG__navigator.userAgent);\n if (isIE) {\n for (var i = 0; ((i < jsCssAssets.length)); i++) {\n new JSBNG__Image().src = jsCssAssets[i];\n };\n ;\n }\n else if (isFireFox) {\n for (var i = 0; ((i < jsCssAssets.length)); i++) {\n var o = JSBNG__document.createElement(\"object\");\n o.data = jsCssAssets[i];\n o.width = o.height = 0;\n JSBNG__document.body.appendChild(o);\n };\n ;\n }\n \n ;\n ;\n }, 2000);\n });\n});");
6771 geval("var ocInitTimestamp = 1373480090;\namznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n amznJQ.available(\"jQuery\", function() {\n jQuery.ajax({\n url: \"http://z-ecx.images-amazon.com/images/G/01/orderApplication/javascript/pipeline/201201041713-ocd._V394759207_.js\",\n dataType: \"script\",\n cache: true\n });\n });\n});");
6773 geval("if (((!window.$SearchJS && window.$Nav))) {\n window.$SearchJS = $Nav.make();\n}\n;\n;\nif (window.$SearchJS) {\n $SearchJS.when(\"jQuery\").run(function(jQuery) {\n if (((jQuery.fn.jquery == \"1.2.6\"))) {\n var windowUnloadHandlers = jQuery.data(window, \"events\").unload;\n {\n var fin9keys = ((window.top.JSBNG_Replay.forInKeys)((windowUnloadHandlers))), fin9i = (0);\n var origUnloadUnbinder;\n for (; (fin9i < fin9keys.length); (fin9i++)) {\n ((origUnloadUnbinder) = (fin9keys[fin9i]));\n {\n break;\n };\n };\n };\n ;\n jQuery(window).unbind(\"unload\", windowUnloadHandlers[origUnloadUnbinder]).unload(function() {\n if (jQuery.browser.msie) {\n var elems = JSBNG__document.getElementsByTagName(\"*\"), pos = ((elems.length + 1)), dummy = {\n };\n jQuery.data(dummy);\n {\n var fin10keys = ((window.top.JSBNG_Replay.forInKeys)((dummy))), fin10i = (0);\n var expando;\n for (; (fin10i < fin10keys.length); (fin10i++)) {\n ((expando) = (fin10keys[fin10i]));\n {\n ;\n };\n };\n };\n ;\n while (pos--) {\n var elem = ((elems[pos] || JSBNG__document)), id = elem[expando];\n if (((((id && jQuery.cache[id])) && jQuery.cache[id].events))) {\n jQuery.JSBNG__event.remove(elem);\n }\n ;\n ;\n };\n ;\n }\n ;\n ;\n });\n }\n ;\n ;\n });\n (function() {\n var origPreloader = ((((((window.amznJQ && window.amznJQ.addPL)) || ((window.A && window.A.preload)))) || (function() {\n \n }))), preloader = origPreloader;\n preloader([\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/search-css/search-css-1522082039._V1_.css\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/page-ajax/page-ajax-1808621310._V1_.js\",\"http://g-ecx.images-amazon.com/images/G/01/nav2/images/gui/searchSprite._V380202855_.png\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/us-site-wide-css-beacon/site-wide-6804619766._V1_.css\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/clickWithinSearchPageStatic/clickWithinSearchPageStatic-907040417._V1_.css\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/search-js-general/search-js-general-1348801466._V1_.js\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/search-ajax/search-ajax-3419689035._V1_.js\",\"http://g-ecx.images-amazon.com/images/G/01/gno/beacon/BeaconSprite-US-01._V397411194_.png\",\"http://g-ecx.images-amazon.com/images/G/01/x-locale/common/transparent-pixel._V386942464_.gif\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/site-wide-js-1.6.4-beacon/site-wide-11900254310._V1_.js\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/forester-client/forester-client-1094892990._V1_.js\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/csmCELLS/csmCELLS-2626677177._V1_.js\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/jserrors/jserrors-1871966242._V1_.js\",]);\n })();\n}\n;\n;");
6775 geval("(function(a) {\n if (((JSBNG__document.ue_backdetect && JSBNG__document.ue_backdetect.ue_back))) {\n a.ue.bfini = JSBNG__document.ue_backdetect.ue_back.value;\n }\n;\n;\n if (a.uet) {\n a.uet(\"be\");\n }\n;\n;\n if (a.onLdEnd) {\n if (window.JSBNG__addEventListener) {\n window.JSBNG__addEventListener(\"load\", a.onLdEnd, false);\n }\n else {\n if (window.JSBNG__attachEvent) {\n window.JSBNG__attachEvent(\"JSBNG__onload\", a.onLdEnd);\n }\n ;\n ;\n }\n ;\n ;\n }\n;\n;\n if (a.ueh) {\n a.ueh(0, window, \"load\", a.onLd, 1);\n }\n;\n;\n if (((a.ue_pr && ((((a.ue_pr == 3)) || ((a.ue_pr == 4))))))) {\n a.ue._uep();\n }\n;\n;\n})(ue_csm);");
6777 geval("(function(a) {\n a._uec = function(d) {\n var h = window, b = h.JSBNG__performance, f = ((b ? b.navigation.type : 0));\n if (((f == 0))) {\n var e = ((\"; expires=\" + new JSBNG__Date(((+new JSBNG__Date + 604800000))).toGMTString())), c = ((+new JSBNG__Date - ue_t0));\n if (((c > 0))) {\n var g = ((\"|\" + +new JSBNG__Date));\n JSBNG__document.cookie = ((((((((\"csm-hit=\" + ((d / c)).toFixed(2))) + g)) + e)) + \"; path=/\"));\n }\n ;\n ;\n }\n ;\n ;\n };\n})(ue_csm);\n_uec(452453);");
6779 fpc.call(JSBNG_Replay.s23fdf1998fb4cb0dea31f7ff9caa5c49cd23230d_11[0], o5,o2);
6785 fpc.call(JSBNG_Replay.s27f27cc0a8f393a5b2b9cfab146b0487a0fed46c_0[0], o6,o13);
6791 geval("try {\n (function() {\n var initJQuery = function() {\n var jQuery126PatchDelay = 13;\n var _jQuery = window.jQuery, _$ = window.$;\n var jQuery = window.jQuery = window.$ = function(selector, context) {\n return new jQuery.fn.init(selector, context);\n };\n var quickExpr = /^[^<]*(<(.|\\s)+>)[^>]*$|^#(\\w+)$/, isSimple = /^.[^:#\\[\\.]*$/, undefined;\n jQuery.fn = jQuery.prototype = {\n init: function(selector, context) {\n selector = ((selector || JSBNG__document));\n if (selector.nodeType) {\n this[0] = selector;\n this.length = 1;\n return this;\n }\n ;\n ;\n if (((typeof selector == \"string\"))) {\n var match = quickExpr.exec(selector);\n if (((match && ((match[1] || !context))))) {\n if (match[1]) {\n selector = jQuery.clean([match[1],], context);\n }\n else {\n var elem = JSBNG__document.getElementById(match[3]);\n if (elem) {\n if (((elem.id != match[3]))) {\n return jQuery().JSBNG__find(selector);\n }\n ;\n ;\n return jQuery(elem);\n }\n ;\n ;\n selector = [];\n }\n ;\n ;\n }\n else {\n return jQuery(context).JSBNG__find(selector);\n }\n ;\n ;\n }\n else {\n if (jQuery.isFunction(selector)) {\n return jQuery(JSBNG__document)[((jQuery.fn.ready ? \"ready\" : \"load\"))](selector);\n }\n ;\n ;\n }\n ;\n ;\n return this.setArray(jQuery.makeArray(selector));\n },\n jquery: \"1.2.6\",\n size: function() {\n return this.length;\n },\n length: 0,\n get: function(num) {\n return ((((num == undefined)) ? jQuery.makeArray(this) : this[num]));\n },\n pushStack: function(elems) {\n var ret = jQuery(elems);\n ret.prevObject = this;\n return ret;\n },\n setArray: function(elems) {\n this.length = 0;\n Array.prototype.push.apply(this, elems);\n return this;\n },\n each: function(callback, args) {\n return jQuery.each(this, callback, args);\n },\n index: function(elem) {\n var ret = -1;\n return jQuery.inArray(((((elem && elem.jquery)) ? elem[0] : elem)), this);\n },\n attr: function(JSBNG__name, value, type) {\n var options = JSBNG__name;\n if (((JSBNG__name.constructor == String))) {\n if (((value === undefined))) {\n return ((this[0] && jQuery[((type || \"attr\"))](this[0], JSBNG__name)));\n }\n else {\n options = {\n };\n options[JSBNG__name] = value;\n }\n ;\n ;\n }\n ;\n ;\n return this.each(function(i) {\n {\n var fin11keys = ((window.top.JSBNG_Replay.forInKeys)((options))), fin11i = (0);\n (0);\n for (; (fin11i < fin11keys.length); (fin11i++)) {\n ((name) = (fin11keys[fin11i]));\n {\n jQuery.attr(((type ? this.style : this)), JSBNG__name, jQuery.prop(this, options[JSBNG__name], type, i, JSBNG__name));\n };\n };\n };\n ;\n });\n },\n css: function(key, value) {\n if (((((((key == \"width\")) || ((key == \"height\")))) && ((parseFloat(value) < 0))))) {\n value = undefined;\n }\n ;\n ;\n return this.attr(key, value, \"curCSS\");\n },\n text: function(text) {\n if (((((typeof text != \"object\")) && ((text != null))))) {\n return this.empty().append(((((this[0] && this[0].ownerDocument)) || JSBNG__document)).createTextNode(text));\n }\n ;\n ;\n var ret = \"\";\n jQuery.each(((text || this)), function() {\n jQuery.each(this.childNodes, function() {\n if (((this.nodeType != 8))) {\n ret += ((((this.nodeType != 1)) ? this.nodeValue : jQuery.fn.text([this,])));\n }\n ;\n ;\n });\n });\n return ret;\n },\n wrapAll: function(html) {\n if (this[0]) {\n jQuery(html, this[0].ownerDocument).clone().insertBefore(this[0]).map(function() {\n var elem = this;\n while (elem.firstChild) {\n elem = elem.firstChild;\n };\n ;\n return elem;\n }).append(this);\n }\n ;\n ;\n return this;\n },\n wrapInner: function(html) {\n return this.each(function() {\n jQuery(this).contents().wrapAll(html);\n });\n },\n wrap: function(html) {\n return this.each(function() {\n jQuery(this).wrapAll(html);\n });\n },\n append: function() {\n return this.domManip(arguments, true, false, function(elem) {\n if (((this.nodeType == 1))) {\n this.appendChild(elem);\n }\n ;\n ;\n });\n },\n prepend: function() {\n return this.domManip(arguments, true, true, function(elem) {\n if (((this.nodeType == 1))) {\n this.insertBefore(elem, this.firstChild);\n }\n ;\n ;\n });\n },\n before: function() {\n return this.domManip(arguments, false, false, function(elem) {\n this.parentNode.insertBefore(elem, this);\n });\n },\n after: function() {\n return this.domManip(arguments, false, true, function(elem) {\n this.parentNode.insertBefore(elem, this.nextSibling);\n });\n },\n end: function() {\n return ((this.prevObject || jQuery([])));\n },\n JSBNG__find: function(selector) {\n var elems = jQuery.map(this, function(elem) {\n return jQuery.JSBNG__find(selector, elem);\n });\n return this.pushStack(((((/[^+>] [^+>]/.test(selector) || ((selector.indexOf(\"..\") > -1)))) ? jQuery.unique(elems) : elems)));\n },\n clone: function(events) {\n var ret = this.map(function() {\n if (((jQuery.browser.msie && !jQuery.isXMLDoc(this)))) {\n var clone = this.cloneNode(true), container = JSBNG__document.createElement(\"div\");\n container.appendChild(clone);\n return jQuery.clean([container.innerHTML,])[0];\n }\n else {\n return this.cloneNode(true);\n }\n ;\n ;\n });\n var clone = ret.JSBNG__find(\"*\").andSelf().each(function() {\n if (((this[expando] != undefined))) {\n this[expando] = null;\n }\n ;\n ;\n });\n if (((events === true))) {\n this.JSBNG__find(\"*\").andSelf().each(function(i) {\n if (((this.nodeType == 3))) {\n return;\n }\n ;\n ;\n var events = jQuery.data(this, \"events\");\n {\n var fin12keys = ((window.top.JSBNG_Replay.forInKeys)((events))), fin12i = (0);\n var type;\n for (; (fin12i < fin12keys.length); (fin12i++)) {\n ((type) = (fin12keys[fin12i]));\n {\n {\n var fin13keys = ((window.top.JSBNG_Replay.forInKeys)((events[type]))), fin13i = (0);\n var handler;\n for (; (fin13i < fin13keys.length); (fin13i++)) {\n ((handler) = (fin13keys[fin13i]));\n {\n jQuery.JSBNG__event.add(clone[i], type, events[type][handler], events[type][handler].data);\n };\n };\n };\n ;\n };\n };\n };\n ;\n });\n }\n ;\n ;\n return ret;\n },\n filter: function(selector) {\n return this.pushStack(((((jQuery.isFunction(selector) && jQuery.grep(this, function(elem, i) {\n return selector.call(elem, i);\n }))) || jQuery.multiFilter(selector, this))));\n },\n not: function(selector) {\n if (((selector.constructor == String))) {\n if (isSimple.test(selector)) {\n return this.pushStack(jQuery.multiFilter(selector, this, true));\n }\n else {\n selector = jQuery.multiFilter(selector, this);\n }\n ;\n ;\n }\n ;\n ;\n var isArrayLike = ((((selector.length && ((selector[((selector.length - 1))] !== undefined)))) && !selector.nodeType));\n return this.filter(function() {\n return ((isArrayLike ? ((jQuery.inArray(this, selector) < 0)) : ((this != selector))));\n });\n },\n add: function(selector) {\n return this.pushStack(jQuery.unique(jQuery.merge(this.get(), ((((typeof selector == \"string\")) ? jQuery(selector) : jQuery.makeArray(selector))))));\n },\n is: function(selector) {\n return ((!!selector && ((jQuery.multiFilter(selector, this).length > 0))));\n },\n hasClass: function(selector) {\n return this.is(((\".\" + selector)));\n },\n val: function(value) {\n if (((value == undefined))) {\n if (this.length) {\n var elem = this[0];\n if (jQuery.nodeName(elem, \"select\")) {\n var index = elem.selectedIndex, values = [], options = elem.options, one = ((elem.type == \"select-one\"));\n if (((index < 0))) {\n return null;\n }\n ;\n ;\n for (var i = ((one ? index : 0)), max = ((one ? ((index + 1)) : options.length)); ((i < max)); i++) {\n var option = options[i];\n if (option.selected) {\n value = ((((jQuery.browser.msie && !option.attributes.value.specified)) ? option.text : option.value));\n if (one) {\n return value;\n }\n ;\n ;\n values.push(value);\n }\n ;\n ;\n };\n ;\n return values;\n }\n else {\n return ((this[0].value || \"\")).replace(/\\r/g, \"\");\n }\n ;\n ;\n }\n ;\n ;\n return undefined;\n }\n ;\n ;\n if (((value.constructor == Number))) {\n value += \"\";\n }\n ;\n ;\n return this.each(function() {\n if (((this.nodeType != 1))) {\n return;\n }\n ;\n ;\n if (((((value.constructor == Array)) && /radio|checkbox/.test(this.type)))) {\n this.checked = ((((jQuery.inArray(this.value, value) >= 0)) || ((jQuery.inArray(this.JSBNG__name, value) >= 0))));\n }\n else {\n if (jQuery.nodeName(this, \"select\")) {\n var values = jQuery.makeArray(value);\n jQuery(\"option\", this).each(function() {\n this.selected = ((((jQuery.inArray(this.value, values) >= 0)) || ((jQuery.inArray(this.text, values) >= 0))));\n });\n if (!values.length) {\n this.selectedIndex = -1;\n }\n ;\n ;\n }\n else {\n this.value = value;\n }\n ;\n ;\n }\n ;\n ;\n });\n },\n html: function(value) {\n return ((((value == undefined)) ? ((this[0] ? this[0].innerHTML : null)) : this.empty().append(value)));\n },\n replaceWith: function(value) {\n return this.after(value).remove();\n },\n eq: function(i) {\n return this.slice(i, ((i + 1)));\n },\n slice: function() {\n return this.pushStack(Array.prototype.slice.apply(this, arguments));\n },\n map: function(callback) {\n return this.pushStack(jQuery.map(this, function(elem, i) {\n return callback.call(elem, i, elem);\n }));\n },\n andSelf: function() {\n return this.add(this.prevObject);\n },\n data: function(key, value) {\n var parts = key.split(\".\");\n parts[1] = ((parts[1] ? ((\".\" + parts[1])) : \"\"));\n if (((value === undefined))) {\n var data = this.triggerHandler(((((\"getData\" + parts[1])) + \"!\")), [parts[0],]);\n if (((((data === undefined)) && this.length))) {\n data = jQuery.data(this[0], key);\n }\n ;\n ;\n return ((((((data === undefined)) && parts[1])) ? this.data(parts[0]) : data));\n }\n else {\n return this.trigger(((((\"setData\" + parts[1])) + \"!\")), [parts[0],value,]).each(function() {\n jQuery.data(this, key, value);\n });\n }\n ;\n ;\n },\n removeData: function(key) {\n return this.each(function() {\n jQuery.removeData(this, key);\n });\n },\n domManip: function(args, table, reverse, callback) {\n var clone = ((this.length > 1)), elems;\n return this.each(function() {\n if (!elems) {\n elems = jQuery.clean(args, this.ownerDocument);\n if (reverse) {\n elems.reverse();\n }\n ;\n ;\n }\n ;\n ;\n var obj = this;\n if (((((table && jQuery.nodeName(this, \"table\"))) && jQuery.nodeName(elems[0], \"tr\")))) {\n obj = ((this.getElementsByTagName(\"tbody\")[0] || this.appendChild(this.ownerDocument.createElement(\"tbody\"))));\n }\n ;\n ;\n var scripts = jQuery([]);\n jQuery.each(elems, function() {\n var elem = ((clone ? jQuery(this).clone(true)[0] : this));\n if (jQuery.nodeName(elem, \"script\")) {\n scripts = scripts.add(elem);\n }\n else {\n if (((elem.nodeType == 1))) {\n scripts = scripts.add(jQuery(\"script\", elem).remove());\n }\n ;\n ;\n callback.call(obj, elem);\n }\n ;\n ;\n });\n scripts.each(evalScript);\n });\n }\n };\n jQuery.fn.init.prototype = jQuery.fn;\n function evalScript(i, elem) {\n if (elem.src) {\n jQuery.ajax({\n url: elem.src,\n async: false,\n dataType: \"script\"\n });\n }\n else {\n jQuery.globalEval(((((((elem.text || elem.textContent)) || elem.innerHTML)) || \"\")));\n }\n ;\n ;\n if (elem.parentNode) {\n elem.parentNode.removeChild(elem);\n }\n ;\n ;\n };\n ;\n function now() {\n return +new JSBNG__Date;\n };\n ;\n jQuery.extend = jQuery.fn.extend = function() {\n var target = ((arguments[0] || {\n })), i = 1, length = arguments.length, deep = false, options;\n if (((target.constructor == Boolean))) {\n deep = target;\n target = ((arguments[1] || {\n }));\n i = 2;\n }\n ;\n ;\n if (((((typeof target != \"object\")) && ((typeof target != \"function\"))))) {\n target = {\n };\n }\n ;\n ;\n if (((length == i))) {\n target = this;\n --i;\n }\n ;\n ;\n for (; ((i < length)); i++) {\n if ((((options = arguments[i]) != null))) {\n {\n var fin14keys = ((window.top.JSBNG_Replay.forInKeys)((options))), fin14i = (0);\n var JSBNG__name;\n for (; (fin14i < fin14keys.length); (fin14i++)) {\n ((name) = (fin14keys[fin14i]));\n {\n var src = target[JSBNG__name], copy = options[JSBNG__name];\n if (((target === copy))) {\n continue;\n }\n ;\n ;\n if (((((((deep && copy)) && ((typeof copy == \"object\")))) && !copy.nodeType))) {\n target[JSBNG__name] = jQuery.extend(deep, ((src || ((((copy.length != null)) ? [] : {\n })))), copy);\n }\n else {\n if (((copy !== undefined))) {\n target[JSBNG__name] = copy;\n }\n ;\n ;\n }\n ;\n ;\n };\n };\n };\n ;\n }\n ;\n ;\n };\n ;\n return target;\n };\n var expando = ((\"jQuery\" + now())), uuid = 0, windowData = {\n }, exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i, defaultView = ((JSBNG__document.defaultView || {\n }));\n jQuery.extend({\n noConflict: function(deep) {\n window.$ = _$;\n if (deep) {\n window.jQuery = _jQuery;\n }\n ;\n ;\n return jQuery;\n },\n isFunction: function(fn) {\n return ((((((((!!fn && ((typeof fn != \"string\")))) && !fn.nodeName)) && ((fn.constructor != Array)))) && /^[\\s[]?function/.test(((fn + \"\")))));\n },\n isXMLDoc: function(elem) {\n return ((((elem.documentElement && !elem.body)) || ((((elem.tagName && elem.ownerDocument)) && !elem.ownerDocument.body))));\n },\n globalEval: function(data) {\n data = jQuery.trim(data);\n if (data) {\n var head = ((JSBNG__document.getElementsByTagName(\"head\")[0] || JSBNG__document.documentElement)), script = JSBNG__document.createElement(\"script\");\n script.type = \"text/javascript\";\n if (jQuery.browser.msie) {\n script.text = data;\n }\n else {\n script.appendChild(JSBNG__document.createTextNode(data));\n }\n ;\n ;\n head.insertBefore(script, head.firstChild);\n head.removeChild(script);\n }\n ;\n ;\n },\n nodeName: function(elem, JSBNG__name) {\n return ((elem.nodeName && ((elem.nodeName.toUpperCase() == JSBNG__name.toUpperCase()))));\n },\n cache: {\n },\n data: function(elem, JSBNG__name, data) {\n elem = ((((elem == window)) ? windowData : elem));\n var id = elem[expando];\n if (!id) {\n id = elem[expando] = ++uuid;\n }\n ;\n ;\n if (((JSBNG__name && !jQuery.cache[id]))) {\n jQuery.cache[id] = {\n };\n }\n ;\n ;\n if (((data !== undefined))) {\n jQuery.cache[id][JSBNG__name] = data;\n }\n ;\n ;\n return ((JSBNG__name ? jQuery.cache[id][JSBNG__name] : id));\n },\n removeData: function(elem, JSBNG__name) {\n elem = ((((elem == window)) ? windowData : elem));\n var id = elem[expando];\n if (JSBNG__name) {\n if (jQuery.cache[id]) {\n delete jQuery.cache[id][JSBNG__name];\n JSBNG__name = \"\";\n {\n var fin15keys = ((window.top.JSBNG_Replay.forInKeys)((jQuery.cache[id]))), fin15i = (0);\n (0);\n for (; (fin15i < fin15keys.length); (fin15i++)) {\n ((name) = (fin15keys[fin15i]));\n {\n break;\n };\n };\n };\n ;\n if (!JSBNG__name) {\n jQuery.removeData(elem);\n }\n ;\n ;\n }\n ;\n ;\n }\n else {\n try {\n delete elem[expando];\n } catch (e) {\n if (elem.removeAttribute) {\n elem.removeAttribute(expando);\n }\n ;\n ;\n };\n ;\n delete jQuery.cache[id];\n }\n ;\n ;\n },\n each: function(object, callback, args) {\n var JSBNG__name, i = 0, length = object.length;\n if (args) {\n if (((length == undefined))) {\n {\n var fin16keys = ((window.top.JSBNG_Replay.forInKeys)((object))), fin16i = (0);\n (0);\n for (; (fin16i < fin16keys.length); (fin16i++)) {\n ((name) = (fin16keys[fin16i]));\n {\n if (((callback.apply(object[JSBNG__name], args) === false))) {\n break;\n }\n ;\n ;\n };\n };\n };\n ;\n }\n else {\n for (; ((i < length)); ) {\n if (((callback.apply(object[i++], args) === false))) {\n break;\n }\n ;\n ;\n };\n ;\n }\n ;\n ;\n }\n else {\n if (((length == undefined))) {\n {\n var fin17keys = ((window.top.JSBNG_Replay.forInKeys)((object))), fin17i = (0);\n (0);\n for (; (fin17i < fin17keys.length); (fin17i++)) {\n ((name) = (fin17keys[fin17i]));\n {\n if (((callback.call(object[JSBNG__name], JSBNG__name, object[JSBNG__name]) === false))) {\n break;\n }\n ;\n ;\n };\n };\n };\n ;\n }\n else {\n for (var value = object[0]; ((((i < length)) && ((callback.call(value, i, value) !== false)))); value = object[++i]) {\n \n };\n ;\n }\n ;\n ;\n }\n ;\n ;\n return object;\n },\n prop: function(elem, value, type, i, JSBNG__name) {\n if (jQuery.isFunction(value)) {\n value = value.call(elem, i);\n }\n ;\n ;\n return ((((((((value && ((value.constructor == Number)))) && ((type == \"curCSS\")))) && !exclude.test(JSBNG__name))) ? ((value + \"px\")) : value));\n },\n className: {\n add: function(elem, classNames) {\n jQuery.each(((classNames || \"\")).split(/\\s+/), function(i, className) {\n if (((((elem.nodeType == 1)) && !jQuery.className.has(elem.className, className)))) {\n elem.className += ((((elem.className ? \" \" : \"\")) + className));\n }\n ;\n ;\n });\n },\n remove: function(elem, classNames) {\n if (((elem.nodeType == 1))) {\n elem.className = ((((classNames != undefined)) ? jQuery.grep(elem.className.split(/\\s+/), function(className) {\n return !jQuery.className.has(classNames, className);\n }).join(\" \") : \"\"));\n }\n ;\n ;\n },\n has: function(elem, className) {\n return ((jQuery.inArray(className, ((elem.className || elem)).toString().split(/\\s+/)) > -1));\n }\n },\n swap: function(elem, options, callback) {\n var old = {\n };\n {\n var fin18keys = ((window.top.JSBNG_Replay.forInKeys)((options))), fin18i = (0);\n var JSBNG__name;\n for (; (fin18i < fin18keys.length); (fin18i++)) {\n ((name) = (fin18keys[fin18i]));\n {\n old[JSBNG__name] = elem.style[JSBNG__name];\n elem.style[JSBNG__name] = options[JSBNG__name];\n };\n };\n };\n ;\n callback.call(elem);\n {\n var fin19keys = ((window.top.JSBNG_Replay.forInKeys)((options))), fin19i = (0);\n var JSBNG__name;\n for (; (fin19i < fin19keys.length); (fin19i++)) {\n ((name) = (fin19keys[fin19i]));\n {\n elem.style[JSBNG__name] = old[JSBNG__name];\n };\n };\n };\n ;\n },\n css: function(elem, JSBNG__name, force) {\n if (((((JSBNG__name == \"width\")) || ((JSBNG__name == \"height\"))))) {\n var val, props = {\n position: \"absolute\",\n visibility: \"hidden\",\n display: \"block\"\n }, which = ((((JSBNG__name == \"width\")) ? [\"Left\",\"Right\",] : [\"Top\",\"Bottom\",]));\n function getWH() {\n val = ((((JSBNG__name == \"width\")) ? elem.offsetWidth : elem.offsetHeight));\n var padding = 0, border = 0;\n jQuery.each(which, function() {\n padding += ((parseFloat(jQuery.curCSS(elem, ((\"padding\" + this)), true)) || 0));\n border += ((parseFloat(jQuery.curCSS(elem, ((((\"border\" + this)) + \"Width\")), true)) || 0));\n });\n val -= Math.round(((padding + border)));\n };\n ;\n if (jQuery(elem).is(\":visible\")) {\n getWH();\n }\n else {\n jQuery.swap(elem, props, getWH);\n }\n ;\n ;\n return Math.max(0, val);\n }\n ;\n ;\n return jQuery.curCSS(elem, JSBNG__name, force);\n },\n curCSS: function(elem, JSBNG__name, force) {\n var ret, style = elem.style;\n function color(elem) {\n if (!jQuery.browser.safari) {\n return false;\n }\n ;\n ;\n var ret = defaultView.JSBNG__getComputedStyle(elem, null);\n return ((!ret || ((ret.getPropertyValue(\"color\") == \"\"))));\n };\n ;\n if (((((JSBNG__name == \"opacity\")) && jQuery.browser.msie))) {\n ret = jQuery.attr(style, \"opacity\");\n return ((((ret == \"\")) ? \"1\" : ret));\n }\n ;\n ;\n if (((jQuery.browser.JSBNG__opera && ((JSBNG__name == \"display\"))))) {\n var save = style.outline;\n style.outline = \"0 solid black\";\n style.outline = save;\n }\n ;\n ;\n if (JSBNG__name.match(/float/i)) {\n JSBNG__name = styleFloat;\n }\n ;\n ;\n if (((((!force && style)) && style[JSBNG__name]))) {\n ret = style[JSBNG__name];\n }\n else {\n if (defaultView.JSBNG__getComputedStyle) {\n if (JSBNG__name.match(/float/i)) {\n JSBNG__name = \"float\";\n }\n ;\n ;\n JSBNG__name = JSBNG__name.replace(/([A-Z])/g, \"-$1\").toLowerCase();\n var computedStyle = defaultView.JSBNG__getComputedStyle(elem, null);\n if (((computedStyle && !color(elem)))) {\n ret = computedStyle.getPropertyValue(JSBNG__name);\n }\n else {\n var swap = [], stack = [], a = elem, i = 0;\n for (; ((a && color(a))); a = a.parentNode) {\n stack.unshift(a);\n };\n ;\n for (; ((i < stack.length)); i++) {\n if (color(stack[i])) {\n swap[i] = stack[i].style.display;\n stack[i].style.display = \"block\";\n }\n ;\n ;\n };\n ;\n ret = ((((((JSBNG__name == \"display\")) && ((swap[((stack.length - 1))] != null)))) ? \"none\" : ((((computedStyle && computedStyle.getPropertyValue(JSBNG__name))) || \"\"))));\n for (i = 0; ((i < swap.length)); i++) {\n if (((swap[i] != null))) {\n stack[i].style.display = swap[i];\n }\n ;\n ;\n };\n ;\n }\n ;\n ;\n if (((((JSBNG__name == \"opacity\")) && ((ret == \"\"))))) {\n ret = \"1\";\n }\n ;\n ;\n }\n else {\n if (elem.currentStyle) {\n var camelCase = JSBNG__name.replace(/\\-(\\w)/g, function(all, letter) {\n return letter.toUpperCase();\n });\n ret = ((elem.currentStyle[JSBNG__name] || elem.currentStyle[camelCase]));\n if (((!/^\\d+(px)?$/i.test(ret) && /^\\d/.test(ret)))) {\n var left = style.left, rsLeft = elem.runtimeStyle.left;\n elem.runtimeStyle.left = elem.currentStyle.left;\n style.left = ((ret || 0));\n ret = ((style.pixelLeft + \"px\"));\n style.left = left;\n elem.runtimeStyle.left = rsLeft;\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n return ret;\n },\n clean: function(elems, context) {\n var ret = [];\n context = ((context || JSBNG__document));\n if (((typeof context.createElement == \"undefined\"))) {\n context = ((((context.ownerDocument || ((context[0] && context[0].ownerDocument)))) || JSBNG__document));\n }\n ;\n ;\n jQuery.each(elems, function(i, elem) {\n if (!elem) {\n return;\n }\n ;\n ;\n if (((elem.constructor == Number))) {\n elem += \"\";\n }\n ;\n ;\n if (((typeof elem == \"string\"))) {\n elem = elem.replace(/(<(\\w+)[^>]*?)\\/>/g, function(all, front, tag) {\n return ((tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ? all : ((((((front + \"\\u003E\\u003C/\")) + tag)) + \"\\u003E\"))));\n });\n var tags = jQuery.trim(elem).toLowerCase(), div = context.createElement(\"div\");\n var wrap = ((((((((((((((((!tags.indexOf(\"\\u003Copt\") && [1,\"\\u003Cselect multiple='multiple'\\u003E\",\"\\u003C/select\\u003E\",])) || ((!tags.indexOf(\"\\u003Cleg\") && [1,\"\\u003Cfieldset\\u003E\",\"\\u003C/fieldset\\u003E\",])))) || ((tags.match(/^<(thead|tbody|tfoot|colg|cap)/) && [1,\"\\u003Ctable\\u003E\",\"\\u003C/table\\u003E\",])))) || ((!tags.indexOf(\"\\u003Ctr\") && [2,\"\\u003Ctable\\u003E\\u003Ctbody\\u003E\",\"\\u003C/tbody\\u003E\\u003C/table\\u003E\",])))) || ((((!tags.indexOf(\"\\u003Ctd\") || !tags.indexOf(\"\\u003Cth\"))) && [3,\"\\u003Ctable\\u003E\\u003Ctbody\\u003E\\u003Ctr\\u003E\",\"\\u003C/tr\\u003E\\u003C/tbody\\u003E\\u003C/table\\u003E\",])))) || ((!tags.indexOf(\"\\u003Ccol\") && [2,\"\\u003Ctable\\u003E\\u003Ctbody\\u003E\\u003C/tbody\\u003E\\u003Ccolgroup\\u003E\",\"\\u003C/colgroup\\u003E\\u003C/table\\u003E\",])))) || ((jQuery.browser.msie && [1,\"div\\u003Cdiv\\u003E\",\"\\u003C/div\\u003E\",])))) || [0,\"\",\"\",]));\n div.innerHTML = ((((wrap[1] + elem)) + wrap[2]));\n while (wrap[0]--) {\n div = div.lastChild;\n };\n ;\n if (jQuery.browser.msie) {\n var tbody = ((((!tags.indexOf(\"\\u003Ctable\") && ((tags.indexOf(\"\\u003Ctbody\") < 0)))) ? ((div.firstChild && div.firstChild.childNodes)) : ((((((wrap[1] == \"\\u003Ctable\\u003E\")) && ((tags.indexOf(\"\\u003Ctbody\") < 0)))) ? div.childNodes : []))));\n for (var j = ((tbody.length - 1)); ((j >= 0)); --j) {\n if (((jQuery.nodeName(tbody[j], \"tbody\") && !tbody[j].childNodes.length))) {\n tbody[j].parentNode.removeChild(tbody[j]);\n }\n ;\n ;\n };\n ;\n if (/^\\s/.test(elem)) {\n div.insertBefore(context.createTextNode(elem.match(/^\\s*/)[0]), div.firstChild);\n }\n ;\n ;\n }\n ;\n ;\n elem = jQuery.makeArray(div.childNodes);\n }\n ;\n ;\n if (((((elem.length === 0)) && ((!jQuery.nodeName(elem, \"form\") && !jQuery.nodeName(elem, \"select\")))))) {\n return;\n }\n ;\n ;\n if (((((((elem[0] == undefined)) || jQuery.nodeName(elem, \"form\"))) || elem.options))) {\n ret.push(elem);\n }\n else {\n ret = jQuery.merge(ret, elem);\n }\n ;\n ;\n });\n return ret;\n },\n attr: function(elem, JSBNG__name, value) {\n if (((((!elem || ((elem.nodeType == 3)))) || ((elem.nodeType == 8))))) {\n return undefined;\n }\n ;\n ;\n var notxml = !jQuery.isXMLDoc(elem), set = ((value !== undefined)), msie = jQuery.browser.msie;\n JSBNG__name = ((((notxml && jQuery.props[JSBNG__name])) || JSBNG__name));\n if (elem.tagName) {\n var special = /href|src|style/.test(JSBNG__name);\n if (((((JSBNG__name == \"selected\")) && jQuery.browser.safari))) {\n elem.parentNode.selectedIndex;\n }\n ;\n ;\n if (((((((JSBNG__name in elem)) && notxml)) && !special))) {\n if (set) {\n if (((((((JSBNG__name == \"type\")) && jQuery.nodeName(elem, \"input\"))) && elem.parentNode))) {\n throw \"type property can't be changed\";\n }\n ;\n ;\n elem[JSBNG__name] = value;\n }\n ;\n ;\n if (((jQuery.nodeName(elem, \"form\") && elem.getAttributeNode(JSBNG__name)))) {\n return elem.getAttributeNode(JSBNG__name).nodeValue;\n }\n ;\n ;\n return elem[JSBNG__name];\n }\n ;\n ;\n if (((((msie && notxml)) && ((JSBNG__name == \"style\"))))) {\n return jQuery.attr(elem.style, \"cssText\", value);\n }\n ;\n ;\n if (set) {\n elem.setAttribute(JSBNG__name, ((\"\" + value)));\n }\n ;\n ;\n var attr = ((((((msie && notxml)) && special)) ? elem.getAttribute(JSBNG__name, 2) : elem.getAttribute(JSBNG__name)));\n return ((((attr === null)) ? undefined : attr));\n }\n ;\n ;\n if (((msie && ((JSBNG__name == \"opacity\"))))) {\n if (set) {\n elem.zoom = 1;\n elem.filter = ((((elem.filter || \"\")).replace(/alpha\\([^)]*\\)/, \"\") + ((((((parseInt(value) + \"\")) == \"NaN\")) ? \"\" : ((((\"alpha(opacity=\" + ((value * 100)))) + \")\"))))));\n }\n ;\n ;\n return ((((elem.filter && ((elem.filter.indexOf(\"opacity=\") >= 0)))) ? ((((parseFloat(elem.filter.match(/opacity=([^)]*)/)[1]) / 100)) + \"\")) : \"\"));\n }\n ;\n ;\n JSBNG__name = JSBNG__name.replace(/-([a-z])/gi, function(all, letter) {\n return letter.toUpperCase();\n });\n if (set) {\n elem[JSBNG__name] = value;\n }\n ;\n ;\n return elem[JSBNG__name];\n },\n trim: function(text) {\n return ((text || \"\")).replace(/^\\s+|\\s+$/g, \"\");\n },\n makeArray: function(array) {\n var ret = [];\n if (((array != null))) {\n var i = array.length;\n if (((((((((i == null)) || array.split)) || array.JSBNG__setInterval)) || array.call))) {\n ret[0] = array;\n }\n else {\n while (i) {\n ret[--i] = array[i];\n };\n ;\n }\n ;\n ;\n }\n ;\n ;\n return ret;\n },\n inArray: function(elem, array) {\n for (var i = 0, length = array.length; ((i < length)); i++) {\n if (((array[i] === elem))) {\n return i;\n }\n ;\n ;\n };\n ;\n return -1;\n },\n merge: function(first, second) {\n var i = 0, elem, pos = first.length;\n if (jQuery.browser.msie) {\n while (elem = second[i++]) {\n if (((elem.nodeType != 8))) {\n first[pos++] = elem;\n }\n ;\n ;\n };\n ;\n }\n else {\n while (elem = second[i++]) {\n first[pos++] = elem;\n };\n ;\n }\n ;\n ;\n return first;\n },\n unique: function(array) {\n var ret = [], done = {\n };\n try {\n for (var i = 0, length = array.length; ((i < length)); i++) {\n var id = jQuery.data(array[i]);\n if (!done[id]) {\n done[id] = true;\n ret.push(array[i]);\n }\n ;\n ;\n };\n ;\n } catch (e) {\n ret = array;\n };\n ;\n return ret;\n },\n grep: function(elems, callback, inv) {\n var ret = [];\n for (var i = 0, length = elems.length; ((i < length)); i++) {\n if (((!inv != !callback(elems[i], i)))) {\n ret.push(elems[i]);\n }\n ;\n ;\n };\n ;\n return ret;\n },\n map: function(elems, callback) {\n var ret = [];\n for (var i = 0, length = elems.length; ((i < length)); i++) {\n var value = callback(elems[i], i);\n if (((value != null))) {\n ret[ret.length] = value;\n }\n ;\n ;\n };\n ;\n return ret.concat.apply([], ret);\n }\n });\n var userAgent = JSBNG__navigator.userAgent.toLowerCase();\n jQuery.browser = {\n version: ((userAgent.match(/.+(?:rv|it|ra|ie)[\\/: ]([\\d.]+)/) || []))[1],\n safari: /webkit/.test(userAgent),\n JSBNG__opera: /opera/.test(userAgent),\n msie: ((/msie/.test(userAgent) && !/opera/.test(userAgent))),\n mozilla: ((/mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent)))\n };\n var styleFloat = ((jQuery.browser.msie ? \"styleFloat\" : \"cssFloat\"));\n jQuery.extend({\n boxModel: ((!jQuery.browser.msie || ((JSBNG__document.compatMode == \"CSS1Compat\")))),\n props: {\n \"for\": \"htmlFor\",\n class: \"className\",\n float: styleFloat,\n cssFloat: styleFloat,\n styleFloat: styleFloat,\n readonly: \"readOnly\",\n maxlength: \"maxLength\",\n cellspacing: \"cellSpacing\"\n }\n });\n jQuery.each({\n parent: function(elem) {\n return elem.parentNode;\n },\n parents: function(elem) {\n return jQuery.dir(elem, \"parentNode\");\n },\n next: function(elem) {\n return jQuery.nth(elem, 2, \"nextSibling\");\n },\n prev: function(elem) {\n return jQuery.nth(elem, 2, \"previousSibling\");\n },\n nextAll: function(elem) {\n return jQuery.dir(elem, \"nextSibling\");\n },\n prevAll: function(elem) {\n return jQuery.dir(elem, \"previousSibling\");\n },\n siblings: function(elem) {\n return jQuery.sibling(elem.parentNode.firstChild, elem);\n },\n children: function(elem) {\n return jQuery.sibling(elem.firstChild);\n },\n contents: function(elem) {\n return ((jQuery.nodeName(elem, \"div\") ? ((elem.contentDocument || elem.contentWindow.JSBNG__document)) : jQuery.makeArray(elem.childNodes)));\n }\n }, function(JSBNG__name, fn) {\n jQuery.fn[JSBNG__name] = function(selector) {\n var ret = jQuery.map(this, fn);\n if (((selector && ((typeof selector == \"string\"))))) {\n ret = jQuery.multiFilter(selector, ret);\n }\n ;\n ;\n return this.pushStack(jQuery.unique(ret));\n };\n });\n jQuery.each({\n appendTo: \"append\",\n prependTo: \"prepend\",\n insertBefore: \"before\",\n insertAfter: \"after\",\n replaceAll: \"replaceWith\"\n }, function(JSBNG__name, original) {\n jQuery.fn[JSBNG__name] = function() {\n var args = arguments;\n return this.each(function() {\n for (var i = 0, length = args.length; ((i < length)); i++) {\n jQuery(args[i])[original](this);\n };\n ;\n });\n };\n });\n jQuery.each({\n removeAttr: function(JSBNG__name) {\n jQuery.attr(this, JSBNG__name, \"\");\n if (((this.nodeType == 1))) {\n this.removeAttribute(JSBNG__name);\n }\n ;\n ;\n },\n addClass: function(classNames) {\n jQuery.className.add(this, classNames);\n },\n removeClass: function(classNames) {\n jQuery.className.remove(this, classNames);\n },\n toggleClass: function(classNames) {\n jQuery.className[((jQuery.className.has(this, classNames) ? \"remove\" : \"add\"))](this, classNames);\n },\n remove: function(selector) {\n if (((!selector || jQuery.filter(selector, [this,]).r.length))) {\n jQuery(\"*\", this).add(this).each(function() {\n jQuery.JSBNG__event.remove(this);\n jQuery.removeData(this);\n });\n if (this.parentNode) {\n this.parentNode.removeChild(this);\n }\n ;\n ;\n }\n ;\n ;\n },\n empty: function() {\n jQuery(\"\\u003E*\", this).remove();\n while (this.firstChild) {\n this.removeChild(this.firstChild);\n };\n ;\n }\n }, function(JSBNG__name, fn) {\n jQuery.fn[JSBNG__name] = function() {\n return this.each(fn, arguments);\n };\n });\n jQuery.each([\"Height\",\"Width\",], function(i, JSBNG__name) {\n var type = JSBNG__name.toLowerCase();\n jQuery.fn[type] = function(size) {\n return ((((this[0] == window)) ? ((((((((jQuery.browser.JSBNG__opera && JSBNG__document.body[((\"client\" + JSBNG__name))])) || ((jQuery.browser.safari && window[((\"JSBNG__inner\" + JSBNG__name))])))) || ((((JSBNG__document.compatMode == \"CSS1Compat\")) && JSBNG__document.documentElement[((\"client\" + JSBNG__name))])))) || JSBNG__document.body[((\"client\" + JSBNG__name))])) : ((((this[0] == JSBNG__document)) ? Math.max(Math.max(JSBNG__document.body[((\"JSBNG__scroll\" + JSBNG__name))], JSBNG__document.documentElement[((\"JSBNG__scroll\" + JSBNG__name))]), Math.max(JSBNG__document.body[((\"offset\" + JSBNG__name))], JSBNG__document.documentElement[((\"offset\" + JSBNG__name))])) : ((((size == undefined)) ? ((this.length ? jQuery.css(this[0], type) : null)) : this.css(type, ((((size.constructor == String)) ? size : ((size + \"px\")))))))))));\n };\n });\n function num(elem, prop) {\n return ((((elem[0] && parseInt(jQuery.curCSS(elem[0], prop, true), 10))) || 0));\n };\n ;\n var chars = ((((jQuery.browser.safari && ((parseInt(jQuery.browser.version) < 417)))) ? \"(?:[\\\\w*_-]|\\\\\\\\.)\" : \"(?:[\\\\w\\u0128-\\uffff*_-]|\\\\\\\\.)\")), quickChild = new RegExp(((((\"^\\u003E\\\\s*(\" + chars)) + \"+)\"))), quickID = new RegExp(((((((((\"^(\" + chars)) + \"+)(#)(\")) + chars)) + \"+)\"))), quickClass = new RegExp(((((\"^([#.]?)(\" + chars)) + \"*)\")));\n jQuery.extend({\n expr: {\n \"\": function(a, i, m) {\n return ((((m[2] == \"*\")) || jQuery.nodeName(a, m[2])));\n },\n \"#\": function(a, i, m) {\n return ((a.getAttribute(\"id\") == m[2]));\n },\n \":\": {\n lt: function(a, i, m) {\n return ((i < ((m[3] - 0))));\n },\n gt: function(a, i, m) {\n return ((i > ((m[3] - 0))));\n },\n nth: function(a, i, m) {\n return ((((m[3] - 0)) == i));\n },\n eq: function(a, i, m) {\n return ((((m[3] - 0)) == i));\n },\n first: function(a, i) {\n return ((i == 0));\n },\n last: function(a, i, m, r) {\n return ((i == ((r.length - 1))));\n },\n even: function(a, i) {\n return ((((i % 2)) == 0));\n },\n odd: function(a, i) {\n return ((i % 2));\n },\n \"first-child\": function(a) {\n return ((a.parentNode.getElementsByTagName(\"*\")[0] == a));\n },\n \"last-child\": function(a) {\n return ((jQuery.nth(a.parentNode.lastChild, 1, \"previousSibling\") == a));\n },\n \"only-child\": function(a) {\n return !jQuery.nth(a.parentNode.lastChild, 2, \"previousSibling\");\n },\n parent: function(a) {\n return a.firstChild;\n },\n empty: function(a) {\n return !a.firstChild;\n },\n contains: function(a, i, m) {\n return ((((((((a.textContent || a.innerText)) || jQuery(a).text())) || \"\")).indexOf(m[3]) >= 0));\n },\n visible: function(a) {\n return ((((((\"hidden\" != a.type)) && ((jQuery.css(a, \"display\") != \"none\")))) && ((jQuery.css(a, \"visibility\") != \"hidden\"))));\n },\n hidden: function(a) {\n return ((((((\"hidden\" == a.type)) || ((jQuery.css(a, \"display\") == \"none\")))) || ((jQuery.css(a, \"visibility\") == \"hidden\"))));\n },\n enabled: function(a) {\n return !a.disabled;\n },\n disabled: function(a) {\n return a.disabled;\n },\n checked: function(a) {\n return a.checked;\n },\n selected: function(a) {\n return ((a.selected || jQuery.attr(a, \"selected\")));\n },\n text: function(a) {\n return ((\"text\" == a.type));\n },\n radio: function(a) {\n return ((\"radio\" == a.type));\n },\n checkbox: function(a) {\n return ((\"checkbox\" == a.type));\n },\n file: function(a) {\n return ((\"file\" == a.type));\n },\n password: function(a) {\n return ((\"password\" == a.type));\n },\n submit: function(a) {\n return ((\"submit\" == a.type));\n },\n image: function(a) {\n return ((\"image\" == a.type));\n },\n reset: function(a) {\n return ((\"reset\" == a.type));\n },\n button: function(a) {\n return ((((\"button\" == a.type)) || jQuery.nodeName(a, \"button\")));\n },\n input: function(a) {\n return /input|select|textarea|button/i.test(a.nodeName);\n },\n has: function(a, i, m) {\n return jQuery.JSBNG__find(m[3], a).length;\n },\n header: function(a) {\n return /h\\d/i.test(a.nodeName);\n },\n animated: function(a) {\n return jQuery.grep(jQuery.timers, function(fn) {\n return ((a == fn.elem));\n }).length;\n }\n }\n },\n parse: [/^(\\[) *@?([\\w-]+) *([!*$^~=]*) *('?\"?)(.*?)\\4 *\\]/,/^(:)([\\w-]+)\\(\"?'?(.*?(\\(.*?\\))?[^(]*?)\"?'?\\)/,new RegExp(((((\"^([:.#]*)(\" + chars)) + \"+)\"))),],\n multiFilter: function(expr, elems, not) {\n var old, cur = [];\n while (((expr && ((expr != old))))) {\n old = expr;\n var f = jQuery.filter(expr, elems, not);\n expr = f.t.replace(/^\\s*,\\s*/, \"\");\n cur = ((not ? elems = f.r : jQuery.merge(cur, f.r)));\n };\n ;\n return cur;\n },\n JSBNG__find: function(t, context) {\n if (((typeof t != \"string\"))) {\n return [t,];\n }\n ;\n ;\n if (((((context && ((context.nodeType != 1)))) && ((context.nodeType != 9))))) {\n return [];\n }\n ;\n ;\n context = ((context || JSBNG__document));\n var ret = [context,], done = [], last, nodeName;\n while (((t && ((last != t))))) {\n var r = [];\n last = t;\n t = jQuery.trim(t);\n var foundToken = false, re = quickChild, m = re.exec(t);\n if (m) {\n nodeName = m[1].toUpperCase();\n for (var i = 0; ret[i]; i++) {\n for (var c = ret[i].firstChild; c; c = c.nextSibling) {\n if (((((c.nodeType == 1)) && ((((nodeName == \"*\")) || ((c.nodeName.toUpperCase() == nodeName))))))) {\n r.push(c);\n }\n ;\n ;\n };\n ;\n };\n ;\n ret = r;\n t = t.replace(re, \"\");\n if (((t.indexOf(\" \") == 0))) {\n continue;\n }\n ;\n ;\n foundToken = true;\n }\n else {\n re = /^([>+~])\\s*(\\w*)/i;\n if ((((m = re.exec(t)) != null))) {\n r = [];\n var merge = {\n };\n nodeName = m[2].toUpperCase();\n m = m[1];\n for (var j = 0, rl = ret.length; ((j < rl)); j++) {\n var n = ((((((m == \"~\")) || ((m == \"+\")))) ? ret[j].nextSibling : ret[j].firstChild));\n for (; n; n = n.nextSibling) {\n if (((n.nodeType == 1))) {\n var id = jQuery.data(n);\n if (((((m == \"~\")) && merge[id]))) {\n break;\n }\n ;\n ;\n if (((!nodeName || ((n.nodeName.toUpperCase() == nodeName))))) {\n if (((m == \"~\"))) {\n merge[id] = true;\n }\n ;\n ;\n r.push(n);\n }\n ;\n ;\n if (((m == \"+\"))) {\n break;\n }\n ;\n ;\n }\n ;\n ;\n };\n ;\n };\n ;\n ret = r;\n t = jQuery.trim(t.replace(re, \"\"));\n foundToken = true;\n }\n ;\n ;\n }\n ;\n ;\n if (((t && !foundToken))) {\n if (!t.indexOf(\",\")) {\n if (((context == ret[0]))) {\n ret.shift();\n }\n ;\n ;\n done = jQuery.merge(done, ret);\n r = ret = [context,];\n t = ((\" \" + t.substr(1, t.length)));\n }\n else {\n var re2 = quickID;\n var m = re2.exec(t);\n if (m) {\n m = [0,m[2],m[3],m[1],];\n }\n else {\n re2 = quickClass;\n m = re2.exec(t);\n }\n ;\n ;\n m[2] = m[2].replace(/\\\\/g, \"\");\n var elem = ret[((ret.length - 1))];\n if (((((((((m[1] == \"#\")) && elem)) && elem.getElementById)) && !jQuery.isXMLDoc(elem)))) {\n var oid = elem.getElementById(m[2]);\n if (((((((((jQuery.browser.msie || jQuery.browser.JSBNG__opera)) && oid)) && ((typeof oid.id == \"string\")))) && ((oid.id != m[2]))))) {\n oid = jQuery(((((\"[@id=\\\"\" + m[2])) + \"\\\"]\")), elem)[0];\n }\n ;\n ;\n ret = r = ((((oid && ((!m[3] || jQuery.nodeName(oid, m[3]))))) ? [oid,] : []));\n }\n else {\n for (var i = 0; ret[i]; i++) {\n var tag = ((((((m[1] == \"#\")) && m[3])) ? m[3] : ((((((m[1] != \"\")) || ((m[0] == \"\")))) ? \"*\" : m[2]))));\n if (((((tag == \"*\")) && ((ret[i].nodeName.toLowerCase() == \"object\"))))) {\n tag = \"param\";\n }\n ;\n ;\n r = jQuery.merge(r, ret[i].getElementsByTagName(tag));\n };\n ;\n if (((m[1] == \".\"))) {\n r = jQuery.classFilter(r, m[2]);\n }\n ;\n ;\n if (((m[1] == \"#\"))) {\n var tmp = [];\n for (var i = 0; r[i]; i++) {\n if (((r[i].getAttribute(\"id\") == m[2]))) {\n tmp = [r[i],];\n break;\n }\n ;\n ;\n };\n ;\n r = tmp;\n }\n ;\n ;\n ret = r;\n }\n ;\n ;\n t = t.replace(re2, \"\");\n }\n ;\n ;\n }\n ;\n ;\n if (t) {\n var val = jQuery.filter(t, r);\n ret = r = val.r;\n t = jQuery.trim(val.t);\n }\n ;\n ;\n };\n ;\n if (t) {\n ret = [];\n }\n ;\n ;\n if (((ret && ((context == ret[0]))))) {\n ret.shift();\n }\n ;\n ;\n done = jQuery.merge(done, ret);\n return done;\n },\n classFilter: function(r, m, not) {\n m = ((((\" \" + m)) + \" \"));\n var tmp = [];\n for (var i = 0; r[i]; i++) {\n var pass = ((((((\" \" + r[i].className)) + \" \")).indexOf(m) >= 0));\n if (((((!not && pass)) || ((not && !pass))))) {\n tmp.push(r[i]);\n }\n ;\n ;\n };\n ;\n return tmp;\n },\n filter: function(t, r, not) {\n var last;\n while (((t && ((t != last))))) {\n last = t;\n var p = jQuery.parse, m;\n for (var i = 0; p[i]; i++) {\n m = p[i].exec(t);\n if (m) {\n t = t.substring(m[0].length);\n m[2] = m[2].replace(/\\\\/g, \"\");\n break;\n }\n ;\n ;\n };\n ;\n if (!m) {\n break;\n }\n ;\n ;\n if (((((m[1] == \":\")) && ((m[2] == \"not\"))))) {\n r = ((isSimple.test(m[3]) ? jQuery.filter(m[3], r, true).r : jQuery(r).not(m[3])));\n }\n else {\n if (((m[1] == \".\"))) {\n r = jQuery.classFilter(r, m[2], not);\n }\n else {\n if (((m[1] == \"[\"))) {\n var tmp = [], type = m[3];\n for (var i = 0, rl = r.length; ((i < rl)); i++) {\n var a = r[i], z = a[((jQuery.props[m[2]] || m[2]))];\n if (((((z == null)) || /href|src|selected/.test(m[2])))) {\n z = ((jQuery.attr(a, m[2]) || \"\"));\n }\n ;\n ;\n if (((((((((((((((((type == \"\")) && !!z)) || ((((type == \"=\")) && ((z == m[5])))))) || ((((type == \"!=\")) && ((z != m[5])))))) || ((((((type == \"^=\")) && z)) && !z.indexOf(m[5]))))) || ((((type == \"$=\")) && ((z.substr(((z.length - m[5].length))) == m[5])))))) || ((((((type == \"*=\")) || ((type == \"~=\")))) && ((z.indexOf(m[5]) >= 0)))))) ^ not))) {\n tmp.push(a);\n }\n ;\n ;\n };\n ;\n r = tmp;\n }\n else {\n if (((((m[1] == \":\")) && ((m[2] == \"nth-child\"))))) {\n var merge = {\n }, tmp = [], test = /(-?)(\\d*)n((?:\\+|-)?\\d*)/.exec(((((((((((m[3] == \"even\")) && \"2n\")) || ((((m[3] == \"odd\")) && \"2n+1\")))) || ((!/\\D/.test(m[3]) && ((\"0n+\" + m[3])))))) || m[3]))), first = ((((test[1] + ((test[2] || 1)))) - 0)), last = ((test[3] - 0));\n for (var i = 0, rl = r.length; ((i < rl)); i++) {\n var node = r[i], parentNode = node.parentNode, id = jQuery.data(parentNode);\n if (!merge[id]) {\n var c = 1;\n for (var n = parentNode.firstChild; n; n = n.nextSibling) {\n if (((n.nodeType == 1))) {\n n.nodeIndex = c++;\n }\n ;\n ;\n };\n ;\n merge[id] = true;\n }\n ;\n ;\n var add = false;\n if (((first == 0))) {\n if (((node.nodeIndex == last))) {\n add = true;\n }\n ;\n ;\n }\n else {\n if (((((((((node.nodeIndex - last)) % first)) == 0)) && ((((((node.nodeIndex - last)) / first)) >= 0))))) {\n add = true;\n }\n ;\n ;\n }\n ;\n ;\n if (((add ^ not))) {\n tmp.push(node);\n }\n ;\n ;\n };\n ;\n r = tmp;\n }\n else {\n var fn = jQuery.expr[m[1]];\n if (((typeof fn == \"object\"))) {\n fn = fn[m[2]];\n }\n ;\n ;\n if (((typeof fn == \"string\"))) {\n fn = eval(((((\"false||function(a,i){return \" + fn)) + \";}\")));\n }\n ;\n ;\n r = jQuery.grep(r, function(elem, i) {\n return fn(elem, i, m, r);\n }, not);\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n };\n ;\n return {\n r: r,\n t: t\n };\n },\n dir: function(elem, dir) {\n var matched = [], cur = elem[dir];\n while (((cur && ((cur != JSBNG__document))))) {\n if (((cur.nodeType == 1))) {\n matched.push(cur);\n }\n ;\n ;\n cur = cur[dir];\n };\n ;\n return matched;\n },\n nth: function(cur, result, dir, elem) {\n result = ((result || 1));\n var num = 0;\n for (; cur; cur = cur[dir]) {\n if (((((cur.nodeType == 1)) && ((++num == result))))) {\n break;\n }\n ;\n ;\n };\n ;\n return cur;\n },\n sibling: function(n, elem) {\n var r = [];\n for (; n; n = n.nextSibling) {\n if (((((n.nodeType == 1)) && ((n != elem))))) {\n r.push(n);\n }\n ;\n ;\n };\n ;\n return r;\n }\n });\n jQuery.JSBNG__event = {\n add: function(elem, types, handler, data) {\n if (((((elem.nodeType == 3)) || ((elem.nodeType == 8))))) {\n return;\n }\n ;\n ;\n if (((jQuery.browser.msie && elem.JSBNG__setInterval))) {\n elem = window;\n }\n ;\n ;\n if (!handler.guid) {\n handler.guid = this.guid++;\n }\n ;\n ;\n if (((data != undefined))) {\n var fn = handler;\n handler = this.proxy(fn, function() {\n return fn.apply(this, arguments);\n });\n handler.data = data;\n }\n ;\n ;\n var events = ((jQuery.data(elem, \"events\") || jQuery.data(elem, \"events\", {\n }))), handle = ((jQuery.data(elem, \"handle\") || jQuery.data(elem, \"handle\", function() {\n if (((((typeof jQuery != \"undefined\")) && !jQuery.JSBNG__event.triggered))) {\n return jQuery.JSBNG__event.handle.apply(arguments.callee.elem, arguments);\n }\n ;\n ;\n })));\n handle.elem = elem;\n jQuery.each(types.split(/\\s+/), function(index, type) {\n var parts = type.split(\".\");\n type = parts[0];\n handler.type = parts[1];\n var handlers = events[type];\n if (!handlers) {\n handlers = events[type] = {\n };\n if (((!jQuery.JSBNG__event.special[type] || ((jQuery.JSBNG__event.special[type].setup.call(elem) === false))))) {\n if (elem.JSBNG__addEventListener) {\n elem.JSBNG__addEventListener(type, handle, false);\n }\n else {\n if (elem.JSBNG__attachEvent) {\n elem.JSBNG__attachEvent(((\"JSBNG__on\" + type)), handle);\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n handlers[handler.guid] = handler;\n jQuery.JSBNG__event.global[type] = true;\n });\n elem = null;\n },\n guid: 1,\n global: {\n },\n remove: function(elem, types, handler) {\n if (((((elem.nodeType == 3)) || ((elem.nodeType == 8))))) {\n return;\n }\n ;\n ;\n var events = jQuery.data(elem, \"events\"), ret, index;\n if (events) {\n if (((((types == undefined)) || ((((typeof types == \"string\")) && ((types.charAt(0) == \".\"))))))) {\n {\n var fin20keys = ((window.top.JSBNG_Replay.forInKeys)((events))), fin20i = (0);\n var type;\n for (; (fin20i < fin20keys.length); (fin20i++)) {\n ((type) = (fin20keys[fin20i]));\n {\n this.remove(elem, ((type + ((types || \"\")))));\n };\n };\n };\n ;\n }\n else {\n if (types.type) {\n handler = types.handler;\n types = types.type;\n }\n ;\n ;\n jQuery.each(types.split(/\\s+/), function(index, type) {\n var parts = type.split(\".\");\n type = parts[0];\n if (events[type]) {\n if (handler) {\n delete events[type][handler.guid];\n }\n else {\n {\n var fin21keys = ((window.top.JSBNG_Replay.forInKeys)((events[type]))), fin21i = (0);\n (0);\n for (; (fin21i < fin21keys.length); (fin21i++)) {\n ((handler) = (fin21keys[fin21i]));\n {\n if (((!parts[1] || ((events[type][handler].type == parts[1]))))) {\n delete events[type][handler];\n }\n ;\n ;\n };\n };\n };\n ;\n }\n ;\n ;\n {\n var fin22keys = ((window.top.JSBNG_Replay.forInKeys)((events[type]))), fin22i = (0);\n (0);\n for (; (fin22i < fin22keys.length); (fin22i++)) {\n ((ret) = (fin22keys[fin22i]));\n {\n break;\n };\n };\n };\n ;\n if (!ret) {\n if (((!jQuery.JSBNG__event.special[type] || ((jQuery.JSBNG__event.special[type].teardown.call(elem) === false))))) {\n if (elem.JSBNG__removeEventListener) {\n elem.JSBNG__removeEventListener(type, jQuery.data(elem, \"handle\"), false);\n }\n else {\n if (elem.JSBNG__detachEvent) {\n elem.JSBNG__detachEvent(((\"JSBNG__on\" + type)), jQuery.data(elem, \"handle\"));\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n ret = null;\n delete events[type];\n }\n ;\n ;\n }\n ;\n ;\n });\n }\n ;\n ;\n {\n var fin23keys = ((window.top.JSBNG_Replay.forInKeys)((events))), fin23i = (0);\n (0);\n for (; (fin23i < fin23keys.length); (fin23i++)) {\n ((ret) = (fin23keys[fin23i]));\n {\n break;\n };\n };\n };\n ;\n if (!ret) {\n var handle = jQuery.data(elem, \"handle\");\n if (handle) {\n handle.elem = null;\n }\n ;\n ;\n jQuery.removeData(elem, \"events\");\n jQuery.removeData(elem, \"handle\");\n }\n ;\n ;\n }\n ;\n ;\n },\n trigger: function(type, data, elem, donative, extra) {\n data = jQuery.makeArray(data);\n if (((type.indexOf(\"!\") >= 0))) {\n type = type.slice(0, -1);\n var exclusive = true;\n }\n ;\n ;\n if (!elem) {\n if (this.global[type]) {\n jQuery(\"*\").add([window,JSBNG__document,]).trigger(type, data);\n }\n ;\n ;\n }\n else {\n if (((((elem.nodeType == 3)) || ((elem.nodeType == 8))))) {\n return undefined;\n }\n ;\n ;\n var val, ret, fn = jQuery.isFunction(((elem[type] || null))), JSBNG__event = ((!data[0] || !data[0].preventDefault));\n if (JSBNG__event) {\n data.unshift({\n type: type,\n target: elem,\n preventDefault: function() {\n \n },\n stopPropagation: function() {\n \n },\n timeStamp: now()\n });\n data[0][expando] = true;\n }\n ;\n ;\n data[0].type = type;\n if (exclusive) {\n data[0].exclusive = true;\n }\n ;\n ;\n var handle = jQuery.data(elem, \"handle\");\n if (handle) {\n val = handle.apply(elem, data);\n }\n ;\n ;\n if (((((((!fn || ((jQuery.nodeName(elem, \"a\") && ((type == \"click\")))))) && elem[((\"JSBNG__on\" + type))])) && ((elem[((\"JSBNG__on\" + type))].apply(elem, data) === false))))) {\n val = false;\n }\n ;\n ;\n if (JSBNG__event) {\n data.shift();\n }\n ;\n ;\n if (((extra && jQuery.isFunction(extra)))) {\n ret = extra.apply(elem, ((((val == null)) ? data : data.concat(val))));\n if (((ret !== undefined))) {\n val = ret;\n }\n ;\n ;\n }\n ;\n ;\n if (((((((fn && ((donative !== false)))) && ((val !== false)))) && !((jQuery.nodeName(elem, \"a\") && ((type == \"click\"))))))) {\n this.triggered = true;\n try {\n elem[type]();\n } catch (e) {\n \n };\n ;\n }\n ;\n ;\n this.triggered = false;\n }\n ;\n ;\n return val;\n },\n handle: function(JSBNG__event) {\n var val, ret, namespace, all, handlers;\n JSBNG__event = arguments[0] = jQuery.JSBNG__event.fix(((JSBNG__event || window.JSBNG__event)));\n namespace = JSBNG__event.type.split(\".\");\n JSBNG__event.type = namespace[0];\n namespace = namespace[1];\n all = ((!namespace && !JSBNG__event.exclusive));\n handlers = ((jQuery.data(this, \"events\") || {\n }))[JSBNG__event.type];\n {\n var fin24keys = ((window.top.JSBNG_Replay.forInKeys)((handlers))), fin24i = (0);\n var j;\n for (; (fin24i < fin24keys.length); (fin24i++)) {\n ((j) = (fin24keys[fin24i]));\n {\n var handler = handlers[j];\n if (((all || ((handler.type == namespace))))) {\n JSBNG__event.handler = handler;\n JSBNG__event.data = handler.data;\n ret = handler.apply(this, arguments);\n if (((val !== false))) {\n val = ret;\n }\n ;\n ;\n if (((ret === false))) {\n JSBNG__event.preventDefault();\n JSBNG__event.stopPropagation();\n }\n ;\n ;\n }\n ;\n ;\n };\n };\n };\n ;\n return val;\n },\n fix: function(JSBNG__event) {\n if (((JSBNG__event[expando] == true))) {\n return JSBNG__event;\n }\n ;\n ;\n var originalEvent = JSBNG__event;\n JSBNG__event = {\n originalEvent: originalEvent\n };\n var props = \"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which\".split(\" \");\n for (var i = props.length; i; i--) {\n JSBNG__event[props[i]] = originalEvent[props[i]];\n };\n ;\n JSBNG__event[expando] = true;\n JSBNG__event.preventDefault = function() {\n if (originalEvent.preventDefault) {\n originalEvent.preventDefault();\n }\n ;\n ;\n originalEvent.returnValue = false;\n };\n JSBNG__event.stopPropagation = function() {\n if (originalEvent.stopPropagation) {\n originalEvent.stopPropagation();\n }\n ;\n ;\n originalEvent.cancelBubble = true;\n };\n JSBNG__event.timeStamp = ((JSBNG__event.timeStamp || now()));\n if (!JSBNG__event.target) {\n JSBNG__event.target = ((JSBNG__event.srcElement || JSBNG__document));\n }\n ;\n ;\n if (((JSBNG__event.target.nodeType == 3))) {\n JSBNG__event.target = JSBNG__event.target.parentNode;\n }\n ;\n ;\n if (((!JSBNG__event.relatedTarget && JSBNG__event.fromElement))) {\n JSBNG__event.relatedTarget = ((((JSBNG__event.fromElement == JSBNG__event.target)) ? JSBNG__event.toElement : JSBNG__event.fromElement));\n }\n ;\n ;\n if (((((JSBNG__event.pageX == null)) && ((JSBNG__event.clientX != null))))) {\n var doc = JSBNG__document.documentElement, body = JSBNG__document.body;\n JSBNG__event.pageX = ((((JSBNG__event.clientX + ((((((doc && doc.scrollLeft)) || ((body && body.scrollLeft)))) || 0)))) - ((doc.clientLeft || 0))));\n JSBNG__event.pageY = ((((JSBNG__event.clientY + ((((((doc && doc.scrollTop)) || ((body && body.scrollTop)))) || 0)))) - ((doc.clientTop || 0))));\n }\n ;\n ;\n if (((!JSBNG__event.which && ((((JSBNG__event.charCode || ((JSBNG__event.charCode === 0)))) ? JSBNG__event.charCode : JSBNG__event.keyCode))))) {\n JSBNG__event.which = ((JSBNG__event.charCode || JSBNG__event.keyCode));\n }\n ;\n ;\n if (((!JSBNG__event.metaKey && JSBNG__event.ctrlKey))) {\n JSBNG__event.metaKey = JSBNG__event.ctrlKey;\n }\n ;\n ;\n if (((!JSBNG__event.which && JSBNG__event.button))) {\n JSBNG__event.which = ((((JSBNG__event.button & 1)) ? 1 : ((((JSBNG__event.button & 2)) ? 3 : ((((JSBNG__event.button & 4)) ? 2 : 0))))));\n }\n ;\n ;\n return JSBNG__event;\n },\n proxy: function(fn, proxy) {\n proxy.guid = fn.guid = ((((fn.guid || proxy.guid)) || this.guid++));\n return proxy;\n },\n special: {\n ready: {\n setup: function() {\n bindReady();\n return;\n },\n teardown: function() {\n return;\n }\n },\n mouseenter: {\n setup: function() {\n if (jQuery.browser.msie) {\n return false;\n }\n ;\n ;\n jQuery(this).bind(\"mouseover\", jQuery.JSBNG__event.special.mouseenter.handler);\n return true;\n },\n teardown: function() {\n if (jQuery.browser.msie) {\n return false;\n }\n ;\n ;\n jQuery(this).unbind(\"mouseover\", jQuery.JSBNG__event.special.mouseenter.handler);\n return true;\n },\n handler: function(JSBNG__event) {\n if (withinElement(JSBNG__event, this)) {\n return true;\n }\n ;\n ;\n JSBNG__event.type = \"mouseenter\";\n return jQuery.JSBNG__event.handle.apply(this, arguments);\n }\n },\n mouseleave: {\n setup: function() {\n if (jQuery.browser.msie) {\n return false;\n }\n ;\n ;\n jQuery(this).bind(\"mouseout\", jQuery.JSBNG__event.special.mouseleave.handler);\n return true;\n },\n teardown: function() {\n if (jQuery.browser.msie) {\n return false;\n }\n ;\n ;\n jQuery(this).unbind(\"mouseout\", jQuery.JSBNG__event.special.mouseleave.handler);\n return true;\n },\n handler: function(JSBNG__event) {\n if (withinElement(JSBNG__event, this)) {\n return true;\n }\n ;\n ;\n JSBNG__event.type = \"mouseleave\";\n return jQuery.JSBNG__event.handle.apply(this, arguments);\n }\n }\n }\n };\n jQuery.fn.extend({\n bind: function(type, data, fn) {\n return ((((type == \"unload\")) ? this.one(type, data, fn) : this.each(function() {\n jQuery.JSBNG__event.add(this, type, ((fn || data)), ((fn && data)));\n })));\n },\n one: function(type, data, fn) {\n var one = jQuery.JSBNG__event.proxy(((fn || data)), function(JSBNG__event) {\n jQuery(this).unbind(JSBNG__event, one);\n return ((fn || data)).apply(this, arguments);\n });\n return this.each(function() {\n jQuery.JSBNG__event.add(this, type, one, ((fn && data)));\n });\n },\n unbind: function(type, fn) {\n return this.each(function() {\n jQuery.JSBNG__event.remove(this, type, fn);\n });\n },\n trigger: function(type, data, fn) {\n return this.each(function() {\n jQuery.JSBNG__event.trigger(type, data, this, true, fn);\n });\n },\n triggerHandler: function(type, data, fn) {\n return ((this[0] && jQuery.JSBNG__event.trigger(type, data, this[0], false, fn)));\n },\n toggle: function(fn) {\n var args = arguments, i = 1;\n while (((i < args.length))) {\n jQuery.JSBNG__event.proxy(fn, args[i++]);\n };\n ;\n return this.click(jQuery.JSBNG__event.proxy(fn, function(JSBNG__event) {\n this.lastToggle = ((((this.lastToggle || 0)) % i));\n JSBNG__event.preventDefault();\n return ((args[this.lastToggle++].apply(this, arguments) || false));\n }));\n },\n hover: function(fnOver, fnOut) {\n return this.bind(\"mouseenter\", fnOver).bind(\"mouseleave\", fnOut);\n },\n ready: function(fn) {\n bindReady();\n if (jQuery.isReady) {\n fn.call(JSBNG__document, jQuery);\n }\n else {\n jQuery.readyList.push(function() {\n return fn.call(this, jQuery);\n });\n }\n ;\n ;\n return this;\n }\n });\n jQuery.extend({\n isReady: false,\n readyList: [],\n ready: function() {\n if (!jQuery.isReady) {\n jQuery.isReady = true;\n if (jQuery.readyList) {\n jQuery.each(jQuery.readyList, function() {\n this.call(JSBNG__document);\n });\n jQuery.readyList = null;\n }\n ;\n ;\n jQuery(JSBNG__document).triggerHandler(\"ready\");\n }\n ;\n ;\n }\n });\n var readyBound = false;\n function bindReady() {\n if (readyBound) {\n return;\n }\n ;\n ;\n readyBound = true;\n if (((JSBNG__document.JSBNG__addEventListener && !jQuery.browser.JSBNG__opera))) {\n JSBNG__document.JSBNG__addEventListener(\"DOMContentLoaded\", jQuery.ready, false);\n }\n ;\n ;\n if (((jQuery.browser.msie && ((window == JSBNG__top))))) {\n (function() {\n if (jQuery.isReady) {\n return;\n }\n ;\n ;\n try {\n JSBNG__document.documentElement.doScroll(\"left\");\n } catch (error) {\n JSBNG__setTimeout(arguments.callee, jQuery126PatchDelay);\n return;\n };\n ;\n jQuery.ready();\n })();\n }\n ;\n ;\n if (jQuery.browser.JSBNG__opera) {\n JSBNG__document.JSBNG__addEventListener(\"DOMContentLoaded\", function() {\n if (jQuery.isReady) {\n return;\n }\n ;\n ;\n for (var i = 0; ((i < JSBNG__document.styleSheets.length)); i++) {\n if (JSBNG__document.styleSheets[i].disabled) {\n JSBNG__setTimeout(arguments.callee, jQuery126PatchDelay);\n return;\n }\n ;\n ;\n };\n ;\n jQuery.ready();\n }, false);\n }\n ;\n ;\n if (jQuery.browser.safari) {\n var numStyles;\n (function() {\n if (jQuery.isReady) {\n return;\n }\n ;\n ;\n if (((((JSBNG__document.readyState != \"loaded\")) && ((JSBNG__document.readyState != \"complete\"))))) {\n JSBNG__setTimeout(arguments.callee, jQuery126PatchDelay);\n return;\n }\n ;\n ;\n if (((numStyles === undefined))) {\n numStyles = jQuery(\"style, link[rel=stylesheet]\").length;\n }\n ;\n ;\n if (((JSBNG__document.styleSheets.length != numStyles))) {\n JSBNG__setTimeout(arguments.callee, jQuery126PatchDelay);\n return;\n }\n ;\n ;\n jQuery.ready();\n })();\n }\n ;\n ;\n jQuery.JSBNG__event.add(window, \"load\", jQuery.ready);\n };\n ;\n jQuery.each(((((\"blur,focus,load,resize,scroll,unload,click,dblclick,\" + \"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,\")) + \"submit,keydown,keypress,keyup,error\")).split(\",\"), function(i, JSBNG__name) {\n jQuery.fn[JSBNG__name] = function(fn) {\n return ((fn ? this.bind(JSBNG__name, fn) : this.trigger(JSBNG__name)));\n };\n });\n var withinElement = function(JSBNG__event, elem) {\n var parent = JSBNG__event.relatedTarget;\n while (((parent && ((parent != elem))))) {\n try {\n parent = parent.parentNode;\n } catch (error) {\n parent = elem;\n };\n ;\n };\n ;\n return ((parent == elem));\n };\n jQuery(window).bind(\"unload\", function() {\n jQuery(\"*\").add(JSBNG__document).unbind();\n });\n jQuery.fn.extend({\n _load: jQuery.fn.load,\n load: function(url, params, callback) {\n if (((typeof url != \"string\"))) {\n return this._load(url);\n }\n ;\n ;\n var off = url.indexOf(\" \");\n if (((off >= 0))) {\n var selector = url.slice(off, url.length);\n url = url.slice(0, off);\n }\n ;\n ;\n callback = ((callback || function() {\n \n }));\n var type = \"GET\";\n if (params) {\n if (jQuery.isFunction(params)) {\n callback = params;\n params = null;\n }\n else {\n params = jQuery.param(params);\n type = \"POST\";\n }\n ;\n ;\n }\n ;\n ;\n var JSBNG__self = this;\n jQuery.ajax({\n url: url,\n type: type,\n dataType: \"html\",\n data: params,\n complete: function(res, JSBNG__status) {\n if (((((JSBNG__status == \"success\")) || ((JSBNG__status == \"notmodified\"))))) {\n JSBNG__self.html(((selector ? jQuery(\"\\u003Cdiv/\\u003E\").append(res.responseText.replace(/<script(.|\\s)*?\\/script>/g, \"\")).JSBNG__find(selector) : res.responseText)));\n }\n ;\n ;\n JSBNG__self.each(callback, [res.responseText,JSBNG__status,res,]);\n }\n });\n return this;\n },\n serialize: function() {\n return jQuery.param(this.serializeArray());\n },\n serializeArray: function() {\n return this.map(function() {\n return ((jQuery.nodeName(this, \"form\") ? jQuery.makeArray(this.elements) : this));\n }).filter(function() {\n return ((((this.JSBNG__name && !this.disabled)) && ((((this.checked || /select|textarea/i.test(this.nodeName))) || /text|hidden|password/i.test(this.type)))));\n }).map(function(i, elem) {\n var val = jQuery(this).val();\n return ((((val == null)) ? null : ((((val.constructor == Array)) ? jQuery.map(val, function(val, i) {\n return {\n JSBNG__name: elem.JSBNG__name,\n value: val\n };\n }) : {\n JSBNG__name: elem.JSBNG__name,\n value: val\n }))));\n }).get();\n }\n });\n jQuery.each(\"ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend\".split(\",\"), function(i, o) {\n jQuery.fn[o] = function(f) {\n return this.bind(o, f);\n };\n });\n var jsc = now();\n jQuery.extend({\n get: function(url, data, callback, type) {\n if (jQuery.isFunction(data)) {\n callback = data;\n data = null;\n }\n ;\n ;\n return jQuery.ajax({\n type: \"GET\",\n url: url,\n data: data,\n success: callback,\n dataType: type\n });\n },\n getScript: function(url, callback) {\n return jQuery.get(url, null, callback, \"script\");\n },\n getJSON: function(url, data, callback) {\n return jQuery.get(url, data, callback, \"json\");\n },\n post: function(url, data, callback, type) {\n if (jQuery.isFunction(data)) {\n callback = data;\n data = {\n };\n }\n ;\n ;\n return jQuery.ajax({\n type: \"POST\",\n url: url,\n data: data,\n success: callback,\n dataType: type\n });\n },\n ajaxSetup: function(settings) {\n jQuery.extend(jQuery.ajaxSettings, settings);\n },\n ajaxSettings: {\n url: JSBNG__location.href,\n global: true,\n type: \"GET\",\n timeout: 0,\n contentType: \"application/x-www-form-urlencoded\",\n processData: true,\n async: true,\n data: null,\n username: null,\n password: null,\n accepts: {\n xml: \"application/xml, text/xml\",\n html: \"text/html\",\n script: \"text/javascript, application/javascript\",\n json: \"application/json, text/javascript\",\n text: \"text/plain\",\n _default: \"*/*\"\n }\n },\n lastModified: {\n },\n ajax: function(s) {\n s = jQuery.extend(true, s, jQuery.extend(true, {\n }, jQuery.ajaxSettings, s));\n var jsonp, jsre = /=\\?(&|$)/g, JSBNG__status, data, type = s.type.toUpperCase();\n if (((((s.data && s.processData)) && ((typeof s.data != \"string\"))))) {\n s.data = jQuery.param(s.data);\n }\n ;\n ;\n if (((s.dataType == \"jsonp\"))) {\n if (((type == \"GET\"))) {\n if (!s.url.match(jsre)) {\n s.url += ((((((s.url.match(/\\?/) ? \"&\" : \"?\")) + ((s.jsonp || \"callback\")))) + \"=?\"));\n }\n ;\n ;\n }\n else {\n if (((!s.data || !s.data.match(jsre)))) {\n s.data = ((((((s.data ? ((s.data + \"&\")) : \"\")) + ((s.jsonp || \"callback\")))) + \"=?\"));\n }\n ;\n ;\n }\n ;\n ;\n s.dataType = \"json\";\n }\n ;\n ;\n if (((((s.dataType == \"json\")) && ((((s.data && s.data.match(jsre))) || s.url.match(jsre)))))) {\n jsonp = ((\"jsonp\" + jsc++));\n if (s.data) {\n s.data = ((s.data + \"\")).replace(jsre, ((((\"=\" + jsonp)) + \"$1\")));\n }\n ;\n ;\n s.url = s.url.replace(jsre, ((((\"=\" + jsonp)) + \"$1\")));\n s.dataType = \"script\";\n window[jsonp] = function(tmp) {\n data = tmp;\n success();\n complete();\n window[jsonp] = undefined;\n try {\n delete window[jsonp];\n } catch (e) {\n \n };\n ;\n if (head) {\n head.removeChild(script);\n }\n ;\n ;\n };\n }\n ;\n ;\n if (((((s.dataType == \"script\")) && ((s.cache == null))))) {\n s.cache = false;\n }\n ;\n ;\n if (((((s.cache === false)) && ((type == \"GET\"))))) {\n var ts = now();\n var ret = s.url.replace(/(\\?|&)_=.*?(&|$)/, ((((\"$1_=\" + ts)) + \"$2\")));\n s.url = ((ret + ((((ret == s.url)) ? ((((((s.url.match(/\\?/) ? \"&\" : \"?\")) + \"_=\")) + ts)) : \"\"))));\n }\n ;\n ;\n if (((s.data && ((type == \"GET\"))))) {\n s.url += ((((s.url.match(/\\?/) ? \"&\" : \"?\")) + s.data));\n s.data = null;\n }\n ;\n ;\n if (((s.global && !jQuery.active++))) {\n jQuery.JSBNG__event.trigger(\"ajaxStart\");\n }\n ;\n ;\n var remote = /^(?:\\w+:)?\\/\\/([^\\/?#]+)/;\n if (((((((((s.dataType == \"script\")) && ((type == \"GET\")))) && remote.test(s.url))) && ((remote.exec(s.url)[1] != JSBNG__location.host))))) {\n var head = JSBNG__document.getElementsByTagName(\"head\")[0];\n var script = JSBNG__document.createElement(\"script\");\n script.src = s.url;\n if (s.scriptCharset) {\n script.charset = s.scriptCharset;\n }\n ;\n ;\n if (!jsonp) {\n var done = false;\n script.JSBNG__onload = script.onreadystatechange = function() {\n if (((!done && ((((!this.readyState || ((this.readyState == \"loaded\")))) || ((this.readyState == \"complete\"))))))) {\n done = true;\n success();\n complete();\n head.removeChild(script);\n }\n ;\n ;\n };\n }\n ;\n ;\n head.appendChild(script);\n return undefined;\n }\n ;\n ;\n var requestDone = false;\n var xhr = ((window.ActiveXObject ? new ActiveXObject(\"Microsoft.XMLHTTP\") : new JSBNG__XMLHttpRequest()));\n if (s.username) {\n xhr.open(type, s.url, s.async, s.username, s.password);\n }\n else {\n xhr.open(type, s.url, s.async);\n }\n ;\n ;\n try {\n if (s.data) {\n xhr.setRequestHeader(\"Content-Type\", s.contentType);\n }\n ;\n ;\n if (s.ifModified) {\n xhr.setRequestHeader(\"If-Modified-Since\", ((jQuery.lastModified[s.url] || \"Thu, 01 Jan 1970 00:00:00 GMT\")));\n }\n ;\n ;\n xhr.setRequestHeader(\"X-Requested-With\", \"JSBNG__XMLHttpRequest\");\n xhr.setRequestHeader(\"Accept\", ((((s.dataType && s.accepts[s.dataType])) ? ((s.accepts[s.dataType] + \", */*\")) : s.accepts._default)));\n } catch (e) {\n \n };\n ;\n if (((s.beforeSend && ((s.beforeSend(xhr, s) === false))))) {\n ((s.global && jQuery.active--));\n xhr.abort();\n return false;\n }\n ;\n ;\n if (s.global) {\n jQuery.JSBNG__event.trigger(\"ajaxSend\", [xhr,s,]);\n }\n ;\n ;\n var onreadystatechange = function(isTimeout) {\n if (((((!requestDone && xhr)) && ((((xhr.readyState == 4)) || ((isTimeout == \"timeout\"))))))) {\n requestDone = true;\n if (ival) {\n JSBNG__clearInterval(ival);\n ival = null;\n }\n ;\n ;\n JSBNG__status = ((((((((((isTimeout == \"timeout\")) && \"timeout\")) || ((!jQuery.httpSuccess(xhr) && \"error\")))) || ((((s.ifModified && jQuery.httpNotModified(xhr, s.url))) && \"notmodified\")))) || \"success\"));\n if (((JSBNG__status == \"success\"))) {\n try {\n data = jQuery.httpData(xhr, s.dataType, s.dataFilter);\n } catch (e) {\n JSBNG__status = \"parsererror\";\n };\n ;\n }\n ;\n ;\n if (((JSBNG__status == \"success\"))) {\n var modRes;\n try {\n modRes = xhr.getResponseHeader(\"Last-Modified\");\n } catch (e) {\n \n };\n ;\n if (((s.ifModified && modRes))) {\n jQuery.lastModified[s.url] = modRes;\n }\n ;\n ;\n if (!jsonp) {\n success();\n }\n ;\n ;\n }\n else {\n jQuery.handleError(s, xhr, JSBNG__status);\n }\n ;\n ;\n complete();\n if (s.async) {\n xhr = null;\n }\n ;\n ;\n }\n ;\n ;\n };\n if (s.async) {\n var ival = JSBNG__setInterval(onreadystatechange, 13);\n if (((s.timeout > 0))) {\n JSBNG__setTimeout(function() {\n if (xhr) {\n xhr.abort();\n if (!requestDone) {\n onreadystatechange(\"timeout\");\n }\n ;\n ;\n }\n ;\n ;\n }, s.timeout);\n }\n ;\n ;\n }\n ;\n ;\n try {\n xhr.send(s.data);\n } catch (e) {\n jQuery.handleError(s, xhr, null, e);\n };\n ;\n if (!s.async) {\n onreadystatechange();\n }\n ;\n ;\n function success() {\n if (s.success) {\n s.success(data, JSBNG__status);\n }\n ;\n ;\n if (s.global) {\n jQuery.JSBNG__event.trigger(\"ajaxSuccess\", [xhr,s,]);\n }\n ;\n ;\n };\n ;\n function complete() {\n if (s.complete) {\n s.complete(xhr, JSBNG__status);\n }\n ;\n ;\n if (s.global) {\n jQuery.JSBNG__event.trigger(\"ajaxComplete\", [xhr,s,]);\n }\n ;\n ;\n if (((s.global && !--jQuery.active))) {\n jQuery.JSBNG__event.trigger(\"ajaxStop\");\n }\n ;\n ;\n };\n ;\n return xhr;\n },\n handleError: function(s, xhr, JSBNG__status, e) {\n if (s.error) {\n s.error(xhr, JSBNG__status, e);\n }\n ;\n ;\n if (s.global) {\n jQuery.JSBNG__event.trigger(\"ajaxError\", [xhr,s,e,]);\n }\n ;\n ;\n },\n active: 0,\n httpSuccess: function(xhr) {\n try {\n return ((((((((((!xhr.JSBNG__status && ((JSBNG__location.protocol == \"file:\")))) || ((((xhr.JSBNG__status >= 200)) && ((xhr.JSBNG__status < 300)))))) || ((xhr.JSBNG__status == 304)))) || ((xhr.JSBNG__status == 1223)))) || ((jQuery.browser.safari && ((xhr.JSBNG__status == undefined))))));\n } catch (e) {\n \n };\n ;\n return false;\n },\n httpNotModified: function(xhr, url) {\n try {\n var xhrRes = xhr.getResponseHeader(\"Last-Modified\");\n return ((((((xhr.JSBNG__status == 304)) || ((xhrRes == jQuery.lastModified[url])))) || ((jQuery.browser.safari && ((xhr.JSBNG__status == undefined))))));\n } catch (e) {\n \n };\n ;\n return false;\n },\n httpData: function(xhr, type, filter) {\n var ct = xhr.getResponseHeader(\"content-type\"), xml = ((((type == \"xml\")) || ((((!type && ct)) && ((ct.indexOf(\"xml\") >= 0)))))), data = ((xml ? xhr.responseXML : xhr.responseText));\n if (((xml && ((data.documentElement.tagName == \"parsererror\"))))) {\n throw \"parsererror\";\n }\n ;\n ;\n if (filter) {\n data = filter(data, type);\n }\n ;\n ;\n if (((type == \"script\"))) {\n jQuery.globalEval(data);\n }\n ;\n ;\n if (((type == \"json\"))) {\n data = eval(((((\"(\" + data)) + \")\")));\n }\n ;\n ;\n return data;\n },\n param: function(a) {\n var s = [];\n if (((((a.constructor == Array)) || a.jquery))) {\n jQuery.each(a, function() {\n s.push(((((encodeURIComponent(this.JSBNG__name) + \"=\")) + encodeURIComponent(this.value))));\n });\n }\n else {\n {\n var fin25keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin25i = (0);\n var j;\n for (; (fin25i < fin25keys.length); (fin25i++)) {\n ((j) = (fin25keys[fin25i]));\n {\n if (((a[j] && ((a[j].constructor == Array))))) {\n jQuery.each(a[j], function() {\n s.push(((((encodeURIComponent(j) + \"=\")) + encodeURIComponent(this))));\n });\n }\n else {\n s.push(((((encodeURIComponent(j) + \"=\")) + encodeURIComponent(((jQuery.isFunction(a[j]) ? a[j]() : a[j]))))));\n }\n ;\n ;\n };\n };\n };\n ;\n }\n ;\n ;\n return s.join(\"&\").replace(/%20/g, \"+\");\n }\n });\n jQuery.fn.extend({\n show: function(speed, callback) {\n return ((speed ? this.animate({\n height: \"show\",\n width: \"show\",\n opacity: \"show\"\n }, speed, callback) : this.filter(\":hidden\").each(function() {\n this.style.display = ((this.oldblock || \"\"));\n if (((jQuery.css(this, \"display\") == \"none\"))) {\n var elem = jQuery(((((\"\\u003C\" + this.tagName)) + \" /\\u003E\"))).appendTo(\"body\");\n this.style.display = elem.css(\"display\");\n if (((this.style.display == \"none\"))) {\n this.style.display = \"block\";\n }\n ;\n ;\n elem.remove();\n }\n ;\n ;\n }).end()));\n },\n hide: function(speed, callback) {\n return ((speed ? this.animate({\n height: \"hide\",\n width: \"hide\",\n opacity: \"hide\"\n }, speed, callback) : this.filter(\":visible\").each(function() {\n this.oldblock = ((this.oldblock || jQuery.css(this, \"display\")));\n this.style.display = \"none\";\n }).end()));\n },\n _toggle: jQuery.fn.toggle,\n toggle: function(fn, fn2) {\n return ((((jQuery.isFunction(fn) && jQuery.isFunction(fn2))) ? this._toggle.apply(this, arguments) : ((fn ? this.animate({\n height: \"toggle\",\n width: \"toggle\",\n opacity: \"toggle\"\n }, fn, fn2) : this.each(function() {\n jQuery(this)[((jQuery(this).is(\":hidden\") ? \"show\" : \"hide\"))]();\n })))));\n },\n slideDown: function(speed, callback) {\n return this.animate({\n height: \"show\"\n }, speed, callback);\n },\n slideUp: function(speed, callback) {\n return this.animate({\n height: \"hide\"\n }, speed, callback);\n },\n slideToggle: function(speed, callback) {\n return this.animate({\n height: \"toggle\"\n }, speed, callback);\n },\n fadeIn: function(speed, callback) {\n return this.animate({\n opacity: \"show\"\n }, speed, callback);\n },\n fadeOut: function(speed, callback) {\n return this.animate({\n opacity: \"hide\"\n }, speed, callback);\n },\n fadeTo: function(speed, to, callback) {\n return this.animate({\n opacity: to\n }, speed, callback);\n },\n animate: function(prop, speed, easing, callback) {\n var optall = jQuery.speed(speed, easing, callback);\n return this[((((optall.queue === false)) ? \"each\" : \"queue\"))](function() {\n if (((this.nodeType != 1))) {\n return false;\n }\n ;\n ;\n var opt = jQuery.extend({\n }, optall), p, hidden = jQuery(this).is(\":hidden\"), JSBNG__self = this;\n {\n var fin26keys = ((window.top.JSBNG_Replay.forInKeys)((prop))), fin26i = (0);\n (0);\n for (; (fin26i < fin26keys.length); (fin26i++)) {\n ((p) = (fin26keys[fin26i]));\n {\n if (((((((prop[p] == \"hide\")) && hidden)) || ((((prop[p] == \"show\")) && !hidden))))) {\n return opt.complete.call(this);\n }\n ;\n ;\n if (((((p == \"height\")) || ((p == \"width\"))))) {\n opt.display = jQuery.css(this, \"display\");\n opt.overflow = this.style.overflow;\n }\n ;\n ;\n };\n };\n };\n ;\n if (((opt.overflow != null))) {\n this.style.overflow = \"hidden\";\n }\n ;\n ;\n opt.curAnim = jQuery.extend({\n }, prop);\n jQuery.each(prop, function(JSBNG__name, val) {\n var e = new jQuery.fx(JSBNG__self, opt, JSBNG__name);\n if (/toggle|show|hide/.test(val)) {\n e[((((val == \"toggle\")) ? ((hidden ? \"show\" : \"hide\")) : val))](prop);\n }\n else {\n var parts = val.toString().match(/^([+-]=)?([\\d+-.]+)(.*)$/), start = ((e.cur(true) || 0));\n if (parts) {\n var end = parseFloat(parts[2]), unit = ((parts[3] || \"px\"));\n if (((unit != \"px\"))) {\n JSBNG__self.style[JSBNG__name] = ((((end || 1)) + unit));\n start = ((((((end || 1)) / e.cur(true))) * start));\n JSBNG__self.style[JSBNG__name] = ((start + unit));\n }\n ;\n ;\n if (parts[1]) {\n end = ((((((((parts[1] == \"-=\")) ? -1 : 1)) * end)) + start));\n }\n ;\n ;\n e.custom(start, end, unit);\n }\n else {\n e.custom(start, val, \"\");\n }\n ;\n ;\n }\n ;\n ;\n });\n return true;\n });\n },\n queue: function(type, fn) {\n if (((jQuery.isFunction(type) || ((type && ((type.constructor == Array))))))) {\n fn = type;\n type = \"fx\";\n }\n ;\n ;\n if (((!type || ((((typeof type == \"string\")) && !fn))))) {\n return queue(this[0], type);\n }\n ;\n ;\n return this.each(function() {\n if (((fn.constructor == Array))) {\n queue(this, type, fn);\n }\n else {\n queue(this, type).push(fn);\n if (((queue(this, type).length == 1))) {\n fn.call(this);\n }\n ;\n ;\n }\n ;\n ;\n });\n },\n JSBNG__stop: function(clearQueue, gotoEnd) {\n var timers = jQuery.timers;\n if (clearQueue) {\n this.queue([]);\n }\n ;\n ;\n this.each(function() {\n for (var i = ((timers.length - 1)); ((i >= 0)); i--) {\n if (((timers[i].elem == this))) {\n if (gotoEnd) {\n timers[i](true);\n }\n ;\n ;\n timers.splice(i, 1);\n }\n ;\n ;\n };\n ;\n });\n if (!gotoEnd) {\n this.dequeue();\n }\n ;\n ;\n return this;\n }\n });\n var queue = function(elem, type, array) {\n if (elem) {\n type = ((type || \"fx\"));\n var q = jQuery.data(elem, ((type + \"queue\")));\n if (((!q || array))) {\n q = jQuery.data(elem, ((type + \"queue\")), jQuery.makeArray(array));\n }\n ;\n ;\n }\n ;\n ;\n return q;\n };\n jQuery.fn.dequeue = function(type) {\n type = ((type || \"fx\"));\n return this.each(function() {\n var q = queue(this, type);\n q.shift();\n if (q.length) {\n q[0].call(this);\n }\n ;\n ;\n });\n };\n jQuery.extend({\n speed: function(speed, easing, fn) {\n var opt = ((((speed && ((speed.constructor == Object)))) ? speed : {\n complete: ((((fn || ((!fn && easing)))) || ((jQuery.isFunction(speed) && speed)))),\n duration: speed,\n easing: ((((fn && easing)) || ((((easing && ((easing.constructor != Function)))) && easing))))\n }));\n opt.duration = ((((((opt.duration && ((opt.duration.constructor == Number)))) ? opt.duration : jQuery.fx.speeds[opt.duration])) || jQuery.fx.speeds.def));\n opt.old = opt.complete;\n opt.complete = function() {\n if (((opt.queue !== false))) {\n jQuery(this).dequeue();\n }\n ;\n ;\n if (jQuery.isFunction(opt.old)) {\n opt.old.call(this);\n }\n ;\n ;\n };\n return opt;\n },\n easing: {\n linear: function(p, n, firstNum, diff) {\n return ((firstNum + ((diff * p))));\n },\n swing: function(p, n, firstNum, diff) {\n return ((((((((-Math.cos(((p * Math.PI))) / 2)) + 51337)) * diff)) + firstNum));\n }\n },\n timers: [],\n timerId: null,\n fx: function(elem, options, prop) {\n this.options = options;\n this.elem = elem;\n this.prop = prop;\n if (!options.orig) {\n options.orig = {\n };\n }\n ;\n ;\n }\n });\n jQuery.fx.prototype = {\n update: function() {\n if (this.options.step) {\n this.options.step.call(this.elem, this.now, this);\n }\n ;\n ;\n ((jQuery.fx.step[this.prop] || jQuery.fx.step._default))(this);\n if (((((this.prop == \"height\")) || ((this.prop == \"width\"))))) {\n this.elem.style.display = \"block\";\n }\n ;\n ;\n },\n cur: function(force) {\n if (((((this.elem[this.prop] != null)) && ((this.elem.style[this.prop] == null))))) {\n return this.elem[this.prop];\n }\n ;\n ;\n var r = parseFloat(jQuery.css(this.elem, this.prop, force));\n return ((((r && ((r > -10000)))) ? r : ((parseFloat(jQuery.curCSS(this.elem, this.prop)) || 0))));\n },\n custom: function(from, to, unit) {\n this.startTime = now();\n this.start = from;\n this.end = to;\n this.unit = ((((unit || this.unit)) || \"px\"));\n this.now = this.start;\n this.pos = this.state = 0;\n this.update();\n var JSBNG__self = this;\n function t(gotoEnd) {\n return JSBNG__self.step(gotoEnd);\n };\n ;\n t.elem = this.elem;\n jQuery.timers.push(t);\n if (((jQuery.timerId == null))) {\n jQuery.timerId = JSBNG__setInterval(function() {\n var timers = jQuery.timers;\n for (var i = 0; ((i < timers.length)); i++) {\n if (!timers[i]()) {\n timers.splice(i--, 1);\n }\n ;\n ;\n };\n ;\n if (!timers.length) {\n JSBNG__clearInterval(jQuery.timerId);\n jQuery.timerId = null;\n }\n ;\n ;\n }, 13);\n }\n ;\n ;\n },\n show: function() {\n this.options.orig[this.prop] = jQuery.attr(this.elem.style, this.prop);\n this.options.show = true;\n this.custom(0, this.cur());\n if (((((this.prop == \"width\")) || ((this.prop == \"height\"))))) {\n this.elem.style[this.prop] = \"1px\";\n }\n ;\n ;\n jQuery(this.elem).show();\n },\n hide: function() {\n this.options.orig[this.prop] = jQuery.attr(this.elem.style, this.prop);\n this.options.hide = true;\n this.custom(this.cur(), 0);\n },\n step: function(gotoEnd) {\n var t = now();\n if (((gotoEnd || ((t > ((this.options.duration + this.startTime))))))) {\n this.now = this.end;\n this.pos = this.state = 1;\n this.update();\n this.options.curAnim[this.prop] = true;\n var done = true;\n {\n var fin27keys = ((window.top.JSBNG_Replay.forInKeys)((this.options.curAnim))), fin27i = (0);\n var i;\n for (; (fin27i < fin27keys.length); (fin27i++)) {\n ((i) = (fin27keys[fin27i]));\n {\n if (((this.options.curAnim[i] !== true))) {\n done = false;\n }\n ;\n ;\n };\n };\n };\n ;\n if (done) {\n if (((this.options.display != null))) {\n this.elem.style.overflow = this.options.overflow;\n this.elem.style.display = this.options.display;\n if (((jQuery.css(this.elem, \"display\") == \"none\"))) {\n this.elem.style.display = \"block\";\n }\n ;\n ;\n }\n ;\n ;\n if (this.options.hide) {\n this.elem.style.display = \"none\";\n }\n ;\n ;\n if (((this.options.hide || this.options.show))) {\n {\n var fin28keys = ((window.top.JSBNG_Replay.forInKeys)((this.options.curAnim))), fin28i = (0);\n var p;\n for (; (fin28i < fin28keys.length); (fin28i++)) {\n ((p) = (fin28keys[fin28i]));\n {\n jQuery.attr(this.elem.style, p, this.options.orig[p]);\n };\n };\n };\n ;\n }\n ;\n ;\n }\n ;\n ;\n if (done) {\n this.options.complete.call(this.elem);\n }\n ;\n ;\n return false;\n }\n else {\n var n = ((t - this.startTime));\n this.state = ((n / this.options.duration));\n this.pos = jQuery.easing[((this.options.easing || ((jQuery.easing.swing ? \"swing\" : \"linear\"))))](this.state, n, 0, 1, this.options.duration);\n this.now = ((this.start + ((((this.end - this.start)) * this.pos))));\n this.update();\n }\n ;\n ;\n return true;\n }\n };\n jQuery.extend(jQuery.fx, {\n speeds: {\n slow: 600,\n fast: 200,\n def: 400\n },\n step: {\n scrollLeft: function(fx) {\n fx.elem.scrollLeft = fx.now;\n },\n scrollTop: function(fx) {\n fx.elem.scrollTop = fx.now;\n },\n opacity: function(fx) {\n jQuery.attr(fx.elem.style, \"opacity\", fx.now);\n },\n _default: function(fx) {\n fx.elem.style[fx.prop] = ((fx.now + fx.unit));\n }\n }\n });\n jQuery.fn.offset = function() {\n var left = 0, JSBNG__top = 0, elem = this[0], results;\n if (elem) {\n with (jQuery.browser) {\n var parent = elem.parentNode, offsetChild = elem, offsetParent = elem.offsetParent, doc = elem.ownerDocument, safari2 = ((((safari && ((parseInt(version) < 522)))) && !/adobeair/i.test(userAgent))), css = jQuery.curCSS, fixed = ((css(elem, \"position\") == \"fixed\"));\n if (elem.getBoundingClientRect) {\n var box = elem.getBoundingClientRect();\n add(((box.left + Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft))), ((box.JSBNG__top + Math.max(doc.documentElement.scrollTop, doc.body.scrollTop))));\n add(-doc.documentElement.clientLeft, -doc.documentElement.clientTop);\n }\n else {\n add(elem.offsetLeft, elem.offsetTop);\n while (offsetParent) {\n add(offsetParent.offsetLeft, offsetParent.offsetTop);\n if (((((mozilla && !/^t(able|d|h)$/i.test(offsetParent.tagName))) || ((safari && !safari2))))) {\n border(offsetParent);\n }\n ;\n ;\n if (((!fixed && ((css(offsetParent, \"position\") == \"fixed\"))))) {\n fixed = true;\n }\n ;\n ;\n offsetChild = ((/^body$/i.test(offsetParent.tagName) ? offsetChild : offsetParent));\n offsetParent = offsetParent.offsetParent;\n };\n ;\n while (((((parent && parent.tagName)) && !/^body|html$/i.test(parent.tagName)))) {\n if (!/^inline|table.*$/i.test(css(parent, \"display\"))) {\n add(-parent.scrollLeft, -parent.scrollTop);\n }\n ;\n ;\n if (((mozilla && ((css(parent, \"overflow\") != \"visible\"))))) {\n border(parent);\n }\n ;\n ;\n parent = parent.parentNode;\n };\n ;\n if (((((safari2 && ((fixed || ((css(offsetChild, \"position\") == \"absolute\")))))) || ((mozilla && ((css(offsetChild, \"position\") != \"absolute\"))))))) {\n add(-doc.body.offsetLeft, -doc.body.offsetTop);\n }\n ;\n ;\n if (fixed) {\n add(Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft), Math.max(doc.documentElement.scrollTop, doc.body.scrollTop));\n }\n ;\n ;\n }\n ;\n ;\n results = {\n JSBNG__top: JSBNG__top,\n left: left\n };\n };\n ;\n }\n ;\n ;\n function border(elem) {\n add(jQuery.curCSS(elem, \"borderLeftWidth\", true), jQuery.curCSS(elem, \"borderTopWidth\", true));\n };\n ;\n function add(l, t) {\n left += ((parseInt(l, 10) || 0));\n JSBNG__top += ((parseInt(t, 10) || 0));\n };\n ;\n return results;\n };\n jQuery.fn.extend({\n position: function() {\n var left = 0, JSBNG__top = 0, results;\n if (this[0]) {\n var offsetParent = this.offsetParent(), offset = this.offset(), parentOffset = ((/^body|html$/i.test(offsetParent[0].tagName) ? {\n JSBNG__top: 0,\n left: 0\n } : offsetParent.offset()));\n offset.JSBNG__top -= num(this, \"marginTop\");\n offset.left -= num(this, \"marginLeft\");\n parentOffset.JSBNG__top += num(offsetParent, \"borderTopWidth\");\n parentOffset.left += num(offsetParent, \"borderLeftWidth\");\n results = {\n JSBNG__top: ((offset.JSBNG__top - parentOffset.JSBNG__top)),\n left: ((offset.left - parentOffset.left))\n };\n }\n ;\n ;\n return results;\n },\n offsetParent: function() {\n var offsetParent = this[0].offsetParent;\n while (((offsetParent && ((!/^body|html$/i.test(offsetParent.tagName) && ((jQuery.css(offsetParent, \"position\") == \"static\"))))))) {\n offsetParent = offsetParent.offsetParent;\n };\n ;\n return jQuery(offsetParent);\n }\n });\n jQuery.each([\"Left\",\"Top\",], function(i, JSBNG__name) {\n var method = ((\"JSBNG__scroll\" + JSBNG__name));\n jQuery.fn[method] = function(val) {\n if (!this[0]) {\n return;\n }\n ;\n ;\n return ((((val != undefined)) ? this.each(function() {\n ((((((this == window)) || ((this == JSBNG__document)))) ? window.JSBNG__scrollTo(((!i ? val : jQuery(window).scrollLeft())), ((i ? val : jQuery(window).scrollTop()))) : this[method] = val));\n }) : ((((((this[0] == window)) || ((this[0] == JSBNG__document)))) ? ((((JSBNG__self[((i ? \"JSBNG__pageYOffset\" : \"JSBNG__pageXOffset\"))] || ((jQuery.boxModel && JSBNG__document.documentElement[method])))) || JSBNG__document.body[method])) : this[0][method]))));\n };\n });\n jQuery.each([\"Height\",\"Width\",], function(i, JSBNG__name) {\n var tl = ((i ? \"Left\" : \"Top\")), br = ((i ? \"Right\" : \"Bottom\"));\n jQuery.fn[((\"JSBNG__inner\" + JSBNG__name))] = function() {\n return ((((this[JSBNG__name.toLowerCase()]() + num(this, ((\"padding\" + tl))))) + num(this, ((\"padding\" + br)))));\n };\n jQuery.fn[((\"JSBNG__outer\" + JSBNG__name))] = function(margin) {\n return ((((((this[((\"JSBNG__inner\" + JSBNG__name))]() + num(this, ((((\"border\" + tl)) + \"Width\"))))) + num(this, ((((\"border\" + br)) + \"Width\"))))) + ((margin ? ((num(this, ((\"margin\" + tl))) + num(this, ((\"margin\" + br))))) : 0))));\n };\n });\n };\n if (window.amznJQ) {\n amznJQ.initJQuery = initJQuery;\n }\n else {\n initJQuery();\n }\n ;\n ;\n })();\n (function() {\n var patchJQuery = function(jQuery) {\n var $ = jQuery;\n if (!jQuery) {\n return;\n }\n ;\n ;\n jQuery.fn.offset126 = jQuery.fn.offset;\n if (JSBNG__document.documentElement[\"getBoundingClientRect\"]) {\n jQuery.fn.offset = function() {\n if (!this[0]) {\n return {\n JSBNG__top: 0,\n left: 0\n };\n }\n ;\n ;\n if (((this[0] === this[0].ownerDocument.body))) {\n return jQuery.offset.bodyOffset(this[0]);\n }\n ;\n ;\n var box = this[0].getBoundingClientRect(), doc = this[0].ownerDocument, body = doc.body, docElem = doc.documentElement, ieTouch = ((JSBNG__navigator.msMaxTouchPoints > 0)), clientTop = ((((docElem.clientTop || body.clientTop)) || 0)), clientLeft = ((((docElem.clientLeft || body.clientLeft)) || 0)), JSBNG__top = ((((box.JSBNG__top + ((((((!ieTouch && JSBNG__self.JSBNG__pageYOffset)) || ((jQuery.boxModel && docElem.scrollTop)))) || body.scrollTop)))) - clientTop)), left = ((((box.left + ((((((!ieTouch && JSBNG__self.JSBNG__pageXOffset)) || ((jQuery.boxModel && docElem.scrollLeft)))) || body.scrollLeft)))) - clientLeft));\n return {\n JSBNG__top: JSBNG__top,\n left: left\n };\n };\n }\n else {\n jQuery.fn.offset = function() {\n if (!this[0]) {\n return {\n JSBNG__top: 0,\n left: 0\n };\n }\n ;\n ;\n if (((this[0] === this[0].ownerDocument.body))) {\n return jQuery.offset.bodyOffset(this[0]);\n }\n ;\n ;\n ((jQuery.offset.initialized || jQuery.offset.initialize()));\n var elem = this[0], offsetParent = elem.offsetParent, prevOffsetParent = elem, doc = elem.ownerDocument, computedStyle, docElem = doc.documentElement, body = doc.body, defaultView = doc.defaultView, prevComputedStyle = defaultView.JSBNG__getComputedStyle(elem, null), JSBNG__top = elem.offsetTop, left = elem.offsetLeft;\n while ((((((elem = elem.parentNode) && ((elem !== body)))) && ((elem !== docElem))))) {\n computedStyle = defaultView.JSBNG__getComputedStyle(elem, null);\n JSBNG__top -= elem.scrollTop, left -= elem.scrollLeft;\n if (((elem === offsetParent))) {\n JSBNG__top += elem.offsetTop, left += elem.offsetLeft;\n if (((jQuery.offset.doesNotAddBorder && !((jQuery.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(elem.tagName)))))) {\n JSBNG__top += ((parseInt(computedStyle.borderTopWidth, 10) || 0)), left += ((parseInt(computedStyle.borderLeftWidth, 10) || 0));\n }\n ;\n ;\n prevOffsetParent = offsetParent, offsetParent = elem.offsetParent;\n }\n ;\n ;\n if (((jQuery.offset.subtractsBorderForOverflowNotVisible && ((computedStyle.overflow !== \"visible\"))))) {\n JSBNG__top += ((parseInt(computedStyle.borderTopWidth, 10) || 0)), left += ((parseInt(computedStyle.borderLeftWidth, 10) || 0));\n }\n ;\n ;\n prevComputedStyle = computedStyle;\n };\n ;\n if (((((prevComputedStyle.position === \"relative\")) || ((prevComputedStyle.position === \"static\"))))) {\n JSBNG__top += body.offsetTop, left += body.offsetLeft;\n }\n ;\n ;\n if (((prevComputedStyle.position === \"fixed\"))) {\n JSBNG__top += Math.max(docElem.scrollTop, body.scrollTop), left += Math.max(docElem.scrollLeft, body.scrollLeft);\n }\n ;\n ;\n return {\n JSBNG__top: JSBNG__top,\n left: left\n };\n };\n }\n ;\n ;\n jQuery.offset = {\n initialize: function() {\n if (this.initialized) {\n return;\n }\n ;\n ;\n var body = JSBNG__document.body, container = JSBNG__document.createElement(\"div\"), innerDiv, checkDiv, table, rules, prop, bodyMarginTop = body.style.marginTop, html = \"\\u003Cdiv style=\\\"position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;\\\"\\u003E\\u003Cdiv\\u003E\\u003C/div\\u003E\\u003C/div\\u003E\\u003Ctable style=\\\"position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;\\\"cellpadding=\\\"0\\\"cellspacing=\\\"0\\\"\\u003E\\u003Ctr\\u003E\\u003Ctd\\u003E\\u003C/td\\u003E\\u003C/tr\\u003E\\u003C/table\\u003E\";\n rules = {\n position: \"absolute\",\n JSBNG__top: 0,\n left: 0,\n margin: 0,\n border: 0,\n width: \"1px\",\n height: \"1px\",\n visibility: \"hidden\"\n };\n {\n var fin29keys = ((window.top.JSBNG_Replay.forInKeys)((rules))), fin29i = (0);\n (0);\n for (; (fin29i < fin29keys.length); (fin29i++)) {\n ((prop) = (fin29keys[fin29i]));\n {\n container.style[prop] = rules[prop];\n };\n };\n };\n ;\n container.innerHTML = html;\n body.insertBefore(container, body.firstChild);\n innerDiv = container.firstChild, checkDiv = innerDiv.firstChild, td = innerDiv.nextSibling.firstChild.firstChild;\n this.doesNotAddBorder = ((checkDiv.offsetTop !== 5));\n this.doesAddBorderForTableAndCells = ((td.offsetTop === 5));\n innerDiv.style.overflow = \"hidden\", innerDiv.style.position = \"relative\";\n this.subtractsBorderForOverflowNotVisible = ((checkDiv.offsetTop === -5));\n body.style.marginTop = \"1px\";\n this.doesNotIncludeMarginInBodyOffset = ((body.offsetTop === 0));\n body.style.marginTop = bodyMarginTop;\n body.removeChild(container);\n this.initialized = true;\n },\n bodyOffset: function(body) {\n ((jQuery.offset.initialized || jQuery.offset.initialize()));\n var JSBNG__top = body.offsetTop, left = body.offsetLeft;\n if (jQuery.offset.doesNotIncludeMarginInBodyOffset) {\n JSBNG__top += ((parseInt(jQuery.curCSS(body, \"marginTop\", true), 10) || 0)), left += ((parseInt(jQuery.curCSS(body, \"marginLeft\", true), 10) || 0));\n }\n ;\n ;\n return {\n JSBNG__top: JSBNG__top,\n left: left\n };\n }\n };\n if (((jQuery.browser.msie && ((JSBNG__document.compatMode == \"BackCompat\"))))) {\n var fixOriginal = jQuery.JSBNG__event.fix;\n jQuery.JSBNG__event.fix = function(JSBNG__event) {\n var e = fixOriginal(JSBNG__event);\n e.pageX -= 2;\n e.pageY -= 2;\n return e;\n };\n }\n ;\n ;\n jQuery.fn.offsetNoIPadFix = jQuery.fn.offset;\n jQuery.fn.offsetIPadFix = jQuery.fn.offset;\n if (((((/webkit.*mobile/i.test(JSBNG__navigator.userAgent) && ((parseFloat($.browser.version) < 532.9)))) && ((\"getBoundingClientRect\" in JSBNG__document.documentElement))))) {\n jQuery.fn.offsetIPadFix = function() {\n var result = this.offsetNoIPadFix();\n result.JSBNG__top -= window.JSBNG__scrollY;\n result.left -= window.JSBNG__scrollX;\n return result;\n };\n if (((((typeof window.jQueryPatchIPadOffset != \"undefined\")) && window.jQueryPatchIPadOffset))) {\n jQuery.fn.offset = jQuery.fn.offsetIPadFix;\n }\n ;\n ;\n }\n ;\n ;\n };\n if (((window.amznJQ && amznJQ.initJQuery))) {\n var initJQuery = amznJQ.initJQuery;\n amznJQ.initJQuery = function() {\n initJQuery();\n patchJQuery(jQuery);\n };\n }\n else {\n patchJQuery(jQuery);\n }\n ;\n ;\n })();\n (function() {\n var timesliceJS, initJQuery;\n if (window.amznJQ) {\n timesliceJS = amznJQ._timesliceJS;\n initJQuery = amznJQ.initJQuery;\n delete amznJQ._timesliceJS;\n delete amznJQ.initJQuery;\n }\n ;\n ;\n var isRunning = false, cbsWaiting = [];\n var doDeferred = function() {\n ;\n isRunning = true;\n var stopTime = (((new JSBNG__Date()).getTime() + 40));\n var callingCB;\n try {\n while (((cbsWaiting.length && (((new JSBNG__Date()).getTime() <= stopTime))))) {\n var cb = cbsWaiting.shift();\n callingCB = true;\n cb();\n callingCB = false;\n };\n ;\n } finally {\n if (callingCB) {\n ;\n }\n ;\n ;\n if (cbsWaiting.length) {\n ;\n JSBNG__setTimeout(doDeferred, 0);\n }\n else {\n ;\n isRunning = false;\n }\n ;\n ;\n };\n ;\n };\n var callInTimeslice = function(cbOrArray) {\n if (((typeof cbOrArray === \"function\"))) {\n cbsWaiting.push(cbOrArray);\n }\n else {\n cbsWaiting = cbsWaiting.concat(cbOrArray);\n }\n ;\n ;\n if (!isRunning) {\n isRunning = true;\n JSBNG__setTimeout(doDeferred, 0);\n }\n ;\n ;\n };\n var initAmznJQ = function() {\n var $ = window.jQuery, jQuery = $;\n if (!jQuery) {\n return;\n }\n ;\n ;\n var bootstrapAmznJQ = window.amznJQ;\n if (!window.goN2Debug) {\n window.goN2Debug = new function() {\n this.info = function() {\n \n };\n return this;\n };\n }\n ;\n ;\n window.amznJQ = new function() {\n ;\n var me = this;\n me.jQuery = jQuery;\n jQuery.noConflict(true);\n if (window.jQuery) {\n ;\n }\n else {\n window.jQuery = jQuery;\n }\n ;\n ;\n var _logicalToPhysical = {\n JQuery: {\n functionality: \"JQuery\",\n urls: null\n },\n popover: {\n functionality: \"popover\",\n urls: null\n }\n };\n var _func_loaded = {\n };\n var _url_loaded = {\n };\n var _loading = {\n };\n function _loadFunctionality(functionality) {\n var urls = _logicalToPhysical[functionality].urls;\n if (urls) {\n ;\n $.each(urls, function() {\n if (!_url_loaded[this]) {\n _loadURL(this, functionality);\n }\n ;\n ;\n });\n }\n else {\n ;\n }\n ;\n ;\n };\n ;\n function _loadURL(url, functionality) {\n ;\n $.ajax({\n type: \"GET\",\n url: url,\n success: _onUrlLoadedFcn(url, functionality),\n dataType: \"script\",\n cache: true\n });\n };\n ;\n function _onUrlLoadedFcn(url, functionality) {\n return function() {\n ;\n _url_loaded[url] = true;\n var all_loaded = true;\n $.each(_logicalToPhysical[functionality].urls, function() {\n all_loaded = ((all_loaded && !!_url_loaded[this]));\n });\n if (all_loaded) {\n \n }\n ;\n ;\n };\n };\n ;\n me.addLogical = function(functionality, urls) {\n var ul = ((urls ? urls.length : \"no\"));\n ;\n _logicalToPhysical[functionality] = {\n functionality: functionality,\n urls: urls\n };\n if (!urls) {\n me.declareAvailable(functionality);\n return;\n }\n ;\n ;\n if (_loading[functionality]) {\n _loadFunctionality(functionality);\n }\n ;\n ;\n };\n me.declareAvailable = function(functionality) {\n ;\n if (((typeof _logicalToPhysical[functionality] == \"undefined\"))) {\n _logicalToPhysical[functionality] = {\n functionality: functionality,\n urls: null\n };\n }\n ;\n ;\n _func_loaded[functionality] = true;\n triggerEventCallbacks(((functionality + \".loaded\")));\n };\n me.addStyle = function(css_url) {\n var dcss = JSBNG__document.styleSheets[0];\n if (((dcss && dcss.addImport))) {\n while (((dcss.imports.length >= 31))) {\n dcss = dcss.imports[0];\n };\n ;\n dcss.addImport(css_url);\n }\n else {\n $(\"style[type='text/css']:first\").append(((((\"@import url(\\\"\" + css_url)) + \"\\\");\")));\n }\n ;\n ;\n };\n me.addStyles = function(args) {\n var urls = ((args.urls || []));\n var styles = ((args.styles || []));\n var dcss = JSBNG__document.styleSheets;\n if (((((dcss && !dcss.length)) && JSBNG__document.createStyleSheet))) {\n JSBNG__document.createStyleSheet();\n }\n ;\n ;\n dcss = dcss[0];\n if (((dcss && dcss.addImport))) {\n $.each(urls, function() {\n while (((dcss.imports.length >= 31))) {\n dcss = dcss.imports[0];\n };\n ;\n dcss.addImport(this);\n });\n }\n else {\n $.each(urls, function() {\n var attrs = {\n type: \"text/css\",\n rel: \"stylesheet\",\n href: this\n };\n $(\"head\").append($(\"\\u003Clink/\\u003E\").attr(attrs));\n });\n }\n ;\n ;\n var css = \"\";\n $.each(styles, function() {\n css += this;\n });\n if (css) {\n if (JSBNG__document.createStyleSheet) {\n try {\n var sheet = JSBNG__document.createStyleSheet();\n sheet.cssText = css;\n } catch (e) {\n \n };\n ;\n }\n else {\n $(\"head\").append($(\"\\u003Cstyle/\\u003E\").attr({\n type: \"text/css\"\n }).append(css));\n }\n ;\n ;\n }\n ;\n ;\n };\n var eventCBQueue = {\n };\n var enqueueEventCallback = function(eventName, cb) {\n if (!timesliceJS) {\n $(JSBNG__document).one(eventName, cb);\n return;\n }\n ;\n ;\n var queue = ((eventCBQueue[eventName] || []));\n queue.push(function() {\n cb(jQuery.JSBNG__event.fix({\n type: eventName\n }));\n });\n eventCBQueue[eventName] = queue;\n };\n var triggerEventCallbacks = function(eventName) {\n if (!timesliceJS) {\n $(JSBNG__document).trigger(eventName);\n return;\n }\n ;\n ;\n var queue = eventCBQueue[eventName];\n if (queue) {\n callInTimeslice(queue);\n delete eventCBQueue[eventName];\n }\n ;\n ;\n };\n var doEventCallbackNow = function(eventName, cb) {\n if (!timesliceJS) {\n $(JSBNG__document).one(eventName, cb);\n $(JSBNG__document).trigger(eventName);\n }\n else {\n if (eventCBQueue[eventName]) {\n enqueueEventCallback(eventName, cb);\n triggerEventCallbacks(eventName);\n }\n else {\n callInTimeslice(function() {\n cb(jQuery.JSBNG__event.fix({\n type: eventName\n }));\n });\n }\n ;\n ;\n }\n ;\n ;\n };\n me.available = function(functionality, eventCallbackFunction) {\n if (_func_loaded[functionality]) {\n ;\n doEventCallbackNow(((functionality + \".loaded\")), eventCallbackFunction);\n }\n else {\n if (_loading[functionality]) {\n ;\n enqueueEventCallback(((functionality + \".loaded\")), eventCallbackFunction);\n }\n else {\n if (_logicalToPhysical[functionality]) {\n ;\n _loading[functionality] = true;\n enqueueEventCallback(((functionality + \".loaded\")), eventCallbackFunction);\n _loadFunctionality(functionality);\n }\n else {\n ;\n _loading[functionality] = true;\n enqueueEventCallback(((functionality + \".loaded\")), eventCallbackFunction);\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n };\n me.onReady = function(functionality, eventCallbackFunction) {\n var ajq = this;\n $(function() {\n ajq.available(functionality, eventCallbackFunction);\n });\n };\n var _stage_completed = {\n };\n var _fail_safe_stages = [\"amznJQ.theFold\",\"amznJQ.criticalFeature\",];\n me.onCompletion = function(stage, callbackFn) {\n if (_stage_completed[stage]) {\n ;\n doEventCallbackNow(stage, callbackFn);\n }\n else {\n ;\n enqueueEventCallback(stage, callbackFn);\n }\n ;\n ;\n };\n me.completedStage = function(stage) {\n if (!_stage_completed[stage]) {\n ;\n _stage_completed[stage] = true;\n triggerEventCallbacks(stage);\n }\n ;\n ;\n };\n me.windowOnLoad = function() {\n ;\n $.each(_fail_safe_stages, function() {\n if (!_stage_completed[this]) {\n ;\n _stage_completed[this] = true;\n triggerEventCallbacks(this);\n }\n ;\n ;\n });\n };\n (function() {\n var plUrls = [], lowPriUrls = [], hiPriUrls = [], isLowPriEligibleYet = false, ST = JSBNG__setTimeout, doc = JSBNG__document, docElem = doc.documentElement, styleObj = docElem.style, nav = JSBNG__navigator, isGecko = ((\"MozAppearance\" in styleObj)), isWebkit = ((!isGecko && ((\"webkitAppearance\" in styleObj)))), isSafari = ((isWebkit && ((nav.vendor.indexOf(\"Apple\") === 0)))), isIE = ((((!isGecko && !isWebkit)) && ((nav.appName.indexOf(\"Microsoft\") === 0)))), isMobile = ((nav.userAgent.indexOf(\"Mobile\") != -1)), allowedLoaders = ((((window.plCount !== undefined)) ? window.plCount() : ((((((!isMobile && ((isWebkit || isGecko)))) || ((isIE && ((typeof XDomainRequest === \"object\")))))) ? 5 : 2)))), currentLoaders = 0, timeout = 2500;\n function setLoadState() {\n if (((hiPriUrls.length > 0))) {\n plUrls = hiPriUrls;\n }\n else {\n plUrls = lowPriUrls;\n if (((((plUrls.length === 0)) || !isLowPriEligibleYet))) {\n return false;\n }\n ;\n ;\n }\n ;\n ;\n if (((currentLoaders >= allowedLoaders))) {\n return false;\n }\n ;\n ;\n currentLoaders++;\n return true;\n };\n ;\n function loaderDone(loader, timer) {\n JSBNG__clearTimeout(timer);\n currentLoaders = ((((currentLoaders < 1)) ? 0 : ((currentLoaders - 1))));\n destroyLoader(loader);\n if (!isIE) {\n load();\n }\n else {\n ST(load, 0);\n }\n ;\n ;\n };\n ;\n function destroyElement(el) {\n if (el) {\n var p = el.parentElement;\n if (p) {\n p.removeChild(el);\n }\n ;\n ;\n el = null;\n }\n ;\n ;\n };\n ;\n var destroyLoader = function(loader) {\n if (isGecko) {\n JSBNG__setTimeout(function() {\n destroyElement(loader);\n }, 5);\n }\n else {\n destroyElement(loader);\n }\n ;\n ;\n };\n var load = ((!((((isIE || isGecko)) || isWebkit)) ? function() {\n ;\n } : function() {\n if (!setLoadState()) {\n return;\n }\n ;\n ;\n var url = plUrls.pop(), loader, hL = ((((plUrls === hiPriUrls)) ? \"H\" : \"L\")), timer;\n ;\n if (isGecko) {\n loader = doc.createElement(\"object\");\n }\n else {\n if (isSafari) {\n var end = url.indexOf(\"?\");\n end = ((((end > 0)) ? end : url.length));\n var posDot = url.lastIndexOf(\".\", end);\n if (posDot) {\n switch (url.substring(((posDot + 1)), end).toLowerCase()) {\n case \"js\":\n loader = doc.createElement(\"script\");\n loader.type = \"f\";\n break;\n case \"png\":\n \n case \"jpg\":\n \n case \"jpeg\":\n \n case \"gif\":\n loader = new JSBNG__Image();\n break;\n };\n ;\n }\n ;\n ;\n if (!loader) {\n ;\n loaderDone(url);\n return;\n }\n ;\n ;\n }\n else {\n loader = new JSBNG__Image();\n }\n ;\n ;\n }\n ;\n ;\n loader.JSBNG__onerror = function() {\n ;\n loaderDone(loader, timer);\n };\n loader.JSBNG__onload = function() {\n ;\n loaderDone(loader, timer);\n };\n if (((isGecko || ((isSafari && ((loader.tagName == \"SCRIPT\"))))))) {\n timer = ST(function() {\n ;\n loaderDone(loader, timer);\n }, ((timeout + ((Math.JSBNG__random() * 100)))));\n }\n ;\n ;\n if (isGecko) {\n loader.data = url;\n }\n else {\n loader.src = url;\n }\n ;\n ;\n if (!isIE) {\n loader.width = loader.height = 0;\n loader.style.display = \"none\";\n docElem.appendChild(loader);\n }\n ;\n ;\n if (((currentLoaders < allowedLoaders))) {\n load();\n }\n ;\n ;\n }));\n function processUrlList(urlList, target) {\n if (((typeof (urlList) === \"string\"))) {\n urlList = [urlList,];\n }\n else {\n if (((((typeof (urlList) !== \"object\")) || ((urlList === null))))) {\n return;\n }\n ;\n ;\n }\n ;\n ;\n var i, u;\n for (i = 0; ((i < urlList.length)); i++) {\n u = urlList[i];\n if (((u && ((typeof (u) !== \"string\"))))) {\n processUrlList(u, target);\n }\n else {\n if (((u && !((u[0] == \" \"))))) {\n target.splice(Math.round(((Math.JSBNG__random() * target.length))), 0, u);\n }\n ;\n ;\n }\n ;\n ;\n };\n ;\n };\n ;\n me._getPLStat = function() {\n return {\n H: hiPriUrls.length,\n L: lowPriUrls.length,\n P: plUrls.length,\n CL: currentLoaders,\n AL: allowedLoaders\n };\n };\n me.addPL = function(urlList) {\n processUrlList(urlList, lowPriUrls);\n load();\n };\n me.PLNow = function(urlList) {\n processUrlList(urlList, hiPriUrls);\n load();\n };\n function triggerPagePreloads() {\n isLowPriEligibleYet = true;\n load();\n };\n ;\n if (((typeof bootstrapAmznJQ.PLTriggerName !== \"undefined\"))) {\n amznJQ.available(bootstrapAmznJQ.PLTriggerName, triggerPagePreloads);\n }\n else {\n $(window).load(function() {\n ST(triggerPagePreloads, 1000);\n });\n }\n ;\n ;\n }());\n me.strings = {\n };\n me.chars = {\n };\n if (bootstrapAmznJQ) {\n $.extend(this.strings, bootstrapAmznJQ.strings);\n $.extend(this.chars, bootstrapAmznJQ.chars);\n }\n ;\n ;\n }();\n $(window).load(function() {\n amznJQ.windowOnLoad();\n });\n if (((((((window.ue && bootstrapAmznJQ)) && window.ues)) && window.uex))) {\n ues(\"wb\", \"jQueryActive\", 1);\n uex(\"ld\", \"jQueryActive\");\n }\n ;\n ;\n amznJQ.declareAvailable(\"JQuery\");\n amznJQ.declareAvailable(\"jQuery\");\n if (bootstrapAmznJQ) {\n ;\n $.each(bootstrapAmznJQ._l, function() {\n amznJQ.addLogical(this[0], this[1]);\n });\n $.each(bootstrapAmznJQ._s, function() {\n amznJQ.addStyle(this[0]);\n });\n $.each(bootstrapAmznJQ._d, function() {\n amznJQ.declareAvailable(this[0], this[1]);\n });\n $.each(bootstrapAmznJQ._a, function() {\n amznJQ.available(this[0], this[1]);\n });\n $.each(((bootstrapAmznJQ._t || [])), function() {\n callInTimeslice(this[0]);\n });\n $.each(bootstrapAmznJQ._o, function() {\n amznJQ.onReady(this[0], this[1]);\n });\n $.each(bootstrapAmznJQ._c, function() {\n amznJQ.onCompletion(this[0], this[1]);\n });\n $.each(bootstrapAmznJQ._cs, function() {\n amznJQ.completedStage(this[0], this[1]);\n });\n amznJQ.addPL(bootstrapAmznJQ._pl);\n }\n ;\n ;\n };\n if (!initJQuery) {\n initAmznJQ();\n }\n else {\n if (!timesliceJS) {\n initJQuery();\n initAmznJQ();\n }\n else {\n callInTimeslice(initJQuery);\n callInTimeslice(initAmznJQ);\n }\n ;\n ;\n }\n ;\n ;\n })();\n (function() {\n if (window.amznJQ) {\n window.amznJQ.available(\"jQuery\", function() {\n initAmazonPopover(((window.amznJQ.jQuery || window.jQuery)));\n window.amznJQ.declareAvailable(\"popover\");\n });\n }\n ;\n ;\n if (((((typeof window.P === \"object\")) && ((typeof window.P.when === \"function\"))))) {\n window.P.when(\"jQuery\").register(\"legacy-popover\", function($) {\n initAmazonPopover($);\n return null;\n });\n }\n ;\n ;\n function initAmazonPopover($) {\n if (((!$ || $.AmazonPopover))) {\n return;\n }\n ;\n ;\n var rootElement = function() {\n var container = $(\"#ap_container\");\n return ((((container.length && container)) || $(\"body\")));\n };\n var viewport = {\n width: function() {\n return Math.min($(window).width(), $(JSBNG__document).width());\n },\n height: function() {\n return $(window).height();\n }\n };\n var mouseTracker = function() {\n var regions = [], n = 3, cursor = [{\n x: 0,\n y: 0\n },], c = 0, JSBNG__scroll = [0,0,], listening = false;\n var callbackArgs = function() {\n var pCursors = [];\n for (var i = 1; ((i < n)); i++) {\n pCursors.push(cursor[((((((c - i)) + n)) % n))]);\n };\n ;\n return $.extend(true, {\n }, {\n cursor: cursor[c],\n priorCursors: pCursors\n });\n };\n var check = function(immediately) {\n for (var i = 0; ((i < regions.length)); i++) {\n var r = regions[i];\n var inside = (($.grep(r.rects, function(n) {\n return ((((((((cursor[c].x >= n[0])) && ((cursor[c].y >= n[1])))) && ((cursor[c].x < ((n[0] + n[2])))))) && ((cursor[c].y < ((n[1] + n[3]))))));\n }).length > 0));\n if (((((((((r.inside !== null)) && inside)) && !r.inside)) && r.mouseEnter))) {\n r.inside = r.mouseEnter(callbackArgs());\n }\n else {\n if (((((((((r.inside !== null)) && !inside)) && r.inside)) && r.mouseLeave))) {\n r.inside = !r.mouseLeave(immediately, callbackArgs());\n }\n ;\n ;\n }\n ;\n ;\n };\n ;\n };\n var startListening = function() {\n JSBNG__scroll = [$(window).scrollLeft(),$(window).scrollTop(),];\n $(JSBNG__document).mousemove(function(e) {\n if (((typeof e.pageY !== \"undefined\"))) {\n c = ((((c + 1)) % n));\n cursor[c] = {\n x: e.pageX,\n y: e.pageY\n };\n }\n ;\n ;\n check();\n });\n if (!isMobileAgent(true)) {\n $(JSBNG__document).JSBNG__scroll(function(e) {\n cursor[c].x += (($(window).scrollLeft() - JSBNG__scroll[0]));\n cursor[c].y += (($(window).scrollTop() - JSBNG__scroll[1]));\n JSBNG__scroll = [$(window).scrollLeft(),$(window).scrollTop(),];\n check();\n });\n }\n ;\n ;\n listening = true;\n };\n return {\n add: function(rectsArray, options) {\n if (!listening) {\n startListening();\n }\n ;\n ;\n var r = $.extend({\n rects: rectsArray\n }, options);\n regions.push(r);\n return r;\n },\n remove: function(region) {\n for (var i = 0; ((i < regions.length)); i++) {\n if (((regions[i] === region))) {\n regions.splice(i, 1);\n return;\n }\n ;\n ;\n };\n ;\n },\n checkNow: function() {\n check(true);\n },\n getCallbackArgs: function() {\n return callbackArgs();\n }\n };\n }();\n var iframePool = function() {\n var ie6 = (($.browser.msie && ((parseInt($.browser.version) <= 6))));\n var src = ((ie6 ? window.AmazonPopoverImages.pixel : \"javascript:void(false)\"));\n var HTML = ((((\"\\u003Ciframe frameborder=\\\"0\\\" tabindex=\\\"-1\\\" src=\\\"\" + src)) + \"\\\" style=\\\"display:none;position:absolute;z-index:0;filter:Alpha(Opacity='0');opacity:0;\\\" /\\u003E\"));\n var pool = [];\n var addToLib = function(n) {\n for (i = 0; ((i < n)); i++) {\n pool.push($(HTML).prependTo(rootElement()));\n };\n ;\n };\n $(JSBNG__document).ready(function() {\n addToLib(3);\n });\n return {\n checkout: function(jqObj) {\n if (!pool.length) {\n addToLib(1);\n }\n ;\n ;\n return pool.pop().css({\n display: \"block\",\n JSBNG__top: jqObj.offset().JSBNG__top,\n left: jqObj.offset().left,\n width: jqObj.JSBNG__outerWidth(),\n height: jqObj.JSBNG__outerHeight(),\n zIndex: ((Number(jqObj.css(\"z-index\")) - 1))\n });\n },\n checkin: function(iframe) {\n pool.push(iframe.css(\"display\", \"none\"));\n }\n };\n }();\n var elementHidingManager = function() {\n var hiddenElements = [];\n var win = /Win/.test(JSBNG__navigator.platform);\n var mac = /Mac/.test(JSBNG__navigator.platform);\n var linux = /Linux/.test(JSBNG__navigator.platform);\n var version = parseInt($.browser.version);\n var canOverlayWmodeWindow = false;\n var intersectingPopovers = function(obj) {\n var bounds = [obj.offset().left,obj.offset().JSBNG__top,obj.JSBNG__outerWidth(),obj.JSBNG__outerHeight(),];\n var intersecting = [];\n for (var i = 0; ((i < popovers.length)); i++) {\n var disparate = false;\n if (!popovers[i].settings.modal) {\n var r = popovers[i].bounds;\n disparate = ((((((((bounds[0] > ((r[0] + r[2])))) || ((r[0] > ((bounds[0] + bounds[2])))))) || ((bounds[1] > ((r[1] + r[3])))))) || ((r[1] > ((bounds[1] + bounds[3]))))));\n }\n ;\n ;\n if (!disparate) {\n intersecting.push(popovers[i]);\n }\n ;\n ;\n };\n ;\n return intersecting;\n };\n var shouldBeVisible = function(obj) {\n if (obj.hasClass(\"ap_never_hide\")) {\n return true;\n }\n ;\n ;\n if (intersectingPopovers(obj).length) {\n if (obj.is(\"object,embed\")) {\n var wmode = ((((((obj.attr(\"wmode\") || obj.children(\"object,embed\").attr(\"wmode\"))) || obj.parent(\"object,embed\").attr(\"wmode\"))) || \"window\"));\n if (((((wmode.toLowerCase() == \"window\")) && !canOverlayWmodeWindow))) {\n return false;\n }\n ;\n ;\n }\n ;\n ;\n if (obj.is(\"div\")) {\n if ($.browser.safari) {\n return false;\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n return true;\n };\n var setVisibility = function(elementQuery, shouldBecomeVisible) {\n if (elementQuery.is(\"iframe[id^=DA],iframe[id^=cachebust]\")) {\n elementQuery.css({\n display: ((shouldBecomeVisible ? \"block\" : \"none\"))\n });\n }\n else {\n elementQuery.css({\n visibility: ((shouldBecomeVisible ? \"visible\" : \"hidden\"))\n });\n }\n ;\n ;\n };\n return {\n update: function() {\n var HIDDEN = 0;\n var VISIBLE = 1;\n var stillHidden = [];\n for (var i = 0; ((i < hiddenElements.length)); i++) {\n var hiddenElement = hiddenElements[i];\n if (!shouldBeVisible(hiddenElement)) {\n stillHidden.push(hiddenElement);\n }\n else {\n setVisibility(hiddenElement, VISIBLE);\n }\n ;\n ;\n };\n ;\n hiddenElements = stillHidden;\n $(\"object:visible,embed:visible,iframe:visible\").each(function() {\n var obj = jQuery(this);\n if (!shouldBeVisible(obj)) {\n hiddenElements.push(obj);\n setVisibility(obj, HIDDEN);\n }\n ;\n ;\n });\n }\n };\n }();\n var applyBacking = function(popover, options) {\n var region = null;\n var iframe = null;\n options = ((options || {\n }));\n var destroy = function() {\n if (region) {\n mouseTracker.remove(region);\n region = null;\n }\n ;\n ;\n if (iframe) {\n iframePool.checkin(iframe);\n iframe = null;\n }\n ;\n ;\n elementHidingManager.update();\n };\n var refreshBounds = function() {\n var newBounds = [popover.offset().left,popover.offset().JSBNG__top,popover.JSBNG__outerWidth(),popover.JSBNG__outerHeight(),];\n if (region) {\n region.rects[0] = newBounds;\n }\n ;\n ;\n if (iframe) {\n iframe.css({\n left: newBounds[0],\n JSBNG__top: newBounds[1],\n width: newBounds[2],\n height: newBounds[3]\n });\n }\n ;\n ;\n elementHidingManager.update();\n };\n var reposition = function(x, y) {\n if (iframe) {\n iframe.css({\n left: x,\n JSBNG__top: y\n });\n }\n ;\n ;\n if (region) {\n region.rects[0][0] = x;\n region.rects[0][1] = y;\n }\n ;\n ;\n };\n if (((options.useIFrame !== false))) {\n iframe = iframePool.checkout(popover);\n }\n ;\n ;\n var bounds = [[popover.offset().left,popover.offset().JSBNG__top,popover.JSBNG__outerWidth(),popover.JSBNG__outerHeight(),],];\n if (options.additionalCursorRects) {\n for (var i = 0; ((i < options.additionalCursorRects.length)); i++) {\n bounds.push(options.additionalCursorRects[i]);\n };\n ;\n }\n ;\n ;\n region = mouseTracker.add(bounds, options);\n elementHidingManager.update();\n popover.backing = {\n destroy: destroy,\n refreshBounds: refreshBounds,\n reposition: reposition,\n iframe: iframe\n };\n };\n var defaultSettings = {\n width: 500,\n followScroll: false,\n locationMargin: 4,\n alignMargin: 0,\n windowMargin: 4,\n locationFitInWindow: true,\n focusOnShow: true,\n modal: false,\n draggable: false,\n zIndex: 200,\n showOnHover: false,\n hoverShowDelay: 400,\n hoverHideDelay: 200,\n skin: \"default\",\n useIFrame: true,\n clone: false,\n ajaxSlideDuration: 400,\n ajaxErrorContent: null,\n paddingLeft: 17,\n paddingRight: 17,\n paddingBottom: 8\n };\n var overlay = null;\n var popovers = [];\n var et = {\n MOUSE_ENTER: 1,\n MOUSE_LEAVE: 2,\n CLICK_TRIGGER: 4,\n CLICK_OUTSIDE: 8,\n fromStrings: function(s) {\n var flags = 0;\n var JSBNG__self = this;\n if (s) {\n $.each($.makeArray(s), function() {\n flags = ((flags | JSBNG__self[this]));\n });\n }\n ;\n ;\n return flags;\n }\n };\n var ajaxCache = {\n };\n var preparedPopover = null;\n var openGroupPopover = {\n };\n var skins = {\n \"default\": ((((\"\\u003Cdiv class=\\\"ap_popover ap_popover_sprited\\\" surround=\\\"6,16,18,16\\\" tabindex=\\\"0\\\"\\u003E \\u003Cdiv class=\\\"ap_header\\\"\\u003E \\u003Cdiv class=\\\"ap_left\\\"/\\u003E \\u003Cdiv class=\\\"ap_middle\\\"/\\u003E \\u003Cdiv class=\\\"ap_right\\\"/\\u003E \\u003C/div\\u003E \\u003Cdiv class=\\\"ap_body\\\"\\u003E \\u003Cdiv class=\\\"ap_left\\\"/\\u003E \\u003Cdiv class=\\\"ap_content\\\"\\u003E\\u003Cimg src=\\\"\" + window.AmazonPopoverImages.snake)) + \"\\\"/\\u003E\\u003C/div\\u003E \\u003Cdiv class=\\\"ap_right\\\"/\\u003E \\u003C/div\\u003E \\u003Cdiv class=\\\"ap_footer\\\"\\u003E \\u003Cdiv class=\\\"ap_left\\\"/\\u003E \\u003Cdiv class=\\\"ap_middle\\\"/\\u003E \\u003Cdiv class=\\\"ap_right\\\"/\\u003E \\u003C/div\\u003E \\u003Cdiv class=\\\"ap_titlebar\\\"\\u003E \\u003Cdiv class=\\\"ap_title\\\"/\\u003E \\u003C/div\\u003E \\u003Cdiv class=\\\"ap_close\\\"\\u003E\\u003Ca href=\\\"#\\\"\\u003E\\u003Cspan class=\\\"ap_closetext\\\"/\\u003E\\u003Cspan class=\\\"ap_closebutton\\\"\\u003E\\u003Cspan\\u003E\\u003C/span\\u003E\\u003C/span\\u003E\\u003C/a\\u003E\\u003C/div\\u003E \\u003C/div\\u003E\")),\n default_non_sprited: ((((((((\"\\u003Cdiv class=\\\"ap_popover ap_popover_unsprited\\\" surround=\\\"6,16,18,16\\\" tabindex=\\\"0\\\"\\u003E \\u003Cdiv class=\\\"ap_header\\\"\\u003E \\u003Cdiv class=\\\"ap_left\\\"/\\u003E \\u003Cdiv class=\\\"ap_middle\\\"/\\u003E \\u003Cdiv class=\\\"ap_right\\\"/\\u003E \\u003C/div\\u003E \\u003Cdiv class=\\\"ap_body\\\"\\u003E \\u003Cdiv class=\\\"ap_left\\\"/\\u003E \\u003Cdiv class=\\\"ap_content\\\"\\u003E\\u003Cimg src=\\\"\" + window.AmazonPopoverImages.snake)) + \"\\\"/\\u003E\\u003C/div\\u003E \\u003Cdiv class=\\\"ap_right\\\"/\\u003E \\u003C/div\\u003E \\u003Cdiv class=\\\"ap_footer\\\"\\u003E \\u003Cdiv class=\\\"ap_left\\\"/\\u003E \\u003Cdiv class=\\\"ap_middle\\\"/\\u003E \\u003Cdiv class=\\\"ap_right\\\"/\\u003E \\u003C/div\\u003E \\u003Cdiv class=\\\"ap_titlebar\\\"\\u003E \\u003Cdiv class=\\\"ap_title\\\"/\\u003E \\u003C/div\\u003E \\u003Cdiv class=\\\"ap_close\\\"\\u003E\\u003Ca href=\\\"#\\\"\\u003E\\u003Cspan class=\\\"ap_closetext\\\"/\\u003E\\u003Cimg border=\\\"0\\\" src=\\\"\")) + window.AmazonPopoverImages.btnClose)) + \"\\\"/\\u003E\\u003C/a\\u003E\\u003C/div\\u003E \\u003C/div\\u003E\")),\n classic: ((((((((((((((((((((\"\\u003Cdiv class=\\\"ap_classic\\\"\\u003E \\u003Cdiv class=\\\"ap_titlebar\\\"\\u003E \\u003Cdiv class=\\\"ap_close\\\"\\u003E \\u003Cimg width=\\\"46\\\" height=\\\"16\\\" border=\\\"0\\\" alt=\\\"close\\\" onmouseup='this.src=\\\"\" + window.AmazonPopoverImages.closeTan)) + \"\\\";' onmouseout='this.src=\\\"\")) + window.AmazonPopoverImages.closeTan)) + \"\\\";' onmousedown='this.src=\\\"\")) + window.AmazonPopoverImages.closeTanDown)) + \"\\\";' src=\\\"\")) + window.AmazonPopoverImages.closeTan)) + \"\\\" /\\u003E \\u003C/div\\u003E \\u003Cspan class=\\\"ap_title\\\"\\u003E\\u003C/span\\u003E \\u003C/div\\u003E \\u003Cdiv class=\\\"ap_content\\\"\\u003E\\u003Cimg src=\\\"\")) + window.AmazonPopoverImages.loadingBar)) + \"\\\"/\\u003E\\u003C/div\\u003E \\u003C/div\\u003E\"))\n };\n var boundingRectangle = function(set) {\n var b = {\n left: Infinity,\n JSBNG__top: Infinity,\n right: -Infinity,\n bottom: -Infinity\n };\n set.each(function() {\n try {\n var t = $(this);\n var o = t.offset();\n var w = t.JSBNG__outerWidth();\n var h = t.JSBNG__outerHeight();\n if (t.is(\"area\")) {\n var ab = boundsOfAreaElement(t);\n o = {\n left: ab[0],\n JSBNG__top: ab[1]\n };\n w = ((ab[2] - ab[0]));\n h = ((ab[3] - ab[1]));\n }\n ;\n ;\n if (((o.left < b.left))) {\n b.left = o.left;\n }\n ;\n ;\n if (((o.JSBNG__top < b.JSBNG__top))) {\n b.JSBNG__top = o.JSBNG__top;\n }\n ;\n ;\n if (((((o.left + w)) > b.right))) {\n b.right = ((o.left + w));\n }\n ;\n ;\n if (((((o.JSBNG__top + h)) > b.bottom))) {\n b.bottom = ((o.JSBNG__top + h));\n }\n ;\n ;\n } catch (e) {\n \n };\n ;\n });\n return b;\n };\n var bringToFront = function(popover) {\n if (((popovers.length <= 1))) {\n return;\n }\n ;\n ;\n var maxZ = Math.max.apply(Math, $.map(popovers, function(p) {\n return Number(p.css(\"z-index\"));\n }));\n if (((Number(popover.css(\"z-index\")) == maxZ))) {\n return;\n }\n ;\n ;\n popover.css(\"z-index\", ((maxZ + 2)));\n ((popover.backing && popover.backing.iframe.css(\"z-index\", ((maxZ + 1)))));\n };\n $.fn.removeAmazonPopoverTrigger = function() {\n this.unbind(\"click.amzPopover\");\n this.unbind(\"mouseover.amzPopover\");\n this.unbind(\"mouseout.amzPopover\");\n return this;\n };\n $.fn.amazonPopoverTrigger = function(customSettings) {\n var settings = $.extend({\n }, defaultSettings, customSettings);\n var triggers = this;\n var popover = null;\n if (((!settings.showOnHover && ((settings.skin == \"default\"))))) {\n this.bind(\"mouseover.amzPopover\", preparePopover);\n }\n ;\n ;\n if (((typeof settings.showOnHover == \"string\"))) {\n var hoverSet = triggers.filter(settings.showOnHover);\n }\n else {\n var hoverSet = ((settings.showOnHover ? triggers : jQuery([])));\n }\n ;\n ;\n var timerID = null;\n hoverSet.bind(\"mouseover.amzPopover\", function(e) {\n if (((!popover && !timerID))) {\n timerID = JSBNG__setTimeout(function() {\n if (!popover) {\n var parent = triggers.parent(), length = parent.length, tagName = ((length ? ((parent.attr(\"tagName\") || parent.get(0).tagName)) : undefined));\n if (((length && tagName))) {\n if (((!settings.triggeringEnabled || settings.triggeringEnabled.call(triggers)))) {\n popover = displayPopover(settings, triggers, function() {\n popover = null;\n });\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n timerID = null;\n }, settings.hoverShowDelay);\n }\n ;\n ;\n return false;\n });\n hoverSet.bind(\"mouseout.amzPopover\", function(e) {\n if (((!popover && timerID))) {\n JSBNG__clearTimeout(timerID);\n timerID = null;\n }\n ;\n ;\n });\n triggers.bind(\"click.amzPopover\", function(e) {\n var followLink = ((((settings.followLink === true)) || ((((typeof settings.followLink == \"function\")) && settings.followLink.call(triggers, popover, settings)))));\n if (followLink) {\n return true;\n }\n ;\n ;\n if (popover) {\n popover.triggerClicked();\n }\n else {\n if (((!settings.triggeringEnabled || settings.triggeringEnabled.call(triggers)))) {\n popover = displayPopover(settings, triggers, function() {\n popover = null;\n });\n }\n ;\n ;\n }\n ;\n ;\n return false;\n });\n this.amznPopoverHide = function() {\n ((popover && popover.close()));\n };\n this.amznPopoverVisible = function() {\n return !!popover;\n };\n return this;\n };\n var updateBacking = function(group) {\n if (((group && openGroupPopover[group]))) {\n var popover = openGroupPopover[group];\n if (popover.backing) {\n popover.backing.refreshBounds();\n }\n ;\n ;\n }\n ;\n ;\n };\n var displayPopover = function(settings, triggers, destroyFunction) {\n addAliases(settings);\n var parent = null;\n if (triggers) {\n var parents = triggers.eq(0).parents().get();\n for (var t = 0; ((((t < parents.length)) && !parent)); t++) {\n for (var i = 0; ((((i < popovers.length)) && !parent)); i++) {\n if (((popovers[i].get(0) == parents[t]))) {\n parent = popovers[i];\n }\n ;\n ;\n };\n ;\n };\n ;\n }\n ;\n ;\n var children = [];\n children.remove = function(p) {\n for (var i = 0; ((i < this.length)); i++) {\n if (((this[i] === p))) {\n this.splice(i, 1);\n return;\n }\n ;\n ;\n };\n ;\n };\n var interactedWith = false;\n $.each(defaultSettings, function(k, v) {\n if (((typeof settings[k] == \"undefined\"))) {\n settings[k] = v;\n }\n ;\n ;\n });\n if (!settings.JSBNG__location) {\n settings.JSBNG__location = ((((settings.modal || !triggers)) ? \"centered\" : \"auto\"));\n }\n ;\n ;\n if (((settings.showCloseButton === null))) {\n settings.showCloseButton = !settings.showOnHover;\n }\n ;\n ;\n $.each(popovers, function() {\n settings.zIndex = Math.max(settings.zIndex, ((Number(this.css(\"z-index\")) + 2)));\n });\n var closeEvent = ((((settings.showOnHover ? et.MOUSE_LEAVE : et.CLICK_TRIGGER)) | ((settings.modal ? et.CLICK_OUTSIDE : 0))));\n closeEvent = ((((closeEvent | et.fromStrings(settings.closeEventInclude))) & ~et.fromStrings(settings.closeEventExclude)));\n var clickAwayHandler;\n var reposition = function() {\n position(popover, settings, triggers);\n };\n var close = function() {\n if (settings.group) {\n openGroupPopover[settings.group] = null;\n }\n ;\n ;\n if (((original && original.parents(\"body\").length))) {\n if (((ballMarker && ballMarker.parents(\"body\").length))) {\n original.hide().insertAfter(ballMarker);\n ballMarker.remove();\n ballMarker = null;\n }\n else {\n original.hide().appendTo(rootElement());\n }\n ;\n ;\n }\n ;\n ;\n if (((original != popover))) {\n popover.remove();\n }\n ;\n ;\n if (parent) {\n parent.children.remove(popover);\n }\n ;\n ;\n for (var i = 0; ((i < popovers.length)); i++) {\n if (((popovers[i] === popover))) {\n popovers.splice(i, 1);\n break;\n }\n ;\n ;\n };\n ;\n if (popover.backing) {\n popover.backing.destroy();\n popover.backing = null;\n }\n ;\n ;\n mouseTracker.checkNow();\n if (destroyFunction) {\n destroyFunction();\n }\n ;\n ;\n if (settings.onHide) {\n settings.onHide.call(triggers, popover, settings);\n }\n ;\n ;\n if (((settings.modal && overlay))) {\n if (overlay.fitToScreen) {\n $(window).unbind(\"resize\", overlay.fitToScreen);\n }\n ;\n ;\n overlay.remove();\n overlay = null;\n }\n ;\n ;\n $(JSBNG__document).unbind(\"JSBNG__scroll.AmazonPopover\");\n $(JSBNG__document).unbind(\"click\", clickAwayHandler);\n for (var i = 0; ((i < children.length)); i++) {\n children[i].close();\n };\n ;\n children = [];\n return false;\n };\n var fill = function(JSBNG__content, autoshow) {\n var container = popover.JSBNG__find(\".ap_sub_content\");\n if (((container.length == 0))) {\n container = popover.JSBNG__find(\".ap_content\");\n }\n ;\n ;\n if (((typeof JSBNG__content == \"string\"))) {\n container.html(JSBNG__content);\n }\n else {\n container.empty().append(JSBNG__content);\n }\n ;\n ;\n if (((((typeof settings.autoshow == \"boolean\")) ? settings.autoshow : autoshow))) {\n if ($.browser.msie) {\n container.children().show().hide();\n }\n ;\n ;\n container.children(\":not(style)\").show();\n }\n ;\n ;\n container.JSBNG__find(\".ap_custom_close\").click(close);\n if (settings.onFilled) {\n settings.onFilled.call(triggers, popover, settings);\n }\n ;\n ;\n return container;\n };\n if (((settings.modal && !overlay))) {\n overlay = showOverlay(close, settings.zIndex);\n }\n ;\n ;\n var popover = null;\n var original = null;\n var ballMarker = null;\n if (((settings.skin == \"default\"))) {\n preparePopover();\n popover = preparedPopover;\n preparedPopover = null;\n }\n else {\n var skin = (($.isFunction(settings.skin) ? settings.skin() : settings.skin));\n skin = ((skin || \"\\u003Cdiv\\u003E\\u003Cdiv class='ap_content' /\\u003E\\u003C/div\\u003E\"));\n var skinIsHtml = /^[^<]*(<(.|\\s)+>)[^>]*$/.test(skin);\n var skinHtml = ((skinIsHtml ? skin : skins[skin]));\n popover = $(skinHtml);\n }\n ;\n ;\n if ((($.browser.msie && ((parseInt($.browser.version) == 6))))) {\n fixPngs(popover);\n }\n ;\n ;\n if (((settings.skin == \"default\"))) {\n popover.JSBNG__find(\".ap_content\").css({\n paddingLeft: settings.paddingLeft,\n paddingRight: settings.paddingRight,\n paddingBottom: settings.paddingBottom\n });\n }\n ;\n ;\n if (settings.localContent) {\n if (settings.clone) {\n fill($(settings.localContent).clone(true), true);\n }\n else {\n original = $(settings.localContent);\n ballMarker = $(\"\\u003Cspan style='display:none' /\\u003E\").insertBefore(original);\n fill(original, true);\n }\n ;\n ;\n }\n else {\n if (settings.literalContent) {\n fill(settings.literalContent);\n }\n ;\n ;\n }\n ;\n ;\n if (settings.destination) {\n var destinationUrl = ((((typeof settings.destination == \"function\")) ? settings.destination() : settings.destination));\n if (((((settings.cacheable !== false)) && ajaxCache[destinationUrl]))) {\n fill(ajaxCache[destinationUrl]);\n }\n else {\n $.ajax({\n url: destinationUrl,\n timeout: settings.ajaxTimeout,\n success: function(data) {\n if (settings.onAjaxSuccess) {\n settings.onAjaxSuccess.apply(settings, arguments);\n }\n ;\n ;\n var contentCacheable = ((data.match(/^(\\s|<!--[\\s\\S]*?-->)*<\\w+[^>]*\\s+cacheable=\"(.*?)\"/i) || data.match(/^(\\s|<!--[\\s\\S]*?-->)*<\\w+[^>]*\\s+cacheable='(.*?)'/i)));\n if (((((settings.cacheable !== false)) && ((!contentCacheable || ((contentCacheable[2] !== \"0\"))))))) {\n ajaxCache[destinationUrl] = data;\n }\n ;\n ;\n var title = ((data.match(/^(\\s|<!--[\\s\\S]*?-->)*<\\w+[^>]*\\s+popoverTitle=\"(.*?)\"/i) || data.match(/^(\\s|<!--[\\s\\S]*?-->)*<\\w+[^>]*\\s+popoverTitle='(.*?)'/i)));\n if (title) {\n settings.title = title[2];\n popover.JSBNG__find(\".ap_title\").html(settings.title);\n }\n ;\n ;\n if (((((settings.ajaxSlideDuration > 0)) && !(($.browser.msie && ((JSBNG__document.compatMode == \"BackCompat\"))))))) {\n popover.JSBNG__find(\".ap_content\").hide();\n fill(data);\n if (!settings.width) {\n position(popover, settings, triggers);\n }\n ;\n ;\n if (settings.onAjaxShow) {\n settings.onAjaxShow.call(triggers, popover, settings);\n }\n ;\n ;\n popover.JSBNG__find(\".ap_content\").slideDown(settings.ajaxSlideDuration, function() {\n position(popover, settings, triggers);\n });\n }\n else {\n fill(data);\n if (settings.onAjaxShow) {\n settings.onAjaxShow.call(triggers, popover, settings);\n }\n ;\n ;\n position(popover, settings, triggers);\n }\n ;\n ;\n },\n error: function() {\n var data = null;\n if (((typeof settings.ajaxErrorContent == \"function\"))) {\n data = settings.ajaxErrorContent.apply(settings, arguments);\n }\n else {\n data = settings.ajaxErrorContent;\n }\n ;\n ;\n if (((data !== null))) {\n var container = fill(data);\n var title = container.children(\"[popoverTitle]\").attr(\"popoverTitle\");\n if (title) {\n popover.JSBNG__find(\".ap_title\").html(title);\n }\n ;\n ;\n position(popover, settings, triggers);\n }\n ;\n ;\n }\n });\n }\n ;\n ;\n }\n ;\n ;\n if (((((!settings.localContent && !settings.literalContent)) && !settings.destination))) {\n throw (\"AmazonPopover wasn't provided a source of content.\");\n }\n ;\n ;\n if (parent) {\n parent.children.push(popover);\n }\n ;\n ;\n settings.surround = jQuery.map(((popover.attr(\"surround\") || \"0,0,0,0\")).split(\",\"), function(n) {\n return Number(n);\n });\n popover.css({\n zIndex: settings.zIndex,\n position: \"absolute\",\n left: -2000,\n JSBNG__top: -2000\n });\n popover.click(function(e) {\n if (!e.metaKey) {\n e.stopPropagation();\n }\n ;\n ;\n interactedWith = true;\n });\n clickAwayHandler = function(e) {\n var leftButton = ((((e.button === 0)) || ((e.which == 1))));\n if (((leftButton && !e.metaKey))) {\n close();\n }\n ;\n ;\n };\n if (((closeEvent & et.CLICK_OUTSIDE))) {\n $(JSBNG__document).click(clickAwayHandler);\n }\n ;\n ;\n popover.mousedown(function(e) {\n if (!children.length) {\n bringToFront(popover);\n }\n ;\n ;\n });\n var width = ((settings.width && ((((typeof settings.width == \"function\")) ? settings.width() : settings.width))));\n if (!width) {\n width = ((getDynamicWidth(popover, settings) || popover.JSBNG__outerWidth()));\n }\n ;\n ;\n if (width) {\n popover.css(\"width\", width);\n }\n ;\n ;\n if (settings.followScroll) {\n $(JSBNG__document).bind(\"JSBNG__scroll.AmazonPopover\", function(e) {\n followScroll(e);\n });\n }\n ;\n ;\n if (((((settings.title !== null)) && ((settings.title !== undefined))))) {\n var titleBar = popover.JSBNG__find(\".ap_titlebar\");\n if (((settings.skin == \"default\"))) {\n titleBar.css({\n width: ((width - 36))\n });\n titleBar.JSBNG__find(\".ap_title\").css(\"width\", ((width - 70)));\n popover.JSBNG__find(\".ap_content\").css({\n paddingTop: 18\n });\n }\n ;\n ;\n popover.JSBNG__find(\".ap_title\").html(settings.title);\n if (((settings.draggable && !settings.modal))) {\n enableDragAndDrop(titleBar, popover);\n }\n ;\n ;\n titleBar.show();\n if (((((settings.skin == \"default\")) && settings.wrapTitlebar))) {\n titleBar.addClass(\"multiline\");\n popover.JSBNG__find(\".ap_content\").css({\n paddingTop: ((titleBar.JSBNG__outerHeight() - 9))\n });\n }\n ;\n ;\n }\n else {\n popover.JSBNG__find(\".ap_titlebar\").hide();\n }\n ;\n ;\n if (((settings.showCloseButton !== false))) {\n popover.JSBNG__find(\".ap_close\").show().click(close).mousedown(function(e) {\n e.preventDefault();\n e.stopPropagation();\n return false;\n }).css(\"cursor\", \"default\");\n if (!settings.title) {\n popover.JSBNG__find(\".ap_content\").css({\n paddingTop: 10\n });\n }\n ;\n ;\n popover.keydown(function(e) {\n if (((e.keyCode == 27))) {\n close();\n }\n ;\n ;\n });\n }\n else {\n popover.JSBNG__find(\".ap_close\").css(\"display\", \"none\");\n }\n ;\n ;\n if (settings.closeText) {\n popover.JSBNG__find(\".ap_closetext\").text(settings.closeText).show();\n }\n else {\n popover.JSBNG__find(\".ap_closebutton span\").text(\"Close\");\n }\n ;\n ;\n popover.appendTo(rootElement());\n position(popover, settings, triggers);\n $(JSBNG__document.activeElement).filter(\"input[type=text], select\").JSBNG__blur();\n popover.close = close;\n if (settings.group) {\n if (openGroupPopover[settings.group]) {\n openGroupPopover[settings.group].close();\n }\n ;\n ;\n openGroupPopover[settings.group] = popover;\n }\n ;\n ;\n popover.show();\n if (settings.focusOnShow) {\n popover.get(0).hideFocus = true;\n popover.JSBNG__focus();\n }\n ;\n ;\n if (((overlay && overlay.snapToLeft))) {\n overlay.snapToLeft();\n }\n ;\n ;\n if (settings.onShow) {\n settings.onShow.call(triggers, popover, settings);\n }\n ;\n ;\n popover.bounds = [popover.offset().left,popover.offset().JSBNG__top,popover.JSBNG__outerWidth(),popover.JSBNG__outerHeight(),];\n popovers.push(popover);\n popover.reposition = reposition;\n popover.close = close;\n popover.settings = settings;\n popover.triggerClicked = function() {\n if (((closeEvent & et.CLICK_TRIGGER))) {\n close();\n }\n ;\n ;\n };\n popover.children = children;\n if (((closeEvent & et.MOUSE_LEAVE))) {\n var timerID = null;\n var triggerRects = [];\n $.each(triggers, function() {\n var n = $(this);\n if (n.is(\"area\")) {\n var b = boundsOfAreaElement(n);\n triggerRects.push([b[0],b[1],((b[2] - b[0])),((b[3] - b[1])),]);\n }\n else {\n triggerRects.push([n.offset().left,n.offset().JSBNG__top,n.JSBNG__outerWidth(),n.JSBNG__outerHeight(),]);\n }\n ;\n ;\n });\n if (settings.additionalCursorRects) {\n $(settings.additionalCursorRects).each(function() {\n var n = $(this);\n triggerRects.push([n.offset().left,n.offset().JSBNG__top,n.JSBNG__outerWidth(),n.JSBNG__outerHeight(),]);\n });\n }\n ;\n ;\n applyBacking(popover, {\n solidRectangle: settings.solidRectangle,\n useIFrame: settings.useIFrame,\n mouseEnter: function() {\n if (timerID) {\n JSBNG__clearTimeout(timerID);\n timerID = null;\n }\n ;\n ;\n return true;\n },\n mouseLeave: function(immediately) {\n if (((settings.semiStatic && interactedWith))) {\n return !children.length;\n }\n ;\n ;\n if (timerID) {\n JSBNG__clearTimeout(timerID);\n timerID = null;\n }\n ;\n ;\n if (((children.length == 0))) {\n if (immediately) {\n close();\n }\n else {\n timerID = JSBNG__setTimeout(function() {\n close();\n timerID = null;\n }, settings.hoverHideDelay);\n }\n ;\n ;\n return true;\n }\n ;\n ;\n return false;\n },\n additionalCursorRects: triggerRects,\n inside: true\n });\n }\n else {\n applyBacking(popover, {\n solidRectangle: settings.solidRectangle,\n useIFrame: settings.useIFrame\n });\n }\n ;\n ;\n $(function() {\n for (var i = 0; ((i < popovers.length)); i++) {\n if (popovers[i].settings.modal) {\n popovers[i].backing.refreshBounds();\n }\n ;\n ;\n };\n ;\n });\n return popover;\n };\n var isMobileAgent = function(inclusive) {\n var reAry = [\"iPhone\",\"iPad\",];\n if (inclusive) {\n reAry.push(\"Silk/\", \"Kindle Fire\", \"Android\", \"\\\\bTouch\\\\b\");\n }\n ;\n ;\n var reStr = ((((\"(\" + reAry.join(\"|\"))) + \")\"));\n return JSBNG__navigator.userAgent.match(new RegExp(reStr, \"i\"));\n };\n var getPageWidth = function() {\n return (($.browser.msie ? $(window).width() : \"100%\"));\n };\n var getPageHeight = function() {\n return (((($.browser.msie || isMobileAgent())) ? $(JSBNG__document).height() : \"100%\"));\n };\n var showOverlay = function(closeFunction, z) {\n var overlay = $(\"\\u003Cdiv id=\\\"ap_overlay\\\"/\\u003E\");\n if ($.browser.msie) {\n overlay.fitToScreen = function(e) {\n var windowHeight = $(JSBNG__document).height();\n var windowWidth = $(window).width();\n var children = overlay.children();\n overlay.css({\n width: windowWidth,\n height: windowHeight,\n backgroundColor: \"transparent\",\n zIndex: z\n });\n var appendElements = [];\n for (var i = 0; ((((i < children.size())) || ((((windowHeight - ((i * 2000)))) > 0)))); i++) {\n var paneHeight = Math.min(((windowHeight - ((i * 2000)))), 2000);\n if (((paneHeight > 0))) {\n if (((i < children.size()))) {\n children.eq(i).css({\n width: windowWidth,\n height: paneHeight\n });\n }\n else {\n var slice = $(\"\\u003Cdiv/\\u003E\").css({\n opacity: 95378,\n zIndex: z,\n width: windowWidth,\n height: paneHeight,\n JSBNG__top: ((i * 2000))\n });\n appendElements.push(slice[0]);\n }\n ;\n ;\n }\n else {\n children.eq(i).remove();\n }\n ;\n ;\n };\n ;\n if (appendElements.length) {\n overlay.append(appendElements);\n }\n ;\n ;\n };\n overlay.snapToLeft = function() {\n overlay.css(\"left\", jQuery(JSBNG__document).scrollLeft());\n };\n $(window).bind(\"resize load\", overlay.fitToScreen);\n $(window).JSBNG__scroll(overlay.snapToLeft);\n overlay.snapToLeft();\n overlay.fitToScreen();\n }\n else {\n overlay.css({\n width: getPageWidth(),\n height: getPageHeight(),\n position: (((($.browser.mozilla || $.browser.safari)) ? \"fixed\" : \"\")),\n opacity: 95917,\n zIndex: z\n });\n }\n ;\n ;\n return overlay.appendTo(rootElement());\n };\n var HEADER_HEIGHT = 45;\n var FOOTER_HEIGHT = 35;\n var VERT_ARROW_OFFSET = 327;\n var LEFT_ARROW_OFFSET = 0;\n var RIGHT_ARROW_OFFSET = -51;\n var attachedPositioning = function(popover, targetY, JSBNG__location, position, offset) {\n if (popover.hasClass(\"ap_popover_sprited\")) {\n var dist = ((((targetY - JSBNG__location.JSBNG__top)) - offset[1]));\n if (((dist < HEADER_HEIGHT))) {\n dist = HEADER_HEIGHT;\n }\n else {\n if (((dist > ((popover.JSBNG__outerHeight() - FOOTER_HEIGHT))))) {\n dist = ((popover.JSBNG__outerHeight() - FOOTER_HEIGHT));\n }\n ;\n ;\n }\n ;\n ;\n var attachingSide = ((((position == \"left\")) ? \"right\" : \"left\"));\n var elm = popover.JSBNG__find(((\".ap_body .ap_\" + attachingSide)));\n if (((elm.length > 0))) {\n elm.removeClass(((\"ap_\" + attachingSide))).addClass(((((\"ap_\" + attachingSide)) + \"-arrow\")));\n }\n else {\n elm = popover.JSBNG__find(((((\".ap_body .ap_\" + attachingSide)) + \"-arrow\")));\n }\n ;\n ;\n var xOffset = ((((attachingSide == \"left\")) ? LEFT_ARROW_OFFSET : RIGHT_ARROW_OFFSET));\n elm.css(\"backgroundPosition\", ((((((xOffset + \"px \")) + ((dist - VERT_ARROW_OFFSET)))) + \"px\")));\n }\n ;\n ;\n };\n var position = function(popover, settings, triggers) {\n if (!settings.width) {\n popover.css(\"width\", getDynamicWidth(popover, settings));\n }\n ;\n ;\n var offset = ((settings.locationOffset || [0,0,]));\n if (((typeof settings.JSBNG__location == \"function\"))) {\n var JSBNG__location = settings.JSBNG__location.call(triggers, popover, settings);\n }\n else {\n var names = $.map($.makeArray(settings.JSBNG__location), function(n) {\n return ((((n == \"auto\")) ? [\"bottom\",\"left\",\"right\",\"JSBNG__top\",] : n));\n });\n var set = ((((settings.locationElement && $(settings.locationElement))) || triggers));\n var b = ((set && boundingRectangle(set)));\n var JSBNG__location = locationFunction[names[0]](b, popover, settings);\n var index = 0;\n for (var i = 1; ((((i < names.length)) && !JSBNG__location.fits)); i++) {\n var next = locationFunction[names[i]](b, popover, settings);\n if (next.fits) {\n JSBNG__location = next;\n index = i;\n }\n ;\n ;\n };\n ;\n if (((settings.attached && ((((names[index] == \"left\")) || ((names[index] == \"right\"))))))) {\n attachedPositioning(popover, ((((b.JSBNG__top + b.bottom)) / 2)), JSBNG__location, names[index], offset);\n }\n ;\n ;\n }\n ;\n ;\n popover.css({\n left: ((JSBNG__location.left + offset[0])),\n JSBNG__top: ((JSBNG__location.JSBNG__top + offset[1])),\n margin: JSBNG__location.margin,\n right: JSBNG__location.right\n });\n if (popover.backing) {\n popover.backing.refreshBounds();\n }\n ;\n ;\n };\n var horizPosition = function(b, popover, settings) {\n var align = $.makeArray(((settings.align || \"left\")));\n var x = {\n min: (((($(JSBNG__document).scrollLeft() + settings.windowMargin)) - settings.surround[3])),\n max: ((((((viewport.width() + $(JSBNG__document).scrollLeft())) - settings.windowMargin)) - popover.JSBNG__outerWidth())),\n left: ((((b.left - settings.surround[3])) - settings.alignMargin)),\n right: ((((((b.right - popover.JSBNG__outerWidth())) + settings.surround[1])) + settings.alignMargin)),\n center: ((((((b.left + b.right)) - popover.JSBNG__outerWidth())) / 2))\n };\n var align = $.grep($.makeArray(settings.align), function(n) {\n return x[n];\n });\n if (((align.length == 0))) {\n align.push(\"left\");\n }\n ;\n ;\n for (var i = 0; ((i < align.length)); i++) {\n if (((((x[align[i]] >= x.min)) && ((x[align[i]] <= x.max))))) {\n return x[align[i]];\n }\n ;\n ;\n };\n ;\n if (settings.forceAlignment) {\n return x[align[0]];\n }\n ;\n ;\n if (((x.min > x.max))) {\n return x.min;\n }\n ;\n ;\n return ((((x[align[0]] < x.min)) ? x.min : x.max));\n };\n var vertPosition = function(b, popover, settings) {\n var min = (($(JSBNG__document).scrollTop() + settings.windowMargin));\n var max = ((((viewport.height() + $(JSBNG__document).scrollTop())) - settings.windowMargin));\n if (settings.attached) {\n var midpoint = ((((b.JSBNG__top + b.bottom)) / 2));\n if (((((midpoint - HEADER_HEIGHT)) < min))) {\n min = ((((((min + HEADER_HEIGHT)) < b.bottom)) ? min : ((b.bottom - HEADER_HEIGHT))));\n }\n ;\n ;\n if (((((midpoint + FOOTER_HEIGHT)) > max))) {\n max = ((((((max - FOOTER_HEIGHT)) > b.JSBNG__top)) ? max : ((b.JSBNG__top + FOOTER_HEIGHT))));\n }\n ;\n ;\n }\n else {\n min = Math.min(((b.JSBNG__top - settings.alignMargin)), min);\n max = Math.max(((b.bottom + settings.alignMargin)), max);\n }\n ;\n ;\n var y = {\n min: ((min - settings.surround[0])),\n max: ((((max - popover.JSBNG__outerHeight())) + settings.surround[2])),\n JSBNG__top: ((((b.JSBNG__top - settings.surround[0])) - settings.alignMargin)),\n bottom: ((((((b.bottom - popover.JSBNG__outerHeight())) + settings.alignMargin)) + settings.surround[2])),\n middle: ((((((b.JSBNG__top + b.bottom)) - popover.JSBNG__outerHeight())) / 2))\n };\n var align = $.grep($.makeArray(settings.align), function(n) {\n return y[n];\n });\n if (((align.length == 0))) {\n align.push(\"JSBNG__top\");\n }\n ;\n ;\n for (var i = 0; ((i < align.length)); i++) {\n if (((((y[align[i]] >= y.min)) && ((y[align[i]] <= y.max))))) {\n return y[align[i]];\n }\n ;\n ;\n };\n ;\n if (settings.forceAlignment) {\n return y[align[0]];\n }\n ;\n ;\n if (((y.min > y.max))) {\n return y.min;\n }\n ;\n ;\n return ((((y[align[0]] < y.min)) ? y.min : y.max));\n };\n var locationFunction = {\n centered: function(b, popover, settings) {\n var y = (($(window).scrollTop() + 100));\n return {\n left: -((popover.JSBNG__outerWidth() / 2)),\n right: 0,\n JSBNG__top: y,\n margin: \"0% 50%\",\n fits: true\n };\n },\n JSBNG__top: function(b, popover, settings) {\n var room = ((((b.JSBNG__top - $(JSBNG__document).scrollTop())) - ((settings.locationMargin * 2))));\n var triggerInView = ((((b.left >= $(JSBNG__document).scrollLeft())) && ((b.right < ((viewport.width() + $(JSBNG__document).scrollLeft()))))));\n return {\n left: horizPosition(b, popover, settings),\n JSBNG__top: ((((((b.JSBNG__top - popover.JSBNG__outerHeight())) - settings.locationMargin)) + settings.surround[2])),\n fits: ((triggerInView && ((room >= ((((popover.JSBNG__outerHeight() - settings.surround[0])) - settings.surround[2]))))))\n };\n },\n left: function(b, popover, settings) {\n var room = ((((b.left - $(JSBNG__document).scrollLeft())) - ((settings.locationMargin * 2))));\n return {\n left: ((((((b.left - popover.JSBNG__outerWidth())) - settings.locationMargin)) + settings.surround[1])),\n JSBNG__top: vertPosition(b, popover, settings),\n fits: ((room >= ((((popover.JSBNG__outerWidth() - settings.surround[1])) - settings.surround[3]))))\n };\n },\n bottom: function(b, popover, settings) {\n var room = ((((((viewport.height() + $(JSBNG__document).scrollTop())) - b.bottom)) - ((settings.locationMargin * 2))));\n var triggerInView = ((((b.left >= $(JSBNG__document).scrollLeft())) && ((b.right < ((viewport.width() + $(JSBNG__document).scrollLeft()))))));\n return {\n left: horizPosition(b, popover, settings),\n JSBNG__top: ((((b.bottom + settings.locationMargin)) - settings.surround[0])),\n fits: ((triggerInView && ((room >= ((((popover.JSBNG__outerHeight() - settings.surround[0])) - settings.surround[2]))))))\n };\n },\n right: function(b, popover, settings) {\n var room = ((((((viewport.width() + $(JSBNG__document).scrollLeft())) - b.right)) - ((settings.locationMargin * 2))));\n return {\n left: ((((b.right + settings.locationMargin)) - settings.surround[3])),\n JSBNG__top: vertPosition(b, popover, settings),\n fits: ((room >= ((((popover.JSBNG__outerWidth() - settings.surround[1])) - settings.surround[3]))))\n };\n },\n over: function(b, popover, settings) {\n var alignTo = popover.JSBNG__find(((settings.align || \".ap_content *\"))).offset();\n var corner = popover.offset();\n var padding = {\n left: ((alignTo.left - corner.left)),\n JSBNG__top: ((alignTo.JSBNG__top - corner.JSBNG__top))\n };\n var left = ((b.left - padding.left));\n var JSBNG__top = ((b.JSBNG__top - padding.JSBNG__top));\n var adjustedLeft = Math.min(left, ((((((viewport.width() + $(JSBNG__document).scrollLeft())) - popover.JSBNG__outerWidth())) - settings.windowMargin)));\n adjustedLeft = Math.max(adjustedLeft, (((($(JSBNG__document).scrollLeft() - settings.surround[3])) + settings.windowMargin)));\n var adjustedTop = Math.min(JSBNG__top, ((((((((viewport.height() + $(JSBNG__document).scrollTop())) - popover.JSBNG__outerHeight())) + settings.surround[2])) - settings.windowMargin)));\n adjustedTop = Math.max(adjustedTop, (((($(JSBNG__document).scrollTop() - settings.surround[0])) + settings.windowMargin)));\n return {\n left: ((settings.forceAlignment ? left : adjustedLeft)),\n JSBNG__top: ((settings.forceAlignment ? JSBNG__top : adjustedTop)),\n fits: ((((left == adjustedLeft)) && ((JSBNG__top == adjustedTop))))\n };\n }\n };\n var addAliases = function(settings) {\n settings.align = ((settings.align || settings.locationAlign));\n settings.literalContent = ((settings.literalContent || settings.loadingContent));\n };\n var preparePopover = function() {\n if (!preparedPopover) {\n var ie6 = ((jQuery.browser.msie && ((parseInt(jQuery.browser.version) <= 6))));\n preparedPopover = $(skins[((ie6 ? \"default_non_sprited\" : \"default\"))]).css({\n left: -2000,\n JSBNG__top: -2000\n }).appendTo(rootElement());\n }\n ;\n ;\n };\n var fixPngs = function(obj) {\n obj.JSBNG__find(\"*\").each(function() {\n var match = ((jQuery(this).css(\"background-image\") || \"\")).match(/url\\(\"(.*\\.png)\"\\)/);\n if (match) {\n var png = match[1];\n jQuery(this).css(\"background-image\", \"none\");\n jQuery(this).get(0).runtimeStyle.filter = ((((\"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='\" + png)) + \"',sizingMethod='scale')\"));\n }\n ;\n ;\n });\n };\n var getDynamicWidth = function(popover, settings) {\n var container = popover.JSBNG__find(\".ap_content\");\n if (((((settings.skin == \"default\")) && ((container.length > 0))))) {\n var tempNode = $(((((\"\\u003Cdiv class=\\\"ap_temp\\\"\\u003E\" + container.html())) + \"\\u003C/div\\u003E\")));\n tempNode.css({\n display: \"inline\",\n position: \"absolute\",\n JSBNG__top: -9999,\n left: -9999\n });\n rootElement().append(tempNode);\n var marginLeft = ((parseInt(container.parent().css(\"margin-left\")) || 0));\n var marginRight = ((parseInt(container.parent().css(\"margin-right\")) || 0));\n var width = ((((((((((tempNode.width() + marginLeft)) + marginRight)) + settings.paddingLeft)) + settings.paddingRight)) + 2));\n if (((((width % 2)) != 0))) {\n width++;\n }\n ;\n ;\n tempNode.remove();\n return Math.min(width, viewport.width());\n }\n ;\n ;\n return null;\n };\n var enableDragAndDrop = function(titlebar, popover) {\n titlebar.css(\"cursor\", \"move\");\n disableSelect(titlebar.get(0));\n titlebar.mousedown(function(e) {\n e.preventDefault();\n disableSelect(JSBNG__document.body);\n var offset = [((e.pageX - popover.offset().left)),((e.pageY - popover.offset().JSBNG__top)),];\n var mousemove = function(e) {\n e.preventDefault();\n popover.css({\n left: ((e.pageX - offset[0])),\n JSBNG__top: ((e.pageY - offset[1])),\n margin: 0\n });\n if (popover.backing) {\n popover.backing.reposition(((e.pageX - offset[0])), ((e.pageY - offset[1])));\n }\n ;\n ;\n };\n var mouseup = function(e) {\n popover.JSBNG__focus();\n enableSelect(JSBNG__document.body);\n $(JSBNG__document).unbind(\"mousemove\", mousemove);\n $(JSBNG__document).unbind(\"mouseup\", mouseup);\n };\n $(JSBNG__document).mousemove(mousemove).mouseup(mouseup);\n });\n };\n var disableSelect = function(e) {\n if (e) {\n e.onselectstart = function(e) {\n return false;\n };\n e.style.MozUserSelect = \"none\";\n }\n ;\n ;\n };\n var enableSelect = function(e) {\n if (e) {\n e.onselectstart = function(e) {\n return true;\n };\n e.style.MozUserSelect = \"\";\n }\n ;\n ;\n };\n var boundsOfAreaElement = function(area) {\n area = jQuery(area);\n var coords = jQuery.map(area.attr(\"coords\").split(\",\"), function(n) {\n return Number(n);\n });\n if (area.attr(\"shape\").match(/circle/i)) {\n coords = [((coords[0] - coords[2])),((coords[1] - coords[2])),((coords[0] + coords[2])),((coords[1] + coords[2])),];\n }\n ;\n ;\n var x = [], y = [];\n for (var i = 0; ((i < coords.length)); i++) {\n ((((((i % 2)) == 0)) ? x : y)).push(coords[i]);\n };\n ;\n var min = [Math.min.apply(Math, x),Math.min.apply(Math, y),];\n var max = [Math.max.apply(Math, x),Math.max.apply(Math, y),];\n var mapName = area.parents(\"map\").attr(\"JSBNG__name\");\n var mapImg = jQuery(((((\"img[usemap=#\" + mapName)) + \"]\")));\n var map = mapImg.offset();\n map.left += parseInt(mapImg.css(\"border-left-width\"));\n map.JSBNG__top += parseInt(mapImg.css(\"border-top-width\"));\n return [((map.left + min[0])),((map.JSBNG__top + min[1])),((map.left + max[0])),((map.JSBNG__top + max[1])),];\n };\n $.AmazonPopover = {\n displayPopover: displayPopover,\n mouseTracker: mouseTracker,\n updateBacking: updateBacking,\n support: {\n skinCallback: true,\n controlCallbacks: true\n }\n };\n };\n ;\n })();\n (function(window) {\n if (((window.$Nav && !window.$Nav._replay))) {\n return;\n }\n ;\n ;\n function argArray(args) {\n return [].slice.call(args);\n };\n ;\n var timestamp = ((JSBNG__Date.now || function() {\n return +(new JSBNG__Date());\n }));\n var schedule = (function() {\n var toRun = [];\n var scheduled;\n function execute() {\n var i = 0;\n try {\n while (((toRun[i] && ((i < 50))))) {\n i++;\n toRun[((i - 1))].f.apply(window, toRun[((i - 1))].a);\n };\n ;\n } catch (e) {\n var ePrefixed = e;\n var msg = \"\";\n if (toRun[((i - 1))].t) {\n msg = ((((\"[\" + toRun[((i - 1))].t.join(\":\"))) + \"] \"));\n }\n ;\n ;\n if (((ePrefixed && ePrefixed.message))) {\n ePrefixed.message = ((msg + ePrefixed.message));\n }\n else {\n if (((typeof e === \"object\"))) {\n ePrefixed.message = msg;\n }\n else {\n ePrefixed = ((msg + ePrefixed));\n }\n ;\n ;\n }\n ;\n ;\n if (((((window.ueLogError && window.JSBNG__console)) && window.JSBNG__console.error))) {\n window.ueLogError(ePrefixed);\n window.JSBNG__console.error(ePrefixed);\n }\n else {\n throw ePrefixed;\n }\n ;\n ;\n } finally {\n toRun = toRun.slice(i);\n if (((toRun.length > 0))) {\n JSBNG__setTimeout(execute, 1);\n }\n else {\n scheduled = false;\n }\n ;\n ;\n };\n ;\n };\n ;\n return function(tags, func, args) {\n toRun.push({\n t: tags,\n f: func,\n a: argArray(((args || [])))\n });\n if (!scheduled) {\n JSBNG__setTimeout(execute, 1);\n scheduled = true;\n }\n ;\n ;\n };\n }());\n function ensureFunction(value) {\n if (((typeof value === \"function\"))) {\n return value;\n }\n else {\n return function() {\n return value;\n };\n }\n ;\n ;\n };\n ;\n function extract(base, path) {\n var parts = ((path || \"\")).split(\".\");\n for (var i = 0, len = parts.length; ((i < len)); i++) {\n if (((base && parts[i]))) {\n base = base[parts[i]];\n }\n ;\n ;\n };\n ;\n return base;\n };\n ;\n function withRetry(callback) {\n var timeout = 50;\n var execute = function() {\n if (((((timeout <= 20000)) && !callback()))) {\n JSBNG__setTimeout(execute, timeout);\n timeout = ((timeout * 2));\n }\n ;\n ;\n };\n return execute;\n };\n ;\n function isAuiP() {\n return ((((((((typeof window.P === \"object\")) && ((typeof window.P.when === \"function\")))) && ((typeof window.P.register === \"function\")))) && ((typeof window.P.execute === \"function\"))));\n };\n ;\n function promise() {\n var observers = [];\n var fired = false;\n var value;\n var trigger = function() {\n if (fired) {\n return;\n }\n ;\n ;\n fired = true;\n value = arguments;\n for (var i = 0, len = observers.length; ((i < len)); i++) {\n schedule(observers[i].t, observers[i].f, value);\n };\n ;\n observers = void (0);\n };\n trigger.watch = function(tags, callback) {\n if (!callback) {\n callback = tags;\n tags = [];\n }\n ;\n ;\n if (fired) {\n schedule(tags, callback, value);\n }\n else {\n observers.push({\n t: tags,\n f: callback\n });\n }\n ;\n ;\n };\n trigger.isFired = function() {\n return fired;\n };\n trigger.value = function() {\n return ((value || []));\n };\n return trigger;\n };\n ;\n function promiseMap() {\n var promises = {\n };\n var getPromise = function(key) {\n return ((promises[key] || (promises[key] = promise())));\n };\n getPromise.whenAvailable = function(tags, dependencies) {\n var onComplete = promise();\n var length = dependencies.length;\n if (((length === 0))) {\n onComplete();\n return onComplete.watch;\n }\n ;\n ;\n var fulfilled = 0;\n var observer = function() {\n fulfilled++;\n if (((fulfilled < length))) {\n return;\n }\n ;\n ;\n var args = [];\n for (var i = 0; ((i < length)); i++) {\n args.push(getPromise(dependencies[i]).value()[0]);\n };\n ;\n onComplete.apply(window, args);\n };\n for (var i = 0; ((i < length)); i++) {\n getPromise(dependencies[i]).watch(tags, observer);\n };\n ;\n return onComplete.watch;\n };\n return getPromise;\n };\n ;\n function depend(options) {\n options = ((options || {\n bubble: false\n }));\n var components = promiseMap();\n var anonymousCount = 0;\n var debug = {\n };\n var iface = {\n };\n iface.declare = function(JSBNG__name, component) {\n if (!debug[JSBNG__name]) {\n debug[JSBNG__name] = {\n done: timestamp()\n };\n }\n ;\n ;\n components(JSBNG__name)(component);\n };\n iface.build = function(JSBNG__name, builder) {\n schedule([options.sourceName,JSBNG__name,], function() {\n iface.declare(JSBNG__name, ensureFunction(builder)());\n });\n };\n iface.getNow = function(JSBNG__name, otherwise) {\n return ((components(JSBNG__name).value()[0] || otherwise));\n };\n iface.publish = function(JSBNG__name, component) {\n iface.declare(JSBNG__name, component);\n var parent = options.parent;\n if (options.prefix) {\n JSBNG__name = ((((options.prefix + \".\")) + JSBNG__name));\n }\n ;\n ;\n if (((parent === (void 0)))) {\n if (window.amznJQ) {\n window.amznJQ.declareAvailable(JSBNG__name);\n }\n ;\n ;\n if (isAuiP()) {\n window.P.register(JSBNG__name, function() {\n return component;\n });\n }\n ;\n ;\n }\n else {\n if (((options.bubble && parent.publish))) {\n parent.publish(JSBNG__name, component);\n }\n else {\n if (parent.declare) {\n parent.declare(JSBNG__name, component);\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n };\n iface.importEvent = function(JSBNG__name, opts) {\n var parent = options.parent;\n opts = ((opts || {\n }));\n var importAs = ((opts.as || JSBNG__name));\n var whenReady = function(value) {\n iface.declare(importAs, ((((((value === (void 0))) || ((value === null)))) ? opts.otherwise : value)));\n };\n if (((((((parent && parent.when)) && parent.declare)) && parent.build))) {\n parent.when(JSBNG__name).run(whenReady);\n return;\n }\n ;\n ;\n if (isAuiP()) {\n window.P.when(JSBNG__name).execute(whenReady);\n }\n ;\n ;\n if (window.amznJQ) {\n var meth = ((options.useOnCompletion ? \"onCompletion\" : \"available\"));\n window.amznJQ[meth](((opts.amznJQ || JSBNG__name)), withRetry(function() {\n var value = ((opts.global ? extract(window, opts.global) : opts.otherwise));\n var isUndef = ((((value === (void 0))) || ((value === null))));\n if (((opts.retry && isUndef))) {\n return false;\n }\n ;\n ;\n iface.declare(importAs, value);\n return true;\n }));\n }\n ;\n ;\n };\n iface.stats = function(unresolved) {\n var result = JSON.parse(JSON.stringify(debug));\n {\n var fin30keys = ((window.top.JSBNG_Replay.forInKeys)((result))), fin30i = (0);\n var key;\n for (; (fin30i < fin30keys.length); (fin30i++)) {\n ((key) = (fin30keys[fin30i]));\n {\n if (result.hasOwnProperty(key)) {\n var current = result[key];\n var depend = ((current.depend || []));\n var longPoleName;\n var longPoleDone = 0;\n var blocked = [];\n for (var i = 0; ((i < depend.length)); i++) {\n var dependency = depend[i];\n if (!components(dependency).isFired()) {\n blocked.push(dependency);\n }\n else {\n if (((debug[dependency].done > longPoleDone))) {\n longPoleDone = debug[dependency].done;\n longPoleName = dependency;\n }\n ;\n ;\n }\n ;\n ;\n };\n ;\n if (((blocked.length > 0))) {\n current.blocked = blocked;\n }\n else {\n if (unresolved) {\n delete result[key];\n }\n else {\n if (((longPoleDone > 0))) {\n current.longPole = longPoleName;\n current.afterLongPole = ((current.done - longPoleDone));\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n };\n };\n };\n ;\n return result;\n };\n iface.when = function() {\n var dependencies = argArray(arguments);\n function onResolved(JSBNG__name, callback) {\n var start = timestamp();\n var tags = [options.sourceName,JSBNG__name,];\n debug[JSBNG__name] = {\n depend: dependencies,\n registered: start\n };\n components.whenAvailable(tags, dependencies)(tags, function() {\n debug[JSBNG__name].done = timestamp();\n debug[JSBNG__name].wait = ((debug[JSBNG__name].done - start));\n callback.apply(this, argArray(arguments));\n });\n };\n ;\n return {\n run: function(nameOrCallback, callbackWhenNamed) {\n if (callbackWhenNamed) {\n nameOrCallback = ((\"run.\" + nameOrCallback));\n }\n else {\n callbackWhenNamed = nameOrCallback;\n nameOrCallback = ((\"run.#\" + anonymousCount++));\n }\n ;\n ;\n onResolved(nameOrCallback, callbackWhenNamed);\n },\n declare: function(JSBNG__name, value) {\n onResolved(JSBNG__name, function() {\n iface.declare(JSBNG__name, value);\n });\n },\n publish: function(JSBNG__name, value) {\n onResolved(JSBNG__name, function() {\n iface.publish(JSBNG__name, value);\n });\n },\n build: function(JSBNG__name, builder) {\n onResolved(JSBNG__name, function() {\n var args = argArray(arguments);\n var value = ensureFunction(builder).apply(this, args);\n iface.declare(JSBNG__name, value);\n });\n }\n };\n };\n return iface;\n };\n ;\n function make(sourceName) {\n sourceName = ((sourceName || \"unknownSource\"));\n var instance = depend({\n sourceName: sourceName\n });\n instance.declare(\"instance.sourceName\", sourceName);\n instance.importEvent(\"jQuery\", {\n as: \"$\",\n global: \"jQuery\"\n });\n instance.importEvent(\"jQuery\", {\n global: \"jQuery\"\n });\n instance.importEvent(\"amznJQ.AboveTheFold\", {\n as: \"page.ATF\",\n useOnCompletion: true\n });\n instance.importEvent(\"amznJQ.theFold\", {\n as: \"page.ATF\",\n useOnCompletion: true\n });\n instance.importEvent(\"amznJQ.criticalFeature\", {\n as: \"page.CF\",\n useOnCompletion: true\n });\n instance.when(\"$\").run(function($) {\n var triggerLoaded = function() {\n instance.declare(\"page.domReady\");\n instance.declare(\"page.ATF\");\n instance.declare(\"page.CF\");\n instance.declare(\"page.loaded\");\n };\n $(function() {\n instance.declare(\"page.domReady\");\n });\n $(window).load(triggerLoaded);\n if (((JSBNG__document.readyState === \"complete\"))) {\n triggerLoaded();\n }\n else {\n if (((JSBNG__document.readyState === \"interactive\"))) {\n instance.declare(\"page.domReady\");\n }\n ;\n ;\n }\n ;\n ;\n });\n return instance;\n };\n ;\n function callChain(obj, methods) {\n for (var i = 0, len = methods.length; ((i < len)); i++) {\n var invoke = methods[i];\n if (!obj[invoke.m]) {\n return;\n }\n ;\n ;\n obj = obj[invoke.m].apply(obj, invoke.a);\n };\n ;\n };\n ;\n function replaceShim(shim) {\n var replacement = make(shim._sourceName);\n if (!shim._replay) {\n return;\n }\n ;\n ;\n for (var i = 0, iLen = shim._replay.length; ((i < iLen)); i++) {\n callChain(replacement, shim._replay[i]);\n };\n ;\n {\n var fin31keys = ((window.top.JSBNG_Replay.forInKeys)((replacement))), fin31i = (0);\n var method;\n for (; (fin31i < fin31keys.length); (fin31i++)) {\n ((method) = (fin31keys[fin31i]));\n {\n if (replacement.hasOwnProperty(method)) {\n shim[method] = replacement[method];\n }\n ;\n ;\n };\n };\n };\n ;\n delete shim._replay;\n };\n ;\n function hookup() {\n if (!window.$Nav.make) {\n window.$Nav.make = make;\n return;\n }\n ;\n ;\n if (!window.$Nav.make._shims) {\n return;\n }\n ;\n ;\n for (var i = 0, len = window.$Nav.make._shims.length; ((i < len)); i++) {\n replaceShim(window.$Nav.make._shims[i]);\n };\n ;\n window.$Nav.make = make;\n };\n ;\n if (!window.$Nav) {\n window.$Nav = make(\"rcx-nav\");\n }\n ;\n ;\n hookup();\n window.$Nav.declare(\"depend\", depend);\n window.$Nav.declare(\"promise\", promise);\n window.$Nav.declare(\"argArray\", argArray);\n window.$Nav.declare(\"schedule\", schedule);\n }(window));\n (function(window, $Nav) {\n $Nav.when(\"$\").run(function($) {\n $Nav.importEvent(\"legacy-popover\", {\n as: \"$popover\",\n amznJQ: \"popover\",\n otherwise: $\n });\n });\n $Nav.importEvent(\"iss\", {\n amznJQ: \"search-js-autocomplete\",\n global: \"iss\",\n retry: true\n });\n if (!window.amznJQ) {\n return;\n }\n ;\n ;\n var amznJQ = window.amznJQ;\n amznJQ.available(\"navbarInline\", function() {\n $Nav.declare(\"logEvent\", window._navbar.logEv);\n $Nav.declare(\"config.readyOnATF\", window._navbar.readyOnATF);\n $Nav.declare(\"config.browsePromos\", window._navbar.browsepromos);\n $Nav.declare(\"config.yourAccountPrimeURL\", window._navbar.yourAccountPrimer);\n $Nav.declare(\"config.sbd\", window._navbar._sbd_config);\n $Nav.declare(\"config.responsiveGW\", !!window._navbar.responsivegw);\n $Nav.declare(\"config.swmStyleData\", ((window._navbar._swmStyleData || {\n })));\n $Nav.declare(\"config.dismissNotificationUrl\", window._navbar.dismissNotificationUrl);\n $Nav.declare(\"config.signOutText\", window._navbar.signOutText);\n $Nav.declare(\"config.lightningDeals\", ((window._navbar._lightningDealsData || {\n })));\n $Nav.declare(\"config.enableDynamicMenus\", window._navbar.dynamicMenus);\n $Nav.declare(\"config.dynamicMenuArgs\", ((window._navbar.dynamicMenuArgs || {\n })));\n $Nav.declare(\"config.dynamicMenuUrl\", window._navbar.dynamicMenuUrl);\n $Nav.declare(\"config.ajaxProximity\", window._navbar._ajaxProximity);\n $Nav.declare(\"config.recordEvUrl\", window._navbar.recordEvUrl);\n $Nav.declare(\"config.recordEvInterval\", ((window._navbar.recordEvInterval || 60000)));\n $Nav.declare(\"config.sessionId\", window._navbar.sid);\n $Nav.declare(\"config.requestId\", window._navbar.rid);\n $Nav.declare(\"config.autoFocus\", window._navbar.enableAutoFocus);\n });\n amznJQ.available(\"navbarBTF\", function() {\n $Nav.declare(\"config.flyoutURL\", window._navbar.flyoutURL);\n $Nav.declare(\"config.prefetch\", window._navbar.prefetch);\n });\n $Nav.importEvent(\"navbarBTF\", {\n as: \"btf.full\"\n });\n $Nav.importEvent(\"navbarBTFLite\", {\n as: \"btf.lite\"\n });\n $Nav.importEvent(\"navbarInline\", {\n as: \"nav.inline\"\n });\n $Nav.when(\"nav.inline\", \"api.unHideSWM\", \"api.exposeSBD\", \"api.navDimensions\", \"api.onShowProceedToCheckout\", \"api.update\", \"api.setCartCount\", \"api.getLightningDealsData\", \"api.overrideCartButtonClick\", \"flyout.loadMenusConditionally\", \"flyout.shopall\", \"flyout.wishlist\", \"flyout.cart\", \"flyout.youraccount\").publish(\"navbarJSInteraction\");\n $Nav.when(\"navbarJSInteraction\").publish(\"navbarJS-beacon\");\n $Nav.when(\"navbarJSInteraction\").publish(\"navbarJS-jQuery\");\n }(window, window.$Nav));\n window.navbar = {\n };\n window.$Nav.when(\"depend\").build(\"api.publish\", function(depend) {\n var $Nav = window.$Nav;\n var apiComponents = depend({\n parent: $Nav,\n prefix: \"api\",\n bubble: false\n });\n function use(component, callback) {\n apiComponents.when(component).run(callback);\n };\n ;\n window.navbar.use = use;\n return function(JSBNG__name, value) {\n apiComponents.publish(JSBNG__name, value);\n window.navbar[JSBNG__name] = value;\n $Nav.publish(((\"nav.\" + JSBNG__name)), value);\n };\n });\n (function($Nav) {\n $Nav.declare(\"throttle\", function(wait, func) {\n var throttling = false;\n var called = false;\n function afterWait() {\n if (!called) {\n throttling = false;\n return;\n }\n else {\n called = false;\n JSBNG__setTimeout(afterWait, wait);\n func();\n }\n ;\n ;\n };\n ;\n return function() {\n if (throttling) {\n called = true;\n return;\n }\n ;\n ;\n throttling = true;\n JSBNG__setTimeout(afterWait, wait);\n func();\n };\n });\n $Nav.when(\"$\").build(\"agent\", function($) {\n return (new function() {\n function contains() {\n var args = Array.prototype.slice.call(arguments, 0);\n var regex = new RegExp(((((\"(\" + args.join(\"|\"))) + \")\")), \"i\");\n return regex.test(JSBNG__navigator.userAgent);\n };\n ;\n this.iPhone = contains(\"iPhone\");\n this.iPad = contains(\"iPad\");\n this.kindleFire = contains(\"Kindle Fire\", \"Silk/\");\n this.android = contains(\"Android\");\n this.webkit = contains(\"WebKit\");\n this.ie10 = contains(\"MSIE 10\");\n this.ie6 = (($.browser.msie && ((parseInt($.browser.version, 10) <= 6))));\n this.touch = ((((((((((((this.iPhone || this.iPad)) || this.android)) || this.kindleFire)) || !!((\"JSBNG__ontouchstart\" in window)))) || ((window.JSBNG__navigator.msMaxTouchPoints > 0)))) || contains(\"\\\\bTouch\\\\b\")));\n this.ie10touch = ((this.ie10 && this.touch));\n this.mac = contains(\"Macintosh\");\n this.iOS = ((this.iPhone || this.iPad));\n });\n });\n $Nav.declare(\"byID\", function(elemID) {\n return JSBNG__document.getElementById(elemID);\n });\n $Nav.build(\"dismissTooltip\", function() {\n var dismissed = false;\n return function() {\n if (dismissed) {\n return;\n }\n ;\n ;\n $Nav.publish(\"navDismissTooltip\");\n dismissed = true;\n };\n });\n $Nav.build(\"recordEv\", function() {\n var recordEvQueue = [], dups = {\n };\n $Nav.when(\"$\", \"config.recordEvUrl\", \"config.recordEvInterval\", \"config.sessionId\", \"config.requestId\").run(function($, recordEvUrl, interval, sessionId, requestId) {\n if (!recordEvUrl) {\n return;\n }\n ;\n ;\n function getSid() {\n var sid = ((window.ue && window.ue.sid));\n sid = ((sid || sessionId));\n return ((sid ? sid : \"\"));\n };\n ;\n function getRid() {\n var rid = ((window.ue && window.ue.rid));\n rid = ((rid || requestId));\n return ((rid ? rid : \"\"));\n };\n ;\n var cnt = 0;\n function send(when) {\n cnt++;\n if (((recordEvQueue.length === 0))) {\n return;\n }\n ;\n ;\n when = ((when || cnt));\n var msg = recordEvQueue.join(\":\");\n msg = window.encodeURIComponent(msg);\n msg = ((((((((((((((\"trigger=\" + msg)) + \"&when=\")) + when)) + \"&sid=\")) + getSid())) + \"&rid=\")) + getRid()));\n var sep = ((((recordEvUrl.indexOf(\"?\") > 0)) ? \"&\" : \"?\"));\n new JSBNG__Image().src = ((((recordEvUrl + sep)) + msg));\n recordEvQueue = [];\n };\n ;\n window.JSBNG__setInterval(send, interval);\n $(window).bind(\"beforeunload\", function() {\n send(\"beforeunload\");\n });\n });\n return function(evId) {\n if (!((evId in dups))) {\n recordEvQueue.push(evId);\n dups[evId] = true;\n }\n ;\n ;\n };\n });\n $Nav.declare(\"TunableCallback\", function(callback) {\n var timeout = 0;\n var conditions = [];\n var wrapper = function() {\n function execute() {\n for (var i = 0; ((i < conditions.length)); i++) {\n if (!conditions[i]()) {\n return;\n }\n ;\n ;\n };\n ;\n callback();\n };\n ;\n if (((timeout > 0))) {\n JSBNG__setTimeout(execute, timeout);\n }\n else {\n execute();\n }\n ;\n ;\n };\n wrapper.delay = function(milliseconds) {\n timeout = milliseconds;\n return wrapper;\n };\n wrapper.iff = function(predicate) {\n conditions.push(predicate);\n return wrapper;\n };\n return wrapper;\n });\n $Nav.build(\"eachDescendant\", function() {\n function eachDescendant(node, func) {\n func(node);\n node = node.firstChild;\n while (node) {\n eachDescendant(node, func);\n node = node.nextSibling;\n };\n ;\n };\n ;\n return eachDescendant;\n });\n $Nav.when(\"$\", \"promise\", \"TunableCallback\").run(\"pageReady\", function($, promise, TunableCallback) {\n if (((JSBNG__document.readyState === \"complete\"))) {\n $Nav.declare(\"page.ready\");\n return;\n }\n ;\n ;\n var pageReady = promise();\n function windowNotLoaded() {\n return ((JSBNG__document.readyState != \"complete\"));\n };\n ;\n function atfEnabled() {\n return !!$Nav.getNow(\"config.readyOnATF\");\n };\n ;\n $Nav.when(\"page.ATF\").run(TunableCallback(pageReady).iff(windowNotLoaded).iff(atfEnabled));\n $Nav.when(\"page.CF\").run(TunableCallback(pageReady).iff(windowNotLoaded));\n $Nav.when(\"page.domReady\").run(TunableCallback(pageReady).delay(10000).iff(windowNotLoaded));\n $Nav.when(\"page.loaded\").run(TunableCallback(pageReady).delay(100));\n pageReady.watch([$Nav.getNow(\"instance.sourceName\"),\"pageReadyCallback\",], function() {\n $Nav.declare(\"page.ready\");\n });\n });\n $Nav.when(\"$\", \"agent\").build(\"onOptionClick\", function($, agent) {\n return function(node, callback) {\n var $node = $(node);\n if (((((agent.mac && agent.webkit)) || ((agent.touch && !agent.ie10))))) {\n $node.change(function() {\n callback.apply($node);\n });\n }\n else {\n var time = {\n click: 0,\n change: 0\n };\n var buildClickChangeHandler = function(primary, secondary) {\n return function() {\n time[primary] = new JSBNG__Date().getTime();\n if (((((time[primary] - time[secondary])) <= 100))) {\n callback.apply($node);\n }\n ;\n ;\n };\n };\n $node.click(buildClickChangeHandler(\"click\", \"change\")).change(buildClickChangeHandler(\"change\", \"click\"));\n }\n ;\n ;\n };\n });\n $Nav.when(\"$\", \"promise\", \"api.publish\").build(\"triggerProceedToCheckout\", function($, promise, publishAPI) {\n var observers = promise();\n publishAPI(\"onShowProceedToCheckout\", function(callback) {\n observers.watch([$Nav.getNow(\"instance.sourceName\"),\"onShowProceedToCheckoutCallback\",], function() {\n var buttons = $(\"#nav_cart_flyout a[href~=proceedToCheckout]\");\n if (((buttons.length > 0))) {\n callback(buttons);\n }\n ;\n ;\n });\n });\n return observers;\n });\n $Nav.when(\"promise\", \"api.publish\").run(\"triggerNearFlyout\", function(promise, publishAPI) {\n var observers = promise();\n publishAPI(\"onNearFlyout\", function(callback) {\n observers.watch([$Nav.getNow(\"instance.sourceName\"),\"onNearFlyoutCallback\",], callback);\n });\n $Nav.when(\"config.prefetchUrls\", \"JSBNG__event.prefetch\").run(\"prefetch\", function(prefetchUrls, triggerNearFlyout) {\n ((window.amznJQ && window.amznJQ.addPL(prefetchUrls)));\n observers();\n });\n });\n $Nav.when(\"$\", \"byID\").build(\"$byID\", function($, byID) {\n return function(elemID) {\n return $(((byID(elemID) || [])));\n };\n });\n $Nav.when(\"$byID\", \"config.dynamicMenuArgs\", \"btf.full\").build(\"flyout.primeAjax\", function($id, dynamicMenuArgs) {\n return ((dynamicMenuArgs.hasOwnProperty(\"isPrime\") && $id(\"nav-prime-menu\").hasClass(\"nav-ajax-prime-menu\")));\n });\n $Nav.when(\"$\", \"agent\").build(\"areaMapper\", function($, agent) {\n var nullFn = function() {\n \n };\n if (!agent.kindleFire) {\n return {\n disable: nullFn,\n enable: nullFn\n };\n }\n ;\n ;\n var disabled = $([]);\n return {\n disable: function(except) {\n var newMaps = $(\"img[usemap]\").filter(function() {\n return (($(this).parents(except).length === 0));\n });\n disabled = disabled.add(newMaps);\n newMaps.each(function() {\n this.disabledUseMap = $(this).attr(\"usemap\");\n $(this).attr(\"usemap\", \"\");\n });\n },\n enable: function() {\n disabled.each(function() {\n $(this).attr(\"usemap\", this.disabledUseMap);\n });\n disabled = $([]);\n }\n };\n });\n $Nav.when(\"$\").build(\"template\", function($) {\n var cache = {\n };\n return function(id, data) {\n if (!cache[id]) {\n cache[id] = new Function(\"obj\", ((((((\"var p=[],print=function(){p.push.apply(p,arguments);};\" + \"with(obj){p.push('\")) + $(id).html().replace(/[\\r\\t\\n]/g, \" \").replace(/'(?=[^#]*#>)/g, \"\\u0009\").split(\"'\").join(\"\\\\'\").split(\"\\u0009\").join(\"'\").replace(/<#=(.+?)#>/g, \"',$1,'\").split(\"\\u003C#\").join(\"');\").split(\"#\\u003E\").join(\"p.push('\"))) + \"');}return p.join('');\")));\n }\n ;\n ;\n try {\n return cache[id](data);\n } catch (e) {\n return \"\";\n };\n ;\n };\n });\n $Nav.when(\"$\", \"config.yourAccountPrimeURL\", \"nav.inline\").run(\"yourAccountPrimer\", function($, yourAccountPrimer) {\n if (yourAccountPrimer) {\n $(\"#nav_prefetch_yourorders\").mousedown((function() {\n var fired = false;\n return function() {\n if (fired) {\n return;\n }\n ;\n ;\n fired = true;\n (new JSBNG__Image).src = yourAccountPrimer;\n };\n }()));\n }\n ;\n ;\n });\n $Nav.when(\"$\", \"byID\", \"agent\", \"dismissTooltip\", \"recordEv\").build(\"flyout.NavButton\", function($, byID, agent, dismissTooltip, recordEv) {\n function NavButton(id) {\n this._jqId = ((\"#\" + id));\n var button = this;\n byID(id).className = byID(id).className.replace(\"nav-menu-inactive\", \"nav-menu-active\");\n var lastShown = 0;\n var weblabs;\n this.onShow = function() {\n lastShown = +(new JSBNG__Date);\n dismissTooltip();\n button._toggleClass(true, \"nav-button-outer-open\");\n if (weblabs) {\n recordEv(weblabs);\n }\n ;\n ;\n };\n this.onHide = function() {\n button._toggleClass(false, \"nav-button-outer-open\");\n };\n this.registerTrigger = function(options) {\n var params = this._defaultTriggerParams(button);\n $().extend(params, ((options || {\n })));\n var popover = $(button._jqId).amazonPopoverTrigger(params);\n if (params.localContent) {\n weblabs = $(params.localContent).attr(\"data-nav-wt\");\n }\n ;\n ;\n if (((agent.touch && $.AmazonPopover.support.controlCallbacks))) {\n $(button._jqId).click(function() {\n if (((popover.amznPopoverVisible() && ((((+(new JSBNG__Date) - lastShown)) > 400))))) {\n popover.amznPopoverHide();\n }\n ;\n ;\n });\n }\n ;\n ;\n };\n this.removeTrigger = function() {\n $(button._jqId).removeAmazonPopoverTrigger();\n };\n this._toggleClass = function(state, className) {\n if (state) {\n $(button._jqId).addClass(className);\n }\n else {\n $(button._jqId).removeClass(className);\n }\n ;\n ;\n };\n $(button._jqId).keypress(function(e) {\n if (((((e.which == 13)) && $(button._jqId).attr(\"href\")))) {\n window.JSBNG__location = $(button._jqId).attr(\"href\");\n }\n ;\n ;\n });\n this._defaultTriggerParams = function(button) {\n var c = {\n width: null,\n JSBNG__location: \"bottom\",\n locationAlign: \"left\",\n locationMargin: 0,\n hoverShowDelay: ((agent.touch ? 0 : 250)),\n hoverHideDelay: ((agent.touch ? 0 : 250)),\n showOnHover: true,\n forceAlignment: true,\n focusOnShow: false,\n skin: null,\n onShow: button.onShow,\n onHide: button.onHide,\n showCloseButton: false,\n group: \"navbar\"\n };\n if (agent.ie10touch) {\n c.hoverShowDelay = 250;\n }\n ;\n ;\n return c;\n };\n };\n ;\n return NavButton;\n });\n $Nav.when(\"$byID\", \"agent\", \"$popover\").build(\"flyout.SKIN\", function($id, agent, $) {\n return function(jqObject, xOffset, skinClass) {\n var callback = function() {\n var navWidth = $id(\"nav-bar-outer\").width();\n var rightMargin = Math.min(30, Math.max(0, ((((((navWidth - jqObject.offset().left)) - jqObject.JSBNG__outerWidth())) - xOffset)))), style = ((((rightMargin < 30)) ? ((((\" style=\\\"width: \" + ((rightMargin + 15)))) + \"px;\\\"\")) : \"\")), classes = [\"nav_flyout_table\",];\n if (agent.ie6) {\n classes.push(\"nav_ie6\");\n }\n ;\n ;\n if (skinClass) {\n classes.push(skinClass);\n }\n ;\n ;\n return ((((((((((((((((((((((((((((((((\"\\u003Ctable cellspacing=\\\"0\\\" cellpadding=\\\"0\\\" surround=\\\"0,\" + rightMargin)) + \",30,30\\\" class=\\\"\")) + classes.join(\" \"))) + \"\\\"\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd class=\\\"nav_pop_tl nav_pop_h\\\"\\u003E\\u003Cdiv class=\\\"nav_pop_lr_min\\\"\\u003E\\u003C/div\\u003E\\u003C/td\\u003E\\u003Ctd class=\\\"nav_pop_tc nav_pop_h\\\"\\u003E\\u003C/td\\u003E\\u003Ctd class=\\\"nav_pop_tr nav_pop_h\\\"\")) + style)) + \"\\u003E\\u003Cdiv class=\\\"nav_pop_lr_min\\\"\")) + style)) + \"\\u003E\\u003C/div\\u003E\\u003C/td\\u003E\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd class=\\\"nav_pop_cl nav_pop_v\\\"\\u003E\\u003C/td\\u003E\\u003Ctd class=\\\"nav_pop_cc ap_content\\\"\\u003E\\u003C/td\\u003E\\u003Ctd class=\\\"nav_pop_cr nav_pop_v\\\"\")) + style)) + \"\\u003E\\u003C/td\\u003E\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd class=\\\"nav_pop_bl nav_pop_v\\\"\\u003E\\u003C/td\\u003E\\u003Ctd class=\\\"nav_pop_bc nav_pop_h\\\"\\u003E\\u003C/td\\u003E\\u003Ctd class=\\\"nav_pop_br nav_pop_v\\\"\")) + style)) + \"\\u003E\\u003C/td\\u003E\\u003C/tr\\u003E\")) + \"\\u003C/table\\u003E\"));\n };\n return (((($.AmazonPopover.support && $.AmazonPopover.support.skinCallback)) ? callback : callback()));\n };\n });\n $Nav.when(\"$\", \"byID\", \"eachDescendant\").build(\"flyout.computeFlyoutHeight\", function($, byID, eachDescendant) {\n var flyoutHeightTable = {\n };\n return function(id) {\n if (((id in flyoutHeightTable))) {\n return flyoutHeightTable[id];\n }\n ;\n ;\n var elem = byID(id);\n var isDeepShopAll = (($(elem).parents(\".nav_deep\").length > 0));\n var isShortDeep = $(elem).is(\".nav_short\");\n var height = 0;\n if (isDeepShopAll) {\n height -= 7;\n }\n ;\n ;\n eachDescendant(elem, function(node) {\n var $node;\n if (((node.nodeType == 1))) {\n $node = $(node);\n if (!isDeepShopAll) {\n height += (($node.hasClass(\"nav_pop_li\") ? 23 : 0));\n height += (($node.hasClass(\"nav_divider_before\") ? 10 : 0));\n height += (($node.hasClass(\"nav_first\") ? -7 : 0));\n height += (($node.hasClass(\"nav_tag\") ? 13 : 0));\n }\n else {\n if (isShortDeep) {\n height += (($node.hasClass(\"nav_pop_li\") ? 28 : 0));\n height += (($node.hasClass(\"nav_first\") ? -8 : 0));\n height += (($node.hasClass(\"nav_divider_before\") ? 13 : 0));\n height += (($node.hasClass(\"nav_tag\") ? 13 : 0));\n }\n else {\n height += (($node.hasClass(\"nav_pop_li\") ? 30 : 0));\n height += (($node.hasClass(\"nav_first\") ? -7 : 0));\n height += (($node.hasClass(\"nav_divider_before\") ? 15 : 0));\n height += (($node.hasClass(\"nav_tag\") ? 13 : 0));\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n });\n flyoutHeightTable[id] = height;\n return height;\n };\n });\n $Nav.when(\"$popover\", \"$byID\", \"agent\", \"logEvent\", \"recordEv\", \"areaMapper\", \"flyout.NavButton\", \"flyout.SKIN\", \"flyout.computeFlyoutHeight\", \"flyout.initBrowsePromos\", \"config.responsiveGW\", \"config.sbd\", \"nav.inline\", \"flyout.JSBNG__content\").run(\"ShopAll\", function($, $id, agent, logEv, recordEv, areaMapper, NavButton, SKIN, computeFlyoutHeight, initBrowsePromos, responsiveGW, sbd_config) {\n if (((!$id(\"nav-shop-all-button\").length || !$id(\"nav_browse_flyout\").length))) {\n return;\n }\n ;\n ;\n var nullFn = function() {\n \n };\n var mt = $.AmazonPopover.mouseTracker, ub = $.AmazonPopover.updateBacking, subcatInited, deferredResizeSubcat, catWidth, mtRegions = [], activeCat, wasSuperCat, subcatRect, delayedChange, priorCursor, exposeSBDData, delayImpression, delayCatImpression;\n var id = \"nav-shop-all-button\", button = new NavButton(id), jQButton = $id(id), isResponsive = ((responsiveGW && ((!agent.touch || agent.ie10touch))));\n if (agent.touch) {\n $(\"#nav_cats .nav_cat a\").each(function() {\n var $this = $(this);\n $this.replaceWith($this.text());\n });\n }\n ;\n ;\n var onShow = function() {\n var initExposeSBD = $Nav.getNow(\"initExposeSBD\");\n if (initExposeSBD) {\n initExposeSBD().deBorder(true);\n }\n ;\n ;\n areaMapper.disable(\"#nav_browse_flyout\");\n initBrowsePromos();\n var $browse_flyout = $id(\"nav_browse_flyout\"), $subcats = $id(\"nav_subcats\"), $subcats_wrap = $id(\"nav_subcats_wrap\"), $cats = $id(\"nav_cats_wrap\"), $cat_indicator = $id(\"nav_cat_indicator\");\n if (!subcatInited) {\n catWidth = $cats.JSBNG__outerWidth();\n $browse_flyout.css({\n height: ((computeFlyoutHeight(\"nav_cats_wrap\") + \"px\")),\n width: ((catWidth + \"px\"))\n });\n $subcats_wrap.css({\n display: \"block\"\n });\n subcatInited = true;\n }\n else {\n $browse_flyout.css({\n height: ((computeFlyoutHeight(\"nav_cats_wrap\") + \"px\"))\n });\n }\n ;\n ;\n var animateSubcatComplete = function() {\n if (deferredResizeSubcat) {\n deferredResizeSubcat();\n }\n ;\n ;\n deferredResizeSubcat = null;\n if (agent.touch) {\n var $video = $(\"video\");\n $video.css(\"visibility\", \"hidden\");\n JSBNG__setTimeout(function() {\n $video.css(\"visibility\", \"\");\n }, 10);\n }\n ;\n ;\n $browse_flyout.css({\n overflow: \"visible\"\n });\n };\n var rectRelation = function(cursor, rect) {\n var h = \"c\", v = \"c\";\n if (((cursor && rect))) {\n if (((cursor.x < rect.x1))) {\n h = \"l\";\n }\n else {\n if (((cursor.x > rect.x2))) {\n h = \"r\";\n }\n ;\n ;\n }\n ;\n ;\n if (((cursor.y < rect.y1))) {\n v = \"t\";\n }\n else {\n if (((cursor.y > rect.y2))) {\n v = \"b\";\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n return ((v + h));\n };\n var notInRect = function(cursor, rect) {\n if (((rectRelation(cursor, rect) == \"cc\"))) {\n return false;\n }\n ;\n ;\n return true;\n };\n var calcChangeDelay = function(args, rect) {\n var delay = 0, c = args.cursor, p1 = ((args.priorCursors[0] || {\n })), p2 = ((args.priorCursors[1] || {\n }));\n if (((((((c.x == p1.x)) && ((Math.abs(((c.y - p1.y))) < 2)))) && ((c.x > p2.x))))) {\n delay = sbd_config.minor_delay;\n }\n else {\n var r = rect, pts = [c,p1,];\n switch (rectRelation(c, r)) {\n case \"tl\":\n pts.push({\n x: r.x1,\n y: r.y2\n }, {\n x: r.x2,\n y: r.y1\n });\n break;\n case \"bl\":\n pts.push({\n x: r.x1,\n y: r.y1\n }, {\n x: r.x2,\n y: r.y2\n });\n break;\n case \"cl\":\n pts.push({\n x: r.x1,\n y: r.y1\n }, {\n x: r.x1,\n y: r.y2\n });\n break;\n default:\n pts.push({\n x: 0,\n y: 0\n }, {\n x: 0,\n y: 0\n });\n delay = -1;\n };\n ;\n if (((delay === 0))) {\n var b0 = ((((((pts[2].x - pts[1].x)) * ((pts[3].y - pts[1].y)))) - ((((pts[3].x - pts[1].x)) * ((pts[2].y - pts[1].y)))))), b1 = ((((((((pts[2].x - pts[0].x)) * ((pts[3].y - pts[0].y)))) - ((((pts[3].x - pts[0].x)) * ((pts[2].y - pts[0].y)))))) / b0)), b2 = ((((((((pts[3].x - pts[0].x)) * ((pts[1].y - pts[0].y)))) - ((((pts[1].x - pts[0].x)) * ((pts[3].y - pts[0].y)))))) / b0)), b3 = ((((((((pts[1].x - pts[0].x)) * ((pts[2].y - pts[0].y)))) - ((((pts[2].x - pts[0].x)) * ((pts[1].y - pts[0].y)))))) / b0));\n delay = ((((((((b1 > 0)) && ((b2 > 0)))) && ((b3 > 0)))) ? sbd_config.major_delay : 0));\n }\n ;\n ;\n }\n ;\n ;\n return delay;\n };\n var doCatChange = function(cat, args) {\n var animateSubcat = !activeCat, resizeSubcat = false, $subcat = $id(((\"nav_subcats_\" + cat))), $cat = $id(((\"nav_cat_\" + cat))), promoID = $subcat.attr(\"data-nav-promo-id\"), wtl = $subcat.attr(\"data-nav-wt\");\n if (activeCat) {\n $id(((\"nav_subcats_\" + activeCat))).css({\n display: \"none\"\n });\n $id(((\"nav_cat_\" + activeCat))).removeClass(\"nav_active\");\n }\n ;\n ;\n JSBNG__clearTimeout(delayCatImpression);\n if (promoID) {\n var browsepromos = $Nav.getNow(\"config.browsePromos\", {\n });\n var imp = {\n t: \"sa\",\n id: promoID\n };\n if (browsepromos[promoID]) {\n imp[\"bp\"] = 1;\n }\n ;\n ;\n delayCatImpression = window.JSBNG__setTimeout(function() {\n logEv(imp);\n }, 750);\n }\n ;\n ;\n if (wtl) {\n recordEv(wtl);\n }\n ;\n ;\n $cat.addClass(\"nav_active\");\n $subcat.css({\n display: \"block\"\n });\n $cat_indicator.css(\"JSBNG__top\", (((($cat.position().JSBNG__top + parseInt($cat.css(\"padding-top\"), 10))) + 1)));\n var isSuperCat = $subcat.hasClass(\"nav_super_cat\");\n if (((isSuperCat != wasSuperCat))) {\n if (isSuperCat) {\n $browse_flyout.addClass(\"nav_super\");\n }\n else {\n $browse_flyout.removeClass(\"nav_super\");\n }\n ;\n ;\n resizeSubcat = true;\n wasSuperCat = isSuperCat;\n }\n ;\n ;\n if (animateSubcat) {\n deferredResizeSubcat = function() {\n ub(\"navbar\");\n };\n $browse_flyout.animate({\n width: (((($subcats.JSBNG__outerWidth() + catWidth)) + \"px\"))\n }, {\n duration: \"fast\",\n complete: animateSubcatComplete\n });\n }\n else {\n if (resizeSubcat) {\n var resizeSubcatNow = function() {\n $browse_flyout.css({\n width: (((($subcats.JSBNG__outerWidth() + catWidth)) + \"px\"))\n });\n ub(\"navbar\");\n };\n if (deferredResizeSubcat) {\n deferredResizeSubcat = resizeSubcatNow;\n }\n else {\n resizeSubcatNow();\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n if (((isResponsive && !agent.ie6))) {\n $subcat.parents(\".nav_exposed_skin\").removeClass(\"nav_exposed_skin\");\n }\n ;\n ;\n $subcat.JSBNG__find(\".nav_subcat_links\").each(function() {\n var $this = $(this);\n if ($this.data(\"nav-linestarts-marked\")) {\n return;\n }\n ;\n ;\n $this.data(\"nav-linestarts-marked\", true);\n var JSBNG__top = 0;\n $this.JSBNG__find(\"li\").each(function() {\n var elem = $(this);\n var thisTop = elem.offset().JSBNG__top;\n if (((Math.abs(((thisTop - JSBNG__top))) > 5))) {\n elem.addClass(\"nav_linestart\");\n JSBNG__top = thisTop;\n }\n ;\n ;\n });\n });\n var offset = $subcat.offset(), x1 = offset.left, y1 = ((offset.JSBNG__top - sbd_config.target_slop)), x2 = ((x1 + $subcat.JSBNG__outerWidth())), y2 = ((((y1 + $subcat.JSBNG__outerHeight())) + sbd_config.target_slop));\n return {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n };\n };\n window._navbar.qaActivateCat = function(i) {\n i = ((i || \"0\"));\n doCatChange(i);\n activeCat = i;\n };\n $(\"#nav_cats li.nav_cat\").each(function() {\n var match = /^nav_cat_(.+)/.exec(this.id), cat = ((match ? match[1] : \"\"));\n var mouseEnter = function(args) {\n JSBNG__clearTimeout(delayedChange);\n $id(((\"nav_cat_\" + cat))).addClass(\"nav_hover\");\n if (((activeCat !== cat))) {\n var changeDelay = calcChangeDelay(args, subcatRect);\n if (((activeCat && ((changeDelay > 0))))) {\n var doDelayedChange = function() {\n JSBNG__clearTimeout(delayedChange);\n var delayedArgs = mt.getCallbackArgs(), delayedDelay = 0;\n if (((((priorCursor && ((priorCursor.x == delayedArgs.cursor.x)))) && ((priorCursor.y == delayedArgs.cursor.y))))) {\n if (notInRect(delayedArgs.cursor, subcatRect)) {\n delayedDelay = 0;\n }\n else {\n delayedDelay = -1;\n }\n ;\n ;\n }\n else {\n delayedDelay = calcChangeDelay(delayedArgs, subcatRect);\n }\n ;\n ;\n priorCursor = {\n x: delayedArgs.cursor.x,\n y: delayedArgs.cursor.y\n };\n if (((delayedDelay > 0))) {\n if (((activeCat !== cat))) {\n delayedChange = JSBNG__setTimeout(doDelayedChange, delayedDelay);\n }\n ;\n ;\n }\n else {\n if (((delayedDelay > -1))) {\n subcatRect = doCatChange(cat, args);\n activeCat = cat;\n }\n ;\n ;\n }\n ;\n ;\n };\n delayedChange = JSBNG__setTimeout(doDelayedChange, changeDelay);\n }\n else {\n subcatRect = doCatChange(cat, args);\n activeCat = cat;\n }\n ;\n ;\n }\n ;\n ;\n return true;\n };\n var mouseLeave = function(immediately, args) {\n $id(((\"nav_cat_\" + cat))).removeClass(\"nav_hover\");\n return true;\n };\n var $this = $(this), offset = $this.offset(), added = mt.add([[offset.left,offset.JSBNG__top,$this.JSBNG__outerWidth(),$this.JSBNG__outerHeight(),],], {\n inside: false,\n mouseEnter: mouseEnter,\n mouseLeave: mouseLeave\n });\n mtRegions.push(added);\n });\n };\n var onHide = function() {\n JSBNG__clearTimeout(delayedChange);\n JSBNG__clearTimeout(delayCatImpression);\n JSBNG__clearTimeout(delayImpression);\n for (var i = 0; ((i < mtRegions.length)); i++) {\n mt.remove(mtRegions[i]);\n };\n ;\n mtRegions = [];\n subcatRect = null;\n subcatInited = false;\n if (activeCat) {\n $id(((\"nav_subcats_\" + activeCat))).css({\n display: \"none\"\n });\n $id(((\"nav_cat_\" + activeCat))).removeClass(\"nav_active\");\n }\n ;\n ;\n activeCat = null;\n $id(\"nav_cat_indicator\").css({\n JSBNG__top: \"\"\n });\n $id(\"nav_browse_flyout\").css({\n height: \"\",\n overflow: \"\"\n });\n areaMapper.enable();\n var initExposeSBD = $Nav.getNow(\"initExposeSBD\");\n if (initExposeSBD) {\n initExposeSBD().deBorder(false);\n }\n ;\n ;\n };\n $Nav.declare(\"initExposeSBD\", function() {\n if (exposeSBDData) {\n return exposeSBDData;\n }\n ;\n ;\n if (!isResponsive) {\n exposeSBDData = {\n ok: function() {\n return false;\n },\n deBorder: nullFn,\n initDeferredShow: nullFn,\n deferredShow: nullFn\n };\n return exposeSBDData;\n }\n ;\n ;\n var $anchor = $id(\"nav_exposed_anchor\"), skinClass = ((agent.ie6 ? \"\" : \"nav_exposed_skin\")), skin = SKIN(jQButton, 0, skinClass), $skin = $(((((typeof (skin) == \"function\")) ? skin() : skin))), $wrap = $(\"\\u003Cdiv id=\\\"nav_exposed_skin\\\"\\u003E\\u003C/div\\u003E\").css({\n JSBNG__top: -8,\n left: ((jQButton.offset().left - ((agent.ie6 ? 27 : 30))))\n }).append($skin).appendTo($anchor), $old_parent = $id(\"nav_browse_flyout\"), $parent = $(\"\\u003Cdiv id=\\\"nav_exposed_cats\\\"\\u003E\\u003C/div\\u003E\").appendTo($(\".ap_content\", $wrap)), $fade = $id(\"nav-shop-all-button\").clone().attr({\n href: \"javascript:void(0)\",\n id: \"\"\n }).addClass(\"nav-shop-all-button nav-button-outer-open\").appendTo(\"#nav-bar-inner\").add($wrap), $roots = $id(\"navbar\").add($anchor), $cats = $id(\"nav_cats_wrap\"), exButton = new NavButton(\"nav_exposed_skin\"), isExposed, firstCall = true, lastState, deferShow, deferHide, oldIE = (($.browser.msie && ((!JSBNG__document.documentMode || ((JSBNG__document.documentMode < 8))))));\n exposeSBDData = {\n ok: function() {\n return true;\n },\n deBorder: function(b) {\n if (b) {\n $skin.addClass(\"nav_pop_triggered\");\n }\n else {\n $skin.removeClass(\"nav_pop_triggered\");\n }\n ;\n ;\n },\n initDeferredShow: function() {\n if (!deferShow) {\n deferShow = nullFn;\n }\n ;\n ;\n },\n deferredShow: function() {\n if (deferShow) {\n deferShow();\n deferShow = null;\n }\n ;\n ;\n }\n };\n var exTriggerParams = {\n localContent: \"#nav_browse_flyout\",\n JSBNG__location: \"JSBNG__top\",\n locationAlign: \"left\",\n locationOffset: [30,((oldIE ? 33 : 32)),],\n skin: SKIN($parent, 0, skinClass),\n showOnHover: true,\n hoverShowDelay: 0,\n onShow: function() {\n if (!deferHide) {\n deferHide = nullFn;\n }\n ;\n ;\n exButton.removeTrigger();\n exButton.onShow();\n onShow();\n $cats.appendTo($old_parent);\n $(JSBNG__document).mousemove();\n },\n onHide: function() {\n $cats.appendTo($parent);\n onHide();\n exButton.onHide();\n exButton.registerTrigger(exTriggerParams);\n if (deferHide) {\n deferHide();\n }\n ;\n ;\n deferHide = null;\n }\n };\n $Nav.when(\"protectExposeSBD\").run(\"exposeSBD\", function(protectExposeSBD) {\n protectExposeSBD(function(expose) {\n lastState = expose;\n if (((expose === isExposed))) {\n return;\n }\n ;\n ;\n if (expose) {\n logEv({\n t: \"sa\",\n id: \"res-main\"\n });\n var doShow = function() {\n if (((lastState === false))) {\n return;\n }\n ;\n ;\n button.removeTrigger();\n $roots.addClass(\"nav_exposed_sbd\");\n if ((($(\"#nav_browse_flyout.nav_deep\").length > 0))) {\n $roots.addClass(\"nav_deep\");\n }\n ;\n ;\n $cats.appendTo($parent);\n if (firstCall) {\n if ($.browser.msie) {\n $fade.css(\"display\", \"block\");\n }\n else {\n $fade.fadeIn(600);\n }\n ;\n ;\n firstCall = false;\n }\n ;\n ;\n exButton.registerTrigger(exTriggerParams);\n isExposed = true;\n };\n if (deferShow) {\n deferShow = doShow;\n }\n else {\n doShow();\n }\n ;\n ;\n }\n else {\n var doHide = function() {\n if (((lastState === true))) {\n return;\n }\n ;\n ;\n exButton.removeTrigger();\n $roots.removeClass(\"nav_exposed_sbd\");\n $cats.appendTo($old_parent);\n if (firstCall) {\n $fade.css(\"display\", \"block\");\n firstCall = false;\n }\n ;\n ;\n button.registerTrigger(triggerParams);\n isExposed = false;\n };\n if (deferHide) {\n deferHide = doHide;\n }\n else {\n doHide();\n }\n ;\n ;\n }\n ;\n ;\n });\n });\n return exposeSBDData;\n });\n var triggerParams = {\n localContent: \"#nav_browse_flyout\",\n locationAlign: \"left\",\n locationOffset: [((agent.ie6 ? 3 : 0)),0,],\n skin: SKIN(jQButton, 0),\n onShow: function() {\n var initExposeSBD = $Nav.getNow(\"initExposeSBD\");\n if (initExposeSBD) {\n initExposeSBD().initDeferredShow();\n }\n ;\n ;\n button.onShow();\n delayImpression = window.JSBNG__setTimeout(function() {\n logEv({\n t: \"sa\",\n id: \"main\"\n });\n }, 750);\n onShow();\n },\n onHide: function() {\n onHide();\n button.onHide();\n var initExposeSBD = $Nav.getNow(\"initExposeSBD\");\n if (initExposeSBD) {\n initExposeSBD().deferredShow();\n }\n ;\n ;\n }\n };\n if (!isResponsive) {\n button.registerTrigger(triggerParams);\n }\n ;\n ;\n $Nav.declare(\"flyout.shopall\");\n });\n $Nav.when(\"$\", \"$byID\", \"nav.inline\", \"flyout.JSBNG__content\").build(\"flyout.notificationCount\", function($, $id) {\n var notiCount = parseInt((($(\"#nav-noti-wrapper .nav-noti-content\").attr(\"data-noti-count\") || \"0\")), 10);\n var $count;\n function notificationCount(count) {\n notiCount = count;\n if ($count) {\n if (((notiCount <= 0))) {\n $count.remove();\n }\n else {\n $count.text(((((notiCount > 9)) ? \"9+\" : notiCount)));\n }\n ;\n ;\n }\n ;\n ;\n };\n ;\n notificationCount.count = function() {\n return notiCount;\n };\n notificationCount.decrement = function() {\n notificationCount(((notiCount - 1)));\n };\n $Nav.when(\"page.ready\").run(function() {\n if (((notiCount <= 0))) {\n return;\n }\n ;\n ;\n var $name = $id(\"nav-signin-text\");\n var parts = $.trim($name.text()).match(/^(.*?)(\\.*)$/);\n $name.html(((((parts[1] + \"\\u003Cspan id=\\\"nav-noti-count-position\\\"\\u003E\\u003C/span\\u003E\")) + parts[2])));\n var positioner = $id(\"nav-noti-count-position\");\n var countLeft = ((positioner.position().left + 10)), $button = $id(\"nav-your-account\"), tabWidth = (($button.JSBNG__outerWidth() - 5)), freePixels = ((tabWidth - countLeft)), cssObj = {\n };\n if (((((freePixels < 15)) || ((countLeft < 15))))) {\n cssObj.right = 2;\n if (((((freePixels > 0)) && ((freePixels <= 10))))) {\n $name.append(new Array(11).join(\" \"));\n }\n ;\n ;\n }\n else {\n cssObj.left = ((Math.round(countLeft) + 1));\n }\n ;\n ;\n $count = $(\"\\u003Cdiv id=\\\"nav-noti-count\\\" class=\\\"nav-sprite\\\"\\u003E\");\n $count.css(cssObj).appendTo($button);\n notificationCount(notiCount);\n });\n return notificationCount;\n });\n $Nav.when(\"$\", \"$byID\", \"agent\", \"flyout.notificationCount\", \"config.dismissNotificationUrl\", \"flyout.JSBNG__content\").build(\"flyout.notifications\", function($, $byID, agent, notificationCount, dismissNotificationUrl) {\n var $yaSidebarWrapper = $byID(\"nav-noti-wrapper\");\n var $yaSidebar = $yaSidebarWrapper.JSBNG__find(\".nav-noti-content\");\n var $notiItems = $yaSidebar.JSBNG__find(\".nav-noti-item\").not(\"#nav-noti-empty\");\n function hideOverflow() {\n var cutoff = (($yaSidebar.height() - $byID(\"nav-noti-all\").JSBNG__outerHeight(true)));\n $notiItems.each(function() {\n var $this = $(this);\n if ($this.attr(\"data-dismissed\")) {\n return;\n }\n ;\n ;\n if ((((($this.position().JSBNG__top + $this.JSBNG__outerHeight())) > cutoff))) {\n $this.addClass(\"nav-noti-overflow\");\n }\n else {\n $this.removeClass(\"nav-noti-overflow\");\n }\n ;\n ;\n });\n };\n ;\n function hookupBehaviour() {\n if (agent.touch) {\n $notiItems.addClass(\"nav-noti-touch\");\n }\n else {\n $notiItems.hover(function() {\n $(this).addClass(\"nav-noti-hover\");\n }, function() {\n $(this).removeClass(\"nav-noti-hover\");\n });\n }\n ;\n ;\n $(\".nav-noti-x\", $yaSidebar).click(function(e) {\n e.preventDefault();\n var $this = $(this);\n $.ajax({\n url: dismissNotificationUrl,\n type: \"POST\",\n data: {\n id: $this.attr(\"data-noti-id\")\n },\n cache: false,\n timeout: 500\n });\n $this.css(\"visibility\", \"hidden\").parent().attr(\"data-dismissed\", \"1\").slideUp(400, function() {\n notificationCount.decrement();\n if (((notificationCount.count() === 0))) {\n $byID(\"nav-noti-empty\").fadeIn(300);\n }\n ;\n ;\n hideOverflow();\n });\n }).hover(function() {\n $(this).addClass(\"nav-noti-x-hover\");\n }, function() {\n $(this).removeClass(\"nav-noti-x-hover\");\n });\n };\n ;\n return {\n width: 180,\n exists: function() {\n return ((((notificationCount.count() > 0)) && (($yaSidebar.length > 0))));\n },\n getContent: function() {\n var node = $yaSidebar.get(0);\n node.parentNode.removeChild(node);\n hookupBehaviour();\n return $yaSidebar;\n },\n onShow: hideOverflow,\n JSBNG__event: ((((notificationCount.count() > 0)) ? \"noti\" : null))\n };\n });\n $Nav.when(\"$\", \"flyout.JSBNG__content\").build(\"flyout.highConfidence\", function($) {\n var hcb = $(\"#csr-hcb-wrapper .csr-hcb-content\");\n return {\n width: 229,\n exists: function() {\n return ((hcb.length > 0));\n },\n getContent: function() {\n var node = hcb.get(0);\n node.parentNode.removeChild(node);\n return hcb;\n },\n JSBNG__event: \"hcb\"\n };\n });\n $Nav.when(\"$\", \"$byID\", \"areaMapper\", \"agent\", \"logEvent\", \"flyout.NavButton\", \"flyout.SKIN\", \"flyout.loadMenusConditionally\", \"flyout.notifications\", \"flyout.highConfidence\", \"config.signOutText\", \"nav.inline\", \"flyout.JSBNG__content\").run(\"YourAccount\", function($, $id, areaMapper, agent, logEv, NavButton, SKIN, loadDynamicMenusConditionally, notifications, highConf, signOutText) {\n var JSBNG__sidebar;\n if (notifications.exists()) {\n JSBNG__sidebar = notifications;\n }\n else {\n if (highConf.exists()) {\n JSBNG__sidebar = highConf;\n }\n ;\n ;\n }\n ;\n ;\n var id = \"nav-your-account\", jQButton = $id(id), $yaFlyout = $id(\"nav_your_account_flyout\"), $yaSidebar;\n if (((!jQButton.length || !$yaFlyout.length))) {\n return;\n }\n ;\n ;\n var button = new NavButton(id), $yaSidebarWrapper = $(\"#nav-noti-wrapper, #csr-hcb-wrapper\"), delayImpression, leftAlignedYA = (($id(\"nav-wishlist\").length || $id(\"nav-cart\").length));\n var onShow = function() {\n button.onShow();\n if (((JSBNG__sidebar && JSBNG__sidebar.onShow))) {\n JSBNG__sidebar.onShow();\n }\n ;\n ;\n areaMapper.disable(\"#nav_your_account_flyout\");\n delayImpression = window.JSBNG__setTimeout(function() {\n var imp = {\n t: \"ya\"\n };\n if (((JSBNG__sidebar && JSBNG__sidebar.JSBNG__event))) {\n imp[JSBNG__sidebar.JSBNG__event] = 1;\n }\n ;\n ;\n logEv(imp);\n }, 750);\n if ($yaSidebar) {\n $yaSidebar.height($yaFlyout.height());\n }\n ;\n ;\n loadDynamicMenusConditionally();\n };\n var onHide = function() {\n JSBNG__clearTimeout(delayImpression);\n areaMapper.enable();\n button.onHide();\n };\n var sidebarOffset = 0;\n if (JSBNG__sidebar) {\n sidebarOffset = ((JSBNG__sidebar.width + 19));\n $yaSidebar = JSBNG__sidebar.getContent();\n $yaFlyout.css(\"margin-left\", sidebarOffset).prepend($(\"\\u003Cdiv id=\\\"nav_ya_sidebar_wrapper\\\"\\u003E\\u003C/div\\u003E\").css({\n width: ((sidebarOffset - 15)),\n left: -sidebarOffset\n }).append($yaSidebar));\n }\n ;\n ;\n var YALocationOffsetLeft = ((sidebarOffset ? -sidebarOffset : ((agent.ie6 ? ((leftAlignedYA ? 3 : -3)) : 0))));\n button.registerTrigger({\n localContent: \"#nav_your_account_flyout\",\n locationAlign: ((leftAlignedYA ? \"left\" : \"right\")),\n locationOffset: [YALocationOffsetLeft,0,],\n skin: SKIN(jQButton, ((((leftAlignedYA || !agent.ie6)) ? 0 : 7))),\n onShow: onShow,\n onHide: onHide,\n followLink: !agent.touch\n });\n if (signOutText) {\n $(\"#nav-item-signout\").html(signOutText);\n }\n ;\n ;\n $Nav.declare(\"flyout.youraccount\");\n });\n $Nav.when(\"$\", \"$byID\", \"areaMapper\", \"agent\", \"logEvent\", \"triggerProceedToCheckout\", \"flyout.NavButton\", \"flyout.SKIN\", \"flyout.loadMenusConditionally\", \"nav.inline\", \"flyout.JSBNG__content\").run(\"Cart\", function($, $id, areaMapper, agent, logEv, triggerProceedToCheckout, NavButton, SKIN, loadDynamicMenusConditionally) {\n if (((!$id(\"nav-cart\").length || !$id(\"nav_cart_flyout\").length))) {\n return;\n }\n ;\n ;\n var id = \"nav-cart\", button = new NavButton(id), jQButton = $id(id), delayImpression;\n var onShow = function() {\n button.onShow();\n areaMapper.disable(\"#nav_cart_flyout\");\n delayImpression = window.JSBNG__setTimeout(function() {\n logEv({\n t: \"cart\"\n });\n }, 750);\n loadDynamicMenusConditionally();\n triggerProceedToCheckout();\n };\n var onHide = function() {\n JSBNG__clearTimeout(delayImpression);\n areaMapper.enable();\n button.onHide();\n };\n button.registerTrigger({\n localContent: \"#nav_cart_flyout\",\n locationAlign: \"right\",\n locationOffset: [((agent.ie6 ? -3 : 0)),0,],\n skin: SKIN(jQButton, ((agent.ie6 ? 7 : 0))),\n onShow: onShow,\n onHide: onHide,\n followLink: !agent.touch\n });\n $Nav.declare(\"flyout.cart\");\n });\n $Nav.when(\"$\", \"$byID\", \"areaMapper\", \"agent\", \"logEvent\", \"flyout.NavButton\", \"flyout.SKIN\", \"flyout.loadMenusConditionally\", \"nav.inline\", \"flyout.JSBNG__content\").run(\"WishList\", function($, $id, areaMapper, agent, logEv, NavButton, SKIN, loadDynamicMenusConditionally) {\n if (((!$id(\"nav-wishlist\").length || !$id(\"nav_wishlist_flyout\").length))) {\n return;\n }\n ;\n ;\n var id = \"nav-wishlist\", button = new NavButton(id), jQButton = $id(id), flyout = \"#nav_wishlist_flyout\", ul = \".nav_pop_ul\", delayImpression;\n var onShow = function() {\n button.onShow();\n areaMapper.disable(\"#nav_wishlist_flyout\");\n delayImpression = window.JSBNG__setTimeout(function() {\n logEv({\n t: \"wishlist\"\n });\n }, 750);\n loadDynamicMenusConditionally();\n var $flyout = $(flyout), width = $flyout.JSBNG__outerWidth();\n $flyout.css(\"width\", width).JSBNG__find(ul).css(\"width\", width).addClass(\"nav_pop_ul_wrap\");\n };\n var onHide = function() {\n JSBNG__clearTimeout(delayImpression);\n $(flyout).css(\"width\", \"\").JSBNG__find(ul).css(\"width\", \"\").removeClass(\"nav_pop_ul_wrap\");\n areaMapper.enable();\n button.onHide();\n };\n button.registerTrigger({\n localContent: \"#nav_wishlist_flyout\",\n locationAlign: \"right\",\n locationOffset: [((agent.ie6 ? -3 : 0)),0,],\n skin: SKIN(jQButton, ((agent.ie6 ? 7 : 0))),\n onShow: onShow,\n onHide: onHide,\n followLink: !agent.touch\n });\n $Nav.declare(\"flyout.wishlist\");\n });\n $Nav.when(\"$\", \"$byID\", \"flyout.NavButton\", \"areaMapper\", \"logEvent\", \"agent\", \"nav.inline\", \"flyout.JSBNG__content\").run(\"PrimeTooltip\", function($, $id, NavButton, areaMapper, logEv, agent) {\n if (((!$id(\"nav-prime-ttt\").length || !$id(\"nav-prime-tooltip\").length))) {\n return;\n }\n ;\n ;\n var id = \"nav-prime-ttt\", button = new NavButton(id), jQButton = $id(id), delayImpression, large = $(\"#navbar\").hasClass(\"nav-logo-large\"), msie = $.browser.msie;\n var onShow = function() {\n button.onShow();\n areaMapper.disable(\"#nav-prime-tooltip\");\n delayImpression = window.JSBNG__setTimeout(function() {\n logEv({\n t: \"prime-tt\"\n });\n }, 750);\n };\n var onHide = function() {\n JSBNG__clearTimeout(delayImpression);\n areaMapper.enable();\n button.onHide();\n };\n jQButton.css(\"padding-right\", ((large ? \"21px\" : \"25px\")));\n button.registerTrigger({\n localContent: \"#nav-prime-tooltip\",\n width: null,\n JSBNG__location: \"right\",\n locationAlign: \"JSBNG__top\",\n locationOffset: [((msie ? -3 : 0)),((large ? -35 : -26)),],\n onShow: onShow,\n onHide: onHide,\n zIndex: 201,\n skin: ((((((((((((((((((((\"\\u003Cdiv class=\\\"nav-tt-skin\" + ((large ? \" nav-logo-large\" : \"\")))) + \"\\\"\\u003E\")) + \"\\u003Cdiv class=\\\"nav-tt-border\")) + ((msie ? \"\" : \" nav-tt-box-shadow\")))) + \"\\\"\\u003E\")) + \"\\u003Cdiv class=\\\"ap_content\\\"\\u003E\\u003C/div\\u003E\")) + \"\\u003C/div\\u003E\")) + \"\\u003Cdiv class=\\\"nav-tt-beak\\\"\\u003E\\u003C/div\\u003E\")) + \"\\u003Cdiv class=\\\"nav-tt-beak-2\\\"\\u003E\\u003C/div\\u003E\")) + \"\\u003C/div\\u003E\")),\n followLink: !agent.touch\n });\n });\n $Nav.when(\"$byID\", \"areaMapper\", \"logEvent\", \"agent\", \"config.dynamicMenuArgs\", \"flyout.NavButton\", \"flyout.SKIN\", \"flyout.primeAjax\", \"flyout.loadMenusConditionally\", \"nav.inline\", \"flyout.JSBNG__content\").run(\"PrimeMenu\", function($id, areaMapper, logEv, agent, dynamicMenuArgs, NavButton, SKIN, primeAJAX, loadDynamicMenusConditionally) {\n if (((!$id(\"nav-your-prime\").length || !$id(\"nav-prime-menu\").length))) {\n return;\n }\n ;\n ;\n var id = \"nav-your-prime\", button = new NavButton(id), jQButton = $id(id), delayImpression;\n if (primeAJAX) {\n $id(\"nav-prime-menu\").css({\n width: dynamicMenuArgs.primeMenuWidth\n });\n }\n ;\n ;\n var onShow = function() {\n button.onShow();\n areaMapper.disable(\"#nav-prime-menu\");\n delayImpression = window.JSBNG__setTimeout(function() {\n logEv({\n t: \"prime\"\n });\n }, 750);\n if (primeAJAX) {\n loadDynamicMenusConditionally();\n }\n ;\n ;\n };\n var onHide = function() {\n JSBNG__clearTimeout(delayImpression);\n areaMapper.enable();\n button.onHide();\n };\n button.registerTrigger({\n localContent: \"#nav-prime-menu\",\n locationAlign: \"right\",\n locationOffset: [((agent.ie6 ? -3 : 0)),0,],\n skin: SKIN(jQButton, ((agent.ie6 ? 7 : 0))),\n onShow: onShow,\n onHide: onHide,\n followLink: !agent.touch\n });\n $Nav.declare(\"flyout.prime\");\n });\n $Nav.when(\"$\", \"byID\", \"agent\", \"api.publish\", \"config.lightningDeals\", \"nav.inline\").run(\"UpdateAPI\", function($, byID, agent, publishAPI, lightningDealsData) {\n var navbarAPIError = \"no error\";\n publishAPI(\"error\", function() {\n return navbarAPIError;\n });\n function update(navDataObject) {\n var err = \"navbar.update() error: \";\n if (((navDataObject instanceof Object))) {\n $Nav.getNow(\"unlockDynamicMenus\", function() {\n \n })();\n var closures = [];\n var cleanupClosures = [];\n if (navDataObject.catsubnav) {\n try {\n var navCatSubnav = $(\"#nav-subnav\");\n if (((navCatSubnav.length > 0))) {\n var svDigest = ((navDataObject.catsubnav.digest || \"\"));\n if (((!svDigest || ((svDigest !== navCatSubnav.attr(\"data-digest\")))))) {\n var catSubnavChanges = 0;\n var newCatSubnav = [];\n var category = navDataObject.catsubnav.category;\n if (((category && ((category.type == \"link\"))))) {\n var navCatItem = $(\"li.nav-category-button:first\", navCatSubnav);\n if (((navCatItem.length === 0))) {\n throw \"category-1\";\n }\n ;\n ;\n var cDatum = category.data;\n if (((!cDatum.href || !cDatum.text))) {\n throw \"category-2\";\n }\n ;\n ;\n var newCat = navCatItem.clone();\n var aCat = $(\"a:first\", newCat);\n if (((aCat.length === 0))) {\n throw \"category-3\";\n }\n ;\n ;\n aCat.attr(\"href\", cDatum.href).html(cDatum.text);\n newCatSubnav.push(newCat.get(0));\n catSubnavChanges += 1;\n }\n ;\n ;\n var subnav = navDataObject.catsubnav.subnav;\n if (((subnav && ((subnav.type == \"linkSequence\"))))) {\n var navSubItem = $(\"li.nav-subnav-item\", navCatSubnav).slice(-1);\n if (((navSubItem.length === 0))) {\n throw \"subnav-1\";\n }\n ;\n ;\n for (var i = 0; ((i < subnav.data.length)); i++) {\n var datum = subnav.data[i];\n if (((!datum.href || !datum.text))) {\n throw \"subnav-2\";\n }\n ;\n ;\n var newItem = navSubItem.clone();\n var aElem = $(\"a:first\", newItem);\n if (((aElem.length === 0))) {\n throw \"subnav-3\";\n }\n ;\n ;\n aElem.attr(\"href\", datum.href).html(datum.text);\n newCatSubnav.push(newItem.get(0));\n };\n ;\n if (((newCatSubnav.length > 1))) {\n catSubnavChanges += 1;\n }\n ;\n ;\n }\n ;\n ;\n var navbarDiv = $(\"#navbar\");\n if (((navbarDiv.length === 0))) {\n throw \"catsubnav-1\";\n }\n ;\n ;\n if (((catSubnavChanges == 2))) {\n closures.push(function() {\n navCatSubnav.empty().append(newCatSubnav).css(\"display\", \"\").attr(\"data-digest\", svDigest);\n navbarDiv.addClass(\"nav-subnav\");\n });\n }\n else {\n if (((catSubnavChanges === 0))) {\n closures.push(function() {\n navbarDiv.removeClass(\"nav-subnav\");\n navCatSubnav.css(\"display\", \"none\").attr(\"data-digest\", \"0\");\n });\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n } catch (e) {\n navbarAPIError = ((err + e));\n return false;\n };\n ;\n }\n ;\n ;\n if (navDataObject.cart) {\n try {\n var cart = navDataObject.cart;\n if (((((cart.type == \"countPlusLD\")) || ((cart.type == \"count\"))))) {\n if (!cart.data) {\n throw \"cart-1\";\n }\n ;\n ;\n var newCount = ((cart.data.count + \"\"));\n if (!newCount.match(/^(|0|[1-9][0-9]*|99\\+)$/)) {\n throw \"cart-2\";\n }\n ;\n ;\n var cartCounts = $(\"#nav-cart-count, #nav_cart_flyout .nav-cart-count\");\n if (((cartCounts.length > 0))) {\n closures.push(function() {\n var cartFullClass = \"nav-cart-0\";\n if (((newCount == \"99+\"))) {\n cartFullClass = \"nav-cart-100\";\n }\n else {\n if (((newCount > 99))) {\n newCount = \"99+\";\n cartFullClass = \"nav-cart-100\";\n }\n else {\n if (((newCount > 19))) {\n cartFullClass = \"nav-cart-20\";\n }\n else {\n if (((newCount > 9))) {\n cartFullClass = \"nav-cart-10\";\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n cartCounts.removeClass(\"nav-cart-0 nav-cart-10 nav-cart-20 nav-cart-100\").addClass(cartFullClass).html(newCount);\n if (((((newCount === 0)) && byID(\"nav-cart-zero\")))) {\n $(\"#nav-cart-one, #nav-cart-many\").hide();\n $(\"#nav-cart-zero\").show();\n }\n else {\n if (((newCount == 1))) {\n $(\"#nav-cart-zero, #nav-cart-many\").hide();\n $(\"#nav-cart-one\").show();\n }\n else {\n $(\"#nav-cart-zero, #nav-cart-one\").hide();\n $(\"#nav-cart-many\").show();\n }\n ;\n ;\n }\n ;\n ;\n });\n }\n ;\n ;\n var LDData = cart.data.LDData;\n if (LDData) {\n closures.push(function() {\n lightningDealsData = LDData;\n });\n }\n ;\n ;\n }\n ;\n ;\n } catch (e) {\n navbarAPIError = ((err + e));\n return false;\n };\n ;\n }\n ;\n ;\n if (navDataObject.searchbar) {\n try {\n var searchbar = navDataObject.searchbar;\n if (((searchbar.type == \"searchbar\"))) {\n if (!searchbar.data) {\n throw \"searchbar-1\";\n }\n ;\n ;\n var options = searchbar.data.options;\n if (((!options || ((options.length === 0))))) {\n throw \"searchbar-2\";\n }\n ;\n ;\n var sddMeta = ((searchbar.data[\"nav-metadata\"] || {\n }));\n var dropdown = $(\"#searchDropdownBox\");\n if (((dropdown.length === 0))) {\n dropdown = $(\"#navSearchDropdown select:first\");\n }\n ;\n ;\n if (((dropdown.length === 0))) {\n throw \"searchbar-3\";\n }\n ;\n ;\n if (((!sddMeta.digest || ((sddMeta.digest !== dropdown.attr(\"data-nav-digest\")))))) {\n closures.push(function() {\n dropdown.JSBNG__blur().empty();\n for (var i = 0; ((i < options.length)); i++) {\n var attrs = options[i];\n var _display = ((attrs._display || \"\"));\n delete attrs._display;\n $(\"\\u003Coption\\u003E\\u003C/option\\u003E\").html(_display).attr(attrs).appendTo(dropdown);\n };\n ;\n dropdown.attr(\"data-nav-digest\", ((sddMeta.digest || \"\"))).attr(\"data-nav-selected\", ((sddMeta.selected || 0)));\n $Nav.getNow(\"refreshDropDownFacade\", function() {\n \n })();\n });\n }\n else {\n if (((sddMeta.selected != dropdown.attr(\"data-nav-selected\")))) {\n closures.push(function() {\n dropdown.attr(\"data-nav-selected\", sddMeta.selected).get(0).selectedIndex = sddMeta.selected;\n $Nav.getNow(\"refreshDropDownFacade\", function() {\n \n })();\n });\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n } catch (e) {\n navbarAPIError = ((err + e));\n return false;\n };\n ;\n }\n ;\n ;\n if (navDataObject.primeBadge) {\n try {\n var isPrime = navDataObject.primeBadge.isPrime;\n if (((isPrime.type == \"boolean\"))) {\n var navbarDiv = $(\"#navbar\");\n if (((navbarDiv.length === 0))) {\n throw \"primeBadge-1\";\n }\n ;\n ;\n closures.push(function() {\n if (isPrime.data) {\n navbarDiv.addClass(\"nav-prime\");\n }\n else {\n navbarDiv.removeClass(\"nav-prime\");\n }\n ;\n ;\n });\n }\n ;\n ;\n var homeUrl = navDataObject.primeBadge.homeUrl;\n if (((homeUrl.type == \"html\"))) {\n var navLogoTag = $(\"#nav-logo\");\n if (((navLogoTag.length === 0))) {\n throw \"primeBadge-2\";\n }\n ;\n ;\n if (homeUrl.data) {\n closures.push(function() {\n navLogoTag.attr(\"href\", homeUrl.data);\n });\n }\n ;\n ;\n }\n ;\n ;\n } catch (e) {\n navbarAPIError = ((err + e));\n return false;\n };\n ;\n }\n ;\n ;\n if (navDataObject.swmSlot) {\n try {\n var swmContent = navDataObject.swmSlot.swmContent;\n if (((swmContent && ((swmContent.type == \"html\"))))) {\n var navSwmSlotDiv = $(\"#navSwmSlot\");\n if (((navSwmSlotDiv.length === 0))) {\n throw \"swmContent-1\";\n }\n ;\n ;\n if (swmContent.data) {\n closures.push(function() {\n navSwmSlotDiv.html(swmContent.data);\n });\n }\n ;\n ;\n }\n ;\n ;\n var swmHeight = navDataObject.swmSlot.height;\n if (((swmHeight && ((swmHeight.type == \"html\"))))) {\n var navWelcomeRowDiv = $(\"#welcomeRowTable\");\n if (((navWelcomeRowDiv.length === 0))) {\n throw \"swmSlotHeight-1\";\n }\n ;\n ;\n closures.push(function() {\n navWelcomeRowDiv.css(\"height\", ((swmHeight.data || \"\")));\n var sizeRegex = /-(small|large)$/;\n var navbar = $(\"#navbar\");\n $(navbar.attr(\"class\").split(/\\s+/)).filter(function() {\n return sizeRegex.test(this);\n }).each(function() {\n var isLarge = ((parseInt(((swmHeight.data || 0)), 10) > 40));\n var newClass = this.replace(sizeRegex, ((isLarge ? \"-large\" : \"-small\")));\n navbar.removeClass(this).addClass(newClass);\n });\n });\n }\n ;\n ;\n var swmStyle = navDataObject.swmSlot.style;\n if (((swmStyle && ((swmStyle.type == \"html\"))))) {\n var navAdBackgroundStyleDiv = $(\"#nav-ad-background-style\");\n if (((navAdBackgroundStyleDiv.length === 0))) {\n throw \"swmSlotStyle-1\";\n }\n ;\n ;\n closures.push(function() {\n navAdBackgroundStyleDiv.attr(\"style\", ((swmStyle.data || \"\")));\n });\n }\n ;\n ;\n } catch (e) {\n navbarAPIError = ((err + e));\n return false;\n };\n ;\n }\n ;\n ;\n if (navDataObject.signInText) {\n try {\n var customerName = navDataObject.signInText.customerName;\n var greetingText = navDataObject.signInText.greetingText;\n if (((((customerName.type == \"html\")) && greetingText.type))) {\n var navSignInTitleSpan = $(\"#nav-signin-title\");\n if (((navSignInTitleSpan.length === 0))) {\n throw \"signInText-1\";\n }\n ;\n ;\n var template = navSignInTitleSpan.attr(\"data-template\");\n if (((((template && greetingText.data)) && customerName.data))) {\n template = template.replace(\"{helloText}\", greetingText.data);\n template = template.replace(\"{signInText}\", customerName.data);\n closures.push(function() {\n navSignInTitleSpan.html(template);\n });\n }\n ;\n ;\n }\n ;\n ;\n } catch (e) {\n navbarAPIError = ((err + e));\n return false;\n };\n ;\n }\n ;\n ;\n if (navDataObject.yourAccountLink) {\n try {\n var yourAccountLink = navDataObject.yourAccountLink;\n if (((yourAccountLink.type == \"html\"))) {\n var navYourAccountTag = $(\"#nav-your-account\");\n if (((navYourAccountTag.length === 0))) {\n throw \"your-account-1\";\n }\n ;\n ;\n if (yourAccountLink.data) {\n closures.push(function() {\n navYourAccountTag.attr(\"href\", yourAccountLink.data);\n });\n }\n ;\n ;\n }\n ;\n ;\n } catch (e) {\n navbarAPIError = ((err + e));\n return false;\n };\n ;\n }\n ;\n ;\n if (navDataObject.crossShop) {\n try {\n var yourAmazonText = navDataObject.crossShop;\n if (((yourAmazonText.type == \"html\"))) {\n var navYourAmazonTag = $(\"#nav-your-amazon\");\n if (((navYourAmazonTag.length === 0))) {\n throw \"yourAmazonText-1\";\n }\n ;\n ;\n closures.push(function() {\n if (((yourAmazonText.data && ((navYourAmazonTag.text() != yourAmazonText.data))))) {\n navYourAmazonTag.html(yourAmazonText.data);\n }\n ;\n ;\n });\n }\n ;\n ;\n cleanupClosures.push(function() {\n $(\"#nav-cross-shop-links\").css(\"display\", \"\");\n });\n } catch (e) {\n navbarAPIError = ((err + e));\n return false;\n };\n ;\n }\n ;\n ;\n if (((closures.length > 0))) {\n try {\n for (var i = 0; ((i < closures.length)); i++) {\n closures[i]();\n };\n ;\n } catch (e) {\n navbarAPIError = ((err + e));\n return false;\n } finally {\n for (var i = 0; ((i < cleanupClosures.length)); i++) {\n cleanupClosures[i]();\n };\n ;\n };\n ;\n return true;\n }\n else {\n navbarAPIError = ((err + ((navDataObject.error || \"unknown error\"))));\n }\n ;\n ;\n }\n else {\n navbarAPIError = ((err + \"parameter not an Object\"));\n }\n ;\n ;\n return false;\n };\n ;\n publishAPI(\"update\", update);\n publishAPI(\"setCartCount\", function(newCartCount) {\n return update({\n cart: {\n type: \"count\",\n data: {\n count: newCartCount\n }\n }\n });\n });\n publishAPI(\"getLightningDealsData\", function() {\n return ((lightningDealsData || {\n }));\n });\n publishAPI(\"overrideCartButtonClick\", function(clickHandler) {\n if (!agent.touch) {\n $(\"#nav-cart\").click(clickHandler);\n }\n ;\n ;\n $(\"#nav-cart-menu-button\").click(clickHandler);\n });\n });\n $Nav.when(\"$\", \"$byID\", \"agent\", \"template\", \"nav.inline\").build(\"flyout.initBrowsePromos\", function($, $id, agent, template) {\n var initialized = false;\n return function() {\n var browsepromos = $Nav.getNow(\"config.browsePromos\");\n if (((!browsepromos || initialized))) {\n return;\n }\n ;\n ;\n initialized = true;\n $(\"#nav_browse_flyout .nav_browse_subcat\").each(function() {\n var $this = $(this), promoID = $this.attr(\"data-nav-promo-id\");\n if (promoID) {\n var data = browsepromos[promoID];\n if (data) {\n if (data.promoType) {\n if (((data.promoType == \"wide\"))) {\n $this.addClass(\"nav_super_cat\");\n }\n ;\n ;\n var mapID = ((\"nav_imgmap_\" + promoID)), vOffset = ((agent.ie6 ? 15 : 14)), bottom = ((parseInt(data.vertOffset, 10) - vOffset)), right = parseInt(data.horizOffset, 10), ie6Hack = ((agent.ie6 && /\\.png$/i.test(data.image))), imgSrc = ((ie6Hack ? $id(\"nav_trans_pixel\").attr(\"src\") : data.image)), $img = $(\"\\u003Cimg\\u003E\").attr({\n src: imgSrc,\n alt: data.alt,\n useMap: ((\"#\" + mapID))\n }).addClass(\"nav_browse_promo\").css({\n bottom: bottom,\n right: right,\n width: data.width,\n height: data.height\n });\n $this.prepend($img);\n if (ie6Hack) {\n $img.get(0).style.filter = ((((\"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='\" + data.image)) + \"',sizingMethod='scale')\"));\n }\n ;\n ;\n }\n else {\n $this.prepend(template(\"#nav-tpl-asin-promo\", data));\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n });\n };\n });\n $Nav.when(\"$\", \"agent\", \"config.flyoutURL\", \"btf.full\").run(\"FlyoutContent\", function($, agent, flyoutURL) {\n window._navbar.flyoutContent = function(flyouts) {\n var invisibleDiv = $(\"\\u003Cdiv\\u003E\").appendTo(JSBNG__document.body).hide().get(0);\n var html = \"\";\n {\n var fin32keys = ((window.top.JSBNG_Replay.forInKeys)((flyouts))), fin32i = (0);\n var flyout;\n for (; (fin32i < fin32keys.length); (fin32i++)) {\n ((flyout) = (fin32keys[fin32i]));\n {\n if (flyouts.hasOwnProperty(flyout)) {\n html += flyouts[flyout];\n }\n ;\n ;\n };\n };\n };\n ;\n invisibleDiv.innerHTML = html;\n $Nav.declare(\"flyout.JSBNG__content\");\n };\n if (flyoutURL) {\n var script = JSBNG__document.createElement(\"script\");\n script.setAttribute(\"type\", \"text/javascript\");\n script.setAttribute(\"src\", flyoutURL);\n var head = ((JSBNG__document.head || JSBNG__document.getElementsByTagName(\"head\")[0]));\n head.appendChild(script);\n }\n else {\n $Nav.declare(\"flyout.JSBNG__content\");\n }\n ;\n ;\n });\n $Nav.when(\"$\", \"$byID\", \"template\", \"config.enableDynamicMenus\", \"config.dynamicMenuUrl\", \"config.dynamicMenuArgs\", \"config.ajaxProximity\", \"flyout.primeAjax\", \"nav.inline\").run(\"DynamicAjaxMenu\", function($, $id, template, enableDynamicMenus, dynamicMenuUrl, dynamicMenuArgs, ajaxProximity, primeAJAX) {\n var ajaxLoaded = !enableDynamicMenus, mouseHookTriggered = !enableDynamicMenus;\n $Nav.declare(\"unlockDynamicMenus\", function() {\n ajaxLoaded = false;\n mouseHookTriggered = false;\n });\n var ajaxLock = false;\n var preloadStarted;\n function allowDynamicMenuRetry() {\n JSBNG__setTimeout(function() {\n mouseHookTriggered = false;\n }, 5000);\n };\n ;\n function loadDynamicMenus() {\n $Nav.when(\"flyout.JSBNG__content\").run(\"LoadDynamicMenu\", function() {\n if (((ajaxLock || ajaxLoaded))) {\n return;\n }\n ;\n ;\n ajaxLock = true;\n var wishlistParent = $id(\"nav_wishlist_flyout\");\n var cartParent = $id(\"nav_cart_flyout\");\n var allParents = $(wishlistParent).add(cartParent);\n var wishlistContent = $(\".nav_dynamic\", wishlistParent);\n var cartContent = $(\".nav_dynamic\", cartParent);\n if (primeAJAX) {\n var primeParent = $id(\"nav-prime-menu\");\n allParents = allParents.add(primeParent);\n var primeContent = $(\".nav_dynamic\", primeParent);\n }\n ;\n ;\n $Nav.getNow(\"preloadSpinner\", function() {\n \n })();\n allParents.addClass(\"nav-ajax-loading\").removeClass(\"nav-ajax-error nav-empty\");\n allParents.JSBNG__find(\".nav-ajax-success\").hide();\n $.AmazonPopover.updateBacking(\"navbar\");\n $.ajax({\n url: dynamicMenuUrl,\n data: dynamicMenuArgs,\n dataType: \"json\",\n cache: false,\n timeout: 10000,\n complete: function() {\n allParents.removeClass(\"nav-ajax-loading\");\n $.AmazonPopover.updateBacking(\"navbar\");\n ajaxLock = false;\n },\n error: function() {\n allParents.addClass(\"nav-ajax-error\");\n allowDynamicMenuRetry();\n },\n success: function(data) {\n data = $.extend({\n cartDataStatus: false,\n cartCount: 0,\n cart: [],\n wishlistDataStatus: false,\n wishlist: [],\n primeMenu: null\n }, data);\n if (data.cartDataStatus) {\n $Nav.getNow(\"api.setCartCount\", function() {\n \n })(data.cartCount);\n }\n ;\n ;\n function updateDynamicMenu(JSBNG__status, isEmpty, parentElem, rawHTML, templateID, contentElem) {\n if (JSBNG__status) {\n if (isEmpty) {\n parentElem.addClass(\"nav-empty\").removeClass(\"nav-full\");\n }\n else {\n parentElem.addClass(\"nav-full\").removeClass(\"nav-empty\");\n }\n ;\n ;\n contentElem.html(((rawHTML || template(templateID, data))));\n parentElem.JSBNG__find(\".nav-ajax-success\").show();\n }\n else {\n parentElem.addClass(\"nav-ajax-error\");\n }\n ;\n ;\n };\n ;\n if (primeAJAX) {\n updateDynamicMenu(!!data.primeMenu, !data.primeMenu, primeParent, data.primeMenu, null, primeContent);\n }\n ;\n ;\n updateDynamicMenu(data.cartDataStatus, ((data.cart.length === 0)), cartParent, null, \"#nav-tpl-cart\", cartContent);\n updateDynamicMenu(data.wishlistDataStatus, ((data.wishlist.length === 0)), wishlistParent, null, \"#nav-tpl-wishlist\", wishlistContent);\n if (((data.cartDataStatus && data.wishlistDataStatus))) {\n ajaxLoaded = true;\n }\n else {\n allowDynamicMenuRetry();\n }\n ;\n ;\n }\n });\n });\n };\n ;\n function loadDynamicMenusConditionally() {\n if (!mouseHookTriggered) {\n loadDynamicMenus();\n }\n ;\n ;\n mouseHookTriggered = true;\n if (!preloadStarted) {\n preloadStarted = true;\n $Nav.declare(\"JSBNG__event.prefetch\");\n }\n ;\n ;\n return true;\n };\n ;\n $Nav.declare(\"flyout.loadMenusConditionally\", loadDynamicMenusConditionally);\n function attachTriggers() {\n var accumLeft = [], accumRight = [], accumTop = [], accumBottom = [];\n $(\"#nav-wishlist, #nav-cart\").each(function(i, elem) {\n elem = $(elem);\n var pos = elem.offset();\n accumLeft.push(pos.left);\n accumTop.push(pos.JSBNG__top);\n accumRight.push(((pos.left + elem.width())));\n accumBottom.push(((pos.JSBNG__top + elem.height())));\n });\n var proximity = ((ajaxProximity || [0,0,0,0,]));\n var left = ((Math.min.apply(Math, accumLeft) - proximity[3])), JSBNG__top = ((Math.min.apply(Math, accumTop) - proximity[0])), width = ((((Math.max.apply(Math, accumRight) + proximity[1])) - left)), height = ((((Math.max.apply(Math, accumBottom) + proximity[2])) - JSBNG__top));\n $.AmazonPopover.mouseTracker.add([[left,JSBNG__top,width,height,],], {\n inside: false,\n mouseEnter: loadDynamicMenusConditionally,\n mouseLeave: function() {\n return true;\n }\n });\n $(\"#nav_wishlist_flyout, #nav_cart_flyout\").JSBNG__find(\".nav-try-again\").click(loadDynamicMenus);\n };\n ;\n if (dynamicMenuUrl) {\n $Nav.when(\"page.ready\").run(attachTriggers);\n }\n ;\n ;\n });\n $Nav.when(\"$\", \"onOptionClick\", \"throttle\", \"byID\", \"$byID\", \"btf.lite\", \"nav.inline\").run(\"SearchDropdown\", function($, onOptionClick, throttle, byID, $id) {\n var dropdownNode = byID(\"searchDropdownBox\"), dropdown = $(dropdownNode), facade = $id(\"nav-search-in\"), facadeContent = byID(\"nav-search-in-content\"), searchBox = $id(\"twotabsearchtextbox\"), searchBoxParent = (function(elem) {\n if (elem.hasClass(\"nav-searchfield-width\")) {\n return elem;\n }\n else {\n if (((elem.parent().size() > 0))) {\n return arguments.callee(elem.parent());\n }\n else {\n return searchBox.parent();\n }\n ;\n ;\n }\n ;\n ;\n }(searchBox)), facadePrefilled = (function() {\n return ((((facadeContent.getAttribute && facadeContent.getAttribute(\"data-value\"))) || $(facadeContent).attr(\"data-value\")));\n }()), state = {\n isHover: false,\n isFocus: false,\n searchFocus: false,\n searchHover: false\n }, previousVal = null;\n if ($.browser.msie) {\n if (((parseFloat($.browser.version) < 7))) {\n $Nav.declare(\"refreshDropDownFacade\", function() {\n \n });\n return;\n }\n ;\n ;\n facade.addClass(\"ie\");\n }\n ;\n ;\n function tweakDropdownWidth() {\n var facadeWidth = facade.width();\n if (((dropdown.width() < facadeWidth))) {\n dropdown.width(facadeWidth);\n }\n ;\n ;\n };\n ;\n function updateActiveState() {\n if (state.isFocus) {\n facade.addClass(\"JSBNG__focus\").removeClass(\"active\");\n var redraw = JSBNG__document.createElement(\"div\");\n facade.append(redraw);\n JSBNG__setTimeout(function() {\n redraw.parentNode.removeChild(redraw);\n }, 10);\n }\n else {\n if (((((state.isHover || state.searchFocus)) || state.searchHover))) {\n facade.addClass(\"active\").removeClass(\"JSBNG__focus\");\n }\n else {\n facade.removeClass(\"active focus\");\n }\n ;\n ;\n }\n ;\n ;\n };\n ;\n function getSelected() {\n var len = dropdownNode.children.length;\n for (var i = 0; ((i < len)); i++) {\n if (dropdownNode.children[i].selected) {\n return $(dropdownNode.children[i]);\n }\n ;\n ;\n };\n ;\n return dropdown.children(\"option:selected\");\n };\n ;\n function redrawSearchBox() {\n if ($.browser.msie) {\n return;\n }\n ;\n ;\n searchBox.css(\"padding-right\", ((parseInt(searchBox.css(\"padding-right\"), 10) ? 0 : 1)));\n };\n ;\n function useAbbrDropdown() {\n var facadeWidth = $(facadeContent).width();\n if (((facadeWidth > 195))) {\n return true;\n }\n ;\n ;\n if (((((facadeWidth > 100)) && ((searchBoxParent.JSBNG__outerWidth() <= 400))))) {\n return true;\n }\n ;\n ;\n return false;\n };\n ;\n function updateFacadeWidth() {\n $(facade).add(facadeContent).css({\n width: \"auto\"\n });\n $(facadeContent).css({\n overflow: \"visible\"\n });\n if (useAbbrDropdown()) {\n $(facadeContent).css({\n width: 100,\n overflow: \"hidden\"\n });\n }\n ;\n ;\n JSBNG__setTimeout(function() {\n searchBoxParent.css({\n \"padding-left\": facade.width()\n });\n redrawSearchBox();\n tweakDropdownWidth();\n }, 1);\n };\n ;\n function updateFacade() {\n var selected = getSelected(), selectedVal = selected.val();\n if (((selectedVal != previousVal))) {\n var display = ((((previousVal || ((selectedVal != facadePrefilled)))) ? selected.html() : facadeContent.innerHTML));\n previousVal = selectedVal;\n if (((facadeContent.innerHTML != display))) {\n facadeContent.innerHTML = display;\n updateFacadeWidth();\n }\n ;\n ;\n }\n ;\n ;\n updateActiveState();\n };\n ;\n function focusSearchBox() {\n var iss = $Nav.getNow(\"iss\");\n if (iss) {\n state[\"isFocus\"] = false;\n iss.JSBNG__focus();\n }\n ;\n ;\n };\n ;\n function keypressHandler(e) {\n if (((e.which == 13))) {\n focusSearchBox();\n }\n ;\n ;\n if (((((e.which != 9)) && ((e.which != 16))))) {\n updateFacade();\n }\n ;\n ;\n };\n ;\n $Nav.declare(\"refreshDropDownFacade\", updateFacade);\n function buildCallback(property, value) {\n return function() {\n state[property] = value;\n updateActiveState();\n };\n };\n ;\n facade.get(0).className += \" nav-facade-active\";\n updateFacade();\n dropdown.change(updateFacade).keyup(keypressHandler).JSBNG__focus(buildCallback(\"isFocus\", true)).JSBNG__blur(buildCallback(\"isFocus\", false)).hover(buildCallback(\"isHover\", true), buildCallback(\"isHover\", false));\n $Nav.when(\"dismissTooltip\").run(function(dismissTooltip) {\n dropdown.JSBNG__focus(dismissTooltip);\n });\n onOptionClick(dropdown, function() {\n focusSearchBox();\n updateFacade();\n });\n $(window).resize(throttle(150, updateFacadeWidth));\n $Nav.when(\"page.ready\").run(\"FixSearchDropdown\", function() {\n if ((((((($(facadeContent).JSBNG__outerWidth(true) - facade.JSBNG__outerWidth())) >= 4)) || useAbbrDropdown()))) {\n updateFacadeWidth();\n }\n ;\n ;\n tweakDropdownWidth();\n dropdown.css({\n JSBNG__top: Math.max(0, ((((facade.JSBNG__outerHeight() - dropdown.JSBNG__outerHeight())) / 2)))\n });\n });\n $Nav.when(\"iss\").run(function(iss) {\n iss.keydown(function(e) {\n JSBNG__setTimeout(function() {\n keypressHandler(e);\n }, 10);\n });\n $Nav.when(\"dismissTooltip\").run(function(dismissTooltip) {\n iss.keydown(dismissTooltip);\n });\n iss.onFocus(buildCallback(\"searchFocus\", true));\n iss.onBlur(buildCallback(\"searchFocus\", false));\n iss.onBlur(updateFacade);\n if (iss.onSearchBoxHover) {\n iss.onSearchBoxHover(buildCallback(\"searchHover\", true), buildCallback(\"searchHover\", false));\n }\n ;\n ;\n });\n });\n $Nav.when(\"$\").build(\"Keycode\", function($) {\n function Keycode(evt) {\n this.evt = evt;\n this.code = evt.keyCode;\n };\n ;\n Keycode.prototype.isAugmented = function() {\n return ((((this.evt.altKey || this.evt.ctrlKey)) || this.evt.metaKey));\n };\n Keycode.prototype.isAugmentor = function() {\n return ((0 <= $.inArray(this.code, [0,16,20,17,18,224,91,93,])));\n };\n Keycode.prototype.isTextFieldControl = function() {\n return ((0 <= $.inArray(this.code, [8,9,13,32,35,36,37,38,39,40,45,46,])));\n };\n Keycode.prototype.isControl = function() {\n if (((this.code <= 46))) {\n return true;\n }\n else {\n if (((((this.code >= 91)) && ((this.code <= 95))))) {\n return true;\n }\n else {\n if (((((this.code >= 112)) && ((this.code <= 145))))) {\n return true;\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n return false;\n };\n Keycode.prototype.isTab = function() {\n return ((this.code === 9));\n };\n Keycode.prototype.isEnter = function() {\n return ((this.code === 13));\n };\n Keycode.prototype.isBackspace = function() {\n return ((this.code === 8));\n };\n return Keycode;\n });\n $Nav.when(\"$\", \"agent\", \"iss\", \"Keycode\", \"config.autoFocus\", \"nav.inline\").run(\"autoFocus\", function($, agent, iss, Keycode, enableAutoFocus) {\n if (!enableAutoFocus) {\n return;\n }\n ;\n ;\n if (agent.touch) {\n return;\n }\n ;\n ;\n function JSBNG__getSelection() {\n if (window.JSBNG__getSelection) {\n return window.JSBNG__getSelection().toString();\n }\n else {\n if (JSBNG__document.selection) {\n return JSBNG__document.selection.createRange().text;\n }\n else {\n return \"\";\n }\n ;\n ;\n }\n ;\n ;\n };\n ;\n function canFocus() {\n return (((((($(JSBNG__document).scrollTop() <= $(\"#nav-iss-attach\").offset().JSBNG__top)) && (($(JSBNG__document.activeElement).filter(\"input,select,textarea\").size() < 1)))) && ((JSBNG__getSelection() === \"\"))));\n };\n ;\n var first = false;\n if (canFocus()) {\n iss.JSBNG__focus();\n first = true;\n }\n ;\n ;\n iss.keydown(function(e) {\n var key = new Keycode(e);\n if (key.isAugmentor()) {\n return;\n }\n ;\n ;\n var isControl = key.isControl();\n if (key.isAugmented()) {\n \"noop\";\n }\n else {\n if (first) {\n if (!canFocus()) {\n iss.JSBNG__blur();\n }\n else {\n if (isControl) {\n iss.JSBNG__blur();\n }\n ;\n ;\n }\n ;\n ;\n }\n else {\n if (isControl) {\n if (!key.isTextFieldControl()) {\n iss.JSBNG__blur();\n }\n else {\n if (((((((((iss.keyword() === \"\")) && !key.isTab())) && !key.isEnter())) && !key.isBackspace()))) {\n iss.JSBNG__blur();\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n first = false;\n });\n $(JSBNG__document).keydown(function(e) {\n var key = new Keycode(e);\n if (!canFocus()) {\n return;\n }\n ;\n ;\n if (key.isControl()) {\n return;\n }\n ;\n ;\n if (((key.isAugmentor() || key.isAugmented()))) {\n return;\n }\n ;\n ;\n iss.JSBNG__focus();\n });\n });\n $Nav.when(\"$\", \"api.publish\", \"config.swmStyleData\").run(\"ExternalAPI\", function($, publishAPI, swmStyleData) {\n publishAPI(\"unHideSWM\", function() {\n var $h = $(\"#navHiddenSwm\");\n var s = swmStyleData;\n if ($h.length) {\n $(\"#navbar\").removeClass(\"nav-logo-small nav-logo-large\").addClass(((\"nav-logo-\" + ((((parseInt(((s.height || 0)), 10) > 40)) ? \"large\" : \"small\")))));\n $(\"#welcomeRowTable\").css(\"height\", ((s.height || \"\")));\n var $swm = $(\"#navSwmSlot\");\n $swm.parent().attr(\"style\", ((s.style || \"\")));\n $swm.children().css(\"display\", \"none\");\n $h.css(\"display\", \"\");\n }\n ;\n ;\n });\n var exposeState;\n publishAPI(\"exposeSBD\", function(expose) {\n exposeState = expose;\n $Nav.when(\"initExposeSBD\", \"protectExposeSBD\").run(function(initExposeSBD, protectExposeSBD) {\n if (initExposeSBD().ok()) {\n protectExposeSBD(exposeState);\n }\n ;\n ;\n });\n });\n publishAPI(\"navDimensions\", function() {\n var elem = $(\"#navbar\");\n var result = elem.offset();\n result.height = elem.height();\n result.bottom = ((result.JSBNG__top + result.height));\n return result;\n });\n $Nav.when(\"api.unHideSWM\", \"api.exposeSBD\", \"api.navDimensions\").publish(\"navbarJSLoaded\");\n });\n }(window.$Nav));\n if (((!window.$SearchJS && window.$Nav))) {\n window.$SearchJS = $Nav.make();\n }\n;\n;\n if (window.$SearchJS) {\n $SearchJS.importEvent(\"legacy-popover\", {\n as: \"popover\",\n amznJQ: \"popover\",\n global: \"jQuery.AmazonPopover\"\n });\n $SearchJS.when(\"jQuery\", \"popover\").run(function($, AmazonPopover) {\n $.fn.amznFlyoutIntent = function(arg) {\n var defaults = {\n getTarget: function(el) {\n return $(this).children(\"*[position=\\\"absolute\\\"]\").eq(0);\n },\n triggerAxis: \"y\",\n majorDelay: 300,\n minorDelay: 100,\n targetSlopY: 50,\n targetSlopX: 50,\n cursorSlopBase: 25,\n cursorSlopHeight: 50,\n mtRegions: []\n }, nameSp = \"amznFlyoutIntent\", mt = AmazonPopover.mouseTracker, getRect = function(el, slopX, slopY) {\n var off = el.offset(), tl = {\n x: ((off.left - ((slopX || 0)))),\n y: ((off.JSBNG__top - ((slopY || 0))))\n }, br = {\n x: ((((tl.x + el.JSBNG__outerWidth())) + ((((slopX || 0)) * 2)))),\n y: ((((tl.y + el.JSBNG__outerHeight())) + ((((slopY || 0)) * 2))))\n };\n return [tl,br,];\n }, triBC = function(tri) {\n var t0 = tri[0], t1 = tri[1], t2 = tri[2];\n return ((((((t1.x - t0.x)) * ((t2.y - t0.y)))) - ((((t2.x - t0.x)) * ((t1.y - t0.y))))));\n }, isInTri = function(p, tri) {\n var b0 = ((1 / triBC(tri))), t0 = tri[0], t1 = tri[1], t2 = tri[2];\n return ((((((((triBC([t1,t2,p,]) * b0)) > 0)) && ((((triBC([t2,t0,p,]) * b0)) > 0)))) && ((((triBC([t0,t1,p,]) * b0)) > 0))));\n }, clamp = function(p, r) {\n var r0 = r[0], r1 = r[1];\n return {\n x: ((((p.x < r0.x)) ? -1 : ((((p.x > r1.x)) ? 1 : 0)))),\n y: ((((p.y < r0.y)) ? -1 : ((((p.y > r1.y)) ? 1 : 0))))\n };\n }, isInRect = function(p, rect) {\n var c = clamp(p, rect);\n return ((((c.x == 0)) && ((c.y == 0))));\n }, sel = function(a, b, a0, a1, b0, b1, d) {\n return ((((a < 0)) ? a0 : ((((a > 0)) ? a1 : ((((b < 0)) ? b0 : ((((b > 0)) ? b1 : d))))))));\n }, getExtremePoints = function(p, rect) {\n var c = clamp(p, rect), cx = c.x, cy = c.y, r0 = rect[0], r1 = rect[1], r0x = r0.x, r0y = r0.y, r1x = r1.x, r1y = r1.y;\n return [{\n x: sel(cy, cx, r0x, r1x, r0x, r1x, 0),\n y: sel(cx, cy, r1y, r0y, r0y, r1y, 0)\n },{\n x: sel(cy, cx, r1x, r0x, r0x, r1x, 0),\n y: sel(cx, cy, r0y, r1y, r0y, r1y, 0)\n },];\n }, isInCone = function(cursor, p1, cfg) {\n var slopRect = $.extend(true, [], cfg.slopRect), sy = cfg.targetSlopY, sx = cfg.targetSlopX, c = clamp(p1, cfg.targetRect), cx = c.x, cy = c.y, sh = cfg.cursorSlopHeight, sb = cfg.cursorSlopBase, p = $.extend({\n }, p1), q = $.extend({\n }, p1), exP;\n if (((cy == 0))) {\n slopRect[((((cx < 0)) ? 0 : 1))].x -= ((sy * cx));\n }\n else {\n if (((cx == 0))) {\n slopRect[((((cy < 0)) ? 0 : 1))].y -= ((sb * cy));\n }\n ;\n ;\n }\n ;\n ;\n if (((cfg.triggerAxis === \"x\"))) {\n p.y = q.y -= ((sb * cy));\n p.x -= sh;\n q.x += sh;\n }\n else {\n q.x = p.x -= ((sb * cx));\n p.y -= ((sh * cx));\n q.y += ((sh * cx));\n }\n ;\n ;\n exP = getExtremePoints(p1, slopRect);\n return ((((isInTri(cursor, [p1,exP[0],exP[1],]) || isInTri(cursor, [p1,exP[0],p,]))) || isInTri(cursor, [p1,exP[1],q,])));\n }, calcChangeDelay = function(c, rect, p1, p2, cfg) {\n var delay = 0;\n p1 = ((p1 || {\n }));\n p2 = ((p2 || {\n }));\n if (isInRect(c, rect)) {\n delay = -1;\n }\n else {\n if (isInCone(c, p1, cfg)) {\n delay = cfg.majorDelay;\n }\n else {\n if (((((((Math.abs(((c.x - p1.x))) < 10)) && ((Math.abs(((c.y - p1.y))) < 10)))) && isInCone(c, p2, cfg)))) {\n delay = cfg.minorDelay;\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n return delay;\n }, changeTrigger = function(el, cfg) {\n ((((cfg.triggerEl && cfg.onMouseOut)) && cfg.onMouseOut.call(cfg.triggerEl.get(0))));\n cfg.onMouseOver.call(el.get(0));\n if (!cfg.targets) {\n cfg.targets = {\n };\n }\n ;\n ;\n var tgt = cfg.targets[el];\n if (!tgt) {\n cfg.targets[el] = tgt = {\n triggerEl: $(el)\n };\n tgt.targetEl = cfg.getTarget.call(el.get(0));\n tgt.targetRect = getRect(tgt.targetEl);\n tgt.slopRect = getRect(tgt.targetEl, cfg.targetSlopY, cfg.targetSlopX);\n }\n ;\n ;\n cfg.triggerEl = tgt.triggerEl;\n cfg.targetEl = tgt.targetEl;\n cfg.targetRect = tgt.targetRect;\n cfg.slopRect = tgt.slopRect;\n }, m = {\n destroy: function() {\n var cfg = this.data(nameSp), i;\n if (cfg) {\n JSBNG__clearTimeout(cfg.timeoutId);\n for (i = 0; ((i < cfg.mtRegions.length)); i++) {\n mt.remove(cfg.mtRegions[i]);\n };\n ;\n this.removeData(nameSp);\n }\n ;\n ;\n },\n init: function(opts) {\n var cfg = this.data(nameSp);\n if (!cfg) {\n cfg = $.extend(defaults, opts);\n this.data(nameSp, cfg);\n }\n ;\n ;\n return this.each(function() {\n var $this = $(this), off = $this.offset(), mouseLeave = function(immediately, args) {\n ((((cfg.onMouseLeave && this.el)) && cfg.onMouseLeave.call(this.el.get(0))));\n return true;\n }, mouseEnter = function(args) {\n JSBNG__clearTimeout(cfg.timeoutId);\n var trigger, changeDelay, doDelayedChange;\n ((((cfg.onMouseEnter && this.el)) && cfg.onMouseEnter.call(this.el.get(0))));\n if (((((cfg.triggerEl && this.el)) && ((cfg.triggerEl !== this.el))))) {\n trigger = this.el;\n changeDelay = ((cfg.targetRect ? calcChangeDelay(args.cursor, cfg.targetRect, args.priorCursors[0], args.priorCursors[1], cfg) : -1));\n if (((cfg.triggerEl && ((changeDelay > 0))))) {\n doDelayedChange = function() {\n var delayedArgs = mt.getCallbackArgs(), nextDelay = 0;\n JSBNG__clearTimeout(cfg.timeoutId);\n if (((((cfg.priorCursor && ((cfg.priorCursor.x === delayedArgs.cursor.x)))) && ((cfg.priorCursor.y === delayedArgs.cursor.y))))) {\n nextDelay = ((isInRect(delayedArgs.cursor, cfg.targetRect) ? -1 : 0));\n }\n else {\n nextDelay = calcChangeDelay(delayedArgs.cursor, cfg.targetRect, delayedArgs.priorCursors[0], delayedArgs.priorCursors[1], cfg);\n }\n ;\n ;\n cfg.priorCursor = {\n x: delayedArgs.cursor.x,\n y: delayedArgs.cursor.y\n };\n if (((((nextDelay > 0)) && ((cfg.triggerEl.get(0) !== trigger.get(0)))))) {\n cfg.timeoutId = JSBNG__setTimeout(function() {\n doDelayedChange.call(trigger);\n }, nextDelay);\n }\n else {\n if (((nextDelay > -1))) {\n if (isInRect(delayedArgs.cursor, getRect(trigger))) {\n changeTrigger(trigger, cfg);\n }\n else {\n ((cfg.onMouseOut && cfg.onMouseOut.call(trigger.get(0))));\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n };\n cfg.timeoutId = JSBNG__setTimeout(doDelayedChange, changeDelay);\n }\n else {\n changeTrigger(this.el, cfg);\n }\n ;\n ;\n }\n else {\n changeTrigger(this.el, cfg);\n }\n ;\n ;\n return true;\n };\n cfg.mtRegions.push(mt.add([[off.left,off.JSBNG__top,$this.JSBNG__outerWidth(),$this.JSBNG__outerHeight(),],], {\n inside: false,\n mouseEnter: mouseEnter,\n mouseLeave: mouseLeave,\n el: $this\n }));\n });\n }\n };\n if (m[arg]) {\n return m[arg].apply(this, Array.prototype.slice.call(arguments, 1));\n }\n ;\n ;\n if (((((typeof arg === \"object\")) || !arg))) {\n return m.init.apply(this, arguments);\n }\n ;\n ;\n return this;\n };\n $SearchJS.publish(\"amznFlyoutIntent\");\n });\n $SearchJS.when(\"jQuery\", \"amznFlyoutIntent\").run(function($) {\n (function(window, undefined) {\n var merchRE = /^me=/, refre = /(ref=[-\\w]+)/, ltrimre = /^\\s+/, spaceNormRe = /\\s+/g, ddre = /_dd_/, ddaliasre = /(dd_[a-z]{3,4})(_|$)[\\w]*/, deptre = /\\{department\\}/g, slashre = /\\+/g, aliasre = /search-alias\\s*=\\s*([\\w-]+)/, nodere = /node\\s*=\\s*([\\d]+)/, merchantre = /^me=([0-9A-Z]*)/, noissre = /ref=nb_sb_noss/, dcs = \"#ddCrtSel\", sdpc = \"searchDropdown_pop_conn\", tostr = Object.prototype.toString, ddBox, metrics = {\n isEnabled: ((((typeof uet == \"function\")) && ((typeof uex == \"function\")))),\n init: \"iss-init-pc\",\n completionsRequest0: \"iss-c0-pc\",\n completionsRequestSample: \"iss-cs-pc\",\n sample: 2,\n noFocusTag: \"iss-on-time\",\n focusTag: \"iss-late\"\n };\n $.isArray = (($.isArray || function(o) {\n return ((tostr.call(o) === \"[object Array]\"));\n }));\n var SS = function(sb, pe, displayHtml, handlers) {\n var node, noOp = function() {\n \n }, defaults = {\n afterCreate: noOp,\n beforeShow: noOp,\n afterShow: noOp,\n beforeHide: noOp,\n beforeHtmlChange: noOp,\n afterHtmlChange: noOp,\n onWindowResize: noOp\n }, events = $.extend({\n }, defaults, handlers);\n function create() {\n node = $(displayHtml).appendTo(((pe || sb.parent())));\n events.afterCreate.call(node);\n $(window).resize(function(e) {\n events.onWindowResize.call(node, e);\n });\n return node;\n };\n ;\n function get() {\n return ((node || create()));\n };\n ;\n function setHtml(h) {\n events.beforeHtmlChange.call(get(), h);\n get().html(h);\n events.afterHtmlChange.call(get(), h);\n return this;\n };\n ;\n this.getNode = get;\n this.html = setHtml;\n this.visible = function() {\n if (node) {\n return ((node.css(\"display\") != \"none\"));\n }\n ;\n ;\n return false;\n };\n this.hide = function() {\n events.beforeHide.call(get());\n get().hide();\n setHtml(\"\");\n return this;\n };\n this.show = function() {\n events.beforeShow.call(get());\n get().show();\n events.afterShow.call(get());\n return this;\n };\n };\n var IAC = function(sb, pe, iac, newDesign) {\n var sbPlaceHolder, sbPlaceHolderDiv, sbNode, sbDiv, iacNode, iacDiv, widthDiv, canShowIAC = true, iacType = 0;\n function get() {\n return ((iacNode || create()));\n };\n ;\n function create() {\n var p = sb.pos(true), d = sb.size(true), sbPlaceHolderCss = {\n JSBNG__top: p.JSBNG__top,\n left: p.left,\n width: \"100%\",\n border: \"2px inset\"\n }, sbPlaceHolderCssOverride = {\n background: \"none repeat scroll 0 0 transparent\",\n color: \"black\",\n \"font-family\": \"arial,sans-serif\",\n \"font-size\": \"12pt\",\n height: \"23px\",\n margin: \"7px 0 0\",\n outline: \"0 none\",\n padding: 0,\n border: \"0 none\"\n }, iacNodeCss = {\n left: p.left,\n width: d.width,\n JSBNG__top: p.JSBNG__top,\n \"z-index\": 1,\n color: \"#999\",\n position: \"absolute\",\n \"background-color\": \"#FFF\"\n }, iacNodeCssOverride = {\n left: ((p.left + 5)),\n width: ((d.width - 5)),\n border: \"0 none\",\n \"font-family\": \"arial,sans-serif\",\n \"font-size\": \"12pt\",\n height: \"23px\",\n margin: \"7px 0 0\",\n outline: \"0 none\",\n padding: 0\n };\n sbPlaceHolder = $(\"\\u003Cinput id='sbPlaceHolder' class='searchSelect' readOnly='true'/\\u003E\").css(sbPlaceHolderCss).css(((newDesign ? sbPlaceHolderCssOverride : {\n }))).appendTo(((pe || sb.parent())));\n sbPlaceHolderDiv = sbPlaceHolder.get(0);\n sbNode = $(\"#twotabsearchtextbox\").css({\n position: \"absolute\",\n background: \"none repeat scroll 0 0 transparent\",\n \"z-index\": 5,\n width: d.width\n });\n sbDiv = sbNode.get(0);\n iacNode = $(\"\\u003Cinput id='inline_auto_complete' class='searchSelect' readOnly='true'/\\u003E\").css(iacNodeCss).css(((newDesign ? iacNodeCssOverride : {\n }))).appendTo(((pe || sb.parent())));\n iacDiv = iacNode.get(0);\n JSBNG__setInterval(adjust, 200);\n sbNode.keydown(keyDown);\n if (newDesign) {\n widthDiv = sb.parent().parent();\n }\n ;\n ;\n return iacNode;\n };\n ;\n function adjust() {\n var p = sb.pos(), d = sb.size(), adjustment = 0, w = d.width;\n if (newDesign) {\n adjustment = 5;\n w = ((widthDiv.width() - adjustment));\n }\n ;\n ;\n sbNode.css({\n left: ((p.left + adjustment)),\n JSBNG__top: p.JSBNG__top,\n width: w\n });\n iacNode.css({\n left: ((p.left + adjustment)),\n JSBNG__top: p.JSBNG__top,\n width: w\n });\n };\n ;\n function keyDown(JSBNG__event) {\n var value = get().val();\n get().val(\"\");\n var key = JSBNG__event.keyCode;\n switch (key) {\n case 8:\n \n case 37:\n \n case 46:\n if (((value && ((value.length > 0))))) {\n JSBNG__event.preventDefault();\n }\n ;\n ;\n iacType = 0;\n canShowIAC = false;\n break;\n case 32:\n iacType = 0;\n canShowIAC = false;\n break;\n case 13:\n if (((iac == 2))) {\n break;\n }\n ;\n ;\n case 39:\n if (((value && ((value.length > 0))))) {\n sb.keyword(value);\n iacType = ((((key == 13)) ? 1 : 2));\n }\n ;\n ;\n canShowIAC = true;\n break;\n case 16:\n \n case 17:\n \n case 18:\n \n case 20:\n \n case 229:\n get().val(value);\n default:\n iacType = 0;\n canShowIAC = true;\n break;\n };\n ;\n };\n ;\n this.val = function(value) {\n if (((value !== undefined))) {\n get().val(value);\n }\n ;\n ;\n return get().val();\n };\n this.clear = function() {\n get().val(\"\");\n };\n this.type = function() {\n return iacType;\n };\n this.displayable = function(showIAC) {\n if (((showIAC !== undefined))) {\n canShowIAC = showIAC;\n }\n ;\n ;\n return canShowIAC;\n };\n this.touch = function() {\n get();\n return true;\n };\n };\n var IH = function(updateFunc) {\n var curIme, ku, kd, updateKwChange = updateFunc;\n function clearCurIme() {\n kd = ku = undefined, curIme = \"\";\n };\n ;\n function keydown(keyCode) {\n return ((keyCode ? kd = keyCode : kd));\n };\n ;\n function update(sbCurText) {\n if (updateKwChange) {\n updateKwChange(((((sbCurText && ((sbCurText.length > 0)))) ? ((sbCurText + curIme)) : curIme)));\n }\n ;\n ;\n };\n ;\n function keyup(keyCode, sbCurText) {\n if (((keyCode != undefined))) {\n ku = keyCode;\n if (((((curIme && ((curIme.length > 0)))) && ((((ku == 8)) || ((ku == 46))))))) {\n curIme = curIme.substring(0, ((curIme.length - 1)));\n update(sbCurText);\n }\n else {\n if (((((ku >= 65)) && ((ku <= 90))))) {\n var kchar = String.fromCharCode(ku);\n curIme += kchar;\n update(sbCurText);\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n return ku;\n };\n ;\n function shouldHandle() {\n return ((((kd == 229)) || ((kd == 197))));\n };\n ;\n this.keydown = keydown;\n this.keyup = keyup;\n this.isImeInput = shouldHandle;\n this.reset = clearCurIme;\n };\n var SB = function(sb, h) {\n var curText, curSel, latestUserInput, navIssAttach, sbPlaceHolder, imeUsed = false, ih = ((h.opt.imeEnh && new IH(function(val) {\n updateKwChange(val);\n })));\n init();\n function init() {\n if (metrics.isEnabled) {\n ue.tag(((((sb.get(0) === JSBNG__document.activeElement)) ? metrics.focusTag : metrics.noFocusTag)));\n }\n ;\n ;\n sb.keydown(keyDown).keyup(keyUp).keypress(keyPress).JSBNG__blur(blurHandler).JSBNG__focus(focusHandler).click(clickHandler);\n latestUserInput = curText = kw();\n ((h.newDesign && (navIssAttach = $(\"#nav-iss-attach\"))));\n };\n ;\n function kw(k) {\n if (((k !== undefined))) {\n curText = curSel = k;\n sb.val(k);\n }\n ;\n ;\n return sb.val().replace(ltrimre, \"\").replace(spaceNormRe, \" \");\n };\n ;\n function input(k) {\n if (((k !== undefined))) {\n latestUserInput = k;\n }\n ;\n ;\n return latestUserInput;\n };\n ;\n function keyDown(e) {\n var key = e.keyCode, d = ((((key == 38)) ? -1 : ((((key == 40)) ? 1 : 0))));\n if (ih) {\n ih.keydown(key);\n }\n ;\n ;\n imeUsed = ((((((key == 229)) || ((key == 197)))) ? true : ((((((((key >= 48)) && ((key <= 57)))) || ((((key >= 65)) && ((key <= 90)))))) ? false : imeUsed))));\n if (((h.opt.twoPane === 1))) {\n return h.twoPaneArrowKeyHandler(e);\n }\n ;\n ;\n if (d) {\n h.adjust(d);\n if (((kw() != \"\"))) {\n e.preventDefault();\n }\n ;\n ;\n }\n ;\n ;\n if (h.opt.doCTW) {\n h.opt.doCTW(e);\n }\n ;\n ;\n };\n ;\n function keyUp(e) {\n var key = e.keyCode;\n switch (key) {\n case 13:\n h.hide();\n break;\n case 27:\n return h.dismiss();\n case 37:\n \n case 38:\n \n case 39:\n \n case 40:\n break;\n default:\n if (((ih && ih.isImeInput()))) {\n ih.keyup(key, curText);\n }\n else {\n update(true);\n }\n ;\n ;\n break;\n };\n ;\n };\n ;\n function keyPress(e) {\n var key = e.keyCode;\n switch (key) {\n case 13:\n return h.submitEnabled();\n default:\n h.keyPress();\n break;\n };\n ;\n };\n ;\n function updateKwChange(val) {\n input(val);\n h.change(val);\n };\n ;\n function update(dontCheckCurSel) {\n var val = kw();\n if (((((val != curText)) && ((dontCheckCurSel || ((val != curSel))))))) {\n curText = val;\n updateKwChange(val);\n if (ih) {\n ih.reset();\n }\n ;\n ;\n }\n ;\n ;\n };\n ;\n function focusHandler(e) {\n if (ih) {\n ih.reset();\n }\n ;\n ;\n };\n ;\n function blurHandler(e) {\n h.dismiss();\n if (ih) {\n ih.reset();\n }\n ;\n ;\n };\n ;\n function clickHandler(e) {\n h.click(kw());\n if (ih) {\n ih.reset();\n }\n ;\n ;\n };\n ;\n function getSbPlaceHolder() {\n if (!sbPlaceHolder) {\n sbPlaceHolder = $(\"#sbPlaceHolder\");\n }\n ;\n ;\n return sbPlaceHolder;\n };\n ;\n this.keyword = function(k) {\n return kw(k);\n };\n this.userInput = function(k) {\n return input(k);\n };\n this.size = function(nonIAC) {\n var e = sb;\n if (h.newDesign) {\n e = navIssAttach;\n }\n else {\n if (((((!nonIAC && h.iac)) && h.checkIAC()))) {\n e = getSbPlaceHolder();\n }\n ;\n ;\n }\n ;\n ;\n return {\n width: e.JSBNG__outerWidth(),\n height: e.JSBNG__outerHeight()\n };\n };\n this.pos = function(nonIAC) {\n var e = sb;\n if (h.newDesign) {\n e = navIssAttach;\n }\n else {\n if (((((!nonIAC && h.iac)) && h.checkIAC()))) {\n e = getSbPlaceHolder();\n }\n ;\n ;\n }\n ;\n ;\n return e.position();\n };\n this.offset = function(nonIAC) {\n var e = sb;\n if (((((!nonIAC && h.iac)) && h.checkIAC()))) {\n e = getSbPlaceHolder();\n }\n ;\n ;\n return e.offset();\n };\n this.parent = function() {\n return sb.parent();\n };\n this.hasFocus = function() {\n return ((sb.get(0) === JSBNG__document.activeElement));\n };\n this.cursorPos = function() {\n var input = sb.get(0);\n if (((\"selectionStart\" in input))) {\n return input.selectionStart;\n }\n else {\n if (JSBNG__document.selection) {\n input.JSBNG__focus();\n var sel = JSBNG__document.selection.createRange();\n var selLen = JSBNG__document.selection.createRange().text.length;\n sel.moveStart(\"character\", -input.value.length);\n return ((sel.text.length - selLen));\n }\n ;\n ;\n }\n ;\n ;\n return -1;\n };\n this.update = update;\n this.JSBNG__blur = function() {\n sb.JSBNG__blur();\n };\n this.JSBNG__focus = function() {\n var val = sb.val();\n sb.JSBNG__focus().val(\"\").val(val);\n };\n this.keydown = function(h) {\n sb.keydown(h);\n };\n this.click = function(h) {\n sb.click(h);\n };\n this.onFocus = function(h) {\n sb.JSBNG__focus(h);\n };\n this.onBlur = function(h) {\n sb.JSBNG__blur(h);\n };\n this.isImeUsed = function() {\n return imeUsed;\n };\n };\n var AC = function(opts) {\n var version = 1, opt = {\n }, names, values, crtSel = -1, redirectFirstSuggestion = false, crtXcatSel = -1, suggestionList = [], twoPaneSuggestionsList = [], curSize = 0, hideDelayTimerId = null, timer = null, maxCategorySuggestions = 4, categorySuggestions = 0, imeSpacing = 0, suggestRequest = null, first = -1, defaultDropDownVal, insertedDropDownVal, delayedDOMUpdate = false, staticContent, searchBox, keystroke, sugHandler, inlineAutoComplete, JSBNG__searchSuggest, activityAllowed = true, promoList = [], suggType = \"sugg\", newDesign = $(\"#navbar\").hasClass(\"nav-beacon\"), defaults = {\n sb: \"#twotabsearchtextbox\",\n form: \"#navbar form[name='site-search']\",\n dd: \"#searchDropdownBox\",\n cid: \"amazon-search-ui\",\n action: \"\",\n sugPrefix: \"issDiv\",\n sugText: \"Search suggestions\",\n fb: 0,\n xcat: 0,\n twoPane: 0,\n dupElim: 0,\n imeSpacing: 0,\n maxSuggestions: 10\n }, lastKeyPressTime, timeToFirstSuggestion = 0, searchAliasFrom, defaultTimeout = 100, reqCounter = 0;\n ((opts && init(opts)));\n function init(opts) {\n $.extend(opt, defaults, opts);\n newDesign = ((opt.isNavInline && newDesign));\n var src = opt.src;\n staticContent = $.isArray(src), resizeToken = null;\n lookup(opt, \"sb\");\n if (!opt.sb) {\n return;\n }\n ;\n ;\n searchBox = new SB(opt.sb, {\n adjust: move,\n twoPaneArrowKeyHandler: twoPaneArrowKeyHandler,\n hide: hideSuggestions,\n dismiss: dismissSuggestions,\n change: ((staticContent ? update : delayUpdate)),\n submitEnabled: submitEnabled,\n keyPress: keyPress,\n click: clickHandler,\n newDesign: newDesign,\n iac: opt.iac,\n checkIAC: checkIAC,\n opt: opt\n });\n lookup(opt, \"pe\");\n if (opt.iac) {\n inlineAutoComplete = new IAC(searchBox, opt.pe, opt.iac, newDesign);\n }\n ;\n ;\n if (((opt.twoPane == false))) {\n JSBNG__searchSuggest = new SS(searchBox, opt.pe, \"\\u003Cdiv id=\\\"srch_sggst\\\"/\\u003E\", {\n afterCreate: resizeHandler,\n onWindowResize: resizeHandler,\n beforeShow: resizeHandler\n });\n }\n else {\n JSBNG__searchSuggest = new SS(searchBox, opt.pe, \"\\u003Cdiv id=\\\"srch_sggst\\\" class=\\\"two-pane\\\" style=\\\"display:none\\\"/\\u003E\", {\n afterCreate: twoPaneSetPosition,\n beforeHtmlChange: twoPaneDestroyFlyout,\n beforeShow: twoPaneSetPosition,\n afterShow: function(h) {\n twoPaneSetPosition.call(this);\n twoPaneSetXcatPosition.call(this);\n twoPaneBindFlyout.call(this);\n },\n onWindowResize: function() {\n var $this = this;\n resize = function() {\n twoPaneDestroyFlyout.call($this);\n twoPaneBindFlyout.call($this);\n resizeToken = null;\n };\n window.JSBNG__clearTimeout(resizeToken);\n resizeToken = window.JSBNG__setTimeout(resize, 100);\n twoPaneSetPosition.call($this);\n twoPaneSetXcatPosition.call($this);\n }\n });\n }\n ;\n ;\n lookup(opt, \"form\");\n lookup(opt, \"valInput\");\n lookup(opt, \"dd\");\n lookup(opt, \"submit\");\n ddBox = opt.dd;\n opt.protocol = ((((opt.protocol || window.JSBNG__document.JSBNG__location.protocol)) || \"http:\"));\n if (ddBox) {\n defaultDropDownVal = ddBox.val();\n }\n ;\n ;\n if (staticContent) {\n names = src[0];\n values = src[1];\n opt.sb.removeAttr(\"style\");\n }\n else {\n \n }\n ;\n ;\n if (opt.submit) {\n disable(\"disabled\");\n opt.submitImgDef = opt.submit.attr(\"src\");\n opt.submitToggle = ((opt.submitImgDef && opt.submitImg));\n }\n ;\n ;\n if (opt.ime) {\n window.JSBNG__setInterval(function() {\n searchBox.update();\n }, 20);\n }\n ;\n ;\n this.version = version;\n $SearchJS.importEvent(\"navbarPromos\");\n $SearchJS.when(\"navbarPromos\").run(function() {\n promoList = window.navbar.issPromotions(3);\n });\n };\n ;\n function initStatic(sb, form, valInput, submit, submitImg, names, values, noMatch, ime, multiword, dummy0) {\n init({\n form: form,\n ime: ime,\n multiword: multiword,\n noMatch: noMatch,\n sb: sb,\n src: [names,values,],\n submit: submit,\n submitImg: submitImg,\n valInput: valInput\n });\n };\n ;\n function initDynamic(sb, form, dd, service, mkt, aliases, handler, deptText, sugText, sc, dummy0) {\n init({\n aliases: aliases,\n dd: dd,\n deptText: deptText,\n form: form,\n handler: handler,\n ime: ((((mkt == 6)) || ((mkt == 3240)))),\n mkt: mkt,\n sb: sb,\n sc: sc,\n src: service,\n sugText: sugText\n });\n };\n ;\n function lookup(h, k, n) {\n if (n = h[k]) {\n n = $(n);\n if (((n && n.length))) {\n h[k] = n;\n return n;\n }\n ;\n ;\n }\n ;\n ;\n delete h[k];\n };\n ;\n function disable(d) {\n if (opt.submit.prop) {\n opt.submit.prop(\"disabled\", d);\n }\n else {\n opt.submit.attr(\"disabled\", d);\n }\n ;\n ;\n };\n ;\n function move(n) {\n if (((curSize <= 0))) {\n return;\n }\n ;\n ;\n try {\n unhighlightCurrentSuggestion();\n if (((((n > 0)) && ((crtSel >= ((curSize - 1))))))) {\n crtSel = -1;\n }\n else {\n if (((((n < 0)) && ((crtSel < 0))))) {\n crtSel = ((curSize - 1));\n }\n else {\n crtSel += n;\n }\n ;\n ;\n }\n ;\n ;\n highlightCurrentSuggestion(true);\n } catch (e) {\n \n };\n ;\n };\n ;\n function wrap(x, min, max) {\n return ((((x > max)) ? min : ((((x < min)) ? max : x))));\n };\n ;\n function twoPaneArrowKeyHandler(e) {\n var key = e.keyCode, list = twoPaneSuggestionsList, mainLength = list.length, xcatLength = ((((list[crtSel] && list[crtSel].xcat)) ? list[crtSel].xcat.length : 0)), ssNode = JSBNG__searchSuggest.getNode(), n, crtSelId, xcatSelId, firstId = ((opt.sugPrefix + 0));\n if (((((e.ctrlKey || e.altKey)) || e.shiftKey))) {\n return;\n }\n ;\n ;\n switch (key) {\n case 38:\n \n case 40:\n n = ((((key === 38)) ? -1 : 1));\n if (((((crtSel > -1)) && ((crtXcatSel >= 0))))) {\n crtXcatSel = wrap(((crtXcatSel + n)), 0, ((xcatLength - 1)));\n }\n else {\n crtSel = wrap(((crtSel + n)), -1, ((mainLength - 1)));\n }\n ;\n ;\n break;\n case 37:\n \n case 39:\n if (((crtSel <= -1))) {\n return;\n }\n ;\n ;\n if (((((((key === 39)) && ((crtXcatSel <= -1)))) && ((xcatLength > 0))))) {\n crtXcatSel = 0;\n }\n else {\n if (((key === 37))) {\n crtXcatSel = -1;\n }\n ;\n ;\n }\n ;\n ;\n break;\n default:\n return;\n };\n ;\n crtSelId = ((opt.sugPrefix + crtSel));\n xcatSelId = ((((((opt.sugPrefix + crtSel)) + \"-\")) + crtXcatSel));\n ssNode.JSBNG__find(((((\"#\" + opt.sugPrefix)) + \"0\"))).removeClass(\"xcat-arrow-hint\");\n ssNode.JSBNG__find(\".main-suggestion\").each(function(i, el) {\n var e = $(el);\n if (((el.id === crtSelId))) {\n e.addClass(\"suggest_link_over\");\n ssNode.JSBNG__find(((\"#xcatPanel-\" + i))).show().JSBNG__find(\".xcat-suggestion\").each(function(i, el) {\n var e = $(el);\n if (((el.id !== xcatSelId))) {\n e.removeClass(\"suggest_link_over\");\n }\n else {\n e.addClass(\"suggest_link_over\");\n }\n ;\n ;\n });\n }\n else {\n if (((((crtSel <= -1)) && ((el.id === firstId))))) {\n e.removeClass(\"suggest_link_over\");\n ssNode.JSBNG__find(((((\"#\" + opt.sugPrefix)) + \"0\"))).addClass(\"xcat-arrow-hint\");\n ssNode.JSBNG__find(\"#xcatPanel-0\").show().JSBNG__find(\".xcat-suggestion\").removeClass(\"suggest_link_over\");\n }\n else {\n e.removeClass(\"suggest_link_over\");\n ssNode.JSBNG__find(((\"#xcatPanel-\" + i))).hide();\n }\n ;\n ;\n }\n ;\n ;\n });\n updateCrtSuggestion();\n e.preventDefault();\n return false;\n };\n ;\n function clickHandler(kw) {\n if (!kw.length) {\n displayPromotions();\n }\n ;\n ;\n };\n ;\n function hideSuggestions() {\n ((!opt.ime && hideSuggestionsDiv()));\n };\n ;\n function dismissSuggestions() {\n if (JSBNG__searchSuggest.visible()) {\n hideDelayTimerId = JSBNG__setTimeout(function() {\n return (function() {\n hideDelayTimerId = null;\n hideSuggestionsDiv();\n });\n }(), 300);\n crtSel = -1;\n if (((suggType == \"sugg\"))) {\n updateCrtSuggestion();\n }\n ;\n ;\n return false;\n }\n ;\n ;\n return true;\n };\n ;\n function update(kw) {\n suggestionList = [];\n twoPaneSuggestionsList = [];\n if (!kw.length) {\n displayPromotions();\n if (inlineAutoComplete) {\n inlineAutoComplete.clear();\n }\n ;\n ;\n }\n else {\n first = -1;\n if (opt.multiword) {\n findSeq();\n }\n else {\n findBin();\n }\n ;\n ;\n curSize = suggestionList.length;\n displaySuggestions(kw);\n checkForExactMatch();\n checkForManualOverride();\n }\n ;\n ;\n timer = null;\n crtSel = -1;\n crtXcatSel = -1;\n };\n ;\n function delayUpdate(kw) {\n var then = now();\n if (timer) {\n JSBNG__clearTimeout(timer);\n timer = null;\n }\n ;\n ;\n timer = JSBNG__setTimeout(function() {\n if (inlineAutoComplete) {\n inlineAutoComplete.clear();\n }\n ;\n ;\n return (function() {\n if (((!kw || !kw.length))) {\n displayPromotions();\n }\n else {\n ((opt.imeEnh ? searchJSONSuggest(kw) : searchJSONSuggest()));\n }\n ;\n ;\n timer = null;\n crtSel = -1;\n crtXcatSel = -1;\n });\n }(), defaultTimeout);\n };\n ;\n function submitEnabled() {\n if (((((suggType == \"promo\")) && ((crtSel > -1))))) {\n JSBNG__document.JSBNG__location.href = promoList[crtSel].href;\n return false;\n }\n ;\n ;\n var s = opt.submit;\n if (s) {\n return ((s.prop ? !s.prop(\"disabled\") : !s.attr(\"disabled\")));\n }\n ;\n ;\n };\n ;\n function keyPress(key) {\n ((keystroke && keystroke(key)));\n };\n ;\n function bindSubmit(handler) {\n opt.form.submit(handler);\n };\n ;\n function bindKeypress(handler) {\n keystroke = handler;\n };\n ;\n function bindSuggest(handler) {\n sugHandler = handler;\n };\n ;\n function normalize(s) {\n if (opt.normalize) {\n return opt.normalize(s);\n }\n else {\n return s.toLowerCase();\n }\n ;\n ;\n };\n ;\n function findBin() {\n var low = 0, high = ((names.length - 1)), mid = -1, dataPrefix = \"\", crtPrefix = normalize(keyword()), len = crtPrefix.length;\n while (((low <= high))) {\n mid = Math.floor(((((low + high)) / 2)));\n dataPrefix = normalize(names[mid]).substr(0, len);\n if (((dataPrefix < crtPrefix))) {\n low = ((mid + 1));\n }\n else {\n high = ((mid - 1));\n if (((dataPrefix == crtPrefix))) {\n first = mid;\n }\n ;\n ;\n }\n ;\n ;\n };\n ;\n if (((first != -1))) {\n var i = first, n;\n do {\n suggestionList.push({\n keyword: names[i],\n i: i\n });\n ++i;\n } while (((((((suggestionList.length < opt.maxSuggestions)) && (n = names[i]))) && !normalize(n).indexOf(crtPrefix))));\n }\n ;\n ;\n };\n ;\n function findSeq() {\n var crtPrefix = normalize(keyword()), rexp = new RegExp(((\"(^|(?:\\\\s))\" + crtPrefix)), \"i\"), i = 0, len = names.length, n;\n for (; ((((i < len)) && ((suggestionList.length < opt.maxSuggestions)))); i++) {\n n = names[i];\n if (normalize(n).match(rexp)) {\n suggestionList.push({\n keyword: n,\n i: i\n });\n if (((first == -1))) {\n first = i;\n }\n ;\n ;\n }\n ;\n ;\n };\n ;\n };\n ;\n function checkForExactMatch() {\n var state = \"disabled\";\n if (curSize) {\n var sg = normalize(suggestionList[0].keyword), kw = normalize(keyword());\n if (((((sg.length == kw.length)) && !getPrefixPos(sg, kw)))) {\n updateForm(first);\n state = \"\";\n }\n ;\n ;\n }\n ;\n ;\n disable(state);\n };\n ;\n function checkForManualOverride() {\n if (((opt.manualOverride && !curSize))) {\n var kw = keyword();\n var url = opt.manualOverride(kw);\n if (((url && url.length))) {\n updateWholeForm(url);\n disable(\"\");\n }\n ;\n ;\n }\n ;\n ;\n };\n ;\n function displayPromotions() {\n if (((((!newDesign || !promoList)) || ((promoList.length == 0))))) {\n hideSuggestionsDiv();\n hideNoMatches();\n return;\n }\n ;\n ;\n curSize = promoList.length;\n suggType = \"promo\";\n JSBNG__searchSuggest.html(\"\");\n hideNoMatches();\n JSBNG__searchSuggest.show();\n h = \"\\u003Cul class=\\\"promo_list\\\"\\u003E\";\n for (i = 0; ((i < curSize)); i++) {\n p = promoList[i];\n h += ((((((((((\"\\u003Cli id=\\\"\" + opt.sugPrefix)) + i)) + \"\\\" onclick=\\\"document.JSBNG__location.href='\")) + p.href)) + \"'\\\"\\u003E\"));\n h += ((((\"\\u003Cdiv class=\\\"promo_image\\\" style=\\\"background-image: url('\" + p.image)) + \"');\\\"\\u003E\\u003C/div\\u003E\"));\n h += ((((\"\\u003Cdiv class=\\\"promo_cat\\\"\\u003E\" + p.category)) + \"\\u003C/div\\u003E\"));\n h += ((((\"\\u003Cdiv class=\\\"promo_title\\\"\\u003E\" + p.title)) + \"\\u003C/div\\u003E\"));\n h += \"\\u003C/li\\u003E\";\n };\n ;\n h += \"\\u003C/ul\\u003E\";\n JSBNG__searchSuggest.html(h);\n window.navbar.logImpression(\"iss\");\n for (i = 0; ((i < curSize)); ++i) {\n $(((((\"#\" + opt.sugPrefix)) + i))).mouseover(suggestOver).mouseout(suggestOut);\n };\n ;\n };\n ;\n function displaySuggestions(crtPrefix) {\n var sugDivId, lineText, line, sPrefix = opt.sugPrefix, prefix = ((\"#\" + sPrefix)), h = \"\", imeSpacing = ((opt.imeSpacing && searchBox.isImeUsed())), currAlias = ((searchAlias() || ((opt.deepNodeISS && opt.deepNodeISS.searchAliasAccessor())))), suggType = \"sugg\";\n JSBNG__searchSuggest.html(\"\");\n if (((curSize > 0))) {\n hideNoMatches();\n JSBNG__searchSuggest.show();\n if (((!staticContent && !newDesign))) {\n h += ((((\"\\u003Cdiv id=\\\"sugdivhdr\\\" align=\\\"right\\\"\\u003E \" + opt.sugText)) + \"\\u003C/div\\u003E\"));\n }\n ;\n ;\n if (((opt.iac && inlineAutoComplete.displayable()))) {\n var sg = normalize(suggestionList[0].keyword), originalKw = opt.sb.val(), normalizedKw = normalize(keyword());\n if (((((((normalizedKw.length > 0)) && ((sg != normalizedKw)))) && ((sg.indexOf(normalizedKw) == 0))))) {\n inlineAutoComplete.val(((originalKw + sg.substring(normalizedKw.length))));\n }\n ;\n ;\n }\n ;\n ;\n }\n else {\n showNoMatches();\n }\n ;\n ;\n for (i = 0; ((i < curSize)); i++) {\n line = suggestionList[i];\n sugDivId = ((sPrefix + i));\n if (((((((line.alias && ((line.alias == currAlias)))) && opt.deepNodeISS)) && opt.deepNodeISS.showDeepNodeCorr))) {\n lineText = getFormattedCategoryLine(line, crtPrefix);\n }\n else {\n if (((line.alias && ((line.alias != currAlias))))) {\n lineText = getFormattedCategoryLine(line, crtPrefix);\n }\n else {\n lineText = getFormattedSuggestionLine(line, crtPrefix);\n }\n ;\n ;\n }\n ;\n ;\n var className = \"suggest_link\";\n if (((((i == 0)) && imeSpacing))) {\n className += \" imeSpacing\";\n }\n ;\n ;\n h += ((((((((((((\"\\u003Cdiv id=\\\"\" + sugDivId)) + \"\\\" class=\\\"\")) + className)) + \"\\\"\\u003E\")) + lineText)) + \"\\u003C/div\\u003E\"));\n if (((((enableSeparateCategorySuggestion() && ((i == categorySuggestions)))) && ((i < ((curSize - 1))))))) {\n h += \"\\u003Cdiv class=\\\"sx_line_holder\\\" /\\u003E\";\n }\n ;\n ;\n };\n ;\n if (((((curSize > 0)) && !newDesign))) {\n h += \"\\u003Cdiv id=\\\"sugdivhdr2\\\" align=\\\"right\\\"\\u003E \\u003C/div\\u003E\";\n }\n ;\n ;\n ((h && JSBNG__searchSuggest.html(h)));\n if (((((timeToFirstSuggestion == 0)) && ((suggestionList.length > 0))))) {\n recordTimeToFirstSuggestion();\n }\n ;\n ;\n if (ddBox) {\n defaultDropDownVal = ddBox.val();\n }\n ;\n ;\n searchAliasFrom = extractSearchAlias(defaultDropDownVal);\n for (i = 0; ((i < curSize)); ++i) {\n $(((prefix + i))).mouseover(suggestOver).mouseout(suggestOut).click(setSearchByIndex);\n };\n ;\n };\n ;\n function displayTwoPaneSuggestions(crtPrefix) {\n var len = crtPrefix.length, i, j, k, sg, isIe6 = (($.browser.msie && (($.browser.version == \"6.0\")))), targetOffset, sb = [], a = function() {\n $.each(arguments, function(i, t) {\n sb.push(t);\n });\n }, sgLen = twoPaneSuggestionsList.length, xcatLen, maxXcatLen = 0, imeSpacing = ((opt.imeSpacing && searchBox.isImeUsed())), ssNode;\n $($.JSBNG__find(\".main-suggestion:first\")).amznFlyoutIntent(\"destroy\");\n if (((curSize > 0))) {\n hideNoMatches();\n if (((opt.iac && inlineAutoComplete.displayable()))) {\n var sg = normalize(twoPaneSuggestionsList[0].keyword), originalKw = opt.sb.val(), normalizedKw = normalize(keyword());\n if (((((((normalizedKw.length > 0)) && ((sg != normalizedKw)))) && ((sg.indexOf(normalizedKw) == 0))))) {\n inlineAutoComplete.val(((originalKw + sg.substring(normalizedKw.length))));\n }\n ;\n ;\n }\n ;\n ;\n a(\"\\u003Ctable id=\\\"two-pane-table\\\" class=\\\"\", ((isIe6 ? \"nav_ie6\" : \"nav_exposed_skin\")), \"\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\"\\u003E\", \"\\u003Ctr\\u003E\", \"\\u003Ctd class=\\\"iss_pop_tl nav_pop_h\\\"\\u003E\\u003Cdiv class=\\\"nav_pop_lr_min\\\"\\u003E\\u003C/div\\u003E\\u003C/td\\u003E\", \"\\u003Ctd style=\\\"background-color: #fff;\\\" colspan=\\\"2\\\"\\u003E\\u003C/td\\u003E\", \"\\u003Ctd class=\\\"iss_pop_tr nav_pop_h\\\"\\u003E\\u003C/td\\u003E\", \"\\u003C/tr\\u003E\", \"\\u003Ctr\\u003E\", \"\\u003Ctd class=\\\"nav_pop_cl nav_pop_v\\\"\\u003E\\u003Cdiv class=\\\"nav_pop_lr_min\\\"\\u003E\\u003C/div\\u003E\\u003C/td\\u003E\");\n var className = \"main-suggestions\";\n if (imeSpacing) {\n className += \" imePadding\";\n }\n ;\n ;\n a(((((\"\\u003Ctd class=\\\"\" + className)) + \"\\\" \\u003E\")));\n for (i = 0; ((i < sgLen)); i++) {\n a(\"\\u003Cdiv id=\\\"\", opt.sugPrefix, i, \"\\\" class=\\\"suggest_link main-suggestion\");\n if (((i === 0))) {\n a(\" xcat-arrow-hint\");\n }\n ;\n ;\n a(\"\\\"\\u003E\\u003Cspan\\u003E\");\n sg = twoPaneSuggestionsList[i];\n xcatLen = sg.xcat.length;\n if (xcatLen) {\n a(\"\\u003Cspan class=\\\"nav-sprite nav-cat-indicator xcat-arrow\\\"\\u003E\\u003C/span\\u003E\");\n if (((maxXcatLen < xcatLen))) {\n maxXcatLen = xcatLen;\n }\n ;\n ;\n }\n ;\n ;\n a(getFormattedSuggestionLine(sg, crtPrefix), \"\\u003C/span\\u003E\\u003C/div\\u003E\");\n };\n ;\n for (i = 0; ((i < ((maxXcatLen - sgLen)))); i++) {\n a(\"\\u003Cdiv class=\\\"iss-spacer-row\\\"\\u003E \\u003C/div\\u003E\");\n };\n ;\n var className = \"xcat-suggestions\";\n if (imeSpacing) {\n className += \" imePadding\";\n }\n ;\n ;\n a(((((\"\\u003C/td\\u003E\\u003Ctd class=\\\"\" + className)) + \"\\\"\\u003E\")));\n for (i = 0; ((i < sgLen)); i++) {\n sg = twoPaneSuggestionsList[i];\n a(\"\\u003Cdiv id=\\\"xcatPanel-\", i, \"\\\" class=\\\"xcat-panel\\\"\");\n if (((i > 0))) {\n a(\" style=\\\"display:none\\\"\");\n }\n ;\n ;\n a(\"\\u003E\");\n for (j = 0; ((j < sg.xcat.length)); j++) {\n a(\"\\u003Cdiv id=\\\"\", opt.sugPrefix, i, \"-\", j, \"\\\" class=\\\"suggest_link xcat-suggestion\", ((((j === 0)) ? \" xcat-suggestion-hint\" : \"\")), \"\\\"\\u003E\", sg.xcat[j].categoryName, \"\\u003C/div\\u003E\");\n };\n ;\n a(\"\\u003C/div\\u003E\");\n };\n ;\n a(\"\\u003C/td\\u003E\", \"\\u003Ctd class=\\\"nav_pop_cr nav_pop_v\\\"\\u003E\\u003C/td\\u003E\", \"\\u003C/tr\\u003E\", \"\\u003Ctr\\u003E\", \"\\u003Ctd class=\\\"nav_pop_bl nav_pop_v\\\"\\u003E\\u003C/td\\u003E\", \"\\u003Ctd colspan=\\\"2\\\" class=\\\"nav_pop_bc nav_pop_h\\\"\\u003E\\u003C/td\\u003E\", \"\\u003Ctd class=\\\"nav_pop_br nav_pop_v\\\"\\u003E\\u003C/td\\u003E\", \"\\u003C/tr\\u003E\", \"\\u003C/table\\u003E\");\n }\n else {\n showNoMatches();\n }\n ;\n ;\n JSBNG__searchSuggest.html(sb.join(\"\"));\n JSBNG__searchSuggest.show();\n if (((((timeToFirstSuggestion == 0)) && ((suggestionList.length > 0))))) {\n recordTimeToFirstSuggestion();\n }\n ;\n ;\n if (ddBox) {\n defaultDropDownVal = ddBox.val();\n }\n ;\n ;\n searchAliasFrom = extractSearchAlias(defaultDropDownVal);\n ssNode = JSBNG__searchSuggest.getNode();\n ssNode.JSBNG__find(\".main-suggestion\").bind(\"click\", twoPaneSearchByIndex);\n ssNode.JSBNG__find(\".xcat-suggestion\").bind(\"click\", twoPaneSearchByIndex).bind(\"mouseover\", twoPaneSuggestOver).bind(\"mouseout\", twoPaneXcatSuggestOut);\n };\n ;\n function recordTimeToFirstSuggestion() {\n var timeNow = now();\n timeToFirstSuggestion = ((((timeNow - lastKeyPressTime)) + defaultTimeout));\n };\n ;\n function showNoMatches() {\n if (opt.noMatch) {\n var nmDiv = $(((\"#\" + opt.noMatch)));\n JSBNG__searchSuggest.html(\"\");\n JSBNG__searchSuggest.getNode().append(nmDiv.clone().attr(\"class\", \"suggest_link suggest_nm\").css({\n display: \"block\"\n }));\n JSBNG__searchSuggest.show();\n ((opt.submitToggle && opt.submit.attr(\"src\", opt.submitImg)));\n }\n else {\n hideSuggestionsDiv();\n }\n ;\n ;\n };\n ;\n function hideNoMatches() {\n if (opt.noMatch) {\n $(((\"#\" + opt.noMatch))).hide();\n ((opt.submitToggle && opt.submit.attr(\"src\", opt.submitImgDef)));\n }\n ;\n ;\n };\n ;\n function setSearchByIndex() {\n var divId = this.id;\n crtSel = parseInt(divId.substr(6), 10);\n updateCrtSuggestion();\n JSBNG__searchSuggest.hide();\n if (opt.iac) {\n inlineAutoComplete.clear();\n }\n ;\n ;\n if (!delayedDOMUpdate) {\n opt.form.submit();\n }\n else {\n window.JSBNG__setTimeout(function() {\n opt.form.submit();\n }, 10);\n }\n ;\n ;\n };\n ;\n function twoPaneSearchByIndex(JSBNG__event) {\n var divId = this.id, prefixLen = opt.sugPrefix.length;\n crtSel = parseInt(divId.substr(prefixLen), 10);\n crtXcatSel = ((((divId.length === ((prefixLen + 1)))) ? -1 : parseInt(divId.substr(((prefixLen + 2)), 1), 10)));\n ((JSBNG__event && JSBNG__event.stopPropagation()));\n updateCrtSuggestion();\n $($.JSBNG__find(\".main-suggestion:first\")).amznFlyoutIntent(\"destroy\");\n JSBNG__searchSuggest.hide();\n if (opt.iac) {\n inlineAutoComplete.clear();\n }\n ;\n ;\n if (!delayedDOMUpdate) {\n opt.form.submit();\n }\n else {\n window.JSBNG__setTimeout(function() {\n opt.form.submit();\n }, 10);\n }\n ;\n ;\n };\n ;\n function updateCrtSuggestion() {\n var alias, categoryName, sg;\n if (((crtSel >= 0))) {\n if (((opt.twoPane === 1))) {\n sg = ((((crtXcatSel >= 0)) ? twoPaneSuggestionsList[crtSel].xcat[crtXcatSel] : twoPaneSuggestionsList[crtSel]));\n }\n else {\n if (((redirectFirstSuggestion && ((crtSel == 0))))) {\n sg = suggestionList[1];\n }\n else {\n sg = suggestionList[crtSel];\n }\n ;\n ;\n }\n ;\n ;\n keyword(sg.keyword);\n alias = sg.alias;\n categoryName = sg.categoryName;\n }\n ;\n ;\n if (staticContent) {\n if (((crtSel >= 0))) {\n updateForm(sg.i);\n disable(\"\");\n }\n else {\n checkForExactMatch();\n checkForManualOverride();\n }\n ;\n ;\n }\n else {\n updateCategoryDropDown(alias, categoryName);\n setDynamicSearch(sg);\n }\n ;\n ;\n };\n ;\n ((opt.form && opt.form.submit(function() {\n var currentKeyword = normalize(keyword()), refTag = \"ref=nb_sb_noss\", i = 0;\n if (inlineAutoComplete) {\n inlineAutoComplete.clear();\n }\n ;\n ;\n var iacType = ((opt.iac ? inlineAutoComplete.type() : 0));\n if (iacType) {\n refTag = ((\"ref=nb_sb_iac_\" + iacType));\n }\n else {\n if (((crtSel > -1))) {\n return;\n }\n ;\n ;\n var sgList = ((((opt.twoPane === 1)) ? twoPaneSuggestionsList : suggestionList));\n if (((sgList.length > 0))) {\n refTag = \"ref=nb_sb_noss_2\";\n while (((i < sgList.length))) {\n if (((normalize(sgList[i].keyword) == currentKeyword))) {\n refTag = \"ref=nb_sb_noss_1\";\n break;\n }\n ;\n ;\n i++;\n };\n ;\n }\n ;\n ;\n }\n ;\n ;\n opt.form.attr(\"action\", opt.form.attr(\"action\").replace(refre, refTag));\n })));\n function setDynamicSearch(sg) {\n var prefixElems = $(\"#issprefix\");\n if (sg) {\n var issMode, kw = searchBox.userInput();\n if (isFallbackSuggestion(sg)) {\n issMode = \"ss_fb\";\n }\n else {\n if (sg.alias) {\n issMode = \"ss_c\";\n }\n else {\n if (((opt.sc && isSpellCorrection(sg)))) {\n issMode = \"ss_sc\";\n }\n else {\n issMode = \"ss_i\";\n }\n ;\n ;\n }\n ;\n ;\n }\n ;\n ;\n setSearchFormReftag(opt.form, null, issMode, sg, kw.length);\n kw = ((((((((kw + \",\")) + searchAliasFrom)) + \",\")) + timeToFirstSuggestion));\n if (prefixElems.length) {\n prefixElems.attr(\"value\", kw);\n }\n else {\n input(opt.form, \"issprefix\", \"sprefix\", kw);\n }\n ;\n ;\n }\n else {\n prefixElems.remove();\n }\n ;\n ;\n };\n ;\n function twoPaneSuggestOver() {\n var len = opt.sugPrefix.length, id = this.id, crtSelId = ((((\"#\" + opt.sugPrefix)) + crtSel)), xcatSelId, nextSel = parseInt(id.substr(len, 1), 10);\n this.style.cursor = \"pointer\";\n $(\".xcat-panel\").hide();\n if (((nextSel !== crtSel))) {\n $(crtSelId).removeClass(\"suggest_link_over\");\n }\n ;\n ;\n $(((((\"#\" + opt.sugPrefix)) + \"0\"))).removeClass(\"xcat-arrow-hint\");\n crtSel = nextSel;\n crtXcatSel = ((((id.length === ((len + 1)))) ? -1 : parseInt(id.substr(((len + 2)), 1), 10)));\n crtSelId = ((((\"#\" + opt.sugPrefix)) + crtSel));\n $(crtSelId).addClass(\"suggest_link_over\");\n $(((\"#xcatPanel-\" + crtSel))).show();\n if (((crtXcatSel > -1))) {\n $(((((((((\"#\" + opt.sugPrefix)) + crtSel)) + \"-\")) + crtXcatSel))).addClass(\"suggest_link_over\");\n }\n ;\n ;\n };\n ;\n function twoPaneSuggestOut() {\n $(this).removeClass(\"suggest_link_over\");\n };\n ;\n function twoPaneXcatSuggestOut() {\n unhighlightSuggestion($(this));\n };\n ;\n function resizeHandler() {\n var p = searchBox.pos(), d = searchBox.size();\n this.css({\n width: d.width,\n JSBNG__top: ((p.JSBNG__top + d.height)),\n left: p.left\n });\n };\n ;\n function twoPaneBindFlyout() {\n JSBNG__searchSuggest.getNode().JSBNG__find(\".main-suggestion\").amznFlyoutIntent({\n onMouseOver: twoPaneSuggestOver,\n getTarget: function() {\n return $(\"#two-pane-table .xcat-suggestions:first\");\n }\n });\n };\n ;\n function twoPaneDestroyFlyout() {\n var mainSgs = JSBNG__searchSuggest.getNode().JSBNG__find(\".main-suggestion\").get(0);\n if (mainSgs) {\n $(mainSgs).amznFlyoutIntent(\"destroy\");\n }\n ;\n ;\n };\n ;\n function twoPaneSetPosition() {\n var p = searchBox.pos(), d = searchBox.size(), minWidth = 649;\n this.css({\n width: Math.max(((d.width + 72)), minWidth),\n JSBNG__top: ((((p.JSBNG__top + d.height)) + 1)),\n left: ((p.left - 40))\n });\n };\n ;\n function twoPaneSetXcatPosition() {\n var maxH = this.JSBNG__find(\".main-suggestions:first\").height(), th = this.JSBNG__find(((((\"#\" + opt.sugPrefix)) + \"0\"))).JSBNG__outerHeight(), sgLen = twoPaneSuggestionsList.length, i, h, xb, xh, off;\n for (i = 1; ((i < sgLen)); i++) {\n h = this.JSBNG__find(((((\"#\" + opt.sugPrefix)) + i))).JSBNG__outerHeight();\n xb = this.JSBNG__find(((\"#xcatPanel-\" + i)));\n off = th;\n if (xb) {\n xb = $(xb);\n xh = xb.JSBNG__outerHeight();\n if (((((off + xh)) > maxH))) {\n off = ((maxH - xh));\n }\n ;\n ;\n xb.css({\n \"margin-top\": off\n });\n }\n ;\n ;\n th += h;\n };\n ;\n };\n ;\n function suggestOver(JSBNG__event) {\n this.style.cursor = ((((newDesign == true)) ? \"pointer\" : \"default\"));\n unhighlightCurrentSuggestion();\n crtSel = parseInt(this.id.substr(opt.sugPrefix.length), 10);\n highlightCurrentSuggestion(false);\n };\n ;\n function suggestOut(el, JSBNG__event) {\n unhighlightSuggestion($(this));\n crtSel = -1;\n };\n ;\n function highlightSuggestion(suggestion) {\n suggestion.addClass(\"suggest_link_over\");\n };\n ;\n function unhighlightSuggestion(suggestion) {\n suggestion.removeClass(\"suggest_link_over\");\n };\n ;\n function highlightCurrentSuggestion(updateSearchBox) {\n if (((suggType == \"sugg\"))) {\n ((updateSearchBox && updateCrtSuggestion()));\n }\n ;\n ;\n highlightSuggestion($(((((\"#\" + opt.sugPrefix)) + crtSel))));\n };\n ;\n function unhighlightCurrentSuggestion() {\n unhighlightSuggestion($(((((\"#\" + opt.sugPrefix)) + crtSel))));\n };\n ;\n function updateCategoryDropDown(alias, categoryName) {\n var dd = ddBox, toRemove, val;\n if (!dd) {\n return;\n }\n ;\n ;\n val = ((alias ? ((\"search-alias=\" + alias)) : defaultDropDownVal));\n toRemove = ((((((val == insertedDropDownVal)) || ((defaultDropDownVal == insertedDropDownVal)))) ? null : insertedDropDownVal));\n if (alias) {\n var sel = findOption(dd, val);\n insertedDropDownVal = null;\n if (!sel.length) {\n dd.append(option(val, categoryName));\n insertedDropDownVal = val;\n }\n ;\n ;\n }\n ;\n ;\n try {\n delayedDOMUpdate = false;\n (($(dcs).length && changeDropdownSelection(val, categoryName, true)));\n dd.val(val);\n } catch (e) {\n delayedDOMUpdate = true;\n };\n ;\n ((toRemove && findOption(dd, toRemove).remove()));\n };\n ;\n function getPrefixPos(str, substr) {\n if (opt.multiword) {\n return getPrefixPosMultiWord(str, substr);\n }\n ;\n ;\n return normalize(str).indexOf(normalize(substr));\n };\n ;\n function getPrefixPosMultiWord(str, substr) {\n var p = normalize(str).search(new RegExp(((\"(^|(?:\\\\s))\" + normalize(substr))), \"i\"));\n return ((((p <= 0)) ? p : ((p + 1))));\n };\n ;\n function getFormattedSuggestionLine(curSuggestionLine, crtPrefix) {\n var kw = curSuggestionLine.keyword, start = getPrefixPos(kw, crtPrefix), len;\n if (((start !== -1))) {\n len = crtPrefix.length;\n kw = [kw.substr(0, start),\"\\u003Cb\\u003E\",kw.substr(start, len),\"\\u003C/b\\u003E\",kw.substr(((start + len))),].join(\"\");\n }\n ;\n ;\n return kw;\n };\n ;\n function getFormattedCategoryLine(categoryLine, crtPrefix) {\n var formattedCategoryLine, formattedCategoryName;\n if (opt.scs) {\n formattedCategoryLine = \"\\u003Cspan class=\\\"suggest_category_without_keyword\\\"\\u003E\";\n formattedCategoryName = ((((\"\\u003Cspan class=\\\"sx_category_name_highlight\\\"\\u003E\" + categoryLine.categoryName)) + \"\\u003C/span\\u003E\"));\n }\n else {\n formattedCategoryLine = ((getFormattedSuggestionLine(categoryLine, crtPrefix) + \" \\u003Cspan class=\\\"suggest_category\\\"\\u003E\"));\n formattedCategoryName = categoryLine.categoryName;\n }\n ;\n ;\n return ((opt.deptText ? ((((formattedCategoryLine + opt.deptText.replace(deptre, formattedCategoryName))) + \"\\u003C/span\\u003E\")) : categoryLine.categoryName));\n };\n ;\n function hideSuggestionsDiv() {\n if (((((suggType == \"sugg\")) && suggestRequest))) {\n suggestRequest.cleanup();\n suggestRequest = null;\n }\n ;\n ;\n curSize = 0;\n $($.JSBNG__find(\".main-suggestion:first\")).amznFlyoutIntent(\"destroy\");\n JSBNG__searchSuggest.hide();\n crtSel = -1;\n crtXcatSel = -1;\n };\n ;\n function updateWholeForm(v) {\n var fp = getFormParams(v);\n cleanForm();\n populateForm(fp);\n };\n ;\n function updateForm(index) {\n var v = values[index];\n if (((opt.valInput && opt.valInput.length))) {\n opt.valInput.attr(\"value\", v);\n }\n else {\n updateWholeForm(((v || JSBNG__location.href)));\n }\n ;\n ;\n };\n ;\n function getFormParams(url) {\n var splitUrl = url.split(\"?\"), query = ((((splitUrl.length > 1)) ? splitUrl[1] : undefined)), params = ((query ? query.split(\"&\") : [])), i = params.length, pair;\n while (((i-- > 0))) {\n pair = params[i].split(\"=\");\n params[i] = {\n JSBNG__name: pair[0],\n value: pair[1].replace(slashre, \" \")\n };\n };\n ;\n return {\n uri: splitUrl[0],\n formParams: params\n };\n };\n ;\n function cleanForm() {\n opt.form.JSBNG__find(\".frmDynamic\").remove();\n };\n ;\n function populateForm(formData) {\n opt.form.attr(\"action\", formData.uri);\n for (var i = 0; ((i < formData.formParams.length)); i++) {\n var param = formData.formParams[i];\n input(opt.form, \"frmDynamic\", param.JSBNG__name, unescape(decodeURIComponent(param.value)), 1);\n };\n ;\n };\n ;\n function keyword(k) {\n return searchBox.keyword(k);\n };\n ;\n function searchAlias(alias) {\n if (alias) {\n changeDropdownSelection(alias);\n }\n else {\n return extractSearchAlias(ddBox.attr(\"value\"));\n }\n ;\n ;\n };\n ;\n function extractSearchAlias(alias) {\n var aliasName = alias.match(aliasre);\n return ((aliasName ? aliasName[1] : null));\n };\n ;\n function searchNode() {\n var nodeName = ddBox.attr(\"value\").match(nodere);\n return ((nodeName ? nodeName[1] : null));\n };\n ;\n function merchant() {\n var merchant = ddBox.attr(\"value\").match(merchantre);\n return ((merchant ? merchant[1] : null));\n };\n ;\n function suggestions() {\n return suggestionList;\n };\n ;\n function supportedSearchAlias(alias) {\n var a = opt.aliases;\n return ((a && ((arrayIndexOf(a, alias) >= 0))));\n };\n ;\n function isSpellCorrection(sg) {\n return ((((sg && sg.sc)) ? true : false));\n };\n ;\n function isFallbackSuggestion(sg) {\n return ((((sg && sg.source)) && ((sg.source[0] == \"fb\"))));\n };\n ;\n function combineSuggestions(crtSuggestions, extraData) {\n var xcatSuggestions, m, n = crtSuggestions.length, combinedList = [], i = 0, j = 0, sg, cs, s, si = 0, deepNodeAlias = ((((((!searchAlias() && opt.deepNodeISS)) && !opt.deepNodeISS.stayInDeepNode)) && opt.deepNodeISS.searchAliasAccessor())), deepNodeCatName = ((deepNodeAlias && getDDCatName(deepNodeAlias)));\n categorySuggestions = 0;\n redirectFirstSuggestion = false;\n while (((((combinedList.length < opt.maxSuggestions)) && ((i < n))))) {\n sg = {\n keyword: crtSuggestions[i],\n sc: isSpellCorrection(extraData[i]),\n sgIndex: i\n };\n if (((deepNodeAlias && deepNodeCatName))) {\n sg.alias = deepNodeAlias;\n sg.categoryName = deepNodeCatName;\n }\n ;\n ;\n combinedList.push(sg);\n xcatSuggestions = ((((((extraData && extraData.length)) ? extraData[i].nodes : [])) || []));\n m = xcatSuggestions.length;\n if (m) {\n s = extraData[i].source;\n if (((s && s.length))) {\n for (si = 0; ((si < s.length)); si++) {\n if (((s[si] === \"fb\"))) {\n if (((((n == 1)) && opt.scs))) {\n redirectFirstSuggestion = true;\n }\n else {\n combinedList.pop();\n }\n ;\n ;\n break;\n }\n ;\n ;\n };\n ;\n }\n ;\n ;\n j = 0;\n while (((((((j < m)) && ((j < maxCategorySuggestions)))) && ((combinedList.length < opt.maxSuggestions))))) {\n cs = xcatSuggestions[j];\n sg = {\n keyword: crtSuggestions[i],\n sc: isSpellCorrection(extraData[i]),\n source: extraData[i].source,\n alias: cs.alias,\n categoryName: cs.JSBNG__name,\n sgIndex: i,\n xcatIndex: j\n };\n combinedList.push(sg);\n ++j;\n ++categorySuggestions;\n };\n ;\n }\n ;\n ;\n if (((((((i == 0)) && enableSeparateCategorySuggestion())) && !redirectFirstSuggestion))) {\n combinedList.push(combinedList[0]);\n opt.maxSuggestions += 1;\n }\n ;\n ;\n ++i;\n };\n ;\n curSize = combinedList.length;\n return combinedList;\n };\n ;\n function enableSeparateCategorySuggestion() {\n return ((opt.scs && ((categorySuggestions > 0))));\n };\n ;\n function getDDCatName(alias) {\n if (!alias) {\n return $(ddBox.children()[0]).text();\n }\n ;\n ;\n var catName = findOption(ddBox, ((\"search-alias=\" + alias)));\n if (((catName && catName.length))) {\n return catName.text();\n }\n else {\n return undefined;\n }\n ;\n ;\n };\n ;\n function build2PaneSuggestions(crtSuggestions, extraData) {\n var xcatSuggestions, xcat = [], m, n = crtSuggestions.length, combinedList = [], i = 0, j = 0, sg, cs, s, si = 0, currAlias = searchAlias(), currCatName = getDDCatName(currAlias), deepNodeAlias = ((((((!currAlias && opt.deepNodeISS)) && !opt.deepNodeISS.stayInDeepNode)) && opt.deepNodeISS.searchAliasAccessor())), deepNodeCatName = getDDCatName(deepNodeAlias);\n while (((((combinedList.length < opt.maxSuggestions)) && ((i < n))))) {\n xcatSuggestions = ((((((extraData && extraData.length)) ? extraData[i].nodes : [])) || []));\n xcat = [];\n sg = {\n keyword: crtSuggestions[i],\n sc: isSpellCorrection(extraData[i]),\n source: ((extraData[i].source || \"c\")),\n conf: extraData[i].conf,\n sgIndex: i,\n xcatIndex: 0\n };\n if (deepNodeAlias) {\n sg.alias = deepNodeAlias;\n sg.categoryName = deepNodeCatName;\n }\n else {\n if (currAlias) {\n sg.alias = currAlias;\n sg.categoryName = currCatName;\n }\n else {\n sg.categoryName = deepNodeCatName;\n }\n ;\n ;\n }\n ;\n ;\n xcat.push(sg);\n m = xcatSuggestions.length;\n if (m) {\n j = 0;\n while (((((j < m)) && ((j < opt.maxSuggestions))))) {\n cs = xcatSuggestions[j];\n sg = {\n keyword: crtSuggestions[i],\n sc: isSpellCorrection(extraData[i]),\n source: ((extraData[i].source || \"c\")),\n alias: cs.alias,\n categoryName: cs.JSBNG__name,\n conf: extraData[i].conf,\n sgIndex: i,\n xcatIndex: ((j + 1))\n };\n xcat.push(sg);\n ++j;\n };\n ;\n }\n ;\n ;\n sg = {\n keyword: crtSuggestions[i],\n sc: isSpellCorrection(extraData[i]),\n conf: extraData[i].conf,\n sgIndex: i,\n xcat: xcat\n };\n if (deepNodeAlias) {\n sg.alias = deepNodeAlias;\n }\n ;\n ;\n combinedList.push(sg);\n ++i;\n };\n ;\n curSize = combinedList.length;\n return combinedList;\n };\n ;\n function searchJSONSuggest(newKw) {\n lastKeyPressTime = now();\n ((suggestRequest && suggestRequest.cleanup()));\n if (!activityAllowed) {\n return;\n }\n ;\n ;\n if (!searchBox.hasFocus()) {\n return;\n }\n ;\n ;\n var alias = ((searchAlias() || ((opt.deepNodeISS ? opt.deepNodeISS.searchAliasAccessor() : null)))), kw = ((newKw || keyword())), suggestUrl = [], a = function() {\n $.each(arguments, function(i, t) {\n suggestUrl.push(t);\n });\n }, m = ((((reqCounter === 0)) ? metrics.completionsRequest0 : ((((reqCounter === metrics.sample)) ? metrics.completionsRequestSample : null)))), cursorPos, qs;\n if (!supportedSearchAlias(alias)) {\n hideSuggestionsDiv();\n return;\n }\n ;\n ;\n if (opt.qs) {\n cursorPos = searchBox.cursorPos();\n if (((((cursorPos > -1)) && ((cursorPos < kw.length))))) {\n qs = kw.substring(cursorPos);\n kw = kw.substring(0, cursorPos);\n }\n ;\n ;\n }\n ;\n ;\n a(opt.protocol, \"//\", opt.src, \"?\", \"method=completion\", \"&q=\", encodeURIComponent(kw), \"&search-alias=\", alias, \"&client=\", opt.cid, \"&mkt=\", opt.mkt, \"&fb=\", opt.fb, \"&xcat=\", opt.xcat, \"&x=updateISSCompletion\");\n if (qs) {\n a(((\"&qs=\" + encodeURIComponent(qs))));\n }\n ;\n ;\n if (opt.np) {\n a(((\"&np=\" + opt.np)));\n }\n ;\n ;\n if (opt.sc) {\n a(\"&sc=1\");\n }\n ;\n ;\n if (((opt.dupElim > 0))) {\n a(\"&dr=\", opt.dupElim);\n }\n ;\n ;\n if (opt.custIss4Prime) {\n a(\"&pf=1\");\n }\n ;\n ;\n if (suggestRequest) {\n suggestRequest.cleanup();\n }\n ;\n ;\n suggestRequest = new A9JSONClient(kw, reqCounter++);\n suggestRequest.callSuggestionsService(suggestUrl.join(\"\"));\n };\n ;\n function updateCompletion() {\n if (!suggestRequest) {\n return;\n }\n ;\n ;\n if (((((((((!activityAllowed || !completion.length)) || !completion[0])) || !suggestRequest.keywords)) || ((completion[0].toLowerCase() != suggestRequest.keywords.toLowerCase()))))) {\n return;\n }\n ;\n ;\n var c = suggestRequest.counter, m = ((((c === 0)) ? metrics.completionsRequest0 : ((((c === metrics.sample)) ? metrics.completionsRequestSample : null))));\n suggestRequest.cleanup();\n suggestRequest = null;\n if (!searchBox.hasFocus()) {\n return;\n }\n ;\n ;\n if (((opt.twoPane === 1))) {\n twoPaneSuggestionsList = build2PaneSuggestions(completion[1], ((((completion.length > 2)) ? completion[2] : [])));\n displayTwoPaneSuggestions(completion[0]);\n ((sugHandler && sugHandler(completion[0], twoPaneSuggestionsList)));\n }\n else {\n suggestionList = combineSuggestions(completion[1], ((((completion.length > 2)) ? completion[2] : [])));\n displaySuggestions(completion[0]);\n ((sugHandler && sugHandler(completion[0], suggestionList)));\n }\n ;\n ;\n };\n ;\n function JSBNG__stop() {\n activityAllowed = false;\n requestedKeyword = \"\";\n if (suggestRequest) {\n suggestRequest.cleanup();\n suggestRequest = null;\n }\n ;\n ;\n };\n ;\n function start() {\n activityAllowed = true;\n };\n ;\n function encoding() {\n var encInput = opt.form.JSBNG__find(\"input[name^='__mk_']\");\n if (encInput.length) {\n return [encInput.attr(\"JSBNG__name\"),encInput.val(),];\n }\n ;\n ;\n };\n ;\n function JSBNG__blur() {\n searchBox.JSBNG__blur();\n };\n ;\n function JSBNG__focus() {\n searchBox.JSBNG__focus();\n };\n ;\n function offset() {\n return searchBox.pos();\n };\n ;\n function keydown(h) {\n searchBox.keydown(h);\n };\n ;\n function checkIAC() {\n return inlineAutoComplete.touch();\n };\n ;\n return {\n suggest: bindSuggest,\n keypress: bindKeypress,\n submit: bindSubmit,\n JSBNG__blur: JSBNG__blur,\n keyword: keyword,\n merchant: merchant,\n searchAlias: searchAlias,\n searchNode: searchNode,\n JSBNG__stop: JSBNG__stop,\n start: start,\n encoding: encoding,\n JSBNG__focus: JSBNG__focus,\n offset: offset,\n keydown: keydown,\n onFocus: ((searchBox ? searchBox.onFocus : function() {\n \n })),\n onBlur: ((searchBox ? searchBox.onBlur : function() {\n \n })),\n cursorPos: ((searchBox ? searchBox.cursorPos : function() {\n return -1;\n })),\n initStaticSuggestions: initStatic,\n initDynamicSuggestions: initDynamic,\n updateAutoCompletion: updateCompletion,\n init: init\n };\n };\n function now() {\n return (new JSBNG__Date).getTime();\n };\n ;\n function nop() {\n \n };\n ;\n function suppress() {\n return false;\n };\n ;\n function bzero(len, val) {\n var a = [];\n while (len--) {\n a.push(val);\n };\n ;\n return a;\n };\n ;\n function arrayIndexOf(a, v) {\n for (var i = 0, len = a.length; ((i < len)); i++) {\n if (((a[i] == v))) {\n return i;\n }\n ;\n ;\n };\n ;\n return -1;\n };\n ;\n function input(f, i, n, v, c) {\n f.append($(\"\\u003Cinput type=\\\"hidden\\\"/\\u003E\").attr(((c ? \"class\" : \"id\")), i).attr(\"JSBNG__name\", n).attr(\"value\", v));\n };\n ;\n function option(v, t) {\n return $(\"\\u003Coption/\\u003E\").attr(\"value\", v).text(t);\n };\n ;\n function keyClose(w) {\n return ((((w == 13)) || ((w == 32))));\n };\n ;\n function findOption(d, v) {\n return d.JSBNG__find(((((\"option[value=\\\"\" + v)) + \"\\\"]\")));\n };\n ;\n function tabIndex(e, i) {\n return e.attr(\"tabIndex\", i).attr(\"tabindex\", i);\n };\n ;\n function getShortenedIDForOption(o) {\n var eq;\n if (((((!o || !o.length)) || (((eq = o.indexOf(\"=\")) == -1))))) {\n return \"\";\n }\n ;\n ;\n var alias = o.substr(((eq + 1))), dash = ((alias.indexOf(\"-\") + 1)), shortID = alias.substr(0, 3);\n return ((dash ? shortID : ((shortID + alias.charAt(dash)))));\n };\n ;\n function changeDropdownSelection(optionValue, selectedDisplayName, highlightOnly, option) {\n var dd = ddBox;\n if (((((optionValue == \"search-alias=aps\")) && !selectedDisplayName))) {\n selectedDisplayName = findOption(dd, optionValue).text();\n }\n ;\n ;\n $(((\"#\" + sdpc))).css(\"visibility\", \"hidden\");\n $(dcs).text(selectedDisplayName);\n dd.val(optionValue);\n if (!highlightOnly) {\n opt.sb.JSBNG__focus();\n setSearchFormReftag(opt.form, optionValue);\n }\n ;\n ;\n };\n ;\n function setSearchFormReftag(formElement, optionValue, issMode, sg, numUserChars) {\n var formAction = formElement.attr(\"action\"), isstag = ((((issMode != null)) && sg)), tag = ((isstag ? ((((((((issMode + \"_\")) + sg.sgIndex)) + \"_\")) + numUserChars)) : ((\"dd_\" + getShortenedIDForOption(optionValue)))));\n if (((isstag || ((optionValue != null))))) {\n if (!refre.test(formAction)) {\n if (((formAction.charAt(((formAction.length - 1))) != \"/\"))) {\n formAction += \"/\";\n }\n ;\n ;\n formAction += tag;\n }\n else {\n if (((isstag && ddaliasre.test(formAction)))) {\n formAction = formAction.replace(ddaliasre, ((\"$1_\" + tag)));\n }\n else {\n formAction = formAction.replace(refre, ((\"ref=nb_sb_\" + tag)));\n }\n ;\n ;\n }\n ;\n ;\n formElement.attr(\"action\", formAction);\n }\n ;\n ;\n };\n ;\n function A9JSONClient(kw, counter) {\n var fullUrl, noCacheIE, headLoc, scriptId, scriptObj, scriptCounter = ((counter || 0));\n function callService(url) {\n fullUrl = url;\n noCacheIE = ((\"&noCacheIE=\" + now()));\n headLoc = JSBNG__document.getElementsByTagName(\"head\").item(0);\n scriptId = ((\"JscriptId\" + scriptCounter));\n buildScriptTag();\n addScriptTag();\n };\n ;\n function buildScriptTag() {\n scriptObj = JSBNG__document.createElement(\"script\");\n scriptObj.setAttribute(\"type\", \"text/javascript\");\n scriptObj.setAttribute(\"charset\", \"utf-8\");\n scriptObj.setAttribute(\"src\", ((fullUrl + noCacheIE)));\n scriptObj.setAttribute(\"id\", scriptId);\n };\n ;\n function removeScriptTag() {\n try {\n headLoc.removeChild(scriptObj);\n } catch (e) {\n \n };\n ;\n };\n ;\n function addScriptTag() {\n headLoc.appendChild(scriptObj);\n };\n ;\n return {\n callSuggestionsService: callService,\n cleanup: removeScriptTag,\n keywords: kw,\n counter: scriptCounter\n };\n };\n ;\n window.AutoComplete = AC;\n if (metrics.isEnabled) {\n uet(\"cf\", metrics.init, {\n wb: 1\n });\n }\n ;\n ;\n })(window);\n $SearchJS.publish(\"search-js-autocomplete-lib\");\n });\n }\n;\n;\n} catch (JSBNG_ex) {\n\n};");
6793 JSBNG_Replay.sfbdb2900fa18bccd81cab55c766ea737c1109ca0_8[0]();
6795 JSBNG_Replay.sfbdb2900fa18bccd81cab55c766ea737c1109ca0_8[0]();
6797 JSBNG_Replay.sfbdb2900fa18bccd81cab55c766ea737c1109ca0_8[0]();
6799 JSBNG_Replay.s6f54c5bf5199cec31b0b6ef5af74f23d8e084f79_1[0]();
6801 fpc.call(JSBNG_Replay.s6f54c5bf5199cec31b0b6ef5af74f23d8e084f79_2[0], o15,o14);
6807 JSBNG_Replay.sfbdb2900fa18bccd81cab55c766ea737c1109ca0_8[0]();
6809 JSBNG_Replay.sfbdb2900fa18bccd81cab55c766ea737c1109ca0_8[0]();
6811 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6813 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6815 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6817 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6819 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6821 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6823 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6825 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6827 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6829 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6831 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6833 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6835 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6837 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6839 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6841 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6843 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6845 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6847 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6849 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6851 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6853 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6855 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6857 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6859 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6861 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6863 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6865 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6867 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6869 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6871 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6873 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6875 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6877 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6879 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6881 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6883 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6885 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6887 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6889 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6891 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6893 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6895 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6897 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6899 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6901 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6903 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6905 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6907 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6909 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6911 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6913 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6915 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6917 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6919 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6921 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6923 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6925 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6927 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6929 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6931 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6933 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6935 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6937 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6939 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6941 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6943 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6945 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6947 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6949 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6951 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6953 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6955 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6957 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6959 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6961 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6963 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6965 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6967 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6969 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6971 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6973 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6975 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6977 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6979 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6981 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6983 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6985 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6987 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6989 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6991 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6993 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6995 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6997 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
6999 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7001 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7003 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7005 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7007 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7009 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7011 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7013 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7015 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7017 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7019 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7021 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7023 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7025 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7027 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7029 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7031 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7033 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7035 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7037 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7039 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7041 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7043 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7045 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7047 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7049 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7051 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7053 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7055 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7057 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7059 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7061 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7063 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7065 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7067 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7069 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7071 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7073 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7075 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7077 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7079 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7081 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7083 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7085 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7087 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7089 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7091 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7093 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7095 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7097 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7099 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7101 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7103 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7105 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7107 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7109 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7111 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7113 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7115 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7117 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7119 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7121 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7123 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7125 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7127 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7129 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7131 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7133 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7135 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7137 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7139 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7141 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7143 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7145 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7147 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7149 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7151 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7153 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7155 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7157 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7159 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7161 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7163 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7165 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7167 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7169 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7171 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7173 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7175 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7177 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7179 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7181 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7183 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7185 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7187 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7189 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7191 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7193 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7195 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7197 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7199 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7201 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7203 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7205 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7207 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7209 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7211 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7213 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7215 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7217 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7219 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7221 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7223 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7225 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7227 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7229 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7231 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7233 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7235 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7237 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7239 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7241 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7243 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7245 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7247 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7249 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7251 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7253 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7255 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7257 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7259 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7261 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7263 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7265 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7267 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7269 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7271 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7273 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7275 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7277 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7279 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7281 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7283 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7285 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7287 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7289 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7291 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7293 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7295 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7297 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7299 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7301 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7303 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7305 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7307 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7309 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7311 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7313 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7315 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7317 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7319 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
7321 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_26[0](o16);
7323 JSBNG_Replay.s43fc3a4faaae123905c065ee7216f6efb640b86f_1[0](o16);
7325 JSBNG_Replay.s6642b77f01f4d49ef240b29032e6da4372359178_0[0](o16);
7327 JSBNG_Replay.s19bfa2ac1e19f511e50bfae28fc42f693a531db5_1[0](o16);
7329 JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_26[1](o16);
7333 JSBNG_Replay.s19bfa2ac1e19f511e50bfae28fc42f693a531db5_2[0]();
7335 JSBNG_Replay.sfbdb2900fa18bccd81cab55c766ea737c1109ca0_8[0]();
7337 JSBNG_Replay.s6642b77f01f4d49ef240b29032e6da4372359178_1[0]();
7339 o0.readyState = "complete";
7343 geval("try {\n;\n (function(h, n, E) {\n var w = JSBNG__location.protocol, O = JSBNG__navigator.userAgent.toLowerCase(), l = function(a, b) {\n if (a) {\n if (((a.length >= 0))) {\n for (var c = 0, e = a.length; ((c < e)); c++) {\n b(c, a[c]);\n ;\n };\n }\n else {\n {\n var fin33keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin33i = (0);\n (0);\n for (; (fin33i < fin33keys.length); (fin33i++)) {\n ((c) = (fin33keys[fin33i]));\n {\n b(c, a[c]);\n ;\n };\n };\n };\n }\n ;\n }\n ;\n ;\n }, x = function(a, b) {\n if (((a && b))) {\n {\n var fin34keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin34i = (0);\n var c;\n for (; (fin34i < fin34keys.length); (fin34i++)) {\n ((c) = (fin34keys[fin34i]));\n {\n a[c] = b[c];\n ;\n };\n };\n };\n }\n ;\n ;\n return a;\n }, Q = function(a, b, c) {\n b = ((b || h));\n ((J(b.JSBNG__document) ? a() : (((c && (a = function() {\n JSBNG__setTimeout(a, c);\n }))), s(b, \"load\", a, !0))));\n }, J = function(a) {\n var b = a.readyState;\n return ((((b == \"complete\")) || ((((a.tagName == \"script\")) && ((b == \"loaded\"))))));\n }, u = function(a) {\n return (((a = RegExp(((a + \"[ /](\\\\d+(\\\\.\\\\d+)?)\")), \"i\").exec(O)) ? +a[1] : 0));\n }, H = u(\"msie\");\n u(\"webkit\");\n var R = function(a, b) {\n var b = ((b || \"&\")), c = [];\n l(a, function(a, b) {\n c.push(((((a + \"=\")) + b)));\n });\n return c.join(b);\n }, k = ((h.DA || (h.DA = []))), S = function(a) {\n if (((typeof a == \"object\"))) {\n return a;\n }\n ;\n ;\n var b = {\n };\n l(a.split(\";\"), function(a, e) {\n var f = e.split(\"=\");\n b[f[0]] = f[1];\n });\n (h.aanParams = ((h.aanParams || {\n })))[b.slot] = a;\n return b;\n }, j = function(a, b) {\n return ((((typeof a == \"string\")) ? ((b || n)).getElementById(a) : a));\n }, o = function(a, b) {\n return (((b = j(((b || n)))) ? b.getElementsByTagName(a) : []));\n }, v = function(a, b, c, e, f) {\n a = ((v[a] || (v[a] = n.createElement(a)))).cloneNode(!0);\n x(a, b);\n q(a, c);\n ((e && (b = a, e = j(e), b = j(b), ((((e && b)) && (((((typeof f == \"number\")) && (f = j(e).childNodes[f]))), e.insertBefore(b, ((f || null)))))))));\n return a;\n }, q = function(a, b) {\n var c = b.opacity;\n ((isNaN(c) || x(b, {\n filter: ((((\"alpha(opacity=\" + ((c * 100)))) + \")\")),\n mozOpacity: b.opacity\n })));\n (((a = j(a)) && x(a.style, b)));\n }, F = function(a) {\n if (a = j(a)) {\n var b = j(a).parentNode;\n ((b && b.removeChild(a)));\n }\n ;\n ;\n }, y = function(a, b) {\n if (a = j(a)) {\n a.innerHTML = b;\n }\n ;\n ;\n }, s = function(a, b, c, e) {\n if (a = j(a)) {\n var f = function(d) {\n var d = ((d || h.JSBNG__event)), i = ((d.target || d.srcElement));\n if (e) {\n var m = a, g = f;\n if (m = j(m)) {\n ((m.JSBNG__removeEventListener ? m.JSBNG__removeEventListener(b, g, !1) : ((m.JSBNG__detachEvent ? m.JSBNG__detachEvent(((\"JSBNG__on\" + b)), g) : delete m[((\"JSBNG__on\" + b))]))));\n }\n ;\n ;\n }\n ;\n ;\n return c(d, i, f);\n };\n ((a.JSBNG__addEventListener ? a.JSBNG__addEventListener(b, f, !1) : ((a.JSBNG__attachEvent ? a.JSBNG__attachEvent(((\"JSBNG__on\" + b)), f) : a[((\"JSBNG__on\" + b))] = f))));\n return f;\n }\n ;\n ;\n }, T = o(\"head\")[0], U = k.s = function(a) {\n v(\"script\", {\n src: a.replace(/^[a-z]+:/, w)\n }, 0, T);\n }, V = ((((((w == \"http:\")) ? \"//g-ecx.\" : \"//images-na.ssl-\")) + \"images-amazon.com/images/G/01/\"));\n h.foresterRegion = \"na\";\n var X = function(a, b, c, e) {\n var t;\n var b = ((((\"\\u003Cbody\\u003E\" + b)) + \"\\u003C/body\\u003E\")), f, d, i = a.parentNode.id, m = n.getElementById(i), g = ((((m || {\n })).ad || {\n })), p = ((g.a || {\n }));\n if (!g.a) {\n var g = parent.aanParams, j;\n {\n var fin35keys = ((window.top.JSBNG_Replay.forInKeys)((g))), fin35i = (0);\n (0);\n for (; (fin35i < fin35keys.length); (fin35i++)) {\n ((j) = (fin35keys[fin35i]));\n {\n if (((((\"DA\" + j.replace(/([a-z])[a-z]+(-|$)/g, \"$1\"))) == i))) {\n for (var l = g[j].split(\";\"), k = 0, W = l.length; ((k < W)); k++) {\n var K = l[k].split(\"=\");\n p[K[0]] = K[1];\n };\n }\n ;\n ;\n };\n };\n };\n ;\n }\n ;\n ;\n var o = function() {\n if (m) {\n var a = m.getElementsByTagName(\"div\")[0], a = ((((a.contentWindow || a.contentDocument)).aanResponse || {\n }));\n if (a.adId) {\n var a = {\n s: ((p.site || \"\")),\n p: ((p.pt || \"\")),\n l: ((p.slot || \"\")),\n a: ((a.adId || 0)),\n c: ((a.creativeId || 0)),\n n: ((a.adNetwork || \"DART\")),\n m: \"load\",\n v: f\n }, b = [], c;\n {\n var fin36keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin36i = (0);\n (0);\n for (; (fin36i < fin36keys.length); (fin36i++)) {\n ((c) = (fin36keys[fin36i]));\n {\n b.push(((((((((\"\\\"\" + c)) + \"\\\":\\\"\")) + a[c])) + \"\\\"\")));\n ;\n };\n };\n };\n ;\n (new JSBNG__Image).src = ((d + escape(((((\"{\" + b.join(\",\"))) + \"}\")))));\n }\n else JSBNG__setTimeout(o, 1000);\n ;\n ;\n }\n ;\n ;\n }, r = function(a) {\n if (((((c && parent.uDA)) && i))) {\n parent[((((a == \"ld\")) ? \"uex\" : \"uet\"))](a, i, {\n wb: 1\n });\n }\n ;\n ;\n };\n if (c) {\n a.z = function() {\n r(\"cf\");\n }, a.JSBNG__onload = function() {\n f = ((new JSBNG__Date - adStartTime));\n d = ((((\"//fls-\" + e)) + \".amazon.com/1/display-ads-cx/1/OP/?LMET\"));\n o();\n r(\"ld\");\n ((boolDaCriticalFeatureEvent && (h.DAcf--, ((((!h.DAcf && h.amznJQ)) && amznJQ.declareAvailable(\"DAcf\"))))));\n };\n }\n ;\n ;\n g = JSBNG__navigator.userAgent.toLowerCase();\n j = /firefox/.test(g);\n g = /msie/.test(g);\n t = (((l = a.contentWindow) ? l.JSBNG__document : a.contentDocument)), a = t;\n if (g) {\n if (((b.indexOf(\".close()\") != -1))) {\n a.close = function() {\n \n };\n }\n ;\n ;\n }\n else ((j || a.open(\"text/html\", \"replace\"))), b += \"\\u003Cscript\\u003Edocument.close()\\u003C/script\\u003E\";\n ;\n ;\n m.getElementsByTagName(\"div\")[0].contentWindow.JSBNG__onerror = function(a) {\n ((h.ueLogError && h.ueLogError({\n message: ((\"displayads-iframe-\" + a))\n })));\n return !0;\n };\n adStartTime = new JSBNG__Date;\n a.write(b);\n }, L = function(a, b, c) {\n if (((((a != void 0)) && ((a != null))))) {\n var e = j(((((\"DA\" + b)) + \"i\"))), f = j(((((\"DA\" + c)) + \"iP\")));\n if (((e && f))) {\n e.punt = function() {\n X(e, f.innerHTML.replace(/scrpttag/g, \"script\"), 1);\n (new JSBNG__Image).src = a;\n };\n }\n ;\n ;\n }\n ;\n ;\n }, Y = k.f = \"/aan/2009-09-09/ad/feedback.us/default?pt=RemoteContent&slot=main&pt2=us\", M = function(a) {\n var b = function(b) {\n if (((!n.all && !/%/.test(a.width)))) {\n var c = a.clientWidth;\n if (c) {\n a.style.width = ((((c + b)) + \"px\"));\n }\n ;\n ;\n }\n ;\n ;\n };\n b(-1);\n b(1);\n var c = (((b = j(a).parentNode) ? b.id : \"\"));\n if (((((((((H > 0)) && ((!n.documentMode || ((n.documentMode < 8)))))) && /nsm/.test(c))) && !/%/.test(a.height)))) {\n ((a.height && (a.height -= 1)));\n }\n ;\n ;\n try {\n Z(a), ((b && ((a.contentWindow.d16gCollapse ? q(b, {\n display: \"none\"\n }) : ((b.clientHeight || q(b, {\n height: \"auto\",\n marginBottom: \"16px\"\n })))))));\n } catch (e) {\n \n };\n ;\n }, Z = function(a) {\n var b = j(a).parentNode, c = ((b.ad || a)), e = c.f, f = /nsm/.test(b.id), d;\n try {\n var i = a.contentWindow;\n ((i.suppressAdFeedback && (e = !1)));\n if (((((i.inlineFeedback && ((typeof i.inlineFeedback == \"object\")))) || ((JSBNG__location.href.indexOf(\"useNewFeedback=true\") >= 0))))) {\n d = ((i.inlineFeedback || {\n })), d.endpoint = ((d.endpoint || \"//fls-na.amazon.com/1/dco-exp/1/OP\")), d.id = ((d.id || \"default\")), d.question = ((((d.question && ((typeof d.question === \"string\")))) ? d.question : \"Is this ad appropriate?\")), d.options = ((((((d.options && ((typeof d.options === \"object\")))) && d.options.length)) ? d.options : [\"Yes\",\"No\",])), d.ad = ((i.aanResponse || {\n }));\n }\n ;\n ;\n } catch (m) {\n d = !1;\n };\n ;\n var g, p;\n ((((c.g == \"right\")) ? (g = \"0px\", i = \"4px\", p = \"Ad \") : (g = \"305px\", i = \"0\", p = \"Ad\\u003Cbr\\u003E\")));\n g = ((o(\"div\", b)[0] || v(\"div\", 0, {\n position: ((f ? \"absolute\" : \"relative\")),\n JSBNG__top: \"2px\",\n right: ((f ? g : 0)),\n margin: 0,\n height: \"14px\"\n }, b)));\n if (((e && ((!o(\"a\", g)[0] || !o(\"div\", g)[0]))))) {\n e = \"Advertisement\";\n if (d) {\n y(g, \"\");\n var k = v(\"div\", 0, {\n position: \"absolute\",\n JSBNG__top: \"2px\",\n left: 0,\n font: \"normal 8pt Verdana,Arial\",\n display: \"inline-block\",\n verticalAlign: \"middle\"\n }, g), n = \"\";\n n += ((((\"\\u003Clabel style=\\\"font:normal 8pt Verdana,Arial;vertical-align:middle;margin-right:5px\\\"\\u003E\" + d.question)) + \"\\u003C/label\\u003E\"));\n l(d.options, function(a, b) {\n n += ((((((((\"\\u003Cinput type=\\\"radio\\\" name=\\\"ad-feedback-option\\\" value=\\\"\" + b)) + \"\\\" style=\\\"margin-top:0;margin-bottom:0;vertical-align:middle\\\"\\u003E\\u003Clabel style=\\\"font:normal 8pt Verdana,Arial;vertical-align:middle;margin-right:5px\\\"\\u003E\")) + b)) + \"\\u003C/label\\u003E\"));\n });\n y(k, n);\n s(k, \"click\", function(a) {\n if ((((((a = ((a.target ? a.target : a.srcElement))) && ((a.nodeName === \"INPUT\")))) && ((a.JSBNG__name === \"ad-feedback-option\"))))) {\n a = a.value, (new JSBNG__Image).src = ((((d.endpoint + \"?\")) + R({\n e: \"feedback\",\n i: c.parentNode.className,\n l: d.id,\n a: d.ad.adId,\n c: d.ad.creativeId,\n r: a\n }))), y(k, \"\\u003Clabel style=\\\"position:relative;top:2px\\\"\\u003EThank you for your feedback.\\u003C/label\\u003E\");\n }\n ;\n ;\n });\n e = \"Ad\";\n }\n ;\n ;\n var z = v(\"a\", 0, {\n position: ((f ? \"relative\" : \"absolute\")),\n JSBNG__top: ((f ? 0 : \"2px\")),\n right: ((f ? i : \"4px\")),\n display: \"inline-block\",\n font: \"normal 9px Verdana,Arial\",\n cursor: \"pointer\"\n }, g);\n y(z, ((((((((f ? p : ((e + \" \")))) + \"\\u003Cb style=\\\"display:inline-block;vertical-align:top;margin:1px 0;width:12px;height:12px;background:url(\")) + V)) + \"da/js/bubble._V1_.png)\\\"\\u003E\\u003C/b\\u003E\")));\n s(z, \"click\", function() {\n c.c = ((c.c || a.id.replace(/[^0-9]/g, \"\")));\n var b = c.o;\n h.DAF = [c.c,c.a,];\n var d = ((c.f || 1));\n ((((d === 1)) && (d = ((((Y + ((b ? \"-dismissible\" : \"\")))) + ((((h.jQuery && jQuery.fn.amazonPopoverTrigger)) ? \"\" : \"-external\")))))));\n U(d);\n });\n f = function(a) {\n a = /r/.test(a.type);\n q(z, {\n color: ((a ? \"#e47911\" : \"#004b91\")),\n textDecoration: ((a ? \"underline\" : \"none\"))\n });\n q(o(\"b\", z)[0], {\n backgroundPosition: ((a ? \"0 -12px\" : \"0 0\"))\n });\n };\n s(z, \"mouseover\", f);\n s(z, \"mouseout\", f);\n f({\n });\n }\n ;\n ;\n i = a.contentWindow;\n f = i.JSBNG__document;\n e = ((i.isGoldBox || ((\"showGoldBoxSlug\" in i))));\n ((c.b || l(o(\"img\", f), function(a, b) {\n ((((b && /sm-head/.test(b.src))) && F(j(b).parentNode)));\n })));\n ((e && (q(b, {\n textAlign: \"center\"\n }), q(g, {\n margin: \"0 auto\",\n width: \"900px\"\n }))));\n };\n (function() {\n l(o(\"div\"), function(a, b) {\n if (/^DA/.test(b.id)) {\n try {\n Q(function() {\n M(b);\n }, b.contentWindow);\n } catch (c) {\n \n };\n }\n ;\n ;\n });\n })();\n var B = function(a) {\n var b = a.i, c = a.a = S(a.a), e = c.slot, f = a.c, d = a.u, i = a.w = ((a.w || 300)), m = a.h = ((a.h || 250)), g = ((a.d || 0)), p = a.o, k = a.b, l = ((((w != \"https:\")) || ((H != 6)))), l = ((((a.n && l)) && !J(h))), n = ((a.x ? a.x.replace(/^[a-z]+:/, w) : \"/aan/2009-09-09/static/amazon/iframeproxy-24.html\")), q = a.p, u = a.k, t = ((\"DA\" + e.replace(/([a-z])[a-z]+(-|$)/g, \"$1\"))), r = j(t), A = a.v, x = a.l, D = a.j, B = a.y, e = a.q, C = function() {\n return ((((((a.r && uDA)) && ue.sc[t])) && ((ue.sc[t].wb == 1))));\n }, G = function(a) {\n try {\n var b = ((((a == \"ld\")) ? uex : uet));\n ((C() && b(a, t, {\n wb: 1\n })));\n } catch (c) {\n \n };\n ;\n };\n if (((((r && !o(\"div\", r)[0])) && (r.ad = a, ((!g || $(a, r, g))))))) {\n try {\n if (((p && ((JSBNG__localStorage[((t + \"_t\"))] > (new JSBNG__Date).getTime()))))) {\n F(r);\n return;\n }\n ;\n ;\n } catch (I) {\n \n };\n ;\n if (k) g = /^https?:/, p = ((e ? ((\"/\" + e)) : \"\")), g = ((g.test(d) ? d.replace(g, w) : ((((((((w + \"//ad.doubleclick.net\")) + p)) + \"/adi/\")) + d))));\n else {\n g = ((((((((((((((n + \"#zus&cb\")) + t)) + \"&i\")) + t)) + ((C() ? \"&r1\" : \"\")))) + ((A ? \"&v1\" : \"\")))) + ((D ? \"&j1\" : \"\"))));\n if (h.d16g_originalPageOrd) {\n d = d.replace(/ord=.*/gi, ((\"ord=\" + h.d16g_originalPageOrd)));\n }\n else {\n if ((((p = /ord=(.*)/g.exec(d)) && p[1]))) {\n h.d16g_originalPageOrd = p[1];\n }\n ;\n }\n ;\n ;\n h[((\"d16g_dclick_\" + t))] = d;\n }\n ;\n ;\n h[((\"d16g_dclicknet_\" + t))] = ((e ? e : \"\"));\n var N = function(a, c, d, e, g, i) {\n ((g && G(\"af\")));\n var m = v(\"div\", {\n src: ((i ? \"\" : a)),\n width: c,\n height: d,\n id: ((e || \"\")),\n title: ((g || \"\")),\n frameBorder: 0,\n marginHeight: 0,\n marginWidth: 0,\n allowTransparency: \"true\",\n scrolling: \"no\"\n }, 0, r);\n L(x, b, f, B);\n if (g) {\n var h = !1;\n s(m, \"load\", function() {\n ((h || (h = !0, M(m))));\n });\n }\n ;\n ;\n ((((g && i)) && JSBNG__setTimeout(function() {\n ((H ? m.src = a : m.contentWindow.JSBNG__location.replace(a)));\n L(x, b, f, B);\n }, 5)));\n };\n ((j(r).childNodes[0] && y(r, \"\")));\n d = ((/%/.test(i) ? \"\" : E.ceil(((E.JSBNG__random() * 3)))));\n N(g, ((i + d)), m, ((((\"DA\" + b)) + \"i\")), \"Advertisement\", l);\n ((((q || u)) && JSBNG__setTimeout(function() {\n var a = (new JSBNG__Date).getTime();\n ((q && N(((((((\"//s.amazon-adsystem.com/iu3?d=amazon.com&\" + q)) + \"&n=\")) + a)), 0, 0)));\n var b = c.pid;\n if (((u && b))) {\n (new JSBNG__Image).src = ((((((\"//secure-us.imrworldwide.com/cgi-bin/m?ci=amazon-ca&at=view&rt=banner&st=image&ca=amazon&cr=\" + b)) + \"&pc=1234&r=\")) + a));\n }\n ;\n ;\n }, 0)));\n }\n ;\n ;\n }, $ = function(a, b, c) {\n var e = function(a) {\n if (a = j(a)) {\n var b = 0, c = 0, d = a;\n do b += d.offsetLeft, c += d.offsetTop; while (d = d.offsetParent);\n a = [b,c,a.clientWidth,a.clientHeight,];\n }\n else a = [0,0,0,0,];\n ;\n ;\n a[0] += ((a[2] / 2));\n a[1] += ((a[3] / 2));\n return a;\n }, f = e(b);\n if (((f.join(\"\") == \"0000\"))) {\n var d = function() {\n B(a);\n };\n ((((h.jQuery && jQuery.searchAjax)) ? jQuery(n).bind(\"searchajax\", d) : (b.T = ((b.T || 9)), ((((b.T < 10000)) && JSBNG__setTimeout(d, b.T *= 2))))));\n return !1;\n }\n ;\n ;\n var i = !0;\n l(o(\"div\"), function(a, b) {\n if (((((/^DA/.test(b.id) && ((b.width > 1)))) && ((b.height > 1))))) {\n var d = e(j(b).parentNode), h = ((E.abs(((f[0] - d[0]))) - ((((f[2] + d[2])) / 2)))), d = ((E.abs(((f[1] - d[1]))) - ((((f[3] + d[3])) / 2))));\n i = ((i && ((((h + d)) >= c))));\n }\n ;\n ;\n });\n ((i || F(b)));\n return i;\n }, C = function(a, b) {\n if (isNaN(b.i)) {\n var c;\n if (b.e) {\n if (h.d16g) {\n c = b.e;\n }\n ;\n ;\n }\n else ((isNaN(b.y) ? c = B : ((k.v2Loaded && (c = loadErm)))));\n ;\n ;\n if (c) {\n b.i = a, c(b);\n }\n ;\n ;\n }\n ;\n ;\n };\n ((((((h.d16g || !k.E)) && ((k.v2Loaded || !k.v2)))) && function() {\n l(k, C);\n k.push = function(a) {\n var b = k.length;\n C(b, k[b] = a);\n };\n }()));\n var A, G = function() {\n A(n).bind(\"spATFEvent\", function() {\n k.splice(0, k.length);\n A(\".ap_popover\").remove();\n });\n };\n ((((((h.amznJQ == \"undefined\")) && ((typeof P != \"undefined\")))) ? P.when(\"A\").execute(function(a) {\n A = h.jQuery = a.$;\n G();\n }) : (((A = h.jQuery) && G()))));\n var aa = [\"OBJECT\",\"EMBED\",], ba = [\"div\",\"OBJECT\",\"EMBED\",], D = [], I, u = function(a, b) {\n var c = b.tagName;\n if (((((((c == \"div\")) || ((c == \"OBJECT\")))) || ((c == \"EMBED\"))))) {\n I = ((((a.type == \"mouseover\")) ? b : 0));\n }\n ;\n ;\n };\n s(n, \"mouseover\", u);\n s(n, \"mouseout\", u);\n s(h, \"beforeunload\", function() {\n h.d16g_originalPageOrd = void 0;\n JSBNG__setTimeout(function() {\n l(aa, function(a, c) {\n var e = o(c);\n l(e, function(a, b) {\n D.push(b);\n });\n });\n var a = o(\"div\");\n l(a, function(a, c) {\n if (/^DA/.test(c.id)) {\n try {\n var e = c.contentWindow.JSBNG__document;\n l(ba, function(a, b) {\n if (o(b, e).length) {\n throw null;\n }\n ;\n ;\n });\n } catch (f) {\n D.push(c);\n };\n }\n ;\n ;\n });\n l(D, function(a, c) {\n if (((c && ((c !== I))))) {\n if (((c.tagName == \"div\"))) {\n var e = j(c).parentNode;\n ((e && y(e, \"\")));\n }\n else F(c);\n ;\n }\n ;\n ;\n });\n }, 0);\n });\n })(window, JSBNG__document, Math);\n} catch (JSBNG_ex) {\n\n};");
7345 JSBNG_Replay.sfbdb2900fa18bccd81cab55c766ea737c1109ca0_8[0]();
7347 JSBNG_Replay.sfbdb2900fa18bccd81cab55c766ea737c1109ca0_8[0]();
7349 JSBNG_Replay.sfbdb2900fa18bccd81cab55c766ea737c1109ca0_8[0]();
7351 cb(); return null; }