pstuteville-scrubyt 0.4.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (520) hide show
  1. data/CHANGELOG +355 -0
  2. data/COPYING +340 -0
  3. data/README.rdoc +121 -0
  4. data/Rakefile +120 -0
  5. data/VERSION +1 -0
  6. data/examples/README.txt +1 -0
  7. data/examples/events/delta/input.html +682 -0
  8. data/examples/events/delta/test.rb +16 -0
  9. data/examples/misc/auto_regex/input.html +22 -0
  10. data/examples/misc/auto_regex/test.rb +14 -0
  11. data/examples/misc/compound_example/advanced/test.rb +11 -0
  12. data/examples/misc/compound_example/advanced/tricky_compound.html +9 -0
  13. data/examples/misc/compound_example/regexp/regexp_compound.html +17 -0
  14. data/examples/misc/compound_example/regexp/test.rb +11 -0
  15. data/examples/misc/compound_example/simple/compound.html +5 -0
  16. data/examples/misc/compound_example/simple/test.rb +11 -0
  17. data/examples/misc/detail_page/detailpage.html +6 -0
  18. data/examples/misc/detail_page/index.html +9 -0
  19. data/examples/misc/detail_page/test.rb +17 -0
  20. data/examples/misc/google/test.rb +39 -0
  21. data/examples/misc/identical_examples/data_extractor_export.rb +12 -0
  22. data/examples/misc/identical_examples/input.html +16 -0
  23. data/examples/misc/identical_examples/test.rb +15 -0
  24. data/examples/misc/immediate_attribute_extraction/data_extractor_export.rb +10 -0
  25. data/examples/misc/immediate_attribute_extraction/input.html +16 -0
  26. data/examples/misc/immediate_attribute_extraction/test.rb +14 -0
  27. data/examples/misc/multiple_examples/input.html +7 -0
  28. data/examples/misc/multiple_examples/test.rb +22 -0
  29. data/examples/misc/on_click_next/next_page_link.rb +42 -0
  30. data/examples/misc/on_click_next/page_1.html +10 -0
  31. data/examples/misc/on_click_next/page_2.html +10 -0
  32. data/examples/misc/on_click_next/page_3.html +7 -0
  33. data/examples/misc/rubycorner/test.rb +29 -0
  34. data/examples/misc/rubyforge_login/test.rb +30 -0
  35. data/examples/misc/tables/ambigous_records/input.html +17 -0
  36. data/examples/misc/tables/ambigous_records/test.rb +37 -0
  37. data/examples/misc/tables/another_plain_table/input.html +15 -0
  38. data/examples/misc/tables/another_plain_table/test.rb +25 -0
  39. data/examples/misc/tables/complex_table/input.html +45 -0
  40. data/examples/misc/tables/complex_table/test.rb +30 -0
  41. data/examples/misc/tables/grab_rows/input.html +20 -0
  42. data/examples/misc/tables/grab_rows/test.rb +30 -0
  43. data/examples/misc/tables/plain_table/input.html +39 -0
  44. data/examples/misc/tables/plain_table/test.rb +35 -0
  45. data/examples/misc/tables/plain_table_morepages/2.html +38 -0
  46. data/examples/misc/tables/plain_table_morepages/3.html +33 -0
  47. data/examples/misc/tables/plain_table_morepages/input.html +40 -0
  48. data/examples/misc/tables/plain_table_morepages/test.rb +32 -0
  49. data/examples/misc/tables/plain_table_morepages_with_image/2.html +40 -0
  50. data/examples/misc/tables/plain_table_morepages_with_image/3.html +33 -0
  51. data/examples/misc/tables/plain_table_morepages_with_image/images/right_arrow.png +0 -0
  52. data/examples/misc/tables/plain_table_morepages_with_image/input.html +42 -0
  53. data/examples/misc/tables/plain_table_morepages_with_image/test.rb +32 -0
  54. data/examples/misc/tables/test_select_indices/input.html +46 -0
  55. data/examples/misc/tables/test_select_indices/test.rb +55 -0
  56. data/examples/misc/xpath_example_type/input.html +15 -0
  57. data/examples/misc/xpath_example_type/test.rb +18 -0
  58. data/examples/misc/yahoo_finance/test.rb +26 -0
  59. data/examples/social/blog_comment/test.rb +27 -0
  60. data/examples/social/del.icio.us/test.rb +22 -0
  61. data/examples/social/digg/test.rb +37 -0
  62. data/examples/social/dzone/test.rb +28 -0
  63. data/examples/social/linkedin/linkedin.rb +23 -0
  64. data/examples/social/reddit/test.rb +23 -0
  65. data/examples/tones_extractor_export.rb +23 -0
  66. data/examples/webshops/amazon/002-8212888-3924065.html +5311 -0
  67. data/examples/webshops/amazon/002-8212888-3924065_files/0130796034.jpg +0 -0
  68. data/examples/webshops/amazon/002-8212888-3924065_files/020161622X.jpg +0 -0
  69. data/examples/webshops/amazon/002-8212888-3924065_files/0321223675.jpg +0 -0
  70. data/examples/webshops/amazon/002-8212888-3924065_files/0465067107.jpg +0 -0
  71. data/examples/webshops/amazon/002-8212888-3924065_files/0470069155.jpg +0 -0
  72. data/examples/webshops/amazon/002-8212888-3924065_files/0470081201.jpg +0 -0
  73. data/examples/webshops/amazon/002-8212888-3924065_files/0596005253.jpg +0 -0
  74. data/examples/webshops/amazon/002-8212888-3924065_files/0596101325.jpg +0 -0
  75. data/examples/webshops/amazon/002-8212888-3924065_files/0596523696.jpg +0 -0
  76. data/examples/webshops/amazon/002-8212888-3924065_files/0672328844.jpg +0 -0
  77. data/examples/webshops/amazon/002-8212888-3924065_files/0764596861.jpg +0 -0
  78. data/examples/webshops/amazon/002-8212888-3924065_files/0974514055.jpg +0 -0
  79. data/examples/webshops/amazon/002-8212888-3924065_files/0976694069.jpg +0 -0
  80. data/examples/webshops/amazon/002-8212888-3924065_files/0977616606.jpg +0 -0
  81. data/examples/webshops/amazon/002-8212888-3924065_files/0977616614.jpg +0 -0
  82. data/examples/webshops/amazon/002-8212888-3924065_files/0977616630.jpg +0 -0
  83. data/examples/webshops/amazon/002-8212888-3924065_files/1590597362.jpg +0 -0
  84. data/examples/webshops/amazon/002-8212888-3924065_files/1594480060.jpg +0 -0
  85. data/examples/webshops/amazon/002-8212888-3924065_files/1932394699.jpg +0 -0
  86. data/examples/webshops/amazon/002-8212888-3924065_files/2841772101.jpg +0 -0
  87. data/examples/webshops/amazon/002-8212888-3924065_files/amzn-logo-118w.gif +0 -0
  88. data/examples/webshops/amazon/002-8212888-3924065_files/askville-adwidget-bullet.gif +0 -0
  89. data/examples/webshops/amazon/002-8212888-3924065_files/askville-logo-sm-adwidget-white-bg.gif +0 -0
  90. data/examples/webshops/amazon/002-8212888-3924065_files/book_display_on_website-icon.gif +0 -0
  91. data/examples/webshops/amazon/002-8212888-3924065_files/btn-inactive-no-ns.gif +0 -0
  92. data/examples/webshops/amazon/002-8212888-3924065_files/btn-inactive-no.gif +0 -0
  93. data/examples/webshops/amazon/002-8212888-3924065_files/btn-inactive-yes-ns.gif +0 -0
  94. data/examples/webshops/amazon/002-8212888-3924065_files/btn-inactive-yes.gif +0 -0
  95. data/examples/webshops/amazon/002-8212888-3924065_files/btn-no-tiny.gif +0 -0
  96. data/examples/webshops/amazon/002-8212888-3924065_files/btn-yes-tiny.gif +0 -0
  97. data/examples/webshops/amazon/002-8212888-3924065_files/buybox-button-find-gifts-a.gif +0 -0
  98. data/examples/webshops/amazon/002-8212888-3924065_files/c7y_badge_rn_1.gif +0 -0
  99. data/examples/webshops/amazon/002-8212888-3924065_files/cap-a9-3.gif +0 -0
  100. data/examples/webshops/amazon/002-8212888-3924065_files/drop-down-icon-small-arrow.gif +0 -0
  101. data/examples/webshops/amazon/002-8212888-3924065_files/endcap-a9-go-2.gif +0 -0
  102. data/examples/webshops/amazon/002-8212888-3924065_files/gb-open-new.gif +0 -0
  103. data/examples/webshops/amazon/002-8212888-3924065_files/gc-logo-popover-a.gif +0 -0
  104. data/examples/webshops/amazon/002-8212888-3924065_files/gift-cert-roto-pop-a.gif +0 -0
  105. data/examples/webshops/amazon/002-8212888-3924065_files/go-button-books.gif +0 -0
  106. data/examples/webshops/amazon/002-8212888-3924065_files/go-button.gif +0 -0
  107. data/examples/webshops/amazon/002-8212888-3924065_files/go-orange-trans.gif +0 -0
  108. data/examples/webshops/amazon/002-8212888-3924065_files/go_button_photo.gif +0 -0
  109. data/examples/webshops/amazon/002-8212888-3924065_files/logo-off.gif +0 -0
  110. data/examples/webshops/amazon/002-8212888-3924065_files/n2CoreLibs-events-18134.js +1407 -0
  111. data/examples/webshops/amazon/002-8212888-3924065_files/n2CoreLibs-n2v1-57871.css +364 -0
  112. data/examples/webshops/amazon/002-8212888-3924065_files/n2CoreLibs-simplePopover-41153.js +749 -0
  113. data/examples/webshops/amazon/002-8212888-3924065_files/n2CoreLibs-utilities-25439.js +1608 -0
  114. data/examples/webshops/amazon/002-8212888-3924065_files/orange-arrow.gif +0 -0
  115. data/examples/webshops/amazon/002-8212888-3924065_files/orange-arrow_002.gif +0 -0
  116. data/examples/webshops/amazon/002-8212888-3924065_files/popover-blurb.gif +0 -0
  117. data/examples/webshops/amazon/002-8212888-3924065_files/powered-by-a9.gif +0 -0
  118. data/examples/webshops/amazon/002-8212888-3924065_files/stars-3-5.gif +0 -0
  119. data/examples/webshops/amazon/002-8212888-3924065_files/stars-4-0.gif +0 -0
  120. data/examples/webshops/amazon/002-8212888-3924065_files/stars-4-5.gif +0 -0
  121. data/examples/webshops/amazon/002-8212888-3924065_files/stars-5-0.gif +0 -0
  122. data/examples/webshops/amazon/002-8212888-3924065_files/tagline-adwidget.gif +0 -0
  123. data/examples/webshops/amazon/002-8212888-3924065_files/topnav-cart.gif +0 -0
  124. data/examples/webshops/amazon/002-8212888-3924065_files/transparent-pixel.gif +0 -0
  125. data/examples/webshops/amazon/002-8212888-3924065_files/transparent-pixel_002.gif +0 -0
  126. data/examples/webshops/amazon/test.rb +27 -0
  127. data/examples/webshops/amazon-online/test.rb +34 -0
  128. data/examples/webshops/barnes_and_noble/test.rb +32 -0
  129. data/examples/webshops/barnes_offline/barnes_and_noble.html +115 -0
  130. data/examples/webshops/barnes_offline/barnes_and_noble_files/10964080.gif +0 -0
  131. data/examples/webshops/barnes_offline/barnes_and_noble_files/10999676.gif +0 -0
  132. data/examples/webshops/barnes_offline/barnes_and_noble_files/11018492.gif +0 -0
  133. data/examples/webshops/barnes_offline/barnes_and_noble_files/11656534.gif +0 -0
  134. data/examples/webshops/barnes_offline/barnes_and_noble_files/11985045.gif +0 -0
  135. data/examples/webshops/barnes_offline/barnes_and_noble_files/12052378.gif +0 -0
  136. data/examples/webshops/barnes_offline/barnes_and_noble_files/12138286.gif +0 -0
  137. data/examples/webshops/barnes_offline/barnes_and_noble_files/12533212.gif +0 -0
  138. data/examples/webshops/barnes_offline/barnes_and_noble_files/12533268.gif +0 -0
  139. data/examples/webshops/barnes_offline/barnes_and_noble_files/9583392.gif +0 -0
  140. data/examples/webshops/barnes_offline/barnes_and_noble_files/SearchProduct.css +626 -0
  141. data/examples/webshops/barnes_offline/barnes_and_noble_files/admin3_gtpointup.gif +0 -0
  142. data/examples/webshops/barnes_offline/barnes_and_noble_files/admin_aboutshipping.gif +0 -0
  143. data/examples/webshops/barnes_offline/barnes_and_noble_files/admin_account.gif +0 -0
  144. data/examples/webshops/barnes_offline/barnes_and_noble_files/admin_colon.gif +0 -0
  145. data/examples/webshops/barnes_offline/barnes_and_noble_files/admin_giftreminder.gif +0 -0
  146. data/examples/webshops/barnes_offline/barnes_and_noble_files/admin_help.gif +0 -0
  147. data/examples/webshops/barnes_offline/barnes_and_noble_files/admin_orderstatus.gif +0 -0
  148. data/examples/webshops/barnes_offline/barnes_and_noble_files/admin_wishlist.gif +0 -0
  149. data/examples/webshops/barnes_offline/barnes_and_noble_files/bg.gif +0 -0
  150. data/examples/webshops/barnes_offline/barnes_and_noble_files/btnGoGrn.gif +0 -0
  151. data/examples/webshops/barnes_offline/barnes_and_noble_files/cleardot.gif +0 -0
  152. data/examples/webshops/barnes_offline/barnes_and_noble_files/cleardot_002.gif +0 -0
  153. data/examples/webshops/barnes_offline/barnes_and_noble_files/dot4.gif +0 -0
  154. data/examples/webshops/barnes_offline/barnes_and_noble_files/dotGold20.gif +0 -0
  155. data/examples/webshops/barnes_offline/barnes_and_noble_files/hdCantFind.gif +0 -0
  156. data/examples/webshops/barnes_offline/barnes_and_noble_files/hdSearchResults.gif +0 -0
  157. data/examples/webshops/barnes_offline/barnes_and_noble_files/hgg_tab_home_cold.gif +0 -0
  158. data/examples/webshops/barnes_offline/barnes_and_noble_files/hgg_tab_toy_cold.gif +0 -0
  159. data/examples/webshops/barnes_offline/barnes_and_noble_files/iframeKMP.js +172 -0
  160. data/examples/webshops/barnes_offline/barnes_and_noble_files/kmp_iframe_cds2.html +25 -0
  161. data/examples/webshops/barnes_offline/barnes_and_noble_files/kmp_iframe_cds2_data/070226_mc_lnav_search.gif +0 -0
  162. data/examples/webshops/barnes_offline/barnes_and_noble_files/kmp_iframe_cds2_data/XmlUtil.js +199 -0
  163. data/examples/webshops/barnes_offline/barnes_and_noble_files/kmp_iframe_cds2_data/XslStyleSheet.js +1 -0
  164. data/examples/webshops/barnes_offline/barnes_and_noble_files/kmp_iframe_cds2_data/kmp_gen.css +81 -0
  165. data/examples/webshops/barnes_offline/barnes_and_noble_files/kmp_iframe_cds2_data/product-preview-core.js +337 -0
  166. data/examples/webshops/barnes_offline/barnes_and_noble_files/kmp_iframe_cds2_data/product-preview.css +36 -0
  167. data/examples/webshops/barnes_offline/barnes_and_noble_files/kmp_iframe_cds2_data/productpreview.js +11 -0
  168. data/examples/webshops/barnes_offline/barnes_and_noble_files/linePagination.gif +0 -0
  169. data/examples/webshops/barnes_offline/barnes_and_noble_files/logo_bn05.gif +0 -0
  170. data/examples/webshops/barnes_offline/barnes_and_noble_files/navbar.js +34 -0
  171. data/examples/webshops/barnes_offline/barnes_and_noble_files/navbar_06.css +136 -0
  172. data/examples/webshops/barnes_offline/barnes_and_noble_files/popup_open.js +116 -0
  173. data/examples/webshops/barnes_offline/barnes_and_noble_files/qsearch3_vline_dots.gif +0 -0
  174. data/examples/webshops/barnes_offline/barnes_and_noble_files/qsearch4_search.gif +0 -0
  175. data/examples/webshops/barnes_offline/barnes_and_noble_files/qsearch_AdvSearch.jpg +0 -0
  176. data/examples/webshops/barnes_offline/barnes_and_noble_files/subnav_colon.gif +0 -0
  177. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_Bookclubs_cold.gif +0 -0
  178. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_bnjr_cold.gif +0 -0
  179. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_books_hot.gif +0 -0
  180. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_dvd_cold.gif +0 -0
  181. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_giftcards_cold.gif +0 -0
  182. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_home_cold.gif +0 -0
  183. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_member_cc_cold.gif +0 -0
  184. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_music_cold.gif +0 -0
  185. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_pipe.gif +0 -0
  186. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_textbooksonly_cold.gif +0 -0
  187. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_usedoop_cold.gif +0 -0
  188. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_videogames_cold.gif +0 -0
  189. data/examples/webshops/barnes_offline/barnes_and_noble_files/toppromo3_rule.gif +0 -0
  190. data/examples/webshops/barnes_offline/barnes_and_noble_files/toppromo_fastfree05.gif +0 -0
  191. data/examples/webshops/barnes_offline/barnes_and_noble_files/vcart_btn_checkout.gif +0 -0
  192. data/examples/webshops/barnes_offline/barnes_and_noble_files/vcart_icon_cart.gif +0 -0
  193. data/examples/webshops/barnes_offline/barnes_and_noble_files/vcart_topbot_rule.gif +0 -0
  194. data/examples/webshops/barnes_offline/barnes_and_noble_files/visualcart_prodid.js +401 -0
  195. data/examples/webshops/barnes_offline/test.rb +30 -0
  196. data/examples/webshops/buydig/2_files/03AA1BB9089A4A6A92CF23F280D664EB.jpg +0 -0
  197. data/examples/webshops/buydig/2_files/1008.gif +0 -0
  198. data/examples/webshops/buydig/2_files/1013.gif +0 -0
  199. data/examples/webshops/buydig/2_files/1020.gif +0 -0
  200. data/examples/webshops/buydig/2_files/106CF2FB84B446518397517C3E6D5AD8.jpg +0 -0
  201. data/examples/webshops/buydig/2_files/13-www.gif +0 -0
  202. data/examples/webshops/buydig/2_files/1E9BB2E56AB145FC9D6EF952703AF476.jpg +0 -0
  203. data/examples/webshops/buydig/2_files/1FCDFBE85CDB4D429EC2C8CB24D20457.jpg +0 -0
  204. data/examples/webshops/buydig/2_files/1pix.gif +0 -0
  205. data/examples/webshops/buydig/2_files/2014.gif +0 -0
  206. data/examples/webshops/buydig/2_files/2089.gif +0 -0
  207. data/examples/webshops/buydig/2_files/24992_medal.gif +0 -0
  208. data/examples/webshops/buydig/2_files/24BBCBA1397F4DDCBBBBE8456D6D6E5B.jpg +0 -0
  209. data/examples/webshops/buydig/2_files/281F8A6019B140F38DFD45EB7B69B0FB.jpg +0 -0
  210. data/examples/webshops/buydig/2_files/2975F866CB2149F7ACBC559C8E24E304.jpg +0 -0
  211. data/examples/webshops/buydig/2_files/316FC9256DC9460ABC3C5ECAF6C60286.jpg +0 -0
  212. data/examples/webshops/buydig/2_files/50569327D8B94252B95E449AE470E505.jpg +0 -0
  213. data/examples/webshops/buydig/2_files/519CDAB404FA4543B76B5F281468ACBF.jpg +0 -0
  214. data/examples/webshops/buydig/2_files/57D6146419A647BA89C96AF0B5CAB03C.jpg +0 -0
  215. data/examples/webshops/buydig/2_files/58E3F988E184448B8C0A59874AE123A8.jpg +0 -0
  216. data/examples/webshops/buydig/2_files/5E5B10197A4E4C9B9ECCD6309DBE4C54.jpg +0 -0
  217. data/examples/webshops/buydig/2_files/609A249177D04065B37B9161CB0BC92D.jpg +0 -0
  218. data/examples/webshops/buydig/2_files/676CEE8E53C2445982E991871B4DF613.jpg +0 -0
  219. data/examples/webshops/buydig/2_files/712BA08FAB524A31A76ABB9E2009FF8E.jpg +0 -0
  220. data/examples/webshops/buydig/2_files/734BD08D7A5049339393166491D09D21.jpg +0 -0
  221. data/examples/webshops/buydig/2_files/751E72B7003343248497FE6905F80787.jpg +0 -0
  222. data/examples/webshops/buydig/2_files/76493D4F02F14EF7B5886510604C7BB4.jpg +0 -0
  223. data/examples/webshops/buydig/2_files/79521E251278486DB29529C60C9D012A.jpg +0 -0
  224. data/examples/webshops/buydig/2_files/9C9AF82AC3B54BDC8C705278B50FDFD6.jpg +0 -0
  225. data/examples/webshops/buydig/2_files/BC3FD8307B9948FDB7EEF156D8629C37.jpg +0 -0
  226. data/examples/webshops/buydig/2_files/C0DD4574765047D1836F505E69DC8AE5.jpg +0 -0
  227. data/examples/webshops/buydig/2_files/C143F48515274A44B04F4B3E46306BD2.jpg +0 -0
  228. data/examples/webshops/buydig/2_files/C6B02E88F729464699DB275D140F4563.jpg +0 -0
  229. data/examples/webshops/buydig/2_files/CE334D6206DB4FA9AFDF339AEF0AF50F.jpg +0 -0
  230. data/examples/webshops/buydig/2_files/D66AE0DC865A4021AB300ED3A0C4CD11.jpg +0 -0
  231. data/examples/webshops/buydig/2_files/DEA2EC2093DC474D96B651068576DAE5.jpg +0 -0
  232. data/examples/webshops/buydig/2_files/F547677D83844042BF13A4BE6523BB50.jpg +0 -0
  233. data/examples/webshops/buydig/2_files/Rbbbonlineseal.gif +0 -0
  234. data/examples/webshops/buydig/2_files/TopSellers_bottom.gif +0 -0
  235. data/examples/webshops/buydig/2_files/TopSellers_ttl.gif +0 -0
  236. data/examples/webshops/buydig/2_files/addToFavorites_ttl.gif +0 -0
  237. data/examples/webshops/buydig/2_files/banner_CorporateSales.gif +0 -0
  238. data/examples/webshops/buydig/2_files/banner_Shipping.gif +0 -0
  239. data/examples/webshops/buydig/2_files/bizratehonoree.gif +0 -0
  240. data/examples/webshops/buydig/2_files/btn_submit.gif +0 -0
  241. data/examples/webshops/buydig/2_files/checkFlash.js +110 -0
  242. data/examples/webshops/buydig/2_files/checkFlash2.js +109 -0
  243. data/examples/webshops/buydig/2_files/cnetcertified.gif +0 -0
  244. data/examples/webshops/buydig/2_files/credPriceGrabber.gif +0 -0
  245. data/examples/webshops/buydig/2_files/credShopping.gif +0 -0
  246. data/examples/webshops/buydig/2_files/credential_paypal.gif +0 -0
  247. data/examples/webshops/buydig/2_files/credentials.gif +0 -0
  248. data/examples/webshops/buydig/2_files/dealtime.gif +0 -0
  249. data/examples/webshops/buydig/2_files/dvxstyle.css +754 -0
  250. data/examples/webshops/buydig/2_files/footer_021306_1_v1.gif +0 -0
  251. data/examples/webshops/buydig/2_files/func.js +132 -0
  252. data/examples/webshops/buydig/2_files/getseal +1 -0
  253. data/examples/webshops/buydig/2_files/help.gif +0 -0
  254. data/examples/webshops/buydig/2_files/home.gif +0 -0
  255. data/examples/webshops/buydig/2_files/java.js +155 -0
  256. data/examples/webshops/buydig/2_files/leftnv_help.gif +0 -0
  257. data/examples/webshops/buydig/2_files/logo.gif +0 -0
  258. data/examples/webshops/buydig/2_files/logo2.gif +0 -0
  259. data/examples/webshops/buydig/2_files/logo3.gif +0 -0
  260. data/examples/webshops/buydig/2_files/main.js +227 -0
  261. data/examples/webshops/buydig/2_files/mastercard_secured.gif +0 -0
  262. data/examples/webshops/buydig/2_files/newsBox_bkg.jpg +0 -0
  263. data/examples/webshops/buydig/2_files/newsBox_bottom.jpg +0 -0
  264. data/examples/webshops/buydig/2_files/newsBox_text.gif +0 -0
  265. data/examples/webshops/buydig/2_files/newsBox_ttl.jpg +0 -0
  266. data/examples/webshops/buydig/2_files/noimage75.gif +0 -0
  267. data/examples/webshops/buydig/2_files/orangeleftfrmbtm.gif +0 -0
  268. data/examples/webshops/buydig/2_files/pixel153.gif +0 -0
  269. data/examples/webshops/buydig/2_files/rightnv_bottom.gif +0 -0
  270. data/examples/webshops/buydig/2_files/search_btn_off.gif +0 -0
  271. data/examples/webshops/buydig/2_files/search_c1.gif +0 -0
  272. data/examples/webshops/buydig/2_files/search_c2.gif +0 -0
  273. data/examples/webshops/buydig/2_files/search_c3.gif +0 -0
  274. data/examples/webshops/buydig/2_files/search_c4.gif +0 -0
  275. data/examples/webshops/buydig/2_files/search_down.gif +0 -0
  276. data/examples/webshops/buydig/2_files/search_left.gif +0 -0
  277. data/examples/webshops/buydig/2_files/search_right.gif +0 -0
  278. data/examples/webshops/buydig/2_files/search_top.gif +0 -0
  279. data/examples/webshops/buydig/2_files/siteLinks_bottom.gif +0 -0
  280. data/examples/webshops/buydig/2_files/siteLinks_bullet.gif +0 -0
  281. data/examples/webshops/buydig/2_files/siteLinks_ttl.gif +0 -0
  282. data/examples/webshops/buydig/2_files/spacer.gif +0 -0
  283. data/examples/webshops/buydig/2_files/style.js +45 -0
  284. data/examples/webshops/buydig/2_files/styles.html +33 -0
  285. data/examples/webshops/buydig/2_files/track_orders.jpg +0 -0
  286. data/examples/webshops/buydig/2_files/urchin +534 -0
  287. data/examples/webshops/buydig/2_files/verified_by_visa.gif +0 -0
  288. data/examples/webshops/buydig/2_files/welcome.gif +0 -0
  289. data/examples/webshops/buydig/2_files/welcome_ttl.gif +0 -0
  290. data/examples/webshops/buydig/2_files/yahoologo.gif +0 -0
  291. data/examples/webshops/buydig/input.html +1194 -0
  292. data/examples/webshops/buydig/test.rb +31 -0
  293. data/examples/webshops/ebay/test.rb +32 -0
  294. data/examples/webshops/finewines_offline/_finewines.html +1739 -0
  295. data/examples/webshops/finewines_offline/_finewines_cut.html +371 -0
  296. data/examples/webshops/finewines_offline/_finewines_files/011064.jpg +0 -0
  297. data/examples/webshops/finewines_offline/_finewines_files/012674.jpg +0 -0
  298. data/examples/webshops/finewines_offline/_finewines_files/013268.jpg +0 -0
  299. data/examples/webshops/finewines_offline/_finewines_files/013300.jpg +0 -0
  300. data/examples/webshops/finewines_offline/_finewines_files/013409.jpg +0 -0
  301. data/examples/webshops/finewines_offline/_finewines_files/014340.jpg +0 -0
  302. data/examples/webshops/finewines_offline/_finewines_files/015073.jpg +0 -0
  303. data/examples/webshops/finewines_offline/_finewines_files/015255.jpg +0 -0
  304. data/examples/webshops/finewines_offline/_finewines_files/015479.jpg +0 -0
  305. data/examples/webshops/finewines_offline/_finewines_files/015487.jpg +0 -0
  306. data/examples/webshops/finewines_offline/_finewines_files/017038.jpg +0 -0
  307. data/examples/webshops/finewines_offline/_finewines_files/017129.jpg +0 -0
  308. data/examples/webshops/finewines_offline/_finewines_files/017145.jpg +0 -0
  309. data/examples/webshops/finewines_offline/_finewines_files/017152.jpg +0 -0
  310. data/examples/webshops/finewines_offline/_finewines_files/017285.jpg +0 -0
  311. data/examples/webshops/finewines_offline/_finewines_files/017392.jpg +0 -0
  312. data/examples/webshops/finewines_offline/_finewines_files/017400.jpg +0 -0
  313. data/examples/webshops/finewines_offline/_finewines_files/019778.jpg +0 -0
  314. data/examples/webshops/finewines_offline/_finewines_files/019786.jpg +0 -0
  315. data/examples/webshops/finewines_offline/_finewines_files/020503.jpg +0 -0
  316. data/examples/webshops/finewines_offline/_finewines_files/021253.jpg +0 -0
  317. data/examples/webshops/finewines_offline/_finewines_files/021279.jpg +0 -0
  318. data/examples/webshops/finewines_offline/_finewines_files/021337.jpg +0 -0
  319. data/examples/webshops/finewines_offline/_finewines_files/021352.jpg +0 -0
  320. data/examples/webshops/finewines_offline/_finewines_files/023002.jpg +0 -0
  321. data/examples/webshops/finewines_offline/_finewines_files/023135.jpg +0 -0
  322. data/examples/webshops/finewines_offline/_finewines_files/023143.jpg +0 -0
  323. data/examples/webshops/finewines_offline/_finewines_files/023788.jpg +0 -0
  324. data/examples/webshops/finewines_offline/_finewines_files/024166.jpg +0 -0
  325. data/examples/webshops/finewines_offline/_finewines_files/024182.jpg +0 -0
  326. data/examples/webshops/finewines_offline/_finewines_files/024216.jpg +0 -0
  327. data/examples/webshops/finewines_offline/_finewines_files/027268.jpg +0 -0
  328. data/examples/webshops/finewines_offline/_finewines_files/027516.jpg +0 -0
  329. data/examples/webshops/finewines_offline/_finewines_files/027862.jpg +0 -0
  330. data/examples/webshops/finewines_offline/_finewines_files/028118.jpg +0 -0
  331. data/examples/webshops/finewines_offline/_finewines_files/028936.jpg +0 -0
  332. data/examples/webshops/finewines_offline/_finewines_files/033894.jpg +0 -0
  333. data/examples/webshops/finewines_offline/_finewines_files/033902.jpg +0 -0
  334. data/examples/webshops/finewines_offline/_finewines_files/033910.jpg +0 -0
  335. data/examples/webshops/finewines_offline/_finewines_files/033936.jpg +0 -0
  336. data/examples/webshops/finewines_offline/_finewines_files/033944.jpg +0 -0
  337. data/examples/webshops/finewines_offline/_finewines_files/033951.jpg +0 -0
  338. data/examples/webshops/finewines_offline/_finewines_files/034553.jpg +0 -0
  339. data/examples/webshops/finewines_offline/_finewines_files/034561.jpg +0 -0
  340. data/examples/webshops/finewines_offline/_finewines_files/232439.jpg +0 -0
  341. data/examples/webshops/finewines_offline/_finewines_files/237834.jpg +0 -0
  342. data/examples/webshops/finewines_offline/_finewines_files/268359.jpg +0 -0
  343. data/examples/webshops/finewines_offline/_finewines_files/289082.jpg +0 -0
  344. data/examples/webshops/finewines_offline/_finewines_files/331603.jpg +0 -0
  345. data/examples/webshops/finewines_offline/_finewines_files/369686.jpg +0 -0
  346. data/examples/webshops/finewines_offline/_finewines_files/420257.jpg +0 -0
  347. data/examples/webshops/finewines_offline/_finewines_files/422014.jpg +0 -0
  348. data/examples/webshops/finewines_offline/_finewines_files/460410.jpg +0 -0
  349. data/examples/webshops/finewines_offline/_finewines_files/480533.jpg +0 -0
  350. data/examples/webshops/finewines_offline/_finewines_files/556795.jpg +0 -0
  351. data/examples/webshops/finewines_offline/_finewines_files/597054.jpg +0 -0
  352. data/examples/webshops/finewines_offline/_finewines_files/650606.jpg +0 -0
  353. data/examples/webshops/finewines_offline/_finewines_files/652628.jpg +0 -0
  354. data/examples/webshops/finewines_offline/_finewines_files/653790.jpg +0 -0
  355. data/examples/webshops/finewines_offline/_finewines_files/658450.jpg +0 -0
  356. data/examples/webshops/finewines_offline/_finewines_files/660027.jpg +0 -0
  357. data/examples/webshops/finewines_offline/_finewines_files/660951.jpg +0 -0
  358. data/examples/webshops/finewines_offline/_finewines_files/684514.jpg +0 -0
  359. data/examples/webshops/finewines_offline/_finewines_files/685131.jpg +0 -0
  360. data/examples/webshops/finewines_offline/_finewines_files/686865.jpg +0 -0
  361. data/examples/webshops/finewines_offline/_finewines_files/699330.jpg +0 -0
  362. data/examples/webshops/finewines_offline/_finewines_files/703017.jpg +0 -0
  363. data/examples/webshops/finewines_offline/_finewines_files/703140.jpg +0 -0
  364. data/examples/webshops/finewines_offline/_finewines_files/703850.jpg +0 -0
  365. data/examples/webshops/finewines_offline/_finewines_files/717306.jpg +0 -0
  366. data/examples/webshops/finewines_offline/_finewines_files/900274.jpg +0 -0
  367. data/examples/webshops/finewines_offline/_finewines_files/938225.jpg +0 -0
  368. data/examples/webshops/finewines_offline/_finewines_files/947440.jpg +0 -0
  369. data/examples/webshops/finewines_offline/_finewines_files/951319.jpg +0 -0
  370. data/examples/webshops/finewines_offline/_finewines_files/967893.jpg +0 -0
  371. data/examples/webshops/finewines_offline/_finewines_files/981407.jpg +0 -0
  372. data/examples/webshops/finewines_offline/_finewines_files/981613.jpg +0 -0
  373. data/examples/webshops/finewines_offline/_finewines_files/982421.jpg +0 -0
  374. data/examples/webshops/finewines_offline/_finewines_files/985598.jpg +0 -0
  375. data/examples/webshops/finewines_offline/_finewines_files/986737.jpg +0 -0
  376. data/examples/webshops/finewines_offline/_finewines_files/987503.jpg +0 -0
  377. data/examples/webshops/finewines_offline/_finewines_files/992800.jpg +0 -0
  378. data/examples/webshops/finewines_offline/_finewines_files/VintageslogoEN.gif +0 -0
  379. data/examples/webshops/finewines_offline/_finewines_files/blanc-up.gif +0 -0
  380. data/examples/webshops/finewines_offline/_finewines_files/btn_vintages_latest.gif +0 -0
  381. data/examples/webshops/finewines_offline/_finewines_files/cc_en.gif +0 -0
  382. data/examples/webshops/finewines_offline/_finewines_files/common.js +860 -0
  383. data/examples/webshops/finewines_offline/_finewines_files/drink.gif +0 -0
  384. data/examples/webshops/finewines_offline/_finewines_files/drinkhold.gif +0 -0
  385. data/examples/webshops/finewines_offline/_finewines_files/ec_en.gif +0 -0
  386. data/examples/webshops/finewines_offline/_finewines_files/ev_en.gif +0 -0
  387. data/examples/webshops/finewines_offline/_finewines_files/hold.gif +0 -0
  388. data/examples/webshops/finewines_offline/_finewines_files/index-wines-features.jpg +0 -0
  389. data/examples/webshops/finewines_offline/_finewines_files/indexSTYLE.css +398 -0
  390. data/examples/webshops/finewines_offline/_finewines_files/keyword_search.gif +0 -0
  391. data/examples/webshops/finewines_offline/_finewines_files/mm_menu.js +1 -0
  392. data/examples/webshops/finewines_offline/_finewines_files/nr_en.gif +0 -0
  393. data/examples/webshops/finewines_offline/_finewines_files/ontario_en.gif +0 -0
  394. data/examples/webshops/finewines_offline/_finewines_files/popup.js +81 -0
  395. data/examples/webshops/finewines_offline/_finewines_files/releases_nav.js +229 -0
  396. data/examples/webshops/finewines_offline/_finewines_files/so_en.gif +0 -0
  397. data/examples/webshops/finewines_offline/_finewines_files/spacer.gif +0 -0
  398. data/examples/webshops/finewines_offline/_finewines_files/top.gif +0 -0
  399. data/examples/webshops/finewines_offline/_finewines_files/urchin.js +576 -0
  400. data/examples/webshops/finewines_offline/_finewines_files/wom_en.gif +0 -0
  401. data/examples/webshops/finewines_offline/test.rb +30 -0
  402. data/examples/webshops/us1camera/1_files/1pix.gif +0 -0
  403. data/examples/webshops/us1camera/1_files/1pix_002.gif +0 -0
  404. data/examples/webshops/us1camera/1_files/CnetCertified.gif +0 -0
  405. data/examples/webshops/us1camera/1_files/CyberSource.gif +0 -0
  406. data/examples/webshops/us1camera/1_files/Images50.gif +0 -0
  407. data/examples/webshops/us1camera/1_files/Images50_002.gif +0 -0
  408. data/examples/webshops/us1camera/1_files/Images50_003.gif +0 -0
  409. data/examples/webshops/us1camera/1_files/Images50_004.gif +0 -0
  410. data/examples/webshops/us1camera/1_files/Images50_005.gif +0 -0
  411. data/examples/webshops/us1camera/1_files/Images50_006.gif +0 -0
  412. data/examples/webshops/us1camera/1_files/PriceGrabber.gif +0 -0
  413. data/examples/webshops/us1camera/1_files/QSearch.gif +0 -0
  414. data/examples/webshops/us1camera/1_files/ban-m.jpg +0 -0
  415. data/examples/webshops/us1camera/1_files/banner1.bin +0 -0
  416. data/examples/webshops/us1camera/1_files/banner3.bin +0 -0
  417. data/examples/webshops/us1camera/1_files/block1.jpg +0 -0
  418. data/examples/webshops/us1camera/1_files/block2.jpg +0 -0
  419. data/examples/webshops/us1camera/1_files/block3.jpg +0 -0
  420. data/examples/webshops/us1camera/1_files/block4.jpg +0 -0
  421. data/examples/webshops/us1camera/1_files/block5.jpg +0 -0
  422. data/examples/webshops/us1camera/1_files/block6.jpg +0 -0
  423. data/examples/webshops/us1camera/1_files/bos.js +280 -0
  424. data/examples/webshops/us1camera/1_files/box1.jpg +0 -0
  425. data/examples/webshops/us1camera/1_files/box2.jpg +0 -0
  426. data/examples/webshops/us1camera/1_files/box3.jpg +0 -0
  427. data/examples/webshops/us1camera/1_files/box4.jpg +0 -0
  428. data/examples/webshops/us1camera/1_files/dot.jpg +0 -0
  429. data/examples/webshops/us1camera/1_files/eDevix.gif +0 -0
  430. data/examples/webshops/us1camera/1_files/electronics1.jpg +0 -0
  431. data/examples/webshops/us1camera/1_files/getseal +1 -0
  432. data/examples/webshops/us1camera/1_files/pride.jpg +0 -0
  433. data/examples/webshops/us1camera/1_files/search.jpg +0 -0
  434. data/examples/webshops/us1camera/1_files/sidebutton.jpg +0 -0
  435. data/examples/webshops/us1camera/1_files/sslroilogic.js +49 -0
  436. data/examples/webshops/us1camera/1_files/style.css +1 -0
  437. data/examples/webshops/us1camera/1_files/tl.html +2 -0
  438. data/examples/webshops/us1camera/input.html +548 -0
  439. data/examples/webshops/us1camera/test.rb +37 -0
  440. data/lib/scrubyt/core/navigation/agents/firewatir.rb +285 -0
  441. data/lib/scrubyt/core/navigation/agents/mechanize.rb +315 -0
  442. data/lib/scrubyt/core/navigation/fetch_action.rb +63 -0
  443. data/lib/scrubyt/core/navigation/navigation_actions.rb +107 -0
  444. data/lib/scrubyt/core/scraping/compound_example.rb +30 -0
  445. data/lib/scrubyt/core/scraping/constraint.rb +169 -0
  446. data/lib/scrubyt/core/scraping/constraint_adder.rb +49 -0
  447. data/lib/scrubyt/core/scraping/filters/attribute_filter.rb +14 -0
  448. data/lib/scrubyt/core/scraping/filters/base_filter.rb +112 -0
  449. data/lib/scrubyt/core/scraping/filters/constant_filter.rb +9 -0
  450. data/lib/scrubyt/core/scraping/filters/detail_page_filter.rb +37 -0
  451. data/lib/scrubyt/core/scraping/filters/download_filter.rb +64 -0
  452. data/lib/scrubyt/core/scraping/filters/html_subtree_filter.rb +9 -0
  453. data/lib/scrubyt/core/scraping/filters/regexp_filter.rb +13 -0
  454. data/lib/scrubyt/core/scraping/filters/script_filter.rb +11 -0
  455. data/lib/scrubyt/core/scraping/filters/text_filter.rb +34 -0
  456. data/lib/scrubyt/core/scraping/filters/tree_filter.rb +138 -0
  457. data/lib/scrubyt/core/scraping/pattern.rb +359 -0
  458. data/lib/scrubyt/core/scraping/pre_filter_document.rb +14 -0
  459. data/lib/scrubyt/core/scraping/result_indexer.rb +90 -0
  460. data/lib/scrubyt/core/shared/extractor.rb +171 -0
  461. data/lib/scrubyt/logging.rb +154 -0
  462. data/lib/scrubyt/output/post_processor.rb +139 -0
  463. data/lib/scrubyt/output/result.rb +44 -0
  464. data/lib/scrubyt/output/result_dumper.rb +154 -0
  465. data/lib/scrubyt/output/result_node.rb +145 -0
  466. data/lib/scrubyt/output/scrubyt_result.rb +42 -0
  467. data/lib/scrubyt/utils/compound_example_lookup.rb +50 -0
  468. data/lib/scrubyt/utils/ruby_extensions.rb +85 -0
  469. data/lib/scrubyt/utils/shared_utils.rb +58 -0
  470. data/lib/scrubyt/utils/simple_example_lookup.rb +40 -0
  471. data/lib/scrubyt/utils/xpathutils.rb +202 -0
  472. data/lib/scrubyt.rb +53 -0
  473. data/pkg/scrubyt-0.4.31.gem +0 -0
  474. data/resources/allison/LICENSE +184 -0
  475. data/resources/allison/README +37 -0
  476. data/resources/allison/allison.css +301 -0
  477. data/resources/allison/allison.gif +0 -0
  478. data/resources/allison/allison.js +307 -0
  479. data/resources/allison/allison.rb +287 -0
  480. data/resources/allison/cache/BODY +588 -0
  481. data/resources/allison/cache/CLASS_INDEX +4 -0
  482. data/resources/allison/cache/CLASS_PAGE +1 -0
  483. data/resources/allison/cache/FILE_INDEX +4 -0
  484. data/resources/allison/cache/FILE_PAGE +1 -0
  485. data/resources/allison/cache/FONTS +1 -0
  486. data/resources/allison/cache/FR_INDEX_BODY +1 -0
  487. data/resources/allison/cache/IMGPATH +1 -0
  488. data/resources/allison/cache/INDEX +1 -0
  489. data/resources/allison/cache/JAVASCRIPT +307 -0
  490. data/resources/allison/cache/METHOD_INDEX +4 -0
  491. data/resources/allison/cache/METHOD_LIST +1 -0
  492. data/resources/allison/cache/SRC_PAGE +1 -0
  493. data/resources/allison/cache/STYLE +323 -0
  494. data/resources/allison/cache/URL +1 -0
  495. data/scrubyt.gemspec +609 -0
  496. data/test/blackbox_test.rb +60 -0
  497. data/test/blackbox_tests/basic/multi_root.expected.xml +8 -0
  498. data/test/blackbox_tests/basic/multi_root.rb +6 -0
  499. data/test/blackbox_tests/basic/simple.expected.xml +5 -0
  500. data/test/blackbox_tests/basic/simple.rb +5 -0
  501. data/test/blackbox_tests/basic/three_divs.html +12 -0
  502. data/test/blackbox_tests/detail_page/detail_page_1.html +7 -0
  503. data/test/blackbox_tests/detail_page/detail_page_2.html +7 -0
  504. data/test/blackbox_tests/detail_page/main_page_1.html +5 -0
  505. data/test/blackbox_tests/detail_page/main_page_2.html +6 -0
  506. data/test/blackbox_tests/detail_page/one_detail_page.expected.xml +7 -0
  507. data/test/blackbox_tests/detail_page/one_detail_page.rb +9 -0
  508. data/test/blackbox_tests/detail_page/two_detail_pages.expected.xml +12 -0
  509. data/test/blackbox_tests/detail_page/two_detail_pages.rb +9 -0
  510. data/test/blackbox_tests/next_page/next_page_link.expected.xml +11 -0
  511. data/test/blackbox_tests/next_page/next_page_link.rb +7 -0
  512. data/test/blackbox_tests/next_page/page_1.html +11 -0
  513. data/test/blackbox_tests/next_page/page_2.html +11 -0
  514. data/test/blackbox_tests/next_page/page_3.html +7 -0
  515. data/test/blackbox_tests/next_page/page_list_links.expected.xml +11 -0
  516. data/test/blackbox_tests/next_page/page_list_links.rb +7 -0
  517. data/test/blackbox_tests/next_page/page_list_links.tofix +7 -0
  518. data/todo/backlog.txt +73 -0
  519. data/todo/scenario_ideas.txt +19 -0
  520. metadata +637 -0
