pstuteville-scrubyt 0.4.31 → 0.5.0

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 (462) hide show
  1. data/Rakefile +23 -23
  2. data/VERSION +1 -1
  3. metadata +20 -500
  4. data/examples/README.txt +0 -1
  5. data/examples/events/delta/input.html +0 -682
  6. data/examples/events/delta/test.rb +0 -16
  7. data/examples/misc/auto_regex/input.html +0 -22
  8. data/examples/misc/auto_regex/test.rb +0 -14
  9. data/examples/misc/compound_example/advanced/test.rb +0 -11
  10. data/examples/misc/compound_example/advanced/tricky_compound.html +0 -9
  11. data/examples/misc/compound_example/regexp/regexp_compound.html +0 -17
  12. data/examples/misc/compound_example/regexp/test.rb +0 -11
  13. data/examples/misc/compound_example/simple/compound.html +0 -5
  14. data/examples/misc/compound_example/simple/test.rb +0 -11
  15. data/examples/misc/detail_page/detailpage.html +0 -6
  16. data/examples/misc/detail_page/index.html +0 -9
  17. data/examples/misc/detail_page/test.rb +0 -17
  18. data/examples/misc/google/test.rb +0 -39
  19. data/examples/misc/identical_examples/data_extractor_export.rb +0 -12
  20. data/examples/misc/identical_examples/input.html +0 -16
  21. data/examples/misc/identical_examples/test.rb +0 -15
  22. data/examples/misc/immediate_attribute_extraction/data_extractor_export.rb +0 -10
  23. data/examples/misc/immediate_attribute_extraction/input.html +0 -16
  24. data/examples/misc/immediate_attribute_extraction/test.rb +0 -14
  25. data/examples/misc/multiple_examples/input.html +0 -7
  26. data/examples/misc/multiple_examples/test.rb +0 -22
  27. data/examples/misc/on_click_next/next_page_link.rb +0 -42
  28. data/examples/misc/on_click_next/page_1.html +0 -10
  29. data/examples/misc/on_click_next/page_2.html +0 -10
  30. data/examples/misc/on_click_next/page_3.html +0 -7
  31. data/examples/misc/rubycorner/test.rb +0 -29
  32. data/examples/misc/rubyforge_login/test.rb +0 -30
  33. data/examples/misc/tables/ambigous_records/input.html +0 -17
  34. data/examples/misc/tables/ambigous_records/test.rb +0 -37
  35. data/examples/misc/tables/another_plain_table/input.html +0 -15
  36. data/examples/misc/tables/another_plain_table/test.rb +0 -25
  37. data/examples/misc/tables/complex_table/input.html +0 -45
  38. data/examples/misc/tables/complex_table/test.rb +0 -30
  39. data/examples/misc/tables/grab_rows/input.html +0 -20
  40. data/examples/misc/tables/grab_rows/test.rb +0 -30
  41. data/examples/misc/tables/plain_table/input.html +0 -39
  42. data/examples/misc/tables/plain_table/test.rb +0 -35
  43. data/examples/misc/tables/plain_table_morepages/2.html +0 -38
  44. data/examples/misc/tables/plain_table_morepages/3.html +0 -33
  45. data/examples/misc/tables/plain_table_morepages/input.html +0 -40
  46. data/examples/misc/tables/plain_table_morepages/test.rb +0 -32
  47. data/examples/misc/tables/plain_table_morepages_with_image/2.html +0 -40
  48. data/examples/misc/tables/plain_table_morepages_with_image/3.html +0 -33
  49. data/examples/misc/tables/plain_table_morepages_with_image/images/right_arrow.png +0 -0
  50. data/examples/misc/tables/plain_table_morepages_with_image/input.html +0 -42
  51. data/examples/misc/tables/plain_table_morepages_with_image/test.rb +0 -32
  52. data/examples/misc/tables/test_select_indices/input.html +0 -46
  53. data/examples/misc/tables/test_select_indices/test.rb +0 -55
  54. data/examples/misc/xpath_example_type/input.html +0 -15
  55. data/examples/misc/xpath_example_type/test.rb +0 -18
  56. data/examples/misc/yahoo_finance/test.rb +0 -26
  57. data/examples/social/blog_comment/test.rb +0 -27
  58. data/examples/social/del.icio.us/test.rb +0 -22
  59. data/examples/social/digg/test.rb +0 -37
  60. data/examples/social/dzone/test.rb +0 -28
  61. data/examples/social/linkedin/linkedin.rb +0 -23
  62. data/examples/social/reddit/test.rb +0 -23
  63. data/examples/tones_extractor_export.rb +0 -23
  64. data/examples/webshops/amazon-online/test.rb +0 -34
  65. data/examples/webshops/amazon/002-8212888-3924065.html +0 -5311
  66. data/examples/webshops/amazon/002-8212888-3924065_files/0130796034.jpg +0 -0
  67. data/examples/webshops/amazon/002-8212888-3924065_files/020161622X.jpg +0 -0
  68. data/examples/webshops/amazon/002-8212888-3924065_files/0321223675.jpg +0 -0
  69. data/examples/webshops/amazon/002-8212888-3924065_files/0465067107.jpg +0 -0
  70. data/examples/webshops/amazon/002-8212888-3924065_files/0470069155.jpg +0 -0
  71. data/examples/webshops/amazon/002-8212888-3924065_files/0470081201.jpg +0 -0
  72. data/examples/webshops/amazon/002-8212888-3924065_files/0596005253.jpg +0 -0
  73. data/examples/webshops/amazon/002-8212888-3924065_files/0596101325.jpg +0 -0
  74. data/examples/webshops/amazon/002-8212888-3924065_files/0596523696.jpg +0 -0
  75. data/examples/webshops/amazon/002-8212888-3924065_files/0672328844.jpg +0 -0
  76. data/examples/webshops/amazon/002-8212888-3924065_files/0764596861.jpg +0 -0
  77. data/examples/webshops/amazon/002-8212888-3924065_files/0974514055.jpg +0 -0
  78. data/examples/webshops/amazon/002-8212888-3924065_files/0976694069.jpg +0 -0
  79. data/examples/webshops/amazon/002-8212888-3924065_files/0977616606.jpg +0 -0
  80. data/examples/webshops/amazon/002-8212888-3924065_files/0977616614.jpg +0 -0
  81. data/examples/webshops/amazon/002-8212888-3924065_files/0977616630.jpg +0 -0
  82. data/examples/webshops/amazon/002-8212888-3924065_files/1590597362.jpg +0 -0
  83. data/examples/webshops/amazon/002-8212888-3924065_files/1594480060.jpg +0 -0
  84. data/examples/webshops/amazon/002-8212888-3924065_files/1932394699.jpg +0 -0
  85. data/examples/webshops/amazon/002-8212888-3924065_files/2841772101.jpg +0 -0
  86. data/examples/webshops/amazon/002-8212888-3924065_files/amzn-logo-118w.gif +0 -0
  87. data/examples/webshops/amazon/002-8212888-3924065_files/askville-adwidget-bullet.gif +0 -0
  88. data/examples/webshops/amazon/002-8212888-3924065_files/askville-logo-sm-adwidget-white-bg.gif +0 -0
  89. data/examples/webshops/amazon/002-8212888-3924065_files/book_display_on_website-icon.gif +0 -0
  90. data/examples/webshops/amazon/002-8212888-3924065_files/btn-inactive-no-ns.gif +0 -0
  91. data/examples/webshops/amazon/002-8212888-3924065_files/btn-inactive-no.gif +0 -0
  92. data/examples/webshops/amazon/002-8212888-3924065_files/btn-inactive-yes-ns.gif +0 -0
  93. data/examples/webshops/amazon/002-8212888-3924065_files/btn-inactive-yes.gif +0 -0
  94. data/examples/webshops/amazon/002-8212888-3924065_files/btn-no-tiny.gif +0 -0
  95. data/examples/webshops/amazon/002-8212888-3924065_files/btn-yes-tiny.gif +0 -0
  96. data/examples/webshops/amazon/002-8212888-3924065_files/buybox-button-find-gifts-a.gif +0 -0
  97. data/examples/webshops/amazon/002-8212888-3924065_files/c7y_badge_rn_1.gif +0 -0
  98. data/examples/webshops/amazon/002-8212888-3924065_files/cap-a9-3.gif +0 -0
  99. data/examples/webshops/amazon/002-8212888-3924065_files/drop-down-icon-small-arrow.gif +0 -0
  100. data/examples/webshops/amazon/002-8212888-3924065_files/endcap-a9-go-2.gif +0 -0
  101. data/examples/webshops/amazon/002-8212888-3924065_files/gb-open-new.gif +0 -0
  102. data/examples/webshops/amazon/002-8212888-3924065_files/gc-logo-popover-a.gif +0 -0
  103. data/examples/webshops/amazon/002-8212888-3924065_files/gift-cert-roto-pop-a.gif +0 -0
  104. data/examples/webshops/amazon/002-8212888-3924065_files/go-button-books.gif +0 -0
  105. data/examples/webshops/amazon/002-8212888-3924065_files/go-button.gif +0 -0
  106. data/examples/webshops/amazon/002-8212888-3924065_files/go-orange-trans.gif +0 -0
  107. data/examples/webshops/amazon/002-8212888-3924065_files/go_button_photo.gif +0 -0
  108. data/examples/webshops/amazon/002-8212888-3924065_files/logo-off.gif +0 -0
  109. data/examples/webshops/amazon/002-8212888-3924065_files/n2CoreLibs-events-18134.js +0 -1407
  110. data/examples/webshops/amazon/002-8212888-3924065_files/n2CoreLibs-n2v1-57871.css +0 -364
  111. data/examples/webshops/amazon/002-8212888-3924065_files/n2CoreLibs-simplePopover-41153.js +0 -749
  112. data/examples/webshops/amazon/002-8212888-3924065_files/n2CoreLibs-utilities-25439.js +0 -1608
  113. data/examples/webshops/amazon/002-8212888-3924065_files/orange-arrow.gif +0 -0
  114. data/examples/webshops/amazon/002-8212888-3924065_files/orange-arrow_002.gif +0 -0
  115. data/examples/webshops/amazon/002-8212888-3924065_files/popover-blurb.gif +0 -0
  116. data/examples/webshops/amazon/002-8212888-3924065_files/powered-by-a9.gif +0 -0
  117. data/examples/webshops/amazon/002-8212888-3924065_files/stars-3-5.gif +0 -0
  118. data/examples/webshops/amazon/002-8212888-3924065_files/stars-4-0.gif +0 -0
  119. data/examples/webshops/amazon/002-8212888-3924065_files/stars-4-5.gif +0 -0
  120. data/examples/webshops/amazon/002-8212888-3924065_files/stars-5-0.gif +0 -0
  121. data/examples/webshops/amazon/002-8212888-3924065_files/tagline-adwidget.gif +0 -0
  122. data/examples/webshops/amazon/002-8212888-3924065_files/topnav-cart.gif +0 -0
  123. data/examples/webshops/amazon/002-8212888-3924065_files/transparent-pixel.gif +0 -0
  124. data/examples/webshops/amazon/002-8212888-3924065_files/transparent-pixel_002.gif +0 -0
  125. data/examples/webshops/amazon/test.rb +0 -27
  126. data/examples/webshops/barnes_and_noble/test.rb +0 -32
  127. data/examples/webshops/barnes_offline/barnes_and_noble.html +0 -115
  128. data/examples/webshops/barnes_offline/barnes_and_noble_files/10964080.gif +0 -0
  129. data/examples/webshops/barnes_offline/barnes_and_noble_files/10999676.gif +0 -0
  130. data/examples/webshops/barnes_offline/barnes_and_noble_files/11018492.gif +0 -0
  131. data/examples/webshops/barnes_offline/barnes_and_noble_files/11656534.gif +0 -0
  132. data/examples/webshops/barnes_offline/barnes_and_noble_files/11985045.gif +0 -0
  133. data/examples/webshops/barnes_offline/barnes_and_noble_files/12052378.gif +0 -0
  134. data/examples/webshops/barnes_offline/barnes_and_noble_files/12138286.gif +0 -0
  135. data/examples/webshops/barnes_offline/barnes_and_noble_files/12533212.gif +0 -0
  136. data/examples/webshops/barnes_offline/barnes_and_noble_files/12533268.gif +0 -0
  137. data/examples/webshops/barnes_offline/barnes_and_noble_files/9583392.gif +0 -0
  138. data/examples/webshops/barnes_offline/barnes_and_noble_files/SearchProduct.css +0 -626
  139. data/examples/webshops/barnes_offline/barnes_and_noble_files/admin3_gtpointup.gif +0 -0
  140. data/examples/webshops/barnes_offline/barnes_and_noble_files/admin_aboutshipping.gif +0 -0
  141. data/examples/webshops/barnes_offline/barnes_and_noble_files/admin_account.gif +0 -0
  142. data/examples/webshops/barnes_offline/barnes_and_noble_files/admin_colon.gif +0 -0
  143. data/examples/webshops/barnes_offline/barnes_and_noble_files/admin_giftreminder.gif +0 -0
  144. data/examples/webshops/barnes_offline/barnes_and_noble_files/admin_help.gif +0 -0
  145. data/examples/webshops/barnes_offline/barnes_and_noble_files/admin_orderstatus.gif +0 -0
  146. data/examples/webshops/barnes_offline/barnes_and_noble_files/admin_wishlist.gif +0 -0
  147. data/examples/webshops/barnes_offline/barnes_and_noble_files/bg.gif +0 -0
  148. data/examples/webshops/barnes_offline/barnes_and_noble_files/btnGoGrn.gif +0 -0
  149. data/examples/webshops/barnes_offline/barnes_and_noble_files/cleardot.gif +0 -0
  150. data/examples/webshops/barnes_offline/barnes_and_noble_files/cleardot_002.gif +0 -0
  151. data/examples/webshops/barnes_offline/barnes_and_noble_files/dot4.gif +0 -0
  152. data/examples/webshops/barnes_offline/barnes_and_noble_files/dotGold20.gif +0 -0
  153. data/examples/webshops/barnes_offline/barnes_and_noble_files/hdCantFind.gif +0 -0
  154. data/examples/webshops/barnes_offline/barnes_and_noble_files/hdSearchResults.gif +0 -0
  155. data/examples/webshops/barnes_offline/barnes_and_noble_files/hgg_tab_home_cold.gif +0 -0
  156. data/examples/webshops/barnes_offline/barnes_and_noble_files/hgg_tab_toy_cold.gif +0 -0
  157. data/examples/webshops/barnes_offline/barnes_and_noble_files/iframeKMP.js +0 -172
  158. data/examples/webshops/barnes_offline/barnes_and_noble_files/kmp_iframe_cds2.html +0 -25
  159. data/examples/webshops/barnes_offline/barnes_and_noble_files/kmp_iframe_cds2_data/070226_mc_lnav_search.gif +0 -0
  160. data/examples/webshops/barnes_offline/barnes_and_noble_files/kmp_iframe_cds2_data/XmlUtil.js +0 -199
  161. data/examples/webshops/barnes_offline/barnes_and_noble_files/kmp_iframe_cds2_data/XslStyleSheet.js +0 -1
  162. data/examples/webshops/barnes_offline/barnes_and_noble_files/kmp_iframe_cds2_data/kmp_gen.css +0 -81
  163. data/examples/webshops/barnes_offline/barnes_and_noble_files/kmp_iframe_cds2_data/product-preview-core.js +0 -337
  164. data/examples/webshops/barnes_offline/barnes_and_noble_files/kmp_iframe_cds2_data/product-preview.css +0 -36
  165. data/examples/webshops/barnes_offline/barnes_and_noble_files/kmp_iframe_cds2_data/productpreview.js +0 -11
  166. data/examples/webshops/barnes_offline/barnes_and_noble_files/linePagination.gif +0 -0
  167. data/examples/webshops/barnes_offline/barnes_and_noble_files/logo_bn05.gif +0 -0
  168. data/examples/webshops/barnes_offline/barnes_and_noble_files/navbar.js +0 -34
  169. data/examples/webshops/barnes_offline/barnes_and_noble_files/navbar_06.css +0 -136
  170. data/examples/webshops/barnes_offline/barnes_and_noble_files/popup_open.js +0 -116
  171. data/examples/webshops/barnes_offline/barnes_and_noble_files/qsearch3_vline_dots.gif +0 -0
  172. data/examples/webshops/barnes_offline/barnes_and_noble_files/qsearch4_search.gif +0 -0
  173. data/examples/webshops/barnes_offline/barnes_and_noble_files/qsearch_AdvSearch.jpg +0 -0
  174. data/examples/webshops/barnes_offline/barnes_and_noble_files/subnav_colon.gif +0 -0
  175. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_Bookclubs_cold.gif +0 -0
  176. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_bnjr_cold.gif +0 -0
  177. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_books_hot.gif +0 -0
  178. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_dvd_cold.gif +0 -0
  179. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_giftcards_cold.gif +0 -0
  180. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_home_cold.gif +0 -0
  181. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_member_cc_cold.gif +0 -0
  182. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_music_cold.gif +0 -0
  183. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_pipe.gif +0 -0
  184. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_textbooksonly_cold.gif +0 -0
  185. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_usedoop_cold.gif +0 -0
  186. data/examples/webshops/barnes_offline/barnes_and_noble_files/tab_videogames_cold.gif +0 -0
  187. data/examples/webshops/barnes_offline/barnes_and_noble_files/toppromo3_rule.gif +0 -0
  188. data/examples/webshops/barnes_offline/barnes_and_noble_files/toppromo_fastfree05.gif +0 -0
  189. data/examples/webshops/barnes_offline/barnes_and_noble_files/vcart_btn_checkout.gif +0 -0
  190. data/examples/webshops/barnes_offline/barnes_and_noble_files/vcart_icon_cart.gif +0 -0
  191. data/examples/webshops/barnes_offline/barnes_and_noble_files/vcart_topbot_rule.gif +0 -0
  192. data/examples/webshops/barnes_offline/barnes_and_noble_files/visualcart_prodid.js +0 -401
  193. data/examples/webshops/barnes_offline/test.rb +0 -30
  194. data/examples/webshops/buydig/2_files/03AA1BB9089A4A6A92CF23F280D664EB.jpg +0 -0
  195. data/examples/webshops/buydig/2_files/1008.gif +0 -0
  196. data/examples/webshops/buydig/2_files/1013.gif +0 -0
  197. data/examples/webshops/buydig/2_files/1020.gif +0 -0
  198. data/examples/webshops/buydig/2_files/106CF2FB84B446518397517C3E6D5AD8.jpg +0 -0
  199. data/examples/webshops/buydig/2_files/13-www.gif +0 -0
  200. data/examples/webshops/buydig/2_files/1E9BB2E56AB145FC9D6EF952703AF476.jpg +0 -0
  201. data/examples/webshops/buydig/2_files/1FCDFBE85CDB4D429EC2C8CB24D20457.jpg +0 -0
  202. data/examples/webshops/buydig/2_files/1pix.gif +0 -0
  203. data/examples/webshops/buydig/2_files/2014.gif +0 -0
  204. data/examples/webshops/buydig/2_files/2089.gif +0 -0
  205. data/examples/webshops/buydig/2_files/24992_medal.gif +0 -0
  206. data/examples/webshops/buydig/2_files/24BBCBA1397F4DDCBBBBE8456D6D6E5B.jpg +0 -0
  207. data/examples/webshops/buydig/2_files/281F8A6019B140F38DFD45EB7B69B0FB.jpg +0 -0
  208. data/examples/webshops/buydig/2_files/2975F866CB2149F7ACBC559C8E24E304.jpg +0 -0
  209. data/examples/webshops/buydig/2_files/316FC9256DC9460ABC3C5ECAF6C60286.jpg +0 -0
  210. data/examples/webshops/buydig/2_files/50569327D8B94252B95E449AE470E505.jpg +0 -0
  211. data/examples/webshops/buydig/2_files/519CDAB404FA4543B76B5F281468ACBF.jpg +0 -0
  212. data/examples/webshops/buydig/2_files/57D6146419A647BA89C96AF0B5CAB03C.jpg +0 -0
  213. data/examples/webshops/buydig/2_files/58E3F988E184448B8C0A59874AE123A8.jpg +0 -0
  214. data/examples/webshops/buydig/2_files/5E5B10197A4E4C9B9ECCD6309DBE4C54.jpg +0 -0
  215. data/examples/webshops/buydig/2_files/609A249177D04065B37B9161CB0BC92D.jpg +0 -0
  216. data/examples/webshops/buydig/2_files/676CEE8E53C2445982E991871B4DF613.jpg +0 -0
  217. data/examples/webshops/buydig/2_files/712BA08FAB524A31A76ABB9E2009FF8E.jpg +0 -0
  218. data/examples/webshops/buydig/2_files/734BD08D7A5049339393166491D09D21.jpg +0 -0
  219. data/examples/webshops/buydig/2_files/751E72B7003343248497FE6905F80787.jpg +0 -0
  220. data/examples/webshops/buydig/2_files/76493D4F02F14EF7B5886510604C7BB4.jpg +0 -0
  221. data/examples/webshops/buydig/2_files/79521E251278486DB29529C60C9D012A.jpg +0 -0
  222. data/examples/webshops/buydig/2_files/9C9AF82AC3B54BDC8C705278B50FDFD6.jpg +0 -0
  223. data/examples/webshops/buydig/2_files/BC3FD8307B9948FDB7EEF156D8629C37.jpg +0 -0
  224. data/examples/webshops/buydig/2_files/C0DD4574765047D1836F505E69DC8AE5.jpg +0 -0
  225. data/examples/webshops/buydig/2_files/C143F48515274A44B04F4B3E46306BD2.jpg +0 -0
  226. data/examples/webshops/buydig/2_files/C6B02E88F729464699DB275D140F4563.jpg +0 -0
  227. data/examples/webshops/buydig/2_files/CE334D6206DB4FA9AFDF339AEF0AF50F.jpg +0 -0
  228. data/examples/webshops/buydig/2_files/D66AE0DC865A4021AB300ED3A0C4CD11.jpg +0 -0
  229. data/examples/webshops/buydig/2_files/DEA2EC2093DC474D96B651068576DAE5.jpg +0 -0
  230. data/examples/webshops/buydig/2_files/F547677D83844042BF13A4BE6523BB50.jpg +0 -0
  231. data/examples/webshops/buydig/2_files/Rbbbonlineseal.gif +0 -0
  232. data/examples/webshops/buydig/2_files/TopSellers_bottom.gif +0 -0
  233. data/examples/webshops/buydig/2_files/TopSellers_ttl.gif +0 -0
  234. data/examples/webshops/buydig/2_files/addToFavorites_ttl.gif +0 -0
  235. data/examples/webshops/buydig/2_files/banner_CorporateSales.gif +0 -0
  236. data/examples/webshops/buydig/2_files/banner_Shipping.gif +0 -0
  237. data/examples/webshops/buydig/2_files/bizratehonoree.gif +0 -0
  238. data/examples/webshops/buydig/2_files/btn_submit.gif +0 -0
  239. data/examples/webshops/buydig/2_files/checkFlash.js +0 -110
  240. data/examples/webshops/buydig/2_files/checkFlash2.js +0 -109
  241. data/examples/webshops/buydig/2_files/cnetcertified.gif +0 -0
  242. data/examples/webshops/buydig/2_files/credPriceGrabber.gif +0 -0
  243. data/examples/webshops/buydig/2_files/credShopping.gif +0 -0
  244. data/examples/webshops/buydig/2_files/credential_paypal.gif +0 -0
  245. data/examples/webshops/buydig/2_files/credentials.gif +0 -0
  246. data/examples/webshops/buydig/2_files/dealtime.gif +0 -0
  247. data/examples/webshops/buydig/2_files/dvxstyle.css +0 -754
  248. data/examples/webshops/buydig/2_files/footer_021306_1_v1.gif +0 -0
  249. data/examples/webshops/buydig/2_files/func.js +0 -132
  250. data/examples/webshops/buydig/2_files/getseal +0 -1
  251. data/examples/webshops/buydig/2_files/help.gif +0 -0
  252. data/examples/webshops/buydig/2_files/home.gif +0 -0
  253. data/examples/webshops/buydig/2_files/java.js +0 -155
  254. data/examples/webshops/buydig/2_files/leftnv_help.gif +0 -0
  255. data/examples/webshops/buydig/2_files/logo.gif +0 -0
  256. data/examples/webshops/buydig/2_files/logo2.gif +0 -0
  257. data/examples/webshops/buydig/2_files/logo3.gif +0 -0
  258. data/examples/webshops/buydig/2_files/main.js +0 -227
  259. data/examples/webshops/buydig/2_files/mastercard_secured.gif +0 -0
  260. data/examples/webshops/buydig/2_files/newsBox_bkg.jpg +0 -0
  261. data/examples/webshops/buydig/2_files/newsBox_bottom.jpg +0 -0
  262. data/examples/webshops/buydig/2_files/newsBox_text.gif +0 -0
  263. data/examples/webshops/buydig/2_files/newsBox_ttl.jpg +0 -0
  264. data/examples/webshops/buydig/2_files/noimage75.gif +0 -0
  265. data/examples/webshops/buydig/2_files/orangeleftfrmbtm.gif +0 -0
  266. data/examples/webshops/buydig/2_files/pixel153.gif +0 -0
  267. data/examples/webshops/buydig/2_files/rightnv_bottom.gif +0 -0
  268. data/examples/webshops/buydig/2_files/search_btn_off.gif +0 -0
  269. data/examples/webshops/buydig/2_files/search_c1.gif +0 -0
  270. data/examples/webshops/buydig/2_files/search_c2.gif +0 -0
  271. data/examples/webshops/buydig/2_files/search_c3.gif +0 -0
  272. data/examples/webshops/buydig/2_files/search_c4.gif +0 -0
  273. data/examples/webshops/buydig/2_files/search_down.gif +0 -0
  274. data/examples/webshops/buydig/2_files/search_left.gif +0 -0
  275. data/examples/webshops/buydig/2_files/search_right.gif +0 -0
  276. data/examples/webshops/buydig/2_files/search_top.gif +0 -0
  277. data/examples/webshops/buydig/2_files/siteLinks_bottom.gif +0 -0
  278. data/examples/webshops/buydig/2_files/siteLinks_bullet.gif +0 -0
  279. data/examples/webshops/buydig/2_files/siteLinks_ttl.gif +0 -0
  280. data/examples/webshops/buydig/2_files/spacer.gif +0 -0
  281. data/examples/webshops/buydig/2_files/style.js +0 -45
  282. data/examples/webshops/buydig/2_files/styles.html +0 -33
  283. data/examples/webshops/buydig/2_files/track_orders.jpg +0 -0
  284. data/examples/webshops/buydig/2_files/urchin +0 -534
  285. data/examples/webshops/buydig/2_files/verified_by_visa.gif +0 -0
  286. data/examples/webshops/buydig/2_files/welcome.gif +0 -0
  287. data/examples/webshops/buydig/2_files/welcome_ttl.gif +0 -0
  288. data/examples/webshops/buydig/2_files/yahoologo.gif +0 -0
  289. data/examples/webshops/buydig/input.html +0 -1194
  290. data/examples/webshops/buydig/test.rb +0 -31
  291. data/examples/webshops/ebay/test.rb +0 -32
  292. data/examples/webshops/finewines_offline/_finewines.html +0 -1739
  293. data/examples/webshops/finewines_offline/_finewines_cut.html +0 -371
  294. data/examples/webshops/finewines_offline/_finewines_files/011064.jpg +0 -0
  295. data/examples/webshops/finewines_offline/_finewines_files/012674.jpg +0 -0
  296. data/examples/webshops/finewines_offline/_finewines_files/013268.jpg +0 -0
  297. data/examples/webshops/finewines_offline/_finewines_files/013300.jpg +0 -0
  298. data/examples/webshops/finewines_offline/_finewines_files/013409.jpg +0 -0
  299. data/examples/webshops/finewines_offline/_finewines_files/014340.jpg +0 -0
  300. data/examples/webshops/finewines_offline/_finewines_files/015073.jpg +0 -0
  301. data/examples/webshops/finewines_offline/_finewines_files/015255.jpg +0 -0
  302. data/examples/webshops/finewines_offline/_finewines_files/015479.jpg +0 -0
  303. data/examples/webshops/finewines_offline/_finewines_files/015487.jpg +0 -0
  304. data/examples/webshops/finewines_offline/_finewines_files/017038.jpg +0 -0
  305. data/examples/webshops/finewines_offline/_finewines_files/017129.jpg +0 -0
  306. data/examples/webshops/finewines_offline/_finewines_files/017145.jpg +0 -0
  307. data/examples/webshops/finewines_offline/_finewines_files/017152.jpg +0 -0
  308. data/examples/webshops/finewines_offline/_finewines_files/017285.jpg +0 -0
  309. data/examples/webshops/finewines_offline/_finewines_files/017392.jpg +0 -0
  310. data/examples/webshops/finewines_offline/_finewines_files/017400.jpg +0 -0
  311. data/examples/webshops/finewines_offline/_finewines_files/019778.jpg +0 -0
  312. data/examples/webshops/finewines_offline/_finewines_files/019786.jpg +0 -0
  313. data/examples/webshops/finewines_offline/_finewines_files/020503.jpg +0 -0
  314. data/examples/webshops/finewines_offline/_finewines_files/021253.jpg +0 -0
  315. data/examples/webshops/finewines_offline/_finewines_files/021279.jpg +0 -0
  316. data/examples/webshops/finewines_offline/_finewines_files/021337.jpg +0 -0
  317. data/examples/webshops/finewines_offline/_finewines_files/021352.jpg +0 -0
  318. data/examples/webshops/finewines_offline/_finewines_files/023002.jpg +0 -0
  319. data/examples/webshops/finewines_offline/_finewines_files/023135.jpg +0 -0
  320. data/examples/webshops/finewines_offline/_finewines_files/023143.jpg +0 -0
  321. data/examples/webshops/finewines_offline/_finewines_files/023788.jpg +0 -0
  322. data/examples/webshops/finewines_offline/_finewines_files/024166.jpg +0 -0
  323. data/examples/webshops/finewines_offline/_finewines_files/024182.jpg +0 -0
  324. data/examples/webshops/finewines_offline/_finewines_files/024216.jpg +0 -0
  325. data/examples/webshops/finewines_offline/_finewines_files/027268.jpg +0 -0
  326. data/examples/webshops/finewines_offline/_finewines_files/027516.jpg +0 -0
  327. data/examples/webshops/finewines_offline/_finewines_files/027862.jpg +0 -0
  328. data/examples/webshops/finewines_offline/_finewines_files/028118.jpg +0 -0
  329. data/examples/webshops/finewines_offline/_finewines_files/028936.jpg +0 -0
  330. data/examples/webshops/finewines_offline/_finewines_files/033894.jpg +0 -0
  331. data/examples/webshops/finewines_offline/_finewines_files/033902.jpg +0 -0
  332. data/examples/webshops/finewines_offline/_finewines_files/033910.jpg +0 -0
  333. data/examples/webshops/finewines_offline/_finewines_files/033936.jpg +0 -0
  334. data/examples/webshops/finewines_offline/_finewines_files/033944.jpg +0 -0
  335. data/examples/webshops/finewines_offline/_finewines_files/033951.jpg +0 -0
  336. data/examples/webshops/finewines_offline/_finewines_files/034553.jpg +0 -0
  337. data/examples/webshops/finewines_offline/_finewines_files/034561.jpg +0 -0
  338. data/examples/webshops/finewines_offline/_finewines_files/232439.jpg +0 -0
  339. data/examples/webshops/finewines_offline/_finewines_files/237834.jpg +0 -0
  340. data/examples/webshops/finewines_offline/_finewines_files/268359.jpg +0 -0
  341. data/examples/webshops/finewines_offline/_finewines_files/289082.jpg +0 -0
  342. data/examples/webshops/finewines_offline/_finewines_files/331603.jpg +0 -0
  343. data/examples/webshops/finewines_offline/_finewines_files/369686.jpg +0 -0
  344. data/examples/webshops/finewines_offline/_finewines_files/420257.jpg +0 -0
  345. data/examples/webshops/finewines_offline/_finewines_files/422014.jpg +0 -0
  346. data/examples/webshops/finewines_offline/_finewines_files/460410.jpg +0 -0
  347. data/examples/webshops/finewines_offline/_finewines_files/480533.jpg +0 -0
  348. data/examples/webshops/finewines_offline/_finewines_files/556795.jpg +0 -0
  349. data/examples/webshops/finewines_offline/_finewines_files/597054.jpg +0 -0
  350. data/examples/webshops/finewines_offline/_finewines_files/650606.jpg +0 -0
  351. data/examples/webshops/finewines_offline/_finewines_files/652628.jpg +0 -0
  352. data/examples/webshops/finewines_offline/_finewines_files/653790.jpg +0 -0
  353. data/examples/webshops/finewines_offline/_finewines_files/658450.jpg +0 -0
  354. data/examples/webshops/finewines_offline/_finewines_files/660027.jpg +0 -0
  355. data/examples/webshops/finewines_offline/_finewines_files/660951.jpg +0 -0
  356. data/examples/webshops/finewines_offline/_finewines_files/684514.jpg +0 -0
  357. data/examples/webshops/finewines_offline/_finewines_files/685131.jpg +0 -0
  358. data/examples/webshops/finewines_offline/_finewines_files/686865.jpg +0 -0
  359. data/examples/webshops/finewines_offline/_finewines_files/699330.jpg +0 -0
  360. data/examples/webshops/finewines_offline/_finewines_files/703017.jpg +0 -0
  361. data/examples/webshops/finewines_offline/_finewines_files/703140.jpg +0 -0
  362. data/examples/webshops/finewines_offline/_finewines_files/703850.jpg +0 -0
  363. data/examples/webshops/finewines_offline/_finewines_files/717306.jpg +0 -0
  364. data/examples/webshops/finewines_offline/_finewines_files/900274.jpg +0 -0
  365. data/examples/webshops/finewines_offline/_finewines_files/938225.jpg +0 -0
  366. data/examples/webshops/finewines_offline/_finewines_files/947440.jpg +0 -0
  367. data/examples/webshops/finewines_offline/_finewines_files/951319.jpg +0 -0
  368. data/examples/webshops/finewines_offline/_finewines_files/967893.jpg +0 -0
  369. data/examples/webshops/finewines_offline/_finewines_files/981407.jpg +0 -0
  370. data/examples/webshops/finewines_offline/_finewines_files/981613.jpg +0 -0
  371. data/examples/webshops/finewines_offline/_finewines_files/982421.jpg +0 -0
  372. data/examples/webshops/finewines_offline/_finewines_files/985598.jpg +0 -0
  373. data/examples/webshops/finewines_offline/_finewines_files/986737.jpg +0 -0
  374. data/examples/webshops/finewines_offline/_finewines_files/987503.jpg +0 -0
  375. data/examples/webshops/finewines_offline/_finewines_files/992800.jpg +0 -0
  376. data/examples/webshops/finewines_offline/_finewines_files/VintageslogoEN.gif +0 -0
  377. data/examples/webshops/finewines_offline/_finewines_files/blanc-up.gif +0 -0
  378. data/examples/webshops/finewines_offline/_finewines_files/btn_vintages_latest.gif +0 -0
  379. data/examples/webshops/finewines_offline/_finewines_files/cc_en.gif +0 -0
  380. data/examples/webshops/finewines_offline/_finewines_files/common.js +0 -860
  381. data/examples/webshops/finewines_offline/_finewines_files/drink.gif +0 -0
  382. data/examples/webshops/finewines_offline/_finewines_files/drinkhold.gif +0 -0
  383. data/examples/webshops/finewines_offline/_finewines_files/ec_en.gif +0 -0
  384. data/examples/webshops/finewines_offline/_finewines_files/ev_en.gif +0 -0
  385. data/examples/webshops/finewines_offline/_finewines_files/hold.gif +0 -0
  386. data/examples/webshops/finewines_offline/_finewines_files/index-wines-features.jpg +0 -0
  387. data/examples/webshops/finewines_offline/_finewines_files/indexSTYLE.css +0 -398
  388. data/examples/webshops/finewines_offline/_finewines_files/keyword_search.gif +0 -0
  389. data/examples/webshops/finewines_offline/_finewines_files/mm_menu.js +0 -1
  390. data/examples/webshops/finewines_offline/_finewines_files/nr_en.gif +0 -0
  391. data/examples/webshops/finewines_offline/_finewines_files/ontario_en.gif +0 -0
  392. data/examples/webshops/finewines_offline/_finewines_files/popup.js +0 -81
  393. data/examples/webshops/finewines_offline/_finewines_files/releases_nav.js +0 -229
  394. data/examples/webshops/finewines_offline/_finewines_files/so_en.gif +0 -0
  395. data/examples/webshops/finewines_offline/_finewines_files/spacer.gif +0 -0
  396. data/examples/webshops/finewines_offline/_finewines_files/top.gif +0 -0
  397. data/examples/webshops/finewines_offline/_finewines_files/urchin.js +0 -576
  398. data/examples/webshops/finewines_offline/_finewines_files/wom_en.gif +0 -0
  399. data/examples/webshops/finewines_offline/test.rb +0 -30
  400. data/examples/webshops/us1camera/1_files/1pix.gif +0 -0
  401. data/examples/webshops/us1camera/1_files/1pix_002.gif +0 -0
  402. data/examples/webshops/us1camera/1_files/CnetCertified.gif +0 -0
  403. data/examples/webshops/us1camera/1_files/CyberSource.gif +0 -0
  404. data/examples/webshops/us1camera/1_files/Images50.gif +0 -0
  405. data/examples/webshops/us1camera/1_files/Images50_002.gif +0 -0
  406. data/examples/webshops/us1camera/1_files/Images50_003.gif +0 -0
  407. data/examples/webshops/us1camera/1_files/Images50_004.gif +0 -0
  408. data/examples/webshops/us1camera/1_files/Images50_005.gif +0 -0
  409. data/examples/webshops/us1camera/1_files/Images50_006.gif +0 -0
  410. data/examples/webshops/us1camera/1_files/PriceGrabber.gif +0 -0
  411. data/examples/webshops/us1camera/1_files/QSearch.gif +0 -0
  412. data/examples/webshops/us1camera/1_files/ban-m.jpg +0 -0
  413. data/examples/webshops/us1camera/1_files/banner1.bin +0 -0
  414. data/examples/webshops/us1camera/1_files/banner3.bin +0 -0
  415. data/examples/webshops/us1camera/1_files/block1.jpg +0 -0
  416. data/examples/webshops/us1camera/1_files/block2.jpg +0 -0
  417. data/examples/webshops/us1camera/1_files/block3.jpg +0 -0
  418. data/examples/webshops/us1camera/1_files/block4.jpg +0 -0
  419. data/examples/webshops/us1camera/1_files/block5.jpg +0 -0
  420. data/examples/webshops/us1camera/1_files/block6.jpg +0 -0
  421. data/examples/webshops/us1camera/1_files/bos.js +0 -280
  422. data/examples/webshops/us1camera/1_files/box1.jpg +0 -0
  423. data/examples/webshops/us1camera/1_files/box2.jpg +0 -0
  424. data/examples/webshops/us1camera/1_files/box3.jpg +0 -0
  425. data/examples/webshops/us1camera/1_files/box4.jpg +0 -0
  426. data/examples/webshops/us1camera/1_files/dot.jpg +0 -0
  427. data/examples/webshops/us1camera/1_files/eDevix.gif +0 -0
  428. data/examples/webshops/us1camera/1_files/electronics1.jpg +0 -0
  429. data/examples/webshops/us1camera/1_files/getseal +0 -1
  430. data/examples/webshops/us1camera/1_files/pride.jpg +0 -0
  431. data/examples/webshops/us1camera/1_files/search.jpg +0 -0
  432. data/examples/webshops/us1camera/1_files/sidebutton.jpg +0 -0
  433. data/examples/webshops/us1camera/1_files/sslroilogic.js +0 -49
  434. data/examples/webshops/us1camera/1_files/style.css +0 -1
  435. data/examples/webshops/us1camera/1_files/tl.html +0 -2
  436. data/examples/webshops/us1camera/input.html +0 -548
  437. data/examples/webshops/us1camera/test.rb +0 -37
  438. data/pkg/scrubyt-0.4.31.gem +0 -0
  439. data/resources/allison/LICENSE +0 -184
  440. data/resources/allison/README +0 -37
  441. data/resources/allison/allison.css +0 -301
  442. data/resources/allison/allison.gif +0 -0
  443. data/resources/allison/allison.js +0 -307
  444. data/resources/allison/allison.rb +0 -287
  445. data/resources/allison/cache/BODY +0 -588
  446. data/resources/allison/cache/CLASS_INDEX +0 -4
  447. data/resources/allison/cache/CLASS_PAGE +0 -1
  448. data/resources/allison/cache/FILE_INDEX +0 -4
  449. data/resources/allison/cache/FILE_PAGE +0 -1
  450. data/resources/allison/cache/FONTS +0 -1
  451. data/resources/allison/cache/FR_INDEX_BODY +0 -1
  452. data/resources/allison/cache/IMGPATH +0 -1
  453. data/resources/allison/cache/INDEX +0 -1
  454. data/resources/allison/cache/JAVASCRIPT +0 -307
  455. data/resources/allison/cache/METHOD_INDEX +0 -4
  456. data/resources/allison/cache/METHOD_LIST +0 -1
  457. data/resources/allison/cache/SRC_PAGE +0 -1
  458. data/resources/allison/cache/STYLE +0 -323
  459. data/resources/allison/cache/URL +0 -1
  460. data/scrubyt.gemspec +0 -609
  461. data/todo/backlog.txt +0 -73
  462. data/todo/scenario_ideas.txt +0 -19
