Add simple V8 perf. test (minifying amazon home page).
authorJuriy Zaytsev <kangax@gmail.com>
Mon, 15 Mar 2010 17:52:20 +0000 (13:52 -0400)
committerJuriy Zaytsev <kangax@gmail.com>
Mon, 15 Mar 2010 17:52:20 +0000 (13:52 -0400)
v8/test.html [new file with mode: 0644]
v8/test.js [new file with mode: 0644]

diff --git a/v8/test.html b/v8/test.html
new file mode 100644 (file)
index 0000000..9a3b7b9
--- /dev/null
@@ -0,0 +1,6673 @@
+
+
+
+
+
+
+    
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+  <head>
+    
+
+
+
+
+
+
+
+
+
+
+
+
+<style type="text/css"><!--
+
+
+
+
+
+BODY { font-family: verdana,arial,helvetica,sans-serif; font-size: small; background-color: #FFFFFF; color: #000000; margin-top: 0px; }
+TD, TH { font-family: verdana,arial,helvetica,sans-serif; font-size: small; }
+
+
+.serif { font-family: times,serif; font-size: medium; }
+.sans { font-family: verdana,arial,helvetica,sans-serif; font-size: medium; }
+
+.small { font-family: verdana,arial,helvetica,sans-serif; font-size: small; }
+
+.h1 { font-family: verdana,arial,helvetica,sans-serif; color: #E47911; font-size: medium; }
+.h3color { font-family: verdana,arial,helvetica,sans-serif; color: #E47911; font-size: small; }
+h2.small {margin-bottom: 0em; }
+h2.h1 { margin-bottom: 0em; }
+h2.h3color { margin-bottom: 0em; }
+.tiny { font-family: verdana,arial,helvetica,sans-serif; font-size: x-small; }
+.tinyprice { font-family: verdana,arial,helvetica,sans-serif; color: #990000; font-size: x-small; }
+.highlight { font-family: verdana,arial,helvetica,sans-serif; color: #990000; font-size: small; }
+.listprice { font-family: arial,verdana,helvetica,sans-serif; text-decoration: line-through; }
+.price { font-family: arial,verdana,helvetica,sans-serif; color: #990000; }
+.popover-tiny { font-size: x-small; font-family: verdana,arial,helvetica,sans-serif; }
+.horizontal-search { font-weight: bold; font-size: small; color: #FFFFFF; font-family: verdana,arial,helvetica,sans-serif; }
+.horizontal-websearch { font-size: x-small; font-family: verdana,arial,helvetica,sans-serif; padding-left: 12px; }
+.big { font-size: xx-large; font-family: verdana,arial,helvetica,sans-serif; }
+.amabot_widget .headline { color: #E47911; font-size: medium; display: block; font-weight: bold; }
+div.unified_widget .headline { color: #E47911; font-size: medium; display: block; font-weight: bold; }
+
+
+
+
+div#page-wrap { min-width:980px;}
+* html div#page-wrap { border-right: 980px solid #fff; width: 100%; margin-right: 25px;}
+* html div#content { float: left; position:relative; margin-right: -980px; }
+div#leftcol, div#leftcolhidden { float: left; width: 180px; margin:5px 0px 0px 5px; display: inline;}
+
+div#rightcol, div#rightcolhidden { float: right; width: 300px; margin-top:5px;}
+
+div#leftcolhidden { clear:left;}
+div#rightcolhidden { clear:right; }
+ div#center1, div#centercol, div#centerrightspancol { overflow: hidden; }
+* html div#center1 { width: 100% }
+* html div#centercol { width:100%; }
+* html div#centerrightspancol { width: 100%; }
+div#page-footer { clear: both; }
+
+a:link { font-family: verdana,arial,helvetica,sans-serif; color: #004B91; }
+a:visited { font-family: verdana,arial,helvetica,sans-serif; color: #996633; }
+a:active { font-family: verdana,arial,helvetica,sans-serif; color: #FF9933; }
+
+a.dynamic, a.dynamic:visited { color: #004B91; text-decoration: none; border-bottom: 1px dashed; }
+a.noclick, a.noclick:visited { color: #000000; text-decoration: none; border-bottom: 1px dashed; }
+
+.noLinkDecoration a { text-decoration: none; border-bottom: none; }
+.noLinkDecoration a:hover { text-decoration: underline; }
+.noLinkDecoration a.dynamic:hover { text-decoration: none; border-bottom: 1px dashed; }
+.noLinkDecoration a.noclick:hover { color: #000000; text-decoration: none; border-bottom: 1px dashed; }
+
+.attention { background-color: #FFFFD5; }
+.alertgreen { color: #009900; font-weight: bold; }
+.alert { color: #FF0000; font-weight: bold; }
+.topnav { font-family: verdana,arial,helvetica,sans-serif; font-size: 12px; text-decoration: none; }
+.topnav a:link, .topnav a:visited { text-decoration: none; color: #003399; }
+.topnav a:hover { text-decoration: none; color: #E47911; }
+.topnav-active a:link, .topnav-active a:visited { font-family: verdana,arial,helvetica,sans-serif; font-size: 12px; color: #E47911; text-decoration: none; }
+.eyebrow { font-family: verdana,arial,helvetica,sans-serif; font-size: 10px; font-weight: bold;text-transform: uppercase; text-decoration: none; color: #FFFFFF; }
+.eyebrow a:link { text-decoration: none; }
+.popover-tiny a, .popover-tiny a:visited { text-decoration: none; color: #003399; }
+.popover-tiny a:hover { text-decoration: none; color: #E47911; }
+.tabon a:hover, .taboff a:hover { text-decoration: underline; }
+.tabon div, .taboff div { margin-top: 7px; margin-left: 9px; margin-bottom: 5px; }
+.tabon a, .tabon a:visited  { font-size: 10px; color: #FFCC66; font-family: verdana,arial,helvetica,sans-serif; text-decoration: none; text-transform: uppercase; font-weight: bold; line-height: 10px; }
+.taboff a, .taboff a:visited { font-size: 10px; color: #000000; font-family: verdana,arial,helvetica,sans-serif; text-decoration: none; text-transform: uppercase; font-weight: bold; line-height: 10px; }
+.indent { margin-left: 1em; }
+.half { font-size: .5em; }
+.list div { margin-bottom: 0.25em; text-decoration: none; }
+.hr-center { margin: 15px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: dotted; border-right-style: none; border-bottom-style: none; border-left-style: none; border-top-color: #999999; border-right-color: #999999; border-bottom-color: #999999; border-left-color: #999999; }
+
+
+.amabot_right .h1 { color: #E47911; font-size: .92em; }
+.amabot_right .amabot_widget .headline, .amabot_left .amabot_widget .headline { color: #E47911; font-size: .92em; display: block; font-weight: bold; }
+.amabot_left .h1 { color: #E47911; font-size: .92em; }
+.amabot_left .amabot_widget, .amabot_right .amabot_widget, .tigerbox {  padding-top: 8px;  padding-bottom: 8px;  padding-left: 8px;  padding-right: 8px;  border-bottom: 1px solid #C9E1F4;   border-left: 1px solid #C9E1F4;  border-right: 1px solid #C9E1F4;  border-top: 1px solid #C9E1F4; }
+
+.amabot_center div.unified_widget, .amabot_center .amabot_widget {  font-size: 12px; }
+.amabot_right div.unified_widget, .amabot_right .amabot_widget {  font-size: 12px; }
+.amabot_left div.unified_widget, .amabot_left .amabot_widget {  font-size: 12px; }
+
+.rightArrow { color: #E47911; font-weight: bold; padding-right: 6px; }
+.nobullet { list-style-type: none }
+.homepageTitle { font-size: 28pt; font-family: 'Arial Bold', Arial; font-weight: 800; font-variant: normal; color: #80B6CE; line-height:1em; }
+div.unified_widget p { margin:0 0 0.5em 0; line-height:1.4em; }
+
+div.unified_widget h2 { color:#E47911; padding:0; }
+
+.amabot_right div.unified_widget .headline, .amabot_left div.unified_widget .headline { color: #E47911; font-size: .92em; display: block; font-weight: bold; }
+div.unified_widget sup { font-weight:normal; font-size: 75%; }
+div.unified_widget h2 sup { font-size: 50%; }
+
+td.amabot_left div.unified_widget h2, td.amabot_right div.unified_widget h2, div.amabot_left div.unified_widget h2, div.amabot_right div.unified_widget h2 { font-size:100%; margin:0 0 0.5em 0; }
+td.amabot_center div.unified_widget h2, div.amabot_center div.unified_widget h2 { font-size:135%; font-weight:bold; margin:0 0 0.35em 0px; }
+td.amabot_center div.unified_widget, div.amabot_center div.unified_widget { margin-left:10px; }
+td.amabot_center, div.amabot_center { padding:5px; } 
+div.unified_widget ul { margin: 1em 0; padding: 0 0 0 15px; list-style-position:inside; }
+
+div.unified_widget ol { margin:0; padding:0 0 0 2.5em; }
+
+div.unified_widget a:link, div.unified_widget a:visited { text-decoration:underline; }
+div.unified_widget a:hover { text-decoration:underline; }
+div.unified_widget p.seeMore { clear:both; font-family:verdana,arial,helvetica,sans-serif; margin:0; padding-left:1.15em; text-indent: -1.15em; font-size:100%; font-weight:normal; }
+div.unified_widget p.seeMore a:link, div.unified_widget p.seeMore a:visited { text-decoration:underline; }
+div.unified_widget p.seeMore a:hover { text-decoration: underline; }
+div.unified_widget .carat, div.left_nav .carat { font-weight:bold; font-size:120%; font-family: verdana,arial,helvetica,sans-serif; color:#E47911; margin-right:0.20em; }
+div.unified_widget a img { border:0; }
+
+div.h_rule { clear:both; }
+div#centerrightspancol div.h_rule { clear:right; }
+div.unified_widget { margin-bottom:2em; clear:both; }
+div.unified_widget div.col1 { width: 100%; }
+div.unified_widget div.col2 { width: 49%; }
+div.unified_widget div.col3 { width: 32%; }
+div.unified_widget div.col4 { width: 24%; }
+div.unified_widget div.col5 { width: 19%; }
+div.unified_widget table { border:0; border-collapse:collapse; width:100%; }
+div.unified_widget td { padding:0 8px 8px 0; vertical-align:top; }
+div.unified_widget table.col1 td { width:100%; }
+div.unified_widget table.col2 td { width:49%; }
+div.unified_widget table.col3 td { width:32%; }
+div.unified_widget table.col4 td { width:24%; }
+div.unified_widget table.col5 td { width:19%; }
+div.unified_widget td.bottom { vertical-align:baseline; }
+div.unified_widget table h4, div.unified_widget h4 { color:#000; font-size:100%; font-weight:normal; margin:0; padding:0; }
+div.rcmBody div.prodImage, amabot_widget div.prodImage {float:left; margin:0px 0.5em 0.25em 0px;}
+
+
+td.amabot_right div.unified_widget, td.amabot_left div.unified_widget, div.amabot_right div.unified_widget, div.amabot_left div.unified_widget { border: 1px solid #C9E1F4; padding: 8px; margin-bottom:20px; }
+
+* html td.amabot_right div.unified_widget, * html div.amabot_right div.unified_widget { height:100%; }
+* html td.amabot_left div.unified_widget, * html div.amabot_left div.unified_widget { height:100%; }
+
+div.rcmBody, amabot_widget div.rcmBody { line-height:1.4em; }
+div.rcmBody a:link, div.rcmBody a:visited { text-decoration: underline; }
+
+div.rcmBody p.seeMore, amabot_widget div.rcmBody p.seeMore { margin-top:0.5em; }
+div.rcmBody div.bannerImage { text-align:center; }
+div.rcmBody h2 span.homepageTitle { display:block; margin-bottom:-0.3em; margin-top:-0.12em; line-height:1em; }
+div.rcmBody h2 img { float:none; }
+table.coopTable div.rcmBody .headline { font-size: 110%; }
+table.coopTable div.rcmBody h2 { font-size: 110%; font-weight:bold; }
+table.promo div.rcmBody h2 { font-size: 100%; font-weight:bold; }
+
+div.left_nav { font-family: Arial, sans-serif; font-size:100%; margin:0; line-height:1.05em; width:100%; border: 1px solid #C9E1F4; padding-bottom:10px; }
+div.left_nav h2 { margin:0 0 0 0; color: #000000; font-weight: bold; line-height: 1.25em; font-size: 100%; font-family: verdana,arial,helvetica,sans-serif; padding: 3px 6px; background-color: #EAF3FE; }
+div.left_nav h3 { font-family: verdana,arial,helvetica,sans-serif; margin:0.5em 0 0.4em 0.5em; color: #E47911; font-weight: bold; line-height: 1em; font-size:100%; padding-right:0.5em; }
+div.left_nav ul { margin:0; padding:0; }
+div.left_nav li, div.left_nav p { list-style: none; margin:0.5em 0.5em 0 1em; line-height:1.2em; }
+
+div.left_nav hr { margin: 1em 0.5em; border-top:0; border-left:0; border-right:0; border-bottom: 1px dashed #cccccc; }
+
+div.left_nav a:link, div.left_nav a:visited { color: #003399; text-decoration: none; font-family: Arial, sans-serif; }
+div.left_nav a:hover { color: #2a70fc; text-decoration: underline; }
+div.left_nav p.seeMore { padding-left:0.9em; text-indent:-0.9em; margin-top: 0.35em; margin-bottom: 1em; }
+
+div.left_nav p.seeMore a:link, div.left_nav p.seeMore a:visited { text-decoration:none; }
+div.left_nav p.seeMore a:hover { text-decoration:underline; }
+div.seller_central li { font-size:95%; }
+
+div.leftnav_popover { width:35em; border:3px solid #ededd3; padding:10px; }
+
+div.leftnav_popover li { font-size: 100%; }
+
+div.leftnav_popover h2 { font-family:verdana,arial,helvetica,sans-serif; margin:0 0 0.5em 0; color:#E47911; line-height: 1em; font-size:100%; padding-right:0.5em; background-color: #FFFFFF; padding-left:0; }
+
+div.leftnav_popover ul.popover_col { float:left; width:33%; margin:0; padding:0; }
+div.leftnav_popover ul.popover_col li { list-style:none; font-size:90%; line-height:1.5em; line-height:1.2em; margin: 0 5px 0.7em 0 }
+div.leftnav_popover ul.popover_col li a { text-decoration:none; }
+div.leftnav_popover ul.popover_col li a:hover { text-decoration:underline; }
+div.leftnav_popover p.seeMore { margin-left:0; }
+div.leftnav_popover div.h_rule_popup { clear:left; margin-bottom: 5px; border-bottom:1px dashed #cccccc; }
+
+div.asinItem { float:left; margin-bottom:1em; width:32%; }
+div.asinTextBlock { padding:0 8px 8px 0; }
+div.asinItem div.prodImage { height:121px; display:table-cell; vertical-align:bottom; }
+div.asinItem div.localImage { display:table-cell; vertical-align:bottom; }
+
+div.asinItem span { margin: 0.5em 0 0.25em 0; }
+div.asinItem ul { margin:0; padding:0 0 0.5em 1.3em; text-indent: -1.3em; font-size:90%; }
+
+div.asinTitle {padding-top:3px; padding-bottom:2px;}
+div.row { clear:both; }
+body.dp {}
+body.dp div.h_rule { clear:none; }
+body.dp div.unified_widget { clear:none; }
+div.asinCoop div.asinItem { float:none; width:100%;}
+div.asinCoop_header {}
+div.asinCoop_footer {}
+
+div.newAndFuture div.asinItem ul { font-size:100%; }
+div.newAndFuture div.asinItem li { list-style-position: outside; margin:0 0 0.35em 20px; padding:0; text-indent: 0; }
+div.newAndFuture h3 { font-size:100%; margin:1em 0 ; }
+div.newAndFuture a:link, div.newAndFuture a:visited { text-decoration:underline; }
+div.newAndFuture a:hover { text-decoration:underline; }
+div.newAndFuture p.seeMore { margin:-0.75em 0 0 35px; }
+
+div.unified_widget ol.topList { margin: 0; padding: 0; list-style: none; }
+div.unified_widget ol.topList li { list-style: none; clear: both; display: list-item; padding-top: 6px; }
+div.unified_widget ol.topList .productImage { display: block; float: left;vertical-align: top;text-align: center;width:60px; }
+div.unified_widget ol.topList .productText { display: block; float: left; padding-left:10px; vertical-align: top; }
+:root div.unified_widget span.productImage { display: table-cell; float: none; }
+:root div.unified_widget span.productText { display: table-cell; float: none; }
+div.unified_widget dl.priceBlock {margin:0 0 0.45em 0;}
+div.unified_widget dl.priceBlock dt {clear:left; font-weight:bold; float:left; margin:0 0.3em 0 0;}
+div.unified_widget dl.priceBlock dd {margin:0 0 0.2em 0;}
+div.unified_widget .bold {font-weight:bold;}
+div.unified_widget .byline { font-size: 95%; font-weight: normal; }
+table.thirdLvlNavContent div.blurb { margin:10px; }
+
+div.pageBanner h1 { font-family:Arial, Helvetica, sans-serif; font-weight:normal; font-size:225%; color: #e47911; letter-spacing:-0.03em; margin:0; }
+div.pageBanner p { font-size:90%; color:#888888; margin:0; }
+
+div.pageBanner h1.bkgnd { background-repeat:no-repeat; background-color:#FFFFFF; overflow:hidden; text-indent:-100em; }
+
+div.blurb div.title
+{
+    font-weight:bold; padding-top:5px; padding-bottom:2px;
+}
+
+
+--></style>
+
+
+
+<style type="text/css">
+<!--
+
+.leftNav { font-family: tahoma, sans-serif;    margin-bottom: 5px; margin-left: 6px; line-height: 1em;
+}
+.leftNavTitle { font-family: tahoma, sans-serif; margin-top: 10px;
+ margin-bottom: 6px; color: #c60; font-weight: bold; line-height: 1em;
+}
+.hr-leftbrowse { border-top-width: 1px;        border-right-width: 1px;        border-bottom-width: 1px; border-left-width: 1px;
+ border-top-style: dashed; border-right-style: none; border-bottom-style: none; border-left-style: none; 
+ border-top-color: #999999; border-right-color: #999999; border-bottom-color: #999999; border-left-color: #999999;
+ margin-top: 10px; margin-right: 5px; margin-bottom: 0px; margin-left: 5px;
+}
+
+.leftNav a:link, .leftNav a:visited, .amabot_left .amabot_widget a:link, .amabot_left .amabot_widget a:visited  { text-decoration: none; 
+       font-family: tahoma, sans-serif;
+}
+.leftNav a:hover,  .amabot_left .amabot_widget a:hover { color: #c60; text-decoration: underline; }
+
+.browsetitle {
+  font-family: tahoma,sans-serif;
+  line-height: 11px;
+  font-size: 14px;
+  font-weight: bold;
+  color: white;
+}
+
+div.amabot_center div.unified_widget h2 { border-bottom:1px solid #ddd; padding-bottom:2px; }
+
+-->
+</style>
+
+
+
+
+
+<style>
+.tcg h2, .tcg h2 a {font-family:Arial,Verdana,Helvetica,sans-serif;}
+.tcg1 .hdlnblk h2, .tcg2 .hdlnblk h2 {
+   font-size:37px;
+   line-height:1em;
+}
+.tcg1 .subhed {
+   font-size:23px;
+}
+.tcg4 .hdlnblk h2 {
+   font-size:29px;
+}
+.tcg4 .subhed {
+   font-size:1.6em;
+}
+</style>
+
+
+<script language="Javascript1.1" type="text/javascript">
+<!--
+function amz_js_PopWin(url,name,options){
+  var ContextWindow = window.open(url,name,options);
+  ContextWindow.focus();
+  return false;
+}
+//-->
+</script>
+
+
+
+
+<script type="text/javascript">
+  var gwEH = {
+    _f: [],
+    afterFold: function(callback) {
+      this._f.push(callback);
+    }
+  }
+</script>
+
+
+
+
+
+<link title="Amazon Search Suggestions" rel="search" type="application/opensearchdescription+xml" href="http://d2lo25i6d3q8zm.cloudfront.net/browser-plugins/AmazonSearchSuggestionsOSD.Firefox.xml">
+
+
+
+
+        
+
+
+
+
+
+
+
+
+
+
+
+
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+
+<meta name="verify-v1" content="9vpzZueNucS8hPqoGpZ5r10Nr2_sLMRG3AnDtNlucc4" />
+<meta name="description" content="Online shopping from the earth&#39;s biggest selection of books, magazines, music, DVDs, videos, electronics, computers, software, apparel &amp; accessories, shoes, jewelry, tools &amp; hardware, housewares, furniture, sporting goods, beauty &amp; personal care, broadband &amp; dsl, gourmet food &amp; just about anything else."/>
+
+<meta name="keywords" content="Amazon, Amazon.com, Books, Online Shopping, Book Store, Magazine, Subscription, Music, CDs, DVDs, Videos, Electronics, Video Games, Computers, Cell Phones, Toys, Games, Apparel, Accessories, Shoes, Jewelry, Watches, Office Products, Sports &amp; Outdoors, Sporting Goods, Baby Products, Health, Personal Care, Beauty, Home, Garden, Bed &amp; Bath, Furniture, Tools, Hardware, Vacuums, Outdoor Living, Automotive Parts, Pet Supplies, Broadband, DSL"/>
+<title>Amazon.com: Online Shopping for Electronics, Apparel, Computers, Books, DVDs &amp; more</title>
+
+
+
+
+
+<link type='text/css' href='http://z-ecx.images-amazon.com/images/G/01/nav2/gamma/amazonJQ/amazonJQ-combined-coreCSS-8516._V231938213_.css' rel='stylesheet'>
+<link type='text/css' href='http://z-ecx.images-amazon.com/images/G/01/nav2/gamma/navbarCSSUSTFS/navbarCSSUSTFS-navbarUSTFS-4179._V202086600_.css' rel='stylesheet'>
+<link type='text/css' href='http://z-ecx.images-amazon.com/images/G/01/nav2/gamma/websiteGridCSS/websiteGridCSS-websiteGridCSS-61831._V229339557_.css' rel='stylesheet'>
+<link type='text/css' href='http://z-ecx.images-amazon.com/images/G/01/nav2/gamma/amazonShoveler/amazonShoveler-amazonShovelerCss-12802._V235369351_.css' rel='stylesheet'>
+<style type="text/css">
+
+/* non-sprited */
+.ap_popover_unsprited .ap_body   .ap_left   { background-image: url(http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/po_left_17._V248144977_.png); }
+.ap_popover_unsprited .ap_body   .ap_right  { background-image: url(http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/po_right_17._V248144979_.png); }
+.ap_popover_unsprited .ap_header .ap_left   { background-image: url(http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/po_top_left._V265110087_.png); }
+.ap_popover_unsprited .ap_header .ap_right  { background-image: url(http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/po_top_right._V265110087_.png); }
+.ap_popover_unsprited .ap_header .ap_middle { background-image: url(http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/po_top._V265110086_.png); }
+.ap_popover_unsprited .ap_footer .ap_left   { background-image: url(http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/po_bottom_left._V265110084_.png); }
+.ap_popover_unsprited .ap_footer .ap_right  { background-image: url(http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/po_bottom_right._V265110087_.png); }
+.ap_popover_unsprited .ap_footer .ap_middle { background-image: url(http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/po_bottom._V265110084_.png); }
+
+/* Everything else -- sprited */
+.ap_popover_sprited .ap_body .ap_left, 
+.ap_popover_sprited .ap_body .ap_right {
+    background-image: url(http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/light/sprite-v._V219326283_.png);
+}
+
+
+.ap_popover_sprited .ap_header .ap_left, 
+.ap_popover_sprited .ap_header .ap_right,
+.ap_popover_sprited .ap_header .ap_middle,
+.ap_popover_sprited .ap_footer .ap_left, 
+.ap_popover_sprited .ap_footer .ap_right,
+.ap_popover_sprited .ap_footer .ap_middle,
+.ap_popover_sprited .ap_closebutton {
+    background-image: url(http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/light/sprite-h._V219326280_.png);
+}
+
+.ap_popover_sprited .ap_body .ap_right-arrow, .ap_popover_sprited .ap_body .ap_left-arrow {
+    background-image: url(http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/light/sprite-arrow-v._V219326286_.png);
+}
+
+</style>
+
+  <script type="text/javascript">
+
+    var amznJQ = {
+        _a: [], _s: [], _d: [], _l: [], _o: [], _c: [], _cs: [],
+        addLogical: function() {
+            this._l.push(arguments)
+        },
+        addStyle: function() {
+            this._s.push(arguments)
+        },
+        declareAvailable: function() {
+            this._d.push(arguments)
+        },
+        available: function() {
+            this._a.push(arguments)
+        },
+        onReady: function() {
+            this._o.push(arguments)
+        },
+        onCompletion: function() {
+            this._c.push(arguments)
+        },
+        completedStage: function() {
+            this._cs.push(arguments)
+        },
+
+        strings: {},
+        chars: {
+            EOL: String.fromCharCode(0x0A),
+            SQUOTE: String.fromCharCode(0x27),
+            DQUOTE: String.fromCharCode(0x22),
+            BACKSLASH: String.fromCharCode(0x5C),
+            YEN: String.fromCharCode(0xA5)
+        }
+    }
+
+
+
+</script>
+
+  </head>
+  <body>
+    
+
+<div style="position:absolute; left:0px; top:-500px; width:1px;        height:1px; overflow:hidden;">
+<a href="http://www.amazon.com/access">A different version of this web site containing similar content optimized for screen readers and mobile devices may be found at the web address: www.amazon.com/access</a></div>
+
+
+<a name="top"></a>
+<!-- BeginNav -->
+
+<script type='text/javascript'><!--
+  function Navbar(options) {
+    options = options || {};
+
+    this._loadedCount = 0;
+    this._hasUedata = (typeof uet == 'function');
+    this._finishLoadQuota = options['finishLoadQuota'] || 2;
+    this._startedLoading = false;
+
+    this._btfFlyoutContents = [];
+
+    this.addToBtfFlyoutContents = function(content, callback) {
+      this._btfFlyoutContents.push({content: content, callback: callback});
+    }
+
+    this.getBtfFlyoutContents = function() {
+      return this._btfFlyoutContents;
+    }
+
+    this.loading = function() {
+      if (!this._startedLoading && this._isReportingEvents()) {
+        uet('ns');
+      }
+
+      this._startedLoading = true;
+    }
+
+    this.componentLoaded = function() {
+      this._loadedCount++;
+      if (this._startedLoading && this._isReportingEvents() && (this._loadedCount == this._finishLoadQuota)) {
+        uet('ne');
+      }
+    }
+
+    this._isReportingEvents = function() {
+      return this._hasUedata;
+    }
+  }
+
+  _navbar = new Navbar({ finishLoadQuota: 2});
+  _navbar.loading();
+
+  amznJQ.available('jQuery', function() {
+    _navbar._navPopoverBorderSpriteImage_h = new Image();
+    _navbar._navPopoverBorderSpriteImage_h.src = 'http://g-ecx.images-amazon.com/images/G/01/gno/popover/sprites-h._V264091373_.gif';
+    _navbar._navPopoverBorderSpriteImage_v = new Image();
+    _navbar._navPopoverBorderSpriteImage_v.src = 'http://g-ecx.images-amazon.com/images/G/01/gno/popover/sprites-v._V264091375_.gif';
+  });
+
+  window.navSAFlyoutDelay = 0;
+
+
+--></script>
+
+<style type="text/css"><!--
+
+
+.navSprite,
+.navSpriteH,
+.navSaJs li.navSaMenuItem {
+  background-image: url(http://g-ecx.images-amazon.com/images/G/01/gno/images/orangeBlue/navPackedSprites-US-15._V202471683_.png);
+}
+
+.navSpritePopoverH {
+  background-image: url(http://g-ecx.images-amazon.com/images/G/01/gno/popover/sprites-h._V264091373_.gif);
+}
+
+.navSpritePopoverV {
+  background-image: url(http://g-ecx.images-amazon.com/images/G/01/gno/popover/sprites-v._V264091375_.gif);
+}
+
+#navbar .tiny,
+.navbar .tiny,
+.navShopAllPopLevel .tiny,
+.navShopAllPopNonRootLevel .tiny {
+  font-family: Arial, sans-serif;
+  font-size: x-small;
+}
+
+.nav_popover .header .l {
+  background: url(http://g-ecx.images-amazon.com/images/G/01/gno/popover/sprites-v._V264091375_.gif) -14px 0px no-repeat;
+}
+
+.nav_popover .header .r {
+  background: url(http://g-ecx.images-amazon.com/images/G/01/gno/popover/sprites-h._V264091373_.gif) 0px -14px no-repeat;
+}
+
+.nav_popover .header .c {
+  background: url(http://g-ecx.images-amazon.com/images/G/01/gno/popover/sprites-h._V264091373_.gif) 0px 0px repeat-x;
+}
+
+.nav_popover .footer .l {
+  background: url(http://g-ecx.images-amazon.com/images/G/01/gno/popover/sprites-h._V264091373_.gif) 0px -21px no-repeat;
+}
+
+.nav_popover .footer .r {
+  background: url(http://g-ecx.images-amazon.com/images/G/01/gno/popover/sprites-v._V264091375_.gif) -21px 0px no-repeat;
+}
+
+.nav_popover .footer .c {
+  background: url(http://g-ecx.images-amazon.com/images/G/01/gno/popover/sprites-h._V264091373_.gif) 0px -7px repeat-x;
+}
+
+.nav_popover .body .l {
+  background: url(http://g-ecx.images-amazon.com/images/G/01/gno/popover/sprites-v._V264091375_.gif) 0px 0px repeat-y;
+}
+
+.nav_popover .body .r {
+  background: url(http://g-ecx.images-amazon.com/images/G/01/gno/popover/sprites-v._V264091375_.gif) -7px 0px repeat-y;
+}
+--></style>
+<img src="http://g-ecx.images-amazon.com/images/G/01/gno/images/orangeBlue/navPackedSprites-US-15._V202471683_.png" style="display:none" alt=""/>
+<img src="http://g-ecx.images-amazon.com/images/G/01/x-locale/common/transparent-pixel._V42752373_.gif" style="display:none" alt=""/>
+
+
+
+
+
+
+
+<!-- Tilu -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div id="navbar" style="padding:0px;" class="navbar">
+
+
+<table border="0" cellspacing="0" cellpadding="0" width="100%">
+<tr>
+
+    <td rowspan="2" align='left' width="180" valign="bottom"><a id="navLogo" class="gateway" href="/ref=gno_logo">
+  <span id="navLogoPrimary" class="navSprite"><span>amazon.com</span></span>
+  <span id="navLogoSecondary" class="navSprite nonPrime"></span>
+</a></td>
+    <td width="100%" align='left' height="26">
+      <table width="100%" id="welcomeRowTable" cellspacing="0" cellpadding="0" border="0"><tr>
+        <td align="left" valign="bottom" class="navGreetingBkg"><div id="navidWelcomeMsg" style="white-space: nowrap;">
+  <span class="navGreeting">Hello.</span>
+
+  <span class="navMessage" style="white-space: nowrap;"><a href="/gp/yourstore/ref=pd_irl_gw?ie=UTF8&amp;signIn=1" rel="nofollow">Sign in</a> to get personalized recommendations.</span>
+  <span class="navMessage" style="white-space: nowrap;">New customer? <a href="/gp/flex/sign-out.html/ref=pd_irl_gw_r?ie=UTF8&amp;path=%2Fgp%2Fyourstore&amp;signIn=1&amp;useRedirectOnSuccess=1&amp;action=sign-out" rel="nofollow">Start here</a>.</span>
+</div></td>
+        <td align="left">&nbsp;</td>
+        <td id="navSwmSlot" align="right" valign="center" height="26">
+<style>
+/* general code */
+#marqueepd-outer { display: none; }
+#marqueepd-outer, #marqueepd-inner {
+width: 100%;
+height: 250px;
+padding: 0;
+margin: 0;
+visibility: hidden;
+}
+#marqueepd-wrapper {
+display: none;
+width: 100%;
+height: 0px;
+padding: 0;
+margin: 0;
+background: #030812;
+}
+#marqueepd-inner {
+min-width: 980px;
+position: relative;
+text-align: center;
+}
+.adNoOutline {
+outline: none;
+}
+#marqueepd-outer {
+width: 99%;
+background: #030812;
+position: absolute;
+z-index: 2;
+}
+/* ad-specific code */
+#nav-sitewide-msg_443-close-button_img, #nav-sitewide-msg_443-close-button {
+height: 35px;
+width: 95px;
+position: absolute;
+}
+#nav-sitewide-msg_443-close-button_img {
+border: none;
+right: 0;
+top: 0;
+/* margin: 7px 17px 7px 7px; */
+}
+#nav-sitewide-msg_443-close-button {
+right: 17px;
+top: 0pt;
+background-image: url(http://g-ecx.images-amazon.com/images/G/01/erm/marqueePushdown/motorola/close._V216169513_.png);
+z-index: 999;
+cursor: pointer;
+}
+#nav-sitewide-msg_443_movie_wrap {
+height: 250px;
+width: 980px;
+margin: 0 auto 0 auto;
+visibility: hidden;
+}
+</style>
+
+
+
+<script type="text/javascript">
+if(typeof amznJQ !== "undefined"){
+    if (typeof window.d16g === "undefined") { 
+        window.d16g = {};
+        d16g.adDebug = false;
+
+d16g.loadJs = function(jsUrl) {
+    var scriptElem = document.createElement('script'); 
+    scriptElem.src = jsUrl;
+    document.getElementsByTagName('head')[0].appendChild(scriptElem);
+};        
+
+/* The following is a global declarations comment that is used by JSLint to recognize global variables */
+/*global window,document,navigator,Image,ActiveXObject,console,swfobject,jQuery,amznJQ,d16g*/
+
+/* d16g init */
+d16g.types = {};
+d16g.ads = {};
+
+d16g.adFeedback = {};
+
+d16g.adFeedback.constants = function(){
+    return  {
+               USER_ACTION:"userAction",
+               WIDGET_OPEN:"widgetOpened",
+               WIDGET_SUBMITTED:"widgetSubmitted",
+               CHAR_LIMIT:1000
+        };
+};
+
+d16g.adFeedback.logOpen = function(my){
+    var constants = d16g.adFeedback.constants();
+    var params = d16g.adFeedback.getMetaData(my);
+    params[constants.USER_ACTION] = constants.WIDGET_OPEN;
+    d16g.adFeedback.sendClog(params);        
+};
+
+d16g.adFeedback.log = function(my){ 
+   var constants = d16g.adFeedback.constants(); 
+   var params = d16g.adFeedback.getMetaData(my);
+   var feedbackContainerId = "#adfeedbackpopover" + my.randomId;
+     
+   params[constants.USER_ACTION] = constants.WIDGET_SUBMITTED;
+   
+   jQuery(feedbackContainerId + " input").each(function(){
+     if ((this.type === "radio") || (this.type === "checkbox")) {
+         if (this.checked) {
+             params[this.name] = this.value;
+         }
+         // get data from text/hidden inputs
+         } else {
+             params[this.name] = this.value;
+        }
+    });
+    // get the data from textareas
+    jQuery(feedbackContainerId + " textarea").each(function(){
+        var tmp = this.value.substring(0, constants.CHAR_LIMIT);
+        if(my.locale.toLowerCase() === "ja_jp" ){
+           params[this.name] = d16g.Base64.encodeBinary(tmp);
+        }else{
+           params[this.name] = tmp;
+        }
+    });
+    // get the data from selects
+               
+    jQuery(feedbackContainerId + " select").each(function(){
+        params[this.name] = this.value;
+    });
+   
+    d16g.adFeedback.sendClog(params);
+};
+
+
+d16g.adFeedback.getMetaData = function(my){
+    var params = {};
+    params.browser = navigator.userAgent;
+    params.impressionId = my.impressionId;
+       params.pagetype = my.pageType;
+       params.pagesubtype = my.pageSubType;
+       params.slot = my.slotName;
+    params.questionGroupId = my.questionGroupId;
+    params.screenRes = "h=" + jQuery(window).height() + ",w=" + jQuery(window).width();
+    params.adContentId = my.adContentId;
+    ids = d16g.adFeedback.getCreativeIdentifiers(my);
+    params.cid = ids.cid;
+    params.adId = ids.adId;
+    return params;
+};
+
+d16g.adFeedback.getCreativeIdentifiers = function(my){
+    var retVal = {};
+    var iframeSel = "#cachebust_" + my.randomId;
+    jQuery(iframeSel).contents().each( function() {
+        retVal.cid  = jQuery.trim(jQuery(this).find(".d16g-ad-info > .d16g-cid").html());
+        retVal.adId = jQuery.trim(jQuery(this).find(".d16g-ad-info > .d16g-aid").html());
+    });
+    return retVal;
+}
+
+d16g.adFeedback.sendClog = function(params){
+       //log it!       
+    d16g.log("data to be logged:", this);
+    for (var i in params) {
+        if (params.hasOwnProperty(i)) {
+            d16g.log('key is: ' + i + ', value is: ' + params[i], this);
+        }
+    }
+    if (typeof(window.clientLogger) != 'undefined') {
+        d16g.log("sendingCLOG", this);
+        window.clientLogger.sendCLOGEntry("displayad", "feedback", params);
+    }
+};
+/*
+$Id: //brazil/src/appgroup/advertising/apps/GrandPrixAdTemplates/prerelease/templates/amazon/d16g/createAd.ftl#4 $
+$Revision: #4 $
+$Author: ranton $
+$Change: 2775711 $
+$DateTime: 2009/11/11 00:11:23 $
+*/
+
+/**
+* createAd: generates a new ad with adId and adds to the d16g.ads object
+* @param adId string 
+* @return void
+*/
+d16g.createAd = function (configHash) {
+    d16g.log("d16g.createAd(" + configHash + ")");
+    
+    d16g.createEventQueue('reposition');
+    
+    var ad = d16g.make(d16g.types.Ad);
+    ad.adId = configHash.adId;
+    ad.adName = configHash.adName;
+    ad.getLabel =  function () { return 'd16g.ads["' + this.adName + '"]'; };
+    ad.adType = configHash.adType;
+    d16g.log('.createAd(): ad instantiated, adName= "' + ad.adName + '"', this);
+    ad.createStateMachine(configHash.initialState, configHash.model);
+    var i;
+    for(i = 0; i < configHash.components.length; i++) {
+        ad.createComponent(configHash.components[i]);
+    }
+    var cb = configHash.callbacks;
+    for(i = 0; i < cb.length; i++) {
+        var statement = 'ad.components["' + cb[i][2] + '"].' + cb[i][1];
+        var func = eval(statement); // despite being 'evil', this eval is necessary to get a dynamically-generated reference to a javascript function
+        ad.stateMachine.onState(cb[i][0], func);
+    }
+    ad.clickUrls = {};
+    var cu = configHash.clickUrls;
+    for(var key in cu) {
+        ad.clickUrls[key] = cu[key].urls;
+        d16g.log('.createAd(): added "' + key + '" clickUrl', this);
+    }
+    this.ads[configHash.adName] = ad;
+    d16g.log(ad.getLabel() + ' added to d16g object');
+};
+d16g.loadJs = function(jsUrl) {
+    var scriptElem = document.createElement('script'); 
+    scriptElem.src = jsUrl;
+    document.getElementsByTagName('head')[0].appendChild(scriptElem);
+};/*
+$Id: //brazil/src/appgroup/advertising/apps/GrandPrixAdTemplates/prerelease/templates/amazon/d16g/logging.ftl#2 $
+$Revision: #2 $
+$Author: asaurav $
+$Change: 2752128 $
+$DateTime: 2009/10/30 00:41:20 $
+*/
+
+// logging methods
+d16g.getLabel = function() { return "d16g"; };
+
+/**
+* The getLabel() method of the passed object will be prepended to the error msg, if defined.
+* user can directly append label with method name and/or include : in the msg param
+* both examples below produce the same results...
+* example1: d16g.log(".myMethod(): here is my message", this);
+* example2: d16g.log(this.getLabel() + ".myMethod(): here is my message");
+*/
+d16g.getLogMsg = function(msg, that) { 
+    if (typeof that !== "undefined" && typeof that.getLabel === "function"){
+        return that.getLabel() + msg;
+    } else{
+        return msg;
+    }
+};
+
+d16g.log = function (msg, that) { 
+    if (typeof console !== 'undefined' && typeof console.log === 'function' && d16g.adDebug === true) {
+        console.log(d16g.getLogMsg(msg, that));
+    }
+};
+d16g.warn = function (msg, that) { 
+    if (typeof console !== 'undefined' && typeof console.warn === 'function' && d16g.adDebug === true)  {
+        console.warn(d16g.getLogMsg(msg, that));
+    }
+};
+d16g.info = function (msg, that) { 
+    if (typeof console !== 'undefined' && typeof console.info === 'function' && d16g.adDebug === true) {
+        console.info(d16g.getLogMsg(msg, that));
+    }
+};
+d16g.error = function (msg, that) { 
+    if (typeof console !== 'undefined' && typeof console.error === 'function' && d16g.adDebug === true) {
+        console.error(d16g.getLogMsg(msg, that));
+    }
+};
+d16g.objToString = function (o) { 
+    if (d16g.adDebug === true) {
+        var out = "";
+        var comma = false;
+        for (var k in o) { 
+            if (true) { // for JSLint
+                if (comma === true) { out += ', '; } else { comma = true; }
+                out += k + ':' + o[k];
+            }
+        }
+    }
+    return out;
+};
+
+d16g.arrToString = function (a) {
+    if (d16g.adDebug === true) {
+        var out = "";
+        var comma = false;
+        for (var i=0; i<a.length; i++) { 
+            if (true) { // for JSLint
+                if (comma === true) { out += ', '; } else { comma = true; }
+                out += a[i];
+            }
+        }
+    }
+    return out;
+};
+/*
+$Id: //brazil/src/appgroup/advertising/apps/GrandPrixAdTemplates/prerelease/templates/amazon/d16g/swfobject.ftl#3 $
+$Revision: #3 $
+$Author: asaurav $
+$Change: 2752128 $
+$DateTime: 2009/10/30 00:41:20 $
+
+# Description: This is the swfobject source code as is.
+*/
+
+/* SWFObject v2.2 <http://code.google.com/p/swfobject/> 
+is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 
+*/
+
+d16g.swfobject = function() {
+
+var UNDEF = "undefined",
+       OBJECT = "object",
+       SHOCKWAVE_FLASH = "Shockwave Flash",
+       SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash",
+       FLASH_MIME_TYPE = "application/x-shockwave-flash",
+       EXPRESS_INSTALL_ID = "SWFObjectExprInst",
+       ON_READY_STATE_CHANGE = "onreadystatechange",
+       
+       win = window,
+       doc = document,
+       nav = navigator,
+       
+       plugin = false,
+       domLoadFnArr = [main],
+       regObjArr = [],
+       objIdArr = [],
+       listenersArr = [],
+       storedAltContent,
+       storedAltContentId,
+       storedCallbackFn,
+       storedCallbackObj,
+       isDomLoaded = false,
+       isExpressInstallActive = false,
+       dynamicStylesheet,
+       dynamicStylesheetMedia,
+       autoHideShow = true,
+
+/* Centralized function for browser feature detection
+       - User agent string detection is only used when no good alternative is possible
+       - Is executed directly for optimal performance
+*/     
+ua = function() {
+       var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF,
+               u = nav.userAgent.toLowerCase(),
+               p = nav.platform.toLowerCase(),
+               windows = p ? /win/.test(p) : /win/.test(u),
+               mac = p ? /mac/.test(p) : /mac/.test(u),
+               webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, // returns either the webkit version or false if not webkit
+               ie = !+"\v1", // feature detection based on Andrea Giammarchi's solution: http://webreflection.blogspot.com/2009/01/32-bytes-to-know-if-your-browser-is-ie.html
+               playerVersion = [0,0,0],
+               d = null;
+       if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) {
+               d = nav.plugins[SHOCKWAVE_FLASH].description;
+               if (d && !(typeof nav.mimeTypes != UNDEF && nav.mimeTypes[FLASH_MIME_TYPE] && !nav.mimeTypes[FLASH_MIME_TYPE].enabledPlugin)) { // navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin indicates whether plug-ins are enabled or disabled in Safari 3+
+                       plugin = true;
+                       ie = false; // cascaded feature detection for Internet Explorer
+                       d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
+                       playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10);
+                       playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10);
+                       playerVersion[2] = /[a-zA-Z]/.test(d) ? parseInt(d.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0;
+               }
+       }
+       else if (typeof win.ActiveXObject != UNDEF) {
+               try {
+                       var a = new ActiveXObject(SHOCKWAVE_FLASH_AX);
+                       if (a) { // a will return null when ActiveX is disabled
+                               d = a.GetVariable("$version");
+                               if (d) {
+                                       ie = true; // cascaded feature detection for Internet Explorer
+                                       d = d.split(" ")[1].split(",");
+                                       playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
+                               }
+                       }
+               }
+               catch(e) {}
+       }
+       return { w3:w3cdom, pv:playerVersion, wk:webkit, ie:ie, win:windows, mac:mac };
+}(),
+
+/* Cross-browser onDomLoad
+       - Will fire an event as soon as the DOM of a web page is loaded
+       - Internet Explorer workaround based on Diego Perini's solution: http://javascript.nwbox.com/IEContentLoaded/
+       - Regular onload serves as fallback
+*/ 
+onDomLoad = function() {
+       if (!ua.w3) { return; }
+       if ((typeof doc.readyState != UNDEF && doc.readyState == "complete") || (typeof doc.readyState == UNDEF && (doc.getElementsByTagName("body")[0] || doc.body))) { // function is fired after onload, e.g. when script is inserted dynamically 
+               callDomLoadFunctions();
+       }
+       if (!isDomLoaded) {
+               if (typeof doc.addEventListener != UNDEF) {
+                       doc.addEventListener("DOMContentLoaded", callDomLoadFunctions, false);
+               }               
+               if (ua.ie && ua.win) {
+                       doc.attachEvent(ON_READY_STATE_CHANGE, function() {
+                               if (doc.readyState == "complete") {
+                                       doc.detachEvent(ON_READY_STATE_CHANGE, arguments.callee);
+                                       callDomLoadFunctions();
+                               }
+                       });
+                       if (win == top) { // if not inside an iframe
+                               (function(){
+                                       if (isDomLoaded) { return; }
+                                       try {
+                                               doc.documentElement.doScroll("left");
+                                       }
+                                       catch(e) {
+                                               setTimeout(arguments.callee, 0);
+                                               return;
+                                       }
+                                       callDomLoadFunctions();
+                               })();
+                       }
+               }
+               if (ua.wk) {
+                       (function(){
+                               if (isDomLoaded) { return; }
+                               if (!/loaded|complete/.test(doc.readyState)) {
+                                       setTimeout(arguments.callee, 0);
+                                       return;
+                               }
+                               callDomLoadFunctions();
+                       })();
+               }
+               addLoadEvent(callDomLoadFunctions);
+       }
+}();
+
+function callDomLoadFunctions() {
+       if (isDomLoaded) { return; }
+       try { // test if we can really add/remove elements to/from the DOM; we don't want to fire it too early
+               var t = doc.getElementsByTagName("body")[0].appendChild(createElement("span"));
+               t.parentNode.removeChild(t);
+       }
+       catch (e) { return; }
+       isDomLoaded = true;
+       var dl = domLoadFnArr.length;
+       for (var i = 0; i < dl; i++) {
+               domLoadFnArr[i]();
+       }
+}
+
+function addDomLoadEvent(fn) {
+       if (isDomLoaded) {
+               fn();
+       }
+       else { 
+               domLoadFnArr[domLoadFnArr.length] = fn; // Array.push() is only available in IE5.5+
+       }
+}
+
+/* Cross-browser onload
+       - Based on James Edwards' solution: http://brothercake.com/site/resources/scripts/onload/
+       - Will fire an event as soon as a web page including all of its assets are loaded 
+ */
+function addLoadEvent(fn) {
+       if (typeof win.addEventListener != UNDEF) {
+               win.addEventListener("load", fn, false);
+       }
+       else if (typeof doc.addEventListener != UNDEF) {
+               doc.addEventListener("load", fn, false);
+       }
+       else if (typeof win.attachEvent != UNDEF) {
+               addListener(win, "onload", fn);
+       }
+       else if (typeof win.onload == "function") {
+               var fnOld = win.onload;
+               win.onload = function() {
+                       fnOld();
+                       fn();
+               };
+       }
+       else {
+               win.onload = fn;
+       }
+}
+
+/* Main function
+       - Will preferably execute onDomLoad, otherwise onload (as a fallback)
+*/
+function main() { 
+       if (plugin) {
+               testPlayerVersion();
+       }
+       else {
+               matchVersions();
+       }
+}
+
+/* Detect the Flash Player version for non-Internet Explorer browsers
+       - Detecting the plug-in version via the object element is more precise than using the plugins collection item's description:
+         a. Both release and build numbers can be detected
+         b. Avoid wrong descriptions by corrupt installers provided by Adobe
+         c. Avoid wrong descriptions by multiple Flash Player entries in the plugin Array, caused by incorrect browser imports
+       - Disadvantage of this method is that it depends on the availability of the DOM, while the plugins collection is immediately available
+*/
+function testPlayerVersion() {
+       var b = doc.getElementsByTagName("body")[0];
+       var o = createElement(OBJECT);
+       o.setAttribute("type", FLASH_MIME_TYPE);
+       var t = b.appendChild(o);
+       if (t) {
+               var counter = 0;
+               (function(){
+                       if (typeof t.GetVariable != UNDEF) {
+                               var d = t.GetVariable("$version");
+                               if (d) {
+                                       d = d.split(" ")[1].split(",");
+                                       ua.pv = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
+                               }
+                       }
+                       else if (counter < 10) {
+                               counter++;
+                               setTimeout(arguments.callee, 10);
+                               return;
+                       }
+                       b.removeChild(o);
+                       t = null;
+                       matchVersions();
+               })();
+       }
+       else {
+               matchVersions();
+       }
+}
+
+/* Perform Flash Player and SWF version matching; static publishing only
+*/
+function matchVersions() {
+       var rl = regObjArr.length;
+       if (rl > 0) {
+               for (var i = 0; i < rl; i++) { // for each registered object element
+                       var id = regObjArr[i].id;
+                       var cb = regObjArr[i].callbackFn;
+                       var cbObj = {success:false, id:id};
+                       if (ua.pv[0] > 0) {
+                               var obj = getElementById(id);
+                               if (obj) {
+                                       if (hasPlayerVersion(regObjArr[i].swfVersion) && !(ua.wk && ua.wk < 312)) { // Flash Player version >= published SWF version: Houston, we have a match!
+                                               setVisibility(id, true);
+                                               if (cb) {
+                                                       cbObj.success = true;
+                                                       cbObj.ref = getObjectById(id);
+                                                       cb(cbObj);
+                                               }
+                                       }
+                                       else if (regObjArr[i].expressInstall && canExpressInstall()) { // show the Adobe Express Install dialog if set by the web page author and if supported
+                                               var att = {};
+                                               att.data = regObjArr[i].expressInstall;
+                                               att.width = obj.getAttribute("width") || "0";
+                                               att.height = obj.getAttribute("height") || "0";
+                                               if (obj.getAttribute("class")) { att.styleclass = obj.getAttribute("class"); }
+                                               if (obj.getAttribute("align")) { att.align = obj.getAttribute("align"); }
+                                               // parse HTML object param element's name-value pairs
+                                               var par = {};
+                                               var p = obj.getElementsByTagName("param");
+                                               var pl = p.length;
+                                               for (var j = 0; j < pl; j++) {
+                                                       if (p[j].getAttribute("name").toLowerCase() != "movie") {
+                                                               par[p[j].getAttribute("name")] = p[j].getAttribute("value");
+                                                       }
+                                               }
+                                               showExpressInstall(att, par, id, cb);
+                                       }
+                                       else { // Flash Player and SWF version mismatch or an older Webkit engine that ignores the HTML object element's nested param elements: display alternative content instead of SWF
+                                               displayAltContent(obj);
+                                               if (cb) { cb(cbObj); }
+                                       }
+                               }
+                       }
+                       else {  // if no Flash Player is installed or the fp version cannot be detected we let the HTML object element do its job (either show a SWF or alternative content)
+                               setVisibility(id, true);
+                               if (cb) {
+                                       var o = getObjectById(id); // test whether there is an HTML object element or not
+                                       if (o && typeof o.SetVariable != UNDEF) { 
+                                               cbObj.success = true;
+                                               cbObj.ref = o;
+                                       }
+                                       cb(cbObj);
+                               }
+                       }
+               }
+       }
+}
+
+function getObjectById(objectIdStr) {
+       var r = null;
+       var o = getElementById(objectIdStr);
+       if (o && o.nodeName == "OBJECT") {
+               if (typeof o.SetVariable != UNDEF) {
+                       r = o;
+               }
+               else {
+                       var n = o.getElementsByTagName(OBJECT)[0];
+                       if (n) {
+                               r = n;
+                       }
+               }
+       }
+       return r;
+}
+
+/* Requirements for Adobe Express Install
+       - only one instance can be active at a time
+       - fp 6.0.65 or higher
+       - Win/Mac OS only
+       - no Webkit engines older than version 312
+*/
+function canExpressInstall() {
+       return !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac) && !(ua.wk && ua.wk < 312);
+}
+
+/* Show the Adobe Express Install dialog
+       - Reference: http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=6a253b75
+*/
+function showExpressInstall(att, par, replaceElemIdStr, callbackFn) {
+       isExpressInstallActive = true;
+       storedCallbackFn = callbackFn || null;
+       storedCallbackObj = {success:false, id:replaceElemIdStr};
+       var obj = getElementById(replaceElemIdStr);
+       if (obj) {
+               if (obj.nodeName == "OBJECT") { // static publishing
+                       storedAltContent = abstractAltContent(obj);
+                       storedAltContentId = null;
+               }
+               else { // dynamic publishing
+                       storedAltContent = obj;
+                       storedAltContentId = replaceElemIdStr;
+               }
+               att.id = EXPRESS_INSTALL_ID;
+               if (typeof att.width == UNDEF || (!/%$/.test(att.width) && parseInt(att.width, 10) < 310)) { att.width = "310"; }
+               if (typeof att.height == UNDEF || (!/%$/.test(att.height) && parseInt(att.height, 10) < 137)) { att.height = "137"; }
+               doc.title = doc.title.slice(0, 47) + " - Flash Player Installation";
+               var pt = ua.ie && ua.win ? "ActiveX" : "PlugIn",
+                       fv = "MMredirectURL=" + win.location.toString().replace(/&/g,"%26") + "&MMplayerType=" + pt + "&MMdoctitle=" + doc.title;
+               if (typeof par.flashvars != UNDEF) {
+                       par.flashvars += "&" + fv;
+               }
+               else {
+                       par.flashvars = fv;
+               }
+               // IE only: when a SWF is loading (AND: not available in cache) wait for the readyState of the object element to become 4 before removing it,
+               // because you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work
+               if (ua.ie && ua.win && obj.readyState != 4) {
+                       var newObj = createElement("div");
+                       replaceElemIdStr += "SWFObjectNew";
+                       newObj.setAttribute("id", replaceElemIdStr);
+                       obj.parentNode.insertBefore(newObj, obj); // insert placeholder div that will be replaced by the object element that loads expressinstall.swf
+                       obj.style.display = "none";
+                       (function(){
+                               if (obj.readyState == 4) {
+                                       obj.parentNode.removeChild(obj);
+                               }
+                               else {
+                                       setTimeout(arguments.callee, 10);
+                               }
+                       })();
+               }
+               createSWF(att, par, replaceElemIdStr);
+       }
+}
+
+/* Functions to abstract and display alternative content
+*/
+function displayAltContent(obj) {
+       if (ua.ie && ua.win && obj.readyState != 4) {
+               // IE only: when a SWF is loading (AND: not available in cache) wait for the readyState of the object element to become 4 before removing it,
+               // because you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work
+               var el = createElement("div");
+               obj.parentNode.insertBefore(el, obj); // insert placeholder div that will be replaced by the alternative content
+               el.parentNode.replaceChild(abstractAltContent(obj), el);
+               obj.style.display = "none";
+               (function(){
+                       if (obj.readyState == 4) {
+                               obj.parentNode.removeChild(obj);
+                       }
+                       else {
+                               setTimeout(arguments.callee, 10);
+                       }
+               })();
+       }
+       else {
+               obj.parentNode.replaceChild(abstractAltContent(obj), obj);
+       }
+} 
+
+function abstractAltContent(obj) {
+       var ac = createElement("div");
+       if (ua.win && ua.ie) {
+               ac.innerHTML = obj.innerHTML;
+       }
+       else {
+               var nestedObj = obj.getElementsByTagName(OBJECT)[0];
+               if (nestedObj) {
+                       var c = nestedObj.childNodes;
+                       if (c) {
+                               var cl = c.length;
+                               for (var i = 0; i < cl; i++) {
+                                       if (!(c[i].nodeType == 1 && c[i].nodeName == "PARAM") && !(c[i].nodeType == 8)) {
+                                               ac.appendChild(c[i].cloneNode(true));
+                                       }
+                               }
+                       }
+               }
+       }
+       return ac;
+}
+
+/* Cross-browser dynamic SWF creation
+*/
+function createSWF(attObj, parObj, id) {
+       var r, el = getElementById(id);
+       if (ua.wk && ua.wk < 312) { return r; }
+       if (el) {
+               if (typeof attObj.id == UNDEF) { // if no 'id' is defined for the object element, it will inherit the 'id' from the alternative content
+                       attObj.id = id;
+               }
+               if (ua.ie && ua.win) { // Internet Explorer + the HTML object element + W3C DOM methods do not combine: fall back to outerHTML
+                       var att = "";
+                       for (var i in attObj) {
+                               if (attObj[i] != Object.prototype[i]) { // filter out prototype additions from other potential libraries
+                                       if (i.toLowerCase() == "data") {
+                                               parObj.movie = attObj[i];
+                                       }
+                                       else if (i.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
+                                               att += ' class="' + attObj[i] + '"';
+                                       }
+                                       else if (i.toLowerCase() != "classid") {
+                                               att += ' ' + i + '="' + attObj[i] + '"';
+                                       }
+                               }
+                       }
+                       var par = "";
+                       for (var j in parObj) {
+                               if (parObj[j] != Object.prototype[j]) { // filter out prototype additions from other potential libraries
+                                       par += '<param name="' + j + '" value="' + parObj[j] + '" />';
+                               }
+                       }
+                       el.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + att + '>' + par + '</object>';
+                       objIdArr[objIdArr.length] = attObj.id; // stored to fix object 'leaks' on unload (dynamic publishing only)
+                       r = getElementById(attObj.id);  
+               }
+               else { // well-behaving browsers
+                       var o = createElement(OBJECT);
+                       o.setAttribute("type", FLASH_MIME_TYPE);
+                       for (var m in attObj) {
+                               if (attObj[m] != Object.prototype[m]) { // filter out prototype additions from other potential libraries
+                                       if (m.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
+                                               o.setAttribute("class", attObj[m]);
+                                       }
+                                       else if (m.toLowerCase() != "classid") { // filter out IE specific attribute
+                                               o.setAttribute(m, attObj[m]);
+                                       }
+                               }
+                       }
+                       for (var n in parObj) {
+                               if (parObj[n] != Object.prototype[n] && n.toLowerCase() != "movie") { // filter out prototype additions from other potential libraries and IE specific param element
+                                       createObjParam(o, n, parObj[n]);
+                               }
+                       }
+                       el.parentNode.replaceChild(o, el);
+                       r = o;
+               }
+       }
+       return r;
+}
+
+function createObjParam(el, pName, pValue) {
+       var p = createElement("param");
+       p.setAttribute("name", pName);  
+       p.setAttribute("value", pValue);
+       el.appendChild(p);
+}
+
+/* Cross-browser SWF removal
+       - Especially needed to safely and completely remove a SWF in Internet Explorer
+*/
+function removeSWF(id) {
+       var obj = getElementById(id);
+       if (obj && obj.nodeName == "OBJECT") {
+               if (ua.ie && ua.win) {
+                       obj.style.display = "none";
+                       (function(){
+                               if (obj.readyState == 4) {
+                                       removeObjectInIE(id);
+                               }
+                               else {
+                                       setTimeout(arguments.callee, 10);
+                               }
+                       })();
+               }
+               else {
+                       obj.parentNode.removeChild(obj);
+               }
+       }
+}
+
+function removeObjectInIE(id) {
+       var obj = getElementById(id);
+       if (obj) {
+               for (var i in obj) {
+                       if (typeof obj[i] == "function") {
+                               obj[i] = null;
+                       }
+               }
+               obj.parentNode.removeChild(obj);
+       }
+}
+
+/* Functions to optimize JavaScript compression
+*/
+function getElementById(id) {
+       var el = null;
+       try {
+               el = doc.getElementById(id);
+       }
+       catch (e) {}
+       return el;
+}
+
+function createElement(el) {
+       return doc.createElement(el);
+}
+
+/* Updated attachEvent function for Internet Explorer
+       - Stores attachEvent information in an Array, so on unload the detachEvent functions can be called to avoid memory leaks
+*/     
+function addListener(target, eventType, fn) {
+       target.attachEvent(eventType, fn);
+       listenersArr[listenersArr.length] = [target, eventType, fn];
+}
+
+/* Flash Player and SWF content version matching
+*/
+function hasPlayerVersion(rv) {
+       var pv = ua.pv, v = rv.split(".");
+       v[0] = parseInt(v[0], 10);
+       v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g. "9" instead of "9.0.0"
+       v[2] = parseInt(v[2], 10) || 0;
+       return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false;
+}
+
+/* Cross-browser dynamic CSS creation
+       - Based on Bobby van der Sluis' solution: http://www.bobbyvandersluis.com/articles/dynamicCSS.php
+*/     
+function createCSS(sel, decl, media, newStyle) {
+       if (ua.ie && ua.mac) { return; }
+       var h = doc.getElementsByTagName("head")[0];
+       if (!h) { return; } // to also support badly authored HTML pages that lack a head element
+       var m = (media && typeof media == "string") ? media : "screen";
+       if (newStyle) {
+               dynamicStylesheet = null;
+               dynamicStylesheetMedia = null;
+       }
+       if (!dynamicStylesheet || dynamicStylesheetMedia != m) { 
+               // create dynamic stylesheet + get a global reference to it
+               var s = createElement("style");
+               s.setAttribute("type", "text/css");
+               s.setAttribute("media", m);
+               dynamicStylesheet = h.appendChild(s);
+               if (ua.ie && ua.win && typeof doc.styleSheets != UNDEF && doc.styleSheets.length > 0) {
+                       dynamicStylesheet = doc.styleSheets[doc.styleSheets.length - 1];
+               }
+               dynamicStylesheetMedia = m;
+       }
+       // add style rule
+       if (ua.ie && ua.win) {
+               if (dynamicStylesheet && typeof dynamicStylesheet.addRule == OBJECT) {
+                       dynamicStylesheet.addRule(sel, decl);
+               }
+       }
+       else {
+               if (dynamicStylesheet && typeof doc.createTextNode != UNDEF) {
+                       dynamicStylesheet.appendChild(doc.createTextNode(sel + " {" + decl + "}"));
+               }
+       }
+}
+
+function setVisibility(id, isVisible) {
+       if (!autoHideShow) { return; }
+       var v = isVisible ? "visible" : "hidden";
+       if (isDomLoaded && getElementById(id)) {
+               getElementById(id).style.visibility = v;
+       }
+       else {
+               createCSS("#" + id, "visibility:" + v);
+       }
+}
+
+/* Filter to avoid XSS attacks
+*/
+function urlEncodeIfNecessary(s) {
+       var regex = /[\\\"<>\.;]/;
+       var hasBadChars = regex.exec(s) != null;
+       return hasBadChars && typeof encodeURIComponent != UNDEF ? encodeURIComponent(s) : s;
+}
+
+/* Release memory to avoid memory leaks caused by closures, fix hanging audio/video threads and force open sockets/NetConnections to disconnect (Internet Explorer only)
+*/
+var cleanup = function() {
+       if (ua.ie && ua.win) {
+               window.attachEvent("onunload", function() {
+                       // remove listeners to avoid memory leaks
+                       var ll = listenersArr.length;
+                       for (var i = 0; i < ll; i++) {
+                               listenersArr[i][0].detachEvent(listenersArr[i][1], listenersArr[i][2]);
+                       }
+                       // cleanup dynamically embedded objects to fix audio/video threads and force open sockets and NetConnections to disconnect
+                       var il = objIdArr.length;
+                       for (var j = 0; j < il; j++) {
+                               removeSWF(objIdArr[j]);
+                       }
+                       // cleanup library's main closures to avoid memory leaks
+                       for (var k in ua) {
+                               ua[k] = null;
+                       }
+                       ua = null;
+                       for (var l in d16g.swfobject) {
+                               d16g.swfobject[l] = null;
+                       }
+                       d16g.swfobject = null;
+               });
+       }
+}();
+
+return {
+       /* Public API
+               - Reference: http://code.google.com/p/swfobject/wiki/documentation
+       */ 
+       registerObject: function(objectIdStr, swfVersionStr, xiSwfUrlStr, callbackFn) {
+               if (ua.w3 && objectIdStr && swfVersionStr) {
+                       var regObj = {};
+                       regObj.id = objectIdStr;
+                       regObj.swfVersion = swfVersionStr;
+                       regObj.expressInstall = xiSwfUrlStr;
+                       regObj.callbackFn = callbackFn;
+                       regObjArr[regObjArr.length] = regObj;
+                       setVisibility(objectIdStr, false);
+               }
+               else if (callbackFn) {
+                       callbackFn({success:false, id:objectIdStr});
+               }
+       },
+       
+       getObjectById: function(objectIdStr) {
+               if (ua.w3) {
+                       return getObjectById(objectIdStr);
+               }
+       },
+       
+       embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj, callbackFn) {
+               var callbackObj = {success:false, id:replaceElemIdStr};
+               if (ua.w3 && !(ua.wk && ua.wk < 312) && swfUrlStr && replaceElemIdStr && widthStr && heightStr && swfVersionStr) {
+                       setVisibility(replaceElemIdStr, false);
+                       addDomLoadEvent(function() {
+                               widthStr += ""; // auto-convert to string
+                               heightStr += "";
+                               var att = {};
+                               if (attObj && typeof attObj === OBJECT) {
+                                       for (var i in attObj) { // copy object to avoid the use of references, because web authors often reuse attObj for multiple SWFs
+                                               att[i] = attObj[i];
+                                       }
+                               }
+                               att.data = swfUrlStr;
+                               att.width = widthStr;
+                               att.height = heightStr;
+                               var par = {}; 
+                               if (parObj && typeof parObj === OBJECT) {
+                                       for (var j in parObj) { // copy object to avoid the use of references, because web authors often reuse parObj for multiple SWFs
+                                               par[j] = parObj[j];
+                                       }
+                               }
+                               if (flashvarsObj && typeof flashvarsObj === OBJECT) {
+                                       for (var k in flashvarsObj) { // copy object to avoid the use of references, because web authors often reuse flashvarsObj for multiple SWFs
+                                               if (typeof par.flashvars != UNDEF) {
+                                                       par.flashvars += "&" + k + "=" + flashvarsObj[k];
+                                               }
+                                               else {
+                                                       par.flashvars = k + "=" + flashvarsObj[k];
+                                               }
+                                       }
+                               }
+                               if (hasPlayerVersion(swfVersionStr)) { // create SWF
+                                       var obj = createSWF(att, par, replaceElemIdStr);
+                                       if (att.id == replaceElemIdStr) {
+                                               setVisibility(replaceElemIdStr, true);
+                                       }
+                                       callbackObj.success = true;
+                                       callbackObj.ref = obj;
+                               }
+                               else if (xiSwfUrlStr && canExpressInstall()) { // show Adobe Express Install
+                                       att.data = xiSwfUrlStr;
+                                       showExpressInstall(att, par, replaceElemIdStr, callbackFn);
+                                       return;
+                               }
+                               else { // show alternative content
+                                       setVisibility(replaceElemIdStr, true);
+                               }
+                               if (callbackFn) { callbackFn(callbackObj); }
+                       });
+               }
+               else if (callbackFn) { callbackFn(callbackObj); }
+       },
+       
+       switchOffAutoHideShow: function() {
+               autoHideShow = false;
+       },
+       
+       ua: ua,
+       
+       getFlashPlayerVersion: function() {
+               return { major:ua.pv[0], minor:ua.pv[1], release:ua.pv[2] };
+       },
+       
+       hasFlashPlayerVersion: hasPlayerVersion,
+       
+       createSWF: function(attObj, parObj, replaceElemIdStr) {
+               if (ua.w3) {
+                       return createSWF(attObj, parObj, replaceElemIdStr);
+               }
+               else {
+                       return undefined;
+               }
+       },
+       
+       showExpressInstall: function(att, par, replaceElemIdStr, callbackFn) {
+               if (ua.w3 && canExpressInstall()) {
+                       showExpressInstall(att, par, replaceElemIdStr, callbackFn);
+               }
+       },
+       
+       removeSWF: function(objElemIdStr) {
+               if (ua.w3) {
+                       removeSWF(objElemIdStr);
+               }
+       },
+       
+       createCSS: function(selStr, declStr, mediaStr, newStyleBoolean) {
+               if (ua.w3) {
+                       createCSS(selStr, declStr, mediaStr, newStyleBoolean);
+               }
+       },
+       
+       addDomLoadEvent: addDomLoadEvent,
+       
+       addLoadEvent: addLoadEvent,
+       
+       getQueryParamValue: function(param) {
+               var q = doc.location.search || doc.location.hash;
+               if (q) {
+                       if (/\?/.test(q)) { q = q.split("?")[1]; } // strip question mark
+                       if (param == null) {
+                               return urlEncodeIfNecessary(q);
+                       }
+                       var pairs = q.split("&");
+                       for (var i = 0; i < pairs.length; i++) {
+                               if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) {
+                                       return urlEncodeIfNecessary(pairs[i].substring((pairs[i].indexOf("=") + 1)));
+                               }
+                       }
+               }
+               return "";
+       },
+       
+       // For internal usage only
+       expressInstallCallback: function() {
+               if (isExpressInstallActive) {
+                       var obj = getElementById(EXPRESS_INSTALL_ID);
+                       if (obj && storedAltContent) {
+                               obj.parentNode.replaceChild(storedAltContent, obj);
+                               if (storedAltContentId) {
+                                       setVisibility(storedAltContentId, true);
+                                       if (ua.ie && ua.win) { storedAltContent.style.display = "block"; }
+                               }
+                               if (storedCallbackFn) { storedCallbackFn(storedCallbackObj); }
+                       }
+                       isExpressInstallActive = false;
+               } 
+       }
+};
+}();
+d16g.tracking = {};
+
+d16g.tracking.scriptUrls = [];
+
+d16g.tracking.addIFramedScript = function(baseUrl, url){
+    var encodedUrl = escape(url);
+    d16g.tracking.scriptUrls.push({"baseUrl":baseUrl, "url": encodedUrl, "loaded": false});
+};
+
+d16g.tracking.loadIFramedScripts = function() {
+   for(var i=0;i<d16g.tracking.scriptUrls.length;i++){
+        if(!d16g.tracking.scriptUrls[i].loaded) {
+                    var iframe = document.createElement("iframe");
+                    iframe.src = d16g.tracking.scriptUrls[i].baseUrl + "#js=" + d16g.tracking.scriptUrls[i].url;
+                        iframe.height = 0;
+                        iframe.width = 0;
+                        iframe.style.border=0;
+                        iframe.style.margin=0;
+                        document.body.appendChild(iframe);
+                    d16g.tracking.scriptUrls[i].loaded = true;
+        }
+   }
+};
+if(amznJQ !== null){
+    amznJQ.onReady('d16g_JS', function(){d16g.tracking.loadIFramedScripts();});
+}/*
+$Id: //brazil/src/appgroup/advertising/apps/GrandPrixAdTemplates/prerelease/templates/amazon/d16g/utils.ftl#3 $
+$Revision: #3 $
+$Author: ranton $
+$Change: 2775711 $
+$DateTime: 2009/11/11 00:11:23 $
+*/
+
+/**
+* @param function type (constructor function)
+* @return object instance 
+**/
+d16g.make = function (F) {
+    return new F();
+};
+
+/**
+* @param function type (constructor function)
+* @return function type (constructor function)
+**/
+d16g.extend = function(F) {
+    var G = function () {};
+    G.prototype = new F();
+    return G;        
+};
+
+/**
+* parseBool: returns boolean of all the sort-of boolean values
+* @param value boolean, number, or string value to convert
+* @param default boolean bias to which value if the boolean conversion is not defined for a value/datatype
+* @return boolean representation of the value. Any string except '1', 'true', or 'yes' returns false.
+* if value and default are undefined returns undefined. * if value is null and defaultValue is null or undefined null will be returned. 
+*/
+d16g.parseBool = function(value, defaultValue) {
+    var result;
+    if(value === null ) {
+        if(defaultValue !== undefined && defaultValue !== null) {
+            return d16g.parseBool(defaultValue);       
+        } else {
+            d16g.error("d16g.parseBool(): both value and default are null");
+            return null;
+        }
+    }
+    switch (typeof value) {
+        case 'number':
+            result = (value !== 0);
+            break;
+        case 'string':
+            var test = value.toLowerCase();
+            if (test === 'yes' || test === '1' || test === 'true') {
+                result = true;
+            } else {
+                result = false;
+            }
+            break;
+        case 'boolean':
+            result = value;
+            break;
+        // automatic default cases
+        case "undefined":
+            if(defaultValue !== undefined ) {
+                result = d16g.parseBool(defaultValue);
+            } else {
+                d16g.error("d16g.parseBool(): both value and default are undefined");
+            }
+            break;
+        case "function":
+            d16g.error("d16g.parseBool(): value type is a function! Parameter type=" + typeof value + ", value=" + value);
+            break;
+        default:
+            d16g.warn("d16g.parseBool(): value type is not handled explicitly. Parameter type=" + typeof value + ", value=" + value);
+    }
+    return result;
+};
+
+/**
+* defaultBoolFalse: returns false if undefined or not boolean, otherwise value
+* @param value anytype value to convert
+* @return boolean
+*/
+d16g.defaultBoolFalse = function(value) {
+    var result = value;       
+    if (typeof value !== 'boolean') {
+        result = false;
+        d16g.log("d16g.defaultBoolFalse(): Returning false as default. Parameter type=" + typeof value + ", value=" + value);
+    }
+    return result;
+};
+
+/**
+* defaultBoolTrue: returns true if undefined or not boolean, otherwise value
+* @param value anytype value to convert
+* @return boolean
+*/
+d16g.defaultBoolTrue = function(value) {
+    var result = value;       
+    if (typeof value !== 'boolean') {
+        result = true;
+        d16g.log("d16g.defaultBoolTrue(): Returning true as default. Parameter type=" + typeof value + ", value=" + value);
+    }
+    return result;
+};
+
+d16g.eventQueues = {};
+/**
+* d16g.createEventQueue: creates a master event queue for all ads on the page
+* @param eventName string
+* @return void
+*/
+d16g.createEventQueue = function (eventName) {
+       if (typeof d16g.eventQueues[eventName] === "undefined") {
+           d16g.log('.createEventQueue(' + eventName + ')', this);
+           d16g.eventQueues[eventName] = d16g.make(d16g.types.CallbackQueue);
+           d16g.eventQueues[eventName].runOnce = false;
+           d16g.eventQueues[eventName].runAlways = false;
+    }
+};
+d16g.addEventCallback = function (eventName, func) {
+       d16g.log('.addEventCallback(' + eventName + ')', this);
+       d16g.eventQueues[eventName].addCallback(func);
+};
+d16g.triggerEventCallbacks = function (eventName) {
+       d16g.log('.triggerEventCallbacks(' + eventName + ')', this);
+       d16g.eventQueues[eventName].run();
+};
+/*
+$Id: //brazil/src/appgroup/advertising/apps/GrandPrixAdTemplates/prerelease/templates/amazon/d16g/utilsBrowser.ftl#5 $
+$Revision: #5 $
+$Author: asaurav $
+$Change: 2915517 $
+$DateTime: 2010/01/28 18:32:24 $
+
+# Description: detects browsers, determines if browser platform supports ERM
+# This file should be loaded from the d16g-bootstrap freemarker template, so the d16g object should already be instantiated. 
+# deployed to edge cache (Media Central)
+# https://w.amazon.com/?Advertising/D16G/Frontend/Templates#Expandable_Rich_Media_.28ERM.29
+#
+# Copyright (c)2009 Amazon.com, Inc.
+# All rights reserved.
+*/
+
+d16g.isErmSupportedPlatform = function() {
+    d16g.log(this.getLabel() + ".isErmSupportedPlatform()");
+    return d16g.isErmBrowserCompatible() && d16g.isErmFlashCompatible() && !d16g.isBadBrowserPlugin();
+};
+d16g.isBadBrowserPlugin = function() {
+    // This function has been overriden in the _erm-ad-js-overrides.ftl file.
+    // Should be removed after Skype is fully tested to work with ERM.
+    var result = false;
+    if(d16g.allowSkype === false) {    
+        try {
+            // Skype on Firefox 3 causes the ERM to halt.
+            if (jQuery.browser.mozilla && typeof(navigator.mimeTypes["application/x-skype"]) === "object") {
+                result = true;
+                d16g.warn(this.getLabel() + ".isBadBrowserPlugin(): Skype extension detected, abandoning ERM rendering");
+            }
+        } catch(e) {
+            // Only BAD browsers are throwing exceptions
+            result = true;
+        }
+    }
+    return result;
+};
+d16g.isErmBrowserCompatible = function() {
+    d16g.log(this.getLabel() + ".isErmBrowserCompatible()");
+    var isCompatible = false;
+    var platform = navigator.platform;
+    if (platform.indexOf('Win') != -1) {
+        if (jQuery.browser.msie && parseFloat(jQuery.browser.version.substr(0,3)) >= 6) {
+            isCompatible = true;
+        }
+        else if (jQuery.browser.mozilla && parseFloat(jQuery.browser.version.substr(0,3)) >= 1.9) {
+            isCompatible = true;
+        }
+    } else if (platform.indexOf('Mac') != -1) {
+        if (jQuery.browser.safari || 
+                (jQuery.browser.mozilla && parseFloat(jQuery.browser.version.substr(0,3)) >= 1.9)) {
+            isCompatible = true;
+        }
+    }
+    
+    // Allow Chrome on Win and Mac
+    if (navigator.userAgent.indexOf("Chrome") > 0 &&
+            (platform.indexOf('Win') != -1 || platform.indexOf('Mac') != -1)) {
+        if (d16g.allowChrome === true) {
+            d16g.log(this.getLabel() + ": Detected Chrome and allowChrome is true, continuing...");
+            isCompatible = true;
+        } else {
+            d16g.log(this.getLabel() + ": Detected Chrome and allowChrome is false, aborting...");
+            isCompatible = false;
+        }
+    }
+    
+    return isCompatible;
+};
+d16g.isErmFlashCompatible = function () {
+    var method = ".isErmFlashCompatible()";
+    d16g.log(this.getLabel() + method);
+    var isCompatible = false;
+    var ermFlashVersion = false;
+    // Flash player installed?
+    if((navigator.platform.substr(0,3).toLowerCase().indexOf("win") != -1) && jQuery.browser.msie) {
+        ermFlashVersion = d16g.getFlashActiveXVersion();
+    } else {
+        ermFlashVersion = d16g.getFlashPluginVersion();
+    }
+    if (ermFlashVersion) {
+        // check for min version
+        var flashMinVersion = d16g.getFlashMinVersion();
+        if (ermFlashVersion.major > flashMinVersion.major) {
+            d16g.log(this.getLabel() + method + ": Major version > min major");
+            isCompatible = true;
+        } else if (ermFlashVersion.major == flashMinVersion.major) {
+            d16g.log(this.getLabel() + method + ": Major version == min major");
+            if(ermFlashVersion.minor > flashMinVersion.minor) {
+                d16g.log(this.getLabel() + method + ": Minor version > min minor");
+                isCompatible = true;
+            } else if (ermFlashVersion.minor == flashMinVersion.minor && ermFlashVersion.rev >= flashMinVersion.rev) {
+                d16g.log(this.getLabel() + method + ": Minor version == min minor and rev >= min rev");
+                isCompatible = true;
+            }
+        }
+    }
+    return isCompatible;
+};
+d16g.getFlashPluginVersion = function() {
+    var method = ".getFlashPluginVersion()";
+    d16g.log(this.getLabel() + method);
+    var ermFlashVersion = false;
+    if (typeof navigator.plugins !== "undefined") {
+        if(typeof navigator.plugins["Shockwave Flash"] !== "undefined") {
+            var pluginName = "Shockwave Flash";
+            var flashVersionRaw = navigator.plugins[pluginName].description.substr(pluginName.length+1);
+            // build version object
+            var versionParts = flashVersionRaw.split(/ +/);
+            var majorMinor = versionParts[0].split(/\./);
+            ermFlashVersion = {
+                major: parseInt(majorMinor[0], 10),
+                minor: parseInt(majorMinor[1], 10),
+                rev: parseInt(versionParts[1].substr(1), 10)
+            };
+        }
+    }
+    return ermFlashVersion;
+};
+d16g.getFlashActiveXVersion = function() {
+    var method = ".getFlashActiveXVersion()";
+    d16g.log(this.getLabel() + method);
+    var flashVersionRaw = "";
+    var ermFlashVersion = false;
+
+    if(jQuery.browser.msie) {
+        // NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry
+        var axo;
+        try {
+            // version will be set for 7.X or greater players
+            axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
+            flashVersionRaw = axo.GetVariable("$version");
+            // build version object
+            var versionParts = flashVersionRaw.split(/ +/);
+            var versionNumbers = versionParts[1].split(/,/);
+            ermFlashVersion = {
+                major: parseInt(versionNumbers[0], 10),
+                minor: parseInt(versionNumbers[1], 10),
+                rev: parseInt(versionNumbers[2], 10)
+            };
+        } catch (e) {
+        }
+    }
+    return ermFlashVersion;
+};
+d16g.getFlashMinVersion = function() {
+    var method = ".getFlashMinVersion()";
+    d16g.log(this.getLabel() + method);
+    var minVersion = {
+        major: 9,
+        minor: 0,
+        rev: 45
+    };    
+    return minVersion;
+};
+/*
+$Id: //brazil/src/appgroup/advertising/apps/GrandPrixAdTemplates/prerelease/templates/amazon/d16g/types/Ad.ftl#4 $
+$Revision: #4 $
+$Author: asaurav $
+$Change: 2752128 $
+$DateTime: 2009/10/30 00:41:20 $
+
+# Description: constructor function and prototype definition for an Ad
+# this file is completely Javascript
+# https://w.amazon.com/?Advertising [TBD]
+#
+*/
+
+/**
+* Type: Ad
+*/
+d16g.types.Ad = function() {
+    this.isLoaded = false;
+    this.components = {};
+    this.pixels = {};
+};
+
+/**
+* recordEvent
+* only trigger pixels once 
+* @param adEvent
+*/
+d16g.types.Ad.prototype.recordEvent = function(adEvent) {
+    d16g.log(this.getLabel() + '.recordEvent("' + adEvent + '")');
+    var thisEvent = this.pixels[adEvent];
+    if(typeof thisEvent !== "undefined") {
+        if (typeof thisEvent.loaded === 'undefined') {
+            d16g.log(this.getLabel() + '.recordEvent(): loading ' + thisEvent.urls.length + ' tracking pixel(s), adEvent="' + adEvent + '", adName="' + this.adName + '"');
+            thisEvent.loaded = [];
+            for (var i = 0; i < thisEvent.urls.length; i++) {
+                if (thisEvent.urls[i] !== "") {
+                    d16g.log(this.getLabel() + ".recordEvent(): now loading pixel url=" + thisEvent.urls[i]);
+                    thisEvent.loaded[i] = new Image(1,1);
+                    thisEvent.loaded[i].src = thisEvent.urls[i];
+                } else {
+                    d16g.warn(this.getLabel() + '.recordEvent(): empty string, urls[' + i + ']=""');
+                }       
+            }
+        }
+    } else {
+        d16g.error(this.getLabel() + '.recordEvent(): pixels["' + adEvent + '"] is not defined for adName="' + this.adName + '"');
+    }
+};
+d16g.types.Ad.prototype.loaded = function () {
+    d16g.log(this.getLabel() + ".loaded()");
+    this.isLoaded = true;
+    this.stateMachine.trigger("isLoaded");
+    this.recordEvent("show");
+};
+
+d16g.types.Ad.prototype.createComponent = function (config) {
+    d16g.log(this.getLabel() + ".createComponent(" + config + ")");
+
+    var component = d16g.make(d16g.types.AdComponent);
+    component.setAd(this);
+    component.setParams(config);
+    var adName = this.adName;
+    var cmpName = component.name; 
+
+    component.getLabel = function () { return this.ad.getLabel() + '.components["' + this.name + '"]'; };
+
+       if(typeof config.init !== "undefined") {
+               d16g.log(".createComponent(): calling init: "+config.init, this);
+               var func = eval(config.init); // unfortunately necessary eval.
+               func(component);
+       }
+       
+    switch(config.contentType) {
+        case "image" : 
+            amznJQ.onReady(adName, function() {component.loadImage();});
+            component.elementId = component.componentId; // automatically generated id
+            component.show = function () { component.showImage(); };
+            component.hide = function () { component.hideImage(); };
+            component.open = function () {  };
+            component.close = function () {  };
+            break;
+        case "html"  : 
+            amznJQ.onReady(adName, function() {component.loadHtml();});
+            //elementId is part of the html config
+            component.elementId = component.componentId; // automatically generated id
+            component.show = function () { component.showHtml(); };
+            component.hide = function () { component.hideHtml(); };
+            component.open = function () { component.openHtml(); };
+            component.close = function () { component.closeHtml(); };
+            break;
+        case "flash" :
+            amznJQ.onReady(adName, function() {component.loadFlash();});
+            component.elementId = component.componentId; // automatically generated id
+            component.show = function () { component.showFlash(); };
+            component.hide = function () { component.hideFlash(); };
+            component.open = function () { component.openFlash(); };
+            component.close = function () { component.closeFlash(); };
+            break;
+        case "static" : 
+            amznJQ.onReady(adName, function() {component.loadStatic();});
+            component.elementId = component.staticId; // the id of the static element already rendered on the page
+            component.show = function () { component.showStatic(); };
+            component.hide = function () { component.hideStatic(); };
+            component.open = function () {  };
+            component.close = function () {  };
+            break;
+    }
+    this.components[cmpName] = component; // save reference to component in ad components object
+    if (component.positioning.type !== "auto") {
+        jQuery(window).bind("resize", function() { component.render(); });
+    }
+
+    d16g.log(component.getLabel() + '.createComponent(): added');
+};
+
+d16g.types.Ad.prototype.clickedOpen = function (){
+    d16g.log(this.getLabel() + ".clickedOpen()");
+    this.stateMachine.trigger("clickedOpen");
+    this.recordEvent("expand");
+};
+d16g.types.Ad.prototype.clickedClose = function (){
+    d16g.log(this.getLabel() + ".clickedClose()");
+    this.stateMachine.trigger("clickedClose");
+    this.recordEvent("collapse");
+};
+d16g.types.Ad.prototype.opened = function (){
+    d16g.log(this.getLabel() + ".opened()");
+    this.stateMachine.trigger("isOpen");
+};
+d16g.types.Ad.prototype.closed = function (){
+    d16g.log(this.getLabel() + ".closed()");
+    this.stateMachine.trigger("isClosed");
+};
+d16g.types.Ad.prototype.trigger = function (name){
+    d16g.log(".trigger(" + name + "): ", this);
+    this.stateMachine.trigger(name);
+};
+
+d16g.types.Ad.prototype.clickedUrl = function (urlKey){
+    d16g.log(this.getLabel() + '.clickedUrl("' + urlKey + '")');
+    if (typeof this.clickUrls === "undefined" || typeof this.clickUrls[urlKey] === "undefined") {
+        d16g.error(this.getLabel() + '.clickedUrl(): clickUrls or clickUrls["' + urlKey + '"] is undefined');
+    } else {
+        var thisUrl = this.clickUrls[urlKey][0];
+        d16g.log('.clickedUrl(): url="' + thisUrl + '"', this);
+        /* This is a loose check but could be overidden with robust regex from the campaign */
+        if ((thisUrl.search(d16g.internalDomainRegex) > 0) || (jQuery.browser.safari))  {
+            d16g.log('.clickedUrl(): changing document location to "' + thisUrl + '"', this);
+            document.location = thisUrl;
+        } else {
+            d16g.log('.clickedUrl(): opening new window to "' + thisUrl + '"', this);
+            window.open(thisUrl);
+        }
+    }
+};
+d16g.types.Ad.prototype.componentLoaded = function () {
+    d16g.log(this.getLabel() + ".componentLoaded()");
+    for(var c in this.components) {
+        if(this.components[c].isLoaded === false) {
+            d16g.log(this.getLabel() + ".componentLoaded(): component " + c + " is not loaded yet...returning.");
+            return;
+        }
+    }
+    d16g.log(this.getLabel() + ".componentLoaded(): components all loaded.");
+    this.loaded();
+};
+
+d16g.types.Ad.prototype.createStateMachine = function (initialState, configModel) {
+    d16g.log(this.getLabel() + ".createStateMachine(" + initialState + ", " + configModel + ")");
+    var stateMachine = d16g.make(d16g.types.StateMachine);
+    stateMachine.setCurrentState(initialState);
+    stateMachine.setModel(configModel);
+    stateMachine.setAd(this);
+    stateMachine.getLabel = function () { return this.ad.getLabel() + '.stateMachine'; };
+
+    this.stateMachine = stateMachine;
+
+    d16g.log(stateMachine.getLabel() + '.createStateMachine(): added, currentState=' + initialState);
+};
+    
+d16g.types.Ad.prototype.getLabel = function () { return "d16g.types.Ad"; };
+
+/**
+* removeComponents(): utility function to remove all HTML elements that are ERM containers from the DOM
+*/
+d16g.types.Ad.prototype.removeComponents = function () {
+       jQuery('[d16gErm]').remove();
+       d16g.error(".removeComponents(): All ERM components removed.", this);
+};
+/*
+$Id: //brazil/src/appgroup/advertising/apps/GrandPrixAdTemplates/prerelease/templates/amazon/d16g/types/AdComponent.ftl#8 $
+$Revision: #8 $
+$Author: pkahrl $
+$Change: 2970555 $
+$DateTime: 2010/02/26 18:25:53 $
+
+# Description: constructor function and prototype definition for an Ad Component
+# this file is completely Javascript
+# https://w.amazon.com/?Advertising [TBD]
+#
+# requires the following Freemarker variables to be defined
+# (source) indicates where the variable is defined
+# * adName (db)
+*/
+
+/**
+* Type: AdComponent
+*/
+d16g.types.AdComponent = function () { 
+    this.isLoaded = false;
+    this.anchor = "";
+    this.html = "";
+    // params defaults
+    this.contentType = "";
+    this.templateFile = "";
+    this.name = "";
+    this.height = {};
+    this.width = {};
+    this.actualWidth = 0;
+    this.clip = {};
+    this.positioning = {};
+    this.resizeWidth = {};
+    this.htmlInsertion = {};
+    this.pushdown = false;
+    this.hidden = false; // needs to initialize in .render() method first
+    this.isClipOpen = false; // decouple dependence on a particular state or states for clipping
+};
+
+d16g.types.AdComponent.prototype.hideFlash = function() {
+    d16g.log(this.getLabel() + ".hideFlash(), contentId=" + this.contentId);
+    this.doUserCallback("hide");
+    if( jQuery.browser.msie ) { 
+        this.render('outOfView');
+    } else {
+        this.render('hideContent', 'hideElement');
+    }
+    this.hidden = true;
+};
+
+d16g.types.AdComponent.prototype.showFlash = function() {
+    d16g.log(this.getLabel() + ".showFlash(), contentId=" + this.contentId);
+    this.hidden = false;
+    this.render('positionToBase', 'showElement', 'showContent');
+    if (jQuery.browser.msie) { this.render('positionToBase'); }
+    this.doUserCallback("show");
+};
+d16g.types.AdComponent.prototype.applyClip = function() {
+    d16g.log(this.getLabel() + ".applyClip()");
+
+    if( this.wantsClipping === true ) {
+        d16g.log(this.getLabel() + ".applyClip() wantsClipping");
+        var rectArr = this.getClipRectArr();
+        var delim = ",";
+        if (jQuery.browser.msie) {
+            delim = " ";
+        }
+        var rectStr = rectArr.join(delim);
+        d16g.log('.applyClip(): clip rectangle string (T,R,B,L), ' + rectStr, this);
+        jQuery('#' + this.elementId).css( 'clip','rect(' + rectStr + ')' );
+    }
+};
+// utilities
+d16g.types.AdComponent.prototype.getClipRectArr = function() {
+    d16g.log(".getClipRectArr()", this);
+    var t = this.getClipOffsetValue(this.clip.top),
+        l = this.getClipOffsetValue(this.clip.left),
+        r = this.getClipOffsetValue(this.clip.right),
+        b = this.getClipOffsetValue(this.clip.bottom);
+    // clip values are measured from each edge, clip rect is measured from top and left.
+    var T,R,B,L;
+    T = this.getClipString(t);
+    L = this.getClipString(l);
+    R = this.getConvertedClipString(r, parseInt(this.width.unclipped, 10)); // convert to measure from left
+    B = this.getConvertedClipString(b, parseInt(this.height.unclipped, 10)); // convert to measure from top
+    return [T, R, B, L];
+};
+d16g.types.AdComponent.prototype.getClipOffsetValue = function(val) {
+    d16g.log('.getClipOffsetValue(' + val + ')', this);
+    // positive values apply an offset when open
+    // negative values apply an offset when closed
+    // anything else should have an offset of 0 (auto)
+    var result = 0;
+//    d16g.log('.getClipOffsetValue: isClipOpen='+this.isClipOpen,this);
+    if ((val > 0 && this.isClipOpen === false) || (val < 0 && this.isClipOpen === true)) {
+        result = Math.abs(val);
+        d16g.log('.getClipOffsetValue: result=' + result, this);
+    }
+    return result;
+};
+d16g.types.AdComponent.prototype.getClipString = function(val) {
+    d16g.log('.getClipString(' + val + ')', this);
+    // if value is 0, set to auto
+    var result = 'auto'; // val is 0 or invalid
+    if (val > 0) { 
+        result = val + "px"; 
+    }
+    return result;
+};
+d16g.types.AdComponent.prototype.getConvertedClipString = function(offset, dimension) {
+    d16g.log('.getConvertedClipString(' + offset + ', ' + dimension + ')', this);
+    // convert right/bottom offset to measure from left/top
+    // dimension is a width or height
+    var result;
+    if (offset === 0) { 
+        result = 'auto'; // no clipping
+    } else if (offset < dimension) { 
+        result = this.getClipString(dimension - offset); // convert to measure from left/top edge
+    } else {
+        result = 0; // clip entire width
+    }
+    return result;
+};
+
+d16g.types.AdComponent.prototype.openFlash = function() {
+    d16g.log(this.getLabel() + ".openFlash(), contentId=" + this.contentId);
+    this.isClipOpen = true;
+    this.doUserCallback("open");
+    this.render('doExpand');
+};
+
+d16g.types.AdComponent.prototype.closeFlash = function() {
+    d16g.log(this.getLabel() + ".closeFlash(), contentId=" + this.contentId);
+    this.isClipOpen = false;
+    this.render('doCollapse');
+    this.doUserCallback("close");
+};
+
+d16g.types.AdComponent.prototype.loadFlash = function() {
+    d16g.log(this.getLabel() + ".loadFlash()");
+    this.createContent();
+    // All components are initialized as this.hidden=false. 
+    // Flash needs to show for in order to load, and will be hidden again in .loaded() method
+    if (jQuery.browser.msie) {
+        this.render('outOfView');
+    } else {
+        this.render('inView');
+    }
+    if (typeof this.urls === 'undefined' || typeof this.urls.loader === 'undefined' || typeof this.urls.ad === 'undefined') {
+        d16g.error('.loadFlash(): this component must have a urls.loader and urls.ad defined in the config', this);
+    } else {
+        var adName = this.ad.adName;
+        var componentName = this.name;
+        var loaderFile = this.urls.loader;
+        var flashvars = {
+            "adName": adName, 
+            "cmpName": componentName,
+            "adDebug": d16g.adDebug,
+            "adUrl": this.urls.ad
+        };
+        if (typeof this.urls.video !== "undefined" && this.urls.video !== "") {
+            flashvars.vidUrl = this.urls.video;
+        }
+        if (typeof this.height.unclipped === "undefined" || typeof this.width.unclipped === "undefined") {
+            d16g.error('.loadFlash(): height.unclipped and/or width.unclipped is undefined (see ad config params)', this);
+        } else {
+            var width = this.width.unclipped;
+           var height = this.height.unclipped;
+
+            jQuery('#' + this.elementId).width(width);
+            jQuery('#' + this.elementId).height(height);
+           d16g.log('.loadFlash setting ' + this.elementId + ' width to:' + width + ' height to:' + height ,this);
+            var params = {
+               wmode: "transparent",
+                allowscriptaccess: "always",
+                scale: "showall",
+                salign: "t" // was tl, want it centered at top.
+            };
+            var attributes = {
+                "styleclass": "adNoOutline ap_never_hide"
+            };
+            d16g.log(this.getLabel() + ".loadFlash arguments: loaderFile=" + loaderFile + ", contentId=" + this.contentId + ", width=" + width + ", height=" + height + ", flashvars adName=" + flashvars.adName + ", cmpName=" + flashvars.cmpName + ", adDebug=" + d16g.adDebug);
+            d16g.swfobject.embedSWF(loaderFile, this.contentId, width, height, "9.0.28", "expressInstall.swf", flashvars, params, attributes);
+        }
+    }
+    d16g.log(this.getLabel() + ".loadFlash() end");
+};
+
+d16g.types.AdComponent.prototype.hideStatic = function(e) {
+    d16g.log(this.getLabel() + ".hideStatic()");  
+    this.render('hideElement');
+    this.doUserCallback("hide");
+    this.hidden = true;
+};
+d16g.types.AdComponent.prototype.showStatic = function(e) {
+    d16g.log(this.getLabel() + ".showStatic()");    
+    this.hidden = false;
+    this.render('showElement');
+    this.doUserCallback("show");
+};
+d16g.types.AdComponent.prototype.loadStatic = function() {
+    d16g.log(this.getLabel() + ".loadStatic()");
+    this.loaded();
+};
+
+d16g.types.AdComponent.prototype.hideImage = function() {
+    d16g.log(this.getLabel() + ".hideImage()");
+    this.render('hideElement', 'hideContent');
+    this.hidden = true;
+};
+
+d16g.types.AdComponent.prototype.showImage = function() {
+    d16g.log(this.getLabel() + ".showImage()");
+    d16g.fixPngs(jQuery("#" + this.elementId + "_click"));
+    this.hidden = false;
+    this.render('showElement', 'showContent', 'positionToBase');
+};
+
+d16g.types.AdComponent.prototype.loadImage = function () {
+    d16g.log(this.getLabel() + ".loadImage()");
+    this.createContent(); 
+    var adName = this.ad.adName;
+    var componentName = this.name;
+    var imageId = adName + "_" + componentName + "_img";
+    var clickId = adName + "_" + componentName + "_click";
+    jQuery('#' + this.contentId ).html('<span id="' + clickId + '"></span>');
+    var loadCallback = function () {
+        d16g.log('attempting to load image for d16g.ads["' + adName + '"].components["' + componentName + '"]');
+        jQuery('#' + clickId).append(this);
+        d16g.ads[adName].components[componentName].loaded();
+    };
+    var errorCallback = function () {
+        d16g.error('.loadImage(): Could not load image for d16g.ads["' + adName + '"].components["' + componentName + '"]', this);
+    };
+    var img = new Image();
+    jQuery(img)
+        .load(loadCallback)
+        .error(errorCallback)
+        .attr('src', this.imageUrl)
+        .attr('id', imageId);
+    jQuery('#' + clickId ).click( function () { d16g.ads[adName].clickedOpen(); });
+};
+
+d16g.types.AdComponent.prototype.hideHtml = function() {
+    d16g.log(this.getLabel() + ".hideHtml()");
+    this.doUserCallback("hide");
+    this.render('cssCollapse');
+    if( jQuery.browser.msie ) { 
+        this.render('outOfView');
+    }
+    this.hidden = true;
+};
+
+d16g.types.AdComponent.prototype.showHtml = function() {
+    d16g.log(this.getLabel() + ".showHtml()");
+    this.hidden = false;
+    this.render('cssExpand');
+    this.doUserCallback("show");
+    if( jQuery.browser.msie && this.positioning.type !== "overlay" && this.positioning.type !=="component" ) { 
+        this.render('undoOutOfView');
+    }  
+    this.render(); // auto-select strategy, positioning.type "auto" will be detected and no positioning will occur
+};
+
+d16g.types.AdComponent.prototype.loadHtml = function () {
+    d16g.log(this.getLabel() + ".loadHtml()");
+    if(typeof this.html === "undefined") {
+      d16g.error(d16g.getLabel() + ".loadHtml(): Did not define inner html for adName=" + this.ad.adName + ", componentName=" + this.componentName);
+    } else {
+        this.html = '<div id="' + this.elementId + '" class="collapsed">'+ this.html + '</div>';
+        // place secondary component
+        this.doHtmlInsertion();
+        this.doUserCallback("load");
+        d16g.fixPngs(jQuery('#' + this.elementId));
+        this.loaded();
+    }
+};
+
+d16g.types.AdComponent.prototype.openHtml = function() {
+    d16g.log(this.getLabel() + ".openHtml(), contentId=" + this.contentId);
+    this.doUserCallback("open");
+};
+
+d16g.types.AdComponent.prototype.closeHtml = function() {
+    d16g.log(this.getLabel() + ".closeHtml(), contentId=" + this.contentId);
+    this.doUserCallback("close");
+};
+
+d16g.types.AdComponent.prototype.doUserCallback = function(cbName) {
+    d16g.log(this.getLabel() + ".doUserCallback(" + cbName + ")");
+    if (typeof this.userCallbacks !== "undefined") {
+        if (typeof this.userCallbacks[cbName] !== "undefined") {
+            var userMethodName = this.userCallbacks[cbName];
+            try {
+                this[userMethodName]();
+            } catch (e) {
+                d16g.error('.doUserCallback(): There was a problem trying to run a userCallback "' + cbName + '". ' + e, this);
+            }
+        } else {
+            d16g.info(this.getLabel() + '.doUserCallback(): this.userCallbacks["' + cbName + '"], one or more callbacks defined for this component, but not one for "' + cbName + '"');
+        }    
+    } else {
+        d16g.info(this.getLabel() + ".doUserCallback(): no userCallbacks defined for this component");
+    }
+};
+
+d16g.types.AdComponent.prototype.setAd = function(ad) {
+    d16g.log(this.getLabel() + ".setAd(" + ad + ")");
+    this.ad = ad;
+};
+
+d16g.types.AdComponent.prototype.setParams = function(params) {
+    d16g.log(this.getLabel() + ".setParams(" + params + ")");
+    // copy params to this
+    if (typeof params === 'object') {
+        for (var key in params) {
+            if (typeof key === "string") { this[key] = params[key]; }
+        }
+    }
+    this.pushdown = d16g.parseBool( this.pushdown, false );
+    this.wantsClipping = d16g.parseBool( this.wantsClipping, false );
+    this.componentId = this.ad.adName + "_" + this.name;
+    this.contentId = this.componentId  + "_co";
+};
+
+d16g.types.AdComponent.prototype.setHtml = function(html) { 
+    d16g.log(this.getLabel() + ".setHtml(" + html + ")");
+    if (typeof html === 'string') {
+        this.html = html;
+    } else {
+        d16g.error(this.getLabel() + ".setHtml(): Invalid HTML = " + html );
+    }
+};
+
+d16g.types.AdComponent.prototype.loaded = function () {
+    d16g.log(this.getLabel() + '.loaded(): isLoaded=' + this.isLoaded);
+    // static components are not affected at load time, but all other types are hidden until loading is complete
+    if (this.contentType !== 'static') {
+        if (this.contentType === 'flash' && !jQuery.browser.msie) {
+            this.render('hideContent');
+        }
+        this.hidden = true;
+    } 
+    this.actualWidth = this.width.closed;
+    this.isLoaded = true;
+    this.ad.componentLoaded();
+    d16g.log(this.getLabel() + '.loaded(): component is now loaded. isLoaded=' + this.isLoaded + ', hidden="' + this.hidden + '"');
+};
+
+d16g.types.AdComponent.prototype.getBaseTarget = function() {
+    d16g.log(this.getLabel() + ".getBaseTarget()");
+    var target;
+    if (this.positioning.type === "component") {
+        var targetComponent = this.ad.components[this.positioning.target];
+        d16g.log('.getBaseTarget(): positioning target=' + this.positioning.target + ', component is ' + typeof targetComponent, this);
+        target = '#' + targetComponent.elementId;            
+    } else {
+        target = this.positioning.target; // target is a css selector, '#' is already included in the config if it is an id for an element
+    }
+    return target;
+};
+
+d16g.types.AdComponent.prototype.getPos = function() { 
+    d16g.log(this.getLabel() + ".getPos()");
+    var posResult = {};
+    var target = this.getBaseTarget();
+    d16g.log(this.getLabel() + '.getPos(): where positioning type="' + this.positioning.type + '", target="' + target + '"');
+    
+    if( typeof this.positioning.relative !== undefined && d16g.parseBool(this.positioning.relative, false) === true) {
+       d16g.log(".getPos(): positioning.relative is true", this);
+       posResult = { left: 0, top: 0 };
+       } else {        
+               d16g.log(".getPos(): positioning.relative is false", this);
+       posResult = jQuery(target).eq(0).offset(); // accepts a document element or a jQuery selector.
+    }
+    
+    // no current version of configs use targetLeft any longer we should consider removing it.
+    d16g.log(this.getLabel() + '.getPos(): left="' + posResult.left + '", top="' + posResult.top + '"');
+    if (typeof this.positioning.targetLeft !== "undefined") {
+        var leftPos = jQuery(this.positioning.targetLeft).eq(0).offset();
+        posResult.left = leftPos.left;
+        d16g.log(this.getLabel() + '.getPos(): since targetLeft="' + this.positioning.targetLeft + '", overriding to left=' + posResult.left); 
+    }
+    d16g.log(this.getLabel() + '.getPos(): final left="' + posResult.left + '", top="' + posResult.top + '"');
+    if (this.wantsClipping === true) {
+        d16g.log(".getPos(): wantsClipping is true", this);
+        posResult.top -= Math.abs(parseInt(this.clip.top, 10));
+        posResult.left -= Math.abs(parseInt(this.clip.left, 10));
+        d16g.log(this.getLabel() + '.getPos(): final adjusted for clipping: left="' + posResult.left + '", top="' + posResult.top + '"');
+    }
+    return posResult; 
+};
+
+
+d16g.types.AdComponent.prototype.doResizeWidth = function () {
+    var elem = jQuery('#' + this.elementId);
+    d16g.log(this.getLabel() + ".doResizeWidth(): resizeWidth.type is " + this.resizeWidth.type);
+    if( this.resizeWidth.type === "auto" ) {
+        var newWidth;
+        if( typeof this.resizeWidth.target === "undefined" ) {
+            var base = jQuery(this.getBaseTarget());
+            newWidth = base.width();
+        } else {
+            d16g.log(this.getLabel() + ".doResizeWidth(): this.resizeWidth.target is " + this.resizeWidth.target);
+            newWidth = jQuery(this.resizeWidth.target).width();
+        }
+        if( typeof this.resizeWidth.minWidth !== "undefined" ) {
+            var minWidth = this.resizeWidth.minWidth;
+            d16g.log(this.getLabel() + ".doResizeWidth(): minWidth="+minWidth);
+            if( newWidth < minWidth ) {
+                d16g.log(this.getLabel() + ".doResizeWidth(): limiting resize to minWidth of " + minWidth);
+                newWidth = minWidth;
+            }
+        }
+        d16g.log(this.getLabel() + ".doResizeWidth(): auto resizing width to " + newWidth);
+        elem.width(newWidth);
+        this.actualWidth = newWidth;
+        
+        if (  this.contentType === "flash" &&
+                typeof this.resizeWidth.shrinkFlash !== "undefined" &&
+                d16g.parseBool( this.resizeWidth.shrinkFlash ) === true 
+              ) {
+            var flashWidth;
+            if ( this.isClipOpen === true ) {    
+                flashWidth = this.width.open;
+                d16g.log(this.getLabel() + ".doResizeWidth(): using open width");
+            } else {
+                flashWidth = this.width.closed;
+                d16g.log(this.getLabel() + ".doResizeWidth(): using close width");
+            }
+            
+            if( flashWidth > newWidth  ) {
+                flashWidth = newWidth;
+            }
+            d16g.log(this.getLabel() + ".doResizeWidth(): resizing flash object to " + flashWidth);
+            jQuery("#"+ this.contentId).width(flashWidth);
+        }
+    }
+};
+
+d16g.types.AdComponent.prototype.RENDER_STRATEGIES = ['positionToBase','outOfView','undoOutOfView','fixLayout','inView','hideElement','showElement','hideContent','showContent','cssCollapse','cssExpand','doCollapse','doExpand','none'];
+
+d16g.types.AdComponent.prototype.render = function () {
+    d16g.log(this.getLabel() + '.render(' + d16g.arrToString(arguments) + '): adType="' + this.ad.adType + '", positioning.type="' + this.positioning.type + '", hidden=' + this.hidden + ', isLoaded=' + this.isLoaded);
+    if ( typeof this.positioning === "undefined" || typeof this.positioning.type === "undefined" ) {
+        d16g.error(this.getLabel() + '.render(): positioning is not defined properly for this component');
+    } else {
+        var strategyArr = [];
+        if (arguments.length === 0) {
+            if ( this.hidden === true || this.positioning.type === 'auto' ) {
+                strategyArr.push('none');
+                d16g.info('render(): no rendering on hidden or auto-positioned components unless strategy is forced', this);
+            } else {
+                strategyArr.push('positionToBase');
+            }
+        } else {
+            strategyArr = arguments;
+        } 
+        d16g.log('.render(): strategyArr=' + d16g.arrToString(strategyArr), this);
+        var action;
+        var positionRelative = false;
+        if(typeof this.positioning.relative !== "undefined") {
+            positionRelative = d16g.parseBool(this.positioning.relative,false);
+        }
+        
+        for (var i=0; i<strategyArr.length; i++) {
+            action = strategyArr[i];
+            if (jQuery.inArray(action, this.RENDER_STRATEGIES) === -1) {
+                d16g.error(this.getLabel() + '.render(): "' + action + '" is not recognized as a strategy');
+            } else {
+                d16g.log('.render(): action=' + action, this);
+                var elem = jQuery('#' + this.elementId);
+                var content = jQuery('#' + this.contentId);
+                switch(action) {
+                    case 'positionToBase': // typical case
+                        // position to base element or component
+                        var adjustedPos = this.getPos();
+                        elem.css({ position: "absolute", top: adjustedPos.top, right: "", bottom: "", left: adjustedPos.left });
+                        d16g.log(this.getLabel() + '.render(): elementId="' + this.elementId + '", adjustedPos.left=' + adjustedPos.left + ', adjustedPos.top=' + adjustedPos.top);
+                        this.doResizeWidth();
+                        this.applyClip();
+                        break;
+                    case 'fixLayout':
+                       // fixLayout is to make IE correctly position relative positioned HTML components
+                       // containing flash
+                       if( positionRelative === true ) {
+                               d16g.log("fixLayout removing and reapplying relative position",this);
+                               elem.css("position","").css("position","relative");
+                       }
+                       break;
+                    case 'outOfView':
+                        elem.css({ position: "absolute", left: "-99999px", right: "" });
+                        break;
+                    case 'undoOutOfView':
+                       if( positionRelative !== true ) {
+                               elem.css({ position: "", left: "" });
+                       } else {
+                               elem.css({ position: "relative", left: "" });
+                       }
+                        break;
+                    case 'inView':
+                        elem.css({ position: "absolute", top: "", right: 0, bottom: 0, left: "" });
+                        break;
+                    case 'hideElement':
+                        elem.css("visibility", "hidden");
+                        break;
+                    case 'showElement':
+                        elem.css("visibility", "visible");
+                        break;
+                    case 'hideContent':
+                        content.css("visibility", "hidden");
+                        break;
+                    case 'showContent':
+                        content.css("visibility", "visible");
+                        break;
+                    case 'cssCollapse':
+                        elem.removeClass("expanded").addClass("collapsed");
+                        break;
+                    case 'cssExpand':
+                        elem.removeClass("collapsed").addClass("expanded").css("height", "auto");
+                        break;
+                    case 'doCollapse':
+                        content.get(0).doCollapse();
+                        this.applyClip();
+                        break;
+                    case 'doExpand':
+                        content.get(0).doExpand();
+                        this.applyClip();
+                        break;
+                    case 'none':
+                        break;
+                    default:
+                        d16g.error(this.getLabel() + '.render(): "' + action + '" is not recognized as a strategy');            
+                }
+            }
+        }
+    }
+};
+
+/**
+* doHtmlInsertion()
+* place this.html into the DOM (for any dynamic component type)
+*/
+d16g.types.AdComponent.prototype.doHtmlInsertion = function() {
+    d16g.log(this.getLabel() + ".doHtmlInsertion()");
+    if (typeof this.htmlInsertion === "undefined" || typeof this.htmlInsertion.type === "undefined") {
+        d16g.error(this.getLabel() + ".doHtmlInsertion(): htmlInsertion is not defined properly for loading this component");
+    } else if (this.htmlInsertion.type === "none") {
+        d16g.log(this.getLabel() + ".doHtmlInsertion(): type=" + this.htmlInsertion.type + ", no insertion needed");
+    } else if (typeof this.htmlInsertion.target === "undefined") {
+        d16g.error(this.getLabel() + ".doHtmlInsertion(): htmlInsertion target is missing");
+    } else {
+        var insertionType = this.htmlInsertion.type;
+        var target = this.htmlInsertion.target;
+        // validate target
+        if (d16g.adDebug === true) {
+            if (jQuery(target).length === 0) {
+                d16g.error('.doHtmlInsertion(): target="' + target + '" is not a valid jQuery selector (see config)');
+            } else {
+                d16g.log(this.getLabel() + ".doHtmlInsertion(): initialized for insertion, target=" + target + ", insertionType=" + insertionType); 
+            }
+        }
+        if (this.contentType === "flash") {
+               if ( !jQuery.browser.msie && d16g.parseBool(this.positioning.relative, false) === false) { 
+                target = "body";
+                insertionType = "append";
+                d16g.info(this.getLabel() + ".doHtmlInsertion(): overriding for flash contentType, target=" + target + ", insertionType=" + insertionType); 
+            }
+        }
+        switch(insertionType) {
+            case 'html':
+            case 'append':
+            case 'before':
+            case 'after':
+            case 'prepend':
+                // select the target, perform the jQuery function indicated by htmlInsertion.type with the html content
+                var newElem = jQuery(this.html);
+                newElem.attr('d16gErm', '1'); // mark every ERM component for possible selection later (i.e. removal) 
+                jQuery(target)[insertionType](newElem);
+                d16g.log(this.getLabel() + ".doHtmlInsertion() attempted: target=" + target + ", insertionType=" + insertionType);
+                
+                               this.applyZIndex();
+                       break;
+            default:
+                d16g.error(this.getLabel() + ".doHtmlInsertion(): invalid insertionType=" + insertionType);
+        }
+    }
+};
+
+/**
+* applyZIndex()
+*/
+d16g.types.AdComponent.prototype.applyZIndex = function() {
+       d16g.log(this.getLabel() + ".applyZIndex()");
+       if (this.contentType !== "static") {
+               var containerId = this.elementId;
+               var zIndex = "1";
+           if(typeof this.zIndex !== "undefined") {
+               zIndex = this.zIndex;
+               } 
+               d16g.log(this.getLabel() + ".applyZIndex(): zIndex="+zIndex);
+               jQuery('#' + containerId).css("z-index", zIndex);
+       }
+};
+       
+/**
+* createContent()
+*/
+d16g.types.AdComponent.prototype.createContent = function () {
+    d16g.log(this.getLabel() + ".createContent()");
+    // div ids
+    if (this.contentType === "static") {
+        d16g.info(this.getLabel() + ".createContent(): static component, no action needed");
+    } else {    
+        var containerId = this.elementId;
+        var wrapperId = this.elementId + "_wr"; // can be used for css clipping
+        var contentId = this.elementId + "_co";
+        // build html string
+        this.html = "<div id='" + containerId +
+            "'><div id='" + wrapperId +
+            "'><div id='" + contentId +
+            "'>this.html</div></div></div>";
+        d16g.log(this.getLabel() + ".createContent(): attempting insertion for containerId=" + containerId + ", contentId=" + contentId);
+        this.doHtmlInsertion();
+        // hide content div, but this will be replaced and overridden by swfObject
+        // swfObject is very persistent about keeping visibility "visible" on instantiation.
+        // Setting display initially to "none" causes the flash object not to load at all.
+        // An alternative would be to check when the object has replaced the div then set
+        // the visibility to hidden. Note that FF and IE need to be handled separately.
+        // IE won't load with Flash hidden, so the object must be positioned outside the viewport. 
+        // Conversely, FF will reload if the Flash object when the object is repositioned back in the viewport. 
+        jQuery('#' + contentId).css("visibility", "hidden");
+        // hide container until loaded, apply background
+        
+        jQuery('#' + containerId)
+            .css("background", this.background)
+            .css("visibility", "hidden");
+        d16g.log(this.getLabel() + ".createContent(): html inserted, bgcolor applied, content and outer divs hidden");
+    }
+};
+
+/**
+* Util: fixPngs
+* fix .png transparency for IE 5.5 - 6.x
+* @param obj jQuery 
+*/
+d16g.fixPngsNeeded = function() {
+    var browserVer = parseFloat(jQuery.browser.version);
+    var result = (jQuery.browser.msie === true && browserVer >= 5.5 && browserVer < 7.0);
+    return result; 
+};
+d16g.fixPngs = function(obj) {
+    d16g.log(this.getLabel() + ".fixPngs(): testing if .png fix is needed");
+    if(d16g.fixPngsNeeded()) {
+        var that = this; // jQuery().each changes 'this'
+        d16g.info(this.getLabel() + ".fixPngs(): browser requires .png fix, applying now...");
+        obj.find("*").each(function(){
+            var match = (jQuery(this).css("background-image") || "").match(/url\("(.*\.png)"\)/);
+            if (match) {
+                d16g.log(".fixPngs(): background-image=" + jQuery(this).css("background-image"), that);
+                var png = match[1];
+                jQuery(this).css("background-image", "none");
+                jQuery(this).get(0).runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + png + "',sizingMethod='scale')";
+            }
+        });
+/*
+        //TODO - PNG fix for secondary - not working
+        obj.find("img").each(function() {
+        if(jQuery(this).css("filter").indexOf("progid:DXImageTransform.Microsoft.AlphaImageLoader") == -1) {
+            d16g.log(".fixPngs(): img src=" + jQuery(this).attr("src"), that);
+            var style = "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=&#39;true&#39;,src=&#39;" + jQuery(this).attr("src") + "&#39;,sizingMethod=&#39;scale&#39;)";
+// watch out for FTL var...
+            var html = '<img class="adComponent_pngFix2" style="' + style + '" src="http://g-ecx.images-amazon.com/images/G/01/x-locale/common/transparent-pixel._V42752373_.gif" id="test2" width="300" height="69" border="0" alt="Acura"/>';
+            jQuery(this).parent().html(html);
+d16g.error(".fixPngs(): tried to fix an image, but the code is not generic yet.", that); 
+            }
+        });
+*/       
+    }
+};
+
+d16g.types.AdComponent.prototype.getLabel = function () { return "d16g.types.AdComponent"; };
+/*
+$Id: //brazil/src/appgroup/advertising/apps/GrandPrixAdTemplates/prerelease/templates/amazon/d16g/types/CallbackQueue.ftl#4 $
+$Revision: #4 $
+$Author: ranton $
+$Change: 2775711 $
+$DateTime: 2009/11/11 00:11:23 $
+
+# Description: callback queue is a synchronized event manager that keeps events executing in order
+# This is important when external objects such as Flash or user actions can cause critical sections of code to execute out of expected order
+# this file is completely Javascript
+# https://w.amazon.com/?Advertising [TBD]
+#
+*/
+
+/**
+* CallbackQueue: used to automatically run callback functions as soon as a flag is set
+* This is a building block for an event model.  Callbacks are deleted from the queue once they are run.
+*/
+d16g.types.CallbackQueue = function () {
+    this.lock = false; // for pseudothread locking to keep events and states in order
+    this.callbacks = [];
+    this.nextIndex = 0;
+    this.runOnce = true; // remove callbacks as they run
+    this.runAlways = true; // ensure that run() is called with each addCallback(), false means that run() must be called explicitly
+};
+
+/**
+* addCallback: adds a function to the callback queue
+* if runOnce is true, callbacks are removed from the queue as they are run
+* if runAlways is true, callbacks are run with each callback added (unless another pseudothread already is running the queue)
+* @param callback function will be executed in order added
+* @return void
+*/    
+d16g.types.CallbackQueue.prototype.addCallback = function (func) {
+    d16g.log('.addCallback(): Adding callback... ' + func, this);
+    this.callbacks.push(func); // push callback to the end of the queue
+    if (this.runAlways === true) {
+        this.run();
+    }
+};
+
+/**
+* run: run callbacks in FIFO order
+* @return void
+*/   
+d16g.types.CallbackQueue.prototype.run = function () {
+    d16g.log('.run(): lock=' + this.lock, this);
+    var master = (! this.lock) && (this.lock = true); // attempt to make a lock test and set all atomic
+    if (master !== true) {
+        d16g.info('.run(): already running in another pseudothread, abandoning...', this); 
+    } else {
+        d16g.info('.run(): master pseudothread, lock added, running queue... ', this);
+        while (this.nextIndex < this.callbacks.length) {
+            try {
+                d16g.log('.run(): nextIndex=' + this.nextIndex + ', f=' + this.callbacks[this.nextIndex], this);
+                var f = this.getNextCallback();
+                f(); 
+            } catch (e) {
+                d16g.error('.run(): ' + e, this);
+            }
+        } 
+        this.nextIndex = 0;
+        this.lock = false; 
+        d16g.info('.run(): lock removed, there are now ' + this.callbacks.length + ' callbacks in the queue', this); 
+    }
+};
+
+/**
+* getNextCallback: delegated method to determine how a callback is retrieved and what is the next index 
+* for example, one implementation may leave the callbacks in the queue to be run again (like a macro)
+* another implementation might have a run-once strategy, so they are deleted as they are used.
+* @return void
+*/
+d16g.types.CallbackQueue.prototype.getNextCallback = function () {
+    d16g.log('.getNextCallback(): callbacks.length=' + this.callbacks.length + ', runOnce=' + this.runOnce, this);
+    var f;
+    if (this.runOnce === true) {
+        f = this.callbacks.shift();
+        this.nextIndex = 0;
+    } else {
+        f = this.callbacks[this.nextIndex];
+        this.nextIndex++;
+    }
+    return f;
+};
+
+d16g.types.CallbackQueue.prototype.getLabel = function () { return "d16g.types.CallbackQueue"; }; 
+/*
+$Id: //brazil/src/appgroup/advertising/apps/GrandPrixAdTemplates/prerelease/templates/amazon/d16g/types/StateMachine.ftl#2 $
+$Revision: #2 $
+$Author: asaurav $
+$Change: 2752128 $
+$DateTime: 2009/10/30 00:41:20 $
+
+# Description: constructor function and prototype definition for a StateMachine
+# this file is completely Javascript
+# https://w.amazon.com/?Advertising [TBD]
+#
+*/
+
+/**
+* StateMachine: manages erm event states
+* @return object
+*/
+d16g.types.StateMachine = function () {
+    this.model = {};
+    this.lock = false;
+    this.createEventQueue();    
+};
+
+d16g.types.StateMachine.prototype.createEventQueue = function () {
+    d16g.log('.createEventQueue()', this);
+    this.eventQueue = d16g.make(d16g.types.CallbackQueue);
+};
+
+d16g.types.StateMachine.prototype.setCurrentState = function (newState) {
+    d16g.log(this.getLabel() + ".setCurrentState(" + newState + "): oldState=" + this.currentState);
+    this.currentState = newState;
+};
+
+/**
+* @param model array each element is in the form state: [ currentState, trigger, nextState ]
+*/
+d16g.types.StateMachine.prototype.setModel = function (model) {
+    d16g.log(this.getLabel() + ".setModel(" + model + ")");
+    for(var i = 0; i < model.length; i++) {
+        
+        var state = model[i][0];
+        var event = model[i][1];
+        var nextState = model[i][2];
+
+        if(typeof this.model[state] === "undefined") {
+            this.model[state] = {};
+        }
+
+        this.model[state][event] = nextState;
+    }
+};
+d16g.types.StateMachine.prototype.setAd = function (ad) {
+    this.ad = ad;
+};
+
+/**
+* onState: maps a callback to a given transition.  The callback is run when the state is entered
+* @param stateName The starting state for the transition
+* @param callback The callback to run
+* @return void
+*/
+d16g.types.StateMachine.prototype.onState = function (stateName, callback) {
+    d16g.log(this.getLabel() + ".onState(" + stateName + ", function() )");
+    if(typeof this.model[stateName] === "undefined") {
+        d16g.error(this.getLabel() +  'onState(): this.model["' + stateName + '"] is undefined');
+    } else {
+        d16g.log(this.getLabel() + ".onState(): adding callback to: stateName=" + stateName );
+        jQuery().bind(this.ad.adName + "_" + stateName, callback);
+    }
+};
+/**
+* trigger: event synchronization method to change states. 
+* This method adds callback to event queue so that triggers will execute in expected order. 
+* Otherwise, a race condition could occur (one example...there was an "expand" trigger 
+* that caused a Flash object animate then notify on complete, but the notification arrived in a new thread
+* before the initial state change request was completed, resulting in an invalid state change request 
+*/
+d16g.types.StateMachine.prototype.trigger = function (eventName) {
+    d16g.log(this.getLabel() + ".trigger(" + eventName + ")");
+    var nextState = (this.model[this.currentState])[eventName];
+    var adName = this.ad.adName;
+    var that = this;
+    if(typeof nextState !== "undefined") {
+        this.eventQueue.addCallback( function() { that._trigger(adName, nextState); });
+    } else {
+        d16g.error(this.getLabel() + ".trigger(): Tried to add trigger for '" + eventName + "' event, while in '" + this.currentState + "' state.");
+    }
+};
+/**
+* _trigger: callback that actually does the work to kick of the events upon entering a state
+*/
+d16g.types.StateMachine.prototype._trigger = function (adName, nextState) {
+    d16g.log('._trigger(): trigger=' + adName + '_' +  nextState, this);
+    this.setCurrentState(nextState);
+    jQuery().trigger(adName + '_' + nextState);
+};
+
+d16g.types.StateMachine.prototype.getLabel = function () { return "d16g.types.StateMachine"; };
+
+/*
+$Id$
+$Revision$
+$Author$
+$Change$
+$DateTime$
+
+# Description: All of the ERM ad config user callbacks for a gateway expand over.
+# This file is for pure Javascript only, other than this comment, so no
+# FreeMarker variables should be used.
+*/
+
+d16g.initGatewayExpandOverBase = function (adComponent) {
+       d16g.log(".initGatewayExpandOverBase",adComponent);    
+       
+       adComponent.hideBase = function () {
+           d16g.log(this.getLabel() + ".hideBase()");
+           jQuery("#" + this.elementId).css("display","none");
+           
+           var leftColBtf = document.getElementById("leftcolhidden");
+           var rightCol = document.getElementById("rightcol");
+           
+               var standardPadding = parseInt(this.standardPadding);
+           var leftPad = parseInt(jQuery("#centercol").css("padding-left")) + standardPadding;
+           var centerRight = document.getElementById("centerrightspancol");
+           var centerCol = document.getElementById("centercol");
+           var rightMargin = standardPadding;
+           
+           if (navigator.userAgent.indexOf("MSIE") > 0) {
+               var ieQuirksAdjust = parseInt(this.ieQuirksAdjust);
+               leftPad += ieQuirksAdjust;
+               rightMargin -= ieQuirksAdjust;
+               rightCol.style.marginRight = ieQuirksAdjust + "px";
+               centerRight.style.marginRight = ieQuirksAdjust + "px";
+           } 
+           centerCol.style.paddingLeft = leftPad + "px";
+           leftColBtf.style.marginRight = rightMargin + "px";
+       }; 
+};
+
+d16g.initGatewayExpandOverWrapper = function (adComponent) {
+       d16g.log(".initGatewayExpandOverWrapper",adComponent);    
+       
+       // FIXME: we have 3 nearly identical copies of positionCloseButton
+       adComponent.positionCloseButton = function () {
+           d16g.log(this.getLabel() + ".positionCloseButton()");
+           var extraMargin = 0;
+           if (jQuery.browser.msie) {
+               extraMargin = parseInt(this.ieQuirksAdjust);
+           }
+           document.getElementById(this.closeButtonId).style.left = document.body.clientWidth
+               - parseInt(this.closeButtonWidth) - extraMargin -
+               jQuery("#"+this.elementId).offset().left;
+       };
+               
+       adComponent.showWrapper = function () {
+           d16g.log(this.getLabel() + ".showWrapper()");
+           var wrapper = document.getElementById("gatewaypd-outer");
+           var centerRight = document.getElementById("centerrightspancol");
+           var adDiv = document.getElementById(this.ad.adName+"_primary");
+           
+           wrapper.style.height = this.height.closed;
+           wrapper.style.display = "block";
+           if (navigator.userAgent.indexOf("MSIE") > 0) {
+               adDiv.style.zIndex = 1;
+               adDiv.style.background = this.background;
+               
+               wrapper.style.width = "100%";
+               wrapper.style.clip = "rect(" + this.height.closed + "px auto auto auto)";
+               wrapper.style.zIndex = 2;
+           } else {
+               wrapper.style.width = centerRight.offsetWidth;
+           }
+           jQuery("#"+this.ad.components["primary"].elementId).css("text-align","center");
+           this.doResizeWidth(); 
+           var that = this;
+           jQuery(window).bind("resize", function() { 
+               that.doResizeWidth();
+               wrapper.style.width = centerRight.offsetWidth;
+           });
+       };
+
+       adComponent.openWrapper = function () {
+           d16g.log(".openWrapper(): elementId=" + this.ad.components["primary"].elementId, this);
+           
+           var ad = this.ad; // for callback function(s)
+           var closeButtonId = "#" + this.closeButtonId;
+           jQuery(closeButtonId).click( function(){ 
+               jQuery(closeButtonId).unbind("click");
+               ad.clickedClose();  
+           }); // will be removed on click
+           var openHeight = this.height.open;
+           
+           if (jQuery.browser.msie) {
+              jQuery("#gatewaypd-outer").css("margin-left","-"+this.ieRelativeMarginFix+"px");
+           }
+           var that = this;
+           jQuery("#gatewaypd-outer").animate({height:openHeight}, "fast", function() {
+               ad.stateMachine.trigger("isOpen");
+               if (jQuery.browser.msie) {
+                   jQuery("#gatewaypd-outer").css("clip", "rect(auto auto auto auto)");
+                   jQuery("#gatewaypd-outer").css("background", "transparent");
+                   jQuery("#gatewaypd-outer").css("margin-left","");
+               }
+               that.render("fixLayout");
+               jQuery(closeButtonId).css("visibility","visible");
+            if (jQuery.browser.msie) {
+                jQuery(closeButtonId).css("position", "")
+                    .css("position", "absolute");
+               }
+           });
+       
+           this.positionCloseButton();
+       };
+       
+       adComponent.loadWrapper = function () {
+           d16g.log(this.getLabel() + ".loadWrapper()");
+           d16g.log(this.getLabel() + ".loadWrapper(): this.closeButtonId: "+this.closeButtonId);
+           d16g.log(this.getLabel() + ".loadWrapper(): this.closeButtonOverSrc: "+this.closeButtonOverSrc);
+           d16g.log(this.getLabel() + ".loadWrapper(): this.closeButtonSrc: "+this.closeButtonSrc);
+           var that = this;
+           if (d16g.fixPngsNeeded() === false) {
+               var closeButtonSel = "#" + this.closeButtonId;
+               jQuery(closeButtonSel).mouseover(function(e) {
+                   jQuery(closeButtonSel).css("background-image", "url("+that.closeButtonOverSrc+")");
+               });
+               jQuery(closeButtonSel).mouseout(function(e) {
+                   jQuery(closeButtonSel).css("background-image", "url("+that.closeButtonSrc+")");
+               });
+           }
+           var img = new Image();
+           img.src = this.closeButtonOverSrc;
+           
+           jQuery(window).bind("resize", function() {
+               that.positionCloseButton();
+           });
+       }
+       
+       adComponent.closeWrapper = function () {
+           d16g.log(this.getLabel() + ".closeWrapper()");
+           var ad = this.ad; // for callback function(s)
+           var closeButtonId = "#" + this.closeButtonId;
+           
+           jQuery(closeButtonId).css("visibility","hidden");
+           var closedHeight = this.height.closed;
+           if (jQuery.browser.msie) {
+               jQuery("#gatewaypd-outer").css("clip", "rect(" + closedHeight + "px auto auto auto)");
+               jQuery("#gatewaypd-outer").css("background", this.background);
+               jQuery("#gatewaypd-outer").css("margin-left","-"+this.ieRelativeMarginFix+"px");
+        }
+        var that = this;
+           jQuery("#gatewaypd-outer").animate({height:closedHeight}, "fast", function() {
+               ad.stateMachine.trigger("isClosed");
+               
+               if (jQuery.browser.msie) {
+                jQuery("#gatewaypd-outer").css("margin-left","");
+            }
+            that.render("fixLayout");
+           });
+       };              
+};
+/*
+$Id$
+$Revision$
+$Author$
+$Change$
+$DateTime$
+
+# Description: All of the ERM ad config user callbacks for a gateway pushdown.
+# This file is for pure Javascript only, other than this comment, so no
+# FreeMarker variables should be used.
+*/
+
+d16g.initGatewayPushdownBase = function (adComponent) {
+       d16g.log(".initGatewayPushdownBase",adComponent);    
+       
+       adComponent.hideBase = function () {
+           d16g.log(this.getLabel() + ".hideBase()");
+           jQuery("#" + this.elementId).css("display","none");
+           
+           var standardPadding = parseInt(this.standardPadding);
+           var leftColBtf = document.getElementById("leftcolhidden");
+           var rightCol = document.getElementById("rightcol");
+           var leftPad = parseInt(jQuery("#centercol").css("padding-left")) + standardPadding;
+           var centerRight = document.getElementById("centerrightspancol");
+           var centerCol = document.getElementById("centercol");
+           var rightMargin = -this.standardPadding;
+           
+           if (navigator.userAgent.indexOf("MSIE") > 0) {
+               var ieQuirksAdjust = parseInt(this.ieQuirksAdjust);
+               leftPad += ieQuirksAdjust;
+               rightMargin -= ieQuirksAdjust;
+               rightCol.style.marginRight = ieQuirksAdjust+"px";
+               centerRight.style.marginRight = ieQuirksAdjust+"px";
+           } 
+           centerCol.style.paddingLeft = leftPad + "px";
+           leftColBtf.style.marginRight = rightMargin + "px";
+       }; 
+};
+
+d16g.initGatewayPushdownWrapper = function (adComponent) {
+       d16g.log(".initGatewayPushdownWrapper",adComponent);    
+       
+       adComponent.positionCloseButton = function () {
+           d16g.log(this.getLabel() + ".positionCloseButton()");
+           var extraMargin = 0;
+           if (jQuery.browser.msie) {
+               extraMargin = parseInt(this.ieQuirksAdjust);
+           }
+           document.getElementById(this.closeButtonId).style.left = document.body.clientWidth
+               - parseInt(this.closeButtonWidth) - extraMargin -
+               jQuery("#"+this.elementId).offset().left;
+       };
+       adComponent.showWrapper = function () {
+           d16g.log(this.getLabel() + ".showWrapper()");
+           var wrapper = document.getElementById("gatewaypd-outer");
+           
+           wrapper.style.height = this.height.closed;
+           wrapper.style.display = "block";
+           if (navigator.userAgent.indexOf("MSIE") > 0) {
+               wrapper.style.width = "100%";
+           }
+           jQuery("#"+this.ad.components["primary"].elementId).css("text-align","center");
+           this.doResizeWidth(); 
+           var that = this;
+           jQuery(window).bind("resize", function() { 
+               that.doResizeWidth();
+           });
+       };
+       
+       adComponent.openWrapper = function () {
+           d16g.log(".openWrapper(): elementId=" + this.ad.components["primary"].elementId, this);
+           
+           var ad = this.ad; // for callback function(s)
+           var closeButtonId = "#" + this.closeButtonId;
+           jQuery(closeButtonId).click( function(){ 
+               jQuery(closeButtonId).unbind("click");
+               ad.clickedClose(); 
+           }); // will be removed on click
+           var openHeight = this.height.open;
+           jQuery("#gatewaypd-outer, #centerrightspancol").animate({height:openHeight}, "fast", function() {
+               ad.stateMachine.trigger("isOpen");
+               jQuery(closeButtonId).css("visibility","visible");
+            if (jQuery.browser.msie) {
+                jQuery(closeButtonId).css("position", "")
+                    .css("position", "absolute");
+               }
+           });
+           
+           this.positionCloseButton();
+       };
+       
+       adComponent.loadWrapper = function () {
+           d16g.log(this.getLabel() + ".loadWrapper()");
+           d16g.log(this.getLabel() + ".loadWrapper(): this.closeButtonId: "+this.closeButtonId);
+           d16g.log(this.getLabel() + ".loadWrapper(): this.closeButtonOverSrc: "+this.closeButtonOverSrc);
+           d16g.log(this.getLabel() + ".loadWrapper(): this.closeButtonSrc: "+this.closeButtonSrc);
+           var that = this;
+           if (d16g.fixPngsNeeded() === false) {
+               var closeButtonSel = "#" + this.closeButtonId;
+                jQuery(closeButtonSel).mouseover(function(e) {
+                   jQuery(closeButtonSel).css("background-image", "url("+that.closeButtonOverSrc+")");
+               });
+               jQuery(closeButtonSel).mouseout(function(e) {
+                   jQuery(closeButtonSel).css("background-image", "url("+that.closeButtonSrc+")");
+               });
+           }
+           var img = new Image();
+           img.src = this.closeButtonOverSrc;
+           
+       jQuery(window).bind("resize", function() {
+            that.positionCloseButton();
+        });
+       }
+       
+       adComponent.closeWrapper = function () {
+           d16g.log(this.getLabel() + ".closeWrapper()");
+           var ad = this.ad; // for callback function(s)
+           
+           jQuery("#" + this.closeButtonId).css("visibility","hidden");
+           var closedHeight = this.height.closed;
+           jQuery("#gatewaypd-outer, #centerrightspancol").animate({height:closedHeight}, "fast", function() {
+               ad.stateMachine.trigger("isClosed");
+           });
+       };
+};
+
+       /*
+$Id$
+$Revision$
+$Author$
+$Change$
+$DateTime$
+
+# Description: All of the ERM ad config user callbacks for a marquee pushdown.
+# This file is for pure Javascript only, other than this comment, so no
+# FreeMarker variables should be used.
+*/
+
+d16g.initMarqueePushdownSecondary = function(adComponent) {
+       d16g.log(".initMarqueePushdownSecondary",adComponent);    
+        
+       /**
+       * hideSecondary: method to show primary component and hide secondary
+       * used for type=adMarqueePushdown
+       */
+       adComponent.hideSecondary = function () {
+           d16g.log(this.getLabel() + ".hideSecondary()"); 
+           jQuery("#"+this.closeButtonId).css("visibility","hidden");
+           jQuery("#welcomeRowTable").css("backgroundImage","url("+this.backgroundImage+")");
+           jQuery("#" + this.ad.adName + "_static").css("display",""); // restores marquee vertical height in layout
+           jQuery("#marqueepd-inner").css("visibility","hidden");
+           jQuery("#"+this.ad.adName+"_movie_wrap").css("visibility","hidden");
+           var that = this;// for callback function(s)
+           jQuery("#marqueepd-wrapper,#marqueepd-outer").animate({height:0}, "fast", function() {
+              d16g.log(" animated "+jQuery(this).attr("id")+" to 0", that);
+              if( jQuery(this).attr("id") == "marqueepd-outer" ) {
+                   d16g.log(" animated to 0", that);
+               jQuery("#marqueepd-outer").css("visibility","hidden");
+               d16g.triggerEventCallbacks('reposition');
+               that.ad.stateMachine.trigger("isClosed");
+                   // need to redraw amazon logo in ie
+               if ( jQuery.browser.msie ) {
+                    jQuery("#navLogo").css("position","").css("position","relative");
+                   }
+               }
+           });
+       };
+       
+       /**
+       * showSecondary: method to hide primary component and show secondary
+       * used for type=adMarqueePushdown
+       */
+       adComponent.showSecondary = function () {
+           d16g.log(this.getLabel() + ".showSecondary()");
+           // need to hide amazon logo in ie so we can ensure redraw later
+           if ( jQuery.browser.msie ) {
+               jQuery(".navAmazonLogoGatewayPanel").eq(0).parent().css("visibility","hidden");
+           }
+           jQuery("#welcomeRowTable").css("backgroundImage","url()");
+           jQuery("#" + this.ad.adName + "_static").css("display","none"); // prevents marquee from taking up vertical height in layout
+           jQuery("#marqueepd-outer")
+               .css("height","0")
+               .css("visibility","visible");
+           jQuery("#"+this.ad.adName+"_movie_wrap").css("visibility","visible");
+           var that = this;// for callback function(s)
+           var closeButtonId = "#" + this.closeButtonId;
+           jQuery(closeButtonId).click( function() { 
+               that.ad.clickedClose();
+               jQuery(closeButtonId).unbind("click");
+           }); // will be removed on click
+           var that = this;
+           jQuery("#marqueepd-wrapper,#marqueepd-outer").animate({height:250}, "fast", function() {
+               d16g.log(" animated "+jQuery(this).attr("id")+" to 250", that);
+            if( jQuery(this).attr("id") == "marqueepd-outer" ) {
+                d16g.log(" animated to 250", that);
+               jQuery("#marqueepd-inner").css("visibility","visible"); 
+               that.ad.stateMachine.trigger("isOpen");
+               d16g.triggerEventCallbacks('reposition');
+           }
+           });
+           // need to redraw amazon logo in ie
+           if ( jQuery.browser.msie ) {
+                jQuery("#navLogo").css("position","").css("position","relative");
+           } else {
+               // Repositioning primary to the top left when it becomes invisible after expand is clicked
+            jQuery("#" + this.ad.adName + "_primary").css("left", "0px").css("top", "0px");
+        }
+       }; 
+       
+       /**
+       * loadSecondary: method to show primary component and hide secondary
+       * used for type=adMarqueePushdown
+       */
+       adComponent.loadSecondary = function () {
+               d16g.log(this.getLabel() + ".loadSecondary()");
+               d16g.log(this.getLabel() + ".loadSecondary(): this.closeButtonId: "+this.closeButtonId);
+               d16g.log(this.getLabel() + ".loadSecondary(): this.closeButtonOverSrc: "+this.closeButtonOverSrc);
+               d16g.log(this.getLabel() + ".loadSecondary(): this.closeButtonSrc: "+this.closeButtonSrc);
+           
+           jQuery("#marqueepd-outer").css("display","none");
+           if ( jQuery.browser.msie ) {
+               jQuery("#" + this.elementId).css("position","absolute").css("left","-99999px"); 
+               jQuery("#marqueepd-outer").css("display", "block");
+           }
+           if (d16g.fixPngsNeeded() === false) {
+               var closeButtonSel = "#" + this.closeButtonId;
+               var that = this;
+               jQuery(closeButtonSel).mouseover(function(e) {
+                   jQuery(closeButtonSel).css("background-image", "url("+that.closeButtonOverSrc+")");
+               });
+               jQuery(closeButtonSel).mouseout(function(e) {
+                   jQuery(closeButtonSel).css("background-image", "url("+that.closeButtonSrc+")");
+               });
+           }
+           var img = new Image();
+           img.src = this.closeButtonOverSrc;
+           
+           // place the close button outside the body so it renders after and over the movie.
+           if ( ! d16g.fixPngsNeeded() ) { // breaks png fix
+            jQuery("#" + this.closeButtonId).css("visibility","hidden").appendTo("body");
+        }
+       };
+};
+
+d16g.initMarqueePushdownMovie = function(adComponent) {
+       d16g.log(".initMarqueePushdownMovie",adComponent);   
+       
+       /**
+       * showCloseButtonOnTop: method to force the close button in the secondary component to redraw on top
+       */
+       adComponent.showCloseButtonOnTop = function () {
+           d16g.log(this.getLabel() + ".showCloseButtonOnTop()");
+           jQuery("#"+this.closeButtonId).css("visibility","visible");
+       };
+};/*
+$Id$
+$Revision$
+$Author$
+$Change$
+$DateTime$
+
+# Description: All of the ERM ad config user callbacks for a rectangle expand left.
+# This file is for pure Javascript only, other than this comment, so no
+# FreeMarker variables should be used.
+*/
+
+d16g.initGatewayRectangleWrapper = function (adComponent) {
+    d16g.log(".initGatewayRectangleWrapper",adComponent);
+
+    adComponent.showWrapper = function () {
+        var baseName = this.ad.adName;
+        this.primaryOffsetTop = this.ad.components["primary"].clip.top;
+        this.primaryOffsetLeft = this.ad.components["primary"].clip.left;
+        
+        d16g.log(this.getLabel() + ".showWrapper() for adName " + baseName);
+        jQuery("#" + baseName).css("height", this.height.closed);
+        jQuery("#" + baseName + "_wrapper")
+            .css("height", this.height.closed)
+            .css("background", this.ad.components["primary"].background);
+    };
+
+    adComponent.openWrapper = function () {
+        var ad = this.ad;
+        d16g.log(this.getLabel() + ".openWrapper() for adName " + ad.adName);
+        
+        jQuery("#" + ad.adName + "_wrapper").animate({
+            left:-1*this.primaryOffsetLeft,
+            top:-1*this.primaryOffsetTop,
+            height:this.height.open,
+            width:this.width.open
+        }, "fast", function() {
+                ad.stateMachine.trigger("isOpen");
+        });
+    };
+
+    adComponent.closeWrapper = function () {
+        d16g.log(this.getLabel() + ".closeWrapper() for adName " + this.ad.adName);
+        jQuery("#" + this.ad.adName + "_wrapper").animate({
+            left:0,
+            top:0,
+            height:this.height.closed,
+            width:this.width.closed
+        }, "fast");
+    };
+}
+
+d16g.initGatewayRectanglePrimary = function (adComponent) {
+    d16g.log(".initGatewayRectanglePrimary",adComponent);
+
+    adComponent.closePrimary = function () {
+        d16g.log(this.getLabel() + ".closePrimary() for adName " + this.ad.adName);
+        this.ad.stateMachine.trigger("isClosed");
+    };
+}/*
+$Id$
+$Revision$
+$Author$
+$Change$
+$DateTime$
+
+# Description: All of the ERM ad config user callbacks for a wishlist pushdown.
+# This file is for pure Javascript only, other than this comment, so no
+# FreeMarker variables should be used.
+*/
+
+d16g.initWishlistPushdownBase = function (adComponent) {
+       d16g.log(".initWishlistPushdownBase",adComponent);    
+       
+       adComponent.hideBase = function () {
+           d16g.log(this.getLabel() + ".hideBase()");
+           jQuery("#" + this.elementId).css("display","none");
+       };      
+}
+
+d16g.initWishlistPushdownWrapper = function (adComponent) {
+       d16g.log(".initWishlistPushdownWrapper",adComponent);    
+        
+       adComponent.positionCloseButton = function () {
+           d16g.log(this.getLabel() + ".positionCloseButton()");
+           var that = this;
+           document.getElementById(that.closeButtonId).style.left = document.body.clientWidth - 
+                   parseInt(that.closeButtonWidth) - jQuery("#"+that.elementId).offset().left;
+       };
+       
+       adComponent.showWrapper = function () {
+           d16g.log(this.getLabel() + ".showWrapper()");
+           var closedHeight = this.height.closed;
+           jQuery("#wishlistpd-outer").css("height",closedHeight);
+           jQuery("#wishlistpd-outer").css("display","block");
+           jQuery("#"+this.ad.components["primary"].elementId).css("text-align","center");
+           this.doResizeWidth();
+           var that = this; 
+           jQuery(window).bind("resize", function() { 
+               that.doResizeWidth(); 
+           });
+       }; 
+
+       adComponent.loadWrapper = function () {
+           d16g.log(this.getLabel() + ".loadWrapper()");
+           var closeButtonSel = "#" + this.closeButtonId;
+       
+           d16g.log(this.getLabel() + ".loadWrapper(): this.closeButtonId: "+this.closeButtonId);
+           d16g.log(this.getLabel() + ".loadWrapper(): this.closeButtonOverSrc: "+this.closeButtonOverSrc);
+           d16g.log(this.getLabel() + ".loadWrapper(): this.closeButtonSrc: "+this.closeButtonSrc);
+           var that = this;
+           if (d16g.fixPngsNeeded() === false) {
+               jQuery(closeButtonSel).mouseover(function(e) {
+                   jQuery(closeButtonSel).css("background-image", "url("+that.closeButtonOverSrc+")");
+               });
+               jQuery(closeButtonSel).mouseout(function(e) {
+                   jQuery(closeButtonSel).css("background-image", "url("+that.closeButtonSrc+")");
+               });
+           }
+            var img = new Image();
+            img.src = this.closeButtonOverSrc;
+           
+           jQuery(window).bind("resize", function() {
+               that.positionCloseButton();
+           });
+       }
+       
+       adComponent.openWrapper = function () {
+           d16g.log(this.getLabel() + ".openWrapper()");
+           d16g.log(this.getLabel() + " primary label " + this.ad.components["primary"].elementId );
+           
+           var ad = this.ad; // for callback function(s)
+           var closeButtonSel = "#" + this.closeButtonId;
+           jQuery(closeButtonSel).click( function(){ 
+               jQuery(closeButtonSel).unbind("click");
+               ad.clickedClose();  
+           }); // will be removed on click
+           var openHeight = this.height.open;
+           jQuery("#wishlistpd-outer").animate({height:openHeight}, "fast", function() {
+               ad.stateMachine.trigger("isOpen");
+               jQuery(closeButtonSel).css("visibility","visible");
+               if (jQuery.browser.msie) {
+                jQuery(closeButtonSel).css("position", "")
+                    .css("position", "absolute");
+               }
+           });
+           
+           this.positionCloseButton();
+       }; 
+       
+       adComponent.closeWrapper = function () {
+           d16g.log(this.getLabel() + ".closeWrapper()");    
+           var ad = this.ad; // for callback function(s)
+           jQuery("#" + this.closeButtonId).css("visibility","hidden");
+           var closedHeight = this.height.closed;
+           jQuery("#wishlistpd-outer").animate({height:closedHeight}, "fast", function() {
+               ad.stateMachine.trigger("isClosed");
+           });
+       };
+};
+       
+amznJQ.declareAvailable("d16g_JS");
+d16g.log("d16g: finished d16g-0.6.11.js");
+    }
+}
+
+</script>
+
+<script type="text/javascript">
+if (typeof amznJQ !== "undefined") {
+    amznJQ.onReady("d16g_JS", function () {
+        d16g.adDebug = d16g.parseBool(false); 
+        if ( typeof window.d16g === "undefined" || typeof d16g.ads === "undefined" || typeof d16g.types === "undefined" ) { 
+        } else if (typeof d16g.overrides === "undefined") {
+            amznJQ.declareAvailable("d16g");
+        }
+    });
+}
+</script>
+
+
+
+<script type="text/javascript">
+
+if (typeof amznJQ !== "undefined") {
+
+amznJQ.onReady("d16g", function () {
+    if(typeof d16g.internalDomainRegex === "undefined") {
+        d16g.internalDomainRegex = "doubleclick";
+    }
+    if(typeof d16g.configs === "undefined") {
+        d16g.configs = {};
+    }
+    d16g.configs["nav-sitewide-msg_443"] = {
+        "adType": "adMarqueePushdown",
+        "adId": "nav-sitewide-msg_443",
+        "adName": "nav-sitewide-msg_443",
+        "initialState": "static",
+        "model" :  [
+         ["static", "isLoaded", "ready"],
+         ["ready", "clickedOpen", "opening"],
+         ["opening", "isOpen", "open"],
+         ["open", "clickedClose", "closing"],
+         ["closing", "isClosed", "closed"],
+         ["closed", "clickedOpen", "opening"]
+        ],
+        "callbacks" :  [
+        ["static", "show", "base"],
+        ["static", "hide", "primary"],
+        ["ready", "show", "primary"],
+        ["ready", "open", "primary"],
+        ["ready", "hide", "base"],
+        ["opening", "hide", "primary"],
+        ["opening", "close", "primary"],
+        ["opening", "show", "secondary"],
+        ["open", "show", "movie"],
+        ["open", "open", "movie"],
+        ["closing", "hide", "movie"],
+        ["closing", "close", "movie"],
+        ["closing", "hide", "secondary"],
+        ["closed", "show", "primary"],
+        ["closed", "open", "primary"]
+        ],
+        "clickUrls" :  {
+                "clickGo": { 
+                    "urls": ["http://ad.doubleclick.net/clk;222773431;45570551;c?http://ad.doubleclick.net/clk;223103289;46845352;g"]
+                }, 
+                "main": { 
+                    "urls": ["http://ad.doubleclick.net/clk;222773431;45570551;c?http://ad.doubleclick.net/clk;223103289;46845352;g"]
+                }
+        },
+        "trackUrls" :  {
+                    "videoCompleteEvent": { 
+                        "urls": ["http://ad.doubleclick.net/clk;222773443;45570551;f?http://g-ecx.images-amazon.com/images/G/01/blank/1x1_b._V220636431_.gif"]
+                    },
+            "show" : {"urls" : [""]},
+            "expand" : {"urls" : ["http://ad.doubleclick.net/clk;222773440;45570551;c?http://g-ecx.images-amazon.com/images/G/01/blank/1x1_b._V220636431_.gif"]},
+            "collapse" : {"urls" : [""]}
+        },
+        "components" : [
+            {
+        "name": "base",
+        "contentType": "static",
+        "staticId": "nav-sitewide-msg_443_static",
+        "height": {"closed": "69", "open": "69"},
+        "width": {"closed": "300", "open": "300"},
+        "clip": {"top": "0", "right": "0", "bottom": "0", "left": "0"},
+        "positioning": {"type": "auto"},
+        "resizeWidth": {"type": "fixed"},
+        "htmlInsertion": {"type": "none"},
+        "pushdown": "false",
+        "background": "#030812"
+            },
+            {
+        "name": "primary",
+        "contentType": "flash",
+        "height": {"closed": "69", "open": "31", "unclipped": "69"},
+        "width": {"closed": "300", "open": "300", "unclipped": "300"},
+        "clip": {"top": "-38", "right": "0", "bottom": "0", "left": "0"},
+        "positioning": {"type": "component", "target": "base"},
+        "resizeWidth": {"type": "fixed"},
+        "htmlInsertion": {"type": "append", "target": "body"},
+        "urls": {"loader": "http://g-ecx.images-amazon.com/images/G/01/da/erm/marquee-primary-loader-0.6._V221142332_.swf", "ad": "http://g-ecx.images-amazon.com/images/G/01/erm/marqueePushdown/motorola/motorolaPrimary_03._V216539508_.swf"},
+        "pushdown": "false",
+        "background": "transparent",
+        "zIndex": "2"
+            },
+            {
+        "html": '<div id="marqueepd-outer"> <div id="marqueepd-inner"> <div id="nav-sitewide-msg_443_movie_wrap"></div> </div> </div> <div id="marqueepd-wrapper"> <div id="nav-sitewide-msg_443-close-button"><img id="nav-sitewide-msg_443-close-button_img" src="http://g-ecx.images-amazon.com/images/G/01/x-locale/common/transparent-pixel._V42752373_.gif" /></div> </div> '
+,       
+        "name": "secondary",
+        "init": "d16g.initMarqueePushdownSecondary",
+        "contentType": "html",
+        "elementId": "customTemplate1",
+        "height": {"closed": "0", "open": "250"},
+        "width": {"closed": "980", "open": "980"},
+        "clip": {"top": "0", "right": "0", "bottom": "250", "left": "0"},
+        "positioning": {"type": "auto"},
+        "resizeWidth": {"type": "fixed"},
+        "htmlInsertion": {"type": "before", "target": "#navbar"},
+        "userCallbacks": {"load": "loadSecondary", "show": "showSecondary", "hide": "hideSecondary"},
+        "pushdown": "true",
+        "background": "#030812",
+        "closeButtonId": "nav-sitewide-msg_443-close-button",
+        "closeButtonOverSrc": "http://g-ecx.images-amazon.com/images/G/01/erm/marqueePushdown/motorola/close._V216169513_.png",
+        "closeButtonSrc": "http://g-ecx.images-amazon.com/images/G/01/erm/marqueePushdown/motorola/close._V216169513_.png",
+        "backgroundImage": "http://g-ecx.images-amazon.com/images/G/01/erm/marqueePushdown/motorola/MotorolaBkgnd._V216157657_.jpg",
+        "zIndex": "2"
+            },
+            {
+        "name": "movie",
+        "init": "d16g.initMarqueePushdownMovie",
+        "contentType": "flash",
+        "height": {"closed": "250", "open": "250", "unclipped": "250"},
+        "width": {"closed": "980", "open": "980", "unclipped": "980"},
+        "clip": {"top": "0", "right": "0", "bottom": "0", "left": "0"},
+        "positioning": {"type": "overlay", "target": "#nav-sitewide-msg_443_movie_wrap"},
+        "resizeWidth": {"type": "fixed"},
+        "htmlInsertion": {"type": "append", "target": "#nav-sitewide-msg_443_movie_wrap"},
+        "urls": {"loader": "http://g-ecx.images-amazon.com/images/G/01/da/erm/marquee-pushdown-loader-0.6._V221142334_.swf", "ad": "http://g-ecx.images-amazon.com/images/G/01/erm/marqueePushdown/motorola/motorolaExpanded_6._V216781491_.swf", "video": "http://g-ecx.images-amazon.com/images/G/01/erm/marqueePushdown/motorola/vid._V216781488_.flv"},
+        "userCallbacks": {"show": "showCloseButtonOnTop"},
+        "pushdown": "false",
+        "background": "#030812",
+        "closeButtonId": "nav-sitewide-msg_443-close-button",
+        "zIndex": "2"
+            }
+        ]
+    };
+  
+    amznJQ.declareAvailable("nav-sitewide-msg_443_config");
+});
+
+amznJQ.onReady("nav-sitewide-msg_443_config", function() {
+    d16g.allowSkype = d16g.parseBool(true); 
+    d16g.allowChrome = d16g.parseBool(false); 
+    if(d16g.isErmSupportedPlatform()) {
+        d16g.createAd(d16g.configs["nav-sitewide-msg_443"]);
+            amznJQ.declareAvailable("nav-sitewide-msg_443");
+    }
+});
+
+
+} // end azmnJQ undefined if
+
+</script>
+
+<style type="text/css">
+img.staticAd {
+    display: inline;
+    border: none;
+    outline: none;
+}
+.adNoOutline {
+    outline: none;
+}
+
+            #nav-sitewide-msg_443_static_img {
+                    height: 69px;
+                    width: 300px;
+            }
+        #nav-sitewide-msg_443_base {
+            text-align: center;
+                background: #030812;
+        }
+    
+    
+    #nav-sitewide-msg_443_primary {
+        position: absolute;
+        height: 69px;
+        width: 300px;
+    }
+    
+    .adMarqueePushdown_secondary {
+        height: 250px;
+        text-align: center;
+        margin: auto;
+    }
+    
+    #nav-sitewide-msg_443_movie {
+        position: absolute;
+        height: 250px;
+        width: 980px;
+    }
+
+.adMarqueePushdownSecondary {
+    height: 250px;
+    text-align: center;
+    margin: auto;
+}
+.adMarqueePushdownSecondary.collapsed {
+    height: 0;
+    visibility: hidden;
+}
+#nav-sitewide-msg_443 { position: relative; }
+</style>
+
+
+
+<div id="nav-sitewide-msg_443">
+<script type="text/javascript">
+document.getElementById("navbar").style.marginTop = "0px";
+document.body.style.marginTop = "0px";
+document.getElementById("welcomeRowTable").style.height = "69px";
+</script>
+<noscript>
+<style type="text/css">
+#welcomeRowTable { background-image: url(http://g-ecx.images-amazon.com/images/G/01/erm/marqueePushdown/motorola/MotorolaBkgnd._V216157657_.jpg); }
+#navbar,body { margin-top: 0px; }
+</style>
+</noscript>
+<script type="text/javascript">
+if(amznJQ !== "undefined") {
+amznJQ.onReady("jQuery", function() {
+jQuery('#nav-sitewide-msg_443').prepend('<iframe marginheight="0" marginwidth="0" align="left" id="tp1_80196" style="width:0px; height:0px; border:0px;" height="0" width="0"src="http://ad.doubleclick.net/adi/amzn.us.marquee/;target=20100315homepagemarqueemotorolapnd;sz=1x1;ord=80196?" frameborder="0" scrolling="no"></iframe>');
+});
+} else {
+document.write('<iframe marginheight="0" marginwidth="0" align="left" id="tp1_80196" style="width:0px; height:0px; border:0px;" height="0" width="0"src="http://ad.doubleclick.net/adi/amzn.us.marquee/;target=20100315homepagemarqueemotorolapnd;sz=1x1;ord=80196?" frameborder="0" scrolling="no"></iframe>');
+}
+</script>
+<noscript><iframe marginheight="0" marginwidth="0" align="left" id="tp1_80196" style="width:0px; height:0px; border:0px;" height="0" width="0"src="http://ad.doubleclick.net/adi/amzn.us.marquee/;target=20100315homepagemarqueemotorolapnd;sz=1x1;ord=80196?" frameborder="0" scrolling="no"></iframe></noscript>
+<table id="mct_80196" border="0" cellspacing="0" cellpadding="0" valign="top" align="right">
+<tr>
+<td align="right" valign="top"><a id="popoverTrigger" href="http://ad.doubleclick.net/clk;222773431;45570551;c?http://ad.doubleclick.net/clk;223103289;46845352;g"><script type="text/javascript">if(amznJQ !== "undefined") { amznJQ.onReady("jQuery", function() { jQuery("#welcomeRowTable").css("background-image", "url(http://g-ecx.images-amazon.com/images/G/01/erm/marqueePushdown/motorola/MotorolaBkgnd._V216157657_.jpg)").css("height", "");jQuery("#popoverTrigger").prepend('<img class="staticAd adNoOutline" id="nav-sitewide-msg_443_static" src="http://g-ecx.images-amazon.com/images/G/01/erm/marqueePushdown/motorola/MotorolaPrimaryStatic._V216157656_.png" height="69" alt="MotorolaMarqueePushdown" width="300" border="0"/>'); }); } </script><noscript><img class="staticAd adNoOutline" id="nav-sitewide-msg_443_static" src="http://g-ecx.images-amazon.com/images/G/01/erm/marqueePushdown/motorola/MotorolaPrimaryStatic._V216157656_.png" height="69" alt="MotorolaMarqueePushdown" width="300" border="0"/></noscript></a></td>
+
+</tr>
+</table>
+</div>
+
+
+
+
+
+
+<script type="text/javascript" >
+if(typeof amznJQ !== "undefined"){
+    amznJQ.onReady('popover', function () {
+        jQuery("#showFeedbackForm998375").amazonPopoverTrigger({
+            locationOffset: [0,170],
+width:"500",
+destination: "/gp/advertising/remoterender?impressionId=inhousead998375&randomId=998375&questionGroupId=2&slotName=nav-sitewide-msg&pageType=GATEWAY&pageSubType=GATEWAY-THREE-COLUMN&adContentId=443&templateName=ad-feedback-remote-content-5col",
+title:"Ad feedback: Tell us what you think",
+closeText: "Close",
+locationAlign: "middle",
+location: ['left','centered','auto'],
+draggable:true,
+locationMargin:20,
+onShow: function(popover){
+  var args = {impressionId:"inhousead998375",
+      randomId:"998375",
+      questionGroupId:"2",
+      slotName:"nav-sitewide-msg",
+      pageType:"GATEWAY",
+      pageSubType:"GATEWAY-THREE-COLUMN",
+      adContentId:"443"
+   };
+   d16g.adFeedback.logOpen(args);
+   jQuery(".ap_closetext").html("Close");
+} 
+        });
+
+        amznJQ.onReady('d16g', function() {
+            if (typeof d16g.ads === 'undefined') {
+                d16g.info('_erm-ad-feedback-remote-link.ftl: d16g.ads is undefined, skipping ad feedback hooks');
+            } else if (typeof d16g.ads["nav-sitewide-msg_443"] === 'undefined') {
+                d16g.info('_erm-ad-feedback-remote-link.ftl: d16g.ads["nav-sitewide-msg_443"] is undefined, skipping ad feedback hooks');
+            } else {
+                d16g.log('_erm-ad-feedback-remote-link.ftl: adding d16g.ads["nav-sitewide-msg_443"].clickedAdFeedback()');
+                d16g.ads["nav-sitewide-msg_443"].clickedAdFeedback = function () {
+                    d16g.log(this.getLabel() + ".clickedAdFeedback()");
+                    jQuery("#showFeedbackForm998375").click();
+                }
+            }
+        });
+    });
+}
+</script>
+   
+<span id="showFeedbackForm998375"></span>
+
+<script type="text/javascript">
+if (typeof amznJQ !== "undefined") {
+    if (typeof window.d16g === "undefined") { 
+    } else {
+        amznJQ.onReady("nav-sitewide-msg_443", function() { 
+            if (typeof d16g.ads["nav-sitewide-msg_443"] === "undefined") { 
+            } else {
+                d16g.ads["nav-sitewide-msg_443"].pixelsLoaded = {};            
+                d16g.ads["nav-sitewide-msg_443"].pixels = d16g.configs["nav-sitewide-msg_443"].trackUrls;
+            }      
+        }); // end d16g.onReady()
+    } // end window.d16g if
+} // end azmnJQ undefined if
+</script>        </td>
+
+      </tr></table>
+    </td>
+</tr>
+
+<tr>
+  <td>
+<table id="navCrossshop" border="0" cellpadding="0" cellspacing="0" height="22">
+      <tr>
+        <td>
+        <a href='/gp/yourstore/home/ref=topnav_ys' class='navCrossshopLink'> Your Amazon.com</a>
+
+        <span class="navCrossshopBar">&nbsp;|&nbsp;</span>
+        <a href='/gp/goldbox/ref=cs_top_nav_gb27' class='navCrossshopLink'><span class="navSprite navGBIcon"><span style="visibility:hidden">&nbsp; &nbsp; &nbsp; &nbsp; </span></span>Today's Deals</a>
+        <span class="navCrossshopBar">&nbsp;|&nbsp;</span>
+        <a href='/gp/gift-central/ref=cm_gift_button_gc_lp' class='navCrossshopLink'>Gifts & Wish Lists</a>
+
+        <span class="navCrossshopBar">&nbsp;|&nbsp;</span>
+        <a href='/gp/gc/ref=topnav_giftcert' class='navCrossshopLink'>Gift Cards</a>
+      </td>
+      <td width="100%">&nbsp;</td>
+      <td>
+        <a href='/gp/css/homepage.html/ref=topnav_ya' class='navCrossshopYALink'>Your Account</a>
+        <span class="navCrossshopBar">&nbsp;|&nbsp;</span>
+
+        <a href='/Help/b/ref=topnav_help?ie=UTF8&node=508510' class='navCrossshopYALink'>Help</a>
+     </td>
+        
+      </tr>
+</table>
+  </td>
+</tr>
+
+<tr class="navShopSearch" align="left" width="100%">
+  <td width="180"><div id="navShopAllButton" class="navSprite navButton navShopAllButtonGateway">
+  <a class="destination" href="/gp/site-directory/ref=topnav_sad"><span class="text">Shop All Departments</span></a>
+
+  <a class="flyoutAnchor"><span class="navSprite downArrow"></span></a>
+</div></td>
+  <td width="100%"><table width="100%" border="0" cellpadding="0" cellspacing="0"><tr>
+  <td width="100%"><style type="text/css" id="iss_style">
+
+
+
+
+.suggest_link
+{
+  background-color: #FFFFFF;
+  padding: 2px 6px 2px 6px;
+}
+
+.suggest_link_over
+{
+  background-color: #146EB4;
+  color: #FFFFFF;
+  padding: 2px 6px 2px 6px;
+}
+#sugdivhdr
+{
+  font-size: 10px;
+  color: #888;
+  line-height: 12px;
+  padding-right: 4px;
+}
+
+
+</style>
+
+<script type="text/javascript">
+// globals used by search-experience's dynamic-query suggestion functions
+window.issHost = "completion.amazon.com/search/complete";
+window.issMktid = "1";
+window.issSearchAliases = ["aps", "stripbooks", "popular", "apparel", "dvd", "electronics", "sporting", "garden", "videogames", "toys-and-games", "jewelry", "digital-text", "digital-music", "wireless-aps", "watches", "grocery", "hpc", "baby-products", "office-products", "software", "magazines", "vhs", "tools", "automotive", "misc", "industrial", "mi", "amazontv", "digital-music-track", "digital-music-album", "music-artist", "music-album", "music-song", "stripbooks-spanish", "electronics-accessories", "photo", "audio-video", "computers", "furniture", "kitchen", "wireless-accessories", "wireless-phones", "audiobooks", "beauty", "shoes", ];
+</script>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  <script language="javascript" type="text/javascript"><!--
+    window.sitesearch =
+    {
+      submit: function() { return true },
+      focus: function() { return true },
+      blur: function() { return true }
+    }
+  //-->
+  </script>
+
+  <form style="width:100%; margin:0 0 0 0; border:0; padding:0 0 0 0;" method="get" action="/s/ref=nb_sb_noss" name="site-search">
+    
+    <table width="100%" border="0" cellpadding="0" cellspacing="0">
+
+        <tr>
+        <td class="navSearchStart"></td>
+        <td id="navSearchBar" class="navSearchBar">Search</td>
+                <td width="100" class="navSearchBar" id="navSearchDropdown"><select name="url" class="searchSelect" title="Search in"><option value="search-alias=aps" selected="selected">All Departments</option>
+<option value="search-alias=automotive">Automotive</option>
+<option value="search-alias=baby-products">Baby</option>
+<option value="search-alias=beauty">Beauty</option>
+<option value="search-alias=stripbooks">Books</option>
+
+<option value="search-alias=wireless-aps">Cell Phones &amp; Service</option>
+<option value="search-alias=apparel">Clothing &amp; Accessories</option>
+<option value="search-alias=electronics">Electronics</option>
+<option value="search-alias=misc">Everything Else</option>
+<option value="search-alias=gourmet">Gourmet Food</option>
+<option value="search-alias=grocery">Grocery</option>
+<option value="search-alias=hpc">Health &amp; Personal Care</option>
+
+<option value="search-alias=garden">Home &amp; Garden</option>
+<option value="search-alias=industrial">Industrial &amp; Scientific</option>
+<option value="search-alias=jewelry">Jewelry</option>
+<option value="search-alias=digital-text">Kindle Store</option>
+<option value="search-alias=magazines">Magazines</option>
+<option value="search-alias=dvd">Movies &amp; TV</option>
+
+<option value="search-alias=digital-music">MP3 Downloads</option>
+<option value="search-alias=popular">Music</option>
+<option value="search-alias=mi">Musical Instruments</option>
+<option value="search-alias=office-products">Office Products &amp; Supplies</option>
+<option value="search-alias=pet-supplies">Pet Supplies</option>
+<option value="search-alias=shoes">Shoes</option>
+<option value="search-alias=software">Software</option>
+<option value="search-alias=sporting">Sports &amp; Outdoors</option>
+
+<option value="search-alias=tools">Tools &amp; Home Improvement</option>
+<option value="search-alias=toys-and-games">Toys &amp; Games</option>
+<option value="search-alias=vhs">VHS</option>
+<option value="search-alias=videogames">Video Games</option>
+<option value="search-alias=amazontv">Video On Demand</option>
+<option value="search-alias=watches">Watches</option>
+               </select></td>
+
+          <td width="3px" class="navSearchBar">&nbsp;</td>
+          <td class="navSearchBar" align='left'><input type="text" id="twotabsearchtextbox" autocomplete="off" class="searchSelect" name="field-keywords" value="" size="50" title="Search for" style="width:100%; background-color: #FFF;" /></td>
+          <td align="right" width="3px" class="navSearchBar">&nbsp;</td>
+          <td width="25" align="left">
+          <div id="navGoButton" class="navSprite">
+          <input type="image" src=http://g-ecx.images-amazon.com/images/G/01/x-locale/common/transparent-pixel._V42752373_.gif alt="Go" />
+           </div>
+           </td>
+      </tr>
+
+    </table>
+    </form>
+
+
+
+    <script language="javascript" type="text/javascript">
+        var iss;
+        amznJQ.available('search-js-autocomplete', function(){iss = new AutoComplete();
+          iss.initDynamicSuggestions('#twotabsearchtextbox', 'form[name=site-search]', 'select.searchSelect',
+            issHost, issMktid, issSearchAliases, 'updateISSCompletion', 
+            'in {department}', 'Search suggestions', 0);});
+        window.updateISSCompletion = function() { iss.updateAutoCompletion();};
+    </script></td>
+  <td align="right" style="padding-right:1px;"><div id="navCartButton" class="navButton navBlueButton">
+    <div class="navSprite left"></div>
+    <div class="navSprite right"></div>
+    <div id="navCartEmpty">
+
+      <div class="navSprite icon"></div>
+      <a class="destination" href="/gp/cart/view.html/ref=gno_cart" rel="nofollow"><span class="text">Cart</span></a>
+    </div>
+    <div id="navCartFull" style="display:none">
+      <a class="destination count" href="/gp/cart/view.html/ref=gno_cart" rel="nofollow">
+        <div class="iconLeft navSprite"></div>
+        <div class="iconMiddle navSprite">
+           <div id="navCartCount" class="iconText"></div>
+
+        </div>
+        <div class="iconRight navSprite"></div>
+        <div class="text">Cart</div>
+      </a>
+    </div>
+  </div></td>
+  <td align="right" style="padding-right:0px;"><div id="navYourListsButton" class="navButton navBlueButton">
+  <div class="navSprite left"></div>
+
+  <div class="navSprite right"></div>
+  <a class="destination" href="/wishlist/ref=topnav_lists"><span class="text">Wish List</span></a>
+  <a class="flyoutAnchor"><span class="navSprite downArrow"></span></a>
+</div></td>
+  <td class="navSprite navSearchEnd"/>
+  </tr></table></td>
+</tr>
+
+
+</table>
+
+
+    <div id="listsPop_content" style="display:none">
+<div id="listsPopoverContents" style="background: #fff;display:inline">
+
+<ul class="listsPopoverNoPaddingUl">
+<li class="listsPopoverNoPaddingLi"><span class="listsPopoverContentsHeader">All Lists &amp; Registries</span></li>
+</ul>
+<ul class="listsPopoverNoPaddingUl">
+<li class="listsPopoverContentsLiHrWrapper"><hr size="1" noshade="noshade"/></li>
+</ul>
+<ul class="listsPopoverNoPaddingUl">
+<li class="listsPopoverNoPaddingLi"><span class="arrow">&raquo;</span> <a href="/gp/registry/wishlist/ref=gno_listpop_wi">Wish List</a></li>
+
+<li id="qlYourListsLink" class="listsPopoverContentsTopPaddingLi"><span class="arrow">&raquo;</span> <a href="#quicklist">Quicklist</a></li>
+<li class="listsPopoverContentsTopPaddingLi"><span class="arrow">&raquo;</span> <a href="/gp/rsl/shoppinglist/yourshoppinglist/ref=gno_listpop_sl">Shopping List</a></li>
+<li class="listsPopoverContentsTopPaddingLi"><span class="arrow">&raquo;</span> <a href="/gp/gift-central/organizer/ref=gno_listpop_gil">Gift Organizer</a></li>
+</ul>
+
+<ul class="listsPopoverNoPaddingUl">
+<li class="listsPopoverContentsLiHrWrapper"><hr size="1" noshade="noshade"/></li>
+</ul>
+
+<ul class="listsPopoverNoPaddingUl">
+<li class="listsPopoverNoPaddingLi"><span class="arrow">&raquo;</span> <a href="/gp/library/ref=gno_listpop_yml">Your Media Library</a></li>
+
+</ul>
+
+<ul class="listsPopoverNoPaddingUl">
+<li class="listsPopoverContentsLiHrWrapper"><hr size="1" noshade="noshade"/></li>
+</ul>
+
+<ul class="listsPopoverNoPaddingUl">
+<li class="listsPopoverNoPaddingLi"><span class="arrow">&raquo;</span> <a href="/gp/registry/wedding/ref=gno_listpop_wr">Wedding Registry</a></li>
+<li class="listsPopoverContentsTopPaddingLi"><span class="arrow">&raquo;</span> <a href="/gp/registry/baby/ref=gno_listpop_br">Baby Registry</a></li>
+</ul>
+
+<ul class="listsPopoverNoPaddingUl">
+<li class="listsPopoverContentsLiHrWrapper"><hr size="1" noshade="noshade"/></li>
+
+</ul>
+
+<ul class="listsPopoverNoPaddingUl">
+<li class="listsPopoverContentsBottomPaddingLi"><span class="arrow">&raquo;</span> <a href="/gp/remembers/ref=gno_listpop_ar">Amazon Remembers</a></li>
+</ul>
+
+</div>
+</div>
+
+<script type="text/javascript">
+amznJQ.available("navbarJSInteraction", function(){
+    var qlAjaxLink = '/gp/registry/quicklist/ref=gno_listpop_ql';
+    jQuery('#qlYourListsLink a').attr('href', qlAjaxLink); 
+});
+</script>
+
+
+</div>
+
+<!--Pilu -->
+
+
+
+
+
+
+
+
+
+
+
+<script type="text/javascript">
+    amznJQ.declareAvailable('navbarInline');
+    amznJQ.available('jQuery', function() {
+        amznJQ.available('navbarJS-jQuery', function(){});
+    });
+</script>
+<img alt="" style="display:none" onload="_navbar.componentLoaded()" src="http://g-ecx.images-amazon.com/images/G/01/gno/images/orangeBlue/navPackedSprites-US-15._V202471683_.png"/>
+
+
+<!-- EndNav -->
+    <div id="page-wrap">
+     <div id="content">
+
+      <div class="amabot_left" id="leftcol">
+        
+<div class="leftNav navbar navSaGwWrapper">
+<div id="navSaGwBody" class="navSaNonJs">
+<img src="http://g-ecx.images-amazon.com/images/G/01/x-locale/common/transparent-pixel._V42752373_.gif" width="168" alt="" class="navSaGwForceWidth" height="1" border="0" />
+<script type="text/javascript">
+document.getElementById('navSaGwBody').className = 'navSaJs';
+</script>
+<ul class="navSaMenu">
+<li id="navSaMenuItem_0" class="navSaMenuItem navSaMenuItemTop">
+<a class="navSaMenuItem">Books</a>
+
+<div class="navSaChild">
+<ul id="navSaChild_0" class="navbar navSaChild">
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/books-used-books-textbooks/b/ref=sa_menu_bo0?ie=UTF8&node=283155&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Books</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Kindle-Books/b/ref=sa_menu_kbo0?ie=UTF8&node=1286228011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Kindle Books</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/New-Used-Textbooks-Books/b/ref=sa_menu_tb0?ie=UTF8&node=465600&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Textbooks</a>
+</li>
+
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/magazines/b/ref=sa_menu_magazines0?ie=UTF8&node=599858&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Magazines</a>
+</li>
+</ul>
+</div>
+</li>
+<li id="navSaMenuItem_1" class="navSaMenuItem navSaMenuItemMiddle">
+<a class="navSaMenuItem">Movies, Music & Games</a>
+<div class="navSaChild">
+<ul id="navSaChild_1" class="navbar navSaChild">
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/dvds-used-hd-action-comedy-oscar/b/ref=sa_menu_mov1?ie=UTF8&node=130&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Movies &amp; TV</a>
+
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Blu-ray-movies-discs-store-deals/b/ref=sa_menu_blu1?ie=UTF8&node=193640011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Blu-ray</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Video-On-Demand/b/ref=sa_menu_atv1?ie=UTF8&node=16261631&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Video On Demand</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/music-rock-classical-pop-jazz/b/ref=sa_menu_mu1?ie=UTF8&node=5174&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Music</a>
+</li>
+<li class="navSaChildItem">
+
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/MP3-Music-Download/b/ref=sa_menu_dmusic1?ie=UTF8&node=163856011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">MP3 Downloads</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/musical-instruments-accessories-sound-recording/b/ref=sa_menu_mi1?ie=UTF8&node=11091801&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Musical Instruments</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/computer-video-games-hardware-accessories/b/ref=sa_menu_cvg1?ie=UTF8&node=468642&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Video Games</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Game-Downloads/b/ref=sa_menu_gdown1?ie=UTF8&node=979455011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Game Downloads</a>
+
+</li>
+</ul>
+</div>
+</li>
+<li id="navSaMenuItem_2" class="navSaMenuItem navSaMenuItemMiddle">
+<a class="navSaMenuItem">Digital Downloads</a>
+<div class="navSaChild">
+<ul id="navSaChild_2" class="navbar navSaChild">
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/kindle-store-ebooks-newspapers-blogs/b/ref=sa_menu_ks2?ie=UTF8&node=133141011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Kindle Store</a>
+<div class="navSaTagLine tiny">Books, newspapers & more</div>
+</li>
+
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Video-On-Demand/b/ref=sa_menu_atv2?ie=UTF8&node=16261631&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Video On Demand</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/MP3-Music-Download/b/ref=sa_menu_dmusic2?ie=UTF8&node=163856011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">MP3 Downloads</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Game-Downloads/b/ref=sa_menu_gdown2?ie=UTF8&node=979455011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Game Downloads</a>
+</li>
+</ul>
+</div>
+
+</li>
+<li id="navSaMenuItem_3" class="navSaMenuItem navSaMenuItemMiddle">
+<a class="navSaMenuItem">Kindle</a>
+<div class="navSaChild">
+<ul id="navSaChild_3" class="navbar navSaChild">
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Wireless-Reading-Display-International-Generation/dp/B0015T963C/ref=sa_menu_kdp2i3?pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Kindle</a>
+<div class="navSaTagLine tiny">Amazon's 6" wireless reading device</div>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/gp/product/B0015TG12Q/ref=sa_menu_kdxi3?pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Kindle DX</a>
+
+<div class="navSaTagLine tiny">Amazon's 9.7" wireless reading device</div>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Kindle-Accessories/b/ref=sa_menu_kacces3?ie=UTF8&node=1268192011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Accessories</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Kindle-Books/b/ref=sa_menu_kbo3?ie=UTF8&node=1286228011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Books</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Kindle-Newspapers/b/ref=sa_menu_knews3?ie=UTF8&node=1263068011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Newspapers</a>
+
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Kindle-Magazines/b/ref=sa_menu_kmag3?ie=UTF8&node=1263069011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Magazines</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/kindle-store-ebooks-newspapers-blogs/b/ref=sa_menu_kstore3?ie=UTF8&node=133141011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Kindle Store</a>
+</li>
+</ul>
+</div>
+</li>
+<li id="navSaMenuItem_4" class="navSaMenuItem navSaMenuItemMiddle">
+<a class="navSaMenuItem">Computers & Office</a>
+
+<div class="navSaChild">
+<ul id="navSaChild_4" class="navbar navSaChild">
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Notebooks-Laptop-Computers/b/ref=sa_menu_lapnet4?ie=UTF8&node=565108&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Laptops &amp; Netbooks</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Desktops-Computers-Add-Ons/b/ref=sa_menu_deskserv4?ie=UTF8&node=565098&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Desktops &amp; Servers</a>
+</li>
+<li class="navSaChildItem">
+
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/PC-Components-Computer-Add-Ons-Computers/b/ref=sa_menu_components4?ie=UTF8&node=193870011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Computer Components</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Computer-Accessories-Supplies/b/ref=sa_menu_compaccess4?ie=UTF8&node=172456&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Computer Accessories</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Printers-Office-Electronics/b/ref=sa_menu_printers4?ie=UTF8&node=172635&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Printers &amp; Ink</a>
+</li>
+<li class="navSaChildItem">
+
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/software-business-education-finance-childrens/b/ref=sa_menu_sw4?ie=UTF8&node=229534&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Software</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/PC-Games/b/ref=sa_menu_pcgm4?ie=UTF8&node=229575&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">PC Games</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/office-products-supplies-electronics-furniture/b/ref=sa_menu_op4?ie=UTF8&node=1064954&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Office Products &amp; Supplies</a>
+</li>
+</ul>
+
+</div>
+</li>
+<li id="navSaMenuItem_5" class="navSaMenuItem navSaMenuItemMiddle">
+<a class="navSaMenuItem">Electronics</a>
+<div class="navSaChild">
+<ul id="navSaChild_5" class="navbar navSaChild">
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Televisions-Video/b/ref=sa_menu_tv5?ie=UTF8&node=1266092011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">TV &amp; Video</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Home-Audio-Electronics/b/ref=sa_menu_hat5?ie=UTF8&node=667846011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Home Audio &amp; Theater</a>
+
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Camera-Photo-Film-Canon-Sony/b/ref=sa_menu_p5?ie=UTF8&node=502394&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Camera &amp; Photo</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/cell-phones-service-plans-accessories/b/ref=sa_menu_wi5?ie=UTF8&node=301185&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Cell Phones &amp; Service</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+
+<a class="navSaChildItem" href="/computer-video-games-hardware-accessories/b/ref=sa_menu_cvg5?ie=UTF8&node=468642&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Video Games</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/MP3-Players-Audio-Video/b/ref=sa_menu_mp35?ie=UTF8&node=172630&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">MP3 &amp; Media Players</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Car-Electronics/b/ref=sa_menu_gps5?ie=UTF8&node=1077068&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Car Electronics &amp; GPS</a>
+</li>
+
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/home-appliances-fans-heaters-air-conditioners/b/ref=sa_menu_ha5?ie=UTF8&node=361395011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Home Appliances</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/musical-instruments-accessories-sound-recording/b/ref=sa_menu_mi5?ie=UTF8&node=11091801&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Musical Instruments</a>
+</li>
+</ul>
+</div>
+</li>
+<li id="navSaMenuItem_6" class="navSaMenuItem navSaMenuItemMiddle">
+<a class="navSaMenuItem">Home & Garden</a>
+
+<div class="navSaChild">
+<ul id="navSaChild_6" class="navbar navSaChild">
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/kitchen-dining-small-appliances-cookware/b/ref=sa_menu_ki6?ie=UTF8&node=284507&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Kitchen &amp; Dining</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/furniture-decor-rugs-lamps-beds-tv-stands/b/ref=sa_menu_fd6?ie=UTF8&node=1057794&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Furniture &amp; Décor</a>
+</li>
+<li class="navSaChildItem">
+
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/bedding-bath-sheets-towels/b/ref=sa_menu_bb6?ie=UTF8&node=1057792&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Bedding &amp; Bath</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/home-appliances-fans-heaters-air-conditioners/b/ref=sa_menu_ha6?ie=UTF8&node=361395011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Home Appliances</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/vacuums-home-storage-organization/b/ref=sa_menu_vc6?ie=UTF8&node=510080&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Vacuums &amp; Storage</a>
+
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Home-Improvement-garden-tools-lawn-hardware/b/ref=sa_menu_hi26?ie=UTF8&node=228013&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Home Improvement</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/patio-garden-grills-outdoor-furniture/b/ref=sa_menu_lp6?ie=UTF8&node=286168&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Patio, Lawn &amp; Garden</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/pet-supplies-dog-cat-food-bed-toy/b/ref=sa_menu_ps6?ie=UTF8&node=12923371&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Pet Supplies</a>
+
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/sewing-fabric-craft-scrapbook-supplies/b/ref=sa_menu_sch6?ie=UTF8&node=12890711&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Sewing, Craft &amp; Hobby</a>
+</li>
+</ul>
+</div>
+</li>
+<li id="navSaMenuItem_7" class="navSaMenuItem navSaMenuItemMiddle">
+<a class="navSaMenuItem">Grocery, Health & Beauty</a>
+<div class="navSaChild">
+<ul id="navSaChild_7" class="navbar navSaChild">
+
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/grocery-breakfast-foods-snacks-organic/b/ref=sa_menu_gro7?ie=UTF8&node=16310101&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Grocery</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Natural-Organic-Grocery/b/ref=sa_menu_nto7?ie=UTF8&node=51537011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Natural &amp; Organic</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/gourmet-food-gifts-chocolate-seafood/b/ref=sa_menu_gf7?ie=UTF8&node=3370831&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Gourmet Food</a>
+</li>
+
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/health-personal-care-nutrition-fitness/b/ref=sa_menu_hpc7?ie=UTF8&node=3760901&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Health &amp; Personal Care</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/beauty-makeup-fragrance-skin-care/b/ref=sa_menu_bty7?ie=UTF8&node=3760911&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Beauty</a>
+</li>
+</ul>
+</div>
+</li>
+<li id="navSaMenuItem_8" class="navSaMenuItem navSaMenuItemMiddle">
+<a class="navSaMenuItem">Toys, Kids & Baby</a>
+
+<div class="navSaChild">
+<ul id="navSaChild_8" class="navbar navSaChild">
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/toys/b/ref=sa_menu_tg8?ie=UTF8&node=165793011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Toys &amp; Games</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/baby-car-seats-strollers-bedding/b/ref=sa_menu_ba8?ie=UTF8&node=165796011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Baby</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Kids-Baby-Clothing/b/ref=sa_menu_kba8?ie=UTF8&node=1040662&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Clothing (Kids &amp; Baby)</a>
+
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Kids-Family/b/ref=sa_menu_cvg8?ie=UTF8&node=471306&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Video Games for Kids</a>
+</li>
+</ul>
+</div>
+</li>
+<li id="navSaMenuItem_9" class="navSaMenuItem navSaMenuItemMiddle">
+<a class="navSaMenuItem">Clothing, Shoes & Jewelry</a>
+<div class="navSaChild">
+<ul id="navSaChild_9" class="navbar navSaChild">
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+
+<a class="navSaChildItem" href="/clothing-accessories-men-women-kids/b/ref=sa_menu_apr9?ie=UTF8&node=1036592&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Clothing &amp; Accessories</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/shoes-men-women-kids-baby/b/ref=sa_menu_shoe9?ie=UTF8&node=672123011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Shoes</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/jewelry-watches-engagements-rings-diamonds/b/ref=sa_menu_jewelry9?ie=UTF8&node=3367581&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Jewelry</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+
+<a class="navSaChildItem" href="/Watches-Mens-Womens-Kids-Accessories/b/ref=sa_menu_watches9?ie=UTF8&node=377110011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Watches</a>
+</li>
+</ul>
+</div>
+</li>
+<li id="navSaMenuItem_10" class="navSaMenuItem navSaMenuItemMiddle">
+<a class="navSaMenuItem">Sports & Outdoors</a>
+<div class="navSaChild">
+<ul id="navSaChild_10" class="navbar navSaChild">
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Exercise-Fitness-Sports-Outdoors/b/ref=sa_menu_ef10?ie=UTF8&node=3407731&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Exercise &amp; Fitness</a>
+
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Outdoor-Recreation/b/ref=sa_menu_outrec10?ie=UTF8&node=706814011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Outdoor Recreation</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Apparel/b/ref=sa_menu_athcloth10?ie=UTF8&node=2206626011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Athletic &amp; Outdoor Clothing</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Team-Sports-Outdoors/b/ref=sa_menu_teamsp10?ie=UTF8&node=706809011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Team Sports</a>
+
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Bikes-Scooters/b/ref=sa_menu_bike10?ie=UTF8&node=2232464011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Bikes &amp; Scooters</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Golf-Sports-Outdoors/b/ref=sa_menu_golf10?ie=UTF8&node=3410851&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Golf</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Fan-Shop-Sports-Outdoors/b/ref=sa_menu_fan10?ie=UTF8&node=3386071&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Fan Shop</a>
+
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/sporting-goods-clothing-cycling-exercise/b/ref=sa_menu_sg10?ie=UTF8&node=3375251&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">All Sports &amp; Outdoors</a>
+</li>
+</ul>
+</div>
+</li>
+<li id="navSaMenuItem_11" class="navSaMenuItem navSaMenuItemBottom">
+<a class="navSaMenuItem">Tools, Auto & Industrial</a>
+<div class="navSaChild">
+<ul id="navSaChild_11" class="navbar navSaChild">
+
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Tools-Power-Cordless-Saws-Drills/b/ref=sa_menu_hi11?ie=UTF8&node=328182011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Power &amp; Hand Tools</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Home-Improvement-garden-tools-lawn-hardware/b/ref=sa_menu_hi211?ie=UTF8&node=228013&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Home Improvement</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Plumbing-Home-Improvement-Faucets-Bathtubs/b/ref=sa_menu_plumb11?ie=UTF8&node=3754161&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Plumbing Fixtures</a>
+</li>
+
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Lighting-Electrical-Home-Improvement/b/ref=sa_menu_light11?ie=UTF8&node=495224&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Lighting &amp; Electrical</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Lawn-Garden-Tools-Hardware/b/ref=sa_menu_outequip11?ie=UTF8&node=551242&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Outdoor Power Equipment</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/automotive-auto-truck-replacements-parts/b/ref=sa_menu_cpc11?ie=UTF8&node=15684181&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Automotive</a>
+</li>
+
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/Motorcycle-ATV-Automotive/b/ref=sa_menu_matv11?ie=UTF8&node=346333011&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Motorcycle &amp; ATV</a>
+</li>
+<li class="navSaChildItem">
+<div class="navSprite navSaChildOrangeArrow"></div>
+<a class="navSaChildItem" href="/industrial-scientific-supplies/b/ref=sa_menu_biss11?ie=UTF8&node=16310091&pf_rd_p=328655101&pf_rd_s=left-nav-1&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Industrial &amp; Scientific</a>
+</li>
+</ul>
+</div>
+</li>
+
+</ul>
+<div class="navSaGwBottom">
+<div class="navSprite navSaGwBottomRule">
+<div class="navSaGwFixIE"></div>
+</div>
+</div>
+</div>
+</div>
+
+<script type="text/javascript">
+    amznJQ.declareAvailable('navbarBTF');
+</script>
+<script type='text/javascript'><!--
+  _navbar.componentLoaded();
+--></script>
+        <div id="leftcolbtf"></div>
+      </div>
+
+
+      <div class="amabot_right" id="rightcol">
+          
+          
+          <div style="display:none;"></div><table border="0" width="100%" cellspacing="0" cellpadding="0"><tr><td align="center"><map name="strath-roto"><area shape="rect" coords="0,0,300,120" alt="Shop Strathwood Patio Furniture" href="/gp/feature.html/ref=amb_link_191469822_2?ie=UTF8&docId=1000075201&pf_rd_m=ATVPDKIKX0DER&pf_rd_s=right-csm-1&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=1241211022&pf_rd_i=507846"/> </map><img src="http://g-ecx.images-amazon.com/images/G/01/img10/home-and-gardern/300-column/strathwood_300x120._V218000842_.gif" width="300" align="center" usemap="#strath-roto" alt="Shop Strathwood Patio Furniture" height="120" border="0" /></td></tr></table><br>
+  <style type="text/css">
+    .csContent .csButtonPanel {right:50%; margin-right:-235px;}
+  </style>
+
+       
+       <style type="text/css">
+
+#pphGateway 
+{
+       font-family:verdana;
+       font-size: 13px;
+}
+
+#pphGateway a:link
+{
+    font-size: 13px;
+       color:#003399;
+}
+                                                                                                                           
+#pphGateway a:visited
+{
+        font-size: 13px;
+        color:#003399;
+}
+
+#pphGateway a:active
+{
+       font-size: 13px;
+       color:#003399
+}
+
+#pphGateway table,
+#pphGateway tr,
+#pphGateway td {
+       margin: 0;
+       padding: 0;
+       border: none;
+}
+
+#pphGateway td {
+       vertical-align: middle;
+       text-align: center;
+}
+
+.pphGatewayPayPhrase
+{
+       color:#E47911;
+       font-weight: bold;
+}
+
+.pphGatewayCarat
+{
+       margin-right: 2px;
+}
+
+</style>
+
+       
+       
+       <script type="text/javascript">
+
+               var pphPopup = {};
+
+
+
+               pphPopup.openPopup = function(url, fallbackUrl, windowName, width, height, shouldClose) {
+                       var left = (window.screen.width - width) / 2;
+                       var top = (window.screen.height - height) / 2;
+
+                       var options = {};
+                       options.width = width;
+                       options.height = height;
+                       options.left = left;
+                       options.top = top;
+                       options.scrollbars = 'yes';
+
+                       var optionStrings = [];
+                       for (var key in options) {
+                               var value = options[key];
+                               optionStrings.push(key + '=' + value);
+                       }
+                       
+                       var popup = window.open(url, windowName, optionStrings.join(','));
+
+                       if (popup == null || popup.closed) {
+                               window.location = fallbackUrl;
+                               return null;
+                       }
+
+                       popup.focus();
+
+                       if (shouldClose) {
+                               window.close();
+                       }
+
+                       return popup;
+               }
+
+
+
+               pphPopup.openNewWindow = function(url, windowName, shouldClose) {
+                       var popup = window.open(url, windowName);
+
+                       if (popup == null || popup.closed) {
+                               window.location = url;
+                               return null;
+                       }
+
+                       if (shouldClose) {
+                               window.close();
+                       }
+
+                       return popup;
+               }
+
+       </script>
+
+       
+
+
+
+
+
+
+               
+
+<div class="unified_widget">
+
+
+               
+               
+
+
+
+
+<div id="pphGateway">
+       <table cellpadding="0" cellspacing="0">
+       <tr>
+               <td><img src="http://g-ecx.images-amazon.com/images/G/01/payphrase/gw_icon_whats-your-pp_60x50._V227419901_.gif" width="57" height="42" border="0" /></td>
+               <td>
+                       <div class="pphGatewayPayPhrase">
+
+                               "Precious Charities"
+                       </div>
+                       <div>
+                               is still available!
+                               <img class="pphGatewayCarat" src="http://g-ecx.images-amazon.com/images/G/01/payphrase/carat_orange._V233258236_.gif"
+                               ><a  href="/gp/payphrase/claim/whats-this.html/ref=pph_gw1_" onclick="pphPopup.openPopup('/gp/payphrase/claim/select-phrase.html/ref=pph_gw1_?ie=UTF8&a=wh-th&phrase=Precious Charities&isPopup=0', '/gp/payphrase/claim/whats-this.html/ref=pph_gw1_', 'pphCreatePayphrase', 500, 475, false); return false;">Claim yours</a>          
+                       </div>
+               </td>
+       </tr>
+       </table>
+</div>
+
+</div>
+
+
+
+
+
+        
+
+  
+
+
+
+
+
+  
+
+
+<div id="cachebust_672468_adcontent" style="display:block; margin-top: 0px; margin-bottom:16px; padding:0px; width:303px; ">
+
+
+
+
+
+
+
+<script type="text/javascript">
+
+function createIFrame(parentId,name,src,width,height,headerFlag,onloadHandler,ffMagic) {
+    var elem = document.createElement("iframe");
+    elem.id = name;
+    if (ffMagic === true && navigator.userAgent.indexOf("Firefox") > -1) {
+        elem.src = "about:self";
+    } else {
+        elem.src = src;
+    }
+    elem.frameBorder = 0;
+    elem.marginHeight = 0;
+    elem.marginWidth = 0;
+    elem.leftMargin = 0;
+    elem.topMargin = 0;
+    
+    if (elem.attachEvent) {
+        elem.attachEvent("onload", onloadHandler );
+    } else if (elem.addEventListener) {
+        elem.addEventListener("load", onloadHandler, false );
+    } else {
+        elem.onload = onloadHandler;
+    }
+    
+    elem.setAttribute("name", name);
+    elem.setAttribute("title", "Ad");
+    elem.setAttribute("scrolling", "no");
+    elem.setAttribute("allowtransparency", "true");
+    elem.setAttribute("width", width);
+    elem.setAttribute("height", height);
+    var parent = document.getElementById(parentId);
+    if(headerFlag === true) {
+        var header = parent.getElementsByTagName("div")[0];
+        if( header.nextSibling ) {
+            parent.insertBefore(elem,header.nextSibling);
+        } else {
+            parent.appendChild(elem);
+        }
+    } else {
+        if( parent.hasChildNodes() ) {
+            parent.insertBefore(elem,parent.firstChild);
+        } else {
+            parent.appendChild(elem);
+        }
+    }
+
+    if (navigator.userAgent.indexOf("Firefox") > -1) {
+        elem.contentWindow.location.replace(src);
+    }
+}
+
+   
+    function createIFrame_672468() {
+var headerFlag = false;
+createIFrame("cachebust_672468_adcontent", "cachebust_672468", "/aan/2009-09-09/static/amazon.us/iframeproxy.html#dclick=amzn.us.gw.atf;sz%3D300x250;bn%3D507846;u%3Dd3fea4d8de44458ba080ee463a1b4d29;ord%3D1ZVR459TF7HXNEVD4C92;s%3D380;s%3D98;s%3D99;s%3D374;s%3D227;s%3D121;s%3D363;s%3D122;s%3D128;s%3D3;s%3D411;s%3D412;s%3D137;s%3D142;s%3D279;s%3D614;s%3D493;s%3D888;s%3D131;s%3D12;s%3D284;s%3D615;s%3D496;s%3D404;s%3D283;s%3D10;s%3D286;s%3D285;s%3D287;s%3D877;s%3D875;s%3D497;s%3D22;s%3D266;s%3D27;s%3D26;s%3D32;s%3D271;s%3D150;s%3D39;s%3D40;s%3D171;s%3D165;s%3D318;s%3D49;s%3D303;s%3D57;s%3D59;s%3D342;s%3D71;s%3D341;s%3D344;s%3D343;s%3D338;s%3D67;s%3D337;s%3D340;s%3D339;s%3D350;s%3D349;s%3D80;s%3D77;s%3D195;s%3D348;s%3D324;s%3D333;s%3D334;s%3D335;s%3D94;s%3D336;s%3D92;s%3D330;s%3D91;s%3D331;s%3D332;s%3Dm1;s%3Dm4;z%3D3;tile%3D1%3F",
+    "303", "270", headerFlag, adOnload_672468,true);    
+    }
+    
+    function collapseFrame_672468 () {
+               var elem=document.getElementById('cachebust_672468_adcontent');
+               elem.style.visibility="hidden";
+               elem.style.display="none";   
+               elem.style.height=0;
+               elem.style.width=0;
+               elem.style.margin=0;     
+    }
+    function adOnload_672468 () {
+
+        var frame_672468 = document.getElementById('cachebust_672468');
+        if( frame_672468.contentWindow ) {
+            if( frame_672468.contentWindow.document ) {
+               var iwin = frame_672468.contentWindow;
+               if( typeof iwin.d16gCollapse !== "undefined" ) {
+                               collapseFrame_672468();
+               } else { 
+                       var ib = iwin.document.body;
+                       if( ib && ib.innerHTML == "" ) {
+                           var oDoc = (frame_672468.contentWindow || frame_672468.contentDocument);
+                           if (oDoc.document) 
+                               oDoc = oDoc.document;
+                           oDoc.write('<a href="http://www.amazon.com/gp/browse.html/ref=rd_baby_hp/?node=165796011" target="_blank"><img src="http://g-ecx.images-amazon.com/images/G/01/advertising/300x250-new-in-baby_041808._V259687583_.jpg" height="250" alt="Baby" width="300" border="0"/></a>');
+                       }
+                   }
+            }
+        }
+    }
+</script>
+
+
+       
+<script type="text/javascript">
+if(typeof gwEH != 'undefined') {
+    gwEH.afterFold(function() {    
+        amznJQ.available('jQuery', function() {
+             createIFrame_672468();
+        });
+    });
+}
+else {
+    createIFrame_672468();
+}
+</script>    <noscript><iframe id="cachebust_672468" name="cachebust_672468" src="http://ad.doubleclick.net/adi/amzn.us.gw.atf;sz=300x250;bn=507846;u=d3fea4d8de44458ba080ee463a1b4d29;ord=1ZVR459TF7HXNEVD4C92;s=380;s=98;s=99;s=374;s=227;s=121;s=363;s=122;s=128;s=3;s=411;s=412;s=137;s=142;s=279;s=614;s=493;s=888;s=131;s=12;s=284;s=615;s=496;s=404;s=283;s=10;s=286;s=285;s=287;s=877;s=875;s=497;s=22;s=266;s=27;s=26;s=32;s=271;s=150;s=39;s=40;s=171;s=165;s=318;s=49;s=303;s=57;s=59;s=342;s=71;s=341;s=344;s=343;s=338;s=67;s=337;s=340;s=339;s=350;s=349;s=80;s=77;s=195;s=348;s=324;s=333;s=334;s=335;s=94;s=336;s=92;s=330;s=91;s=331;s=332;s=m1;s=m4;z=3;tile=1?" title="Ad" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" allowtransparency="true" width="303" height="270" onload="adOnload_672468()" > <a href="http://www.amazon.com/gp/browse.html/ref=rd_baby_hp/?node=165796011" target="_blank"><img src="http://g-ecx.images-amazon.com/images/G/01/advertising/300x250-new-in-baby_041808._V259687583_.jpg" height="250" alt="Baby" width="300" border="0"/></a> </iframe></noscript>
+
+</div><div class="unified_widget rcmBody"><h2>Nintendo's New DSi XL</h2><div class="prodImage"><a href="/gp/s//ref=amb_link_167009822_1?ie=UTF8&search-alias=videogames&hidden-keywords=B002I08UWU%7CB002I08UGQ&pf_rd_m=ATVPDKIKX0DER&pf_rd_s=right-3&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=1120331022&pf_rd_i=507846"><img src="http://ecx.images-amazon.com/images/I/410rcWZGNzL._SL75_.jpg" width="75" align="left" alt="Nintendo DSi XL" height="69" border="0" /></a></div>The newly announced 
+<a href="/gp/s//ref=amb_link_167009822_3?ie=UTF8&search-alias=videogames&hidden-keywords=B002I08UWU%7CB002I08UGQ&pf_rd_m=ATVPDKIKX0DER&pf_rd_s=right-3&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=1120331022&pf_rd_i=507846">Nintendo DSi XL</a> includes two 4.2-inch LCD screens, three bundled games, and an Internet browser and comes in two new colors. 
+<br clear="left"><p class="seeMore"><span class="carat">&#8250;</span><a href="/gp/s//ref=amb_link_167009822_4?ie=UTF8&search-alias=videogames&hidden-keywords=B002I08UWU%7CB002I08UGQ&pf_rd_m=ATVPDKIKX0DER&pf_rd_s=right-3&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=1120331022&pf_rd_i=507846">Learn more</a></p><div class="h_rule"></div></div>
+          <div id="rightcolbtf"></div>
+
+      </div>
+      <div class="amabot_center" id="centercol">
+
+
+
+
+          
+
+          
+
+              
+              
+                  <div style="display:none;"></div><table border="0" width="100%" cellspacing="0" cellpadding="0"><tr><td align="center"><map name="kindleC2"><area shape="rect" coords="1,2,474,340" alt="Kindle:  Free wireless, no contracts" href="/Kindle-Wireless-Reading-Display-Generation/dp/B0015T963C/ref=amb_link_40389822_2?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-1&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=1243857022&pf_rd_i=507846"/> </map><img src="http://g-ecx.images-amazon.com/images/G/01/kindle/merch/gw/turingww-C1-COM-LRG-TV-06._V217552120_.jpg" align="center" usemap="#kindleC2" alt="Kindle:  Free wireless, no contracts" border="0" /></td></tr></table><br>
+              
+                  <div class="unified_widget rcm">
+
+<script type="text/javascript">
+if (typeof S9MultiPackLayout == "undefined") {
+  document.write('<scr' + 'ipt src="http://z-ecx.images-amazon.com/images/G/01/s9-campaigns/s9-multipack-layout-seeded._V217957892_.js"></scr' + 'ipt>');
+}
+</script>
+<style>
+.ns_1ZVR459TF7HXNEVD4C92_25487_fixedHeightImageContainer {
+height: 136px;
+position: relative;
+margin-bottom: 8px;
+vertical-align: bottom;
+}
+.ns_1ZVR459TF7HXNEVD4C92_25487_fixedHeightImageContainer img {
+position: absolute;
+bottom: 0px;
+}
+.ns_1ZVR459TF7HXNEVD4C92_25487_textContainer {
+padding: 0;
+margin: 0;
+overflow: hidden;
+}
+.ns_1ZVR459TF7HXNEVD4C92_25487_textWrapper {
+padding: 0;
+margin: 0;
+}
+td.amabot_center div.unified_widget h2.s9_title, div.amabot_center div.unified_widget h2.s9_title {margin-bottom: 0;
+}
+.seed_header {border-right: 1px dotted #DDDDDD;
+background: #FAFAFA;
+}
+.other_header {background: #FFF;
+}
+.s9_seeded_row {padding-bottom: 1.917em;
+border-bottom: 1px dotted #DDDDDD;
+}
+div.s9_de div.s9_seeded_row {padding-bottom: 3.5em;
+}
+.s9_header {margin-bottom: 0.833em;
+color: #666666;
+padding: 0.25em 0.583em 0.25em 0.583em;
+}
+div.s9_de div#ns_1ZVR459TF7HXNEVD4C92_25487_SeedItemHeader {height: 3em;
+}
+div.s9_de div#ns_1ZVR459TF7HXNEVD4C92_25487_OtherItemsHeader {height: 3em;
+}
+
+</style>
+<h2>What Other Customers Are Looking At Right Now</h2>
+<div class="row" id="ns_1ZVR459TF7HXNEVD4C92_25487_r0ItemRow">
+<div class="ns_1ZVR459TF7HXNEVD4C92_25487_otherItems" id="ns_1ZVR459TF7HXNEVD4C92_25487_r0OtherItems" style="float: left; width: 99%;">
+<div class="asinItem" id="ns_1ZVR459TF7HXNEVD4C92_25487_r0ItemElement0" style="width: 33%; margin-bottom: 0px; ">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25487_r0ImageContainer0" class="ns_1ZVR459TF7HXNEVD4C92_25487_fixedHeightImageContainer">
+<a href="/gp/product/B000REPU2M/ref=s9_pop_gw_ir01?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-2&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=493379291&pf_rd_i=507846"><img src="http://ecx.images-amazon.com/images/I/313oEZOqNSL._SL135_.jpg" alt="Hoover Elite Rewind..." width="135" height="135" id="ns_1ZVR459TF7HXNEVD4C92_25487_r0Image0" /></a>
+</div>
+<div id="ns_1ZVR459TF7HXNEVD4C92_25487_r0TitleContainer0" class="ns_1ZVR459TF7HXNEVD4C92_25487_textContainer">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25487_r0Title0" class="ns_1ZVR459TF7HXNEVD4C92_25487_textWrapper">
+<div class="asinTextBlock">
+<div class="title">
+<a href="/gp/product/B000REPU2M/ref=s9_pop_gw_tr01?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-2&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=493379291&pf_rd_i=507846" title="Hoover Elite Rewind Bagless Upright Vacuum">Hoover Elite Rewind Bagless Upright...</a>
+<span class="byline">
+
+</span>
+</div>
+<span class="listprice">$139.00</span> <b class="price">$89.99</b>
+</div>
+</div>
+</div>
+</div>
+<div class="asinItem" id="ns_1ZVR459TF7HXNEVD4C92_25487_r0ItemElement1" style="width: 33%; margin-bottom: 0px; ">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25487_r0ImageContainer1" class="ns_1ZVR459TF7HXNEVD4C92_25487_fixedHeightImageContainer">
+<a href="/gp/product/B00001PE59/ref=s9_pop_gw_ir02?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-2&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=493379291&pf_rd_i=507846"><img src="http://ecx.images-amazon.com/images/I/61HTVQNBP1L._SL135_.jpg" alt="Into the Woods" width="97" height="135" id="ns_1ZVR459TF7HXNEVD4C92_25487_r0Image1" /></a>
+</div>
+<div id="ns_1ZVR459TF7HXNEVD4C92_25487_r0TitleContainer1" class="ns_1ZVR459TF7HXNEVD4C92_25487_textContainer">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25487_r0Title1" class="ns_1ZVR459TF7HXNEVD4C92_25487_textWrapper">
+
+<div class="asinTextBlock">
+<div class="title">
+<a href="/gp/product/B00001PE59/ref=s9_pop_gw_tr02?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-2&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=493379291&pf_rd_i=507846">Into the Woods</a>
+<span class="byline">
+DVD
+ ~ Bernadette Peters, Joanna...
+</span>
+</div>
+<span class="listprice">$24.98</span> <b class="price">$18.99</b>
+</div>
+</div>
+</div>
+</div>
+<div class="asinItem" id="ns_1ZVR459TF7HXNEVD4C92_25487_r0ItemElement2" style="width: 33%; margin-bottom: 0px; ">
+
+<div id="ns_1ZVR459TF7HXNEVD4C92_25487_r0ImageContainer2" class="ns_1ZVR459TF7HXNEVD4C92_25487_fixedHeightImageContainer">
+<a href="/gp/product/B001FN2PDG/ref=s9_pop_gw_ir03?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-2&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=493379291&pf_rd_i=507846"><img src="http://ecx.images-amazon.com/images/I/4145CEsTOOL._SL135_.jpg" alt="Kodak EasyShare M820..." width="135" height="135" id="ns_1ZVR459TF7HXNEVD4C92_25487_r0Image2" /></a>
+</div>
+<div id="ns_1ZVR459TF7HXNEVD4C92_25487_r0TitleContainer2" class="ns_1ZVR459TF7HXNEVD4C92_25487_textContainer">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25487_r0Title2" class="ns_1ZVR459TF7HXNEVD4C92_25487_textWrapper">
+<div class="asinTextBlock">
+<div class="title">
+<a href="/gp/product/B001FN2PDG/ref=s9_pop_gw_tr03?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-2&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=493379291&pf_rd_i=507846" title="Kodak EasyShare M820  Digital Frame with Home D&#233;cor Kit">Kodak EasyShare M820  Digital Frame...</a>
+<span class="byline">
+
+
+</span>
+</div>
+
+</div>
+</div>
+
+</div>
+</div>
+<div class="asinItem" id="ns_1ZVR459TF7HXNEVD4C92_25487_r0ItemElement3" style="width: 33%; margin-bottom: 0px; display: none;">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25487_r0ImageContainer3" class="ns_1ZVR459TF7HXNEVD4C92_25487_fixedHeightImageContainer">
+<a href="/gp/product/0140280197/ref=s9_pop_gw_ir04?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-2&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=493379291&pf_rd_i=507846"><img url="http://ecx.images-amazon.com/images/I/41T9TGV2JBL._SL123_PIsitb-sticker-arrow-sm,TopRight,8,-14_OU01_.jpg" alt="The 48 Laws..." width="97" height="135" id="ns_1ZVR459TF7HXNEVD4C92_25487_r0Image3" /></a>
+</div>
+<div id="ns_1ZVR459TF7HXNEVD4C92_25487_r0TitleContainer3" class="ns_1ZVR459TF7HXNEVD4C92_25487_textContainer">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25487_r0Title3" class="ns_1ZVR459TF7HXNEVD4C92_25487_textWrapper">
+<div class="asinTextBlock">
+<div class="title">
+<a href="/gp/product/0140280197/ref=s9_pop_gw_tr04?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-2&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=493379291&pf_rd_i=507846">The 48 Laws of Power</a>
+<span class="byline">
+Paperback
+ ~ <a href="/Robert-Greene/e/B001IGV3IS/ref=s9_pop_gw_al4?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-2&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=493379291&pf_rd_i=507846">Robert Greene</a>
+</span>
+
+</div>
+<span class="listprice">$20.00</span> <b class="price">$11.70</b>
+</div>
+</div>
+</div>
+</div>
+<div class="asinItem" id="ns_1ZVR459TF7HXNEVD4C92_25487_r0ItemElement4" style="width: 33%; margin-bottom: 0px; display: none;">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25487_r0ImageContainer4" class="ns_1ZVR459TF7HXNEVD4C92_25487_fixedHeightImageContainer">
+<a href="/gp/product/0393072231/ref=s9_pop_gw_ir05?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-2&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=493379291&pf_rd_i=507846"><img url="http://ecx.images-amazon.com/images/I/411yZ-zOx7L._SL135_.jpg" alt="The Big Short..." width="90" height="135" id="ns_1ZVR459TF7HXNEVD4C92_25487_r0Image4" /></a>
+</div>
+<div id="ns_1ZVR459TF7HXNEVD4C92_25487_r0TitleContainer4" class="ns_1ZVR459TF7HXNEVD4C92_25487_textContainer">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25487_r0Title4" class="ns_1ZVR459TF7HXNEVD4C92_25487_textWrapper">
+<div class="asinTextBlock">
+<div class="title">
+
+<a href="/gp/product/0393072231/ref=s9_pop_gw_tr05?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-2&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=493379291&pf_rd_i=507846" title="The Big Short: Inside the Doomsday Machine">The Big Short: Inside the Doomsday...</a>
+<span class="byline">
+Hardcover
+ ~ <a href="/Michael-Lewis/e/B000APZ33E/ref=s9_pop_gw_al5?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-2&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=493379291&pf_rd_i=507846">Michael Lewis</a>
+</span>
+</div>
+<span class="listprice">$27.95</span> <b class="price">$15.09</b>
+</div>
+</div>
+</div>
+</div>
+<div class="asinItem" id="ns_1ZVR459TF7HXNEVD4C92_25487_r0ItemElement5" style="width: 33%; margin-bottom: 0px; display: none;">
+
+<div id="ns_1ZVR459TF7HXNEVD4C92_25487_r0ImageContainer5" class="ns_1ZVR459TF7HXNEVD4C92_25487_fixedHeightImageContainer">
+<a href="/gp/product/B000Z36FRE/ref=s9_pop_gw_ir06?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-2&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=493379291&pf_rd_i=507846"><img url="http://ecx.images-amazon.com/images/I/41j9OLZ4AtL._SL135_.jpg" alt="Tascam MPVT1 Portable..." width="121" height="135" id="ns_1ZVR459TF7HXNEVD4C92_25487_r0Image5" /></a>
+</div>
+<div id="ns_1ZVR459TF7HXNEVD4C92_25487_r0TitleContainer5" class="ns_1ZVR459TF7HXNEVD4C92_25487_textContainer">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25487_r0Title5" class="ns_1ZVR459TF7HXNEVD4C92_25487_textWrapper">
+<div class="asinTextBlock">
+<div class="title">
+<a href="/gp/product/B000Z36FRE/ref=s9_pop_gw_tr06?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-2&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=493379291&pf_rd_i=507846">Tascam MPVT1 Portable MP3 Vocal Trainer</a>
+<span class="byline">
+
+
+</span>
+</div>
+
+</div>
+</div>
+
+</div>
+</div>
+<div class="asinItem" id="ns_1ZVR459TF7HXNEVD4C92_25487_r0ItemElement6" style="width: 33%; margin-bottom: 0px; display: none;">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25487_r0ImageContainer6" class="ns_1ZVR459TF7HXNEVD4C92_25487_fixedHeightImageContainer">
+<a href="/gp/product/B0015T963C/ref=s9_pop_gw_ir07?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-2&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=493379291&pf_rd_i=507846"><img url="http://ecx.images-amazon.com/images/I/41t7SWZ2vpL._SL135_.jpg" alt="Kindle Wireless Reading..." width="135" height="135" id="ns_1ZVR459TF7HXNEVD4C92_25487_r0Image6" /></a>
+</div>
+<div id="ns_1ZVR459TF7HXNEVD4C92_25487_r0TitleContainer6" class="ns_1ZVR459TF7HXNEVD4C92_25487_textContainer">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25487_r0Title6" class="ns_1ZVR459TF7HXNEVD4C92_25487_textWrapper">
+<div class="asinTextBlock">
+<div class="title">
+<a href="/gp/product/B0015T963C/ref=s9_pop_gw_tr07?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-2&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=493379291&pf_rd_i=507846" title="Kindle Wireless Reading Device (6&quot; Display, Global Wireless, Latest Generation)">Kindle Wireless Reading Device</a>
+<span class="byline">
+
+
+</span>
+</div>
+
+<b class="price">$259.00</b>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div style="clear: left; width: 100%; height: 1px; margin: 0; padding: 0; overflow: hidden"></div>
+<script type="text/javascript">
+if (typeof S9MultiPackLayout != "undefined") {
+  var ns_1ZVR459TF7HXNEVD4C92_25487_r0_S9MultiPackLayout = new S9MultiPackLayout(
+"ns_1ZVR459TF7HXNEVD4C92_25487_r0", 3, 7, 155, 6);
+}
+</script>
+<div class="h_rule"></div>
+</div>
+
+          
+
+
+
+
+<img src="http://g-ecx.images-amazon.com/images/G/01/x-locale/common/transparent-pixel._V42752373_.gif" width="1" alt="" onload="if (typeof uet == 'function') { uet('af'); } for (var i=0;i<gwEH._f.length;i++) { try { gwEH._f[i](); } catch (e) {} } gwEH.afterFold = function(callback) { callback(); }" height="1" border="0" />
+
+  
+
+<script type="text/javascript">
+  amznJQ.onReady('jQuery', function() {
+                        if( document.getElementById('leftcolbtf') != null && document.getElementById('leftcolhidden') != null) {
+                            document.getElementById('leftcolbtf').innerHTML = document.getElementById('leftcolhidden').innerHTML;
+                            document.getElementById('leftcolhidden').innerHTML = '';
+                         }
+                         if( document.getElementById('rightcolbtf') != null && document.getElementById('rightcolhidden') != null) {
+                             document.getElementById('rightcolbtf').innerHTML = document.getElementById('rightcolhidden').innerHTML;
+                             document.getElementById('rightcolhidden').innerHTML = '';
+                         }
+                         if( document.getElementById('rightcolatfhidden') != null ) {
+                             document.getElementById('rightcolatfhidden').style.visibility = 'visible';
+                         }
+  });
+</script>
+
+
+  
+<script type="text/javascript">
+
+window.AmazonPopoverImages = {
+  snake: 'http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/snake._V265110081_.gif',
+  btnClose: 'http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/btn_close._V265110085_.gif',
+  closeTan: 'http://g-ecx.images-amazon.com/images/G/01/nav2/images/close-tan-sm._V46903531_.gif',
+  closeTanDown: 'http://g-ecx.images-amazon.com/images/G/01/nav2/images/close-tan-sm-dn._V46881222_.gif',
+  loadingBar: 'http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/loading-bar-small._V236365259_.gif',
+  pixel: 'http://g-ecx.images-amazon.com/images/G/01/icons/blank-pixel._V42753713_.gif'
+};
+var container = document.createElement("DIV");
+container.id = "ap_container";
+if (document.body.childNodes.length) {
+    document.body.insertBefore(container, document.body.childNodes[0]);
+} else {
+    document.body.appendChild(container);
+}
+
+</script>
+
+      <script type="text/javascript" src="http://z-ecx.images-amazon.com/images/G/01/nav2/gamma/amazonJQ/amazonJQ-combined-core-39694._V217696261_.js"></script>
+<script type='text/javascript'>
+    amznJQ.addLogical('navbarCSSUSTFS', []);
+    amznJQ.addLogical('navbarJS-jQuery', ["http://z-ecx.images-amazon.com/images/G/01/nav2/gamma/navbarJS-jQuery/navbarJS-jQuery-navbarJQ-44826._V201559941_.js"]);
+    amznJQ.addLogical('websiteGridCSS', []);
+    amznJQ.addLogical('popover', []);
+    amznJQ.addLogical('amazonShoveler', ["http://z-ecx.images-amazon.com/images/G/01/nav2/gamma/amazonShoveler/amazonShoveler-amazonShoveler-43287._V201513168_.js"]);
+    amznJQ.addLogical('amzn-ratings-bar', ["http://z-ecx.images-amazon.com/images/G/01/x-locale/personalization/yourstore/js/ratings-bar-ns-366177._V204593667_.js"]);
+    amznJQ.addLogical('clientLog', []);
+    amznJQ.addLogical('search-js-autocomplete', ["http://z-ecx.images-amazon.com/images/G/01/nav2/gamma/search-js-autocomplete/search-js-autocomplete-autocomplete-32837._V202542121_.js"]);
+</script>
+
+
+<script type="text/javascript" src="http://z-ecx.images-amazon.com/images/G/01/wma/clog/core2._V241266071_.js"></script>
+<script type="text/javascript">
+function myBaseURLCallback(){ return "http://client-log.amazon.com/clog"; }
+function myDEBUGCallback( msg ) {
+}
+function mySessionIDCallback() { return "179-9772868-5667253"; }
+function myRequestIDCallback() { return "1ZVR459TF7HXNEVD4C92"; }
+function myMarketplaceIDCallback() { return "ATVPDKIKX0DER"; }
+if( ! window.adaptCLOG ) {
+ function adaptCLOG( clog_object ) {
+  clog_object.setBaseURLCallback( myBaseURLCallback );
+  clog_object.addDebugCallback( myDEBUGCallback );
+  clog_object.setSessionIDCallback( mySessionIDCallback );
+  clog_object.setRequestIDCallback( myRequestIDCallback );
+  clog_object.setMarketplaceIDCallback( myMarketplaceIDCallback );
+  clog_object.debug("Loaded adaptors for CLOG");
+ }
+}
+if( window.CLOG  &&  window.adaptCLOG && !clientLogger ){ var clientLogger = new CLOG(); }
+</script>
+
+<script type="text/javascript">
+amznJQ.declareAvailable("clientLog");
+</script>
+             <div class="unified_widget rcm">
+
+<script type="text/javascript">
+if (typeof S9MultiPackLayout == "undefined") {
+  document.write('<scr' + 'ipt src="http://z-ecx.images-amazon.com/images/G/01/s9-campaigns/s9-multipack-layout-seeded._V217957892_.js"></scr' + 'ipt>');
+}
+</script>
+<style>
+.ns_1ZVR459TF7HXNEVD4C92_25488_fixedHeightImageContainer {
+height: 136px;
+position: relative;
+margin-bottom: 8px;
+vertical-align: bottom;
+}
+.ns_1ZVR459TF7HXNEVD4C92_25488_fixedHeightImageContainer img {
+position: absolute;
+bottom: 0px;
+}
+.ns_1ZVR459TF7HXNEVD4C92_25488_textContainer {
+padding: 0;
+margin: 0;
+overflow: hidden;
+}
+.ns_1ZVR459TF7HXNEVD4C92_25488_textWrapper {
+padding: 0;
+margin: 0;
+}
+td.amabot_center div.unified_widget h2.s9_title, div.amabot_center div.unified_widget h2.s9_title {margin-bottom: 0;
+}
+.seed_header {border-right: 1px dotted #DDDDDD;
+background: #FAFAFA;
+}
+.other_header {background: #FFF;
+}
+.s9_seeded_row {padding-bottom: 1.917em;
+border-bottom: 1px dotted #DDDDDD;
+}
+div.s9_de div.s9_seeded_row {padding-bottom: 3.5em;
+}
+.s9_header {margin-bottom: 0.833em;
+color: #666666;
+padding: 0.25em 0.583em 0.25em 0.583em;
+}
+div.s9_de div#ns_1ZVR459TF7HXNEVD4C92_25488_SeedItemHeader {height: 3em;
+}
+div.s9_de div#ns_1ZVR459TF7HXNEVD4C92_25488_OtherItemsHeader {height: 3em;
+}
+</style>
+<h2>Your Favorite Childhood Candies</h2>
+<div class="row" id="ns_1ZVR459TF7HXNEVD4C92_25488_r0ItemRow">
+
+<div class="ns_1ZVR459TF7HXNEVD4C92_25488_otherItems" id="ns_1ZVR459TF7HXNEVD4C92_25488_r0OtherItems" style="float: left; width: 99%;">
+<div class="asinItem" id="ns_1ZVR459TF7HXNEVD4C92_25488_r0ItemElement0" style="width: 33%; margin-bottom: 0px; ">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25488_r0ImageContainer0" class="ns_1ZVR459TF7HXNEVD4C92_25488_fixedHeightImageContainer">
+<a href="/gp/product/B0001VSA2I/ref=s9_tops_gw_ir01?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-3&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=486313231&pf_rd_i=507846"><img src="http://ecx.images-amazon.com/images/I/41eylFKVJNL._SL135_.jpg" alt="50&#39;s Decade Box" width="135" height="135" id="ns_1ZVR459TF7HXNEVD4C92_25488_r0Image0" /></a>
+</div>
+<div id="ns_1ZVR459TF7HXNEVD4C92_25488_r0TitleContainer0" class="ns_1ZVR459TF7HXNEVD4C92_25488_textContainer">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25488_r0Title0" class="ns_1ZVR459TF7HXNEVD4C92_25488_textWrapper">
+<div class="asinTextBlock">
+<div class="title">
+<a href="/gp/product/B0001VSA2I/ref=s9_tops_gw_tr01?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-3&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=486313231&pf_rd_i=507846">50&#39;s Decade Box</a>
+<span class="byline">
+
+
+</span>
+</div>
+
+<b class="price">$39.95</b>
+</div>
+</div>
+</div>
+</div>
+<div class="asinItem" id="ns_1ZVR459TF7HXNEVD4C92_25488_r0ItemElement1" style="width: 33%; margin-bottom: 0px; ">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25488_r0ImageContainer1" class="ns_1ZVR459TF7HXNEVD4C92_25488_fixedHeightImageContainer">
+<a href="/gp/product/B0001VSA32/ref=s9_tops_gw_ir02?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-3&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=486313231&pf_rd_i=507846"><img src="http://ecx.images-amazon.com/images/I/41kD%2BJ08FML._SL135_.jpg" alt="70&#39;s Decade Box" width="135" height="135" id="ns_1ZVR459TF7HXNEVD4C92_25488_r0Image1" /></a>
+</div>
+<div id="ns_1ZVR459TF7HXNEVD4C92_25488_r0TitleContainer1" class="ns_1ZVR459TF7HXNEVD4C92_25488_textContainer">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25488_r0Title1" class="ns_1ZVR459TF7HXNEVD4C92_25488_textWrapper">
+<div class="asinTextBlock">
+<div class="title">
+<a href="/gp/product/B0001VSA32/ref=s9_tops_gw_tr02?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-3&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=486313231&pf_rd_i=507846">70&#39;s Decade Box</a>
+
+<span class="byline">
+
+
+</span>
+</div>
+<b class="price">$39.95</b>
+</div>
+</div>
+</div>
+</div>
+<div class="asinItem" id="ns_1ZVR459TF7HXNEVD4C92_25488_r0ItemElement2" style="width: 33%; margin-bottom: 0px; ">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25488_r0ImageContainer2" class="ns_1ZVR459TF7HXNEVD4C92_25488_fixedHeightImageContainer">
+<a href="/gp/product/B0001VSA3C/ref=s9_tops_gw_ir03?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-3&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=486313231&pf_rd_i=507846"><img src="http://ecx.images-amazon.com/images/I/41ALexxjAUL._SL135_.jpg" alt="80&#39;s Decade Box" width="135" height="135" id="ns_1ZVR459TF7HXNEVD4C92_25488_r0Image2" /></a>
+</div>
+<div id="ns_1ZVR459TF7HXNEVD4C92_25488_r0TitleContainer2" class="ns_1ZVR459TF7HXNEVD4C92_25488_textContainer">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25488_r0Title2" class="ns_1ZVR459TF7HXNEVD4C92_25488_textWrapper">
+
+<div class="asinTextBlock">
+<div class="title">
+<a href="/gp/product/B0001VSA3C/ref=s9_tops_gw_tr03?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-3&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=486313231&pf_rd_i=507846">80&#39;s Decade Box</a>
+<span class="byline">
+
+
+</span>
+</div>
+<b class="price">$29.99</b>
+</div>
+</div>
+</div>
+</div>
+<div class="asinItem" id="ns_1ZVR459TF7HXNEVD4C92_25488_r0ItemElement3" style="width: 33%; margin-bottom: 0px; display: none;">
+
+<div id="ns_1ZVR459TF7HXNEVD4C92_25488_r0ImageContainer3" class="ns_1ZVR459TF7HXNEVD4C92_25488_fixedHeightImageContainer">
+<a href="/gp/product/B0001VSA3M/ref=s9_tops_gw_ir04?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-3&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=486313231&pf_rd_i=507846"><img url="http://ecx.images-amazon.com/images/I/41K%2BZwPya9L._SL135_.jpg" alt="90s Decade Box..." width="135" height="135" id="ns_1ZVR459TF7HXNEVD4C92_25488_r0Image3" /></a>
+</div>
+<div id="ns_1ZVR459TF7HXNEVD4C92_25488_r0TitleContainer3" class="ns_1ZVR459TF7HXNEVD4C92_25488_textContainer">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25488_r0Title3" class="ns_1ZVR459TF7HXNEVD4C92_25488_textWrapper">
+<div class="asinTextBlock">
+<div class="title">
+<a href="/gp/product/B0001VSA3M/ref=s9_tops_gw_tr04?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-3&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=486313231&pf_rd_i=507846" title="90s Decade Box Gift Basket - Classic 90&#39;s Candy">90s Decade Box Gift Basket - Classic...</a>
+<span class="byline">
+
+
+</span>
+</div>
+<b class="price">$29.99</b>
+</div>
+
+</div>
+</div>
+</div>
+<div class="asinItem" id="ns_1ZVR459TF7HXNEVD4C92_25488_r0ItemElement4" style="width: 33%; margin-bottom: 0px; display: none;">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25488_r0ImageContainer4" class="ns_1ZVR459TF7HXNEVD4C92_25488_fixedHeightImageContainer">
+<a href="/gp/product/B001L7EUES/ref=s9_tops_gw_ir05?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-3&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=486313231&pf_rd_i=507846"><img url="http://ecx.images-amazon.com/images/I/41sC81dR5BL._SL135_.jpg" alt="Decade Box 1940&#39;s" width="135" height="135" id="ns_1ZVR459TF7HXNEVD4C92_25488_r0Image4" /></a>
+</div>
+<div id="ns_1ZVR459TF7HXNEVD4C92_25488_r0TitleContainer4" class="ns_1ZVR459TF7HXNEVD4C92_25488_textContainer">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25488_r0Title4" class="ns_1ZVR459TF7HXNEVD4C92_25488_textWrapper">
+<div class="asinTextBlock">
+<div class="title">
+<a href="/gp/product/B001L7EUES/ref=s9_tops_gw_tr05?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-3&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=486313231&pf_rd_i=507846">Decade Box 1940&#39;s</a>
+<span class="byline">
+
+
+</span>
+</div>
+<b class="price">$39.95</b>
+</div>
+</div>
+</div>
+</div>
+<div class="asinItem" id="ns_1ZVR459TF7HXNEVD4C92_25488_r0ItemElement5" style="width: 33%; margin-bottom: 0px; display: none;">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25488_r0ImageContainer5" class="ns_1ZVR459TF7HXNEVD4C92_25488_fixedHeightImageContainer">
+<a href="/gp/product/B0001VSA1O/ref=s9_tops_gw_ir06?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-3&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=486313231&pf_rd_i=507846"><img url="http://ecx.images-amazon.com/images/I/41E31RER5FL._SL135_.jpg" alt="60&#39;s Classic..." width="129" height="135" id="ns_1ZVR459TF7HXNEVD4C92_25488_r0Image5" /></a>
+</div>
+<div id="ns_1ZVR459TF7HXNEVD4C92_25488_r0TitleContainer5" class="ns_1ZVR459TF7HXNEVD4C92_25488_textContainer">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25488_r0Title5" class="ns_1ZVR459TF7HXNEVD4C92_25488_textWrapper">
+<div class="asinTextBlock">
+<div class="title">
+<a href="/gp/product/B0001VSA1O/ref=s9_tops_gw_tr06?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-3&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=486313231&pf_rd_i=507846">60&#39;s Classic Collection Gift Basket</a>
+
+<span class="byline">
+
+
+</span>
+</div>
+<b class="price">$39.99</b>
+</div>
+</div>
+</div>
+</div>
+<div class="asinItem" id="ns_1ZVR459TF7HXNEVD4C92_25488_r0ItemElement6" style="width: 33%; margin-bottom: 0px; display: none;">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25488_r0ImageContainer6" class="ns_1ZVR459TF7HXNEVD4C92_25488_fixedHeightImageContainer">
+<a href="/gp/product/B0001VSA1E/ref=s9_tops_gw_ir07?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-3&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=486313231&pf_rd_i=507846"><img url="http://ecx.images-amazon.com/images/I/416A598HJ3L._SL135_.jpg" alt="50&#39;s Classic..." width="129" height="135" id="ns_1ZVR459TF7HXNEVD4C92_25488_r0Image6" /></a>
+</div>
+<div id="ns_1ZVR459TF7HXNEVD4C92_25488_r0TitleContainer6" class="ns_1ZVR459TF7HXNEVD4C92_25488_textContainer">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25488_r0Title6" class="ns_1ZVR459TF7HXNEVD4C92_25488_textWrapper">
+
+<div class="asinTextBlock">
+<div class="title">
+<a href="/gp/product/B0001VSA1E/ref=s9_tops_gw_tr07?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-3&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=486313231&pf_rd_i=507846">50&#39;s Classic Collection Gift Basket</a>
+<span class="byline">
+
+
+</span>
+</div>
+<b class="price">$39.99</b>
+</div>
+</div>
+</div>
+</div>
+</div>
+
+</div>
+<div style="clear: left; width: 100%; height: 1px; margin: 0; padding: 0; overflow: hidden"></div>
+<script type="text/javascript">
+if (typeof S9MultiPackLayout != "undefined") {
+  var ns_1ZVR459TF7HXNEVD4C92_25488_r0_S9MultiPackLayout = new S9MultiPackLayout(
+"ns_1ZVR459TF7HXNEVD4C92_25488_r0", 3, 7, 155, 6);
+}
+</script>
+<p class="seeMore">
+<span class="carat">&rsaquo;</span><a href="http://www.amazon.com/s/ref=s9_tops_gw_clnk?search-alias=gourmet&node=3370831&emi=A3RW63R5A3NKMJ&keywords=Classic|Decade&sort=salesrank&pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-3&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=486313231&pf_rd_i=507846">See more</a>
+</p>
+<div class="h_rule"></div>
+</div>
+<div class="unified_widget rcm">
+
+<script type="text/javascript">
+if (typeof S9MultiPackLayout == "undefined") {
+  document.write('<scr' + 'ipt src="http://z-ecx.images-amazon.com/images/G/01/s9-campaigns/s9-multipack-layout-seeded._V217957892_.js"></scr' + 'ipt>');
+}
+</script>
+<style>
+.ns_1ZVR459TF7HXNEVD4C92_25486_fixedHeightImageContainer {
+height: 136px;
+position: relative;
+margin-bottom: 8px;
+vertical-align: bottom;
+}
+.ns_1ZVR459TF7HXNEVD4C92_25486_fixedHeightImageContainer img {
+position: absolute;
+bottom: 0px;
+}
+.ns_1ZVR459TF7HXNEVD4C92_25486_textContainer {
+padding: 0;
+margin: 0;
+overflow: hidden;
+}
+.ns_1ZVR459TF7HXNEVD4C92_25486_textWrapper {
+padding: 0;
+margin: 0;
+}
+td.amabot_center div.unified_widget h2.s9_title, div.amabot_center div.unified_widget h2.s9_title {margin-bottom: 0;
+}
+.seed_header {border-right: 1px dotted #DDDDDD;
+background: #FAFAFA;
+}
+.other_header {background: #FFF;
+}
+.s9_seeded_row {padding-bottom: 1.917em;
+border-bottom: 1px dotted #DDDDDD;
+}
+div.s9_de div.s9_seeded_row {padding-bottom: 3.5em;
+}
+.s9_header {margin-bottom: 0.833em;
+color: #666666;
+padding: 0.25em 0.583em 0.25em 0.583em;
+}
+div.s9_de div#ns_1ZVR459TF7HXNEVD4C92_25486_SeedItemHeader {height: 3em;
+}
+div.s9_de div#ns_1ZVR459TF7HXNEVD4C92_25486_OtherItemsHeader {height: 3em;
+}
+</style>
+<h2>iPods Bestsellers</h2>
+
+<div class="row" id="ns_1ZVR459TF7HXNEVD4C92_25486_r0ItemRow">
+<div class="ns_1ZVR459TF7HXNEVD4C92_25486_otherItems" id="ns_1ZVR459TF7HXNEVD4C92_25486_r0OtherItems" style="float: left; width: 99%;">
+<div class="asinItem" id="ns_1ZVR459TF7HXNEVD4C92_25486_r0ItemElement0" style="width: 33%; margin-bottom: 0px; ">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25486_r0ImageContainer0" class="ns_1ZVR459TF7HXNEVD4C92_25486_fixedHeightImageContainer">
+<a href="/gp/product/B002M3SOC4/ref=s9_top_gw_ir01?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-4&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=490157971&pf_rd_i=507846"><img src="http://ecx.images-amazon.com/images/I/413XvF0yukL._SL135_.jpg" alt="Apple iPod touch..." width="91" height="135" id="ns_1ZVR459TF7HXNEVD4C92_25486_r0Image0" /></a>
+</div>
+<div id="ns_1ZVR459TF7HXNEVD4C92_25486_r0TitleContainer0" class="ns_1ZVR459TF7HXNEVD4C92_25486_textContainer">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25486_r0Title0" class="ns_1ZVR459TF7HXNEVD4C92_25486_textWrapper">
+<div class="asinTextBlock">
+<div class="title">
+<a href="/gp/product/B002M3SOC4/ref=s9_top_gw_tr01?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-4&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=490157971&pf_rd_i=507846" title="Apple iPod touch 32 GB (3rd Generation) NEWEST MODEL">Apple iPod touch 32 GB NEWEST MODEL</a>
+<span class="byline">
+
+
+</span>
+</div>
+
+<span class="listprice">$299.99</span> <b class="price">$266.99</b>
+</div>
+</div>
+</div>
+</div>
+<div class="asinItem" id="ns_1ZVR459TF7HXNEVD4C92_25486_r0ItemElement1" style="width: 33%; margin-bottom: 0px; ">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25486_r0ImageContainer1" class="ns_1ZVR459TF7HXNEVD4C92_25486_fixedHeightImageContainer">
+<a href="/gp/product/B001F7AHOG/ref=s9_top_gw_ir02?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-4&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=490157971&pf_rd_i=507846"><img src="http://ecx.images-amazon.com/images/I/41s-vKh2z4L._SL135_.jpg" alt="Apple iPod classic..." width="102" height="135" id="ns_1ZVR459TF7HXNEVD4C92_25486_r0Image1" /></a>
+</div>
+<div id="ns_1ZVR459TF7HXNEVD4C92_25486_r0TitleContainer1" class="ns_1ZVR459TF7HXNEVD4C92_25486_textContainer">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25486_r0Title1" class="ns_1ZVR459TF7HXNEVD4C92_25486_textWrapper">
+<div class="asinTextBlock">
+<div class="title">
+<a href="/gp/product/B001F7AHOG/ref=s9_top_gw_tr02?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-4&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=490157971&pf_rd_i=507846" title="Apple iPod classic 160 GB Black (7th Generation) NEWEST MODEL">Apple iPod classic 160 GB Black...</a>
+
+<span class="byline">
+
+
+</span>
+</div>
+<span class="listprice">$249.99</span> <b class="price">$228.50</b>
+</div>
+</div>
+</div>
+</div>
+<div class="asinItem" id="ns_1ZVR459TF7HXNEVD4C92_25486_r0ItemElement2" style="width: 33%; margin-bottom: 0px; ">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25486_r0ImageContainer2" class="ns_1ZVR459TF7HXNEVD4C92_25486_fixedHeightImageContainer">
+<a href="/gp/product/B002L6HDTC/ref=s9_top_gw_ir03?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-4&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=490157971&pf_rd_i=507846"><img src="http://ecx.images-amazon.com/images/I/41Lu8SfrcpL._SL135_.jpg" alt="Apple iPod nano..." width="89" height="135" id="ns_1ZVR459TF7HXNEVD4C92_25486_r0Image2" /></a>
+</div>
+
+<div id="ns_1ZVR459TF7HXNEVD4C92_25486_r0TitleContainer2" class="ns_1ZVR459TF7HXNEVD4C92_25486_textContainer">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25486_r0Title2" class="ns_1ZVR459TF7HXNEVD4C92_25486_textWrapper">
+<div class="asinTextBlock">
+<div class="title">
+<a href="/gp/product/B002L6HDTC/ref=s9_top_gw_tr03?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-4&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=490157971&pf_rd_i=507846" title="Apple iPod nano 16 GB Black (5th Generation) NEWEST MODEL">Apple iPod nano 16 GB Black NEWEST MODEL</a>
+<span class="byline">
+
+
+</span>
+</div>
+<span class="listprice">$179.99</span> <b class="price">$159.95</b>
+</div>
+</div>
+
+</div>
+</div>
+<div class="asinItem" id="ns_1ZVR459TF7HXNEVD4C92_25486_r0ItemElement3" style="width: 33%; margin-bottom: 0px; display: none;">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25486_r0ImageContainer3" class="ns_1ZVR459TF7HXNEVD4C92_25486_fixedHeightImageContainer">
+<a href="/gp/product/B002M3SOM4/ref=s9_top_gw_ir04?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-4&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=490157971&pf_rd_i=507846"><img url="http://ecx.images-amazon.com/images/I/31tBpKZMZLL._SL135_.jpg" alt="Apple iPod shuffle..." width="135" height="135" id="ns_1ZVR459TF7HXNEVD4C92_25486_r0Image3" /></a>
+</div>
+<div id="ns_1ZVR459TF7HXNEVD4C92_25486_r0TitleContainer3" class="ns_1ZVR459TF7HXNEVD4C92_25486_textContainer">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25486_r0Title3" class="ns_1ZVR459TF7HXNEVD4C92_25486_textWrapper">
+<div class="asinTextBlock">
+<div class="title">
+<a href="/gp/product/B002M3SOM4/ref=s9_top_gw_tr04?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-4&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=490157971&pf_rd_i=507846" title="Apple iPod shuffle 2 GB Black (4th Generation) NEWEST MODEL">Apple iPod shuffle 2 GB Black NEWEST...</a>
+<span class="byline">
+
+
+</span>
+</div>
+
+<b class="price">$52.54</b>
+</div>
+</div>
+</div>
+</div>
+<div class="asinItem" id="ns_1ZVR459TF7HXNEVD4C92_25486_r0ItemElement4" style="width: 33%; margin-bottom: 0px; display: none;">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25486_r0ImageContainer4" class="ns_1ZVR459TF7HXNEVD4C92_25486_fixedHeightImageContainer">
+<a href="/gp/product/B001FA1NZK/ref=s9_top_gw_ir05?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-4&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=490157971&pf_rd_i=507846"><img url="http://ecx.images-amazon.com/images/I/41lZPyNnhvL._SL135_.jpg" alt="Apple iPod touch..." width="135" height="130" id="ns_1ZVR459TF7HXNEVD4C92_25486_r0Image4" /></a>
+</div>
+<div id="ns_1ZVR459TF7HXNEVD4C92_25486_r0TitleContainer4" class="ns_1ZVR459TF7HXNEVD4C92_25486_textContainer">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25486_r0Title4" class="ns_1ZVR459TF7HXNEVD4C92_25486_textWrapper">
+<div class="asinTextBlock">
+<div class="title">
+<a href="/gp/product/B001FA1NZK/ref=s9_top_gw_tr05?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-4&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=490157971&pf_rd_i=507846" title="Apple iPod touch 8 GB (2nd Generation) [Previous Model]">Apple iPod touch 8 GB</a>
+<span class="byline">
+
+
+</span>
+</div>
+<b class="price">$204.99</b>
+</div>
+</div>
+</div>
+</div>
+<div class="asinItem" id="ns_1ZVR459TF7HXNEVD4C92_25486_r0ItemElement5" style="width: 33%; margin-bottom: 0px; display: none;">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25486_r0ImageContainer5" class="ns_1ZVR459TF7HXNEVD4C92_25486_fixedHeightImageContainer">
+<a href="/gp/product/B001FA1NZA/ref=s9_top_gw_ir06?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-4&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=490157971&pf_rd_i=507846"><img url="http://ecx.images-amazon.com/images/I/31gS8%2BEjMqL._SL135_.jpg" alt="Apple iPod shuffle..." width="135" height="132" id="ns_1ZVR459TF7HXNEVD4C92_25486_r0Image5" /></a>
+</div>
+<div id="ns_1ZVR459TF7HXNEVD4C92_25486_r0TitleContainer5" class="ns_1ZVR459TF7HXNEVD4C92_25486_textContainer">
+<div id="ns_1ZVR459TF7HXNEVD4C92_25486_r0Title5" class="ns_1ZVR459TF7HXNEVD4C92_25486_textWrapper">
+<div class="asinTextBlock">
+
+<div class="title">
+<a href="/gp/product/B001FA1NZA/ref=s9_top_gw_tr06?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-4&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=490157971&pf_rd_i=507846" title="Apple iPod shuffle 4 GB Black (3rd Generation) OLD MODEL">Apple iPod shuffle 4 GB Black OLD MODEL</a>
+<span class="byline">
+
+
+</span>
+</div>
+<span class="listprice">$75.00</span> <b class="price">$55.99</b>
+</div>
+</div>
+</div>
+</div>
+</div>
+
+</div>
+<div style="clear: left; width: 100%; height: 1px; margin: 0; padding: 0; overflow: hidden"></div>
+<script type="text/javascript">
+if (typeof S9MultiPackLayout != "undefined") {
+  var ns_1ZVR459TF7HXNEVD4C92_25486_r0_S9MultiPackLayout = new S9MultiPackLayout(
+"ns_1ZVR459TF7HXNEVD4C92_25486_r0", 3, 6, 155, 6);
+}
+</script>
+<p class="seeMore">
+<span class="carat">&rsaquo;</span><a href="/gp/bestsellers/electronics/3221551/ref=s9_top_gw_clnk?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-4&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=490157971&pf_rd_i=507846">See all bestsellers in iPods</a>
+</p>
+<div class="h_rule"></div>
+</div>
+
+      </div>
+       <div class="amabot_left" id="leftcolhidden" style="display:none;">
+        <div class="navLeftBrowseWrapper"><table cellpadding="3" cellspacing="0" width=100%" style="border:1px solid #b4c3d4;"><tr><td colspan=2 class="navFeaturedStoreTitle">Check This Out</td></tr><tr><td><a href="/b/ref=gw_cto_sys?ie=UTF8&node=http%3A%2F%2Fwww.amazonservices.com%2Fcontent%2Fsell-on-amazon.htm%3Fld%3DAZBASOACTO&pf_rd_p=1031971042&pf_rd_s=left-nav-2&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92"><img src="http://g-ecx.images-amazon.com/images/G/01/img10/other/50/dolloar-sign_50._V217688189_.gif" width="50" alt="Selling on Amazon" height="50" border="0" /></a></td><td class="navFeaturedStoreHeading"><a href="/gp/redirect.html/ref=gw_cto_sys?_encoding=UTF8&location=http%3A%2F%2Fwww.amazonservices.com%2Fcontent%2Fsell-on-amazon.htm%3Fld%3DAZBASOACTO&token=1E60AB4AC0ECCA00151B45353E21782E539DC601&pf_rd_p=1031971042&pf_rd_s=left-nav-2&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Selling on Amazon</a><br/><span class="tiny">List items for free and sell to millions.</span></td></tr><tr><td><a href="/b/ref=gw_cto_tax?ie=UTF8&node=%20229545&pf_rd_p=1031971042&pf_rd_s=left-nav-2&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92"><img src="http://g-ecx.images-amazon.com/images/G/01/img09/software/50/tax-central-09_50._V226898426_.gif" width="50" alt="Tax Software" height="50" border="0" /></a></td><td class="navFeaturedStoreHeading"><a href="/Tax-Preparation-Business-Office-Software/b/ref=gw_cto_tax?ie=UTF8&node=229545&pf_rd_p=1031971042&pf_rd_s=left-nav-2&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Tax Software</a><br/><span class="tiny">Order or download now.</span></td></tr><tr><td><a href="/b/ref=gw_cto_trade?ie=UTF8&node=2242532011&pf_rd_p=1031971042&pf_rd_s=left-nav-2&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92"><img src="http://g-ecx.images-amazon.com/images/G/01/img10/electronics/50/trade-in-store_50._V202616179_.gif" width="50" alt="Trade In Your Stuff" height="50" border="0" /></a></td><td class="navFeaturedStoreHeading"><a href="/b/ref=gw_cto_trade?ie=UTF8&node=2242532011&pf_rd_p=1031971042&pf_rd_s=left-nav-2&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Trade In Your Stuff</a><br/><span class="tiny">It's as easy as 1-2-3.</span></td></tr><tr><td><a href="/b/ref=gw_cto_warehousedeals?ie=UTF8&node=1267877011&pf_rd_p=1031971042&pf_rd_s=left-nav-2&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92"><img src="http://g-ecx.images-amazon.com/images/G/01/warehousedeals/warehousedeals_50._V222594722_.png" width="50" alt="Warehouse Deals" height="50" border="0" /></a></td><td class="navFeaturedStoreHeading"><a href="/b/ref=gw_cto_warehousedeals?ie=UTF8&node=1267877011&pf_rd_p=1031971042&pf_rd_s=left-nav-2&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Warehouse Deals</a><br/><span class="tiny">Save on open-box items from Amazon</span></td></tr></table></div>
+
+
+
+
+
+
+<style>
+.navLeftBrowseWrapper {
+  position:relative;
+  left:-5px;
+  width:180px;
+  top:16px;
+}
+.navFeaturedStoreTitle {
+  font:Arial;
+  font-weight:bold; 
+  font-size:14pts; 
+  color: #e97d13;
+}
+.navFeaturedStoreHeading {
+  font:Arial;
+  font-weight:regular; 
+  font-size:12px; 
+ }
+
+.navFeaturedStoreHeading a {
+  color:#003399;
+  text-decoration:none;
+}
+
+.navFeaturedStoreHeading a:active, 
+.navFeaturedStoreHeading a:hover {
+ color:#FF9933;
+  text-decoration:underline;
+}
+
+.navFeaturedStoreBlurb {
+  font:Arial;
+  font-weight:regular; 
+  font-size:tiny; 
+ }
+ </style>
+
+<br clear="all" /><br />
+
+
+
+
+
+
+
+<style>
+.navLeftBrowseWrapper {
+  position:relative;
+  left:-5px;
+  width:180px;
+}
+
+.featureLeftNav {
+  font-family: tahoma, sans-serif;
+  line-height: 1em;
+  margin-left: 6px;
+  margin-bottom: 3px;
+}
+
+.featureLeftNav a:link,
+.featureLeftNav a:visited {
+  color: #003399;
+  text-decoration: none;
+}
+
+.featureLeftNav a:hover {
+  color: #cc6600;
+  text-decoration:underline;
+}
+
+.featureLeftNav a:active {
+  color: #ff9933;
+  text-decoration:underline;
+}
+</style>
+
+<div class="navLeftBrowseWrapper"><table border="0" cellpadding="0" cellspacing="0" width=100%" style="border-right:1px solid #4491cd;"><tr><td background="http://g-ecx.images-amazon.com/images/G/01/gno/images/orangeBlue/navLeftBrowseEyeBrow._V264586615_.gif" class="browsetitle"><h3 style="padding-left: 10px; padding-top: 6px; padding-bottom: 5px; font-size:small; color:white; font-family: tahoma, sans-serif; font-weight:bold; line-height:11px; margin: 0px;">Features & Services</h3></td></tr><tr>
+<td style="padding-left:8px; padding-top:3px;  border-left:1px solid #4491cd;">
+<div class="navLeftNavTitle" style="margin-bottom:.5em; margin-top:.5em"  onclick="jQuery('#lnt0').slideToggle('fast');jQuery(this).find('img').toggle();return false;"><div style="float: left; margin-top: 2px;"><img style="display:block;" src="http://g-ecx.images-amazon.com/images/G/01/x-locale/common/buttons/btn-pf-plus._V220495901_.gif" alt="plus"><img src="http://g-ecx.images-amazon.com/images/G/01/x-locale/common/buttons/btn-pf-minus._V220495874_.gif" alt="minus" style="display:none"></div> <div style="margin-left:15px;"><h4 display="inline" style="font-size: 12px; color:#E47911; margin: 0px 0px 0px 0pt;">Selling with Amazon</h4></div></div><div id="lnt0" style="display:none"><div class="leftNav"><a href="/gp/feature.html/ref=gw_br_dtp?ie=UTF8&docId=1000234621&pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Publish on Kindle</a></div><div class="leftNav"><a href="/gp/redirect.html/ref=gw_br_sell?_encoding=UTF8&location=http%3A%2F%2Fwww.amazonservices.com%2Fcontent%2Fsell-on-amazon.htm%3Fld%3DAZFSSOA&token=1E60AB4AC0ECCA00151B45353E21782E539DC601&pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Sell Your Stuff</a></div><div class="leftNav"><a href="/gp/seller/fba/fulfillment-by-amazon.html/ref=gw_br_fba?pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Fulfillment by Amazon</a></div><div class="leftNav"><a href="/gp/redirect.html/ref=gw_br_wsba?_encoding=UTF8&location=http%3A%2F%2Fwebstore.amazon.com%2F%3Fld%3DAZNav&token=745025A57E00B24318BA2181B3B753FC6B2F166D&pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">WebStore by Amazon</a></div><div class="leftNav"><a href="/gp/seller-account/mm-product-page.html/ref=gw_br_adv?ie=UTF8&topic=200329780&pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Advantage Program</a></div><div class="leftNav"><a href="/gp/redirect.html/ref=gw_br_assoc?location=http://associates.amazon.com/gp/associates/join&token=7528600194FF91C7B31919BB060E9948E888519F&pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Associates Program</a></div><div class="leftNav"><a href="https://www.amazon.com:443/gp/redirect.html/ref=gw_br_ap?_encoding=UTF8&location=https%3A%2F%2Fpayments.amazon.com%2Fsdui%2Fsdui%2Fbusiness%3Fsn%3Dbusinessoverview%252Fo%2520%252F&token=32045C225BB802284AADB840CB3223F0668A29BF&pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Amazon Payments</a></div></div><div class="navLeftNavTitle" style="margin-bottom:.5em; margin-top:.5em"  onclick="jQuery('#lnt1').slideToggle('fast');jQuery(this).find('img').toggle();return false;"><div style="float: left; margin-top: 2px;"><img style="display:block;" src="http://g-ecx.images-amazon.com/images/G/01/x-locale/common/buttons/btn-pf-plus._V220495901_.gif" alt="plus"><img src="http://g-ecx.images-amazon.com/images/G/01/x-locale/common/buttons/btn-pf-minus._V220495874_.gif" alt="minus" style="display:none"></div> <div style="margin-left:15px;"><h4 display="inline" style="font-size: 12px; color:#E47911; margin: 0px 0px 0px 0pt;">Amazon Exclusives</h4></div></div><div id="lnt1" style="display:none"><div class="leftNav"><a href="/gp/subs/primeclub/signup/main.html/ref=gw_br_prime?pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Amazon Prime</a></div><div class="leftNav"><a href="/gp/bestsellers/ref=gw_br_bst?pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Amazon Bestsellers</a></div><div class="leftNav"><a href="/gp/daily/ref=cm_dly_daily?pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Amazon Daily Blog</a></div><div class="leftNav"><a href="/International-Shipping-Direct/b/ref=gw_br_intl?ie=UTF8&node=230659011&pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Amazon Global</a></div><div class="leftNav"><a href="/Financing-Offers/b/ref=gw_br_fyp?ie=UTF8&node=1261402011&pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Finance Your Purchases</a></div><div class="leftNav"><a href="/Currency-Converter/b/ref=gw_br_acc?ie=UTF8&node=388305011&pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Amazon Currency Converter</a></div></div><div class="navLeftNavTitle" style="margin-bottom:.5em; margin-top:.5em"  onclick="jQuery('#lnt2').slideToggle('fast');jQuery(this).find('img').toggle();return false;"><div style="float: left; margin-top: 2px;"><img style="display:block;" src="http://g-ecx.images-amazon.com/images/G/01/x-locale/common/buttons/btn-pf-plus._V220495901_.gif" alt="plus"><img src="http://g-ecx.images-amazon.com/images/G/01/x-locale/common/buttons/btn-pf-minus._V220495874_.gif" alt="minus" style="display:none"></div> <div style="margin-left:15px;"><h4 display="inline" style="font-size: 12px; color:#E47911; margin: 0px 0px 0px 0pt;">Partner Services</h4></div></div><div id="lnt2" style="display:none"><div class="leftNav"><a href="/Financial-Services/b/ref=gw_br_financial?ie=UTF8&node=16292601&pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Financial Services</a></div><div class="leftNav"><a href="/gp/redirect.html/ref=gw_br_photo?location=http://amazon.shutterfly.com/&token=EC30763999BF7877D8867B47B481FBEB2C7A344A&pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Photo Services</a></div><div class="leftNav"><a href="/Travel/b/ref=gw_br_travel?ie=UTF8&node=605012&pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Travel Services</a></div></div><div class="navLeftNavTitle" style="margin-bottom:.5em; margin-top:.5em"  onclick="jQuery('#lnt3').slideToggle('fast');jQuery(this).find('img').toggle();return false;"><div style="float: left; margin-top: 2px;"><img style="display:block;" src="http://g-ecx.images-amazon.com/images/G/01/x-locale/common/buttons/btn-pf-plus._V220495901_.gif" alt="plus"><img src="http://g-ecx.images-amazon.com/images/G/01/x-locale/common/buttons/btn-pf-minus._V220495874_.gif" alt="minus" style="display:none"></div> <div style="margin-left:15px;"><h4 display="inline" style="font-size: 12px; color:#E47911; margin: 0px 0px 0px 0pt;">For Businesses</h4></div></div><div id="lnt3" style="display:none"><div class="leftNav"><a href="/Corporate-Accounts/b/ref=gw_br_corpacc?ie=UTF8&node=600460&pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Corporate Accounts</a></div><div class="leftNav"><a href="/gp/cobrandcard/marketing.html/ref=gw_br_cc?ie=UTF8&place=help&inc=def&pr=ibprox&plattr=CLG00001&pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Amazon Credit Line</a></div><div class="leftNav"><a href="/b/ref=gw_br_biztax?ie=UTF8&node=2224240011&pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Business & Tax Solutions</a></div><div class="leftNav"><a href="/Corporate-Gift-Certificates/b/ref=gw_br_corpgc1?ie=UTF8&node=165034011&pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Gift Cards in Bulk</a></div></div><div class="navLeftNavTitle" style="margin-bottom:.5em; margin-top:.5em"  onclick="jQuery('#lnt4').slideToggle('fast');jQuery(this).find('img').toggle();return false;"><div style="float: left; margin-top: 2px;"><img style="display:block;" src="http://g-ecx.images-amazon.com/images/G/01/x-locale/common/buttons/btn-pf-plus._V220495901_.gif" alt="plus"><img src="http://g-ecx.images-amazon.com/images/G/01/x-locale/common/buttons/btn-pf-minus._V220495874_.gif" alt="minus" style="display:none"></div> <div style="margin-left:15px;"><h4 display="inline" style="font-size: 12px; color:#E47911; margin: 0px 0px 0px 0pt;">For Developers</h4></div></div><div id="lnt4" style="display:none"><div class="leftNav"><a href="/AWS-home-page-Money/b/ref=gw_br_websvcs?ie=UTF8&node=3435361&pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Amazon Web Services</a></div></div><div class="navLeftNavTitle" style="margin-bottom:.5em; margin-top:.5em"  onclick="jQuery('#lnt5').slideToggle('fast');jQuery(this).find('img').toggle();return false;"><div style="float: left; margin-top: 2px;"><img style="display:block;" src="http://g-ecx.images-amazon.com/images/G/01/x-locale/common/buttons/btn-pf-plus._V220495901_.gif" alt="plus"><img src="http://g-ecx.images-amazon.com/images/G/01/x-locale/common/buttons/btn-pf-minus._V220495874_.gif" alt="minus" style="display:none"></div> <div style="margin-left:15px;"><h4 display="inline" style="font-size: 12px; color:#E47911; margin: 0px 0px 0px 0pt;">For Advertisers</h4></div></div><div id="lnt5" style="display:none"><div class="leftNav"><a href="/gp/seller-account/mm-summary-page.html/ref=gw_br_adwus?ie=UTF8&ld=AZAdvertiseMakeM&topic=200260730&pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Advertise With Us</a></div><div class="leftNav"><a href="/exec/obidos/subst/misc/co-op/small-vendor-info.html/ref=gw_br_paidpl?pf_rd_p=100891142&pf_rd_s=left-nav-3&pf_rd_t=101&pf_rd_i=507846&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1ZVR459TF7HXNEVD4C92">Paid Placements</a></div></div></td></tr><tr style="padding:0;"><td  background="http://g-ecx.images-amazon.com/images/G/01/gno/images/orangeBlue/navLeftBrowseBottom._V264586615_.gif" style="line-height:12px;">&nbsp;</td></tr></table></div>
+
+
+
+
+
+
+
+
+<br clear="all" /><br />
+
+
+
+
+
+       </div>
+       <div class="amabot_right" id="rightcolhidden" style="display:none;">
+
+        <div class="unified_widget rcmBody"><h2>Save with the Amazon.com Visa Card</h2><div class="prodImage"><a href="/gp/cobrandcard/marketing.html/ref=cobrand_ch_gw?ie=UTF8&source=h&place=camp&pr=con321&plattr=CBGW0909&pf_rd_m=ATVPDKIKX0DER&pf_rd_s=right-6-contract&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=502102831&pf_rd_i=507846"><img src="http://g-ecx.images-amazon.com/images/G/01/marketing/visa/321/CS2274_Amazon_Card_Images_79x80_Blue_r01._V268194513_.gif" width="79" align="left" alt="Amazon rewards card" height="80" border="0" /></a></div> 
+Get the <a href="/gp/cobrandcard/marketing.html/ref=cobrand_ch_gw?ie=UTF8&source=h&place=camp&pr=con321&plattr=CBGW0909&pf_rd_m=ATVPDKIKX0DER&pf_rd_s=right-6-contract&pf_rd_r=1ZVR459TF7HXNEVD4C92&pf_rd_t=101&pf_rd_p=502102831&pf_rd_i=507846"> Amazon.com Visa Card</a> instantly and you'll <b>automatically</b> get $30 back after your first purchase, plus up to 3% rewards.<div class="h_rule"></div></div>
+        
+
+  
+<div id="cachebust_929154_adcontent" style="display:block; margin-top: 0px; margin-bottom:16px; padding:0px; width:302px; ">
+      <div style="text-align:center; padding-bottom:4px;"><img src="http://g-ecx.images-amazon.com/images/G/01/gateway/iab/advertisement-sm-head._V46774995_.gif" height="7" width="123" border="0"/></div>
+
+
+
+
+
+
+<script type="text/javascript">
+
+function createIFrame(parentId,name,src,width,height,headerFlag,onloadHandler,ffMagic) {
+    var elem = document.createElement("iframe");
+    elem.id = name;
+    if (ffMagic === true && navigator.userAgent.indexOf("Firefox") > -1) {
+        elem.src = "about:self";
+    } else {
+        elem.src = src;
+    }
+    elem.frameBorder = 0;
+    elem.marginHeight = 0;
+    elem.marginWidth = 0;
+    elem.leftMargin = 0;
+    elem.topMargin = 0;
+    
+    if (elem.attachEvent) {
+        elem.attachEvent("onload", onloadHandler );
+    } else if (elem.addEventListener) {
+        elem.addEventListener("load", onloadHandler, false );
+    } else {
+        elem.onload = onloadHandler;
+    }
+    
+    elem.setAttribute("name", name);
+    elem.setAttribute("title", "Ad");
+    elem.setAttribute("scrolling", "no");
+    elem.setAttribute("allowtransparency", "true");
+    elem.setAttribute("width", width);
+    elem.setAttribute("height", height);
+    var parent = document.getElementById(parentId);
+    if(headerFlag === true) {
+        var header = parent.getElementsByTagName("div")[0];
+        if( header.nextSibling ) {
+            parent.insertBefore(elem,header.nextSibling);
+        } else {
+            parent.appendChild(elem);
+        }
+    } else {
+        if( parent.hasChildNodes() ) {
+            parent.insertBefore(elem,parent.firstChild);
+        } else {
+            parent.appendChild(elem);
+        }
+    }
+
+    if (navigator.userAgent.indexOf("Firefox") > -1) {
+        elem.contentWindow.location.replace(src);
+    }
+}
+
+   
+    function createIFrame_929154() {
+var headerFlag = true;
+createIFrame("cachebust_929154_adcontent", "cachebust_929154", "/aan/2009-09-09/static/amazon/iframeproxy-1.html#zus&cb929154",
+    "302", "260", headerFlag, adOnload_929154,true);    
+    }
+    
+    var d16g_dclick_929154 = "amzn.us.gw.btf;sz=300x250;bn=507846;u=dbc8895603e04bae8fc05d1f140c0ff3;ord=1ZVR459TF7HXNEVD4C92;s=380;s=98;s=99;s=374;s=227;s=121;s=363;s=122;s=128;s=3;s=411;s=412;s=137;s=142;s=279;s=614;s=493;s=888;s=131;s=12;s=284;s=615;s=496;s=404;s=283;s=10;s=286;s=285;s=287;s=877;s=875;s=497;s=22;s=266;s=27;s=26;s=32;s=271;s=150;s=39;s=40;s=171;s=165;s=318;s=49;s=303;s=57;s=59;s=342;s=71;s=341;s=344;s=343;s=338;s=67;s=337;s=340;s=339;s=350;s=349;s=80;s=77;s=195;s=348;s=324;s=333;s=334;s=335;s=94;s=336;s=92;s=330;s=91;s=331;s=332;s=m1;s=m4;z=1;tile=3";
+    function collapseFrame_929154 () {
+               var elem=document.getElementById('cachebust_929154_adcontent');
+               elem.style.visibility="hidden";
+               elem.style.display="none";   
+               elem.style.height=0;
+               elem.style.width=0;
+               elem.style.margin=0;     
+    }
+    function adOnload_929154 () {
+
+        var frame_929154 = document.getElementById('cachebust_929154');
+        if( frame_929154.contentWindow ) {
+            if( frame_929154.contentWindow.document ) {
+               var iwin = frame_929154.contentWindow;
+               if( typeof iwin.d16gCollapse !== "undefined" ) {
+                               collapseFrame_929154();
+               } else { 
+                       var ib = iwin.document.body;
+                       if( ib && ib.innerHTML == "" ) {
+                           var oDoc = (frame_929154.contentWindow || frame_929154.contentDocument);
+                           if (oDoc.document) 
+                               oDoc = oDoc.document;
+                           oDoc.write('<a href="http://www.amazon.com/grocery" target="_blank"><img src="http://g-ecx.images-amazon.com/images/G/01/advertising/banners/gw/300x250_grocery._V44581809_.gif" height="250" alt="Grocery" width="300" border="0"/></a>');
+                       }
+                   }
+            }
+        }
+    }
+</script>
+
+
+
+<script type="text/javascript">
+if(typeof amznJQ != 'undefined') {
+    amznJQ.onReady('jQuery', function() {
+        jQuery(window).load(function() {
+            createIFrame_929154();
+        });
+    });
+}
+else {
+    createIFrame_929154();
+}
+</script>    <noscript><iframe id="cachebust_929154" name="cachebust_929154" src="http://ad.doubleclick.net/adi/amzn.us.gw.btf;sz=300x250;bn=507846;u=dbc8895603e04bae8fc05d1f140c0ff3;ord=1ZVR459TF7HXNEVD4C92;s=380;s=98;s=99;s=374;s=227;s=121;s=363;s=122;s=128;s=3;s=411;s=412;s=137;s=142;s=279;s=614;s=493;s=888;s=131;s=12;s=284;s=615;s=496;s=404;s=283;s=10;s=286;s=285;s=287;s=877;s=875;s=497;s=22;s=266;s=27;s=26;s=32;s=271;s=150;s=39;s=40;s=171;s=165;s=318;s=49;s=303;s=57;s=59;s=342;s=71;s=341;s=344;s=343;s=338;s=67;s=337;s=340;s=339;s=350;s=349;s=80;s=77;s=195;s=348;s=324;s=333;s=334;s=335;s=94;s=336;s=92;s=330;s=91;s=331;s=332;s=m1;s=m4;z=1;tile=3?" title="Ad" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" allowtransparency="true" width="302" height="260" onload="adOnload_929154()" > <a href="http://www.amazon.com/grocery" target="_blank"><img src="http://g-ecx.images-amazon.com/images/G/01/advertising/banners/gw/300x250_grocery._V44581809_.gif" height="250" alt="Grocery" width="300" border="0"/></a> </iframe></noscript>
+
+
+
+
+
+<script type="text/javascript">
+if(typeof amznJQ !== "undefined"){
+    if (typeof window.d16g === "undefined") { 
+        window.d16g = {};
+        d16g.adDebug = false;
+
+d16g.loadJs = function(jsUrl) {
+    var scriptElem = document.createElement('script'); 
+    scriptElem.src = jsUrl;
+    document.getElementsByTagName('head')[0].appendChild(scriptElem);
+};        
+    amznJQ.onReady("jQuery", function() {
+        jQuery(window).load(function() {
+                d16g.loadJs('http://z-ecx.images-amazon.com/images/G/01/da/common/d16g-0.6.11.nl.yui._V216197592_.js');
+        });
+    });
+    }
+}
+
+</script>
+
+
+
+
+            <script type="text/javascript" >
+                if(typeof amznJQ !== "undefined"){
+                    amznJQ.onReady('popover', function (){
+                        jQuery("#showFeedbackForm929154").amazonPopoverTrigger({
+width:"500",
+destination: "/gp/advertising/remoterender?impressionId=dbc8895603e04bae8fc05d1f140c0ff3&randomId=929154&questionGroupId=2&slotName=right-7&pageType=GATEWAY&pageSubType=GATEWAY-THREE-COLUMN&adContentId=244&templateName=ad-feedback-remote-content-5col",
+title:"Ad feedback: Tell us what you think",
+closeText: "Close",
+locationAlign: "middle",
+location: ['left','centered','auto'],
+draggable:true,
+locationMargin:20,
+onShow: function(popover){
+  var args = {impressionId:"dbc8895603e04bae8fc05d1f140c0ff3",
+      randomId:"929154",
+      questionGroupId:"2",
+      slotName:"right-7",
+      pageType:"GATEWAY",
+      pageSubType:"GATEWAY-THREE-COLUMN",
+      adContentId:"244"
+   };
+   d16g.adFeedback.logOpen(args);
+   jQuery(".ap_closetext").html("Close");
+} 
+                        });
+                        jQuery("#showFeedbackForm929154").show();
+                       });
+                }
+            </script>
+            <p id="showFeedbackForm929154" style="color: #000088;font-size: 10px;font-family: Verdana, Arial, Helvetica, sans-serif;cursor: pointer;text-align: center;vertical-align: top;width: 100%;margin:0;padding-top:3px;display:none;">
+            <span style="border-bottom:1px dashed #000088">Ad feedback</span>
+
+            <br /><br />
+            </p>
+</div>
+       </div>
+     </div> <!-- content -->
+    </div> <!-- class="page-wrap" -->
+    <div id="page-footer">
+      
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<style type="text/css">
+.rhf-box-corner-sprite {
+    background-image: url('http://g-ecx.images-amazon.com/images/G/01/x-locale/personalization/yourstore/bluebox/bluebox-corners._V262730875_.gif');
+}
+.rhf-box-sides-sprite {
+    background-image: url('http://g-ecx.images-amazon.com/images/G/01/x-locale/personalization/yourstore/bluebox/bluebox-sides._V262730875_.gif');
+}
+.rhf-box-tl {
+    background-position: 0px 0px;
+    background-repeat:no-repeat;
+}
+.rhf-box-tc {
+    background-position: 0px -41px;
+    background-repeat:repeat-x;
+}
+.rhf-box-tr {
+    background-position: 0px -81px;
+    background-repeat:no-repeat;
+}
+.rhf-box-l {
+    background-position: -7px 0px;
+    background-repeat:repeat-y;
+}
+.rhf-box-r {
+    background-position: 9px 0px;
+    background-repeat:repeat-y;
+}
+.rhf-box-br {
+    background-position: 0px -123px;
+    background-repeat:no-repeat;
+}
+.rhf-box-bc {
+    background-position: 0px -139px;
+    background-repeat:repeat-x;
+}
+.rhf-box-bl {
+    background-position: 0px -158px;
+    background-repeat:no-repeat;
+}
+.rhfHistoryWrapper {
+    padding: 0 10px;
+}
+
+
+.rhf_loading_inner {
+    background: no-repeat center url('http://g-ecx.images-amazon.com/images/G/01/ui/loadIndicators/loadIndicator-large._V248199609_.gif');
+    width: 100px;
+    height: 124px;
+}
+.rhf_loading_outer {
+    height: 248px; 
+    overflow: hidden; 
+    position: relative; 
+    width: 100%;
+}
+.rhf_loading_outer[class] {
+    display: table; 
+    position: static;
+}
+.rhf_loading_middle {
+    position: absolute; 
+    top: 50%; 
+    width: 100%; 
+    text-align: center;
+}
+.rhf_loading_middle[class] {
+    display: table-cell; 
+    vertical-align: middle; 
+    position: static;
+}
+.rhf_loading_inner {
+    position: relative; 
+    top: -50%; 
+    text-align: 
+    left;
+}
+.rhf_loading_inner {
+    margin-left: auto; 
+    margin-right: auto;
+}
+
+
+
+
+
+.rhfWrapper .shoveler .shoveler-heading {
+    padding-right:13.25em;
+}
+.rhfWrapper .shoveler .shoveler-pagination {
+    padding: 0;
+    position: absolute;
+    right: 0;
+    top: 0;
+    width:13.25em;
+    text-align:right;
+}
+.rhfWrapper .shoveler .start-over {
+    font-size: 80%;    
+}
+.rhfWrapper .shoveler .start-over a {
+    text-decoration:none;
+}
+.rhfWrapper .shoveler .start-over a:visited {
+    color: #004B91;
+}
+
+.rhfWrapper .shoveler {
+    position: relative;
+    width: 100%;
+}
+
+.rhfWrapper .shoveler a.why-link {
+    text-decoration:none;
+}
+
+.rhfWrapper .shoveler a.why-link:hover {
+    text-decoration:underline;
+}
+
+.rhfWrapper .shoveler a.why-link:visited {
+    text-decoration:none;
+}
+
+.rhfWrapper .shoveler .shoveler-content {
+    padding-top: 1.5em;
+    margin: 0 35px 0 45px;
+    clear:both;
+}
+.rhfWrapper .shoveler ul {
+    height: 21em;
+    padding: 0;
+    margin: 0;
+    overflow:hidden;
+    font-size: 86%;
+}
+* html .rhfWrapper .shoveler ul li {
+    display: inline;
+}
+.rhfWrapper .shoveler ul li {
+    float: left;
+    margin: 0;
+    padding: 0;
+    width: 15em; 
+    height: 21em;
+    overflow: hidden;
+}
+
+.rhfWrapper .shoveler li p {
+    text-align: left;
+}
+
+.rhfWrapper .shoveler li p.reason-text {
+    margin-top: .3em;
+}
+
+.rhfWrapper .shoveler ul li.shoveler-progress {
+    background: no-repeat center 45px url('http://g-ecx.images-amazon.com/images/G/01/x-locale/personalization/shoveler/loading-indicator._V31970667_.gif');
+}
+
+.rhfWrapper .shoveler .product-image {
+    margin-bottom:.45em;
+}
+.rhfWrapper .shoveler .rating-price {
+    margin-top:.25em;
+}
+.rhfWrapper .shoveler .rating-price .price {
+    margin-left:.25em;
+    white-space:nowrap;
+}
+.rhfWrapper .shoveler .rating-stars {
+    font-size: 80%;
+}
+.rhfWrapper .shoveler .rating-stars a {
+    text-decoration:none;
+}
+.rhfWrapper .shoveler .rating-stars img {
+    padding-bottom:1px;
+}
+.rhfWrapper .shoveler .rhfUpsellColumnTitle {
+    margin-left:10px;
+    padding-bottom:0;
+    padding-top:0;
+    text-indent:-10px;
+}
+.rhfWrapper .popoverTrigger {
+    margin-left:.35em;
+    cursor:default;
+}
+
+* html .rhf {
+    height:1%;
+}
+.rhfWrapper .shoveler-button-wrapper {
+    position:relative;
+    width:100%;
+}
+.rhfWrapper .shoveler div.back-button, 
+.rhfWrapper .shoveler div.next-button, 
+.rhfWrapper .shoveler div.disabled-button {
+    position: absolute;
+    height: 50px;
+    width: 25px;
+    top: 105px;
+}
+.rhfWrapper .shoveler div.next-button {
+    right: 0;
+    background: none;
+}
+.rhfWrapper .shoveler .back-button,
+.rhfWrapper .shoveler div.disabled-button {
+    left:0px;
+}
+.rhfWrapper .shoveler .next-button,
+.rhfWrapper .shoveler div.disabled-button {
+    right:0px;
+}
+.rhfWrapper .shoveler .back-button a, 
+.rhfWrapper .shoveler .next-button a {
+    position: relative;
+    font-size:70%;
+    cursor: pointer;
+    outline:none;
+}
+.rhfWrapper .shoveler .back-button a .bg-text, 
+.rhfWrapper .shoveler .back-button a .bg-image, 
+.rhfWrapper .shoveler .next-button a .bg-text, 
+.rhfWrapper .shoveler .next-button a .bg-image {
+    display: block;
+    height: 50px;
+    width: 25px;
+    left: 0;
+    overflow: hidden;
+    position: absolute;
+}
+.rhfWrapper .shoveler .back-button a .bg-image, 
+.rhfWrapper .shoveler .next-button a .bg-image,
+.rhfWrapper .shoveler div.disabled-button {
+    background-image:  url('http://g-ecx.images-amazon.com/images/G/01/x-locale/personalization/shoveler/left-right-arrow-semi-rd._V236573507_.gif');
+}
+.rhfWrapper .shoveler .back-button a .bg-image {
+    background-position: 0 0; 
+}
+.rhfWrapper .shoveler .back-button a.depressed .bg-image {
+    background-position: 0 50px;
+}
+.rhfWrapper .shoveler .next-button a .bg-image {
+    background-position: 25px 0; 
+}
+.rhfWrapper .shoveler .next-button a.depressed .bg-image {
+    background-position: 25px 50px;
+}
+.rhfWrapper .shoveler div.disabled-button {
+    opacity: 0.2;
+    -moz-opacity: 0.2;
+    filter: alpha(opacity=20);
+    cursor: default;
+}
+.rhfWrapper .shoveler .disclaim {
+    margin-bottom: 15px;
+}
+
+
+
+</style>
+       <br />
+       <div id="rhf" style="clear:both">
+<table id="rhf_table" align="center" width="100%" cellpadding="0" cellspacing="0">
+    <tr>
+        <td class="rhf-box-corner-sprite rhf-box-tl" width="10"></td>
+        <td class="rhf-box-corner-sprite rhf-box-tc">
+        <div style="text-align:left; padding:10px 10px 0 10px;"><h2 class="h1" style="margin: 0; display: inline"><span id="rhfMainHeading">Your Recent History</span></h2>&nbsp;<span class="tiny" id="rhfLearnMore">(<a href="/gp/yourstore/cc/ref=pd_rhf_lm">What's this?</a>)</span></div>
+
+        </td>
+        <td class="rhf-box-corner-sprite rhf-box-tr" width="10"></td>
+    </tr>
+    <tr>
+        <td class="rhf-box-sides-sprite rhf-box-l" width="10">&nbsp;</td>
+        <td>
+       <div id="rhf_container" style="display:none;">
+
+
+
+    <div class="rhf_loading_outer"><div class="rhf_loading_middle"><div class="rhf_loading_inner"></div></div></div>
+<script type="text/JavaScript">
+amznJQ.onReady('JQuery', function() { (function($) {
+    window.RECS_rhfShvlLoading = false;
+    window.RECS_rhfShvlLoaded = false;
+    $("#rhf_container").show();
+    var rhfShvlEventHandler = function () {
+        if (   ! window.RECS_rhfShvlLoaded
+            && ! window.RECS_rhfShvlLoading
+            && $('#rhf_container').size() > 0 ) {
+            var yPosition = $(window).scrollTop() + $(window).height();
+            var rhfElementFound = $('#rhfMainHeading').size();
+            var rhfPosition = $('#rhfMainHeading').offset().top;
+            if (rhfElementFound && ( rhfPosition - yPosition < 400 )) {
+                window.RECS_rhfShvlLoading = true;
+                $.ajax({
+                    url: '/gp/history/external/full-rhf-rec-handler.html',
+                    type: "POST",
+                    timeout: 30000,
+                    data: { shovelerName   : 'rhf',
+                      key            : 'rhf',
+                      numToPreload   : '5',
+                      isGateway      : 1,
+                      refTag         : 'pd_rhf_shvl',
+                      parentSession  : '179-9772868-5667253',
+                      excludeASIN    : '',
+                      renderPopover  : 0,
+                      forceSprites   : 0 },
+                    success: function(responseText, textStatus, XMLHttpRequest) {
+                        $("#rhf_container").html(responseText);
+                        $("#rhfShvl").trigger("render-shoveler");
+                        window.RECS_rhfShvlLoaded = true;
+                    },
+                    error: function(responseText, textStatus, XMLHttpRequest) {
+                        $("#rhf_container").hide();
+                        $("#rhf_error").show();
+                        return;
+                    }
+                });
+            }
+        }
+    }
+    $(document).ready(rhfShvlEventHandler);
+    $(window).scroll(rhfShvlEventHandler);
+})(jQuery); });
+</script>
+
+</div><noscript>
+
+
+
+
+
+<table width="100%" border="0" cellspacing="0" cellpadding="0" style="margin-top: 10px">
+    <tr valign="top">
+        <td valign="top">
+            <div class="rhfHistoryWrapper">
+    <p>After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.</p>
+            </div>
+        </td>
+    </tr>
+    <tr><td>
+    <div style="padding:10px 10px 0 10px; text-align:left;">
+        <b><span style="color: rgb(204, 153, 0); font-weight: bold; font-size: 13px;"> &#8250; </span>
+        <a href="/gp/yourstore/pym/ref=pd_pyml_rhf">View and edit your browsing history</a>
+        </b></div>
+    </td></tr>
+</table>
+</noscript><div id="rhf_error" style="display:none;">
+
+
+
+
+
+<table width="100%" border="0" cellspacing="0" cellpadding="0" style="margin-top: 10px">
+    <tr valign="top">
+        <td valign="top">
+
+            <div class="rhfHistoryWrapper">
+    <p>After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.</p>
+            </div>
+        </td>
+    </tr>
+    <tr><td>
+    <div style="padding:10px 10px 0 10px; text-align:left;">
+        <b><span style="color: rgb(204, 153, 0); font-weight: bold; font-size: 13px;"> &#8250; </span>
+
+        <a href="/gp/yourstore/pym/ref=pd_pyml_rhf">View and edit your browsing history</a>
+        </b></div>
+    </td></tr>
+</table>
+</div>
+        </td>
+        <td class="rhf-box-sides-sprite rhf-box-r" width="10"></td>
+    </tr>
+    <tr>
+
+        <td class="rhf-box-corner-sprite rhf-box-bl" width="10">&nbsp;</td>
+        <td class="rhf-box-corner-sprite rhf-box-bc">&nbsp;</td>
+        <td class="rhf-box-corner-sprite rhf-box-br" width="10">&nbsp;</td>
+    </tr>
+</table>
+       </div>
+        <br />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div id="navFooter">
+  <table cellspacing="0">
+    <tr>
+      <td>
+        <table class="navFooterThreeColumn" cellspacing="0">
+          <tr>
+            <td class="navFooterColSpacerOuter"></td>
+            <td class="navFooterLinkCol">
+
+<div class="navFooterColHead">Get to Know Us</div>
+<ul>
+<li><a href="/Careers-University-Recruiting/b/ref=gw_m_b_careers?ie=UTF8&node=203348011">Careers</a></li>
+<li><a href="/gp/redirect.html/ref=gw_m_b_ir?_encoding=UTF8&location=http%3A%2F%2Fphx.corporate-ir.net%2Fphoenix.zhtml%3Fp%3Dirol-irhome%26c%3D97664&token=F9CAD8A11D4336B5E0B3C3B089FA066D0A467C1C">Investor Relations</a></li>
+<li><a href="/gp/redirect.html/ref=gw_m_b_pr?_encoding=UTF8&location=http%3A%2F%2Fphx.corporate-ir.net%2Fphoenix.zhtml%3Fp%3Dirol-mediaHome%26c%3D176060&token=F9CAD8A11D4336B5E0B3C3B089FA066D0A467C1C">Press Releases</a></li>
+<li><a href="/b/ref=gw_m_b_corpres?ie=UTF8&node=13786321">Amazon and Our Planet</a></li>
+</ul>
+</td>
+<td class="navFooterColSpacerInner"></td>
+<td class="navFooterLinkCol">
+<div class="navFooterColHead">Make Money with Us</div>
+
+<ul>
+<li><a href="/gp/redirect.html?_encoding=UTF8&location=http%3A%2F%2Fwww.amazonservices.com%2Fcontent%2Fsell-on-amazon.htm%3Fld%3DAZFSSOA&token=1E60AB4AC0ECCA00151B45353E21782E539DC601">Sell on Amazon</a></li>
+<li><a href="https://affiliate-program.amazon.com">Join Associates</a></li>
+<li><a href="/gp/seller-account/mm-summary-page.html?ie=UTF8&ld=AZFooterSelfPublish&topic=200260520">Self-publish with Us</a></li>
+<li><span class="navFooterRightArrowBullet">&rsaquo;</span> <a href="/gp/seller-account/mm-landing.html/ref=footer_seeall?ie=UTF8&ld=AZSOAviewallMakeM">See all</a></li>
+</ul>
+</td>
+<td class="navFooterColSpacerInner"></td>
+<td class="navFooterLinkCol">
+<div class="navFooterColHead">Let Us Help You</div>
+<ul>
+
+<li><a href="/gp/help/customer/display.html/ref=footer_shiprates?ie=UTF8&nodeId=468520">Shipping Rates & Policies</a></li>
+<li><a href="/gp/subs/primeclub/signup/main.html">Amazon Prime</a></li>
+<li><a href="/gp/help/customer/display.html/ref=hy_f_4?ie=UTF8&nodeId=901888">Returns</a></li>
+<li><a href="/gp/help/customer/display.html/ref=gw_m_b_he?ie=UTF8&nodeId=508510">Help</a></li>
+</ul>
+</td>
+
+            <td class="navFooterColSpacerOuter"></td>
+          </tr>
+        </table>
+
+      </td>
+    </tr>
+    <tr>
+      <td>
+        <div class="navFooterLine navFooterLogoLine">
+          <a href="/ref=footer_logo"><img src="http://g-ecx.images-amazon.com/images/G/01/gno/images/general/navAmazonLogoFooter._V264586593_.gif" width="126" alt="amazon.com" height="24" border="0" /></a>
+        </div>
+        <div class="navFooterLine navFooterLinkLine">
+          <a href="http://www.amazon.ca">Canada</a> |
+
+<a href="http://www.amazon.cn">China</a> |
+<a href="http://www.amazon.fr">France</a> |
+<a href="http://www.amazon.de">Germany</a> |
+<a href="http://www.amazon.co.jp">Japan</a> |
+<a href="http://www.amazon.co.uk">United Kingdom</a>
+                                       
+          <span>
+            &nbsp;And don't forget:
+
+<a href="http://wireless.amazon.com">AmazonWireless</a> |
+<a href="http://askville.amazon.com">Askville</a> |
+<a href="http://www.audible.com">Audible</a> |
+<a href="http://www.dpreview.com">DPReview</a> |
+<a href="http://www.endless.com">Endless</a> |
+<a href="http://www.imdb.com">IMDb</a> |
+
+<a href="http://www.shopbop.com/welcome">Shopbop</a> |
+<a href="http://www.smallparts.com">Small Parts</a> |
+<a href="http://www.soundunwound.com">SoundUnwound</a> |
+<a href="http://www.warehousedeals.com">Warehouse Deals by Amazon</a> |
+<a href="http://www.zappos.com">Zappos</a>
+
+          </span>
+
+        </div>
+        <div class="navFooterLine navFooterLinkLine">
+          <a href="/gp/help/customer/display.html/ref=footer_cou?ie=UTF8&nodeId=508088">Conditions of Use</a> |
+<a href="/gp/help/customer/display.html/ref=footer_privacy?ie=UTF8&nodeId=468496">Privacy Notice</a>
+<span>
+&nbsp;© 1996-2010, Amazon.com, Inc. or its affiliates
+</span>
+
+        </div>
+      </td>
+
+    </tr>
+    
+
+  </table>
+</div>
+<!-- whfh-2fuPVXd+6L9EMUgV04JJ99jvbRjX7xi3 rid-1ZVR459TF7HXNEVD4C92 -->
+
+
+
+
+
+
+
+<script type="text/javascript">
+amznJQ.available("jQuery", function()
+{
+  jQuery(window).load(function()
+  {
+    var cssAssets = [
+      "http://z-ecx.images-amazon.com/images/G/01/nav2/gamma/search-css/search-css-search-41010._V216682818_.css"
+    ];
+    
+    var hframe = jQuery('<iframe id="searchPrecache" style="width:0px; height:0px; display:none">');
+    jQuery('body').append(hframe);
+
+    var hFrmElem = document.getElementById("searchPrecache");
+    var hFrmDoc = (hFrmElem.contentWindow || hFrmElem.contentDocument);
+    if (hFrmDoc.document)
+    {
+      hFrmDoc = hFrmDoc.document;
+    }
+
+    var hHead = hFrmDoc.getElementsByTagName("head")[0];
+    if (!hHead)
+    {
+      hFrmDoc.open();
+      hFrmDoc.writeln("<html><head></head></html>");
+      hFrmDoc.close();
+      hHead = hFrmDoc.getElementsByTagName("head")[0];
+    }
+    for (var i=0;i<cssAssets.length;i++) {
+      var lnk = hFrmDoc.createElement("link");
+      lnk.href = cssAssets[i];
+      lnk.rel = "stylesheet";
+      lnk.type = "text/css";
+      hHead.appendChild(lnk);
+    }
+  });
+});
+</script>
+
+
+
+
+
+
+
+
+
+
+<script type="text/javascript">
+amznJQ.onReady("jQuery", function() {
+    jQuery(window).load(function() {
+        var assets = new Array();
+        assets.push("http://g-ecx.images-amazon.com/images/G/01/common/sprites/sprite-communities._V201759850_.png");
+        for (var i = 0; i < assets.length; i++) {
+            var loader = new Image();
+            loader.src = assets[i];
+        }
+        var hframe = jQuery('<iframe id="dpPrecache" style="width:0px; height:0px; display:none">');
+        jQuery('body').append(hframe);
+        var hFrmElem = document.getElementById("dpPrecache");
+        var hFrmDoc = (hFrmElem.contentWindow || hFrmElem.contentDocument);
+        if (hFrmDoc.document) {
+            hFrmDoc = hFrmDoc.document;
+        }
+        var hHead = hFrmDoc.getElementsByTagName("head")[0];
+        if (!hHead) {
+            hFrmDoc.open();
+            hFrmDoc.writeln("<html><head></head></html>");
+            hFrmDoc.close();
+            hHead = hFrmDoc.getElementsByTagName("head")[0];
+        }
+        var c = jQuery.ajaxSettings.cache;
+        jQuery.ajaxSettings.cache = true;
+        jQuery(hHead).append('<link rel="stylesheet" type="text/css" href="http://z-ecx.images-amazon.com/images/G/01/nav2/gamma/fruitCSS/US/combined-1882760786._V201753931_.css" /><link rel="stylesheet" type="text/css" href="http://z-ecx.images-amazon.com/images/G/01/nav2/gamma/dpCSS/US/combined-2692758820._V203881574_.css" /><script type="text/javascript" src="http://z-ecx.images-amazon.com/images/G/01/nav2/gamma/tmmJS/tmmJS-combined-core-10662._V204953505_.js" />   <script type="text/javascript" src="http://z-ecx.images-amazon.com/images/G/01/twister/beta/twister-dpf.84845f0ca920a3531a7a10c0ce0ae84a._V1_.js"/>');
+        jQuery.ajaxSettings.cache = c;
+    });
+});
+</script>
+
+
+    </div>
+  </body>
+
+</html>
+
+
+
+
+
+
+
+
+
+  
+  
+  
+
+  
+  
+  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- MEOW -->
diff --git a/v8/test.js b/v8/test.js
new file mode 100644 (file)
index 0000000..3b52f55
--- /dev/null
@@ -0,0 +1,8 @@
+load('../src/htmlparser.js');
+load('../src/htmlminifier.js');
+
+var input = read('test.html'),
+    t1 = new Date(),
+    output = minify(input);
+
+print('minified in: ' + (new Date() - t1) + 'ms');
\ No newline at end of file