@@ -0,0 +1,337 @@
1
+ var ProductPreview = {
2
+ previewObj:null,
3
+ windowObj:null,
4
+ target:null,
5
+ triggerTimer:null,
6
+ targetTimer:null,
7
+ findIsbnRE:new RegExp("(?:EAN|ISBN)=([0-9X]{10,13})&?", "i"),
8
+ params: null,
9
+ stylesheet:null,
10
+ isShowing:false,
11
+ productInCart:null,
12
+ initialize:function() {
13
+ if (xslStyleSheet)
14
+ this.stylesheet = XmlUtil.parseXml(xslStyleSheet);
15
+ var links = document.getElementsByTagName("A");
16
+ for (var i=0; i<links.length; i++) {
17
+ var link = links[i];
18
+ if ((link.href.toLowerCase().indexOf("/search/product.asp") >= 0 || link.href.toLowerCase().indexOf("/booksearch/isbninquiry.asp") >= 0) &&
19
+ link.href.toLowerCase().indexOf("pv=y") > 0) {
20
+ link.onmouseover = function(){ProductPreview.triggerMouseOver(this)};
21
+ link.onmouseout = function(){ProductPreview.triggerMouseOut()};
22
+ }
23
+ }
24
+ // pwbab
25
+ var pwbab = document.getElementById("customerBought");
26
+ if (pwbab) {
27
+ var pwbLinks = pwbab.getElementsByTagName("A");
28
+ for (var i=0; i<pwbLinks.length; i++) {
29
+ pwbLinks[i].onmouseover = function(){ProductPreview.triggerMouseOver(this)};
30
+ pwbLinks[i].onmouseout = function(){ProductPreview.triggerMouseOut()};
31
+ }
32
+ }
33
+ },
34
+ addEvent:function(element, type, handler) {
35
+ if (element.addEventListener) {
36
+ element.addEventListener(type, handler, false);
37
+ } else if (element.attachEvent) {
38
+ element.attachEvent("on" + type, handler);
39
+ }
40
+ },
41
+ loadScript:function(url, id){
42
+ var script = document.getElementById(id);
43
+ if (script) {
44
+ script.parentNode.removeChild(script);
45
+ }
46
+ script = document.createElement("script");
47
+ script.type = "text/javascript";
48
+ script.id = id;
49
+ script.src = url;
50
+ document.getElementsByTagName("head")[0].appendChild(script);
51
+ },
52
+ runXSL:function(JSONObj) {
53
+ if (!(JSONObj.xml && JSONObj.xml.length > 0)) return;
54
+
55
+ var xslDOM = this.stylesheet;
56
+ var xml = XmlUtil.parseXml(JSONObj.xml);
57
+
58
+ try {
59
+ this.addParamsToXml(xml);
60
+ }
61
+ catch (e) {}
62
+
63
+ var output = null;
64
+
65
+ if (typeof XSLTProcessor != "undefined") {
66
+ try {
67
+ xsl = new XSLTProcessor();
68
+ xsl.importStylesheet(xslDOM);
69
+ output = xsl.transformToFragment(xml, document);
70
+
71
+ this.windowObj.document.getElementById("previewContent").innerHTML = "";
72
+ this.windowObj.document.getElementById("previewContent").appendChild(output);
73
+
74
+ ProductPreview.renderDeliveryMessage();
75
+ }
76
+ catch (e) { output = null; }
77
+ }
78
+ else if (window.ActiveXObject) {
79
+ try {
80
+ output = xml.transformNode(xslDOM);
81
+ this.windowObj.document.getElementById("previewContent").innerHTML = output;
82
+ }
83
+ catch (e) { output = null; }
84
+ }
85
+ if (output!=null) {
86
+ ProductPreview.positionPreview();
87
+ }
88
+ },
89
+ renderDeliveryMessage:function() {
90
+ // XSL in non-IE browsers doesn't support disable output escaping - delivery message contains &lt; and &gt;
91
+ var w = this.windowObj;
92
+ if (w.document.getElementById("deliveryMessage") && w.document.getElementById("deliveryMessage").textContent)
93
+ w.document.getElementById("deliveryMessage").innerHTML = w.document.getElementById("deliveryMessage").textContent;
94
+ },
95
+ createPreview:function(){
96
+ this.previewObj = this.windowObj.document.getElementById("previewObj");
97
+
98
+ if(!this.previewObj) {
99
+ this.previewObj = this.windowObj.document.createElement("DIV");
100
+ this.previewObj.id = "previewObj";
101
+ this.windowObj.document.body.appendChild(ProductPreview.previewObj);
102
+ this.previewObj.innerHTML = "<div class=\"dropshadow\"><div class=\"previewContent\" id=\"previewContent\"></div></div>";
103
+
104
+ this.previewObj.onmouseover = function(){ProductPreview.targetMouseOver()};
105
+ this.previewObj.onmouseout = function(){ProductPreview.targetMouseOut()};
106
+ this.previewObj.onclick = function(){ProductPreview.hidePreview()};
107
+ }
108
+ this.windowObj.document.getElementById("previewContent").innerHTML = "";
109
+ ProductPreview.hidePreview();
110
+ },
111
+ hideDelay:500,
112
+ triggerMouseOver:function(link) {
113
+ this.targetTimer = clearTimeout(this.targetTimer);
114
+ this.triggerTimer = clearTimeout(this.triggerTimer);
115
+ this.triggerTimer = setTimeout(function(){ProductPreview.showPreview(link)},300);
116
+ },
117
+ triggerMouseOut:function() {
118
+ this.triggerTimer = clearTimeout(this.triggerTimer);
119
+ this.targetTimer = setTimeout(function(){ProductPreview.hidePreview()}, this.hideDelay);
120
+ },
121
+ showPreview:function(link){
122
+ if (this.isShowing) return;
123
+ this.isShowing = true;
124
+
125
+ if (this.target==null || this.target != link) {
126
+ this.target = link;
127
+ this.params = this.target.search; // get the querystring attached
128
+
129
+ this.windowObj = window;
130
+ if (ProductPreview.isInFrame() && window.parent)
131
+ this.windowObj = window.parent;
132
+
133
+ ProductPreview.createPreview();
134
+ ProductPreview.callService();
135
+ }
136
+ else if (this.windowObj.document.getElementById("previewContent").innerHTML != "") {
137
+ ProductPreview.hidePreview();
138
+ ProductPreview.positionPreview();
139
+ }
140
+ },
141
+ targetMouseOver:function() {
142
+ this.targetTimer = clearTimeout(this.targetTimer);
143
+ },
144
+ targetMouseOut:function() {
145
+ this.targetTimer = setTimeout(function(){ProductPreview.hidePreview()}, this.hideDelay);
146
+ },
147
+ hidePreview:function(){
148
+ this.isShowing = false;
149
+ this.targetTimer = clearTimeout(this.targetTimer);
150
+
151
+ if (this.previewObj) {
152
+ this.previewObj.style.display="none";
153
+ this.previewObj.style.top = "";
154
+ this.previewObj.style.left = "";
155
+ }
156
+ },
157
+ callService:function(){
158
+ var ean;
159
+ var link = this.target;
160
+ var found = link.href.match(ProductPreview.findIsbnRE);
161
+ if (found && found.length==2)
162
+ ean = found[1];
163
+
164
+ if (typeof hostname=="undefined") hostname = "http://services.barnesandnoble.com/v01_00/";
165
+ var serviceParams = ean + "&AppId=tempid&bnoutput=jsonstring&bncallback=callbackfunction&ProductDetail=Brief";
166
+
167
+ var url;
168
+ if (link.href.indexOf("videogames")>-1)
169
+ url = "";
170
+ else if (link.href.indexOf("/search/product.asp")>-1)
171
+ url = hostname + "MediaLookup?EANs=" + serviceParams;
172
+ else
173
+ url = hostname + "BookLookup?EANs=" + serviceParams;
174
+
175
+ if (url!="" && ean!=null) {
176
+ if (ean.length<=10) {
177
+ //Convert the ISBN-10 to ISBN-13
178
+ ISBN13 = '978' + ean.toString(); // prefix the default for ISBN10-to-13 numbers
179
+ ISBN13 = ISBN13.substring(0, 12); // get the first 12 numbers in the string
180
+ weight = new Array(1,3,1,3,1,3,1,3,1,3,1,3); // make an array of weights to multiply with
181
+ var total = 0; for ( var i=0; i<12; i++ ) { // loop the string and build the total with the weights array
182
+ t = ISBN13.charAt(i);
183
+ total += t * weight[i];
184
+ }
185
+ check = (total % 10); // the check number is the modulus...
186
+ check = 10 - check; // ... subtrackted from 10
187
+ if ( check == 10 ) check = 0; // and perhaps one decimal level back
188
+ ProductPreview.checkCart(ISBN13 + check.toString());
189
+ } else {
190
+ ProductPreview.checkCart(ean);
191
+ }
192
+ ProductPreview.loadScript(url, "productLookup");
193
+ }
194
+ },
195
+ positionPreview:function(){
196
+ this.previewObj.style.display="";
197
+
198
+ var topPos = 0, leftPos = 0;
199
+ var rePositionLeft = false, rePositionTop = false;
200
+ var offSets = ProductPreview.getOffsets(this.target);
201
+ var spacing = this.target.offsetWidth/2;
202
+ leftPos = offSets.offsetLeft + 4 + spacing;
203
+ topPos = offSets.offsetTop + this.target.offsetHeight + 4;
204
+
205
+ if (ProductPreview.isInFrame()) {
206
+ var iframeObj = ProductPreview.getIFrameReference(window);
207
+ if (iframeObj) {
208
+ var iframeOffsets = ProductPreview.getOffsets(iframeObj);
209
+ leftPos += iframeOffsets.offsetLeft;
210
+ topPos += iframeOffsets.offsetTop;
211
+ }
212
+ }
213
+
214
+ var windowDim = ProductPreview.getWindowScroll();
215
+ var w = 750; // fixed width layout ignore windowDim.width;
216
+
217
+ var spaceWidth = w - leftPos;
218
+ rePositionLeft = spaceWidth < 320;
219
+
220
+ var t = windowDim.top;
221
+ var h = windowDim.height;
222
+ var heightTooltip = this.previewObj.clientHeight;
223
+
224
+ if (t+h-topPos < heightTooltip) {
225
+ topPos = topPos - this.target.offsetHeight - heightTooltip;
226
+ rePositionTop = true;
227
+ }
228
+
229
+ if (!rePositionLeft) {
230
+ this.previewObj.style.top = topPos + "px";
231
+ this.previewObj.style.left = leftPos + "px";
232
+ }
233
+ else {
234
+ this.previewObj.style.left = leftPos - spacing - this.previewObj.clientWidth + "px";
235
+ if (!rePositionTop)
236
+ this.previewObj.style.top = topPos - this.target.offsetHeight + "px";
237
+ else
238
+ this.previewObj.style.top = topPos + this.target.offsetHeight + "px";
239
+ }
240
+ },
241
+ getOffsets:function(inputObj){
242
+ var oL = 0, oT = 0;
243
+ while(inputObj) {
244
+ oL += inputObj.offsetLeft || 0;
245
+ oT += inputObj.offsetTop || 0;
246
+ inputObj = inputObj.offsetParent;
247
+ }
248
+ return { offsetLeft: oL, offsetTop: oT }
249
+ },
250
+ // from script.aculo.us
251
+ getWindowScroll:function(){
252
+ var w = this.windowObj;
253
+ var T, L, W, H;
254
+ with (w.document) {
255
+ if (w.document.documentElement && documentElement.scrollTop) {
256
+ T = documentElement.scrollTop;
257
+ L = documentElement.scrollLeft;
258
+ } else if (w.document.body) {
259
+ T = body.scrollTop;
260
+ L = body.scrollLeft;
261
+ }
262
+ if (w.innerWidth) {
263
+ W = w.innerWidth;
264
+ H = w.innerHeight;
265
+ } else if (w.document.documentElement && documentElement.clientWidth) {
266
+ W = documentElement.clientWidth;
267
+ H = documentElement.clientHeight;
268
+ } else {
269
+ W = body.offsetWidth;
270
+ H = body.offsetHeight
271
+ }
272
+ }
273
+ return { top: T, left: L, width: W, height: H };
274
+ },
275
+ isInFrame:function(){
276
+ if (this.target.href.indexOf("inframe=y")>-1)
277
+ return true;
278
+ return false;
279
+ },
280
+ // from http://www.mojavelinux.com/cooker/demos/domTT/domLib.js
281
+ getIFrameReference:function(in_frame){
282
+ if (in_frame.frameElement)
283
+ return in_frame.frameElement;
284
+ else {
285
+ var name = in_frame.name;
286
+ if (!name || !in_frame.parent) {
287
+ return null;
288
+ }
289
+ var candidates = in_frame.parent.document.getElementsByTagName("iframe");
290
+ for (var i = 0; i < candidates.length; i++) {
291
+ if (candidates[i].name == name) {
292
+ return candidates[i];
293
+ }
294
+ }
295
+ return null;
296
+ }
297
+ },
298
+ addParamsToXml:function(xml){
299
+ var root = xml.getElementsByTagName("Product")[0];
300
+ var paramsNode = xml.createElement("params");
301
+ paramsNode.appendChild(xml.createTextNode(this.params));
302
+ root.appendChild(paramsNode);
303
+ var shophostNode = xml.createElement("shophost");
304
+ shophostNode.appendChild(xml.createTextNode(this.windowObj.vc_shophost));
305
+ root.appendChild(shophostNode);
306
+ var slinkprefixNode = xml.createElement("slinkprefix");
307
+ slinkprefixNode.appendChild(xml.createTextNode(this.windowObj.vc_slinkprefix));
308
+ root.appendChild(slinkprefixNode);
309
+ var itemAddedNode = xml.createElement("itemadded");
310
+ itemAddedNode.appendChild(xml.createTextNode(this.productInCart));
311
+ root.appendChild(itemAddedNode);
312
+ },
313
+ checkCart:function(prodid){
314
+ this.productInCart = "n";
315
+
316
+ if (this.windowObj.vc_get_prodids) {
317
+ this.windowObj.vc_get_prodids();
318
+ for (var counter=0; counter < this.windowObj.vc_prodids.length; counter++) {
319
+ if (prodid.indexOf(this.windowObj.vc_prodids[counter])>-1) {
320
+ this.productInCart = "y";
321
+ return;
322
+ }
323
+ }
324
+ }
325
+ }
326
+
327
+ } // end
328
+
329
+ function callbackfunction(response){
330
+ if (response)
331
+ ProductPreview.runXSL(response);
332
+ }
333
+
334
+ if (typeof XSLTProcessor != "undefined" || window.ActiveXObject) {
335
+ loadCss('http://images.barnesandnoble.com/css/product-preview.css');
336
+ ProductPreview.addEvent(window, "load", function(){ProductPreview.initialize()});
337
+ }
@@ -0,0 +1,36 @@
1
+ #previewObj{
2
+ z-index:1000;
3
+ position: absolute;
4
+ }
5
+
6
+ #previewObj #previewContent{
7
+ border: 1px solid #c1bfb3;
8
+ z-index: 1010;
9
+ background: #fff;
10
+ position: relative;
11
+ left: -5px; top: -4px;
12
+ }
13
+
14
+ #textLinkPreview { font: 10px Verdana; color: #333; border: 4px solid #e6e4d5 }
15
+ #textLinkPreview a:link, #textLinkPreview a:visited { color: #333; text-decoration: none; }
16
+ #textLinkPreview a:hover { text-decoration: underline; }
17
+ #textLinkPreview #imageThumb { padding-right: 15px; }
18
+ #textLinkPreview #productDetails .customerRating { position: relative; top: 4px; left: 0 }
19
+ #textLinkPreview #productDetails ul { list-style: none; margin: 0 0 5px; padding: 0 }
20
+ #textLinkPreview #productDetails ul li { margin-bottom: 3px; }
21
+ #textLinkPreview #productDetails ul li.productTitle a:link,
22
+ #textLinkPreview #productDetails ul li.productTitle a:visited { font: bold 11px Verdana; }
23
+ #textLinkPreview #productDetails ul li.previewFormat { margin-top: 7px; }
24
+ #textLinkPreview #productDetails ul li.deliveryMessage { color: #666; margin: 7px 0; }
25
+ #textLinkPreview a.seeDetails { font-size: 10px; color: #666; display: block; margin: 10px 0 5px; text-decoration: underline; }
26
+ #textLinkPreview #productDetails form {padding: 0; margin: 0;}
27
+ #textLinkPreview a img {border:0;}
28
+ #textLinkPreview .cartBtn { margin: 1px 0 3px; }
29
+
30
+ .dropshadow {
31
+ background: url(http://images.barnesandnoble.com/pimages/prodprev/dropshadow.png) bottom right !important;
32
+ filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://images.barnesandnoble.com/pimages/prodprev/dropshadow.png',sizingMethod='scale');
33
+ background: none;
34
+ width: 320px;
35
+ }
36
+
@@ -0,0 +1,11 @@
1
+ function loadLib (libPath) {
2
+ document.write('<script type="text/javascript" src="' + libPath + '"> </script>');
3
+ }
4
+
5
+ function loadCss (cssPath) {
6
+ document.write('<link rel="stylesheet" type="text/css" href="' + cssPath + '">');
7
+ }
8
+
9
+ loadLib('http://images.barnesandnoble.com/pimages/js/XmlUtil.js');
10
+ loadLib('http://images.barnesandnoble.com/pimages/js/XslStyleSheet.js');
11
+ loadLib('http://images.barnesandnoble.com/pimages/js/product-preview-core.js');
@@ -0,0 +1,34 @@
1
+ var vc_total_qty = 0;
2
+ var vc_total_price = 0;
3
+
4
+ function visualcart_formatMoney(value) {
5
+ value -= 0;
6
+ value = (Math.round(value * 100)) / 100;
7
+ return((value == Math.floor(value)) ? ("$" + value + '.00') : ((value * 10 == Math.floor(value * 10)) ? ("$" + value + '0') : ("$" + value)));
8
+ }
9
+
10
+ function visualcart_WriteVCartTotal () {
11
+ document.write((vc_total_qty > 0) ? vc_total_qty : "0");
12
+ document.write((vc_total_qty == 1) ? " Item" : " Items");
13
+ if ((vc_total_qty > 0) && (vc_total_price.length > 0)) {
14
+ document.write(" : " + vc_total_price + "");
15
+ }
16
+ }
17
+
18
+ for (i = 0; i < document.cookie.split("; ").length; ++i) {
19
+ if (document.cookie.split("; ")[i].split("=", 1) == "visualcart") {
20
+ vcCookie = unescape(document.cookie.split("; ")[i].substr(11));
21
+ for (j = 0; j < vcCookie.split("&").length; ++j) {
22
+ switch (vcCookie.split("&")[j].split("=")[0]) {
23
+ case "subtotal" :
24
+ if (vcCookie.split("&")[j].split("=")[1] > 0) {
25
+ vc_total_price = visualcart_formatMoney(vcCookie.split("&")[j].split("=")[1]);
26
+ }
27
+ break;
28
+ case "qtytotal" :
29
+ vc_total_qty = vcCookie.split("&")[j].split("=")[1];
30
+ break;
31
+ }
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,136 @@
1
+ .afflink
2
+ {
3
+ color: #003300;
4
+ font-size: 10px;
5
+ font-family: arial;
6
+ }
7
+ .afflink a:link {
8
+ color: #003300;
9
+ text-decoration: none;
10
+ }
11
+ .afflink a:active {
12
+ color: #003300;
13
+ text-decoration: none;
14
+ }
15
+ .afflink a:visited {
16
+ color: #003300;
17
+ text-decoration: none;
18
+ }
19
+ .afflink a:hover {
20
+ color: #003300;
21
+ text-decoration: underline;
22
+ }
23
+ .menu a {
24
+ display: block;
25
+ font-family: Arial;
26
+ font-weight: bold;
27
+ text-decoration:none;
28
+ font-size:9px;
29
+ letter-spacing: 0px;
30
+ padding-left: 8px;
31
+ padding-right: 8px;
32
+ padding-top: 8px;
33
+ padding-bottom: 9px;
34
+ }
35
+ .menu a:link {
36
+ color: #FFFFFF;
37
+ text-decoration: none;
38
+ }
39
+ .menu a:active {
40
+ color: #FFFFFF;
41
+ text-decoration: none;
42
+ }
43
+ .menu a:visited {
44
+ color: #FFFFFF;
45
+ text-decoration: none;
46
+ }
47
+ .menu a:hover {
48
+ color: #003300;
49
+ background: #FEFAEA;
50
+ text-decoration: none;
51
+ }
52
+ .formfield {
53
+ height: 20px;
54
+ font-size: 11px;
55
+ width: 125px;
56
+ }
57
+ .vcart {
58
+ color: #445E31;
59
+ font-size: 11px;
60
+ font-weight: bold;
61
+ font-family: arial;
62
+ }
63
+ .endpagebtt
64
+ {
65
+ color: #999966;
66
+ font-size: 10px;
67
+ font-family: arial;
68
+ }
69
+ .endpagebtt a:link {
70
+ color: #999966;
71
+ text-decoration: none;
72
+ }
73
+ .endpagebtt a:active {
74
+ color: #999966;
75
+ text-decoration: none;
76
+ }
77
+ .endpagebtt a:visited {
78
+ color: #999966;
79
+ text-decoration: none;
80
+ }
81
+ .endpagebtt a:hover {
82
+ color: #999966;
83
+ text-decoration: underline;
84
+ }
85
+ .endpage
86
+ {
87
+ color: #999999;
88
+ font-size: 10px;
89
+ font-family: arial;
90
+ }
91
+ .endpage a:link {
92
+ color: #999999;
93
+ text-decoration: none;
94
+ }
95
+ .endpage a:active {
96
+ color: #999999;
97
+ text-decoration: none;
98
+ }
99
+ .endpage a:visited {
100
+ color: #999999;
101
+ text-decoration: none;
102
+ }
103
+ .endpage a:hover {
104
+ color: #999999;
105
+ text-decoration: underline;
106
+ }
107
+ .endpagecopy
108
+ {
109
+ color: #000000;
110
+ font-size: 10px;
111
+ font-family: arial;
112
+ }
113
+ .bannerpromobold {
114
+ font-family: Verdana;
115
+ font-size: 11px;
116
+ color: #4F612E;
117
+ font-weight: bold;
118
+ }
119
+ .bannerpromo {
120
+ font-family: Verdana;
121
+ font-size: 11px;
122
+ color: #4F612E;
123
+ }
124
+ .bannerpromoBGcolor {
125
+ background: #EEEEE4;
126
+ }
127
+ .bannerpromo A:link{
128
+ font-family: Verdana;
129
+ font-size: 11px;
130
+ color: #4F612E;
131
+ }
132
+ .bannerpromo A:visited{
133
+ font-family: Verdana;
134
+ font-size: 11px;
135
+ color: #4F612E;
136
+ }
@@ -0,0 +1,116 @@
1
+ var newpopup=null;
2
+
3
+
4
+ /* ###################################
5
+ File: /pimages/js/popup_open.js
6
+ Author: Matteo Andre'
7
+ Descr:
8
+ 6 parameters - For default this function get called from the body onLoad from /include/popup.asp
9
+ 1) url: Default URLs are defined in the variable popuptype (see /include/popup.asp). Any url can be also sent as a string.
10
+ 2) slinkprefix, always to be passed
11
+ 3) winname - #optional - pass a different name to open a different popup from main 'newpopup'
12
+ 4) width - #optional - default 250
13
+ 5) height - #optional - default 250
14
+ 6) type - #optional - default "fixed"
15
+ Examples to call this function:
16
+ 1) Default OpenPopup("<%'=popuptype%>","<%'=slinkprefix%>")
17
+ 2) Custom OpenPopup("popup.asp?","<%'=slinkprefix%>",'newpop', 350,350,'location')
18
+ To open a new popup from another popup use:
19
+ 3) <a href="http://www.barnesandnoble.com/popup_cds2.asp?PID=4726&<%'=slinkprefix%>" onClick="OpenPopup('http://www.barnesandnoble.com/popup_cds2.asp?PID=4726&','<%'=slinkprefix%>', 'any random name other than newpopup', 300, 400);window.close();return(true);">click here</a>
20
+ ###################################*/
21
+ function OpenPopup(url, slinkprefix, winname, width, height, type) {
22
+ if (slinkprefix.toLowerCase().indexOf('btob=') > -1) return (false);
23
+ if (winname==null) winname='newpopup';
24
+ if (width==null) width=250;
25
+ if (height==null) height=250;
26
+ if (type==null) type="fixed";
27
+ switch(url) {
28
+ case "":
29
+ return (false);
30
+ break;
31
+ case "getaway":
32
+ url="http://www.barnesandnoble.com/popup_cds2.asp?" + slinkprefix + "&PID=2961";
33
+ break;
34
+ case "book":
35
+ url="http://www.barnesandnoble.com/popup_cds2.asp?" + slinkprefix + "&PID=2961";
36
+ break;
37
+ case "search":
38
+ url="http://www.barnesandnoble.com/popup_cds2.asp?" + slinkprefix + "&PID=2962";
39
+ break;
40
+ case "music":
41
+ url="http://www.barnesandnoble.com/popup_cds2.asp?" + slinkprefix + "&PID=2963";
42
+ break;
43
+ case "video":
44
+ url="http://www.barnesandnoble.com/popup_cds2.asp?" + slinkprefix + "&PID=2964";
45
+ break;
46
+ case "newcustomer":
47
+ url="http://www.barnesandnoble.com/popup_cds2.asp?" + slinkprefix + "&PID=2987";
48
+ break;
49
+ default: url = url + slinkprefix;
50
+ }
51
+ var options="width="+ width +","+
52
+ "height="+ height;
53
+ switch(type) {
54
+ case "fixed":
55
+ options = options;
56
+ break;
57
+ case "resizable":
58
+ options= options +",resizable";
59
+ break;
60
+ case "toolbar":
61
+ options= options +",toolbar,menubar,scrollbars,resizable";
62
+ break;
63
+ case "scrollbars":
64
+ options= options +",scrollbars";
65
+ break;
66
+ case "location":
67
+ options= options +",toolbar,menubar,scrollbars,resizable,location";
68
+ break;
69
+ default: options = options;
70
+ }
71
+ newpopup = window.open(url, winname, options);
72
+ if (newpopup!=null) {
73
+ newpopup.focus();
74
+ }
75
+ return (true);
76
+ }
77
+
78
+ function openInParent(href) {
79
+
80
+ if (positionMain(href)){
81
+
82
+ window.open(href, "", "");
83
+
84
+ }
85
+ }
86
+
87
+ function positionMain(href) {
88
+ if ((window.opener != null) && (!window.opener.closed)) {
89
+ window.opener.location = href;
90
+ window.opener.focus();
91
+ window.close();
92
+ return false;
93
+ } else return true;
94
+ }
95
+
96
+
97
+ /* ##############################################
98
+ GS 12/2/04 added function for Flash/SWF popups
99
+ ############################################## */
100
+
101
+ function changeOpener(href) {
102
+ if ((window.opener != null) && (!window.opener.closed)) {
103
+ window.opener.location = href;
104
+ window.opener.focus();
105
+ } else {
106
+ window.open(href);
107
+ }
108
+ }
109
+
110
+ /* ##############################################
111
+ The addition of clearInput is to prevent an error from a missing function in store.asp
112
+ ############################################## */
113
+ function clearInput(form,name) {
114
+ form[name].value="";
115
+ return true;
116
+ }