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,576 @@
1
+ //-- Google Analytics Urchin Module
2
+ //-- Copyright 2005 Google, All Rights Reserved.
3
+
4
+ //-- Urchin On Demand Settings ONLY
5
+ var _uacct=""; // set up the Urchin Account
6
+ var _userv=1; // service mode (0=local,1=remote,2=both)
7
+
8
+ //-- UTM User Settings
9
+ var _ufsc=1; // set client info flag (1=on|0=off)
10
+ var _udn="auto"; // (auto|none|domain) set the domain name for cookies
11
+ var _uhash="on"; // (on|off) unique domain hash for cookies
12
+ var _utimeout="1800"; // set the inactive session timeout in seconds
13
+ var _ugifpath="/__utm.gif"; // set the web path to the __utm.gif file
14
+ var _utsp="|"; // transaction field separator
15
+ var _uflash=1; // set flash version detect option (1=on|0=off)
16
+ var _utitle=1; // set the document title detect option (1=on|0=off)
17
+ var _ulink=0; // enable linker functionality (1=on|0=off)
18
+ var _uanchor=0; // enable use of anchors for campaign (1=on|0=off)
19
+ var _utcp="/"; // the cookie path for tracking
20
+ var _usample=100; // The sampling % of visitors to track (1-100).
21
+
22
+ //-- UTM Campaign Tracking Settings
23
+ var _uctm=1; // set campaign tracking module (1=on|0=off)
24
+ var _ucto="15768000"; // set timeout in seconds (6 month default)
25
+ var _uccn="utm_campaign"; // name
26
+ var _ucmd="utm_medium"; // medium (cpc|cpm|link|email|organic)
27
+ var _ucsr="utm_source"; // source
28
+ var _uctr="utm_term"; // term/keyword
29
+ var _ucct="utm_content"; // content
30
+ var _ucid="utm_id"; // id number
31
+ var _ucno="utm_nooverride"; // don't override
32
+
33
+ //-- Auto/Organic Sources and Keywords
34
+ var _uOsr=new Array();
35
+ var _uOkw=new Array();
36
+ _uOsr[0]="google"; _uOkw[0]="q";
37
+ _uOsr[1]="yahoo"; _uOkw[1]="p";
38
+ _uOsr[2]="msn"; _uOkw[2]="q";
39
+ _uOsr[3]="aol"; _uOkw[3]="query";
40
+ _uOsr[4]="aol"; _uOkw[4]="encquery";
41
+ _uOsr[5]="lycos"; _uOkw[5]="query";
42
+ _uOsr[6]="ask"; _uOkw[6]="q";
43
+ _uOsr[7]="altavista"; _uOkw[7]="q";
44
+ _uOsr[8]="search"; _uOkw[8]="q";
45
+ _uOsr[9]="netscape"; _uOkw[9]="s";
46
+ _uOsr[10]="cnn"; _uOkw[10]="query";
47
+ _uOsr[11]="looksmart"; _uOkw[11]="qt";
48
+ _uOsr[12]="about"; _uOkw[12]="terms";
49
+ _uOsr[13]="mamma"; _uOkw[13]="query";
50
+ _uOsr[14]="alltheweb"; _uOkw[14]="q";
51
+ _uOsr[15]="gigablast"; _uOkw[15]="q";
52
+ _uOsr[16]="voila"; _uOkw[16]="kw";
53
+ _uOsr[17]="virgilio"; _uOkw[17]="qs";
54
+ _uOsr[18]="live"; _uOkw[18]="q";
55
+ _uOsr[19]="baidu"; _uOkw[19]="wd";
56
+ _uOsr[20]="alice"; _uOkw[20]="qs";
57
+ _uOsr[21]="seznam"; _uOkw[21]="w";
58
+ _uOsr[22]="yandex"; _uOkw[22]="text";
59
+ _uOsr[23]="najdi"; _uOkw[23]="q";
60
+
61
+ //-- Auto/Organic Keywords to Ignore
62
+ var _uOno=new Array();
63
+ //_uOno[0]="urchin";
64
+ //_uOno[1]="urchin.com";
65
+ //_uOno[2]="www.urchin.com";
66
+
67
+ //-- Referral domains to Ignore
68
+ var _uRno=new Array();
69
+ //_uRno[0]=".urchin.com";
70
+
71
+ //-- **** Don't modify below this point ***
72
+ var _uff,_udh,_udt,_ubl=0,_udo="",_uu,_ufns=0,_uns=0,_ur="-",_ufno=0,_ust=0,_ubd=document,_udl=_ubd.location,_udlh="",_uwv="1";
73
+ var _ugifpath2="http://www.google-analytics.com/__utm.gif";
74
+ if (_udl.hash) _udlh=_udl.href.substring(_udl.href.indexOf('#'));
75
+ if (_udl.protocol=="https:") _ugifpath2="https://ssl.google-analytics.com/__utm.gif";
76
+ if (!_utcp || _utcp=="") _utcp="/";
77
+ function urchinTracker(page) {
78
+ if (_udl.protocol=="file:") return;
79
+ if (_uff && (!page || page=="")) return;
80
+ var a,b,c,xx,v,z,k,x="",s="",f=0;
81
+ var nx=" expires=Sun, 18 Jan 2038 00:00:00 GMT;";
82
+ var dc=_ubd.cookie;
83
+ _udh=_uDomain();
84
+ if (!_uVG()) return;
85
+ _uu=Math.round(Math.random()*2147483647);
86
+ _udt=new Date();
87
+ _ust=Math.round(_udt.getTime()/1000);
88
+ a=dc.indexOf("__utma="+_udh);
89
+ b=dc.indexOf("__utmb="+_udh);
90
+ c=dc.indexOf("__utmc="+_udh);
91
+ if (_udn && _udn!="") { _udo=" domain="+_udn+";"; }
92
+ if (_utimeout && _utimeout!="") {
93
+ x=new Date(_udt.getTime()+(_utimeout*1000));
94
+ x=" expires="+x.toGMTString()+";";
95
+ }
96
+ if (_ulink) {
97
+ if (_uanchor && _udlh && _udlh!="") s=_udlh+"&";
98
+ s+=_udl.search;
99
+ if(s && s!="" && s.indexOf("__utma=")>=0) {
100
+ if (!(_uIN(a=_uGC(s,"__utma=","&")))) a="-";
101
+ if (!(_uIN(b=_uGC(s,"__utmb=","&")))) b="-";
102
+ if (!(_uIN(c=_uGC(s,"__utmc=","&")))) c="-";
103
+ v=_uGC(s,"__utmv=","&");
104
+ z=_uGC(s,"__utmz=","&");
105
+ k=_uGC(s,"__utmk=","&");
106
+ xx=_uGC(s,"__utmx=","&");
107
+ if ((k*1) != ((_uHash(a+b+c+xx+z+v)*1)+(_udh*1))) {_ubl=1;a="-";b="-";c="-";xx="-";z="-";v="-";}
108
+ if (a!="-" && b!="-" && c!="-") f=1;
109
+ else if(a!="-") f=2;
110
+ }
111
+ }
112
+ if(f==1) {
113
+ _ubd.cookie="__utma="+a+"; path="+_utcp+";"+nx+_udo;
114
+ _ubd.cookie="__utmb="+b+"; path="+_utcp+";"+x+_udo;
115
+ _ubd.cookie="__utmc="+c+"; path="+_utcp+";"+_udo;
116
+ } else if (f==2) {
117
+ a=_uFixA(s,"&",_ust);
118
+ _ubd.cookie="__utma="+a+"; path="+_utcp+";"+nx+_udo;
119
+ _ubd.cookie="__utmb="+_udh+"; path="+_utcp+";"+x+_udo;
120
+ _ubd.cookie="__utmc="+_udh+"; path="+_utcp+";"+_udo;
121
+ _ufns=1;
122
+ } else if (a>=0 && b>=0 && c>=0) {
123
+ _ubd.cookie="__utmb="+_udh+"; path="+_utcp+";"+x+_udo;
124
+ } else {
125
+ if (a>=0) a=_uFixA(_ubd.cookie,";",_ust);
126
+ else a=_udh+"."+_uu+"."+_ust+"."+_ust+"."+_ust+".1";
127
+ _ubd.cookie="__utma="+a+"; path="+_utcp+";"+nx+_udo;
128
+ _ubd.cookie="__utmb="+_udh+"; path="+_utcp+";"+x+_udo;
129
+ _ubd.cookie="__utmc="+_udh+"; path="+_utcp+";"+_udo;
130
+ _ufns=1;
131
+ }
132
+ if (_ulink && xx && xx!="" && xx!="-") {
133
+ xx=_uUES(xx);
134
+ if (xx.indexOf(";")==-1) _ubd.cookie="__utmx="+xx+"; path="+_utcp+";"+nx+_udo;
135
+ }
136
+ if (_ulink && v && v!="" && v!="-") {
137
+ v=_uUES(v);
138
+ if (v.indexOf(";")==-1) _ubd.cookie="__utmv="+v+"; path="+_utcp+";"+nx+_udo;
139
+ }
140
+ _uInfo(page);
141
+ _ufns=0;
142
+ _ufno=0;
143
+ _uff=1;
144
+ }
145
+ function _uInfo(page) {
146
+ var p,s="",dm="",pg=_udl.pathname+_udl.search;
147
+ if (page && page!="") pg=_uES(page,1);
148
+ _ur=_ubd.referrer;
149
+ if (!_ur || _ur=="") { _ur="-"; }
150
+ else {
151
+ dm=_ubd.domain;
152
+ if(_utcp && _utcp!="/") dm+=_utcp;
153
+ p=_ur.indexOf(dm);
154
+ if ((p>=0) && (p<=8)) { _ur="0"; }
155
+ if (_ur.indexOf("[")==0 && _ur.lastIndexOf("]")==(_ur.length-1)) { _ur="-"; }
156
+ }
157
+ s+="&utmn="+_uu;
158
+ if (_ufsc) s+=_uBInfo();
159
+ if (_uctm) s+=_uCInfo();
160
+ if (_utitle && _ubd.title && _ubd.title!="") s+="&utmdt="+_uES(_ubd.title);
161
+ if (_udl.hostname && _udl.hostname!="") s+="&utmhn="+_uES(_udl.hostname);
162
+ s+="&utmr="+_ur;
163
+ s+="&utmp="+pg;
164
+ if ((_userv==0 || _userv==2) && _uSP()) {
165
+ var i=new Image(1,1);
166
+ i.src=_ugifpath+"?"+"utmwv="+_uwv+s;
167
+ i.onload=function() {_uVoid();}
168
+ }
169
+ if ((_userv==1 || _userv==2) && _uSP()) {
170
+ var i2=new Image(1,1);
171
+ i2.src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+_uGCS();
172
+ i2.onload=function() { _uVoid(); }
173
+ }
174
+ return;
175
+ }
176
+ function _uVoid() { return; }
177
+ function _uCInfo() {
178
+ if (!_ucto || _ucto=="") { _ucto="15768000"; }
179
+ if (!_uVG()) return;
180
+ var c="",t="-",t2="-",t3="-",o=0,cs=0,cn=0,i=0,z="-",s="";
181
+ if (_uanchor && _udlh && _udlh!="") s=_udlh+"&";
182
+ s+=_udl.search;
183
+ var x=new Date(_udt.getTime()+(_ucto*1000));
184
+ var dc=_ubd.cookie;
185
+ x=" expires="+x.toGMTString()+";";
186
+ if (_ulink && !_ubl) {
187
+ z=_uUES(_uGC(s,"__utmz=","&"));
188
+ if (z!="-" && z.indexOf(";")==-1) { _ubd.cookie="__utmz="+z+"; path="+_utcp+";"+x+_udo; return ""; }
189
+ }
190
+ z=dc.indexOf("__utmz="+_udh);
191
+ if (z>-1) { z=_uGC(dc,"__utmz="+_udh,";"); }
192
+ else { z="-"; }
193
+ t=_uGC(s,_ucid+"=","&");
194
+ t2=_uGC(s,_ucsr+"=","&");
195
+ t3=_uGC(s,"gclid=","&");
196
+ if ((t!="-" && t!="") || (t2!="-" && t2!="") || (t3!="-" && t3!="")) {
197
+ if (t!="-" && t!="") c+="utmcid="+_uEC(t);
198
+ if (t2!="-" && t2!="") { if (c != "") c+="|"; c+="utmcsr="+_uEC(t2); }
199
+ if (t3!="-" && t3!="") { if (c != "") c+="|"; c+="utmgclid="+_uEC(t3); }
200
+ t=_uGC(s,_uccn+"=","&");
201
+ if (t!="-" && t!="") c+="|utmccn="+_uEC(t);
202
+ else c+="|utmccn=(not+set)";
203
+ t=_uGC(s,_ucmd+"=","&");
204
+ if (t!="-" && t!="") c+="|utmcmd="+_uEC(t);
205
+ else c+="|utmcmd=(not+set)";
206
+ t=_uGC(s,_uctr+"=","&");
207
+ if (t!="-" && t!="") c+="|utmctr="+_uEC(t);
208
+ else { t=_uOrg(1); if (t!="-" && t!="") c+="|utmctr="+_uEC(t); }
209
+ t=_uGC(s,_ucct+"=","&");
210
+ if (t!="-" && t!="") c+="|utmcct="+_uEC(t);
211
+ t=_uGC(s,_ucno+"=","&");
212
+ if (t=="1") o=1;
213
+ if (z!="-" && o==1) return "";
214
+ }
215
+ if (c=="-" || c=="") { c=_uOrg(); if (z!="-" && _ufno==1) return ""; }
216
+ if (c=="-" || c=="") { if (_ufns==1) c=_uRef(); if (z!="-" && _ufno==1) return ""; }
217
+ if (c=="-" || c=="") {
218
+ if (z=="-" && _ufns==1) { c="utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"; }
219
+ if (c=="-" || c=="") return "";
220
+ }
221
+ if (z!="-") {
222
+ i=z.indexOf(".");
223
+ if (i>-1) i=z.indexOf(".",i+1);
224
+ if (i>-1) i=z.indexOf(".",i+1);
225
+ if (i>-1) i=z.indexOf(".",i+1);
226
+ t=z.substring(i+1,z.length);
227
+ if (t.toLowerCase()==c.toLowerCase()) cs=1;
228
+ t=z.substring(0,i);
229
+ if ((i=t.lastIndexOf(".")) > -1) {
230
+ t=t.substring(i+1,t.length);
231
+ cn=(t*1);
232
+ }
233
+ }
234
+ if (cs==0 || _ufns==1) {
235
+ t=_uGC(dc,"__utma="+_udh,";");
236
+ if ((i=t.lastIndexOf(".")) > 9) {
237
+ _uns=t.substring(i+1,t.length);
238
+ _uns=(_uns*1);
239
+ }
240
+ cn++;
241
+ if (_uns==0) _uns=1;
242
+ _ubd.cookie="__utmz="+_udh+"."+_ust+"."+_uns+"."+cn+"."+c+"; path="+_utcp+"; "+x+_udo;
243
+ }
244
+ if (cs==0 || _ufns==1) return "&utmcn=1";
245
+ else return "&utmcr=1";
246
+ }
247
+ function _uRef() {
248
+ if (_ur=="0" || _ur=="" || _ur=="-") return "";
249
+ var i=0,h,k,n;
250
+ if ((i=_ur.indexOf("://"))<0) return "";
251
+ h=_ur.substring(i+3,_ur.length);
252
+ if (h.indexOf("/") > -1) {
253
+ k=h.substring(h.indexOf("/"),h.length);
254
+ if (k.indexOf("?") > -1) k=k.substring(0,k.indexOf("?"));
255
+ h=h.substring(0,h.indexOf("/"));
256
+ }
257
+ h=h.toLowerCase();
258
+ n=h;
259
+ if ((i=n.indexOf(":")) > -1) n=n.substring(0,i);
260
+ for (var ii=0;ii<_uRno.length;ii++) {
261
+ if ((i=n.indexOf(_uRno[ii].toLowerCase())) > -1 && n.length==(i+_uRno[ii].length)) { _ufno=1; break; }
262
+ }
263
+ if (h.indexOf("www.")==0) h=h.substring(4,h.length);
264
+ return "utmccn=(referral)|utmcsr="+_uEC(h)+"|"+"utmcct="+_uEC(k)+"|utmcmd=referral";
265
+ }
266
+ function _uOrg(t) {
267
+ if (_ur=="0" || _ur=="" || _ur=="-") return "";
268
+ var i=0,h,k;
269
+ if ((i=_ur.indexOf("://")) < 0) return "";
270
+ h=_ur.substring(i+3,_ur.length);
271
+ if (h.indexOf("/") > -1) {
272
+ h=h.substring(0,h.indexOf("/"));
273
+ }
274
+ for (var ii=0;ii<_uOsr.length;ii++) {
275
+ if (h.toLowerCase().indexOf(_uOsr[ii].toLowerCase()) > -1) {
276
+ if ((i=_ur.indexOf("?"+_uOkw[ii]+"=")) > -1 || (i=_ur.indexOf("&"+_uOkw[ii]+"=")) > -1) {
277
+ k=_ur.substring(i+_uOkw[ii].length+2,_ur.length);
278
+ if ((i=k.indexOf("&")) > -1) k=k.substring(0,i);
279
+ for (var yy=0;yy<_uOno.length;yy++) {
280
+ if (_uOno[yy].toLowerCase()==k.toLowerCase()) { _ufno=1; break; }
281
+ }
282
+ if (t) return _uEC(k);
283
+ else return "utmccn=(organic)|utmcsr="+_uEC(_uOsr[ii])+"|"+"utmctr="+_uEC(k)+"|utmcmd=organic";
284
+ }
285
+ }
286
+ }
287
+ return "";
288
+ }
289
+ function _uBInfo() {
290
+ var sr="-",sc="-",ul="-",fl="-",cs="-",je=1;
291
+ var n=navigator;
292
+ if (self.screen) {
293
+ sr=screen.width+"x"+screen.height;
294
+ sc=screen.colorDepth+"-bit";
295
+ } else if (self.java) {
296
+ var j=java.awt.Toolkit.getDefaultToolkit();
297
+ var s=j.getScreenSize();
298
+ sr=s.width+"x"+s.height;
299
+ }
300
+ if (n.language) { ul=n.language.toLowerCase(); }
301
+ else if (n.browserLanguage) { ul=n.browserLanguage.toLowerCase(); }
302
+ je=n.javaEnabled()?1:0;
303
+ if (_uflash) fl=_uFlash();
304
+ if (_ubd.characterSet) cs=_uES(_ubd.characterSet);
305
+ else if (_ubd.charset) cs=_uES(_ubd.charset);
306
+ return "&utmcs="+cs+"&utmsr="+sr+"&utmsc="+sc+"&utmul="+ul+"&utmje="+je+"&utmfl="+fl;
307
+ }
308
+ function __utmSetTrans() {
309
+ var e;
310
+ if (_ubd.getElementById) e=_ubd.getElementById("utmtrans");
311
+ else if (_ubd.utmform && _ubd.utmform.utmtrans) e=_ubd.utmform.utmtrans;
312
+ if (!e) return;
313
+ var l=e.value.split("UTM:");
314
+ var i,i2,c;
315
+ if (_userv==0 || _userv==2) i=new Array();
316
+ if (_userv==1 || _userv==2) { i2=new Array(); c=_uGCS(); }
317
+
318
+ for (var ii=0;ii<l.length;ii++) {
319
+ l[ii]=_uTrim(l[ii]);
320
+ if (l[ii].charAt(0)!='T' && l[ii].charAt(0)!='I') continue;
321
+ var r=Math.round(Math.random()*2147483647);
322
+ if (!_utsp || _utsp=="") _utsp="|";
323
+ var f=l[ii].split(_utsp),s="";
324
+ if (f[0].charAt(0)=='T') {
325
+ s="&utmt=tran"+"&utmn="+r;
326
+ f[1]=_uTrim(f[1]); if(f[1]&&f[1]!="") s+="&utmtid="+_uES(f[1]);
327
+ f[2]=_uTrim(f[2]); if(f[2]&&f[2]!="") s+="&utmtst="+_uES(f[2]);
328
+ f[3]=_uTrim(f[3]); if(f[3]&&f[3]!="") s+="&utmtto="+_uES(f[3]);
329
+ f[4]=_uTrim(f[4]); if(f[4]&&f[4]!="") s+="&utmttx="+_uES(f[4]);
330
+ f[5]=_uTrim(f[5]); if(f[5]&&f[5]!="") s+="&utmtsp="+_uES(f[5]);
331
+ f[6]=_uTrim(f[6]); if(f[6]&&f[6]!="") s+="&utmtci="+_uES(f[6]);
332
+ f[7]=_uTrim(f[7]); if(f[7]&&f[7]!="") s+="&utmtrg="+_uES(f[7]);
333
+ f[8]=_uTrim(f[8]); if(f[8]&&f[8]!="") s+="&utmtco="+_uES(f[8]);
334
+ } else {
335
+ s="&utmt=item"+"&utmn="+r;
336
+ f[1]=_uTrim(f[1]); if(f[1]&&f[1]!="") s+="&utmtid="+_uES(f[1]);
337
+ f[2]=_uTrim(f[2]); if(f[2]&&f[2]!="") s+="&utmipc="+_uES(f[2]);
338
+ f[3]=_uTrim(f[3]); if(f[3]&&f[3]!="") s+="&utmipn="+_uES(f[3]);
339
+ f[4]=_uTrim(f[4]); if(f[4]&&f[4]!="") s+="&utmiva="+_uES(f[4]);
340
+ f[5]=_uTrim(f[5]); if(f[5]&&f[5]!="") s+="&utmipr="+_uES(f[5]);
341
+ f[6]=_uTrim(f[6]); if(f[6]&&f[6]!="") s+="&utmiqt="+_uES(f[6]);
342
+ }
343
+ if ((_userv==0 || _userv==2) && _uSP()) {
344
+ i[ii]=new Image(1,1);
345
+ i[ii].src=_ugifpath+"?"+"utmwv="+_uwv+s;
346
+ i[ii].onload=function() { _uVoid(); }
347
+ }
348
+ if ((_userv==1 || _userv==2) && _uSP()) {
349
+ i2[ii]=new Image(1,1);
350
+ i2[ii].src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+c;
351
+ i2[ii].onload=function() { _uVoid(); }
352
+ }
353
+ }
354
+ return;
355
+ }
356
+ function _uFlash() {
357
+ var f="-",n=navigator;
358
+ if (n.plugins && n.plugins.length) {
359
+ for (var ii=0;ii<n.plugins.length;ii++) {
360
+ if (n.plugins[ii].name.indexOf('Shockwave Flash')!=-1) {
361
+ f=n.plugins[ii].description.split('Shockwave Flash ')[1];
362
+ break;
363
+ }
364
+ }
365
+ } else if (window.ActiveXObject) {
366
+ for (var ii=10;ii>=2;ii--) {
367
+ try {
368
+ var fl=eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash."+ii+"');");
369
+ if (fl) { f=ii + '.0'; break; }
370
+ }
371
+ catch(e) {}
372
+ }
373
+ }
374
+ return f;
375
+ }
376
+ function __utmLinker(l,h) {
377
+ if (!_ulink) return;
378
+ var p,k,a="-",b="-",c="-",x="-",z="-",v="-";
379
+ var dc=_ubd.cookie;
380
+ if (!l || l=="") return;
381
+ var iq = l.indexOf("?");
382
+ var ih = l.indexOf("#");
383
+ if (dc) {
384
+ a=_uES(_uGC(dc,"__utma="+_udh,";"));
385
+ b=_uES(_uGC(dc,"__utmb="+_udh,";"));
386
+ c=_uES(_uGC(dc,"__utmc="+_udh,";"));
387
+ x=_uES(_uGC(dc,"__utmx="+_udh,";"));
388
+ z=_uES(_uGC(dc,"__utmz="+_udh,";"));
389
+ v=_uES(_uGC(dc,"__utmv="+_udh,";"));
390
+ k=(_uHash(a+b+c+x+z+v)*1)+(_udh*1);
391
+ p="__utma="+a+"&__utmb="+b+"&__utmc="+c+"&__utmx="+x+"&__utmz="+z+"&__utmv="+v+"&__utmk="+k;
392
+ }
393
+ if (p) {
394
+ if (h && ih>-1) return;
395
+ if (h) { _udl.href=l+"#"+p; }
396
+ else {
397
+ if (iq==-1 && ih==-1) _udl.href=l+"?"+p;
398
+ else if (ih==-1) _udl.href=l+"&"+p;
399
+ else if (iq==-1) _udl.href=l.substring(0,ih-1)+"?"+p+l.substring(ih);
400
+ else _udl.href=l.substring(0,ih-1)+"&"+p+l.substring(ih);
401
+ }
402
+ } else { _udl.href=l; }
403
+ }
404
+ function __utmLinkPost(f,h) {
405
+ if (!_ulink) return;
406
+ var p,k,a="-",b="-",c="-",x="-",z="-",v="-";
407
+ var dc=_ubd.cookie;
408
+ if (!f || !f.action) return;
409
+ var iq = f.action.indexOf("?");
410
+ var ih = f.action.indexOf("#");
411
+ if (dc) {
412
+ a=_uES(_uGC(dc,"__utma="+_udh,";"));
413
+ b=_uES(_uGC(dc,"__utmb="+_udh,";"));
414
+ c=_uES(_uGC(dc,"__utmc="+_udh,";"));
415
+ x=_uES(_uGC(dc,"__utmx="+_udh,";"));
416
+ z=_uES(_uGC(dc,"__utmz="+_udh,";"));
417
+ v=_uES(_uGC(dc,"__utmv="+_udh,";"));
418
+ k=(_uHash(a+b+c+x+z+v)*1)+(_udh*1);
419
+ p="__utma="+a+"&__utmb="+b+"&__utmc="+c+"&__utmx="+x+"&__utmz="+z+"&__utmv="+v+"&__utmk="+k;
420
+ }
421
+ if (p) {
422
+ if (h && ih>-1) return;
423
+ if (h) { f.action+="#"+p; }
424
+ else {
425
+ if (iq==-1 && ih==-1) f.action+="?"+p;
426
+ else if (ih==-1) f.action+="&"+p;
427
+ else if (iq==-1) f.action=f.action.substring(0,ih-1)+"?"+p+f.action.substring(ih);
428
+ else f.action=f.action.substring(0,ih-1)+"&"+p+f.action.substring(ih);
429
+ }
430
+ }
431
+ return;
432
+ }
433
+ function __utmSetVar(v) {
434
+ if (!v || v=="") return;
435
+ if (!_udo || _udo == "") {
436
+ _udh=_uDomain();
437
+ if (_udn && _udn!="") { _udo=" domain="+_udn+";"; }
438
+ }
439
+ if (!_uVG()) return;
440
+ var r=Math.round(Math.random() * 2147483647);
441
+ _ubd.cookie="__utmv="+_udh+"."+_uES(v)+"; path="+_utcp+"; expires=Sun, 18 Jan 2038 00:00:00 GMT;"+_udo;
442
+ var s="&utmt=var&utmn="+r;
443
+ if ((_userv==0 || _userv==2) && _uSP()) {
444
+ var i=new Image(1,1);
445
+ i.src=_ugifpath+"?"+"utmwv="+_uwv+s;
446
+ i.onload=function() { _uVoid(); }
447
+ }
448
+ if ((_userv==1 || _userv==2) && _uSP()) {
449
+ var i2=new Image(1,1);
450
+ i2.src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+_uGCS();
451
+ i2.onload=function() { _uVoid(); }
452
+ }
453
+ }
454
+ function _uGCS() {
455
+ var t,c="",dc=_ubd.cookie;
456
+ if ((t=_uGC(dc,"__utma="+_udh,";"))!="-") c+=_uES("__utma="+t+";+");
457
+ if ((t=_uGC(dc,"__utmb="+_udh,";"))!="-") c+=_uES("__utmb="+t+";+");
458
+ if ((t=_uGC(dc,"__utmc="+_udh,";"))!="-") c+=_uES("__utmc="+t+";+");
459
+ if ((t=_uGC(dc,"__utmx="+_udh,";"))!="-") c+=_uES("__utmx="+t+";+");
460
+ if ((t=_uGC(dc,"__utmz="+_udh,";"))!="-") c+=_uES("__utmz="+t+";+");
461
+ if ((t=_uGC(dc,"__utmv="+_udh,";"))!="-") c+=_uES("__utmv="+t+";");
462
+ if (c.charAt(c.length-1)=="+") c=c.substring(0,c.length-1);
463
+ return c;
464
+ }
465
+ function _uGC(l,n,s) {
466
+ if (!l || l=="" || !n || n=="" || !s || s=="") return "-";
467
+ var i,i2,i3,c="-";
468
+ i=l.indexOf(n);
469
+ i3=n.indexOf("=")+1;
470
+ if (i > -1) {
471
+ i2=l.indexOf(s,i); if (i2 < 0) { i2=l.length; }
472
+ c=l.substring((i+i3),i2);
473
+ }
474
+ return c;
475
+ }
476
+ function _uDomain() {
477
+ if (!_udn || _udn=="" || _udn=="none") { _udn=""; return 1; }
478
+ if (_udn=="auto") {
479
+ var d=_ubd.domain;
480
+ if (d.substring(0,4)=="www.") {
481
+ d=d.substring(4,d.length);
482
+ }
483
+ _udn=d;
484
+ }
485
+ if (_uhash=="off") return 1;
486
+ return _uHash(_udn);
487
+ }
488
+ function _uHash(d) {
489
+ if (!d || d=="") return 1;
490
+ var h=0,g=0;
491
+ for (var i=d.length-1;i>=0;i--) {
492
+ var c=parseInt(d.charCodeAt(i));
493
+ h=((h << 6) & 0xfffffff) + c + (c << 14);
494
+ if ((g=h & 0xfe00000)!=0) h=(h ^ (g >> 21));
495
+ }
496
+ return h;
497
+ }
498
+ function _uFixA(c,s,t) {
499
+ if (!c || c=="" || !s || s=="" || !t || t=="") return "-";
500
+ var a=_uGC(c,"__utma="+_udh,s);
501
+ var lt=0,i=0;
502
+ if ((i=a.lastIndexOf(".")) > 9) {
503
+ _uns=a.substring(i+1,a.length);
504
+ _uns=(_uns*1)+1;
505
+ a=a.substring(0,i);
506
+ if ((i=a.lastIndexOf(".")) > 7) {
507
+ lt=a.substring(i+1,a.length);
508
+ a=a.substring(0,i);
509
+ }
510
+ if ((i=a.lastIndexOf(".")) > 5) {
511
+ a=a.substring(0,i);
512
+ }
513
+ a+="."+lt+"."+t+"."+_uns;
514
+ }
515
+ return a;
516
+ }
517
+ function _uTrim(s) {
518
+ if (!s || s=="") return "";
519
+ while ((s.charAt(0)==' ') || (s.charAt(0)=='\n') || (s.charAt(0,1)=='\r')) s=s.substring(1,s.length);
520
+ while ((s.charAt(s.length-1)==' ') || (s.charAt(s.length-1)=='\n') || (s.charAt(s.length-1)=='\r')) s=s.substring(0,s.length-1);
521
+ return s;
522
+ }
523
+ function _uEC(s) {
524
+ var n="";
525
+ if (!s || s=="") return "";
526
+ for (var i=0;i<s.length;i++) {if (s.charAt(i)==" ") n+="+"; else n+=s.charAt(i);}
527
+ return n;
528
+ }
529
+ function __utmVisitorCode(f) {
530
+ var r=0,t=0,i=0,i2=0,m=31;
531
+ var a=_uGC(_ubd.cookie,"__utma="+_udh,";");
532
+ if ((i=a.indexOf(".",0))<0) return;
533
+ if ((i2=a.indexOf(".",i+1))>0) r=a.substring(i+1,i2); else return "";
534
+ if ((i=a.indexOf(".",i2+1))>0) t=a.substring(i2+1,i); else return "";
535
+ if (f) {
536
+ return r;
537
+ } else {
538
+ var c=new Array('A','B','C','D','E','F','G','H','J','K','L','M','N','P','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9');
539
+ return c[r>>28&m]+c[r>>23&m]+c[r>>18&m]+c[r>>13&m]+"-"+c[r>>8&m]+c[r>>3&m]+c[((r&7)<<2)+(t>>30&3)]+c[t>>25&m]+c[t>>20&m]+"-"+c[t>>15&m]+c[t>>10&m]+c[t>>5&m]+c[t&m];
540
+ }
541
+ }
542
+ function _uIN(n) {
543
+ if (!n) return false;
544
+ for (var i=0;i<n.length;i++) {
545
+ var c=n.charAt(i);
546
+ if ((c<"0" || c>"9") && (c!=".")) return false;
547
+ }
548
+ return true;
549
+ }
550
+ function _uES(s,u) {
551
+ if (typeof(encodeURIComponent) == 'function') {
552
+ if (u) return encodeURI(s);
553
+ else return encodeURIComponent(s);
554
+ } else {
555
+ return escape(s);
556
+ }
557
+ }
558
+ function _uUES(s) {
559
+ if (typeof(decodeURIComponent) == 'function') {
560
+ return decodeURIComponent(s);
561
+ } else {
562
+ return unescape(s);
563
+ }
564
+ }
565
+ function _uVG() {
566
+ if((_udn.indexOf("www.google.") == 0 || _udn.indexOf(".google.") == 0 || _udn.indexOf("google.") == 0) && _utcp=='/') {
567
+ return false;
568
+ }
569
+ return true;
570
+ }
571
+ function _uSP() {
572
+ var s=100;
573
+ if (_usample) s=_usample;
574
+ if(s>=100 || s<=0) return true;
575
+ return ((__utmVisitorCode(1)%10000)<(s*100));
576
+ }
@@ -0,0 +1,30 @@
1
+ $:.unshift File.join(File.dirname(__FILE__), '../../..//lib')
2
+
3
+ require 'scrubyt'
4
+
5
+ #Example of:
6
+ # - Barnes and Noble book extraction scenario
7
+ # I did this example instead of amazon, because that's not
8
+ # correctly parsable with the current version (0.5) of Hpricot
9
+ #
10
+ #Goal: For every book, extract it's name and it's price.
11
+ # Since some books's prices are at a different XPath,
12
+ # need to define two examples to capture every possibility.
13
+ #
14
+ #Solution: Simple Extractor with a 'book' pattern which has 'title' and 'price'
15
+ # child patterns, with multiple examples.
16
+ # Crawling is also involved - all the records are wrapped this way!
17
+
18
+
19
+ b_and_n_data = Scrubyt::Extractor.define do
20
+ fetch File.join(File.dirname(__FILE__), "_finewines.html")
21
+
22
+ record do
23
+ wine_name 'LE CLOS JORDANNE LE CLOS JORDANNE VINEYARD CHARDONNAY 2004', 'CAVE SPRING GAMAY RESERVE 2004', 'CLOS PEGASE MITSUKOS VINEYARD CHARDONNAY 2005'
24
+ price '$35', '$19.95', '$32.95'
25
+ end.ensure_presence_of_pattern('price')
26
+ end
27
+
28
+ b_and_n_data.to_xml.write($stdout, 1)
29
+ Scrubyt::ResultDumper.print_statistics(b_and_n_data)
30
+ b_and_n_data.export(__FILE__)