@@ -1,1608 +0,0 @@
1
- //! ################################################################
2
- //! This file contains both original and merged/adapted code .
3
- //! Except where indicated, all code is
4
- //! Copyright (c) 2004 Amazon.com, Inc., and its Affiliates.
5
- //! All Rights Reserved.
6
- //! Not to be reused without permission
7
- //! $Change: 948279 $
8
- //! $Revision: #29 $
9
- //! $DateTime: 2006/06/28 15:42:35 $
10
- if ((typeof gbN2Loaded != 'undefined') && !goN2Initializer.isReady()) {
11
- window.oTheDoc = document;
12
- window.oTheBody = oTheDoc.body;
13
- window.oTheHead = document.getElementsByTagName('head').item(0);
14
- window.gaTD = {};
15
- var goN2Dbg = window.goN2Debug;
16
- goN2Initializer.runThisWhen = function (sWhen, fFn, sComment) {
17
- if (goN2Dbg) {
18
- ;
19
- ;
20
- }
21
- if ( (typeof fFn != 'function') || fFn == null) return false;
22
- sWhen = sWhen.toLowerCase();
23
- if ( (sWhen =='inbody' && document.body) || this.aEventsRun[sWhen] ){
24
- fFn();
25
- } else {
26
- this.aHandlers[this.aHandlers.length] = { sWhen: sWhen, fFn: fFn, sComment: sComment };
27
- }
28
- return true
29
- };
30
- goN2Initializer.initializeThis = goN2Initializer.runThisWhen;
31
- goN2Initializer.run = function (sWhen) {
32
- sWhen = (typeof sWhen == 'undefined') ? null : sWhen;
33
- sWhen = sWhen.toLowerCase();
34
- this.aEventsRun[sWhen] = true;
35
- if (goN2Dbg) {
36
- ;//goN2Debug.info("N2Initializer called with " + (sWhen ? "'"+sWhen+"'" : "null"));
37
- }
38
- var aH = this.aHandlers;
39
- var len = aH.length;
40
- for (var i=0;i<len;i++) {
41
- var oTmp = aH[i];
42
- if ((oTmp.bCalled != true) &&
43
- (oTmp.fFn) &&
44
- ( (sWhen == null) || (oTmp.sWhen && (oTmp.sWhen == sWhen)))
45
- ) {
46
- if (goN2Dbg) {
47
- ;
48
- }
49
- if (oTmp.fFn) {
50
- oTmp.fFn();
51
- }
52
- oTmp.bCalled = true;
53
- }
54
- }
55
- }
56
- function n2RunEvent(sWhen) {
57
- goN2Initializer.run(sWhen);
58
- }
59
- goN2LibMon.bJSLoaded = false;
60
- goN2LibMon.bCSSLoaded = false;
61
- goN2LibMon.nREQUESTLOAD = -2;
62
- goN2LibMon.nBEGINLOAD = -3;
63
- goN2LibMon.requestLoad = function (sLibID, sFeatureID) {
64
- var oTmp = this.aLibs[sLibID];
65
- if (oTmp) { oTmp.nDuration= this.nREQUESTLOAD; }
66
- };
67
- goN2LibMon.beginLoad = function (sLibID, sFeatureID) {
68
- var oTmp = this.aLibs[sLibID];
69
- if (oTmp) {
70
- oTmp.sFeature = sFeatureID;
71
- oTmp.nBegin = new Date().getTime();
72
- oTmp.nDuration= this.nBEGINLOAD;
73
- }
74
- };
75
- goN2LibMon.endLoad = function (sLibID, nStatus) {
76
- var oTmp = this.aLibs[sLibID];
77
- if (oTmp) {
78
- oTmp.nDuration = new Date().getTime() - oTmp.nBegin;
79
- oTmp.bLoaded=true;
80
- }
81
- var bALL=this.allLibsLoaded();
82
- goN2Initializer.run(sLibID+'loaded');
83
- if (bALL) {
84
- gbN2Loaded = this.bJSLoaded = true;
85
- goN2Initializer.run('lastlibraryloaded');
86
- }
87
- };
88
- goN2LibMon.allLibsLoaded = function () {
89
- var bAllLoaded=true;
90
- for (var key in this.aLibs) {
91
- if (this.aLibs[key] && this.aLibs[key].nDuration <0) { bAllLoaded=false; }
92
- }
93
- return bAllLoaded;
94
- };
95
- goN2LibMon.confirmJSLoaded = goN2LibMon.isJSLoaded = function() { return this.bJSLoaded; };
96
- goN2LibMon.confirmCSSLoaded = goN2LibMon.isCSSLoaded = function() { return true; };
97
- function n2LibraryIsLoaded (sLibID) {
98
- var oTmp = goN2LibMon.aLibs[sLibID];
99
- if (oTmp)
100
- return oTmp.bLoaded;
101
- return false;
102
- }
103
- goN2Initializer.isReady = function() {return true;}
104
- n2RunEvent('n2Loader:safetyNet:loaded')
105
- }
106
- if (window.goN2LibMon) goN2LibMon.beginLoad('utilities', 'n2CoreLibs');
107
- function N2Utilities() {
108
- this.className = 'N2Utilities';
109
- this.version = '1.0.1';
110
- this.revision= '$Revision: #29 $';
111
- this.initialized = false;
112
- this.bIsCSS;
113
- this.bIsW3C;
114
- this.bIsIE4;
115
- this.bIsNN4;
116
- this.bIsIE6CSS;
117
- this.bIsIE;
118
- this.bIsSafari;
119
- this.browser_version;
120
- //! * **********************************************************************
121
- //! The following section of this file code was mainly adapted from:
122
- //! "Dynamic HTML:The Definitive Reference"
123
- //! 2nd Edition
124
- //! by Danny Goodman
125
- //! Published by O'Reilly & Associates ISBN 1-56592-494-0
126
- //! http://www.oreilly.com
127
- //! http://www.amazon.com/exec/obidos/tg/detail/-/0596003161/qid=1049505315
128
- //! Copyright 2002 Danny Goodman. All Rights Reserved.
129
- //! Some minor changes and additions have been made to suit the
130
- //! current application requirements and to enhance functionality.
131
- //! ************************************************************************
132
- this.initDHTMLAPI = function () {
133
- if (document.images) {
134
- this.bIsCSS = (document.body && document.body.style) ? true : false;
135
- this.bIsW3C = (this.bIsCSS && document.getElementById) ? true : false;
136
- this.bIsIE4 = (this.bIsCSS && document.all) ? true : false;
137
- this.bIsNN4 = (document.layers) ? true : false;
138
- this.bIsIE6CSS = (document.compatMode && document.compatMode.indexOf("CSS1") >= 0) ? true : false;
139
- this.bIsSafari = (navigator.userAgent.indexOf("AppleWebKit") > -1) ? true : false;
140
- }
141
- }
142
- this.seekLayer = function (oDoc, sName) {
143
- var elem;
144
- for (var i = 0; i < oDoc.layers.length; i++) {
145
- if (oDoc.layers[i].name == sName) {
146
- elem = oDoc.layers[i];
147
- break;
148
- }
149
- if (oDoc.layers[i].document.layers.length > 0) {
150
- elem = this.seekLayer(document.layers[i].document, sName);
151
- }
152
- }
153
- return elem;
154
- }
155
- this.getRawObject = function (obj) {
156
- ;
157
- }
158
- this._getRawObject = function (obj, bFailureOK) {
159
- var elem;
160
- ;
161
- if (!obj) {
162
- return null;
163
- }
164
- if (typeof obj == "string") {
165
- if (this.bIsW3C) {
166
- elem = document.getElementById(obj);
167
- } else if (this.bIsIE4) {
168
- elem = document.all(obj);
169
- } else if (this.bIsNN4) {
170
- elem = this.seekLayer(document, obj);
171
- }
172
- if ( this.isUndefOrNull(elem) && !bFailureOK ) {
173
- ;
174
- }
175
- } else {
176
- elem = obj;
177
- }
178
- return elem;
179
- }
180
- this.getObject = function (obj) {
181
- var elem = this.getElement(obj);
182
- if (elem && this.bIsCSS) {
183
- elem = elem.style;
184
- }
185
- return elem;
186
- }
187
- this.shiftTo = function (obj, x, y) {
188
- var oStyle = this.getElementStyle(obj);
189
- if (oStyle) {
190
- if (this.bIsCSS) {
191
- var units = (typeof oStyle.left == "string") ? "px" : 0;
192
- oStyle.left = x + units;
193
- oStyle.top = y + units;
194
- } else if (this.bIsNN4) {
195
- oStyle.moveTo(x,y)
196
- }
197
- }
198
- }
199
- this.shiftBy = function (obj, deltaX, deltaY) {
200
- var oStyle = this.getElementStyle(obj);
201
- if (oStyle) {
202
- if (this.bIsCSS) {
203
- var units = (typeof oStyle.left == "string") ? "px" : 0;
204
- oStyle.left = this.getElementLeft(obj) + deltaX + units;
205
- oStyle.top = this.getElementTop(obj) + deltaY + units;
206
- } else if (this.bIsNN4) {
207
- oStyle.moveBy(deltaX, deltaY);
208
- }
209
- }
210
- }
211
- this.setZIndex = function (obj, zOrder) {
212
- var oStyle = this.getElementStyle(obj);
213
- if (oStyle) { oStyle.zIndex = zOrder; }
214
- }
215
- this.setBGColor = function (obj, color) {
216
- var oStyle = this.getElementStyle(obj);
217
- if (oStyle) {
218
- if (this.bIsNN4) {
219
- oStyle.bgColor = color;
220
- } else if (this.bIsCSS) {
221
- oStyle.backgroundColor = color;
222
- }
223
- }
224
- }
225
- this.show = function (obj) {
226
- var oStyle = this.getElementStyle(obj);
227
- if (oStyle) { oStyle.visibility = "visible"; }
228
- }
229
- this.hide = function (obj) {
230
- var oStyle = this.getElementStyle(obj);
231
- if (oStyle) { oStyle.visibility = "hidden"; }
232
- }
233
- this.MOZALPHAMAX = 255./256.;
234
- this.getAlphaLevel = function (elem) {
235
- var oElem = this.getElement(elem);
236
- var ret;
237
- if (oElem) {
238
- var style = oElem.style;
239
- if (oElem.filters && oElem.filters.alpha) {
240
- ret = oElem.filters.alpha.opacity;
241
- } else if (style) {
242
- if (this.isDefined(style.MozOpacity)) {
243
- var strOpacity = style.MozOpacity;
244
- if (strOpacity.length > 0) {
245
- ret = parseFloat(style.MozOpacity);
246
- if (ret >= this.MOZALPHAMAX && this.isDefined(style.azdMozOpacity)) {
247
- var saved = parseFloat(style.azdMozOpacity);
248
- if (saved >= this.MOZALPHAMAX) {
249
- ret = saved;
250
- }
251
- }
252
- ret = ret * 100;
253
- }
254
- } else if (this.isDefined(style.opacity)) {
255
- ret = (style.opacity.length==0 ? 1 : parseFloat(style.opacity)) * 100;
256
- } else if (this.isDefined(style.KhtmlOpacity)) {
257
- ret = (style.KhtmlOpacity.length==0 ? 1 : parseFloat(style.KhtmlOpacity)) * 100;
258
- }
259
- }
260
- }
261
- if (this.isUndefined(ret)) {
262
- ret = 100; // presume that no set opacity means opaque
263
- ;
264
- }
265
- return ret;
266
- }
267
- this.setAlphaLevel = function (elem, level) {
268
- level = (level <= 0 ? 0 : (level >= 100 ? 100 : level));
269
- var oElem = this.getElement(elem);
270
- ;
271
- if (oElem) {
272
- var style = oElem.style
273
- if (oElem.filters) {
274
- var filters = oElem.filters;
275
- if (!filters.alpha) {
276
- ;
277
- this.addClass(oElem, "n2Fadable");
278
- filters = oElem.filters; // object changed by adding a filter
279
- ;
280
- }
281
- if (filters.alpha) {
282
- filters.alpha.opacity = level;
283
- } else {
284
- ;
285
- }
286
- } else if (style && this.isDefined(style.MozOpacity)) {
287
- var reqLevel = level * 0.01;
288
- var mozLevel = (reqLevel > this.MOZALPHAMAX ? this.MOZALPHAMAX : reqLevel);
289
- if (mozLevel != reqLevel) {
290
- ;
291
- }
292
- style.MozOpacity = mozLevel;
293
- style.azdMozOpacity = "" + reqLevel; // store as string (just as MozOpacity is) to get same rounding
294
- } else if (style && this.isDefined(style.opacity)) {
295
- var reqLevel = "" + (level * 0.01);
296
- style.opacity = reqLevel;
297
- } else if (style && this.isDefined(style.KhtmlOpacity)) {
298
- var reqLevel = "" + (level * 0.01);
299
- ret = (style.KhtmlOpacity.length==0 ? 1 : parseFloat(style.KhtmlOpacity)) * 100;
300
- } else {
301
- ;
302
- }
303
- }
304
- }
305
- this.getElementLeft = function (obj) {
306
- var oElem = this.getElement(obj);
307
- var result = 0;
308
- if (oElem) {
309
- var cssDecl, defaultView = document.defaultView;
310
- if (defaultView &&
311
- (typeof defaultView.getComputedStyle == 'function') &&
312
- (cssDecl=defaultView.getComputedStyle(oElem, null))
313
- ) {
314
- result = cssDecl.getPropertyValue("left");
315
- } else if (oElem.currentStyle) {
316
- result = oElem.currentStyle.left;
317
- } else if (oElem.style) {
318
- result = oElem.style.left;
319
- } else if (this.bIsNN4) {
320
- result = oElem.left;
321
- }
322
- result = parseInt(result);
323
- if (isNaN(result)) {
324
- result = this.getPageElementLeft(oElem);
325
- }
326
- }
327
- return result;
328
- }
329
- this.getElementTop = function (obj) {
330
- var oElem = this.getElement(obj);
331
- var result = 0;
332
- if (oElem) {
333
- var cssDecl, defaultView = document.defaultView;
334
- if (defaultView &&
335
- (typeof defaultView.getComputedStyle == 'function') &&
336
- (cssDecl=defaultView.getComputedStyle(oElem, null))
337
- ) {
338
- result = cssDecl.getPropertyValue("top");
339
- } else if (oElem.currentStyle) {
340
- result = oElem.currentStyle.top;
341
- } else if (oElem.style) {
342
- result = oElem.style.top;
343
- } else if (this.bIsNN4) {
344
- result = oElem.top;
345
- }
346
- }
347
- result = parseInt(result);
348
- if (isNaN(result)) {
349
- result = this.getPageElementTop(oElem);
350
- }
351
- return result;
352
- }
353
- this.getElementWidth = function (obj) {
354
- var oElem = this.getElement(obj);
355
- var result = 0;
356
- if (oElem) {
357
- if (oElem.width && this.isMozilla5()) {
358
- result = oElem.width;
359
- } else if (oElem.offsetWidth) {
360
- result = oElem.offsetWidth;
361
- } else if (oElem.clip && oElem.clip.width) {
362
- result = oElem.clip.width;
363
- } else if (oElem.style && oElem.style.pixelWidth) {
364
- result = oElem.style.pixelWidth;
365
- }
366
- }
367
- return parseInt(result);
368
- }
369
- this.getElementHeight = function (obj) {
370
- var oElem = this.getElement(obj);
371
- var result = 0;
372
- if (oElem) {
373
- if (oElem.height && this.isMozilla5()) {
374
- result = oElem.height;
375
- } else if (oElem.offsetHeight) {
376
- result = oElem.offsetHeight;
377
- } else if (oElem.clip && oElem.clip.height) {
378
- result = oElem.clip.height;
379
- } else if (oElem.style && oElem.style.pixelHeight) {
380
- result = oElem.style.pixelHeight;
381
- }
382
- }
383
- return parseInt(result);
384
- }
385
- this.getInsideWindowWidth = function () {
386
- if (window.innerWidth) {
387
- return window.innerWidth;
388
- } else if (document.body && document.body.clientWidth) {
389
- return document.body.clientWidth;
390
- }
391
- ;
392
- return 0;
393
- }
394
- this.getInsideWindowHeight = function () {
395
- if (window.innerHeight) {
396
- return window.innerHeight;
397
- } else if (document.body && document.body.clientHeight) {
398
- return document.body.clientHeight;
399
- }
400
- ;
401
- return 0;
402
- }
403
- //! ************************************************************
404
- //! END CODE derived from "Dynamic HTML:The Definitive Reference"
405
- //! 2nd Edition
406
- //! by Danny Goodman
407
- //! Published by O'Reilly & Associates ISBN 1-56592-494-0
408
- //! http://www.oreilly.com
409
- //! Copyright 2002 Danny Goodman. All Rights Reserved.
410
- //! ################################################################
411
- //! All the code that follows is Copyright 2003 Amazon.com.
412
- //! All Rights Reserved.
413
- //! ************************************************************
414
- //! Copyright (c) Amazon.com 2003, 2004. All Rights Reserved.
415
- //! Not to be reused without permission
416
- //! ################################################################
417
- this.initialize = function () {
418
- this.initDHTMLAPI();
419
- var agid = navigator.userAgent.toLowerCase();
420
- this.bIsIE = (agid.indexOf("msie") != -1);
421
- this.bIsGecko = (agid.indexOf("gecko") != -1);
422
- this.bIsFirefox = (agid.indexOf("firefox") != -1);
423
- this.browser_version = parseInt(navigator.appVersion);
424
- this.getRawObject = this._getRawObject; // rest to use the correct fn.
425
- this.getElement = this._getRawObject;
426
- this.getElementStyle = this.getObject;
427
- this.getObjectWidth = this.getElementWidth;
428
- this.getObjectHeight = this.getElementHeight;
429
- this.getObjectLeft = this.getElementLeft;
430
- this.getObjectTop = this.getElementTop;
431
- this.sAnimationDivID = 'goN2UAnimatedBox'; //WARNING: events.js uses goN2U.sAnimationDivID
432
- this.bAnimateBoxRunning = false;
433
- this.initialized = true;
434
- ;
435
- }
436
- this.isIE = function () { return this.bIsIE; }
437
- this.isW3C = function () { return this.bIsW3C; }
438
- this.isMozilla5 = function () { return this.bIsGecko && this.browser_version>=5 && !this.bIsSafari; }
439
- this.isFirefox = function () { return this.bIsFirefox && this.browser_version>=5; }
440
- this.isSafari = function () { return this.bIsSafari; }
441
- this.exists = function(obj) {
442
- return ( !this.isUndefOrNull(this.getElement(obj)) );
443
- }
444
- this.display = function (obj, type) {
445
- var oStyle = this.getElementStyle(obj);
446
- if (oStyle) {
447
- if(this.bIsIE || this.isMozilla5())
448
- oStyle.display = this.isDefined(type) ? type : "block";
449
- else {
450
- oStyle.display = "block";
451
- }
452
- }
453
- }
454
- this.undisplay = function (obj) {
455
- var oStyle = this.getElementStyle(obj);
456
- if (oStyle) {
457
- oStyle.display = 'none';
458
- }
459
- }
460
- this.isDisplayed = function(obj) {
461
- var oStyle = this.getElementStyle(obj);
462
- if (oStyle) {
463
- return oStyle.display != 'none';
464
- }
465
- return true;
466
- }
467
- this.toggleDisplay = function (obj, type) {
468
- var oStyle = this.getElementStyle(obj);
469
- if (oStyle) {
470
- if (oStyle.display == 'none')
471
- this.display (obj, type);
472
- else
473
- this.undisplay(obj);
474
- }
475
- }
476
- this.toggleDualDisplay = function (obj1, obj2) {
477
- this.toggleDisplay(obj1);
478
- this.toggleDisplay(obj2);
479
- }
480
- this.getScrollLeft = function() {
481
- if (document.documentElement.scrollLeft) {
482
- return document.documentElement.scrollLeft;
483
- } else {
484
- return document.body.scrollLeft;
485
- }
486
- }
487
- this.getScrollTop = function() {
488
- if (document.documentElement.scrollTop) {
489
- return document.documentElement.scrollTop;
490
- } else {
491
- return document.body.scrollTop;
492
- }
493
- }
494
- this.setScrollLeft = function(n) {
495
- if (document.documentElement.scrollLeft) {
496
- document.documentElement.scrollLeft = n;
497
- } else {
498
- document.body.scrollLeft = n;
499
- }
500
- }
501
- this.setScrollTop = function(n) {
502
- if (document.documentElement.scrollTop) {
503
- document.documentElement.scrollTop=n;
504
- } else {
505
- document.body.scrollTop=n;
506
- }
507
- }
508
- this.animateScrollTo = function(nTo, nStep, nDelay, nStepInc) {
509
- var nTop = goN2U.getScrollTop();
510
- nStepInc = this.isDefined(nStepInc) ? nStepInc : 20;
511
- nStep = nStep ? nStep+=nStepInc : 20;
512
- nDelay = nDelay ? nDelay : 25;
513
- if (nTop > nTo) {
514
- if (nTop > nTo+(nStep*1.5)) {
515
- goN2U.setScrollTop(nTop-nStep);
516
- setTimeout(function() { goN2U.animateScrollTo(nTo, nStep, nDelay, nStepInc); }, nDelay);
517
- } else {
518
- goN2U.setScrollTop(nTo);
519
- }
520
- } else {
521
- if (nTop < nTo-(nStep*1.5)) {
522
- goN2U.setScrollTop(nTop+nStep);
523
- setTimeout(function() { goN2U.animateScrollTo(nTo, nStep, nDelay, nStepInc); }, nDelay);
524
- } else {
525
- goN2U.setScrollTop(nTo);
526
- }
527
- }
528
- }
529
- this.removeElementById = function(sID) {
530
- var oElem = document.getElementById(sID);
531
- if (oElem && oElem.parentNode && oElem.parentNode.removeChild) {
532
- try {
533
- oElem.parentNode.removeChild(oElem);
534
- ;
535
- } catch (e) {
536
- ;
537
- }
538
- } else {
539
- ;
540
- }
541
- }
542
- this.adjustBy = function (obj, deltaX, deltaY, deltaW, deltaH) {
543
- var oStyle = this.getElementStyle(obj);
544
- if (oStyle) {
545
- if (this.bIsCSS) {
546
- var units = (typeof oStyle.left == "string") ? "px" : 0;
547
- oStyle.left = this.getElementLeft(obj) + deltaX + units;
548
- oStyle.top = this.getElementTop(obj) + deltaY + units;
549
- oStyle.width = this.getElementWidth(obj) + deltaW; // + units;
550
- oStyle.height = this.getElementHeight(obj) + deltaH; // + units;
551
- } else if (this.bIsNN4) {
552
- oStyle.moveBy(deltaX, deltaY);
553
- }
554
- }
555
- }
556
- this.clip = function (obj, nTop, nRight, nBottom, nLeft) {
557
- var oStyle = this.getElementStyle(obj);
558
- oStyle.clip = "rect("+nTop+"px, " + nRight + "px, "+nBottom+"px, "+nLeft+"px)";
559
- }
560
- this.setContent = function (sID, sHtml, sClass) {
561
- var relem = this.getElement(sID);
562
- if (relem) relem.innerHTML = sHtml;
563
- if (sClass) this.setClass(sID, sClass);
564
- }
565
- this.setWidth = function (obj, n) {
566
- var oStyle = this.getElementStyle(obj);
567
- if (oStyle) {
568
- if ((typeof oStyle.width == "string") && (typeof n == "number")) {
569
- oStyle.width=n+"px";
570
- } else {
571
- oStyle.width = n;
572
- }
573
- }
574
- }
575
- this.setHeight = function (obj, n) {
576
- var oStyle = this.getElementStyle(obj);
577
- if (oStyle) {
578
- if ((typeof oStyle.height == "string") && (typeof n == "number")) {
579
- oStyle.height=n+"px";
580
- } else {
581
- oStyle.height = n;
582
- }
583
- }
584
- }
585
- this.getScrolledElementTop = function (elem) {
586
- var top = this.getPageElementTop(elem);
587
- if (elem) {
588
- var bod = document.body;
589
- var docParent = this.getParentElement(elem);
590
- while (docParent !== null && docParent !== bod) {
591
- top -= docParent.scrollTop;
592
- docParent = this.getParentElement(docParent);
593
- }
594
- }
595
- return top;
596
- }
597
- this.getScrolledElementLeft = function (elem) {
598
- var left = this.getPageElementLeft(elem);
599
- if (elem) {
600
- var bod = document.body;
601
- var docParent = this.getParentElement(elem);
602
- while (docParent !== null && docParent !== bod) {
603
- left -= docParent.scrollLeft;
604
- docParent = this.getParentElement(docParent);
605
- }
606
- }
607
- return left;
608
- }
609
- this.getPageElementTop = function (elem) {
610
- var top=0;
611
- if (elem) {
612
- top = elem.offsetTop;
613
- var parentObj = elem.offsetParent;
614
- while (parentObj != null) {
615
- if(this.bIsIE) {
616
- if( (parentObj.tagName != "TABLE") && (parentObj.tagName != "BODY") )
617
- top += parentObj.clientTop;
618
- }
619
- else {
620
- if(parentObj.tagName == "TABLE") {
621
- var nParBorder = parseInt(parentObj.border);
622
- if(isNaN(nParBorder)) {
623
- var nParFrame = parentObj.getAttribute('frame');
624
- if(nParFrame != null)
625
- top += 1;
626
- } else if(nParBorder > 0) {
627
- top += nParBorder;
628
- }
629
- }
630
- }
631
- top += parentObj.offsetTop;
632
- parentObj = parentObj.offsetParent;
633
- }
634
- }
635
- return top;
636
- }
637
- this.getPageElementLeft = function (elem) {
638
- var left=0;
639
- if (elem) {
640
- left = elem.offsetLeft;
641
- var parentObj = elem.offsetParent;
642
- while (parentObj != null) {
643
- if(this.bIsIE) {
644
- if( (parentObj.tagName != "TABLE") && (parentObj.tagName != "BODY") )
645
- left += parentObj.clientLeft;
646
- }
647
- else {
648
- if(parentObj.tagName == "TABLE") {
649
- var nParBorder = parseInt(parentObj.border);
650
- if(isNaN(nParBorder)) {
651
- var nParFrame = parentObj.getAttribute('frame');
652
- if(nParFrame != null)
653
- left += 1;
654
- } else if(nParBorder > 0) {
655
- top += nParBorder;
656
- }
657
- }
658
- }
659
- left += parentObj.offsetLeft;
660
- parentObj = parentObj.offsetParent;
661
- }
662
- }
663
- return left;
664
- }
665
- this.getParentElement = function (elem) {
666
- if (elem) {
667
- if(this.bIsIE) return elem.parentElement;
668
- return elem.parentNode;
669
- }
670
- return null;
671
- }
672
- this.elementIsContainedBy = function(elem, elemParent) {
673
- if (this.isUndefOrNull(elem) || this.isUndefOrNull(elemParent)) {
674
- return false;
675
- }
676
- while (true) {
677
- if (elem === elemParent) {
678
- return true;
679
- }
680
- var parent = this.getParentElement(elem);
681
- if (parent === null) {
682
- return false;
683
- }
684
- elem = parent;
685
- }
686
- }
687
- this.classfixup;
688
- if (document.all) this.classfixup = "className";
689
- else this.classfixup = "class";
690
- this.setClass = function (obj, style) {
691
- var obj = this.getElement (obj);
692
- ;
693
- if (obj) obj.setAttribute(this.classfixup, style,0);
694
- }
695
- this.getClassX = function (obj) {
696
- var obj = this.getElement (obj);
697
- if (obj) return obj.getAttribute(this.classfixup, 0);
698
- return null;
699
- }
700
- this.addComma = function addComma(sNum) {
701
- if (typeof sNum != "string") sNum = sNum.toString();
702
- var aV = sNum.split('.');
703
- sNum = aV[0];
704
- var p0, p1, len, x=3;
705
- if (sNum.length >x) {
706
- for (x=3;(len=sNum.length)>x;x+=4 ) {
707
- p0 = sNum.substring(0, len-x);
708
- p1 = sNum.substring(len-x);
709
- sNum = p0 +',' + p1;
710
- }
711
- }
712
- if (aV[1]>=0) sNum += '.' + aV[1];
713
- return sNum;
714
- }
715
- this.preloadImages = new Array();
716
- this.preloadImage = function (sImage, id) {
717
- if (!id) id=this.preloadImages.length;
718
- if (!this.preloadImages[id]) {
719
- this.preloadImages[id]=new Image();
720
- this.preloadImages[id].src=sImage;
721
- ;
722
- }
723
- }
724
- this.getLinkNameInfo = function (sLinkID, sNameOverride) {
725
- var oLNI = new N2LinkNameInfo(sLinkID, sNameOverride);
726
- return (oLNI.getLinkID() ? oLNI : null);
727
- }
728
- this.getIFrameDocument = function (id) {
729
- var oIFrame = this.getElement(id);
730
- if (oIFrame) {
731
- if (oIFrame.contentDocument) {
732
- return oIFrame.contentDocument;
733
- } else if (oIFrame.contentWindow) {
734
- return oIFrame.contentWindow.document;
735
- } else if (oIFrame.document) {
736
- return oIFrame.document;
737
- }
738
- ;
739
- return null;
740
- }
741
- ;
742
- return null;
743
- }
744
- this.getIFrameWindow = function (id) {
745
- var oIFrame = this.getElement(id);
746
- if (oIFrame) {
747
- if (oIFrame.contentWindow) {
748
- return oIFrame.contentWindow;
749
- }
750
- ;
751
- return null;
752
- }
753
- ;
754
- return null;
755
- }
756
- this.n2FlashElement = function (id, styleOn, styleOff, count) {
757
- n2DoFlashElement (id, styleOn, styleOff, count*2);
758
- }
759
- this.n2DoFlashElement = function (id, styleOn, styleOrig, count) {
760
- count--;
761
- if (count % 2)
762
- setClass(id, styleOn);
763
- else
764
- setClass(id, styleOrig);
765
- if (count) {
766
- setTimeout("n2DoFlashElement('" + id +"','" + styleOn + "','" + styleOrig + "'," + count +")", 500);
767
- }
768
- }
769
- this.animateBox = function (sl, st, sw, sh, fl, ft, fw, fh, nSteps, fnDone, style) {
770
- var nHInc = parseInt((fl -sl)/nSteps);
771
- var nVInc = parseInt((ft -st)/nSteps);
772
- var nWdInc = parseInt((fw-sw)/nSteps);
773
- var nHtInc = parseInt((fh-sh)/nSteps);
774
- var o = goN2U.getElement(this.sAnimationDivID);
775
- if (o && !this.bAnimateBoxRunning) {
776
- this.bAnimateBoxRunning = true;
777
- if (style) goN2U.setClass(this.sAnimationDivID, style);
778
- goN2U.shiftTo(o, sl, st);
779
- goN2U.show(o);
780
- goN2U.setWidth(o, sw);
781
- goN2U.setHeight(o, sh);
782
- var fn = function() { goN2U._animateBox(goN2U.sAnimationDivID, nHInc, nVInc, nWdInc, nHtInc, nSteps, fnDone); };
783
- setTimeout(fn, 25);
784
- } else if (fnDone) {
785
- fnDone();
786
- }
787
- }
788
- this._animateBox = function (sID, nHInc, nVInc, nWdInc, nHtInc, nSteps, fnDone) {
789
- goN2U.adjustBy(sID, nHInc, nVInc, nWdInc, nHtInc);
790
- if (--nSteps >0) {
791
- var fn = function() { goN2U._animateBox(sID, nHInc, nVInc, nWdInc, nHtInc, nSteps, fnDone); };
792
- setTimeout(fn, 25);
793
- } else {
794
- goN2U.hide(sID);
795
- if (fnDone) fnDone();
796
- this.bAnimateBoxRunning = false;
797
- }
798
- }
799
- this.expDivProcessing = false;
800
- this.expDivSize = 30;
801
- this.stepDone = true;
802
- this.toggleDivHeight = function (theDiv, hidableElem, delay, fnDone, displayableElem){
803
- var oParent = this.getElement(theDiv).parentNode;
804
- if (oParent.style.display != "none")
805
- this.collapseDivDual('h', theDiv, hidableElem, delay, fnDone, displayableElem);
806
- else
807
- this.expandDivDual('h', theDiv, hidableElem, delay, fnDone, displayableElem);
808
- }
809
- this.toggleDivWidth = function (theDiv, hidableElem, delay, fnDone, displayableElem){
810
- var oParent = this.getElement(theDiv).parentNode;
811
- if (oParent.style.display != "none")
812
- this.collapseDivDual('w', theDiv, hidableElem, delay, fnDone, displayableElem);
813
- else
814
- this.expandDivDual('w', theDiv, hidableElem, delay, fnDone, displayableElem);
815
- }
816
- this.expandDivWidth = function (theDiv, hidableElem, delay, fnDone, displayableElem, bImmediate){
817
- this.expandDivDual('w', theDiv, hidableElem, delay, fnDone, displayableElem, bImmediate);
818
- }
819
- this.expandDivHeight = function (theDiv, hidableElem, delay, fnDone, displayableElem, bImmediate){
820
- this.expandDivDual('h', theDiv, hidableElem, delay, fnDone, displayableElem, bImmediate);
821
- }
822
- this.collapseDivWidth = function (theDiv, hidableElem, delay, fnDone, displayableElem, bImmediate){
823
- this.collapseDivDual('w', theDiv, hidableElem, delay, fnDone, displayableElem, bImmediate);
824
- }
825
- this.collapseDivHeight = function (theDiv, hidableElem, delay, fnDone, displayableElem, bImmediate){
826
- this.collapseDivDual('h', theDiv, hidableElem, delay, fnDone, displayableElem, bImmediate);
827
- }
828
- this.collapseExpandDivsWidth = function (divA, divB, delay){
829
- this.collapseExpandDivsDual ('w', divA, divB, delay);
830
- }
831
- this.collapseExpandDivsHeight = function (divA, divB, delay){
832
- this.collapseExpandDivsDual ('h', divA, divB, delay);
833
- }
834
- this.expandCalcStep = function (h) {
835
- if (h <40) return h/2;
836
- if (h <225) return 20; //15
837
- if (h <900) return parseInt(h/10); // h/15
838
- return 100; // 60
839
- }
840
- this.expandDivDual = function (mode, theDiv, hidableElem, delay, fnDone, displayableElem, bImmediate){
841
- if (this.expDivProcessing) return;
842
- this.expDivProcessing = true;
843
- var theDivObj = this.getElement(theDiv);
844
- var parentDiv = theDivObj.parentNode;
845
- if (!parentDiv.id) { parentDiv.id = 'outer_' + theDivObj.id; }
846
- this.expDivSize=0;
847
- var maxSize;
848
- if (mode == 'w' ) {
849
- this.setWidth(parentDiv, this.expDivSize);
850
- this.display(parentDiv);
851
- maxSize = this.getElementWidth(theDivObj);
852
- } else {
853
- this.setHeight(parentDiv, this.expDivSize);
854
- this.display(parentDiv);
855
- maxSize = this.getElementHeight(theDivObj);
856
- }
857
- if (hidableElem) this.undisplay(hidableElem);
858
- if (displayableElem) { this.display(displayableElem); }
859
- if (bImmediate) {
860
- this._expandDualFinal(mode, parentDiv, fnDone);
861
- } else {
862
- if (!delay || delay<20) { delay = 20; }
863
- var step = 4;
864
- this._expandDual(mode, parentDiv.id, maxSize, delay, step, fnDone, displayableElem);
865
- }
866
- }
867
- this._expandDual = function (mode, parentDiv, maxSize, delay, step, fnDone, displayableElem){
868
- if(this.expDivSize<maxSize) {
869
- var nS = this.expDivSize;
870
- if(nS>20){ step = this.expandCalcStep(maxSize); }
871
- else if(nS>8) { step = 10; }
872
- this.expDivSize = Math.min(this.expDivSize+=step, maxSize);
873
- mode == 'w' ? this.setWidth(parentDiv, this.expDivSize) : this.setHeight(parentDiv, this.expDivSize);
874
- setTimeout("goN2U._expandDual('"+mode+"','"+parentDiv+"',"+maxSize+","+delay+","+step+","+fnDone+",'"+displayableElem+"');",delay );
875
- } else{
876
- this._expandDualFinal(mode, parentDiv, fnDone);
877
- }
878
- }
879
- this._expandDualFinal = function (mode, parentDiv, fnDone){
880
- mode == 'w' ? this.setWidth(parentDiv, "auto") : this.setHeight(parentDiv, "auto");
881
- this.expDivSize = 20;
882
- this.expDivProcessing = false;
883
- if(fnDone) fnDone();
884
- }
885
- this.collapseDivDual = function (mode, theDiv, hidableElem, delay, fnDone, displayableElem, bImmediate){
886
- if (this.expDivProcessing) return;
887
- this.expDivProcessing = true;
888
- var theDivObj = this.getElement(theDiv);
889
- var parentDiv = theDivObj.parentNode;
890
- if (!parentDiv.id) { parentDiv.id = 'outer_' + theDivObj.id; }
891
- if (!delay || delay<20) { delay = 20; }
892
- this.expDivSize=0;
893
- var size = (mode == 'w' ? this.getElementWidth(parentDiv) : this.getElementHeight(parentDiv));
894
- var step = this.expandCalcStep(size);
895
- if (hidableElem) this.undisplay(hidableElem);
896
- var end = 0;
897
- if(displayableElem) {
898
- this.display(displayableElem,"inline");
899
- end = (mode == 'w' ? this.getElementWidth(displayableElem) : this.getElementHeight(displayableElem));
900
- this.undisplay(displayableElem);
901
- }
902
- if (bImmediate) {
903
- this._collapseDualFinal(mode, parentDiv, hidableElem, fnDone, displayableElem);
904
- } else {
905
- this._collapseDual(mode, parentDiv.id, hidableElem, delay, step, fnDone, displayableElem, end)
906
- }
907
- }
908
- this._collapseDual = function (mode, parentDiv, hidableElem, delay, step, fnDone, displayableElem, end){
909
- this.expDivSize = (mode == 'w' ? this.getElementWidth(parentDiv) : this.getElementHeight(parentDiv));
910
- var nRem = this.expDivSize-end;
911
- if(nRem>0){
912
- if(nRem<6){ step = 2; }
913
- else if(nRem<11){ step = 4; }
914
- else if(nRem<60){ step = 10; }
915
- this.expDivSize -= step;
916
- if (this.expDivSize <end) {
917
- this.expDivSize = end;
918
- }
919
- mode == 'w' ? this.setWidth(parentDiv, this.expDivSize) : this.setHeight(parentDiv, this.expDivSize);
920
- if (this.expDivSize>end) {
921
- setTimeout("goN2U._collapseDual('"+mode+"','"+parentDiv+"','"+hidableElem+"',"+delay+","+step+","+fnDone+",'"+displayableElem+"',"+end+");",delay );
922
- } else {
923
- this._collapseDualFinal(mode, parentDiv, hidableElem, fnDone, displayableElem);
924
- }
925
- } else {
926
- this._collapseDualFinal(mode, parentDiv, hidableElem, fnDone, displayableElem);
927
- }
928
- }
929
- this._collapseDualFinal = function (mode, parentDiv, hidableElem, fnDone, displayableElem){
930
- this.undisplay(parentDiv);
931
- this.expDivProcessing = false;
932
- if(displayableElem) this.display(displayableElem,"inline");
933
- if(fnDone) fnDone();
934
- }
935
- this.getConfigurationObject = function(sID) {
936
- var sClassName = 'go' + sID + 'Properties';
937
- var obj;
938
- if((typeof window[sClassName] != 'undefined') && (typeof window[sClassName] == 'object')) {
939
- obj = window[sClassName];
940
- } else {
941
- obj = new Object;
942
- }
943
- obj.getValue = this._defaultConfigObjectGetValue;
944
- obj.__sJSFID = sClassName;
945
- return obj;
946
- }
947
- this._defaultConfigObjectGetValue = function(sID, sDefault) {
948
- if (typeof this[sID] != 'undefined') {
949
- return this[sID];
950
- }
951
- return sDefault;
952
- }
953
- this.collapseExpandDivsDual = function (mode, divA, divB, delay){
954
- if (this.expDivProcessing) return;
955
- this.expDivProcessing = true;
956
- var divAObj = this.getElement(divA);
957
- var divBObj = this.getElement(divB);
958
- var divAParent = divAObj.parentNode;
959
- var divBParent = divBObj.parentNode;
960
- if (!divAParent.id) { divAParent.id = 'outer_' + divAObj.id; }
961
- if (!divBParent.id) { divBParent.id = 'outer_' + divBObj.id; }
962
- if (!delay || delay<20) { delay = 20; }
963
- var size = (mode == 'w' ? this.getElementWidth(divAParent) : this.getElementHeight(divAParent));
964
- var step = this.expandCalcStep(size);
965
- this._comboCollapseDual(mode, divAParent.id, divBParent.id, delay, step);
966
- }
967
- this._comboCollapseDual = function (mode, divAParent, divBParent, delay, step){
968
- this.expDivSize = (mode == 'w' ? this.getElementWidth(divAParent) : this.getElementHeight(divAParent));
969
- if(this.expDivSize>step){
970
- this.expDivSize-=step;
971
- mode == 'w' ? this.setWidth(divAParent, this.expDivSize) :this.setHeight(divAParent, this.expDivSize);
972
- setTimeout("goN2U._comboCollapseDual('"+mode+"','"+divAParent+"','"+divBParent+"',"+delay+","+step+");", delay );
973
- } else {
974
- this.undisplay(divAParent);
975
- this.display(divBParent);
976
- this.setWidth(divBParent,"auto");
977
- mode == 'w' ? this.setWidth(divBParent,"auto") :this.setHeight(divBParent,"auto");
978
- var maxSize = (mode == 'w' ? this.getElementWidth(divBParent) : this.getElementHeight(divBParent));
979
- this.expDivSize = step;
980
- mode == 'w' ? this.setWidth(divBParent,this.expDivSize) :this.setHeight(divBParent,this.expDivSize);
981
- setTimeout("goN2U._comboExpandDual('"+mode+"','"+divBParent+"',"+maxSize+","+delay+","+step+");",delay );
982
- }
983
- }
984
- this._comboExpandDual = function (mode,divBParent, maxSize, delay, step){
985
- this.expDivSize = (mode == 'w' ? this.getElementWidth(divBParent) : this.getElementHeight(divBParent));
986
- if((this.expDivSize<maxSize) && (maxSize <1000)){
987
- this.expDivSize+=step;
988
- mode == 'w' ? this.setWidth(divBParent,this.expDivSize) : this.setHeight(divBParent,this.expDivSize);
989
- setTimeout("goN2U._comboExpandDual('"+mode+"','"+divBParent+"',"+maxSize+","+delay+","+step+");",delay );
990
- } else{
991
- mode == 'w' ? this.setWidth(divBParent,maxSize) : this.setHeight(divBParent,maxSize);
992
- this.show (divBParent);
993
- this.expDivSize = 20;
994
- this.expDivProcessing = false;
995
- }
996
- }
997
- this.animateAlpha = function (sID, alphaStart, alphaFinal, nSteps, fnDone, style) {
998
- var o = goN2U.getElement(sID);
999
- if (!o) {
1000
- ;
1001
- return;
1002
- }
1003
- alphaStart = (alphaStart <= 0 ? 0 : (alphaStart >= 100 ? 100 : alphaStart));
1004
- alphaFinal = (alphaFinal <= 0 ? 0 : (alphaFinal >= 100 ? 100 : alphaFinal));
1005
- if (this.isUndefined(o.azdAnimAlpha)) {
1006
- o.azdAnimAlpha = new Object();
1007
- o.azdAnimAlpha.bRunning = false;
1008
- }
1009
- var anim = o.azdAnimAlpha;
1010
- if (anim.bRunning) {
1011
- clearInterval(anim.intervalID);
1012
- ;
1013
- anim.intervalID = undefined;
1014
- anim.bRunning = false;
1015
- }
1016
- var alphaDelta = alphaFinal-alphaStart;
1017
- var alphaStep = alphaDelta * 1.0 / nSteps; // force floating-point so alphaStep is non-zero
1018
- if (nSteps > 1 && Math.abs(alphaStep) > 0.0001) {
1019
- anim.alphaStep = alphaStep;
1020
- anim.alphaFinal = alphaFinal;
1021
- anim.fnDone = fnDone;
1022
- var alphaCur = this.getAlphaLevel(o);
1023
- anim.nDir = (alphaFinal-alphaCur) > 0 ? 1 : -1;
1024
- if (anim.nDir * alphaStep < 0) {
1025
- anim.alphaStep = -alphaStep;
1026
- }
1027
- if (alphaCur >= this.MOZALPHAMAX*100) {
1028
- this.setAlphaLevel(o, this.MOZALPHAMAX*100);
1029
- }
1030
- anim.bRunning = true;
1031
- var fn = new Function ("goN2U._animateAlpha('"+sID+"');");
1032
- anim.intervalID = setInterval(fn, 25);
1033
- } else {
1034
- this.setAlphaLevel(o, alphaFinal);
1035
- if (fnDone) {
1036
- fnDone();
1037
- }
1038
- }
1039
- }
1040
- this._animateAlpha = function (sID) {
1041
- var o = goN2U.getElement(sID);
1042
- if (!o) {
1043
- ;
1044
- return;
1045
- }
1046
- var anim = o.azdAnimAlpha;
1047
- if (!anim.bRunning) {
1048
- clearInterval(anim.intervalID);
1049
- ;
1050
- anim.intervalID = undefined;
1051
- return;
1052
- }
1053
- var alphaNext = this.getAlphaLevel(o) + anim.alphaStep;
1054
- if ((anim.alphaFinal-alphaNext) * anim.nDir > 0) {
1055
- this.setAlphaLevel(o, alphaNext);
1056
- } else {
1057
- this.setAlphaLevel(o, anim.alphaFinal);
1058
- clearInterval(anim.intervalID);
1059
- ;
1060
- anim.intervalID = undefined;
1061
- anim.bRunning = false;
1062
- if (anim.fnDone) {
1063
- anim.fnDone();
1064
- }
1065
- }
1066
- }
1067
- this.animateAlphaCancel = function(sID) {
1068
- var o = goN2U.getElement(sID);
1069
- if (!o) {
1070
- ;
1071
- return;
1072
- }
1073
- var anim = o.azdAnimAlpha;
1074
- clearInterval(anim.intervalID);
1075
- ;
1076
- anim.intervalID = undefined;
1077
- anim.bRunning = false;
1078
- }
1079
- this.isUndefined = function (a) { return (typeof a == 'undefined'); }
1080
- this.isDefined = function (a) { return typeof a != 'undefined'; }
1081
- this.isFunction = function (a) { return typeof a == 'function'; }
1082
- this.isNull = function (a) { return typeof a == 'object' && !a; }
1083
- this.isNumber = function (a) { return typeof a == 'number' && isFinite(a); }
1084
- this.isObject = function (a) { return (a && typeof a == 'object') || this.isFunction(a); }
1085
- this.isString = function (a) { return typeof a == 'string'; }
1086
- this.isArray = function (a) { return this.isObject(a) && a.constructor == Array; }
1087
- this.isUndefOrNull = function (a) { return (typeof a == 'undefined') || (typeof a == 'object' && !a) }
1088
- this.objIsInstanceOf = function(obj, classObj) {
1089
- while (obj.__proto__) {
1090
- if (obj.__proto__ === classObj) {
1091
- return true;
1092
- }
1093
- obj = obj.__proto__;
1094
- }
1095
- return false;
1096
- }
1097
- this.templatize = function(oData, sTemplate)
1098
- {
1099
- var sHTML = '';
1100
- if (sTemplate.length > 0)
1101
- {
1102
- if (this.bIsSafari) {
1103
- var sHTML = sTemplate;
1104
- for (var i in oData) {
1105
- if (typeof(oData[i]) == "string") {
1106
- oData[i] = oData[i].replace(new RegExp("\\$", "g"), "&#36;");
1107
- }
1108
- sHTML = sHTML.replace(new RegExp("{" + i + "}", "g"), oData[i]);
1109
- }
1110
- sHTML = sHTML.replace(/{([^}]+)}/g, '');
1111
- } else {
1112
- sHTML = sTemplate.replace(/{([^}]+)}/g, function($0, $1) {
1113
- var sV = oData[$1];
1114
- if ( typeof sV != 'undefined' ) {
1115
- return sV;
1116
- }
1117
- return '';
1118
- });
1119
- }
1120
- }
1121
- return sHTML;
1122
- }
1123
- this.extractMultipartValues = function(sVal, cSeparator, aPropertyNames, oProperties, sName) {
1124
- if (!sVal || sVal.length == 0) {
1125
- return oProperties;
1126
- }
1127
- var aResult = sVal.split(cSeparator);
1128
- var nExpected = aPropertyNames.length;
1129
- if (aResult.length) {
1130
- if (aResult.length > nExpected) {
1131
- aResult[nExpected-1] = aResult.slice(nExpected-1).join('_');
1132
- }
1133
- if (goN2U.isUndefOrNull(oProperties)) {
1134
- oProperties = {};
1135
- }
1136
- if (!oProperties.aRawValues) {
1137
- oProperties.aRawValues=[];
1138
- }
1139
- oProperties.aRawValues[oProperties.aRawValues.length] = sVal;
1140
- var i;
1141
- for (i=0;i<aPropertyNames.length;i++) {
1142
- var sPropName = aPropertyNames[i];
1143
- var c = sPropName.charAt(0);
1144
- var val = aResult[i];
1145
- if (goN2U.isDefined(val)) {
1146
- switch (c) {
1147
- case 'a': val = val.split('|');
1148
- break;
1149
- case 'b': val = val ? true : false;
1150
- break;
1151
- case 'n': val = parseInt(val);
1152
- break;
1153
- }
1154
- oProperties[sPropName] = val;
1155
- } else {
1156
- ;
1157
- }
1158
- }
1159
- }
1160
- return oProperties;
1161
- }
1162
- this.handleEvent = function (evt)
1163
- {
1164
- if (!evt && window.event) evt = window.event;
1165
- var elTarget = evt.srcElement || evt.target;
1166
- if (evt.stopPropagation) evt.stopPropagation();
1167
- evt.cancelBubble = true;
1168
- return true;
1169
- }
1170
- this.addHandler = function (el, evt, fn)
1171
- {
1172
- if (el.attachEvent)
1173
- return el.attachEvent("on"+evt, fn);
1174
- else if (el.addEventListener)
1175
- return (el.addEventListener(evt, fn, false), true);
1176
- else
1177
- return (el["on"+evt] = fn, true);
1178
- return false;
1179
- }
1180
- this.removeHandler = function (el, evt, fn)
1181
- {
1182
- if (el.detachEvent)
1183
- return el.detachEvent("on"+evt, fn);
1184
- else if (el.removeEventListener)
1185
- return (el.removeEventListener(evt, fn, false), true);
1186
- else
1187
- return (el["on"+evt] = null, true);
1188
- return false;
1189
- }
1190
- this.hasClass = function (el, sClass)
1191
- {
1192
- el = this.getElement(el);
1193
- if (el)
1194
- {
1195
- return new RegExp("\\b"+sClass+"\\b").test(el.className);
1196
- }
1197
- return false;
1198
- }
1199
- this.addClass = function (el, sClass)
1200
- {
1201
- el = this.getElement(el);
1202
- if (el)
1203
- {
1204
- if (!new RegExp("\\b"+sClass+"\\b").test(el.className)) {
1205
- el.className += ((el.className.length > 0) ? " " : '')+ sClass;
1206
- }
1207
- return true;
1208
- }
1209
- return false;
1210
- }
1211
- this.removeClass = function (el, sClass)
1212
- {
1213
- el = this.getElement(el);
1214
- if (el)
1215
- {
1216
- el.className = el.className.replace(new RegExp('\\b'+sClass+"\\b",'g'), '');
1217
- return true;
1218
- }
1219
- return false;
1220
- }
1221
- this.insertAdjacentHTML = function(oElm, sWhere, sHTML)
1222
- {
1223
- if (oElm.insertAdjacentHTML && goN2U.isIE())
1224
- {
1225
- oElm.insertAdjacentHTML(sWhere, sHTML);
1226
- return;
1227
- } else if (oElm.ownerDocument && oElm.ownerDocument.createRange)
1228
- {
1229
- var oRange = oElm.ownerDocument.createRange();
1230
- oRange.setStartBefore(oElm);
1231
- var oFrag = oRange.createContextualFragment(sHTML);
1232
- switch (sWhere)
1233
- {
1234
- case 'beforeBegin':
1235
- oElm.parentNode.insertBefore(oFrag,oElm)
1236
- break;
1237
- case 'afterBegin':
1238
- oElm.insertBefore(oFrag,oElm.firstChild);
1239
- break;
1240
- case 'beforeEnd':
1241
- oElm.appendChild(oFrag);
1242
- break;
1243
- case 'afterEnd':
1244
- if (oElm.nextSibling)
1245
- {
1246
- oElm.parentNode.insertBefore(oFrag,oElm.nextSibling);
1247
- } else {
1248
- oElm.parentNode.appendChild(oFrag);
1249
- }
1250
- break;
1251
- default:
1252
- ;
1253
- break;
1254
- }
1255
- } else
1256
- {
1257
- ;
1258
- }
1259
- }
1260
- this.addStyles = function(aStyles) {
1261
- var i, s, aS;
1262
- if (document.styleSheets.length == 0) {
1263
- var newcss = document.createElement("style");
1264
- newcss.type="text/css";
1265
- newcss.media="all";
1266
- document.getElementsByTagName("head")[0].appendChild(newcss);
1267
- }
1268
- var css = document.styleSheets[document.styleSheets.length-1];
1269
- for (i=0; i< aStyles.length; i++) {
1270
- s = aStyles[i];
1271
- if (css.insertRule) {
1272
- css.insertRule(s, 0);
1273
- } else if (css.addRule) {
1274
- if (aS = s.match(/^([^\{]*)\{([^\}]*)\}/))
1275
- css.addRule(aS[1], aS[2]);
1276
- }
1277
- }
1278
- }
1279
- } // END of goN2Utilities Class
1280
- if (typeof(HTMLElement) != 'undefined')
1281
- {
1282
- HTMLElement.prototype.insertAdjacentHTML = function(sWhere, sHTML)
1283
- {
1284
- goN2U.insertAdjacentHTML(this, sWhere, sHTML);
1285
- }
1286
- }
1287
- window.N2TextSizer=function(spanID) {
1288
- var spanEl = document.createElement("span");
1289
- if (spanEl) {
1290
- spanEl.setAttribute("id",spanID, 0);
1291
- document.body.appendChild(spanEl);
1292
- goN2U.hide(spanID);
1293
- this.span=spanEl; // expects goN2Utility class to have been initialized
1294
- this.sID = spanID;
1295
- this.style=null;
1296
- }
1297
- this.getStringWidth = function (txt, len) {
1298
- ;
1299
- if (len) this.span.innerText = txt.substring(0, len);
1300
- else this.span.innerText = txt;
1301
- return goN2U.getElementWidth(this.sID);
1302
- }
1303
- this.setStyle = function (style) {
1304
- if (style != this.style) {
1305
- goN2U.setClass (this.span, style);
1306
- this.style = style;
1307
- }
1308
- }
1309
- this.truncateToWidth = function (txt, width) {
1310
- var len = txt.length;
1311
- var txtwidth = this.getStringWidth(txt);
1312
- if (txtwidth >width) {
1313
- var reqlen = Math.floor(width/txtwidth*len) - 3;
1314
- var temptxt = txt.substring(0, reqlen);
1315
- temptxt += '...';
1316
- return temptxt;
1317
- } else {
1318
- return txt;
1319
- }
1320
- }
1321
- this.setContent = function (cont) {
1322
- this.span.innerHTML=cont;
1323
- return goN2U.getElementWidth(this.span);
1324
- }
1325
- this.getWidth = function () {
1326
- return goN2U.getElementWidth(this.span);
1327
- }
1328
- this.getHeight = function () {
1329
- return goN2U.getElementHeight(this.span);
1330
- }
1331
- }
1332
- window.N2FifoQueue=function(n) {
1333
- var current = 0;
1334
- var next = 0;
1335
- var size = n ? n : 20;
1336
- var q = new Array(n);
1337
- this.add = function (item) {
1338
- q[next] = item;
1339
- next++;
1340
- if (next == size) next = 0;
1341
- q[next] = null; // to ensure we don't have current go past
1342
- }
1343
- this.current = function () {
1344
- return q[current];
1345
- }
1346
- this.next = function () {
1347
- var val = null;
1348
- if (q[current]) current++; // don't advance past stop fence
1349
- if (current == size) current = 0;
1350
- val = q[current];
1351
- return val;
1352
- }
1353
- this.nextExists = function () {
1354
- var val = null;
1355
- var temp = current;
1356
- if (q[temp]) temp++; // don't advance past stop fence
1357
- if (temp == size) temp = 0;
1358
- return q[temp] != null;
1359
- }
1360
- this.toString = function () {
1361
- var txt = "Current: " + current + "\n";
1362
- txt += "Next: " + next + "\n";
1363
- for (i=0;i<size;i++) {
1364
- txt += "["+i+"] = " + q[i];
1365
- if (i == current) txt += " <-Current ";
1366
- if (i == next) txt += " <-Next";
1367
- txt +="\n";
1368
- }
1369
- return txt
1370
- }
1371
- }
1372
- window.N2BrowseStack=function(n) {
1373
- var current = -1;
1374
- var size = n ? n : 20;
1375
- var q = new Array(n);
1376
- this.add = function (item) {
1377
- current++;
1378
- q[current] = item;
1379
- q[current+1] = null; // once we add a new item any past it are toast
1380
- }
1381
- this.reset = function () {
1382
- current = -1;
1383
- q[0] = null;
1384
- q[1] = null;
1385
- }
1386
- this.previous = function (item) {
1387
- if (current >0) return q[current-1];
1388
- return null;
1389
- }
1390
- this.current = function () {
1391
- return q[current];
1392
- }
1393
- this.next = function () {
1394
- return q[current+1];
1395
- }
1396
- this.goBack = function () { if (current >0) current--; }
1397
- this.goForward = function () { if (q[current+1]) current++; }
1398
- this.toString = function () {
1399
- var txt = "Current: " + current + "\n";
1400
- for (i=0;i<=current;i++) {
1401
- txt += "["+i+"] = " + q[i].id;
1402
- if (i == current) txt += " <-Current ";
1403
- txt +="\n";
1404
- }
1405
- return txt
1406
- }
1407
- }
1408
- window.N2LinkNameInfo=function(sLinkID, sNameOverride) {
1409
- if (sLinkID) {
1410
- var oLink = goN2U.getElement(sLinkID);
1411
- var sName = "";
1412
- if (oLink) {
1413
- sName = oLink.name;
1414
- ;
1415
- }
1416
- if (sNameOverride) {
1417
- sName = sNameOverride;
1418
- ;
1419
- }
1420
- if (sName) {
1421
- var tmpArray = sName.split("|");
1422
- if (tmpArray.length >1) {
1423
- this.sLinkID = sLinkID;
1424
- this.sName = sName;
1425
- this.sFeature = tmpArray[0];
1426
- this.sType = tmpArray[1];
1427
- this.sID = tmpArray[2];
1428
- this.sParams = tmpArray[3];
1429
- for (var i = 4; !goN2U.isUndefined(tmpArray[i]); i++) {
1430
- this.sParams = this.sParams + "|" + tmpArray[i];
1431
- }
1432
- }
1433
- }
1434
- } else {
1435
- ;
1436
- }
1437
- this.getLinkID = function () { return this.sLinkID; }
1438
- this.getLinkName= function () { return this.sName; }
1439
- this.getFeature = function () { return this.sFeature; }
1440
- this.getType = function () { return this.sType; }
1441
- this.getID = function () { return this.sID; }
1442
- this.getParams = function () { return this.sParams; }
1443
- }
1444
- var gaN2HandlerChains = new Array();
1445
- var gaN2HandlerRunFns = new Array();
1446
- window.N2ChainEventHandler=function(sHandlerName, fFn, sComment) {
1447
- sHandlerName = sHandlerName.toLowerCase();
1448
- sComment = sComment ? sComment : 'unknown';
1449
- ;
1450
- ;
1451
- if ( (typeof fFn != 'function') || fFn == null) return false;
1452
- var aChain;
1453
- if (!gaN2HandlerChains[sHandlerName]) {
1454
- aChain = gaN2HandlerChains[sHandlerName] = new Array();
1455
- } else {
1456
- aChain = gaN2HandlerChains[sHandlerName];
1457
- }
1458
- var oE = window;
1459
- if (sHandlerName != 'onload' && sHandlerName != 'onresize' && sHandlerName != 'onerror') {
1460
- oE = document.getElementsByTagName("body")[0];
1461
- if (oE == null) {
1462
- ;
1463
- return;
1464
- }
1465
- }
1466
- if (oE[sHandlerName]) {
1467
- if (oE[sHandlerName] != gaN2HandlerRunFns[sHandlerName]) {
1468
- aChain[0] = oE[sHandlerName];
1469
- var fn = new Function ("evt", "evt = evt ? evt : window.event; _N2RunHandlers(evt, '"+sHandlerName+"');");
1470
- gaN2HandlerRunFns[sHandlerName] = fn;
1471
- oE[sHandlerName] = fn;
1472
- }
1473
- var len = aChain.length;
1474
- ;
1475
- aChain[len] = fFn;
1476
- } else {
1477
- ;
1478
- oE[sHandlerName] = fFn;
1479
- }
1480
- return true;
1481
- }
1482
- function _N2RunHandlers( evt, sHandlerName ) {
1483
- var aH = gaN2HandlerChains[sHandlerName];
1484
- var len = aH.length;
1485
- for (var i=0;i<len;i++) {
1486
- aH[i](evt);
1487
- }
1488
- }
1489
- N2ChainEventHandler('onload',
1490
- function(){
1491
- n2RunEvent('onload');
1492
- n2RunEvent(gbN2Loaded ? 'onloadsuccess' : 'onloaderror');
1493
- },
1494
- 'run onload events' );
1495
- window.goN2Drag = {
1496
- obj : null,
1497
- normalizeEvent : function (evt) {
1498
- evt = (evt) ? evt : ((window.event) ? window.event : null);
1499
- if (evt) {
1500
- if(!evt.target) {
1501
- evt.target = evt.srcElement;
1502
- }
1503
- } else {
1504
- ;
1505
- }
1506
- return evt;
1507
- },
1508
- mouseDown : function(evt) {
1509
- evt = goN2Drag.normalizeEvent(evt);
1510
- if (evt) {
1511
- var oE = goN2Drag.obj = evt.target;
1512
- if (oE._n2bDraggable) {
1513
- oE._n2SavedMouseMove = document.onmousemove;
1514
- oE._n2SavedMouseUp = document.onmouseup;
1515
- document.onmousemove = goN2Drag.mouseMove;
1516
- document.onmouseup = goN2Drag.mouseUp;
1517
- if (document.body && document.body.setCapture) {
1518
- document.body.setCapture();
1519
- ;
1520
- }
1521
- var mouseDownX = (evt.clientX)? evt.clientX : evt.pageX;
1522
- var mouseDownY = (evt.clientY)? evt.clientY : evt.pageY;
1523
- oE.dragOffsetX = mouseDownX - ((oE.offsetLeft) ? oE.offsetLeft : oE.left);
1524
- oE.dragOffsetY = mouseDownY - ((oE.offsetTop) ? oE.offsetTop : oE.top);
1525
- oE.buttonIsDown = true;
1526
- if (oE._oN2 && oE._oN2.mouseDown) {
1527
- oE._oN2.onMouseDown(evt)
1528
- }
1529
- }
1530
- }
1531
- },
1532
- mouseMove : function(evt) {
1533
- evt = goN2Drag.normalizeEvent(evt);
1534
- if (evt) {
1535
- var oE = goN2Drag.obj;
1536
- if (oE.buttonIsDown) {
1537
- var nX = (evt.clientX)? evt.clientX : evt.pageX;
1538
- nX -= oE.dragOffsetX;
1539
- var nY = (evt.clientY)? evt.clientY : evt.pageY;
1540
- nY -= oE.dragOffsetY;
1541
- nX = Math.max(oE._n2nMinLeft, nX);
1542
- nX = Math.min(oE._n2nMaxLeft, nX);
1543
- nY = Math.max(oE._n2nMinTop, nY);
1544
- nY = Math.min(oE._n2nMaxTop, nY);
1545
- var bDoShift = true;
1546
- if (oE._oN2 && oE._oN2.onMoved) {
1547
- bDoShift = oE._oN2.onMoved(nX, nY);
1548
- }
1549
- if (bDoShift) {
1550
- goN2U.shiftTo(oE, nX, nY);
1551
- }
1552
- }
1553
- }
1554
- },
1555
- mouseUp : function(evt) {
1556
- ;
1557
- evt = goN2Drag.normalizeEvent(evt);
1558
- if (evt) {
1559
- var oE = goN2Drag.obj;
1560
- if (oE.buttonIsDown) {
1561
- if (document.body && document.body.releaseCapture) {
1562
- document.body.releaseCapture();
1563
- ;
1564
- }
1565
- oE.buttonIsDown = false;
1566
- if (oE._oN2 && oE._oN2.onMouseUp) {
1567
- oE._oN2.onMouseUp();
1568
- }
1569
- }
1570
- document.onmousemove = oE._n2SavedMouseMove;
1571
- document.onmouseup = oE._n2SavedMouseUp;
1572
- }
1573
- },
1574
- makeDraggable : function (sID, nMinLeft, nMaxLeft, nMinTop, nMaxTop) {
1575
- var oE = goN2U.getElement(sID);
1576
- if (oE) {
1577
- oE["onmousedown"] = goN2Drag.mouseDown;
1578
- oE._n2bDraggable = true;
1579
- oE._n2nMinLeft = goN2U.isDefined(nMinLeft) ? nMinLeft : 0;
1580
- oE._n2nMaxLeft = goN2U.isDefined(nMaxLeft) ? nMaxLeft : 10000;
1581
- oE._n2nMinTop = goN2U.isDefined(nMinTop) ? nMinTop : 0;
1582
- oE._n2nMaxTop = goN2U.isDefined(nMaxTop) ? nMaxTop : 10000;
1583
- ;
1584
- } else {
1585
- ;
1586
- }
1587
- return oE;
1588
- }
1589
- }
1590
- var goN2U = new N2Utilities();
1591
- goN2U.initialize();
1592
- n2RunThisWhen('onload',
1593
- function() {
1594
- if (!document.body) {
1595
- alert("Error: Must initialize Utilities library in the body. (body not found)");
1596
- return;
1597
- }
1598
- var sID = goN2U.sAnimationDivID = 'goN2UAnimatedBox';
1599
- var o = document.createElement("div");
1600
- if (o) {
1601
- document.body.appendChild(o);
1602
- o.setAttribute("id",sID, 0);
1603
- goN2U.setClass(sID, 'animatedBox');
1604
- } else {
1605
- ;
1606
- }
1607
- }, 'animate box creation' );
1608
- if (window.goN2LibMon) goN2LibMon.endLoad('utilities');