lcbo 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. data/.gitignore +1 -0
  2. data/CHANGELOG.md +3 -0
  3. data/Gemfile +6 -0
  4. data/Gemfile.lock +18 -0
  5. data/LICENSE +18 -0
  6. data/README.md +29 -0
  7. data/Rakefile +62 -0
  8. data/lcbo.gemspec +29 -0
  9. data/lib/lcbo.rb +23 -0
  10. data/lib/lcbo/crawlers.rb +4 -0
  11. data/lib/lcbo/crawlers/inventories_crawler.rb +15 -0
  12. data/lib/lcbo/crawlers/product_lists_crawler.rb +23 -0
  13. data/lib/lcbo/crawlers/products_crawler.rb +16 -0
  14. data/lib/lcbo/crawlers/stores_crawler.rb +16 -0
  15. data/lib/lcbo/crawlkit.rb +24 -0
  16. data/lib/lcbo/crawlkit/eventable.rb +56 -0
  17. data/lib/lcbo/crawlkit/fastdate_helper.rb +40 -0
  18. data/lib/lcbo/crawlkit/page.rb +141 -0
  19. data/lib/lcbo/crawlkit/request.rb +51 -0
  20. data/lib/lcbo/crawlkit/request_prototype.rb +31 -0
  21. data/lib/lcbo/crawlkit/response.rb +48 -0
  22. data/lib/lcbo/crawlkit/titlecase_helper.rb +97 -0
  23. data/lib/lcbo/crawlkit/volume_helper.rb +46 -0
  24. data/lib/lcbo/ext.rb +13 -0
  25. data/lib/lcbo/helpers.rb +34 -0
  26. data/lib/lcbo/pages.rb +4 -0
  27. data/lib/lcbo/pages/inventory_page.rb +60 -0
  28. data/lib/lcbo/pages/product_list_page.rb +85 -0
  29. data/lib/lcbo/pages/product_page.rb +296 -0
  30. data/lib/lcbo/pages/store_page.rb +196 -0
  31. data/lib/lcbo/version.rb +3 -0
  32. data/spec/crawlkit/eventable_spec.rb +23 -0
  33. data/spec/crawlkit/fastdate_helper_spec.rb +18 -0
  34. data/spec/crawlkit/page_spec.rb +114 -0
  35. data/spec/crawlkit/request_prototype_spec.rb +5 -0
  36. data/spec/crawlkit/request_spec.rb +41 -0
  37. data/spec/crawlkit/response_spec.rb +5 -0
  38. data/spec/crawlkit/titlecase_helper_spec.rb +30 -0
  39. data/spec/crawlkit/volume_helper_spec.rb +21 -0
  40. data/spec/crawlkit_spec.rb +5 -0
  41. data/spec/lcbo_spec.rb +38 -0
  42. data/spec/pages/inventory_pages.yml +1685 -0
  43. data/spec/pages/inventory_pages/1.html +11649 -0
  44. data/spec/pages/inventory_pages/2.html +495 -0
  45. data/spec/pages/product_list_pages.yml +108 -0
  46. data/spec/pages/product_list_pages/1.html +4866 -0
  47. data/spec/pages/product_pages.yml +258 -0
  48. data/spec/pages/product_pages/1.html +1319 -0
  49. data/spec/pages/product_pages/2.html +1343 -0
  50. data/spec/pages/product_pages/3.html +1336 -0
  51. data/spec/pages/product_pages/4.html +1319 -0
  52. data/spec/pages/product_pages/5.html +1324 -0
  53. data/spec/pages/product_pages/6.html +1319 -0
  54. data/spec/pages/product_pages/7.html +1314 -0
  55. data/spec/pages/store_pages.yml +80 -0
  56. data/spec/pages/store_pages/1.html +592 -0
  57. data/spec/pages/store_pages/2.html +592 -0
  58. data/spec/pages_spec.rb +34 -0
  59. data/spec/spec_helper.rb +77 -0
  60. metadata +205 -0
@@ -0,0 +1,495 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
20
+ <title>Inventory Position</title>
21
+ <link rel="stylesheet" href="/products/lcbo.css" type="text/css">
22
+
23
+ <script language="Javascript">
24
+ function printInventory(form) {
25
+ var localwin=window.open("","InventoryPrintPopup","status=0,scrollbars=1,resizable=1,width=700,height=600");
26
+ form.action.value = "print";
27
+ form.target="InventoryPrintPopup";
28
+ form.submit();
29
+ localwin.focus();
30
+ form.target="";
31
+ }
32
+
33
+ </script>
34
+
35
+ <base target="_top" />
36
+
37
+ <style>
38
+ .item-details-col0, .item-details-col1, .item-details-col2, .item-details-col3, .item-details-col4, .item-details-col5, .item-details-col6 {font-family: Verdana, Arial, Helvetica, sans-serif; text-align: left; text-align: top; font-size: 10px; cursor:pointer;}
39
+ .item-details-col2, {font-weight:bold; COLOR: #666666;}
40
+ .item-details-col0, .item-details-col1, .item-details-col3, .item-details-col4, .item-details-col5, .item-details-col6 {font-weight:normal; COLOR: #546415;}
41
+ </style>
42
+ </head>
43
+
44
+ <body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0"
45
+ marginwidth="0" marginheight="0">
46
+ <script language="JavaScript">
47
+ <!--
48
+ function ToSort(sort) {
49
+ document.forms['inventoryresults'].action.value="inventory";
50
+
51
+ // click the current sorted column reverse the sorting order
52
+ if (document.forms['inventoryresults'].sort.value==sort){
53
+ document.forms['inventoryresults'].order.value = "1";
54
+ }
55
+ // click other column will reset the sorting order to ascending
56
+ else{
57
+ document.forms['inventoryresults'].sort.value=sort
58
+ document.forms['inventoryresults'].order.value = "1";
59
+ }
60
+ //alert("PARAM_SORT = " + document.forms['inventoryresults'].sort.value);
61
+ document.forms['inventoryresults'].submit();
62
+ }
63
+ //-->
64
+
65
+ function underline(column, doUnderline, stopCol) {
66
+ var underline="none";
67
+ var color="#666666";
68
+ if (doUnderline) {
69
+ underline="underline";
70
+ color="#000000";
71
+ }
72
+
73
+ for (var x = 0; x <= stopCol; x++) {
74
+ var obj = document.getElementById(column+x);
75
+ obj.style.textDecoration=underline;
76
+ obj.style.color=color;
77
+ }
78
+ }
79
+
80
+ </script>
81
+ <br />
82
+ <table width="774" border="0" cellspacing="0" cellpadding="0"
83
+ class="mainborder" align="center">
84
+ <tbody>
85
+ <tr>
86
+
87
+ <td>
88
+ <table width="774" border="0" cellspacing="0" cellpadding="0"
89
+ align="center">
90
+ <tbody>
91
+ <tr>
92
+
93
+ <td>
94
+
95
+ <!--Beginning of Primary SSI file 2009//-->
96
+
97
+ <noscript><div style="position:absolute;top:0;left:0;background-color:#DADEAF;width:100%;text-align:center;font-size:10px;font-family:verdana,arial,helvetica,sans-serif;padding:5px 0px;color:#193105;">Please note: JavaScript (scripting) must be enabled for this site to work as intended.</div></noscript>
98
+
99
+
100
+
101
+ <style>
102
+ .AutoCompleteBackground
103
+ {
104
+ background-color:white;
105
+ }
106
+ .AutoCompleteHighlight
107
+ {
108
+ background-color:#D6DE9D;
109
+ }
110
+ #theDiv {width:215px;background-color:white;white-space:nowrap; overflow:hidden;}
111
+ #theDiv2 {width:215px;background-color:white;white-space:nowrap; overflow:hidden;}
112
+ </style>
113
+
114
+ <script type="text/javascript" src="/ssi/primary.js"></script>
115
+ <table border="0" cellpadding="0" cellspacing="0" width="774"><tr><td><a href="/english.html"><img src="/ssi/images/logo.gif" width="97" height="64" border="0"></a></td><td><table border="0" cellpadding="0" cellspacing="0" width="677"><tr><td>
116
+ <img src="/images/spacer.gif" width="677" height="16" border="0"></td></tr><tr><td>
117
+ <table border="0" cellpadding="0" cellspacing="0" width="677"><tr>
118
+ <td title="Discover" style="cursor:pointer;" onclick="document.location.href='/discover/index.shtml';"><a id="graphic-discover" title="Discover" href="/discover/index.shtml" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('topnav_r2_c2','','/ssi/images/topnav_r2_c2_f2.gif',1);" ><img name="topnav_r2_c2" src="/ssi/images/topnav_r2_c2.gif" width="84" height="22" border="0" alt="Discover"></a></td>
119
+ <td title="FOOD &amp; DRINK" style="cursor:pointer;" onclick="document.location.href='/fooddrink/index.shtml';"><a id="graphic-fooddrink" title="FOOD &amp; DRINK" href="/fooddrink/index.shtml" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('topnav_r2_c3','','/ssi/images/topnav_r2_c3_f2.gif',1);" ><img name="topnav_r2_c3" src="/ssi/images/topnav_r2_c3.gif" width="115" height="22" border="0" alt="FOOD &amp; DRINK"></a></td>
120
+ <td title="Products" style="cursor:pointer;" onclick="document.location.href='/products/index.shtml';"><a id="graphic-products" title="Products" href="/products/index.shtml" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('topnav_r2_c4','','/ssi/images/topnav_r2_c4_f2.gif',1);" ><img name="topnav_r2_c4" src="/ssi/images/topnav_r2_c4.gif" width="86" height="22" border="0" alt="Products"></a></td>
121
+ <td title="Events & Courses | Podcasts | Planning Tips | The Basics" style="cursor:pointer;" onclick="document.location.href='/learn/index.shtml';"><a id="graphic-learn" title="Events & Courses | Podcasts | Planning Tips | The Basics" href="/learn/index.shtml" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('topnav_r2_c5','','/ssi/images/topnav_r2_c5_f2.gif',1);" ><img name="topnav_r2_c5" src="/ssi/images/topnav_r2_c5.gif" width="68" height="22" border="0" alt="Events & Courses | Podcasts | Planning Tips | The Basics"></a></td>
122
+ <td title="Gifts" style="cursor:pointer;" onclick="document.location.href='/gifts/index.shtml';"><a id="graphic-gifts" title="Gifts" href="/gifts/index.shtml" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('topnav_r2_c6','','/ssi/images/topnav_r2_c6_f2.gif',1);" ><img name="topnav_r2_c6" src="/ssi/images/topnav_r2_c6.gif" width="59" height="22" border="0" alt="Gifts"></a></td>
123
+ <td title="Search"><a id="graphic-search" title="Search"><img name="topnav_r2_c7" src="/ssi/images/topnav_r2_c7.gif" width="72" height="22" border="0" alt="Search"></a></td>
124
+
125
+ <td>
126
+ <form name="quickSearchForm" id="quickSearchForm" method="get" action="/lcbo-ear/lcbo/product/searchResults.do" onsubmit="quickSearchForm_checkNameOrNumber()" style="padding: 0; margin: 0;">
127
+ <div style="position:relative;overflow:visible;cursor:pointer;">
128
+ <input name="ITEM_NAME" id="ITEM_NAME" value="Product Name or Item #" type="text" autocomplete="off" style="border: 1px solid black; font-size: 9px; height: 20px; padding-top:3px; font-family: arial;/*\*//*/height: 15px;/**/" size="22" onfocus="this.value=''">
129
+ <div id="theDiv" style="padding:4px;position:absolute;left:0px;top:21px;visibility:hidden;border:solid #D6DE9D 1px;background-color:white;z-index:1;font-family:arial;font-size:10px;">
130
+ </div>
131
+ </div>
132
+ <input name="ITEM_NUMBER" type="hidden" value="">
133
+ <input name="language" type="hidden" value="EN">
134
+ </form>
135
+ </td>
136
+
137
+ <td><img src="/images/spacer.gif" width="3" height="22" border="0"></td>
138
+ <td><a href="#" onclick="quickSearchForm_checkNameOrNumber(); quickSearchForm.submit()" target="_self"><img src="/ssi/images/topnav_r2_c10.gif" width="22" height="22" border="0" alt="Go"></a></td>
139
+ <td><img src="/images/spacer.gif" width="26" height="22" border="0"></td></tr></table></td></tr>
140
+
141
+ <tr><td><img src="/images/spacer.gif" width="677" height="16" border="0"></td></tr></table></td></tr></table>
142
+
143
+ <script type="text/javascript" src="/lcbo-ear/js/typeAhead/Http.js"></script>
144
+ <script type="text/javascript" src="/lcbo-ear/js/typeAhead/QuickSearchForm.js"></script>
145
+ <script type="text/javascript">
146
+ quickSearchForm_setLanguage("EN");
147
+ quickSearchForm_setItemnameResults("15");
148
+ quickSearchForm_setItemnameLength("32");
149
+ var set_inputForm_setItemnameResults = false;
150
+ </script>
151
+ <!--[if IE 6]>
152
+ <script type="text/javascript">
153
+ quickSearchForm_setItemnameResults("4");
154
+ </script>
155
+ <![endif]-->
156
+
157
+ <!--End of Primary SSI file//-->
158
+
159
+
160
+ </td>
161
+ </tr>
162
+ <tr>
163
+ <td>
164
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
165
+ <tbody>
166
+ <tr>
167
+ <td>&nbsp;</td>
168
+
169
+ <style>
170
+ #2nd_productsearch {color:#cccc99;}
171
+ </style>
172
+
173
+
174
+
175
+ <td>
176
+
177
+ <!--2009//-->
178
+
179
+ <span class="textnav">
180
+
181
+ <nobr><a id="2nd_productsearch" class="productsearch" href="/products/productsearch.shtml">Product Search</a>&nbsp;|</nobr>
182
+
183
+ <nobr><a id="2nd_limitedtimeoffers" class="limitedtimeoffers" href="/products/limitedtimeoffers.shtml">Limited Time Offers</a>&nbsp;|</nobr>
184
+
185
+ <nobr><a id="2nd_airmiles" class="airmiles" href="/products/airmiles.shtml">AIR MILES&reg; Offers</a></nobr><br>
186
+
187
+ <nobr><a id="worldofwine" href="/products/wine/en/index.shtml">World of Wine</a>&nbsp;|</nobr>
188
+
189
+ <nobr><a id="beergarden" href="/products/beer/en/index.shtml">Beer Garden</a>&nbsp;|</nobr>
190
+
191
+ <!--<nobr><a id="grillo" href="/products/sections/grillo/index.shtml">Grillo</a>&nbsp;|</nobr>//-->
192
+
193
+ <!--<nobr><a id="rethinkpink" href="/products/sections/rethinkpink/index.shtml">Rethink Pink</a>&nbsp;|</nobr>//-->
194
+
195
+ <nobr><a id="returningproducts" href="/products/returningproducts.shtml">Returning Products</a>&nbsp;|</nobr>
196
+
197
+ <nobr><a id="privateordering" href="/programs_services/private_ordering/content_priv_ordering.shtml">Private Ordering</a>&nbsp;|</nobr>
198
+
199
+ <nobr><a id="permits" href="/products/permits.shtml">Event Permits</a>&nbsp;|</nobr>
200
+
201
+ <nobr><a id="ontario" href="/ontario2/index.shtml">Wines of the Month</a>&nbsp;|</nobr>
202
+
203
+ <nobr><a id="premium_spirits" href="/premium_spirits/index.shtml">Premium&nbsp;Spirits</a></nobr>
204
+
205
+ </span>
206
+
207
+
208
+ <script language="JavaScript">
209
+ <!--
210
+ MM_swapImage('topnav_r2_c4','','/ssi/images/topnav_r2_c4_f2.gif',1);
211
+
212
+ //following code highlights active text navigation for JSP Product pages.
213
+ if (navigator.appName != "Microsoft Internet Explorer") {
214
+ if (document.title == "Product Search") {document.write('<style>.productsearch {color:#CCCC99 !important;}</style>');};
215
+ if (document.title == "Product Search Results") {document.write('<style>.productsearch {color:#CCCC99 !important;}</style>');};
216
+ if (document.title == "Product Information") {document.write('<style>.productsearch {color:#CCCC99 !important;}</style>');};
217
+ if (document.title == "Inventory Position") {document.write('<style>.productsearch {color:#CCCC99 !important;}</style>');};
218
+ if (document.title == "Limited Time Offers") {document.write('<style>.limitedtimeoffers {color:#CCCC99 !important;}</style>');};
219
+ if (document.title == "AIR MILES� Offers") {document.write('<style>.airmiles {color:#CCCC99 !important;}</style>');};
220
+ }
221
+
222
+ //-->
223
+ </script>
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+
234
+ </td>
235
+ <td>&nbsp;</td>
236
+ </tr>
237
+ <tr>
238
+ <td colspan="3"><img name="nav_rde_r1_c2"
239
+ src="/images/products/nav_rde_r1_c2.gif" width="25" height="4"
240
+ border="0"></td>
241
+ </tr>
242
+ <tr>
243
+ <td><img name="nav_rde_r1_c2"
244
+ src="/images/products/nav_rde_r1_c2.gif" width="25" height="4"
245
+ border="0"></td>
246
+ <td>
247
+
248
+
249
+ <table border="0" cellpadding="0" cellspacing="0" width="720">
250
+ <tr>
251
+ <td><a href="/products/productsearch.shtml" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('navigation_r1_c1','','/images/products/navigation_r1_c1_f2.gif',1);" ><img name="navigation_r1_c1" src="/images/products/navigation_r1_c1_f2.gif" width="236" height="20" border="0" alt="Product Search"></a></td>
252
+ <td><img name="navigation_r1_c2" src="/images/products/navigation_r1_c2.gif" width="6" height="20" border="0"></td>
253
+ <td><a href="/products/limitedtimeoffers.shtml" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('navigation_r1_c3','','/images/products/navigation_r1_c3_f2.gif',1);" ><img name="navigation_r1_c3" src="/images/products/navigation_r1_c3.gif" width="236" height="20" border="0" alt="Limited Time Offers"></a></td>
254
+ <td><img name="navigation_r1_c4" src="/images/products/navigation_r1_c4.gif" width="6" height="20" border="0"></td>
255
+ <td><a href="/products/airmiles.shtml" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('navigation_r1_c5','','/images/products/navigation_r1_c5_f2.gif',1);" ><img name="navigation_r1_c5" src="/images/products/navigation_r1_c5.gif" width="236" height="20" border="0" alt="AIR MILES&reg;"></a></td>
256
+ </tr>
257
+ </table>
258
+
259
+
260
+ </td>
261
+ <td><img name="nav_rde_r1_c2"
262
+ src="/images/products/nav_rde_r1_c2.gif" width="25" height="4"
263
+ border="0"></td>
264
+ </tr>
265
+ <tr>
266
+ <td colspan="3"><img name="nav_rde_r1_c2"
267
+ src="/images/products/nav_rde_r1_c2.gif" width="25" height="6"
268
+ border="0"></td>
269
+ </tr>
270
+ <tr>
271
+ <td>&nbsp;</td>
272
+ <td>
273
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
274
+ <tbody>
275
+ <tr>
276
+ <td width="207" valign="top">
277
+ <table width="11%" border="0" cellspacing="0"
278
+ cellpadding="0">
279
+ <tbody>
280
+ <tr>
281
+ <td><img name="food_drink_r1_c1"
282
+ src="/images/storesearch/lcbo_store.gif" width="236"
283
+ height="189" border="0" alt="Product Search"></td>
284
+ </tr>
285
+ <tr>
286
+ <td><img name="food_drink_r2_c1"
287
+ src="/images/products/product_search.gif" width="236"
288
+ height="84" border="0" alt="Product Search"></td>
289
+ </tr>
290
+ </tbody>
291
+ </table>
292
+ </td>
293
+ <td width="5">&nbsp;</td>
294
+ <td width="479">
295
+ <table width="478" border="0" cellspacing="0"
296
+ cellpadding="0" class="border">
297
+ <tbody>
298
+ <tr>
299
+ <td height="271" valign="top">
300
+ <table width="100%" border="0" cellspacing="0"
301
+ cellpadding="10">
302
+ <tbody>
303
+
304
+ <tr>
305
+ <td>
306
+
307
+ <form method="post" name="inventoryprint" action="/lcbo-ear/lcbo/product/inventory/printerFriendly.do"/>
308
+ <input type="hidden" name="sort" value="sortedQuantity">
309
+ <input type="hidden" name="order" value="-1">
310
+ <input type="hidden" name="action" value="result">
311
+ <input type="hidden" name="language" value="EN">
312
+ <input type="hidden" name="style" value="LCBO.css">
313
+ <input type="hidden" name="itemNumber" value="8466">
314
+ <input type="hidden" name="price" value="545.35">
315
+ <input type="hidden" name="store type" value="">
316
+ <input type="hidden" name="city" value="All Cities">
317
+ <input type="hidden" name="itemName" value="01 CH CHEVAL BLANC (COMPAGNIE MEDOCAINE)">
318
+ <input type="hidden" name="inventorySize" value="0">
319
+ <input type="hidden" name="stock type" value="VINTAGES">
320
+ </form>
321
+ <form method="post" name="inventoryresults" action="/lcbo-ear/lcbo/product/inventory/searchResults.do"/>
322
+ <input type="hidden" name="sort" value="sortedQuantity">
323
+ <input type="hidden" name="order" value="-1">
324
+ <input type="hidden" name="action" value="result">
325
+ <input type="hidden" name="language" value="EN">
326
+ <input type="hidden" name="style" value="LCBO.css">
327
+ <input type="hidden" name="itemNumber" value="8466">
328
+ <input type="hidden" name="price" value="545.35">
329
+ <input type="hidden" name="store type" value="">
330
+ <input type="hidden" name="city" value="All Cities">
331
+ <input type="hidden" name="itemName" value="01 CH CHEVAL BLANC (COMPAGNIE MEDOCAINE)">
332
+ <input type="hidden" name="inventorySize" value="0">
333
+ <input type="hidden" name="stock type" value="VINTAGES">
334
+
335
+ <p class="main_font"><b><font color="#546415">Inventory Position</font></b></p>
336
+
337
+ <p class="main_font">
338
+ Inventory information for
339
+ <b><font color="#546415">01 CH CHEVAL BLANC (COMPAGNIE MEDOCAINE),
340
+ <nobr>
341
+
342
+ VINTAGES Item #
343
+
344
+ 8466,</nobr>
345
+ <nobr>$ 545.35</nobr>
346
+ in
347
+
348
+ all cities.
349
+
350
+ </font></b>
351
+ <br /><br />
352
+
353
+ No store in the selected city has inventory for that item. Please go to the previous page to select another city.
354
+
355
+ </p>
356
+
357
+
358
+
359
+
360
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
361
+ <tr>
362
+ <td align="left" valign="middle">
363
+ <a href="/products/productsearch.shtml"><img src="/images/products/revise_search.gif" width="144" height="20" border="0" alt='Revise Search'></a>
364
+ </td>
365
+ <td align="right" valign="middle" class="main_font" nowrap>
366
+
367
+ &nbsp;
368
+
369
+ </td>
370
+ </tr>
371
+ </table>
372
+ <br />
373
+
374
+ </form>
375
+ </td>
376
+ </tr>
377
+ </tbody>
378
+ </table>
379
+ </td>
380
+ </tr>
381
+ </tbody>
382
+ </table>
383
+ </td>
384
+ </tr>
385
+ </tbody>
386
+ </table>
387
+ </td>
388
+ <td>&nbsp;</td>
389
+ </tr>
390
+ <tr>
391
+ <td>&nbsp;</td>
392
+ <td>&nbsp;</td>
393
+ <td>&nbsp;</td>
394
+ </tr>
395
+ <tr>
396
+ <td>&nbsp;</td>
397
+
398
+ <!--2008//-->
399
+
400
+ <script type="text/javascript" src="/ssi/footer.js"></script>
401
+
402
+ <!--needed structure//--><td><!--needed structure//-->
403
+
404
+ <table WIDTH="100%" border="0" cellpadding="0" cellspacing="0">
405
+
406
+ <tr>
407
+
408
+ <td>
409
+ <span class="textlinks">
410
+ <a id="aboutlcbo" href="/aboutlcbo/index.shtml">About LCBO</a>&nbsp;|
411
+ <a id="accessibility" href="/accessibility/index.shtml">Accessibility</a>&nbsp;|
412
+ <a id="socialresponsibility" href="/socialresponsibility/index.shtml">Social Responsibility</a>&nbsp;|
413
+ <a id="careers" href="/careers/index.shtml">Careers</a>&nbsp;|
414
+ <a id="vintages" href="/vintages/index.shtml" target="_blank">VINTAGES</a>&nbsp;|
415
+ <a id="contactus" href="/contactus/index.shtml">Contact Us</a>&nbsp;|
416
+ <a id="sitemap" href="/sitemap/index.shtml">Site Map</a>&nbsp;|
417
+ <a id="storesearch" href="/storesearch/index.shtml">Store Search</a>
418
+
419
+
420
+
421
+ <script>
422
+ var win = null;
423
+ function NewWindowPopBox(mypage,myname,w,h,scroll){
424
+ LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
425
+ TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
426
+ settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable=yes'
427
+ win = window.open(mypage,myname,settings)}
428
+ </script>
429
+
430
+ <!--
431
+ <a id="fsi" target="_blank" href="/main/files/fsi/correction.html" onclick="NewWindow(this.href,'xmlPop','546','398','yes');return false" style="color:#E71838;" >Correction Notice</a>
432
+ //-->
433
+ </span></td>
434
+
435
+ <script src="/ssi/footer_fsi.js"></script>
436
+
437
+ </tr></table>
438
+
439
+ <!--needed structure//--></td><!--needed structure//-->
440
+
441
+ <td>&nbsp;</td>
442
+ </tr>
443
+ <tr>
444
+ <td>&nbsp;</td>
445
+ <td>&nbsp;</td>
446
+ <td>&nbsp;</td>
447
+ </tr>
448
+ </tbody>
449
+ </table>
450
+ </td>
451
+ </tr>
452
+ </tbody>
453
+ </table>
454
+ </td>
455
+ </tr>
456
+ </tbody>
457
+ </table>
458
+
459
+ <!--2009//-->
460
+
461
+ <!--copyright notice begins//-->
462
+
463
+ <div align="center"><br><table width="774" border="0" cellspacing="0" cellpadding="0"><tr><td width="10"><img src="/images/spacer.gif" width="25" height="4" border="0"></td><td width="764"><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td><span class="textlinks" style="color:#666666">&copy; 2000/2010 LCBO</span><span class="textlinks"> | <a id="privacy" href="/privacy/index.shtml">Privacy Policy</a> | <a id="terms" href="/terms/index.shtml">Terms &amp; Conditions</a> | <a id="language" href="/french.html">
464
+ Fran�ais</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.lcbotrade.com/" target="_blank">TRADE RESOURCES</a></span></td><td align="right"><a href="/bagitback/bib_en.shtml" target="_blank"><img onmouseover="this.src='/ssi/images/bagitback_on.gif';" onmouseout="this.src='/ssi/images/bagitback_off.gif';" src="/ssi/images/bagitback_off.gif" width="110" height="14" border="0" alt="BAGITBACK.CA" style="margin-right:25px;"></a></td></tr></table></td></tr><tr><td width="10">&nbsp;</td><td width="764">&nbsp;</td></tr></table></div>
465
+
466
+ <!--copyright notice ends//-->
467
+
468
+ <!--Suppress IE6 Image toolbar//-->
469
+ <META HTTP-EQUIV="imagetoolbar" CONTENT="no">
470
+
471
+ <script type="text/javascript">
472
+ if (set_inputForm_setItemnameResults) {
473
+ inputForm_setItemnameResults("15");
474
+ inputForm_setItemnameLength("32");
475
+ }
476
+ </script>
477
+ <!--[if IE 6]>
478
+ <script type="text/javascript">
479
+ if (set_inputForm_setItemnameResults) {
480
+ inputForm_setItemnameResults("4"); }
481
+ </script>
482
+ <![endif]-->
483
+
484
+ <script type="text/javascript">
485
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
486
+ document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
487
+ </script>
488
+ <script type="text/javascript">
489
+ var pageTracker = _gat._getTracker("UA-553500-6");
490
+ pageTracker._trackPageview();
491
+ </script>
492
+
493
+
494
+ </body>
495
+ </html>